From b06990293397d4b6d0374097f09d1cc5679216e3 Mon Sep 17 00:00:00 2001 From: hybrid Date: Thu, 11 Jun 2026 19:55:04 +0300 Subject: init --- Common/Common_AARadarMarkerUpdate.sqf | 35 + Common/Common_DisableAC.sqf | 1 + Common/Common_InitArtillery.sqf | 7 + Common/Common_InitUnit.sqf | 50 ++ Common/Common_MarkerUpdate.sqf | 41 ++ Common/Config/Config_AircraftFactory.sqf | 32 + Common/Config/Config_Airport.sqf | 36 + Common/Config/Config_Allies.sqf | 37 + Common/Config/Config_Artillery.sqf | 7 + Common/Config/Config_Barracks.sqf | 47 ++ Common/Config/Config_Depot.sqf | 30 + Common/Config/Config_HeavyFactory.sqf | 32 + Common/Config/Config_LightFactory.sqf | 32 + Common/Config/Config_Loadouts.sqf | 15 + Common/Config/Config_Occupation.sqf | 9 + Common/Config/Config_Resistance.sqf | 7 + Common/Config/Config_Special.sqf | 7 + Common/Config/Config_Squads.sqf | 19 + Common/Config/Config_Structures.sqf | 78 ++ Common/Config/Core/Core_ACE_US_D.sqf | 67 ++ Common/Config/Core/Core_ACE_US_W.sqf | 136 ++++ Common/Config/Core/Core_ACR.sqf | 97 +++ Common/Config/Core/Core_BAF.sqf | 135 ++++ Common/Config/Core/Core_BAFD.sqf | 124 ++++ Common/Config/Core/Core_BAFW.sqf | 152 ++++ Common/Config/Core/Core_CDF.sqf | 180 +++++ Common/Config/Core/Core_CIV.sqf | 175 +++++ Common/Config/Core/Core_DeltaForce.sqf | 65 ++ Common/Config/Core/Core_FR.sqf | 81 ++ Common/Config/Core/Core_GUE.sqf | 137 ++++ Common/Config/Core/Core_INS.sqf | 201 +++++ Common/Config/Core/Core_KSK.sqf | 47 ++ Common/Config/Core/Core_MVD.sqf | 50 ++ Common/Config/Core/Core_PMC.sqf | 103 +++ Common/Config/Core/Core_RU.sqf | 278 +++++++ Common/Config/Core/Core_Spetsnaz.sqf | 50 ++ Common/Config/Core/Core_TK.sqf | 249 +++++++ Common/Config/Core/Core_TKA.sqf | 265 +++++++ Common/Config/Core/Core_TKCIV.sqf | 133 ++++ Common/Config/Core/Core_TKGUE.sqf | 128 ++++ Common/Config/Core/Core_TKSF.sqf | 41 ++ Common/Config/Core/Core_US.sqf | 305 ++++++++ Common/Config/Core/Core_USMC.sqf | 254 +++++++ .../Core_Artillery/Arrowhead/Artillery_TKA.sqf | 43 ++ .../Core_Artillery/Arrowhead/Artillery_US.sqf | 47 ++ .../Core_Artillery/CombinedOps/Artillery_RU.sqf | 43 ++ .../Core_Artillery/CombinedOps/Artillery_US.sqf | 47 ++ .../Core_Artillery/Vanilla/Artillery_CDF.sqf | 43 ++ .../Core_Artillery/Vanilla/Artillery_INS.sqf | 43 ++ .../Config/Core_Artillery/Vanilla/Artillery_RU.sqf | 43 ++ .../Core_Artillery/Vanilla/Artillery_USMC.sqf | 59 ++ .../Arrowhead/Definition_US_TKA.sqf | 27 + .../CombinedOps/Definition_US_INS.sqf | 32 + .../CombinedOps/Definition_US_RU.sqf | 32 + .../Core_Definition/Vanilla/Definition_CDF_INS.sqf | 27 + .../Core_Definition/Vanilla/Definition_CDF_RU.sqf | 27 + .../Vanilla/Definition_USMC_INS.sqf | 27 + .../Core_Definition/Vanilla/Definition_USMC_RU.sqf | 27 + Common/Config/Core_Gear/Core_ACE_G.sqf | 407 +++++++++++ Common/Config/Core_Gear/Core_Arrowhead_G.sqf | 801 ++++++++++++++++++++ Common/Config/Core_Gear/Core_BAF_G.sqf | 155 ++++ Common/Config/Core_Gear/Core_PMC_G.sqf | 107 +++ Common/Config/Core_Gear/Core_Vanilla_G.sqf | 811 +++++++++++++++++++++ .../Config/Core_Loadout/Arrowhead/Loadout_TK.sqf | 355 +++++++++ .../Config/Core_Loadout/Arrowhead/Loadout_TKA.sqf | 355 +++++++++ .../Config/Core_Loadout/Arrowhead/Loadout_US.sqf | 450 ++++++++++++ .../Config/Core_Loadout/CombinedOps/Loadout_RU.sqf | 483 ++++++++++++ .../Config/Core_Loadout/CombinedOps/Loadout_US.sqf | 574 +++++++++++++++ Common/Config/Core_Loadout/Vanilla/Loadout_CDF.sqf | 306 ++++++++ Common/Config/Core_Loadout/Vanilla/Loadout_INS.sqf | 306 ++++++++ Common/Config/Core_Loadout/Vanilla/Loadout_RU.sqf | 320 ++++++++ .../Config/Core_Loadout/Vanilla/Loadout_USMC.sqf | 331 +++++++++ Common/Config/Core_Occupation/Occupation_CDF.sqf | 188 +++++ Common/Config/Core_Occupation/Occupation_INS.sqf | 188 +++++ Common/Config/Core_Occupation/Occupation_RU.sqf | 177 +++++ Common/Config/Core_Occupation/Occupation_TKA.sqf | 176 +++++ Common/Config/Core_Occupation/Occupation_US.sqf | 172 +++++ Common/Config/Core_Occupation/Occupation_USMC.sqf | 173 +++++ Common/Config/Core_Resistance/Resistance_GUE.sqf | 100 +++ Common/Config/Core_Resistance/Resistance_PMC.sqf | 127 ++++ Common/Config/Core_Resistance/Resistance_TKGUE.sqf | 110 +++ Common/Config/Core_Squads/Arrowhead/Squad_TK.sqf | 285 ++++++++ Common/Config/Core_Squads/Arrowhead/Squad_TKA.sqf | 45 ++ Common/Config/Core_Squads/Arrowhead/Squad_US.sqf | 45 ++ .../Core_Squads/CombinedOps/Squad_US_Camo.sqf | 51 ++ .../Config/Core_Squads/Squads_GetFactionGroups.sqf | 78 ++ Common/Config/Core_Squads/Vanilla/Squad_CDF.sqf | 45 ++ Common/Config/Core_Squads/Vanilla/Squad_INS.sqf | 45 ++ Common/Config/Core_Squads/Vanilla/Squad_RU.sqf | 70 ++ Common/Config/Core_Squads/Vanilla/Squad_USMC.sqf | 51 ++ .../Core_Structures/Arrowhead/Structures_TKA.sqf | 162 ++++ .../Core_Structures/Arrowhead/Structures_US.sqf | 166 +++++ .../Core_Structures/CombinedOps/Structures_CDF.sqf | 161 ++++ .../Core_Structures/CombinedOps/Structures_INS.sqf | 162 ++++ .../Core_Structures/CombinedOps/Structures_TKA.sqf | 163 +++++ .../Core_Structures/CombinedOps/Structures_US.sqf | 167 +++++ .../Core_Structures/Vanilla/Structures_CDF.sqf | 162 ++++ .../Core_Structures/Vanilla/Structures_INS.sqf | 163 +++++ .../Core_Structures/Vanilla/Structures_RU.sqf | 165 +++++ .../Core_Structures/Vanilla/Structures_USMC.sqf | 162 ++++ .../Core_Units/Arrowhead/Units_Aircraft_TK.sqf | 20 + .../Core_Units/Arrowhead/Units_Aircraft_TKA.sqf | 17 + .../Core_Units/Arrowhead/Units_Aircraft_US.sqf | 27 + .../Core_Units/Arrowhead/Units_Airport_TK.sqf | 13 + .../Core_Units/Arrowhead/Units_Airport_TKA.sqf | 13 + .../Core_Units/Arrowhead/Units_Airport_US.sqf | 12 + .../Core_Units/Arrowhead/Units_Barracks_TK.sqf | 33 + .../Core_Units/Arrowhead/Units_Barracks_TKA.sqf | 34 + .../Core_Units/Arrowhead/Units_Barracks_TKGUE.sqf | 20 + .../Core_Units/Arrowhead/Units_Barracks_US.sqf | 132 ++++ .../Config/Core_Units/Arrowhead/Units_Depot_TK.sqf | 15 + .../Core_Units/Arrowhead/Units_Depot_TKA.sqf | 15 + .../Config/Core_Units/Arrowhead/Units_Depot_US.sqf | 15 + .../Config/Core_Units/Arrowhead/Units_Heavy_TK.sqf | 14 + .../Core_Units/Arrowhead/Units_Heavy_TKA.sqf | 11 + .../Core_Units/Arrowhead/Units_Heavy_TKGUE.sqf | 7 + .../Config/Core_Units/Arrowhead/Units_Heavy_US.sqf | 21 + .../Config/Core_Units/Arrowhead/Units_Light_TK.sqf | 29 + .../Core_Units/Arrowhead/Units_Light_TKA.sqf | 25 + .../Core_Units/Arrowhead/Units_Light_TKGUE.sqf | 13 + .../Config/Core_Units/Arrowhead/Units_Light_US.sqf | 34 + .../Core_Units/Arrowhead/Units_Special_TKA.sqf | 70 ++ .../Core_Units/Arrowhead/Units_Special_US.sqf | 70 ++ .../Core_Units/CombinedOps/Units_Aircraft_RU.sqf | 28 + .../Core_Units/CombinedOps/Units_Aircraft_US.sqf | 38 + .../Core_Units/CombinedOps/Units_Airport_RU.sqf | 16 + .../Core_Units/CombinedOps/Units_Airport_US.sqf | 16 + .../Core_Units/CombinedOps/Units_Barracks_GUE.sqf | 42 ++ .../Core_Units/CombinedOps/Units_Barracks_RU.sqf | 65 ++ .../Core_Units/CombinedOps/Units_Barracks_US.sqf | 163 +++++ .../Core_Units/CombinedOps/Units_Depot_RU.sqf | 21 + .../Core_Units/CombinedOps/Units_Depot_US.sqf | 22 + .../Core_Units/CombinedOps/Units_Heavy_GUE.sqf | 9 + .../Core_Units/CombinedOps/Units_Heavy_RU.sqf | 25 + .../Core_Units/CombinedOps/Units_Heavy_US.sqf | 52 ++ .../Core_Units/CombinedOps/Units_Light_GUE.sqf | 20 + .../Core_Units/CombinedOps/Units_Light_RU.sqf | 50 ++ .../Core_Units/CombinedOps/Units_Light_US.sqf | 75 ++ .../Core_Units/CombinedOps/Units_Special_RU.sqf | 70 ++ .../Core_Units/CombinedOps/Units_Special_US.sqf | 74 ++ .../Core_Units/Vanilla/Units_Aircraft_CDF.sqf | 15 + .../Core_Units/Vanilla/Units_Aircraft_INS.sqf | 15 + .../Core_Units/Vanilla/Units_Aircraft_RU.sqf | 23 + .../Core_Units/Vanilla/Units_Aircraft_USMC.sqf | 21 + .../Core_Units/Vanilla/Units_Airport_CDF.sqf | 11 + .../Core_Units/Vanilla/Units_Airport_INS.sqf | 11 + .../Config/Core_Units/Vanilla/Units_Airport_RU.sqf | 13 + .../Core_Units/Vanilla/Units_Airport_USMC.sqf | 16 + .../Core_Units/Vanilla/Units_Barracks_CDF.sqf | 23 + .../Core_Units/Vanilla/Units_Barracks_GUE.sqf | 26 + .../Core_Units/Vanilla/Units_Barracks_INS.sqf | 20 + .../Core_Units/Vanilla/Units_Barracks_RU.sqf | 35 + .../Core_Units/Vanilla/Units_Barracks_USMC.sqf | 35 + .../Config/Core_Units/Vanilla/Units_Depot_CDF.sqf | 15 + .../Config/Core_Units/Vanilla/Units_Depot_INS.sqf | 15 + .../Config/Core_Units/Vanilla/Units_Depot_RU.sqf | 18 + .../Config/Core_Units/Vanilla/Units_Depot_USMC.sqf | 19 + .../Config/Core_Units/Vanilla/Units_Heavy_CDF.sqf | 9 + .../Config/Core_Units/Vanilla/Units_Heavy_GUE.sqf | 7 + .../Config/Core_Units/Vanilla/Units_Heavy_INS.sqf | 9 + .../Config/Core_Units/Vanilla/Units_Heavy_RU.sqf | 11 + .../Config/Core_Units/Vanilla/Units_Heavy_USMC.sqf | 9 + .../Config/Core_Units/Vanilla/Units_Light_CDF.sqf | 18 + .../Config/Core_Units/Vanilla/Units_Light_GUE.sqf | 12 + .../Config/Core_Units/Vanilla/Units_Light_INS.sqf | 19 + .../Config/Core_Units/Vanilla/Units_Light_RU.sqf | 26 + .../Config/Core_Units/Vanilla/Units_Light_USMC.sqf | 24 + .../Core_Units/Vanilla/Units_Special_CDF.sqf | 70 ++ .../Core_Units/Vanilla/Units_Special_INS.sqf | 70 ++ .../Config/Core_Units/Vanilla/Units_Special_RU.sqf | 70 ++ .../Core_Units/Vanilla/Units_Special_USMC.sqf | 70 ++ Common/Config/readme.txt | 38 + Common/Functions/Common_BackpackHasSpace.sqf | 16 + Common/Functions/Common_BalanceInit.sqf | 48 ++ Common/Functions/Common_BuildingInRange.sqf | 17 + Common/Functions/Common_ChangeClientFunds.sqf | 7 + Common/Functions/Common_ChangeSideSupply.sqf | 11 + Common/Functions/Common_ChangeTeamFunds.sqf | 8 + Common/Functions/Common_CivilianKilled.sqf | 29 + Common/Functions/Common_CreateUnit.sqf | 28 + Common/Functions/Common_CreateVehicle.sqf | 20 + Common/Functions/Common_EquipArtillery.sqf | 19 + Common/Functions/Common_EquipBackpack.sqf | 9 + Common/Functions/Common_EquipLoadout.sqf | 26 + Common/Functions/Common_FireArtillery.sqf | 65 ++ Common/Functions/Common_GetAIDigit.sqf | 21 + Common/Functions/Common_GetClientID.sqf | 6 + Common/Functions/Common_GetClientIDFromTeam.sqf | 11 + Common/Functions/Common_GetClientTeam.sqf | 7 + Common/Functions/Common_GetClosestLocation.sqf | 5 + .../Functions/Common_GetClosestLocationBySide.sqf | 21 + Common/Functions/Common_GetCommanderFromVotes.sqf | 36 + Common/Functions/Common_GetCommanderTeam.sqf | 7 + Common/Functions/Common_GetCommanderVotes.sqf | 19 + Common/Functions/Common_GetConfigInfo.sqf | 8 + .../Functions/Common_GetConfigVehicleCrewSlot.sqf | 21 + .../Functions/Common_GetConfigVehicleTurrets.sqf | 16 + .../Common_GetConfigVehicleTurretsReturn.sqf | 54 ++ Common/Functions/Common_GetFactories.sqf | 10 + Common/Functions/Common_GetFriendlyCamps.sqf | 14 + Common/Functions/Common_GetGroupFromConfig.sqf | 23 + Common/Functions/Common_GetHostilesInArea.sqf | 18 + Common/Functions/Common_GetLiveUnits.sqf | 8 + Common/Functions/Common_GetNameSpace.sqf | 5 + Common/Functions/Common_GetPositionFrom.sqf | 11 + Common/Functions/Common_GetRandomPosition.sqf | 12 + Common/Functions/Common_GetRespawnCamps.sqf | 14 + Common/Functions/Common_GetSafePlace.sqf | 27 + Common/Functions/Common_GetSideFromID.sqf | 7 + Common/Functions/Common_GetSideHQ.sqf | 1 + Common/Functions/Common_GetSideHQDeployed.sqf | 1 + Common/Functions/Common_GetSideID.sqf | 7 + Common/Functions/Common_GetSideStructures.sqf | 1 + Common/Functions/Common_GetSideSupply.sqf | 1 + Common/Functions/Common_GetSideTowns.sqf | 10 + Common/Functions/Common_GetSideUpgrades.sqf | 1 + Common/Functions/Common_GetSleepFPS.sqf | 11 + Common/Functions/Common_GetTeamArtillery.sqf | 32 + Common/Functions/Common_GetTeamAutonomous.sqf | 3 + Common/Functions/Common_GetTeamFunds.sqf | 7 + Common/Functions/Common_GetTeamMoveMode.sqf | 3 + Common/Functions/Common_GetTeamMovePos.sqf | 3 + Common/Functions/Common_GetTeamRespawn.sqf | 3 + Common/Functions/Common_GetTeamType.sqf | 3 + Common/Functions/Common_GetTeamVehicles.sqf | 30 + Common/Functions/Common_GetTotalCamps.sqf | 7 + Common/Functions/Common_GetTotalCampsOnSide.sqf | 15 + Common/Functions/Common_GetTotalSupplyValue.sqf | 13 + Common/Functions/Common_GetTownsHeld.sqf | 8 + Common/Functions/Common_GetTownsIncome.sqf | 18 + Common/Functions/Common_GetTurretsMags.sqf | 42 ++ Common/Functions/Common_GetUnitVehicle.sqf | 6 + Common/Functions/Common_GetUnitsBelowHeight.sqf | 11 + Common/Functions/Common_GetVehicleMags.sqf | 4 + Common/Functions/Common_HandleArtillery.sqf | 104 +++ Common/Functions/Common_HandleIncomingMissile.sqf | 22 + Common/Functions/Common_IsArtillery.sqf | 12 + Common/Functions/Common_PlaceNear.sqf | 34 + Common/Functions/Common_PlaceSafe.sqf | 28 + Common/Functions/Common_RearmVehicle.sqf | 39 + Common/Functions/Common_RearmVehicleOA.sqf | 51 ++ Common/Functions/Common_RevealArea.sqf | 11 + Common/Functions/Common_SetCommanderVotes.sqf | 14 + Common/Functions/Common_SetNamespace.sqf | 15 + Common/Functions/Common_SetTeamAutonomous.sqf | 8 + Common/Functions/Common_SetTeamMoveMode.sqf | 8 + Common/Functions/Common_SetTeamMovePos.sqf | 8 + Common/Functions/Common_SetTeamRespawn.sqf | 8 + Common/Functions/Common_SetTeamType.sqf | 8 + Common/Functions/Common_SetTurretsMags.sqf | 30 + Common/Functions/Common_SortByDistance.sqf | 24 + Common/Functions/Common_SpawnTurrets.sqf | 22 + Common/Functions/Common_UnitKilled.sqf | 196 +++++ Common/Functions/Common_UpdateStatistics.sqf | 1 + Common/Functions/Common_UseStationaryDefense.sqf | 32 + Common/Init/Init_Airfield.sqf | 9 + Common/Init/Init_Boundaries.sqf | 38 + Common/Init/Init_Camp.sqf | 85 +++ Common/Init/Init_Common.sqf | 285 ++++++++ Common/Init/Init_CommonConstants.sqf | 492 +++++++++++++ Common/Init/Init_Location.sqf | 87 +++ Common/Init/Init_Neighbors.sqf | 232 ++++++ Common/Init/Init_PublicVariables.sqf | 62 ++ Common/Init/Init_TownMode.sqf | 53 ++ Common/Init/Init_Towns.sqf | 25 + Common/Module/CIPHER/CIPHER_Init.sqf | 91 +++ Common/Module/CIPHER/CIPHER_Sort.sqf | 63 ++ 267 files changed, 19423 insertions(+) create mode 100644 Common/Common_AARadarMarkerUpdate.sqf create mode 100644 Common/Common_DisableAC.sqf create mode 100644 Common/Common_InitArtillery.sqf create mode 100644 Common/Common_InitUnit.sqf create mode 100644 Common/Common_MarkerUpdate.sqf create mode 100644 Common/Config/Config_AircraftFactory.sqf create mode 100644 Common/Config/Config_Airport.sqf create mode 100644 Common/Config/Config_Allies.sqf create mode 100644 Common/Config/Config_Artillery.sqf create mode 100644 Common/Config/Config_Barracks.sqf create mode 100644 Common/Config/Config_Depot.sqf create mode 100644 Common/Config/Config_HeavyFactory.sqf create mode 100644 Common/Config/Config_LightFactory.sqf create mode 100644 Common/Config/Config_Loadouts.sqf create mode 100644 Common/Config/Config_Occupation.sqf create mode 100644 Common/Config/Config_Resistance.sqf create mode 100644 Common/Config/Config_Special.sqf create mode 100644 Common/Config/Config_Squads.sqf create mode 100644 Common/Config/Config_Structures.sqf create mode 100644 Common/Config/Core/Core_ACE_US_D.sqf create mode 100644 Common/Config/Core/Core_ACE_US_W.sqf create mode 100644 Common/Config/Core/Core_ACR.sqf create mode 100644 Common/Config/Core/Core_BAF.sqf create mode 100644 Common/Config/Core/Core_BAFD.sqf create mode 100644 Common/Config/Core/Core_BAFW.sqf create mode 100644 Common/Config/Core/Core_CDF.sqf create mode 100644 Common/Config/Core/Core_CIV.sqf create mode 100644 Common/Config/Core/Core_DeltaForce.sqf create mode 100644 Common/Config/Core/Core_FR.sqf create mode 100644 Common/Config/Core/Core_GUE.sqf create mode 100644 Common/Config/Core/Core_INS.sqf create mode 100644 Common/Config/Core/Core_KSK.sqf create mode 100644 Common/Config/Core/Core_MVD.sqf create mode 100644 Common/Config/Core/Core_PMC.sqf create mode 100644 Common/Config/Core/Core_RU.sqf create mode 100644 Common/Config/Core/Core_Spetsnaz.sqf create mode 100644 Common/Config/Core/Core_TK.sqf create mode 100644 Common/Config/Core/Core_TKA.sqf create mode 100644 Common/Config/Core/Core_TKCIV.sqf create mode 100644 Common/Config/Core/Core_TKGUE.sqf create mode 100644 Common/Config/Core/Core_TKSF.sqf create mode 100644 Common/Config/Core/Core_US.sqf create mode 100644 Common/Config/Core/Core_USMC.sqf create mode 100644 Common/Config/Core_Artillery/Arrowhead/Artillery_TKA.sqf create mode 100644 Common/Config/Core_Artillery/Arrowhead/Artillery_US.sqf create mode 100644 Common/Config/Core_Artillery/CombinedOps/Artillery_RU.sqf create mode 100644 Common/Config/Core_Artillery/CombinedOps/Artillery_US.sqf create mode 100644 Common/Config/Core_Artillery/Vanilla/Artillery_CDF.sqf create mode 100644 Common/Config/Core_Artillery/Vanilla/Artillery_INS.sqf create mode 100644 Common/Config/Core_Artillery/Vanilla/Artillery_RU.sqf create mode 100644 Common/Config/Core_Artillery/Vanilla/Artillery_USMC.sqf create mode 100644 Common/Config/Core_Definition/Arrowhead/Definition_US_TKA.sqf create mode 100644 Common/Config/Core_Definition/CombinedOps/Definition_US_INS.sqf create mode 100644 Common/Config/Core_Definition/CombinedOps/Definition_US_RU.sqf create mode 100644 Common/Config/Core_Definition/Vanilla/Definition_CDF_INS.sqf create mode 100644 Common/Config/Core_Definition/Vanilla/Definition_CDF_RU.sqf create mode 100644 Common/Config/Core_Definition/Vanilla/Definition_USMC_INS.sqf create mode 100644 Common/Config/Core_Definition/Vanilla/Definition_USMC_RU.sqf create mode 100644 Common/Config/Core_Gear/Core_ACE_G.sqf create mode 100644 Common/Config/Core_Gear/Core_Arrowhead_G.sqf create mode 100644 Common/Config/Core_Gear/Core_BAF_G.sqf create mode 100644 Common/Config/Core_Gear/Core_PMC_G.sqf create mode 100644 Common/Config/Core_Gear/Core_Vanilla_G.sqf create mode 100644 Common/Config/Core_Loadout/Arrowhead/Loadout_TK.sqf create mode 100644 Common/Config/Core_Loadout/Arrowhead/Loadout_TKA.sqf create mode 100644 Common/Config/Core_Loadout/Arrowhead/Loadout_US.sqf create mode 100644 Common/Config/Core_Loadout/CombinedOps/Loadout_RU.sqf create mode 100644 Common/Config/Core_Loadout/CombinedOps/Loadout_US.sqf create mode 100644 Common/Config/Core_Loadout/Vanilla/Loadout_CDF.sqf create mode 100644 Common/Config/Core_Loadout/Vanilla/Loadout_INS.sqf create mode 100644 Common/Config/Core_Loadout/Vanilla/Loadout_RU.sqf create mode 100644 Common/Config/Core_Loadout/Vanilla/Loadout_USMC.sqf create mode 100644 Common/Config/Core_Occupation/Occupation_CDF.sqf create mode 100644 Common/Config/Core_Occupation/Occupation_INS.sqf create mode 100644 Common/Config/Core_Occupation/Occupation_RU.sqf create mode 100644 Common/Config/Core_Occupation/Occupation_TKA.sqf create mode 100644 Common/Config/Core_Occupation/Occupation_US.sqf create mode 100644 Common/Config/Core_Occupation/Occupation_USMC.sqf create mode 100644 Common/Config/Core_Resistance/Resistance_GUE.sqf create mode 100644 Common/Config/Core_Resistance/Resistance_PMC.sqf create mode 100644 Common/Config/Core_Resistance/Resistance_TKGUE.sqf create mode 100644 Common/Config/Core_Squads/Arrowhead/Squad_TK.sqf create mode 100644 Common/Config/Core_Squads/Arrowhead/Squad_TKA.sqf create mode 100644 Common/Config/Core_Squads/Arrowhead/Squad_US.sqf create mode 100644 Common/Config/Core_Squads/CombinedOps/Squad_US_Camo.sqf create mode 100644 Common/Config/Core_Squads/Squads_GetFactionGroups.sqf create mode 100644 Common/Config/Core_Squads/Vanilla/Squad_CDF.sqf create mode 100644 Common/Config/Core_Squads/Vanilla/Squad_INS.sqf create mode 100644 Common/Config/Core_Squads/Vanilla/Squad_RU.sqf create mode 100644 Common/Config/Core_Squads/Vanilla/Squad_USMC.sqf create mode 100644 Common/Config/Core_Structures/Arrowhead/Structures_TKA.sqf create mode 100644 Common/Config/Core_Structures/Arrowhead/Structures_US.sqf create mode 100644 Common/Config/Core_Structures/CombinedOps/Structures_CDF.sqf create mode 100644 Common/Config/Core_Structures/CombinedOps/Structures_INS.sqf create mode 100644 Common/Config/Core_Structures/CombinedOps/Structures_TKA.sqf create mode 100644 Common/Config/Core_Structures/CombinedOps/Structures_US.sqf create mode 100644 Common/Config/Core_Structures/Vanilla/Structures_CDF.sqf create mode 100644 Common/Config/Core_Structures/Vanilla/Structures_INS.sqf create mode 100644 Common/Config/Core_Structures/Vanilla/Structures_RU.sqf create mode 100644 Common/Config/Core_Structures/Vanilla/Structures_USMC.sqf create mode 100644 Common/Config/Core_Units/Arrowhead/Units_Aircraft_TK.sqf create mode 100644 Common/Config/Core_Units/Arrowhead/Units_Aircraft_TKA.sqf create mode 100644 Common/Config/Core_Units/Arrowhead/Units_Aircraft_US.sqf create mode 100644 Common/Config/Core_Units/Arrowhead/Units_Airport_TK.sqf create mode 100644 Common/Config/Core_Units/Arrowhead/Units_Airport_TKA.sqf create mode 100644 Common/Config/Core_Units/Arrowhead/Units_Airport_US.sqf create mode 100644 Common/Config/Core_Units/Arrowhead/Units_Barracks_TK.sqf create mode 100644 Common/Config/Core_Units/Arrowhead/Units_Barracks_TKA.sqf create mode 100644 Common/Config/Core_Units/Arrowhead/Units_Barracks_TKGUE.sqf create mode 100644 Common/Config/Core_Units/Arrowhead/Units_Barracks_US.sqf create mode 100644 Common/Config/Core_Units/Arrowhead/Units_Depot_TK.sqf create mode 100644 Common/Config/Core_Units/Arrowhead/Units_Depot_TKA.sqf create mode 100644 Common/Config/Core_Units/Arrowhead/Units_Depot_US.sqf create mode 100644 Common/Config/Core_Units/Arrowhead/Units_Heavy_TK.sqf create mode 100644 Common/Config/Core_Units/Arrowhead/Units_Heavy_TKA.sqf create mode 100644 Common/Config/Core_Units/Arrowhead/Units_Heavy_TKGUE.sqf create mode 100644 Common/Config/Core_Units/Arrowhead/Units_Heavy_US.sqf create mode 100644 Common/Config/Core_Units/Arrowhead/Units_Light_TK.sqf create mode 100644 Common/Config/Core_Units/Arrowhead/Units_Light_TKA.sqf create mode 100644 Common/Config/Core_Units/Arrowhead/Units_Light_TKGUE.sqf create mode 100644 Common/Config/Core_Units/Arrowhead/Units_Light_US.sqf create mode 100644 Common/Config/Core_Units/Arrowhead/Units_Special_TKA.sqf create mode 100644 Common/Config/Core_Units/Arrowhead/Units_Special_US.sqf create mode 100644 Common/Config/Core_Units/CombinedOps/Units_Aircraft_RU.sqf create mode 100644 Common/Config/Core_Units/CombinedOps/Units_Aircraft_US.sqf create mode 100644 Common/Config/Core_Units/CombinedOps/Units_Airport_RU.sqf create mode 100644 Common/Config/Core_Units/CombinedOps/Units_Airport_US.sqf create mode 100644 Common/Config/Core_Units/CombinedOps/Units_Barracks_GUE.sqf create mode 100644 Common/Config/Core_Units/CombinedOps/Units_Barracks_RU.sqf create mode 100644 Common/Config/Core_Units/CombinedOps/Units_Barracks_US.sqf create mode 100644 Common/Config/Core_Units/CombinedOps/Units_Depot_RU.sqf create mode 100644 Common/Config/Core_Units/CombinedOps/Units_Depot_US.sqf create mode 100644 Common/Config/Core_Units/CombinedOps/Units_Heavy_GUE.sqf create mode 100644 Common/Config/Core_Units/CombinedOps/Units_Heavy_RU.sqf create mode 100644 Common/Config/Core_Units/CombinedOps/Units_Heavy_US.sqf create mode 100644 Common/Config/Core_Units/CombinedOps/Units_Light_GUE.sqf create mode 100644 Common/Config/Core_Units/CombinedOps/Units_Light_RU.sqf create mode 100644 Common/Config/Core_Units/CombinedOps/Units_Light_US.sqf create mode 100644 Common/Config/Core_Units/CombinedOps/Units_Special_RU.sqf create mode 100644 Common/Config/Core_Units/CombinedOps/Units_Special_US.sqf create mode 100644 Common/Config/Core_Units/Vanilla/Units_Aircraft_CDF.sqf create mode 100644 Common/Config/Core_Units/Vanilla/Units_Aircraft_INS.sqf create mode 100644 Common/Config/Core_Units/Vanilla/Units_Aircraft_RU.sqf create mode 100644 Common/Config/Core_Units/Vanilla/Units_Aircraft_USMC.sqf create mode 100644 Common/Config/Core_Units/Vanilla/Units_Airport_CDF.sqf create mode 100644 Common/Config/Core_Units/Vanilla/Units_Airport_INS.sqf create mode 100644 Common/Config/Core_Units/Vanilla/Units_Airport_RU.sqf create mode 100644 Common/Config/Core_Units/Vanilla/Units_Airport_USMC.sqf create mode 100644 Common/Config/Core_Units/Vanilla/Units_Barracks_CDF.sqf create mode 100644 Common/Config/Core_Units/Vanilla/Units_Barracks_GUE.sqf create mode 100644 Common/Config/Core_Units/Vanilla/Units_Barracks_INS.sqf create mode 100644 Common/Config/Core_Units/Vanilla/Units_Barracks_RU.sqf create mode 100644 Common/Config/Core_Units/Vanilla/Units_Barracks_USMC.sqf create mode 100644 Common/Config/Core_Units/Vanilla/Units_Depot_CDF.sqf create mode 100644 Common/Config/Core_Units/Vanilla/Units_Depot_INS.sqf create mode 100644 Common/Config/Core_Units/Vanilla/Units_Depot_RU.sqf create mode 100644 Common/Config/Core_Units/Vanilla/Units_Depot_USMC.sqf create mode 100644 Common/Config/Core_Units/Vanilla/Units_Heavy_CDF.sqf create mode 100644 Common/Config/Core_Units/Vanilla/Units_Heavy_GUE.sqf create mode 100644 Common/Config/Core_Units/Vanilla/Units_Heavy_INS.sqf create mode 100644 Common/Config/Core_Units/Vanilla/Units_Heavy_RU.sqf create mode 100644 Common/Config/Core_Units/Vanilla/Units_Heavy_USMC.sqf create mode 100644 Common/Config/Core_Units/Vanilla/Units_Light_CDF.sqf create mode 100644 Common/Config/Core_Units/Vanilla/Units_Light_GUE.sqf create mode 100644 Common/Config/Core_Units/Vanilla/Units_Light_INS.sqf create mode 100644 Common/Config/Core_Units/Vanilla/Units_Light_RU.sqf create mode 100644 Common/Config/Core_Units/Vanilla/Units_Light_USMC.sqf create mode 100644 Common/Config/Core_Units/Vanilla/Units_Special_CDF.sqf create mode 100644 Common/Config/Core_Units/Vanilla/Units_Special_INS.sqf create mode 100644 Common/Config/Core_Units/Vanilla/Units_Special_RU.sqf create mode 100644 Common/Config/Core_Units/Vanilla/Units_Special_USMC.sqf create mode 100644 Common/Config/readme.txt create mode 100644 Common/Functions/Common_BackpackHasSpace.sqf create mode 100644 Common/Functions/Common_BalanceInit.sqf create mode 100644 Common/Functions/Common_BuildingInRange.sqf create mode 100644 Common/Functions/Common_ChangeClientFunds.sqf create mode 100644 Common/Functions/Common_ChangeSideSupply.sqf create mode 100644 Common/Functions/Common_ChangeTeamFunds.sqf create mode 100644 Common/Functions/Common_CivilianKilled.sqf create mode 100644 Common/Functions/Common_CreateUnit.sqf create mode 100644 Common/Functions/Common_CreateVehicle.sqf create mode 100644 Common/Functions/Common_EquipArtillery.sqf create mode 100644 Common/Functions/Common_EquipBackpack.sqf create mode 100644 Common/Functions/Common_EquipLoadout.sqf create mode 100644 Common/Functions/Common_FireArtillery.sqf create mode 100644 Common/Functions/Common_GetAIDigit.sqf create mode 100644 Common/Functions/Common_GetClientID.sqf create mode 100644 Common/Functions/Common_GetClientIDFromTeam.sqf create mode 100644 Common/Functions/Common_GetClientTeam.sqf create mode 100644 Common/Functions/Common_GetClosestLocation.sqf create mode 100644 Common/Functions/Common_GetClosestLocationBySide.sqf create mode 100644 Common/Functions/Common_GetCommanderFromVotes.sqf create mode 100644 Common/Functions/Common_GetCommanderTeam.sqf create mode 100644 Common/Functions/Common_GetCommanderVotes.sqf create mode 100644 Common/Functions/Common_GetConfigInfo.sqf create mode 100644 Common/Functions/Common_GetConfigVehicleCrewSlot.sqf create mode 100644 Common/Functions/Common_GetConfigVehicleTurrets.sqf create mode 100644 Common/Functions/Common_GetConfigVehicleTurretsReturn.sqf create mode 100644 Common/Functions/Common_GetFactories.sqf create mode 100644 Common/Functions/Common_GetFriendlyCamps.sqf create mode 100644 Common/Functions/Common_GetGroupFromConfig.sqf create mode 100644 Common/Functions/Common_GetHostilesInArea.sqf create mode 100644 Common/Functions/Common_GetLiveUnits.sqf create mode 100644 Common/Functions/Common_GetNameSpace.sqf create mode 100644 Common/Functions/Common_GetPositionFrom.sqf create mode 100644 Common/Functions/Common_GetRandomPosition.sqf create mode 100644 Common/Functions/Common_GetRespawnCamps.sqf create mode 100644 Common/Functions/Common_GetSafePlace.sqf create mode 100644 Common/Functions/Common_GetSideFromID.sqf create mode 100644 Common/Functions/Common_GetSideHQ.sqf create mode 100644 Common/Functions/Common_GetSideHQDeployed.sqf create mode 100644 Common/Functions/Common_GetSideID.sqf create mode 100644 Common/Functions/Common_GetSideStructures.sqf create mode 100644 Common/Functions/Common_GetSideSupply.sqf create mode 100644 Common/Functions/Common_GetSideTowns.sqf create mode 100644 Common/Functions/Common_GetSideUpgrades.sqf create mode 100644 Common/Functions/Common_GetSleepFPS.sqf create mode 100644 Common/Functions/Common_GetTeamArtillery.sqf create mode 100644 Common/Functions/Common_GetTeamAutonomous.sqf create mode 100644 Common/Functions/Common_GetTeamFunds.sqf create mode 100644 Common/Functions/Common_GetTeamMoveMode.sqf create mode 100644 Common/Functions/Common_GetTeamMovePos.sqf create mode 100644 Common/Functions/Common_GetTeamRespawn.sqf create mode 100644 Common/Functions/Common_GetTeamType.sqf create mode 100644 Common/Functions/Common_GetTeamVehicles.sqf create mode 100644 Common/Functions/Common_GetTotalCamps.sqf create mode 100644 Common/Functions/Common_GetTotalCampsOnSide.sqf create mode 100644 Common/Functions/Common_GetTotalSupplyValue.sqf create mode 100644 Common/Functions/Common_GetTownsHeld.sqf create mode 100644 Common/Functions/Common_GetTownsIncome.sqf create mode 100644 Common/Functions/Common_GetTurretsMags.sqf create mode 100644 Common/Functions/Common_GetUnitVehicle.sqf create mode 100644 Common/Functions/Common_GetUnitsBelowHeight.sqf create mode 100644 Common/Functions/Common_GetVehicleMags.sqf create mode 100644 Common/Functions/Common_HandleArtillery.sqf create mode 100644 Common/Functions/Common_HandleIncomingMissile.sqf create mode 100644 Common/Functions/Common_IsArtillery.sqf create mode 100644 Common/Functions/Common_PlaceNear.sqf create mode 100644 Common/Functions/Common_PlaceSafe.sqf create mode 100644 Common/Functions/Common_RearmVehicle.sqf create mode 100644 Common/Functions/Common_RearmVehicleOA.sqf create mode 100644 Common/Functions/Common_RevealArea.sqf create mode 100644 Common/Functions/Common_SetCommanderVotes.sqf create mode 100644 Common/Functions/Common_SetNamespace.sqf create mode 100644 Common/Functions/Common_SetTeamAutonomous.sqf create mode 100644 Common/Functions/Common_SetTeamMoveMode.sqf create mode 100644 Common/Functions/Common_SetTeamMovePos.sqf create mode 100644 Common/Functions/Common_SetTeamRespawn.sqf create mode 100644 Common/Functions/Common_SetTeamType.sqf create mode 100644 Common/Functions/Common_SetTurretsMags.sqf create mode 100644 Common/Functions/Common_SortByDistance.sqf create mode 100644 Common/Functions/Common_SpawnTurrets.sqf create mode 100644 Common/Functions/Common_UnitKilled.sqf create mode 100644 Common/Functions/Common_UpdateStatistics.sqf create mode 100644 Common/Functions/Common_UseStationaryDefense.sqf create mode 100644 Common/Init/Init_Airfield.sqf create mode 100644 Common/Init/Init_Boundaries.sqf create mode 100644 Common/Init/Init_Camp.sqf create mode 100644 Common/Init/Init_Common.sqf create mode 100644 Common/Init/Init_CommonConstants.sqf create mode 100644 Common/Init/Init_Location.sqf create mode 100644 Common/Init/Init_Neighbors.sqf create mode 100644 Common/Init/Init_PublicVariables.sqf create mode 100644 Common/Init/Init_TownMode.sqf create mode 100644 Common/Init/Init_Towns.sqf create mode 100644 Common/Module/CIPHER/CIPHER_Init.sqf create mode 100644 Common/Module/CIPHER/CIPHER_Sort.sqf (limited to 'Common') diff --git a/Common/Common_AARadarMarkerUpdate.sqf b/Common/Common_AARadarMarkerUpdate.sqf new file mode 100644 index 0000000..598932b --- /dev/null +++ b/Common/Common_AARadarMarkerUpdate.sqf @@ -0,0 +1,35 @@ +Private ["_height","_object","_markerName","_side","_zOffset"]; + +waitUntil {commonInitComplete}; +sleep 2; + +_object = _this select 0; +_side = _this select 1; + +if (_side == side player || isNull _object ||!(alive _object)) exitWith {}; + +unitMarker = unitMarker + 1; +_markerName = Format ["unitMarker%1",unitMarker]; + +createMarkerLocal [_markerName,[0,0,0]]; +_markerName setMarkerTypeLocal "Vehicle"; +_markerName setMarkerColorLocal "ColorRed"; +_markerName setMarkerSizeLocal [5,5]; +_markerName setMarkerAlphaLocal 0; +_height = 'WFBE_ANTIAIRRADARDETECTION' Call GetNamespace; + +while {alive _object && !(isNull _object)} do { + if (antiAirRadarInRange) then { + _zOffset = (getPos _object) select 2; + if (_zOffset > _height) then { + _markerName setMarkerAlphaLocal 1; + _markerName setMarkerPosLocal (getPos _object); + } else { + _markerName setMarkerAlphaLocal 0; + }; + }; + + sleep 1; +}; + +deleteMarkerLocal _markerName; \ No newline at end of file diff --git a/Common/Common_DisableAC.sqf b/Common/Common_DisableAC.sqf new file mode 100644 index 0000000..e6974d8 --- /dev/null +++ b/Common/Common_DisableAC.sqf @@ -0,0 +1 @@ +enableEngineArtillery false; \ No newline at end of file diff --git a/Common/Common_InitArtillery.sqf b/Common/Common_InitArtillery.sqf new file mode 100644 index 0000000..2b1cdfb --- /dev/null +++ b/Common/Common_InitArtillery.sqf @@ -0,0 +1,7 @@ +Private ["_arty"]; +_arty = _this select 0; + +waitUntil {BIS_ARTY_LOADED}; +sleep 5; + +[_arty] call BIS_ARTY_F_initVehicle; \ No newline at end of file diff --git a/Common/Common_InitUnit.sqf b/Common/Common_InitUnit.sqf new file mode 100644 index 0000000..9cb2953 --- /dev/null +++ b/Common/Common_InitUnit.sqf @@ -0,0 +1,50 @@ +Private ["_ainumber","_amount","_color","_finalNumber","_isMan","_markerName","_numbers","_params","_side","_size","_text","_txt","_type","_unit","_val","_val2"]; +_unit = _this select 0; +_side = _this select 1; + +if (isNull _unit) exitWith {}; + +waitUntil {commonInitComplete}; + +if !(local player) exitWith {}; + +sleep 2; + +_isMan = if (_unit isKindOf "Man") then {true} else {false}; + +if !(_isMan) then { + if (('WFBE_INCOMINGMISSILEMAXRANGE' Call GetNamespace) != 0) then {_unit addEventHandler ['IncomingMissile', {_this Spawn HandleIncomingMissile}]}; + + if !(WF_A2_Vanilla) then { + if ('WFBE_THERMALIMAGING' Call GetNamespace < 2) then {Call Compile '_unit disableTIEquipment true;'}; + }; +}; + +if (sideJoined != _side) exitWith {}; + +_type = "Vehicle"; +_color = "ColorGreen"; +_size = [5,5]; +_txt = ""; +if ((typeOf _unit) in (Format['WFBE_%1SUPPLYTRUCKS',str _side] Call GetNamespace)) then {_type = "SupplyVehicle";_size = [1,1]}; +if ((typeOf _unit) in (Format['WFBE_%1REPAIRTRUCKS',str _side] Call GetNamespace)) then {_type = "RepairVehicle"}; + +unitMarker = unitMarker + 1; + +_markerName = Format ["unitMarker%1",unitMarker]; +_params = []; +if (_isMan) then { + _color = "ColorYellow"; + _type = "mil_dot"; + _size = [0.5,0.5]; + if (group _unit == group player) then { + _color = "ColorOrange"; + _txt = (_unit) Call GetAIDigit; + }; + _params = [_type,_color,_size,_txt,_markerName,_unit,1,true,"DestroyedVehicle",_color,false,_side,[1,1]]; +} else { + if (local _unit && isMultiplayer) then {_color = "ColorOrange"}; + _params = [_type,_color,_size,_txt,_markerName,_unit,1,true,"DestroyedVehicle",_color,false,_side,[2,2]]; +}; + +_params Spawn MarkerUpdate; \ No newline at end of file diff --git a/Common/Common_MarkerUpdate.sqf b/Common/Common_MarkerUpdate.sqf new file mode 100644 index 0000000..e9c372b --- /dev/null +++ b/Common/Common_MarkerUpdate.sqf @@ -0,0 +1,41 @@ +private ["_deathMarkerColor","_deathMarkerSize","_deathMarkerType","_deletePrevious","_markerColor","_markerName","_markerSize","_markerType","_markerText","_refreshRate","_trackDeath","_tracked","_side"]; + +waitUntil {commonInitComplete}; + +_markerType = _this select 0; +_markerColor = _this select 1; +_markerSize = _this select 2; +_markerText = _this select 3; +_markerName = _this select 4; +_tracked = _this select 5; +_refreshRate = _this select 6; +_trackDeath = _this select 7; +_deathMarkerType = _this select 8; +_deathMarkerColor = _this select 9; +_deletePrevious = _this select 10; +_side = _this select 11; +_deathMarkerSize = [1,1]; +if (count _this > 12) then {_deathMarkerSize = _this select 12}; + +if (_side != side player || isNull _tracked || !(alive _tracked)) exitWith {}; +if (_deletePrevious) then {deleteMarkerLocal _markerName}; + +createMarkerLocal [_markerName,getPos _tracked]; +if (_markerText != "") then {_markerName setMarkerTextLocal _markerText}; +_markerName setMarkerTypeLocal _markerType; +_markerName setMarkerColorLocal _markerColor; +_markerName setMarkerSizeLocal _markerSize; + +while {alive _tracked && !(isNull _tracked)} do { + _markerName setMarkerPosLocal (getPos _tracked); + sleep _refreshRate; +}; + +if (_trackDeath) then { + _markerName setMarkerTypeLocal _deathMarkerType; + _markerName setMarkerColorLocal _deathMarkerColor; + _markerName setMarkerSizeLocal _deathMarkerSize; + sleep ('WFBE_MARKERDEADDELAY' Call GetNamespace); +}; + +deleteMarkerLocal _markerName; \ No newline at end of file diff --git a/Common/Config/Config_AircraftFactory.sqf b/Common/Config/Config_AircraftFactory.sqf new file mode 100644 index 0000000..e12d009 --- /dev/null +++ b/Common/Config/Config_AircraftFactory.sqf @@ -0,0 +1,32 @@ +Private['_balancePrice','_c','_longestAircraftBuildTime','_u']; + +_balancePrice = 'WFBE_BALANCEPRICE' Call GetNamespace; + +/* WEST - Aircraft */ +_u = Call Compile preprocessFile Format["Common\Config\Core_Units\%1\Units_Aircraft_%2.sqf",WFBE_V_West_UnitsRootVersion,WFBE_V_West_Faction]; +['WFBE_WESTAIRCRAFTUNITS',_u,true] Call SetNamespace; +if (local player) then {['AIRCRAFT','WEST',_u] Call Compile preProcessFile 'Client\Init\Init_Faction.sqf'}; + +/* EAST - Aircraft */ +_u = Call Compile preprocessFile Format["Common\Config\Core_Units\%1\Units_Aircraft_%2.sqf",WFBE_V_East_UnitsRootVersion,WFBE_V_East_Faction]; +['WFBE_EASTAIRCRAFTUNITS',_u,true] Call SetNamespace; +if (local player) then {['AIRCRAFT','EAST',_u] Call Compile preProcessFile 'Client\Init\Init_Faction.sqf'}; + +_longestAircraftBuildTime = 0; +{ + _c = _x Call GetNamespace; + if !(isNil '_c') then { + if ((_c select QUERYUNITTIME) > _longestAircraftBuildTime) then { + _longestAircraftBuildTime = (_c select QUERYUNITTIME); + }; + + if (_balancePrice in [1,2]) then { + _c set [QUERYUNITPRICE, (_c select QUERYUNITPRICE)*2]; + }; + } else { + diag_log Format ["[WFBE (ERROR)][frameno:%2 | ticktime:%3] Config_AircraftFactory: '%1' is not defined in the Core files.",_x,diag_frameno,diag_tickTime]; + }; +} forEach (('WFBE_EASTAIRCRAFTUNITS' Call GetNamespace) + ('WFBE_WESTAIRCRAFTUNITS' Call GetNamespace)); + +['WFBE_LONGESTAIRCRAFTBUILDTIME',_longestAircraftBuildTime,true] Call SetNamespace; +diag_log Format ["[WFBE (INIT)][frameno:%1 | ticktime:%2] Config_AircraftFactory: Initialization (West: %3 | East: %4) - [Done]",diag_frameno,diag_tickTime,WFBE_V_West_Faction,WFBE_V_East_Faction]; \ No newline at end of file diff --git a/Common/Config/Config_Airport.sqf b/Common/Config/Config_Airport.sqf new file mode 100644 index 0000000..42b7499 --- /dev/null +++ b/Common/Config/Config_Airport.sqf @@ -0,0 +1,36 @@ +Private['_balancePrice','_c','_longestAirportBuildTime','_u']; + +_balancePrice = 'WFBE_BALANCEPRICE' Call GetNamespace; + +/* WEST - Airport */ +_u = Call Compile preprocessFile Format["Common\Config\Core_Units\%1\Units_Airport_%2.sqf",WFBE_V_West_UnitsRootVersion,WFBE_V_West_Faction]; +['WFBE_WESTAIRPORTUNITS',_u,true] Call SetNamespace; +if (local player) then {['AIRPORT','WEST',_u] Call Compile preProcessFile 'Client\Init\Init_Faction.sqf'}; + +/* EAST - Airport */ +_u = Call Compile preprocessFile Format["Common\Config\Core_Units\%1\Units_Airport_%2.sqf",WFBE_V_East_UnitsRootVersion,WFBE_V_East_Faction]; +['WFBE_EASTAIRPORTUNITS',_u,true] Call SetNamespace; +if (local player) then {['AIRPORT','EAST',_u] Call Compile preProcessFile 'Client\Init\Init_Faction.sqf'}; + +_longestAirportBuildTime = 0; +{ + _c = _x Call GetNamespace; + if !(isNil '_c') then { + if ((_c select QUERYUNITTIME) > _longestAirportBuildTime) then { + _longestAirportBuildTime = (_c select QUERYUNITTIME); + }; + + if (_balancePrice in [1,2]) then { + _c set [QUERYUNITPRICE, (_c select QUERYUNITPRICE)*2]; + }; + } else { + diag_log Format ["[WFBE (ERROR)][frameno:%2 | ticktime:%3] Config_Airport: '%1' is not defined in the Core files.",_x,diag_frameno,diag_tickTime]; + }; +} forEach (('WFBE_EASTAIRPORTUNITS' Call GetNamespace) + ('WFBE_WESTAIRPORTUNITS' Call GetNamespace)); + +['WFBE_LONGESTAIRPORTBUILDTIME',_longestAirportBuildTime,true] Call SetNamespace; + +airportDistance = 60; +airportDirection = 180; + +diag_log Format ["[WFBE (INIT)][frameno:%1 | ticktime:%2] Config_Airport: Initialization (West: %3 | East: %4) - [Done]",diag_frameno,diag_tickTime,WFBE_V_West_Faction,WFBE_V_East_Faction]; \ No newline at end of file diff --git a/Common/Config/Config_Allies.sqf b/Common/Config/Config_Allies.sqf new file mode 100644 index 0000000..c6ae3b0 --- /dev/null +++ b/Common/Config/Config_Allies.sqf @@ -0,0 +1,37 @@ +Private ["_eallies","_efolder","_u","_wallies","_wfolder"]; + +//--- Folders and Faction. +_eallies = "INS"; +_efolder = "Vanilla"; +_wallies = "CDF"; +_wfolder = "Vanilla"; + +//--- West Allies. +['WFBE_WESTALLIESCREW','CDF_Soldier_Crew',true] Call SetNamespace; +['WFBE_WESTALLIESSOLDIER','CDF_Soldier',true] Call SetNamespace; +['WFBE_WESTALLIESPILOT','CDF_Soldier_Pilot',true] Call SetNamespace; + +_u = Call Compile preprocessFile Format ["Common\Config\Core_Units\%1\Units_Barracks_%2.sqf",_wfolder,_wallies]; +['WFBE_WESTALLIESBARRACKSUNITS',_u,true] Call SetNamespace; +_u = Call Compile preprocessFile Format ["Common\Config\Core_Units\%1\Units_Light_%2.sqf",_wfolder,_wallies]; +['WFBE_WESTALLIESLIGHTUNITS',_u,true] Call SetNamespace; +_u = Call Compile preprocessFile Format ["Common\Config\Core_Units\%1\Units_Heavy_%2.sqf",_wfolder,_wallies]; +['WFBE_WESTALLIESHEAVYUNITS',_u,true] Call SetNamespace; +_u = Call Compile preprocessFile Format ["Common\Config\Core_Units\%1\Units_Aircraft_%2.sqf",_wfolder,_wallies]; +['WFBE_WESTALLIESAIRCRAFTUNITS',_u,true] Call SetNamespace; + +//--- East Allies. +['WFBE_EASTALLIESCREW','Ins_Soldier_Crew',true] Call SetNamespace; +['WFBE_EASTALLIESSOLDIER','Ins_Soldier_1',true] Call SetNamespace; +['WFBE_EASTALLIESPILOT','Ins_Soldier_Pilot',true] Call SetNamespace; + +_u = Call Compile preprocessFile Format ["Common\Config\Core_Units\%1\Units_Barracks_%2.sqf",_efolder,_eallies]; +['WFBE_EASTALLIESBARRACKSUNITS',_u,true] Call SetNamespace; +_u = Call Compile preprocessFile Format ["Common\Config\Core_Units\%1\Units_Light_%2.sqf",_efolder,_eallies]; +['WFBE_EASTALLIESLIGHTUNITS',_u,true] Call SetNamespace; +_u = Call Compile preprocessFile Format ["Common\Config\Core_Units\%1\Units_Heavy_%2.sqf",_efolder,_eallies]; +['WFBE_EASTALLIESHEAVYUNITS',_u,true] Call SetNamespace; +_u = Call Compile preprocessFile Format ["Common\Config\Core_Units\%1\Units_Aircraft_%2.sqf",_efolder,_eallies]; +['WFBE_EASTALLIESAIRCRAFTUNITS',_u,true] Call SetNamespace; + +diag_log Format ["[WFBE (INIT)][frameno:%1 | ticktime:%2] Config_Allies: Initialization (West: %3 | East: %4) - [Done]",diag_frameno,diag_tickTime,_wallies,_eallies]; \ No newline at end of file diff --git a/Common/Config/Config_Artillery.sqf b/Common/Config/Config_Artillery.sqf new file mode 100644 index 0000000..41640d2 --- /dev/null +++ b/Common/Config/Config_Artillery.sqf @@ -0,0 +1,7 @@ +/* Call in dynamically the west artillery. */ +Call Compile PreprocessFile Format["Common\Config\Core_Artillery\%1\Artillery_%2.sqf",WFBE_V_West_ArtilleryRootVersion,WFBE_V_West_ArtilleryFaction]; + +/* Call in dynamically the east artillery. */ +Call Compile PreprocessFile Format["Common\Config\Core_Artillery\%1\Artillery_%2.sqf",WFBE_V_East_ArtilleryRootVersion,WFBE_V_East_ArtilleryFaction]; + +diag_log Format ["[WFBE (INIT)][frameno:%1 | ticktime:%2] Config_Artillery: Initialization (West: %3 | East: %4) - [Done]",diag_frameno,diag_tickTime,WFBE_V_West_ArtilleryFaction,WFBE_V_East_ArtilleryFaction]; \ No newline at end of file diff --git a/Common/Config/Config_Barracks.sqf b/Common/Config/Config_Barracks.sqf new file mode 100644 index 0000000..8af2f23 --- /dev/null +++ b/Common/Config/Config_Barracks.sqf @@ -0,0 +1,47 @@ +Private['_c','_longestBarracksBuildTime','_u']; + +/* WEST - Barracks */ +_u = Call Compile preprocessFile Format["Common\Config\Core_Units\%1\Units_Barracks_%2.sqf",WFBE_V_West_UnitsRootVersion,WFBE_V_West_Faction]; +['WFBE_WESTBARRACKSUNITS',_u,true] Call SetNamespace; +if (local player) then {['BARRACKS','WEST',_u] Call Compile preProcessFile 'Client\Init\Init_Faction.sqf'}; + +/* EAST - Barracks */ +_u = Call Compile preprocessFile Format["Common\Config\Core_Units\%1\Units_Barracks_%2.sqf",WFBE_V_East_UnitsRootVersion,WFBE_V_East_Faction]; +['WFBE_EASTBARRACKSUNITS',_u,true] Call SetNamespace; +if (local player) then {['BARRACKS','EAST',_u] Call Compile preProcessFile 'Client\Init\Init_Faction.sqf'}; + +if (isServer) then { + /* Allies */ + if (('WFBE_ALLIES' Call GetNamespace) > 0) then { + //--- CDF Allies. + _u = Call Compile preprocessFile "Common\Config\Core_Units\Vanilla\Units_Barracks_CDF.sqf"; + ['WFBE_WESTALLIESBARRACKSUNITS',_u,true] Call SetNamespace; + ['WFBE_WESTALLIESSOLDIER','CDF_Soldier',true] Call SetNamespace; + + //--- Insurgent Allies. + _u = Call Compile preprocessFile "Common\Config\Core_Units\Vanilla\Units_Barracks_INS.sqf"; + ['WFBE_EASTALLIESBARRACKSUNITS',_u,true] Call SetNamespace; + ['WFBE_EASTALLIESSOLDIER','Ins_Soldier_1',true] Call SetNamespace; + }; +}; + +/* Root classes */ +westSoldierBaseClass = 'SoldierWB'; +eastSoldierBaseClass = 'SoldierEB'; +resistanceSoldierBaseClass = 'SoldierGB'; + +_longestBarracksBuildTime = 0; +{ + _c = _x Call GetNamespace; + if !(isNil '_c') then { + if ((_c select QUERYUNITTIME) > _longestBarracksBuildTime) then { + _longestBarracksBuildTime = (_c select QUERYUNITTIME); + }; + } else { + diag_log Format ["[WFBE (ERROR)][frameno:%2 | ticktime:%3] Config_Barracks: '%1' is not defined in the Core files.",_x,diag_frameno,diag_tickTime]; + }; +} forEach (('WFBE_EASTBARRACKSUNITS' Call GetNamespace) + ('WFBE_WESTBARRACKSUNITS' Call GetNamespace)); + +['WFBE_LONGESTBARRACKSBUILDTIME',_longestBarracksBuildTime,true] Call SetNamespace; + +diag_log Format ["[WFBE (INIT)][frameno:%1 | ticktime:%2] Config_Barracks: Initialization (West: %3 | East: %4) - [Done]",diag_frameno,diag_tickTime,WFBE_V_West_Faction,WFBE_V_East_Faction]; \ No newline at end of file diff --git a/Common/Config/Config_Depot.sqf b/Common/Config/Config_Depot.sqf new file mode 100644 index 0000000..1f4da37 --- /dev/null +++ b/Common/Config/Config_Depot.sqf @@ -0,0 +1,30 @@ +Private['_c','_longestDepotBuildTime','_u']; + +/* WEST - Depot */ +_u = Call Compile preprocessFile Format["Common\Config\Core_Units\%1\Units_Depot_%2.sqf",WFBE_V_West_UnitsRootVersion,WFBE_V_West_Faction]; +['WFBE_WESTDEPOTUNITS',_u,true] Call SetNamespace; +if (local player) then {['DEPOT','WEST',_u] Call Compile preProcessFile 'Client\Init\Init_Faction.sqf'}; + +/* EAST - Depot */ +_u = Call Compile preprocessFile Format["Common\Config\Core_Units\%1\Units_Depot_%2.sqf",WFBE_V_East_UnitsRootVersion,WFBE_V_East_Faction]; +['WFBE_EASTDEPOTUNITS',_u,true] Call SetNamespace; +if (local player) then {['DEPOT','EAST',_u] Call Compile preProcessFile 'Client\Init\Init_Faction.sqf'}; + +_longestDepotBuildTime = 0; +{ + _c = _x Call GetNamespace; + if !(isNil '_c') then { + if ((_c select QUERYUNITTIME) > _longestDepotBuildTime) then { + _longestDepotBuildTime = (_c select QUERYUNITTIME); + }; + } else { + diag_log Format ["[WFBE (ERROR)][frameno:%2 | ticktime:%3] Config_Depot: '%1' is not defined in the Core files.",_x,diag_frameno,diag_tickTime]; + }; +} forEach (('WFBE_EASTDEPOTUNITS' Call GetNamespace) + ('WFBE_WESTDEPOTUNITS' Call GetNamespace)); + +['WFBE_LONGESTDEPOTBUILDTIME',_longestDepotBuildTime,true] Call SetNamespace; + +depotDistance = 21; +depotDirection = 90; + +diag_log Format ["[WFBE (INIT)][frameno:%1 | ticktime:%2] Config_Depot: Initialization (West: %3 | East: %4) - [Done]",diag_frameno,diag_tickTime,WFBE_V_West_Faction,WFBE_V_East_Faction]; \ No newline at end of file diff --git a/Common/Config/Config_HeavyFactory.sqf b/Common/Config/Config_HeavyFactory.sqf new file mode 100644 index 0000000..ad5c1f5 --- /dev/null +++ b/Common/Config/Config_HeavyFactory.sqf @@ -0,0 +1,32 @@ +Private['_balancePrice','_c','_longestHeavyBuildTime','_u']; + +_balancePrice = 'WFBE_BALANCEPRICE' Call GetNamespace; + +/* WEST - Heavy */ +_u = Call Compile preprocessFile Format["Common\Config\Core_Units\%1\Units_Heavy_%2.sqf",WFBE_V_West_UnitsRootVersion,WFBE_V_West_Faction]; +['WFBE_WESTHEAVYUNITS',_u,true] Call SetNamespace; +if (local player) then {['HEAVY','WEST',_u] Call Compile preProcessFile 'Client\Init\Init_Faction.sqf'}; + +/* EAST - Heavy */ +_u = Call Compile preprocessFile Format["Common\Config\Core_Units\%1\Units_Heavy_%2.sqf",WFBE_V_East_UnitsRootVersion,WFBE_V_East_Faction]; +['WFBE_EASTHEAVYUNITS',_u,true] Call SetNamespace; +if (local player) then {['HEAVY','EAST',_u] Call Compile preProcessFile 'Client\Init\Init_Faction.sqf'}; + +_longestHeavyBuildTime = 0; +{ + _c = _x Call GetNamespace; + if !(isNil '_c') then { + if ((_c select QUERYUNITTIME) > _longestHeavyBuildTime) then { + _longestHeavyBuildTime = (_c select QUERYUNITTIME); + }; + + if (_balancePrice in [1,3]) then { + _c set [QUERYUNITPRICE, (_c select QUERYUNITPRICE)*2]; + }; + } else { + diag_log Format ["[WFBE (ERROR)][frameno:%2 | ticktime:%3] Config_HeavyFactory: '%1' is not defined in the Core files.",_x,diag_frameno,diag_tickTime]; + }; +} forEach (('WFBE_EASTHEAVYUNITS' Call GetNamespace) + ('WFBE_WESTHEAVYUNITS' Call GetNamespace)); + +['WFBE_LONGESTHEAVYBUILDTIME',_longestHeavyBuildTime,true] Call SetNamespace; +diag_log Format ["[WFBE (INIT)][frameno:%1 | ticktime:%2] Config_HeavyFactory: Initialization (West: %3 | East: %4) - [Done]",diag_frameno,diag_tickTime,WFBE_V_West_Faction,WFBE_V_East_Faction]; \ No newline at end of file diff --git a/Common/Config/Config_LightFactory.sqf b/Common/Config/Config_LightFactory.sqf new file mode 100644 index 0000000..fd1e1db --- /dev/null +++ b/Common/Config/Config_LightFactory.sqf @@ -0,0 +1,32 @@ +Private['_balancePrice','_c','_longestLightBuildTime','_u']; + +_balancePrice = 'WFBE_BALANCEPRICE' Call GetNamespace; + +/* WEST - Light */ +_u = Call Compile preprocessFile Format["Common\Config\Core_Units\%1\Units_Light_%2.sqf",WFBE_V_West_UnitsRootVersion,WFBE_V_West_Faction]; +['WFBE_WESTLIGHTUNITS',_u,true] Call SetNamespace; +if (local player) then {['LIGHT','WEST',_u] Call Compile preProcessFile 'Client\Init\Init_Faction.sqf'}; + +/* EAST - Light */ +_u = Call Compile preprocessFile Format["Common\Config\Core_Units\%1\Units_Light_%2.sqf",WFBE_V_East_UnitsRootVersion,WFBE_V_East_Faction]; +['WFBE_EASTLIGHTUNITS',_u,true] Call SetNamespace; +if (local player) then {['LIGHT','EAST',_u] Call Compile preProcessFile 'Client\Init\Init_Faction.sqf'}; + +_longestLightBuildTime = 0; +{ + _c = _x Call GetNamespace; + if !(isNil '_c') then { + if ((_c select QUERYUNITTIME) > _longestLightBuildTime) then { + _longestLightBuildTime = (_c select QUERYUNITTIME); + }; + + if (_balancePrice in [1,3]) then { + _c set [QUERYUNITPRICE, (_c select QUERYUNITPRICE)*2]; + }; + } else { + diag_log Format ["[WFBE (ERROR)][frameno:%2 | ticktime:%3] Config_LightFactory: '%1' is not defined in the Core files.",_x,diag_frameno,diag_tickTime]; + }; +} forEach (('WFBE_EASTLIGHTUNITS' Call GetNamespace) + ('WFBE_WESTLIGHTUNITS' Call GetNamespace)); + +['WFBE_LONGESTLIGHTBUILDTIME',_longestLightBuildTime,true] Call SetNamespace; +diag_log Format ["[WFBE (INIT)][frameno:%1 | ticktime:%2] Config_LightFactory: Initialization (West: %3 | East: %4) - [Done]",diag_frameno,diag_tickTime,WFBE_V_West_Faction,WFBE_V_East_Faction]; \ No newline at end of file diff --git a/Common/Config/Config_Loadouts.sqf b/Common/Config/Config_Loadouts.sqf new file mode 100644 index 0000000..7472a1f --- /dev/null +++ b/Common/Config/Config_Loadouts.sqf @@ -0,0 +1,15 @@ +/* + New loadout system. | Hybrid + Only one side gear is defined at a time. west don't know east and vice versa. +*/ + +/* Backpacks */ + +/* Binocular (Used for spotting) */ +['WFBE_BINOCULARS',['Binocular','Binocular_Vector','Laserdesignator'],true] Call SetNamespace; + +/* Set the loadout depending on it's type. */ +[] Call Compile PreprocessFile Format["Common\Config\Core_Loadout\%1\Loadout_%2.sqf",WFBE_V_West_LoadoutRootVersion,WFBE_V_West_Loadout]; +[] Call Compile PreprocessFile Format["Common\Config\Core_Loadout\%1\Loadout_%2.sqf",WFBE_V_East_LoadoutRootVersion,WFBE_V_East_Loadout]; + +diag_log Format ["[WFBE (INIT)][frameno:%1 | ticktime:%2] Config_Loadouts: Initialization (West: %3 | East: %4) - [Done]",diag_frameno,diag_tickTime,WFBE_V_West_Loadout,WFBE_V_East_Loadout]; \ No newline at end of file diff --git a/Common/Config/Config_Occupation.sqf b/Common/Config/Config_Occupation.sqf new file mode 100644 index 0000000..d4e18d5 --- /dev/null +++ b/Common/Config/Config_Occupation.sqf @@ -0,0 +1,9 @@ +Private ['_occTypeEast','_occTypeWest']; + +_occTypeWest = ('WFBE_OCCUPATIONWESTFACTIONS' Call GetNamespace) select ('WFBE_OCCUPATIONWESTFACTION' Call GetNamespace); +_occTypeEast = ('WFBE_OCCUPATIONEASTFACTIONS' Call GetNamespace) select ('WFBE_OCCUPATIONEASTFACTION' Call GetNamespace); + +[] Call Compile preprocessFile Format["Common\Config\Core_Occupation\Occupation_%1.sqf",_occTypeWest]; +[] Call Compile preprocessFile Format["Common\Config\Core_Occupation\Occupation_%1.sqf",_occTypeEast]; + +diag_log Format["[WFBE (INIT)][frameno:%1 | ticktime:%2] Config_Occupation: Initialization (West: %3 | East: %4) - [Done]",diag_frameno,diag_tickTime,_occTypeWest,_occTypeEast]; \ No newline at end of file diff --git a/Common/Config/Config_Resistance.sqf b/Common/Config/Config_Resistance.sqf new file mode 100644 index 0000000..8b68835 --- /dev/null +++ b/Common/Config/Config_Resistance.sqf @@ -0,0 +1,7 @@ +Private ['_resType']; + +_resType = ('WFBE_RESISTANCEFACTIONS' Call GetNamespace) select ('WFBE_RESISTANCEFACTION' Call GetNamespace); + +[] Call Compile preprocessFile Format["Common\Config\Core_Resistance\Resistance_%1.sqf",_resType]; + +diag_log Format["[WFBE (INIT)][frameno:%1 | ticktime:%2] Config_Resistance: Intialization (Resistance: %3) - [Done]",diag_frameno,diag_tickTime,_resType]; \ No newline at end of file diff --git a/Common/Config/Config_Special.sqf b/Common/Config/Config_Special.sqf new file mode 100644 index 0000000..6e892c8 --- /dev/null +++ b/Common/Config/Config_Special.sqf @@ -0,0 +1,7 @@ +/* Call in dynamically the west special variables. */ +Call Compile preprocessFile Format["Common\Config\Core_Units\%1\Units_Special_%2.sqf",WFBE_V_West_UnitsRootVersion,WFBE_V_West_Faction]; + +/* Call in dynamically the east special variables. */ +Call Compile preprocessFile Format["Common\Config\Core_Units\%1\Units_Special_%2.sqf",WFBE_V_East_UnitsRootVersion,WFBE_V_East_Faction]; + +diag_log Format ["[WFBE (INIT)][frameno:%1 | ticktime:%2] Config_Special: Initialization (West: %3 | East: %4) - [Done]",diag_frameno,diag_tickTime,WFBE_V_West_Faction,WFBE_V_East_Faction]; \ No newline at end of file diff --git a/Common/Config/Config_Squads.sqf b/Common/Config/Config_Squads.sqf new file mode 100644 index 0000000..6ccd08f --- /dev/null +++ b/Common/Config/Config_Squads.sqf @@ -0,0 +1,19 @@ +Private ['_squads']; + +//--- West +_squads = Call Compile PreprocessFile Format["Common\Config\Core_Squads\%1\Squad_%2.sqf",WFBE_V_West_SquadsRootVersion,WFBE_V_West_SquadsFaction]; +['WFBE_WESTAITEAMTEMPLATES',_squads select 0,true] Call SetNamespace; +['WFBE_WESTAITEAMTEMPLATEREQUIRES',_squads select 1,true] Call SetNamespace; +['WFBE_WESTAITEAMTYPES',_squads select 2,true] Call SetNamespace; +['WFBE_WESTAITEAMUPGRADES',_squads select 3,true] Call SetNamespace; +['WFBE_WESTAITEAMTEMPLATEDESCRIPTIONS',_squads select 4,true] Call SetNamespace; + +//--- East. +_squads = Call Compile PreprocessFile Format["Common\Config\Core_Squads\%1\Squad_%2.sqf",WFBE_V_East_SquadsRootVersion,WFBE_V_East_SquadsFaction]; +['WFBE_EASTAITEAMTEMPLATES',_squads select 0,true] Call SetNamespace; +['WFBE_EASTAITEAMTEMPLATEREQUIRES',_squads select 1,true] Call SetNamespace; +['WFBE_EASTAITEAMTYPES',_squads select 2,true] Call SetNamespace; +['WFBE_EASTAITEAMUPGRADES',_squads select 3,true] Call SetNamespace; +['WFBE_EASTAITEAMTEMPLATEDESCRIPTIONS',_squads select 4,true] Call SetNamespace; + +diag_log Format ["[WFBE (INIT)][frameno:%1 | ticktime:%2] Config_Squads: Initialization (West: %3 | East: %4) - [Done]",diag_frameno,diag_tickTime,WFBE_V_West_SquadsFaction,WFBE_V_East_SquadsFaction]; \ No newline at end of file diff --git a/Common/Config/Config_Structures.sqf b/Common/Config/Config_Structures.sqf new file mode 100644 index 0000000..dc30d3f --- /dev/null +++ b/Common/Config/Config_Structures.sqf @@ -0,0 +1,78 @@ +Private ["_n"]; + +/* Call in dynamically the west structures. */ +Call Compile PreprocessFile Format["Common\Config\Core_Structures\%1\Structures_%2.sqf",WFBE_V_West_StructuresRootVersion,WFBE_V_West_StructuresFaction]; + +/* Call in dynamically the east structures. */ +Call Compile PreprocessFile Format["Common\Config\Core_Structures\%1\Structures_%2.sqf",WFBE_V_East_StructuresRootVersion,WFBE_V_East_StructuresFaction]; + +switch (true) do { + case WF_A2_Vanilla: { + WFDEPOT = ["WarfareBDepot"]; + WFCAMP = ["WarfareBCamp"]; + WFHANGAR = ["WarfareBAirport"]; + WFFLAG = "FlagCarrierGUE"; + + /* RESISTANCE STATIONARY DEFENSES */ + _n = ["GUE_WarfareBMGNest_PK"]; + _n = _n + ["DSHKM_Gue"]; + _n = _n + ["SPG9_Gue"]; + _n = _n + ["ZU23_Gue"]; + + ['WFBE_RESISTANCEDEFENSENAMES',_n,true] Call SetNamespace; + + }; case WF_A2_Arrowhead: { + WFDEPOT = ["Land_fortified_nest_big_EP1"]; + WFCAMP = ["Land_Fort_Watchtower_EP1"]; + WFHANGAR = ["Land_Mil_hangar_EP1"]; + WFFLAG = "FlagCarrierTakistan_EP1"; + + /* RESISTANCE STATIONARY DEFENSES */ + _n = ["WarfareBMGNest_PK_TK_GUE_EP1"]; + _n = _n + ["DSHKM_TK_GUE_EP1"]; + _n = _n + ["AGS_TK_GUE_EP1"]; + _n = _n + ["SPG9_TK_GUE_EP1"]; + _n = _n + ["ZU23_TK_GUE_EP1"]; + _n = _n + ["D30_TK_GUE_EP1"]; + + ['WFBE_RESISTANCEDEFENSENAMES',_n,true] Call SetNamespace; + + }; case WF_A2_CombinedOps: { + WFDEPOT = ["Land_fortified_nest_big_EP1","WarfareBDepot"]; + WFCAMP = ["Land_Fort_Watchtower_EP1","WarfareBCamp"]; + WFHANGAR = ["Land_Mil_hangar_EP1","WarfareBAirport"]; + WFFLAG = "FlagCarrierTakistan_EP1"; + + /* RESISTANCE STATIONARY DEFENSES */ + _n = ["WarfareBMGNest_PK_TK_GUE_EP1"]; + _n = _n + ["GUE_WarfareBMGNest_PK"]; + _n = _n + ["DSHKM_Gue"]; + _n = _n + ["SPG9_Gue"]; + _n = _n + ["ZU23_Gue"]; + _n = _n + ["DSHKM_TK_GUE_EP1"]; + _n = _n + ["AGS_TK_GUE_EP1"]; + _n = _n + ["SPG9_TK_GUE_EP1"]; + _n = _n + ["D30_TK_GUE_EP1"]; + _n = _n + ["ZU23_TK_GUE_EP1"]; + + ['WFBE_RESISTANCEDEFENSENAMES',_n,true] Call SetNamespace; + + }; +}; + +//--- Multiply the building cost when money only is being used. +if (paramMoneyOnly) then { + Private ["_i","_list"]; + + _list = 'WFBE_WESTSTRUCTURECOSTS' Call GetNamespace; + for '_i' from 0 to count(_list)-1 do { + _list set [_i, round((_list select _i) * 5)]; + }; + + _list = 'WFBE_EASTSTRUCTURECOSTS' Call GetNamespace; + for '_i' from 0 to count(_list)-1 do { + _list set [_i, round((_list select _i) * 5)]; + }; +}; + +diag_log Format ["[WFBE (INIT)][frameno:%1 | ticktime:%2] Config_Structures: Initialization (West: %3 | East: %4) - [Done]",diag_frameno,diag_tickTime,WFBE_V_West_StructuresFaction,WFBE_V_East_StructuresFaction]; \ No newline at end of file diff --git a/Common/Config/Core/Core_ACE_US_D.sqf b/Common/Config/Core/Core_ACE_US_D.sqf new file mode 100644 index 0000000..0cae3f6 --- /dev/null +++ b/Common/Config/Core/Core_ACE_US_D.sqf @@ -0,0 +1,67 @@ +/* ACE US Desert Configuration */ +Private ['_c','_get','_i','_p','_z']; + +_c = []; +_i = []; + +/* Infantry */ +_c = _c + ['ACE_US_Soldier_M224_G']; +_i = _i + [['','',220,5,-1,0,0,0.85,'USMC',[]]]; + +_c = _c + ['ACE_US_Soldier_M224_AG']; +_i = _i + [['','',220,5,-1,0,0,0.85,'USMC',[]]]; + +_c = _c + ['ACE_US_Soldier_M224_AB']; +_i = _i + [['','',220,5,-1,0,0,0.85,'USMC',[]]]; + +_c = _c + ['ACE_US_Soldier_M252_G']; +_i = _i + [['','',160,5,-1,0,0,0.83,'USMC',[]]]; + +_c = _c + ['ACE_US_Soldier_M252_AG']; +_i = _i + [['','',160,5,-1,0,0,0.83,'USMC',[]]]; + +_c = _c + ['ACE_US_Soldier_M252_AB']; +_i = _i + [['','',160,5,-1,0,0,0.83,'USMC',[]]]; + +/* Heavy Vehicles */ +_c = _c + ['ACE_Stryker_RV_SLAT_D']; +_i = _i + [['','',1800,25,[false,true,2,0],0,2,0,'US',[]]]; + +_c = _c + ['ACE_M1A1HA_TUSK_DESERT']; +_i = _i + [['','',5850,40,-2,2,2,0,'US',[]]]; + +_c = _c + ['ACE_M1A1HA_TUSK_CSAMM_DESERT']; +_i = _i + [['','',6450,40,-2,3,2,0,'US',[]]]; + +/* Air Vehicles */ +_c = _c + ['ACE_AH6_GAU19_FLIR']; +_i = _i + [['','',29500,50,-2,2,3,0,'US',[]]]; + +_c = _c + ['ACE_AH6J_DAGR_FLIR']; +_i = _i + [['','',35500,50,-2,2,3,0,'US',[]]]; + +for '_z' from 0 to (count _c)-1 do { + if (isClass (configFile >> 'CfgVehicles' >> (_c select _z))) then { + _get = (_c select _z) Call GetNamespace; + if (isNil '_get') then { + if ((_i select _z) select 0 == '') then {(_i select _z) set [0, [_c select _z,'displayName'] Call GetConfigInfo]}; + if (typeName ((_i select _z) select 4) == 'SCALAR') then { + if (((_i select _z) select 4) == -2) then { + _ret = (_c select _z) Call Compile preprocessFile "Common\Functions\Common_GetConfigVehicleCrewSlot.sqf"; + (_i select _z) set [4, _ret select 0]; + (_i select _z) set [9, _ret select 1]; + }; + }; + if (WF_Debug) then {(_i select _z) set [3,1]}; + _p = if ((_c select _z) isKindOf 'Man') then {'portrait'} else {'picture'}; + (_i select _z) set [1, [_c select _z,_p] Call GetConfigInfo]; + [_c select _z,_i select _z] Call SetNamespace; + } else { + diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_ACE_US_D: Duplicated Element found '%1'",(_c select _z),diag_frameno,diag_tickTime]; + }; + } else { + diag_log Format ["[WFBE (ERROR)][frameno:%2 | ticktime:%3] Core_ACE_US_D: Element '%1' is not a valid class.",(_c select _z),diag_frameno,diag_tickTime]; + }; +}; + +diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_ACE_US_D: Initialization (%1 Elements) - [Done]",count _c,diag_frameno,diag_tickTime]; \ No newline at end of file diff --git a/Common/Config/Core/Core_ACE_US_W.sqf b/Common/Config/Core/Core_ACE_US_W.sqf new file mode 100644 index 0000000..fa50509 --- /dev/null +++ b/Common/Config/Core/Core_ACE_US_W.sqf @@ -0,0 +1,136 @@ +/* ACE US Woodland Configuration */ +Private ['_c','_get','_i','_p','_z']; + +_c = []; +_i = []; + +/* Light Vehicles */ +_c = _c + ['ACE_ATV_Honda']; +_i = _i + [['','',175,14,-2,0,1,0,'US - Woodland',[]]]; + +_c = _c + ['ACE_HMMWV_USARMY']; +_i = _i + [['','',300,15,-2,0,1,0,'US - Woodland',[]]]; + +_c = _c + ['ACE_HMMWV_MK19_USARMY']; +_i = _i + [['','',900,18,-2,1,1,0,'US - Woodland',[]]]; + +_c = _c + ['ACE_HMMWV_GMV']; +_i = _i + [['','',1050,20,-2,1,1,0,'US - Woodland',[]]]; + +_c = _c + ['ACE_HMMWV_GMV_MK19']; +_i = _i + [['','',1050,20,-2,1,1,0,'US - Woodland',[]]]; + +_c = _c + ['ACE_HMMWV_M2_USARMY']; +_i = _i + [['','',850,20,-2,0,1,0,'US - Woodland',[]]]; + +_c = _c + ['ACE_HMMWV_TOW_USARMY']; +_i = _i + [['','',1450,20,-2,2,1,0,'US - Woodland',[]]]; + +_c = _c + ['ACE_HMMWV_Ambulance_USARMY']; +_i = _i + [['','',725,22,-2,2,1,0,'US - Woodland',[]]]; + +_c = _c + ['ACE_Truck5tOpen']; +_i = _i + [['','',400,20,-2,0,1,0,'US - Woodland',[]]]; + +_c = _c + ['ACE_Truck5t']; +_i = _i + [['','',400,20,-2,0,1,0,'US - Woodland',[]]]; + +_c = _c + ['ACE_Truck5tMGOpen']; +_i = _i + [['','',400,20,-2,0,1,0,'US - Woodland',[]]]; + +_c = _c + ['ACE_Truck5tMG']; +_i = _i + [['','',400,20,-2,0,1,0,'US - Woodland',[]]]; + +_c = _c + ['ACE_Truck5tRepair']; +_i = _i + [['','',525,22,-2,2,1,0,'US - Woodland',[]]]; + +_c = _c + ['ACE_Truck5tReammo']; +_i = _i + [['','',550,22,-2,1,1,0,'US - Woodland',[]]]; + +_c = _c + ['ACE_Truck5tRefuel']; +_i = _i + [['','',500,22,-2,1,1,0,'US - Woodland',[]]]; + +/* Heavy Vehicles */ +_c = _c + ['ACE_Stryker_ICV_M2_SLAT']; +_i = _i + [['','',1650,25,[false,true,2,0],0,2,0,'US - Woodland',[]]]; + +_c = _c + ['ACE_Stryker_RV']; +_i = _i + [['','',1800,25,[false,true,2,0],0,2,0,'US - Woodland',[]]]; + +_c = _c + ['ACE_Stryker_RV_SLAT']; +_i = _i + [['','',1800,25,[false,true,2,0],0,2,0,'US - Woodland',[]]]; + +_c = _c + ['ACE_Stryker_ICV_MK19_SLAT']; +_i = _i + [['','',1950,25,[false,true,2,0],0,2,0,'US - Woodland',[]]]; + +_c = _c + ['ACE_Stryker_TOW_MG_Slat']; +_i = _i + [['','',1850,25,-2,2,2,0,'US - Woodland',[]]]; + +_c = _c + ['ACE_Stryker_TOW_Slat']; +_i = _i + [['','',1850,25,-2,2,2,0,'US - Woodland',[]]]; + +_c = _c + ['ACE_Stryker_MGS']; +_i = _i + [['','',2450,25,-2,2,2,0,'US - Woodland',[]]]; + +_c = _c + ['ACE_Stryker_MGS_Slat']; +_i = _i + [['','',2450,25,-2,2,2,0,'US - Woodland',[]]]; + +_c = _c + ['ACE_M113A3_Ambul']; +_i = _i + [['','',1950,25,-2,1,2,0,'US - Woodland',[]]]; + +_c = _c + ['ACE_Vulcan']; +_i = _i + [['','',1950,25,-2,1,2,0,'US - Woodland',[]]]; + +_c = _c + ['ACE_M113A3']; +_i = _i + [['','',1950,25,-2,1,2,0,'US - Woodland',[]]]; + +_c = _c + ['ACE_M2A2_W']; +_i = _i + [['','',4450,30,-2,1,2,0,'US - Woodland',[]]]; + +_c = _c + ['ACE_M2A3_W']; +_i = _i + [['','',4950,32,-2,2,2,0,'US - Woodland',[]]]; + +_c = _c + ['ACE_M1A1_NATO']; +_i = _i + [['','',5650,40,-2,2,2,0,'US - Woodland',[]]]; + +_c = _c + ['ACE_M1A1HA_TUSK']; +_i = _i + [['','',5650,40,-2,2,2,0,'US - Woodland',[]]]; + +_c = _c + ['ACE_M1A1HA_TUSK_CSAMM']; +_i = _i + [['','',5650,40,-2,2,2,0,'US - Woodland',[]]]; + +_c = _c + ['ACE_M6A1_W']; +_i = _i + [['','',8200,35,-2,3,2,0,'US - Woodland',[]]]; + +/* Air Vehicles */ +_c = _c + ['ACE_AH6_GAU19_FLIR']; +_i = _i + [['','',29500,50,-2,1,3,0,'US - Woodland',[]]]; + +_c = _c + ['ACE_AH6J_DAGR_FLIR']; +_i = _i + [['','',35500,50,-2,1,3,0,'US - Woodland',[]]]; + +for '_z' from 0 to (count _c)-1 do { + if (isClass (configFile >> 'CfgVehicles' >> (_c select _z))) then { + _get = (_c select _z) Call GetNamespace; + if (isNil '_get') then { + if ((_i select _z) select 0 == '') then {(_i select _z) set [0, [_c select _z,'displayName'] Call GetConfigInfo]}; + if (typeName ((_i select _z) select 4) == 'SCALAR') then { + if (((_i select _z) select 4) == -2) then { + _ret = (_c select _z) Call Compile preprocessFile "Common\Functions\Common_GetConfigVehicleCrewSlot.sqf"; + (_i select _z) set [4, _ret select 0]; + (_i select _z) set [9, _ret select 1]; + }; + }; + if (WF_Debug) then {(_i select _z) set [3,1]}; + _p = if ((_c select _z) isKindOf 'Man') then {'portrait'} else {'picture'}; + (_i select _z) set [1, [_c select _z,_p] Call GetConfigInfo]; + [_c select _z,_i select _z] Call SetNamespace; + } else { + diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_ACE_US_W: Duplicated Element found '%1'",(_c select _z),diag_frameno,diag_tickTime]; + }; + } else { + diag_log Format ["[WFBE (ERROR)][frameno:%2 | ticktime:%3] Core_ACE_US_W: Element '%1' is not a valid class.",(_c select _z),diag_frameno,diag_tickTime]; + }; +}; + +diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_ACE_US_W: Initialization (%1 Elements) - [Done]",count _c,diag_frameno,diag_tickTime]; \ No newline at end of file diff --git a/Common/Config/Core/Core_ACR.sqf b/Common/Config/Core/Core_ACR.sqf new file mode 100644 index 0000000..2da71ca --- /dev/null +++ b/Common/Config/Core/Core_ACR.sqf @@ -0,0 +1,97 @@ +/* ACR Configuration */ +Private ['_c','_get','_i','_p','_z']; + +_c = []; +_i = []; + +/* Infantry */ +_c = _c + ['CZ_Soldier_Light_DES_EP1']; +_i = _i + [['','',125,4,-1,0,0,0.85,'Czech',[]]]; + +_c = _c + ['CZ_Soldier_DES_EP1']; +_i = _i + [['','',150,4,-1,0,0,0.85,'Czech',[]]]; + +_c = _c + ['CZ_Soldier_B_DES_EP1']; +_i = _i + [['','',150,4,-1,0,0,0.85,'Czech',[]]]; + +_c = _c + ['CZ_Soldier_AT_DES_EP1']; +_i = _i + [['','',310,5,-1,0,0,0.87,'Czech',[]]]; + +_c = _c + ['CZ_Soldier_AMG_DES_EP1']; +_i = _i + [['','',210,5,-1,1,0,0.85,'Czech',[]]]; + +_c = _c + ['CZ_Soldier_MG_DES_EP1']; +_i = _i + [['','',220,5,-1,0,0,0.86,'Czech',[]]]; + +_c = _c + ['CZ_Soldier_Sniper_EP1']; +_i = _i + [['','',280,5,-1,1,0,0.88,'Czech',[]]]; + +_c = _c + ['CZ_Special_Forces_GL_DES_EP1']; +_i = _i + [['','',290,5,-1,3,0,0.90,'Czech',[]]]; + +_c = _c + ['CZ_Special_Forces_MG_DES_EP1']; +_i = _i + [['','',310,5,-1,3,0,0.90,'Czech',[]]]; + +_c = _c + ['CZ_Special_Forces_DES_EP1']; +_i = _i + [['','',285,5,-1,3,0,0.89,'Czech',[]]]; + +_c = _c + ['CZ_Special_Forces_Scout_DES_EP1']; +_i = _i + [['','',305,5,-1,3,0,0.90,'Czech',[]]]; + +_c = _c + ['CZ_Special_Forces_TL_DES_EP1']; +_i = _i + [['','',310,5,-1,3,0,0.91,'Czech',[]]]; + +_c = _c + ['CZ_Soldier_Pilot_EP1']; +_i = _i + [['','',120,4,-1,0,0,0.86,'Czech',[]]]; + +_c = _c + ['CZ_Soldier_Office_DES_EP1']; +_i = _i + [['','',240,5,-1,1,0,0.88,'Czech',[]]]; + +_c = _c + ['CZ_Soldier_SL_DES_EP1']; +_i = _i + [['','',220,5,-1,2,0,0.87,'Czech',[]]]; + +/* Light Vehicles */ +_c = _c + ['ATV_CZ_EP1']; +_i = _i + [['','',175,15,-2,0,1,0,'Czech',[]]]; + +_c = _c + ['HMMWV_M1151_M2_CZ_DES_EP1']; +_i = _i + [['','',850,20,-2,0,1,0,'Czech',[]]]; + +_c = _c + ['LandRover_CZ_EP1']; +_i = _i + [['','',275,18,-2,0,1,0,'Czech',[]]]; + +_c = _c + ['LandRover_Special_CZ_EP1']; +_i = _i + [['','',700,20,-2,0,1,0,'Czech',[]]]; + +/* Air Vehicles */ +_c = _c + ['Mi171Sh_CZ_EP1']; +_i = _i + [['','',7600,35,-2,1,3,0,'Czech',[]]]; + +_c = _c + ['Mi171Sh_rockets_CZ_EP1']; +_i = _i + [['','',26500,40,-2,0,3,0,'Czech',[]]]; + +for '_z' from 0 to (count _c)-1 do { + if (isClass (configFile >> 'CfgVehicles' >> (_c select _z))) then { + _get = (_c select _z) Call GetNamespace; + if (isNil '_get') then { + if ((_i select _z) select 0 == '') then {(_i select _z) set [0, [_c select _z,'displayName'] Call GetConfigInfo]}; + if (typeName ((_i select _z) select 4) == 'SCALAR') then { + if (((_i select _z) select 4) == -2) then { + _ret = (_c select _z) Call Compile preprocessFile "Common\Functions\Common_GetConfigVehicleCrewSlot.sqf"; + (_i select _z) set [4, _ret select 0]; + (_i select _z) set [9, _ret select 1]; + }; + }; + if (WF_Debug) then {(_i select _z) set [3,1]}; + _p = if ((_c select _z) isKindOf 'Man') then {'portrait'} else {'picture'}; + (_i select _z) set [1, [_c select _z,_p] Call GetConfigInfo]; + [_c select _z,_i select _z] Call SetNamespace; + } else { + diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_ACR: Duplicated Element found '%1'",(_c select _z),diag_frameno,diag_tickTime]; + }; + } else { + diag_log Format ["[WFBE (ERROR)][frameno:%2 | ticktime:%3] Core_ACR: Element '%1' is not a valid class.",(_c select _z),diag_frameno,diag_tickTime]; + }; +}; + +diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_ACR: Initialization (%1 Elements) - [Done]",count _c,diag_frameno,diag_tickTime]; \ No newline at end of file diff --git a/Common/Config/Core/Core_BAF.sqf b/Common/Config/Core/Core_BAF.sqf new file mode 100644 index 0000000..af4bf34 --- /dev/null +++ b/Common/Config/Core/Core_BAF.sqf @@ -0,0 +1,135 @@ +/* BAF (MTP) Configuration */ +private ["_c","_get","_i","_p"]; + +_c = []; +_i = []; + +/* Infantry */ +_c = _c + ['BAF_Soldier_AA_MTP']; +_i = _i + [['','',410,6,-1,2,0,0.88,'British',[]]]; + +_c = _c + ['BAF_Soldier_AAA_MTP']; +_i = _i + [['','',190,6,-1,2,0,0.89,'British',[]]]; + +_c = _c + ['BAF_Soldier_AAT_MTP']; +_i = _i + [['','',190,4,-1,2,0,0.84,'British',[]]]; + +_c = _c + ['BAF_Soldier_AHAT_MTP']; +_i = _i + [['','',190,6,-1,3,0,0.85,'British',[]]]; + +_c = _c + ['BAF_Soldier_AAR_MTP']; +_i = _i + [['','',190,5,-1,2,0,0.88,'British',[]]]; + +_c = _c + ['BAF_Soldier_AMG_MTP']; +_i = _i + [['','',190,6,-1,1,0,0.87,'British',[]]]; + +_c = _c + ['BAF_Soldier_AT_MTP']; +_i = _i + [['','',360,6,-1,2,0,0.88,'British',[]]]; + +_c = _c + ['BAF_Soldier_HAT_MTP']; +_i = _i + [['','',810,6,-1,3,0,0.89,'British',[]]]; + +_c = _c + ['BAF_Soldier_AR_MTP']; +_i = _i + [['','',210,5,-1,2,0,0.85,'British',[]]]; + +_c = _c + ['BAF_crewman_MTP']; +_i = _i + [['','',125,5,-1,0,0,0.83,'British',[]]]; + +_c = _c + ['BAF_Soldier_EN_MTP']; +_i = _i + [['','',230,5,-1,0,0,0.84,'British',[]]]; + +_c = _c + ['BAF_Soldier_GL_MTP']; +_i = _i + [['','',170,5,-1,0,0,0.84,'British',[]]]; + +_c = _c + ['BAF_Soldier_FAC_MTP']; +_i = _i + [['','',375,6,-1,3,0,0.98,'British',[]]]; + +_c = _c + ['BAF_Soldier_MG_MTP']; +_i = _i + [['','',210,5,-1,0,0,0.85,'British',[]]]; + +_c = _c + ['BAF_Soldier_scout_MTP']; +_i = _i + [['','',340,6,-1,2,0,0.9,'British',[]]]; + +_c = _c + ['BAF_Soldier_Marksman_MTP']; +_i = _i + [['','',370,6,-1,3,0,0.91,'British',[]]]; + +_c = _c + ['BAF_Soldier_Medic_MTP']; +_i = _i + [['','',200,6,-1,0,0,0.86,'British',[]]]; + +_c = _c + ['BAF_Soldier_Officer_MTP']; +_i = _i + [['','',265,6,-1,2,0,0.86,'British',[]]]; + +_c = _c + ['BAF_Pilot_MTP']; +_i = _i + [['','',125,6,-1,0,0,0.84,'British',[]]]; + +_c = _c + ['BAF_Soldier_MTP']; +_i = _i + [['','',155,6,-1,0,0,0.85,'British',[]]]; + +_c = _c + ['BAF_ASoldier_MTP']; +_i = _i + [['','',160,6,-1,0,0,0.85,'British',[]]]; + +_c = _c + ['BAF_Soldier_L_MTP']; +_i = _i + [['','',130,6,-1,0,0,0.85,'British',[]]]; + +_c = _c + ['BAF_Soldier_N_MTP']; +_i = _i + [['','',175,6,-1,1,0,0.86,'British',[]]]; + +_c = _c + ['BAF_Soldier_SL_MTP']; +_i = _i + [['','',235,6,-1,2,0,0.92,'British',[]]]; + +_c = _c + ['BAF_Soldier_SniperN_MTP']; +_i = _i + [['','',390,6,-1,3,0,0.9,'British',[]]]; + +_c = _c + ['BAF_Soldier_SniperH_MTP']; +_i = _i + [['','',420,6,-1,2,0,0.9,'British',[]]]; + +_c = _c + ['BAF_Soldier_Sniper_MTP']; +_i = _i + [['','',395,6,-1,2,0,0.9,'British',[]]]; + +_c = _c + ['BAF_Soldier_spotter_MTP']; +_i = _i + [['','',340,6,-1,2,0,0.88,'British',[]]]; + +_c = _c + ['BAF_Soldier_spotterN_MTP']; +_i = _i + [['','',350,6,-1,2,0,0.88,'British',[]]]; + +_c = _c + ['BAF_Soldier_TL_MTP']; +_i = _i + [['','',245,6,-1,1,0,0.91,'British',[]]]; + +/* Air Vehicles */ +_c = _c + ['BAF_Merlin_HC3_D']; +_i = _i + [['','',21000,45,-2,0,3,0,'British',[]]]; + +_c = _c + ['CH_47F_BAF']; +_i = _i + [['','',20000,40,-2,0,3,0,'British',[]]]; + +_c = _c + ['BAF_Apache_AH1_D']; +_i = _i + [['','',82500,60,-2,2,3,0,'British',[]]]; + +_c = _c + ['AW159_Lynx_BAF']; +_i = _i + [['','',75000,35,-2,1,3,0,'British',[]]]; + +for '_z' from 0 to (count _c)-1 do { + if (isClass (configFile >> 'CfgVehicles' >> (_c select _z))) then { + _get = (_c select _z) Call GetNamespace; + if (isNil '_get') then { + if ((_i select _z) select 0 == '') then {(_i select _z) set [0, [_c select _z,'displayName'] Call GetConfigInfo]}; + if (typeName ((_i select _z) select 4) == 'SCALAR') then { + if (((_i select _z) select 4) == -2) then { + _ret = (_c select _z) Call Compile preprocessFile "Common\Functions\Common_GetConfigVehicleCrewSlot.sqf"; + (_i select _z) set [4, _ret select 0]; + (_i select _z) set [9, _ret select 1]; + }; + }; + if (WF_Debug) then {(_i select _z) set [3,1]}; + _p = if ((_c select _z) isKindOf 'Man') then {'portrait'} else {'picture'}; + (_i select _z) set [1, [_c select _z,_p] Call GetConfigInfo]; + [_c select _z,_i select _z] Call SetNamespace; + } else { + diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_BAF: Duplicated Element found '%1'",(_c select _z),diag_frameno,diag_tickTime]; + }; + } else { + diag_log Format ["[WFBE (ERROR)][frameno:%2 | ticktime:%3] Core_BAF: Element '%1' is not a valid class.",(_c select _z),diag_frameno,diag_tickTime]; + }; +}; + +diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_BAF: Initialization (%1 Elements) - [Done]",count _c,diag_frameno,diag_tickTime]; \ No newline at end of file diff --git a/Common/Config/Core/Core_BAFD.sqf b/Common/Config/Core/Core_BAFD.sqf new file mode 100644 index 0000000..0d44fbf --- /dev/null +++ b/Common/Config/Core/Core_BAFD.sqf @@ -0,0 +1,124 @@ +/* BAF (Desert) Configuration */ +private ["_c","_get","_i","_p"]; + +_c = []; +_i = []; + +/* Infantry */ +_c = _c + ['BAF_Soldier_AA_DDPM']; +_i = _i + [['','',410,6,-1,2,0,0.88,'British (Desert)',[]]]; + +_c = _c + ['BAF_Soldier_AAA_DDPM']; +_i = _i + [['','',440,6,-1,2,0,0.87,'British (Desert)',[]]]; + +_c = _c + ['BAF_Soldier_AAT_DDPM']; +_i = _i + [['','',190,4,-1,2,0,0.84,'British (Desert)',[]]]; + +_c = _c + ['BAF_Soldier_AHAT_DDPM']; +_i = _i + [['','',190,6,-1,3,0,0.85,'British (Desert)',[]]]; + +_c = _c + ['BAF_Soldier_AAR_DDPM']; +_i = _i + [['','',190,5,-1,2,0,0.88,'British (Desert)',[]]]; + +_c = _c + ['BAF_Soldier_AMG_DDPM']; +_i = _i + [['','',190,6,-1,1,0,0.87,'British (Desert)',[]]]; + +_c = _c + ['BAF_Soldier_AT_DDPM']; +_i = _i + [['','',360,6,-1,2,0,0.87,'British (Desert)',[]]]; + +_c = _c + ['BAF_Soldier_HAT_DDPM']; +_i = _i + [['','',810,6,-1,3,0,0.89,'British (Desert)',[]]]; + +_c = _c + ['BAF_Soldier_AR_DDPM']; +_i = _i + [['','',210,5,-1,2,0,0.85,'British (Desert)',[]]]; + +_c = _c + ['BAF_crewman_DDPM']; +_i = _i + [['','',125,5,-1,0,0,0.83,'British (Desert)',[]]]; + +_c = _c + ['BAF_Soldier_EN_DDPM']; +_i = _i + [['','',230,5,-1,0,0,0.84,'British (Desert)',[]]]; + +_c = _c + ['BAF_Soldier_GL_DDPM']; +_i = _i + [['','',170,5,-1,0,0,0.84,'British (Desert)',[]]]; + +_c = _c + ['BAF_Soldier_FAC_DDPM']; +_i = _i + [['','',375,6,-1,3,0,0.98,'British (Desert)',[]]]; + +_c = _c + ['BAF_Soldier_MG_DDPM']; +_i = _i + [['','',210,5,-1,0,0,0.85,'British (Desert)',[]]]; + +_c = _c + ['BAF_Soldier_scout_DDPM']; +_i = _i + [['','',340,6,-1,2,0,0.9,'British (Desert)',[]]]; + +_c = _c + ['BAF_Soldier_Marksman_DDPM']; +_i = _i + [['','',370,6,-1,3,0,0.91,'British (Desert)',[]]]; + +_c = _c + ['BAF_Soldier_Medic_DDPM']; +_i = _i + [['','',200,6,-1,0,0,0.86,'British (Desert)',[]]]; + +_c = _c + ['BAF_Soldier_Officer_DDPM']; +_i = _i + [['','',265,6,-1,2,0,0.86,'British (Desert)',[]]]; + +_c = _c + ['BAF_Pilot_DDPM']; +_i = _i + [['','',125,6,-1,0,0,0.84,'British (Desert)',[]]]; + +_c = _c + ['BAF_Soldier_DDPM']; +_i = _i + [['','',155,6,-1,0,0,0.85,'British (Desert)',[]]]; + +_c = _c + ['BAF_ASoldier_DDPM']; +_i = _i + [['','',160,6,-1,0,0,0.85,'British (Desert)',[]]]; + +_c = _c + ['BAF_Soldier_L_DDPM']; +_i = _i + [['','',130,6,-1,0,0,0.85,'British (Desert)',[]]]; + +_c = _c + ['BAF_Soldier_N_DDPM']; +_i = _i + [['','',175,6,-1,1,0,0.86,'British (Desert)',[]]]; + +_c = _c + ['BAF_Soldier_SL_DDPM']; +_i = _i + [['','',235,6,-1,2,0,0.92,'British (Desert)',[]]]; + +_c = _c + ['BAF_Soldier_TL_DDPM']; +_i = _i + [['','',245,6,-1,1,0,0.91,'British (Desert)',[]]]; + +/* Light Vehicles */ +_c = _c + ['BAF_ATV_D']; +_i = _i + [['','',175,12,-2,0,1,0,'British (Desert)',[]]]; + +_c = _c + ['BAF_Offroad_D']; +_i = _i + [['','',375,13,-2,0,1,0,'British (Desert)',[]]]; + +_c = _c + ['BAF_Jackal2_GMG_D']; +_i = _i + [['','',965,20,-2,1,1,0,'British (Desert)',[]]]; + +_c = _c + ['BAF_Jackal2_L2A1_D']; +_i = _i + [['','',725,21,-2,0,1,0,'British (Desert)',[]]]; + +/* Heavy Vehicles */ +_c = _c + ['BAF_FV510_D']; +_i = _i + [['','',4950,30,-2,2,2,0,'British (Desert)',[]]]; + +for '_z' from 0 to (count _c)-1 do { + if (isClass (configFile >> 'CfgVehicles' >> (_c select _z))) then { + _get = (_c select _z) Call GetNamespace; + if (isNil '_get') then { + if ((_i select _z) select 0 == '') then {(_i select _z) set [0, [_c select _z,'displayName'] Call GetConfigInfo]}; + if (typeName ((_i select _z) select 4) == 'SCALAR') then { + if (((_i select _z) select 4) == -2) then { + _ret = (_c select _z) Call Compile preprocessFile "Common\Functions\Common_GetConfigVehicleCrewSlot.sqf"; + (_i select _z) set [4, _ret select 0]; + (_i select _z) set [9, _ret select 1]; + }; + }; + if (WF_Debug) then {(_i select _z) set [3,1]}; + _p = if ((_c select _z) isKindOf 'Man') then {'portrait'} else {'picture'}; + (_i select _z) set [1, [_c select _z,_p] Call GetConfigInfo]; + [_c select _z,_i select _z] Call SetNamespace; + } else { + diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_BAFD: Duplicated Element found '%1'",(_c select _z),diag_frameno,diag_tickTime]; + }; + } else { + diag_log Format ["[WFBE (ERROR)][frameno:%2 | ticktime:%3] Core_BAFD: Element '%1' is not a valid class.",(_c select _z),diag_frameno,diag_tickTime]; + }; +}; + +diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_BAFD: Initialization (%1 Elements) - [Done]",count _c,diag_frameno,diag_tickTime]; \ No newline at end of file diff --git a/Common/Config/Core/Core_BAFW.sqf b/Common/Config/Core/Core_BAFW.sqf new file mode 100644 index 0000000..138e73d --- /dev/null +++ b/Common/Config/Core/Core_BAFW.sqf @@ -0,0 +1,152 @@ +/* BAF (Woodland) Configuration */ +private ["_c","_get","_i","_p"]; + +_c = []; +_i = []; + +/* Infantry */ +_c = _c + ['BAF_Soldier_AA_W']; +_i = _i + [['','',410,6,-1,2,0,0.88,'British (Woodland)',[]]]; + +_c = _c + ['BAF_Soldier_AAA_W']; +_i = _i + [['','',190,6,-1,2,0,0.87,'British (Woodland)',[]]]; + +_c = _c + ['BAF_Soldier_AAT_W']; +_i = _i + [['','',190,4,-1,2,0,0.84,'British (Woodland)',[]]]; + +_c = _c + ['BAF_Soldier_AHAT_W']; +_i = _i + [['','',190,6,-1,3,0,0.85,'British (Woodland)',[]]]; + +_c = _c + ['BAF_Soldier_AAR_W']; +_i = _i + [['','',190,5,-1,2,0,0.86,'British (Woodland)',[]]]; + +_c = _c + ['BAF_Soldier_AMG_W']; +_i = _i + [['','',190,6,-1,1,0,0.87,'British (Woodland)',[]]]; + +_c = _c + ['BAF_Soldier_AT_W']; +_i = _i + [['','',360,6,-1,2,0,0.87,'British (Woodland)',[]]]; + +_c = _c + ['BAF_Soldier_HAT_W']; +_i = _i + [['','',810,6,-1,3,0,0.9,'British (Woodland)',[]]]; + +_c = _c + ['BAF_Soldier_AR_W']; +_i = _i + [['','',210,5,-1,2,0,0.85,'British (Woodland)',[]]]; + +_c = _c + ['BAF_crewman_W']; +_i = _i + [['','',125,5,-1,0,0,0.83,'British (Woodland)',[]]]; + +_c = _c + ['BAF_Soldier_EN_W']; +_i = _i + [['','',230,5,-1,0,0,0.84,'British (Woodland)',[]]]; + +_c = _c + ['BAF_Soldier_GL_W']; +_i = _i + [['','',170,5,-1,0,0,0.84,'British (Woodland)',[]]]; + +_c = _c + ['BAF_Soldier_FAC_W']; +_i = _i + [['','',375,6,-1,3,0,0.98,'British (Woodland)',[]]]; + +_c = _c + ['BAF_Soldier_MG_W']; +_i = _i + [['','',210,5,-1,0,0,0.85,'British (Woodland)',[]]]; + +_c = _c + ['BAF_Soldier_scout_W']; +_i = _i + [['','',340,6,-1,2,0,0.9,'British (Woodland)',[]]]; + +_c = _c + ['BAF_Soldier_Marksman_W']; +_i = _i + [['','',370,6,-1,3,0,0.91,'British (Woodland)',[]]]; + +_c = _c + ['BAF_Soldier_Medic_W']; +_i = _i + [['','',200,6,-1,0,0,0.86,'British (Woodland)',[]]]; + +_c = _c + ['BAF_Soldier_Officer_W']; +_i = _i + [['','',265,6,-1,2,0,0.86,'British (Woodland)',[]]]; + +_c = _c + ['BAF_Pilot_W']; +_i = _i + [['','',125,6,-1,0,0,0.84,'British (Woodland)',[]]]; + +_c = _c + ['BAF_Soldier_W']; +_i = _i + [['','',155,6,-1,0,0,0.85,'British (Woodland)',[]]]; + +_c = _c + ['BAF_ASoldier_W']; +_i = _i + [['','',160,6,-1,0,0,0.85,'British (Woodland)',[]]]; + +_c = _c + ['BAF_Soldier_L_W']; +_i = _i + [['','',130,6,-1,0,0,0.85,'British (Woodland)',[]]]; + +_c = _c + ['BAF_Soldier_N_W']; +_i = _i + [['','',175,6,-1,1,0,0.86,'British (Woodland)',[]]]; + +_c = _c + ['BAF_Soldier_SL_W']; +_i = _i + [['','',235,6,-1,2,0,0.92,'British (Woodland)',[]]]; + +_c = _c + ['BAF_Soldier_SniperN_W']; +_i = _i + [['','',390,6,-1,3,0,0.9,'British (Woodland)',[]]]; + +_c = _c + ['BAF_Soldier_SniperH_W']; +_i = _i + [['','',420,6,-1,2,0,0.9,'British (Woodland)',[]]]; + +_c = _c + ['BAF_Soldier_Sniper_W']; +_i = _i + [['','',395,6,-1,2,0,0.9,'British (Woodland)',[]]]; + +_c = _c + ['BAF_Soldier_spotter_W']; +_i = _i + [['','',340,6,-1,2,0,0.88,'British (Woodland)',[]]]; + +_c = _c + ['BAF_Soldier_spotterN_W']; +_i = _i + [['','',350,6,-1,2,0,0.88,'British (Woodland)',[]]]; + +_c = _c + ['BAF_Soldier_TL_W']; +_i = _i + [['','',245,6,-1,1,0,0.91,'British (Woodland)',[]]]; + +/* Light Vehicles */ +_c = _c + ['BAF_ATV_W']; +_i = _i + [['','',175,12,-2,0,1,0,'British (Woodland)',[]]]; + +_c = _c + ['BAF_Offroad_W']; +_i = _i + [['','',375,13,-2,0,1,0,'British (Woodland)',[]]]; + +_c = _c + ['BAF_Jackal2_GMG_W']; +_i = _i + [['','',965,20,-2,1,1,0,'British (Woodland)',[]]]; + +_c = _c + ['BAF_Jackal2_L2A1_W']; +_i = _i + [['','',725,21,-2,0,1,0,'British (Woodland)',[]]]; + +/* Heavy Vehicles */ +_c = _c + ['BAF_FV510_W']; +_i = _i + [['','',4950,30,-2,2,2,0,'British (Woodland)',[]]]; + +/* Static Defenses */ +_c = _c + ['BAF_GPMG_Minitripod_W']; +_i = _i + [['','',225,0,1,0,'Defense',0,'British (Woodland)',[]]]; + +_c = _c + ['BAF_GMG_Tripod_W']; +_i = _i + [['','',250,0,1,0,'Defense',0,'British (Woodland)',[]]]; + +_c = _c + ['BAF_L2A1_Minitripod_W']; +_i = _i + [['','',300,0,1,0,'Defense',0,'British (Woodland)',[]]]; + +_c = _c + ['BAF_L2A1_Tripod_W']; +_i = _i + [['','',325,0,1,0,'Defense',0,'British (Woodland)',[]]]; + +for '_z' from 0 to (count _c)-1 do { + if (isClass (configFile >> 'CfgVehicles' >> (_c select _z))) then { + _get = (_c select _z) Call GetNamespace; + if (isNil '_get') then { + if ((_i select _z) select 0 == '') then {(_i select _z) set [0, [_c select _z,'displayName'] Call GetConfigInfo]}; + if (typeName ((_i select _z) select 4) == 'SCALAR') then { + if (((_i select _z) select 4) == -2) then { + _ret = (_c select _z) Call Compile preprocessFile "Common\Functions\Common_GetConfigVehicleCrewSlot.sqf"; + (_i select _z) set [4, _ret select 0]; + (_i select _z) set [9, _ret select 1]; + }; + }; + if (WF_Debug) then {(_i select _z) set [3,1]}; + _p = if ((_c select _z) isKindOf 'Man') then {'portrait'} else {'picture'}; + (_i select _z) set [1, [_c select _z,_p] Call GetConfigInfo]; + [_c select _z,_i select _z] Call SetNamespace; + } else { + diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_BAFW: Duplicated Element found '%1'",(_c select _z),diag_frameno,diag_tickTime]; + }; + } else { + diag_log Format ["[WFBE (ERROR)][frameno:%2 | ticktime:%3] Core_BAFW: Element '%1' is not a valid class.",(_c select _z),diag_frameno,diag_tickTime]; + }; +}; + +diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_BAFW: Initialization (%1 Elements) - [Done]",count _c,diag_frameno,diag_tickTime]; \ No newline at end of file diff --git a/Common/Config/Core/Core_CDF.sqf b/Common/Config/Core/Core_CDF.sqf new file mode 100644 index 0000000..b0e8cae --- /dev/null +++ b/Common/Config/Core/Core_CDF.sqf @@ -0,0 +1,180 @@ +/* CDF Configuration */ +private ["_c","_get","_i","_p"]; + +_c = []; +_i = []; + +/* Infantry */ +_c = _c + ['CDF_Soldier']; +_i = _i + [['','',150,4,-1,0,0,0.65,'CDF',[]]]; + +_c = _c + ['CDF_Soldier_Engineer']; +_i = _i + [['','',225,5,-1,0,0,0.66,'CDF',[]]]; + +_c = _c + ['CDF_Soldier_Light']; +_i = _i + [['','',175,4,-1,0,0,0.65,'CDF',[]]]; + +_c = _c + ['CDF_Soldier_GL']; +_i = _i + [['','',180,4,-1,0,0,0.65,'CDF',[]]]; + +_c = _c + ['CDF_Soldier_Militia']; +_i = _i + [['','',160,3,-1,0,0,0.62,'CDF',[]]]; + +_c = _c + ['CDF_Soldier_Medic']; +_i = _i + [['','',210,4,-1,0,0,0.69,'CDF',[]]]; + +_c = _c + ['CDF_Soldier_Sniper']; +_i = _i + [['','',230,5,-1,1,0,0.72,'CDF',[]]]; + +_c = _c + ['CDF_Soldier_Spotter']; +_i = _i + [['','',240,6,-1,1,0,0.71,'CDF',[]]]; + +_c = _c + ['CDF_Soldier_Marksman']; +_i = _i + [['','',235,7,-1,3,0,0.69,'CDF',[]]]; + +_c = _c + ['CDF_Soldier_RPG']; +_i = _i + [['','',250,6,-1,1,0,0.64,'CDF',[]]]; + +_c = _c + ['CDF_Soldier_Strela']; +_i = _i + [['','',400,6,-1,2,0,0.68,'CDF',[]]]; + +_c = _c + ['CDF_Soldier_AR']; +_i = _i + [['','',165,6,-1,1,0,0.64,'CDF',[]]]; + +_c = _c + ['CDF_Soldier_MG']; +_i = _i + [['','',180,5,-1,0,0,0.65,'CDF',[]]]; + +_c = _c + ['CDF_Soldier_TL']; +_i = _i + [['','',210,6,-1,2,0,0.73,'CDF',[]]]; + +_c = _c + ['CDF_Soldier_Officer']; +_i = _i + [['','',230,7,-1,1,0,0.74,'CDF',[]]]; + +_c = _c + ['CDF_Commander']; +_i = _i + [['','',280,7,-1,3,0,0.75,'CDF',[]]]; + +_c = _c + ['CDF_Soldier_Pilot']; +_i = _i + [['','',130,5,-1,0,0,0.62,'CDF',[]]]; + +_c = _c + ['CDF_Soldier_Crew']; +_i = _i + [['','',130,5,-1,0,0,0.63,'CDF',[]]]; + +/* Light Vehicles */ +_c = _c + ['UAZ_CDF']; +_i = _i + [['','',150,15,-2,0,1,0,'CDF',[]]]; + +_c = _c + ['UAZ_MG_CDF']; +_i = _i + [['','',310,17,-2,0,1,0,'CDF',[]]]; + +_c = _c + ['UAZ_AGS30_CDF']; +_i = _i + [['','',475,25,-2,1,1,0,'CDF',[]]]; + +_c = _c + ['Ural_CDF']; +_i = _i + [['','',300,20,-2,0,1,0,'CDF',[]]]; + +_c = _c + ['WarfareSalvageTruck_CDF']; +_i = _i + [['','',450,18,-2,0,1,0,'CDF',[]]]; + +_c = _c + ['UralRepair_CDF']; +_i = _i + [['','',525,21,-2,2,1,0,'CDF',[]]]; + +_c = _c + ['UralReammo_CDF']; +_i = _i + [['','',550,21,-2,1,1,0,'CDF',[]]]; + +_c = _c + ['UralRefuel_CDF']; +_i = _i + [['','',500,21,-2,1,1,0,'CDF',[]]]; + +_c = _c + ['WarfareSupplyTruck_CDF']; +_i = _i + [['','',550,21,-2,0,1,0,'CDF',[]]]; + +_c = _c + ['BRDM2_CDF']; +_i = _i + [['','',1100,25,-2,1,1,0,'CDF',[]]]; + +_c = _c + ['BRDM2_ATGM_CDF']; +_i = _i + [['','',1650,25,-2,2,1,0,'CDF',[]]]; + +_c = _c + ['Ural_ZU23_CDF']; +_i = _i + [['','',1750,20,-2,2,1,0,'CDF',[]]]; + +_c = _c + ['GRAD_CDF']; +_i = _i + [['','',4200,35,-2,3,1,0,'CDF',[]]]; + +/* Heavy Vehicles */ +_c = _c + ['BMP2_Ambul_CDF']; +_i = _i + [['','',950,20,-2,0,2,0,'CDF',[]]]; + +_c = _c + ['BMP2_CDF']; +_i = _i + [['','',2600,30,-2,1,2,0,'CDF',[]]]; + +_c = _c + ['ZSU_CDF']; +_i = _i + [['','',3400,35,-2,2,2,0,'CDF',[]]]; + +_c = _c + ['T72_CDF']; +_i = _i + [['','',4900,35,-2,3,2,0,'CDF',[]]]; + +/* Air Vehicles */ +_c = _c + ['Mi17_CDF']; +_i = _i + [['','',15000,35,-2,0,3,0,'CDF',[]]]; + +_c = _c + ['Mi17_medevac_CDF']; +_i = _i + [['','',18000,35,-2,1,3,0,'CDF',[]]]; + +_c = _c + ['Mi24_D']; +_i = _i + [['','',65000,40,-2,2,3,0,'CDF',[]]]; + +_c = _c + ['Su25_CDF']; +_i = _i + [['','',92000,55,-2,3,3,0,'CDF',[]]]; + +/* Static Defenses */ +_c = _c + ['CDF_WarfareBMGNest_PK']; +_i = _i + [['','',300,0,1,0,'Defense',0,'CDF',[]]]; + +_c = _c + ['DSHkM_Mini_TriPod_CDF']; +_i = _i + [['','',200,0,1,0,'Defense',0,'CDF',[]]]; + +_c = _c + ['DSHKM_CDF']; +_i = _i + [['','',225,0,1,0,'Defense',0,'CDF',[]]]; + +_c = _c + ['SearchLight_CDF']; +_i = _i + [['','',125,0,1,0,'Defense',0,'CDF',[]]]; + +_c = _c + ['AGS_CDF']; +_i = _i + [['','',700,0,1,0,'Defense',0,'CDF',[]]]; + +_c = _c + ['SPG9_CDF']; +_i = _i + [['','',475,0,1,0,'Defense',0,'CDF',[]]]; + +_c = _c + ['ZU23_CDF']; +_i = _i + [['','',945,0,1,0,'Defense',0,'CDF',[]]]; + +_c = _c + ['2b14_82mm_CDF']; +_i = _i + [['Podnos 2B14','',1150,0,1,0,'Defense',0,'CDF',[]]]; + +_c = _c + ['D30_CDF']; +_i = _i + [['','',2250,0,1,0,'Defense',0,'CDF',[]]]; + +for '_z' from 0 to (count _c)-1 do { + if (isClass (configFile >> 'CfgVehicles' >> (_c select _z))) then { + _get = (_c select _z) Call GetNamespace; + if (isNil '_get') then { + if ((_i select _z) select 0 == '') then {(_i select _z) set [0, [_c select _z,'displayName'] Call GetConfigInfo]}; + if (typeName ((_i select _z) select 4) == 'SCALAR') then { + if (((_i select _z) select 4) == -2) then { + _ret = (_c select _z) Call Compile preprocessFile "Common\Functions\Common_GetConfigVehicleCrewSlot.sqf"; + (_i select _z) set [4, _ret select 0]; + (_i select _z) set [9, _ret select 1]; + }; + }; + if (WF_Debug) then {(_i select _z) set [3,1]}; + _p = if ((_c select _z) isKindOf 'Man') then {'portrait'} else {'picture'}; + (_i select _z) set [1, [_c select _z,_p] Call GetConfigInfo]; + [_c select _z,_i select _z] Call SetNamespace; + } else { + diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_CDF: Duplicated Element found '%1'",(_c select _z),diag_frameno,diag_tickTime]; + }; + } else { + diag_log Format ["[WFBE (ERROR)][frameno:%2 | ticktime:%3] Core_CDF: Element '%1' is not a valid class.",(_c select _z),diag_frameno,diag_tickTime]; + }; +}; + +diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_CDF: Initialization (%1 Elements) - [Done]",count _c,diag_frameno,diag_tickTime]; \ No newline at end of file diff --git a/Common/Config/Core/Core_CIV.sqf b/Common/Config/Core/Core_CIV.sqf new file mode 100644 index 0000000..3eaf2c6 --- /dev/null +++ b/Common/Config/Core/Core_CIV.sqf @@ -0,0 +1,175 @@ +/* CIV Configuration */ +private ["_c","_get","_i","_p"]; + +_c = []; +_i = []; + +/* Infantry */ +_c = _c + ['Worker1']; +_i = _i + [['','',375,4,-1,0,0,0.4,'Civilians',[]]]; + +_c = _c + ['Worker2']; +_i = _i + [['','',375,4,-1,0,0,0.4,'Civilians',[]]]; + +_c = _c + ['Worker3']; +_i = _i + [['','',375,4,-1,0,0,0.4,'Civilians',[]]]; + +_c = _c + ['Worker4']; +_i = _i + [['','',375,4,-1,0,0,0.4,'Civilians',[]]]; + +/* Light Vehicles */ +_c = _c + ['MMT_Civ']; +_i = _i + [['','',50,8,-2,0,1,0,'Civilians',[]]]; + +_c = _c + ['TT650_Civ']; +_i = _i + [['','',100,12,-2,0,1,0,'Civilians',[]]]; + +_c = _c + ['Tractor']; +_i = _i + [['','',150,15,-2,0,1,0,'Civilians',[]]]; + +_c = _c + ['Lada1']; +_i = _i + [['','',175,18,-2,0,1,0,'Civilians',[]]]; + +_c = _c + ['Lada2']; +_i = _i + [['','',175,18,-2,0,1,0,'Civilians',[]]]; + +_c = _c + ['LadaLM']; +_i = _i + [['','',180,20,-2,0,1,0,'Civilians',[]]]; + +_c = _c + ['SkodaBlue']; +_i = _i + [['','',190,17,-2,0,1,0,'Civilians',[]]]; + +_c = _c + ['SkodaRed']; +_i = _i + [['','',190,17,-2,0,1,0,'Civilians',[]]]; + +_c = _c + ['car_sedan']; +_i = _i + [['','',200,20,-2,0,1,0,'Civilians',[]]]; + +_c = _c + ['car_hatchback']; +_i = _i + [['','',220,20,-2,0,1,0,'Civilians',[]]]; + +_c = _c + ['datsun1_civil_1_open']; +_i = _i + [['','',250,22,-2,0,1,0,'Civilians',[]]]; + +_c = _c + ['datsun1_civil_2_covered']; +_i = _i + [['','',250,22,-2,0,1,0,'Civilians',[]]]; + +_c = _c + ['datsun1_civil_3_open']; +_i = _i + [['','',250,22,-2,0,1,0,'Civilians',[]]]; + +_c = _c + ['VWGolf']; +_i = _i + [['','',270,23,-2,0,1,0,'Civilians',[]]]; + +_c = _c + ['hilux1_civil_1_open']; +_i = _i + [['','',340,25,-2,0,1,0,'Civilians',[]]]; + +_c = _c + ['hilux1_civil_2_covered']; +_i = _i + [['','',340,25,-2,0,1,0,'Civilians',[]]]; + +_c = _c + ['V3S_Civ']; +_i = _i + [['','',380,22,-2,0,1,0,'Civilians',[]]]; + +_c = _c + ['UralCivil']; +_i = _i + [['','',390,25,-2,0,1,0,'Civilians',[]]]; + +_c = _c + ['Ikarus']; +_i = _i + [['','',420,25,-2,0,1,0,'Civilians',[]]]; + +if (paramDLCPMC) then +{ + _c = _c + ['ArmoredSUV_PMC']; + _i = _i + [['','',1150,20,2,1,1,0,'Civilians']]; +}; + +/* Defense Structures */ +_c = _c + ['Land_HBarrier3']; +_i = _i + [['','',20,0,0,0,'Fortification',0,'Civilians',[]]]; + +_c = _c + ['Land_HBarrier5']; +_i = _i + [['','',30,0,0,0,'Fortification',0,'Civilians',[]]]; + +_c = _c + ['Land_HBarrier_large']; +_i = _i + [['','',50,0,0,0,'Fortification',0,'Civilians',[]]]; + +_c = _c + ['Land_fort_bagfence_long']; +_i = _i + [['','',10,0,0,0,'Fortification',0,'Civilians',[]]]; + +_c = _c + ['Land_fort_bagfence_corner']; +_i = _i + [['','',8,0,0,0,'Fortification',0,'Civilians',[]]]; + +_c = _c + ['Land_fort_bagfence_round']; +_i = _i + [['','',12,0,0,0,'Fortification',0,'Civilians',[]]]; + +_c = _c + ['Hhedgehog_concreteBig']; +_i = _i + [['','',95,0,0,0,'Fortification',0,'Civilians',[]]]; + +_c = _c + ['Hedgehog']; +_i = _i + [['','',5,0,0,0,'Fortification',0,'Civilians',[]]]; + +_c = _c + ['HeliH']; +_i = _i + [['','',15,0,0,0,'Strategic',0,'Civilians',[]]]; + +_c = _c + ['MASH']; +_i = _i + [['','',30,0,0,0,'Strategic',0,'Civilians',[]]]; + +_c = _c + ['Land_Campfire']; +_i = _i + [['','',3,0,0,0,'Strategic',0,'Civilians',[]]]; + +_c = _c + ['Base_WarfareBBarrier5x']; +_i = _i + [['','',15,0,0,0,'Fortification',0,'Civilians',[]]]; + +_c = _c + ['Base_WarfareBBarrier10x']; +_i = _i + [['','',25,0,0,0,'Fortification',0,'Civilians',[]]]; + +_c = _c + ['Base_WarfareBBarrier10xTall']; +_i = _i + [['','',50,0,0,0,'Fortification',0,'Civilians',[]]]; + +_c = _c + ['Land_fortified_nest_small']; +_i = _i + [['','',40,0,0,0,'Fortification',0,'Civilians',[]]]; + +_c = _c + ['Land_fortified_nest_big']; +_i = _i + [['','',100,0,0,0,'Fortification',0,'Civilians',[]]]; + +_c = _c + ['Land_Fort_Watchtower']; +_i = _i + [['','',125,0,0,0,'Fortification',0,'Civilians',[]]]; + +_c = _c + ['Land_fort_rampart']; +_i = _i + [['','',30,0,0,0,'Fortification',0,'Civilians',[]]]; + +_c = _c + ['Land_fort_artillery_nest']; +_i = _i + [['','',65,0,0,0,'Fortification',0,'Civilians',[]]]; + +_c = _c + ['Sign_Danger']; +_i = _i + [[localize 'STR_WF_Minefield','',1200,0,0,0,'Strategic',0,'Civilians',[]]]; + +_c = _c + ['Fort_RazorWire']; +_i = _i + [['','',25,0,0,0,'Fortification',0,'Civilians',[]]]; + +_c = _c + ['Land_Ind_IlluminantTower']; +_i = _i + [['','',200,0,0,0,'Fortification',0,'Civilians',[]]]; + +for '_z' from 0 to (count _c)-1 do { + if (isClass (configFile >> 'CfgVehicles' >> (_c select _z))) then { + _get = (_c select _z) Call GetNamespace; + if (isNil '_get') then { + if ((_i select _z) select 0 == '') then {(_i select _z) set [0, [_c select _z,'displayName'] Call GetConfigInfo]}; + if (typeName ((_i select _z) select 4) == 'SCALAR') then { + if (((_i select _z) select 4) == -2) then { + _ret = (_c select _z) Call Compile preprocessFile "Common\Functions\Common_GetConfigVehicleCrewSlot.sqf"; + (_i select _z) set [4, _ret select 0]; + (_i select _z) set [9, _ret select 1]; + }; + }; + if (WF_Debug) then {(_i select _z) set [3,1]}; + _p = if ((_c select _z) isKindOf 'Man') then {'portrait'} else {'picture'}; + (_i select _z) set [1, [_c select _z,_p] Call GetConfigInfo]; + [_c select _z,_i select _z] Call SetNamespace; + } else { + diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_CIV: Duplicated Element found '%1'",(_c select _z),diag_frameno,diag_tickTime]; + }; + } else { + diag_log Format ["[WFBE (ERROR)][frameno:%2 | ticktime:%3] Core_CIV: Element '%1' is not a valid class.",(_c select _z),diag_frameno,diag_tickTime]; + }; +}; + +diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_CIV: Initialization (%1 Elements) - [Done]",count _c,diag_frameno,diag_tickTime]; \ No newline at end of file diff --git a/Common/Config/Core/Core_DeltaForce.sqf b/Common/Config/Core/Core_DeltaForce.sqf new file mode 100644 index 0000000..c7a440c --- /dev/null +++ b/Common/Config/Core/Core_DeltaForce.sqf @@ -0,0 +1,65 @@ +/* Spetsnaz Configuration */ +private ["_c","_get","_i","_p"]; + +_c = []; +_i = []; + +/* Infantry */ +_c = _c + ['US_Delta_Force_EP1']; +_i = _i + [['','',300,6,-1,3,0,0.99,'US Delta Force',[]]]; + +_c = _c + ['US_Delta_Force_TL_EP1']; +_i = _i + [['','',360,6,-1,3,0,1.00,'US Delta Force',[]]]; + +_c = _c + ['US_Delta_Force_Medic_EP1']; +_i = _i + [['','',320,6,-1,3,0,0.98,'US Delta Force',[]]]; + +_c = _c + ['US_Delta_Force_Assault_EP1']; +_i = _i + [['','',335,6,-1,3,0,0.99,'US Delta Force',[]]]; + +_c = _c + ['US_Delta_Force_SD_EP1']; +_i = _i + [['','',345,6,-1,3,0,0.99,'US Delta Force',[]]]; + +_c = _c + ['US_Delta_Force_MG_EP1']; +_i = _i + [['','',340,6,-1,3,0,0.99,'US Delta Force',[]]]; + +_c = _c + ['US_Delta_Force_AR_EP1']; +_i = _i + [['','',330,6,-1,3,0,0.99,'US Delta Force',[]]]; + +_c = _c + ['US_Delta_Force_Night_EP1']; +_i = _i + [['','',315,6,-1,3,0,0.99,'US Delta Force',[]]]; + +_c = _c + ['US_Delta_Force_Marksman_EP1']; +_i = _i + [['','',320,6,-1,3,0,0.99,'US Delta Force',[]]]; + +_c = _c + ['US_Delta_Force_M14_EP1']; +_i = _i + [['','',310,6,-1,3,0,0.99,'US Delta Force',[]]]; + +_c = _c + ['US_Delta_Force_Air_Controller_EP1']; +_i = _i + [['','',350,6,-1,3,0,1.0,'US Delta Force',[]]]; + +for '_z' from 0 to (count _c)-1 do { + if (isClass (configFile >> 'CfgVehicles' >> (_c select _z))) then { + _get = (_c select _z) Call GetNamespace; + if (isNil '_get') then { + if ((_i select _z) select 0 == '') then {(_i select _z) set [0, [_c select _z,'displayName'] Call GetConfigInfo]}; + if (typeName ((_i select _z) select 4) == 'SCALAR') then { + if (((_i select _z) select 4) == -2) then { + _ret = (_c select _z) Call Compile preprocessFile "Common\Functions\Common_GetConfigVehicleCrewSlot.sqf"; + (_i select _z) set [4, _ret select 0]; + (_i select _z) set [9, _ret select 1]; + }; + }; + if (WF_Debug) then {(_i select _z) set [3,1]}; + _p = if ((_c select _z) isKindOf 'Man') then {'portrait'} else {'picture'}; + (_i select _z) set [1, [_c select _z,_p] Call GetConfigInfo]; + [_c select _z,_i select _z] Call SetNamespace; + } else { + diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_DeltaForce: Duplicated Element found '%1'",(_c select _z),diag_frameno,diag_tickTime]; + }; + } else { + diag_log Format ["[WFBE (ERROR)][frameno:%2 | ticktime:%3] Core_DeltaForce: Element '%1' is not a valid class.",(_c select _z),diag_frameno,diag_tickTime]; + }; +}; + +diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_DeltaForce: Initialization (%1 Elements) - [Done]",count _c,diag_frameno,diag_tickTime]; \ No newline at end of file diff --git a/Common/Config/Core/Core_FR.sqf b/Common/Config/Core/Core_FR.sqf new file mode 100644 index 0000000..c5ca87e --- /dev/null +++ b/Common/Config/Core/Core_FR.sqf @@ -0,0 +1,81 @@ +/* FR Configuration */ +private ["_c","_get","_i","_p"]; + +_c = []; +_i = []; + +/* Infantry */ +_c = _c + ['FR_GL']; +_i = _i + [['','',260,6,-1,2,0,0.98,'USMC Force Recon',[]]]; + +_c = _c + ['FR_Corpsman']; +_i = _i + [['','',270,6,-1,2,0,0.98,'USMC Force Recon',[]]]; + +_c = _c + ['FR_Commander']; +_i = _i + [['','',295,6,-1,2,0,1.00,'USMC Force Recon',[]]]; + +_c = _c + ['FR_TL']; +_i = _i + [['','',285,6,-1,2,0,1.00,'USMC Force Recon',[]]]; + +_c = _c + ['FR_Assault_R']; +_i = _i + [['','',280,6,-1,2,0,0.99,'USMC Force Recon',[]]]; + +_c = _c + ['FR_Assault_GL']; +_i = _i + [['','',285,6,-1,2,0,0.99,'USMC Force Recon',[]]]; + +_c = _c + ['FR_AR']; +_i = _i + [['','',290,6,-1,2,0,0.98,'USMC Force Recon',[]]]; + +_c = _c + ['FR_R']; +_i = _i + [['','',300,6,-1,2,0,0.98,'USMC Force Recon',[]]]; + +_c = _c + ['FR_Sapper']; +_i = _i + [['','',310,6,-1,2,0,0.98,'USMC Force Recon',[]]]; + +_c = _c + ['FR_AC']; +_i = _i + [['','',320,6,-1,2,0,1.0,'USMC Force Recon',[]]]; + +_c = _c + ['FR_Marksman']; +_i = _i + [['','',340,6,-1,2,0,0.99,'USMC Force Recon',[]]]; + +/* Infantry - Special Characters */ +_c = _c + ['FR_Cooper']; +_i = _i + [['','',400,6,-1,3,0,1.0,'USMC Force Recon',[]]]; + +_c = _c + ['FR_Miles']; +_i = _i + [['','',400,6,-1,3,0,1.0,'USMC Force Recon',[]]]; + +_c = _c + ['FR_OHara']; +_i = _i + [['','',400,6,-1,3,0,1.0,'USMC Force Recon',[]]]; + +_c = _c + ['FR_Rodriguez']; +_i = _i + [['','',400,6,-1,3,0,1.0,'USMC Force Recon',[]]]; + +_c = _c + ['FR_Sykes']; +_i = _i + [['','',400,6,-1,3,0,1.0,'USMC Force Recon',[]]]; + +for '_z' from 0 to (count _c)-1 do { + if (isClass (configFile >> 'CfgVehicles' >> (_c select _z))) then { + _get = (_c select _z) Call GetNamespace; + if (isNil '_get') then { + if ((_i select _z) select 0 == '') then {(_i select _z) set [0, [_c select _z,'displayName'] Call GetConfigInfo]}; + if (typeName ((_i select _z) select 4) == 'SCALAR') then { + if (((_i select _z) select 4) == -2) then { + _ret = (_c select _z) Call Compile preprocessFile "Common\Functions\Common_GetConfigVehicleCrewSlot.sqf"; + (_i select _z) set [4, _ret select 0]; + (_i select _z) set [9, _ret select 1]; + }; + }; + if (WF_Debug) then {(_i select _z) set [3,1]}; + _p = if ((_c select _z) isKindOf 'Man') then {'portrait'} else {'picture'}; + (_i select _z) set [1, [_c select _z,_p] Call GetConfigInfo]; + [_c select _z,_i select _z] Call SetNamespace; + } else { + diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_FR: Duplicated Element found '%1'",(_c select _z),diag_frameno,diag_tickTime]; + }; + } else { + diag_log Format ["[WFBE (ERROR)][frameno:%2 | ticktime:%3] Core_FR: Element '%1' is not a valid class.",(_c select _z),diag_frameno,diag_tickTime]; + }; +}; + +diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_FR: Initialization (%1 Elements) - [Done]",count _c,diag_frameno,diag_tickTime]; \ No newline at end of file diff --git a/Common/Config/Core/Core_GUE.sqf b/Common/Config/Core/Core_GUE.sqf new file mode 100644 index 0000000..38bcba3 --- /dev/null +++ b/Common/Config/Core/Core_GUE.sqf @@ -0,0 +1,137 @@ +/* GUE Configuration */ +private ["_c","_get","_i","_p"]; + +_c = []; +_i = []; + +/* Infantry */ +_c = _c + ['GUE_Soldier_1']; +_i = _i + [['','',150,4,-1,0,0,0.55,'Guerilla',[]]]; + +_c = _c + ['GUE_Soldier_2']; +_i = _i + [['','',120,4,-1,0,0,0.55,'Guerilla',[]]]; + +_c = _c + ['GUE_Soldier_3']; +_i = _i + [['','',140,4,-1,0,0,0.55,'Guerilla',[]]]; + +_c = _c + ['GUE_Soldier_GL']; +_i = _i + [['','',150,5,-1,1,0,0.55,'Guerilla',[]]]; + +_c = _c + ['GUE_Soldier_AT']; +_i = _i + [['','',220,5,-1,1,0,0.58,'Guerilla',[]]]; + +_c = _c + ['GUE_Soldier_AA']; +_i = _i + [['','',250,4,-1,0,0,0.59,'Guerilla',[]]]; + +_c = _c + ['GUE_Soldier_AR']; +_i = _i + [['','',150,4,-1,1,0,0.54,'Guerilla',[]]]; + +_c = _c + ['GUE_Soldier_MG']; +_i = _i + [['','',190,4,-1,0,0,0.53,'Guerilla',[]]]; + +_c = _c + ['GUE_Soldier_Sniper']; +_i = _i + [['','',175,6,-1,1,0,0.62,'Guerilla',[]]]; + +_c = _c + ['GUE_Soldier_Medic']; +_i = _i + [['','',160,6,-1,0,0,0.59,'Guerilla',[]]]; + +_c = _c + ['GUE_Soldier_Crew']; +_i = _i + [['','',120,5,-1,0,0,0.51,'Guerilla',[]]]; + +_c = _c + ['GUE_Soldier_Pilot']; +_i = _i + [['','',120,5,-1,0,0,0.52,'Guerilla',[]]]; + +_c = _c + ['GUE_Soldier_Scout']; +_i = _i + [['','',260,5,-1,3,0,0.63,'Guerilla',[]]]; + +_c = _c + ['GUE_Soldier_Sab']; +_i = _i + [['','',220,5,-1,2,0,0.64,'Guerilla',[]]]; + +_c = _c + ['GUE_Commander']; +_i = _i + [['','',240,5,-1,0,0,0.65,'Guerilla',[]]]; + +_c = _c + ['GUE_Worker2']; +_i = _i + [['','',100,5,-1,0,0,0.41,'Guerilla',[]]]; + +_c = _c + ['GUE_Woodlander3']; +_i = _i + [['','',100,5,-1,0,0,0.41,'Guerilla',[]]]; + +_c = _c + ['GUE_Villager3']; +_i = _i + [['','',100,5,-1,0,0,0.41,'Guerilla',[]]]; + +_c = _c + ['GUE_Woodlander2']; +_i = _i + [['','',100,5,-1,0,0,0.41,'Guerilla',[]]]; + +_c = _c + ['GUE_Woodlander1']; +_i = _i + [['','',100,5,-1,0,0,0.41,'Guerilla',[]]]; + +_c = _c + ['GUE_Villager4']; +_i = _i + [['','',100,5,-1,0,0,0.41,'Guerilla',[]]]; + +/* Light Vehicles */ +_c = _c + ['TT650_Gue']; +_i = _i + [['','',150,15,-2,0,1,0,'Guerilla',[]]]; + +_c = _c + ['V3S_Gue']; +_i = _i + [['','',175,15,-2,0,1,0,'Guerilla',[]]]; + +_c = _c + ['Pickup_PK_GUE']; +_i = _i + [['','',250,17,-2,0,1,0,'Guerilla',[]]]; + +_c = _c + ['Offroad_DSHKM_Gue']; +_i = _i + [['','',300,25,-2,1,1,0,'Guerilla',[]]]; + +_c = _c + ['Offroad_SPG9_Gue']; +_i = _i + [['','',380,20,-2,2,1,0,'Guerilla',[]]]; + +_c = _c + ['BRDM2_Gue']; +_i = _i + [['','',600,25,-2,2,1,0,'Guerilla',[]]]; + +_c = _c + ['Ural_ZU23_Gue']; +_i = _i + [['','',950,25,-2,3,1,0,'Guerilla',[]]]; + +/* Heavy Vehicles */ +_c = _c + ['BMP2_Gue']; +_i = _i + [['','',2200,30,-2,0,2,0,'Guerilla',[]]]; + +_c = _c + ['T72_Gue']; +_i = _i + [['','',3200,35,-2,2,2,0,'Guerilla',[]]]; + +/* Static Defenses */ +_c = _c + ['GUE_WarfareBMGNest_PK']; +_i = _i + [['','',300,0,1,0,'Defense',0,'Guerilla',[]]]; + +_c = _c + ['DSHKM_Gue']; +_i = _i + [['','',225,0,1,0,'Defense',0,'Guerilla',[]]]; + +_c = _c + ['SPG9_Gue']; +_i = _i + [['','',475,0,1,0,'Defense',0,'Guerilla',[]]]; + +_c = _c + ['ZU23_Gue']; +_i = _i + [['','',600,0,1,0,'Defense',0,'Guerilla',[]]]; + +for '_z' from 0 to (count _c)-1 do { + if (isClass (configFile >> 'CfgVehicles' >> (_c select _z))) then { + _get = (_c select _z) Call GetNamespace; + if (isNil '_get') then { + if ((_i select _z) select 0 == '') then {(_i select _z) set [0, [_c select _z,'displayName'] Call GetConfigInfo]}; + if (typeName ((_i select _z) select 4) == 'SCALAR') then { + if (((_i select _z) select 4) == -2) then { + _ret = (_c select _z) Call Compile preprocessFile "Common\Functions\Common_GetConfigVehicleCrewSlot.sqf"; + (_i select _z) set [4, _ret select 0]; + (_i select _z) set [9, _ret select 1]; + }; + }; + if (WF_Debug) then {(_i select _z) set [3,1]}; + _p = if ((_c select _z) isKindOf 'Man') then {'portrait'} else {'picture'}; + (_i select _z) set [1, [_c select _z,_p] Call GetConfigInfo]; + [_c select _z,_i select _z] Call SetNamespace; + } else { + diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_GUE: Duplicated Element found '%1'",(_c select _z),diag_frameno,diag_tickTime]; + }; + } else { + diag_log Format ["[WFBE (ERROR)][frameno:%2 | ticktime:%3] Core_GUE: Element '%1' is not a valid class.",(_c select _z),diag_frameno,diag_tickTime]; + }; +}; + +diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_GUE: Initialization (%1 Elements) - [Done]",count _c,diag_frameno,diag_tickTime]; \ No newline at end of file diff --git a/Common/Config/Core/Core_INS.sqf b/Common/Config/Core/Core_INS.sqf new file mode 100644 index 0000000..1f1d37d --- /dev/null +++ b/Common/Config/Core/Core_INS.sqf @@ -0,0 +1,201 @@ +/* INS Configuration */ +private ["_c","_get","_i","_p"]; + +_c = []; +_i = []; + +/* Infantry */ +_c = _c + ['Ins_Soldier_1']; +_i = _i + [['','',150,4,-1,0,0,0.61,'Insurgents',[]]]; + +_c = _c + ['Ins_Soldier_2']; +_i = _i + [['','',160,4,-1,0,0,0.61,'Insurgents',[]]]; + +_c = _c + ['Ins_Soldier_GL']; +_i = _i + [['','',175,4,-1,0,0,0.65,'Insurgents',[]]]; + +_c = _c + ['Ins_Soldier_CO']; +_i = _i + [['','',210,5,-1,1,0,0.7,'Insurgents',[]]]; + +_c = _c + ['Ins_Commander']; +_i = _i + [['','',250,5,-1,2,0,0.7,'Insurgents',[]]]; + +_c = _c + ['Ins_Soldier_Medic']; +_i = _i + [['','',175,4,-1,0,0,0.62,'Insurgents',[]]]; + +_c = _c + ['Ins_Soldier_AR']; +_i = _i + [['','',180,4,-1,1,0,0.61,'Insurgents',[]]]; + +_c = _c + ['Ins_Soldier_MG']; +_i = _i + [['','',190,4,-1,0,0,0.60,'Insurgents',[]]]; + +_c = _c + ['Ins_Soldier_AT']; +_i = _i + [['','',220,6,-1,1,0,0.60,'Insurgents',[]]]; + +_c = _c + ['Ins_Soldier_AA']; +_i = _i + [['','',300,6,-1,2,0,0.62,'Insurgents',[]]]; + +_c = _c + ['Ins_Soldier_Sniper']; +_i = _i + [['','',220,6,-1,1,0,0.66,'Insurgents',[]]]; + +_c = _c + ['Ins_Soldier_Sapper']; +_i = _i + [['','',190,5,-1,2,0,0.64,'Insurgents',[]]]; + +_c = _c + ['Ins_Soldier_Sab']; +_i = _i + [['','',180,5,-1,2,0,0.68,'Insurgents',[]]]; + +_c = _c + ['Ins_Soldier_Pilot']; +_i = _i + [['','',130,5,-1,0,0,0.59,'Insurgents',[]]]; + +_c = _c + ['Ins_Soldier_Crew']; +_i = _i + [['','',130,5,-1,0,0,0.58,'Insurgents',[]]]; + +_c = _c + ['INS_Woodlander1']; +_i = _i + [['','',100,5,-1,0,0,0.58,'Insurgents',[]]]; + +_c = _c + ['INS_Woodlander2']; +_i = _i + [['','',100,5,-1,0,0,0.58,'Insurgents',[]]]; + +_c = _c + ['INS_Woodlander3']; +_i = _i + [['','',100,5,-1,0,0,0.58,'Insurgents',[]]]; + +_c = _c + ['INS_Villager3']; +_i = _i + [['','',100,5,-1,0,0,0.58,'Insurgents',[]]]; + +_c = _c + ['INS_Villager4']; +_i = _i + [['','',100,5,-1,0,0,0.58,'Insurgents',[]]]; + +_c = _c + ['INS_Worker2']; +_i = _i + [['','',100,5,-1,0,0,0.58,'Insurgents',[]]]; + +/* Light Vehicles */ +_c = _c + ['TT650_Ins']; +_i = _i + [['','',150,15,-2,0,1,0,'Insurgents',[]]]; + +_c = _c + ['UAZ_INS']; +_i = _i + [['','',260,15,-2,0,1,0,'Insurgents',[]]]; + +_c = _c + ['Pickup_PK_INS']; +_i = _i + [['','',300,15,-2,0,1,0,'Insurgents',[]]]; + +_c = _c + ['Offroad_DSHKM_INS']; +_i = _i + [['','',350,15,-2,0,1,0,'Insurgents',[]]]; + +_c = _c + ['UAZ_MG_INS']; +_i = _i + [['','',460,17,-2,0,1,0,'Insurgents',[]]]; + +_c = _c + ['UAZ_AGS30_INS']; +_i = _i + [['','',585,25,-2,1,1,0,'Insurgents',[]]]; + +_c = _c + ['UAZ_SPG9_INS']; +_i = _i + [['','',650,20,-2,2,1,0,'Insurgents',[]]]; + +_c = _c + ['UralOpen_INS']; +_i = _i + [['','',290,20,-2,0,1,0,'Insurgents',[]]]; + +_c = _c + ['Ural_INS']; +_i = _i + [['','',300,20,-2,0,1,0,'Insurgents',[]]]; + +_c = _c + ['WarfareSalvageTruck_INS']; +_i = _i + [['','',450,18,-2,0,1,0,'Insurgents',[]]]; + +_c = _c + ['UralRepair_INS']; +_i = _i + [['','',525,21,-2,2,1,0,'Insurgents',[]]]; + +_c = _c + ['UralReammo_INS']; +_i = _i + [['','',550,21,-2,1,1,0,'Insurgents',[]]]; + +_c = _c + ['UralRefuel_INS']; +_i = _i + [['','',500,21,-2,1,1,0,'Insurgents',[]]]; + +_c = _c + ['WarfareSupplyTruck_INS']; +_i = _i + [['','',550,21,-2,0,1,0,'Insurgents',[]]]; + +_c = _c + ['BRDM2_INS']; +_i = _i + [['','',1000,25,-2,2,1,0,'Insurgents',[]]]; + +_c = _c + ['BRDM2_ATGM_INS']; +_i = _i + [['','',1550,25,-2,3,1,0,'Insurgents',[]]]; + +_c = _c + ['Ural_ZU23_INS']; +_i = _i + [['','',1650,20,-2,2,1,0,'Insurgents',[]]]; + +_c = _c + ['GRAD_INS']; +_i = _i + [['','',4000,35,-2,3,1,0,'Insurgents',[]]]; + +/* Heavy Vehicles */ +_c = _c + ['BMP2_Ambul_INS']; +_i = _i + [['','',950,20,-2,0,2,0,'Insurgents',[]]]; + +_c = _c + ['BMP2_INS']; +_i = _i + [['','',2500,30,-2,1,2,0,'Insurgents',[]]]; + +_c = _c + ['ZSU_INS']; +_i = _i + [['','',3200,35,-2,2,2,0,'Insurgents',[]]]; + +_c = _c + ['T72_INS']; +_i = _i + [['','',4500,35,-2,3,2,0,'Insurgents',[]]]; + +/* Air Vehicles */ +_c = _c + ['Mi17_Ins']; +_i = _i + [['','',15000,35,-2,0,3,0,'Insurgents',[]]]; + +_c = _c + ['Mi17_medevac_Ins']; +_i = _i + [['','',18000,35,-2,1,3,0,'Insurgents',[]]]; + +_c = _c + ['Su25_Ins']; +_i = _i + [['','',90000,55,-2,3,3,0,'Insurgents',[]]]; + +/* Static Defenses */ +_c = _c + ['Ins_WarfareBMGNest_PK']; +_i = _i + [['','',300,0,1,0,'Defense',0,'Insurgents',[]]]; + +_c = _c + ['DSHkM_Mini_TriPod']; +_i = _i + [['','',200,0,1,0,'Defense',0,'Insurgents',[]]]; + +_c = _c + ['DSHKM_Ins']; +_i = _i + [['','',225,0,1,0,'Defense',0,'Insurgents',[]]]; + +_c = _c + ['SearchLight_INS']; +_i = _i + [['','',125,0,1,0,'Defense',0,'Insurgents',[]]]; + +_c = _c + ['AGS_Ins']; +_i = _i + [['','',650,0,1,0,'Defense',0,'Insurgents',[]]]; + +_c = _c + ['SPG9_Ins']; +_i = _i + [['','',475,0,1,0,'Defense',0,'Insurgents',[]]]; + +_c = _c + ['ZU23_Ins']; +_i = _i + [['','',945,0,1,0,'Defense',0,'Insurgents',[]]]; + +_c = _c + ['2b14_82mm_INS']; +_i = _i + [['Podnos 2B14','',1025,0,1,0,'Defense',0,'Insurgents',[]]]; + +_c = _c + ['D30_Ins']; +_i = _i + [['','',2300,0,1,0,'Defense',0,'Insurgents',[]]]; + +for '_z' from 0 to (count _c)-1 do { + if (isClass (configFile >> 'CfgVehicles' >> (_c select _z))) then { + _get = (_c select _z) Call GetNamespace; + if (isNil '_get') then { + if ((_i select _z) select 0 == '') then {(_i select _z) set [0, [_c select _z,'displayName'] Call GetConfigInfo]}; + if (typeName ((_i select _z) select 4) == 'SCALAR') then { + if (((_i select _z) select 4) == -2) then { + _ret = (_c select _z) Call Compile preprocessFile "Common\Functions\Common_GetConfigVehicleCrewSlot.sqf"; + (_i select _z) set [4, _ret select 0]; + (_i select _z) set [9, _ret select 1]; + }; + }; + if (WF_Debug) then {(_i select _z) set [3,1]}; + _p = if ((_c select _z) isKindOf 'Man') then {'portrait'} else {'picture'}; + (_i select _z) set [1, [_c select _z,_p] Call GetConfigInfo]; + [_c select _z,_i select _z] Call SetNamespace; + } else { + diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_INS: Duplicated Element found '%1'",(_c select _z),diag_frameno,diag_tickTime]; + }; + } else { + diag_log Format ["[WFBE (ERROR)][frameno:%2 | ticktime:%3] Core_INS: Element '%1' is not a valid class.",(_c select _z),diag_frameno,diag_tickTime]; + }; +}; + +diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_INS: Initialization (%1 Elements) - [Done]",count _c,diag_frameno,diag_tickTime]; \ No newline at end of file diff --git a/Common/Config/Core/Core_KSK.sqf b/Common/Config/Core/Core_KSK.sqf new file mode 100644 index 0000000..03e130b --- /dev/null +++ b/Common/Config/Core/Core_KSK.sqf @@ -0,0 +1,47 @@ +/* KSK Configuration */ +Private ['_c','_get','_i','_p','_z']; + +_c = []; +_i = []; + +/* Infantry */ +_c = _c + ['GER_Soldier_MG_EP1']; +_i = _i + [['','',340,6,-1,2,0,0.95,'KSK',[]]]; + +_c = _c + ['GER_Soldier_Medic_EP1']; +_i = _i + [['','',325,6,-1,2,0,0.94,'KSK',[]]]; + +_c = _c + ['GER_Soldier_EP1']; +_i = _i + [['','',310,6,-1,2,0,0.94,'KSK',[]]]; + +_c = _c + ['GER_Soldier_Scout_EP1']; +_i = _i + [['','',345,6,-1,2,0,0.96,'KSK',[]]]; + +_c = _c + ['GER_Soldier_TL_EP1']; +_i = _i + [['','',355,6,-1,2,0,0.98,'KSK',[]]]; + +for '_z' from 0 to (count _c)-1 do { + if (isClass (configFile >> 'CfgVehicles' >> (_c select _z))) then { + _get = (_c select _z) Call GetNamespace; + if (isNil '_get') then { + if ((_i select _z) select 0 == '') then {(_i select _z) set [0, [_c select _z,'displayName'] Call GetConfigInfo]}; + if (typeName ((_i select _z) select 4) == 'SCALAR') then { + if (((_i select _z) select 4) == -2) then { + _ret = (_c select _z) Call Compile preprocessFile "Common\Functions\Common_GetConfigVehicleCrewSlot.sqf"; + (_i select _z) set [4, _ret select 0]; + (_i select _z) set [9, _ret select 1]; + }; + }; + if (WF_Debug) then {(_i select _z) set [3,1]}; + _p = if ((_c select _z) isKindOf 'Man') then {'portrait'} else {'picture'}; + (_i select _z) set [1, [_c select _z,_p] Call GetConfigInfo]; + [_c select _z,_i select _z] Call SetNamespace; + } else { + diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_KSK: Duplicated Element found '%1'",(_c select _z),diag_frameno,diag_tickTime]; + }; + } else { + diag_log Format ["[WFBE (ERROR)][frameno:%2 | ticktime:%3] Core_KSK: Element '%1' is not a valid class.",(_c select _z),diag_frameno,diag_tickTime]; + }; +}; + +diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_KSK: Initialization (%1 Elements) - [Done]",count _c,diag_frameno,diag_tickTime]; \ No newline at end of file diff --git a/Common/Config/Core/Core_MVD.sqf b/Common/Config/Core/Core_MVD.sqf new file mode 100644 index 0000000..c6aebc0 --- /dev/null +++ b/Common/Config/Core/Core_MVD.sqf @@ -0,0 +1,50 @@ +/* MVD Configuration */ +private ["_c","_get","_i","_p"]; + +_c = []; +_i = []; + +/* Infantry */ +_c = _c + ['MVD_Soldier_GL']; +_i = _i + [['','',310,7,-1,3,0,0.98,'MVD',[]]]; + +_c = _c + ['MVD_Soldier_MG']; +_i = _i + [['','',320,7,-1,3,0,0.98,'MVD',[]]]; + +_c = _c + ['MVD_Soldier_Marksman']; +_i = _i + [['','',330,7,-1,3,0,0.99,'MVD',[]]]; + +_c = _c + ['MVD_Soldier_AT']; +_i = _i + [['','',345,7,-1,3,0,0.99,'MVD',[]]]; + +_c = _c + ['MVD_Soldier_Sniper']; +_i = _i + [['','',350,7,-1,3,0,0.99,'MVD',[]]]; + +_c = _c + ['MVD_Soldier_TL']; +_i = _i + [['','',360,7,-1,3,0,1.0,'MVD',[]]]; + +for '_z' from 0 to (count _c)-1 do { + if (isClass (configFile >> 'CfgVehicles' >> (_c select _z))) then { + _get = (_c select _z) Call GetNamespace; + if (isNil '_get') then { + if ((_i select _z) select 0 == '') then {(_i select _z) set [0, [_c select _z,'displayName'] Call GetConfigInfo]}; + if (typeName ((_i select _z) select 4) == 'SCALAR') then { + if (((_i select _z) select 4) == -2) then { + _ret = (_c select _z) Call Compile preprocessFile "Common\Functions\Common_GetConfigVehicleCrewSlot.sqf"; + (_i select _z) set [4, _ret select 0]; + (_i select _z) set [9, _ret select 1]; + }; + }; + if (WF_Debug) then {(_i select _z) set [3,1]}; + _p = if ((_c select _z) isKindOf 'Man') then {'portrait'} else {'picture'}; + (_i select _z) set [1, [_c select _z,_p] Call GetConfigInfo]; + [_c select _z,_i select _z] Call SetNamespace; + } else { + diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_MVD: Duplicated Element found '%1'",(_c select _z),diag_frameno,diag_tickTime]; + }; + } else { + diag_log Format ["[WFBE (ERROR)][frameno:%2 | ticktime:%3] Core_MVD: Element '%1' is not a valid class.",(_c select _z),diag_frameno,diag_tickTime]; + }; +}; + +diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_RU: Initialization (%1 Elements) - [Done]",count _c,diag_frameno,diag_tickTime]; \ No newline at end of file diff --git a/Common/Config/Core/Core_PMC.sqf b/Common/Config/Core/Core_PMC.sqf new file mode 100644 index 0000000..3627bff --- /dev/null +++ b/Common/Config/Core/Core_PMC.sqf @@ -0,0 +1,103 @@ +/* PMC Configuration */ +Private ['_c','_get','_i','_p','_z']; + +_c = []; +_i = []; + +/* Infantry */ +_c = _c + ['Soldier_AA_PMC']; +_i = _i + [['','',300,6,-1,2,0,0.92,'PMC',[]]]; + +_c = _c + ['Soldier_AT_PMC']; +_i = _i + [['','',260,6,-1,0,0,0.90,'PMC',[]]]; + +_c = _c + ['Soldier_Bodyguard_AA12_PMC']; +_i = _i + [['','',325,6,-1,3,0,0.94,'PMC',[]]]; + +_c = _c + ['Soldier_Bodyguard_M4_PMC']; +_i = _i + [['','',225,6,-1,0,0,0.94,'PMC',[]]]; + +_c = _c + ['Soldier_Crew_PMC']; +_i = _i + [['','',170,6,-1,0,0,0.89,'PMC',[]]]; + +_c = _c + ['Soldier_Engineer_PMC']; +_i = _i + [['','',270,6,-1,2,0,0.91,'PMC',[]]]; + +_c = _c + ['Soldier_GL_M16A2_PMC']; +_i = _i + [['','',185,6,-1,0,0,0.92,'PMC',[]]]; + +_c = _c + ['Soldier_GL_PMC']; +_i = _i + [['','',260,6,-1,2,0,0.92,'PMC',[]]]; + +_c = _c + ['Soldier_M4A3_PMC']; +_i = _i + [['','',210,6,-1,1,0,0.91,'PMC',[]]]; + +_c = _c + ['Soldier_Medic_PMC']; +_i = _i + [['','',255,6,-1,2,0,0.92,'PMC',[]]]; + +_c = _c + ['Soldier_MG_PKM_PMC']; +_i = _i + [['','',190,6,-1,0,0,0.90,'PMC',[]]]; + +_c = _c + ['Soldier_MG_PMC']; +_i = _i + [['','',260,6,-1,3,0,0.92,'PMC',[]]]; + +_c = _c + ['Soldier_Pilot_PMC']; +_i = _i + [['','',175,6,-1,0,0,0.90,'PMC',[]]]; + +_c = _c + ['Soldier_PMC']; +_i = _i + [['','',230,6,-1,0,0,0.91,'PMC',[]]]; + +_c = _c + ['Soldier_Sniper_KSVK_PMC']; +_i = _i + [['','',290,6,-1,0,0,0.94,'PMC',[]]]; + +_c = _c + ['Soldier_Sniper_PMC']; +_i = _i + [['','',275,6,-1,0,0,0.94,'PMC',[]]]; + +_c = _c + ['Soldier_TL_PMC']; +_i = _i + [['','',280,6,-1,0,0,0.95,'PMC',[]]]; + +/* Light Vehicles */ +_c = _c + ['SUV_PMC']; +_i = _i + [['','',300,20,-2,0,1,0,'PMC',[]]]; + +_c = _c + ['ArmoredSUV_PMC']; +_i = _i + [['','',1250,25,-2,0,1,0,'PMC',[]]]; + +/* Air Vehicles */ +_c = _c + ['Ka137_PMC']; +_i = _i + [['','',3000,35,-2,0,3,0,'PMC',[]]]; + +_c = _c + ['Ka137_MG_PMC']; +_i = _i + [['','',3500,35,-2,0,3,0,'PMC',[]]]; + +_c = _c + ['Ka60_PMC']; +_i = _i + [['','',6000,43,-2,0,3,0,'PMC',[]]]; + +_c = _c + ['Ka60_GL_PMC']; +_i = _i + [['','',6500,45,-2,0,3,0,'PMC',[]]]; + +for '_z' from 0 to (count _c)-1 do { + if (isClass (configFile >> 'CfgVehicles' >> (_c select _z))) then { + _get = (_c select _z) Call GetNamespace; + if (isNil '_get') then { + if ((_i select _z) select 0 == '') then {(_i select _z) set [0, [_c select _z,'displayName'] Call GetConfigInfo]}; + if (typeName ((_i select _z) select 4) == 'SCALAR') then { + if (((_i select _z) select 4) == -2) then { + _ret = (_c select _z) Call Compile preprocessFile "Common\Functions\Common_GetConfigVehicleCrewSlot.sqf"; + (_i select _z) set [4, _ret select 0]; + (_i select _z) set [9, _ret select 1]; + }; + }; + if (WF_Debug) then {(_i select _z) set [3,1]}; + _p = if ((_c select _z) isKindOf 'Man') then {'portrait'} else {'picture'}; + (_i select _z) set [1, [_c select _z,_p] Call GetConfigInfo]; + [_c select _z,_i select _z] Call SetNamespace; + } else { + diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_PMC: Duplicated Element found '%1'",(_c select _z),diag_frameno,diag_tickTime]; + }; + } else { + diag_log Format ["[WFBE (ERROR)][frameno:%2 | ticktime:%3] Core_PMC: Element '%1' is not a valid class.",(_c select _z),diag_frameno,diag_tickTime]; + }; +}; + +diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_PMC: Initialization (%1 Elements) - [Done]",count _c,diag_frameno,diag_tickTime]; \ No newline at end of file diff --git a/Common/Config/Core/Core_RU.sqf b/Common/Config/Core/Core_RU.sqf new file mode 100644 index 0000000..980b322 --- /dev/null +++ b/Common/Config/Core/Core_RU.sqf @@ -0,0 +1,278 @@ +/* RU Configuration */ +private ["_c","_get","_i","_p"]; + +_c = []; +_i = []; + +/* Infantry */ +_c = _c + ['RU_Soldier']; +_i = _i + [['','',150,4,-1,0,0,0.76,'Russians',[]]]; + +_c = _c + ['RU_Soldier2']; +_i = _i + [['','',120,4,-1,0,0,0.74,'Russians',[]]]; + +_c = _c + ['RU_Soldier_LAT']; +_i = _i + [['','',220,5,-1,0,0,0.78,'Russians',[]]]; + +_c = _c + ['RU_Soldier_AT']; +_i = _i + [['','',310,5,-1,1,0,0.8,'Russians',[]]]; + +_c = _c + ['RU_Soldier_HAT']; +_i = _i + [['','',620,6,-1,3,0,0.84,'Russians',[]]]; + +if (WF_ACE) then +{ + _c = _c + ['ACE_SoldierE_KonkursG']; + _i = _i + [['','',620,6,-1,3,0,0.84,'Russians',[]]]; + + _c = _c + ['ACE_SoldierE_KonkursAG']; + _i = _i + [['','',620,6,-1,3,0,0.84,'Russians',[]]]; +}; + +_c = _c + ['RU_Soldier_AA']; +_i = _i + [['','',425,6,-1,1,0,0.81,'Russians',[]]]; + +_c = _c + ['RU_Soldier_AR']; +_i = _i + [['','',210,5,-1,1,0,0.78,'Russians',[]]]; + +_c = _c + ['RU_Soldier_MG']; +_i = _i + [['','',220,5,-1,0,0,0.79,'Russians',[]]]; + +if (WF_ACE) then +{ + _c = _c + ['ACE_SoldierE_HMG']; + _i = _i + [['','',220,5,-1,0,0,0.79,'Russians',[]]]; + + _c = _c + ['ACE_SoldierE_HMGAG']; + _i = _i + [['','',220,5,-1,0,0,0.79,'Russians',[]]]; + + _c = _c + ['ACE_SoldierE_HMGAB']; + _i = _i + [['','',220,5,-1,0,0,0.79,'Russians',[]]]; +}; + +_c = _c + ['RU_Soldier_GL']; +_i = _i + [['','',160,5,-1,0,0,0.8,'Russians',[]]]; + +if (WF_ACE) then +{ + _c = _c + ['ACE_SoldierE_AGS']; + _i = _i + [['','',160,5,-1,0,0,0.8,'Russians',[]]]; + + _c = _c + ['ACE_SoldierE_AGSAG']; + _i = _i + [['','',160,5,-1,0,0,0.8,'Russians',[]]]; + + _c = _c + ['ACE_SoldierE_AGSAB']; + _i = _i + [['','',160,5,-1,0,0,0.8,'Russians',[]]]; +}; + +_c = _c + ['RU_Soldier_Marksman']; +_i = _i + [['','',290,5,-1,1,0,0.82,'Russians',[]]]; + +_c = _c + ['RU_Soldier_Spotter']; +_i = _i + [['','',295,5,-1,2,0,0.84,'Russians',[]]]; + +_c = _c + ['RU_Soldier_Sniper']; +_i = _i + [['','',300,5,-1,2,0,0.84,'Russians',[]]]; + +_c = _c + ['RU_Soldier_SniperH']; +_i = _i + [['','',330,5,-1,3,0,0.86,'Russians',[]]]; + +_c = _c + ['RU_Soldier_Medic']; +_i = _i + [['','',190,4,-1,0,0,0.79,'Russians',[]]]; + +_c = _c + ['RU_Soldier_Crew']; +_i = _i + [['','',120,4,-1,0,0,0.76,'Russians',[]]]; + +_c = _c + ['RU_Soldier_Pilot']; +_i = _i + [['','',120,4,-1,0,0,0.77,'Russians',[]]]; + +_c = _c + ['RU_Soldier_TL']; +_i = _i + [['','',240,5,-1,1,0,0.9,'Russians',[]]]; + +_c = _c + ['RU_Soldier_SL']; +_i = _i + [['','',220,5,-1,2,0,0.89,'Russians',[]]]; + +/* Light Vehicles */ +_c = _c + ['UAZ_RU']; +_i = _i + [['','',260,15,-2,0,1,0,'Russians',[]]]; + +_c = _c + ['PBX']; +_i = _i + [['','',225,15,-2,0,1,0,'Russians',[]]]; + +_c = _c + ['UAZ_AGS30_RU']; +_i = _i + [['','',585,18,-2,1,1,0,'Russians',[]]]; + +_c = _c + ['Kamaz']; +_i = _i + [['','',300,15,-2,0,1,0,'Russians',[]]]; + +_c = _c + ['WarfareSalvageTruck_RU']; +_i = _i + [['','',450,18,-2,0,1,0,'Russians',[]]]; + +_c = _c + ['KamazRepair']; +_i = _i + [['','',525,21,-2,2,1,0,'Russians',[]]]; + +_c = _c + ['WarfareReammoTruck_RU']; +_i = _i + [['','',550,21,-2,1,1,0,'Russians',[]]]; + +_c = _c + ['KamazRefuel']; +_i = _i + [['','',500,21,-2,1,1,0,'Russians',[]]]; + +_c = _c + ['WarfareSupplyTruck_RU']; +_i = _i + [['','',550,21,-2,0,1,0,'Russians',[]]]; + +_c = _c + ['GAZ_Vodnik_MedEvac']; +_i = _i + [['','',525,25,-2,2,1,0,'Russians',[]]]; + +_c = _c + ['GAZ_Vodnik']; +_i = _i + [['','',1200,22,-2,1,1,0,'Russians',[]]]; + +_c = _c + ['GAZ_Vodnik_HMG']; +_i = _i + [['','',1450,24,[false,true,2,0],2,1,0,'Russians',[[0]]]]; + +_c = _c + ['BTR90']; +_i = _i + [['','',3250,25,-2,3,1,0,'Russians',[]]]; + +if (WF_ACE) then +{ + _c = _c + ['ACE_BTR70_RU']; + _i = _i + [['','',2750,25,-2,2,1,0,'Russians',[]]]; +}; + +_c = _c + ['GRAD_RU']; +_i = _i + [['','',4200,25,-2,3,1,0,'Russians',[]]]; + +/* Heavy Vehicles */ +_c = _c + ['BMP3']; +_i = _i + [['','',3400,35,-2,if (WF_A2_Vanilla) then {0} else {2},2,0,'Russians',[]]]; + +_c = _c + ['T72_RU']; +_i = _i + [['','',4900,40,-2,if (WF_A2_Vanilla) then {1} else {2},2,0,'Russians',[]]]; + +if (WF_ACE) then +{ + _c = _c + ['ACE_T72B_Base']; + _i = _i + [['','',4900,40,-2,if (WF_A2_Vanilla) then {1} else {2},2,0,'Russians',[]]]; + + _c = _c + ['ACE_T72BA_Base']; + _i = _i + [['','',4900,40,-2,if (WF_A2_Vanilla) then {1} else {2},2,0,'Russians',[]]]; + + _c = _c + ['ACE_T90A']; + _i = _i + [['','',6250,40,-2,if (WF_A2_Vanilla) then {2} else {3},2,0,'Russians',[]]]; +}; + +_c = _c + ['T90']; +_i = _i + [['','',6250,40,-2,if (WF_A2_Vanilla) then {2} else {3},2,0,'Russians',[]]]; + +_c = _c + ['2S6M_Tunguska']; +_i = _i + [['','',9800,35,-2,3,2,0,'Russians',[]]]; + +/* Air Vehicles */ +_c = _c + ['Mi17_medevac_RU']; +_i = _i + [['','',18000,35,-2,0,3,0,'Russians',[]]]; + +_c = _c + ['Mi17_rockets_RU']; +_i = _i + [['','',70000,45,-2,1,3,0,'Russians',[]]]; + +_c = _c + ['Mi24_V']; +_i = _i + [['','',60000,50,-2,2,3,0,'Russians',[]]]; + +_c = _c + ['Mi24_P']; +_i = _i + [['','',64000,52,-2,2,3,0,'Russians',[]]]; + +_c = _c + ['Su34']; +_i = _i + [['','',110000,55,-2,3,3,0,'Russians',[]]]; + +_c = _c + ['Su39']; +_i = _i + [['','',90000,55,-2,3,3,0,'Russians',[]]]; + +_c = _c + ['Ka52']; +_i = _i + [['','',if (paramBalancing) then {85000} else {100000},55,-2,if (paramBalancing) then {2} else {3},3,0,'Russians',[]]]; + +_c = _c + ['Ka52Black']; +_i = _i + [['','',if (paramBalancing) then {85000} else {100000},55,-2,if (paramBalancing) then {2} else {3},3,0,'Russians',[]]]; + +/* Special */ +_c = _c + ['Pchela1T']; +_i = _i + [['','',9000,35,-2,1,3,0,'Russians',[]]]; + +/* Static Defenses */ +_c = _c + ['RU_WarfareBMGNest_PK']; +_i = _i + [['','',300,0,1,0,'Defense',0,'Russians',[]]]; + +_c = _c + ['KORD']; +_i = _i + [['KORD','',200,0,1,0,'Defense',0,'Russians',[]]]; + +_c = _c + ['KORD_high']; +_i = _i + [['KORD Minitripod','',225,0,1,0,'Defense',0,'Russians',[]]]; + +_c = _c + ['SearchLight_RUS']; +_i = _i + [['','',125,0,1,0,'Defense',0,'Russians',[]]]; + +_c = _c + ['AGS_RU']; +_i = _i + [['','',650,0,1,0,'Defense',0,'Russians',[]]]; + +_c = _c + ['Metis']; +_i = _i + [['Metis-M 9K115-2','',725,0,1,0,'Defense',0,'Russians',[]]]; + +_c = _c + ['Igla_AA_pod_East']; +_i = _i + [['Igla AA POD launcher','',815,0,1,0,'Defense',0,'Russians',[]]]; + +_c = _c + ['2b14_82mm']; +_i = _i + [['Podnos 2B14','',1025,0,1,0,'Defense',0,'Russians',[]]]; + +_c = _c + ['D30_RU']; +_i = _i + [['','',2300,0,1,0,'Defense',0,'Russians',[]]]; + +/* Defense Structures */ +_c = _c + ['Land_CamoNet_EAST']; +_i = _i + [['','',35,0,0,0,'Strategic',0,'Russians',[]]]; + +_c = _c + ['Land_CamoNetVar_EAST']; +_i = _i + [['','',45,0,0,0,'Strategic',0,'Russians',[]]]; + +_c = _c + ['Land_CamoNetB_EAST']; +_i = _i + [['','',55,0,0,0,'Strategic',0,'Russians',[]]]; + +_c = _c + ['RUOrdnanceBox']; +_i = _i + [['','',850,0,0,0,'Ammo',0,'Russians',[]]]; + +_c = _c + ['RUVehicleBox']; +_i = _i + [['','',1200,0,0,0,'Ammo',0,'Russians',[]]]; + +_c = _c + ['RUBasicAmmunitionBox']; +_i = _i + [['','',1950,0,0,0,'Ammo',0,'Russians',[]]]; + +_c = _c + ['RUBasicWeaponsBox']; +_i = _i + [['','',2975,0,0,0,'Ammo',0,'Russians',[]]]; + +_c = _c + ['RULaunchersBox']; +_i = _i + [['','',6250,0,0,0,'Ammo',0,'Russians',[]]]; + +_c = _c + ['RUSpecialWeaponsBox']; +_i = _i + [['','',7200,0,0,0,'Ammo',0,'Russians',[]]]; + +for '_z' from 0 to (count _c)-1 do { + if (isClass (configFile >> 'CfgVehicles' >> (_c select _z))) then { + _get = (_c select _z) Call GetNamespace; + if (isNil '_get') then { + if ((_i select _z) select 0 == '') then {(_i select _z) set [0, [_c select _z,'displayName'] Call GetConfigInfo]}; + if (typeName ((_i select _z) select 4) == 'SCALAR') then { + if (((_i select _z) select 4) == -2) then { + _ret = (_c select _z) Call Compile preprocessFile "Common\Functions\Common_GetConfigVehicleCrewSlot.sqf"; + (_i select _z) set [4, _ret select 0]; + (_i select _z) set [9, _ret select 1]; + }; + }; + if (WF_Debug) then {(_i select _z) set [3,1]}; + _p = if ((_c select _z) isKindOf 'Man') then {'portrait'} else {'picture'}; + (_i select _z) set [1, [_c select _z,_p] Call GetConfigInfo]; + [_c select _z,_i select _z] Call SetNamespace; + } else { + diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_RU: Duplicated Element found '%1'",(_c select _z),diag_frameno,diag_tickTime]; + }; + } else { + diag_log Format ["[WFBE (ERROR)][frameno:%2 | ticktime:%3] Core_RU: Element '%1' is not a valid class.",(_c select _z),diag_frameno,diag_tickTime]; + }; +}; + +diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_RU: Initialization (%1 Elements) - [Done]",count _c,diag_frameno,diag_tickTime]; \ No newline at end of file diff --git a/Common/Config/Core/Core_Spetsnaz.sqf b/Common/Config/Core/Core_Spetsnaz.sqf new file mode 100644 index 0000000..34b7a9f --- /dev/null +++ b/Common/Config/Core/Core_Spetsnaz.sqf @@ -0,0 +1,50 @@ +/* Spetsnaz Configuration */ +private ["_c","_get","_i","_p"]; + +_c = []; +_i = []; + +/* Infantry */ +_c = _c + ['RUS_Soldier1']; +_i = _i + [['','',250,6,-1,2,0,0.98,'Russians Spetsnaz',[]]]; + +_c = _c + ['RUS_Soldier2']; +_i = _i + [['','',260,6,-1,3,0,0.98,'Russians Spetsnaz',[]]]; + +_c = _c + ['RUS_Soldier_GL']; +_i = _i + [['','',270,6,-1,3,0,0.99,'Russians Spetsnaz',[]]]; + +_c = _c + ['RUS_Soldier_Marksman']; +_i = _i + [['','',290,6,-1,3,0,0.99,'Russians Spetsnaz',[]]]; + +_c = _c + ['RUS_Soldier3']; +_i = _i + [['','',295,6,-1,3,0,0.98,'Russians Spetsnaz',[]]]; + +_c = _c + ['RUS_Soldier_TL']; +_i = _i + [['','',300,6,-1,3,0,1.0,'Russians Spetsnaz',[]]]; + +for '_z' from 0 to (count _c)-1 do { + if (isClass (configFile >> 'CfgVehicles' >> (_c select _z))) then { + _get = (_c select _z) Call GetNamespace; + if (isNil '_get') then { + if ((_i select _z) select 0 == '') then {(_i select _z) set [0, [_c select _z,'displayName'] Call GetConfigInfo]}; + if (typeName ((_i select _z) select 4) == 'SCALAR') then { + if (((_i select _z) select 4) == -2) then { + _ret = (_c select _z) Call Compile preprocessFile "Common\Functions\Common_GetConfigVehicleCrewSlot.sqf"; + (_i select _z) set [4, _ret select 0]; + (_i select _z) set [9, _ret select 1]; + }; + }; + if (WF_Debug) then {(_i select _z) set [3,1]}; + _p = if ((_c select _z) isKindOf 'Man') then {'portrait'} else {'picture'}; + (_i select _z) set [1, [_c select _z,_p] Call GetConfigInfo]; + [_c select _z,_i select _z] Call SetNamespace; + } else { + diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_Spetsnaz: Duplicated Element found '%1'",(_c select _z),diag_frameno,diag_tickTime]; + }; + } else { + diag_log Format ["[WFBE (ERROR)][frameno:%2 | ticktime:%3] Core_Spetsnaz: Element '%1' is not a valid class.",(_c select _z),diag_frameno,diag_tickTime]; + }; +}; + +diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_Spetsnaz: Initialization (%1 Elements) - [Done]",count _c,diag_frameno,diag_tickTime]; \ No newline at end of file diff --git a/Common/Config/Core/Core_TK.sqf b/Common/Config/Core/Core_TK.sqf new file mode 100644 index 0000000..fbfd9e6 --- /dev/null +++ b/Common/Config/Core/Core_TK.sqf @@ -0,0 +1,249 @@ +/* TK Configuration */ +private ["_c","_get","_i","_p"]; + +_c = []; +_i = []; + +/* Infantry */ +_c = _c + ['TK_Soldier_EP1']; +_i = _i + [['','',150,4,-1,0,0,0.77,'Takistani']]; + +_c = _c + ['TK_Soldier_B_EP1']; +_i = _i + [['','',125,4,-1,0,0,0.77,'Takistani']]; + +_c = _c + ['TK_Soldier_TWS_EP1']; +_i = _i + [['','',205,5,-1,0,0,0.82,'Takistani']]; + +_c = _c + ['TK_Soldier_Engineer_EP1']; +_i = _i + [['','',155,5,-1,0,0,0.78,'Takistani']]; + +_c = _c + ['TK_Soldier_LAT_EP1']; +_i = _i + [['','',225,5,-1,0,0,0.78,'Takistani']]; + +_c = _c + ['TK_Soldier_AT_EP1']; +_i = _i + [['','',310,5,-1,1,0,0.8,'Takistani']]; + +_c = _c + ['TK_Soldier_HAT_EP1']; +_i = _i + [['','',620,7,-1,3,0,0.83,'Takistani']]; + +_c = _c + ['TK_Soldier_AA_EP1']; +_i = _i + [['','',425,6,-1,1,0,0.82,'Takistani']]; + +_c = _c + ['TK_Soldier_AR_EP1']; +_i = _i + [['','',210,5,-1,1,0,0.79,'Takistani']]; + +_c = _c + ['TK_Soldier_MG_EP1']; +_i = _i + [['','',220,5,-1,0,0,0.8,'Takistani']]; + +_c = _c + ['TK_Soldier_GL_EP1']; +_i = _i + [['','',160,5,-1,0,0,0.78,'Takistani']]; + +_c = _c + ['TK_Soldier_Sniper_EP1']; +_i = _i + [['','',280,5,-1,1,0,0.88,'Takistani']]; + +_c = _c + ['TK_Soldier_Spotter_EP1']; +_i = _i + [['','',290,5,-1,1,0,0.82,'Takistani']]; + +_c = _c + ['TK_Soldier_Medic_EP1']; +_i = _i + [['','',190,4,-1,0,0,0.81,'Takistani']]; + +_c = _c + ['TK_Soldier_Crew_EP1']; +_i = _i + [['','',120,4,-1,0,0,0.76,'Takistani']]; + +_c = _c + ['TK_Soldier_Pilot_EP1']; +_i = _i + [['','',120,4,-1,0,0,0.77,'Takistani']]; + +_c = _c + ['TK_Soldier_Officer_EP1']; +_i = _i + [['','',240,5,-1,1,0,0.85,'Takistani']]; + +_c = _c + ['TK_Soldier_SL_EP1']; +_i = _i + [['','',220,5,-1,2,0,0.86,'Takistani']]; + +/* Light Vehicles */ +_c = _c + ['TT650_TK_EP1']; +_i = _i + [['','',150,15,1,0,1,0,'Takistani']]; + +_c = _c + ['UAZ_Unarmed_TK_EP1']; +_i = _i + [['','',260,15,1,0,1,0,'Takistani']]; + +_c = _c + ['SUV_TK_EP1']; +_i = _i + [['','',290,15,1,0,1,0,'Takistani']]; + +_c = _c + ['UAZ_MG_TK_EP1']; +_i = _i + [['','',460,15,2,0,1,0,'Takistani']]; + +_c = _c + ['UAZ_AGS30_TK_EP1']; +_i = _i + [['','',585,15,2,1,1,0,'Takistani']]; + +_c = _c + ['LandRover_MG_TK_EP1']; +_i = _i + [['','',550,17,2,0,1,0,'Takistani']]; + +_c = _c + ['LandRover_SPG9_TK_EP1']; +_i = _i + [['','',750,17,2,2,1,0,'Takistani']]; + +_c = _c + ['V3S_TK_EP1']; +_i = _i + [['','',275,20,1,0,1,0,'Takistani']]; + +_c = _c + ['V3S_Open_TK_EP1']; +_i = _i + [['','',250,20,1,0,1,0,'Takistani']]; + +_c = _c + ['UralRepair_TK_EP1']; +_i = _i + [['','',1250,21,1,2,1,0,'Takistani']]; + +_c = _c + ['UralSalvage_TK_EP1']; +_i = _i + [['','',450,17,1,1,1,0,'Takistani']]; + +_c = _c + ['UralReammo_TK_EP1']; +_i = _i + [['','',450,18,1,1,1,0,'Takistani']]; + +_c = _c + ['UralRefuel_TK_EP1']; +_i = _i + [['','',400,19,1,1,1,0,'Takistani']]; + +_c = _c + ['UralSupply_TK_EP1']; +_i = _i + [['','',450,21,1,0,1,0,'Takistani']]; + +_c = _c + ['M113Ambul_TK_EP1']; +_i = _i + [['','',750,25,1,1,1,0,'Takistani']]; + +_c = _c + ['BRDM2_TK_EP1']; +_i = _i + [['','',1100,22,2,1,1,0,'Takistani']]; + +_c = _c + ['BRDM2_ATGM_TK_EP1']; +_i = _i + [['','',1650,22,2,2,1,0,'Takistani']]; + +_c = _c + ['BTR60_TK_EP1']; +_i = _i + [['','',1425,25,3,2,1,0,'Takistani']]; + +_c = _c + ['Ural_ZU23_TK_EP1']; +_i = _i + [['','',1750,25,2,2,1,0,'Takistani']]; + +_c = _c + ['GRAD_TK_EP1']; +_i = _i + [['','',4200,25,2,3,1,0,'Takistani']]; + +/* Heavy Vehicles */ +_c = _c + ['M113_TK_EP1']; +_i = _i + [['','',1100,22,2,0,2,0,'Takistani']]; + +_c = _c + ['BMP2_TK_EP1']; +_i = _i + [['','',2600,25,3,if (WF_A2_Arrowhead) then {0} else {1},2,0,'Takistani']]; + +_c = _c + ['ZSU_TK_EP1']; +_i = _i + [['','',3400,25,3,1,2,0,'Takistani']]; + +_c = _c + ['T34_TK_EP1']; +_i = _i + [['','',3900,25,3,0,2,0,'Takistani']]; + +_c = _c + ['T55_TK_EP1']; +_i = _i + [['','',4500,27,3,1,2,0,'Takistani']]; + +_c = _c + ['T72_TK_EP1']; +_i = _i + [['','',4900,30,3,2,2,0,'Takistani']]; + +/* Air Vehicles */ +_c = _c + ['An2_TK_EP1']; +_i = _i + [['','',6200,35,1,1,3,0,'Takistani']]; + +_c = _c + ['Mi17_TK_EP1']; +_i = _i + [['','',7000,35,2,0,3,0,'Takistani']]; + +_c = _c + ['UH1H_TK_EP1']; +_i = _i + [['','',7500,35,2,0,3,0,'Takistani']]; + +_c = _c + ['Mi24_D_TK_EP1']; +_i = _i + [['','',32800,40,2,1,3,0,'Takistani']]; + +_c = _c + ['L39_TK_EP1']; +_i = _i + [['','',38700,50,1,2,3,0,'Takistani']]; + +_c = _c + ['Su25_TK_EP1']; +_i = _i + [['','',46400,55,1,3,3,0,'Takistani']]; + +/* Static Defenses */ +_c = _c + ['WarfareBMGNest_PK_TK_EP1']; +_i = _i + [['','',300,0,1,0,'Defense',0,'Takistani']]; + +_c = _c + ['KORD_TK_EP1']; +_i = _i + [['KORD Minitripod','',200,0,1,0,'Defense',0,'Takistani']]; + +_c = _c + ['KORD_high_TK_EP1']; +_i = _i + [['KORD','',225,0,1,0,'Defense',0,'Takistani']]; + +_c = _c + ['SearchLight_TK_EP1']; +_i = _i + [['','',125,0,1,0,'Defense',0,'Takistani']]; + +_c = _c + ['AGS_TK_EP1']; +_i = _i + [['','',650,0,1,0,'Defense',0,'Takistani']]; + +_c = _c + ['SPG9_TK_INS_EP1']; +_i = _i + [['','',475,0,1,0,'Defense',0,'Takistani']]; + +_c = _c + ['Metis_TK_EP1']; +_i = _i + [['Metis-M 9K115-2','',725,0,1,0,'Defense',0,'Takistani']]; + +_c = _c + ['Igla_AA_pod_TK_EP1']; +_i = _i + [['Igla AA POD launcher','',815,0,1,0,'Defense',0,'Takistani']]; + +_c = _c + ['ZU23_TK_EP1']; +_i = _i + [['','',945,0,1,0,'Defense',0,'Takistani']]; + +_c = _c + ['2b14_82mm_TK_EP1']; +_i = _i + [['Podnos 2B14','',1025,0,1,0,'Defense',0,'Takistani']]; + +_c = _c + ['D30_TK_EP1']; +_i = _i + [['','',2300,0,1,0,'Defense',0,'Takistani']]; + +/* Defense Structures */ +_c = _c + ['TK_WarfareBBarrier5x_EP1']; +_i = _i + [['','',15,0,0,0,'Fortification',0,'Takistani']]; + +_c = _c + ['TK_WarfareBBarrier10x_EP1']; +_i = _i + [['','',25,0,0,0,'Fortification',0,'Takistani']]; + +_c = _c + ['TK_WarfareBBarrier10xTall_EP1']; +_i = _i + [['','',50,0,0,0,'Fortification',0,'Takistani']]; + +_c = _c + ['Land_CamoNet_EAST_EP1']; +_i = _i + [['','',35,0,0,0,'Strategic',0,'Takistani']]; + +_c = _c + ['Land_CamoNetVar_EAST_EP1']; +_i = _i + [['','',45,0,0,0,'Strategic',0,'Takistani']]; + +_c = _c + ['Land_CamoNetB_EAST_EP1']; +_i = _i + [['','',55,0,0,0,'Strategic',0,'Takistani']]; + +_c = _c + ['TKOrdnanceBox_EP1']; +_i = _i + [['','',850,0,0,0,'Ammo',0,'Takistani']]; + +_c = _c + ['TKVehicleBox_EP1']; +_i = _i + [['','',1200,0,0,0,'Ammo',0,'Takistani']]; + +_c = _c + ['TKBasicAmmunitionBox_EP1']; +_i = _i + [['','',1950,0,0,0,'Ammo',0,'Takistani']]; + +_c = _c + ['TKBasicWeapons_EP1']; +_i = _i + [['','',2975,0,0,0,'Ammo',0,'Takistani']]; + +_c = _c + ['TKLaunchers_EP1']; +_i = _i + [['','',6250,0,0,0,'Ammo',0,'Takistani']]; + +_c = _c + ['TKSpecialWeapons_EP1']; +_i = _i + [['','',7200,0,0,0,'Ammo',0,'Takistani']]; + +for '_z' from 0 to (count _c)-1 do { + if (isClass (configFile >> 'CfgVehicles' >> (_c select _z))) then { + _get = (_c select _z) Call GetNamespace; + if (isNil '_get') then { + if ((_i select _z) select 0 == '') then {(_i select _z) set [0, [_c select _z,'displayName'] Call GetConfigInfo]}; + if (WF_Debug) then {(_i select _z) set [3,1]}; + _p = if ((_c select _z) isKindOf 'Man') then {'portrait'} else {'picture'}; + (_i select _z) set [1, [_c select _z,_p] Call GetConfigInfo]; + [_c select _z,_i select _z] Call SetNamespace; + } else { + diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_TK: Duplicated Element found '%1'",(_c select _z),diag_frameno,diag_tickTime]; + }; + } else { + diag_log Format ["[WFBE (ERROR)][frameno:%2 | ticktime:%3] Core_TK: Element '%1' is not a valid class.",(_c select _z),diag_frameno,diag_tickTime]; + }; +}; + +diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_TK: Initialization (%1 Elements) - [Done]",count _c,diag_frameno,diag_tickTime]; \ No newline at end of file diff --git a/Common/Config/Core/Core_TKA.sqf b/Common/Config/Core/Core_TKA.sqf new file mode 100644 index 0000000..50db7ff --- /dev/null +++ b/Common/Config/Core/Core_TKA.sqf @@ -0,0 +1,265 @@ +/* TKA Configuration */ +Private ['_c','_get','_i','_p','_z']; + +_c = []; +_i = []; + +/* Infantry */ +_c = _c + ['TK_Soldier_EP1']; +_i = _i + [['','',150,4,-1,0,0,0.77,'Takistani Army',[]]]; + +_c = _c + ['TK_Soldier_B_EP1']; +_i = _i + [['','',125,4,-1,0,0,0.77,'Takistani Army',[]]]; + +_c = _c + ['TK_Soldier_TWS_EP1']; +_i = _i + [['','',205,5,-1,0,0,0.82,'Takistani Army',[]]]; + +_c = _c + ['TK_Soldier_Engineer_EP1']; +_i = _i + [['','',155,5,-1,0,0,0.78,'Takistani Army',[]]]; + +_c = _c + ['TK_Soldier_LAT_EP1']; +_i = _i + [['','',225,5,-1,0,0,0.78,'Takistani Army',[]]]; + +_c = _c + ['TK_Soldier_AT_EP1']; +_i = _i + [['','',310,5,-1,1,0,0.8,'Takistani Army',[]]]; + +_c = _c + ['TK_Soldier_AAT_EP1']; +_i = _i + [['','',270,5,-1,1,0,0.8,'Takistani Army',[]]]; + +_c = _c + ['TK_Soldier_HAT_EP1']; +_i = _i + [['','',620,7,-1,3,0,0.83,'Takistani Army',[]]]; + +_c = _c + ['TK_Soldier_AA_EP1']; +_i = _i + [['','',425,6,-1,1,0,0.82,'Takistani Army',[]]]; + +_c = _c + ['TK_Soldier_AR_EP1']; +_i = _i + [['','',210,5,-1,1,0,0.79,'Takistani Army',[]]]; + +_c = _c + ['TK_Soldier_AMG_EP1']; +_i = _i + [['','',205,5,-1,0,0,0.8,'Takistani Army',[]]]; + +_c = _c + ['TK_Soldier_MG_EP1']; +_i = _i + [['','',220,5,-1,0,0,0.8,'Takistani Army',[]]]; + +_c = _c + ['TK_Soldier_GL_EP1']; +_i = _i + [['','',160,5,-1,0,0,0.78,'Takistani Army',[]]]; + +_c = _c + ['TK_Soldier_Sniper_EP1']; +_i = _i + [['','',280,5,-1,1,0,0.88,'Takistani Army',[]]]; + +_c = _c + ['TK_Soldier_SniperH_EP1']; +_i = _i + [['','',320,5,-1,3,0,0.88,'Takistani Army',[]]]; + +_c = _c + ['TK_Soldier_Spotter_EP1']; +_i = _i + [['','',290,5,-1,1,0,0.82,'Takistani Army',[]]]; + +_c = _c + ['TK_Soldier_Medic_EP1']; +_i = _i + [['','',190,4,-1,0,0,0.81,'Takistani Army',[]]]; + +_c = _c + ['TK_Soldier_Crew_EP1']; +_i = _i + [['','',120,4,-1,0,0,0.76,'Takistani Army',[]]]; + +_c = _c + ['TK_Soldier_Pilot_EP1']; +_i = _i + [['','',120,4,-1,0,0,0.77,'Takistani Army',[]]]; + +_c = _c + ['TK_Soldier_Officer_EP1']; +_i = _i + [['','',240,5,-1,1,0,0.85,'Takistani Army',[]]]; + +_c = _c + ['TK_Soldier_SL_EP1']; +_i = _i + [['','',220,5,-1,2,0,0.86,'Takistani Army',[]]]; + +/* Light Vehicles */ +_c = _c + ['TT650_TK_EP1']; +_i = _i + [['','',150,15,-2,0,1,0,'Takistani Army',[]]]; + +_c = _c + ['UAZ_Unarmed_TK_EP1']; +_i = _i + [['','',260,15,-2,0,1,0,'Takistani Army',[]]]; + +_c = _c + ['SUV_TK_EP1']; +_i = _i + [['','',290,15,-2,0,1,0,'Takistani Army',[]]]; + +_c = _c + ['UAZ_MG_TK_EP1']; +_i = _i + [['','',460,15,-2,0,1,0,'Takistani Army',[]]]; + +_c = _c + ['UAZ_AGS30_TK_EP1']; +_i = _i + [['','',585,15,-2,1,1,0,'Takistani Army',[]]]; + +_c = _c + ['LandRover_MG_TK_EP1']; +_i = _i + [['','',550,17,-2,0,1,0,'Takistani Army',[]]]; + +_c = _c + ['LandRover_SPG9_TK_EP1']; +_i = _i + [['','',750,17,-2,2,1,0,'Takistani Army',[]]]; + +_c = _c + ['V3S_TK_EP1']; +_i = _i + [['','',275,20,-2,0,1,0,'Takistani Army',[]]]; + +_c = _c + ['V3S_Open_TK_EP1']; +_i = _i + [['','',250,20,-2,0,1,0,'Takistani Army',[]]]; + +_c = _c + ['UralRepair_TK_EP1']; +_i = _i + [['','',425,17,-2,2,1,0,'Takistani Army',[]]]; + +_c = _c + ['UralSalvage_TK_EP1']; +_i = _i + [['','',450,17,-2,1,1,0,'Takistani Army',[]]]; + +_c = _c + ['UralReammo_TK_EP1']; +_i = _i + [['','',450,18,-2,1,1,0,'Takistani Army',[]]]; + +_c = _c + ['UralRefuel_TK_EP1']; +_i = _i + [['','',400,19,-2,1,1,0,'Takistani Army',[]]]; + +_c = _c + ['UralSupply_TK_EP1']; +_i = _i + [['','',450,21,-2,0,1,0,'Takistani Army',[]]]; + +_c = _c + ['M113Ambul_TK_EP1']; +_i = _i + [['','',750,25,-2,1,1,0,'Takistani Army',[]]]; + +_c = _c + ['BRDM2_TK_EP1']; +_i = _i + [['','',1100,22,-2,1,1,0,'Takistani Army',[]]]; + +_c = _c + ['BRDM2_ATGM_TK_EP1']; +_i = _i + [['','',1650,22,-2,2,1,0,'Takistani Army',[]]]; + +_c = _c + ['BTR60_TK_EP1']; +_i = _i + [['','',1425,25,-2,2,1,0,'Takistani Army',[]]]; + +_c = _c + ['Ural_ZU23_TK_EP1']; +_i = _i + [['','',1750,25,-2,2,1,0,'Takistani Army',[]]]; + +_c = _c + ['GRAD_TK_EP1']; +_i = _i + [['','',4200,25,-2,3,1,0,'Takistani Army',[]]]; + +/* Heavy Vehicles */ +_c = _c + ['M113_TK_EP1']; +_i = _i + [['','',1100,22,-2,0,2,0,'Takistani Army',[]]]; + +_c = _c + ['BMP2_TK_EP1']; +_i = _i + [['','',2600,25,-2,if (WF_A2_Arrowhead) then {0} else {1},2,0,'Takistani Army',[]]]; + +_c = _c + ['ZSU_TK_EP1']; +_i = _i + [['','',3400,25,-2,1,2,0,'Takistani Army',[]]]; + +_c = _c + ['T34_TK_EP1']; +_i = _i + [['','',3900,25,-2,0,2,0,'Takistani Army',[]]]; + +_c = _c + ['T55_TK_EP1']; +_i = _i + [['','',4500,27,-2,1,2,0,'Takistani Army',[]]]; + +_c = _c + ['T72_TK_EP1']; +_i = _i + [['','',4900,30,-2,2,2,0,'Takistani Army',[]]]; + +/* Air Vehicles */ +_c = _c + ['An2_TK_EP1']; +_i = _i + [['','',15000,35,-2,1,3,0,'Takistani Army',[]]]; + +_c = _c + ['Mi17_TK_EP1']; +_i = _i + [['','',15000,33,-2,0,3,0,'Takistani Army',[]]]; + +_c = _c + ['UH1H_TK_EP1']; +_i = _i + [['','',12500,30,-2,0,3,0,'Takistani Army',[]]]; + +_c = _c + ['Mi24_D_TK_EP1']; +_i = _i + [['','',65000,40,-2,1,3,0,'Takistani Army',[]]]; + +_c = _c + ['L39_TK_EP1']; +_i = _i + [['','',70000,50,-2,2,3,0,'Takistani Army',[]]]; + +_c = _c + ['Su25_TK_EP1']; +_i = _i + [['','',90000,55,-2,3,3,0,'Takistani Army',[]]]; + +/* Static Defenses */ +_c = _c + ['WarfareBMGNest_PK_TK_EP1']; +_i = _i + [['','',300,0,1,0,'Defense',0,'Takistani Army',[]]]; + +_c = _c + ['KORD_TK_EP1']; +_i = _i + [['KORD Minitripod','',200,0,1,0,'Defense',0,'Takistani Army',[]]]; + +_c = _c + ['KORD_high_TK_EP1']; +_i = _i + [['KORD','',225,0,1,0,'Defense',0,'Takistani Army',[]]]; + +_c = _c + ['SearchLight_TK_EP1']; +_i = _i + [['','',125,0,1,0,'Defense',0,'Takistani Army',[]]]; + +_c = _c + ['AGS_TK_EP1']; +_i = _i + [['','',650,0,1,0,'Defense',0,'Takistani Army',[]]]; + +_c = _c + ['SPG9_TK_INS_EP1']; +_i = _i + [['','',475,0,1,0,'Defense',0,'Takistani Army',[]]]; + +_c = _c + ['Metis_TK_EP1']; +_i = _i + [['Metis-M 9K115-2','',725,0,1,0,'Defense',0,'Takistani Army',[]]]; + +_c = _c + ['Igla_AA_pod_TK_EP1']; +_i = _i + [['Igla AA POD launcher','',815,0,1,0,'Defense',0,'Takistani Army',[]]]; + +_c = _c + ['ZU23_TK_EP1']; +_i = _i + [['','',945,0,1,0,'Defense',0,'Takistani Army',[]]]; + +_c = _c + ['2b14_82mm_TK_EP1']; +_i = _i + [['Podnos 2B14','',1025,0,1,0,'Defense',0,'Takistani Army',[]]]; + +_c = _c + ['D30_TK_EP1']; +_i = _i + [['','',2300,0,1,0,'Defense',0,'Takistani Army',[]]]; + +/* Defense Structures */ +_c = _c + ['TK_WarfareBBarrier5x_EP1']; +_i = _i + [['','',15,0,0,0,'Fortification',0,'Takistani Army',[]]]; + +_c = _c + ['TK_WarfareBBarrier10x_EP1']; +_i = _i + [['','',25,0,0,0,'Fortification',0,'Takistani Army',[]]]; + +_c = _c + ['TK_WarfareBBarrier10xTall_EP1']; +_i = _i + [['','',50,0,0,0,'Fortification',0,'Takistani Army',[]]]; + +_c = _c + ['Land_CamoNet_EAST_EP1']; +_i = _i + [['','',35,0,0,0,'Strategic',0,'Takistani Army',[]]]; + +_c = _c + ['Land_CamoNetVar_EAST_EP1']; +_i = _i + [['','',45,0,0,0,'Strategic',0,'Takistani Army',[]]]; + +_c = _c + ['Land_CamoNetB_EAST_EP1']; +_i = _i + [['','',55,0,0,0,'Strategic',0,'Takistani Army',[]]]; + +_c = _c + ['TKOrdnanceBox_EP1']; +_i = _i + [['','',850,0,0,0,'Ammo',0,'Takistani Army',[]]]; + +_c = _c + ['TKVehicleBox_EP1']; +_i = _i + [['','',1200,0,0,0,'Ammo',0,'Takistani Army',[]]]; + +_c = _c + ['TKBasicAmmunitionBox_EP1']; +_i = _i + [['','',1950,0,0,0,'Ammo',0,'Takistani Army',[]]]; + +_c = _c + ['TKBasicWeapons_EP1']; +_i = _i + [['','',2975,0,0,0,'Ammo',0,'Takistani Army',[]]]; + +_c = _c + ['TKLaunchers_EP1']; +_i = _i + [['','',6250,0,0,0,'Ammo',0,'Takistani Army',[]]]; + +_c = _c + ['TKSpecialWeapons_EP1']; +_i = _i + [['','',7200,0,0,0,'Ammo',0,'Takistani Army',[]]]; + +for '_z' from 0 to (count _c)-1 do { + if (isClass (configFile >> 'CfgVehicles' >> (_c select _z))) then { + _get = (_c select _z) Call GetNamespace; + if (isNil '_get') then { + if ((_i select _z) select 0 == '') then {(_i select _z) set [0, [_c select _z,'displayName'] Call GetConfigInfo]}; + if (typeName ((_i select _z) select 4) == 'SCALAR') then { + if (((_i select _z) select 4) == -2) then { + _ret = (_c select _z) Call Compile preprocessFile "Common\Functions\Common_GetConfigVehicleCrewSlot.sqf"; + (_i select _z) set [4, _ret select 0]; + (_i select _z) set [9, _ret select 1]; + }; + }; + if (WF_Debug) then {(_i select _z) set [3,1]}; + _p = if ((_c select _z) isKindOf 'Man') then {'portrait'} else {'picture'}; + (_i select _z) set [1, [_c select _z,_p] Call GetConfigInfo]; + [_c select _z,_i select _z] Call SetNamespace; + } else { + diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_TKA: Duplicated Element found '%1'",(_c select _z),diag_frameno,diag_tickTime]; + }; + } else { + diag_log Format ["[WFBE (ERROR)][frameno:%2 | ticktime:%3] Core_TKA: Element '%1' is not a valid class.",(_c select _z),diag_frameno,diag_tickTime]; + }; +}; + +diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_TKA: Initialization (%1 Elements) - [Done]",count _c,diag_frameno,diag_tickTime]; \ No newline at end of file diff --git a/Common/Config/Core/Core_TKCIV.sqf b/Common/Config/Core/Core_TKCIV.sqf new file mode 100644 index 0000000..e1949e1 --- /dev/null +++ b/Common/Config/Core/Core_TKCIV.sqf @@ -0,0 +1,133 @@ +/* CIV Configuration */ +private ["_c","_get","_i","_p"]; + +_c = []; +_i = []; + +/* Infantry */ +_c = _c + ['TK_CIV_Worker01_EP1']; +_i = _i + [['','',375,4,-1,0,0,0.4,'Takistani Civilians',[]]]; + +_c = _c + ['TK_CIV_Worker02_EP1']; +_i = _i + [['','',375,4,-1,0,0,0.4,'Takistani Civilians',[]]]; + +/* Light Vehicles */ +_c = _c + ['Old_bike_TK_CIV_EP1']; +_i = _i + [['','',50,8,-2,0,1,0,'Takistani Civilians',[]]]; + +_c = _c + ['Old_moto_TK_Civ_EP1']; +_i = _i + [['','',100,12,-2,0,1,0,'Takistani Civilians',[]]]; + +_c = _c + ['TT650_TK_CIV_EP1']; +_i = _i + [['','',110,15,-2,0,1,0,'Takistani Civilians',[]]]; + +_c = _c + ['Lada1_TK_CIV_EP1']; +_i = _i + [['','',175,18,-2,0,1,0,'Takistani Civilians',[]]]; + +_c = _c + ['Lada2_TK_CIV_EP1']; +_i = _i + [['','',175,18,-2,0,1,0,'Takistani Civilians',[]]]; + +_c = _c + ['Volha_1_TK_CIV_EP1']; +_i = _i + [['','',200,21,-2,0,1,0,'Takistani Civilians',[]]]; + +_c = _c + ['Volha_2_TK_CIV_EP1']; +_i = _i + [['','',200,21,-2,0,1,0,'Takistani Civilians',[]]]; + +_c = _c + ['VolhaLimo_TK_CIV_EP1']; +_i = _i + [['','',200,22,-2,0,1,0,'Takistani Civilians',[]]]; + +_c = _c + ['LandRover_TK_CIV_EP1']; +_i = _i + [['','',250,24,-2,0,1,0,'Takistani Civilians',[]]]; + +_c = _c + ['S1203_TK_CIV_EP1']; +_i = _i + [['','',320,25,-2,0,1,0,'Takistani Civilians',[]]]; + +_c = _c + ['V3S_Open_TK_CIV_EP1']; +_i = _i + [['','',380,25,-2,0,1,0,'Takistani Civilians',[]]]; + +_c = _c + ['Ural_TK_CIV_EP1']; +_i = _i + [['','',390,25,-2,0,1,0,'Takistani Civilians',[]]]; + +_c = _c + ['Ikarus_TK_CIV_EP1']; +_i = _i + [['','',420,25,-2,0,1,0,'Takistani Civilians',[]]]; + +/* Defense Structures */ +_c = _c + ['Land_HBarrier3']; +_i = _i + [['','',20,0,0,0,'Fortification',0,'Takistani Civilians',[]]]; + +_c = _c + ['Land_HBarrier5']; +_i = _i + [['','',30,0,0,0,'Fortification',0,'Takistani Civilians',[]]]; + +_c = _c + ['Land_HBarrier_large']; +_i = _i + [['','',50,0,0,0,'Fortification',0,'Takistani Civilians',[]]]; + +_c = _c + ['Land_fort_bagfence_long']; +_i = _i + [['','',10,0,0,0,'Fortification',0,'Takistani Civilians',[]]]; + +_c = _c + ['Land_fort_bagfence_corner']; +_i = _i + [['','',8,0,0,0,'Fortification',0,'Takistani Civilians',[]]]; + +_c = _c + ['Land_fort_bagfence_round']; +_i = _i + [['','',12,0,0,0,'Fortification',0,'Takistani Civilians',[]]]; + +_c = _c + ['Hhedgehog_concreteBig']; +_i = _i + [['','',95,0,0,0,'Fortification',0,'Takistani Civilians',[]]]; + +_c = _c + ['Hedgehog_EP1']; +_i = _i + [['','',5,0,0,0,'Fortification',0,'Takistani Civilians',[]]]; + +_c = _c + ['HeliH']; +_i = _i + [['','',15,0,0,0,'Strategic',0,'Takistani Civilians',[]]]; + +_c = _c + ['MASH_EP1']; +_i = _i + [['','',30,0,0,0,'Strategic',0,'Takistani Civilians',[]]]; + +_c = _c + ['Land_Campfire']; +_i = _i + [['','',3,0,0,0,'Strategic',0,'Civilians',[]]]; + +_c = _c + ['Land_fort_rampart_EP1']; +_i = _i + [['','',30,0,0,0,'Fortification',0,'Takistani Civilians',[]]]; + +_c = _c + ['Land_fort_artillery_nest_EP1']; +_i = _i + [[localize 'STR_WF_ArtilleryNest','',65,0,0,0,'Fortification',0,'Takistani Civilians',[]]]; + +_c = _c + ['Land_fortified_nest_small_EP1']; +_i = _i + [['','',40,0,0,0,'Fortification',0,'Takistani Civilians',[]]]; + +_c = _c + ['Sign_Danger']; +_i = _i + [[localize 'STR_WF_Minefield','',1200,0,0,0,'Strategic',0,'Takistani Civilians',[]]]; + +_c = _c + ['Fort_RazorWire']; +_i = _i + [['','',25,0,0,0,'Fortification',0,'Takistani Civilians',[]]]; + +_c = _c + ['Concrete_Wall_EP1']; +_i = _i + [['','',20,0,0,0,'Fortification',0,'Takistani Civilians',[]]]; + +_c = _c + ['Land_Ind_IlluminantTower']; +_i = _i + [['','',200,0,0,0,'Fortification',0,'Takistani Civilians',[]]]; + +for '_z' from 0 to (count _c)-1 do { + if (isClass (configFile >> 'CfgVehicles' >> (_c select _z))) then { + _get = (_c select _z) Call GetNamespace; + if (isNil '_get') then { + if ((_i select _z) select 0 == '') then {(_i select _z) set [0, [_c select _z,'displayName'] Call GetConfigInfo]}; + if (typeName ((_i select _z) select 4) == 'SCALAR') then { + if (((_i select _z) select 4) == -2) then { + _ret = (_c select _z) Call Compile preprocessFile "Common\Functions\Common_GetConfigVehicleCrewSlot.sqf"; + (_i select _z) set [4, _ret select 0]; + (_i select _z) set [9, _ret select 1]; + }; + }; + if (WF_Debug) then {(_i select _z) set [3,1]}; + _p = if ((_c select _z) isKindOf 'Man') then {'portrait'} else {'picture'}; + (_i select _z) set [1, [_c select _z,_p] Call GetConfigInfo]; + [_c select _z,_i select _z] Call SetNamespace; + } else { + diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_TKCIV: Duplicated Element found '%1'",(_c select _z),diag_frameno,diag_tickTime]; + }; + } else { + diag_log Format ["[WFBE (ERROR)][frameno:%2 | ticktime:%3] Core_TKCIV: Element '%1' is not a valid class.",(_c select _z),diag_frameno,diag_tickTime]; + }; +}; + +diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_TKCIV: Initialization (%1 Elements) - [Done]",count _c,diag_frameno,diag_tickTime]; \ No newline at end of file diff --git a/Common/Config/Core/Core_TKGUE.sqf b/Common/Config/Core/Core_TKGUE.sqf new file mode 100644 index 0000000..d6dbea0 --- /dev/null +++ b/Common/Config/Core/Core_TKGUE.sqf @@ -0,0 +1,128 @@ +/* TK GUE Configuration */ +private ["_c","_get","_i","_p"]; + +_c = []; +_i = []; + +/* Infantry */ +_c = _c + ['TK_GUE_Soldier_EP1']; +_i = _i + [['','',110,4,-1,0,0,0.48,'Takistani Guerilla',[]]]; + +_c = _c + ['TK_GUE_Soldier_2_EP1']; +_i = _i + [['','',120,4,-1,0,0,0.46,'Takistani Guerilla',[]]]; + +_c = _c + ['TK_GUE_Soldier_3_EP1']; +_i = _i + [['','',110,4,-1,0,0,0.5,'Takistani Guerilla',[]]]; + +_c = _c + ['TK_GUE_Soldier_4_EP1']; +_i = _i + [['','',100,5,-1,0,0,0.49,'Takistani Guerilla',[]]]; + +_c = _c + ['TK_GUE_Soldier_5_EP1']; +_i = _i + [['','',100,5,-1,0,0,0.47,'Takistani Guerilla',[]]]; + +_c = _c + ['TK_GUE_Soldier_AT_EP1']; +_i = _i + [['','',220,4,-1,1,0,0.52,'Takistani Guerilla',[]]]; + +_c = _c + ['TK_GUE_Soldier_AAT_EP1']; +_i = _i + [['','',210,4,-1,2,0,0.51,'Takistani Guerilla',[]]]; + +_c = _c + ['TK_GUE_Soldier_AA_EP1']; +_i = _i + [['','',270,4,-1,2,0,0.53,'Takistani Guerilla',[]]]; + +_c = _c + ['TK_GUE_Soldier_AR_EP1']; +_i = _i + [['','',190,5,-1,1,0,0.52,'Takistani Guerilla',[]]]; + +_c = _c + ['TK_GUE_Soldier_MG_EP1']; +_i = _i + [['','',200,6,-1,0,0,0.53,'Takistani Guerilla',[]]]; + +_c = _c + ['TK_GUE_Soldier_Sniper_EP1']; +_i = _i + [['','',180,5,-1,1,0,0.56,'Takistani Guerilla',[]]]; + +_c = _c + ['TK_GUE_Bonesetter_EP1']; +_i = _i + [['','',125,5,-1,0,0,0.49,'Takistani Guerilla',[]]]; + +_c = _c + ['TK_GUE_Soldier_HAT_EP1']; +_i = _i + [['','',350,5,-1,3,0,0.58,'Takistani Guerilla',[]]]; + +_c = _c + ['TK_GUE_Soldier_TL_EP1']; +_i = _i + [['','',200,5,-1,2,0,0.61,'Takistani Guerilla',[]]]; + +_c = _c + ['TK_GUE_Warlord_EP1']; +_i = _i + [['','',210,5,-1,1,0,0.59,'Takistani Guerilla',[]]]; + +/* Light Vehicles */ +_c = _c + ['V3S_TK_GUE_EP1']; +_i = _i + [['','',175,15,-2,0,1,0,'Takistani Guerilla',[]]]; + +_c = _c + ['Pickup_PK_TK_GUE_EP1']; +_i = _i + [['','',250,17,-2,0,1,0,'Takistani Guerilla',[]]]; + +_c = _c + ['Offroad_DSHKM_TK_GUE_EP1']; +_i = _i + [['','',300,25,-2,1,1,0,'Takistani Guerilla',[]]]; + +_c = _c + ['Offroad_SPG9_TK_GUE_EP1']; +_i = _i + [['','',380,20,-2,2,1,0,'Takistani Guerilla',[]]]; + +_c = _c + ['BRDM2_TK_GUE_EP1']; +_i = _i + [['','',600,25,-2,1,1,0,'Takistani Guerilla',[]]]; + +_c = _c + ['BTR40_TK_GUE_EP1']; +_i = _i + [['','',650,25,-2,0,1,0,'Takistani Guerilla',[]]]; + +_c = _c + ['BTR40_MG_TK_GUE_EP1']; +_i = _i + [['','',800,25,-2,1,1,0,'Takistani Guerilla',[]]]; + +_c = _c + ['Ural_ZU23_TK_GUE_EP1']; +_i = _i + [['','',950,25,-2,3,1,0,'Takistani Guerilla',[]]]; + +/* Heavy Vehicles */ +_c = _c + ['T34_TK_GUE_EP1']; +_i = _i + [['','',2400,30,-2,0,2,0,'Takistani Guerilla',[]]]; + +_c = _c + ['T55_TK_GUE_EP1']; +_i = _i + [['','',2800,35,-2,1,2,0,'Takistani Guerilla',[]]]; + +/* Static Defenses */ +_c = _c + ['WarfareBMGNest_PK_TK_GUE_EP1']; +_i = _i + [['','',300,0,1,0,'Defense',0,'Takistani Guerilla',[]]]; + +_c = _c + ['DSHKM_TK_GUE_EP1']; +_i = _i + [['','',225,0,1,0,'Defense',0,'Takistani Guerilla',[]]]; + +_c = _c + ['AGS_TK_GUE_EP1']; +_i = _i + [['','',650,0,1,0,'Defense',0,'Takistani Guerilla',[]]]; + +_c = _c + ['SPG9_TK_GUE_EP1']; +_i = _i + [['','',475,0,1,0,'Defense',0,'Takistani Guerilla',[]]]; + +_c = _c + ['ZU23_TK_GUE_EP1']; +_i = _i + [['','',600,0,1,0,'Defense',0,'Takistani Guerilla',[]]]; + +_c = _c + ['D30_TK_GUE_EP1']; +_i = _i + [['','',2300,0,1,0,'Defense',0,'Takistani Guerilla',[]]]; + +for '_z' from 0 to (count _c)-1 do { + if (isClass (configFile >> 'CfgVehicles' >> (_c select _z))) then { + _get = (_c select _z) Call GetNamespace; + if (isNil '_get') then { + if ((_i select _z) select 0 == '') then {(_i select _z) set [0, [_c select _z,'displayName'] Call GetConfigInfo]}; + if (typeName ((_i select _z) select 4) == 'SCALAR') then { + if (((_i select _z) select 4) == -2) then { + _ret = (_c select _z) Call Compile preprocessFile "Common\Functions\Common_GetConfigVehicleCrewSlot.sqf"; + (_i select _z) set [4, _ret select 0]; + (_i select _z) set [9, _ret select 1]; + }; + }; + if (WF_Debug) then {(_i select _z) set [3,1]}; + _p = if ((_c select _z) isKindOf 'Man') then {'portrait'} else {'picture'}; + (_i select _z) set [1, [_c select _z,_p] Call GetConfigInfo]; + [_c select _z,_i select _z] Call SetNamespace; + } else { + diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_TKGUE: Duplicated Element found '%1'",(_c select _z),diag_frameno,diag_tickTime]; + }; + } else { + diag_log Format ["[WFBE (ERROR)][frameno:%2 | ticktime:%3] Core_TKGUE: Element '%1' is not a valid class.",(_c select _z),diag_frameno,diag_tickTime]; + }; +}; + +diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_TKGUE: Initialization (%1 Elements) - [Done]",count _c,diag_frameno,diag_tickTime]; \ No newline at end of file diff --git a/Common/Config/Core/Core_TKSF.sqf b/Common/Config/Core/Core_TKSF.sqf new file mode 100644 index 0000000..f1fb772 --- /dev/null +++ b/Common/Config/Core/Core_TKSF.sqf @@ -0,0 +1,41 @@ +/* TK SF Configuration */ +private ["_c","_get","_i","_p"]; + +_c = []; +_i = []; + +/* Infantry */ +_c = _c + ['TK_Special_Forces_EP1']; +_i = _i + [['','',280,6,-1,2,0,0.82,'Takistani Special Forces',[]]]; + +_c = _c + ['TK_Special_Forces_TL_EP1']; +_i = _i + [['','',300,6,-1,2,0,0.85,'Takistani Special Forces',[]]]; + +_c = _c + ['TK_Special_Forces_MG_EP1']; +_i = _i + [['','',305,6,-1,2,0,0.81,'Takistani Special Forces',[]]]; + +for '_z' from 0 to (count _c)-1 do { + if (isClass (configFile >> 'CfgVehicles' >> (_c select _z))) then { + _get = (_c select _z) Call GetNamespace; + if (isNil '_get') then { + if ((_i select _z) select 0 == '') then {(_i select _z) set [0, [_c select _z,'displayName'] Call GetConfigInfo]}; + if (typeName ((_i select _z) select 4) == 'SCALAR') then { + if (((_i select _z) select 4) == -2) then { + _ret = (_c select _z) Call Compile preprocessFile "Common\Functions\Common_GetConfigVehicleCrewSlot.sqf"; + (_i select _z) set [4, _ret select 0]; + (_i select _z) set [9, _ret select 1]; + }; + }; + if (WF_Debug) then {(_i select _z) set [3,1]}; + _p = if ((_c select _z) isKindOf 'Man') then {'portrait'} else {'picture'}; + (_i select _z) set [1, [_c select _z,_p] Call GetConfigInfo]; + [_c select _z,_i select _z] Call SetNamespace; + } else { + diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_TKSF: Duplicated Element found '%1'",(_c select _z),diag_frameno,diag_tickTime]; + }; + } else { + diag_log Format ["[WFBE (ERROR)][frameno:%2 | ticktime:%3] Core_TKSF: Element '%1' is not a valid class.",(_c select _z),diag_frameno,diag_tickTime]; + }; +}; + +diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_TKSF: Initialization (%1 Elements) - [Done]",count _c,diag_frameno,diag_tickTime]; \ No newline at end of file diff --git a/Common/Config/Core/Core_US.sqf b/Common/Config/Core/Core_US.sqf new file mode 100644 index 0000000..934814b --- /dev/null +++ b/Common/Config/Core/Core_US.sqf @@ -0,0 +1,305 @@ +/* US Configuration */ +private ["_c","_get","_i","_p"]; + +_c = []; +_i = []; + +/* Infantry */ +_c = _c + ['US_Soldier_Light_EP1']; +_i = _i + [['','',130,4,-1,0,0,0.86,'US',[]]]; + +_c = _c + ['US_Soldier_EP1']; +_i = _i + [['','',150,4,-1,0,0,0.86,'US',[]]]; + +_c = _c + ['US_Soldier_B_EP1']; +_i = _i + [['','',155,4,-1,0,0,0.86,'US',[]]]; + +_c = _c + ['US_Soldier_LAT_EP1']; +_i = _i + [['','',225,5,-1,0,0,0.88,'US',[]]]; + +_c = _c + ['US_Soldier_AT_EP1']; +_i = _i + [['','',350,5,-1,2,0,0.9,'US',[]]]; + +_c = _c + ['US_Soldier_HAT_EP1']; +_i = _i + [['','',800,6,-1,3,0,0.92,'US',[]]]; + +_c = _c + ['US_Soldier_AA_EP1']; +_i = _i + [['','',400,6,-1,2,0,0.91,'US',[]]]; + +_c = _c + ['US_Soldier_AR_EP1']; +_i = _i + [['','',210,5,-1,1,0,0.88,'US',[]]]; + +_c = _c + ['US_Soldier_MG_EP1']; +_i = _i + [['','',220,5,-1,0,0,0.89,'US',[]]]; + +_c = _c + ['US_Soldier_GL_EP1']; +_i = _i + [['','',160,5,-1,0,0,0.87,'US',[]]]; + +_c = _c + ['US_Soldier_Sniper_EP1']; +_i = _i + [['','',320,6,-1,2,0,0.92,'US',[]]]; + +_c = _c + ['US_Soldier_SniperH_EP1']; +_i = _i + [['','',350,6,-1,3,0,0.93,'US',[]]]; + +_c = _c + ['US_Soldier_Sniper_NV_EP1']; +_i = _i + [['','',370,6,-1,3,0,0.94,'US',[]]]; + +_c = _c + ['US_Soldier_Marksman_EP1']; +_i = _i + [['','',330,6,-1,2,0,0.91,'US',[]]]; + +_c = _c + ['US_Soldier_Medic_EP1']; +_i = _i + [['','',190,4,-1,0,0,0.89,'US',[]]]; + +_c = _c + ['US_Soldier_Engineer_EP1']; +_i = _i + [['','',225,5,-1,0,0,0.87,'US',[]]]; + +_c = _c + ['US_Soldier_AMG_EP1']; +_i = _i + [['','',185,6,-1,2,0,0.87,'US',[]]]; + +_c = _c + ['US_Soldier_AAR_EP1']; +_i = _i + [['','',185,6,-1,3,0,0.87,'US',[]]]; + +_c = _c + ['US_Soldier_AHAT_EP1']; +_i = _i + [['','',185,6,-1,3,0,0.89,'US',[]]]; + +_c = _c + ['US_Soldier_AAT_EP1']; +_i = _i + [['','',320,6,-1,3,0,0.88,'US',[]]]; + +_c = _c + ['US_Soldier_Spotter_EP1']; +_i = _i + [['','',320,6,-1,3,0,0.91,'US',[]]]; + +_c = _c + ['US_Soldier_Crew_EP1']; +_i = _i + [['','',120,4,-1,0,0,0.86,'US',[]]]; + +_c = _c + ['US_Soldier_Pilot_EP1']; +_i = _i + [['','',120,4,-1,0,0,0.87,'US',[]]]; + +_c = _c + ['US_Soldier_TL_EP1']; +_i = _i + [['','',240,5,-1,1,0,0.94,'US',[]]]; + +_c = _c + ['US_Soldier_SL_EP1']; +_i = _i + [['','',220,5,-1,2,0,0.93,'US',[]]]; + +_c = _c + ['US_Soldier_Officer_EP1']; +_i = _i + [['','',250,5,-1,1,0,0.92,'US',[]]]; + +/* Light Vehicles */ +_c = _c + ['M1030_US_DES_EP1']; +_i = _i + [['','',150,12,-2,0,1,0,'US',[]]]; + +_c = _c + ['ATV_US_EP1']; +_i = _i + [['','',175,14,-2,0,1,0,'US',[]]]; + +_c = _c + ['HMMWV_DES_EP1']; +_i = _i + [['','',300,15,-2,0,1,0,'US',[]]]; + +_c = _c + ['HMMWV_M1035_DES_EP1']; +_i = _i + [['','',350,15,-2,0,1,0,'US',[]]]; + +_c = _c + ['HMMWV_Terminal_EP1']; +_i = _i + [['','',400,15,-2,0,1,0,'US',[]]]; + +_c = _c + ['HMMWV_MK19_DES_EP1']; +_i = _i + [['','',900,18,-2,1,1,0,'US',[]]]; + +_c = _c + ['HMMWV_M998A2_SOV_DES_EP1']; +_i = _i + [['','',1050,20,-2,1,1,0,'US',[]]]; + +_c = _c + ['HMMWV_M1151_M2_DES_EP1']; +_i = _i + [['','',850,20,-2,0,1,0,'US',[]]]; + +_c = _c + ['HMMWV_M998_crows_M2_DES_EP1']; +_i = _i + [['','',1250,22,-2,1,1,0,'US',[]]]; + +_c = _c + ['HMMWV_M998_crows_MK19_DES_EP1']; +_i = _i + [['','',1375,22,-2,1,1,0,'US',[]]]; + +_c = _c + ['HMMWV_TOW_DES_EP1']; +_i = _i + [['','',1450,20,-2,2,1,0,'US',[]]]; + +_c = _c + ['HMMWV_Avenger_DES_EP1']; +_i = _i + [['','',1750,25,-2,3,1,0,'US',[]]]; + +_c = _c + ['HMMWV_Ambulance_DES_EP1']; +_i = _i + [['','',725,22,-2,2,1,0,'US',[]]]; + +_c = _c + ['MTVR_DES_EP1']; +_i = _i + [['','',400,20,-2,0,1,0,'US',[]]]; + +_c = _c + ['MtvrSalvage_DES_EP1']; +_i = _i + [['','',450,21,-2,0,1,0,'US',[]]]; + +_c = _c + ['MtvrRepair_DES_EP1']; +_i = _i + [['','',525,22,-2,2,1,0,'US',[]]]; + +_c = _c + ['MtvrReammo_DES_EP1']; +_i = _i + [['','',550,22,-2,1,1,0,'US',[]]]; + +_c = _c + ['MtvrRefuel_DES_EP1']; +_i = _i + [['','',500,22,-2,1,1,0,'US',[]]]; + +_c = _c + ['MtvrSupply_DES_EP1']; +_i = _i + [['','',550,25,-2,0,1,0,'US',[]]]; + +/* Heavy Vehicles */ +_c = _c + ['M1126_ICV_M2_EP1']; +_i = _i + [['','',1650,25,[false,true,2,0],0,2,0,'US',[]]]; + +_c = _c + ['M1126_ICV_mk19_EP1']; +_i = _i + [['','',1950,25,[false,true,2,0],0,2,0,'US',[]]]; + +_c = _c + ['M1129_MC_EP1']; +_i = _i + [['','',2300,25,-2,1,2,0,'US',[]]]; + +_c = _c + ['M1135_ATGMV_EP1']; +_i = _i + [['','',1850,25,-2,2,2,0,'US',[]]]; + +_c = _c + ['M1128_MGS_EP1']; +_i = _i + [['','',2450,25,-2,2,2,0,'US',[]]]; + +_c = _c + ['M1133_MEV_EP1']; +_i = _i + [['','',1950,25,-2,1,2,0,'US',[]]]; + +_c = _c + ['M2A2_EP1']; +_i = _i + [['','',4450,30,-2,1,2,0,'US',[]]]; + +_c = _c + ['M2A3_EP1']; +_i = _i + [['','',4950,32,-2,2,2,0,'US',[]]]; + +_c = _c + ['M1A1_US_DES_EP1']; +_i = _i + [['','',5650,40,-2,2,2,0,'US',[]]]; + +_c = _c + ['MLRS_DES_EP1']; +_i = _i + [['','',5800,40,-2,3,2,0,'US',[]]]; + +_c = _c + ['M1A2_US_TUSK_MG_EP1']; +_i = _i + [['','',6950,40,-2,3,2,0,'US',[]]]; + +_c = _c + ['M6_EP1']; +_i = _i + [['','',8200,35,-2,3,2,0,'US',[]]]; + +_c = _c + ['M1128_MGS_EP1']; +_i = _i + [['','',3650,25,2,2,2,0,'US']]; + +/* Air Vehicles */ +_c = _c + ['MH6J_EP1']; +_i = _i + [['','',12500,35,-2,0,3,0,'US',[]]]; + +_c = _c + ['UH60M_EP1']; +_i = _i + [['','',15000,35,-2,0,3,0,'US',[]]]; + +_c = _c + ['UH60M_MEV_EP1']; +_i = _i + [['','',18000,35,-2,0,3,0,'US',[]]]; + +_c = _c + ['CH_47F_EP1']; +_i = _i + [['','',20000,40,-2,0,3,0,'US',[]]]; + +_c = _c + ['C130J_US_EP1']; +_i = _i + [['','',26500,55,-2,1,3,0,'US',[]]]; + +_c = _c + ['AH6X_EP1']; +_i = _i + [['','',35000,50,-2,1,3,0,'US',[]]]; + +_c = _c + ['AH6J_EP1']; +_i = _i + [['','',30000,50,-2,1,3,0,'US',[]]]; + +_c = _c + ['AH64D_EP1']; +_i = _i + [['','',80000,60,-2,2,3,0,'US',[]]]; + +_c = _c + ['A10_US_EP1']; +_i = _i + [['','',100000,65,-2,3,3,0,'US',[]]]; + +/* Special */ +_c = _c + ['MQ9PredatorB_US_EP1']; +_i = _i + [['','',30000,35,-2,2,3,0,'US',[]]]; + +/* Static Defenses */ +_c = _c + ['WarfareBMGNest_M240_US_EP1']; +_i = _i + [['','',300,0,1,0,'Defense',0,'US',[]]]; + +_c = _c + ['M2HD_mini_TriPod_US_EP1']; +_i = _i + [['','',200,0,1,0,'Defense',0,'US',[]]]; + +_c = _c + ['M2StaticMG_US_EP1']; +_i = _i + [['','',225,0,1,0,'Defense',0,'US',[]]]; + +_c = _c + ['SearchLight_US_EP1']; +_i = _i + [['','',125,0,1,0,'Defense',0,'US',[]]]; + +_c = _c + ['MK19_TriPod_US_EP1']; +_i = _i + [['','',700,0,1,0,'Defense',0,'US',[]]]; + +_c = _c + ['TOW_TriPod_US_EP1']; +_i = _i + [['','',800,0,1,0,'Defense',0,'US',[]]]; + +_c = _c + ['Stinger_Pod_US_EP1']; +_i = _i + [['','',850,0,1,0,'Defense',0,'US',[]]]; + +_c = _c + ['M252_US_EP1']; +_i = _i + [['','',1150,0,1,0,'Defense',0,'US',[]]]; + +_c = _c + ['M119_US_EP1']; +_i = _i + [['','',2250,0,1,0,'Defense',0,'US',[]]]; + +/* Defense Structures */ +_c = _c + ['US_WarfareBBarrier5x_EP1']; +_i = _i + [['','',15,0,0,0,'Fortification',0,'US',[]]]; + +_c = _c + ['US_WarfareBBarrier10x_EP1']; +_i = _i + [['','',25,0,0,0,'Fortification',0,'US',[]]]; + +_c = _c + ['US_WarfareBBarrier10xTall_EP1']; +_i = _i + [['','',50,0,0,0,'Fortification',0,'US',[]]]; + +_c = _c + ['Land_CamoNet_NATO_EP1']; +_i = _i + [['','',35,0,0,0,'Strategic',0,'US',[]]]; + +_c = _c + ['Land_CamoNetVar_NATO_EP1']; +_i = _i + [['','',45,0,0,0,'Strategic',0,'US',[]]]; + +_c = _c + ['Land_CamoNetB_NATO_EP1']; +_i = _i + [['','',55,0,0,0,'Strategic',0,'US',[]]]; + +_c = _c + ['USOrdnanceBox_EP1']; +_i = _i + [['','',850,0,0,0,'Ammo',0,'US',[]]]; + +_c = _c + ['USVehicleBox_EP1']; +_i = _i + [['','',1200,0,0,0,'Ammo',0,'US',[]]]; + +_c = _c + ['USBasicAmmunitionBox_EP1']; +_i = _i + [['','',1950,0,0,0,'Ammo',0,'US',[]]]; + +_c = _c + ['USBasicWeapons_EP1']; +_i = _i + [['','',2975,0,0,0,'Ammo',0,'US',[]]]; + +_c = _c + ['USLaunchers_EP1']; +_i = _i + [['','',6250,0,0,0,'Ammo',0,'US',[]]]; + +_c = _c + ['USSpecialWeapons_EP1']; +_i = _i + [['','',7200,0,0,0,'Ammo',0,'US',[]]]; + +for '_z' from 0 to (count _c)-1 do { + if (isClass (configFile >> 'CfgVehicles' >> (_c select _z))) then { + _get = (_c select _z) Call GetNamespace; + if (isNil '_get') then { + if ((_i select _z) select 0 == '') then {(_i select _z) set [0, [_c select _z,'displayName'] Call GetConfigInfo]}; + if (typeName ((_i select _z) select 4) == 'SCALAR') then { + if (((_i select _z) select 4) == -2) then { + _ret = (_c select _z) Call Compile preprocessFile "Common\Functions\Common_GetConfigVehicleCrewSlot.sqf"; + (_i select _z) set [4, _ret select 0]; + (_i select _z) set [9, _ret select 1]; + }; + }; + if (WF_Debug) then {(_i select _z) set [3,1]}; + _p = if ((_c select _z) isKindOf 'Man') then {'portrait'} else {'picture'}; + (_i select _z) set [1, [_c select _z,_p] Call GetConfigInfo]; + [_c select _z,_i select _z] Call SetNamespace; + } else { + diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_US: Duplicated Element found '%1'",(_c select _z),diag_frameno,diag_tickTime]; + }; + } else { + diag_log Format ["[WFBE (ERROR)][frameno:%2 | ticktime:%3] Core_US: Element '%1' is not a valid class.",(_c select _z),diag_frameno,diag_tickTime]; + }; +}; + +diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_US: Initialization (%1 Elements) - [Done]",count _c,diag_frameno,diag_tickTime]; \ No newline at end of file diff --git a/Common/Config/Core/Core_USMC.sqf b/Common/Config/Core/Core_USMC.sqf new file mode 100644 index 0000000..8009423 --- /dev/null +++ b/Common/Config/Core/Core_USMC.sqf @@ -0,0 +1,254 @@ +/* USMC Configuration */ +private ["_c","_get","_i","_p"]; + +_c = []; +_i = []; + +/* Infantry */ +_c = _c + ['USMC_Soldier']; +_i = _i + [['','',150,4,-1,0,0,0.83,'USMC',[]]]; + +_c = _c + ['USMC_Soldier2']; +_i = _i + [['','',125,4,-1,0,0,0.79,'USMC',[]]]; + +_c = _c + ['USMC_Soldier_LAT']; +_i = _i + [['','',225,5,-1,0,0,0.84,'USMC',[]]]; + +_c = _c + ['USMC_Soldier_AT']; +_i = _i + [['','',350,5,-1,2,0,0.86,'USMC',[]]]; + +_c = _c + ['USMC_Soldier_HAT']; +_i = _i + [['','',800,6,-1,3,0,0.88,'USMC',[]]]; + +_c = _c + ['USMC_Soldier_AA']; +_i = _i + [['','',400,6,-1,2,0,0.87,'USMC',[]]]; + +_c = _c + ['USMC_Soldier_AR']; +_i = _i + [['','',210,5,-1,1,0,0.84,'USMC',[]]]; + +_c = _c + ['USMC_Soldier_MG']; +_i = _i + [['','',220,5,-1,0,0,0.85,'USMC',[]]]; + +_c = _c + ['USMC_Soldier_GL']; +_i = _i + [['','',160,5,-1,0,0,0.83,'USMC',[]]]; + +_c = _c + ['USMC_SoldierS_Sniper']; +_i = _i + [['','',320,6,-1,2,0,0.88,'USMC',[]]]; + +_c = _c + ['USMC_SoldierM_Marksman']; +_i = _i + [['','',350,6,-1,2,0,0.9,'USMC',[]]]; + +_c = _c + ['USMC_SoldierS_SniperH']; +_i = _i + [['','',400,6,-1,3,0,0.92,'USMC',[]]]; + +_c = _c + ['USMC_Soldier_Medic']; +_i = _i + [['','',190,4,-1,0,0,0.85,'USMC',[]]]; + +_c = _c + ['USMC_SoldierS_Engineer']; +_i = _i + [['','',225,5,-1,0,0,0.83,'USMC',[]]]; + +_c = _c + ['USMC_SoldierS']; +_i = _i + [['','',300,7,-1,1,0,0.88,'USMC',[]]]; + +_c = _c + ['USMC_SoldierS_Spotter']; +_i = _i + [['','',320,6,-1,3,0,0.89,'USMC',[]]]; + +_c = _c + ['USMC_Soldier_Crew']; +_i = _i + [['','',120,4,-1,0,0,0.81,'USMC',[]]]; + +_c = _c + ['USMC_Soldier_Pilot']; +_i = _i + [['','',120,4,-1,0,0,0.8,'USMC',[]]]; + +_c = _c + ['USMC_Soldier_TL']; +_i = _i + [['','',240,5,-1,1,0,0.83,'USMC',[]]]; + +_c = _c + ['USMC_Soldier_SL']; +_i = _i + [['','',220,5,-1,2,0,0.92,'USMC',[]]]; + +/* Light Vehicles */ +_c = _c + ['MMT_USMC']; +_i = _i + [['','',50,10,-2,0,1,0,'USMC',[]]]; + +_c = _c + ['M1030']; +_i = _i + [['','',150,12,-2,0,1,0,'USMC',[]]]; + +_c = _c + ['HMMWV']; +_i = _i + [['','',300,15,-2,0,1,0,'USMC',[]]]; + +_c = _c + ['Zodiac']; +_i = _i + [['','',225,17,-2,0,1,0,'USMC',[]]]; + +_c = _c + ['HMMWV_M2']; +_i = _i + [['','',700,18,-2,0,1,0,'USMC',[]]]; + +_c = _c + ['HMMWV_Armored']; +_i = _i + [['','',750,20,-2,1,1,0,'USMC',[]]]; + +_c = _c + ['HMMWV_MK19']; +_i = _i + [['','',900,22,-2,1,1,0,'USMC',[]]]; + +_c = _c + ['HMMWV_TOW']; +_i = _i + [['','',1450,20,-2,2,1,0,'USMC',[]]]; + +_c = _c + ['HMMWV_Avenger']; +_i = _i + [['','',1750,25,-2,3,1,0,'USMC',[]]]; + +_c = _c + ['HMMWV_Ambulance']; +_i = _i + [['','',725,22,-2,2,1,0,'USMC',[]]]; + +_c = _c + ['MTVR']; +_i = _i + [['','',400,20,-2,0,1,0,'USMC',[]]]; + +_c = _c + ['WarfareSalvageTruck_USMC']; +_i = _i + [['','',450,21,-2,0,1,0,'USMC',[]]]; + +_c = _c + ['MtvrRepair']; +_i = _i + [['','',525,22,-2,0,1,0,'USMC',[]]]; + +_c = _c + ['WarfareReammoTruck_USMC']; +_i = _i + [['','',550,22,-2,1,1,0,'USMC',[]]]; + +_c = _c + ['MtvrRefuel']; +_i = _i + [['','',500,22,-2,1,1,0,'USMC',[]]]; + +_c = _c + ['WarfareSupplyTruck_USMC']; +_i = _i + [['','',550,25,-2,0,1,0,'USMC',[]]]; + +_c = _c + ['RHIB']; +_i = _i + [['','',850,25,-2,1,1,0,'USMC',[]]]; + +_c = _c + ['RHIB2Turret']; +_i = _i + [['','',1250,27,-2,2,1,0,'USMC',[]]]; + +_c = _c + ['LAV25']; +_i = _i + [['','',1650,27,-2,3,1,0,'USMC',[]]]; + +/* Heavy Vehicles */ +_c = _c + ['AAV']; +_i = _i + [['','',2550,25,-2,0,2,0,'USMC',[]]]; + +_c = _c + ['M1A1']; +_i = _i + [['','',5650,40,-2,if (WF_A2_Vanilla) then {1} else {2},2,0,'USMC',[]]]; + +_c = _c + ['MLRS']; +_i = _i + [['','',5800,40,-2,3,2,0,'USMC',[]]]; + +_c = _c + ['M1A2_TUSK_MG']; +_i = _i + [['','',6950,40,-2,if (WF_A2_Vanilla) then {2} else {3},2,0,'USMC',[]]]; + +/* Air Vehicles */ +_c = _c + ['MH60S']; +_i = _i + [['','',15000,35,-2,0,3,0,'USMC',[]]]; + +_c = _c + ['UH1Y']; +_i = _i + [['','',25000,40,-2,1,3,0,'USMC',[]]]; + +_c = _c + ['MV22']; +_i = _i + [['','',25000,43,-2,1,3,0,'USMC',[]]]; + +_c = _c + ['C130J']; +_i = _i + [['','',26500,52,-2,1,3,0,'USMC',[]]]; + +_c = _c + ['AH1Z']; +_i = _i + [['','',86000,60,-2,2,3,0,'USMC',[]]]; + +_c = _c + ['AH64D']; +_i = _i + [['','',80000,60,-2,2,3,0,'USMC',[]]]; + +_c = _c + ['F35B']; +_i = _i + [['','',90000,62,-2,3,3,0,'USMC',[]]]; + +_c = _c + ['AV8B']; +_i = _i + [['','',95000,65,-2,3,3,0,'USMC',[]]]; + +_c = _c + ['AV8B2']; +_i = _i + [['','',130000,65,-2,3,3,0,'USMC',[]]]; + +_c = _c + ['A10']; +_i = _i + [['','',100000,70,-2,3,3,0,'USMC',[]]]; + +/* Special */ +_c = _c + ['MQ9PredatorB']; +_i = _i + [['','',30000,35,2,2,3,0,'USMC',[]]]; + +/* Static Defenses */ +_c = _c + ['USMC_WarfareBMGNest_M240']; +_i = _i + [['','',300,0,1,0,'Defense',0,'USMC',[]]]; + +_c = _c + ['M2HD_mini_TriPod']; +_i = _i + [['','',200,0,1,0,'Defense',0,'USMC',[]]]; + +_c = _c + ['M2StaticMG']; +_i = _i + [['','',225,0,1,0,'Defense',0,'USMC',[]]]; + +_c = _c + ['SearchLight']; +_i = _i + [['','',125,0,1,0,'Defense',0,'USMC',[]]]; + +_c = _c + ['MK19_TriPod']; +_i = _i + [['','',700,0,1,0,'Defense',0,'USMC',[]]]; + +_c = _c + ['TOW_TriPod']; +_i = _i + [['','',800,0,1,0,'Defense',0,'USMC',[]]]; + +_c = _c + ['Stinger_Pod']; +_i = _i + [['','',850,0,1,0,'Defense',0,'USMC',[]]]; + +_c = _c + ['M252']; +_i = _i + [['','',1150,0,1,0,'Defense',0,'USMC',[]]]; + +_c = _c + ['M119']; +_i = _i + [['','',2250,0,1,0,'Defense',0,'USMC',[]]]; + +/* Defense Structures */ +_c = _c + ['Land_CamoNet_NATO']; +_i = _i + [['','',35,0,0,0,'Strategic',0,'USMC',[]]]; + +_c = _c + ['Land_CamoNetVar_NATO']; +_i = _i + [['','',45,0,0,0,'Strategic',0,'USMC',[]]]; + +_c = _c + ['Land_CamoNetB_NATO']; +_i = _i + [['','',55,0,0,0,'Strategic',0,'USMC',[]]]; + +_c = _c + ['USOrdnanceBox']; +_i = _i + [['','',850,0,0,0,'Ammo',0,'USMC',[]]]; + +_c = _c + ['USVehicleBox']; +_i = _i + [['','',1200,0,0,0,'Ammo',0,'USMC',[]]]; + +_c = _c + ['USBasicAmmunitionBox']; +_i = _i + [['','',1950,0,0,0,'Ammo',0,'USMC',[]]]; + +_c = _c + ['USBasicWeaponsBox']; +_i = _i + [['','',2975,0,0,0,'Ammo',0,'USMC',[]]]; + +_c = _c + ['USLaunchersBox']; +_i = _i + [['','',6250,0,0,0,'Ammo',0,'USMC',[]]]; + +_c = _c + ['USSpecialWeaponsBox']; +_i = _i + [['','',7200,0,0,0,'Ammo',0,'USMC',[]]]; + +for '_z' from 0 to (count _c)-1 do { + if (isClass (configFile >> 'CfgVehicles' >> (_c select _z))) then { + _get = (_c select _z) Call GetNamespace; + if (isNil '_get') then { + if ((_i select _z) select 0 == '') then {(_i select _z) set [0, [_c select _z,'displayName'] Call GetConfigInfo]}; + if (typeName ((_i select _z) select 4) == 'SCALAR') then { + if (((_i select _z) select 4) == -2) then { + _ret = (_c select _z) Call Compile preprocessFile "Common\Functions\Common_GetConfigVehicleCrewSlot.sqf"; + (_i select _z) set [4, _ret select 0]; + (_i select _z) set [9, _ret select 1]; + }; + }; + if (WF_Debug) then {(_i select _z) set [3,1]}; + _p = if ((_c select _z) isKindOf 'Man') then {'portrait'} else {'picture'}; + (_i select _z) set [1, [_c select _z,_p] Call GetConfigInfo]; + [_c select _z,_i select _z] Call SetNamespace; + } else { + diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_USMC: Duplicated Element found '%1'",(_c select _z),diag_frameno,diag_tickTime]; + }; + } else { + diag_log Format ["[WFBE (ERROR)][frameno:%2 | ticktime:%3] Core_USMC: Element '%1' is not a valid class.",(_c select _z),diag_frameno,diag_tickTime]; + }; +}; + +diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_USMC: Initialization (%1 Elements) - [Done]",count _c,diag_frameno,diag_tickTime]; \ No newline at end of file diff --git a/Common/Config/Core_Artillery/Arrowhead/Artillery_TKA.sqf b/Common/Config/Core_Artillery/Arrowhead/Artillery_TKA.sqf new file mode 100644 index 0000000..430c73c --- /dev/null +++ b/Common/Config/Core_Artillery/Arrowhead/Artillery_TKA.sqf @@ -0,0 +1,43 @@ +Private ["_maxRange"]; +_maxRange = 'WFBE_ARTILLERYMAXRANGE' Call GetNamespace; + +['WFBE_EAST_ARTILLERY_DESC',['D30','2B14','GRAD'],true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_NAMES', + [ + ['D30_TK_EP1'], + ['2b14_82mm_TK_EP1'], + ['GRAD_TK_EP1'] + ] +,true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_WEAPONS',['D30','2B14','GRAD'],true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_AMMOS', + [ + ['Sh_122_HE','Sh_122_WP','Sh_122_SADARM','Sh_122_LASER','Sh_122_SMOKE','Sh_122_ILLUM'], + ['Sh_82_HE','Sh_82_WP','Sh_82_ILLUM'], + ['R_GRAD'] + ] +,true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_EXTENDED_MAGS', + [ + ['30Rnd_122mmWP_D30','30Rnd_122mmSADARM_D30','30Rnd_122mmLASER_D30','30Rnd_122mmSMOKE_D30','30Rnd_122mmILLUM_D30'], + ['8Rnd_82mmWP_2B14','8Rnd_82mmILLUM_2B14'], + [] + ] +,true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_EXTENDED_MAGS_UPGRD', + [ + [2,3,3,1,1], + [2,1], + [] + ] +,true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_MINRANGES',[1000,500,800],true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_MAXRANGES',[2333*_maxRange,1833*_maxRange,3000*_maxRange],true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_RELOADTIME',[7,4,2],true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_BURST',[10,4,10],true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_VELOCITIES',[500,475,550],true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_DISPERSIONS',[50,60,40],true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_AMMO_LASER',['Sh_122_LASER'],true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_AMMO_SADARM',['Sh_122_SADARM'],true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_AMMO_ILLUMN',['Sh_122_ILLUM'],true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_DEPLOY_SMOKE',['Sh_122_WP','Sh_122_SMOKE'],true] Call SetNamespace; \ No newline at end of file diff --git a/Common/Config/Core_Artillery/Arrowhead/Artillery_US.sqf b/Common/Config/Core_Artillery/Arrowhead/Artillery_US.sqf new file mode 100644 index 0000000..6543534 --- /dev/null +++ b/Common/Config/Core_Artillery/Arrowhead/Artillery_US.sqf @@ -0,0 +1,47 @@ +Private ["_maxRange"]; +_maxRange = 'WFBE_ARTILLERYMAXRANGE' Call GetNamespace; + +['WFBE_WEST_ARTILLERY_DESC',['M119','M252','MLRS','Stryker MC'],true] Call SetNamespace; +['WFBE_WEST_ARTILLERY_NAMES', + [ + ['M119_US_EP1'], + ['M252_US_EP1'], + ['MLRS_DES_EP1'], + ['M1129_MC_EP1'] + ] +,true] Call SetNamespace; +['WFBE_WEST_ARTILLERY_WEAPONS',['M119','M252','MLRS','M120'],true] Call SetNamespace; +['WFBE_WEST_ARTILLERY_AMMOS', + [ + ['Sh_105_HE','Sh_105_WP','Sh_105_SADARM','Sh_105_LASER','Sh_105_SMOKE','Sh_105_ILLUM'], + ['Sh_81_HE','Sh_81_WP','Sh_81_ILLUM'], + ['R_MLRS'], + ['120mmHE_M120'] + ] +,true] Call SetNamespace; +['WFBE_WEST_ARTILLERY_EXTENDED_MAGS', + [ + ['30Rnd_105mmWP_M119','30Rnd_105mmSADARM_M119','30Rnd_105mmLASER_M119','30Rnd_105mmSMOKE_M119','30Rnd_105mmILLUM_M119'], + ['8Rnd_81mmWP_M252','8Rnd_81mmILLUM_M252'], + [], + [] + ] +,true] Call SetNamespace; +['WFBE_WEST_ARTILLERY_EXTENDED_MAGS_UPGRD', + [ + [2,3,3,1,1], + [2,1], + [], + [] + ] +,true] Call SetNamespace; +['WFBE_WEST_ARTILLERY_MINRANGES',[1000,500,1200,550],true] Call SetNamespace; +['WFBE_WEST_ARTILLERY_MAXRANGES',[2333*_maxRange,1833*_maxRange,3000*_maxRange,2150*_maxRange],true] Call SetNamespace; +['WFBE_WEST_ARTILLERY_RELOADTIME',[7,4,2,4],true] Call SetNamespace; +['WFBE_WEST_ARTILLERY_BURST',[10,4,6,6],true] Call SetNamespace; +['WFBE_WEST_ARTILLERY_VELOCITIES',[500,475,550,475],true] Call SetNamespace; +['WFBE_WEST_ARTILLERY_DISPERSIONS',[50,60,40,55],true] Call SetNamespace; +['WFBE_WEST_ARTILLERY_AMMO_LASER',['Sh_105_LASER'],true] Call SetNamespace; +['WFBE_WEST_ARTILLERY_AMMO_SADARM',['Sh_105_SADARM'],true] Call SetNamespace; +['WFBE_WEST_ARTILLERY_AMMO_ILLUMN',['Sh_105_ILLUM'],true] Call SetNamespace; +['WFBE_WEST_ARTILLERY_DEPLOY_SMOKE',['Sh_105_WP','Sh_105_SMOKE'],true] Call SetNamespace; \ No newline at end of file diff --git a/Common/Config/Core_Artillery/CombinedOps/Artillery_RU.sqf b/Common/Config/Core_Artillery/CombinedOps/Artillery_RU.sqf new file mode 100644 index 0000000..d23a09e --- /dev/null +++ b/Common/Config/Core_Artillery/CombinedOps/Artillery_RU.sqf @@ -0,0 +1,43 @@ +Private ["_maxRange"]; +_maxRange = 'WFBE_ARTILLERYMAXRANGE' Call GetNamespace; + +['WFBE_EAST_ARTILLERY_DESC',['D30','2B14','GRAD'],true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_NAMES', + [ + ['D30_TK_EP1','D30_RU'], + ['2b14_82mm_TK_EP1','2b14_82mm'], + ['GRAD_RU','GRAD_TK_EP1'] + ] +,true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_WEAPONS',['D30','2B14','GRAD'],true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_AMMOS', + [ + ['Sh_122_HE','Sh_122_WP','Sh_122_SADARM','Sh_122_LASER','Sh_122_SMOKE','Sh_122_ILLUM'], + ['Sh_82_HE','Sh_82_WP','Sh_82_ILLUM'], + ['R_GRAD'] + ] +,true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_EXTENDED_MAGS', + [ + ['30Rnd_122mmWP_D30','30Rnd_122mmSADARM_D30','30Rnd_122mmLASER_D30','30Rnd_122mmSMOKE_D30','30Rnd_122mmILLUM_D30'], + ['8Rnd_82mmWP_2B14','8Rnd_82mmILLUM_2B14'], + [] + ] +,true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_EXTENDED_MAGS_UPGRD', + [ + [2,3,3,1,1], + [2,1], + [] + ] +,true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_MINRANGES',[1000,500,800],true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_MAXRANGES',[2333*_maxRange,1833*_maxRange,3000*_maxRange],true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_RELOADTIME',[7,4,2],true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_BURST',[10,4,10],true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_VELOCITIES',[500,475,550],true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_DISPERSIONS',[50,60,40],true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_AMMO_LASER',['Sh_122_LASER'],true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_AMMO_SADARM',['Sh_122_SADARM'],true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_AMMO_ILLUMN',['Sh_122_ILLUM'],true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_DEPLOY_SMOKE',['Sh_122_WP','Sh_122_SMOKE'],true] Call SetNamespace; \ No newline at end of file diff --git a/Common/Config/Core_Artillery/CombinedOps/Artillery_US.sqf b/Common/Config/Core_Artillery/CombinedOps/Artillery_US.sqf new file mode 100644 index 0000000..f3bab35 --- /dev/null +++ b/Common/Config/Core_Artillery/CombinedOps/Artillery_US.sqf @@ -0,0 +1,47 @@ +Private ["_maxRange"]; +_maxRange = 'WFBE_ARTILLERYMAXRANGE' Call GetNamespace; + +['WFBE_WEST_ARTILLERY_DESC',['M119','M252','MLRS','Stryker MC'],true] Call SetNamespace; +['WFBE_WEST_ARTILLERY_NAMES', + [ + ['M119_US_EP1','M119'], + ['M252_US_EP1','M252'], + ['MLRS','MLRS_DES_EP1'], + ['M1129_MC_EP1'] + ] +,true] Call SetNamespace; +['WFBE_WEST_ARTILLERY_WEAPONS',['M119','M252','MLRS','M120'],true] Call SetNamespace; +['WFBE_WEST_ARTILLERY_AMMOS', + [ + ['Sh_105_HE','Sh_105_WP','Sh_105_SADARM','Sh_105_LASER','Sh_105_SMOKE','Sh_105_ILLUM'], + ['Sh_81_HE','Sh_81_WP','Sh_81_ILLUM'], + ['R_MLRS'], + ['120mmHE_M120'] + ] +,true] Call SetNamespace; +['WFBE_WEST_ARTILLERY_EXTENDED_MAGS', + [ + ['30Rnd_105mmWP_M119','30Rnd_105mmSADARM_M119','30Rnd_105mmLASER_M119','30Rnd_105mmSMOKE_M119','30Rnd_105mmILLUM_M119'], + ['8Rnd_81mmWP_M252','8Rnd_81mmILLUM_M252'], + [], + [] + ] +,true] Call SetNamespace; +['WFBE_WEST_ARTILLERY_EXTENDED_MAGS_UPGRD', + [ + [2,3,3,1,1], + [2,1], + [], + [] + ] +,true] Call SetNamespace; +['WFBE_WEST_ARTILLERY_MINRANGES',[1000,500,1200,550],true] Call SetNamespace; +['WFBE_WEST_ARTILLERY_MAXRANGES',[2333*_maxRange,1833*_maxRange,3000*_maxRange,2150*_maxRange],true] Call SetNamespace; +['WFBE_WEST_ARTILLERY_RELOADTIME',[7,4,2,4],true] Call SetNamespace; +['WFBE_WEST_ARTILLERY_BURST',[10,4,6,6],true] Call SetNamespace; +['WFBE_WEST_ARTILLERY_VELOCITIES',[500,475,550,475],true] Call SetNamespace; +['WFBE_WEST_ARTILLERY_DISPERSIONS',[50,60,40,55],true] Call SetNamespace; +['WFBE_WEST_ARTILLERY_AMMO_LASER',['Sh_105_LASER'],true] Call SetNamespace; +['WFBE_WEST_ARTILLERY_AMMO_SADARM',['Sh_105_SADARM'],true] Call SetNamespace; +['WFBE_WEST_ARTILLERY_AMMO_ILLUMN',['Sh_105_ILLUM'],true] Call SetNamespace; +['WFBE_WEST_ARTILLERY_DEPLOY_SMOKE',['Sh_105_WP','Sh_105_SMOKE'],true] Call SetNamespace; \ No newline at end of file diff --git a/Common/Config/Core_Artillery/Vanilla/Artillery_CDF.sqf b/Common/Config/Core_Artillery/Vanilla/Artillery_CDF.sqf new file mode 100644 index 0000000..67d3390 --- /dev/null +++ b/Common/Config/Core_Artillery/Vanilla/Artillery_CDF.sqf @@ -0,0 +1,43 @@ +Private ["_maxRange"]; +_maxRange = 'WFBE_ARTILLERYMAXRANGE' Call GetNamespace; + +['WFBE_WEST_ARTILLERY_DESC',['D30','2B14','GRAD'],true] Call SetNamespace; +['WFBE_WEST_ARTILLERY_NAMES', + [ + ['D30_CDF'], + ['2b14_82mm_CDF'], + ['GRAD_CDF'] + ] +,true] Call SetNamespace; +['WFBE_WEST_ARTILLERY_WEAPONS',['D30','2B14','GRAD'],true] Call SetNamespace; +['WFBE_WEST_ARTILLERY_AMMOS', + [ + ['ARTY_Sh_122_HE','Sh_122_HE','ARTY_Sh_122_WP','ARTY_Sh_122_SADARM','ARTY_Sh_122_LASER','ARTY_Sh_122_SMOKE','ARTY_Sh_122_ILLUM'], + ['ARTY_Sh_82_HE','Sh_82_HE','ARTY_Sh_82_WP','ARTY_Sh_82_ILLUM'], + ['ARTY_R_227mm_HE_Rocket','R_GRAD'] + ] +,true] Call SetNamespace; +['WFBE_WEST_ARTILLERY_EXTENDED_MAGS', + [ + ['ARTY_30Rnd_122mmWP_D30','ARTY_30Rnd_122mmSADARM_D30','ARTY_30Rnd_122mmLASER_D30','ARTY_30Rnd_122mmSMOKE_D30','ARTY_30Rnd_122mmILLUM_D30'], + ['ARTY_8Rnd_82mmWP_2B14','ARTY_8Rnd_82mmILLUM_2B14'], + [] + ] +,true] Call SetNamespace; +['WFBE_WEST_ARTILLERY_EXTENDED_MAGS_UPGRD', + [ + [2,3,3,1,1], + [2,1], + [] + ] +,true] Call SetNamespace; +['WFBE_WEST_ARTILLERY_MINRANGES',[1000,500,800],true] Call SetNamespace; +['WFBE_WEST_ARTILLERY_MAXRANGES',[2333*_maxRange,1833*_maxRange,3000*_maxRange],true] Call SetNamespace; +['WFBE_WEST_ARTILLERY_RELOADTIME',[7,4,2],true] Call SetNamespace; +['WFBE_WEST_ARTILLERY_BURST',[10,4,10],true] Call SetNamespace; +['WFBE_WEST_ARTILLERY_VELOCITIES',[500,475,550],true] Call SetNamespace; +['WFBE_WEST_ARTILLERY_DISPERSIONS',[50,60,40],true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_AMMO_LASER',['ARTY_Sh_122_LASER'],true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_AMMO_SADARM',['ARTY_Sh_122_SADARM'],true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_AMMO_ILLUMN',['ARTY_Sh_122_ILLUM'],true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_DEPLOY_SMOKE',['ARTY_Sh_122_WP','ARTY_Sh_122_SMOKE'],true] Call SetNamespace; \ No newline at end of file diff --git a/Common/Config/Core_Artillery/Vanilla/Artillery_INS.sqf b/Common/Config/Core_Artillery/Vanilla/Artillery_INS.sqf new file mode 100644 index 0000000..0e20921 --- /dev/null +++ b/Common/Config/Core_Artillery/Vanilla/Artillery_INS.sqf @@ -0,0 +1,43 @@ +Private ["_maxRange"]; +_maxRange = 'WFBE_ARTILLERYMAXRANGE' Call GetNamespace; + +['WFBE_EAST_ARTILLERY_DESC',['D30','2B14','GRAD'],true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_NAMES', + [ + ['D30_Ins'], + ['2b14_82mm_INS'], + ['GRAD_INS'] + ] +,true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_WEAPONS',['D30','2B14','GRAD'],true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_AMMOS', + [ + ['ARTY_Sh_122_HE','Sh_122_HE','ARTY_Sh_122_WP','ARTY_Sh_122_SADARM','ARTY_Sh_122_LASER','ARTY_Sh_122_SMOKE','ARTY_Sh_122_ILLUM'], + ['ARTY_Sh_82_HE','Sh_82_HE','ARTY_Sh_82_WP','ARTY_Sh_82_ILLUM'], + ['ARTY_R_227mm_HE_Rocket','R_GRAD'] + ] +,true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_EXTENDED_MAGS', + [ + ['ARTY_30Rnd_122mmWP_D30','ARTY_30Rnd_122mmSADARM_D30','ARTY_30Rnd_122mmLASER_D30','ARTY_30Rnd_122mmSMOKE_D30','ARTY_30Rnd_122mmILLUM_D30'], + ['ARTY_8Rnd_82mmWP_2B14','ARTY_8Rnd_82mmILLUM_2B14'], + [] + ] +,true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_EXTENDED_MAGS_UPGRD', + [ + [2,3,3,1,1], + [2,1], + [] + ] +,true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_MINRANGES',[1000,500,800],true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_MAXRANGES',[2333*_maxRange,1833*_maxRange,3000*_maxRange],true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_RELOADTIME',[7,4,2],true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_BURST',[10,4,10],true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_VELOCITIES',[500,475,550],true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_DISPERSIONS',[50,60,40],true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_AMMO_LASER',['ARTY_Sh_122_LASER'],true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_AMMO_SADARM',['ARTY_Sh_122_SADARM'],true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_AMMO_ILLUMN',['ARTY_Sh_122_ILLUM'],true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_DEPLOY_SMOKE',['ARTY_Sh_122_WP','ARTY_Sh_122_SMOKE'],true] Call SetNamespace; \ No newline at end of file diff --git a/Common/Config/Core_Artillery/Vanilla/Artillery_RU.sqf b/Common/Config/Core_Artillery/Vanilla/Artillery_RU.sqf new file mode 100644 index 0000000..c58738d --- /dev/null +++ b/Common/Config/Core_Artillery/Vanilla/Artillery_RU.sqf @@ -0,0 +1,43 @@ +Private ["_maxRange"]; +_maxRange = 'WFBE_ARTILLERYMAXRANGE' Call GetNamespace; + +['WFBE_EAST_ARTILLERY_DESC',['D30','2B14','GRAD'],true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_NAMES', + [ + ['D30_RU'], + ['2b14_82mm'], + ['GRAD_RU'] + ] +,true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_WEAPONS',['D30','2B14','GRAD'],true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_AMMOS', + [ + ['ARTY_Sh_122_HE','Sh_122_HE','ARTY_Sh_122_WP','ARTY_Sh_122_SADARM','ARTY_Sh_122_LASER','ARTY_Sh_122_SMOKE','ARTY_Sh_122_ILLUM'], + ['ARTY_Sh_82_HE','Sh_82_HE','ARTY_Sh_82_WP','ARTY_Sh_82_ILLUM'], + ['ARTY_R_227mm_HE_Rocket','R_GRAD'] + ] +,true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_EXTENDED_MAGS', + [ + ['ARTY_30Rnd_122mmWP_D30','ARTY_30Rnd_122mmSADARM_D30','ARTY_30Rnd_122mmLASER_D30','ARTY_30Rnd_122mmSMOKE_D30','ARTY_30Rnd_122mmILLUM_D30'], + ['ARTY_8Rnd_82mmWP_2B14','ARTY_8Rnd_82mmILLUM_2B14'], + [] + ] +,true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_EXTENDED_MAGS_UPGRD', + [ + [2,3,3,1,1], + [2,1], + [] + ] +,true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_MINRANGES',[1000,500,800],true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_MAXRANGES',[2333*_maxRange,1833*_maxRange,3000*_maxRange],true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_RELOADTIME',[7,4,2],true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_BURST',[10,4,10],true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_VELOCITIES',[500,475,550],true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_DISPERSIONS',[50,60,40],true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_AMMO_LASER',['ARTY_Sh_122_LASER'],true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_AMMO_SADARM',['ARTY_Sh_122_SADARM'],true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_AMMO_ILLUMN',['ARTY_Sh_122_ILLUM'],true] Call SetNamespace; +['WFBE_EAST_ARTILLERY_DEPLOY_SMOKE',['ARTY_Sh_122_WP','ARTY_Sh_122_SMOKE'],true] Call SetNamespace; \ No newline at end of file diff --git a/Common/Config/Core_Artillery/Vanilla/Artillery_USMC.sqf b/Common/Config/Core_Artillery/Vanilla/Artillery_USMC.sqf new file mode 100644 index 0000000..f5830d0 --- /dev/null +++ b/Common/Config/Core_Artillery/Vanilla/Artillery_USMC.sqf @@ -0,0 +1,59 @@ +Private ["_maxRange"]; +_maxRange = 'WFBE_ARTILLERYMAXRANGE' Call GetNamespace; + +//--- Label shown in the GUI. +['WFBE_WEST_ARTILLERY_DESC',['M119','M252','MLRS'],true] Call SetNamespace; +//--- Class name of the Artillery unit. +['WFBE_WEST_ARTILLERY_NAMES', + [ + ['M119'], + ['M252'], + ['MLRS'] + ] +,true] Call SetNamespace; +//--- Artillery Weapon used to fire the shells. +['WFBE_WEST_ARTILLERY_WEAPONS',['M119','M252','MLRS'],true] Call SetNamespace; +//--- Compatible ammo. +['WFBE_WEST_ARTILLERY_AMMOS', + [ + ['ARTY_Sh_105_HE','Sh_105_HE','ARTY_Sh_105_WP','ARTY_Sh_105_SADARM','ARTY_Sh_105_LASER','ARTY_Sh_105_SMOKE','ARTY_Sh_105_ILLUM'], + ['ARTY_Sh_81_HE','Sh_81_HE','ARTY_Sh_81_WP','ARTY_Sh_81_ILLUM'], + ['ARTY_R_227mm_HE_Rocket','R_MLRS'] + ] +,true] Call SetNamespace; +//--- Extended ammo. +['WFBE_WEST_ARTILLERY_EXTENDED_MAGS', + [ + ['ARTY_30Rnd_105mmWP_M119','ARTY_30Rnd_105mmSADARM_M119','ARTY_30Rnd_105mmLASER_M119','ARTY_30Rnd_105mmSMOKE_M119','ARTY_30Rnd_105mmILLUM_M119'], + ['ARTY_8Rnd_81mmWP_M252','ARTY_8Rnd_81mmILLUM_M252'], + [] + ] +,true] Call SetNamespace; +//--- Upgrade level required for the extended ammo. +['WFBE_WEST_ARTILLERY_EXTENDED_MAGS_UPGRD', + [ + [2,3,3,1,1], + [2,1], + [] + ] +,true] Call SetNamespace; +//--- Artillery Minimal fire distance. +['WFBE_WEST_ARTILLERY_MINRANGES',[1000,500,1200],true] Call SetNamespace; +//--- Artillery Maximal fire distance multiplied by the artillery range parameter. +['WFBE_WEST_ARTILLERY_MAXRANGES',[2333*_maxRange,1833*_maxRange,3000*_maxRange],true] Call SetNamespace; +//--- Artillery Reload time between each shot. +['WFBE_WEST_ARTILLERY_RELOADTIME',[7,4,2],true] Call SetNamespace; +//--- Amount of shells fired during a fire mission. +['WFBE_WEST_ARTILLERY_BURST',[10,4,6],true] Call SetNamespace; +//--- Velocity of the shell (note: try to keep it above 400 for a realistic result). +['WFBE_WEST_ARTILLERY_VELOCITIES',[500,475,550],true] Call SetNamespace; +//--- Shell land dispersion. +['WFBE_WEST_ARTILLERY_DISPERSIONS',[50,60,40],true] Call SetNamespace; +//--- Laser Guided Ammunitions. +['WFBE_WEST_ARTILLERY_AMMO_LASER',['ARTY_Sh_105_LASER'],true] Call SetNamespace; +//--- Search And Destroy Armor ammunition. +['WFBE_WEST_ARTILLERY_AMMO_SADARM',['ARTY_Sh_105_SADARM'],true] Call SetNamespace; +//--- Illum rounds. +['WFBE_WEST_ARTILLERY_AMMO_ILLUMN',['ARTY_Sh_105_ILLUM'],true] Call SetNamespace; +//--- Deploy smoke on impact if it's this type. +['WFBE_WEST_ARTILLERY_DEPLOY_SMOKE',['ARTY_Sh_105_WP','ARTY_Sh_105_SMOKE'],true] Call SetNamespace; \ No newline at end of file diff --git a/Common/Config/Core_Definition/Arrowhead/Definition_US_TKA.sqf b/Common/Config/Core_Definition/Arrowhead/Definition_US_TKA.sqf new file mode 100644 index 0000000..0fab77d --- /dev/null +++ b/Common/Config/Core_Definition/Arrowhead/Definition_US_TKA.sqf @@ -0,0 +1,27 @@ +/* Arrowhead - US versus Takistan Army */ + +/* Units Core */ +WFBE_V_West_UnitsRootVersion = 'Arrowhead'; +WFBE_V_West_Faction = 'US'; +WFBE_V_East_UnitsRootVersion = 'Arrowhead'; +WFBE_V_East_Faction = 'TKA'; +/* Loadout Core */ +WFBE_V_West_LoadoutRootVersion = 'Arrowhead'; +WFBE_V_West_Loadout = 'US'; +WFBE_V_East_LoadoutRootVersion = 'Arrowhead'; +WFBE_V_East_Loadout = 'TKA'; +/* Squads Core */ +WFBE_V_West_SquadsRootVersion = 'Arrowhead'; +WFBE_V_West_SquadsFaction = 'US'; +WFBE_V_East_SquadsRootVersion = 'Arrowhead'; +WFBE_V_East_SquadsFaction = 'TKA'; +/* Structures Core */ +WFBE_V_West_StructuresRootVersion = 'Arrowhead'; +WFBE_V_West_StructuresFaction = 'US'; +WFBE_V_East_StructuresRootVersion = 'Arrowhead'; +WFBE_V_East_StructuresFaction = 'TKA'; +/* Artillery Core */ +WFBE_V_West_ArtilleryRootVersion = 'Arrowhead'; +WFBE_V_West_ArtilleryFaction = 'US'; +WFBE_V_East_ArtilleryRootVersion = 'Arrowhead'; +WFBE_V_East_ArtilleryFaction = 'TKA'; \ No newline at end of file diff --git a/Common/Config/Core_Definition/CombinedOps/Definition_US_INS.sqf b/Common/Config/Core_Definition/CombinedOps/Definition_US_INS.sqf new file mode 100644 index 0000000..d5cc3e5 --- /dev/null +++ b/Common/Config/Core_Definition/CombinedOps/Definition_US_INS.sqf @@ -0,0 +1,32 @@ +/* Arrowhead - US versus Insurgents */ + +/* Units Core */ +WFBE_V_West_UnitsRootVersion = 'CombinedOps'; +WFBE_V_West_Faction = 'US'; +WFBE_V_East_UnitsRootVersion = 'Vanilla'; +WFBE_V_East_Faction = 'INS'; +/* Loadout Core */ +WFBE_V_West_LoadoutRootVersion = 'CombinedOps'; +WFBE_V_West_Loadout = 'US'; +WFBE_V_East_LoadoutRootVersion = 'Vanilla'; +WFBE_V_East_Loadout = 'INS'; +/* Squads Core */ +if (WF_Camo) then { + WFBE_V_West_SquadsRootVersion = 'CombinedOps'; + WFBE_V_West_SquadsFaction = 'US_Camo'; +} else { + WFBE_V_West_SquadsRootVersion = 'Arrowhead'; + WFBE_V_West_SquadsFaction = 'US'; +}; +WFBE_V_East_SquadsRootVersion = 'Vanilla'; +WFBE_V_East_SquadsFaction = 'INS'; +/* Structures Core */ +WFBE_V_West_StructuresRootVersion = 'CombinedOps'; +WFBE_V_West_StructuresFaction = 'US'; +WFBE_V_East_StructuresRootVersion = 'Vanilla'; +WFBE_V_East_StructuresFaction = 'INS'; +/* Artillery Core */ +WFBE_V_West_ArtilleryRootVersion = 'CombinedOps'; +WFBE_V_West_ArtilleryFaction = 'US'; +WFBE_V_East_ArtilleryRootVersion = 'Vanilla'; +WFBE_V_East_ArtilleryFaction = 'INS'; \ No newline at end of file diff --git a/Common/Config/Core_Definition/CombinedOps/Definition_US_RU.sqf b/Common/Config/Core_Definition/CombinedOps/Definition_US_RU.sqf new file mode 100644 index 0000000..a900b46 --- /dev/null +++ b/Common/Config/Core_Definition/CombinedOps/Definition_US_RU.sqf @@ -0,0 +1,32 @@ +/* Arrowhead - US versus Russians */ + +/* Units Core */ +WFBE_V_West_UnitsRootVersion = 'CombinedOps'; +WFBE_V_West_Faction = 'US'; +WFBE_V_East_UnitsRootVersion = 'CombinedOps'; +WFBE_V_East_Faction = 'RU'; +/* Loadout Core */ +WFBE_V_West_LoadoutRootVersion = 'CombinedOps'; +WFBE_V_West_Loadout = 'US'; +WFBE_V_East_LoadoutRootVersion = 'CombinedOps'; +WFBE_V_East_Loadout = 'RU'; +/* Squads Core */ +if (WF_Camo) then { + WFBE_V_West_SquadsRootVersion = 'CombinedOps'; + WFBE_V_West_SquadsFaction = 'US_Camo'; +} else { + WFBE_V_West_SquadsRootVersion = 'Arrowhead'; + WFBE_V_West_SquadsFaction = 'US'; +}; +WFBE_V_East_SquadsRootVersion = 'Vanilla'; +WFBE_V_East_SquadsFaction = 'RU'; +/* Structures Core */ +WFBE_V_West_StructuresRootVersion = 'CombinedOps'; +WFBE_V_West_StructuresFaction = 'US'; +WFBE_V_East_StructuresRootVersion = 'CombinedOps'; +WFBE_V_East_StructuresFaction = 'TKA'; +/* Artillery Core */ +WFBE_V_West_ArtilleryRootVersion = 'CombinedOps'; +WFBE_V_West_ArtilleryFaction = 'US'; +WFBE_V_East_ArtilleryRootVersion = 'CombinedOps'; +WFBE_V_East_ArtilleryFaction = 'RU'; \ No newline at end of file diff --git a/Common/Config/Core_Definition/Vanilla/Definition_CDF_INS.sqf b/Common/Config/Core_Definition/Vanilla/Definition_CDF_INS.sqf new file mode 100644 index 0000000..cc8fe56 --- /dev/null +++ b/Common/Config/Core_Definition/Vanilla/Definition_CDF_INS.sqf @@ -0,0 +1,27 @@ +/* Vanilla - CDF versus Insurgents */ + +/* Units Core */ +WFBE_V_West_UnitsRootVersion = 'Vanilla'; +WFBE_V_West_Faction = 'CDF'; +WFBE_V_East_UnitsRootVersion = 'Vanilla'; +WFBE_V_East_Faction = 'INS'; +/* Loadout Core */ +WFBE_V_West_LoadoutRootVersion = 'Vanilla'; +WFBE_V_West_Loadout = 'CDF'; +WFBE_V_East_LoadoutRootVersion = 'Vanilla'; +WFBE_V_East_Loadout = 'INS'; +/* Squads Core */ +WFBE_V_West_SquadsRootVersion = 'Vanilla'; +WFBE_V_West_SquadsFaction = 'CDF'; +WFBE_V_East_SquadsRootVersion = 'Vanilla'; +WFBE_V_East_SquadsFaction = 'INS'; +/* Structures Core */ +WFBE_V_West_StructuresRootVersion = if (WF_A2_Vanilla) then {'Vanilla'} else {'CombinedOps'}; +WFBE_V_West_StructuresFaction = 'CDF'; +WFBE_V_East_StructuresRootVersion = if (WF_A2_Vanilla) then {'Vanilla'} else {'CombinedOps'}; +WFBE_V_East_StructuresFaction = 'INS'; +/* Artillery Core */ +WFBE_V_West_ArtilleryRootVersion = 'Vanilla'; +WFBE_V_West_ArtilleryFaction = 'CDF'; +WFBE_V_East_ArtilleryRootVersion = 'Vanilla'; +WFBE_V_East_ArtilleryFaction = 'INS'; \ No newline at end of file diff --git a/Common/Config/Core_Definition/Vanilla/Definition_CDF_RU.sqf b/Common/Config/Core_Definition/Vanilla/Definition_CDF_RU.sqf new file mode 100644 index 0000000..5c6afd1 --- /dev/null +++ b/Common/Config/Core_Definition/Vanilla/Definition_CDF_RU.sqf @@ -0,0 +1,27 @@ +/* Vanilla - CDF versus Russians */ + +/* Units Core */ +WFBE_V_West_UnitsRootVersion = 'Vanilla'; +WFBE_V_West_Faction = 'CDF'; +WFBE_V_East_UnitsRootVersion = 'Vanilla'; +WFBE_V_East_Faction = 'RU'; +/* Loadout Core */ +WFBE_V_West_LoadoutRootVersion = 'Vanilla'; +WFBE_V_West_Loadout = 'CDF'; +WFBE_V_East_LoadoutRootVersion = 'Vanilla'; +WFBE_V_East_Loadout = 'RU'; +/* Squads Core */ +WFBE_V_West_SquadsRootVersion = 'Vanilla'; +WFBE_V_West_SquadsFaction = 'CDF'; +WFBE_V_East_SquadsRootVersion = 'Vanilla'; +WFBE_V_East_SquadsFaction = 'RU'; +/* Structures Core */ +WFBE_V_West_StructuresRootVersion = 'Vanilla'; +WFBE_V_West_StructuresFaction = 'CDF'; +WFBE_V_East_StructuresRootVersion = 'Vanilla'; +WFBE_V_East_StructuresFaction = 'RU'; +/* Artillery Core */ +WFBE_V_West_ArtilleryRootVersion = 'Vanilla'; +WFBE_V_West_ArtilleryFaction = 'CDF'; +WFBE_V_East_ArtilleryRootVersion = 'Vanilla'; +WFBE_V_East_ArtilleryFaction = 'RU'; \ No newline at end of file diff --git a/Common/Config/Core_Definition/Vanilla/Definition_USMC_INS.sqf b/Common/Config/Core_Definition/Vanilla/Definition_USMC_INS.sqf new file mode 100644 index 0000000..4d311fd --- /dev/null +++ b/Common/Config/Core_Definition/Vanilla/Definition_USMC_INS.sqf @@ -0,0 +1,27 @@ +/* Vanilla - USMC versus Insurgents */ + +/* Units Core */ +WFBE_V_West_UnitsRootVersion = 'Vanilla'; +WFBE_V_West_Faction = 'USMC'; +WFBE_V_East_UnitsRootVersion = 'Vanilla'; +WFBE_V_East_Faction = 'INS'; +/* Loadout Core */ +WFBE_V_West_LoadoutRootVersion = 'Vanilla'; +WFBE_V_West_Loadout = 'USMC'; +WFBE_V_East_LoadoutRootVersion = 'Vanilla'; +WFBE_V_East_Loadout = 'INS'; +/* Squads Core */ +WFBE_V_West_SquadsRootVersion = 'Vanilla'; +WFBE_V_West_SquadsFaction = 'USMC'; +WFBE_V_East_SquadsRootVersion = 'Vanilla'; +WFBE_V_East_SquadsFaction = 'INS'; +/* Structures Core */ +WFBE_V_West_StructuresRootVersion = 'Vanilla'; +WFBE_V_West_StructuresFaction = 'USMC'; +WFBE_V_East_StructuresRootVersion = 'Vanilla'; +WFBE_V_East_StructuresFaction = 'INS'; +/* Artillery Core */ +WFBE_V_West_ArtilleryRootVersion = 'Vanilla'; +WFBE_V_West_ArtilleryFaction = 'USMC'; +WFBE_V_East_ArtilleryRootVersion = 'Vanilla'; +WFBE_V_East_ArtilleryFaction = 'INS'; \ No newline at end of file diff --git a/Common/Config/Core_Definition/Vanilla/Definition_USMC_RU.sqf b/Common/Config/Core_Definition/Vanilla/Definition_USMC_RU.sqf new file mode 100644 index 0000000..d633884 --- /dev/null +++ b/Common/Config/Core_Definition/Vanilla/Definition_USMC_RU.sqf @@ -0,0 +1,27 @@ +/* Vanilla - USMC versus Russians */ + +/* Units Core */ +WFBE_V_West_UnitsRootVersion = 'Vanilla'; +WFBE_V_West_Faction = 'USMC'; +WFBE_V_East_UnitsRootVersion = 'Vanilla'; +WFBE_V_East_Faction = 'RU'; +/* Loadout Core */ +WFBE_V_West_LoadoutRootVersion = 'Vanilla'; +WFBE_V_West_Loadout = 'USMC'; +WFBE_V_East_LoadoutRootVersion = 'Vanilla'; +WFBE_V_East_Loadout = 'RU'; +/* Squads Core */ +WFBE_V_West_SquadsRootVersion = 'Vanilla'; +WFBE_V_West_SquadsFaction = 'USMC'; +WFBE_V_East_SquadsRootVersion = 'Vanilla'; +WFBE_V_East_SquadsFaction = 'RU'; +/* Structures Core */ +WFBE_V_West_StructuresRootVersion = 'Vanilla'; +WFBE_V_West_StructuresFaction = 'USMC'; +WFBE_V_East_StructuresRootVersion = 'Vanilla'; +WFBE_V_East_StructuresFaction = 'RU'; +/* Artillery Core */ +WFBE_V_West_ArtilleryRootVersion = 'Vanilla'; +WFBE_V_West_ArtilleryFaction = 'USMC'; +WFBE_V_East_ArtilleryRootVersion = 'Vanilla'; +WFBE_V_East_ArtilleryFaction = 'RU'; \ No newline at end of file diff --git a/Common/Config/Core_Gear/Core_ACE_G.sqf b/Common/Config/Core_Gear/Core_ACE_G.sqf new file mode 100644 index 0000000..a31c41a --- /dev/null +++ b/Common/Config/Core_Gear/Core_ACE_G.sqf @@ -0,0 +1,407 @@ +Private ['_config','_element','_get','_i','_info','_prefix','_proceed','_u','_z']; + +_u = []; +_i = []; + +/* _i = _i + [[label, picture, config, belong to type, cost, upgrade level, allowed in camps, belong to the handgun pool, magazines, magazine space, allow two weapons]]*/ + +/* Magazines - West */ +_u = _u + ['ACE_10Rnd_127x99_T_m107']; +_i = _i + [['','','CfgMagazines','primary',18,0,true,false,0,0,true]]; + +_u = _u + ['ACE_10Rnd_127x99_Raufoss_m107']; +_i = _i + [['','','CfgMagazines','primary',23,0,true,false,0,0,true]]; + +_u = _u + ['ACE_5Rnd_25x59_HEDP_Barrett']; +_i = _i + [['','','CfgMagazines','primary',33,0,true,false,0,0,true]]; + +_u = _u + ['ACE_5Rnd_127x99_B_TAC50']; +_i = _i + [['','','CfgMagazines','primary',12,0,true,false,0,0,true]]; + +_u = _u + ['ACE_5Rnd_127x99_S_TAC50']; +_i = _i + [['','','CfgMagazines','primary',22,0,true,false,0,0,true]]; + +_u = _u + ['ACE_5Rnd_127x99_T_TAC50']; +_i = _i + [['','','CfgMagazines','primary',14,0,true,false,0,0,true]]; + +_u = _u + ['ACE_20Rnd_762x51_B_HK417']; +_i = _i + [['','','CfgMagazines','primary',8,0,true,false,0,0,true]]; + +_u = _u + ['ACE_20Rnd_762x51_T_HK417']; +_i = _i + [['','','CfgMagazines','primary',9,0,true,false,0,0,true]]; + +_u = _u + ['ACE_30Rnd_556x45_T_G36']; +_i = _i + [['','','CfgMagazines','primary',8,0,true,false,0,0,true]]; + +_u = _u + ['ACE_30Rnd_556x45_T_Stanag']; +_i = _i + [['','','CfgMagazines','primary',6,0,true,false,0,0,true]]; + +_u = _u + ['ACE_200Rnd_556x45_T_M249']; +_i = _i + [['','','CfgMagazines','primary',15,0,true,false,0,0,true]]; + +_u = _u + ['ACE_100Rnd_556x45_T_M249']; +_i = _i + [['','','CfgMagazines','primary',25,0,true,false,0,0,true]]; + +_u = _u + ['ACE_15Rnd_9x19_P226']; +_i = _i + [['','','CfgMagazines','sidearm',2,0,true,true,0,0,true]]; + +_u = _u + ['ACE_15Rnd_9x19_P8']; +_i = _i + [['','','CfgMagazines','sidearm',2,0,true,true,0,0,true]]; + +_u = _u + ['ACE_40Rnd_B_46x30_MP7']; +_i = _i + [['','','CfgMagazines','primary',5,0,true,true,0,0,true]]; + +_u = _u + ['ACE_25Rnd_1143x23_B_UMP45']; +_i = _i + [['','','CfgMagazines','primary',5,0,true,true,0,0,true]]; + +_u = _u + ['ACE_25Rnd_1143x23_S_UMP45']; +_i = _i + [['','','CfgMagazines','primary',7,0,true,true,0,0,true]]; + +_u = _u + ['ACE_12Rnd_45ACP_USP']; +_i = _i + [['','','CfgMagazines','sidearm',3,0,true,true,0,0,true]]; + +_u = _u + ['ACE_12Rnd_45ACP_USPSD']; +_i = _i + [['','','CfgMagazines','sidearm',4,0,true,true,0,0,true]]; + +/* Primary weapons - West */ +_u = _u + ['ACE_G36A2_Bipod_D']; +_i = _i + [['','','CfgWeapons','',230,1,false,false,0,0,true]]; + +_u = _u + ['ACE_G36A1_AG36A1_D']; +_i = _i + [['','','CfgWeapons','',240,2,false,false,0,0,true]]; + +_u = _u + ['ACE_M60']; +_i = _i + [['','','CfgWeapons','',150,0,true,false,0,0,false]]; + +_u = _u + ['ACE_M240L']; +_i = _i + [['','','CfgWeapons','',165,0,true,false,0,0,false]]; + +_u = _u + ['ACE_M240L_M145']; +_i = _i + [['','','CfgWeapons','',175,0,true,false,0,0,false]]; + +_u = _u + ['ACE_HK416_D10']; +_i = _i + [['','','CfgWeapons','',100,0,true,false,0,0,true]]; + +_u = _u + ['ACE_HK416_D10_AIM']; +_i = _i + [['','','CfgWeapons','',110,0,true,false,0,0,true]]; + +_u = _u + ['ACE_HK416_D10_COMPM3']; +_i = _i + [['','','CfgWeapons','',115,1,true,false,0,0,true]]; + +_u = _u + ['ACE_HK416_D10_COMPM3_SD']; +_i = _i + [['','','CfgWeapons','',135,3,true,false,0,0,true]]; + +_u = _u + ['ACE_HK416_D10_Holo']; +_i = _i + [['','','CfgWeapons','',115,1,true,false,0,0,true]]; + +_u = _u + ['ACE_HK416_D10_M320']; +_i = _i + [['','','CfgWeapons','',140,1,true,false,0,0,true]]; + +_u = _u + ['ACE_HK416_D10_SD']; +_i = _i + [['','','CfgWeapons','',125,2,true,false,0,0,true]]; + +_u = _u + ['ACE_HK416_D14']; +_i = _i + [['','','CfgWeapons','',100,1,true,false,0,0,true]]; + +_u = _u + ['ACE_HK416_D14_ACOG_PVS14']; +_i = _i + [['','','CfgWeapons','',130,2,true,false,0,0,true]]; + +_u = _u + ['ACE_HK416_D14_COMPM3']; +_i = _i + [['','','CfgWeapons','',115,1,true,false,0,0,true]]; + +_u = _u + ['ACE_HK416_D14_COMPM3_M320']; +_i = _i + [['','','CfgWeapons','',140,2,true,false,0,0,true]]; + +_u = _u + ['ACE_HK416_D14_SD']; +_i = _i + [['','','CfgWeapons','',120,1,true,false,0,0,true]]; + +_u = _u + ['ACE_HK416_D14_TWS']; +_i = _i + [['','','CfgWeapons','',160,3,true,false,0,0,true]]; + +_u = _u + ['ACE_HK417_Eotech_4x']; +_i = _i + [['','','CfgWeapons','',130,2,true,false,0,0,true]]; + +_u = _u + ['ACE_HK417_leupold']; +_i = _i + [['','','CfgWeapons','',140,2,true,false,0,0,true]]; + +_u = _u + ['ACE_HK417_micro']; +_i = _i + [['','','CfgWeapons','',115,1,true,false,0,0,true]]; + +_u = _u + ['ACE_HK417_Shortdot']; +_i = _i + [['','','CfgWeapons','',145,3,true,false,0,0,true]]; + +_u = _u + ['ACE_M4']; +_i = _i + [['','','CfgWeapons','',85,0,true,false,0,0,true]]; + +_u = _u + ['ACE_M4_ACOG']; +_i = _i + [['','','CfgWeapons','',95,1,true,false,0,0,true]]; + +_u = _u + ['ACE_M4_Aim']; +_i = _i + [['','','CfgWeapons','',95,1,true,false,0,0,true]]; + +_u = _u + ['ACE_M4_AIM_GL']; +_i = _i + [['','','CfgWeapons','',125,2,true,false,0,0,true]]; + +_u = _u + ['ACE_M4_Eotech']; +_i = _i + [['','','CfgWeapons','',95,1,true,false,0,0,true]]; + +_u = _u + ['ACE_M4_Eotech_GL']; +_i = _i + [['','','CfgWeapons','',125,2,true,false,0,0,true]]; + +_u = _u + ['ACE_M4_GL']; +_i = _i + [['','','CfgWeapons','',105,2,true,false,0,0,true]]; + +_u = _u + ['ACE_M4_RCO_GL']; +_i = _i + [['','','CfgWeapons','',125,2,true,false,0,0,true]]; + +_u = _u + ['ACE_M4A1_ACOG']; +_i = _i + [['','','CfgWeapons','',155,1,true,false,0,0,true]]; + +_u = _u + ['ACE_M4A1_ACOG_SD']; +_i = _i + [['','','CfgWeapons','',165,3,true,false,0,0,true]]; + +_u = _u + ['ACE_M4A1_AIM_GL']; +_i = _i + [['','','CfgWeapons','',195,2,true,false,0,0,true]]; + +_u = _u + ['ACE_M4A1_AIM_GL_SD']; +_i = _i + [['','','CfgWeapons','',205,3,true,false,0,0,true]]; + +_u = _u + ['ACE_M4A1_Aim_SD']; +_i = _i + [['','','CfgWeapons','',185,2,true,false,0,0,true]]; + +_u = _u + ['ACE_M4A1_Eotech']; +_i = _i + [['','','CfgWeapons','',105,1,true,false,0,0,true]]; + +_u = _u + ['ACE_M4A1_GL']; +_i = _i + [['','','CfgWeapons','',195,2,true,false,0,0,true]]; + +_u = _u + ['ACE_M4A1_GL_SD']; +_i = _i + [['','','CfgWeapons','',205,3,true,false,0,0,true]]; + +_u = _u + ['ACE_SOC_M4A1']; +_i = _i + [['','','CfgWeapons','',115,1,true,false,0,0,true]]; + +_u = _u + ['ACE_SOC_M4A1_Aim']; +_i = _i + [['','','CfgWeapons','',125,2,true,false,0,0,true]]; + +_u = _u + ['ACE_SOC_M4A1_AIM_SD']; +_i = _i + [['','','CfgWeapons','',135,3,true,false,0,0,true]]; + +_u = _u + ['ACE_SOC_M4A1_Eotech']; +_i = _i + [['','','CfgWeapons','',125,2,true,false,0,0,true]]; + +_u = _u + ['ACE_SOC_M4A1_Eotech_4x']; +_i = _i + [['','','CfgWeapons','',135,3,true,false,0,0,true]]; + +_u = _u + ['ACE_SOC_M4A1_GL']; +_i = _i + [['','','CfgWeapons','',145,2,true,false,0,0,true]]; + +_u = _u + ['ACE_SOC_M4A1_GL_13']; +_i = _i + [['','','CfgWeapons','',135,2,true,false,0,0,true]]; + +_u = _u + ['ACE_SOC_M4A1_GL_AIMPOINT']; +_i = _i + [['','','CfgWeapons','',155,3,true,false,0,0,true]]; + +_u = _u + ['ACE_SOC_M4A1_GL_EOTECH']; +_i = _i + [['','','CfgWeapons','',155,3,true,false,0,0,true]]; + +_u = _u + ['ACE_SOC_M4A1_GL_SD']; +_i = _i + [['','','CfgWeapons','',155,3,true,false,0,0,true]]; + +_u = _u + ['ACE_SOC_M4A1_RCO_GL']; +_i = _i + [['','','CfgWeapons','',155,3,true,false,0,0,true]]; + +_u = _u + ['ACE_SOC_M4A1_SD_9']; +_i = _i + [['','','CfgWeapons','',125,1,true,false,0,0,true]]; + +_u = _u + ['ACE_SOC_M4A1_SHORTDOT']; +_i = _i + [['','','CfgWeapons','',145,2,true,false,0,0,true]]; + +_u = _u + ['ACE_SOC_M4A1_SHORTDOT_SD']; +_i = _i + [['','','CfgWeapons','',155,3,true,false,0,0,true]]; + +_u = _u + ['ACE_SOC_M4A1_TWS']; +_i = _i + [['','','CfgWeapons','',195,3,true,false,0,0,true]]; + +_u = _u + ['ACE_SPAS12']; +_i = _i + [['','','CfgWeapons','',120,0,true,false,0,0,true]]; + +_u = _u + ['ACE_UMP45']; +_i = _i + [['','','CfgWeapons','',70,0,true,false,0,0,true]]; + +_u = _u + ['ACE_UMP45_AIM']; +_i = _i + [['','','CfgWeapons','',80,1,true,false,0,0,true]]; + +_u = _u + ['ACE_UMP45_AIM_SD']; +_i = _i + [['','','CfgWeapons','',100,3,true,false,0,0,true]]; + +_u = _u + ['ACE_UMP45_SD']; +_i = _i + [['','','CfgWeapons','',90,2,true,false,0,0,true]]; + +_u = _u + ['ACE_Mk12mod1']; +_i = _i + [['','','CfgWeapons','',210,1,true,false,0,0,true]]; + +_u = _u + ['ACE_Mk12mod1_SD']; +_i = _i + [['','','CfgWeapons','',220,2,true,false,0,0,true]]; + +_u = _u + ['ACE_MP5A4']; +_i = _i + [['','','CfgWeapons','',50,0,true,false,0,0,true]]; + +_u = _u + ['ACE_MP5A5']; +_i = _i + [['','','CfgWeapons','',60,1,true,false,0,0,true]]; + +_u = _u + ['ACE_MP5SD']; +_i = _i + [['','','CfgWeapons','',80,2,true,false,0,0,true]]; + +_u = _u + ['ACE_MP7']; +_i = _i + [['','','CfgWeapons','',90,0,true,false,0,0,true]]; + +_u = _u + ['ACE_MP7_RSAS']; +_i = _i + [['','','CfgWeapons','',100,1,true,false,0,0,true]]; + +_u = _u + ['ACE_M109']; +_i = _i + [['','','CfgWeapons','',510,3,false,false,0,0,false]]; + +_u = _u + ['ACE_M110']; +_i = _i + [['','','CfgWeapons','',300,1,false,false,0,0,false]]; + +_u = _u + ['ACE_M110_SD']; +_i = _i + [['','','CfgWeapons','',320,2,false,false,0,0,false]]; + +_u = _u + ['ACE_TAC50']; +_i = _i + [['','','CfgWeapons','',410,3,false,false,0,0,false]]; + +_u = _u + ['ACE_TAC50_SD']; +_i = _i + [['','','CfgWeapons','',470,3,false,false,0,0,false]]; + +_u = _u + ['ACE_MG36_D']; +_i = _i + [['','','CfgWeapons','',250,2,false,false,0,0,false]]; + +/* Secondary weapons - West */ +_u = _u + ['ACE_M224TripodProxy']; +_i = _i + [['','','CfgVehicles','',550,2,true,false,0,0,false]]; + +_u = _u + ['ACE_M224Proxy']; +_i = _i + [['','','CfgVehicles','',40,2,true,false,0,0,false]]; + +_u = _u + ['ACE_VTAC_RUSH72_ACU']; +_i = _i + [['','','CfgVehicles','',90,2,true,false,0,0,false]]; + +_u = _u + ['ACE_BackPack_ACR_TT']; +_i = _i + [['','','CfgVehicles','',90,2,true,false,0,0,false]]; + +_u = _u + ['ACE_CharliePack_ACU']; +_i = _i + [['','','CfgVehicles','',90,2,true,false,0,0,false]]; + +_u = _u + ['ACE_CharliePack_ACU_Medic']; +_i = _i + [['','','CfgVehicles','',90,2,true,false,0,0,false]]; + +_u = _u + ['ACE_M252Proxy']; +_i = _i + [['','','CfgVehicles','',750,1,false,false,0,0,false]]; + +_u = _u + ['ACE_M252TripodProxy']; +_i = _i + [['','','CfgVehicles','',40,1,false,false,0,0,false]]; + +/* Pistols - West */ +_u = _u + ['ACE_USP']; +_i = _i + [['','','CfgWeapons','',35,1,true,false,0,0,true]]; + +_u = _u + ['ACE_USPSD']; +_i = _i + [['','','CfgWeapons','',45,2,true,false,0,0,true]]; + +_u = _u + ['ACE_P226']; +_i = _i + [['','','CfgWeapons','',30,1,true,false,0,0,true]]; + +_u = _u + ['ACE_P8']; +_i = _i + [['','','CfgWeapons','',20,0,true,false,0,0,true]]; + +/* Misc - West */ +_u = _u + ['ACE_HuntIR_M203']; +_i = _i + [['','','CfgMagazines','CfgMagazines',32,0,true,true,0,0,true]]; + +_u = _u + ['ACE_FlareIR_M203']; +_i = _i + [['','','CfgMagazines','CfgMagazines',12,0,true,true,0,0,true]]; + +_u = _u + ['ACE_Earplugs']; +_i = _i + [['','','CfgWeapons','Item',2,0,true,false,0,0,true]]; + +_u = _u + ['ACE_GlassesBalaklava']; +_i = _i + [['','','CfgWeapons','Item',5,0,true,false,0,0,true]]; + +_u = _u + ['ACE_GlassesGasMask_US']; +_i = _i + [['','','CfgWeapons','Item',15,0,true,false,0,0,true]]; + +_u = _u + ['ACE_GlassesTactical']; +_i = _i + [['','','CfgWeapons','Item',5,0,true,false,0,0,true]]; + +_u = _u + ['ACE_GlassesLHD_glasses']; +_i = _i + [['','','CfgWeapons','Item',10,0,true,false,0,0,true]]; + +_u = _u + ['ACE_HuntIR_monitor']; +_i = _i + [['','','CfgWeapons','Item',30,0,true,false,0,0,true]]; + +_u = _u + ['ACE_Javelin_CLU']; +_i = _i + [['','','CfgWeapons','Special',300,3,true,false,0,0,true]]; + +_u = _u + ['ACE_SpottingScope']; +_i = _i + [['','','CfgWeapons','Item',15,0,true,false,0,0,true]]; + +_u = _u + ['ACE_Kestrel4500']; +_i = _i + [['','','CfgWeapons','Item',25,0,true,false,0,0,true]]; + +for '_z' from 0 to (count _u)-1 do { + _info = (_i select _z); + _element = (_u select _z); + _config = (_info select 2); + + if (isClass (configFile >> _config >> _element)) then { + //--- The loadout has a prefix since we can have two elements with the same name but with different class. + _get = _element Call GetNamespace; + _proceed = false; + _prefix = ""; + + if (isNil '_get') then { + _proceed = true; + } else { + //--- Two elements can have the same name, like "Javelin(Weapon) >> Javelin (Magazine)", if two elements are found, we compare the class to see if they're already defined or not. + if ((_get select 2) == _config) then { + diag_log Format ["[WFBE (INIT)][frameno:%3 | ticktime:%4] Core_ACE_G: Duplicated Loadout Element found '%1' for class '%2'",_element,_config,diag_frameno,diag_tickTime]; + } else { + //--- Is it a special class? + _get = (_element+'_W') Call GetNamespace; + if (isNil '_get') then { + _prefix = '_W'; + _proceed = true; + } else { + diag_log Format ["[WFBE (INIT)][frameno:%3 | ticktime:%4] Core_ACE_G: Duplicated Loadout Element found '%1' for class '%2'",_element,_config,diag_frameno,diag_tickTime]; + }; + }; + }; + + if (_proceed) then { + //--- A custom loadout displayName can be set. + if ((_info select 1) == '') then {_info set [0, [_element,'displayName',_config] Call GetConfigInfo]}; + _info set [1, [_element,'picture',_config] Call GetConfigInfo]; + + if (_config == 'CfgWeapons') then { + //--- A custom loadout magazine can be set. + if (typeName (_info select 8) != 'ARRAY') then { + _info set [8, getArray (configFile >> _config >> _element >> 'magazines')]; + }; + }; + + //--- Set the magazine space. + if (_config == 'CfgMagazines') then { + if ((_info select 3) in ['CfgMagazines','primary','secondary','sidearm']) then { + _info set [9, ceil(getNumber(configFile >> _config >> _element >> 'type') / 256)]; + }; + }; + + [_element+_prefix,_info] Call SetNamespace; + }; + } else { + diag_log Format ["[WFBE (ERROR)][frameno:%3 | ticktime:%4] Core_ACE_G: Loadout Element '%1' with class '%2' is not a defined a class!",_element,_config,diag_frameno,diag_tickTime]; + }; +}; + +diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_ACE_G: Loadout Initialization (%1 Elements) - [Done]",count _u,diag_frameno,diag_tickTime]; \ No newline at end of file diff --git a/Common/Config/Core_Gear/Core_Arrowhead_G.sqf b/Common/Config/Core_Gear/Core_Arrowhead_G.sqf new file mode 100644 index 0000000..c946dbb --- /dev/null +++ b/Common/Config/Core_Gear/Core_Arrowhead_G.sqf @@ -0,0 +1,801 @@ +private ["_config","_element","_get","_i","_info","_prefix","_proceed","_u"]; + +_u = []; +_i = []; + +/* _i = _i + [[label, picture, config, belong to type, cost, upgrade level, allowed in camps, belong to the handgun pool, magazines, magazine space, allow two weapons]]*/ + +/* Magazines - West */ +_u = _u + ['5Rnd_762x51_M24']; +_i = _i + [['','','CfgMagazines','primary',7,0,true,false,0,0,true]]; + +_u = _u + ['6Rnd_HE_M203']; +_i = _i + [['','','CfgMagazines','primary',40,0,true,false,0,0,true]]; + +_u = _u + ['6Rnd_FlareWhite_M203']; +_i = _i + [['','','CfgMagazines','primary',30,0,true,false,0,0,true]]; + +_u = _u + ['6Rnd_FlareGreen_M203']; +_i = _i + [['','','CfgMagazines','primary',30,0,true,false,0,0,true]]; + +_u = _u + ['6Rnd_FlareRed_M203']; +_i = _i + [['','','CfgMagazines','primary',30,0,true,false,0,0,true]]; + +_u = _u + ['6Rnd_FlareYellow_M203']; +_i = _i + [['','','CfgMagazines','primary',30,0,true,false,0,0,true]]; + +_u = _u + ['6Rnd_Smoke_M203']; +_i = _i + [['','','CfgMagazines','primary',35,0,true,false,0,0,true]]; + +_u = _u + ['6Rnd_SmokeRed_M203']; +_i = _i + [['','','CfgMagazines','primary',35,0,true,false,0,0,true]]; + +_u = _u + ['6Rnd_SmokeGreen_M203']; +_i = _i + [['','','CfgMagazines','primary',35,0,true,false,0,0,true]]; + +_u = _u + ['6Rnd_SmokeYellow_M203']; +_i = _i + [['','','CfgMagazines','primary',35,0,true,false,0,0,true]]; + +_u = _u + ['8Rnd_B_Beneli_Pellets']; +_i = _i + [['','','CfgMagazines','primary',3,0,true,false,0,0,true]]; + +_u = _u + ['10Rnd_127x99_m107']; +_i = _i + [['','','CfgMagazines','primary',18,0,true,false,0,0,true]]; + +_u = _u + ['20Rnd_762x51_B_SCAR']; +_i = _i + [['','','CfgMagazines','primary',6,0,true,false,0,0,true]]; + +_u = _u + ['20Rnd_762x51_DMR']; +_i = _i + [['','','CfgMagazines','primary',9,0,true,false,0,0,true]]; + +_u = _u + ['20Rnd_762x51_SB_SCAR']; +_i = _i + [['','','CfgMagazines','primary',8,0,true,false,0,0,true]]; + +_u = _u + ['20Rnd_556x45_Stanag']; +_i = _i + [['','','CfgMagazines','primary',4,0,true,false,0,0,true]]; + +_u = _u + ['30Rnd_556x45_G36']; +_i = _i + [['','','CfgMagazines','primary',7,0,true,false,0,0,true]]; + +_u = _u + ['30Rnd_556x45_G36SD']; +_i = _i + [['','','CfgMagazines','primary',9,0,true,false,0,0,true]]; + +_u = _u + ['30Rnd_556x45_Stanag']; +_i = _i + [['','','CfgMagazines','primary',5,0,true,false,0,0,true]]; + +_u = _u + ['30Rnd_556x45_StanagSD']; +_i = _i + [['','','CfgMagazines','primary',7,0,true,false,0,0,true]]; + +_u = _u + ['100Rnd_556x45_BetaCMag']; +_i = _i + [['','','CfgMagazines','primary',16,0,true,false,0,0,true]]; + +_u = _u + ['100Rnd_556x45_M249']; +_i = _i + [['','','CfgMagazines','primary',12,0,true,false,0,0,true]]; + +_u = _u + ['100Rnd_762x51_M240']; +_i = _i + [['','','CfgMagazines','primary',14,0,true,false,0,0,true]]; + +_u = _u + ['200Rnd_556x45_M249']; +_i = _i + [['','','CfgMagazines','primary',24,0,true,false,0,0,true]]; + +_u = _u + ['Laserbatteries']; +_i = _i + [['','','CfgMagazines','secondary',20,3,true,false,0,0,true]]; + +_u = _u + ['Javelin']; +_i = _i + [['','','CfgMagazines','secondary',290,3,false,false,0,0,true]]; + +_u = _u + ['M136']; +_i = _i + [['','','CfgMagazines','secondary',50,0,true,false,0,0,true]]; + +_u = _u + ['MAAWS_HEAT']; +_i = _i + [['','','CfgMagazines','secondary',250,3,false,false,0,0,true]]; + +_u = _u + ['MAAWS_HEDP']; +_i = _i + [['','','CfgMagazines','secondary',275,2,false,false,0,0,true]]; + +_u = _u + ['Stinger']; +_i = _i + [['','','CfgMagazines','secondary',125,2,false,false,0,0,true]]; + +_u = _u + ['7Rnd_45ACP_1911']; +_i = _i + [['','','CfgMagazines','sidearm',2,0,true,true,0,0,true]]; + +_u = _u + ['15Rnd_9x19_M9']; +_i = _i + [['','','CfgMagazines','sidearm',2,0,true,true,0,0,true]]; + +_u = _u + ['15Rnd_9x19_M9SD']; +_i = _i + [['','','CfgMagazines','sidearm',3,0,true,true,0,0,true]]; + +_u = _u + ['17Rnd_9x19_glock17']; +_i = _i + [['','','CfgMagazines','sidearm',3,0,true,true,0,0,true]]; + +if (WF_ACE) then +{ + _u = _u + ['ACE_Battery_Rangefinder']; + _i = _i + [['','','CfgMagazines','primary',2,0,true,false,0,0,true]]; + + _u = _u + ['ACE_HuntIR_M203']; + _i = _i + [['','','CfgMagazines','CfgMagazines',50,2,true,true,0,0,true]]; +}; + +/* Magazines - East */ +_u = _u + ['5Rnd_127x108_KSVK']; +_i = _i + [['','','CfgMagazines','primary',11,0,true,false,0,0,true]]; + +_u = _u + ['8Rnd_B_Saiga12_Pellets']; +_i = _i + [['','','CfgMagazines','primary',3,0,true,false,0,0,true]]; + +_u = _u + ['10Rnd_762x54_SVD']; +_i = _i + [['','','CfgMagazines','primary',6,0,true,false,0,0,true]]; + +_u = _u + ['10x_303']; +_i = _i + [['','','CfgMagazines','primary',2,0,true,false,0,0,true]]; + +_u = _u + ['20Rnd_762x51_FNFAL']; +_i = _i + [['','','CfgMagazines','primary',4,0,true,false,0,0,true]]; + +_u = _u + ['20Rnd_9x39_SP5_VSS']; +_i = _i + [['','','CfgMagazines','primary',9,0,true,false,0,0,true]]; + +_u = _u + ['30Rnd_545x39_AK']; +_i = _i + [['','','CfgMagazines','primary',4,0,true,false,0,0,true]]; + +_u = _u + ['30Rnd_545x39_AKSD']; +_i = _i + [['','','CfgMagazines','primary',6,0,true,false,0,0,true]]; + +_u = _u + ['30Rnd_762x39_AK47']; +_i = _i + [['','','CfgMagazines','primary',3,0,true,false,0,0,true]]; + +_u = _u + ['30Rnd_762x39_SA58']; +_i = _i + [['','','CfgMagazines','primary',6,0,true,false,0,0,true]]; + +_u = _u + ['75Rnd_545x39_RPK']; +_i = _i + [['','','CfgMagazines','primary',9,0,true,false,0,0,true]]; + +_u = _u + ['100Rnd_762x54_PK']; +_i = _i + [['','','CfgMagazines','primary',12,0,true,false,0,0,true]]; + +_u = _u + ['AT13']; +_i = _i + [['','','CfgMagazines','secondary',280,3,false,false,0,0,true]]; + +_u = _u + ['Dragon_EP1']; +_i = _i + [['','','CfgMagazines','secondary',155,1,false,false,0,0,true]]; + +_u = _u + ['Igla']; +_i = _i + [['','','CfgMagazines','secondary',110,2,false,false,0,0,true]]; + +_u = _u + ['OG7']; +_i = _i + [['','','CfgMagazines','secondary',95,2,false,false,0,0,true]]; + +_u = _u + ['PG7V']; +_i = _i + [['','','CfgMagazines','secondary',50,0,true,false,0,0,true]]; + +_u = _u + ['PG7VR']; +_i = _i + [['','','CfgMagazines','secondary',100,2,false,false,0,0,true]]; + +_u = _u + ['PG7VL']; +_i = _i + [['','','CfgMagazines','secondary',70,1,true,false,0,0,true]]; + +_u = _u + ['RPG18']; +_i = _i + [['','','CfgMagazines','secondary',40,0,true,false,0,0,true]]; + +_u = _u + ['Strela']; +_i = _i + [['','','CfgMagazines','secondary',100,0,false,false,0,0,true]]; + +_u = _u + ['6Rnd_45ACP']; +_i = _i + [['','','CfgMagazines','sidearm',2,0,true,true,0,0,true]]; + +_u = _u + ['8Rnd_9x18_Makarov']; +_i = _i + [['','','CfgMagazines','sidearm',2,0,true,true,0,0,true]]; + +_u = _u + ['8Rnd_9x18_MakarovSD']; +_i = _i + [['','','CfgMagazines','sidearm',3,0,true,true,0,0,true]]; + +_u = _u + ['10Rnd_B_765x17_Ball']; +_i = _i + [['','','CfgMagazines','sidearm',3,0,true,true,0,0,true]]; + +_u = _u + ['20Rnd_B_765x17_Ball']; +_i = _i + [['','','CfgMagazines','sidearm',4,0,true,true,0,0,true]]; + +_u = _u + ['30Rnd_9x19_UZI']; +_i = _i + [['','','CfgMagazines','sidearm',4,0,true,true,0,0,true]]; + +_u = _u + ['30Rnd_9x19_UZI_SD']; +_i = _i + [['','','CfgMagazines','sidearm',6,0,true,true,0,0,true]]; + +if (WF_ACE) then +{ + _u = _u + ['ACE_Battery_Rangefinder']; + _i = _i + [['','','CfgMagazines','sidearm',2,0,true,true,0,0,true]]; +}; + +/* Primary weapons - West */ +_u = _u + ['G36A_camo']; +_i = _i + [['','','CfgWeapons','',225,1,false,false,0,0,true]]; + +_u = _u + ['G36C_camo']; +_i = _i + [['','','CfgWeapons','',195,0,true,false,0,0,true]]; + +_u = _u + ['G36_C_SD_camo']; +_i = _i + [['','','CfgWeapons','',210,2,false,false,0,0,true]]; + +_u = _u + ['G36K_camo']; +_i = _i + [['','','CfgWeapons','',205,1,false,false,0,0,true]]; + +_u = _u + ['M16A2']; +_i = _i + [['','','CfgWeapons','',60,0,true,false,0,0,true]]; + +_u = _u + ['M16A2GL']; +_i = _i + [['','','CfgWeapons','',70,0,true,false,0,0,true]]; + +_u = _u + ['M24_des_EP1']; +_i = _i + [['','','CfgWeapons','',140,0,true,false,0,0,true]]; + +_u = _u + ['M60A4_EP1']; +_i = _i + [['','','CfgWeapons','',170,0,true,false,0,0,false]]; + +_u = _u + ['m240_scoped_EP1']; +_i = _i + [['','','CfgWeapons','',165,0,true,false,0,0,false]]; + +_u = _u + ['M249_EP1']; +_i = _i + [['','','CfgWeapons','',185,2,true,false,0,0,false]]; + +_u = _u + ['M249_m145_EP1']; +_i = _i + [['','','CfgWeapons','',210,2,true,false,0,0,false]]; + +_u = _u + ['M249_TWS_EP1']; +_i = _i + [['','','CfgWeapons','',285,3,false,false,0,0,false]]; + +_u = _u + ['M4A1']; +_i = _i + [['','','CfgWeapons','',95,0,true,false,0,0,true]]; + +_u = _u + ['M4A3_CCO_EP1']; +_i = _i + [['','','CfgWeapons','',115,0,true,false,0,0,true]]; + +_u = _u + ['M4A3_RCO_GL_EP1']; +_i = _i + [['','','CfgWeapons','',125,1,true,false,0,0,true]]; + +_u = _u + ['m107']; +_i = _i + [['','','CfgWeapons','',310,3,false,false,0,0,true]]; + +_u = _u + ['m107_TWS_EP1']; +_i = _i + [['','','CfgWeapons','',410,3,false,false,0,0,false]]; + +_u = _u + ['Mk_48_DES_EP1']; +_i = _i + [['','','CfgWeapons','',220,3,false,false,0,0,false]]; + +_u = _u + ['MG36_camo']; +_i = _i + [['','','CfgWeapons','',240,2,false,false,0,0,false]]; + +_u = _u + ['M32_EP1']; +_i = _i + [['','','CfgWeapons','',210,2,false,false,["6Rnd_HE_M203","6Rnd_FlareWhite_M203","6Rnd_FlareGreen_M203","6Rnd_FlareRed_M203","6Rnd_FlareYellow_M203","6Rnd_Smoke_M203","6Rnd_SmokeRed_M203","6Rnd_SmokeGreen_M203","6Rnd_SmokeYellow_M203"],0,true]]; + +_u = _u + ['M79_EP1']; +_i = _i + [['','','CfgWeapons','',80,0,true,false,[],0,true]]; + +/* Mk13 use handgun pool ammos */ +_u = _u + ['Mk13_EP1']; +_i = _i + [['','','CfgWeapons','',110,0,true,false,[],0,true]]; + +_u = _u + ['M14_EP1']; +_i = _i + [['','','CfgWeapons','',190,0,true,false,0,0,true]]; + +_u = _u + ['M110_TWS_EP1']; +_i = _i + [['','','CfgWeapons','',350,3,false,false,0,0,true]]; + +_u = _u + ['M110_NVG_EP1']; +_i = _i + [['','','CfgWeapons','',290,2,false,false,0,0,true]]; + +_u = _u + ['SCAR_L_CQC']; +_i = _i + [['','','CfgWeapons','',190,0,true,false,0,0,true]]; + +_u = _u + ['SCAR_L_CQC_Holo']; +_i = _i + [['','','CfgWeapons','',210,1,true,false,0,0,true]]; + +_u = _u + ['SCAR_L_STD_Mk4CQT']; +_i = _i + [['','','CfgWeapons','',215,2,true,false,0,0,true]]; + +_u = _u + ['SCAR_L_STD_EGLM_RCO']; +_i = _i + [['','','CfgWeapons','',230,1,true,false,0,0,true]]; + +_u = _u + ['SCAR_L_CQC_EGLM_Holo']; +_i = _i + [['','','CfgWeapons','',245,1,true,false,0,0,true]]; + +_u = _u + ['SCAR_L_STD_EGLM_TWS']; +_i = _i + [['','','CfgWeapons','',345,3,true,false,0,0,true]]; + +_u = _u + ['SCAR_L_STD_HOLO']; +_i = _i + [['','','CfgWeapons','',215,1,true,false,0,0,true]]; + +_u = _u + ['SCAR_H_CQC_CCO']; +_i = _i + [['','','CfgWeapons','',225,1,true,false,0,0,true]]; + +_u = _u + ['SCAR_H_CQC_CCO_SD']; +_i = _i + [['','','CfgWeapons','',250,2,true,false,0,0,true]]; + +_u = _u + ['SCAR_H_STD_EGLM_Spect']; +_i = _i + [['','','CfgWeapons','',280,2,true,false,0,0,true]]; + +_u = _u + ['SCAR_H_LNG_Sniper']; +_i = _i + [['','','CfgWeapons','',275,2,true,false,0,0,true]]; + +_u = _u + ['SCAR_H_LNG_Sniper_SD']; +_i = _i + [['','','CfgWeapons','',295,3,true,false,0,0,true]]; + +_u = _u + ['SCAR_H_STD_TWS_SD']; +_i = _i + [['','','CfgWeapons','',395,3,true,false,0,0,true]]; + +/* Primary weapons - East */ +_u = _u + ['AK_47_M']; +_i = _i + [['','','CfgWeapons','',40,0,true,false,0,0,true]]; + +_u = _u + ['AK_47_S']; +_i = _i + [['','','CfgWeapons','',50,0,true,false,0,0,true]]; + +_u = _u + ['AK_74']; +_i = _i + [['','','CfgWeapons','',60,0,true,false,0,0,true]]; + +_u = _u + ['AK_74_GL']; +_i = _i + [['','','CfgWeapons','',70,0,true,false,0,0,true]]; + +_u = _u + ['AK_74_GL_kobra']; +_i = _i + [['','','CfgWeapons','',85,0,true,false,0,0,true]]; + +_u = _u + ['AKS_74']; +_i = _i + [['','','CfgWeapons','',80,0,true,false,0,0,true]]; + +_u = _u + ['AKS_74_GOSHAWK']; +_i = _i + [['','','CfgWeapons','',180,2,true,false,0,0,true]]; + +_u = _u + ['AKS_74_kobra']; +_i = _i + [['','','CfgWeapons','',90,0,true,false,0,0,true]]; + +_u = _u + ['AKS_74_NSPU']; +_i = _i + [['','','CfgWeapons','',145,1,true,false,0,0,true]]; + +_u = _u + ['AKS_74_pso']; +_i = _i + [['','','CfgWeapons','',105,1,true,false,0,0,true]]; + +_u = _u + ['AKS_74_U']; +_i = _i + [['','','CfgWeapons','',115,0,true,false,0,0,true]]; + +_u = _u + ['FN_FAL']; +_i = _i + [['','','CfgWeapons','',110,0,true,false,0,0,true]]; + +_u = _u + ['FN_FAL_ANPVS4']; +_i = _i + [['','','CfgWeapons','',140,1,true,false,0,0,true]]; + +_u = _u + ['LeeEnfield']; +_i = _i + [['','','CfgWeapons','',25,0,true,false,0,0,true]]; + +_u = _u + ['PK']; +_i = _i + [['','','CfgWeapons','',190,0,true,false,0,0,false]]; + +_u = _u + ['RPK_74']; +_i = _i + [['','','CfgWeapons','',185,1,true,false,0,0,true]]; + +_u = _u + ['Sa58P_EP1']; +_i = _i + [['','','CfgWeapons','',110,0,true,false,0,0,true]]; + +_u = _u + ['Sa58V_EP1']; +_i = _i + [['','','CfgWeapons','',120,0,true,false,0,0,true]]; + +_u = _u + ['Sa58V_RCO_EP1']; +_i = _i + [['','','CfgWeapons','',155,1,true,false,0,0,true]]; + +_u = _u + ['Sa58V_CCO_EP1']; +_i = _i + [['','','CfgWeapons','',145,1,true,false,0,0,true]]; + +_u = _u + ['SVD']; +_i = _i + [['','','CfgWeapons','',160,1,true,false,0,0,true]]; + +_u = _u + ['SVD_des_EP1']; +_i = _i + [['','','CfgWeapons','',180,2,false,false,0,0,true]]; + +_u = _u + ['SVD_NSPU_EP1']; +_i = _i + [['','','CfgWeapons','',210,2,false,false,0,0,true]]; + +_u = _u + ['ksvk']; +_i = _i + [['','','CfgWeapons','',255,3,false,false,0,0,false]]; + +/* Secondary weapons - West */ +_u = _u + ['Javelin']; +_i = _i + [['','','CfgWeapons','',290,3,false,false,0,0,false]]; + +_u = _u + ['Laserdesignator']; +_i = _i + [['','','CfgWeapons','',275,3,true,false,0,0,true]]; + +_u = _u + ['M136']; +_i = _i + [['','','CfgWeapons','',85,0,true,false,0,0,false]]; + +_u = _u + ['MAAWS']; +_i = _i + [['','','CfgWeapons','',350,2,false,false,0,0,false]]; + +_u = _u + ['Stinger']; +_i = _i + [['','','CfgWeapons','',250,2,false,false,0,0,false]]; + +if(WF_ACE) then +{ + _u = _u + ['ACE_Rucksack_MOLLE_Brown']; + _i = _i + [['','','CfgWeapons','',80,1,true,false,0,0,false]]; + + _u = _u + ['ACE_Coyote_Pack']; + _i = _i + [['','','CfgWeapons','',70,0,true,false,0,0,false]]; + + _u = _u + ['ACE_CharliePack']; + _i = _i + [['','','CfgWeapons','',90,2,true,false,0,0,false]]; + + _u = _u + ['ACE_M252Proxy']; + _i = _i + [['','','CfgWeapons','',600,1,true,false,0,0,false]]; + + _u = _u + ['ACE_M252TripodProxy']; + _i = _i + [['','','CfgWeapons','',40,1,true,false,0,0,false]]; + + _u = _u + ['ACE_M2HBProxy']; + _i = _i + [['','','CfgWeapons','',140,0,true,false,0,0,false]]; + + _u = _u + ['ACE_M3TripodProxy']; + _i = _i + [['','','CfgWeapons','',25,0,true,false,0,0,false]]; + + _u = _u + ['ACE_M220Proxy']; + _i = _i + [['','','CfgWeapons','',500,2,true,false,0,0,false]]; + + _u = _u + ['ACE_M220TripodProxy']; + _i = _i + [['','','CfgWeapons','',40,2,true,false,0,0,false]]; +} +else +{ + _u = _u + ['US_Assault_Pack_EP1']; + _i = _i + [['','','CfgVehicles','',80,1,true,false,0,0,false]]; + + _u = _u + ['US_Patrol_Pack_EP1']; + _i = _i + [['','','CfgVehicles','',70,0,true,false,0,0,false]]; + + _u = _u + ['US_Backpack_EP1']; + _i = _i + [['','','CfgVehicles','',90,2,true,false,0,0,false]]; + + _u = _u + ['Tripod_Bag']; + _i = _i + [['','','CfgVehicles','',25,0,true,false,0,0,false]]; + + _u = _u + ['M2HD_mini_TriPod_US_Bag_EP1']; + _i = _i + [['','','CfgVehicles','',155,0,false,false,0,0,false]]; + + _u = _u + ['M2StaticMG_US_Bag_EP1']; + _i = _i + [['','','CfgVehicles','',190,0,false,false,0,0,false]]; + + _u = _u + ['MK19_TriPod_US_Bag_EP1']; + _i = _i + [['','','CfgVehicles','',450,1,false,false,0,0,false]]; + + _u = _u + ['TOW_TriPod_US_Bag_EP1']; + _i = _i + [['','','CfgVehicles','',600,2,false,false,0,0,false]]; + + _u = _u + ['M252_US_Bag_EP1']; + _i = _i + [['','','CfgVehicles','',750,1,false,false,0,0,false]]; +}; + +/* Secondary weapons - East */ +_u = _u + ['Igla']; +_i = _i + [['','','CfgWeapons','',250,2,false,false,0,0,false]]; + +_u = _u + ['M47Launcher_EP1']; +_i = _i + [['','','CfgWeapons','',275,2,false,false,0,0,false]]; + +_u = _u + ['MetisLauncher']; +_i = _i + [['','','CfgWeapons','',350,3,false,false,0,0,false]]; + +_u = _u + ['RPG7V']; +_i = _i + [['','','CfgWeapons','',90,1,true,false,0,0,false]]; + +_u = _u + ['RPG18']; +_i = _i + [['','','CfgWeapons','',50,0,true,false,0,0,false]]; + +_u = _u + ['Strela']; +_i = _i + [['','','CfgWeapons','',230,2,false,false,0,0,false]]; + +if(WF_ACE) then +{ + _u = _u + ['ACE_Rucksack_RD90']; + _i = _i + [['','','CfgWeapons','',80,1,true,false,0,0,false]]; + + _u = _u + ['ACE_Rucksack_RD54']; + _i = _i + [['','','CfgWeapons','',70,0,true,false,0,0,false]]; + + _u = _u + ['ACE_Rucksack_RD99']; + _i = _i + [['','','CfgWeapons','',90,2,true,false,0,0,false]]; + + _u = _u + ['ACE_2b14Proxy']; + _i = _i + [['','','CfgWeapons','',600,1,true,false,0,0,false]]; + + _u = _u + ['ACE_2b14TripodProxy']; + _i = _i + [['','','CfgWeapons','',40,1,true,false,0,0,false]]; + + _u = _u + ['ACE_KORDProxy']; + _i = _i + [['','','CfgWeapons','',140,0,true,false,0,0,false]]; + + _u = _u + ['ACE_6T7TripodProxy']; + _i = _i + [['','','CfgWeapons','',25,0,true,false,0,0,false]]; + + _u = _u + ['ACE_KonkursTripodProxy']; + _i = _i + [['','','CfgWeapons','',500,2,true,false,0,0,false]]; +} +else +{ + _u = _u + ['TK_Assault_Pack_EP1']; + _i = _i + [['','','CfgVehicles','',80,1,true,false,0,0,false]]; + + _u = _u + ['TK_RPG_Backpack_EP1']; + _i = _i + [['','','CfgVehicles','',70,0,true,false,0,0,false]]; + + _u = _u + ['TK_ALICE_Pack_EP1']; + _i = _i + [['','','CfgVehicles','',90,2,true,false,0,0,false]]; + + _u = _u + ['Tripod_Bag']; + _i = _i + [['','','CfgVehicles','',40,0,false,false,0,0,false]]; + + _u = _u + ['KORD_TK_Bag_EP1']; + _i = _i + [['','','CfgVehicles','',155,0,false,false,0,0,false]]; + + _u = _u + ['KORD_high_TK_Bag_EP1']; + _i = _i + [['','','CfgVehicles','',190,0,false,false,0,0,false]]; + + _u = _u + ['SPG9_TK_INS_Bag_EP1']; + _i = _i + [['','','CfgVehicles','',410,1,false,false,0,0,false]]; + + _u = _u + ['AGS_TK_Bag_EP1']; + _i = _i + [['','','CfgVehicles','',490,1,false,false,0,0,false]]; + + _u = _u + ['Metis_TK_Bag_EP1']; + _i = _i + [['','','CfgVehicles','',600,2,false,false,0,0,false]]; + + _u = _u + ['2b14_82mm_TK_Bag_EP1']; + _i = _i + [['','','CfgVehicles','',750,1,false,false,0,0,false]]; +}; + +/* Pistols - West */ +_u = _u + ['Colt1911']; +_i = _i + [['','','CfgWeapons','',15,0,true,false,0,0,true]]; + +_u = _u + ['M9']; +_i = _i + [['','','CfgWeapons','',20,0,true,false,0,0,true]]; + +_u = _u + ['M9SD']; +_i = _i + [['','','CfgWeapons','',25,0,true,false,0,0,true]]; + +_u = _u + ['glock17_EP1']; +_i = _i + [['','','CfgWeapons','',35,1,true,false,0,0,true]]; + +/* Pistols - East */ +_u = _u + ['Makarov']; +_i = _i + [['','','CfgWeapons','',8,0,true,false,0,0,true]]; + +_u = _u + ['MakarovSD']; +_i = _i + [['','','CfgWeapons','',15,0,true,false,0,0,true]]; + +_u = _u + ['revolver_EP1']; +_i = _i + [['','','CfgWeapons','',10,0,true,false,0,0,true]]; + +_u = _u + ['revolver_gold_EP1']; +_i = _i + [['','','CfgWeapons','',10,1,true,false,0,0,true]]; + +_u = _u + ['Sa61_EP1']; +_i = _i + [['','','CfgWeapons','',25,0,true,false,0,0,true]]; + +_u = _u + ['UZI_EP1']; +_i = _i + [['','','CfgWeapons','',55,1,true,false,["30Rnd_9x19_UZI","30Rnd_9x19_UZI_SD"],0,true]]; + +_u = _u + ['UZI_SD_EP1']; +_i = _i + [['','','CfgWeapons','',65,2,true,false,["30Rnd_9x19_UZI_SD"],0,true]]; + +/* Misc - West */ +_u = _u + ['HandGrenade_West']; +_i = _i + [['','','CfgMagazines','CfgMagazines',10,0,true,false,0,0,true]]; + +_u = _u + ['HandGrenade_Stone']; +_i = _i + [['','','CfgMagazines','CfgMagazines',1,0,true,false,0,0,true]]; + +_u = _u + ['IR_Strobe_Target']; +_i = _i + [['','','CfgMagazines','CfgMagazines',25,0,true,false,0,0,true]]; + +_u = _u + ['IR_Strobe_Marker']; +_i = _i + [['','','CfgMagazines','CfgMagazines',35,0,true,false,0,0,true]]; + +_u = _u + ['SmokeShell']; +_i = _i + [['','','CfgMagazines','CfgMagazines',8,0,true,false,0,0,true]]; + +_u = _u + ['SmokeShellRed']; +_i = _i + [['','','CfgMagazines','CfgMagazines',8,0,true,false,0,0,true]]; + +_u = _u + ['SmokeShellGreen']; +_i = _i + [['','','CfgMagazines','CfgMagazines',8,0,true,false,0,0,true]]; + +_u = _u + ['SmokeShellBlue']; +_i = _i + [['','','CfgMagazines','CfgMagazines',8,0,true,false,0,0,true]]; + +_u = _u + ['SmokeShellYellow']; +_i = _i + [['','','CfgMagazines','CfgMagazines',8,0,true,false,0,0,true]]; + +_u = _u + ['SmokeShellOrange']; +_i = _i + [['','','CfgMagazines','CfgMagazines',8,0,true,false,0,0,true]]; + +_u = _u + ['SmokeShellPurple']; +_i = _i + [['','','CfgMagazines','CfgMagazines',8,0,true,false,0,0,true]]; + +_u = _u + ['FlareWhite_M203']; +_i = _i + [['','','CfgMagazines','CfgMagazines',9,0,true,true,0,0,true]]; + +_u = _u + ['FlareYellow_M203']; +_i = _i + [['','','CfgMagazines','CfgMagazines',9,0,true,true,0,0,true]]; + +_u = _u + ['FlareGreen_M203']; +_i = _i + [['','','CfgMagazines','CfgMagazines',9,0,true,true,0,0,true]]; + +_u = _u + ['FlareRed_M203']; +_i = _i + [['','','CfgMagazines','CfgMagazines',9,0,true,true,0,0,true]]; + +_u = _u + ['1Rnd_HE_M203']; +_i = _i + [['','','CfgMagazines','CfgMagazines',15,0,true,true,0,0,true]]; + +_u = _u + ['1Rnd_Smoke_M203']; +_i = _i + [['','','CfgMagazines','CfgMagazines',12,0,true,true,0,0,true]]; + +_u = _u + ['1Rnd_SmokeRed_M203']; +_i = _i + [['','','CfgMagazines','CfgMagazines',12,0,true,true,0,0,true]]; + +_u = _u + ['1Rnd_SmokeGreen_M203']; +_i = _i + [['','','CfgMagazines','CfgMagazines',12,0,true,true,0,0,true]]; + +_u = _u + ['1Rnd_SmokeYellow_M203']; +_i = _i + [['','','CfgMagazines','CfgMagazines',12,0,true,true,0,0,true]]; + +if(WF_ACE) then +{ + _u = _u + ['ACE_Bandage']; + _i = _i + [['','','CfgMagazines','CfgMagazines',2,0,true,true,0,0,true]]; + + _u = _u + ['ACE_Epinephrine']; + _i = _i + [['','','CfgMagazines','CfgMagazines',20,0,true,true,0,0,true]]; + + _u = _u + ['ACE_Morphine']; + _i = _i + [['','','CfgMagazines','CfgMagazines',20,0,true,true,0,0,true]]; + + _u = _u + ['ACE_Medkit']; + _i = _i + [['','','CfgMagazines','CfgMagazines',50,0,true,true,0,0,true]]; +}; + +_u = _u + ['Mine']; +_i = _i + [['','','CfgMagazines','CfgMagazines',35,0,true,false,0,0,true]]; + +_u = _u + ['PipeBomb']; +_i = _i + [['','','CfgMagazines','CfgMagazines',50,0,true,false,0,0,true]]; + +_u = _u + ['Binocular']; +_i = _i + [['','','CfgWeapons','Special',10,0,true,false,0,0,true]]; + +_u = _u + ['NVGoggles']; +_i = _i + [['','','CfgWeapons','Special',20,0,true,false,0,0,true]]; + +_u = _u + ['Binocular_Vector']; +_i = _i + [['','','CfgWeapons','Special',50,1,true,false,0,0,true]]; + +_u = _u + ['ItemCompass']; +_i = _i + [['','','CfgWeapons','Item',4,0,true,false,0,0,true]]; + +_u = _u + ['ItemGPS']; +_i = _i + [['','','CfgWeapons','Item',25,0,true,false,0,0,true]]; + +_u = _u + ['ItemMap']; +_i = _i + [['','','CfgWeapons','Item',5,0,true,false,0,0,true]]; + +_u = _u + ['ItemRadio']; +_i = _i + [['','','CfgWeapons','Item',10,0,true,false,0,0,true]]; + +_u = _u + ['ItemWatch']; +_i = _i + [['','','CfgWeapons','Item',5,0,true,false,0,0,true]]; + +if (WF_ACE) then +{ + _u = _u + ['ACE_HuntIR_monitor']; + _i = _i + [['','','CfgWeapons','Item',50,2,true,false,0,0,true]]; + + _u = _u + ['ACE_Earplugs']; + _i = _i + [['','','CfgWeapons','Item',1,0,true,false,0,0,true]]; + + _u = _u + ['ACE_MX2A']; + _i = _i + [['','','CfgWeapons','Special',50,2,true,false,0,0,true]]; + + _u = _u + ['ACE_GlassesLHD_glasses']; + _i = _i + [['','','CfgWeapons','Item',5,0,true,false,0,0,true]]; + + _u = _u + ['ACE_GlassesTactical']; + _i = _i + [['','','CfgWeapons','Item',3,0,true,false,0,0,true]]; +}; + +/* Misc - East */ +_u = _u + ['HandGrenade_East']; +_i = _i + [['','','CfgMagazines','CfgMagazines',9,0,true,false,0,0,true]]; + +_u = _u + ['FlareWhite_GP25']; +_i = _i + [['','','CfgMagazines','CfgMagazines',8,0,true,true,0,0,true]]; + +_u = _u + ['FlareYellow_GP25']; +_i = _i + [['','','CfgMagazines','CfgMagazines',8,0,true,true,0,0,true]]; + +_u = _u + ['FlareGreen_GP25']; +_i = _i + [['','','CfgMagazines','CfgMagazines',8,0,true,true,0,0,true]]; + +_u = _u + ['FlareRed_GP25']; +_i = _i + [['','','CfgMagazines','CfgMagazines',8,0,true,true,0,0,true]]; + +_u = _u + ['1Rnd_HE_GP25']; +_i = _i + [['','','CfgMagazines','CfgMagazines',13,0,true,true,0,0,true]]; + +_u = _u + ['1Rnd_SMOKE_GP25']; +_i = _i + [['','','CfgMagazines','CfgMagazines',10,0,true,true,0,0,true]]; + +_u = _u + ['1Rnd_SMOKERED_GP25']; +_i = _i + [['','','CfgMagazines','CfgMagazines',10,0,true,true,0,0,true]]; + +_u = _u + ['1Rnd_SMOKEGREEN_GP25']; +_i = _i + [['','','CfgMagazines','CfgMagazines',10,0,true,true,0,0,true]]; + +_u = _u + ['1Rnd_SMOKEYELLOW_GP25']; +_i = _i + [['','','CfgMagazines','CfgMagazines',10,0,true,true,0,0,true]]; + +_u = _u + ['MineE']; +_i = _i + [['','','CfgMagazines','CfgMagazines',40,0,true,false,0,0,true]]; + +for '_z' from 0 to (count _u)-1 do { + _info = (_i select _z); + _element = (_u select _z); + _config = (_info select 2); + + if (isClass (configFile >> _config >> _element)) then { + //--- The loadout has a prefix since we can have two elements with the same name but with different class. + _get = _element Call GetNamespace; + _proceed = false; + _prefix = ""; + + if (isNil '_get') then { + _proceed = true; + } else { + //--- Two elements can have the same name, like "Javelin(Weapon) >> Javelin (Magazine)", if two elements are found, we compare the class to see if they're already defined or not. + if ((_get select 2) == _config) then { + diag_log Format ["[WFBE (INIT)][frameno:%3 | ticktime:%4] Core_Arrowhead_G: Duplicated Loadout Element found '%1' for class '%2'",_element,_config,diag_frameno,diag_tickTime]; + } else { + //--- Is it a special class? + _get = (_element+'_W') Call GetNamespace; + if (isNil '_get') then { + _prefix = '_W'; + _proceed = true; + } else { + diag_log Format ["[WFBE (INIT)][frameno:%3 | ticktime:%4] Core_Arrowhead_G: Duplicated Loadout Element found '%1' for class '%2'",_element,_config,diag_frameno,diag_tickTime]; + }; + }; + }; + + if (_proceed) then { + //--- A custom loadout displayName can be set. + if ((_info select 1) == '') then {_info set [0, [_element,'displayName',_config] Call GetConfigInfo]}; + _info set [1, [_element,'picture',_config] Call GetConfigInfo]; + + if (_config == 'CfgWeapons') then { + //--- A custom loadout magazine can be set. + if (typeName (_info select 8) != 'ARRAY') then { + _info set [8, getArray (configFile >> _config >> _element >> 'magazines')]; + }; + }; + + //--- Set the magazine space. + if (_config == 'CfgMagazines') then { + if ((_info select 3) in ['CfgMagazines','primary','secondary','sidearm']) then { + _info set [9, ceil(getNumber(configFile >> _config >> _element >> 'type') / 256)]; + }; + }; + + [_element+_prefix,_info] Call SetNamespace; + }; + } else { + diag_log Format ["[WFBE (ERROR)][frameno:%3 | ticktime:%4] Core_Arrowhead_G: Loadout Element '%1' with class '%2' is not a defined a class!",_element,_config,diag_frameno,diag_tickTime]; + }; +}; + +diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_Arrowhead_G: Loadout Initialization (%1 Elements) - [Done]",count _u,diag_frameno,diag_tickTime]; \ No newline at end of file diff --git a/Common/Config/Core_Gear/Core_BAF_G.sqf b/Common/Config/Core_Gear/Core_BAF_G.sqf new file mode 100644 index 0000000..f9581df --- /dev/null +++ b/Common/Config/Core_Gear/Core_BAF_G.sqf @@ -0,0 +1,155 @@ +private ["_config","_element","_get","_i","_info","_prefix","_proceed","_u"]; + +_u = []; +_i = []; + +/* _i = _i + [[label, picture, config, belong to type, cost, upgrade level, allowed in camps, belong to the handgun pool, magazines, magazine space, allow two weapons]]*/ + +/* Magazines - West */ +_u = _u + ['5Rnd_127x99_AS50']; +_i = _i + [['','','CfgMagazines','primary',14,0,true,false,0,0,true]]; + +_u = _u + ['5Rnd_86x70_L115A1']; +_i = _i + [['','','CfgMagazines','primary',8,0,true,false,0,0,true]]; + +_u = _u + ['200Rnd_556x45_L110A1']; +_i = _i + [['','','CfgMagazines','primary',12,0,true,false,0,0,true]]; + +_u = _u + ['NLAW']; +_i = _i + [['','','CfgMagazines','secondary',225,0,false,false,0,0,true]]; + +/* Primary Weapons - West */ +_u = _u + ['BAF_AS50_scoped']; +_i = _i + [['','','CfgWeapons','',380,2,true,false,0,0,false]]; + +_u = _u + ['BAF_AS50_TWS']; +_i = _i + [['','','CfgWeapons','',460,3,false,false,0,0,false]]; + +_u = _u + ['BAF_LRR_scoped']; +_i = _i + [['','','CfgWeapons','',350,2,true,false,0,0,true]]; + +_u = _u + ['BAF_LRR_scoped_W']; +_i = _i + [['','','CfgWeapons','',330,2,true,false,0,0,true]]; + +_u = _u + ['BAF_L85A2_RIS_Holo']; +_i = _i + [['','','CfgWeapons','',250,1,true,false,0,0,true]]; + +_u = _u + ['BAF_L85A2_UGL_Holo']; +_i = _i + [['','','CfgWeapons','',265,2,true,false,0,0,true]]; + +_u = _u + ['BAF_L85A2_RIS_SUSAT']; +_i = _i + [['','','CfgWeapons','',280,1,true,false,0,0,true]]; + +_u = _u + ['BAF_L85A2_UGL_SUSAT']; +_i = _i + [['','','CfgWeapons','',290,2,true,false,0,0,true]]; + +_u = _u + ['BAF_L85A2_RIS_ACOG']; +_i = _i + [['','','CfgWeapons','',300,1,true,false,0,0,true]]; + +_u = _u + ['BAF_L85A2_UGL_ACOG']; +_i = _i + [['','','CfgWeapons','',320,2,true,false,0,0,true]]; + +_u = _u + ['BAF_L85A2_RIS_CWS']; +_i = _i + [['','','CfgWeapons','',400,3,false,false,0,0,true]]; + +_u = _u + ['BAF_L86A2_ACOG']; +_i = _i + [['','','CfgWeapons','',330,2,true,false,0,0,true]]; + +_u = _u + ['BAF_L110A1_Aim']; +_i = _i + [['','','CfgWeapons','',350,2,false,false,0,0,false]]; + +_u = _u + ['BAF_L7A2_GPMG']; +_i = _i + [['','','CfgWeapons','',210,0,false,false,0,0,false]]; + +/* Secondary weapons - West */ +_u = _u + ['BAF_NLAW_Launcher']; +_i = _i + [['','','CfgWeapons','',500,2,false,false,0,0,false]]; + +_u = _u + ['BAF_AssaultPack_RifleAmmo']; +_i = _i + [['','','CfgVehicles','',95,2,true,false,0,0,false]]; + +_u = _u + ['BAF_L2A1_ACOG_minitripod_bag']; +_i = _i + [['','','CfgVehicles','',165,1,false,false,0,0,false]]; + +_u = _u + ['BAF_L2A1_ACOG_tripod_bag']; +_i = _i + [['','','CfgVehicles','',175,1,false,false,0,0,false]]; + +_u = _u + ['BAF_GPMG_Minitripod_D_bag']; +_i = _i + [['','','CfgVehicles','',175,0,false,false,0,0,false]]; + +_u = _u + ['BAF_GMG_ACOG_minitripod_bag']; +_i = _i + [['','','CfgVehicles','',175,1,false,false,0,0,false]]; + +/* Misc - West */ +_u = _u + ['BAF_L109A1_HE']; +_i = _i + [['','','CfgMagazines','CfgMagazines',12,0,true,false,0,0,true]]; + +/* Misc - East */ +_u = _u + ['BAF_ied_v1']; +_i = _i + [['','','CfgMagazines','CfgMagazines',25,0,true,false,0,0,true]]; + +_u = _u + ['BAF_ied_v2']; +_i = _i + [['','','CfgMagazines','CfgMagazines',35,1,true,false,0,0,true]]; + +_u = _u + ['BAF_ied_v3']; +_i = _i + [['','','CfgMagazines','CfgMagazines',45,2,true,false,0,0,true]]; + +_u = _u + ['BAF_ied_v4']; +_i = _i + [['','','CfgMagazines','CfgMagazines',55,2,true,false,0,0,true]]; + +for '_z' from 0 to (count _u)-1 do { + _info = (_i select _z); + _element = (_u select _z); + _config = (_info select 2); + + if (isClass (configFile >> _config >> _element)) then { + //--- The loadout has a prefix since we can have two elements with the same name but with different class. + _get = _element Call GetNamespace; + _proceed = false; + _prefix = ""; + + if (isNil '_get') then { + _proceed = true; + } else { + //--- Two elements can have the same name, like "Javelin(Weapon) >> Javelin (Magazine)", if two elements are found, we compare the class to see if they're already defined or not. + if ((_get select 2) == _config) then { + diag_log Format ["[WFBE (INIT)][frameno:%3 | ticktime:%4] Core_BAF_G: Duplicated Loadout Element found '%1' for class '%2'",_element,_config,diag_frameno,diag_tickTime]; + } else { + //--- Is it a special class? + _get = (_element+'_W') Call GetNamespace; + if (isNil '_get') then { + _prefix = '_W'; + _proceed = true; + } else { + diag_log Format ["[WFBE (INIT)][frameno:%3 | ticktime:%4] Core_BAF_G: Duplicated Loadout Element found '%1' for class '%2'",_element,_config,diag_frameno,diag_tickTime]; + }; + }; + }; + + if (_proceed) then { + //--- A custom loadout displayName can be set. + if ((_info select 1) == '') then {_info set [0, [_element,'displayName',_config] Call GetConfigInfo]}; + _info set [1, [_element,'picture',_config] Call GetConfigInfo]; + + if (_config == 'CfgWeapons') then { + //--- A custom loadout magazine can be set. + if (typeName (_info select 8) != 'ARRAY') then { + _info set [8, getArray (configFile >> _config >> _element >> 'magazines')]; + }; + }; + + //--- Set the magazine space. + if (_config == 'CfgMagazines') then { + if ((_info select 3) in ['CfgMagazines','primary','secondary','sidearm']) then { + _info set [9, ceil(getNumber(configFile >> _config >> _element >> 'type') / 256)]; + }; + }; + + [_element+_prefix,_info] Call SetNamespace; + }; + } else { + diag_log Format ["[WFBE (ERROR)][frameno:%3 | ticktime:%4] Core_BAF_G: Loadout Element '%1' with class '%2' is not a defined a class!",_element,_config,diag_frameno,diag_tickTime]; + }; +}; + +diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_BAF_G: Loadout Initialization (%1 Elements) - [Done]",count _u,diag_frameno,diag_tickTime]; \ No newline at end of file diff --git a/Common/Config/Core_Gear/Core_PMC_G.sqf b/Common/Config/Core_Gear/Core_PMC_G.sqf new file mode 100644 index 0000000..7dffb3c --- /dev/null +++ b/Common/Config/Core_Gear/Core_PMC_G.sqf @@ -0,0 +1,107 @@ +private ["_config","_element","_get","_i","_info","_prefix","_proceed","_u"]; + +_u = []; +_i = []; + +/* _i = _i + [[label, picture, config, belong to type, cost, upgrade level, allowed in camps, belong to the handgun pool, magazines, magazine space, allow two weapons]]*/ + +/* Magazines - West */ +_u = _u + ['20Rnd_B_AA12_Pellets']; +_i = _i + [['','','CfgMagazines','primary',8,0,true,false,0,0,true]]; + +_u = _u + ['20Rnd_B_AA12_74Slug']; +_i = _i + [['','','CfgMagazines','primary',10,0,true,false,0,0,true]]; + +_u = _u + ['20Rnd_B_AA12_HE']; +_i = _i + [['','','CfgMagazines','primary',45,3,true,false,0,0,true]]; + +/* Primary Weapons - West */ +_u = _u + ['AA12_PMC']; +_i = _i + [['','','CfgWeapons','',380,2,true,false,0,0,true]]; + +_u = _u + ['m8_carbine']; +_i = _i + [['','','CfgWeapons','',280,2,true,false,0,0,true]]; + +_u = _u + ['m8_carbineGL']; +_i = _i + [['','','CfgWeapons','',290,3,true,false,0,0,true]]; + +_u = _u + ['m8_compact']; +_i = _i + [['','','CfgWeapons','',285,2,false,false,0,0,true]]; + +_u = _u + ['m8_SAW']; +_i = _i + [['','','CfgWeapons','',310,3,false,false,0,0,false]]; + +_u = _u + ['m8_sharpshooter']; +_i = _i + [['','','CfgWeapons','',295,3,false,false,0,0,true]]; + +_u = _u + ['m8_carbine_pmc']; +_i = _i + [['','','CfgWeapons','',290,2,true,false,0,0,true]]; + +_u = _u + ['m8_compact_pmc']; +_i = _i + [['','','CfgWeapons','',295,2,false,false,0,0,true]]; + +_u = _u + ['m8_holo_sd']; +_i = _i + [['','','CfgWeapons','',335,3,false,false,0,0,true]]; + +_u = _u + ['m8_tws']; +_i = _i + [['','','CfgWeapons','',350,3,false,false,0,0,true]]; + +_u = _u + ['m8_tws_sd']; +_i = _i + [['','','CfgWeapons','',385,3,false,false,0,0,true]]; + +for '_z' from 0 to (count _u)-1 do { + _info = (_i select _z); + _element = (_u select _z); + _config = (_info select 2); + + if (isClass (configFile >> _config >> _element)) then { + //--- The loadout has a prefix since we can have two elements with the same name but with different class. + _get = _element Call GetNamespace; + _proceed = false; + _prefix = ""; + + if (isNil '_get') then { + _proceed = true; + } else { + //--- Two elements can have the same name, like "Javelin(Weapon) >> Javelin (Magazine)", if two elements are found, we compare the class to see if they're already defined or not. + if ((_get select 2) == _config) then { + diag_log Format ["[WFBE (INIT)][frameno:%3 | ticktime:%4] Core_PMC_G: Duplicated Loadout Element found '%1' for class '%2'",_element,_config,diag_frameno,diag_tickTime]; + } else { + //--- Is it a special class? + _get = (_element+'_W') Call GetNamespace; + if (isNil '_get') then { + _prefix = '_W'; + _proceed = true; + } else { + diag_log Format ["[WFBE (INIT)][frameno:%3 | ticktime:%4] Core_PMC_G: Duplicated Loadout Element found '%1' for class '%2'",_element,_config,diag_frameno,diag_tickTime]; + }; + }; + }; + + if (_proceed) then { + //--- A custom loadout displayName can be set. + if ((_info select 1) == '') then {_info set [0, [_element,'displayName',_config] Call GetConfigInfo]}; + _info set [1, [_element,'picture',_config] Call GetConfigInfo]; + + if (_config == 'CfgWeapons') then { + //--- A custom loadout magazine can be set. + if (typeName (_info select 8) != 'ARRAY') then { + _info set [8, getArray (configFile >> _config >> _element >> 'magazines')]; + }; + }; + + //--- Set the magazine space. + if (_config == 'CfgMagazines') then { + if ((_info select 3) in ['CfgMagazines','primary','secondary','sidearm']) then { + _info set [9, ceil(getNumber(configFile >> _config >> _element >> 'type') / 256)]; + }; + }; + + [_element+_prefix,_info] Call SetNamespace; + }; + } else { + diag_log Format ["[WFBE (ERROR)][frameno:%3 | ticktime:%4] Core_PMC_G: Loadout Element '%1' with class '%2' is not a defined a class!",_element,_config,diag_frameno,diag_tickTime]; + }; +}; + +diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_PMC_G: Loadout Initialization (%1 Elements) - [Done]",count _u,diag_frameno,diag_tickTime]; \ No newline at end of file diff --git a/Common/Config/Core_Gear/Core_Vanilla_G.sqf b/Common/Config/Core_Gear/Core_Vanilla_G.sqf new file mode 100644 index 0000000..33cbde4 --- /dev/null +++ b/Common/Config/Core_Gear/Core_Vanilla_G.sqf @@ -0,0 +1,811 @@ +private ["_config","_element","_get","_i","_info","_prefix","_proceed","_u"]; + +_u = []; +_i = []; + +/* _i = _i + [[label, picture, config, belong to type, cost, upgrade level, allowed in camps, belong to the handgun pool, magazines, magazine space, allow two weapons]]*/ + +/* Magazines - West */ +_u = _u + ['5Rnd_762x51_M24']; +_i = _i + [['','','CfgMagazines','primary',7,0,true,false,0,0,true]]; + +_u = _u + ['8Rnd_B_Beneli_74Slug']; +_i = _i + [['','','CfgMagazines','primary',4,0,true,false,0,0,true]]; + +_u = _u + ['10Rnd_127x99_m107']; +_i = _i + [['','','CfgMagazines','primary',18,0,true,false,0,0,true]]; + +_u = _u + ['20Rnd_762x51_DMR']; +_i = _i + [['','','CfgMagazines','primary',9,0,true,false,0,0,true]]; + +_u = _u + ['20Rnd_556x45_Stanag']; +_i = _i + [['','','CfgMagazines','primary',4,0,true,false,0,0,true]]; + +_u = _u + ['30Rnd_9x19_MP5']; +_i = _i + [['','','CfgMagazines','primary',3,0,true,false,0,0,true]]; + +_u = _u + ['30Rnd_9x19_MP5SD']; +_i = _i + [['','','CfgMagazines','primary',4,0,true,false,0,0,true]]; + +_u = _u + ['30Rnd_556x45_G36']; +_i = _i + [['','','CfgMagazines','primary',7,0,true,false,0,0,true]]; + +_u = _u + ['30Rnd_556x45_G36SD']; +_i = _i + [['','','CfgMagazines','primary',9,0,true,false,0,0,true]]; + +_u = _u + ['30Rnd_556x45_Stanag']; +_i = _i + [['','','CfgMagazines','primary',5,0,true,false,0,0,true]]; + +_u = _u + ['30Rnd_556x45_StanagSD']; +_i = _i + [['','','CfgMagazines','primary',7,0,true,false,0,0,true]]; + +_u = _u + ['100Rnd_556x45_BetaCMag']; +_i = _i + [['','','CfgMagazines','primary',16,0,true,false,0,0,true]]; + +_u = _u + ['100Rnd_762x51_M240']; +_i = _i + [['','','CfgMagazines','primary',14,0,true,false,0,0,true]]; + +_u = _u + ['200Rnd_556x45_M249']; +_i = _i + [['','','CfgMagazines','primary',24,0,true,false,0,0,true]]; + +_u = _u + ['Laserbatteries']; +_i = _i + [['','','CfgMagazines','secondary',20,3,true,false,0,0,true]]; + +_u = _u + ['Javelin']; +_i = _i + [['','','CfgMagazines','secondary',290,3,false,false,0,0,true]]; + +_u = _u + ['M136']; +_i = _i + [['','','CfgMagazines','secondary',50,0,true,false,0,0,true]]; + +_u = _u + ['SMAW_HEAA']; +_i = _i + [['','','CfgMagazines','secondary',225,2,false,false,0,0,true]]; + +_u = _u + ['SMAW_HEDP']; +_i = _i + [['','','CfgMagazines','secondary',250,3,false,false,0,0,true]]; + +_u = _u + ['Stinger']; +_i = _i + [['','','CfgMagazines','secondary',100,2,false,false,0,0,true]]; + +_u = _u + ['7Rnd_45ACP_1911']; +_i = _i + [['','','CfgMagazines','sidearm',2,0,true,true,0,0,true]]; + +_u = _u + ['15Rnd_9x19_M9']; +_i = _i + [['','','CfgMagazines','sidearm',2,0,true,true,0,0,true]]; + +_u = _u + ['15Rnd_9x19_M9SD']; +_i = _i + [['','','CfgMagazines','sidearm',3,0,true,true,0,0,true]]; + +if (WF_ACE) then +{ + _u = _u + ['ACE_SMAW_Spotting']; + _i = _i + [['','','CfgMagazines','CfgMagazines',5,2,true,true,0,0,true]]; + + _u = _u + ['ACE_30Rnd_556x45_T_G36']; + _i = _i + [['','','CfgMagazines','primary',9,0,true,false,0,0,true]]; + + _u = _u + ['ACE_30Rnd_556x45_S_G36']; + _i = _i + [['','','CfgMagazines','primary',8,0,true,false,0,0,true]]; + + _u = _u + ['ACE_20Rnd_762x51_T_HK417']; + _i = _i + [['','','CfgMagazines','primary',10,1,true,false,0,0,true]]; + + _u = _u + ['ACE_20Rnd_762x51_S_HK417']; + _i = _i + [['','','CfgMagazines','primary',9,1,true,false,0,0,true]]; + + _u = _u + ['ACE_5Rnd_762x51_T_M24']; + _i = _i + [['','','CfgMagazines','primary',8,0,true,false,0,0,true]]; + + _u = _u + ['ACE_20Rnd_762x51_B_HK417']; + _i = _i + [['','','CfgMagazines','primary',9,2,true,false,0,0,true]]; + + _u = _u + ['ACE_30Rnd_556x45_T_Stanag']; + _i = _i + [['','','CfgMagazines','primary',7,0,true,false,0,0,true]]; + + _u = _u + ['ACE_30Rnd_556x45_S_Stanag']; + _i = _i + [['','','CfgMagazines','primary',6,0,true,false,0,0,true]]; + + _u = _u + ['ACE_20Rnd_762x51_T_M110']; + _i = _i + [['','','CfgMagazines','primary',10,1,true,false,0,0,true]]; + + _u = _u + ['ACE_100Rnd_556x45_T_M249']; + _i = _i + [['','','CfgMagazines','primary',17,0,true,false,0,0,true]]; + + _u = _u + ['ACE_200Rnd_556x45_T_M249']; + _i = _i + [['','','CfgMagazines','primary',25,0,true,false,0,0,true]]; + + _u = _u + ['ACE_10Rnd_127x99_T_m107']; + _i = _i + [['','','CfgMagazines','primary',19,3,true,false,0,0,true]]; + + _u = _u + ['ACE_10Rnd_127x99_Raufoss_m107']; + _i = _i + [['','','CfgMagazines','primary',25,3,true,false,0,0,true]]; + + _u = _u + ['ACE_5Rnd_25x59_HEDP_Barrett']; + _i = _i + [['','','CfgMagazines','primary',35,3,true,false,0,0,true]]; + + _u = _u + ['ACE_M252HE_CSWDM']; + _i = _i + [['','','CfgMagazines','secondary',40,1,true,false,0,0,true]]; + + _u = _u + ['ACE_M252WP_CSWDM']; + _i = _i + [['','','CfgMagazines','secondary',15,1,true,false,0,0,true]]; + + _u = _u + ['ACE_M2_CSWDM']; + _i = _i + [['','','CfgMagazines','secondary',20,0,true,false,0,0,true]]; + + _u = _u + ['ACE_TOW_CSWDM']; + _i = _i + [['','','CfgMagazines','secondary',100,2,true,false,0,0,true]]; + + _u = _u + ['ACE_20Rnd_762x51_SB_SCAR']; + _i = _i + [['','','CfgMagazines','secondary',15,2,true,false,0,0,true]]; + + _u = _u + ['ACE_20Rnd_762x51_SB_S_SCAR']; + _i = _i + [['','','CfgMagazines','secondary',15,2,true,false,0,0,true]]; +}; + +/* Magazines - East */ +_u = _u + ['5x_22_LR_17_HMR']; +_i = _i + [['','','CfgMagazines','primary',3,0,true,false,0,0,true]]; + +_u = _u + ['5Rnd_127x108_KSVK']; +_i = _i + [['','','CfgMagazines','primary',11,0,true,false,0,0,true]]; + +_u = _u + ['8Rnd_B_Saiga12_74Slug']; +_i = _i + [['','','CfgMagazines','primary',5,0,true,false,0,0,true]]; + +_u = _u + ['10Rnd_9x39_SP5_VSS']; +_i = _i + [['','','CfgMagazines','primary',5,0,true,false,0,0,true]]; + +_u = _u + ['10Rnd_762x54_SVD']; +_i = _i + [['','','CfgMagazines','primary',6,0,true,false,0,0,true]]; + +_u = _u + ['20Rnd_9x39_SP5_VSS']; +_i = _i + [['','','CfgMagazines','primary',9,0,true,false,0,0,true]]; + +_u = _u + ['30Rnd_545x39_AK']; +_i = _i + [['','','CfgMagazines','primary',4,0,true,false,0,0,true]]; + +_u = _u + ['30Rnd_545x39_AKSD']; +_i = _i + [['','','CfgMagazines','primary',6,0,true,false,0,0,true]]; + +_u = _u + ['30Rnd_762x39_AK47']; +_i = _i + [['','','CfgMagazines','primary',3,0,true,false,0,0,true]]; + +_u = _u + ['64Rnd_9x19_Bizon']; +_i = _i + [['','','CfgMagazines','primary',6,0,true,false,0,0,true]]; + +_u = _u + ['64Rnd_9x19_SD_Bizon']; +_i = _i + [['','','CfgMagazines','primary',8,0,true,false,0,0,true]]; + +_u = _u + ['75Rnd_545x39_RPK']; +_i = _i + [['','','CfgMagazines','primary',9,0,true,false,0,0,true]]; + +_u = _u + ['100Rnd_762x54_PK']; +_i = _i + [['','','CfgMagazines','primary',12,0,true,false,0,0,true]]; + +_u = _u + ['AT13']; +_i = _i + [['','','CfgMagazines','secondary',280,3,false,false,0,0,true]]; + +_u = _u + ['Igla']; +_i = _i + [['','','CfgMagazines','secondary',110,2,false,false,0,0,true]]; + +_u = _u + ['OG7']; +_i = _i + [['','','CfgMagazines','secondary',95,2,false,false,0,0,true]]; + +_u = _u + ['PG7V']; +_i = _i + [['','','CfgMagazines','secondary',50,0,true,false,0,0,true]]; + +_u = _u + ['PG7VR']; +_i = _i + [['','','CfgMagazines','secondary',100,2,false,false,0,0,true]]; + +_u = _u + ['PG7VL']; +_i = _i + [['','','CfgMagazines','secondary',70,1,true,false,0,0,true]]; + +_u = _u + ['RPG18']; +_i = _i + [['','','CfgMagazines','secondary',40,0,true,false,0,0,true]]; + +_u = _u + ['Strela']; +_i = _i + [['','','CfgMagazines','secondary',100,0,false,false,0,0,true]]; + +_u = _u + ['8Rnd_9x18_Makarov']; +_i = _i + [['','','CfgMagazines','sidearm',2,0,true,true,0,0,true]]; + +_u = _u + ['8Rnd_9x18_MakarovSD']; +_i = _i + [['','','CfgMagazines','sidearm',3,0,true,true,0,0,true]]; + +if (WF_ACE) then +{ + _u = _u + ['ACE_75Rnd_762x39_B_AK47']; + _i = _i + [['','','CfgMagazines','primary',6,0,true,false,0,0,true]]; + + _u = _u + ['ACE_40Rnd_762x39_B_AK47']; + _i = _i + [['','','CfgMagazines','primary',4,0,true,false,0,0,true]]; + + _u = _u + ['ACE_75Rnd_762x39_T_AK47']; + _i = _i + [['','','CfgMagazines','primary',6,0,true,false,0,0,true]]; + + _u = _u + ['ACE_40Rnd_762x39_T_AK47']; + _i = _i + [['','','CfgMagazines','primary',5,0,true,false,0,0,true]]; + + _u = _u + ['ACE_30Rnd_762x39_T_AK47']; + _i = _i + [['','','CfgMagazines','primary',5,0,true,false,0,0,true]]; + + _u = _u + ['ACE_30Rnd_762x39_SD_AK47']; + _i = _i + [['','','CfgMagazines','primary',5,0,true,false,0,0,true]]; + + _u = _u + ['ACE_75Rnd_545x39_T_RPK']; + _i = _i + [['','','CfgMagazines','primary',10,0,true,false,0,0,true]]; + + _u = _u + ['ACE_30Rnd_545x39_T_AK']; + _i = _i + [['','','CfgMagazines','primary',5,0,true,false,0,0,true]]; + + _u = _u + ['ACE_10Rnd_762x54_T_SVD']; + _i = _i + [['','','CfgMagazines','primary',5,0,true,false,0,0,true]]; + + _u = _u + ['ACE_5Rnd_127x108_T_KSVK']; + _i = _i + [['','','CfgMagazines','primary',12,0,true,false,0,0,true]]; + + _u = _u + ['ACE_TBG7V']; + _i = _i + [['','','CfgMagazines','secondary',120,2,true,false,0,0,true]]; + + _u = _u + ['ACE_OG7_PGO7']; + _i = _i + [['','','CfgMagazines','secondary',95,1,true,false,0,0,true]]; + + _u = _u + ['ACE_PG7V_PGO7']; + _i = _i + [['','','CfgMagazines','secondary',50,0,true,false,0,0,true]]; + + _u = _u + ['ACE_PG7VL_PGO7']; + _i = _i + [['','','CfgMagazines','secondary',70,0,true,false,0,0,true]]; + + _u = _u + ['ACE_PG7VR_PGO7']; + _i = _i + [['','','CfgMagazines','secondary',100,0,true,false,0,0,true]]; + + _u = _u + ['ACE_TBG7V_PGO7']; + _i = _i + [['','','CfgMagazines','secondary',120,2,true,false,0,0,true]]; + + _u = _u + ['ACE_RPG29_PG29']; + _i = _i + [['','','CfgMagazines','secondary',85,2,true,false,0,0,true]]; + + _u = _u + ['ACE_RPG29_TBG29']; + _i = _i + [['','','CfgMagazines','secondary',110,2,true,false,0,0,true]]; + + _u = _u + ['ACE_2B14HE_CSWDM']; + _i = _i + [['','','CfgMagazines','secondary',40,1,true,false,0,0,true]]; + + _u = _u + ['ACE_2B14WP_CSWDM']; + _i = _i + [['','','CfgMagazines','secondary',15,1,true,false,0,0,true]]; + + _u = _u + ['ACE_KORD_CSWDM']; + _i = _i + [['','','CfgMagazines','secondary',20,0,true,false,0,0,true]]; + + _u = _u + ['ACE_Konkurs_CSWDM']; + _i = _i + [['','','CfgMagazines','secondary',100,2,true,false,0,0,true]]; + + _u = _u + ['ACE_30Rnd_762x39_T_SA58']; + _i = _i + [['','','CfgMagazines','secondary',5,1,true,false,0,0,true]]; +}; + +/* Primary weapons - West */ +_u = _u + ['DMR']; +_i = _i + [['','','CfgWeapons','',270,2,false,false,0,0,true]]; + +_u = _u + ['G36a']; +_i = _i + [['','','CfgWeapons','',225,1,false,false,0,0,true]]; + +_u = _u + ['G36C']; +_i = _i + [['','','CfgWeapons','',195,0,true,false,0,0,true]]; + +_u = _u + ['G36_C_SD_eotech']; +_i = _i + [['','','CfgWeapons','',210,2,false,false,0,0,true]]; + +_u = _u + ['G36K']; +_i = _i + [['','','CfgWeapons','',205,1,false,false,0,0,true]]; + +_u = _u + ['M16A2']; +_i = _i + [['','','CfgWeapons','',60,0,true,false,0,0,true]]; + +_u = _u + ['M16A2GL']; +_i = _i + [['','','CfgWeapons','',70,0,true,false,0,0,true]]; + +_u = _u + ['m16a4']; +_i = _i + [['','','CfgWeapons','',75,0,true,false,0,0,true]]; + +_u = _u + ['m16a4_acg']; +_i = _i + [['','','CfgWeapons','',85,1,true,false,0,0,true]]; + +_u = _u + ['M16A4_ACG_GL']; +_i = _i + [['','','CfgWeapons','',95,1,true,false,0,0,true]]; + +_u = _u + ['M16A4_GL']; +_i = _i + [['','','CfgWeapons','',90,0,true,false,0,0,true]]; + +_u = _u + ['M24']; +_i = _i + [['','','CfgWeapons','',140,0,true,false,0,0,true]]; + +_u = _u + ['M40A3']; +_i = _i + [['','','CfgWeapons','',155,2,false,false,0,0,true]]; + +_u = _u + ['M240']; +_i = _i + [['','','CfgWeapons','',150,0,true,false,0,0,false]]; + +_u = _u + ['M249']; +_i = _i + [['','','CfgWeapons','',185,2,true,false,0,0,false]]; + +_u = _u + ['M4A1']; +_i = _i + [['','','CfgWeapons','',95,0,true,false,0,0,true]]; + +_u = _u + ['M4A1_Aim']; +_i = _i + [['','','CfgWeapons','',105,0,true,false,0,0,true]]; + +_u = _u + ['M4A1_Aim_camo']; +_i = _i + [['','','CfgWeapons','',150,1,true,false,0,0,true]]; + +_u = _u + ['M4SPR']; +_i = _i + [['','','CfgWeapons','',160,1,true,false,0,0,true]]; + +_u = _u + ['M4A1_RCO_GL']; +_i = _i + [['','','CfgWeapons','',115,2,true,false,0,0,true]]; + +_u = _u + ['M4A1_AIM_SD_camo']; +_i = _i + [['','','CfgWeapons','',165,3,false,false,0,0,true]]; + +_u = _u + ['M4A1_HWS_GL_SD_Camo']; +_i = _i + [['','','CfgWeapons','',200,3,false,false,0,0,true]]; + +_u = _u + ['M4A1_HWS_GL']; +_i = _i + [['','','CfgWeapons','',180,3,false,false,0,0,true]]; + +_u = _u + ['M4A1_HWS_GL_camo']; +_i = _i + [['','','CfgWeapons','',195,3,false,false,0,0,true]]; + +_u = _u + ['m8_carbine']; +_i = _i + [['','','CfgWeapons','',280,2,true,false,0,0,true]]; + +_u = _u + ['m8_carbineGL']; +_i = _i + [['','','CfgWeapons','',290,3,true,false,0,0,true]]; + +_u = _u + ['m8_compact']; +_i = _i + [['','','CfgWeapons','',285,2,false,false,0,0,true]]; + +_u = _u + ['m8_SAW']; +_i = _i + [['','','CfgWeapons','',310,3,false,false,0,0,false]]; + +_u = _u + ['m8_sharpshooter']; +_i = _i + [['','','CfgWeapons','',295,3,false,false,0,0,true]]; + +_u = _u + ['m107']; +_i = _i + [['','','CfgWeapons','',310,3,false,false,0,0,false]]; + +_u = _u + ['M1014']; +_i = _i + [['','','CfgWeapons','',60,0,true,false,0,0,true]]; + +_u = _u + ['Mk_48']; +_i = _i + [['','','CfgWeapons','',220,3,false,false,0,0,false]]; + +_u = _u + ['MP5A5']; +_i = _i + [['','','CfgWeapons','',70,0,true,false,["30Rnd_9x19_MP5","30Rnd_9x19_MP5SD"],0,true]]; + +_u = _u + ['MP5SD']; +_i = _i + [['','','CfgWeapons','',90,1,true,false,["30Rnd_9x19_MP5SD"],0,true]]; + +_u = _u + ['MG36']; +_i = _i + [['','','CfgWeapons','',240,2,false,false,0,0,false]]; + +if (WF_ACE) then +{ + _u = _u + ['ACE_HK416_D10']; + _i = _i + [['','','CfgWeapons','',100,0,true,false,0,0,true]]; + + _u = _u + ['ACE_HK416_D10_Holo']; + _i = _i + [['','','CfgWeapons','',120,1,true,false,0,0,true]]; + + _u = _u + ['ACE_HK416_D10_COMPM3_SD']; + _i = _i + [['','','CfgWeapons','',140,1,true,false,0,0,true]]; + + _u = _u + ['ACE_HK416_D10_M320']; + _i = _i + [['','','CfgWeapons','',150,0,true,false,0,0,true]]; + + _u = _u + ['ACE_HK416_D14']; + _i = _i + [['','','CfgWeapons','',105,0,true,false,0,0,true]]; + + _u = _u + ['ACE_HK416_D14_ACOG_PVS14']; + _i = _i + [['','','CfgWeapons','',155,1,true,false,0,0,true]]; + + _u = _u + ['ACE_HK416_D14_TWS']; + _i = _i + [['','','CfgWeapons','',220,3,true,false,0,0,true]]; + + _u = _u + ['ACE_HK416_D14_COMPM3_M320']; + _i = _i + [['','','CfgWeapons','',165,1,true,false,0,0,true]]; + + _u = _u + ['ACE_HK417_Eotech_4x']; + _i = _i + [['','','CfgWeapons','',125,2,true,false,0,0,true]]; + + _u = _u + ['ACE_HK417_micro']; + _i = _i + [['','','CfgWeapons','',115,2,true,false,0,0,true]]; + + _u = _u + ['ACE_HK417_leupold']; + _i = _i + [['','','CfgWeapons','',115,2,true,false,0,0,true]]; + + _u = _u + ['ACE_M109']; + _i = _i + [['','','CfgWeapons','',350,3,true,false,0,0,false]]; + + _u = _u + ['ACE_Javelin_CLU']; + _i = _i + [['','','CfgWeapons','Special',160,3,true,false,0,0,false]]; +}; + +/* Primary weapons - East */ +_u = _u + ['AK_47_M']; +_i = _i + [['','','CfgWeapons','',40,0,true,false,0,0,true]]; + +_u = _u + ['AK_47_S']; +_i = _i + [['','','CfgWeapons','',50,0,true,false,0,0,true]]; + +_u = _u + ['AK_74']; +_i = _i + [['','','CfgWeapons','',60,0,true,false,0,0,true]]; + +_u = _u + ['AK_74_GL']; +_i = _i + [['','','CfgWeapons','',70,0,true,false,0,0,true]]; + +_u = _u + ['AK_107_kobra']; +_i = _i + [['','','CfgWeapons','',110,0,true,false,0,0,true]]; + +_u = _u + ['AK_107_GL_kobra']; +_i = _i + [['','','CfgWeapons','',120,0,true,false,0,0,true]]; + +_u = _u + ['AK_107_pso']; +_i = _i + [['','','CfgWeapons','',125,1,false,false,0,0,true]]; + +_u = _u + ['AK_107_GL_pso']; +_i = _i + [['','','CfgWeapons','',135,1,false,false,0,0,true]]; + +_u = _u + ['AKS_74_kobra']; +_i = _i + [['','','CfgWeapons','',90,0,true,false,0,0,true]]; + +_u = _u + ['AKS_74_pso']; +_i = _i + [['','','CfgWeapons','',105,1,true,false,0,0,true]]; + +_u = _u + ['AKS_74_U']; +_i = _i + [['','','CfgWeapons','',115,0,true,false,0,0,true]]; + +_u = _u + ['AKS_74_UN_kobra']; +_i = _i + [['','','CfgWeapons','',155,2,true,false,0,0,true]]; + +_u = _u + ['AKS_GOLD']; +_i = _i + [['','','CfgWeapons','',350,2,true,false,0,0,true]]; + +_u = _u + ['bizon']; +_i = _i + [['','','CfgWeapons','',155,1,true,false,0,0,true]]; + +_u = _u + ['bizon_silenced']; +_i = _i + [['','','CfgWeapons','',175,2,false,false,0,0,true]]; + +_u = _u + ['PK']; +_i = _i + [['','','CfgWeapons','',190,0,true,false,0,0,false]]; + +_u = _u + ['Pecheneg']; +_i = _i + [['','','CfgWeapons','',225,2,false,false,0,0,false]]; + +_u = _u + ['RPK_74']; +_i = _i + [['','','CfgWeapons','',185,1,true,false,0,0,true]]; + +_u = _u + ['huntingrifle']; +_i = _i + [['','','CfgWeapons','',120,0,true,false,0,0,true]]; + +_u = _u + ['SVD']; +_i = _i + [['','','CfgWeapons','',160,1,true,false,0,0,true]]; + +_u = _u + ['SVD_CAMO']; +_i = _i + [['','','CfgWeapons','',180,2,false,false,0,0,true]]; + +_u = _u + ['Saiga12K']; +_i = _i + [['','','CfgWeapons','',85,0,true,false,0,0,true]]; + +_u = _u + ['ksvk']; +_i = _i + [['','','CfgWeapons','',255,3,false,false,0,0,false]]; + +_u = _u + ['VSS_vintorez']; +_i = _i + [['','','CfgWeapons','',220,2,false,false,0,0,true]]; + +if (WF_ACE) then +{ + _u = _u + ['ACE_SVD_Bipod']; + _i = _i + [['','','CfgWeapons','',190,2,true,false,0,0,true]]; + + _u = _u + ['ACE_AK103']; + _i = _i + [['','','CfgWeapons','',120,0,true,false,0,0,true]]; + + _u = _u + ['ACE_AK103_Kobra']; + _i = _i + [['','','CfgWeapons','',130,1,true,false,0,0,true]]; + + _u = _u + ['ACE_AK103_PSO']; + _i = _i + [['','','CfgWeapons','',150,1,true,false,0,0,true]]; + + _u = _u + ['ACE_AK104_Kobra']; + _i = _i + [['','','CfgWeapons','',120,1,true,false,0,0,true]]; + + _u = _u + ['ACE_AK104']; + _i = _i + [['','','CfgWeapons','',105,1,true,false,0,0,true]]; + + _u = _u + ['ACE_AK104_PSO']; + _i = _i + [['','','CfgWeapons','',130,2,true,false,0,0,true]]; + + _u = _u + ['ACE_AK104_1P29']; + _i = _i + [['','','CfgWeapons','',135,2,true,false,0,0,true]]; + + _u = _u + ['ACE_AK103_GL']; + _i = _i + [['','','CfgWeapons','',160,0,true,false,0,0,true]]; + + _u = _u + ['ACE_AK103_1P29']; + _i = _i + [['','','CfgWeapons','',140,2,true,false,0,0,true]]; + + _u = _u + ['ACE_AK103_GL_1P29']; + _i = _i + [['','','CfgWeapons','',175,2,true,false,0,0,true]]; + + _u = _u + ['ACE_AK103_GL_PSO']; + _i = _i + [['','','CfgWeapons','',175,2,true,false,0,0,true]]; + + _u = _u + ['ACE_AK103_GL_Kobra']; + _i = _i + [['','','CfgWeapons','',155,2,true,false,0,0,true]]; + + _u = _u + ['ACE_AK105_1P29']; + _i = _i + [['','','CfgWeapons','',125,1,true,false,0,0,true]]; + + _u = _u + ['ACE_AK105_PSO']; + _i = _i + [['','','CfgWeapons','',130,1,true,false,0,0,true]]; + + _u = _u + ['ACE_AK105_Kobra']; + _i = _i + [['','','CfgWeapons','',105,0,true,false,0,0,true]]; + + _u = _u + ['ACE_RPK74M_1P29']; + _i = _i + [['','','CfgWeapons','',205,2,true,false,0,0,true]]; + + _u = _u + ['ACE_AKMS_SD']; + _i = _i + [['','','CfgWeapons','',120,1,true,false,0,0,true]]; + + _u = _u + ['ACE_AK74M_GL_1P29']; + _i = _i + [['','','CfgWeapons','',140,1,true,false,0,0,true]]; + + _u = _u + ['ACE_AK74M_GL_PSO']; + _i = _i + [['','','CfgWeapons','',145,1,true,false,0,0,true]]; + + _u = _u + ['ACE_AK74M_GL_Kobra']; + _i = _i + [['','','CfgWeapons','',120,0,true,false,0,0,true]]; + + _u = _u + ['ACE_AK74M_PSO']; + _i = _i + [['','','CfgWeapons','',105,1,true,false,0,0,true]]; + + _u = _u + ['ACE_AK74M_1P29']; + _i = _i + [['','','CfgWeapons','',105,1,true,false,0,0,true]]; +}; + +/* Secondary weapons - West */ +_u = _u + ['Javelin']; +_i = _i + [['','','CfgWeapons','',450,3,false,false,0,0,false]]; + +_u = _u + ['Laserdesignator']; +_i = _i + [['','','CfgWeapons','Special',275,3,true,false,0,0,true]]; + +_u = _u + ['M136']; +_i = _i + [['','','CfgWeapons','',85,0,true,false,0,0,false]]; + +_u = _u + ['SMAW']; +_i = _i + [['','','CfgWeapons','',325,2,false,false,0,0,false]]; + +_u = _u + ['Stinger']; +_i = _i + [['','','CfgWeapons','',250,2,false,false,0,0,false]]; + +/* Secondary weapons - East */ +_u = _u + ['Igla']; +_i = _i + [['','','CfgWeapons','',250,2,false,false,0,0,false]]; + +_u = _u + ['MetisLauncher']; +_i = _i + [['','','CfgWeapons','',375,3,false,false,0,0,false]]; + +_u = _u + ['RPG7V']; +_i = _i + [['','','CfgWeapons','',90,1,true,false,0,0,false]]; + +_u = _u + ['RPG18']; +_i = _i + [['','','CfgWeapons','',50,0,true,false,0,0,false]]; + +_u = _u + ['Strela']; +_i = _i + [['','','CfgWeapons','',230,2,false,false,0,0,false]]; + +if (WF_ACE) then +{ + _u = _u + ['ACE_RPG27']; + _i = _i + [['','','CfgWeapons','',95,1,true,false,0,0,false]]; + + _u = _u + ['ACE_RPG7V_PGO7']; + _i = _i + [['','','CfgWeapons','',175,1,true,false,0,0,false]]; + + _u = _u + ['ACE_RPG29']; + _i = _i + [['','','CfgWeapons','',165,2,true,false,0,0,false]]; +}; + +/* Pistols - West */ +_u = _u + ['Colt1911']; +_i = _i + [['','','CfgWeapons','',15,0,true,false,0,0,true]]; + +_u = _u + ['M9']; +_i = _i + [['','','CfgWeapons','',20,0,true,false,0,0,true]]; + +_u = _u + ['M9SD']; +_i = _i + [['','','CfgWeapons','',25,0,true,false,0,0,true]]; + +/* Pistols - East */ +_u = _u + ['Makarov']; +_i = _i + [['','','CfgWeapons','',8,0,true,false,0,0,true]]; + +_u = _u + ['MakarovSD']; +_i = _i + [['','','CfgWeapons','',15,0,true,false,0,0,true]]; + +/* Misc - West */ +_u = _u + ['HandGrenade_West']; +_i = _i + [['','','CfgMagazines','CfgMagazines',10,0,true,false,0,0,true]]; + +_u = _u + ['HandGrenade_Stone']; +_i = _i + [['','','CfgMagazines','CfgMagazines',1,0,true,false,0,0,true]]; + +_u = _u + ['SmokeShell']; +_i = _i + [['','','CfgMagazines','CfgMagazines',8,0,true,false,0,0,true]]; + +_u = _u + ['SmokeShellRed']; +_i = _i + [['','','CfgMagazines','CfgMagazines',8,0,true,false,0,0,true]]; + +_u = _u + ['SmokeShellGreen']; +_i = _i + [['','','CfgMagazines','CfgMagazines',8,0,true,false,0,0,true]]; + +_u = _u + ['SmokeShellBlue']; +_i = _i + [['','','CfgMagazines','CfgMagazines',8,0,true,false,0,0,true]]; + +_u = _u + ['SmokeShellYellow']; +_i = _i + [['','','CfgMagazines','CfgMagazines',8,0,true,false,0,0,true]]; + +_u = _u + ['SmokeShellOrange']; +_i = _i + [['','','CfgMagazines','CfgMagazines',8,0,true,false,0,0,true]]; + +_u = _u + ['SmokeShellPurple']; +_i = _i + [['','','CfgMagazines','CfgMagazines',8,0,true,false,0,0,true]]; + +_u = _u + ['FlareWhite_M203']; +_i = _i + [['','','CfgMagazines','CfgMagazines',9,0,true,true,0,0,true]]; + +_u = _u + ['FlareYellow_M203']; +_i = _i + [['','','CfgMagazines','CfgMagazines',9,0,true,true,0,0,true]]; + +_u = _u + ['FlareGreen_M203']; +_i = _i + [['','','CfgMagazines','CfgMagazines',9,0,true,true,0,0,true]]; + +_u = _u + ['FlareRed_M203']; +_i = _i + [['','','CfgMagazines','CfgMagazines',9,0,true,true,0,0,true]]; + +_u = _u + ['1Rnd_HE_M203']; +_i = _i + [['','','CfgMagazines','CfgMagazines',15,0,true,true,0,0,true]]; + +_u = _u + ['1Rnd_Smoke_M203']; +_i = _i + [['','','CfgMagazines','CfgMagazines',12,0,true,true,0,0,true]]; + +_u = _u + ['1Rnd_SmokeRed_M203']; +_i = _i + [['','','CfgMagazines','CfgMagazines',12,0,true,true,0,0,true]]; + +_u = _u + ['1Rnd_SmokeGreen_M203']; +_i = _i + [['','','CfgMagazines','CfgMagazines',12,0,true,true,0,0,true]]; + +_u = _u + ['1Rnd_SmokeYellow_M203']; +_i = _i + [['','','CfgMagazines','CfgMagazines',12,0,true,true,0,0,true]]; + +_u = _u + ['Mine']; +_i = _i + [['','','CfgMagazines','CfgMagazines',35,0,true,false,0,0,true]]; + +_u = _u + ['PipeBomb']; +_i = _i + [['','','CfgMagazines','CfgMagazines',50,0,true,false,0,0,true]]; + +_u = _u + ['Binocular']; +_i = _i + [['','','CfgWeapons','Special',10,0,true,false,0,0,true]]; + +_u = _u + ['NVGoggles']; +_i = _i + [['','','CfgWeapons','Special',20,0,true,false,0,0,true]]; + +_u = _u + ['ItemCompass']; +_i = _i + [['','','CfgWeapons','Item',4,0,true,false,0,0,true]]; + +_u = _u + ['ItemGPS']; +_i = _i + [['','','CfgWeapons','Item',25,0,true,false,0,0,true]]; + +_u = _u + ['ItemMap']; +_i = _i + [['','','CfgWeapons','Item',5,0,true,false,0,0,true]]; + +_u = _u + ['ItemRadio']; +_i = _i + [['','','CfgWeapons','Item',10,0,true,false,0,0,true]]; + +_u = _u + ['ItemWatch']; +_i = _i + [['','','CfgWeapons','Item',5,0,true,false,0,0,true]]; + +/* Misc - East */ +_u = _u + ['HandGrenade_East']; +_i = _i + [['','','CfgMagazines','CfgMagazines',9,0,true,false,0,0,true]]; + +_u = _u + ['FlareWhite_GP25']; +_i = _i + [['','','CfgMagazines','CfgMagazines',8,0,true,true,0,0,true]]; + +_u = _u + ['FlareYellow_GP25']; +_i = _i + [['','','CfgMagazines','CfgMagazines',8,0,true,true,0,0,true]]; + +_u = _u + ['FlareGreen_GP25']; +_i = _i + [['','','CfgMagazines','CfgMagazines',8,0,true,true,0,0,true]]; + +_u = _u + ['FlareRed_GP25']; +_i = _i + [['','','CfgMagazines','CfgMagazines',8,0,true,true,0,0,true]]; + +_u = _u + ['1Rnd_HE_GP25']; +_i = _i + [['','','CfgMagazines','CfgMagazines',13,0,true,true,0,0,true]]; + +_u = _u + ['1Rnd_SMOKE_GP25']; +_i = _i + [['','','CfgMagazines','CfgMagazines',10,0,true,true,0,0,true]]; + +_u = _u + ['1Rnd_SMOKERED_GP25']; +_i = _i + [['','','CfgMagazines','CfgMagazines',10,0,true,true,0,0,true]]; + +_u = _u + ['1Rnd_SMOKEGREEN_GP25']; +_i = _i + [['','','CfgMagazines','CfgMagazines',10,0,true,true,0,0,true]]; + +_u = _u + ['1Rnd_SMOKEYELLOW_GP25']; +_i = _i + [['','','CfgMagazines','CfgMagazines',10,0,true,true,0,0,true]]; + +_u = _u + ['MineE']; +_i = _i + [['','','CfgMagazines','CfgMagazines',40,0,true,false,0,0,true]]; + +for '_z' from 0 to (count _u)-1 do { + _info = (_i select _z); + _element = (_u select _z); + _config = (_info select 2); + + if (isClass (configFile >> _config >> _element)) then { + //--- The loadout has a prefix since we can have two elements with the same name but with different class. + _get = _element Call GetNamespace; + _proceed = false; + _prefix = ""; + + if (isNil '_get') then { + _proceed = true; + } else { + //--- Two elements can have the same name, like "Javelin(Weapon) >> Javelin (Magazine)", if two elements are found, we compare the class to see if they're already defined or not. + if ((_get select 2) == _config) then { + diag_log Format ["[WFBE (INIT)][frameno:%3 | ticktime:%4] Core_Vanilla_G: Duplicated Loadout Element found '%1' for class '%2'",_element,_config,diag_frameno,diag_tickTime]; + } else { + //--- Is it a special class? + _get = (_element+'_W') Call GetNamespace; + if (isNil '_get') then { + _prefix = '_w'; + _proceed = true; + } else { + diag_log Format ["[WFBE (INIT)][frameno:%3 | ticktime:%4] Core_Vanilla_G: Duplicated Loadout Element found '%1' for class '%2'",_element,_config,diag_frameno,diag_tickTime]; + }; + }; + }; + + if (_proceed) then { + //--- A custom loadout displayName can be set. + if ((_info select 1) == '') then {_info set [0, [_element,'displayName',_config] Call GetConfigInfo]}; + _info set [1, [_element,'picture',_config] Call GetConfigInfo]; + + if (_config == 'CfgWeapons') then { + //--- A custom loadout magazine can be set. + if (typeName (_info select 8) != 'ARRAY') then { + _info set [8, getArray (configFile >> _config >> _element >> 'magazines')]; + }; + }; + + //--- Set the magazine space. + if (_config == 'CfgMagazines') then { + if ((_info select 3) in ['CfgMagazines','primary','secondary','sidearm']) then { + _info set [9, ceil(getNumber(configFile >> _config >> _element >> 'type') / 256)]; + }; + }; + + [_element+_prefix,_info] Call SetNamespace; + }; + } else { + diag_log Format ["[WFBE (ERROR)][frameno:%3 | ticktime:%4] Core_Vanilla_G: Loadout Element '%1' with class '%2' is not a defined a class!",_element,_config,diag_frameno,diag_tickTime]; + }; +}; + +diag_log Format ["[WFBE (INIT)][frameno:%2 | ticktime:%3] Core_Vanilla_G: Loadout Initialization (%1 Elements) - [Done]",count _u,diag_frameno,diag_tickTime]; \ No newline at end of file diff --git a/Common/Config/Core_Loadout/Arrowhead/Loadout_TK.sqf b/Common/Config/Core_Loadout/Arrowhead/Loadout_TK.sqf new file mode 100644 index 0000000..03c3ace --- /dev/null +++ b/Common/Config/Core_Loadout/Arrowhead/Loadout_TK.sqf @@ -0,0 +1,355 @@ +/* TK Loadout */ +Private ['_tiMode']; +_tiMode = 'WFBE_THERMALIMAGING' Call GetNamespace; +_tiMode = if (_tiMode == 1 || _tiMode == 3) then {true} else {false}; + +if (!isServer || local player) then { + if (side player == EAST) then { + /* Magazines. */ + _m = ["30Rnd_762x39_AK47"]; + _m = _m + ["30Rnd_556x45_Stanag"]; + _m = _m + ["30Rnd_545x39_AK"]; + _m = _m + ["30Rnd_545x39_AKSD"]; + _m = _m + ["100Rnd_762x54_PK"]; + _m = _m + ["75Rnd_545x39_RPK"]; + _m = _m + ["10Rnd_762x54_SVD"]; + _m = _m + ["5Rnd_127x108_KSVK"]; + _m = _m + ["10x_303"]; + _m = _m + ["30Rnd_762x39_SA58"]; + _m = _m + ["20Rnd_762x51_FNFAL"]; + _m = _m + ["PG7V"]; + _m = _m + ["PG7VL"]; + _m = _m + ["OG7"]; + _m = _m + ["PG7VR"]; + _m = _m + ["RPG18"]; + _m = _m + ["Dragon_EP1"]; + _m = _m + ["AT13"]; + _m = _m + ["Igla"]; + _m = _m + ["Strela"]; + _m = _m + ["Laserbatteries"]; + _m = _m + ["6Rnd_45ACP"]; + _m = _m + ["8Rnd_9x18_Makarov"]; + _m = _m + ["8Rnd_9x18_MakarovSD"]; + _m = _m + ["10Rnd_B_765x17_Ball"]; + _m = _m + ["20Rnd_B_765x17_Ball"]; + _m = _m + ["30Rnd_9x19_UZI"]; + _m = _m + ["30Rnd_9x19_UZI_SD"]; + + WF_Logic setVariable ['magazineClasses',_m]; + + /* Primary. */ + _w = ['AK_47_M']; + _w = _w + ['AK_47_S']; + _w = _w + ['M16A2']; + _w = _w + ['M16A2GL']; + _w = _w + ['AK_74']; + _w = _w + ['AK_74_GL']; + _w = _w + ['AK_74_GL_kobra']; + _w = _w + ['AKS_74']; + if (_tiMode) then { + _w = _w + ['AKS_74_GOSHAWK']; + }; + _w = _w + ['AKS_74_kobra']; + _w = _w + ['AKS_74_NSPU']; + _w = _w + ['AKS_74_pso']; + _w = _w + ['AKS_74_U']; + _w = _w + ['FN_FAL']; + _w = _w + ['FN_FAL_ANPVS4']; + _w = _w + ['LeeEnfield']; + _w = _w + ['PK']; + _w = _w + ['RPK_74']; + _w = _w + ['Sa58P_EP1']; + _w = _w + ['Sa58V_EP1']; + _w = _w + ['Sa58V_RCO_EP1']; + _w = _w + ['Sa58V_CCO_EP1']; + _w = _w + ['SVD']; + _w = _w + ['SVD_des_EP1']; + _w = _w + ['SVD_NSPU_EP1']; + _w = _w + ['ksvk'];; + + WF_Logic setVariable ['primaryClasses',_w]; + + /* Secondary. */ + _w = ['RPG7V']; + _w = _w + ['RPG18']; + _w = _w + ['M47Launcher_EP1']; + _w = _w + ['MetisLauncher']; + _w = _w + ['Igla']; + _w = _w + ['Strela']; + _w = _w + ['Laserdesignator']; + + /* Not all units are able to carry a backpack */ + _get = getNumber(configFile >> 'CfgVehicles' >> typeOf player >> 'canCarryBackPack'); + + if (_get == 1) then { + _w = _w + ['TK_Assault_Pack_EP1']; + _w = _w + ['TK_RPG_Backpack_EP1']; + _w = _w + ['TK_ALICE_Pack_EP1']; + _w = _w + ['Tripod_Bag']; + _w = _w + ['KORD_TK_Bag_EP1']; + _w = _w + ['KORD_high_TK_Bag_EP1']; + _w = _w + ['SPG9_TK_INS_Bag_EP1']; + _w = _w + ['AGS_TK_Bag_EP1']; + _w = _w + ['Metis_TK_Bag_EP1']; + _w = _w + ['2b14_82mm_TK_Bag_EP1']; + }; + + WF_Logic setVariable ['secondaryClasses',_w]; + + /* Sidearm. */ + _w = ['Makarov']; + _w = _w + ['revolver_EP1']; + _w = _w + ['revolver_gold_EP1']; + _w = _w + ['MakarovSD']; + _w = _w + ['Sa61_EP1']; + _w = _w + ['UZI_EP1']; + _w = _w + ['UZI_SD_EP1']; + + WF_Logic setVariable ['sidearmClasses',_w]; + + /* Misc. */ + _w = ['HandGrenade_East']; + _w = _w + ['HandGrenade_Stone']; + _w = _w + ['SmokeShell']; + _w = _w + ['SmokeShellRed']; + _w = _w + ['SmokeShellGreen']; + _w = _w + ['SmokeShellBlue']; + _w = _w + ['SmokeShellYellow']; + _w = _w + ['SmokeShellOrange']; + _w = _w + ['SmokeShellPurple']; + _w = _w + ['FlareWhite_GP25']; + _w = _w + ['FlareYellow_GP25']; + _w = _w + ['FlareGreen_GP25']; + _w = _w + ['FlareRed_GP25']; + _w = _w + ['1Rnd_HE_M203']; + _w = _w + ['1Rnd_HE_GP25']; + _w = _w + ['1Rnd_SMOKE_GP25']; + _w = _w + ['1Rnd_SMOKERED_GP25']; + _w = _w + ['1Rnd_SMOKEGREEN_GP25']; + _w = _w + ['1Rnd_SMOKEYELLOW_GP25']; + + if (paramDLCBAF) then { + _w = _w + ['BAF_ied_v1']; + _w = _w + ['BAF_ied_v2']; + _w = _w + ['BAF_ied_v3']; + _w = _w + ['BAF_ied_v4']; + }; + + _w = _w + ['MineE']; + _w = _w + ['PipeBomb']; + _w = _w + ['Binocular']; + _w = _w + ['NVGoggles']; + _w = _w + ['Binocular_Vector']; + _w = _w + ['ItemCompass']; + _w = _w + ['ItemGPS']; + _w = _w + ['ItemMap']; + _w = _w + ['ItemRadio']; + _w = _w + ['ItemWatch']; + + WF_Logic setVariable ['miscClasses',_w]; + + //--- Templates. + _items = ['ItemCompass','ItemGPS','ItemMap','ItemRadio','ItemWatch']; + + _d = [getText(configFile >> 'CfgWeapons' >> 'AKS_74_kobra' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Makarov' >> 'displayName')]; + _p = [getText(configFile >> 'CfgWeapons' >> 'AKS_74_kobra' >> 'picture')]; + _t = [['AKS_74_kobra','Makarov']]; + _m = [['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK', + 'HandGrenade_East','HandGrenade_East','SmokeShellBlue','SmokeShellBlue','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov', + '8Rnd_9x18_Makarov','8Rnd_9x18_Makarov']]; + _s = [['Binocular']]; + _i = [_items]; + _l = [0]; + _b = [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'AK_74_GL_kobra' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'AK_74_GL_kobra' >> 'picture')]; + _t = _t + [['AK_74_GL_kobra']]; + _m = _m + [['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK', + '30Rnd_545x39_AK','30Rnd_545x39_AK','HandGrenade_East','HandGrenade_East','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25', + '1Rnd_HE_GP25','1Rnd_HE_GP25']]; + _s = _s + [['Binocular']]; + _i = _i + [_items]; + _l = _l + [0]; + _b = _b + [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'AKS_74_pso' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'RPG7V' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'AKS_74_pso' >> 'picture')]; + _t = _t + [['AKS_74_pso','RPG7V']]; + _m = _m + [['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','PG7VL','PG7VL','PG7VL']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [1]; + _b = _b + [false]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'AK_74_GL' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'RPG7V' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'AK_74_GL' >> 'picture')]; + _t = _t + [['AK_74_GL','RPG7V']]; + _m = _m + [['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','PG7V', + 'PG7V','PG7V','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [1]; + _b = _b + [false]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'Sa58V_RCO_EP1' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'RPG7V' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Makarov' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'Sa58V_RCO_EP1' >> 'picture')]; + _t = _t + [['Sa58V_RCO_EP1','RPG7V','Makarov']]; + _m = _m + [['30Rnd_762x39_SA58','30Rnd_762x39_SA58','30Rnd_762x39_SA58','30Rnd_762x39_SA58','30Rnd_762x39_SA58','30Rnd_762x39_SA58','PG7VL','PG7VL','PG7VL', + '8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [1]; + _b = _b + [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'AKS_74_kobra' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'MetisLauncher' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Makarov' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'AKS_74_kobra' >> 'picture')]; + _t = _t + [['AKS_74_kobra','MetisLauncher','Makarov']]; + _m = _m + [['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','AT13', + '8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [3]; + _b = _b + [false]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'AK_74' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Igla' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Makarov' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'AK_74' >> 'picture')]; + _t = _t + [['AK_74','Igla','Makarov']]; + _m = _m + [['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','Igla', + '8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [2]; + _b = _b + [false]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'AKS_74_U' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Makarov' >> 'displayName') + '/' + getText(configFile >> 'CfgMagazines' >> 'MineE' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'AKS_74_U' >> 'picture')]; + _t = _t + [['AKS_74_U','Makarov']]; + _m = _m + [['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','MineE','MineE','MineE', + '8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov']]; + _s = _s + [['Binocular']]; + _i = _i + [_items]; + _l = _l + [0]; + _b = _b + [true]; + + if (_tiMode) then { + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'AKS_74_GOSHAWK' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'MakarovSD' >> 'displayName') + '/' + getText(configFile >> 'CfgMagazines' >> 'PipeBomb' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'AKS_74_GOSHAWK' >> 'picture')]; + _t = _t + [['AKS_74_GOSHAWK','MakarovSD']]; + _m = _m + [['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','PipeBomb','PipeBomb','PipeBomb', + '8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD']]; + _s = _s + [['Binocular_Vector','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [2]; + _b = _b + [true]; + }; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'PK' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Makarov' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'PK' >> 'picture')]; + _t = _t + [['PK','Makarov']]; + _m = _m + [['100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','SmokeShellBlue','SmokeShellBlue','8Rnd_9x18_Makarov', + '8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov']]; + _s = _s + [['Binocular']]; + _i = _i + [_items]; + _l = _l + [0]; + _b = _b + [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'SVD_des_EP1' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'MakarovSD' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'SVD_des_EP1' >> 'picture')]; + _t = _t + [['SVD_des_EP1','MakarovSD']]; + _m = _m + [['10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD', + '10Rnd_762x54_SVD','10Rnd_762x54_SVD','HandGrenade_East','HandGrenade_East','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD', + '8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD']]; + _s = _s + [['Binocular']]; + _i = _i + [_items]; + _l = _l + [0]; + _b = _b + [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'AKS_74_NSPU' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Laserdesignator' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'MakarovSD' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'AKS_74_NSPU' >> 'picture')]; + _t = _t + [['AKS_74_NSPU','Laserdesignator','MakarovSD']]; + _m = _m + [['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK', + '30Rnd_545x39_AK','30Rnd_545x39_AK','HandGrenade_East','Laserbatteries','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD', + '8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD']]; + _s = _s + [['Binocular_Vector','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [2]; + _b = _b + [false]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'ksvk' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'MakarovSD' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'ksvk' >> 'picture')]; + _t = _t + [['ksvk','MakarovSD']]; + _m = _m + [['5Rnd_127x108_KSVK','5Rnd_127x108_KSVK','5Rnd_127x108_KSVK','5Rnd_127x108_KSVK','5Rnd_127x108_KSVK','5Rnd_127x108_KSVK','5Rnd_127x108_KSVK','5Rnd_127x108_KSVK', + '5Rnd_127x108_KSVK','5Rnd_127x108_KSVK','HandGrenade_East','HandGrenade_East','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD', + '8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [3]; + _b = _b + [false]; + + _c = []; + _totalTemplates = count _d; + + for [{_count = 0},{_count < _totalTemplates},{_count = _count + 1}] do { + _cost = 0; + { + _get = (_x+"_W") Call GetNamespace; + if (isNil '_get') then { + _get = _x Call GetNamespace; + }; + if !(isNil '_get') then {_cost = _cost + (_get select QUERYGEARCOST)}; + } forEach (_t select _count); + + { + _get = _x Call GetNamespace; + if !(isNil '_get') then {_cost = _cost + (_get select QUERYGEARCOST)}; + } forEach ((_m select _count) + (_s select _count) + (_i select _count)); + + _c = _c + [_cost]; + }; + WF_Logic setVariable ['templateClasses',_t]; + WF_Logic setVariable ['templateNames',_d]; + WF_Logic setVariable ['templateCosts',_c]; + WF_Logic setVariable ['templatePictures',_p]; + WF_Logic setVariable ['templateMags',_m]; + WF_Logic setVariable ['templateItems',_i]; + WF_Logic setVariable ['templateSpecs',_s]; + WF_Logic setVariable ['templateUpgrades',_l]; + WF_Logic setVariable ['templateAllowed',_b]; + }; +}; + +['WFBE_EASTDEFAULTWEAPONS',['AK_74','ItemCompass','ItemMap','ItemWatch','ItemRadio'],true] Call SetNamespace; +['WFBE_EASTDEFAULTAMMO',['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','HandGrenade_East','HandGrenade_East'],true] Call SetNamespace; + +//--- AI Leaders Loadouts. +if (isServer) then { + //--- No Upgrade. + ['WFBE_EASTLEADERWEAPONS01',['AKS_74','RPG18','Makarov','Binocular','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO01',['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','RPG18','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + ['WFBE_EASTLEADERWEAPONS02',['AKS_74_kobra','RPG18','Makarov','Binocular','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO02',['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','RPG18','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + ['WFBE_EASTLEADERWEAPONS03',['PK','Makarov','Binocular','ItemRadio','ItemMap'],true] Call SetNamespace;; + ['WFBE_EASTLEADERAMMO03',['100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','HandGrenade_East','HandGrenade_East','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + //--- Upgrade 1. + ['WFBE_EASTLEADERWEAPONS11',['AKS_74_kobra','RPG7V','Makarov','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO11',['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','PG7VL','PG7VL','PG7VL','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + ['WFBE_EASTLEADERWEAPONS12',['RPK_74','RPG7V','Makarov','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO12',['75Rnd_545x39_RPK','75Rnd_545x39_RPK','75Rnd_545x39_RPK','75Rnd_545x39_RPK','75Rnd_545x39_RPK','75Rnd_545x39_RPK','PG7VL','PG7VL','PG7VL','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + ['WFBE_EASTLEADERWEAPONS13',['SVD','MakarovSD','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO13',['10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','HandGrenade_East','HandGrenade_East','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD'],true] Call SetNamespace; + //--- Upgrade 2. + ['WFBE_EASTLEADERWEAPONS21',['AKS_74_NSPU','RPG7V','Makarov','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO21',['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','PG7VL','PG7VL','PG7VL','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + ['WFBE_EASTLEADERWEAPONS22',['SVD_des_EP1','RPG7V','Makarov','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO22',['10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','PG7VL','PG7VL','PG7VL','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + ['WFBE_EASTLEADERWEAPONS23',['PK','Makarov','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO23',['100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','HandGrenade_East','HandGrenade_East','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + //--- Upgrade 3. + ['WFBE_EASTLEADERWEAPONS31',['AK_74_GL','RPG7V','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO31',['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','PG7VL','PG7VL','PG7VL','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25'],true] Call SetNamespace; + ['WFBE_EASTLEADERWEAPONS32',['Sa58V_RCO_EP1','MetisLauncher','Makarov','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO32',['30Rnd_762x39_SA58','30Rnd_762x39_SA58','30Rnd_762x39_SA58','30Rnd_762x39_SA58','30Rnd_762x39_SA58','30Rnd_762x39_SA58','AT13','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + ['WFBE_EASTLEADERWEAPONS33',['SVD_NSPU_EP1','Makarov','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO33',['10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','HandGrenade_East','HandGrenade_East','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; +}; \ No newline at end of file diff --git a/Common/Config/Core_Loadout/Arrowhead/Loadout_TKA.sqf b/Common/Config/Core_Loadout/Arrowhead/Loadout_TKA.sqf new file mode 100644 index 0000000..5b7e7cd --- /dev/null +++ b/Common/Config/Core_Loadout/Arrowhead/Loadout_TKA.sqf @@ -0,0 +1,355 @@ +/* TK Loadout */ +Private ['_tiMode']; +_tiMode = 'WFBE_THERMALIMAGING' Call GetNamespace; +_tiMode = if (_tiMode == 1 || _tiMode == 3) then {true} else {false}; + +if (!isServer || local player) then { + if (side player == EAST) then { + /* Magazines. */ + _m = ["30Rnd_762x39_AK47"]; + _m = _m + ["30Rnd_556x45_Stanag"]; + _m = _m + ["30Rnd_545x39_AK"]; + _m = _m + ["30Rnd_545x39_AKSD"]; + _m = _m + ["100Rnd_762x54_PK"]; + _m = _m + ["75Rnd_545x39_RPK"]; + _m = _m + ["10Rnd_762x54_SVD"]; + _m = _m + ["5Rnd_127x108_KSVK"]; + _m = _m + ["10x_303"]; + _m = _m + ["30Rnd_762x39_SA58"]; + _m = _m + ["20Rnd_762x51_FNFAL"]; + _m = _m + ["PG7V"]; + _m = _m + ["PG7VL"]; + _m = _m + ["OG7"]; + _m = _m + ["PG7VR"]; + _m = _m + ["RPG18"]; + _m = _m + ["Dragon_EP1"]; + _m = _m + ["AT13"]; + _m = _m + ["Igla"]; + _m = _m + ["Strela"]; + _m = _m + ["Laserbatteries"]; + _m = _m + ["6Rnd_45ACP"]; + _m = _m + ["8Rnd_9x18_Makarov"]; + _m = _m + ["8Rnd_9x18_MakarovSD"]; + _m = _m + ["10Rnd_B_765x17_Ball"]; + _m = _m + ["20Rnd_B_765x17_Ball"]; + _m = _m + ["30Rnd_9x19_UZI"]; + _m = _m + ["30Rnd_9x19_UZI_SD"]; + + WF_Logic setVariable ['magazineClasses',_m]; + + /* Primary. */ + _w = ['AK_47_M']; + _w = _w + ['AK_47_S']; + _w = _w + ['M16A2']; + _w = _w + ['M16A2GL']; + _w = _w + ['AK_74']; + _w = _w + ['AK_74_GL']; + _w = _w + ['AK_74_GL_kobra']; + _w = _w + ['AKS_74']; + if (_tiMode) then { + _w = _w + ['AKS_74_GOSHAWK']; + }; + _w = _w + ['AKS_74_kobra']; + _w = _w + ['AKS_74_NSPU']; + _w = _w + ['AKS_74_pso']; + _w = _w + ['AKS_74_U']; + _w = _w + ['FN_FAL']; + _w = _w + ['FN_FAL_ANPVS4']; + _w = _w + ['LeeEnfield']; + _w = _w + ['PK']; + _w = _w + ['RPK_74']; + _w = _w + ['Sa58P_EP1']; + _w = _w + ['Sa58V_EP1']; + _w = _w + ['Sa58V_RCO_EP1']; + _w = _w + ['Sa58V_CCO_EP1']; + _w = _w + ['SVD']; + _w = _w + ['SVD_des_EP1']; + _w = _w + ['SVD_NSPU_EP1']; + _w = _w + ['ksvk'];; + + WF_Logic setVariable ['primaryClasses',_w]; + + /* Secondary. */ + _w = ['RPG7V']; + _w = _w + ['RPG18']; + _w = _w + ['M47Launcher_EP1']; + _w = _w + ['MetisLauncher']; + _w = _w + ['Igla']; + _w = _w + ['Strela']; + _w = _w + ['Laserdesignator']; + + /* Not all units are able to carry a backpack */ + _get = getNumber(configFile >> 'CfgVehicles' >> typeOf player >> 'canCarryBackPack'); + + if (_get == 1) then { + _w = _w + ['TK_Assault_Pack_EP1']; + _w = _w + ['TK_RPG_Backpack_EP1']; + _w = _w + ['TK_ALICE_Pack_EP1']; + _w = _w + ['Tripod_Bag']; + _w = _w + ['KORD_TK_Bag_EP1']; + _w = _w + ['KORD_high_TK_Bag_EP1']; + _w = _w + ['SPG9_TK_INS_Bag_EP1']; + _w = _w + ['AGS_TK_Bag_EP1']; + _w = _w + ['Metis_TK_Bag_EP1']; + _w = _w + ['2b14_82mm_TK_Bag_EP1']; + }; + + WF_Logic setVariable ['secondaryClasses',_w]; + + /* Sidearm. */ + _w = ['Makarov']; + _w = _w + ['revolver_EP1']; + _w = _w + ['revolver_gold_EP1']; + _w = _w + ['MakarovSD']; + _w = _w + ['Sa61_EP1']; + _w = _w + ['UZI_EP1']; + _w = _w + ['UZI_SD_EP1']; + + WF_Logic setVariable ['sidearmClasses',_w]; + + /* Misc. */ + _w = ['HandGrenade_East']; + _w = _w + ['HandGrenade_Stone']; + _w = _w + ['SmokeShell']; + _w = _w + ['SmokeShellRed']; + _w = _w + ['SmokeShellGreen']; + _w = _w + ['SmokeShellBlue']; + _w = _w + ['SmokeShellYellow']; + _w = _w + ['SmokeShellOrange']; + _w = _w + ['SmokeShellPurple']; + _w = _w + ['FlareWhite_GP25']; + _w = _w + ['FlareYellow_GP25']; + _w = _w + ['FlareGreen_GP25']; + _w = _w + ['FlareRed_GP25']; + _w = _w + ['1Rnd_HE_M203']; + _w = _w + ['1Rnd_HE_GP25']; + _w = _w + ['1Rnd_SMOKE_GP25']; + _w = _w + ['1Rnd_SMOKERED_GP25']; + _w = _w + ['1Rnd_SMOKEGREEN_GP25']; + _w = _w + ['1Rnd_SMOKEYELLOW_GP25']; + + if (paramDLCBAF) then { + _w = _w + ['BAF_ied_v1']; + _w = _w + ['BAF_ied_v2']; + _w = _w + ['BAF_ied_v3']; + _w = _w + ['BAF_ied_v4']; + }; + + _w = _w + ['MineE']; + _w = _w + ['PipeBomb']; + _w = _w + ['Binocular']; + _w = _w + ['NVGoggles']; + _w = _w + ['Binocular_Vector']; + _w = _w + ['ItemCompass']; + _w = _w + ['ItemGPS']; + _w = _w + ['ItemMap']; + _w = _w + ['ItemRadio']; + _w = _w + ['ItemWatch']; + + WF_Logic setVariable ['miscClasses',_w]; + + //--- Templates. + _items = ['ItemCompass','ItemGPS','ItemMap','ItemRadio','ItemWatch']; + + _d = [getText(configFile >> 'CfgWeapons' >> 'AKS_74_kobra' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Makarov' >> 'displayName')]; + _p = [getText(configFile >> 'CfgWeapons' >> 'AKS_74_kobra' >> 'picture')]; + _t = [['AKS_74_kobra','Makarov']]; + _m = [['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK', + 'HandGrenade_East','HandGrenade_East','SmokeShellBlue','SmokeShellBlue','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov', + '8Rnd_9x18_Makarov','8Rnd_9x18_Makarov']]; + _s = [['Binocular']]; + _i = [_items]; + _l = [0]; + _b = [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'AK_74_GL_kobra' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'AK_74_GL_kobra' >> 'picture')]; + _t = _t + [['AK_74_GL_kobra']]; + _m = _m + [['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK', + '30Rnd_545x39_AK','30Rnd_545x39_AK','HandGrenade_East','HandGrenade_East','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25', + '1Rnd_HE_GP25','1Rnd_HE_GP25']]; + _s = _s + [['Binocular']]; + _i = _i + [_items]; + _l = _l + [0]; + _b = _b + [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'AKS_74_pso' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'RPG7V' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'AKS_74_pso' >> 'picture')]; + _t = _t + [['AKS_74_pso','RPG7V']]; + _m = _m + [['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','PG7VL','PG7VL','PG7VL']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [1]; + _b = _b + [false]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'AK_74_GL' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'RPG7V' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'AK_74_GL' >> 'picture')]; + _t = _t + [['AK_74_GL','RPG7V']]; + _m = _m + [['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','PG7V', + 'PG7V','PG7V','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [1]; + _b = _b + [false]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'Sa58V_RCO_EP1' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'RPG7V' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Makarov' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'Sa58V_RCO_EP1' >> 'picture')]; + _t = _t + [['Sa58V_RCO_EP1','RPG7V','Makarov']]; + _m = _m + [['30Rnd_762x39_SA58','30Rnd_762x39_SA58','30Rnd_762x39_SA58','30Rnd_762x39_SA58','30Rnd_762x39_SA58','30Rnd_762x39_SA58','PG7VL','PG7VL','PG7VL', + '8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [1]; + _b = _b + [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'AKS_74_kobra' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'MetisLauncher' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Makarov' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'AKS_74_kobra' >> 'picture')]; + _t = _t + [['AKS_74_kobra','MetisLauncher','Makarov']]; + _m = _m + [['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','AT13', + '8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [3]; + _b = _b + [false]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'AK_74' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Igla' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Makarov' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'AK_74' >> 'picture')]; + _t = _t + [['AK_74','Igla','Makarov']]; + _m = _m + [['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','Igla', + '8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [2]; + _b = _b + [false]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'AKS_74_U' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Makarov' >> 'displayName') + '/' + getText(configFile >> 'CfgMagazines' >> 'MineE' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'AKS_74_U' >> 'picture')]; + _t = _t + [['AKS_74_U','Makarov']]; + _m = _m + [['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','MineE','MineE','MineE', + '8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov']]; + _s = _s + [['Binocular']]; + _i = _i + [_items]; + _l = _l + [0]; + _b = _b + [true]; + + if (_tiMode) then { + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'AKS_74_GOSHAWK' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'MakarovSD' >> 'displayName') + '/' + getText(configFile >> 'CfgMagazines' >> 'PipeBomb' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'AKS_74_GOSHAWK' >> 'picture')]; + _t = _t + [['AKS_74_GOSHAWK','MakarovSD']]; + _m = _m + [['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','PipeBomb','PipeBomb','PipeBomb', + '8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD']]; + _s = _s + [['Binocular_Vector','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [2]; + _b = _b + [true]; + }; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'PK' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Makarov' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'PK' >> 'picture')]; + _t = _t + [['PK','Makarov']]; + _m = _m + [['100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','SmokeShellBlue','SmokeShellBlue','8Rnd_9x18_Makarov', + '8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov']]; + _s = _s + [['Binocular']]; + _i = _i + [_items]; + _l = _l + [0]; + _b = _b + [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'SVD_des_EP1' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'MakarovSD' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'SVD_des_EP1' >> 'picture')]; + _t = _t + [['SVD_des_EP1','MakarovSD']]; + _m = _m + [['10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD', + '10Rnd_762x54_SVD','10Rnd_762x54_SVD','HandGrenade_East','HandGrenade_East','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD', + '8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD']]; + _s = _s + [['Binocular']]; + _i = _i + [_items]; + _l = _l + [1]; + _b = _b + [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'AKS_74_NSPU' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Laserdesignator' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'MakarovSD' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'AKS_74_NSPU' >> 'picture')]; + _t = _t + [['AKS_74_NSPU','Laserdesignator','MakarovSD']]; + _m = _m + [['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK', + '30Rnd_545x39_AK','30Rnd_545x39_AK','HandGrenade_East','Laserbatteries','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD', + '8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD']]; + _s = _s + [['Binocular_Vector','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [2]; + _b = _b + [false]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'ksvk' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'MakarovSD' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'ksvk' >> 'picture')]; + _t = _t + [['ksvk','MakarovSD']]; + _m = _m + [['5Rnd_127x108_KSVK','5Rnd_127x108_KSVK','5Rnd_127x108_KSVK','5Rnd_127x108_KSVK','5Rnd_127x108_KSVK','5Rnd_127x108_KSVK','5Rnd_127x108_KSVK','5Rnd_127x108_KSVK', + '5Rnd_127x108_KSVK','5Rnd_127x108_KSVK','HandGrenade_East','HandGrenade_East','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD', + '8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [3]; + _b = _b + [false]; + + _c = []; + _totalTemplates = count _d; + + for [{_count = 0},{_count < _totalTemplates},{_count = _count + 1}] do { + _cost = 0; + { + _get = (_x+"_W") Call GetNamespace; + if (isNil '_get') then { + _get = _x Call GetNamespace; + }; + if !(isNil '_get') then {_cost = _cost + (_get select QUERYGEARCOST)}; + } forEach (_t select _count); + + { + _get = _x Call GetNamespace; + if !(isNil '_get') then {_cost = _cost + (_get select QUERYGEARCOST)}; + } forEach ((_m select _count) + (_s select _count) + (_i select _count)); + + _c = _c + [_cost]; + }; + WF_Logic setVariable ['templateClasses',_t]; + WF_Logic setVariable ['templateNames',_d]; + WF_Logic setVariable ['templateCosts',_c]; + WF_Logic setVariable ['templatePictures',_p]; + WF_Logic setVariable ['templateMags',_m]; + WF_Logic setVariable ['templateItems',_i]; + WF_Logic setVariable ['templateSpecs',_s]; + WF_Logic setVariable ['templateUpgrades',_l]; + WF_Logic setVariable ['templateAllowed',_b]; + }; +}; + +['WFBE_EASTDEFAULTWEAPONS',['AK_74','ItemCompass','ItemMap','ItemWatch','ItemRadio'],true] Call SetNamespace; +['WFBE_EASTDEFAULTAMMO',['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','HandGrenade_East','HandGrenade_East'],true] Call SetNamespace; + +//--- AI Leaders Loadouts. +if (isServer) then { + //--- No Upgrade. + ['WFBE_EASTLEADERWEAPONS01',['AKS_74','RPG18','Makarov','Binocular','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO01',['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','RPG18','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + ['WFBE_EASTLEADERWEAPONS02',['AKS_74_kobra','RPG18','Makarov','Binocular','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO02',['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','RPG18','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + ['WFBE_EASTLEADERWEAPONS03',['PK','Makarov','Binocular','ItemRadio','ItemMap'],true] Call SetNamespace;; + ['WFBE_EASTLEADERAMMO03',['100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','HandGrenade_East','HandGrenade_East','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + //--- Upgrade 1. + ['WFBE_EASTLEADERWEAPONS11',['AKS_74_kobra','RPG7V','Makarov','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO11',['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','PG7VL','PG7VL','PG7VL','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + ['WFBE_EASTLEADERWEAPONS12',['RPK_74','RPG7V','Makarov','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO12',['75Rnd_545x39_RPK','75Rnd_545x39_RPK','75Rnd_545x39_RPK','75Rnd_545x39_RPK','75Rnd_545x39_RPK','75Rnd_545x39_RPK','PG7VL','PG7VL','PG7VL','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + ['WFBE_EASTLEADERWEAPONS13',['SVD','MakarovSD','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO13',['10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','HandGrenade_East','HandGrenade_East','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD'],true] Call SetNamespace; + //--- Upgrade 2. + ['WFBE_EASTLEADERWEAPONS21',['AKS_74_NSPU','RPG7V','Makarov','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO21',['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','PG7VL','PG7VL','PG7VL','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + ['WFBE_EASTLEADERWEAPONS22',['SVD_des_EP1','RPG7V','Makarov','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO22',['10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','PG7VL','PG7VL','PG7VL','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + ['WFBE_EASTLEADERWEAPONS23',['PK','Makarov','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO23',['100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','HandGrenade_East','HandGrenade_East','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + //--- Upgrade 3. + ['WFBE_EASTLEADERWEAPONS31',['AK_74_GL','RPG7V','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO31',['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','PG7VL','PG7VL','PG7VL','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25'],true] Call SetNamespace; + ['WFBE_EASTLEADERWEAPONS32',['Sa58V_RCO_EP1','MetisLauncher','Makarov','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO32',['30Rnd_762x39_SA58','30Rnd_762x39_SA58','30Rnd_762x39_SA58','30Rnd_762x39_SA58','30Rnd_762x39_SA58','30Rnd_762x39_SA58','AT13','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + ['WFBE_EASTLEADERWEAPONS33',['SVD_NSPU_EP1','Makarov','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO33',['10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','HandGrenade_East','HandGrenade_East','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; +}; \ No newline at end of file diff --git a/Common/Config/Core_Loadout/Arrowhead/Loadout_US.sqf b/Common/Config/Core_Loadout/Arrowhead/Loadout_US.sqf new file mode 100644 index 0000000..d1333e0 --- /dev/null +++ b/Common/Config/Core_Loadout/Arrowhead/Loadout_US.sqf @@ -0,0 +1,450 @@ +/* US Loadout */ +Private ['_tiMode']; +_tiMode = 'WFBE_THERMALIMAGING' Call GetNamespace; +_tiMode = if (_tiMode == 1 || _tiMode == 3) then {true} else {false}; + +if (!isServer || local player) then { + if (side player == WEST) then { + /* Magazines. */ + _m = ["30Rnd_556x45_Stanag"]; + _m = _m + ["30Rnd_556x45_StanagSD"]; + _m = _m + ["20Rnd_556x45_Stanag"]; + _m = _m + ["30Rnd_556x45_G36"]; + _m = _m + ["30Rnd_556x45_G36SD"]; + _m = _m + ["100Rnd_556x45_BetaCMag"]; + _m = _m + ["5Rnd_762x51_M24"]; + _m = _m + ["20Rnd_762x51_DMR"]; + _m = _m + ["10Rnd_127x99_m107"]; + _m = _m + ["100Rnd_762x51_M240"]; + _m = _m + ["100Rnd_556x45_M249"]; + _m = _m + ["200Rnd_556x45_M249"]; + _m = _m + ["20Rnd_762x51_B_SCAR"]; + _m = _m + ["20Rnd_762x51_SB_SCAR"]; + _m = _m + ["6Rnd_HE_M203"]; + _m = _m + ["6Rnd_FlareWhite_M203"]; + _m = _m + ["6Rnd_FlareGreen_M203"]; + _m = _m + ["6Rnd_FlareRed_M203"]; + _m = _m + ["6Rnd_FlareYellow_M203"]; + _m = _m + ["6Rnd_Smoke_M203"]; + _m = _m + ["6Rnd_SmokeRed_M203"]; + _m = _m + ["6Rnd_SmokeGreen_M203"]; + _m = _m + ["6Rnd_SmokeYellow_M203"]; + _m = _m + ["M136"]; + _m = _m + ["MAAWS_HEAT"]; + _m = _m + ["MAAWS_HEDP"]; + _m = _m + ["Javelin"]; + _m = _m + ["Stinger"]; + _m = _m + ["Laserbatteries"]; + _m = _m + ["15Rnd_9x19_M9"]; + _m = _m + ["15Rnd_9x19_M9SD"]; + _m = _m + ["7Rnd_45ACP_1911"]; + _m = _m + ["17Rnd_9x19_glock17"]; + + if (paramDLCBAF) then { + _m = _m + ["5Rnd_127x99_AS50"]; + _m = _m + ["5Rnd_86x70_L115A1"]; + _m = _m + ["200Rnd_556x45_L110A1"]; + _m = _m + ["NLAW"]; + }; + + if (paramDLCPMC) then { + _m = _m + ["20Rnd_B_AA12_Pellets"]; + _m = _m + ["20Rnd_B_AA12_74Slug"]; + _m = _m + ["20Rnd_B_AA12_HE"]; + }; + + WF_Logic setVariable ['magazineClasses',_m]; + + /* Primary. */ + _w = ['M16A2']; + _w = _w + ['M16A2GL']; + _w = _w + ['M24_des_EP1']; + _w = _w + ['m240_scoped_EP1']; + _w = _w + ['M60A4_EP1']; + _w = _w + ['Mk_48_DES_EP1']; + _w = _w + ['M249_EP1']; + if (_tiMode) then { + _w = _w + ['M249_TWS_EP1']; + }; + _w = _w + ['M249_m145_EP1']; + _w = _w + ['M4A1']; + _w = _w + ['M4A3_CCO_EP1']; + _w = _w + ['M4A3_RCO_GL_EP1']; + _w = _w + ['G36C_camo']; + _w = _w + ['G36_C_SD_camo']; + _w = _w + ['G36A_camo']; + _w = _w + ['G36K_camo']; + _w = _w + ['MG36_camo']; + _w = _w + ['M32_EP1']; + _w = _w + ['M79_EP1']; + _w = _w + ['Mk13_EP1']; + _w = _w + ['M14_EP1']; + _w = _w + ['m107']; + if (_tiMode) then { + _w = _w + ['m107_TWS_EP1']; + _w = _w + ['M110_TWS_EP1']; + }; + _w = _w + ['M110_NVG_EP1']; + _w = _w + ['SCAR_L_CQC']; + _w = _w + ['SCAR_L_CQC_Holo']; + _w = _w + ['SCAR_L_STD_Mk4CQT']; + _w = _w + ['SCAR_L_STD_EGLM_RCO']; + _w = _w + ['SCAR_L_CQC_EGLM_Holo']; + if (_tiMode) then { + _w = _w + ['SCAR_L_STD_EGLM_TWS']; + }; + _w = _w + ['SCAR_L_STD_HOLO']; + _w = _w + ['SCAR_H_CQC_CCO']; + _w = _w + ['SCAR_H_CQC_CCO_SD']; + _w = _w + ['SCAR_H_STD_EGLM_Spect']; + _w = _w + ['SCAR_H_LNG_Sniper']; + _w = _w + ['SCAR_H_LNG_Sniper_SD']; + if (_tiMode) then { + _w = _w + ['SCAR_H_STD_TWS_SD']; + }; + + if (paramDLCBAF) then { + _w = _w + ['BAF_AS50_scoped']; + if (_tiMode) then { + _w = _w + ['BAF_AS50_TWS']; + }; + _w = _w + ['BAF_LRR_scoped']; + _w = _w + ['BAF_LRR_scoped_W']; + _w = _w + ['BAF_L85A2_RIS_Holo']; + _w = _w + ['BAF_L85A2_UGL_Holo']; + _w = _w + ['BAF_L85A2_RIS_SUSAT']; + _w = _w + ['BAF_L85A2_UGL_SUSAT']; + _w = _w + ['BAF_L85A2_RIS_ACOG']; + _w = _w + ['BAF_L85A2_UGL_ACOG']; + if (_tiMode) then { + _w = _w + ['BAF_L85A2_RIS_CWS']; + }; + _w = _w + ['BAF_L86A2_ACOG']; + _w = _w + ['BAF_L110A1_Aim']; + _w = _w + ['BAF_L7A2_GPMG']; + }; + + if (paramDLCPMC) then { + _w = _w + ['AA12_PMC']; + _w = _w + ['m8_carbine']; + _w = _w + ['m8_carbineGL']; + _w = _w + ['m8_compact']; + _w = _w + ['m8_sharpshooter']; + _w = _w + ['m8_SAW']; + _w = _w + ['m8_carbine_pmc']; + _w = _w + ['m8_compact_pmc']; + _w = _w + ['m8_holo_sd']; + if (_tiMode) then { + _w = _w + ['m8_tws']; + _w = _w + ['m8_tws_sd']; + }; + }; + + WF_Logic setVariable ['primaryClasses',_w]; + + /* Secondary. */ + + _w = ['M136']; + _w = _w + ['MAAWS']; + + if (paramDLCBAF) then { + _w = _w + ['BAF_NLAW_Launcher']; + }; + + _w = _w + ['Javelin']; + _w = _w + ['Stinger']; + _w = _w + ['Laserdesignator']; + + /* Not all units are able to carry a backpack */ + _get = getNumber(configFile >> 'CfgVehicles' >> typeOf player >> 'canCarryBackPack'); + + if (_get == 1) then { + _w = _w + ['US_Assault_Pack_EP1']; + _w = _w + ['US_Patrol_Pack_EP1']; + _w = _w + ['US_Backpack_EP1']; + + if (paramDLCBAF) then { + _w = _w + ['BAF_AssaultPack_RifleAmmo']; + }; + + _w = _w + ['Tripod_Bag']; + + if (paramDLCBAF) then { + _w = _w + ['BAF_L2A1_ACOG_minitripod_bag']; + _w = _w + ['BAF_L2A1_ACOG_tripod_bag']; + _w = _w + ['BAF_GPMG_Minitripod_D_bag']; + _w = _w + ['BAF_GMG_ACOG_minitripod_bag']; + }; + + _w = _w + ['M2HD_mini_TriPod_US_Bag_EP1']; + _w = _w + ['M2StaticMG_US_Bag_EP1']; + _w = _w + ['MK19_TriPod_US_Bag_EP1']; + _w = _w + ['TOW_TriPod_US_Bag_EP1']; + _w = _w + ['M252_US_Bag_EP1']; + }; + + WF_Logic setVariable ['secondaryClasses',_w]; + + /* Sidearm. */ + _w = ['Colt1911']; + _w = _w + ['M9']; + _w = _w + ['M9SD']; + _w = _w + ['glock17_EP1']; + + WF_Logic setVariable ['sidearmClasses',_w]; + + /* Misc. */ + + _w = ['HandGrenade_West']; + + if (paramDLCBAF) then { + _w = _w + ['BAF_L109A1_HE']; + }; + + _w = _w + ['HandGrenade_Stone']; + _w = _w + ['IR_Strobe_Target']; + _w = _w + ['IR_Strobe_Marker']; + _w = _w + ['SmokeShell']; + _w = _w + ['SmokeShellRed']; + _w = _w + ['SmokeShellGreen']; + _w = _w + ['SmokeShellBlue']; + _w = _w + ['SmokeShellYellow']; + _w = _w + ['SmokeShellOrange']; + _w = _w + ['SmokeShellPurple']; + _w = _w + ['FlareWhite_M203']; + _w = _w + ['FlareYellow_M203']; + _w = _w + ['FlareGreen_M203']; + _w = _w + ['FlareRed_M203']; + _w = _w + ['1Rnd_HE_M203']; + _w = _w + ['1Rnd_Smoke_M203']; + _w = _w + ['1Rnd_SmokeRed_M203']; + _w = _w + ['1Rnd_SmokeGreen_M203']; + _w = _w + ['1Rnd_SmokeYellow_M203']; + _w = _w + ['Mine']; + _w = _w + ['PipeBomb']; + _w = _w + ['Binocular']; + _w = _w + ['NVGoggles']; + _w = _w + ['Binocular_Vector']; + _w = _w + ['ItemCompass']; + _w = _w + ['ItemGPS']; + _w = _w + ['ItemMap']; + _w = _w + ['ItemRadio']; + _w = _w + ['ItemWatch']; + + WF_Logic setVariable ['miscClasses',_w]; + + //--- Templates. + _items = ['ItemCompass','ItemGPS','ItemMap','ItemRadio','ItemWatch']; + + _d = [getText(configFile >> 'CfgWeapons' >> 'SCAR_L_CQC' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Colt1911' >> 'displayName')]; + _p = [getText(configFile >> 'CfgWeapons' >> 'SCAR_L_CQC' >> 'picture')]; + _t = [['SCAR_L_CQC','Colt1911']]; + _m = [['30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag', + 'HandGrenade_West','HandGrenade_West','SmokeShellBlue','SmokeShellBlue','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911', + '7Rnd_45ACP_1911','7Rnd_45ACP_1911']]; + _s = [['Binocular']]; + _i = [_items]; + _l = [0]; + _b = [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'M16A2GL' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'M16A2GL' >> 'picture')]; + _t = _t + [['M16A2GL']]; + _m = _m + [['30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag', + '30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','HandGrenade_West','HandGrenade_West','1Rnd_HE_M203','1Rnd_HE_M203','1Rnd_HE_M203','1Rnd_HE_M203','1Rnd_HE_M203','1Rnd_HE_M203', + '1Rnd_HE_M203','1Rnd_HE_M203']]; + _s = _s + [['Binocular']]; + _i = _i + [_items]; + _l = _l + [0]; + _b = _b + [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'G36C_camo' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'M136' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'G36C_camo' >> 'picture')]; + _t = _t + [['G36C_camo','M136']]; + _m = _m + [['30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','M136']]; + _s = _s + [['Binocular']]; + _i = _i + [_items]; + _l = _l + [0]; + _b = _b + [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'SCAR_H_STD_EGLM_Spect' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'MAAWS' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'SCAR_H_STD_EGLM_Spect' >> 'picture')]; + _t = _t + [['SCAR_H_STD_EGLM_Spect','MAAWS']]; + _m = _m + [['20rnd_762x51_B_SCAR','20rnd_762x51_B_SCAR','20rnd_762x51_B_SCAR','20rnd_762x51_B_SCAR','20rnd_762x51_B_SCAR','20rnd_762x51_B_SCAR','MAAWS_HEAT', + 'MAAWS_HEAT','1Rnd_HE_M203','1Rnd_HE_M203','1Rnd_HE_M203','1Rnd_HE_M203','1Rnd_HE_M203','1Rnd_HE_M203','1Rnd_HE_M203','1Rnd_HE_M203']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [3]; + _b = _b + [false]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'SCAR_L_STD_HOLO' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'MAAWS' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'M9' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'SCAR_L_STD_HOLO' >> 'picture')]; + _t = _t + [['SCAR_L_STD_HOLO','MAAWS','M9']]; + _m = _m + [['30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','MAAWS_HEAT','MAAWS_HEAT', + '15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [2]; + _b = _b + [false]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'M4A3_CCO_EP1' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Javelin' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Colt1911' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'M4A3_CCO_EP1' >> 'picture')]; + _t = _t + [['M4A3_CCO_EP1','Javelin','Colt1911']]; + _m = _m + [['30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','Javelin', + '7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [3]; + _b = _b + [false]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'SCAR_L_STD_Mk4CQT' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Stinger' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'M9' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'SCAR_L_STD_Mk4CQT' >> 'picture')]; + _t = _t + [['SCAR_L_STD_Mk4CQT','Stinger','M9']]; + _m = _m + [['30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','Stinger', + '15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [2]; + _b = _b + [false]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'SCAR_L_CQC' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'M9' >> 'displayName') + '/' + getText(configFile >> 'CfgMagazines' >> 'Mine' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'SCAR_L_CQC' >> 'picture')]; + _t = _t + [['SCAR_L_CQC','M9']]; + _m = _m + [['30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','Mine','Mine','Mine', + '15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9']]; + _s = _s + [['Binocular']]; + _i = _i + [_items]; + _l = _l + [0]; + _b = _b + [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'SCAR_H_CQC_CCO_SD' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'M9SD' >> 'displayName') + '/' + getText(configFile >> 'CfgMagazines' >> 'PipeBomb' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'SCAR_H_CQC_CCO_SD' >> 'picture')]; + _t = _t + [['SCAR_H_CQC_CCO_SD','M9SD']]; + _m = _m + [['20Rnd_762x51_SB_SCAR','20Rnd_762x51_SB_SCAR','20Rnd_762x51_SB_SCAR','20Rnd_762x51_SB_SCAR','20Rnd_762x51_SB_SCAR','20Rnd_762x51_SB_SCAR','PipeBomb','PipeBomb','PipeBomb', + '15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [1]; + _b = _b + [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'm240_scoped_EP1' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Colt1911' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'm240_scoped_EP1' >> 'picture')]; + _t = _t + [['m240_scoped_EP1','Colt1911']]; + _m = _m + [['100Rnd_762x51_M240','100Rnd_762x51_M240','100Rnd_762x51_M240','100Rnd_762x51_M240','100Rnd_762x51_M240','SmokeShellRed','SmokeShellRed','7Rnd_45ACP_1911', + '7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911']]; + _s = _s + [['Binocular']]; + _i = _i + [_items]; + _l = _l + [0]; + _b = _b + [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'M249_EP1' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Colt1911' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'M249_EP1' >> 'picture')]; + _t = _t + [['M249_EP1','Colt1911']]; + _m = _m + [['200Rnd_556x45_M249','200Rnd_556x45_M249','200Rnd_556x45_M249','200Rnd_556x45_M249','200Rnd_556x45_M249','SmokeShellRed','SmokeShellRed','7Rnd_45ACP_1911', + '7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [2]; + _b = _b + [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'M14_EP1' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'M9SD' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'M14_EP1' >> 'picture')]; + _t = _t + [['M14_EP1','M9SD']]; + _m = _m + [['20Rnd_762x51_DMR','20Rnd_762x51_DMR','20Rnd_762x51_DMR','20Rnd_762x51_DMR','20Rnd_762x51_DMR','20Rnd_762x51_DMR','20Rnd_762x51_DMR','20Rnd_762x51_DMR', + '20Rnd_762x51_DMR','20Rnd_762x51_DMR','HandGrenade_West','HandGrenade_West','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD', + '15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD']]; + _s = _s + [['Binocular_Vector','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [2]; + _b = _b + [false]; + + if (_tiMode) then { + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'M110_TWS_EP1' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Laserdesignator' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'M9SD' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'M110_TWS_EP1' >> 'picture')]; + _t = _t + [['M110_TWS_EP1','Laserdesignator','M9SD']]; + _m = _m + [['20Rnd_762x51_B_SCAR','20Rnd_762x51_B_SCAR','20Rnd_762x51_B_SCAR','20Rnd_762x51_B_SCAR','20Rnd_762x51_B_SCAR','20Rnd_762x51_B_SCAR','20Rnd_762x51_B_SCAR','20Rnd_762x51_B_SCAR', + '20Rnd_762x51_B_SCAR','20Rnd_762x51_B_SCAR','HandGrenade_West','Laserbatteries','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD', + '15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD']]; + _s = _s + [['Binocular_Vector','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [2]; + _b = _b + [false]; + }; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'm107' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'M9SD' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'm107' >> 'picture')]; + _t = _t + [['m107','M9SD']]; + _m = _m + [['10Rnd_127x99_m107','10Rnd_127x99_m107','10Rnd_127x99_m107','10Rnd_127x99_m107','10Rnd_127x99_m107','10Rnd_127x99_m107','10Rnd_127x99_m107','10Rnd_127x99_m107', + '10Rnd_127x99_m107','10Rnd_127x99_m107','HandGrenade_West','HandGrenade_West','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD', + '15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD']]; + _s = _s + [['Binocular_Vector','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [3]; + _b = _b + [false]; + + _c = []; + _totalTemplates = count _d; + + for [{_count = 0},{_count < _totalTemplates},{_count = _count + 1}] do { + _cost = 0; + { + _get = (_x+"_W") Call GetNamespace; + if (isNil '_get') then { + _get = _x Call GetNamespace; + }; + if !(isNil '_get') then {_cost = _cost + (_get select QUERYGEARCOST)}; + } forEach (_t select _count); + + { + _get = _x Call GetNamespace; + if !(isNil '_get') then {_cost = _cost + (_get select QUERYGEARCOST)}; + } forEach ((_m select _count) + (_s select _count) + (_i select _count)); + + _c = _c + [_cost]; + }; + WF_Logic setVariable ['templateClasses',_t]; + WF_Logic setVariable ['templateNames',_d]; + WF_Logic setVariable ['templateCosts',_c]; + WF_Logic setVariable ['templatePictures',_p]; + WF_Logic setVariable ['templateMags',_m]; + WF_Logic setVariable ['templateItems',_i]; + WF_Logic setVariable ['templateSpecs',_s]; + WF_Logic setVariable ['templateUpgrades',_l]; + WF_Logic setVariable ['templateAllowed',_b]; + }; +}; + +['WFBE_WESTDEFAULTWEAPONS',['M16A2','ItemCompass','ItemMap','ItemWatch','ItemRadio'],true] Call SetNamespace; +['WFBE_WESTDEFAULTAMMO',['30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','HandGrenade_West','HandGrenade_West'],true] Call SetNamespace; + +//--- AI Leaders Loadouts. +if (isServer) then { + //--- No Upgrade. + ['WFBE_WESTLEADERWEAPONS01',['SCAR_L_CQC','M136','Colt1911','Binocular','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_WESTLEADERAMMO01',['30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','M136','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911'],true] Call SetNamespace; + ['WFBE_WESTLEADERWEAPONS02',['G36C_camo','M136','Colt1911','Binocular','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_WESTLEADERAMMO02',['30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','M136','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911'],true] Call SetNamespace; + ['WFBE_WESTLEADERWEAPONS03',['m240_scoped_EP1','Colt1911','Binocular','ItemRadio','ItemMap'],true] Call SetNamespace;; + ['WFBE_WESTLEADERAMMO03',['100Rnd_762x51_M240','100Rnd_762x51_M240','100Rnd_762x51_M240','100Rnd_762x51_M240','100Rnd_762x51_M240','HandGrenade_West','HandGrenade_West','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911'],true] Call SetNamespace; + //--- Upgrade 1. + ['WFBE_WESTLEADERWEAPONS11',['M4A3_CCO_EP1','M136','Colt1911','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_WESTLEADERAMMO11',['30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','M136','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911'],true] Call SetNamespace; + ['WFBE_WESTLEADERWEAPONS12',['G36K_camo','M136','Colt1911','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_WESTLEADERAMMO12',['30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','M136','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911'],true] Call SetNamespace; + ['WFBE_WESTLEADERWEAPONS13',['M14_EP1','M9SD','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_WESTLEADERAMMO13',['20Rnd_762x51_DMR','20Rnd_762x51_DMR','20Rnd_762x51_DMR','20Rnd_762x51_DMR','20Rnd_762x51_DMR','20Rnd_762x51_DMR','20Rnd_762x51_DMR','20Rnd_762x51_DMR','20Rnd_762x51_DMR','20Rnd_762x51_DMR','HandGrenade_West','HandGrenade_West','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD'],true] Call SetNamespace; + //--- Upgrade 2. + ['WFBE_WESTLEADERWEAPONS21',['SCAR_L_STD_HOLO','MAAWS','Colt1911','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_WESTLEADERAMMO21',['30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','MAAWS_HEAT','MAAWS_HEAT','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911'],true] Call SetNamespace; + ['WFBE_WESTLEADERWEAPONS22',['G36C_camo','MAAWS','Colt1911','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_WESTLEADERAMMO22',['30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','MAAWS_HEAT','MAAWS_HEAT','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911'],true] Call SetNamespace; + ['WFBE_WESTLEADERWEAPONS23',['MG36_camo','Colt1911','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_WESTLEADERAMMO23',['100Rnd_556x45_BetaCMag','100Rnd_556x45_BetaCMag','100Rnd_556x45_BetaCMag','100Rnd_556x45_BetaCMag','100Rnd_556x45_BetaCMag','HandGrenade_West','HandGrenade_West','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911'],true] Call SetNamespace; + //--- Upgrade 3. + ['WFBE_WESTLEADERWEAPONS31',['SCAR_L_CQC_EGLM_Holo','MAAWS','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_WESTLEADERAMMO31',['30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','MAAWS_HEAT','MAAWS_HEAT','1Rnd_HE_M203','1Rnd_HE_M203','1Rnd_HE_M203','1Rnd_HE_M203'],true] Call SetNamespace; + ['WFBE_WESTLEADERWEAPONS32',['SCAR_H_STD_EGLM_Spect','Javelin','Colt1911','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_WESTLEADERAMMO32',['20Rnd_762x51_SB_SCAR','20Rnd_762x51_SB_SCAR','20Rnd_762x51_SB_SCAR','20Rnd_762x51_SB_SCAR','20Rnd_762x51_SB_SCAR','20Rnd_762x51_SB_SCAR','Javelin','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911'],true] Call SetNamespace; + ['WFBE_WESTLEADERWEAPONS33',['Mk_48_DES_EP1','Colt1911','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_WESTLEADERAMMO33',['100Rnd_762x51_M240','100Rnd_762x51_M240','100Rnd_762x51_M240','100Rnd_762x51_M240','100Rnd_762x51_M240','HandGrenade_West','HandGrenade_West','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911'],true] Call SetNamespace; +}; \ No newline at end of file diff --git a/Common/Config/Core_Loadout/CombinedOps/Loadout_RU.sqf b/Common/Config/Core_Loadout/CombinedOps/Loadout_RU.sqf new file mode 100644 index 0000000..137c6a8 --- /dev/null +++ b/Common/Config/Core_Loadout/CombinedOps/Loadout_RU.sqf @@ -0,0 +1,483 @@ +/* RU Loadout */ +Private ['_tiMode']; +_tiMode = 'WFBE_THERMALIMAGING' Call GetNamespace; +_tiMode = if (_tiMode == 1 || _tiMode == 3) then {true} else {false}; + +if (!isServer || local player) then { + if (side player == EAST) then { + /* Magazines. */ + _m = ["30Rnd_762x39_AK47"]; + _m = _m + ["30Rnd_556x45_Stanag"]; + _m = _m + ["30Rnd_545x39_AK"]; + _m = _m + ["30Rnd_545x39_AKSD"]; + _m = _m + ["30Rnd_556x45_G36"]; + _m = _m + ["30Rnd_556x45_G36SD"]; + _m = _m + ["100Rnd_556x45_BetaCMag"]; + _m = _m + ["64Rnd_9x19_Bizon"]; + _m = _m + ["64Rnd_9x19_SD_Bizon"]; + _m = _m + ["100Rnd_762x54_PK"]; + _m = _m + ["75Rnd_545x39_RPK"]; + _m = _m + ["5x_22_LR_17_HMR"]; + _m = _m + ["10Rnd_762x54_SVD"]; + _m = _m + ["8Rnd_B_Saiga12_74Slug"]; + _m = _m + ["8Rnd_B_Saiga12_Pellets"]; + _m = _m + ["5Rnd_127x108_KSVK"]; + _m = _m + ["10Rnd_9x39_SP5_VSS"]; + _m = _m + ["20Rnd_9x39_SP5_VSS"]; + _m = _m + ["10x_303"]; + _m = _m + ["30Rnd_762x39_SA58"]; + _m = _m + ["20Rnd_762x51_FNFAL"]; + _m = _m + ["PG7V"]; + _m = _m + ["PG7VL"]; + _m = _m + ["OG7"]; + _m = _m + ["PG7VR"]; + _m = _m + ["RPG18"]; + _m = _m + ["Dragon_EP1"]; + _m = _m + ["SMAW_HEAA"]; + _m = _m + ["SMAW_HEDP"]; + _m = _m + ["AT13"]; + _m = _m + ["Igla"]; + _m = _m + ["Strela"]; + _m = _m + ["Laserbatteries"]; + _m = _m + ["6Rnd_45ACP"]; + _m = _m + ["8Rnd_9x18_Makarov"]; + _m = _m + ["8Rnd_9x18_MakarovSD"]; + _m = _m + ["10Rnd_B_765x17_Ball"]; + _m = _m + ["20Rnd_B_765x17_Ball"]; + _m = _m + ["30Rnd_9x19_UZI"]; + _m = _m + ["30Rnd_9x19_UZI_SD"]; + if (paramDLCPMC) then { + _m = _m + ["20Rnd_B_AA12_Pellets"]; + _m = _m + ["20Rnd_B_AA12_74Slug"]; + _m = _m + ["20Rnd_B_AA12_HE"]; + }; + + if (WF_ACE) then + { + _m = _m + ["ACE_Battery_Rangefinder"]; + _m = _m + ["ACE_75Rnd_762x39_B_AK47"]; + _m = _m + ["ACE_40Rnd_762x39_B_AK47"]; + _m = _m + ["ACE_75Rnd_762x39_T_AK47"]; + _m = _m + ["ACE_40Rnd_762x39_T_AK47"]; + _m = _m + ["ACE_30Rnd_762x39_T_AK47"]; + _m = _m + ["ACE_30Rnd_762x39_SD_AK47"]; + _m = _m + ["ACE_75Rnd_545x39_T_RPK"]; + _m = _m + ["ACE_30Rnd_545x39_T_AK"]; + _m = _m + ["ACE_10Rnd_762x54_T_SVD"]; + _m = _m + ["ACE_5Rnd_127x108_T_KSVK"]; + _m = _m + ["ACE_TBG7V"]; + _m = _m + ["ACE_RPG29_PG29"]; + _m = _m + ["ACE_RPG29_TBG29"]; + _m = _m + ["ACE_2B14HE_CSWDM"]; + _m = _m + ["ACE_KORD_CSWDM"]; + _m = _m + ["ACE_Konkurs_CSWDM"]; + _m = _m + ["ACE_2B14WP_CSWDM"]; + _m = _m + ["ACE_30Rnd_762x39_T_SA58"]; + _m = _m + ["ACE_5Rnd_25x59_HEDP_Barrett"]; + }; + + WF_Logic setVariable ['magazineClasses',_m]; + + /* Primary. */ + _w = ['AK_47_M']; + _w = _w + ['AK_47_S']; + _w = _w + ['M16A2']; + _w = _w + ['M16A2GL']; + _w = _w + ['AK_74']; + _w = _w + ['AK_74_GL']; + _w = _w + ['AK_74_GL_kobra']; + _w = _w + ['AK_107_kobra']; + _w = _w + ['AK_107_GL_kobra']; + _w = _w + ['AK_107_pso']; + _w = _w + ['AK_107_GL_pso']; + _w = _w + ['AKS_74']; + if (_tiMode) then { + _w = _w + ['AKS_74_GOSHAWK']; + }; + _w = _w + ['AKS_74_kobra']; + _w = _w + ['AKS_74_NSPU']; + _w = _w + ['AKS_74_pso']; + _w = _w + ['AKS_74_U']; + _w = _w + ['AKS_74_UN_kobra']; + _w = _w + ['AKS_GOLD']; + _w = _w + ['bizon']; + _w = _w + ['bizon_silenced']; + _w = _w + ['FN_FAL']; + _w = _w + ['FN_FAL_ANPVS4']; + _w = _w + ['LeeEnfield']; + _w = _w + ['PK']; + _w = _w + ['Pecheneg']; + _w = _w + ['RPK_74']; + _w = _w + ['huntingrifle']; + _w = _w + ['Sa58P_EP1']; + _w = _w + ['Sa58V_EP1']; + _w = _w + ['Sa58V_RCO_EP1']; + _w = _w + ['Sa58V_CCO_EP1']; + _w = _w + ['SVD']; + _w = _w + ['SVD_des_EP1']; + _w = _w + ['SVD_NSPU_EP1']; + _w = _w + ['SVD_CAMO']; + _w = _w + ['Saiga12K']; + _w = _w + ['ksvk']; + _w = _w + ['VSS_vintorez']; + + if (WF_ACE) then + { + _w = _w + ['ACE_SVD_Bipod']; + _w = _w + ['ACE_AK103']; + _w = _w + ['ACE_AK103_Kobra']; + _w = _w + ['ACE_AK104_Kobra']; + _w = _w + ['ACE_AK104']; + _w = _w + ['ACE_AK104_PSO']; + _w = _w + ['ACE_AK104_1P29']; + _w = _w + ['ACE_AK103_GL']; + _w = _w + ['ACE_AK103_1P29']; + _w = _w + ['ACE_AK103_GL_1P29']; + _w = _w + ['ACE_AK103_GL_PSO']; + _w = _w + ['ACE_AK103_GL_Kobra']; + _w = _w + ['ACE_AK105_1P29']; + _w = _w + ['ACE_RPK74M_1P29']; + _w = _w + ['ACE_AKMS_SD']; + _w = _w + ['ACE_AK105_Kobra']; + _w = _w + ['ACE_AK103_PSO']; + _w = _w + ['ACE_AK74M_GL_1P29']; + _w = _w + ['ACE_AK74M_GL_PSO']; + _w = _w + ['ACE_AK74M_GL_Kobra']; + _w = _w + ['ACE_AK74M_PSO']; + _w = _w + ['ACE_AK74M_1P29']; + _w = _w + ['ACE_M109']; + }; + + _w = _w + ['m8_carbine']; + _w = _w + ['m8_carbineGL']; + _w = _w + ['m8_compact']; + _w = _w + ['m8_sharpshooter']; + _w = _w + ['m8_SAW']; + if (paramDLCPMC) then { + _w = _w + ['AA12_PMC']; + _w = _w + ['m8_carbine_pmc']; + _w = _w + ['m8_compact_pmc']; + _w = _w + ['m8_holo_sd']; + if (_tiMode) then { + _w = _w + ['m8_tws']; + _w = _w + ['m8_tws_sd']; + }; + }; + + WF_Logic setVariable ['primaryClasses',_w]; + + /* Secondary. */ + + _w = ['RPG7V']; + _w = _w + ['RPG18']; + _w = _w + ['M47Launcher_EP1']; + _w = _w + ['SMAW']; + _w = _w + ['MetisLauncher']; + _w = _w + ['Igla']; + _w = _w + ['Strela']; + _w = _w + ['Laserdesignator']; + + if (WF_ACE) then + { + _w = _w + ['ACE_RPG7V_PGO7']; + _w = _w + ['ACE_RPG29']; + _w = _w + ['ACE_RPG27']; + _w = _w + ['ACE_KORDProxy']; + _w = _w + ['ACE_6T7TripodProxy']; + _w = _w + ['ACE_KonkursTripodProxy']; + _w = _w + ['ACE_2b14Proxy']; + _w = _w + ['ACE_2b14TripodProxy']; + _w = _w + ['ACE_Rucksack_RD90']; + _w = _w + ['ACE_Rucksack_RD54']; + _w = _w + ['ACE_Rucksack_RD99']; + } + else + { + /* Not all units are able to carry a backpack */ + _get = getNumber(configFile >> 'CfgVehicles' >> typeOf player >> 'canCarryBackPack'); + + if (_get == 1) then { + _w = _w + ['TK_Assault_Pack_EP1']; + _w = _w + ['TK_RPG_Backpack_EP1']; + _w = _w + ['TK_ALICE_Pack_EP1']; + _w = _w + ['Tripod_Bag']; + _w = _w + ['KORD_TK_Bag_EP1']; + _w = _w + ['KORD_high_TK_Bag_EP1']; + _w = _w + ['SPG9_TK_INS_Bag_EP1']; + _w = _w + ['AGS_TK_Bag_EP1']; + _w = _w + ['Metis_TK_Bag_EP1']; + _w = _w + ['2b14_82mm_TK_Bag_EP1']; + }; + }; + + WF_Logic setVariable ['secondaryClasses',_w]; + + /* Sidearms. */ + _w = ['Makarov']; + _w = _w + ['revolver_EP1']; + _w = _w + ['revolver_gold_EP1']; + _w = _w + ['MakarovSD']; + _w = _w + ['Sa61_EP1']; + _w = _w + ['UZI_EP1']; + _w = _w + ['UZI_SD_EP1']; + + WF_Logic setVariable ['sidearmClasses',_w]; + + /* Misc. */ + _w = ['HandGrenade_East']; + _w = _w + ['HandGrenade_Stone']; + _w = _w + ['SmokeShell']; + _w = _w + ['SmokeShellRed']; + _w = _w + ['SmokeShellGreen']; + _w = _w + ['SmokeShellBlue']; + _w = _w + ['SmokeShellYellow']; + _w = _w + ['SmokeShellOrange']; + _w = _w + ['SmokeShellPurple']; + _w = _w + ['FlareWhite_GP25']; + _w = _w + ['FlareYellow_GP25']; + _w = _w + ['FlareGreen_GP25']; + _w = _w + ['FlareRed_GP25']; + _w = _w + ['1Rnd_HE_M203']; + _w = _w + ['1Rnd_HE_GP25']; + _w = _w + ['1Rnd_SMOKE_GP25']; + _w = _w + ['1Rnd_SMOKERED_GP25']; + _w = _w + ['1Rnd_SMOKEGREEN_GP25']; + _w = _w + ['1Rnd_SMOKEYELLOW_GP25']; + _w = _w + ['MineE']; + _w = _w + ['PipeBomb']; + _w = _w + ['Binocular']; + _w = _w + ['NVGoggles']; + _w = _w + ['Binocular_Vector']; + _w = _w + ['ItemCompass']; + _w = _w + ['ItemGPS']; + _w = _w + ['ItemMap']; + _w = _w + ['ItemRadio']; + _w = _w + ['ItemWatch']; + + if (WF_ACE) then + { + _w = _w + ['ACE_MX2A']; + _w = _w + ['ACE_Earplugs']; + _w = _w + ['ACE_Bandage']; + _w = _w + ['ACE_Morphine']; + _w = _w + ['ACE_Epinephrine']; + _w = _w + ['ACE_Medkit']; + _w = _w + ['ACE_GlassesLHD_glasses']; + _w = _w + ['ACE_GlassesTactical']; + }; + + WF_Logic setVariable ['miscClasses',_w]; + + //--- Templates. + _items = ['ItemCompass','ItemGPS','ItemMap','ItemRadio','ItemWatch']; + + _d = [getText(configFile >> 'CfgWeapons' >> 'AK_107_kobra' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Makarov' >> 'displayName')]; + _p = [getText(configFile >> 'CfgWeapons' >> 'AK_107_kobra' >> 'picture')]; + _t = [['AK_107_kobra','Makarov']]; + _m = [['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK', + 'HandGrenade_East','HandGrenade_East','SmokeShellBlue','SmokeShellBlue','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov', + '8Rnd_9x18_Makarov','8Rnd_9x18_Makarov']]; + _s = [['Binocular']]; + _i = [_items]; + _l = [0]; + _b = [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'AK_107_GL_kobra' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'AK_107_GL_kobra' >> 'picture')]; + _t = _t + [['AK_107_GL_kobra']]; + _m = _m + [['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK', + '30Rnd_545x39_AK','30Rnd_545x39_AK','HandGrenade_East','HandGrenade_East','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25', + '1Rnd_HE_GP25','1Rnd_HE_GP25']]; + _s = _s + [['Binocular']]; + _i = _i + [_items]; + _l = _l + [0]; + _b = _b + [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'AK_107_pso' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'RPG7V' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'AK_107_pso' >> 'picture')]; + _t = _t + [['AK_107_pso','RPG7V']]; + _m = _m + [['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','PG7VL','PG7VL','PG7VL']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [1]; + _b = _b + [false]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'AK_74_GL' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'RPG7V' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'AK_74_GL' >> 'picture')]; + _t = _t + [['AK_74_GL','RPG7V']]; + _m = _m + [['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','PG7V', + 'PG7V','PG7V','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [1]; + _b = _b + [false]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'Sa58V_RCO_EP1' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'RPG7V' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Makarov' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'Sa58V_RCO_EP1' >> 'picture')]; + _t = _t + [['Sa58V_RCO_EP1','RPG7V','Makarov']]; + _m = _m + [['30Rnd_762x39_SA58','30Rnd_762x39_SA58','30Rnd_762x39_SA58','30Rnd_762x39_SA58','30Rnd_762x39_SA58','30Rnd_762x39_SA58','PG7VL','PG7VL','PG7VL', + '8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [1]; + _b = _b + [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'AKS_74_kobra' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'MetisLauncher' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Makarov' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'AKS_74_kobra' >> 'picture')]; + _t = _t + [['AKS_74_kobra','MetisLauncher','Makarov']]; + _m = _m + [['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','AT13', + '8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [3]; + _b = _b + [false]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'AK_107_kobra' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Igla' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Makarov' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'AK_107_kobra' >> 'picture')]; + _t = _t + [['AK_107_kobra','Igla','Makarov']]; + _m = _m + [['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','Igla', + '8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [2]; + _b = _b + [false]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'bizon_silenced' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Makarov' >> 'displayName') + '/' + getText(configFile >> 'CfgMagazines' >> 'MineE' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'bizon_silenced' >> 'picture')]; + _t = _t + [['bizon_silenced','Makarov']]; + _m = _m + [['64Rnd_9x19_SD_Bizon','64Rnd_9x19_SD_Bizon','64Rnd_9x19_SD_Bizon','64Rnd_9x19_SD_Bizon','64Rnd_9x19_SD_Bizon','64Rnd_9x19_SD_Bizon','MineE','MineE','MineE', + '8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov']]; + _s = _s + [['Binocular']]; + _i = _i + [_items]; + _l = _l + [2]; + _b = _b + [true]; + + if (_tiMode) then { + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'AKS_74_GOSHAWK' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'MakarovSD' >> 'displayName') + '/' + getText(configFile >> 'CfgMagazines' >> 'PipeBomb' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'AKS_74_GOSHAWK' >> 'picture')]; + _t = _t + [['AKS_74_GOSHAWK','MakarovSD']]; + _m = _m + [['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','PipeBomb','PipeBomb','PipeBomb', + '8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [2]; + _b = _b + [true]; + }; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'PK' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Makarov' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'PK' >> 'picture')]; + _t = _t + [['PK','Makarov']]; + _m = _m + [['100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','SmokeShellBlue','SmokeShellBlue','8Rnd_9x18_Makarov', + '8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov']]; + _s = _s + [['Binocular']]; + _i = _i + [_items]; + _l = _l + [0]; + _b = _b + [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'SVD_des_EP1' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'MakarovSD' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'SVD_des_EP1' >> 'picture')]; + _t = _t + [['SVD_des_EP1','MakarovSD']]; + _m = _m + [['10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD', + '10Rnd_762x54_SVD','10Rnd_762x54_SVD','HandGrenade_East','HandGrenade_East','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD', + '8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD']]; + _s = _s + [['Binocular']]; + _i = _i + [_items]; + _l = _l + [1]; + _b = _b + [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'VSS_vintorez' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Laserdesignator' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'MakarovSD' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'VSS_vintorez' >> 'picture')]; + _t = _t + [['VSS_vintorez','Laserdesignator','MakarovSD']]; + _m = _m + [['20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS', + '20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','HandGrenade_East','Laserbatteries','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD', + '8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD']]; + _s = _s + [['Binocular_Vector','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [2]; + _b = _b + [false]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'ksvk' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'MakarovSD' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'ksvk' >> 'picture')]; + _t = _t + [['ksvk','MakarovSD']]; + _m = _m + [['5Rnd_127x108_KSVK','5Rnd_127x108_KSVK','5Rnd_127x108_KSVK','5Rnd_127x108_KSVK','5Rnd_127x108_KSVK','5Rnd_127x108_KSVK','5Rnd_127x108_KSVK','5Rnd_127x108_KSVK', + '5Rnd_127x108_KSVK','5Rnd_127x108_KSVK','HandGrenade_East','HandGrenade_East','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD', + '8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD']]; + _s = _s + [['Binocular_Vector','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [3]; + _b = _b + [false]; + + _c = []; + _totalTemplates = count _d; + + for [{_count = 0},{_count < _totalTemplates},{_count = _count + 1}] do { + _cost = 0; + { + _get = (_x+"_W") Call GetNamespace; + if (isNil '_get') then { + _get = _x Call GetNamespace; + }; + if !(isNil '_get') then {_cost = _cost + (_get select QUERYGEARCOST)}; + } forEach (_t select _count); + + { + _get = _x Call GetNamespace; + if !(isNil '_get') then {_cost = _cost + (_get select QUERYGEARCOST)}; + } forEach ((_m select _count) + (_s select _count) + (_i select _count)); + + _c = _c + [_cost]; + }; + WF_Logic setVariable ['templateClasses',_t]; + WF_Logic setVariable ['templateNames',_d]; + WF_Logic setVariable ['templateCosts',_c]; + WF_Logic setVariable ['templatePictures',_p]; + WF_Logic setVariable ['templateMags',_m]; + WF_Logic setVariable ['templateItems',_i]; + WF_Logic setVariable ['templateSpecs',_s]; + WF_Logic setVariable ['templateUpgrades',_l]; + WF_Logic setVariable ['templateAllowed',_b]; + }; +}; + +if (WF_ACE) then +{ + ['WFBE_EASTDEFAULTWEAPONS',['AK_107_kobra','ItemCompass','ItemMap','ItemWatch','ItemRadio','ACE_Earplugs','Binocular','RPG18'],true] Call SetNamespace; + ['WFBE_EASTDEFAULTAMMO',['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','HandGrenade_East','HandGrenade_East'],true] Call SetNamespace; +} +else +{ + ['WFBE_EASTDEFAULTWEAPONS',['AK_107_kobra','ItemCompass','ItemMap','ItemWatch','ItemRadio'],true] Call SetNamespace; + ['WFBE_EASTDEFAULTAMMO',['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','HandGrenade_East','HandGrenade_East'],true] Call SetNamespace; +}; + +//--- AI Leaders Loadouts. +if (isServer) then { + //--- No Upgrade. + ['WFBE_EASTLEADERWEAPONS01',['AKS_74','RPG18','Makarov','Binocular','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO01',['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','RPG18','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + ['WFBE_EASTLEADERWEAPONS02',['AK_107_kobra','RPG18','Makarov','Binocular','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO02',['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','RPG18','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + ['WFBE_EASTLEADERWEAPONS03',['PK','Makarov','Binocular','ItemRadio','ItemMap'],true] Call SetNamespace;; + ['WFBE_EASTLEADERAMMO03',['100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','HandGrenade_East','HandGrenade_East','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + //--- Upgrade 1. + ['WFBE_EASTLEADERWEAPONS11',['AK_107_kobra','RPG7V','Makarov','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO11',['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','PG7VL','PG7VL','PG7VL','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + ['WFBE_EASTLEADERWEAPONS12',['RPK_74','RPG7V','Makarov','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO12',['75Rnd_545x39_RPK','75Rnd_545x39_RPK','75Rnd_545x39_RPK','75Rnd_545x39_RPK','75Rnd_545x39_RPK','75Rnd_545x39_RPK','PG7VL','PG7VL','PG7VL','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + ['WFBE_EASTLEADERWEAPONS13',['SVD','MakarovSD','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO13',['10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','HandGrenade_East','HandGrenade_East','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD'],true] Call SetNamespace; + //--- Upgrade 2. + ['WFBE_EASTLEADERWEAPONS21',['AK_107_pso','RPG7V','Makarov','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO21',['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','PG7VL','PG7VL','PG7VL','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + ['WFBE_EASTLEADERWEAPONS22',['SVD_des_EP1','RPG7V','Makarov','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO22',['10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','PG7VL','PG7VL','PG7VL','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + ['WFBE_EASTLEADERWEAPONS23',['Pecheneg','Makarov','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO23',['100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','HandGrenade_East','HandGrenade_East','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + //--- Upgrade 3. + ['WFBE_EASTLEADERWEAPONS31',['AK_107_GL_pso','RPG7V','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO31',['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','PG7VL','PG7VL','PG7VL','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25'],true] Call SetNamespace; + ['WFBE_EASTLEADERWEAPONS32',['Sa58V_RCO_EP1','MetisLauncher','Makarov','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO32',['30Rnd_762x39_SA58','30Rnd_762x39_SA58','30Rnd_762x39_SA58','30Rnd_762x39_SA58','30Rnd_762x39_SA58','30Rnd_762x39_SA58','AT13','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + ['WFBE_EASTLEADERWEAPONS33',['VSS_vintorez','Makarov','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO33',['20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','HandGrenade_East','HandGrenade_East','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; +}; \ No newline at end of file diff --git a/Common/Config/Core_Loadout/CombinedOps/Loadout_US.sqf b/Common/Config/Core_Loadout/CombinedOps/Loadout_US.sqf new file mode 100644 index 0000000..0d658e2 --- /dev/null +++ b/Common/Config/Core_Loadout/CombinedOps/Loadout_US.sqf @@ -0,0 +1,574 @@ +/* US Loadout */ +Private ['_tiMode']; +_tiMode = 'WFBE_THERMALIMAGING' Call GetNamespace; +_tiMode = if (_tiMode == 1 || _tiMode == 3) then {true} else {false}; + +if (!isServer || local player) then { + if (side player == WEST) then { + /* Magazines. */ + _m = ["30Rnd_556x45_Stanag"]; + _m = _m + ["30Rnd_556x45_StanagSD"]; + _m = _m + ["20Rnd_556x45_Stanag"]; + _m = _m + ["30Rnd_556x45_G36"]; + _m = _m + ["30Rnd_556x45_G36SD"]; + _m = _m + ["100Rnd_556x45_BetaCMag"]; + _m = _m + ["5Rnd_762x51_M24"]; + _m = _m + ["20Rnd_762x51_DMR"]; + _m = _m + ["10Rnd_127x99_m107"]; + _m = _m + ["100Rnd_762x51_M240"]; + _m = _m + ["100Rnd_556x45_M249"]; + _m = _m + ["200Rnd_556x45_M249"]; + _m = _m + ["30Rnd_9x19_MP5"]; + _m = _m + ["30Rnd_9x19_MP5SD"]; + _m = _m + ["8Rnd_B_Beneli_74Slug"]; + _m = _m + ["8Rnd_B_Beneli_Pellets"]; + _m = _m + ["20Rnd_762x51_B_SCAR"]; + _m = _m + ["20Rnd_762x51_SB_SCAR"]; + _m = _m + ["6Rnd_HE_M203"]; + _m = _m + ["6Rnd_FlareWhite_M203"]; + _m = _m + ["6Rnd_FlareGreen_M203"]; + _m = _m + ["6Rnd_FlareRed_M203"]; + _m = _m + ["6Rnd_FlareYellow_M203"]; + _m = _m + ["6Rnd_Smoke_M203"]; + _m = _m + ["6Rnd_SmokeRed_M203"]; + _m = _m + ["6Rnd_SmokeGreen_M203"]; + _m = _m + ["6Rnd_SmokeYellow_M203"]; + _m = _m + ["M136"]; + _m = _m + ["MAAWS_HEAT"]; + _m = _m + ["MAAWS_HEDP"]; + _m = _m + ["SMAW_HEAA"]; + _m = _m + ["SMAW_HEDP"]; + _m = _m + ["Javelin"]; + _m = _m + ["Stinger"]; + _m = _m + ["Laserbatteries"]; + _m = _m + ["15Rnd_9x19_M9"]; + _m = _m + ["15Rnd_9x19_M9SD"]; + _m = _m + ["7Rnd_45ACP_1911"]; + _m = _m + ["17Rnd_9x19_glock17"]; + + if (WF_ACE) then + { + _m = _m + ["ACE_Battery_Rangefinder"]; + _m = _m + ["ACE_20Rnd_762x51_B_HK417"]; + _m = _m + ["ACE_30Rnd_556x45_T_Stanag"]; + _m = _m + ["ACE_20Rnd_762x51_T_M110"]; + _m = _m + ["ACE_100Rnd_556x45_T_M249"]; + _m = _m + ["ACE_200Rnd_556x45_T_M249"]; + _m = _m + ["ACE_10Rnd_127x99_T_m107"]; + _m = _m + ["ACE_10Rnd_127x99_Raufoss_m107"]; + _m = _m + ["ACE_M252HE_CSWDM"]; + _m = _m + ["ACE_M252WP_CSWDM"]; + _m = _m + ["ACE_M2_CSWDM"]; + _m = _m + ["ACE_TOW_CSWDM"]; + _m = _m + ["ACE_5Rnd_25x59_HEDP_Barrett"]; + _m = _m + ["ACE_30Rnd_556x45_T_G36"]; + _m = _m + ["ACE_20Rnd_762x51_T_HK417"]; + _m = _m + ["ACE_5Rnd_762x51_T_M24"]; + _m = _m + ["ACE_20Rnd_762x51_SB_SCAR"]; + }; + + if (paramDLCBAF) then { + _m = _m + ["5Rnd_127x99_AS50"]; + _m = _m + ["5Rnd_86x70_L115A1"]; + _m = _m + ["200Rnd_556x45_L110A1"]; + _m = _m + ["NLAW"]; + }; + + if (paramDLCPMC) then { + _m = _m + ["20Rnd_B_AA12_Pellets"]; + _m = _m + ["20Rnd_B_AA12_74Slug"]; + _m = _m + ["20Rnd_B_AA12_HE"]; + }; + + WF_Logic setVariable ['magazineClasses',_m]; + + /* Primary. */ + _w = ['M16A2']; + _w = _w + ['M16A2GL']; + _w = _w + ['m16a4']; + _w = _w + ['m16a4_acg']; + _w = _w + ['M16A4_GL']; + _w = _w + ['M16A4_ACG_GL']; + _w = _w + ['M24']; + _w = _w + ['M40A3']; + _w = _w + ['M24_des_EP1']; + _w = _w + ['M240']; + _w = _w + ['m240_scoped_EP1']; + _w = _w + ['M60A4_EP1']; + _w = _w + ['Mk_48']; + _w = _w + ['Mk_48_DES_EP1']; + _w = _w + ['M249_EP1']; + if (_tiMode) then { + _w = _w + ['M249_TWS_EP1']; + }; + _w = _w + ['M249_m145_EP1']; + _w = _w + ['M4A1']; + _w = _w + ['M4A1_Aim']; + _w = _w + ['M4A1_Aim_camo']; + _w = _w + ['M4A1_RCO_GL']; + _w = _w + ['M4A1_AIM_SD_camo']; + _w = _w + ['M4A1_HWS_GL_SD_Camo']; + _w = _w + ['M4A1_HWS_GL']; + _w = _w + ['M4A1_HWS_GL_camo']; + _w = _w + ['M4SPR']; + _w = _w + ['M4A3_CCO_EP1']; + _w = _w + ['M4A3_RCO_GL_EP1']; + _w = _w + ['MP5SD']; + _w = _w + ['MP5A5']; + _w = _w + ['G36C']; + _w = _w + ['G36C_camo']; + _w = _w + ['G36_C_SD_eotech']; + _w = _w + ['G36_C_SD_camo']; + _w = _w + ['G36a']; + _w = _w + ['G36A_camo']; + _w = _w + ['G36K']; + _w = _w + ['G36K_camo']; + _w = _w + ['MG36']; + _w = _w + ['MG36_camo']; + _w = _w + ['DMR']; + _w = _w + ['M1014']; + _w = _w + ['M32_EP1']; + _w = _w + ['M79_EP1']; + _w = _w + ['Mk13_EP1']; + _w = _w + ['M14_EP1']; + _w = _w + ['m107']; + if (_tiMode) then { + _w = _w + ['m107_TWS_EP1']; + _w = _w + ['M110_TWS_EP1']; + }; + _w = _w + ['M110_NVG_EP1']; + _w = _w + ['SCAR_L_CQC']; + _w = _w + ['SCAR_L_CQC_Holo']; + _w = _w + ['SCAR_L_STD_Mk4CQT']; + _w = _w + ['SCAR_L_STD_EGLM_RCO']; + _w = _w + ['SCAR_L_CQC_EGLM_Holo']; + if (_tiMode) then { + _w = _w + ['SCAR_L_STD_EGLM_TWS']; + }; + _w = _w + ['SCAR_L_STD_HOLO']; + _w = _w + ['SCAR_H_CQC_CCO']; + _w = _w + ['SCAR_H_CQC_CCO_SD']; + _w = _w + ['SCAR_H_STD_EGLM_Spect']; + _w = _w + ['SCAR_H_LNG_Sniper']; + _w = _w + ['SCAR_H_LNG_Sniper_SD']; + if (_tiMode) then { + _w = _w + ['SCAR_H_STD_TWS_SD']; + }; + _w = _w + ['m8_carbine']; + _w = _w + ['m8_carbineGL']; + _w = _w + ['m8_compact']; + _w = _w + ['m8_sharpshooter']; + _w = _w + ['m8_SAW']; + + if (paramDLCBAF) then { + _w = _w + ['BAF_AS50_scoped']; + if (_tiMode) then { + _w = _w + ['BAF_AS50_TWS']; + }; + _w = _w + ['BAF_LRR_scoped']; + _w = _w + ['BAF_LRR_scoped_W']; + _w = _w + ['BAF_L85A2_RIS_Holo']; + _w = _w + ['BAF_L85A2_UGL_Holo']; + _w = _w + ['BAF_L85A2_RIS_SUSAT']; + _w = _w + ['BAF_L85A2_UGL_SUSAT']; + _w = _w + ['BAF_L85A2_RIS_ACOG']; + _w = _w + ['BAF_L85A2_UGL_ACOG']; + if (_tiMode) then { + _w = _w + ['BAF_L85A2_RIS_CWS']; + }; + _w = _w + ['BAF_L86A2_ACOG']; + _w = _w + ['BAF_L110A1_Aim']; + _w = _w + ['BAF_L7A2_GPMG']; + }; + + if (paramDLCPMC) then { + _w = _w + ['AA12_PMC']; + _w = _w + ['m8_carbine_pmc']; + _w = _w + ['m8_compact_pmc']; + _w = _w + ['m8_holo_sd']; + if (_tiMode) then { + _w = _w + ['m8_tws']; + _w = _w + ['m8_tws_sd']; + }; + }; + + if (WF_ACE) then + { + _w = _w + ['ACE_HK416_D10']; + _w = _w + ['ACE_HK416_D10_Holo']; + _w = _w + ['ACE_HK416_D10_COMPM3_SD']; + _w = _w + ['ACE_HK416_D10_M320']; + _w = _w + ['ACE_HK416_D14']; + _w = _w + ['ACE_HK416_D14_ACOG_PVS14']; + _w = _w + ['ACE_HK416_D14_TWS']; + _w = _w + ['ACE_HK416_D14_COMPM3_M320']; + _w = _w + ['ACE_HK417_Eotech_4x']; + _w = _w + ['ACE_HK417_micro']; + _w = _w + ['ACE_HK417_leupold']; + _w = _w + ['ACE_M109']; + }; + + WF_Logic setVariable ['primaryClasses',_w]; + + /* Secondary. */ + + _w = ['M136']; + _w = _w + ['MAAWS']; + if (paramDLCBAF) then { + _w = _w + ['BAF_NLAW_Launcher']; + }; + + _w = _w + ['Javelin']; + _w = _w + ['Stinger']; + _w = _w + ['Laserdesignator']; + _w = _w + ['SMAW']; + + if(WF_ACE) then + { + _w = _w + ['ACE_Rucksack_MOLLE_Brown']; + _w = _w + ['ACE_Coyote_Pack']; + _w = _w + ['ACE_CharliePack']; + _w = _w + ['ACE_M252Proxy']; + _w = _w + ['ACE_M252TripodProxy']; + _w = _w + ['ACE_M2HBProxy']; + _w = _w + ['ACE_M3TripodProxy']; + _w = _w + ['ACE_M220Proxy']; + _w = _w + ['ACE_M220TripodProxy']; + } + else + { + /* Not all units are able to carry a backpack */ + _get = getNumber(configFile >> 'CfgVehicles' >> typeOf player >> 'canCarryBackPack'); + + if (_get == 1) then { + _w = _w + ['US_Assault_Pack_EP1']; + _w = _w + ['US_Patrol_Pack_EP1']; + _w = _w + ['US_Backpack_EP1']; + + if (paramDLCBAF) then { + _w = _w + ['BAF_AssaultPack_RifleAmmo']; + }; + + _w = _w + ['Tripod_Bag']; + + if (paramDLCBAF) then { + _w = _w + ['BAF_L2A1_ACOG_minitripod_bag']; + _w = _w + ['BAF_L2A1_ACOG_tripod_bag']; + _w = _w + ['BAF_GPMG_Minitripod_D_bag']; + _w = _w + ['BAF_GMG_ACOG_minitripod_bag']; + }; + + _w = _w + ['M2HD_mini_TriPod_US_Bag_EP1']; + _w = _w + ['M2StaticMG_US_Bag_EP1']; + _w = _w + ['MK19_TriPod_US_Bag_EP1']; + _w = _w + ['TOW_TriPod_US_Bag_EP1']; + _w = _w + ['M252_US_Bag_EP1']; + }; + + if (WF_ACE) then { + _w = _w + ['ACE_M224TripodProxy']; + _w = _w + ['ACE_M224Proxy']; + _w = _w + ['ACE_VTAC_RUSH72_ACU']; + _w = _w + ['ACE_BackPack_ACR_TT']; + _w = _w + ['ACE_CharliePack_ACU']; + _w = _w + ['ACE_CharliePack_ACU_Medic']; + _w = _w + ['ACE_M252Proxy']; + _w = _w + ['ACE_M252TripodProxy']; + }; + }; + + WF_Logic setVariable ['secondaryClasses',_w]; + + /* Sidearms. */ + _w = ['Colt1911']; + _w = _w + ['M9']; + _w = _w + ['M9SD']; + _w = _w + ['glock17_EP1']; + if (WF_ACE) then { + _w = _w + ['ACE_USP']; + _w = _w + ['ACE_USPSD']; + _w = _w + ['ACE_P226']; + _w = _w + ['ACE_P8']; + }; + + WF_Logic setVariable ['sidearmClasses',_w]; + + /* Misc. */ + _w = ['HandGrenade_West']; + + if (paramDLCBAF) then { + _w = _w + ['BAF_L109A1_HE']; + }; + + _w = _w + ['HandGrenade_Stone']; + _w = _w + ['IR_Strobe_Target']; + _w = _w + ['IR_Strobe_Marker']; + _w = _w + ['SmokeShell']; + _w = _w + ['SmokeShellRed']; + _w = _w + ['SmokeShellGreen']; + _w = _w + ['SmokeShellBlue']; + _w = _w + ['SmokeShellYellow']; + _w = _w + ['SmokeShellOrange']; + _w = _w + ['SmokeShellPurple']; + _w = _w + ['FlareWhite_M203']; + _w = _w + ['FlareYellow_M203']; + _w = _w + ['FlareGreen_M203']; + _w = _w + ['FlareRed_M203']; + _w = _w + ['1Rnd_HE_M203']; + _w = _w + ['1Rnd_Smoke_M203']; + _w = _w + ['1Rnd_SmokeRed_M203']; + _w = _w + ['1Rnd_SmokeGreen_M203']; + _w = _w + ['1Rnd_SmokeYellow_M203']; + _w = _w + ['Mine']; + _w = _w + ['PipeBomb']; + _w = _w + ['Binocular']; + _w = _w + ['NVGoggles']; + _w = _w + ['Binocular_Vector']; + _w = _w + ['ItemCompass']; + _w = _w + ['ItemGPS']; + _w = _w + ['ItemMap']; + _w = _w + ['ItemRadio']; + _w = _w + ['ItemWatch']; + + if (WF_ACE) then + { + _w = _w + ['ACE_MX2A']; + _w = _w + ['ACE_Earplugs']; + _w = _w + ["ACE_SMAW_Spotting"]; + _w = _w + ["ACE_HuntIR_M203"]; + _w = _w + ["ACE_HuntIR_monitor"]; + _w = _w + ["ACE_HuntIR_monitor"]; + _w = _w + ['ACE_Bandage']; + _w = _w + ['ACE_Morphine']; + _w = _w + ['ACE_Epinephrine']; + _w = _w + ['ACE_Medkit']; + _w = _w + ['ACE_GlassesLHD_glasses']; + _w = _w + ['ACE_GlassesTactical']; + _w = _w + ['ACE_Javelin_CLU']; + }; + + WF_Logic setVariable ['miscClasses',_w]; + + //--- Templates. + _items = ['ItemCompass','ItemGPS','ItemMap','ItemRadio','ItemWatch']; + + _d = [getText(configFile >> 'CfgWeapons' >> 'SCAR_L_CQC' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Colt1911' >> 'displayName')]; + _p = [getText(configFile >> 'CfgWeapons' >> 'SCAR_L_CQC' >> 'picture')]; + _t = [['SCAR_L_CQC','Colt1911']]; + _m = [['30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag', + 'HandGrenade_West','HandGrenade_West','SmokeShellBlue','SmokeShellBlue','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911', + '7Rnd_45ACP_1911','7Rnd_45ACP_1911']]; + _s = [['Binocular']]; + _i = [_items]; + _l = [0]; + _b = [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'M16A4_GL' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'M16A4_GL' >> 'picture')]; + _t = _t + [['M16A4_GL']]; + _m = _m + [['30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag', + '30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','HandGrenade_West','HandGrenade_West','1Rnd_HE_M203','1Rnd_HE_M203','1Rnd_HE_M203','1Rnd_HE_M203','1Rnd_HE_M203','1Rnd_HE_M203', + '1Rnd_HE_M203','1Rnd_HE_M203']]; + _s = _s + [['Binocular']]; + _i = _i + [_items]; + _l = _l + [0]; + _b = _b + [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'G36C_camo' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'M136' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'G36C_camo' >> 'picture')]; + _t = _t + [['G36C_camo','M136']]; + _m = _m + [['30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','M136']]; + _s = _s + [['Binocular']]; + _i = _i + [_items]; + _l = _l + [0]; + _b = _b + [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'SCAR_H_STD_EGLM_Spect' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'MAAWS' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'SCAR_H_STD_EGLM_Spect' >> 'picture')]; + _t = _t + [['SCAR_H_STD_EGLM_Spect','MAAWS']]; + _m = _m + [['20rnd_762x51_B_SCAR','20rnd_762x51_B_SCAR','20rnd_762x51_B_SCAR','20rnd_762x51_B_SCAR','20rnd_762x51_B_SCAR','20rnd_762x51_B_SCAR','MAAWS_HEAT', + 'MAAWS_HEAT','1Rnd_HE_M203','1Rnd_HE_M203','1Rnd_HE_M203','1Rnd_HE_M203','1Rnd_HE_M203','1Rnd_HE_M203','1Rnd_HE_M203','1Rnd_HE_M203']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [3]; + _b = _b + [false]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'SCAR_L_STD_HOLO' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'MAAWS' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'M9' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'SCAR_L_STD_HOLO' >> 'picture')]; + _t = _t + [['SCAR_L_STD_HOLO','MAAWS','M9']]; + _m = _m + [['30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','MAAWS_HEAT','MAAWS_HEAT', + '15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [2]; + _b = _b + [false]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'M4A3_CCO_EP1' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Javelin' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Colt1911' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'M4A3_CCO_EP1' >> 'picture')]; + _t = _t + [['M4A3_CCO_EP1','Javelin','Colt1911']]; + _m = _m + [['30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','Javelin', + '7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [3]; + _b = _b + [false]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'SCAR_L_STD_Mk4CQT' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Stinger' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'M9' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'SCAR_L_STD_Mk4CQT' >> 'picture')]; + _t = _t + [['SCAR_L_STD_Mk4CQT','Stinger','M9']]; + _m = _m + [['30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','Stinger', + '15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [2]; + _b = _b + [false]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'SCAR_L_CQC' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'M9' >> 'displayName') + '/' + getText(configFile >> 'CfgMagazines' >> 'Mine' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'SCAR_L_CQC' >> 'picture')]; + _t = _t + [['SCAR_L_CQC','M9']]; + _m = _m + [['30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','Mine','Mine','Mine', + '15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9']]; + _s = _s + [['Binocular']]; + _i = _i + [_items]; + _l = _l + [0]; + _b = _b + [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'SCAR_H_CQC_CCO_SD' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'M9SD' >> 'displayName') + '/' + getText(configFile >> 'CfgMagazines' >> 'PipeBomb' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'SCAR_H_CQC_CCO_SD' >> 'picture')]; + _t = _t + [['SCAR_H_CQC_CCO_SD','M9SD']]; + _m = _m + [['20Rnd_762x51_SB_SCAR','20Rnd_762x51_SB_SCAR','20Rnd_762x51_SB_SCAR','20Rnd_762x51_SB_SCAR','20Rnd_762x51_SB_SCAR','20Rnd_762x51_SB_SCAR','PipeBomb','PipeBomb','PipeBomb', + '15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [1]; + _b = _b + [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'm240_scoped_EP1' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Colt1911' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'm240_scoped_EP1' >> 'picture')]; + _t = _t + [['m240_scoped_EP1','Colt1911']]; + _m = _m + [['100Rnd_762x51_M240','100Rnd_762x51_M240','100Rnd_762x51_M240','100Rnd_762x51_M240','100Rnd_762x51_M240','SmokeShellRed','SmokeShellRed','7Rnd_45ACP_1911', + '7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911']]; + _s = _s + [['Binocular']]; + _i = _i + [_items]; + _l = _l + [0]; + _b = _b + [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'M249_EP1' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Colt1911' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'M249_EP1' >> 'picture')]; + _t = _t + [['M249_EP1','Colt1911']]; + _m = _m + [['200Rnd_556x45_M249','200Rnd_556x45_M249','200Rnd_556x45_M249','200Rnd_556x45_M249','200Rnd_556x45_M249','SmokeShellRed','SmokeShellRed','7Rnd_45ACP_1911', + '7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [2]; + _b = _b + [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'M14_EP1' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'M9SD' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'M14_EP1' >> 'picture')]; + _t = _t + [['M14_EP1','M9SD']]; + _m = _m + [['20Rnd_762x51_DMR','20Rnd_762x51_DMR','20Rnd_762x51_DMR','20Rnd_762x51_DMR','20Rnd_762x51_DMR','20Rnd_762x51_DMR','20Rnd_762x51_DMR','20Rnd_762x51_DMR', + '20Rnd_762x51_DMR','20Rnd_762x51_DMR','HandGrenade_West','HandGrenade_West','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD', + '15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD']]; + _s = _s + [['Binocular_Vector','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [2]; + _b = _b + [false]; + + if (_tiMode) then { + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'M110_TWS_EP1' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Laserdesignator' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'M9SD' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'M110_TWS_EP1' >> 'picture')]; + _t = _t + [['M110_TWS_EP1','Laserdesignator','M9SD']]; + _m = _m + [['20Rnd_762x51_B_SCAR','20Rnd_762x51_B_SCAR','20Rnd_762x51_B_SCAR','20Rnd_762x51_B_SCAR','20Rnd_762x51_B_SCAR','20Rnd_762x51_B_SCAR','20Rnd_762x51_B_SCAR','20Rnd_762x51_B_SCAR', + '20Rnd_762x51_B_SCAR','20Rnd_762x51_B_SCAR','HandGrenade_West','Laserbatteries','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD', + '15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD']]; + _s = _s + [['Binocular_Vector','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [2]; + _b = _b + [false]; + }; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'm107' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'M9SD' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'm107' >> 'picture')]; + _t = _t + [['m107','M9SD']]; + _m = _m + [['10Rnd_127x99_m107','10Rnd_127x99_m107','10Rnd_127x99_m107','10Rnd_127x99_m107','10Rnd_127x99_m107','10Rnd_127x99_m107','10Rnd_127x99_m107','10Rnd_127x99_m107', + '10Rnd_127x99_m107','10Rnd_127x99_m107','HandGrenade_West','HandGrenade_West','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD', + '15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD']]; + _s = _s + [['Binocular_Vector','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [3]; + _b = _b + [false]; + + _c = []; + _totalTemplates = count _d; + + for [{_count = 0},{_count < _totalTemplates},{_count = _count + 1}] do { + _cost = 0; + { + _get = (_x+"_W") Call GetNamespace; + if (isNil '_get') then { + _get = _x Call GetNamespace; + }; + if !(isNil '_get') then {_cost = _cost + (_get select QUERYGEARCOST)}; + } forEach (_t select _count); + + { + _get = _x Call GetNamespace; + if !(isNil '_get') then {_cost = _cost + (_get select QUERYGEARCOST)}; + } forEach ((_m select _count) + (_s select _count) + (_i select _count)); + + _c = _c + [_cost]; + }; + WF_Logic setVariable ['templateClasses',_t]; + WF_Logic setVariable ['templateNames',_d]; + WF_Logic setVariable ['templateCosts',_c]; + WF_Logic setVariable ['templatePictures',_p]; + WF_Logic setVariable ['templateMags',_m]; + WF_Logic setVariable ['templateItems',_i]; + WF_Logic setVariable ['templateSpecs',_s]; + WF_Logic setVariable ['templateUpgrades',_l]; + WF_Logic setVariable ['templateAllowed',_b]; + }; +}; + +if (WF_ACE) then +{ + ['WFBE_WESTDEFAULTWEAPONS',['m16a4','ItemCompass','ItemMap','ItemWatch','ItemRadio','ACE_Earplugs','Binocular','M136'],true] Call SetNamespace; + ['WFBE_WESTDEFAULTAMMO',['30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','HandGrenade_West','HandGrenade_West'],true] Call SetNamespace; +} +else +{ + ['WFBE_WESTDEFAULTWEAPONS',['m16a4','ItemCompass','ItemMap','ItemWatch','ItemRadio'],true] Call SetNamespace; + ['WFBE_WESTDEFAULTAMMO',['30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','HandGrenade_West','HandGrenade_West'],true] Call SetNamespace; +}; + +//--- AI Leaders Loadouts. +if (isServer) then { + //--- No Upgrade. + ['WFBE_WESTLEADERWEAPONS01',['SCAR_L_CQC','M136','Colt1911','Binocular','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_WESTLEADERAMMO01',['30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','M136','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911'],true] Call SetNamespace; + ['WFBE_WESTLEADERWEAPONS02',['G36C_camo','M136','Colt1911','Binocular','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_WESTLEADERAMMO02',['30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','M136','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911'],true] Call SetNamespace; + ['WFBE_WESTLEADERWEAPONS03',['m240_scoped_EP1','Colt1911','Binocular','ItemRadio','ItemMap'],true] Call SetNamespace;; + ['WFBE_WESTLEADERAMMO03',['100Rnd_762x51_M240','100Rnd_762x51_M240','100Rnd_762x51_M240','100Rnd_762x51_M240','100Rnd_762x51_M240','HandGrenade_West','HandGrenade_West','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911'],true] Call SetNamespace; + //--- Upgrade 1. + ['WFBE_WESTLEADERWEAPONS11',['M4A3_CCO_EP1','M136','Colt1911','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_WESTLEADERAMMO11',['30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','M136','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911'],true] Call SetNamespace; + ['WFBE_WESTLEADERWEAPONS12',['G36K_camo','M136','Colt1911','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_WESTLEADERAMMO12',['30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','M136','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911'],true] Call SetNamespace; + ['WFBE_WESTLEADERWEAPONS13',['M14_EP1','M9SD','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_WESTLEADERAMMO13',['20Rnd_762x51_DMR','20Rnd_762x51_DMR','20Rnd_762x51_DMR','20Rnd_762x51_DMR','20Rnd_762x51_DMR','20Rnd_762x51_DMR','20Rnd_762x51_DMR','20Rnd_762x51_DMR','20Rnd_762x51_DMR','20Rnd_762x51_DMR','HandGrenade_West','HandGrenade_West','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD'],true] Call SetNamespace; + //--- Upgrade 2. + ['WFBE_WESTLEADERWEAPONS21',['SCAR_L_STD_HOLO','MAAWS','Colt1911','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_WESTLEADERAMMO21',['30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','MAAWS_HEAT','MAAWS_HEAT','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911'],true] Call SetNamespace; + ['WFBE_WESTLEADERWEAPONS22',['G36C_camo','MAAWS','Colt1911','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_WESTLEADERAMMO22',['30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','MAAWS_HEAT','MAAWS_HEAT','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911'],true] Call SetNamespace; + ['WFBE_WESTLEADERWEAPONS23',['MG36_camo','Colt1911','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_WESTLEADERAMMO23',['100Rnd_556x45_BetaCMag','100Rnd_556x45_BetaCMag','100Rnd_556x45_BetaCMag','100Rnd_556x45_BetaCMag','100Rnd_556x45_BetaCMag','HandGrenade_West','HandGrenade_West','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911'],true] Call SetNamespace; + //--- Upgrade 3. + ['WFBE_WESTLEADERWEAPONS31',['SCAR_L_CQC_EGLM_Holo','MAAWS','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_WESTLEADERAMMO31',['30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','MAAWS_HEAT','MAAWS_HEAT','1Rnd_HE_M203','1Rnd_HE_M203','1Rnd_HE_M203','1Rnd_HE_M203'],true] Call SetNamespace; + ['WFBE_WESTLEADERWEAPONS32',['SCAR_H_STD_EGLM_Spect','Javelin','Colt1911','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_WESTLEADERAMMO32',['20Rnd_762x51_B_SCAR','20Rnd_762x51_B_SCAR','20Rnd_762x51_B_SCAR','20Rnd_762x51_B_SCAR','20Rnd_762x51_B_SCAR','20Rnd_762x51_B_SCAR','Javelin','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911'],true] Call SetNamespace; + ['WFBE_WESTLEADERWEAPONS33',['Mk_48_DES_EP1','Colt1911','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_WESTLEADERAMMO33',['100Rnd_762x51_M240','100Rnd_762x51_M240','100Rnd_762x51_M240','100Rnd_762x51_M240','100Rnd_762x51_M240','HandGrenade_West','HandGrenade_West','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911'],true] Call SetNamespace; +}; \ No newline at end of file diff --git a/Common/Config/Core_Loadout/Vanilla/Loadout_CDF.sqf b/Common/Config/Core_Loadout/Vanilla/Loadout_CDF.sqf new file mode 100644 index 0000000..df76937 --- /dev/null +++ b/Common/Config/Core_Loadout/Vanilla/Loadout_CDF.sqf @@ -0,0 +1,306 @@ +/* USMC Loadout */ + +if (!isServer || local player) then { + if (side player == WEST) then { + /* Magazines. */ + _m = ["30Rnd_762x39_AK47"]; + _m = _m + ["30Rnd_545x39_AK"]; + _m = _m + ["30Rnd_545x39_AKSD"]; + _m = _m + ["64Rnd_9x19_Bizon"]; + _m = _m + ["64Rnd_9x19_SD_Bizon"]; + _m = _m + ["100Rnd_762x54_PK"]; + _m = _m + ["75Rnd_545x39_RPK"]; + _m = _m + ["5x_22_LR_17_HMR"]; + _m = _m + ["10Rnd_762x54_SVD"]; + _m = _m + ["8Rnd_B_Saiga12_74Slug"]; + _m = _m + ["5Rnd_127x108_KSVK"]; + _m = _m + ["10Rnd_9x39_SP5_VSS"]; + _m = _m + ["20Rnd_9x39_SP5_VSS"]; + _m = _m + ["PG7V"]; + _m = _m + ["PG7VL"]; + _m = _m + ["OG7"]; + _m = _m + ["PG7VR"]; + _m = _m + ["RPG18"]; + _m = _m + ["AT13"]; + _m = _m + ["Igla"]; + _m = _m + ["Strela"]; + _m = _m + ["Laserbatteries"]; + _m = _m + ["8Rnd_9x18_Makarov"]; + _m = _m + ["8Rnd_9x18_MakarovSD"]; + + WF_Logic setVariable ['magazineClasses',_m]; + + /* Primary. */ + _w = ['AK_47_M']; + _w = _w + ['AK_47_S']; + _w = _w + ['AK_74']; + _w = _w + ['AK_74_GL']; + _w = _w + ['AKS_74_kobra']; + _w = _w + ['AKS_74_pso']; + _w = _w + ['AKS_74_U']; + _w = _w + ['AKS_74_UN_kobra']; + _w = _w + ['AKS_GOLD']; + _w = _w + ['bizon']; + _w = _w + ['bizon_silenced']; + _w = _w + ['PK']; + _w = _w + ['RPK_74']; + _w = _w + ['huntingrifle']; + _w = _w + ['SVD']; + _w = _w + ['SVD_CAMO']; + _w = _w + ['Saiga12K']; + _w = _w + ['ksvk']; + _w = _w + ['VSS_vintorez']; + + WF_Logic setVariable ['primaryClasses',_w]; + + /* Secondary. */ + _w = ['RPG7V']; + _w = _w + ['RPG18']; + _w = _w + ['MetisLauncher']; + _w = _w + ['Igla']; + _w = _w + ['Strela']; + _w = _w + ['Laserdesignator']; + + WF_Logic setVariable ['secondaryClasses',_w]; + + /* Sidearms. */ + _w = ['Makarov']; + _w = _w + ['MakarovSD']; + + WF_Logic setVariable ['sidearmClasses',_w]; + + /* Misc. */ + _w = ['HandGrenade_East']; + _w = _w + ['HandGrenade_Stone']; + _w = _w + ['SmokeShell']; + _w = _w + ['SmokeShellRed']; + _w = _w + ['SmokeShellGreen']; + _w = _w + ['SmokeShellBlue']; + _w = _w + ['SmokeShellYellow']; + _w = _w + ['SmokeShellOrange']; + _w = _w + ['SmokeShellPurple']; + _w = _w + ['FlareWhite_GP25']; + _w = _w + ['FlareYellow_GP25']; + _w = _w + ['FlareGreen_GP25']; + _w = _w + ['FlareRed_GP25']; + _w = _w + ['1Rnd_HE_GP25']; + _w = _w + ['1Rnd_SMOKE_GP25']; + _w = _w + ['1Rnd_SMOKERED_GP25']; + _w = _w + ['1Rnd_SMOKEGREEN_GP25']; + _w = _w + ['1Rnd_SMOKEYELLOW_GP25']; + _w = _w + ['MineE']; + _w = _w + ['PipeBomb']; + _w = _w + ['Binocular']; + _w = _w + ['NVGoggles']; + _w = _w + ['ItemCompass']; + _w = _w + ['ItemGPS']; + _w = _w + ['ItemMap']; + _w = _w + ['ItemRadio']; + _w = _w + ['ItemWatch']; + + WF_Logic setVariable ['miscClasses',_w]; + + //--- Templates. + _items = ['ItemCompass','ItemGPS','ItemMap','ItemRadio','ItemWatch']; + + _d = [getText(configFile >> 'CfgWeapons' >> 'AKS_74_kobra' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Makarov' >> 'displayName')]; + _p = [getText(configFile >> 'CfgWeapons' >> 'AKS_74_kobra' >> 'picture')]; + _t = [['AKS_74_kobra','Makarov']]; + _m = [['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK', + 'HandGrenade_East','HandGrenade_East','SmokeShellBlue','SmokeShellBlue','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov', + '8Rnd_9x18_Makarov','8Rnd_9x18_Makarov']]; + _s = [['Binocular']]; + _i = [_items]; + _l = [0]; + _b = [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'AK_74_GL' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'AK_74_GL' >> 'picture')]; + _t = _t + [['AK_74_GL']]; + _m = _m + [['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK', + '30Rnd_545x39_AK','30Rnd_545x39_AK','HandGrenade_East','HandGrenade_East','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25', + '1Rnd_HE_GP25','1Rnd_HE_GP25']]; + _s = _s + [['Binocular']]; + _i = _i + [_items]; + _l = _l + [0]; + _b = _b + [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'AKS_74_pso' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'RPG7V' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'AKS_74_pso' >> 'picture')]; + _t = _t + [['AKS_74_pso','RPG7V']]; + _m = _m + [['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','PG7VL','PG7VL','PG7VL']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [1]; + _b = _b + [false]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'AK_74_GL' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'RPG7V' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'AK_74_GL' >> 'picture')]; + _t = _t + [['AK_74_GL','RPG7V']]; + _m = _m + [['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','PG7V', + 'PG7V','PG7V','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [1]; + _b = _b + [false]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'AKS_74_U' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'RPG7V' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Makarov' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'AKS_74_U' >> 'picture')]; + _t = _t + [['AKS_74_U','RPG7V','Makarov']]; + _m = _m + [['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','PG7VL','PG7VL','PG7VL', + '8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [1]; + _b = _b + [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'AKS_74_kobra' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'MetisLauncher' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Makarov' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'AKS_74_kobra' >> 'picture')]; + _t = _t + [['AKS_74_kobra','MetisLauncher','Makarov']]; + _m = _m + [['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','AT13', + '8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [3]; + _b = _b + [false]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'AK_74' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Igla' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Makarov' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'AK_74' >> 'picture')]; + _t = _t + [['AK_74','Igla','Makarov']]; + _m = _m + [['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','Igla', + '8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [2]; + _b = _b + [false]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'Saiga12K' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Makarov' >> 'displayName') + '/' + getText(configFile >> 'CfgMagazines' >> 'MineE' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'Saiga12K' >> 'picture')]; + _t = _t + [['Saiga12K','Makarov']]; + _m = _m + [['8Rnd_B_Saiga12_74Slug','8Rnd_B_Saiga12_74Slug','8Rnd_B_Saiga12_74Slug','8Rnd_B_Saiga12_74Slug','8Rnd_B_Saiga12_74Slug','8Rnd_B_Saiga12_74Slug','MineE','MineE','MineE', + '8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov']]; + _s = _s + [['Binocular']]; + _i = _i + [_items]; + _l = _l + [0]; + _b = _b + [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'AKS_74_UN_kobra' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'MakarovSD' >> 'displayName') + '/' + getText(configFile >> 'CfgMagazines' >> 'PipeBomb' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'AKS_74_UN_kobra' >> 'picture')]; + _t = _t + [['AKS_74_UN_kobra','MakarovSD']]; + _m = _m + [['30Rnd_545x39_AKSD','30Rnd_545x39_AKSD','30Rnd_545x39_AKSD','30Rnd_545x39_AKSD','30Rnd_545x39_AKSD','30Rnd_545x39_AKSD','PipeBomb','PipeBomb','PipeBomb', + '8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [2]; + _b = _b + [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'PK' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Makarov' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'PK' >> 'picture')]; + _t = _t + [['PK','Makarov']]; + _m = _m + [['100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','SmokeShellBlue','SmokeShellBlue','8Rnd_9x18_Makarov', + '8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov']]; + _s = _s + [['Binocular']]; + _i = _i + [_items]; + _l = _l + [0]; + _b = _b + [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'SVD' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'MakarovSD' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'SVD' >> 'picture')]; + _t = _t + [['SVD','MakarovSD']]; + _m = _m + [['10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD', + '10Rnd_762x54_SVD','10Rnd_762x54_SVD','HandGrenade_East','HandGrenade_East','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD', + '8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD']]; + _s = _s + [['Binocular']]; + _i = _i + [_items]; + _l = _l + [1]; + _b = _b + [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'VSS_vintorez' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Laserdesignator' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'MakarovSD' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'VSS_vintorez' >> 'picture')]; + _t = _t + [['VSS_vintorez','Laserdesignator','MakarovSD']]; + _m = _m + [['20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS', + '20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','HandGrenade_East','Laserbatteries','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD', + '8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [2]; + _b = _b + [false]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'ksvk' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'MakarovSD' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'ksvk' >> 'picture')]; + _t = _t + [['ksvk','MakarovSD']]; + _m = _m + [['5Rnd_127x108_KSVK','5Rnd_127x108_KSVK','5Rnd_127x108_KSVK','5Rnd_127x108_KSVK','5Rnd_127x108_KSVK','5Rnd_127x108_KSVK','5Rnd_127x108_KSVK','5Rnd_127x108_KSVK', + '5Rnd_127x108_KSVK','5Rnd_127x108_KSVK','HandGrenade_East','HandGrenade_East','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD', + '8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [3]; + _b = _b + [false]; + + _c = []; + _totalTemplates = count _d; + + for [{_count = 0},{_count < _totalTemplates},{_count = _count + 1}] do { + _cost = 0; + { + _get = (_x+"_W") Call GetNamespace; + if (isNil '_get') then { + _get = _x Call GetNamespace; + }; + if !(isNil '_get') then {_cost = _cost + (_get select QUERYGEARCOST)}; + } forEach (_t select _count); + + { + _get = _x Call GetNamespace; + if !(isNil '_get') then {_cost = _cost + (_get select QUERYGEARCOST)}; + } forEach ((_m select _count) + (_s select _count) + (_i select _count)); + + _c = _c + [_cost]; + }; + + WF_Logic setVariable ['templateClasses',_t]; + WF_Logic setVariable ['templateNames',_d]; + WF_Logic setVariable ['templateCosts',_c]; + WF_Logic setVariable ['templatePictures',_p]; + WF_Logic setVariable ['templateMags',_m]; + WF_Logic setVariable ['templateItems',_i]; + WF_Logic setVariable ['templateSpecs',_s]; + WF_Logic setVariable ['templateUpgrades',_l]; + WF_Logic setVariable ['templateAllowed',_b]; + }; +}; + +['WFBE_WESTDEFAULTWEAPONS',['AK_74','ItemCompass','ItemMap','ItemWatch','ItemRadio'],true] Call SetNamespace; +['WFBE_WESTDEFAULTAMMO',['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','HandGrenade_East','HandGrenade_East'],true] Call SetNamespace; + +//--- AI Leaders Loadouts. +if (isServer) then { + //--- No Upgrade. + ['WFBE_WESTLEADERWEAPONS01',['AKS_74_kobra','RPG18','Makarov','Binocular','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_WESTLEADERAMMO01',['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','RPG18','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + ['WFBE_WESTLEADERWEAPONS02',['AKS_74_kobra','RPG18','Makarov','Binocular','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_WESTLEADERAMMO02',['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','RPG18','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + ['WFBE_WESTLEADERWEAPONS03',['PK','Makarov','Binocular','ItemRadio','ItemMap'],true] Call SetNamespace;; + ['WFBE_WESTLEADERAMMO03',['100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','HandGrenade_East','HandGrenade_East','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + //--- Upgrade 1. + ['WFBE_WESTLEADERWEAPONS11',['AK_74_GL','RPG7V','Makarov','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_WESTLEADERAMMO11',['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','PG7VL','PG7VL','PG7VR','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + ['WFBE_WESTLEADERWEAPONS12',['RPK_74','RPG7V','Makarov','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_WESTLEADERAMMO12',['75Rnd_545x39_RPK','75Rnd_545x39_RPK','75Rnd_545x39_RPK','75Rnd_545x39_RPK','75Rnd_545x39_RPK','75Rnd_545x39_RPK','PG7VL','PG7VL','PG7VR','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + ['WFBE_WESTLEADERWEAPONS13',['SVD','MakarovSD','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_WESTLEADERAMMO13',['10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','HandGrenade_East','HandGrenade_East','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD'],true] Call SetNamespace; + //--- Upgrade 2. + ['WFBE_WESTLEADERWEAPONS21',['VSS_vintorez','RPG7V','Makarov','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_WESTLEADERAMMO21',['20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','PG7VL','PG7VL','PG7VL','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + ['WFBE_WESTLEADERWEAPONS22',['AKS_74_pso','RPG7V','Makarov','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_WESTLEADERAMMO22',['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','PG7VL','PG7VL','PG7VL','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + ['WFBE_WESTLEADERWEAPONS23',['RPK_74','Makarov','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_WESTLEADERAMMO23',['75Rnd_545x39_RPK','75Rnd_545x39_RPK','75Rnd_545x39_RPK','75Rnd_545x39_RPK','75Rnd_545x39_RPK','75Rnd_545x39_RPK','HandGrenade_East','HandGrenade_East','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + //--- Upgrade 3. + ['WFBE_WESTLEADERWEAPONS31',['AK_74_GL','RPG7V','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_WESTLEADERAMMO31',['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','PG7VL','PG7VL','PG7VL','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25'],true] Call SetNamespace; + ['WFBE_WESTLEADERWEAPONS32',['AKS_74_kobra','MetisLauncher','Makarov','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_WESTLEADERAMMO32',['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','AT13','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + ['WFBE_WESTLEADERWEAPONS33',['SVD_CAMO','Makarov','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_WESTLEADERAMMO33',['10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','HandGrenade_East','HandGrenade_East','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; +}; \ No newline at end of file diff --git a/Common/Config/Core_Loadout/Vanilla/Loadout_INS.sqf b/Common/Config/Core_Loadout/Vanilla/Loadout_INS.sqf new file mode 100644 index 0000000..e655422 --- /dev/null +++ b/Common/Config/Core_Loadout/Vanilla/Loadout_INS.sqf @@ -0,0 +1,306 @@ +/* USMC Loadout */ + +if (!isServer || local player) then { + if (side player == EAST) then { + /* Magazines. */ + _m = ["30Rnd_762x39_AK47"]; + _m = _m + ["30Rnd_545x39_AK"]; + _m = _m + ["30Rnd_545x39_AKSD"]; + _m = _m + ["64Rnd_9x19_Bizon"]; + _m = _m + ["64Rnd_9x19_SD_Bizon"]; + _m = _m + ["100Rnd_762x54_PK"]; + _m = _m + ["75Rnd_545x39_RPK"]; + _m = _m + ["5x_22_LR_17_HMR"]; + _m = _m + ["10Rnd_762x54_SVD"]; + _m = _m + ["8Rnd_B_Saiga12_74Slug"]; + _m = _m + ["5Rnd_127x108_KSVK"]; + _m = _m + ["10Rnd_9x39_SP5_VSS"]; + _m = _m + ["20Rnd_9x39_SP5_VSS"]; + _m = _m + ["PG7V"]; + _m = _m + ["PG7VL"]; + _m = _m + ["OG7"]; + _m = _m + ["PG7VR"]; + _m = _m + ["RPG18"]; + _m = _m + ["AT13"]; + _m = _m + ["Igla"]; + _m = _m + ["Strela"]; + _m = _m + ["Laserbatteries"]; + _m = _m + ["8Rnd_9x18_Makarov"]; + _m = _m + ["8Rnd_9x18_MakarovSD"]; + + WF_Logic setVariable ['magazineClasses',_m]; + + /* Primary. */ + _w = ['AK_47_M']; + _w = _w + ['AK_47_S']; + _w = _w + ['AK_74']; + _w = _w + ['AK_74_GL']; + _w = _w + ['AKS_74_kobra']; + _w = _w + ['AKS_74_pso']; + _w = _w + ['AKS_74_U']; + _w = _w + ['AKS_74_UN_kobra']; + _w = _w + ['AKS_GOLD']; + _w = _w + ['bizon']; + _w = _w + ['bizon_silenced']; + _w = _w + ['PK']; + _w = _w + ['RPK_74']; + _w = _w + ['huntingrifle']; + _w = _w + ['SVD']; + _w = _w + ['SVD_CAMO']; + _w = _w + ['Saiga12K']; + _w = _w + ['ksvk']; + _w = _w + ['VSS_vintorez']; + + WF_Logic setVariable ['primaryClasses',_w]; + + /* Secondary. */ + _w = ['RPG7V']; + _w = _w + ['RPG18']; + _w = _w + ['MetisLauncher']; + _w = _w + ['Igla']; + _w = _w + ['Strela']; + _w = _w + ['Laserdesignator']; + + WF_Logic setVariable ['secondaryClasses',_w]; + + /* Sidearms. */ + _w = ['Makarov']; + _w = _w + ['MakarovSD']; + + WF_Logic setVariable ['sidearmClasses',_w]; + + /* Misc. */ + _w = ['HandGrenade_East']; + _w = _w + ['HandGrenade_Stone']; + _w = _w + ['SmokeShell']; + _w = _w + ['SmokeShellRed']; + _w = _w + ['SmokeShellGreen']; + _w = _w + ['SmokeShellBlue']; + _w = _w + ['SmokeShellYellow']; + _w = _w + ['SmokeShellOrange']; + _w = _w + ['SmokeShellPurple']; + _w = _w + ['FlareWhite_GP25']; + _w = _w + ['FlareYellow_GP25']; + _w = _w + ['FlareGreen_GP25']; + _w = _w + ['FlareRed_GP25']; + _w = _w + ['1Rnd_HE_GP25']; + _w = _w + ['1Rnd_SMOKE_GP25']; + _w = _w + ['1Rnd_SMOKERED_GP25']; + _w = _w + ['1Rnd_SMOKEGREEN_GP25']; + _w = _w + ['1Rnd_SMOKEYELLOW_GP25']; + _w = _w + ['MineE']; + _w = _w + ['PipeBomb']; + _w = _w + ['Binocular']; + _w = _w + ['NVGoggles']; + _w = _w + ['ItemCompass']; + _w = _w + ['ItemGPS']; + _w = _w + ['ItemMap']; + _w = _w + ['ItemRadio']; + _w = _w + ['ItemWatch']; + + WF_Logic setVariable ['miscClasses',_w]; + + //--- Templates. + _items = ['ItemCompass','ItemGPS','ItemMap','ItemRadio','ItemWatch']; + + _d = [getText(configFile >> 'CfgWeapons' >> 'AKS_74_kobra' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Makarov' >> 'displayName')]; + _p = [getText(configFile >> 'CfgWeapons' >> 'AKS_74_kobra' >> 'picture')]; + _t = [['AKS_74_kobra','Makarov']]; + _m = [['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK', + 'HandGrenade_East','HandGrenade_East','SmokeShellBlue','SmokeShellBlue','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov', + '8Rnd_9x18_Makarov','8Rnd_9x18_Makarov']]; + _s = [['Binocular']]; + _i = [_items]; + _l = [0]; + _b = [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'AK_74_GL' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'AK_74_GL' >> 'picture')]; + _t = _t + [['AK_74_GL']]; + _m = _m + [['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK', + '30Rnd_545x39_AK','30Rnd_545x39_AK','HandGrenade_East','HandGrenade_East','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25', + '1Rnd_HE_GP25','1Rnd_HE_GP25']]; + _s = _s + [['Binocular']]; + _i = _i + [_items]; + _l = _l + [0]; + _b = _b + [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'AKS_74_pso' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'RPG7V' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'AKS_74_pso' >> 'picture')]; + _t = _t + [['AKS_74_pso','RPG7V']]; + _m = _m + [['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','PG7VL','PG7VL','PG7VL']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [1]; + _b = _b + [false]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'AK_74_GL' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'RPG7V' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'AK_74_GL' >> 'picture')]; + _t = _t + [['AK_74_GL','RPG7V']]; + _m = _m + [['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','PG7V', + 'PG7V','PG7V','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [1]; + _b = _b + [false]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'AKS_74_U' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'RPG7V' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Makarov' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'AKS_74_U' >> 'picture')]; + _t = _t + [['AKS_74_U','RPG7V','Makarov']]; + _m = _m + [['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','PG7VL','PG7VL','PG7VL', + '8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [1]; + _b = _b + [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'AKS_74_kobra' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'MetisLauncher' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Makarov' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'AKS_74_kobra' >> 'picture')]; + _t = _t + [['AKS_74_kobra','MetisLauncher','Makarov']]; + _m = _m + [['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','AT13', + '8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [3]; + _b = _b + [false]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'AK_74' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Igla' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Makarov' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'AK_74' >> 'picture')]; + _t = _t + [['AK_74','Igla','Makarov']]; + _m = _m + [['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','Igla', + '8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [2]; + _b = _b + [false]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'Saiga12K' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Makarov' >> 'displayName') + '/' + getText(configFile >> 'CfgMagazines' >> 'MineE' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'Saiga12K' >> 'picture')]; + _t = _t + [['Saiga12K','Makarov']]; + _m = _m + [['8Rnd_B_Saiga12_74Slug','8Rnd_B_Saiga12_74Slug','8Rnd_B_Saiga12_74Slug','8Rnd_B_Saiga12_74Slug','8Rnd_B_Saiga12_74Slug','8Rnd_B_Saiga12_74Slug','MineE','MineE','MineE', + '8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov']]; + _s = _s + [['Binocular']]; + _i = _i + [_items]; + _l = _l + [0]; + _b = _b + [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'AKS_74_UN_kobra' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'MakarovSD' >> 'displayName') + '/' + getText(configFile >> 'CfgMagazines' >> 'PipeBomb' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'AKS_74_UN_kobra' >> 'picture')]; + _t = _t + [['AKS_74_UN_kobra','MakarovSD']]; + _m = _m + [['30Rnd_545x39_AKSD','30Rnd_545x39_AKSD','30Rnd_545x39_AKSD','30Rnd_545x39_AKSD','30Rnd_545x39_AKSD','30Rnd_545x39_AKSD','PipeBomb','PipeBomb','PipeBomb', + '8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [2]; + _b = _b + [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'PK' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Makarov' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'PK' >> 'picture')]; + _t = _t + [['PK','Makarov']]; + _m = _m + [['100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','SmokeShellBlue','SmokeShellBlue','8Rnd_9x18_Makarov', + '8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov']]; + _s = _s + [['Binocular']]; + _i = _i + [_items]; + _l = _l + [0]; + _b = _b + [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'SVD' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'MakarovSD' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'SVD' >> 'picture')]; + _t = _t + [['SVD','MakarovSD']]; + _m = _m + [['10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD', + '10Rnd_762x54_SVD','10Rnd_762x54_SVD','HandGrenade_East','HandGrenade_East','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD', + '8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD']]; + _s = _s + [['Binocular']]; + _i = _i + [_items]; + _l = _l + [1]; + _b = _b + [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'VSS_vintorez' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Laserdesignator' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'MakarovSD' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'VSS_vintorez' >> 'picture')]; + _t = _t + [['VSS_vintorez','Laserdesignator','MakarovSD']]; + _m = _m + [['20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS', + '20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','HandGrenade_East','Laserbatteries','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD', + '8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [2]; + _b = _b + [false]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'ksvk' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'MakarovSD' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'ksvk' >> 'picture')]; + _t = _t + [['ksvk','MakarovSD']]; + _m = _m + [['5Rnd_127x108_KSVK','5Rnd_127x108_KSVK','5Rnd_127x108_KSVK','5Rnd_127x108_KSVK','5Rnd_127x108_KSVK','5Rnd_127x108_KSVK','5Rnd_127x108_KSVK','5Rnd_127x108_KSVK', + '5Rnd_127x108_KSVK','5Rnd_127x108_KSVK','HandGrenade_East','HandGrenade_East','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD', + '8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [3]; + _b = _b + [false]; + + _c = []; + _totalTemplates = count _d; + + for [{_count = 0},{_count < _totalTemplates},{_count = _count + 1}] do { + _cost = 0; + { + _get = (_x+"_W") Call GetNamespace; + if (isNil '_get') then { + _get = _x Call GetNamespace; + }; + if !(isNil '_get') then {_cost = _cost + (_get select QUERYGEARCOST)}; + } forEach (_t select _count); + + { + _get = _x Call GetNamespace; + if !(isNil '_get') then {_cost = _cost + (_get select QUERYGEARCOST)}; + } forEach ((_m select _count) + (_s select _count) + (_i select _count)); + + _c = _c + [_cost]; + }; + + WF_Logic setVariable ['templateClasses',_t]; + WF_Logic setVariable ['templateNames',_d]; + WF_Logic setVariable ['templateCosts',_c]; + WF_Logic setVariable ['templatePictures',_p]; + WF_Logic setVariable ['templateMags',_m]; + WF_Logic setVariable ['templateItems',_i]; + WF_Logic setVariable ['templateSpecs',_s]; + WF_Logic setVariable ['templateUpgrades',_l]; + WF_Logic setVariable ['templateAllowed',_b]; + }; +}; + +['WFBE_EASTDEFAULTWEAPONS',['AK_74','ItemCompass','ItemMap','ItemWatch','ItemRadio'],true] Call SetNamespace; +['WFBE_EASTDEFAULTAMMO',['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','HandGrenade_East','HandGrenade_East'],true] Call SetNamespace; + +//--- AI Leaders Loadouts. +if (isServer) then { + //--- No Upgrade. + ['WFBE_EASTLEADERWEAPONS01',['AKS_74_kobra','RPG18','Makarov','Binocular','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO01',['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','RPG18','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + ['WFBE_EASTLEADERWEAPONS02',['AKS_74_kobra','RPG18','Makarov','Binocular','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO02',['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','RPG18','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + ['WFBE_EASTLEADERWEAPONS03',['PK','Makarov','Binocular','ItemRadio','ItemMap'],true] Call SetNamespace;; + ['WFBE_EASTLEADERAMMO03',['100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','HandGrenade_East','HandGrenade_East','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + //--- Upgrade 1. + ['WFBE_EASTLEADERWEAPONS11',['AK_74_GL','RPG7V','Makarov','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO11',['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','PG7VL','PG7VL','PG7VR','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + ['WFBE_EASTLEADERWEAPONS12',['RPK_74','RPG7V','Makarov','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO12',['75Rnd_545x39_RPK','75Rnd_545x39_RPK','75Rnd_545x39_RPK','75Rnd_545x39_RPK','75Rnd_545x39_RPK','75Rnd_545x39_RPK','PG7VL','PG7VL','PG7VR','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + ['WFBE_EASTLEADERWEAPONS13',['SVD','MakarovSD','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO13',['10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','HandGrenade_East','HandGrenade_East','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD'],true] Call SetNamespace; + //--- Upgrade 2. + ['WFBE_EASTLEADERWEAPONS21',['VSS_vintorez','RPG7V','Makarov','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO21',['20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','PG7VL','PG7VL','PG7VL','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + ['WFBE_EASTLEADERWEAPONS22',['AKS_74_pso','RPG7V','Makarov','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO22',['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','PG7VL','PG7VL','PG7VL','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + ['WFBE_EASTLEADERWEAPONS23',['RPK_74','Makarov','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO23',['75Rnd_545x39_RPK','75Rnd_545x39_RPK','75Rnd_545x39_RPK','75Rnd_545x39_RPK','75Rnd_545x39_RPK','75Rnd_545x39_RPK','HandGrenade_East','HandGrenade_East','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + //--- Upgrade 3. + ['WFBE_EASTLEADERWEAPONS31',['AK_74_GL','RPG7V','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO31',['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','PG7VL','PG7VL','PG7VL','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25'],true] Call SetNamespace; + ['WFBE_EASTLEADERWEAPONS32',['AKS_74_kobra','MetisLauncher','Makarov','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO32',['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','AT13','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + ['WFBE_EASTLEADERWEAPONS33',['SVD_CAMO','Makarov','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO33',['10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','HandGrenade_East','HandGrenade_East','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; +}; \ No newline at end of file diff --git a/Common/Config/Core_Loadout/Vanilla/Loadout_RU.sqf b/Common/Config/Core_Loadout/Vanilla/Loadout_RU.sqf new file mode 100644 index 0000000..6bc4d45 --- /dev/null +++ b/Common/Config/Core_Loadout/Vanilla/Loadout_RU.sqf @@ -0,0 +1,320 @@ +/* RU Loadout */ + +if (!isServer || local player) then { + if (side player == EAST) then { + /* Magazines. */ + _m = ["30Rnd_762x39_AK47"]; + _m = _m + ["30Rnd_545x39_AK"]; + _m = _m + ["30Rnd_545x39_AKSD"]; + _m = _m + ["64Rnd_9x19_Bizon"]; + _m = _m + ["64Rnd_9x19_SD_Bizon"]; + _m = _m + ["100Rnd_762x54_PK"]; + _m = _m + ["75Rnd_545x39_RPK"]; + _m = _m + ["5x_22_LR_17_HMR"]; + _m = _m + ["10Rnd_762x54_SVD"]; + _m = _m + ["8Rnd_B_Saiga12_74Slug"]; + _m = _m + ["5Rnd_127x108_KSVK"]; + _m = _m + ["10Rnd_9x39_SP5_VSS"]; + _m = _m + ["20Rnd_9x39_SP5_VSS"]; + _m = _m + ["PG7V"]; + _m = _m + ["PG7VL"]; + _m = _m + ["OG7"]; + _m = _m + ["PG7VR"]; + _m = _m + ["RPG18"]; + _m = _m + ["AT13"]; + _m = _m + ["Igla"]; + _m = _m + ["Strela"]; + _m = _m + ["Laserbatteries"]; + _m = _m + ["8Rnd_9x18_Makarov"]; + _m = _m + ["8Rnd_9x18_MakarovSD"]; + + WF_Logic setVariable ['magazineClasses',_m]; + + /* Primary. */ + _w = ['AK_47_M']; + _w = _w + ['AK_47_S']; + _w = _w + ['AK_74']; + _w = _w + ['AK_74_GL']; + _w = _w + ['AK_107_kobra']; + _w = _w + ['AK_107_GL_kobra']; + _w = _w + ['AK_107_pso']; + _w = _w + ['AK_107_GL_pso']; + _w = _w + ['AKS_74_kobra']; + _w = _w + ['AKS_74_pso']; + _w = _w + ['AKS_74_U']; + _w = _w + ['AKS_74_UN_kobra']; + _w = _w + ['AKS_GOLD']; + _w = _w + ['bizon']; + _w = _w + ['bizon_silenced']; + _w = _w + ['PK']; + _w = _w + ['Pecheneg']; + _w = _w + ['RPK_74']; + _w = _w + ['huntingrifle']; + _w = _w + ['SVD']; + _w = _w + ['SVD_CAMO']; + _w = _w + ['Saiga12K']; + _w = _w + ['ksvk']; + _w = _w + ['VSS_vintorez']; + + WF_Logic setVariable ['primaryClasses',_w]; + + /* Secondary. */ + _w = ['RPG7V']; + _w = _w + ['RPG18']; + _w = _w + ['MetisLauncher']; + _w = _w + ['Igla']; + _w = _w + ['Strela']; + _w = _w + ['Laserdesignator']; + + WF_Logic setVariable ['secondaryClasses',_w]; + + /* Sidearms. */ + _w = ['Makarov']; + _w = _w + ['MakarovSD']; + + WF_Logic setVariable ['sidearmClasses',_w]; + + /* Misc. */ + _w = ['HandGrenade_East']; + _w = _w + ['HandGrenade_Stone']; + _w = _w + ['SmokeShell']; + _w = _w + ['SmokeShellRed']; + _w = _w + ['SmokeShellGreen']; + _w = _w + ['SmokeShellBlue']; + _w = _w + ['SmokeShellYellow']; + _w = _w + ['SmokeShellOrange']; + _w = _w + ['SmokeShellPurple']; + _w = _w + ['FlareWhite_GP25']; + _w = _w + ['FlareYellow_GP25']; + _w = _w + ['FlareGreen_GP25']; + _w = _w + ['FlareRed_GP25']; + _w = _w + ['1Rnd_HE_GP25']; + _w = _w + ['1Rnd_SMOKE_GP25']; + _w = _w + ['1Rnd_SMOKERED_GP25']; + _w = _w + ['1Rnd_SMOKEGREEN_GP25']; + _w = _w + ['1Rnd_SMOKEYELLOW_GP25']; + _w = _w + ['MineE']; + _w = _w + ['PipeBomb']; + _w = _w + ['Binocular']; + _w = _w + ['NVGoggles']; + _w = _w + ['ItemCompass']; + _w = _w + ['ItemGPS']; + _w = _w + ['ItemMap']; + _w = _w + ['ItemRadio']; + _w = _w + ['ItemWatch']; + + WF_Logic setVariable ['miscClasses',_w]; + + //--- Templates. + _items = ['ItemCompass','ItemGPS','ItemMap','ItemRadio','ItemWatch']; + + _d = [getText(configFile >> 'CfgWeapons' >> 'AK_107_kobra' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Makarov' >> 'displayName')]; + _p = [getText(configFile >> 'CfgWeapons' >> 'AK_107_kobra' >> 'picture')]; + _t = [['AK_107_kobra','Makarov']]; + _m = [['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK', + 'HandGrenade_East','HandGrenade_East','SmokeShellBlue','SmokeShellBlue','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov', + '8Rnd_9x18_Makarov','8Rnd_9x18_Makarov']]; + _s = [['Binocular']]; + _i = [_items]; + _l = [0]; + _b = [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'AK_107_GL_kobra' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'AK_107_GL_kobra' >> 'picture')]; + _t = _t + [['AK_107_GL_kobra']]; + _m = _m + [['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK', + '30Rnd_545x39_AK','30Rnd_545x39_AK','HandGrenade_East','HandGrenade_East','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25', + '1Rnd_HE_GP25','1Rnd_HE_GP25']]; + _s = _s + [['Binocular']]; + _i = _i + [_items]; + _l = _l + [0]; + _b = _b + [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'AK_107_pso' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'RPG7V' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'AK_107_pso' >> 'picture')]; + _t = _t + [['AK_107_pso','RPG7V']]; + _m = _m + [['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','PG7VL','PG7VL','PG7VL']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [1]; + _b = _b + [false]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'AK_107_GL_pso' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'RPG7V' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'AK_107_GL_pso' >> 'picture')]; + _t = _t + [['AK_107_GL_pso','RPG7V']]; + _m = _m + [['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','PG7V', + 'PG7V','PG7V','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [1]; + _b = _b + [false]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'AKS_74_U' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'RPG7V' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Makarov' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'AKS_74_U' >> 'picture')]; + _t = _t + [['AKS_74_U','RPG7V','Makarov']]; + _m = _m + [['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','PG7VL','PG7VL','PG7VL', + '8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [1]; + _b = _b + [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'AK_107_kobra' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'MetisLauncher' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Makarov' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'AK_107_kobra' >> 'picture')]; + _t = _t + [['AK_107_kobra','MetisLauncher','Makarov']]; + _m = _m + [['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','AT13', + '8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [3]; + _b = _b + [false]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'AK_74' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Igla' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Makarov' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'AK_74' >> 'picture')]; + _t = _t + [['AK_74','Igla','Makarov']]; + _m = _m + [['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','Igla', + '8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [2]; + _b = _b + [false]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'Saiga12K' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Makarov' >> 'displayName') + '/' + getText(configFile >> 'CfgMagazines' >> 'MineE' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'Saiga12K' >> 'picture')]; + _t = _t + [['Saiga12K','Makarov']]; + _m = _m + [['8Rnd_B_Saiga12_74Slug','8Rnd_B_Saiga12_74Slug','8Rnd_B_Saiga12_74Slug','8Rnd_B_Saiga12_74Slug','8Rnd_B_Saiga12_74Slug','8Rnd_B_Saiga12_74Slug','MineE','MineE','MineE', + '8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov']]; + _s = _s + [['Binocular']]; + _i = _i + [_items]; + _l = _l + [0]; + _b = _b + [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'AKS_74_UN_kobra' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'MakarovSD' >> 'displayName') + '/' + getText(configFile >> 'CfgMagazines' >> 'PipeBomb' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'AKS_74_UN_kobra' >> 'picture')]; + _t = _t + [['AKS_74_UN_kobra','MakarovSD']]; + _m = _m + [['30Rnd_545x39_AKSD','30Rnd_545x39_AKSD','30Rnd_545x39_AKSD','30Rnd_545x39_AKSD','30Rnd_545x39_AKSD','30Rnd_545x39_AKSD','PipeBomb','PipeBomb','PipeBomb', + '8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [2]; + _b = _b + [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'PK' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Makarov' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'PK' >> 'picture')]; + _t = _t + [['PK','Makarov']]; + _m = _m + [['100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','SmokeShellBlue','SmokeShellBlue','8Rnd_9x18_Makarov', + '8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov']]; + _s = _s + [['Binocular']]; + _i = _i + [_items]; + _l = _l + [0]; + _b = _b + [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'Pecheneg' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Makarov' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'Pecheneg' >> 'picture')]; + _t = _t + [['Pecheneg','Makarov']]; + _m = _m + [['100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','SmokeShellBlue','SmokeShellBlue','8Rnd_9x18_Makarov', + '8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [2]; + _b = _b + [false]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'SVD' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'MakarovSD' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'SVD' >> 'picture')]; + _t = _t + [['SVD','MakarovSD']]; + _m = _m + [['10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD', + '10Rnd_762x54_SVD','10Rnd_762x54_SVD','HandGrenade_East','HandGrenade_East','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD', + '8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD']]; + _s = _s + [['Binocular']]; + _i = _i + [_items]; + _l = _l + [1]; + _b = _b + [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'VSS_vintorez' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Laserdesignator' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'MakarovSD' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'VSS_vintorez' >> 'picture')]; + _t = _t + [['VSS_vintorez','Laserdesignator','MakarovSD']]; + _m = _m + [['20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS', + '20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','HandGrenade_East','Laserbatteries','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD', + '8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [2]; + _b = _b + [false]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'ksvk' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'MakarovSD' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'ksvk' >> 'picture')]; + _t = _t + [['ksvk','MakarovSD']]; + _m = _m + [['5Rnd_127x108_KSVK','5Rnd_127x108_KSVK','5Rnd_127x108_KSVK','5Rnd_127x108_KSVK','5Rnd_127x108_KSVK','5Rnd_127x108_KSVK','5Rnd_127x108_KSVK','5Rnd_127x108_KSVK', + '5Rnd_127x108_KSVK','5Rnd_127x108_KSVK','HandGrenade_East','HandGrenade_East','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD', + '8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [3]; + _b = _b + [false]; + + _c = []; + _totalTemplates = count _d; + + for [{_count = 0},{_count < _totalTemplates},{_count = _count + 1}] do { + _cost = 0; + { + _get = (_x+"_W") Call GetNamespace; + if (isNil '_get') then { + _get = _x Call GetNamespace; + }; + if !(isNil '_get') then {_cost = _cost + (_get select QUERYGEARCOST)}; + } forEach (_t select _count); + + { + _get = _x Call GetNamespace; + if !(isNil '_get') then {_cost = _cost + (_get select QUERYGEARCOST)}; + } forEach ((_m select _count) + (_s select _count) + (_i select _count)); + + _c = _c + [_cost]; + }; + WF_Logic setVariable ['templateClasses',_t]; + WF_Logic setVariable ['templateNames',_d]; + WF_Logic setVariable ['templateCosts',_c]; + WF_Logic setVariable ['templatePictures',_p]; + WF_Logic setVariable ['templateMags',_m]; + WF_Logic setVariable ['templateItems',_i]; + WF_Logic setVariable ['templateSpecs',_s]; + WF_Logic setVariable ['templateUpgrades',_l]; + WF_Logic setVariable ['templateAllowed',_b]; + }; +}; + +['WFBE_EASTDEFAULTWEAPONS',['AK_74','ItemCompass','ItemMap','ItemWatch','ItemRadio'],true] Call SetNamespace; +['WFBE_EASTDEFAULTAMMO',['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','HandGrenade_East','HandGrenade_East'],true] Call SetNamespace; + +//--- AI Leaders Loadouts. +if (isServer) then { + //--- No upgrades. + ['WFBE_EASTLEADERWEAPONS01',['AK_107_kobra','RPG18','Makarov','Binocular','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO01',['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','RPG18','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + ['WFBE_EASTLEADERWEAPONS02',['AKS_74_kobra','RPG18','Makarov','Binocular','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO02',['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','RPG18','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + ['WFBE_EASTLEADERWEAPONS03',['PK','Makarov','Binocular','ItemRadio','ItemMap'],true] Call SetNamespace;; + ['WFBE_EASTLEADERAMMO03',['100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','HandGrenade_East','HandGrenade_East','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + //--- Upgrade 1. + ['WFBE_EASTLEADERWEAPONS11',['AK_107_pso','RPG7V','Makarov','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO11',['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','PG7VL','PG7VL','PG7VR','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + ['WFBE_EASTLEADERWEAPONS12',['RPK_74','RPG7V','Makarov','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO12',['75Rnd_545x39_RPK','75Rnd_545x39_RPK','75Rnd_545x39_RPK','75Rnd_545x39_RPK','75Rnd_545x39_RPK','75Rnd_545x39_RPK','PG7VL','PG7VL','PG7VR','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + ['WFBE_EASTLEADERWEAPONS13',['SVD','MakarovSD','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO13',['10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','HandGrenade_East','HandGrenade_East','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD','8Rnd_9x18_MakarovSD'],true] Call SetNamespace; + //--- Upgrade 2. + ['WFBE_EASTLEADERWEAPONS21',['VSS_vintorez','RPG7V','Makarov','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO21',['20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','20Rnd_9x39_SP5_VSS','PG7VL','PG7VL','PG7VL','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + ['WFBE_EASTLEADERWEAPONS22',['bizon','RPG7V','Makarov','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO22',['64Rnd_9x19_Bizon','64Rnd_9x19_Bizon','64Rnd_9x19_Bizon','64Rnd_9x19_Bizon','64Rnd_9x19_Bizon','64Rnd_9x19_Bizon','PG7VL','PG7VL','PG7VL','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + ['WFBE_EASTLEADERWEAPONS23',['Pecheneg','Makarov','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO23',['100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','100Rnd_762x54_PK','HandGrenade_East','HandGrenade_East','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + //--- Upgrade 3. + ['WFBE_EASTLEADERWEAPONS31',['AK_107_GL_pso','RPG7V','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO31',['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','PG7VL','PG7VL','PG7VL','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25','1Rnd_HE_GP25'],true] Call SetNamespace; + ['WFBE_EASTLEADERWEAPONS32',['AK_107_kobra','MetisLauncher','Makarov','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO32',['30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','30Rnd_545x39_AK','AT13','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; + ['WFBE_EASTLEADERWEAPONS33',['SVD_CAMO','Makarov','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_EASTLEADERAMMO33',['10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','10Rnd_762x54_SVD','HandGrenade_East','HandGrenade_East','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov','8Rnd_9x18_Makarov'],true] Call SetNamespace; +}; \ No newline at end of file diff --git a/Common/Config/Core_Loadout/Vanilla/Loadout_USMC.sqf b/Common/Config/Core_Loadout/Vanilla/Loadout_USMC.sqf new file mode 100644 index 0000000..09046c5 --- /dev/null +++ b/Common/Config/Core_Loadout/Vanilla/Loadout_USMC.sqf @@ -0,0 +1,331 @@ +/* USMC Loadout */ + +if (!isServer || local player) then { + if (side player == WEST) then { + /* Magazines. */ + _m = ["30Rnd_556x45_Stanag"]; + _m = _m + ["30Rnd_556x45_StanagSD"]; + _m = _m + ["20Rnd_556x45_Stanag"]; + _m = _m + ["30Rnd_556x45_G36"]; + _m = _m + ["30Rnd_556x45_G36SD"]; + _m = _m + ["100Rnd_556x45_BetaCMag"]; + _m = _m + ["5Rnd_762x51_M24"]; + _m = _m + ["20Rnd_762x51_DMR"]; + _m = _m + ["10Rnd_127x99_m107"]; + _m = _m + ["100Rnd_762x51_M240"]; + _m = _m + ["200Rnd_556x45_M249"]; + _m = _m + ["30Rnd_9x19_MP5"]; + _m = _m + ["30Rnd_9x19_MP5SD"]; + _m = _m + ["8Rnd_B_Beneli_74Slug"]; + _m = _m + ["M136"]; + _m = _m + ["SMAW_HEAA"]; + _m = _m + ["SMAW_HEDP"]; + _m = _m + ["Javelin"]; + _m = _m + ["Stinger"]; + _m = _m + ["Laserbatteries"]; + _m = _m + ["15Rnd_9x19_M9"]; + _m = _m + ["15Rnd_9x19_M9SD"]; + _m = _m + ["7Rnd_45ACP_1911"]; + + WF_Logic setVariable ['magazineClasses',_m]; + + /* Primary. */ + _w = ['M16A2']; + _w = _w + ['M16A2GL']; + _w = _w + ['m16a4']; + _w = _w + ['m16a4_acg']; + _w = _w + ['M16A4_GL']; + _w = _w + ['M16A4_ACG_GL']; + _w = _w + ['M24']; + _w = _w + ['M40A3']; + _w = _w + ['M240']; + _w = _w + ['Mk_48']; + _w = _w + ['M249']; + _w = _w + ['M4A1']; + _w = _w + ['M4A1_Aim']; + _w = _w + ['M4A1_Aim_camo']; + _w = _w + ['M4SPR']; + _w = _w + ['M4A1_RCO_GL']; + _w = _w + ['M4A1_AIM_SD_camo']; + _w = _w + ['M4A1_HWS_GL_SD_Camo']; + _w = _w + ['M4A1_HWS_GL']; + _w = _w + ['M4A1_HWS_GL_camo']; + _w = _w + ['MP5SD']; + _w = _w + ['MP5A5']; + _w = _w + ['G36C']; + _w = _w + ['G36_C_SD_eotech']; + _w = _w + ['G36a']; + _w = _w + ['G36K']; + _w = _w + ['MG36']; + _w = _w + ['DMR']; + _w = _w + ['M1014']; + _w = _w + ['m107']; + _w = _w + ['m8_carbine']; + _w = _w + ['m8_carbineGL']; + _w = _w + ['m8_compact']; + _w = _w + ['m8_sharpshooter']; + _w = _w + ['m8_SAW']; + + WF_Logic setVariable ['primaryClasses',_w]; + + /* Secondary. */ + _w = ['M136']; + _w = _w + ['SMAW']; + _w = _w + ['Javelin']; + _w = _w + ['Stinger']; + _w = _w + ['Laserdesignator']; + + WF_Logic setVariable ['secondaryClasses',_w]; + + /* Sidearms. */ + _w = ['Colt1911']; + _w = _w + ['M9']; + _w = _w + ['M9SD']; + + WF_Logic setVariable ['sidearmClasses',_w]; + + /* Misc. */ + _w = ['HandGrenade_West']; + _w = _w + ['HandGrenade_Stone']; + _w = _w + ['SmokeShell']; + _w = _w + ['SmokeShellRed']; + _w = _w + ['SmokeShellGreen']; + _w = _w + ['SmokeShellBlue']; + _w = _w + ['SmokeShellYellow']; + _w = _w + ['SmokeShellOrange']; + _w = _w + ['SmokeShellPurple']; + _w = _w + ['FlareWhite_M203']; + _w = _w + ['FlareYellow_M203']; + _w = _w + ['FlareGreen_M203']; + _w = _w + ['FlareRed_M203']; + _w = _w + ['1Rnd_HE_M203']; + _w = _w + ['1Rnd_Smoke_M203']; + _w = _w + ['1Rnd_SmokeRed_M203']; + _w = _w + ['1Rnd_SmokeGreen_M203']; + _w = _w + ['1Rnd_SmokeYellow_M203']; + _w = _w + ['Mine']; + _w = _w + ['PipeBomb']; + _w = _w + ['Binocular']; + _w = _w + ['NVGoggles']; + _w = _w + ['ItemCompass']; + _w = _w + ['ItemGPS']; + _w = _w + ['ItemMap']; + _w = _w + ['ItemRadio']; + _w = _w + ['ItemWatch']; + + WF_Logic setVariable ['miscClasses',_w]; + + //--- Templates. + _items = ['ItemCompass','ItemGPS','ItemMap','ItemRadio','ItemWatch']; + + _d = [getText(configFile >> 'CfgWeapons' >> 'm16a4' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Colt1911' >> 'displayName')]; + _p = [getText(configFile >> 'CfgWeapons' >> 'm16a4' >> 'picture')]; + _t = [['m16a4','Colt1911']]; + _m = [['30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag', + 'HandGrenade_West','HandGrenade_West','SmokeShellBlue','SmokeShellBlue','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911', + '7Rnd_45ACP_1911','7Rnd_45ACP_1911']]; + _s = [['Binocular']]; + _i = [_items]; + _l = [0]; + _b = [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'M16A4_GL' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'M16A4_GL' >> 'picture')]; + _t = _t + [['M16A4_GL']]; + _m = _m + [['30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag', + '30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','HandGrenade_West','HandGrenade_West','1Rnd_HE_M203','1Rnd_HE_M203','1Rnd_HE_M203','1Rnd_HE_M203','1Rnd_HE_M203','1Rnd_HE_M203', + '1Rnd_HE_M203','1Rnd_HE_M203']]; + _s = _s + [['Binocular']]; + _i = _i + [_items]; + _l = _l + [0]; + _b = _b + [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'G36C' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'M136' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'G36C' >> 'picture')]; + _t = _t + [['G36C','M136']]; + _m = _m + [['30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','M136']]; + _s = _s + [['Binocular']]; + _i = _i + [_items]; + _l = _l + [0]; + _b = _b + [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'M4A1_HWS_GL_SD_Camo' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'SMAW' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'M4A1_HWS_GL_SD_Camo' >> 'picture')]; + _t = _t + [['M4A1_HWS_GL_SD_Camo','SMAW']]; + _m = _m + [['30Rnd_556x45_StanagSD','30Rnd_556x45_StanagSD','30Rnd_556x45_StanagSD','30Rnd_556x45_StanagSD','30Rnd_556x45_StanagSD','30Rnd_556x45_StanagSD','SMAW_HEAA', + 'SMAW_HEAA','SMAW_HEDP','1Rnd_HE_M203','1Rnd_HE_M203','1Rnd_HE_M203','1Rnd_HE_M203','1Rnd_HE_M203','1Rnd_HE_M203','1Rnd_HE_M203','1Rnd_HE_M203']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [3]; + _b = _b + [false]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'm8_carbine' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'SMAW' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'M9' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'm8_carbine' >> 'picture')]; + _t = _t + [['m8_carbine','SMAW','M9']]; + _m = _m + [['30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','SMAW_HEAA','SMAW_HEAA','SMAW_HEDP', + '15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [2]; + _b = _b + [false]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'M4A1_Aim' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Javelin' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Colt1911' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'M4A1_Aim' >> 'picture')]; + _t = _t + [['M4A1_Aim','Javelin','Colt1911']]; + _m = _m + [['30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','Javelin', + '7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [3]; + _b = _b + [false]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'M16A2' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Stinger' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'M9' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'M16A2' >> 'picture')]; + _t = _t + [['M16A2','Stinger','M9']]; + _m = _m + [['30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','Stinger', + '15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [2]; + _b = _b + [false]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'M1014' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'M9' >> 'displayName') + '/' + getText(configFile >> 'CfgMagazines' >> 'Mine' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'M1014' >> 'picture')]; + _t = _t + [['M1014','M9']]; + _m = _m + [['8Rnd_B_Beneli_74Slug','8Rnd_B_Beneli_74Slug','8Rnd_B_Beneli_74Slug','8Rnd_B_Beneli_74Slug','8Rnd_B_Beneli_74Slug','8Rnd_B_Beneli_74Slug','Mine','Mine','Mine', + '15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9','15Rnd_9x19_M9']]; + _s = _s + [['Binocular']]; + _i = _i + [_items]; + _l = _l + [0]; + _b = _b + [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'MP5SD' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'M9SD' >> 'displayName') + '/' + getText(configFile >> 'CfgMagazines' >> 'PipeBomb' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'MP5SD' >> 'picture')]; + _t = _t + [['MP5SD','M9SD']]; + _m = _m + [['30Rnd_9x19_MP5SD','30Rnd_9x19_MP5SD','30Rnd_9x19_MP5SD','30Rnd_9x19_MP5SD','30Rnd_9x19_MP5SD','30Rnd_9x19_MP5SD','PipeBomb','PipeBomb','PipeBomb', + '15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [1]; + _b = _b + [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'M240' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Colt1911' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'M240' >> 'picture')]; + _t = _t + [['M240','Colt1911']]; + _m = _m + [['100Rnd_762x51_M240','100Rnd_762x51_M240','100Rnd_762x51_M240','100Rnd_762x51_M240','100Rnd_762x51_M240','SmokeShellRed','SmokeShellRed','7Rnd_45ACP_1911', + '7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911']]; + _s = _s + [['Binocular']]; + _i = _i + [_items]; + _l = _l + [0]; + _b = _b + [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'M249' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Colt1911' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'M249' >> 'picture')]; + _t = _t + [['M249','Colt1911']]; + _m = _m + [['200Rnd_556x45_M249','200Rnd_556x45_M249','200Rnd_556x45_M249','200Rnd_556x45_M249','200Rnd_556x45_M249','SmokeShellRed','SmokeShellRed','7Rnd_45ACP_1911', + '7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [2]; + _b = _b + [true]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'DMR' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'M9SD' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'DMR' >> 'picture')]; + _t = _t + [['DMR','M9SD']]; + _m = _m + [['20Rnd_762x51_DMR','20Rnd_762x51_DMR','20Rnd_762x51_DMR','20Rnd_762x51_DMR','20Rnd_762x51_DMR','20Rnd_762x51_DMR','20Rnd_762x51_DMR','20Rnd_762x51_DMR', + '20Rnd_762x51_DMR','20Rnd_762x51_DMR','HandGrenade_West','HandGrenade_West','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD', + '15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [2]; + _b = _b + [false]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'M40A3' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'Laserdesignator' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'M9SD' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'M40A3' >> 'picture')]; + _t = _t + [['M40A3','Laserdesignator','M9SD']]; + _m = _m + [['5Rnd_762x51_M24','5Rnd_762x51_M24','5Rnd_762x51_M24','5Rnd_762x51_M24','5Rnd_762x51_M24','5Rnd_762x51_M24','5Rnd_762x51_M24','5Rnd_762x51_M24', + '5Rnd_762x51_M24','5Rnd_762x51_M24','HandGrenade_West','Laserbatteries','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD', + '15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [2]; + _b = _b + [false]; + + _d = _d + [getText(configFile >> 'CfgWeapons' >> 'm107' >> 'displayName') + '/' + getText(configFile >> 'CfgWeapons' >> 'M9SD' >> 'displayName')]; + _p = _p + [getText(configFile >> 'CfgWeapons' >> 'm107' >> 'picture')]; + _t = _t + [['m107','M9SD']]; + _m = _m + [['10Rnd_127x99_m107','10Rnd_127x99_m107','10Rnd_127x99_m107','10Rnd_127x99_m107','10Rnd_127x99_m107','10Rnd_127x99_m107','10Rnd_127x99_m107','10Rnd_127x99_m107', + '10Rnd_127x99_m107','10Rnd_127x99_m107','HandGrenade_West','HandGrenade_West','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD', + '15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD']]; + _s = _s + [['Binocular','NVGoggles']]; + _i = _i + [_items]; + _l = _l + [3]; + _b = _b + [false]; + + _c = []; + _totalTemplates = count _d; + + for [{_count = 0},{_count < _totalTemplates},{_count = _count + 1}] do { + _cost = 0; + { + _get = (_x+"_W") Call GetNamespace; + if (isNil '_get') then { + _get = _x Call GetNamespace; + }; + if !(isNil '_get') then {_cost = _cost + (_get select QUERYGEARCOST)}; + } forEach (_t select _count); + + { + _get = _x Call GetNamespace; + if !(isNil '_get') then {_cost = _cost + (_get select QUERYGEARCOST)}; + } forEach ((_m select _count) + (_s select _count) + (_i select _count)); + + _c = _c + [_cost]; + }; + + WF_Logic setVariable ['templateClasses',_t]; + WF_Logic setVariable ['templateNames',_d]; + WF_Logic setVariable ['templateCosts',_c]; + WF_Logic setVariable ['templatePictures',_p]; + WF_Logic setVariable ['templateMags',_m]; + WF_Logic setVariable ['templateItems',_i]; + WF_Logic setVariable ['templateSpecs',_s]; + WF_Logic setVariable ['templateUpgrades',_l]; + WF_Logic setVariable ['templateAllowed',_b]; + }; +}; + +['WFBE_WESTDEFAULTWEAPONS',['M16A2','ItemCompass','ItemMap','ItemWatch','ItemRadio'],true] Call SetNamespace; +['WFBE_WESTDEFAULTAMMO',['30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','HandGrenade_West','HandGrenade_West'],true] Call SetNamespace; + +//--- AI Leaders Loadouts. +if (isServer) then { + //--- No Upgrade. + ['WFBE_WESTLEADERWEAPONS01',['m16a4','M136','Colt1911','Binocular','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_WESTLEADERAMMO01',['30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','M136','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911'],true] Call SetNamespace; + ['WFBE_WESTLEADERWEAPONS02',['G36C','M136','Colt1911','Binocular','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_WESTLEADERAMMO02',['30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','M136','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911'],true] Call SetNamespace; + ['WFBE_WESTLEADERWEAPONS03',['M240','Colt1911','Binocular','ItemRadio','ItemMap'],true] Call SetNamespace;; + ['WFBE_WESTLEADERAMMO03',['100Rnd_762x51_M240','100Rnd_762x51_M240','100Rnd_762x51_M240','100Rnd_762x51_M240','100Rnd_762x51_M240','HandGrenade_West','HandGrenade_West','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911'],true] Call SetNamespace; + //--- Upgrade 1. + ['WFBE_WESTLEADERWEAPONS11',['m16a4_acg','M136','Colt1911','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_WESTLEADERAMMO11',['30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','M136','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911'],true] Call SetNamespace; + ['WFBE_WESTLEADERWEAPONS12',['G36K','M136','Colt1911','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_WESTLEADERAMMO12',['30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','M136','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911'],true] Call SetNamespace; + ['WFBE_WESTLEADERWEAPONS13',['M4SPR','M9SD','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_WESTLEADERAMMO13',['20Rnd_556x45_Stanag','20Rnd_556x45_Stanag','20Rnd_556x45_Stanag','20Rnd_556x45_Stanag','20Rnd_556x45_Stanag','20Rnd_556x45_Stanag','20Rnd_556x45_Stanag','20Rnd_556x45_Stanag','20Rnd_556x45_Stanag','20Rnd_556x45_Stanag','HandGrenade_West','HandGrenade_West','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD','15Rnd_9x19_M9SD'],true] Call SetNamespace; + //--- Upgrade 2. + ['WFBE_WESTLEADERWEAPONS21',['M4A1_Aim_camo','SMAW','Colt1911','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_WESTLEADERAMMO21',['30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','SMAW_HEAA','SMAW_HEAA','SMAW_HEDP','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911'],true] Call SetNamespace; + ['WFBE_WESTLEADERWEAPONS22',['m8_carbine','SMAW','Colt1911','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_WESTLEADERAMMO22',['30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','SMAW_HEAA','SMAW_HEAA','SMAW_HEDP','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911'],true] Call SetNamespace; + ['WFBE_WESTLEADERWEAPONS23',['MG36','Colt1911','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_WESTLEADERAMMO23',['100Rnd_556x45_BetaCMag','100Rnd_556x45_BetaCMag','100Rnd_556x45_BetaCMag','100Rnd_556x45_BetaCMag','100Rnd_556x45_BetaCMag','HandGrenade_West','HandGrenade_West','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911'],true] Call SetNamespace; + //--- Upgrade 3. + ['WFBE_WESTLEADERWEAPONS31',['M4A1_HWS_GL','SMAW','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_WESTLEADERAMMO31',['30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','30Rnd_556x45_Stanag','SMAW_HEAA','SMAW_HEAA','SMAW_HEDP','1Rnd_HE_M203','1Rnd_HE_M203','1Rnd_HE_M203','1Rnd_HE_M203'],true] Call SetNamespace; + ['WFBE_WESTLEADERWEAPONS32',['m8_compact','Javelin','Colt1911','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_WESTLEADERAMMO32',['30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','30Rnd_556x45_G36','Javelin','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911'],true] Call SetNamespace; + ['WFBE_WESTLEADERWEAPONS33',['Mk_48','Colt1911','Binocular','NVGoggles','ItemRadio','ItemMap'],true] Call SetNamespace; + ['WFBE_WESTLEADERAMMO33',['100Rnd_762x51_M240','100Rnd_762x51_M240','100Rnd_762x51_M240','100Rnd_762x51_M240','100Rnd_762x51_M240','HandGrenade_West','HandGrenade_West','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911','7Rnd_45ACP_1911'],true] Call SetNamespace; +}; \ No newline at end of file diff --git a/Common/Config/Core_Occupation/Occupation_CDF.sqf b/Common/Config/Core_Occupation/Occupation_CDF.sqf new file mode 100644 index 0000000..eb3d2ad --- /dev/null +++ b/Common/Config/Core_Occupation/Occupation_CDF.sqf @@ -0,0 +1,188 @@ +Private ["_n","_u"]; + +_n = ["SmallTeam1"]; +_u = ["CDF_Soldier_TL"]; +_u = _u + ["CDF_Soldier_Medic"]; +_u = _u + ["CDF_Soldier"]; +_u = _u + ["CDF_Soldier_AR"]; +_u = _u + ["CDF_Soldier"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["SmallTeam2"]; +_u = ["CDF_Soldier_TL"]; +_u = _u + ["CDF_Soldier_AR"]; +_u = _u + ["CDF_Soldier_RPG"]; +_u = _u + ["CDF_Soldier_Medic"]; +_u = _u + ["CDF_Soldier"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["SmallTeam3"]; +_u = ["CDF_Soldier_TL"]; +_u = _u + ["CDF_Soldier_MG"]; +_u = _u + ["CDF_Soldier_AR"]; +_u = _u + ["CDF_Soldier_Engineer"]; +_u = _u + ["CDF_Soldier_RPG"]; +_u = _u + ["CDF_Soldier"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["SmallVehTeam1"]; +_u = ["CDF_Soldier_TL"]; +_u = _u + ["BRDM2_ATGM_CDF"]; +_u = _u + ["BRDM2_CDF"]; +_u = _u + ["UAZ_MG_CDF"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["SmallVehTeam2"]; +_u = ["CDF_Soldier_TL"]; +_u = _u + ["BRDM2_ATGM_CDF"]; +_u = _u + ["Ural_ZU23_CDF"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["SmallVehTeam3"]; +_u = ["CDF_Soldier_TL"]; +_u = _u + ["UAZ_AGS30_CDF"]; +_u = _u + ["UAZ_MG_CDF"]; +_u = _u + ["Ural_ZU23_CDF"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MediumTeam1"]; +_u = ["CDF_Soldier_TL"]; +_u = _u + ["CDF_Soldier_AR"]; +_u = _u + ["CDF_Soldier_Medic"]; +_u = _u + ["CDF_Soldier_Strela"]; +_u = _u + ["CDF_Soldier_Strela"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MediumTeam2"]; +_u = ["CDF_Soldier_TL"]; +_u = _u + ["CDF_Soldier_Strela"]; +_u = _u + ["CDF_Soldier_Strela"]; +_u = _u + ["CDF_Soldier_RPG"]; +_u = _u + ["CDF_Soldier_RPG"]; +_u = _u + ["CDF_Soldier_RPG"]; +_u = _u + ["CDF_Soldier_AR"]; +_u = _u + ["CDF_Soldier_MG"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MediumTeam3"]; +_u = ["CDF_Soldier_Sniper"]; +_u = _u + ["CDF_Soldier_Spotter"]; +_u = _u + ["CDF_Soldier_Spotter"]; +_u = _u + ["CDF_Soldier_Marksman"]; +_u = _u + ["CDF_Soldier_Marksman"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MediumVehTeam1"]; +_u = ["CDF_Soldier_TL"]; +_u = _u + ["Ural_ZU23_CDF"]; +_u = _u + ["BMP2_CDF"]; +_u = _u + ["ZSU_CDF"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MediumVehTeam2"]; +_u = ["CDF_Soldier_TL"]; +_u = _u + ["T72_CDF"]; +_u = _u + ["T72_CDF"]; +_u = _u + ["BMP2_Ambul_CDF"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MediumVehTeam3"]; +_u = ["CDF_Soldier_TL"]; +_u = _u + ["ZSU_CDF"]; +_u = _u + ["BMP2_CDF"]; +_u = _u + ["T72_CDF"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["LargeTeam1"]; +_u = ["CDF_Soldier_RPG"]; +_u = _u + ["CDF_Soldier_RPG"]; +_u = _u + ["CDF_Soldier_RPG"]; +_u = _u + ["CDF_Soldier_RPG"]; +_u = _u + ["CDF_Soldier_RPG"]; +_u = _u + ["CDF_Soldier_RPG"]; +_u = _u + ["CDF_Soldier_Medic"]; +_u = _u + ["CDF_Soldier"]; +_u = _u + ["CDF_Soldier_Strela"]; +_u = _u + ["CDF_Soldier_Strela"]; +_u = _u + ["CDF_Soldier_Strela"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["LargeTeam2"]; +_u = ["CDF_Soldier_TL"]; +_u = _u + ["CDF_Soldier_Strela"]; +_u = _u + ["CDF_Soldier_Medic"]; +_u = _u + ["CDF_Soldier_GL"]; +_u = _u + ["CDF_Soldier"]; +_u = _u + ["CDF_Soldier"]; +_u = _u + ["CDF_Soldier_Sniper"]; +_u = _u + ["CDF_Soldier_RPG"]; +_u = _u + ["CDF_Soldier_AR"]; +_u = _u + ["CDF_Soldier_RPG"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["LargeTeam3"]; +_u = ["CDF_Soldier_TL"]; +_u = _u + ["CDF_Soldier_Strela"]; +_u = _u + ["CDF_Soldier_Strela"]; +_u = _u + ["CDF_Soldier_Medic"]; +_u = _u + ["CDF_Soldier_GL"]; +_u = _u + ["CDF_Soldier_Sniper"]; +_u = _u + ["CDF_Soldier_RPG"]; +_u = _u + ["CDF_Soldier_MG"]; +_u = _u + ["CDF_Soldier_Engineer"]; +_u = _u + ["CDF_Soldier_AR"]; +_u = _u + ["CDF_Soldier_RPG"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["LargeVehTeam1"]; +_u = ["CDF_Soldier_TL"]; +_u = _u + ["T72_CDF"]; +_u = _u + ["T72_CDF"]; +_u = _u + ["T72_CDF"]; +_u = _u + ["T72_CDF"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["LargeVehTeam2"]; +_u = ["CDF_Soldier_TL"]; +_u = _u + ["T72_CDF"]; +_u = _u + ["T72_CDF"]; +_u = _u + ["ZSU_CDF"]; +_u = _u + ["BMP2_CDF"]; +_u = _u + ["T72_CDF"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["LargeVehTeam3"]; +_u = ["CDF_Soldier_TL"]; +_u = _u + ["T72_CDF"]; +_u = _u + ["T72_CDF"]; +_u = _u + ["T72_CDF"]; +_u = _u + ["ZSU_CDF"]; +_u = _u + ["GRAD_CDF"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +//--- AA Units used by towns occupation in case of 'air assault' only. +_n = _n + ["SmallAATeam"]; +_u = ["CDF_Soldier_TL"]; +_u = _u + ["CDF_Soldier_Strela"]; +_u = _u + ["CDF_Soldier_Strela"]; +_u = _u + ["CDF_Soldier_Strela"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MediumAATeam"]; +_u = ["CDF_Soldier_TL"]; +_u = _u + ["CDF_Soldier_Strela"]; +_u = _u + ["CDF_Soldier_Strela"]; +_u = _u + ["CDF_Soldier_Strela"]; +_u = _u + ["ZSU_CDF"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["LargeAATeam"]; +_u = ["CDF_Soldier_TL"]; +_u = _u + ["CDF_Soldier_Strela"]; +_u = _u + ["CDF_Soldier_Strela"]; +_u = _u + ["ZSU_CDF"]; +_u = _u + ["ZSU_CDF"]; +_u = _u + ["BMP2_CDF"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +diag_log Format ["[WFBE (INIT)][frameno:%1 | ticktime:%2] Occupation_CDF: Initialization - [Done]",diag_frameno,diag_tickTime]; \ No newline at end of file diff --git a/Common/Config/Core_Occupation/Occupation_INS.sqf b/Common/Config/Core_Occupation/Occupation_INS.sqf new file mode 100644 index 0000000..3a09496 --- /dev/null +++ b/Common/Config/Core_Occupation/Occupation_INS.sqf @@ -0,0 +1,188 @@ +Private ["_n","_u"]; + +_n = ["SmallTeam1"]; +_u = ["Ins_Soldier_CO"]; +_u = _u + ["Ins_Soldier_MG"]; +_u = _u + ["Ins_Soldier_AT"]; +_u = _u + ["Ins_Soldier_1"]; +_u = _u + ["Ins_Soldier_2"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["SmallTeam2"]; +_u = ["Ins_Soldier_CO"]; +_u = _u + ["Ins_Soldier_AT"]; +_u = _u + ["Ins_Soldier_Sniper"]; +_u = _u + ["Ins_Soldier_AR"]; +_u = _u + ["Ins_Soldier_GL"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["SmallTeam3"]; +_u = ["Ins_Soldier_CO"]; +_u = _u + ["Ins_Soldier_MG"]; +_u = _u + ["Ins_Soldier_MG"]; +_u = _u + ["Ins_Soldier_GL"]; +_u = _u + ["Ins_Soldier_AT"]; +_u = _u + ["Ins_Soldier_AT"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["SmallVehTeam1"]; +_u = ["Ins_Soldier_CO"]; +_u = _u + ["BRDM2_INS"]; +_u = _u + ["BRDM2_ATGM_INS"]; +_u = _u + ["UAZ_MG_INS"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["SmallVehTeam2"]; +_u = ["Ins_Soldier_CO"]; +_u = _u + ["Ural_ZU23_INS"]; +_u = _u + ["BRDM2_ATGM_INS"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["SmallVehTeam3"]; +_u = ["Ins_Soldier_CO"]; +_u = _u + ["UAZ_AGS30_INS"]; +_u = _u + ["UAZ_SPG9_INS"]; +_u = _u + ["Ural_ZU23_INS"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MediumTeam1"]; +_u = ["Ins_Soldier_CO"]; +_u = _u + ["Ins_Soldier_AA"]; +_u = _u + ["Ins_Soldier_AT"]; +_u = _u + ["Ins_Soldier_AT"]; +_u = _u + ["Ins_Soldier_1"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MediumTeam2"]; +_u = ["Ins_Soldier_CO"]; +_u = _u + ["Ins_Soldier_AA"]; +_u = _u + ["Ins_Soldier_AA"]; +_u = _u + ["Ins_Soldier_AT"]; +_u = _u + ["Ins_Soldier_AT"]; +_u = _u + ["Ins_Soldier_AT"]; +_u = _u + ["Ins_Soldier_MG"]; +_u = _u + ["Ins_Soldier_AR"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MediumTeam3"]; +_u = ["Ins_Soldier_CO"]; +_u = _u + ["Ins_Soldier_MG"]; +_u = _u + ["Ins_Soldier_AT"]; +_u = _u + ["Ins_Soldier_Sniper"]; +_u = _u + ["Ins_Soldier_Sniper"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MediumVehTeam1"]; +_u = ["Ins_Soldier_CO"]; +_u = _u + ["Ural_ZU23_INS"]; +_u = _u + ["BMP2_INS"]; +_u = _u + ["ZSU_INS"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MediumVehTeam2"]; +_u = ["Ins_Soldier_CO"]; +_u = _u + ["T72_INS"]; +_u = _u + ["T72_INS"]; +_u = _u + ["BMP2_Ambul_INS"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MediumVehTeam3"]; +_u = ["Ins_Soldier_CO"]; +_u = _u + ["ZSU_INS"]; +_u = _u + ["BMP2_INS"]; +_u = _u + ["T72_INS"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["LargeTeam1"]; +_u = ["Ins_Soldier_AT"]; +_u = _u + ["Ins_Soldier_AT"]; +_u = _u + ["Ins_Soldier_AT"]; +_u = _u + ["Ins_Soldier_AT"]; +_u = _u + ["Ins_Soldier_AT"]; +_u = _u + ["Ins_Soldier_Medic"]; +_u = _u + ["Ins_Soldier_1"]; +_u = _u + ["Ins_Soldier_AA"]; +_u = _u + ["Ins_Soldier_AA"]; +_u = _u + ["Ins_Soldier_AT"]; +_u = _u + ["Ins_Soldier_1"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["LargeTeam2"]; +_u = ["Ins_Soldier_CO"]; +_u = _u + ["Ins_Soldier_MG"]; +_u = _u + ["Ins_Soldier_AT"]; +_u = _u + ["Ins_Soldier_AT"]; +_u = _u + ["Ins_Soldier_Medic"]; +_u = _u + ["Ins_Soldier_AA"]; +_u = _u + ["Ins_Soldier_1"]; +_u = _u + ["Ins_Soldier_AT"]; +_u = _u + ["Ins_Soldier_GL"]; +_u = _u + ["Ins_Soldier_1"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["LargeTeam3"]; +_u = ["Ins_Soldier_CO"]; +_u = _u + ["Ins_Soldier_MG"]; +_u = _u + ["Ins_Soldier_AT"]; +_u = _u + ["Ins_Soldier_AT"]; +_u = _u + ["Ins_Soldier_AT"]; +_u = _u + ["Ins_Soldier_AA"]; +_u = _u + ["Ins_Soldier_AA"]; +_u = _u + ["Ins_Soldier_Sniper"]; +_u = _u + ["Ins_Soldier_AR"]; +_u = _u + ["Ins_Soldier_GL"]; +_u = _u + ["Ins_Soldier_1"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["LargeVehTeam1"]; +_u = ["Ins_Soldier_CO"]; +_u = _u + ["T72_INS"]; +_u = _u + ["T72_INS"]; +_u = _u + ["T72_INS"]; +_u = _u + ["T72_INS"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["LargeVehTeam2"]; +_u = ["Ins_Soldier_CO"]; +_u = _u + ["T72_INS"]; +_u = _u + ["T72_INS"]; +_u = _u + ["ZSU_INS"]; +_u = _u + ["BMP2_INS"]; +_u = _u + ["T72_INS"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["LargeVehTeam3"]; +_u = ["Ins_Soldier_CO"]; +_u = _u + ["T72_INS"]; +_u = _u + ["T72_INS"]; +_u = _u + ["T72_INS"]; +_u = _u + ["ZSU_INS"]; +_u = _u + ["GRAD_INS"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +//--- AA Units used by towns occupation in case of 'air assault' only. +_n = _n + ["SmallAATeam"]; +_u = ["Ins_Soldier_CO"]; +_u = _u + ["Ins_Soldier_AA"]; +_u = _u + ["Ins_Soldier_AA"]; +_u = _u + ["Ins_Soldier_AA"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MediumAATeam"]; +_u = ["Ins_Soldier_CO"]; +_u = _u + ["Ins_Soldier_AA"]; +_u = _u + ["Ins_Soldier_AA"]; +_u = _u + ["Ins_Soldier_AA"]; +_u = _u + ["ZSU_INS"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["LargeAATeam"]; +_u = ["Ins_Soldier_CO"]; +_u = _u + ["Ins_Soldier_AA"]; +_u = _u + ["Ins_Soldier_AA"]; +_u = _u + ["ZSU_INS"]; +_u = _u + ["ZSU_INS"]; +_u = _u + ["BMP2_INS"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +diag_log Format ["[WFBE (INIT)][frameno:%1 | ticktime:%2] Occupation_INS: Initialization - [Done]",diag_frameno,diag_tickTime]; \ No newline at end of file diff --git a/Common/Config/Core_Occupation/Occupation_RU.sqf b/Common/Config/Core_Occupation/Occupation_RU.sqf new file mode 100644 index 0000000..748c3a2 --- /dev/null +++ b/Common/Config/Core_Occupation/Occupation_RU.sqf @@ -0,0 +1,177 @@ +Private ["_n","_u"]; + +_n = ["SmallTeam1"]; +_u = ["RU_Soldier_SL"]; +_u = _u + ["RU_Soldier_MG"]; +_u = _u + ["RU_Soldier_AT"]; +_u = _u + ["RU_Soldier"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["SmallTeam2"]; +_u = ["RU_Soldier_SL"]; +_u = _u + ["RU_Soldier_LAT"]; +_u = _u + ["RU_Soldier_Marksman"]; +_u = _u + ["RU_Soldier_AR"]; +_u = _u + ["RU_Soldier_GL"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["SmallTeam3"]; +_u = ["RU_Soldier_TL"]; +_u = _u + ["RU_Soldier_MG"]; +_u = _u + ["RU_Soldier_GL"]; +_u = _u + ["RU_Soldier_AT"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["SmallVehTeam1"]; +_u = ["RU_Soldier_SL"]; +_u = _u + ["UAZ_AGS30_RU"]; +_u = _u + ["GAZ_Vodnik"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["SmallVehTeam2"]; +_u = ["RU_Soldier_SL"]; +_u = _u + ["GAZ_Vodnik"]; +_u = _u + ["GAZ_Vodnik_HMG"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["SmallVehTeam3"]; +_u = ["RU_Soldier_SL"]; +_u = _u + ["UAZ_AGS30_RU"]; +_u = _u + ["GAZ_Vodnik_HMG"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MediumTeam1"]; +_u = ["RU_Soldier_SL"]; +_u = _u + ["RU_Soldier_AA"]; +_u = _u + ["RU_Soldier_LAT"]; +_u = _u + ["RU_Soldier_AT"]; +_u = _u + ["RU_Soldier"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MediumTeam2"]; +_u = ["RUS_Commander"]; +_u = _u + ["RUS_Soldier1"]; +_u = _u + ["RUS_Soldier2"]; +_u = _u + ["RUS_Soldier_GL"]; +_u = _u + ["RUS_Soldier_Marksman"]; +_u = _u + ["RUS_Soldier3"]; +_u = _u + ["RUS_Soldier_TL"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MediumTeam3"]; +_u = ["MVD_Soldier_TL"]; +_u = _u + ["MVD_Soldier_MG"]; +_u = _u + ["MVD_Soldier_AT"]; +_u = _u + ["MVD_Soldier_GL"]; +_u = _u + ["MVD_Soldier_Sniper"]; +_u = _u + ["MVD_Soldier_Marksman"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MediumVehTeam1"]; +_u = ["RU_Soldier_TL"]; +_u = _u + ["GAZ_Vodnik"]; +_u = _u + ["BMP3"]; +_u = _u + ["BTR90"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MediumVehTeam2"]; +_u = ["RU_Soldier_TL"]; +_u = _u + ["T72_RU"]; +_u = _u + ["T72_RU"]; +_u = _u + ["GAZ_Vodnik_MedEvac"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MediumVehTeam3"]; +_u = ["RU_Soldier_TL"]; +_u = _u + ["BMP3"]; +_u = _u + ["GAZ_Vodnik_HMG"]; +_u = _u + ["T72_RU"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["LargeTeam1"]; +_u = ["RU_Soldier_HAT"]; +_u = _u + ["RU_Soldier_HAT"]; +_u = _u + ["RU_Soldier_HAT"]; +_u = _u + ["RU_Soldier_AT"]; +_u = _u + ["RU_Soldier"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["LargeTeam2"]; +_u = ["RUS_Commander"]; +_u = _u + ["RUS_Soldier1"]; +_u = _u + ["RUS_Soldier2"]; +_u = _u + ["RUS_Soldier_GL"]; +_u = _u + ["RUS_Soldier_Marksman"]; +_u = _u + ["RUS_Soldier3"]; +_u = _u + ["RUS_Soldier_TL"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["LargeTeam3"]; +_u = ["RU_Soldier_SL"]; +_u = _u + ["RU_Soldier_MG"]; +_u = _u + ["RU_Soldier_AT"]; +_u = _u + ["RU_Soldier_LAT"]; +_u = _u + ["RU_Soldier_Marksman"]; +_u = _u + ["RU_Soldier_AR"]; +_u = _u + ["RU_Soldier_GL"]; +_u = _u + ["RU_Soldier"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["LargeVehTeam1"]; +_u = ["RU_Soldier_TL"]; +if (WF_ACE) then +{ + _u = _u + ["ACE_T90A"]; + _u = _u + ["ACE_T90A"]; + _u = _u + ["ACE_T90A"]; +} +else +{ + _u = _u + ["T90"]; + _u = _u + ["T90"]; + _u = _u + ["T90"]; +}; +_u = _u + ["T72_RU"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["LargeVehTeam2"]; +_u = ["RU_Soldier_TL"]; +_u = _u + ["T90"]; +_u = _u + ["GRAD_RU"]; +_u = _u + ["T72_RU"]; +_u = _u + ["2S6M_Tunguska"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["LargeVehTeam3"]; +_u = ["RU_Soldier_TL"]; +_u = _u + ["T90"]; +_u = _u + ["T90"]; +_u = _u + ["2S6M_Tunguska"]; +_u = _u + ["T72_RU"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +//--- AA Units used by towns occupation in case of 'air assault' only. +_n = _n + ["SmallAATeam"]; +_u = ["RU_Soldier_TL"]; +_u = _u + ["RU_Soldier_AA"]; +_u = _u + ["RU_Soldier_AA"]; +_u = _u + ["RU_Soldier_AA"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MediumAATeam"]; +_u = ["RU_Soldier_TL"]; +_u = _u + ["RU_Soldier_AA"]; +_u = _u + ["RU_Soldier_AA"]; +_u = _u + ["RU_Soldier_AA"]; +_u = _u + ["BTR90"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["LargeAATeam"]; +_u = ["RU_Soldier_TL"]; +_u = _u + ["RU_Soldier_AA"]; +_u = _u + ["RU_Soldier_AA"]; +_u = _u + ["BTR90"]; +_u = _u + ["2S6M_Tunguska"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +diag_log Format ["[WFBE (INIT)][frameno:%1 | ticktime:%2] Occupation_RU: Initialization - [Done]",diag_frameno,diag_tickTime]; \ No newline at end of file diff --git a/Common/Config/Core_Occupation/Occupation_TKA.sqf b/Common/Config/Core_Occupation/Occupation_TKA.sqf new file mode 100644 index 0000000..9c2596a --- /dev/null +++ b/Common/Config/Core_Occupation/Occupation_TKA.sqf @@ -0,0 +1,176 @@ +Private ["_n","_u"]; + +_n = ["SmallTeam1"]; +_u = ["TK_Soldier_SL_EP1"]; +_u = _u + ["TK_Soldier_MG_EP1"]; +_u = _u + ["TK_Soldier_AT_EP1"]; +_u = _u + ["TK_Soldier_EP1"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["SmallTeam2"]; +_u = ["TK_Soldier_SL_EP1"]; +_u = _u + ["TK_Soldier_LAT_EP1"]; +_u = _u + ["TK_Soldier_Spotter_EP1"]; +_u = _u + ["TK_Soldier_AR_EP1"]; +_u = _u + ["TK_Soldier_GL_EP1"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["SmallTeam3"]; +_u = ["TK_Soldier_SL_EP1"]; +_u = _u + ["TK_Soldier_MG_EP1"]; +_u = _u + ["TK_Soldier_GL_EP1"]; +_u = _u + ["TK_Soldier_AT_EP1"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["SmallVehTeam1"]; +_u = ["TK_Soldier_SL_EP1"]; +_u = _u + ["LandRover_MG_TK_EP1"]; +_u = _u + ["BTR60_TK_EP1"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["SmallVehTeam2"]; +_u = ["TK_Soldier_SL_EP1"]; +_u = _u + ["BTR60_TK_EP1"]; +_u = _u + ["BRDM2_TK_EP1"]; +_u = _u + ["BRDM2_ATGM_TK_EP1"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["SmallVehTeam3"]; +_u = ["TK_Soldier_SL_EP1"]; +_u = _u + ["UAZ_AGS30_TK_EP1"]; +_u = _u + ["BRDM2_TK_EP1"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MediumTeam1"]; +_u = ["TK_Soldier_SL_EP1"]; +_u = _u + ["TK_Soldier_AA_EP1"]; +_u = _u + ["TK_Soldier_LAT_EP1"]; +_u = _u + ["TK_Soldier_AT_EP1"]; +_u = _u + ["TK_Soldier_EP1"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MediumTeam2"]; +_u = ["TK_Special_Forces_TL_EP1"]; +_u = _u + ["TK_Soldier_Medic_EP1"]; +_u = _u + ["TK_Soldier_HAT_EP1"]; +_u = _u + ["TK_Soldier_HAT_EP1"]; +_u = _u + ["TK_Special_Forces_EP1"]; +_u = _u + ["TK_Special_Forces_EP1"]; +_u = _u + ["TK_Special_Forces_MG_EP1"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MediumTeam3"]; +_u = ["TK_Special_Forces_TL_EP1"]; +_u = _u + ["TK_Soldier_Medic_EP1"]; +_u = _u + ["TK_Soldier_SniperH_EP1"]; +_u = _u + ["TK_Soldier_Sniper_Night_EP1"]; +_u = _u + ["TK_Soldier_Night_1_EP1"]; +_u = _u + ["TK_Soldier_Night_2_EP1"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MediumVehTeam1"]; +_u = ["TK_Soldier_SL_EP1"]; +_u = _u + ["BMP2_TK_EP1"]; +_u = _u + ["BMP2_TK_EP1"]; +_u = _u + ["BTR60_TK_EP1"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MediumVehTeam2"]; +_u = ["TK_Soldier_SL_EP1"]; +_u = _u + ["T72_TK_EP1"]; +_u = _u + ["T72_TK_EP1"]; +_u = _u + ["M113Ambul_TK_EP1"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MediumVehTeam3"]; +_u = ["TK_Soldier_SL_EP1"]; +_u = _u + ["BMP2_TK_EP1"]; +_u = _u + ["Ural_ZU23_TK_EP1"]; +_u = _u + ["T72_TK_EP1"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["LargeTeam1"]; +_u = ["TK_Soldier_HAT_EP1"]; +_u = _u + ["TK_Soldier_HAT_EP1"]; +_u = _u + ["TK_Soldier_HAT_EP1"]; +_u = _u + ["TK_Soldier_AT_EP1"]; +_u = _u + ["TK_Soldier_EP1"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["LargeTeam2"]; +_u = ["TK_Special_Forces_TL_EP1"]; +_u = _u + ["TK_Special_Forces_EP1"]; +_u = _u + ["TK_Special_Forces_EP1"]; +_u = _u + ["TK_Special_Forces_EP1"]; +_u = _u + ["TK_Special_Forces_MG_EP1"]; +_u = _u + ["TK_Special_Forces_MG_EP1"]; +_u = _u + ["TK_Special_Forces_MG_EP1"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["LargeTeam3"]; +_u = ["TK_Soldier_SL_EP1"]; +_u = _u + ["TK_Soldier_MG_EP1"]; +_u = _u + ["TK_Soldier_AT_EP1"]; +_u = _u + ["TK_Soldier_LAT_EP1"]; +_u = _u + ["TK_Soldier_Spotter_EP1"]; +_u = _u + ["TK_Soldier_AR_EP1"]; +_u = _u + ["TK_Soldier_GL_EP1"]; +_u = _u + ["TK_Soldier_EP1"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["LargeVehTeam1"]; +_u = ["TK_Soldier_SL_EP1"]; +_u = _u + ["T55_TK_EP1"]; +_u = _u + ["T72_TK_EP1"]; +_u = _u + ["T72_TK_EP1"]; +_u = _u + ["T72_TK_EP1"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["LargeVehTeam2"]; +_u = ["TK_Soldier_SL_EP1"]; +_u = _u + ["T55_TK_EP1"]; +_u = _u + ["T55_TK_EP1"]; +_u = _u + ["T72_TK_EP1"]; +_u = _u + ["ZSU_TK_EP1"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["LargeVehTeam3"]; +_u = ["TK_Soldier_SL_EP1"]; +_u = _u + ["T72_TK_EP1"]; +_u = _u + ["T72_TK_EP1"]; +_u = _u + ["T72_TK_EP1"]; +_u = _u + ["ZSU_TK_EP1"]; +_u = _u + ["T72_TK_EP1"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +//--- AA Units used by towns occupation in case of 'air assault' only. +_n = _n + ["SmallAATeam"]; +_u = ["TK_Soldier_SL_EP1"]; +_u = _u + ["TK_Soldier_AA_EP1"]; +_u = _u + ["TK_Soldier_AA_EP1"]; +_u = _u + ["TK_Soldier_AA_EP1"]; +_u = _u + ["TK_Soldier_AA_EP1"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MediumAATeam"]; +_u = ["TK_Soldier_SL_EP1"]; +_u = _u + ["TK_Soldier_AA_EP1"]; +_u = _u + ["TK_Soldier_AA_EP1"]; +_u = _u + ["TK_Soldier_AA_EP1"]; +_u = _u + ["Ural_ZU23_TK_EP1"]; +_u = _u + ["Ural_ZU23_TK_EP1"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["LargeAATeam"]; +_u = ["TK_Soldier_SL_EP1"]; +_u = _u + ["TK_Soldier_AA_EP1"]; +_u = _u + ["TK_Soldier_AA_EP1"]; +_u = _u + ["TK_Soldier_AA_EP1"]; +_u = _u + ["TK_Soldier_AA_EP1"]; +_u = _u + ["TK_Soldier_AA_EP1"]; +_u = _u + ["ZSU_TK_EP1"]; +_u = _u + ["ZSU_TK_EP1"]; +_u = _u + ["BMP2_TK_EP1"]; +[Format["WFBE_EAST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +diag_log Format ["[WFBE (INIT)][frameno:%1 | ticktime:%2] Occupation_TKA: Initialization - [Done]",diag_frameno,diag_tickTime]; \ No newline at end of file diff --git a/Common/Config/Core_Occupation/Occupation_US.sqf b/Common/Config/Core_Occupation/Occupation_US.sqf new file mode 100644 index 0000000..6df144e --- /dev/null +++ b/Common/Config/Core_Occupation/Occupation_US.sqf @@ -0,0 +1,172 @@ +Private ["_n","_u"]; + +_n = ["SmallTeam1"]; +_u = ["US_Soldier_SL_EP1"]; +_u = _u + ["US_Soldier_TL_EP1"]; +_u = _u + ["US_Soldier_AR_EP1"]; +_u = _u + ["US_Soldier_EP1"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["SmallTeam2"]; +_u = ["US_Soldier_TL_EP1"]; +_u = _u + ["US_Soldier_AR_EP1"]; +_u = _u + ["US_Soldier_LAT_EP1"]; +_u = _u + ["US_Soldier_Medic_EP1"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["SmallTeam3"]; +_u = ["US_Soldier_TL_EP1"]; +_u = _u + ["US_Soldier_MG_EP1"]; +_u = _u + ["US_Soldier_AR_EP1"]; +_u = _u + ["US_Soldier_LAT_EP1"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["SmallVehTeam1"]; +_u = ["US_Soldier_TL_EP1"]; +_u = _u + ["HMMWV_Avenger_DES_EP1"]; +_u = _u + ["HMMWV_M1151_M2_DES_EP1"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["SmallVehTeam2"]; +_u = ["US_Soldier_SL_EP1"]; +_u = _u + ["HMMWV_TOW_DES_EP1"]; +_u = _u + ["M1126_ICV_mk19_EP1"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["SmallVehTeam3"]; +_u = ["US_Soldier_TL_EP1"]; +_u = _u + ["HMMWV_Avenger_DES_EP1"]; +_u = _u + ["HMMWV_M998_crows_MK19_DES_EP1"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MediumTeam1"]; +_u = ["US_Soldier_TL_EP1"]; +_u = _u + ["US_Soldier_AR_EP1"]; +_u = _u + ["US_Soldier_Medic_EP1"]; +_u = _u + ["US_Soldier_AA_EP1"]; +_u = _u + ["US_Soldier_AA_EP1"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MediumTeam2"]; +_u = ["US_Soldier_TL_EP1"]; +_u = _u + ["US_Soldier_AA_EP1"]; +_u = _u + ["US_Soldier_AA_EP1"]; +_u = _u + ["US_Soldier_LAT_EP1"]; +_u = _u + ["US_Soldier_AT_EP1"]; +_u = _u + ["US_Soldier_AR_EP1"]; +_u = _u + ["US_Soldier_MG_EP1"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MediumTeam3"]; +_u = ["US_Soldier_Sniper_EP1"]; +_u = _u + ["US_Soldier_Marksman_EP1"]; +_u = _u + ["US_Soldier_Marksman_EP1"]; +_u = _u + ["US_Soldier_SniperH_EP1"]; +_u = _u + ["US_Soldier_SniperH_EP1"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MediumVehTeam1"]; +_u = ["US_Soldier_TL_EP1"]; +_u = _u + ["HMMWV_Avenger_DES_EP1"]; +_u = _u + ["M2A3_EP1"]; +_u = _u + ["M1126_ICV_M2_EP1"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MediumVehTeam2"]; +_u = ["US_Soldier_TL_EP1"]; +_u = _u + ["M1A1_US_DES_EP1"]; +_u = _u + ["M1A1_US_DES_EP1"]; +_u = _u + ["HMMWV_Ambulance_DES_EP1"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MediumVehTeam3"]; +_u = ["US_Soldier_TL_EP1"]; +_u = _u + ["M1126_ICV_M2_EP1"]; +_u = _u + ["HMMWV_M998_crows_M2_DES_EP1"]; +_u = _u + ["M1A1_US_DES_EP1"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["LargeTeam1"]; +_u = ["US_Soldier_HAT_EP1"]; +_u = _u + ["US_Soldier_AT_EP1"]; +_u = _u + ["US_Soldier_HAT_EP1"]; +_u = _u + ["US_Soldier_HAT_EP1"]; +_u = _u + ["US_Soldier_HAT_EP1"]; +_u = _u + ["US_Soldier_EP1"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["LargeTeam2"]; +_u = ["US_Delta_Force_EP1"]; +_u = _u + ["US_Delta_Force_AR_EP1"]; +_u = _u + ["US_Delta_Force_SD_EP1"]; +_u = _u + ["US_Delta_Force_Assault_EP1"]; +_u = _u + ["US_Delta_Force_Marksman_EP1"]; +_u = _u + ["US_Delta_Force_M14_EP1"]; +_u = _u + ["US_Delta_Force_MG_EP1"]; +_u = _u + ["US_Delta_Force_Medic_EP1"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["LargeTeam3"]; +_u = ["US_Soldier_TL_EP1"]; +_u = _u + ["US_Soldier_AA_EP1"]; +_u = _u + ["US_Soldier_AA_EP1"]; +_u = _u + ["US_Soldier_Medic_EP1"]; +_u = _u + ["US_Soldier_GL_EP1"]; +_u = _u + ["US_Soldier_Sniper_EP1"]; +_u = _u + ["US_Soldier_AT_EP1"]; +_u = _u + ["US_Soldier_MG_EP1"]; +_u = _u + ["US_Soldier_AR_EP1"]; +_u = _u + ["US_Soldier_LAT_EP1"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["LargeVehTeam1"]; +_u = ["US_Soldier_TL_EP1"]; +_u = _u + ["M1A2_US_TUSK_MG_EP1"]; +_u = _u + ["M1A2_US_TUSK_MG_EP1"]; +_u = _u + ["M1A2_US_TUSK_MG_EP1"]; +_u = _u + ["M1A2_US_TUSK_MG_EP1"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["LargeVehTeam2"]; +_u = ["US_Soldier_TL_EP1"]; +_u = _u + ["M1A2_US_TUSK_MG_EP1"]; +_u = _u + ["M1A2_US_TUSK_MG_EP1"]; +_u = _u + ["MLRS_DES_EP1"]; +_u = _u + ["M1A2_US_TUSK_MG_EP1"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["LargeVehTeam3"]; +_u = ["US_Soldier_TL_EP1"]; +_u = _u + ["M1A2_US_TUSK_MG_EP1"]; +_u = _u + ["M1A2_US_TUSK_MG_EP1"]; +_u = _u + ["M1A2_US_TUSK_MG_EP1"]; +_u = _u + ["M6_EP1"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +//--- AA Units used by towns occupation in case of 'air assault' only. +_n = _n + ["SmallAATeam"]; +_u = ["US_Soldier_TL_EP1"]; +_u = _u + ["US_Soldier_AA_EP1"]; +_u = _u + ["US_Soldier_AA_EP1"]; +_u = _u + ["US_Soldier_AA_EP1"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MediumAATeam"]; +_u = ["US_Soldier_TL_EP1"]; +_u = _u + ["US_Soldier_AA_EP1"]; +_u = _u + ["US_Soldier_AA_EP1"]; +_u = _u + ["HMMWV_Avenger_DES_EP1"]; +_u = _u + ["HMMWV_Avenger_DES_EP1"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["LargeAATeam"]; +_u = ["US_Soldier_TL_EP1"]; +_u = _u + ["US_Soldier_AA_EP1"]; +_u = _u + ["US_Soldier_AA_EP1"]; +_u = _u + ["US_Soldier_AA_EP1"]; +_u = _u + ["M2A3_EP1"]; +_u = _u + ["M6_EP1"]; +_u = _u + ["M6_EP1"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +diag_log Format ["[WFBE (INIT)][frameno:%1 | ticktime:%2] Occupation_US: Initialization - [Done]",diag_frameno,diag_tickTime]; \ No newline at end of file diff --git a/Common/Config/Core_Occupation/Occupation_USMC.sqf b/Common/Config/Core_Occupation/Occupation_USMC.sqf new file mode 100644 index 0000000..7969bad --- /dev/null +++ b/Common/Config/Core_Occupation/Occupation_USMC.sqf @@ -0,0 +1,173 @@ +Private ["_n","_u"]; + +_n = ["SmallTeam1"]; +_u = ["USMC_Soldier_SL"]; +_u = _u + ["USMC_Soldier_TL"]; +_u = _u + ["USMC_Soldier_AR"]; +_u = _u + ["USMC_Soldier"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["SmallTeam2"]; +_u = ["USMC_Soldier_TL"]; +_u = _u + ["USMC_Soldier_AR"]; +_u = _u + ["USMC_Soldier_LAT"]; +_u = _u + ["USMC_Soldier_Medic"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["SmallTeam3"]; +_u = ["USMC_Soldier_TL"]; +_u = _u + ["USMC_Soldier_MG"]; +_u = _u + ["USMC_Soldier_AR"]; +_u = _u + ["USMC_Soldier_LAT"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["SmallVehTeam1"]; +_u = ["USMC_Soldier_TL"]; +_u = _u + ["HMMWV_Avenger"]; +_u = _u + ["HMMWV_Armored"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["SmallVehTeam2"]; +_u = ["USMC_Soldier_SL"]; +_u = _u + ["HMMWV_TOW"]; +_u = _u + ["LAV25"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["SmallVehTeam3"]; +_u = ["USMC_Soldier_TL"]; +_u = _u + ["HMMWV_Avenger"]; +_u = _u + ["HMMWV_MK19"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MediumTeam1"]; +_u = ["USMC_Soldier_TL"]; +_u = _u + ["USMC_Soldier_AR"]; +_u = _u + ["USMC_Soldier_Medic"]; +_u = _u + ["USMC_Soldier_AA"]; +_u = _u + ["USMC_Soldier_AA"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MediumTeam2"]; +_u = ["USMC_Soldier_TL"]; +_u = _u + ["USMC_Soldier_AA"]; +_u = _u + ["USMC_Soldier_AA"]; +_u = _u + ["USMC_Soldier_LAT"]; +_u = _u + ["USMC_Soldier_AT"]; +_u = _u + ["USMC_Soldier_AR"]; +_u = _u + ["USMC_Soldier_MG"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MediumTeam3"]; +_u = ["USMC_SoldierS_Sniper"]; +_u = _u + ["USMC_SoldierS_Spotter"]; +_u = _u + ["USMC_SoldierS_Spotter"]; +_u = _u + ["USMC_SoldierS"]; +_u = _u + ["USMC_SoldierS"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MediumVehTeam1"]; +_u = ["USMC_Soldier_TL"]; +_u = _u + ["HMMWV_Avenger"]; +_u = _u + ["AAV"]; +_u = _u + ["LAV25"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MediumVehTeam2"]; +_u = ["USMC_Soldier_TL"]; +_u = _u + ["M1A1"]; +_u = _u + ["M1A1"]; +_u = _u + ["HMMWV_Ambulance"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MediumVehTeam3"]; +_u = ["USMC_Soldier_TL"]; +_u = _u + ["AAV"]; +_u = _u + ["HMMWV_M2"]; +_u = _u + ["M1A1"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["LargeTeam1"]; +_u = ["USMC_Soldier_HAT"]; +_u = _u + ["USMC_Soldier_AT"]; +_u = _u + ["USMC_Soldier_HAT"]; +_u = _u + ["USMC_Soldier_HAT"]; +_u = _u + ["USMC_Soldier_HAT"]; +_u = _u + ["USMC_Soldier"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["LargeTeam2"]; +_u = ["FR_TL"]; +_u = _u + ["FR_AR"]; +_u = _u + ["FR_GL"]; +_u = _u + ["FR_Marksman"]; +_u = _u + ["FR_R"]; +_u = _u + ["FR_Corpsman"]; +_u = _u + ["FR_Sapper"]; +_u = _u + ["FR_AC"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["LargeTeam3"]; +_u = ["USMC_Soldier_TL"]; +_u = _u + ["USMC_Soldier_AA"]; +_u = _u + ["USMC_Soldier_AA"]; +_u = _u + ["USMC_Soldier_Medic"]; +_u = _u + ["USMC_Soldier_GL"]; +_u = _u + ["USMC_SoldierS_Sniper"]; +_u = _u + ["USMC_Soldier_AT"]; +_u = _u + ["USMC_Soldier_MG"]; +_u = _u + ["USMC_Soldier_AR"]; +_u = _u + ["USMC_Soldier_LAT"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["LargeVehTeam1"]; +_u = ["USMC_Soldier_TL"]; +_u = _u + ["M1A2_TUSK_MG"]; +_u = _u + ["M1A2_TUSK_MG"]; +_u = _u + ["M1A2_TUSK_MG"]; +_u = _u + ["M1A2_TUSK_MG"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["LargeVehTeam2"]; +_u = ["USMC_Soldier_TL"]; +_u = _u + ["M1A2_TUSK_MG"]; +_u = _u + ["M1A2_TUSK_MG"]; +_u = _u + ["MLRS"]; +_u = _u + ["M1A2_TUSK_MG"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["LargeVehTeam3"]; +_u = ["USMC_Soldier_TL"]; +_u = _u + ["M1A2_TUSK_MG"]; +_u = _u + ["M1A2_TUSK_MG"]; +_u = _u + ["M1A2_TUSK_MG"]; +_u = _u + ["AAV"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +//--- AA Units used by towns occupation in case of 'air assault' only. +_n = _n + ["SmallAATeam"]; +_u = ["USMC_Soldier_TL"]; +_u = _u + ["USMC_Soldier_AA"]; +_u = _u + ["USMC_Soldier_AA"]; +_u = _u + ["USMC_Soldier_AA"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MediumAATeam"]; +_u = ["USMC_Soldier_TL"]; +_u = _u + ["USMC_Soldier_AA"]; +_u = _u + ["USMC_Soldier_AA"]; +_u = _u + ["HMMWV_Avenger"]; +_u = _u + ["HMMWV_Avenger"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["LargeAATeam"]; +_u = ["USMC_Soldier_TL"]; +_u = _u + ["USMC_Soldier_AA"]; +_u = _u + ["USMC_Soldier_AA"]; +_u = _u + ["USMC_Soldier_AA"]; +_u = _u + ["HMMWV_Avenger"]; +_u = _u + ["HMMWV_Avenger"]; +_u = _u + ["HMMWV_Avenger"]; +_u = _u + ["HMMWV_Armored"]; +[Format["WFBE_WEST%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +diag_log Format ["[WFBE (INIT)][frameno:%1 | ticktime:%2] Occupation_USMC: Initialization - [Done]",diag_frameno,diag_tickTime]; \ No newline at end of file diff --git a/Common/Config/Core_Resistance/Resistance_GUE.sqf b/Common/Config/Core_Resistance/Resistance_GUE.sqf new file mode 100644 index 0000000..3f44b2f --- /dev/null +++ b/Common/Config/Core_Resistance/Resistance_GUE.sqf @@ -0,0 +1,100 @@ +Private ["_n","_u"]; + +//--- Resistance Key Units. +['WFBE_GUERCREW','GUE_Soldier_Crew',true] Call SetNamespace; +['WFBE_GUERPILOT','GUE_Soldier_1',true] Call SetNamespace; +['WFBE_GUERSOLDIER','GUE_Soldier_1',true] Call SetNamespace; + +//--- Town Resistance. +_n = ["Group"]; +_u = ["Guerrila", "GUE", "Infantry", "GUE_InfSquad"] Call GetGroupFromConfig; +[Format["WFBE_RES%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["GroupAssault"]; +_u = ["Guerrila", "GUE", "Infantry", "GUE_InfSquad_Assault"] Call GetGroupFromConfig; +[Format["WFBE_RES%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["GroupWeapons"]; +_u = ["Guerrila", "GUE", "Infantry", "GUE_InfSquad_Weapons"] Call GetGroupFromConfig; +[Format["WFBE_RES%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["Patrol1"]; +_u = ["Guerrila", "GUE", "Infantry", "GUE_InfTeam_1"] Call GetGroupFromConfig; +[Format["WFBE_RES%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["Patrol2"]; +_u = ["Guerrila", "GUE", "Infantry", "GUE_InfTeam_2"] Call GetGroupFromConfig; +[Format["WFBE_RES%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["ATTeam"]; +_u = ["Guerrila", "GUE", "Infantry", "GUE_InfTeam_AT"] Call GetGroupFromConfig; +[Format["WFBE_RES%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["AATeam"]; +_u = ["Guerrila", "GUE", "Infantry", "GUE_GrpInf_TeamAA"] Call GetGroupFromConfig; +[Format["WFBE_RES%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["SniperTeam"]; +_u = ["Guerrila", "GUE", "Infantry", "GUE_GrpInf_TeamSniper"] Call GetGroupFromConfig; +[Format["WFBE_RES%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["Militia"]; +_u = ["Guerrila", "GUE", "Infantry", "GUE_MilitiaSquad"] Call GetGroupFromConfig; +[Format["WFBE_RES%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["Technical"]; +_u = ["Guerrila", "GUE", "Motorized", "GUE_MotInfSection"] Call GetGroupFromConfig; +[Format["WFBE_RES%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MotorizedGroup"]; +_u = ["Guerrila", "GUE", "Motorized", "GUE_MotInfSquad"] Call GetGroupFromConfig; +[Format["WFBE_RES%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MotorizedAATeam"]; +_u = ["Guerrila", "GUE", "Mechanized", "GUE_MechInfSection"] Call GetGroupFromConfig; +_u = _u + ["Ural_ZU23_Gue"]; +[Format["WFBE_RES%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MechanizedGroup"]; +_u = ["Guerrila", "GUE", "Mechanized", "GUE_MechInfSquad"] Call GetGroupFromConfig; +_u = _u + ["GUE_Soldier_1"]; +_u = _u + ["GUE_Soldier_MG"]; +_u = _u + ["GUE_Soldier_MG"]; +_u = _u + ["GUE_Soldier_Medic"]; +[Format["WFBE_RES%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MechanizedPatrol"]; +_u = ["Guerrila", "GUE", "Mechanized", "GUE_MechInfSquad"] Call GetGroupFromConfig; +[Format["WFBE_RES%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["LightArmor"]; +_u = ["BMP2_GUE"]; +_u = _u + ["BMP2_GUE"]; +[Format["WFBE_RES%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["HeavyArmor"]; +_u = ["Guerrila", "GUE", "Armored", "GUE_TankSection"] Call GetGroupFromConfig; +[Format["WFBE_RES%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +//--- Patroling Resistance. +if (('WFBE_RESPATROL' Call GetNamespace) > 0) then { + ['WFBE_RESPATROLTYPE10',['GUE_Soldier_1','GUE_Soldier_MG','GUE_Soldier_Sniper','GUE_Soldier_Medic'],true] Call SetNamespace; + ['WFBE_RESPATROLTYPE11',['GUE_Soldier_CO','GUE_Soldier_AR','GUE_Soldier_3','GUE_Soldier_AT','GUE_Soldier_2'],true] Call SetNamespace; + ['WFBE_RESPATROLTYPE12',['Offroad_DSHKM_Gue','Offroad_SPG9_Gue'],true] Call SetNamespace; + ['WFBE_RESPATROLTYPE20',['BRDM2_GUE','BRDM2_GUE'],true] Call SetNamespace; + ['WFBE_RESPATROLTYPE21',['V3S_GUE','GUE_Soldier_CO','GUE_Soldier_AT','GUE_Soldier_MG','GUE_Soldier_AT'],true] Call SetNamespace; + ['WFBE_RESPATROLTYPE22',['BMP2_GUE','GUE_Soldier_AA','GUE_Soldier_AA','GUE_Soldier_Medic'],true] Call SetNamespace; + ['WFBE_RESPATROLTYPE30',['BMP2_GUE','BMP2_GUE'],true] Call SetNamespace; + ['WFBE_RESPATROLTYPE31',['T72_GUE','T72_GUE'],true] Call SetNamespace; + ['WFBE_RESPATROLTYPE32',['GUE_Soldier_Sniper','GUE_Soldier_Scout','GUE_Soldier_Sniper'],true] Call SetNamespace; +}; + +//--- Base Attacker Resistance. +if (('WFBE_RESSTRIKER' Call GetNamespace) > 0) then { + ['WFBE_RESSTRIKERTYPE10',['GUE_Soldier_Sab','GUE_Soldier_Scout','GUE_Soldier_Sniper'],true] Call SetNamespace; + ['WFBE_RESSTRIKERTYPE11',['GUE_Soldier_CO','GUE_Soldier_AR','GUE_Soldier_3','GUE_Soldier_AT','GUE_Soldier_2'],true] Call SetNamespace; + ['WFBE_RESSTRIKERTYPE12',['GUE_Soldier_CO','GUE_Soldier_AA','GUE_Soldier_AA','GUE_Soldier_3'],true] Call SetNamespace; + ['WFBE_RESSTRIKERTYPE13',['GUE_Soldier_CO','GUE_Soldier_MG','GUE_Soldier_Medic','GUE_Soldier_AT','GUE_Soldier_AT'],true] Call SetNamespace; +}; + +diag_log Format ["[WFBE (INIT)][frameno:%1 | ticktime:%2] Resistance_GUE: Initialization - [Done]",diag_frameno,diag_tickTime]; \ No newline at end of file diff --git a/Common/Config/Core_Resistance/Resistance_PMC.sqf b/Common/Config/Core_Resistance/Resistance_PMC.sqf new file mode 100644 index 0000000..ab70291 --- /dev/null +++ b/Common/Config/Core_Resistance/Resistance_PMC.sqf @@ -0,0 +1,127 @@ +Private ["_n","_u"]; + +//--- Resistance Key Units. +['WFBE_GUERCREW','Soldier_Crew_PMC',true] Call SetNamespace; +['WFBE_GUERPILOT','Soldier_Pilot_PMC',true] Call SetNamespace; +['WFBE_GUERSOLDIER','Soldier_PMC',true] Call SetNamespace; + +//--- Town Resistance. +_n = ["Group"]; +_u = ["Guerrila", "PMC_BAF", "Infantry", "PMC_Field_Security_Team"] Call GetGroupFromConfig; +[Format["WFBE_RES%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["GroupAssault"]; +_u = ["Guerrila", "PMC_BAF", "Infantry", "PMC_Security_Detail"] Call GetGroupFromConfig; +[Format["WFBE_RES%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["GroupWeapons"]; +_u = ["Guerrila", "PMC_BAF", "Infantry", "PMC_Security_Specialists"] Call GetGroupFromConfig; +[Format["WFBE_RES%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["Patrol1"]; +_u = ["Guerrila", "PMC_BAF", "Infantry", "PMC_VIP_Bodyguard"] Call GetGroupFromConfig; +[Format["WFBE_RES%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["Patrol2"]; +_u = ["Guerrila", "PMC_BAF", "Infantry", "PMC_Field_Security_Patrol"] Call GetGroupFromConfig; +[Format["WFBE_RES%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["ATTeam"]; +_u = ["Soldier_AT_PMC"]; +_u = _u + ["Soldier_AT_PMC"]; +_u = _u + ["Soldier_Bodyguard_M4_PMC"]; +[Format["WFBE_RES%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["AATeam"]; +_u = ["Soldier_TL_PMC"]; +_u = _u + ["Soldier_AA_PMC"]; +_u = _u + ["Soldier_AA_PMC"]; +_u = _u + ["Soldier_Bodyguard_M4_PMC"]; +[Format["WFBE_RES%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["SniperTeam"]; +_u = ["Soldier_Sniper_KSVK_PMC"]; +_u = _u + ["Soldier_Sniper_PMC"]; +[Format["WFBE_RES%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["Militia"]; +_u = ["Guerrila", "PMC_BAF", "Infantry", "PMC_Field_Support_Team"] Call GetGroupFromConfig; +[Format["WFBE_RES%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["Technical"]; +_u = ["Soldier_TL_PMC"]; +_u = _u + ["Offroad_DSHKM_TK_GUE_EP1"]; +_u = _u + ["Offroad_SPG9_TK_GUE_EP1"]; +_u = _u + ["ArmoredSUV_PMC"]; +_u = _u + ["Soldier_MG_PMC"]; +_u = _u + ["Soldier_GL_PMC"]; +_u = _u + ["Soldier_Sniper_KSVK_PMC"]; +_u = _u + ["Soldier_AT_PMC"]; +_u = _u + ["Soldier_Bodyguard_M4_PMC"]; +_u = _u + ["Soldier_Medic_PMC"]; +[Format["WFBE_RES%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MotorizedGroup"]; +_u = ["Guerrila", "PMC_BAF", "Motorized", "PMC_Armored_Patrol"] Call GetGroupFromConfig; +[Format["WFBE_RES%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MotorizedAATeam"]; +_u = ["Soldier_TL_PMC"]; +_u = _u + ["Ural_ZU23_TK_GUE_EP1"]; +_u = _u + ["Soldier_Sniper_PMC"]; +_u = _u + ["Soldier_AA_PMC"]; +_u = _u + ["Soldier_PMC"]; +[Format["WFBE_RES%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MechanizedPatrol"]; +_u = ["Soldier_Bodyguard_M4_PMC"]; +_u = _u + ["BTR40_MG_TK_GUE_EP1"]; +_u = _u + ["BRDM2_TK_GUE_EP1"]; +_u = _u + ["Soldier_Bodyguard_AA12_PMC"]; +_u = _u + ["Soldier_PMC"]; +[Format["WFBE_RES%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MechanizedGroup"]; +_u = ["Soldier_TL_PMC"]; +_u = _u + ["T34_TK_GUE_EP1"]; +_u = _u + ["ArmoredSUV_PMC"]; +_u = _u + ["Soldier_MG_PMC"]; +_u = _u + ["Soldier_Bodyguard_AA12_PMC"]; +_u = _u + ["Soldier_AT_PMC"]; +_u = _u + ["Soldier_Bodyguard_M4_PMC"]; +_u = _u + ["Soldier_Sniper_KSVK_PMC"]; +_u = _u + ["Soldier_AT_PMC"]; +[Format["WFBE_RES%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["LightArmor"]; +_u = ["T34_TK_GUE_EP1"]; +_u = _u + ["T34_TK_GUE_EP1"]; +[Format["WFBE_RES%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["HeavyArmor"]; +_u = ["T55_TK_GUE_EP1"]; +_u = _u + ["T55_TK_GUE_EP1"]; +[Format["WFBE_RES%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +//--- Patroling Resistance. +if (('WFBE_RESPATROL' Call GetNamespace) > 0) then { + ['WFBE_RESPATROLTYPE10',['Soldier_PMC','Soldier_MG_PKM_PMC','Soldier_Sniper_PMC','Soldier_Medic_PMC'],true] Call SetNamespace; + ['WFBE_RESPATROLTYPE11',['Soldier_TL_PMC','Soldier_MG_PMC','Soldier_M4A3_PMC','Soldier_AT_PMC','Soldier_GL_PMC'],true] Call SetNamespace; + ['WFBE_RESPATROLTYPE12',['ArmoredSUV_PMC','ArmoredSUV_PMC'],true] Call SetNamespace; + ['WFBE_RESPATROLTYPE20',['BTR40_MG_TK_GUE_EP1','Ural_ZU23_TK_GUE_EP1'],true] Call SetNamespace; + ['WFBE_RESPATROLTYPE21',['SUV_PMC','Soldier_TL_PMC','Soldier_AT_PMC','Soldier_Bodyguard_AA12_PMC'],true] Call SetNamespace; + ['WFBE_RESPATROLTYPE22',['BTR40_MG_TK_GUE_EP1','Soldier_AA_PMC','Soldier_AA_PMC','Soldier_Medic_PMC'],true] Call SetNamespace; + ['WFBE_RESPATROLTYPE30',['T34_TK_GUE_EP1','T34_TK_GUE_EP1'],true] Call SetNamespace; + ['WFBE_RESPATROLTYPE31',['T55_TK_GUE_EP1','T55_TK_GUE_EP1'],true] Call SetNamespace; + ['WFBE_RESPATROLTYPE32',['Ka60_GL_PMC','Soldier_TL_PMC','Soldier_AT_PMC','Soldier_Bodyguard_M4_PMC','Soldier_Bodyguard_M4_PMC'],true] Call SetNamespace; +}; + +//--- Base Attacker Resistance. +if (('WFBE_RESSTRIKER' Call GetNamespace) > 0) then { + ['WFBE_RESSTRIKERTYPE10',['ArmoredSUV_PMC','Soldier_PMC','Soldier_PMC'],true] Call SetNamespace; + ['WFBE_RESSTRIKERTYPE11',['Soldier_TL_PMC','Soldier_Bodyguard_M4_PMC','Soldier_M4A3_PMC','Soldier_AT_PMC','Soldier_AA_PMC'],true] Call SetNamespace; + ['WFBE_RESSTRIKERTYPE12',['Soldier_TL_PMC','Soldier_Bodyguard_AA12_PMC','Soldier_AA_PMC','Soldier_Engineer_PMC'],true] Call SetNamespace; + ['WFBE_RESSTRIKERTYPE13',['Ka60_PMC','Soldier_MG_PMC','Soldier_Medic_PMC','Soldier_AT_PMC','Soldier_AT_PMC'],true] Call SetNamespace; +}; + +diag_log Format ["[WFBE (INIT)][frameno:%1 | ticktime:%2] Resistance_PMC: Initialization - [Done]",diag_frameno,diag_tickTime]; \ No newline at end of file diff --git a/Common/Config/Core_Resistance/Resistance_TKGUE.sqf b/Common/Config/Core_Resistance/Resistance_TKGUE.sqf new file mode 100644 index 0000000..db5998b --- /dev/null +++ b/Common/Config/Core_Resistance/Resistance_TKGUE.sqf @@ -0,0 +1,110 @@ +Private ["_n","_u"]; + +//--- Resistance Key Units. +['WFBE_GUERCREW','TK_GUE_Soldier_EP1',true] Call SetNamespace; +['WFBE_GUERPILOT','TK_GUE_Soldier_EP1',true] Call SetNamespace; +['WFBE_GUERSOLDIER','TK_GUE_Soldier_EP1',true] Call SetNamespace; + +//--- Town Resistance. +_n = ["Group"]; +_u = ["Guerrila", "BIS_TK_GUE", "Infantry", "TK_GUE_Group"] Call GetGroupFromConfig; +[Format["WFBE_RES%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["GroupAssault"]; +_u = ["TK_GUE_Warlord_EP1"]; +_u = _u + ["TK_GUE_Soldier_4_EP1"]; +_u = _u + ["TK_GUE_Soldier_AT_EP1"]; +_u = _u + ["TK_GUE_Soldier_AR_EP1"]; +_u = _u + ["TK_GUE_Soldier_MG_EP1"]; +_u = _u + ["TK_GUE_Soldier_HAT_EP1"]; +_u = _u + ["TK_GUE_Soldier_5_EP1"]; +_u = _u + ["TK_GUE_Bonesetter_EP1"]; +[Format["WFBE_RES%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["GroupWeapons"]; +_u = ["Guerrila", "BIS_TK_GUE", "Infantry", "TK_GUE_GroupWeapons"] Call GetGroupFromConfig; +[Format["WFBE_RES%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["Patrol1"]; +_u = ["Guerrila", "BIS_TK_GUE", "Infantry", "TK_GUE_Patrol"] Call GetGroupFromConfig; +[Format["WFBE_RES%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["Patrol2"]; +_u = ["TK_GUE_Soldier_EP1"]; +_u = _u + ["TK_GUE_Soldier_AR_EP1"]; +_u = _u + ["TK_GUE_Soldier_4_EP1"]; +_u = _u + ["TK_GUE_Soldier_HAT_EP1"]; +[Format["WFBE_RES%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["ATTeam"]; +_u = ["Guerrila", "BIS_TK_GUE", "Infantry", "TK_GUE_ATTeam"] Call GetGroupFromConfig; +[Format["WFBE_RES%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["AATeam"]; +_u = ["Guerrila", "BIS_TK_GUE", "Infantry", "TK_GUE_AATeam"] Call GetGroupFromConfig; +[Format["WFBE_RES%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["SniperTeam"]; +_u = ["Guerrila", "BIS_TK_GUE", "Infantry", "TK_GUE_SniperTeam"] Call GetGroupFromConfig; +[Format["WFBE_RES%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["Militia"]; +_u = ["TK_GUE_Soldier_2_EP1"]; +_u = _u + ["TK_GUE_Soldier_3_EP1"]; +_u = _u + ["TK_GUE_Soldier_4_EP1"]; +_u = _u + ["TK_GUE_Soldier_5_EP1"]; +_u = _u + ["TK_GUE_Bonesetter_EP1"]; +_u = _u + ["TK_GUE_Soldier_EP1"]; +[Format["WFBE_RES%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["Technical"]; +_u = ["Guerrila", "BIS_TK_GUE", "Motorized", "TK_GUE_Technicals"] Call GetGroupFromConfig; +[Format["WFBE_RES%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MotorizedGroup"]; +_u = ["Guerrila", "BIS_TK_GUE", "Motorized", "TK_GUE_MotorizedGroup"] Call GetGroupFromConfig; +[Format["WFBE_RES%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MotorizedAATeam"]; +_u = ["Guerrila", "BIS_TK_GUE", "Motorized", "TK_GUE_MotorizedPatrol"] Call GetGroupFromConfig; +_u = _u + ["Ural_ZU23_TK_GUE_EP1"]; +[Format["WFBE_RES%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MechanizedPatrol"]; +_u = ["Guerrila", "BIS_TK_GUE", "Mechanized", "TK_GUE_MechanizedPatrol"] Call GetGroupFromConfig; +[Format["WFBE_RES%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["MechanizedGroup"]; +_u = ["Guerrila", "BIS_TK_GUE", "Mechanized", "TK_GUE_MechanizedGroup"] Call GetGroupFromConfig; +[Format["WFBE_RES%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["LightArmor"]; +_u = ["Guerrila", "BIS_TK_GUE", "Armored", "TK_GUE_T34Platoon"] Call GetGroupFromConfig; +[Format["WFBE_RES%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +_n = _n + ["HeavyArmor"]; +_u = ["Guerrila", "BIS_TK_GUE", "Armored", "TK_GUE_T55Section"] Call GetGroupFromConfig; +[Format["WFBE_RES%1UNITS",_n select (count _n - 1)],_u,true] Call SetNamespace; + +//--- Patroling Resistance. +if (('WFBE_RESPATROL' Call GetNamespace) > 0) then { + ['WFBE_RESPATROLTYPE10',['TK_GUE_Soldier_EP1','TK_GUE_Soldier_MG_EP1','TK_GUE_Soldier_Sniper_EP1','TK_GUE_Bonesetter_EP1'],true] Call SetNamespace; + ['WFBE_RESPATROLTYPE11',['TK_GUE_Warlord_EP1','TK_GUE_Soldier_AR_EP1','TK_GUE_Soldier_3_EP1','TK_GUE_Soldier_AT_EP1','TK_GUE_Soldier_4_EP1'],true] Call SetNamespace; + ['WFBE_RESPATROLTYPE12',['Offroad_DSHKM_TK_GUE_EP1','Offroad_SPG9_TK_GUE_EP1'],true] Call SetNamespace; + ['WFBE_RESPATROLTYPE20',['BTR40_MG_TK_GUE_EP1','Ural_ZU23_TK_GUE_EP1'],true] Call SetNamespace; + ['WFBE_RESPATROLTYPE21',['V3S_TK_GUE_EP1','TK_GUE_Warlord_EP1','TK_GUE_Soldier_AT_EP1','TK_GUE_Soldier_MG_EP1','TK_GUE_Soldier_HAT_EP1'],true] Call SetNamespace; + ['WFBE_RESPATROLTYPE22',['BTR40_MG_TK_GUE_EP1','TK_GUE_Soldier_AA_EP1','TK_GUE_Soldier_AA_EP1','TK_GUE_Bonesetter_EP1'],true] Call SetNamespace; + ['WFBE_RESPATROLTYPE30',['T34_TK_GUE_EP1','T34_TK_GUE_EP1'],true] Call SetNamespace; + ['WFBE_RESPATROLTYPE31',['T55_TK_GUE_EP1','T55_TK_GUE_EP1'],true] Call SetNamespace; + ['WFBE_RESPATROLTYPE32',['TK_GUE_Soldier_Sniper_EP1','TK_GUE_Soldier_5_EP1','TK_GUE_Soldier_Sniper_EP1'],true] Call SetNamespace; +}; + +//--- Base Attacker Resistance. +if (('WFBE_RESSTRIKER' Call GetNamespace) > 0) then { + ['WFBE_RESSTRIKERTYPE10',['TK_GUE_Soldier_EP1','TK_GUE_Soldier_5_EP1','TK_GUE_Soldier_Sniper_EP1'],true] Call SetNamespace; + ['WFBE_RESSTRIKERTYPE11',['TK_GUE_Warlord_EP1','TK_GUE_Soldier_AR_EP1','TK_GUE_Soldier_3_EP1','TK_GUE_Soldier_AT_EP1','TK_GUE_Soldier_4_EP1'],true] Call SetNamespace; + ['WFBE_RESSTRIKERTYPE12',['TK_GUE_Warlord_EP1','TK_GUE_Soldier_AA_EP1','TK_GUE_Soldier_AA_EP1','TK_GUE_Soldier_3_EP1'],true] Call SetNamespace; + ['WFBE_RESSTRIKERTYPE13',['TK_GUE_Warlord_EP1','TK_GUE_Soldier_MG_EP1','TK_GUE_Bonesetter_EP1','TK_GUE_Soldier_AT_EP1','TK_GUE_Soldier_AT_EP1'],true] Call SetNamespace; +}; + +diag_log Format ["[WFBE (INIT)][frameno:%1 | ticktime:%2] Resistance_TKGUE: Initialization - [Done]",diag_frameno,diag_tickTime]; \ No newline at end of file diff --git a/Common/Config/Core_Squads/Arrowhead/Squad_TK.sqf b/Common/Config/Core_Squads/Arrowhead/Squad_TK.sqf new file mode 100644 index 0000000..7ba782e --- /dev/null +++ b/Common/Config/Core_Squads/Arrowhead/Squad_TK.sqf @@ -0,0 +1,285 @@ +Private ['_aiTeamTemplateRequires','_aiTeamTemplates','_aiTeamTypes','_aiTeamUpgrades','_d','_f','_l','_u']; + +_aiTeamTemplates = []; +_aiTeamTemplateRequires = []; +_aiTeamTypes = []; +_aiTeamUpgrades = []; + +_d = ["Infantry - Infantry Squad"]; +_u = ["TK_Soldier_SL_EP1"]; +_u = _u + ["TK_Soldier_MG_EP1"]; +_u = _u + ["TK_Soldier_AT_EP1"]; +_u = _u + ["TK_Soldier_LAT_EP1"]; +_u = _u + ["TK_Soldier_Spotter_EP1"]; +_u = _u + ["TK_Soldier_AR_EP1"]; +_u = _u + ["TK_Soldier_GL_EP1"]; +_u = _u + ["TK_Soldier_EP1"]; +_f = [true,false,false,false]; +_l = [0,0,0,0]; + +_aiTeamTemplates = _aiTeamTemplates + [_u]; +_aiTeamTemplateRequires = _aiTeamTemplateRequires + [_f]; +_aiTeamTypes = _aiTeamTypes + [0]; +_aiTeamUpgrades = _aiTeamUpgrades + [_l]; + +_d = _d + ["Infantry - Infantry Section"]; +_u = ["TK_Soldier_SL_EP1"]; +_u = _u + ["TK_Soldier_AR_EP1"]; +_u = _u + ["TK_Soldier_AT_EP1"]; +_u = _u + ["TK_Soldier_GL_EP1"]; +_u = _u + ["TK_Soldier_EP1"]; +_f = [true,false,false,false]; +_l = [1,0,0,0]; + +_aiTeamTemplates = _aiTeamTemplates + [_u]; +_aiTeamTemplateRequires = _aiTeamTemplateRequires + [_f]; +_aiTeamTypes = _aiTeamTypes + [0]; +_aiTeamUpgrades = _aiTeamUpgrades + [_l]; + +_d = _d + ["Infantry - Infantry Section (AT)"]; +_u = ["TK_Soldier_AT_EP1"]; +_u = _u + ["TK_Soldier_AT_EP1"]; +_u = _u + ["TK_Soldier_LAT_EP1"]; +_u = _u + ["TK_Soldier_EP1"]; +_f = [true,false,false,false]; +_l = [1,0,0,0]; + +_aiTeamTemplates = _aiTeamTemplates + [_u]; +_aiTeamTemplateRequires = _aiTeamTemplateRequires + [_f]; +_aiTeamTypes = _aiTeamTypes + [0]; +_aiTeamUpgrades = _aiTeamUpgrades + [_l]; + +_d = _d + ["Infantry - Infantry Section (HAT)"]; +_u = ["TK_Soldier_HAT_EP1"]; +_u = _u + ["TK_Soldier_HAT_EP1"]; +_u = _u + ["TK_Soldier_AT_EP1"]; +_u = _u + ["TK_Soldier_EP1"]; +_f = [true,false,false,false]; +_l = [3,0,0,0]; + +_aiTeamTemplates = _aiTeamTemplates + [_u]; +_aiTeamTemplateRequires = _aiTeamTemplateRequires + [_f]; +_aiTeamTypes = _aiTeamTypes + [0]; +_aiTeamUpgrades = _aiTeamUpgrades + [_l]; + +_d = _d + ["Infantry - Infantry Section (AA)"]; +_u = ["TK_Soldier_AA_EP1"]; +_u = _u + ["TK_Soldier_AA_EP1"]; +_u = _u + ["TK_Soldier_AA_EP1"]; +_u = _u + ["TK_Soldier_EP1"]; +_f = [true,false,false,false]; +_l = [2,0,0,0]; + +_aiTeamTemplates = _aiTeamTemplates + [_u]; +_aiTeamTemplateRequires = _aiTeamTemplateRequires + [_f]; +_aiTeamTypes = _aiTeamTypes + [0]; +_aiTeamUpgrades = _aiTeamUpgrades + [_l]; + +_d = _d + ["Infantry - Infantry Section (AA/AT)"]; +_u = ["TK_Soldier_SL_EP1"]; +_u = _u + ["TK_Soldier_AA_EP1"]; +_u = _u + ["TK_Soldier_AA_EP1"]; +_u = _u + ["TK_Soldier_LAT_EP1"]; +_u = _u + ["TK_Soldier_AT_EP1"]; +_u = _u + ["TK_Soldier_EP1"]; +_f = [true,false,false,false]; +_l = [2,0,0,0]; + +_aiTeamTemplates = _aiTeamTemplates + [_u]; +_aiTeamTemplateRequires = _aiTeamTemplateRequires + [_f]; +_aiTeamTypes = _aiTeamTypes + [0]; +_aiTeamUpgrades = _aiTeamUpgrades + [_l]; + +_d = _d + ["Infantry - Infantry Section (MG)"]; +_u = ["TK_Soldier_SL_EP1"]; +_u = _u + ["TK_Soldier_MG_EP1"]; +_u = _u + ["TK_Soldier_MG_EP1"]; +_u = _u + ["TK_Soldier_GL_EP1"]; +_u = _u + ["TK_Soldier_AT_EP1"]; +_f = [true,false,false,false]; +_l = [1,0,0,0]; + +_aiTeamTemplates = _aiTeamTemplates + [_u]; +_aiTeamTemplateRequires = _aiTeamTemplateRequires + [_f]; +_aiTeamTypes = _aiTeamTypes + [0]; +_aiTeamUpgrades = _aiTeamUpgrades + [_l]; + +_d = _d + ["Infantry - Snipers Team"]; +_u = ["TK_Soldier_Spotter_EP1"]; +_u = _u + ["TK_Soldier_Sniper_EP1"]; +_f = [true,false,false,false]; +_l = [2,0,0,0]; + +_aiTeamTemplates = _aiTeamTemplates + [_u]; +_aiTeamTemplateRequires = _aiTeamTemplateRequires + [_f]; +_aiTeamTypes = _aiTeamTypes + [0]; +_aiTeamUpgrades = _aiTeamUpgrades + [_l]; + +_d = _d + ["Infantry - Special Ops Team"]; +_u = ["TK_Special_Forces_EP1"]; +_u = _u + ["TK_Special_Forces_TL_EP1"]; +_u = _u + ["TK_Special_Forces_MG_EP1"]; +_f = [true,false,false,false]; +_l = [3,0,0,0]; + +_aiTeamTemplates = _aiTeamTemplates + [_u]; +_aiTeamTemplateRequires = _aiTeamTemplateRequires + [_f]; +_aiTeamTypes = _aiTeamTypes + [0]; +_aiTeamUpgrades = _aiTeamUpgrades + [_l]; + +_d = _d + ["Motorized Infantry - Motorized Infantry Squad"]; +_u = ["TK_Soldier_SL_EP1"]; +_u = _u + ["V3S_TK_EP1"]; +_u = _u + ["TK_Soldier_MG_EP1"]; +_u = _u + ["TK_Soldier_AT_EP1"]; +_u = _u + ["TK_Soldier_LAT_EP1"]; +_u = _u + ["TK_Soldier_Spotter_EP1"]; +_u = _u + ["TK_Soldier_MG_EP1"]; +_u = _u + ["TK_Soldier_AR_EP1"]; +_u = _u + ["TK_Soldier_GL_EP1"]; +_u = _u + ["TK_Soldier_EP1"]; +_f = [true,true,false,false]; +_l = [1,0,0,0]; + +_aiTeamTemplates = _aiTeamTemplates + [_u]; +_aiTeamTemplateRequires = _aiTeamTemplateRequires + [_f]; +_aiTeamTypes = _aiTeamTypes + [1]; +_aiTeamUpgrades = _aiTeamUpgrades + [_l]; + +_d = _d + ["Motorized Infantry - Motorized Patrol Section"]; +_u = ["TK_Soldier_SL_EP1"]; +_u = _u + ["BRDM2_TK_EP1"]; +_f = [true,true,false,false]; +_l = [0,1,0,0]; + +_aiTeamTemplates = _aiTeamTemplates + [_u]; +_aiTeamTemplateRequires = _aiTeamTemplateRequires + [_f]; +_aiTeamTypes = _aiTeamTypes + [1]; +_aiTeamUpgrades = _aiTeamUpgrades + [_l]; + +_d = _d + ["Mechanized Infantry - Motor Rifles (BMP)"]; +_u = ["TK_Soldier_SL_EP1"]; +_u = _u + ["BMP2_TK_EP1"]; +_u = _u + ["TK_Soldier_MG_EP1"]; +_u = _u + ["TK_Soldier_AT_EP1"]; +_u = _u + ["TK_Soldier_LAT_EP1"]; +_u = _u + ["TK_Soldier_GL_EP1"]; +_f = [true,false,true,false]; +_l = [1,0,0,0]; + +_aiTeamTemplates = _aiTeamTemplates + [_u]; +_aiTeamTemplateRequires = _aiTeamTemplateRequires + [_f]; +_aiTeamTypes = _aiTeamTypes + [2]; +_aiTeamUpgrades = _aiTeamUpgrades + [_l]; + +_d = _d + ["Mechanized Infantry - Motor Rifles (BTR)"]; +_u = ["TK_Soldier_SL_EP1"]; +_u = _u + ["BTR60_TK_EP1"]; +_u = _u + ["TK_Soldier_MG_EP1"]; +_u = _u + ["TK_Soldier_MG_EP1"]; +_u = _u + ["TK_Soldier_AT_EP1"]; +_u = _u + ["TK_Soldier_LAT_EP1"]; +_u = _u + ["TK_Soldier_GL_EP1"]; +_f = [true,true,false,false]; +_l = [1,2,0,0]; + +_aiTeamTemplates = _aiTeamTemplates + [_u]; +_aiTeamTemplateRequires = _aiTeamTemplateRequires + [_f]; +_aiTeamTypes = _aiTeamTypes + [1]; +_aiTeamUpgrades = _aiTeamUpgrades + [_l]; + +_d = _d + ["Armor - IFV Platoon (Light)"]; +_u = ["BMP2_TK_EP1"]; +_u = _u + ["BMP2_TK_EP1"]; +_f = [false,false,true,false]; +_l = [0,0,0,0]; + +_aiTeamTemplates = _aiTeamTemplates + [_u]; +_aiTeamTemplateRequires = _aiTeamTemplateRequires + [_f]; +_aiTeamTypes = _aiTeamTypes + [2]; +_aiTeamUpgrades = _aiTeamUpgrades + [_l]; + +_d = _d + ["Armor - Anti Air Platoon"]; +_u = ["ZSU_TK_EP1"]; +_u = _u + ["ZSU_TK_EP1"]; +_f = [false,false,true,false]; +_l = [0,0,1,0]; + +_aiTeamTemplates = _aiTeamTemplates + [_u]; +_aiTeamTemplateRequires = _aiTeamTemplateRequires + [_f]; +_aiTeamTypes = _aiTeamTypes + [2]; +_aiTeamUpgrades = _aiTeamUpgrades + [_l]; + +_d = _d + ["Armor - Tank Platoon (Light)"]; +_u = ["T55_TK_EP1"]; +_u = _u + ["T55_TK_EP1"]; +_f = [false,false,true,false]; +_l = [0,0,1,0]; + +_aiTeamTemplates = _aiTeamTemplates + [_u]; +_aiTeamTemplateRequires = _aiTeamTemplateRequires + [_f]; +_aiTeamTypes = _aiTeamTypes + [2]; +_aiTeamUpgrades = _aiTeamUpgrades + [_l]; + +_d = _d + ["Armor - Tank Platoon (Heavy)"]; +_u = ["T72_TK_EP1"]; +_u = _u + ["T72_TK_EP1"]; +_f = [false,false,true,false]; +_l = [0,0,2,0]; + +_aiTeamTemplates = _aiTeamTemplates + [_u]; +_aiTeamTemplateRequires = _aiTeamTemplateRequires + [_f]; +_aiTeamTypes = _aiTeamTypes + [2]; +_aiTeamUpgrades = _aiTeamUpgrades + [_l]; + +_d = _d + ["Air - Mi-17 Squadron"]; +_u = ["Mi17_TK_EP1"]; +_u = _u + ["TK_Soldier_SL_EP1"]; +_u = _u + ["TK_Soldier_AA_EP1"]; +_u = _u + ["TK_Soldier_AA_EP1"]; +_u = _u + ["TK_Soldier_LAT_EP1"]; +_u = _u + ["TK_Soldier_LAT_EP1"]; +_u = _u + ["TK_Soldier_MG_EP1"]; +_u = _u + ["TK_Soldier_MG_EP1"]; +_f = [true,false,false,true]; +_l = [2,0,0,0]; + +_aiTeamTemplates = _aiTeamTemplates + [_u]; +_aiTeamTemplateRequires = _aiTeamTemplateRequires + [_f]; +_aiTeamTypes = _aiTeamTypes + [3]; +_aiTeamUpgrades = _aiTeamUpgrades + [_l]; + +_d = _d + ["Air - Mi-24 Squadron"]; +_u = ["Mi24_D_TK_EP1"]; +_u = _u + ["Mi24_D_TK_EP1"]; +_f = [false,false,false,true]; +_l = [0,0,0,1]; + +_aiTeamTemplates = _aiTeamTemplates + [_u]; +_aiTeamTemplateRequires = _aiTeamTemplateRequires + [_f]; +_aiTeamTypes = _aiTeamTypes + [3]; +_aiTeamUpgrades = _aiTeamUpgrades + [_l]; + +_d = _d + ["Air - L39 Squadron"]; +_u = ["L39_TK_EP1"]; +_u = _u + ["L39_TK_EP1"]; +_f = [false,false,false,true]; +_l = [0,0,0,2]; + +_aiTeamTemplates = _aiTeamTemplates + [_u]; +_aiTeamTemplateRequires = _aiTeamTemplateRequires + [_f]; +_aiTeamTypes = _aiTeamTypes + [3]; +_aiTeamUpgrades = _aiTeamUpgrades + [_l]; + +_d = _d + ["Air - Sukhoi 25 Squadron"]; +_u = ["Su25_TK_EP1"]; +_u = _u + ["Su25_TK_EP1"]; +_f = [false,false,false,true]; +_l = [0,0,0,3]; + +_aiTeamTemplates = _aiTeamTemplates + [_u]; +_aiTeamTemplateRequires = _aiTeamTemplateRequires + [_f]; +_aiTeamTypes = _aiTeamTypes + [3]; +_aiTeamUpgrades = _aiTeamUpgrades + [_l]; + +[_aiTeamTemplates,_aiTeamTemplateRequires,_aiTeamTypes,_aiTeamUpgrades,_d] \ No newline at end of file diff --git a/Common/Config/Core_Squads/Arrowhead/Squad_TKA.sqf b/Common/Config/Core_Squads/Arrowhead/Squad_TKA.sqf new file mode 100644 index 0000000..8360f83 --- /dev/null +++ b/Common/Config/Core_Squads/Arrowhead/Squad_TKA.sqf @@ -0,0 +1,45 @@ +Private ['_aiTeamTemplateRequires','_aiTeamTemplateName','_aiTeamTemplates','_aiTeamTypes','_aiTeamUpgrades','_return','_u']; + +//--- Overall Dump. +_return = ["East", "BIS_TK", ["TK_An2Flight"]] Call Compile preprocessFile "Common\Config\Core_Squads\Squads_GetFactionGroups.sqf"; +_aiTeamTemplates = _return select 0; +_aiTeamTemplateName = _return select 1; +_aiTeamTemplateRequires = _return select 2; +_aiTeamTypes = _return select 3; +_aiTeamUpgrades = _return select 4; + +//--- Custom Groups. +_u = ["BMP2_TK_EP1"]; +_u = _u + ["BMP2_TK_EP1"]; + +_aiTeamTemplateName = _aiTeamTemplateName + ["Armor - IFV Platoon (Light)"]; +_aiTeamTemplates = _aiTeamTemplates + [_u]; +_aiTeamTemplateRequires = _aiTeamTemplateRequires + [[false,false,true,false]]; +_aiTeamTypes = _aiTeamTypes + [2]; +_aiTeamUpgrades = _aiTeamUpgrades + [[0,0,0,0]]; + +_u = ["ZSU_TK_EP1"]; +_u = _u + ["ZSU_TK_EP1"]; + +_aiTeamTemplateName = _aiTeamTemplateName + ["Armor - Anti Air Platoon"]; +_aiTeamTemplates = _aiTeamTemplates + [_u]; +_aiTeamTemplateRequires = _aiTeamTemplateRequires + [[false,false,true,false]]; +_aiTeamTypes = _aiTeamTypes + [2]; +_aiTeamUpgrades = _aiTeamUpgrades + [[0,0,1,0]]; + +_u = ["Mi17_TK_EP1"]; +_u = _u + ["TK_Soldier_SL_EP1"]; +_u = _u + ["TK_Soldier_AA_EP1"]; +_u = _u + ["TK_Soldier_AA_EP1"]; +_u = _u + ["TK_Soldier_LAT_EP1"]; +_u = _u + ["TK_Soldier_LAT_EP1"]; +_u = _u + ["TK_Soldier_MG_EP1"]; +_u = _u + ["TK_Soldier_MG_EP1"]; + +_aiTeamTemplateName = _aiTeamTemplateName + ["Air - Infantry Mi-17 Squadron"]; +_aiTeamTemplates = _aiTeamTemplates + [_u]; +_aiTeamTemplateRequires = _aiTeamTemplateRequires + [[true,false,false,true]]; +_aiTeamTypes = _aiTeamTypes + [3]; +_aiTeamUpgrades = _aiTeamUpgrades + [[2,0,0,0]]; + +[_aiTeamTemplates,_aiTeamTemplateRequires,_aiTeamTypes,_aiTeamUpgrades,_aiTeamTemplateName] \ No newline at end of file diff --git a/Common/Config/Core_Squads/Arrowhead/Squad_US.sqf b/Common/Config/Core_Squads/Arrowhead/Squad_US.sqf new file mode 100644 index 0000000..8003458 --- /dev/null +++ b/Common/Config/Core_Squads/Arrowhead/Squad_US.sqf @@ -0,0 +1,45 @@ +Private ['_aiTeamTemplateRequires','_aiTeamTemplateName','_aiTeamTemplates','_aiTeamTypes','_aiTeamUpgrades','_return','_u']; + +//--- Overall Dump. +_return = ["West", "BIS_US", ["US_AH6XFlight","US_C130JFlight","US_MQ9Flight"]] Call Compile preprocessFile "Common\Config\Core_Squads\Squads_GetFactionGroups.sqf"; +_aiTeamTemplates = _return select 0; +_aiTeamTemplateName = _return select 1; +_aiTeamTemplateRequires = _return select 2; +_aiTeamTypes = _return select 3; +_aiTeamUpgrades = _return select 4; + +//--- Custom Groups. +_u = ["M2A2_EP1"]; +_u = _u + ["M2A2_EP1"]; + +_aiTeamTemplateName = _aiTeamTemplateName + ["Armor - APC Platoon (Bradley)"]; +_aiTeamTemplates = _aiTeamTemplates + [_u]; +_aiTeamTemplateRequires = _aiTeamTemplateRequires + [[false,false,true,false]]; +_aiTeamTypes = _aiTeamTypes + [2]; +_aiTeamUpgrades = _aiTeamUpgrades + [[0,0,1,0]]; + +_u = ["M6_EP1"]; +_u = _u + ["M6_EP1"]; + +_aiTeamTemplateName = _aiTeamTemplateName + ["Armor - Anti-Air Platoon"]; +_aiTeamTemplates = _aiTeamTemplates + [_u]; +_aiTeamTemplateRequires = _aiTeamTemplateRequires + [[false,false,true,false]]; +_aiTeamTypes = _aiTeamTypes + [2]; +_aiTeamUpgrades = _aiTeamUpgrades + [[0,0,3,0]]; + +_u = ["CH_47F_EP1"]; +_u = _u + ["US_Soldier_TL_EP1"]; +_u = _u + ["US_Soldier_AR_EP1"]; +_u = _u + ["US_Soldier_LAT_EP1"]; +_u = _u + ["US_Soldier_Medic_EP1"]; +_u = _u + ["US_Soldier_EP1"]; +_u = _u + ["US_Soldier_EP1"]; +_u = _u + ["US_Soldier_EP1"]; + +_aiTeamTemplateName = _aiTeamTemplateName + ["Air - Infantry CH-47F Squadron"]; +_aiTeamTemplates = _aiTeamTemplates + [_u]; +_aiTeamTemplateRequires = _aiTeamTemplateRequires + [[true,false,false,true]]; +_aiTeamTypes = _aiTeamTypes + [3]; +_aiTeamUpgrades = _aiTeamUpgrades + [[0,0,0,0]]; + +[_aiTeamTemplates,_aiTeamTemplateRequires,_aiTeamTypes,_aiTeamUpgrades,_aiTeamTemplateName] \ No newline at end of file diff --git a/Common/Config/Core_Squads/CombinedOps/Squad_US_Camo.sqf b/Common/Config/Core_Squads/CombinedOps/Squad_US_Camo.sqf new file mode 100644 index 0000000..350bf06 --- /dev/null +++ b/Common/Config/Core_Squads/CombinedOps/Squad_US_Camo.sqf @@ -0,0 +1,51 @@ +Private ['_aiTeamTemplateRequires','_aiTeamTemplateName','_aiTeamTemplates','_aiTeamTypes','_aiTeamUpgrades','_return','_u']; + +//--- Overall Dump. +_return = ["West", "USMC", ["USMC_MQ9Squadron","USMC_FRTeam_Razor"]] Call Compile preprocessFile "Common\Config\Core_Squads\Squads_GetFactionGroups.sqf"; +_aiTeamTemplates = _return select 0; +_aiTeamTemplateName = _return select 1; +_aiTeamTemplateRequires = _return select 2; +_aiTeamTypes = _return select 3; +_aiTeamUpgrades = _return select 4; + +//--- Custom Groups. +_u = ["M1A1"]; +_u = _u + ["M1A1"]; + +_aiTeamTemplateName = _aiTeamTemplateName + ["Armor - M1A1 Section"]; +_aiTeamTemplates = _aiTeamTemplates + [_u]; +_aiTeamTemplateRequires = _aiTeamTemplateRequires + [[false,false,true,false]]; +_aiTeamTypes = _aiTeamTypes + [2]; +_aiTeamUpgrades = _aiTeamUpgrades + [[0,0,1,0]]; + +_u = ["UH1Y"]; +_u = _u + ["USMC_Soldier_TL"]; +_u = _u + ["USMC_Soldier_AR"]; +_u = _u + ["USMC_Soldier_LAT"]; +_u = _u + ["USMC_Soldier_Medic"]; +_u = _u + ["USMC_Soldier"]; +_u = _u + ["USMC_Soldier"]; +_u = _u + ["USMC_Soldier"]; + +_aiTeamTemplateName = _aiTeamTemplateName + ["Air - Infantry UH1Y Squadron"]; +_aiTeamTemplates = _aiTeamTemplates + [_u]; +_aiTeamTemplateRequires = _aiTeamTemplateRequires + [[true,false,false,true]]; +_aiTeamTypes = _aiTeamTypes + [3]; +_aiTeamUpgrades = _aiTeamUpgrades + [[0,0,0,1]]; + +_u = ["MH60S"]; +_u = _u + ["USMC_Soldier_TL"]; +_u = _u + ["USMC_Soldier_MG"]; +_u = _u + ["USMC_Soldier_AT"]; +_u = _u + ["USMC_Soldier_Medic"]; +_u = _u + ["USMC_Soldier"]; +_u = _u + ["USMC_Soldier"]; +_u = _u + ["USMC_Soldier"]; + +_aiTeamTemplateName = _aiTeamTemplateName + ["Air - Infantry MH-60S Squadron"]; +_aiTeamTemplates = _aiTeamTemplates + [_u]; +_aiTeamTemplateRequires = _aiTeamTemplateRequires + [[true,false,false,true]]; +_aiTeamTypes = _aiTeamTypes + [3]; +_aiTeamUpgrades = _aiTeamUpgrades + [[2,0,0,0]]; + +[_aiTeamTemplates,_aiTeamTemplateRequires,_aiTeamTypes,_aiTeamUpgrades,_aiTeamTemplateName] \ No newline at end of file diff --git a/Common/Config/Core_Squads/Squads_GetFactionGroups.sqf b/Common/Config/Core_Squads/Squads_GetFactionGroups.sqf new file mode 100644 index 0000000..cf5df82 --- /dev/null +++ b/Common/Config/Core_Squads/Squads_GetFactionGroups.sqf @@ -0,0 +1,78 @@ +/* Use this file if you wish to set quickly a faction's groups */ +Private ['_aiTeamTemplates','_aiTeamTemplateName','_aiTeamTemplateRequires','_aiTeamTypes','_aiTeamUpgrades','_blacklist','_cfgFaction','_faction','_side']; + +_side = _this select 0; +_faction = _this select 1; +_blacklist = if (count _this > 2) then {_this select 2} else {[]}; + +_cfgFaction = configFile >> "CfgGroups" >> _side >> _faction; + +if !(isClass _cfgFaction) exitWith {diag_log Format ["[WFBE (ERROR)][frameno:%1 | ticktime:%2] Squads_SetFactionGroups: Entry (configFile >> '%3' >> '%4') is not a valid group config.",diag_frameno,diag_tickTime,_side,_faction]}; + +_aiTeamTemplates = []; +_aiTeamTemplateName = []; +_aiTeamTemplateRequires = []; +_aiTeamTypes = []; +_aiTeamUpgrades = []; + +//--- Iterate through the faction's config and grab the group along with it's properties. +for "_i" from 0 to ((count _cfgFaction) - 1) do { + Private ["_classKind"]; + _classKind = _cfgFaction select _i; + + // ACE CSW squads don't work quite right. + if (isClass _classKind && toUpper (configName(_classKind)) != "ACE_CSW_INFANTRY") then { + Private ["_nameKind"]; + _nameKind = getText (_classKind >> "name"); + for "_j" from 0 to ((count _classKind) - 1) do { + Private ["_classType"]; + _classType = _classKind select _j; + if (isClass _classType && !(configName(_classType) in _blacklist)) then { + Private ["_factoryPool","_groupUnits","_levels","_nameGroup","_require"]; + _nameGroup = getText (_classType >> "name"); + _aiTeamTemplateName = _aiTeamTemplateName + [Format ["%1 - %2",_nameKind,_nameGroup]]; + _groupUnits = []; + _require = [false, false, false, false]; + _levels = [0,0,0,0]; + + for "_k" from 0 to ((count _classType) - 1) do { + Private ["_classUnit"]; + _classUnit = _classType select _k; + + if (isClass _classUnit) then { + Private ["_unit"]; + _unit = getText (_classUnit >> "vehicle"); + _groupUnits = _groupUnits + [_unit]; + + _get = _unit Call GetNamespace; + if !(isNil "_get") then { + _type = _get select QUERYUNITFACTORY; + _upgrade = _get select QUERYUNITUPGRADE; + + _require set [_type, true]; + _levels set [_type, _upgrade]; + } else { + diag_log Format ["[WFBE (ERROR)][frameno:%2 | ticktime:%3] Squads_SetFactionGroups: Unit '%1' is not a defined within the core files.",_unit,diag_frameno,diag_tickTime]; + /* TODO, Attempt to define*/ + }; + }; + }; + + _factoryPool = switch (configName _classKind) do { + case "Infantry": {0}; + case "Motorized": {1}; + case "Mechanized": {2}; + case "Armor": {2}; + case "Air": {3}; + default {0}; + }; + _aiTeamTypes = _aiTeamTypes + [_factoryPool]; + _aiTeamUpgrades = _aiTeamUpgrades + [_levels]; + _aiTeamTemplateRequires = _aiTeamTemplateRequires + [_require]; + _aiTeamTemplates = _aiTeamTemplates + [_groupUnits]; + }; + }; + }; +}; + +[_aiTeamTemplates, _aiTeamTemplateName, _aiTeamTemplateRequires, _aiTeamTypes, _aiTeamUpgrades] \ No newline at end of file diff --git a/Common/Config/Core_Squads/Vanilla/Squad_CDF.sqf b/Common/Config/Core_Squads/Vanilla/Squad_CDF.sqf new file mode 100644 index 0000000..2ab99ed --- /dev/null +++ b/Common/Config/Core_Squads/Vanilla/Squad_CDF.sqf @@ -0,0 +1,45 @@ +Private ['_aiTeamTemplateRequires','_aiTeamTemplateName','_aiTeamTemplates','_aiTeamTypes','_aiTeamUpgrades','_return','_u']; + +//--- Overall Dump. +_return = ["West", "CDF"] Call Compile preprocessFile "Common\Config\Core_Squads\Squads_GetFactionGroups.sqf"; +_aiTeamTemplates = _return select 0; +_aiTeamTemplateName = _return select 1; +_aiTeamTemplateRequires = _return select 2; +_aiTeamTypes = _return select 3; +_aiTeamUpgrades = _return select 4; + +//--- Custom Groups. +_u = ["BMP2_CDF"]; +_u = _u + ["BMP2_CDF"]; + +_aiTeamTemplateName = _aiTeamTemplateName + ["Armor - APC Platoon"]; +_aiTeamTemplates = _aiTeamTemplates + [_u]; +_aiTeamTypes = _aiTeamTypes + [2]; +_aiTeamTemplateRequires = _aiTeamTemplateRequires + [[false,false,true,false]]; +_aiTeamUpgrades = _aiTeamUpgrades + [[0,0,2,0]]; + +_u = ["ZSU_CDF"]; +_u = _u + ["ZSU_CDF"]; + +_aiTeamTemplateName = _aiTeamTemplateName + ["Armor - AA Platoon"]; +_aiTeamTemplates = _aiTeamTemplates + [_u]; +_aiTeamTypes = _aiTeamTypes + [2]; +_aiTeamTemplateRequires = _aiTeamTemplateRequires + [[false,false,true,false]]; +_aiTeamUpgrades = _aiTeamUpgrades + [[0,0,1,0]]; + +_u = ["Mi17_CDF"]; +_u = _u + ["CDF_Soldier_Medic"]; +_u = _u + ["CDF_Soldier_MG"]; +_u = _u + ["CDF_Soldier_AR"]; +_u = _u + ["CDF_Soldier_RPG"]; +_u = _u + ["CDF_Soldier_RPG"]; +_u = _u + ["CDF_Soldier_Spotter"]; +_u = _u + ["CDF_Soldier"]; + +_aiTeamTemplateName = _aiTeamTemplateName + ["Air - Mi-8 Infantry Squadron"]; +_aiTeamTemplates = _aiTeamTemplates + [_u]; +_aiTeamTypes = _aiTeamTypes + [3]; +_aiTeamTemplateRequires = _aiTeamTemplateRequires + [[false,false,false,true]]; +_aiTeamUpgrades = _aiTeamUpgrades + [[1,0,0,0]]; + +[_aiTeamTemplates,_aiTeamTemplateRequires,_aiTeamTypes,_aiTeamUpgrades,_aiTeamTemplateName] \ No newline at end of file diff --git a/Common/Config/Core_Squads/Vanilla/Squad_INS.sqf b/Common/Config/Core_Squads/Vanilla/Squad_INS.sqf new file mode 100644 index 0000000..f379743 --- /dev/null +++ b/Common/Config/Core_Squads/Vanilla/Squad_INS.sqf @@ -0,0 +1,45 @@ +Private ['_aiTeamTemplateRequires','_aiTeamTemplateName','_aiTeamTemplates','_aiTeamTypes','_aiTeamUpgrades','_return','_u']; + +//--- Overall Dump. +_return = ["East", "INS"] Call Compile preprocessFile "Common\Config\Core_Squads\Squads_GetFactionGroups.sqf"; +_aiTeamTemplates = _return select 0; +_aiTeamTemplateName = _return select 1; +_aiTeamTemplateRequires = _return select 2; +_aiTeamTypes = _return select 3; +_aiTeamUpgrades = _return select 4; + +//--- Custom Groups. +_u = ["BMP2_INS"]; +_u = _u + ["BMP2_INS"]; + +_aiTeamTemplateName = _aiTeamTemplateName + ["Armor - APC Platoon"]; +_aiTeamTemplates = _aiTeamTemplates + [_u]; +_aiTeamTypes = _aiTeamTypes + [2]; +_aiTeamTemplateRequires = _aiTeamTemplateRequires + [[false,false,true,false]]; +_aiTeamUpgrades = _aiTeamUpgrades + [[0,0,2,0]]; + +_u = ["ZSU_INS"]; +_u = _u + ["ZSU_INS"]; + +_aiTeamTemplateName = _aiTeamTemplateName + ["Armor - AA Platoon"]; +_aiTeamTemplates = _aiTeamTemplates + [_u]; +_aiTeamTypes = _aiTeamTypes + [2]; +_aiTeamTemplateRequires = _aiTeamTemplateRequires + [[false,false,true,false]]; +_aiTeamUpgrades = _aiTeamUpgrades + [[0,0,1,0]]; + +_u = ["Mi17_Ins"]; +_u = _u + ["Ins_Soldier_Medic"]; +_u = _u + ["Ins_Soldier_MG"]; +_u = _u + ["Ins_Soldier_AR"]; +_u = _u + ["Ins_Soldier_AT"]; +_u = _u + ["Ins_Soldier_AT"]; +_u = _u + ["Ins_Soldier_Sniper"]; +_u = _u + ["Ins_Soldier_1"]; + +_aiTeamTemplateName = _aiTeamTemplateName + ["Air - Mi-8 Infantry Squadron"]; +_aiTeamTemplates = _aiTeamTemplates + [_u]; +_aiTeamTypes = _aiTeamTypes + [3]; +_aiTeamTemplateRequires = _aiTeamTemplateRequires + [[false,false,false,true]]; +_aiTeamUpgrades = _aiTeamUpgrades + [[1,0,0,0]]; + +[_aiTeamTemplates,_aiTeamTemplateRequires,_aiTeamTypes,_aiTeamUpgrades,_aiTeamTemplateName] \ No newline at end of file diff --git a/Common/Config/Core_Squads/Vanilla/Squad_RU.sqf b/Common/Config/Core_Squads/Vanilla/Squad_RU.sqf new file mode 100644 index 0000000..39f77bc --- /dev/null +++ b/Common/Config/Core_Squads/Vanilla/Squad_RU.sqf @@ -0,0 +1,70 @@ +Private ['_aiTeamTemplateRequires','_aiTeamTemplateName','_aiTeamTemplates','_aiTeamTypes','_aiTeamUpgrades','_return','_u']; + +//--- Overall Dump. +_return = ["East", "RU", ["RU_Pchela1TSquadron","RU_Ka52Squadron"]] Call Compile preprocessFile "Common\Config\Core_Squads\Squads_GetFactionGroups.sqf"; +_aiTeamTemplates = _return select 0; +_aiTeamTemplateName = _return select 1; +_aiTeamTemplateRequires = _return select 2; +_aiTeamTypes = _return select 3; +_aiTeamUpgrades = _return select 4; + +//--- Custom Groups. +_u = ["2S6M_Tunguska"]; +_u = _u + ["2S6M_Tunguska"]; + +_aiTeamTemplateName = _aiTeamTemplateName + ["Armor - Anti Air Platoon"]; +_aiTeamTemplates = _aiTeamTemplates + [_u]; +_aiTeamTemplateRequires = _aiTeamTemplateRequires + [[false,false,true,false]]; +_aiTeamTypes = _aiTeamTypes + [2]; +_aiTeamUpgrades = _aiTeamUpgrades + [[0,0,3,0]]; + +_u = ["T72_RU"]; +_u = _u + ["T72_RU"]; + +_aiTeamTemplateName = _aiTeamTemplateName + ["Armor - Tank Platoon (Light)"]; +_aiTeamTemplates = _aiTeamTemplates + [_u]; +_aiTeamTemplateRequires = _aiTeamTemplateRequires + [[false,false,true,false]]; +_aiTeamTypes = _aiTeamTypes + [2]; +_aiTeamUpgrades = _aiTeamUpgrades + [[0,0,1,0]]; + +_u = ["Mi17_Ins"]; +_u = _u + ["MVD_Soldier_TL"]; +_u = _u + ["MVD_Soldier_GL"]; +_u = _u + ["MVD_Soldier_MG"]; +_u = _u + ["MVD_Soldier_MG"]; +_u = _u + ["MVD_Soldier_Marksman"]; +_u = _u + ["MVD_Soldier_AT"]; +_u = _u + ["MVD_Soldier_AT"]; + +_aiTeamTemplateName = _aiTeamTemplateName + ["Air - Infantry Mi-8 Squadron"]; +_aiTeamTemplates = _aiTeamTemplates + [_u]; +_aiTeamTemplateRequires = _aiTeamTemplateRequires + [[true,false,false,true]]; +_aiTeamTypes = _aiTeamTypes + [3]; +_aiTeamUpgrades = _aiTeamUpgrades + [[2,0,0,0]]; + +_u = ["Mi17_rockets_RU"]; +_u = _u + ["RU_Soldier_TL"]; +_u = _u + ["RU_Soldier_AA"]; +_u = _u + ["RU_Soldier_LAT"]; +_u = _u + ["RU_Soldier_LAT"]; +_u = _u + ["RU_Soldier_MG"]; +_u = _u + ["RU_Soldier_MG"]; + +_aiTeamTemplateName = _aiTeamTemplateName + ["Air - Infantry Mi-8 Squadron (Rockets)"]; +_aiTeamTemplates = _aiTeamTemplates + [_u]; +_aiTeamTemplateRequires = _aiTeamTemplateRequires + [[true,false,false,true]]; +_aiTeamTypes = _aiTeamTypes + [3]; +_aiTeamUpgrades = _aiTeamUpgrades + [[2,0,0,1]]; + +if !(paramRestrictionKamov) then { + _u = ["Ka52Black"]; + _u = _u + ["Ka52"]; + + _aiTeamTemplateName = _aiTeamTemplateName + ["Air - Ka-52 Squadron"]; + _aiTeamTemplates = _aiTeamTemplates + [_u]; + _aiTeamTemplateRequires = _aiTeamTemplateRequires + [[false,false,false,true]]; + _aiTeamTypes = _aiTeamTypes + [3]; + _aiTeamUpgrades = _aiTeamUpgrades + [[0,0,0,3]]; +}; + +[_aiTeamTemplates,_aiTeamTemplateRequires,_aiTeamTypes,_aiTeamUpgrades,_aiTeamTemplateName] \ No newline at end of file diff --git a/Common/Config/Core_Squads/Vanilla/Squad_USMC.sqf b/Common/Config/Core_Squads/Vanilla/Squad_USMC.sqf new file mode 100644 index 0000000..350bf06 --- /dev/null +++ b/Common/Config/Core_Squads/Vanilla/Squad_USMC.sqf @@ -0,0 +1,51 @@ +Private ['_aiTeamTemplateRequires','_aiTeamTemplateName','_aiTeamTemplates','_aiTeamTypes','_aiTeamUpgrades','_return','_u']; + +//--- Overall Dump. +_return = ["West", "USMC", ["USMC_MQ9Squadron","USMC_FRTeam_Razor"]] Call Compile preprocessFile "Common\Config\Core_Squads\Squads_GetFactionGroups.sqf"; +_aiTeamTemplates = _return select 0; +_aiTeamTemplateName = _return select 1; +_aiTeamTemplateRequires = _return select 2; +_aiTeamTypes = _return select 3; +_aiTeamUpgrades = _return select 4; + +//--- Custom Groups. +_u = ["M1A1"]; +_u = _u + ["M1A1"]; + +_aiTeamTemplateName = _aiTeamTemplateName + ["Armor - M1A1 Section"]; +_aiTeamTemplates = _aiTeamTemplates + [_u]; +_aiTeamTemplateRequires = _aiTeamTemplateRequires + [[false,false,true,false]]; +_aiTeamTypes = _aiTeamTypes + [2]; +_aiTeamUpgrades = _aiTeamUpgrades + [[0,0,1,0]]; + +_u = ["UH1Y"]; +_u = _u + ["USMC_Soldier_TL"]; +_u = _u + ["USMC_Soldier_AR"]; +_u = _u + ["USMC_Soldier_LAT"]; +_u = _u + ["USMC_Soldier_Medic"]; +_u = _u + ["USMC_Soldier"]; +_u = _u + ["USMC_Soldier"]; +_u = _u + ["USMC_Soldier"]; + +_aiTeamTemplateName = _aiTeamTemplateName + ["Air - Infantry UH1Y Squadron"]; +_aiTeamTemplates = _aiTeamTemplates + [_u]; +_aiTeamTemplateRequires = _aiTeamTemplateRequires + [[true,false,false,true]]; +_aiTeamTypes = _aiTeamTypes + [3]; +_aiTeamUpgrades = _aiTeamUpgrades + [[0,0,0,1]]; + +_u = ["MH60S"]; +_u = _u + ["USMC_Soldier_TL"]; +_u = _u + ["USMC_Soldier_MG"]; +_u = _u + ["USMC_Soldier_AT"]; +_u = _u + ["USMC_Soldier_Medic"]; +_u = _u + ["USMC_Soldier"]; +_u = _u + ["USMC_Soldier"]; +_u = _u + ["USMC_Soldier"]; + +_aiTeamTemplateName = _aiTeamTemplateName + ["Air - Infantry MH-60S Squadron"]; +_aiTeamTemplates = _aiTeamTemplates + [_u]; +_aiTeamTemplateRequires = _aiTeamTemplateRequires + [[true,false,false,true]]; +_aiTeamTypes = _aiTeamTypes + [3]; +_aiTeamUpgrades = _aiTeamUpgrades + [[2,0,0,0]]; + +[_aiTeamTemplates,_aiTeamTemplateRequires,_aiTeamTypes,_aiTeamUpgrades,_aiTeamTemplateName] \ No newline at end of file diff --git a/Common/Config/Core_Structures/Arrowhead/Structures_TKA.sqf b/Common/Config/Core_Structures/Arrowhead/Structures_TKA.sqf new file mode 100644 index 0000000..a2dd569 --- /dev/null +++ b/Common/Config/Core_Structures/Arrowhead/Structures_TKA.sqf @@ -0,0 +1,162 @@ +Private ['_c','_count','_d','_dir','_dis','_n','_s','_t','_v']; + +/* Root Definition */ +EASTHQ = "BMP2_HQ_TK_unfolded_EP1"; +EASTBAR = "TK_WarfareBBarracks_EP1"; +EASTLVF = "TK_WarfareBLightFactory_EP1"; +EASTCC = "TK_WarfareBUAVterminal_EP1"; +EASTHEAVY = "TK_WarfareBHeavyFactory_EP1"; +EASTAIR = "TK_WarfareBAircraftFactory_EP1"; +EASTSP = "TK_WarfareBVehicleServicePoint_EP1"; +EASTAAR = "TK_WarfareBAntiAirRadar_EP1"; + +/* Flag Textures */ +['WFBE_EASTFLAG','\Ca\ca_e\Data\flag_tka_co.paa',true] Call SetNamespace; + +/* Mash used after being deployed */ +['WFBE_EASTFARP','CampEast_EP1',true] Call SetNamespace; + +/* Construction Crates */ +['WFBE_EASTCONSTRUCTIONSITE','TK_WarfareBContructionSite_EP1',true] Call SetNamespace; + +/* Structures */ +_v = ["Headquarters"]; +_n = [EASTHQ]; +_d = [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = [('WFBE_HQDEPLOYPRICE' Call GetNamespace)]; +_t = [if (WF_Debug) then {1} else {30}]; +_s = ["HQSite"]; +_dis = [15]; +_dir = [0]; + +_v = _v + ["Barracks"]; +_n = _n + [EASTBAR]; +_d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = _c + [200]; +_t = _t + [if (WF_Debug) then {1} else {70}]; +_s = _s + ["SmallSite"]; +_dis = _dis + [18]; +_dir = _dir + [90]; + +_v = _v + ["Light"]; +_n = _n + [EASTLVF]; +_d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = _c + [600]; +_t = _t + [if (WF_Debug) then {1} else {90}]; +_s = _s + ["MediumSite"]; +_dis = _dis + [25]; +_dir = _dir + [90]; + +_v = _v + ["CommandCenter"]; +_n = _n + [EASTCC]; +_d = _d + [localize "STR_WF_CommandCenter_RU"]; +_c = _c + [1200]; +_t = _t + [if (WF_Debug) then {1} else {110}]; +_s = _s + ["SmallSite"]; +_dis = _dis + [20]; +_dir = _dir + [90]; + +_v = _v + ["Heavy"]; +_n = _n + [EASTHEAVY]; +_d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = _c + [2800]; +_t = _t + [if (WF_Debug) then {1} else {130}]; +_s = _s + ["MediumSite"]; +_dis = _dis + [25]; +_dir = _dir + [90]; + +_v = _v + ["Aircraft"]; +_n = _n + [EASTAIR]; +_d = _d + [localize "STR_WF_AircraftFactory"]; +_c = _c + [4400]; +_t = _t + [if (WF_Debug) then {1} else {150}]; +_s = _s + ["SmallSite"]; +_dis = _dis + [21]; +_dir = _dir + [90]; + +_v = _v + ["ServicePoint"]; +_n = _n + [EASTSP]; +_d = _d + [localize "STR_WF_MAIN_ServicePoint"]; +_c = _c + [700]; +_t = _t + [if (WF_Debug) then {1} else {70}]; +_s = _s + ["SmallSite"]; +_dis = _dis + [21]; +_dir = _dir + [90]; + +if (paramAARadar) then { + _v = _v + ["AARadar"]; + _n = _n + [EASTAAR]; + _d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; + _c = _c + [3200]; + _t = _t + [if (WF_Debug) then {1} else {280}]; + _s = _s + ["MediumSite"]; + _dis = _dis + [21]; + _dir = _dir + [90]; +}; + +for [{_count = count _v - 1},{_count >= 0},{_count = _count - 1}] do { + [Format["WFBE_EAST%1TYPE",_v select _count],_count,true] Call SetNamespace; +}; + +['WFBE_EASTMHQNAME','BMP2_HQ_TK_EP1',true] Call SetNamespace; + +['WFBE_EASTSTRUCTURES',_v,true] Call SetNamespace; +['WFBE_EASTSTRUCTURENAMES',_n,true] Call SetNamespace; +['WFBE_EASTSTRUCTUREDESCRIPTIONS',_d,true] Call SetNamespace; +['WFBE_EASTSTRUCTURECOSTS',_c,true] Call SetNamespace; +['WFBE_EASTSTRUCTURETIMES',_t,true] Call SetNamespace; +['WFBE_EASTSTRUCTUREDISTANCES',_dis,true] Call SetNamespace; +['WFBE_EASTSTRUCTUREDIRECTIONS',_dir,true] Call SetNamespace; +['WFBE_EASTSTRUCTURESCRIPTS',_s,true] Call SetNamespace; + +/* Defenses */ +_n = ["WarfareBMGNest_PK_TK_EP1"]; +_n = _n + ["SearchLight_TK_EP1"]; +_n = _n + ["KORD_TK_EP1"]; +_n = _n + ["KORD_high_TK_EP1"]; +_n = _n + ["AGS_TK_EP1"]; +_n = _n + ["SPG9_TK_INS_EP1"]; +_n = _n + ["Metis_TK_EP1"]; +_n = _n + ["Igla_AA_pod_TK_EP1"]; +_n = _n + ["ZU23_TK_EP1"]; +_n = _n + ["2b14_82mm_TK_EP1"]; +_n = _n + ["D30_TK_EP1"]; +_n = _n + ["Land_HBarrier3"]; +_n = _n + ["Land_HBarrier5"]; +_n = _n + ["Land_HBarrier_large"]; +_n = _n + ["TK_WarfareBBarrier5x_EP1"]; +_n = _n + ["TK_WarfareBBarrier10x_EP1"]; +_n = _n + ["TK_WarfareBBarrier10xTall_EP1"]; +_n = _n + ["MASH_EP1"]; +_n = _n + ["Land_fort_bagfence_long"]; +_n = _n + ["Land_fort_bagfence_corner"]; +_n = _n + ["Land_fort_bagfence_round"]; +_n = _n + ["Land_fortified_nest_small_EP1"]; +_n = _n + ["Land_fort_rampart_EP1"]; +_n = _n + ["Land_fort_artillery_nest_EP1"]; +_n = _n + ["Hhedgehog_concreteBig"]; +_n = _n + ["Hedgehog_EP1"]; +_n = _n + ["Land_CamoNet_EAST_EP1"]; +_n = _n + ["Land_CamoNetVar_EAST_EP1"]; +_n = _n + ["Land_CamoNetB_EAST_EP1"]; +_n = _n + ["Sign_Danger"]; +_n = _n + ["HeliH"]; +_n = _n + ["Fort_RazorWire"]; +_n = _n + ["Concrete_Wall_EP1"]; +_n = _n + ["Land_Campfire"]; +_n = _n + ["TKOrdnanceBox_EP1"]; +_n = _n + ["TKVehicleBox_EP1"]; +_n = _n + ["TKBasicAmmunitionBox_EP1"]; +_n = _n + ["TKBasicWeapons_EP1"]; +_n = _n + ["TKLaunchers_EP1"]; +_n = _n + ["TKSpecialWeapons_EP1"]; + +/* Class used for AI, AI will attempt to build those */ +['WFBE_EASTDEFENSES_MG',['KORD_high_TK_EP1'],true] Call SetNamespace; +['WFBE_EASTDEFENSES_GL',['AGS_TK_EP1'],true] Call SetNamespace; +['WFBE_EASTDEFENSES_AAPOD',['Igla_AA_pod_TK_EP1','ZU23_TK_EP1'],true] Call SetNamespace; +['WFBE_EASTDEFENSES_ATPOD',['Metis_TK_EP1','SPG9_TK_INS_EP1'],true] Call SetNamespace; +['WFBE_EASTDEFENSES_CANNON',['D30_TK_EP1'],true] Call SetNamespace; +['WFBE_EASTDEFENSES_MASH',['MASH_EP1'],true] Call SetNamespace; + +['WFBE_EASTDEFENSENAMES',_n,true] Call SetNamespace; \ No newline at end of file diff --git a/Common/Config/Core_Structures/Arrowhead/Structures_US.sqf b/Common/Config/Core_Structures/Arrowhead/Structures_US.sqf new file mode 100644 index 0000000..cb59721 --- /dev/null +++ b/Common/Config/Core_Structures/Arrowhead/Structures_US.sqf @@ -0,0 +1,166 @@ +Private ['_c','_count','_d','_dir','_dis','_n','_s','_t','_v']; + +/* Root Definition */ +WESTHQ = "M1130_HQ_unfolded_EP1"; +WESTBAR = "US_WarfareBBarracks_EP1"; +WESTLVF = "US_WarfareBLightFactory_EP1"; +WESTCC = "US_WarfareBUAVterminal_EP1"; +WESTHEAVY = "US_WarfareBHeavyFactory_EP1"; +WESTAIR = "US_WarfareBAircraftFactory_EP1"; +WESTSP = "US_WarfareBVehicleServicePoint_EP1"; +WESTAAR = "US_WarfareBAntiAirRadar_EP1"; + +/* Flag Textures */ +['WFBE_WESTFLAG','\Ca\ca_e\Data\flag_us_co.paa',true] Call SetNamespace; + +/* Mash used after being deployed */ +['WFBE_WESTFARP','Camp_EP1',true] Call SetNamespace; + +/* Construction Crates */ +['WFBE_WESTCONSTRUCTIONSITE','US_WarfareBContructionSite_EP1',true] Call SetNamespace; + +/* Structures */ +_v = ["Headquarters"]; +_n = [WESTHQ]; +_d = [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = [('WFBE_HQDEPLOYPRICE' Call GetNamespace)]; +_t = [if (WF_Debug) then {1} else {30}]; +_s = ["HQSite"]; +_dis = [15]; +_dir = [0]; + +_v = _v + ["Barracks"]; +_n = _n + [WESTBAR]; +_d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = _c + [200]; +_t = _t + [if (WF_Debug) then {1} else {70}]; +_s = _s + ["SmallSite"]; +_dis = _dis + [18]; +_dir = _dir + [90]; + +_v = _v + ["Light"]; +_n = _n + [WESTLVF]; +_d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = _c + [600]; +_t = _t + [if (WF_Debug) then {1} else {90}]; +_s = _s + ["MediumSite"]; +_dis = _dis + [25]; +_dir = _dir + [90]; + +_v = _v + ["CommandCenter"]; +_n = _n + [WESTCC]; +_d = _d + [localize "STR_WF_CommandCenter_USMC"]; +_c = _c + [1200]; +_t = _t + [if (WF_Debug) then {1} else {110}]; +_s = _s + ["SmallSite"]; +_dis = _dis + [20]; +_dir = _dir + [90]; + +_v = _v + ["Heavy"]; +_n = _n + [WESTHEAVY]; +_d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = _c + [2800]; +_t = _t + [if (WF_Debug) then {1} else {130}]; +_s = _s + ["MediumSite"]; +_dis = _dis + [25]; +_dir = _dir + [90]; + +_v = _v + ["Aircraft"]; +_n = _n + [WESTAIR]; +_d = _d + [localize "STR_WF_AircraftFactory"]; +_c = _c + [4400]; +_t = _t + [if (WF_Debug) then {1} else {150}]; +_s = _s + ["SmallSite"]; +_dis = _dis + [31]; +_dir = _dir + [90]; + +_v = _v + ["ServicePoint"]; +_n = _n + [WESTSP]; +_d = _d + [localize "STR_WF_MAIN_ServicePoint"]; +_c = _c + [700]; +_t = _t + [if (WF_Debug) then {1} else {70}]; +_s = _s + ["SmallSite"]; +_dis = _dis + [21]; +_dir = _dir + [90]; + +if (paramAARadar) then { + _v = _v + ["AARadar"]; + _n = _n + [WESTAAR]; + _d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; + _c = _c + [3200]; + _t = _t + [if (WF_Debug) then {1} else {280}]; + _s = _s + ["MediumSite"]; + _dis = _dis + [21]; + _dir = _dir + [90]; +}; + +for [{_count = count _v - 1},{_count >= 0},{_count = _count - 1}] do { + [Format["WFBE_WEST%1TYPE",_v select _count],_count,true] Call SetNamespace; +}; + +['WFBE_WESTMHQNAME','M1130_CV_EP1',true] Call SetNamespace; + +['WFBE_WESTSTRUCTURES',_v,true] Call SetNamespace; +['WFBE_WESTSTRUCTURENAMES',_n,true] Call SetNamespace; +['WFBE_WESTSTRUCTUREDESCRIPTIONS',_d,true] Call SetNamespace; +['WFBE_WESTSTRUCTURECOSTS',_c,true] Call SetNamespace; +['WFBE_WESTSTRUCTURETIMES',_t,true] Call SetNamespace; +['WFBE_WESTSTRUCTUREDISTANCES',_dis,true] Call SetNamespace; +['WFBE_WESTSTRUCTUREDIRECTIONS',_dir,true] Call SetNamespace; +['WFBE_WESTSTRUCTURESCRIPTS',_s,true] Call SetNamespace; + +/* Defenses */ +_n = ["WarfareBMGNest_M240_US_EP1"]; +_n = _n + ["M2HD_mini_TriPod_US_EP1"]; +_n = _n + ["SearchLight_US_EP1"]; +_n = _n + ["M2StaticMG_US_EP1"]; +if (paramDLCBAF) then { + _n = _n + ["BAF_GPMG_Minitripod_W"]; + _n = _n + ["BAF_GMG_Tripod_W"]; + _n = _n + ["BAF_L2A1_Minitripod_W"]; + _n = _n + ["BAF_L2A1_Tripod_W"]; +}; +_n = _n + ["MK19_TriPod_US_EP1"]; +_n = _n + ["TOW_TriPod_US_EP1"]; +_n = _n + ["Stinger_Pod_US_EP1"]; +_n = _n + ["M252_US_EP1"]; +_n = _n + ["M119_US_EP1"]; +_n = _n + ["Land_HBarrier3"]; +_n = _n + ["Land_HBarrier5"]; +_n = _n + ["Land_HBarrier_large"]; +_n = _n + ["US_WarfareBBarrier5x_EP1"]; +_n = _n + ["US_WarfareBBarrier10x_EP1"]; +_n = _n + ["US_WarfareBBarrier10xTall_EP1"]; +_n = _n + ["MASH_EP1"]; +_n = _n + ["Land_fort_bagfence_long"]; +_n = _n + ["Land_fort_bagfence_corner"]; +_n = _n + ["Land_fort_bagfence_round"]; +_n = _n + ["Land_fortified_nest_small_EP1"]; +_n = _n + ["Land_fort_rampart_EP1"]; +_n = _n + ["Land_fort_artillery_nest_EP1"]; +_n = _n + ["Hhedgehog_concreteBig"]; +_n = _n + ["Hedgehog_EP1"]; +_n = _n + ["Land_CamoNet_NATO_EP1"]; +_n = _n + ["Land_CamoNetVar_NATO_EP1"]; +_n = _n + ["Land_CamoNetB_NATO_EP1"]; +_n = _n + ["Sign_Danger"]; +_n = _n + ["HeliH"]; +_n = _n + ["Fort_RazorWire"]; +_n = _n + ["Concrete_Wall_EP1"]; +_n = _n + ["Land_Campfire"]; +_n = _n + ["USOrdnanceBox_EP1"]; +_n = _n + ["USVehicleBox_EP1"]; +_n = _n + ["USBasicAmmunitionBox_EP1"]; +_n = _n + ["USBasicWeapons_EP1"]; +_n = _n + ["USLaunchers_EP1"]; +_n = _n + ["USSpecialWeapons_EP1"]; + +/* Class used for AI, AI will attempt to build those */ +['WFBE_WESTDEFENSES_MG',['M2StaticMG_US_EP1'],true] Call SetNamespace; +['WFBE_WESTDEFENSES_GL',['MK19_TriPod_US_EP1'],true] Call SetNamespace; +['WFBE_WESTDEFENSES_AAPOD',['Stinger_Pod_US_EP1'],true] Call SetNamespace; +['WFBE_WESTDEFENSES_ATPOD',['TOW_TriPod_US_EP1'],true] Call SetNamespace; +['WFBE_WESTDEFENSES_CANNON',['M119_US_EP1'],true] Call SetNamespace; +['WFBE_WESTDEFENSES_MASH',['MASH_EP1'],true] Call SetNamespace; + +['WFBE_WESTDEFENSENAMES',_n,true] Call SetNamespace; \ No newline at end of file diff --git a/Common/Config/Core_Structures/CombinedOps/Structures_CDF.sqf b/Common/Config/Core_Structures/CombinedOps/Structures_CDF.sqf new file mode 100644 index 0000000..265eb8c --- /dev/null +++ b/Common/Config/Core_Structures/CombinedOps/Structures_CDF.sqf @@ -0,0 +1,161 @@ +Private ['_c','_count','_d','_dir','_dis','_n','_s','_t','_v']; + +/* Root Definition */ +WESTHQ = "BMP2_HQ_CDF_unfolded"; +WESTBAR = "CDF_WarfareBBarracks"; +WESTLVF = "CDF_WarfareBLightFactory"; +WESTCC = "CDF_WarfareBUAVterminal"; +WESTHEAVY = "CDF_WarfareBHeavyFactory"; +WESTAIR = "CDF_WarfareBAircraftFactory"; +WESTSP = "CDF_WarfareBVehicleServicePoint"; +WESTAAR = "CDF_WarfareBAntiAirRadar"; + +/* Flag Textures */ +['WFBE_WESTFLAG','\ca\ca_e\data\flag_cdf_co.paa',true] Call SetNamespace; + +/* Mash used after being deployed */ +['WFBE_WESTFARP','Camp',true] Call SetNamespace; + +/* Construction Crates */ +['WFBE_WESTCONSTRUCTIONSITE','CDF_WarfareBContructionSite',true] Call SetNamespace; + +/* Structures */ +_v = ["Headquarters"]; +_n = [WESTHQ]; +_d = [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = [('WFBE_HQDEPLOYPRICE' Call GetNamespace)]; +_t = [if (WF_Debug) then {1} else {30}]; +_s = ["HQSite"]; +_dis = [15]; +_dir = [0]; + +_v = _v + ["Barracks"]; +_n = _n + [WESTBAR]; +_d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = _c + [200]; +_t = _t + [if (WF_Debug) then {1} else {70}]; +_s = _s + ["SmallSite"]; +_dis = _dis + [18]; +_dir = _dir + [90]; + +_v = _v + ["Light"]; +_n = _n + [WESTLVF]; +_d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = _c + [600]; +_t = _t + [if (WF_Debug) then {1} else {90}]; +_s = _s + ["MediumSite"]; +_dis = _dis + [25]; +_dir = _dir + [90]; + +_v = _v + ["CommandCenter"]; +_n = _n + [WESTCC]; +_d = _d + [localize "STR_WF_CommandCenter_USMC"]; +_c = _c + [1200]; +_t = _t + [if (WF_Debug) then {1} else {110}]; +_s = _s + ["SmallSite"]; +_dis = _dis + [20]; +_dir = _dir + [90]; + +_v = _v + ["Heavy"]; +_n = _n + [WESTHEAVY]; +_d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = _c + [2800]; +_t = _t + [if (WF_Debug) then {1} else {130}]; +_s = _s + ["MediumSite"]; +_dis = _dis + [25]; +_dir = _dir + [90]; + +_v = _v + ["Aircraft"]; +_n = _n + [WESTAIR]; +_d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = _c + [4400]; +_t = _t + [if (WF_Debug) then {1} else {150}]; +_s = _s + ["SmallSite"]; +_dis = _dis + [31]; +_dir = _dir + [90]; + +_v = _v + ["ServicePoint"]; +_n = _n + [WESTSP]; +_d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = _c + [700]; +_t = _t + [if (WF_Debug) then {1} else {70}]; +_s = _s + ["SmallSite"]; +_dis = _dis + [21]; +_dir = _dir + [90]; + +if (paramAARadar) then { + _v = _v + ["AARadar"]; + _n = _n + [WESTAAR]; + _d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; + _c = _c + [3200]; + _t = _t + [if (WF_Debug) then {1} else {280}]; + _s = _s + ["MediumSite"]; + _dis = _dis + [21]; + _dir = _dir + [90]; +}; + +for [{_count = count _v - 1},{_count >= 0},{_count = _count - 1}] do { + [Format["WFBE_WEST%1TYPE",_v select _count],_count,true] Call SetNamespace; +}; + +['WFBE_WESTMHQNAME','BMP2_HQ_CDF',true] Call SetNamespace; + +['WFBE_WESTSTRUCTURES',_v,true] Call SetNamespace; +['WFBE_WESTSTRUCTURENAMES',_n,true] Call SetNamespace; +['WFBE_WESTSTRUCTUREDESCRIPTIONS',_d,true] Call SetNamespace; +['WFBE_WESTSTRUCTURECOSTS',_c,true] Call SetNamespace; +['WFBE_WESTSTRUCTURETIMES',_t,true] Call SetNamespace; +['WFBE_WESTSTRUCTUREDISTANCES',_dis,true] Call SetNamespace; +['WFBE_WESTSTRUCTUREDIRECTIONS',_dir,true] Call SetNamespace; +['WFBE_WESTSTRUCTURESCRIPTS',_s,true] Call SetNamespace; + +/* Defenses */ +_n = ["CDF_WarfareBMGNest_PK"]; +_n = _n + ["DSHkM_Mini_TriPod_CDF"]; +_n = _n + ["DSHKM_CDF"]; +_n = _n + ["SearchLight_CDF"]; +_n = _n + ["AGS_CDF"]; +_n = _n + ["SPG9_CDF"]; +_n = _n + ["ZU23_CDF"]; +_n = _n + ["2b14_82mm_CDF"]; +_n = _n + ["D30_CDF"]; +_n = _n + ["Land_HBarrier3"]; +_n = _n + ["Land_HBarrier5"]; +_n = _n + ["Land_HBarrier_large"]; +_n = _n + ["Base_WarfareBBarrier5x"]; +_n = _n + ["Base_WarfareBBarrier10x"]; +_n = _n + ["Base_WarfareBBarrier10xTall"]; +_n = _n + ["MASH_EP1"]; +_n = _n + ["Land_fort_bagfence_long"]; +_n = _n + ["Land_fort_bagfence_corner"]; +_n = _n + ["Land_fort_bagfence_round"]; +_n = _n + [if (WF_Camo) then {"Land_fortified_nest_small"} else {"Land_fortified_nest_small_EP1"}]; +_n = _n + [if (WF_Camo) then {"Land_fort_rampart"} else {"Land_fort_rampart_EP1"}]; +_n = _n + [if (WF_Camo) then {"Land_fort_artillery_nest"} else {"Land_fort_artillery_nest_EP1"}]; +_n = _n + ["Hhedgehog_concreteBig"]; +_n = _n + ["Hedgehog_EP1"]; +_n = _n + [if (WF_Camo) then {"Land_CamoNet_NATO"} else {"Land_CamoNet_NATO_EP1"}]; +_n = _n + [if (WF_Camo) then {"Land_CamoNetVar_NATO"} else {"Land_CamoNetVar_NATO_EP1"}]; +_n = _n + [if (WF_Camo) then {"Land_CamoNetB_NATO"} else {"Land_CamoNetB_NATO_EP1"}]; +_n = _n + ["Sign_Danger"]; +_n = _n + ["HeliH"]; +_n = _n + ["Fort_RazorWire"]; +_n = _n + ["Land_Ind_IlluminantTower"]; +_n = _n + ["Concrete_Wall_EP1"]; +_n = _n + ["Land_Campfire"]; +_n = _n + ["RUOrdnanceBox"]; +_n = _n + ["RUVehicleBox"]; +_n = _n + ["RUBasicAmmunitionBox"]; +_n = _n + ["RUBasicWeaponsBox"]; +_n = _n + ["RULaunchersBox"]; +_n = _n + ["RUSpecialWeaponsBox"]; + +/* Class used for AI, AI will attempt to build those */ +['WFBE_WESTDEFENSES_MG',['DSHKM_CDF'],true] Call SetNamespace; +['WFBE_WESTDEFENSES_GL',['AGS_CDF'],true] Call SetNamespace; +['WFBE_WESTDEFENSES_AAPOD',['ZU23_CDF'],true] Call SetNamespace; +['WFBE_WESTDEFENSES_ATPOD',['SPG9_CDF'],true] Call SetNamespace; +['WFBE_WESTDEFENSES_CANNON',['D30_CDF'],true] Call SetNamespace; +['WFBE_WESTDEFENSES_MASH',['MASH'],true] Call SetNamespace; + +['WFBE_WESTDEFENSENAMES',_n,true] Call SetNamespace; \ No newline at end of file diff --git a/Common/Config/Core_Structures/CombinedOps/Structures_INS.sqf b/Common/Config/Core_Structures/CombinedOps/Structures_INS.sqf new file mode 100644 index 0000000..9be1133 --- /dev/null +++ b/Common/Config/Core_Structures/CombinedOps/Structures_INS.sqf @@ -0,0 +1,162 @@ +Private ['_c','_count','_d','_dir','_dis','_n','_s','_t','_v']; + +/* Root Definition */ +EASTHQ = "BMP2_HQ_INS_unfolded"; +EASTBAR = "Ins_WarfareBBarracks"; +EASTLVF = "Ins_WarfareBLightFactory"; +EASTCC = "INS_WarfareBUAVterminal"; +EASTHEAVY = "Ins_WarfareBHeavyFactory"; +EASTAIR = "INS_WarfareBAircraftFactory"; +EASTSP = "INS_WarfareBVehicleServicePoint"; +EASTAAR = "INS_WarfareBAntiAirRadar"; + +/* Flag Textures */ +['WFBE_EASTFLAG','\Ca\Data\flag_chdkz_co.paa',true] Call SetNamespace; + +/* Mash used after being deployed */ +['WFBE_EASTFARP','CampEast',true] Call SetNamespace; + +/* Construction Crates */ +['WFBE_EASTCONSTRUCTIONSITE','Ins_WarfareBContructionSite',true] Call SetNamespace; + +/* Structures */ +_v = ["Headquarters"]; +_n = [EASTHQ]; +_d = [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = [('WFBE_HQDEPLOYPRICE' Call GetNamespace)]; +_t = [if (WF_Debug) then {1} else {30}]; +_s = ["HQSite"]; +_dis = [15]; +_dir = [0]; + +_v = _v + ["Barracks"]; +_n = _n + [EASTBAR]; +_d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = _c + [200]; +_t = _t + [if (WF_Debug) then {1} else {70}]; +_s = _s + ["SmallSite"]; +_dis = _dis + [18]; +_dir = _dir + [90]; + +_v = _v + ["Light"]; +_n = _n + [EASTLVF]; +_d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = _c + [600]; +_t = _t + [if (WF_Debug) then {1} else {90}]; +_s = _s + ["MediumSite"]; +_dis = _dis + [25]; +_dir = _dir + [90]; + +_v = _v + ["CommandCenter"]; +_n = _n + [EASTCC]; +_d = _d + [localize "STR_WF_CommandCenter_RU"]; +_c = _c + [1200]; +_t = _t + [if (WF_Debug) then {1} else {110}]; +_s = _s + ["SmallSite"]; + +_dis = _dis + [20]; +_dir = _dir + [90]; + +_v = _v + ["Heavy"]; +_n = _n + [EASTHEAVY]; +_d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = _c + [2800]; +_t = _t + [if (WF_Debug) then {1} else {130}]; +_s = _s + ["MediumSite"]; +_dis = _dis + [25]; +_dir = _dir + [90]; + +_v = _v + ["Aircraft"]; +_n = _n + [EASTAIR]; +_d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = _c + [4400]; +_t = _t + [if (WF_Debug) then {1} else {150}]; +_s = _s + ["SmallSite"]; +_dis = _dis + [21]; +_dir = _dir + [90]; + +_v = _v + ["ServicePoint"]; +_n = _n + [EASTSP]; +_d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = _c + [700]; +_t = _t + [if (WF_Debug) then {1} else {70}]; +_s = _s + ["SmallSite"]; +_dis = _dis + [21]; +_dir = _dir + [90]; + +if (paramAARadar) then { + _v = _v + ["AARadar"]; + _n = _n + [EASTAAR]; + _d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; + _c = _c + [3200]; + _t = _t + [if (WF_Debug) then {1} else {280}]; + _s = _s + ["MediumSite"]; + _dis = _dis + [21]; + _dir = _dir + [90]; +}; + +for [{_count = count _v - 1},{_count >= 0},{_count = _count - 1}] do { + [Format["WFBE_EAST%1TYPE",_v select _count],_count,true] Call SetNamespace; +}; + +['WFBE_EASTMHQNAME','BMP2_HQ_INS',true] Call SetNamespace; + +['WFBE_EASTSTRUCTURES',_v,true] Call SetNamespace; +['WFBE_EASTSTRUCTURENAMES',_n,true] Call SetNamespace; +['WFBE_EASTSTRUCTUREDESCRIPTIONS',_d,true] Call SetNamespace; +['WFBE_EASTSTRUCTURECOSTS',_c,true] Call SetNamespace; +['WFBE_EASTSTRUCTURETIMES',_t,true] Call SetNamespace; +['WFBE_EASTSTRUCTUREDISTANCES',_dis,true] Call SetNamespace; +['WFBE_EASTSTRUCTUREDIRECTIONS',_dir,true] Call SetNamespace; +['WFBE_EASTSTRUCTURESCRIPTS',_s,true] Call SetNamespace; + +/* Defenses */ +_n = ["Ins_WarfareBMGNest_PK"]; +_n = _n + ["SearchLight_INS"]; +_n = _n + ["DSHkM_Mini_TriPod"]; +_n = _n + ["DSHKM_Ins"]; +_n = _n + ["AGS_Ins"]; +_n = _n + ["SPG9_Ins"]; +_n = _n + ["ZU23_Ins"]; +_n = _n + ["2b14_82mm_INS"]; +_n = _n + ["D30_Ins"]; +_n = _n + ["Land_HBarrier3"]; +_n = _n + ["Land_HBarrier5"]; +_n = _n + ["Land_HBarrier_large"]; +_n = _n + ["Base_WarfareBBarrier5x"]; +_n = _n + ["Base_WarfareBBarrier10x"]; +_n = _n + ["Base_WarfareBBarrier10xTall"]; +_n = _n + ["MASH_EP1"]; +_n = _n + ["Land_fort_bagfence_long"]; +_n = _n + ["Land_fort_bagfence_corner"]; +_n = _n + ["Land_fort_bagfence_round"]; +_n = _n + [if (WF_Camo) then {"Land_fortified_nest_small"} else {"Land_fortified_nest_small_EP1"}]; +_n = _n + [if (WF_Camo) then {"Land_fort_rampart"} else {"Land_fort_rampart_EP1"}]; +_n = _n + [if (WF_Camo) then {"Land_fort_artillery_nest"} else {"Land_fort_artillery_nest_EP1"}]; +_n = _n + ["Hhedgehog_concreteBig"]; +_n = _n + ["Hedgehog_EP1"]; +_n = _n + [if (WF_Camo) then {"Land_CamoNet_EAST"} else {"Land_CamoNet_EAST_EP1"}]; +_n = _n + [if (WF_Camo) then {"Land_CamoNetVar_EAST"} else {"Land_CamoNetVar_EAST_EP1"}]; +_n = _n + [if (WF_Camo) then {"Land_CamoNetB_EAST"} else {"Land_CamoNetB_EAST_EP1"}]; +_n = _n + ["Sign_Danger"]; +_n = _n + ["HeliH"]; +_n = _n + ["Fort_RazorWire"]; +_n = _n + ["Land_Ind_IlluminantTower"]; +_n = _n + ["Concrete_Wall_EP1"]; +_n = _n + ["Land_Campfire"]; +_n = _n + ["RUOrdnanceBox"]; +_n = _n + ["RUVehicleBox"]; +_n = _n + ["RUBasicAmmunitionBox"]; +_n = _n + ["RUBasicWeaponsBox"]; +_n = _n + ["RULaunchersBox"]; +_n = _n + ["RUSpecialWeaponsBox"]; + +/* Class used for AI, AI will attempt to build those */ +['WFBE_EASTDEFENSES_MG',['DSHKM_Ins'],true] Call SetNamespace; +['WFBE_EASTDEFENSES_GL',['AGS_Ins'],true] Call SetNamespace; +['WFBE_EASTDEFENSES_AAPOD',['ZU23_Ins'],true] Call SetNamespace; +['WFBE_EASTDEFENSES_ATPOD',['SPG9_Ins'],true] Call SetNamespace; +['WFBE_EASTDEFENSES_CANNON',['D30_Ins'],true] Call SetNamespace; +['WFBE_EASTDEFENSES_MASH',['MASH'],true] Call SetNamespace; + +['WFBE_EASTDEFENSENAMES',_n,true] Call SetNamespace; \ No newline at end of file diff --git a/Common/Config/Core_Structures/CombinedOps/Structures_TKA.sqf b/Common/Config/Core_Structures/CombinedOps/Structures_TKA.sqf new file mode 100644 index 0000000..d5c5220 --- /dev/null +++ b/Common/Config/Core_Structures/CombinedOps/Structures_TKA.sqf @@ -0,0 +1,163 @@ +Private ['_c','_count','_d','_dir','_dis','_n','_s','_t','_v']; + +/* Root Definition */ +EASTHQ = if (WF_Camo) then {"BTR90_HQ_unfolded"} else {"BTR90_HQ_unfolded"}; +EASTBAR = if (WF_Camo) then {"RU_WarfareBBarracks"} else {"TK_WarfareBBarracks_EP1"}; +EASTLVF = if (WF_Camo) then {"RU_WarfareBLightFactory"} else {"TK_WarfareBLightFactory_EP1"}; +EASTCC = if (WF_Camo) then {"RU_WarfareBUAVterminal"} else {"TK_WarfareBUAVterminal_EP1"}; +EASTHEAVY = if (WF_Camo) then {"RU_WarfareBHeavyFactory"} else {"TK_WarfareBHeavyFactory_EP1"}; +EASTAIR = if (WF_Camo) then {"RU_WarfareBAircraftFactory"} else {"TK_WarfareBAircraftFactory_EP1"}; +EASTSP = if (WF_Camo) then {"RU_WarfareBVehicleServicePoint"} else {"TK_WarfareBVehicleServicePoint_EP1"}; +EASTAAR = if (WF_Camo) then {"RU_WarfareBAntiAirRadar"} else {"TK_WarfareBAntiAirRadar_EP1"}; + +/* Flag Textures */ +['WFBE_EASTFLAG','\Ca\Data\flag_rus_co.paa',true] Call SetNamespace; + +/* Mash used after being deployed */ +['WFBE_EASTFARP','CampEast',true] Call SetNamespace; + +/* Construction Crates */ +['WFBE_EASTCONSTRUCTIONSITE','RU_WarfareBContructionSite',true] Call SetNamespace; + +/* Structures */ +_v = ["Headquarters"]; +_n = [EASTHQ]; +_d = [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = [('WFBE_HQDEPLOYPRICE' Call GetNamespace)]; +_t = [if (WF_Debug) then {1} else {30}]; +_s = ["HQSite"]; +_dis = [15]; +_dir = [0]; + +_v = _v + ["Barracks"]; +_n = _n + [EASTBAR]; +_d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = _c + [200]; +_t = _t + [if (WF_Debug) then {1} else {70}]; +_s = _s + ["SmallSite"]; +_dis = _dis + [18]; +_dir = _dir + [90]; + +_v = _v + ["Light"]; +_n = _n + [EASTLVF]; +_d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = _c + [600]; +_t = _t + [if (WF_Debug) then {1} else {90}]; +_s = _s + ["MediumSite"]; +_dis = _dis + [25]; +_dir = _dir + [90]; + +_v = _v + ["CommandCenter"]; +_n = _n + [EASTCC]; +_d = _d + [localize "STR_WF_CommandCenter_RU"]; +_c = _c + [1200]; +_t = _t + [if (WF_Debug) then {1} else {110}]; +_s = _s + ["SmallSite"]; +_dis = _dis + [20]; +_dir = _dir + [90]; + +_v = _v + ["Heavy"]; +_n = _n + [EASTHEAVY]; +_d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = _c + [2800]; +_t = _t + [if (WF_Debug) then {1} else {130}]; +_s = _s + ["MediumSite"]; +_dis = _dis + [25]; +_dir = _dir + [90]; + +_v = _v + ["Aircraft"]; +_n = _n + [EASTAIR]; +_d = _d + [localize "STR_WF_AircraftFactory"]; +_c = _c + [4400]; +_t = _t + [if (WF_Debug) then {1} else {150}]; +_s = _s + ["SmallSite"]; +_dis = _dis + [21]; +_dir = _dir + [90]; + +_v = _v + ["ServicePoint"]; +_n = _n + [EASTSP]; +_d = _d + [localize "STR_WF_MAIN_ServicePoint"]; +_c = _c + [700]; +_t = _t + [if (WF_Debug) then {1} else {70}]; +_s = _s + ["SmallSite"]; +_dis = _dis + [21]; +_dir = _dir + [90]; + +if (paramAARadar) then { + _v = _v + ["AARadar"]; + _n = _n + [EASTAAR]; + _d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; + _c = _c + [3200]; + _t = _t + [if (WF_Debug) then {1} else {280}]; + _s = _s + ["MediumSite"]; + _dis = _dis + [21]; + _dir = _dir + [90]; +}; + +for [{_count = count _v - 1},{_count >= 0},{_count = _count - 1}] do { + [Format["WFBE_EAST%1TYPE",_v select _count],_count,true] Call SetNamespace; +}; + +['WFBE_EASTMHQNAME','BTR90_HQ',true] Call SetNamespace; + +['WFBE_EASTSTRUCTURES',_v,true] Call SetNamespace; +['WFBE_EASTSTRUCTURENAMES',_n,true] Call SetNamespace; +['WFBE_EASTSTRUCTUREDESCRIPTIONS',_d,true] Call SetNamespace; +['WFBE_EASTSTRUCTURECOSTS',_c,true] Call SetNamespace; +['WFBE_EASTSTRUCTURETIMES',_t,true] Call SetNamespace; +['WFBE_EASTSTRUCTUREDISTANCES',_dis,true] Call SetNamespace; +['WFBE_EASTSTRUCTUREDIRECTIONS',_dir,true] Call SetNamespace; +['WFBE_EASTSTRUCTURESCRIPTS',_s,true] Call SetNamespace; + +/* Defenses */ +_n = ["RU_WarfareBMGNest_PK"]; +_n = _n + ["SearchLight_TK_EP1"]; +_n = _n + ["KORD_TK_EP1"]; +_n = _n + ["KORD_high_TK_EP1"]; +_n = _n + ["AGS_TK_EP1"]; +_n = _n + ["SPG9_TK_INS_EP1"]; +_n = _n + ["Metis_TK_EP1"]; +_n = _n + ["Igla_AA_pod_TK_EP1"]; +_n = _n + ["ZU23_TK_EP1"]; +_n = _n + ["2b14_82mm_TK_EP1"]; +_n = _n + ["D30_TK_EP1"]; +_n = _n + ["Land_HBarrier3"]; +_n = _n + ["Land_HBarrier5"]; +_n = _n + ["Land_HBarrier_large"]; +_n = _n + ["TK_WarfareBBarrier5x_EP1"]; +_n = _n + ["TK_WarfareBBarrier10x_EP1"]; +_n = _n + ["TK_WarfareBBarrier10xTall_EP1"]; +_n = _n + ["MASH_EP1"]; +_n = _n + ["Land_fort_bagfence_long"]; +_n = _n + ["Land_fort_bagfence_corner"]; +_n = _n + ["Land_fort_bagfence_round"]; +_n = _n + [if (WF_Camo) then {"Land_fortified_nest_small"} else {"Land_fortified_nest_small_EP1"}]; +_n = _n + [if (WF_Camo) then {"Land_fort_rampart"} else {"Land_fort_rampart_EP1"}]; +_n = _n + [if (WF_Camo) then {"Land_fort_artillery_nest"} else {"Land_fort_artillery_nest_EP1"}]; +_n = _n + ["Hhedgehog_concreteBig"]; +_n = _n + ["Hedgehog_EP1"]; +_n = _n + [if (WF_Camo) then {"Land_CamoNet_EAST"} else {"Land_CamoNet_EAST_EP1"}]; +_n = _n + [if (WF_Camo) then {"Land_CamoNetVar_EAST"} else {"Land_CamoNetVar_EAST_EP1"}]; +_n = _n + [if (WF_Camo) then {"Land_CamoNetB_EAST"} else {"Land_CamoNetB_EAST_EP1"}]; +_n = _n + ["Sign_Danger"]; +_n = _n + ["HeliH"]; +_n = _n + ["Fort_RazorWire"]; +_n = _n + ["Land_Ind_IlluminantTower"]; +_n = _n + ["Concrete_Wall_EP1"]; +_n = _n + ["Land_Campfire"]; +_n = _n + ["RUOrdnanceBox"]; +_n = _n + ["RUVehicleBox"]; +_n = _n + ["RUBasicAmmunitionBox"]; +_n = _n + ["RUBasicWeaponsBox"]; +_n = _n + ["RULaunchersBox"]; +_n = _n + ["RUSpecialWeaponsBox"]; + +/* Class used for AI, AI will attempt to build those */ +['WFBE_EASTDEFENSES_MG',['KORD_high_TK_EP1'],true] Call SetNamespace; +['WFBE_EASTDEFENSES_GL',['AGS_TK_EP1'],true] Call SetNamespace; +['WFBE_EASTDEFENSES_AAPOD',['Igla_AA_pod_TK_EP1','ZU23_TK_EP1'],true] Call SetNamespace; +['WFBE_EASTDEFENSES_ATPOD',['Metis_TK_EP1','SPG9_TK_INS_EP1'],true] Call SetNamespace; +['WFBE_EASTDEFENSES_CANNON',['D30_TK_EP1'],true] Call SetNamespace; +['WFBE_EASTDEFENSES_MASH',['MASH_EP1'],true] Call SetNamespace; + +['WFBE_EASTDEFENSENAMES',_n,true] Call SetNamespace; \ No newline at end of file diff --git a/Common/Config/Core_Structures/CombinedOps/Structures_US.sqf b/Common/Config/Core_Structures/CombinedOps/Structures_US.sqf new file mode 100644 index 0000000..d2071ab --- /dev/null +++ b/Common/Config/Core_Structures/CombinedOps/Structures_US.sqf @@ -0,0 +1,167 @@ +Private ['_c','_count','_d','_dir','_dis','_n','_s','_t','_v']; + +/* Root Definition */ +WESTHQ = if (WF_Camo) then {"LAV25_HQ_unfolded"} else {"M1130_HQ_unfolded_EP1"}; +WESTBAR = if (WF_Camo) then {"USMC_WarfareBBarracks"} else {"US_WarfareBBarracks_EP1"}; +WESTLVF = if (WF_Camo) then {"USMC_WarfareBLightFactory"} else {"US_WarfareBLightFactory_EP1"}; +WESTCC = if (WF_Camo) then {"USMC_WarfareBUAVterminal"} else {"US_WarfareBUAVterminal_EP1"}; +WESTHEAVY = if (WF_Camo) then {"USMC_WarfareBHeavyFactory"} else {"US_WarfareBHeavyFactory_EP1"}; +WESTAIR = if (WF_Camo) then {"USMC_WarfareBAircraftFactory"} else {"US_WarfareBAircraftFactory_EP1"}; +WESTSP = if (WF_Camo) then {"USMC_WarfareBVehicleServicePoint"} else {"US_WarfareBVehicleServicePoint_EP1"}; +WESTAAR = if (WF_Camo) then {"USMC_WarfareBAntiAirRadar"} else {"US_WarfareBAntiAirRadar_EP1"}; + +/* Flag Textures */ +['WFBE_WESTFLAG','\Ca\ca_e\Data\flag_us_co.paa',true] Call SetNamespace; + +/* Mash used after being deployed */ +['WFBE_WESTFARP','Camp_EP1',true] Call SetNamespace; + +/* Construction Crates */ +['WFBE_WESTCONSTRUCTIONSITE','US_WarfareBContructionSite_EP1',true] Call SetNamespace; + +/* Structures */ +_v = ["Headquarters"]; +_n = [WESTHQ]; +_d = [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = [('WFBE_HQDEPLOYPRICE' Call GetNamespace)]; +_t = [if (WF_Debug) then {1} else {30}]; +_s = ["HQSite"]; +_dis = [15]; +_dir = [0]; + +_v = _v + ["Barracks"]; +_n = _n + [WESTBAR]; +_d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = _c + [200]; +_t = _t + [if (WF_Debug) then {1} else {70}]; +_s = _s + ["SmallSite"]; +_dis = _dis + [18]; +_dir = _dir + [90]; + +_v = _v + ["Light"]; +_n = _n + [WESTLVF]; +_d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = _c + [600]; +_t = _t + [if (WF_Debug) then {1} else {90}]; +_s = _s + ["MediumSite"]; +_dis = _dis + [25]; +_dir = _dir + [90]; + +_v = _v + ["CommandCenter"]; +_n = _n + [WESTCC]; +_d = _d + [localize "STR_WF_CommandCenter_USMC"]; +_c = _c + [1200]; +_t = _t + [if (WF_Debug) then {1} else {110}]; +_s = _s + ["SmallSite"]; +_dis = _dis + [20]; +_dir = _dir + [90]; + +_v = _v + ["Heavy"]; +_n = _n + [WESTHEAVY]; +_d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = _c + [2800]; +_t = _t + [if (WF_Debug) then {1} else {130}]; +_s = _s + ["MediumSite"]; +_dis = _dis + [25]; +_dir = _dir + [90]; + +_v = _v + ["Aircraft"]; +_n = _n + [WESTAIR]; +_d = _d + [localize "STR_WF_AircraftFactory"]; +_c = _c + [4400]; +_t = _t + [if (WF_Debug) then {1} else {150}]; +_s = _s + ["SmallSite"]; +_dis = _dis + [31]; +_dir = _dir + [90]; + +_v = _v + ["ServicePoint"]; +_n = _n + [WESTSP]; +_d = _d + [localize "STR_WF_MAIN_ServicePoint"]; +_c = _c + [700]; +_t = _t + [if (WF_Debug) then {1} else {70}]; +_s = _s + ["SmallSite"]; +_dis = _dis + [21]; +_dir = _dir + [90]; + +if (paramAARadar) then { + _v = _v + ["AARadar"]; + _n = _n + [WESTAAR]; + _d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; + _c = _c + [3200]; + _t = _t + [if (WF_Debug) then {1} else {280}]; + _s = _s + ["MediumSite"]; + _dis = _dis + [21]; + _dir = _dir + [90]; +}; + +for [{_count = count _v - 1},{_count >= 0},{_count = _count - 1}] do { + [Format["WFBE_WEST%1TYPE",_v select _count],_count,true] Call SetNamespace; +}; + +['WFBE_WESTMHQNAME',if (WF_Camo) then {'LAV25_HQ'} else {'M1130_CV_EP1'},true] Call SetNamespace; + +['WFBE_WESTSTRUCTURES',_v,true] Call SetNamespace; +['WFBE_WESTSTRUCTURENAMES',_n,true] Call SetNamespace; +['WFBE_WESTSTRUCTUREDESCRIPTIONS',_d,true] Call SetNamespace; +['WFBE_WESTSTRUCTURECOSTS',_c,true] Call SetNamespace; +['WFBE_WESTSTRUCTURETIMES',_t,true] Call SetNamespace; +['WFBE_WESTSTRUCTUREDISTANCES',_dis,true] Call SetNamespace; +['WFBE_WESTSTRUCTUREDIRECTIONS',_dir,true] Call SetNamespace; +['WFBE_WESTSTRUCTURESCRIPTS',_s,true] Call SetNamespace; + +/* Defenses */ +_n = ["WarfareBMGNest_M240_US_EP1"]; +_n = _n + ["M2HD_mini_TriPod_US_EP1"]; +_n = _n + ["SearchLight_US_EP1"]; +_n = _n + ["M2StaticMG_US_EP1"]; +if (paramDLCBAF) then { + _n = _n + ["BAF_GPMG_Minitripod_W"]; + _n = _n + ["BAF_GMG_Tripod_W"]; + _n = _n + ["BAF_L2A1_Minitripod_W"]; + _n = _n + ["BAF_L2A1_Tripod_W"]; +}; +_n = _n + ["MK19_TriPod_US_EP1"]; +_n = _n + ["TOW_TriPod_US_EP1"]; +_n = _n + ["Stinger_Pod_US_EP1"]; +_n = _n + ["M252_US_EP1"]; +_n = _n + ["M119_US_EP1"]; +_n = _n + ["Land_HBarrier3"]; +_n = _n + ["Land_HBarrier5"]; +_n = _n + ["Land_HBarrier_large"]; +_n = _n + ["US_WarfareBBarrier5x_EP1"]; +_n = _n + ["US_WarfareBBarrier10x_EP1"]; +_n = _n + ["US_WarfareBBarrier10xTall_EP1"]; +_n = _n + ["MASH_EP1"]; +_n = _n + ["Land_fort_bagfence_long"]; +_n = _n + ["Land_fort_bagfence_corner"]; +_n = _n + ["Land_fort_bagfence_round"]; +_n = _n + [if (WF_Camo) then {"Land_fortified_nest_small"} else {"Land_fortified_nest_small_EP1"}]; +_n = _n + [if (WF_Camo) then {"Land_fort_rampart"} else {"Land_fort_rampart_EP1"}]; +_n = _n + [if (WF_Camo) then {"Land_fort_artillery_nest"} else {"Land_fort_artillery_nest_EP1"}]; +_n = _n + ["Hhedgehog_concreteBig"]; +_n = _n + ["Hedgehog_EP1"]; +_n = _n + [if (WF_Camo) then {"Land_CamoNet_NATO"} else {"Land_CamoNet_NATO_EP1"}]; +_n = _n + [if (WF_Camo) then {"Land_CamoNetVar_NATO"} else {"Land_CamoNetVar_NATO_EP1"}]; +_n = _n + [if (WF_Camo) then {"Land_CamoNetB_NATO"} else {"Land_CamoNetB_NATO_EP1"}]; +_n = _n + ["Sign_Danger"]; +_n = _n + ["HeliH"]; +_n = _n + ["Fort_RazorWire"]; +_n = _n + ["Land_Ind_IlluminantTower"]; +_n = _n + ["Concrete_Wall_EP1"]; +_n = _n + ["Land_Campfire"]; +_n = _n + ["USOrdnanceBox_EP1"]; +_n = _n + ["USVehicleBox_EP1"]; +_n = _n + ["USBasicAmmunitionBox_EP1"]; +_n = _n + ["USBasicWeapons_EP1"]; +_n = _n + ["USLaunchers_EP1"]; +_n = _n + ["USSpecialWeapons_EP1"]; + +/* Class used for AI, AI will attempt to build those */ +['WFBE_WESTDEFENSES_MG',['M2StaticMG_US_EP1'],true] Call SetNamespace; +['WFBE_WESTDEFENSES_GL',['MK19_TriPod_US_EP1'],true] Call SetNamespace; +['WFBE_WESTDEFENSES_AAPOD',['Stinger_Pod_US_EP1'],true] Call SetNamespace; +['WFBE_WESTDEFENSES_ATPOD',['TOW_TriPod_US_EP1'],true] Call SetNamespace; +['WFBE_WESTDEFENSES_CANNON',['M119_US_EP1'],true] Call SetNamespace; +['WFBE_WESTDEFENSES_MASH',['MASH_EP1'],true] Call SetNamespace; + +['WFBE_WESTDEFENSENAMES',_n,true] Call SetNamespace; \ No newline at end of file diff --git a/Common/Config/Core_Structures/Vanilla/Structures_CDF.sqf b/Common/Config/Core_Structures/Vanilla/Structures_CDF.sqf new file mode 100644 index 0000000..180aed1 --- /dev/null +++ b/Common/Config/Core_Structures/Vanilla/Structures_CDF.sqf @@ -0,0 +1,162 @@ +Private ['_c','_count','_d','_dir','_dis','_n','_s','_t','_v']; + +/* Root Definition */ +WESTHQ = "BMP2_HQ_CDF_unfolded"; +WESTBAR = "CDF_WarfareBBarracks"; +WESTLVF = "CDF_WarfareBLightFactory"; +WESTCC = "CDF_WarfareBUAVterminal"; +WESTHEAVY = "CDF_WarfareBHeavyFactory"; +WESTAIR = "CDF_WarfareBAircraftFactory"; +WESTSP = "CDF_WarfareBVehicleServicePoint"; +WESTAAR = "CDF_WarfareBAntiAirRadar"; + +/* Flag Textures */ +['WFBE_WESTFLAG','\Ca\Data\flag_chernarus_co.paa',true] Call SetNamespace; + +/* Mash used after being deployed */ +['WFBE_WESTFARP','Camp',true] Call SetNamespace; + +/* Construction Crates */ +['WFBE_WESTCONSTRUCTIONSITE','CDF_WarfareBContructionSite',true] Call SetNamespace; + +/* Structures */ +_v = ["Headquarters"]; +_n = [WESTHQ]; +_d = [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = [('WFBE_HQDEPLOYPRICE' Call GetNamespace)]; +_t = [if (WF_Debug) then {1} else {30}]; +_s = ["HQSite"]; +_dis = [15]; +_dir = [0]; + +_v = _v + ["Barracks"]; +_n = _n + [WESTBAR]; +_d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = _c + [200]; +_t = _t + [if (WF_Debug) then {1} else {70}]; +_s = _s + ["SmallSite"]; +_dis = _dis + [18]; +_dir = _dir + [90]; + +_v = _v + ["Light"]; +_n = _n + [WESTLVF]; +_d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = _c + [600]; +_t = _t + [if (WF_Debug) then {1} else {90}]; +_s = _s + ["MediumSite"]; +_dis = _dis + [25]; +_dir = _dir + [90]; + +_v = _v + ["CommandCenter"]; +_n = _n + [WESTCC]; +_d = _d + [localize "STR_WF_CommandCenter_USMC"]; +_c = _c + [1200]; +_t = _t + [if (WF_Debug) then {1} else {110}]; +_s = _s + ["SmallSite"]; +_dis = _dis + [20]; +_dir = _dir + [90]; + +_v = _v + ["Heavy"]; +_n = _n + [WESTHEAVY]; +_d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = _c + [2800]; +_t = _t + [if (WF_Debug) then {1} else {130}]; +_s = _s + ["MediumSite"]; +_dis = _dis + [25]; +_dir = _dir + [90]; + +_v = _v + ["Aircraft"]; +_n = _n + [WESTAIR]; +_d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = _c + [4400]; +_t = _t + [if (WF_Debug) then {1} else {150}]; +_s = _s + ["SmallSite"]; +_dis = _dis + [31]; +_dir = _dir + [90]; + +_v = _v + ["ServicePoint"]; +_n = _n + [WESTSP]; +_d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = _c + [700]; +_t = _t + [if (WF_Debug) then {1} else {70}]; +_s = _s + ["SmallSite"]; +_dis = _dis + [21]; +_dir = _dir + [90]; + +if (paramAARadar) then { + _v = _v + ["AARadar"]; + _n = _n + [WESTAAR]; + _d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; + _c = _c + [3200]; + _t = _t + [if (WF_Debug) then {1} else {280}]; + _s = _s + ["MediumSite"]; + _dis = _dis + [21]; + _dir = _dir + [90]; +}; + +for [{_count = count _v - 1},{_count >= 0},{_count = _count - 1}] do { + [Format["WFBE_WEST%1TYPE",_v select _count],_count,true] Call SetNamespace; +}; + +['WFBE_WESTMHQNAME','BMP2_HQ_CDF',true] Call SetNamespace; + +['WFBE_WESTSTRUCTURES',_v,true] Call SetNamespace; +['WFBE_WESTSTRUCTURENAMES',_n,true] Call SetNamespace; +['WFBE_WESTSTRUCTUREDESCRIPTIONS',_d,true] Call SetNamespace; +['WFBE_WESTSTRUCTURECOSTS',_c,true] Call SetNamespace; +['WFBE_WESTSTRUCTURETIMES',_t,true] Call SetNamespace; +['WFBE_WESTSTRUCTUREDISTANCES',_dis,true] Call SetNamespace; +['WFBE_WESTSTRUCTUREDIRECTIONS',_dir,true] Call SetNamespace; +['WFBE_WESTSTRUCTURESCRIPTS',_s,true] Call SetNamespace; + +/* Defenses */ +_n = ["CDF_WarfareBMGNest_PK"]; +_n = _n + ["DSHkM_Mini_TriPod_CDF"]; +_n = _n + ["DSHKM_CDF"]; +_n = _n + ["SearchLight_CDF"]; +_n = _n + ["AGS_CDF"]; +_n = _n + ["SPG9_CDF"]; +_n = _n + ["ZU23_CDF"]; +_n = _n + ["2b14_82mm_CDF"]; +_n = _n + ["D30_CDF"]; +_n = _n + ["Land_HBarrier3"]; +_n = _n + ["Land_HBarrier5"]; +_n = _n + ["Land_HBarrier_large"]; +_n = _n + ["Base_WarfareBBarrier5x"]; +_n = _n + ["Base_WarfareBBarrier10x"]; +_n = _n + ["Base_WarfareBBarrier10xTall"]; +_n = _n + ["MASH"]; +_n = _n + ["Land_fort_bagfence_long"]; +_n = _n + ["Land_fort_bagfence_corner"]; +_n = _n + ["Land_fort_bagfence_round"]; +_n = _n + ["Land_fortified_nest_small"]; +_n = _n + ["Land_fortified_nest_big"]; +_n = _n + ["Land_Fort_Watchtower"]; +_n = _n + ["Land_fort_rampart"]; +_n = _n + ["Land_fort_artillery_nest"]; +_n = _n + ["Hhedgehog_concreteBig"]; +_n = _n + ["Hedgehog"]; +_n = _n + ["Land_CamoNet_NATO"]; +_n = _n + ["Land_CamoNetVar_NATO"]; +_n = _n + ["Land_CamoNetB_NATO"]; +_n = _n + ["Sign_Danger"]; +_n = _n + ["HeliH"]; +_n = _n + ["Fort_RazorWire"]; +_n = _n + ["Land_Ind_IlluminantTower"]; +_n = _n + ["Land_Campfire"]; +_n = _n + ["RUOrdnanceBox"]; +_n = _n + ["RUVehicleBox"]; +_n = _n + ["RUBasicAmmunitionBox"]; +_n = _n + ["RUBasicWeaponsBox"]; +_n = _n + ["RULaunchersBox"]; +_n = _n + ["RUSpecialWeaponsBox"]; + +/* Class used for AI, AI will attempt to build those */ +['WFBE_WESTDEFENSES_MG',['DSHKM_CDF'],true] Call SetNamespace; +['WFBE_WESTDEFENSES_GL',['AGS_CDF'],true] Call SetNamespace; +['WFBE_WESTDEFENSES_AAPOD',['ZU23_CDF'],true] Call SetNamespace; +['WFBE_WESTDEFENSES_ATPOD',['SPG9_CDF'],true] Call SetNamespace; +['WFBE_WESTDEFENSES_CANNON',['D30_CDF'],true] Call SetNamespace; +['WFBE_WESTDEFENSES_MASH',['MASH'],true] Call SetNamespace; + +['WFBE_WESTDEFENSENAMES',_n,true] Call SetNamespace; \ No newline at end of file diff --git a/Common/Config/Core_Structures/Vanilla/Structures_INS.sqf b/Common/Config/Core_Structures/Vanilla/Structures_INS.sqf new file mode 100644 index 0000000..edfdf5d --- /dev/null +++ b/Common/Config/Core_Structures/Vanilla/Structures_INS.sqf @@ -0,0 +1,163 @@ +Private ['_c','_count','_d','_dir','_dis','_n','_s','_t','_v']; + +/* Root Definition */ +EASTHQ = "BMP2_HQ_INS_unfolded"; +EASTBAR = "Ins_WarfareBBarracks"; +EASTLVF = "Ins_WarfareBLightFactory"; +EASTCC = "INS_WarfareBUAVterminal"; +EASTHEAVY = "Ins_WarfareBHeavyFactory"; +EASTAIR = "INS_WarfareBAircraftFactory"; +EASTSP = "INS_WarfareBVehicleServicePoint"; +EASTAAR = "INS_WarfareBAntiAirRadar"; + +/* Flag Textures */ +['WFBE_EASTFLAG','\Ca\Data\flag_chdkz_co.paa',true] Call SetNamespace; + +/* Mash used after being deployed */ +['WFBE_EASTFARP','CampEast',true] Call SetNamespace; + +/* Construction Crates */ +['WFBE_EASTCONSTRUCTIONSITE','Ins_WarfareBContructionSite',true] Call SetNamespace; + +/* Structures */ +_v = ["Headquarters"]; +_n = [EASTHQ]; +_d = [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = [('WFBE_HQDEPLOYPRICE' Call GetNamespace)]; +_t = [if (WF_Debug) then {1} else {30}]; +_s = ["HQSite"]; +_dis = [15]; +_dir = [0]; + +_v = _v + ["Barracks"]; +_n = _n + [EASTBAR]; +_d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = _c + [200]; +_t = _t + [if (WF_Debug) then {1} else {70}]; +_s = _s + ["SmallSite"]; +_dis = _dis + [18]; +_dir = _dir + [90]; + +_v = _v + ["Light"]; +_n = _n + [EASTLVF]; +_d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = _c + [600]; +_t = _t + [if (WF_Debug) then {1} else {90}]; +_s = _s + ["MediumSite"]; +_dis = _dis + [25]; +_dir = _dir + [90]; + +_v = _v + ["CommandCenter"]; +_n = _n + [EASTCC]; +_d = _d + [localize "STR_WF_CommandCenter_RU"]; +_c = _c + [1200]; +_t = _t + [if (WF_Debug) then {1} else {110}]; +_s = _s + ["SmallSite"]; + +_dis = _dis + [20]; +_dir = _dir + [90]; + +_v = _v + ["Heavy"]; +_n = _n + [EASTHEAVY]; +_d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = _c + [2800]; +_t = _t + [if (WF_Debug) then {1} else {130}]; +_s = _s + ["MediumSite"]; +_dis = _dis + [25]; +_dir = _dir + [90]; + +_v = _v + ["Aircraft"]; +_n = _n + [EASTAIR]; +_d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = _c + [4400]; +_t = _t + [if (WF_Debug) then {1} else {150}]; +_s = _s + ["SmallSite"]; +_dis = _dis + [21]; +_dir = _dir + [90]; + +_v = _v + ["ServicePoint"]; +_n = _n + [EASTSP]; +_d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = _c + [700]; +_t = _t + [if (WF_Debug) then {1} else {70}]; +_s = _s + ["SmallSite"]; +_dis = _dis + [21]; +_dir = _dir + [90]; + +if (paramAARadar) then { + _v = _v + ["AARadar"]; + _n = _n + [EASTAAR]; + _d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; + _c = _c + [3200]; + _t = _t + [if (WF_Debug) then {1} else {280}]; + _s = _s + ["MediumSite"]; + _dis = _dis + [21]; + _dir = _dir + [90]; +}; + +for [{_count = count _v - 1},{_count >= 0},{_count = _count - 1}] do { + [Format["WFBE_EAST%1TYPE",_v select _count],_count,true] Call SetNamespace; +}; + +['WFBE_EASTMHQNAME','BMP2_HQ_INS',true] Call SetNamespace; + +['WFBE_EASTSTRUCTURES',_v,true] Call SetNamespace; +['WFBE_EASTSTRUCTURENAMES',_n,true] Call SetNamespace; +['WFBE_EASTSTRUCTUREDESCRIPTIONS',_d,true] Call SetNamespace; +['WFBE_EASTSTRUCTURECOSTS',_c,true] Call SetNamespace; +['WFBE_EASTSTRUCTURETIMES',_t,true] Call SetNamespace; +['WFBE_EASTSTRUCTUREDISTANCES',_dis,true] Call SetNamespace; +['WFBE_EASTSTRUCTUREDIRECTIONS',_dir,true] Call SetNamespace; +['WFBE_EASTSTRUCTURESCRIPTS',_s,true] Call SetNamespace; + +/* Defenses */ +_n = ["Ins_WarfareBMGNest_PK"]; +_n = _n + ["SearchLight_INS"]; +_n = _n + ["DSHkM_Mini_TriPod"]; +_n = _n + ["DSHKM_Ins"]; +_n = _n + ["AGS_Ins"]; +_n = _n + ["SPG9_Ins"]; +_n = _n + ["ZU23_Ins"]; +_n = _n + ["2b14_82mm_INS"]; +_n = _n + ["D30_Ins"]; +_n = _n + ["Land_HBarrier3"]; +_n = _n + ["Land_HBarrier5"]; +_n = _n + ["Land_HBarrier_large"]; +_n = _n + ["Base_WarfareBBarrier5x"]; +_n = _n + ["Base_WarfareBBarrier10x"]; +_n = _n + ["Base_WarfareBBarrier10xTall"]; +_n = _n + ["MASH"]; +_n = _n + ["Land_fort_bagfence_long"]; +_n = _n + ["Land_fort_bagfence_corner"]; +_n = _n + ["Land_fort_bagfence_round"]; +_n = _n + ["Land_fortified_nest_small"]; +_n = _n + ["Land_fortified_nest_big"]; +_n = _n + ["Land_Fort_Watchtower"]; +_n = _n + ["Land_fort_rampart"]; +_n = _n + ["Land_fort_artillery_nest"]; +_n = _n + ["Hhedgehog_concreteBig"]; +_n = _n + ["Hedgehog"]; +_n = _n + ["Land_CamoNet_EAST"]; +_n = _n + ["Land_CamoNetVar_EAST"]; +_n = _n + ["Land_CamoNetB_EAST"]; +_n = _n + ["Sign_Danger"]; +_n = _n + ["HeliH"]; +_n = _n + ["Fort_RazorWire"]; +_n = _n + ["Land_Ind_IlluminantTower"]; +_n = _n + ["Land_Campfire"]; +_n = _n + ["RUOrdnanceBox"]; +_n = _n + ["RUVehicleBox"]; +_n = _n + ["RUBasicAmmunitionBox"]; +_n = _n + ["RUBasicWeaponsBox"]; +_n = _n + ["RULaunchersBox"]; +_n = _n + ["RUSpecialWeaponsBox"]; + +/* Class used for AI, AI will attempt to build those */ +['WFBE_EASTDEFENSES_MG',['DSHKM_Ins'],true] Call SetNamespace; +['WFBE_EASTDEFENSES_GL',['AGS_Ins'],true] Call SetNamespace; +['WFBE_EASTDEFENSES_AAPOD',['ZU23_Ins'],true] Call SetNamespace; +['WFBE_EASTDEFENSES_ATPOD',['SPG9_Ins'],true] Call SetNamespace; +['WFBE_EASTDEFENSES_CANNON',['D30_Ins'],true] Call SetNamespace; +['WFBE_EASTDEFENSES_MASH',['MASH'],true] Call SetNamespace; + +['WFBE_EASTDEFENSENAMES',_n,true] Call SetNamespace; \ No newline at end of file diff --git a/Common/Config/Core_Structures/Vanilla/Structures_RU.sqf b/Common/Config/Core_Structures/Vanilla/Structures_RU.sqf new file mode 100644 index 0000000..c0d32f5 --- /dev/null +++ b/Common/Config/Core_Structures/Vanilla/Structures_RU.sqf @@ -0,0 +1,165 @@ +Private ['_c','_count','_d','_dir','_dis','_n','_s','_t','_v']; + +/* Root Definition */ +EASTHQ = "BTR90_HQ_unfolded"; +EASTBAR = "RU_WarfareBBarracks"; +EASTLVF = "RU_WarfareBLightFactory"; +EASTCC = "RU_WarfareBUAVterminal"; +EASTHEAVY = "RU_WarfareBHeavyFactory"; +EASTAIR = "RU_WarfareBAircraftFactory"; +EASTSP = "RU_WarfareBVehicleServicePoint"; +EASTAAR = "RU_WarfareBAntiAirRadar"; + +/* Flag Textures */ +['WFBE_EASTFLAG','\Ca\Data\flag_rus_co.paa',true] Call SetNamespace; + +/* Mash used after being deployed */ +['WFBE_EASTFARP','CampEast',true] Call SetNamespace; + +/* Construction Crates */ +['WFBE_EASTCONSTRUCTIONSITE','RU_WarfareBContructionSite',true] Call SetNamespace; + +/* Structures */ +_v = ["Headquarters"]; +_n = [EASTHQ]; +_d = [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = [('WFBE_HQDEPLOYPRICE' Call GetNamespace)]; +_t = [if (WF_Debug) then {1} else {30}]; +_s = ["HQSite"]; +_dis = [15]; +_dir = [0]; + +_v = _v + ["Barracks"]; +_n = _n + [EASTBAR]; +_d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = _c + [200]; +_t = _t + [if (WF_Debug) then {1} else {70}]; +_s = _s + ["SmallSite"]; +_dis = _dis + [18]; +_dir = _dir + [90]; + +_v = _v + ["Light"]; +_n = _n + [EASTLVF]; +_d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = _c + [600]; +_t = _t + [if (WF_Debug) then {1} else {90}]; +_s = _s + ["MediumSite"]; +_dis = _dis + [25]; +_dir = _dir + [90]; + +_v = _v + ["CommandCenter"]; +_n = _n + [EASTCC]; +_d = _d + [localize "STR_WF_CommandCenter_RU"]; +_c = _c + [1200]; +_t = _t + [if (WF_Debug) then {1} else {110}]; +_s = _s + ["SmallSite"]; + +_dis = _dis + [20]; +_dir = _dir + [90]; + +_v = _v + ["Heavy"]; +_n = _n + [EASTHEAVY]; +_d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = _c + [2800]; +_t = _t + [if (WF_Debug) then {1} else {130}]; +_s = _s + ["MediumSite"]; +_dis = _dis + [25]; +_dir = _dir + [90]; + +_v = _v + ["Aircraft"]; +_n = _n + [EASTAIR]; +_d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = _c + [4400]; +_t = _t + [if (WF_Debug) then {1} else {150}]; +_s = _s + ["SmallSite"]; +_dis = _dis + [21]; +_dir = _dir + [90]; + +_v = _v + ["ServicePoint"]; +_n = _n + [EASTSP]; +_d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = _c + [700]; +_t = _t + [if (WF_Debug) then {1} else {70}]; +_s = _s + ["SmallSite"]; +_dis = _dis + [21]; +_dir = _dir + [90]; + +if (paramAARadar) then { + _v = _v + ["AARadar"]; + _n = _n + [EASTAAR]; + _d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; + _c = _c + [3200]; + _t = _t + [if (WF_Debug) then {1} else {280}]; + _s = _s + ["MediumSite"]; + _dis = _dis + [21]; + _dir = _dir + [90]; +}; + +for [{_count = count _v - 1},{_count >= 0},{_count = _count - 1}] do { + [Format["WFBE_EAST%1TYPE",_v select _count],_count,true] Call SetNamespace; +}; + +['WFBE_EASTMHQNAME','BTR90_HQ',true] Call SetNamespace; + +['WFBE_EASTSTRUCTURES',_v,true] Call SetNamespace; +['WFBE_EASTSTRUCTURENAMES',_n,true] Call SetNamespace; +['WFBE_EASTSTRUCTUREDESCRIPTIONS',_d,true] Call SetNamespace; +['WFBE_EASTSTRUCTURECOSTS',_c,true] Call SetNamespace; +['WFBE_EASTSTRUCTURETIMES',_t,true] Call SetNamespace; +['WFBE_EASTSTRUCTUREDISTANCES',_dis,true] Call SetNamespace; +['WFBE_EASTSTRUCTUREDIRECTIONS',_dir,true] Call SetNamespace; +['WFBE_EASTSTRUCTURESCRIPTS',_s,true] Call SetNamespace; + +/* Defenses */ +_n = ["RU_WarfareBMGNest_PK"]; +_n = _n + ["SearchLight_RUS"]; +_n = _n + ["KORD"]; +_n = _n + ["KORD_high"]; +_n = _n + ["AGS_RU"]; +_n = _n + ["SPG9_Ins"]; +_n = _n + ["Metis"]; +_n = _n + ["Igla_AA_pod_East"]; +_n = _n + ["ZU23_Ins"]; +_n = _n + ["2b14_82mm"]; +_n = _n + ["D30_RU"]; +_n = _n + ["Land_HBarrier3"]; +_n = _n + ["Land_HBarrier5"]; +_n = _n + ["Land_HBarrier_large"]; +_n = _n + ["Base_WarfareBBarrier5x"]; +_n = _n + ["Base_WarfareBBarrier10x"]; +_n = _n + ["Base_WarfareBBarrier10xTall"]; +_n = _n + ["MASH"]; +_n = _n + ["Land_fort_bagfence_long"]; +_n = _n + ["Land_fort_bagfence_corner"]; +_n = _n + ["Land_fort_bagfence_round"]; +_n = _n + ["Land_fortified_nest_small"]; +_n = _n + ["Land_fortified_nest_big"]; +_n = _n + ["Land_Fort_Watchtower"]; +_n = _n + ["Land_fort_rampart"]; +_n = _n + ["Land_fort_artillery_nest"]; +_n = _n + ["Hhedgehog_concreteBig"]; +_n = _n + ["Hedgehog"]; +_n = _n + ["Land_CamoNet_EAST"]; +_n = _n + ["Land_CamoNetVar_EAST"]; +_n = _n + ["Land_CamoNetB_EAST"]; +_n = _n + ["Sign_Danger"]; +_n = _n + ["HeliH"]; +_n = _n + ["Fort_RazorWire"]; +_n = _n + ["Land_Ind_IlluminantTower"]; +_n = _n + ["Land_Campfire"]; +_n = _n + ["RUOrdnanceBox"]; +_n = _n + ["RUVehicleBox"]; +_n = _n + ["RUBasicAmmunitionBox"]; +_n = _n + ["RUBasicWeaponsBox"]; +_n = _n + ["RULaunchersBox"]; +_n = _n + ["RUSpecialWeaponsBox"]; + +/* Class used for AI, AI will attempt to build those */ +['WFBE_EASTDEFENSES_MG',['KORD_high'],true] Call SetNamespace; +['WFBE_EASTDEFENSES_GL',['AGS_RU'],true] Call SetNamespace; +['WFBE_EASTDEFENSES_AAPOD',['Igla_AA_pod_East','ZU23_Ins'],true] Call SetNamespace; +['WFBE_EASTDEFENSES_ATPOD',['Metis','SPG9_Ins'],true] Call SetNamespace; +['WFBE_EASTDEFENSES_CANNON',['D30_RU'],true] Call SetNamespace; +['WFBE_EASTDEFENSES_MASH',['MASH'],true] Call SetNamespace; + +['WFBE_EASTDEFENSENAMES',_n,true] Call SetNamespace; \ No newline at end of file diff --git a/Common/Config/Core_Structures/Vanilla/Structures_USMC.sqf b/Common/Config/Core_Structures/Vanilla/Structures_USMC.sqf new file mode 100644 index 0000000..16ad994 --- /dev/null +++ b/Common/Config/Core_Structures/Vanilla/Structures_USMC.sqf @@ -0,0 +1,162 @@ +Private ['_c','_count','_d','_dir','_dis','_n','_s','_t','_v']; + +/* Root Definition */ +WESTHQ = "LAV25_HQ_unfolded"; +WESTBAR = "USMC_WarfareBBarracks"; +WESTLVF = "USMC_WarfareBLightFactory"; +WESTCC = "USMC_WarfareBUAVterminal"; +WESTHEAVY = "USMC_WarfareBHeavyFactory"; +WESTAIR = "USMC_WarfareBAircraftFactory"; +WESTSP = "USMC_WarfareBVehicleServicePoint"; +WESTAAR = "USMC_WarfareBAntiAirRadar"; + +/* Flag Textures */ +['WFBE_WESTFLAG','\Ca\Data\flag_usa_co.paa',true] Call SetNamespace; + +/* Mash used after being deployed */ +['WFBE_WESTFARP','Camp',true] Call SetNamespace; + +/* Construction Crates */ +['WFBE_WESTCONSTRUCTIONSITE','USMC_WarfareBContructionSite',true] Call SetNamespace; + +/* Structures */ +_v = ["Headquarters"]; +_n = [WESTHQ]; +_d = [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = [('WFBE_HQDEPLOYPRICE' Call GetNamespace)]; +_t = [if (WF_Debug) then {1} else {30}]; +_s = ["HQSite"]; +_dis = [15]; +_dir = [0]; + +_v = _v + ["Barracks"]; +_n = _n + [WESTBAR]; +_d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = _c + [200]; +_t = _t + [if (WF_Debug) then {1} else {70}]; +_s = _s + ["SmallSite"]; +_dis = _dis + [18]; +_dir = _dir + [90]; + +_v = _v + ["Light"]; +_n = _n + [WESTLVF]; +_d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = _c + [600]; +_t = _t + [if (WF_Debug) then {1} else {90}]; +_s = _s + ["MediumSite"]; +_dis = _dis + [25]; +_dir = _dir + [90]; + +_v = _v + ["CommandCenter"]; +_n = _n + [WESTCC]; +_d = _d + [localize "STR_WF_CommandCenter_USMC"]; +_c = _c + [1200]; +_t = _t + [if (WF_Debug) then {1} else {110}]; +_s = _s + ["SmallSite"]; +_dis = _dis + [20]; +_dir = _dir + [90]; + +_v = _v + ["Heavy"]; +_n = _n + [WESTHEAVY]; +_d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = _c + [2800]; +_t = _t + [if (WF_Debug) then {1} else {130}]; +_s = _s + ["MediumSite"]; +_dis = _dis + [25]; +_dir = _dir + [90]; + +_v = _v + ["Aircraft"]; +_n = _n + [WESTAIR]; +_d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = _c + [4400]; +_t = _t + [if (WF_Debug) then {1} else {150}]; +_s = _s + ["SmallSite"]; +_dis = _dis + [31]; +_dir = _dir + [90]; + +_v = _v + ["ServicePoint"]; +_n = _n + [WESTSP]; +_d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; +_c = _c + [700]; +_t = _t + [if (WF_Debug) then {1} else {70}]; +_s = _s + ["SmallSite"]; +_dis = _dis + [21]; +_dir = _dir + [90]; + +if (paramAARadar) then { + _v = _v + ["AARadar"]; + _n = _n + [WESTAAR]; + _d = _d + [getText (configFile >> "CfgVehicles" >> (_n select (count _n - 1)) >> "displayName")]; + _c = _c + [3200]; + _t = _t + [if (WF_Debug) then {1} else {280}]; + _s = _s + ["MediumSite"]; + _dis = _dis + [21]; + _dir = _dir + [90]; +}; + +for [{_count = count _v - 1},{_count >= 0},{_count = _count - 1}] do { + [Format["WFBE_WEST%1TYPE",_v select _count],_count,true] Call SetNamespace; +}; + +['WFBE_WESTMHQNAME','LAV25_HQ',true] Call SetNamespace; + +['WFBE_WESTSTRUCTURES',_v,true] Call SetNamespace; +['WFBE_WESTSTRUCTURENAMES',_n,true] Call SetNamespace; +['WFBE_WESTSTRUCTUREDESCRIPTIONS',_d,true] Call SetNamespace; +['WFBE_WESTSTRUCTURECOSTS',_c,true] Call SetNamespace; +['WFBE_WESTSTRUCTURETIMES',_t,true] Call SetNamespace; +['WFBE_WESTSTRUCTUREDISTANCES',_dis,true] Call SetNamespace; +['WFBE_WESTSTRUCTUREDIRECTIONS',_dir,true] Call SetNamespace; +['WFBE_WESTSTRUCTURESCRIPTS',_s,true] Call SetNamespace; + +/* Defenses */ +_n = ["USMC_WarfareBMGNest_M240"]; +_n = _n + ["M2HD_mini_TriPod"]; +_n = _n + ["M2StaticMG"]; +_n = _n + ["SearchLight"]; +_n = _n + ["MK19_TriPod"]; +_n = _n + ["TOW_TriPod"]; +_n = _n + ["Stinger_Pod"]; +_n = _n + ["M252"]; +_n = _n + ["M119"]; +_n = _n + ["Land_HBarrier3"]; +_n = _n + ["Land_HBarrier5"]; +_n = _n + ["Land_HBarrier_large"]; +_n = _n + ["Base_WarfareBBarrier5x"]; +_n = _n + ["Base_WarfareBBarrier10x"]; +_n = _n + ["Base_WarfareBBarrier10xTall"]; +_n = _n + ["MASH"]; +_n = _n + ["Land_fort_bagfence_long"]; +_n = _n + ["Land_fort_bagfence_corner"]; +_n = _n + ["Land_fort_bagfence_round"]; +_n = _n + ["Land_fortified_nest_small"]; +_n = _n + ["Land_fortified_nest_big"]; +_n = _n + ["Land_Fort_Watchtower"]; +_n = _n + ["Land_fort_rampart"]; +_n = _n + ["Land_fort_artillery_nest"]; +_n = _n + ["Hhedgehog_concreteBig"]; +_n = _n + ["Hedgehog"]; +_n = _n + ["Land_CamoNet_NATO"]; +_n = _n + ["Land_CamoNetVar_NATO"]; +_n = _n + ["Land_CamoNetB_NATO"]; +_n = _n + ["Sign_Danger"]; +_n = _n + ["HeliH"]; +_n = _n + ["Fort_RazorWire"]; +_n = _n + ["Land_Ind_IlluminantTower"]; +_n = _n + ["Land_Campfire"]; +_n = _n + ["USOrdnanceBox"]; +_n = _n + ["USVehicleBox"]; +_n = _n + ["USBasicAmmunitionBox"]; +_n = _n + ["USBasicWeaponsBox"]; +_n = _n + ["USLaunchersBox"]; +_n = _n + ["USSpecialWeaponsBox"]; + +/* Class used for AI, AI will attempt to build those */ +['WFBE_WESTDEFENSES_MG',['M2StaticMG'],true] Call SetNamespace; +['WFBE_WESTDEFENSES_GL',['MK19_TriPod'],true] Call SetNamespace; +['WFBE_WESTDEFENSES_AAPOD',['Stinger_Pod'],true] Call SetNamespace; +['WFBE_WESTDEFENSES_ATPOD',['TOW_TriPod'],true] Call SetNamespace; +['WFBE_WESTDEFENSES_CANNON',['M119'],true] Call SetNamespace; +['WFBE_WESTDEFENSES_MASH',['MASH'],true] Call SetNamespace; + +['WFBE_WESTDEFENSENAMES',_n,true] Call SetNamespace; \ No newline at end of file diff --git a/Common/Config/Core_Units/Arrowhead/Units_Aircraft_TK.sqf b/Common/Config/Core_Units/Arrowhead/Units_Aircraft_TK.sqf new file mode 100644 index 0000000..88c6e33 --- /dev/null +++ b/Common/Config/Core_Units/Arrowhead/Units_Aircraft_TK.sqf @@ -0,0 +1,20 @@ +Private ['_r','_u']; + +_r = 'WFBE_RESTRICTIONADVAIR' Call GetNamespace; + +/* Overall Configuration */ +['WFBE_EASTPILOT','TK_Soldier_Pilot_EP1',false] Call SetNamespace; + +/* Takistan Aircraft Vehicles */ +_u = ['Mi17_TK_EP1']; +_u = _u + ['UH1H_TK_EP1']; +if (_r == 0 ||_r == 1) then { + _u = _u + ['Mi24_D_TK_EP1']; +}; +if (_r == 0) then { + _u = _u + ['An2_TK_EP1']; + _u = _u + ['L39_TK_EP1']; + _u = _u + ['Su25_TK_EP1']; +}; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/Arrowhead/Units_Aircraft_TKA.sqf b/Common/Config/Core_Units/Arrowhead/Units_Aircraft_TKA.sqf new file mode 100644 index 0000000..3bdd836 --- /dev/null +++ b/Common/Config/Core_Units/Arrowhead/Units_Aircraft_TKA.sqf @@ -0,0 +1,17 @@ +Private ['_r','_u']; + +_r = 'WFBE_RESTRICTIONADVAIR' Call GetNamespace; + +//--- Takistan Aircraft Vehicles. +_u = ['Mi17_TK_EP1']; +_u = _u + ['UH1H_TK_EP1']; +if (_r == 0 ||_r == 1) then { + _u = _u + ['Mi24_D_TK_EP1']; +}; +if (_r == 0) then { + _u = _u + ['An2_TK_EP1']; + _u = _u + ['L39_TK_EP1']; + _u = _u + ['Su25_TK_EP1']; +}; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/Arrowhead/Units_Aircraft_US.sqf b/Common/Config/Core_Units/Arrowhead/Units_Aircraft_US.sqf new file mode 100644 index 0000000..3bc2ef5 --- /dev/null +++ b/Common/Config/Core_Units/Arrowhead/Units_Aircraft_US.sqf @@ -0,0 +1,27 @@ +Private ['_r','_u']; + +_r = 'WFBE_RESTRICTIONADVAIR' Call GetNamespace; + +//--- US Aircraft Vehicles. +_u = ['MH6J_EP1']; +_u = _u + ['UH60M_EP1']; +_u = _u + ['UH60M_MEV_EP1']; +_u = _u + ['CH_47F_EP1']; +if (_r == 0 || _r == 1) then { + _u = _u + ['AH6J_EP1']; + _u = _u + ['AH64D_EP1']; +}; +if (_r == 0) then { + _u = _u + ['C130J_US_EP1']; + _u = _u + ['A10_US_EP1']; +}; +if (paramDLCBAF) then { + _u = _u + ['BAF_Merlin_HC3_D']; + _u = _u + ['CH_47F_BAF']; + if (_r == 0 || _r == 1) then { + _u = _u + ['AW159_Lynx_BAF']; + _u = _u + ['BAF_Apache_AH1_D']; + }; +}; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/Arrowhead/Units_Airport_TK.sqf b/Common/Config/Core_Units/Arrowhead/Units_Airport_TK.sqf new file mode 100644 index 0000000..6af99f5 --- /dev/null +++ b/Common/Config/Core_Units/Arrowhead/Units_Airport_TK.sqf @@ -0,0 +1,13 @@ +Private ['_r','_u']; + +_r = 'WFBE_RESTRICTIONADVAIR' Call GetNamespace; + +/* Takistan Airport Vehicles */ +_u = []; +if (_r == 0) then { + _u = _u + ['An2_TK_EP1']; + _u = _u + ['L39_TK_EP1']; + _u = _u + ['Su25_TK_EP1']; +}; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/Arrowhead/Units_Airport_TKA.sqf b/Common/Config/Core_Units/Arrowhead/Units_Airport_TKA.sqf new file mode 100644 index 0000000..6af99f5 --- /dev/null +++ b/Common/Config/Core_Units/Arrowhead/Units_Airport_TKA.sqf @@ -0,0 +1,13 @@ +Private ['_r','_u']; + +_r = 'WFBE_RESTRICTIONADVAIR' Call GetNamespace; + +/* Takistan Airport Vehicles */ +_u = []; +if (_r == 0) then { + _u = _u + ['An2_TK_EP1']; + _u = _u + ['L39_TK_EP1']; + _u = _u + ['Su25_TK_EP1']; +}; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/Arrowhead/Units_Airport_US.sqf b/Common/Config/Core_Units/Arrowhead/Units_Airport_US.sqf new file mode 100644 index 0000000..a58e6a0 --- /dev/null +++ b/Common/Config/Core_Units/Arrowhead/Units_Airport_US.sqf @@ -0,0 +1,12 @@ +Private ['_r','_u']; + +_r = 'WFBE_RESTRICTIONADVAIR' Call GetNamespace; + +/* US Airport Vehicles */ +_u = []; +if (_r == 0) then { + _u = _u + ['C130J_US_EP1']; + _u = _u + ['A10_US_EP1']; +}; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/Arrowhead/Units_Barracks_TK.sqf b/Common/Config/Core_Units/Arrowhead/Units_Barracks_TK.sqf new file mode 100644 index 0000000..7ebe052 --- /dev/null +++ b/Common/Config/Core_Units/Arrowhead/Units_Barracks_TK.sqf @@ -0,0 +1,33 @@ +Private ['_tiMode','_u']; + +/* Overall Configuration */ +['WFBE_EASTSOLDIER','TK_Soldier_EP1',false] Call SetNamespace; + +_tiMode = 'WFBE_THERMALIMAGING' Call GetNamespace; +_tiMode = if (_tiMode == 1 || _tiMode == 3) then {true} else {false}; + +/* Takistan Troops */ +_u = ['TK_Soldier_EP1']; +_u = _u + ['TK_Soldier_B_EP1']; +if (_tiMode) then { + _u = _u + ['TK_Soldier_TWS_EP1']; +}; +_u = _u + ['TK_Soldier_Engineer_EP1']; +_u = _u + ['TK_Soldier_LAT_EP1']; +_u = _u + ['TK_Soldier_AT_EP1']; +_u = _u + ['TK_Soldier_HAT_EP1']; +_u = _u + ['TK_Soldier_AA_EP1']; +_u = _u + ['TK_Soldier_AR_EP1']; +_u = _u + ['TK_Soldier_MG_EP1']; +_u = _u + ['TK_Soldier_GL_EP1']; +_u = _u + ['TK_Soldier_Spotter_EP1']; +_u = _u + ['TK_Soldier_Medic_EP1']; +_u = _u + ['TK_Special_Forces_EP1']; +_u = _u + ['TK_Special_Forces_TL_EP1']; +_u = _u + ['TK_Special_Forces_MG_EP1']; +_u = _u + ['TK_Soldier_Crew_EP1']; +_u = _u + ['TK_Soldier_Pilot_EP1']; +_u = _u + ['TK_Soldier_SL_EP1']; +_u = _u + ['TK_Soldier_Officer_EP1']; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/Arrowhead/Units_Barracks_TKA.sqf b/Common/Config/Core_Units/Arrowhead/Units_Barracks_TKA.sqf new file mode 100644 index 0000000..c8533b0 --- /dev/null +++ b/Common/Config/Core_Units/Arrowhead/Units_Barracks_TKA.sqf @@ -0,0 +1,34 @@ +Private ['_tiMode','_u']; + +_tiMode = 'WFBE_THERMALIMAGING' Call GetNamespace; +_tiMode = if (_tiMode == 1 || _tiMode == 3) then {true} else {false}; + +//--- Takistan Army Troops. +_u = ['TK_Soldier_EP1']; +_u = _u + ['TK_Soldier_B_EP1']; +if (_tiMode) then { + _u = _u + ['TK_Soldier_TWS_EP1']; +}; +_u = _u + ['TK_Soldier_Engineer_EP1']; +_u = _u + ['TK_Soldier_LAT_EP1']; +_u = _u + ['TK_Soldier_AAT_EP1']; +_u = _u + ['TK_Soldier_AT_EP1']; +_u = _u + ['TK_Soldier_HAT_EP1']; +_u = _u + ['TK_Soldier_AA_EP1']; +_u = _u + ['TK_Soldier_AR_EP1']; +_u = _u + ['TK_Soldier_AMG_EP1']; +_u = _u + ['TK_Soldier_MG_EP1']; +_u = _u + ['TK_Soldier_GL_EP1']; +_u = _u + ['TK_Soldier_Spotter_EP1']; +_u = _u + ['TK_Soldier_Sniper_EP1']; +_u = _u + ['TK_Soldier_SniperH_EP1']; +_u = _u + ['TK_Soldier_Medic_EP1']; +_u = _u + ['TK_Special_Forces_EP1']; +_u = _u + ['TK_Special_Forces_TL_EP1']; +_u = _u + ['TK_Special_Forces_MG_EP1']; +_u = _u + ['TK_Soldier_Crew_EP1']; +_u = _u + ['TK_Soldier_Pilot_EP1']; +_u = _u + ['TK_Soldier_SL_EP1']; +_u = _u + ['TK_Soldier_Officer_EP1']; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/Arrowhead/Units_Barracks_TKGUE.sqf b/Common/Config/Core_Units/Arrowhead/Units_Barracks_TKGUE.sqf new file mode 100644 index 0000000..af2038e --- /dev/null +++ b/Common/Config/Core_Units/Arrowhead/Units_Barracks_TKGUE.sqf @@ -0,0 +1,20 @@ +Private ['_u']; + +/* Takistan Guerilla Troops */ +_u = ['TK_GUE_Soldier_EP1']; +_u = _u + ['TK_GUE_Soldier_2_EP1']; +_u = _u + ['TK_GUE_Soldier_3_EP1']; +_u = _u + ['TK_GUE_Soldier_4_EP1']; +_u = _u + ['TK_GUE_Soldier_5_EP1']; +_u = _u + ['TK_GUE_Soldier_AT_EP1']; +_u = _u + ['TK_GUE_Soldier_AAT_EP1']; +_u = _u + ['TK_GUE_Soldier_AA_EP1']; +_u = _u + ['TK_GUE_Soldier_AR_EP1']; +_u = _u + ['TK_GUE_Soldier_MG_EP1']; +_u = _u + ['TK_GUE_Soldier_Sniper_EP1']; +_u = _u + ['TK_GUE_Bonesetter_EP1']; +_u = _u + ['TK_GUE_Soldier_HAT_EP1']; +_u = _u + ['TK_GUE_Soldier_TL_EP1']; +_u = _u + ['TK_GUE_Warlord_EP1']; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/Arrowhead/Units_Barracks_US.sqf b/Common/Config/Core_Units/Arrowhead/Units_Barracks_US.sqf new file mode 100644 index 0000000..ee77cc0 --- /dev/null +++ b/Common/Config/Core_Units/Arrowhead/Units_Barracks_US.sqf @@ -0,0 +1,132 @@ +Private ['_u']; + +//--- US Troops. +_u = ['US_Soldier_Light_EP1']; +_u = _u + ['US_Soldier_EP1']; +_u = _u + ['US_Soldier_B_EP1']; +_u = _u + ['US_Soldier_LAT_EP1']; +_u = _u + ['US_Soldier_AT_EP1']; +_u = _u + ['US_Soldier_HAT_EP1']; +_u = _u + ['US_Soldier_AA_EP1']; +_u = _u + ['US_Soldier_AR_EP1']; +_u = _u + ['US_Soldier_MG_EP1']; +_u = _u + ['US_Soldier_GL_EP1']; +_u = _u + ['US_Soldier_Sniper_EP1']; +_u = _u + ['US_Soldier_SniperH_EP1']; +_u = _u + ['US_Soldier_Sniper_NV_EP1']; +_u = _u + ['US_Soldier_Marksman_EP1']; +_u = _u + ['US_Soldier_Medic_EP1']; +_u = _u + ['US_Soldier_Engineer_EP1']; +_u = _u + ['US_Soldier_AMG_EP1']; +_u = _u + ['US_Soldier_AAR_EP1']; +_u = _u + ['US_Soldier_AHAT_EP1']; +_u = _u + ['US_Soldier_AAT_EP1']; +_u = _u + ['US_Soldier_Spotter_EP1']; +_u = _u + ['US_Soldier_TL_EP1']; +_u = _u + ['US_Soldier_SL_EP1']; +_u = _u + ['US_Soldier_Officer_EP1']; +_u = _u + ['US_Soldier_Crew_EP1']; +_u = _u + ['US_Soldier_Pilot_EP1']; +_u = _u + ['US_Delta_Force_EP1']; +_u = _u + ['US_Delta_Force_TL_EP1']; +_u = _u + ['US_Delta_Force_Medic_EP1']; +_u = _u + ['US_Delta_Force_Assault_EP1']; +_u = _u + ['US_Delta_Force_SD_EP1']; +_u = _u + ['US_Delta_Force_MG_EP1']; +_u = _u + ['US_Delta_Force_AR_EP1']; +_u = _u + ['US_Delta_Force_Night_EP1']; +_u = _u + ['US_Delta_Force_Marksman_EP1']; +_u = _u + ['US_Delta_Force_M14_EP1']; +_u = _u + ['US_Delta_Force_Air_Controller_EP1']; +if (paramDLCBAF) then { + //--- BAF MTP Camo. + _u = _u + ['BAF_Soldier_AA_MTP']; + _u = _u + ['BAF_Soldier_AAA_MTP']; + _u = _u + ['BAF_Soldier_AAT_MTP']; + _u = _u + ['BAF_Soldier_AHAT_MTP']; + _u = _u + ['BAF_Soldier_AAR_MTP']; + _u = _u + ['BAF_Soldier_AMG_MTP']; + _u = _u + ['BAF_Soldier_AT_MTP']; + _u = _u + ['BAF_Soldier_HAT_MTP']; + _u = _u + ['BAF_Soldier_AR_MTP']; + _u = _u + ['BAF_crewman_MTP']; + _u = _u + ['BAF_Soldier_EN_MTP']; + _u = _u + ['BAF_Soldier_GL_MTP']; + _u = _u + ['BAF_Soldier_FAC_MTP']; + _u = _u + ['BAF_Soldier_MG_MTP']; + _u = _u + ['BAF_Soldier_scout_MTP']; + _u = _u + ['BAF_Soldier_Marksman_MTP']; + _u = _u + ['BAF_Soldier_Medic_MTP']; + _u = _u + ['BAF_Soldier_Officer_MTP']; + _u = _u + ['BAF_Pilot_MTP']; + _u = _u + ['BAF_Soldier_MTP']; + _u = _u + ['BAF_ASoldier_MTP']; + _u = _u + ['BAF_Soldier_L_MTP']; + _u = _u + ['BAF_Soldier_N_MTP']; + _u = _u + ['BAF_Soldier_SL_MTP']; + _u = _u + ['BAF_Soldier_SniperN_MTP']; + _u = _u + ['BAF_Soldier_SniperH_MTP']; + _u = _u + ['BAF_Soldier_Sniper_MTP']; + _u = _u + ['BAF_Soldier_spotter_MTP']; + _u = _u + ['BAF_Soldier_spotterN_MTP']; + _u = _u + ['BAF_Soldier_TL_MTP']; + //--- BAF Woodland Camo + _u = _u + ['BAF_Soldier_AA_W']; + _u = _u + ['BAF_Soldier_AAA_W']; + _u = _u + ['BAF_Soldier_AAT_W']; + _u = _u + ['BAF_Soldier_AHAT_W']; + _u = _u + ['BAF_Soldier_AAR_W']; + _u = _u + ['BAF_Soldier_AMG_W']; + _u = _u + ['BAF_Soldier_AT_W']; + _u = _u + ['BAF_Soldier_HAT_W']; + _u = _u + ['BAF_Soldier_AR_W']; + _u = _u + ['BAF_crewman_W']; + _u = _u + ['BAF_Soldier_EN_W']; + _u = _u + ['BAF_Soldier_GL_W']; + _u = _u + ['BAF_Soldier_FAC_W']; + _u = _u + ['BAF_Soldier_MG_W']; + _u = _u + ['BAF_Soldier_scout_W']; + _u = _u + ['BAF_Soldier_Marksman_W']; + _u = _u + ['BAF_Soldier_Medic_W']; + _u = _u + ['BAF_Soldier_Officer_W']; + _u = _u + ['BAF_Pilot_W']; + _u = _u + ['BAF_Soldier_W']; + _u = _u + ['BAF_ASoldier_W']; + _u = _u + ['BAF_Soldier_L_W']; + _u = _u + ['BAF_Soldier_N_W']; + _u = _u + ['BAF_Soldier_SL_W']; + _u = _u + ['BAF_Soldier_SniperN_W']; + _u = _u + ['BAF_Soldier_SniperH_W']; + _u = _u + ['BAF_Soldier_Sniper_W']; + _u = _u + ['BAF_Soldier_spotter_W']; + _u = _u + ['BAF_Soldier_spotterN_W']; + _u = _u + ['BAF_Soldier_TL_W']; + //--- BAF Desert Camo + _u = _u + ['BAF_Soldier_AA_DDPM']; + _u = _u + ['BAF_Soldier_AAA_DDPM']; + _u = _u + ['BAF_Soldier_AAT_DDPM']; + _u = _u + ['BAF_Soldier_AHAT_DDPM']; + _u = _u + ['BAF_Soldier_AAR_DDPM']; + _u = _u + ['BAF_Soldier_AMG_DDPM']; + _u = _u + ['BAF_Soldier_AT_DDPM']; + _u = _u + ['BAF_Soldier_HAT_DDPM']; + _u = _u + ['BAF_Soldier_AR_DDPM']; + _u = _u + ['BAF_crewman_DDPM']; + _u = _u + ['BAF_Soldier_EN_DDPM']; + _u = _u + ['BAF_Soldier_GL_DDPM']; + _u = _u + ['BAF_Soldier_FAC_DDPM']; + _u = _u + ['BAF_Soldier_MG_DDPM']; + _u = _u + ['BAF_Soldier_scout_DDPM']; + _u = _u + ['BAF_Soldier_Marksman_DDPM']; + _u = _u + ['BAF_Soldier_Medic_DDPM']; + _u = _u + ['BAF_Soldier_Officer_DDPM']; + _u = _u + ['BAF_Pilot_DDPM']; + _u = _u + ['BAF_Soldier_DDPM']; + _u = _u + ['BAF_ASoldier_DDPM']; + _u = _u + ['BAF_Soldier_L_DDPM']; + _u = _u + ['BAF_Soldier_N_DDPM']; + _u = _u + ['BAF_Soldier_SL_DDPM']; + _u = _u + ['BAF_Soldier_TL_DDPM']; +}; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/Arrowhead/Units_Depot_TK.sqf b/Common/Config/Core_Units/Arrowhead/Units_Depot_TK.sqf new file mode 100644 index 0000000..c4ce1d1 --- /dev/null +++ b/Common/Config/Core_Units/Arrowhead/Units_Depot_TK.sqf @@ -0,0 +1,15 @@ +Private ['_u']; + +/* Takistan Depot Vehicles */ +_u = ["Old_bike_TK_CIV_EP1"]; +_u = _u + ["TT650_TK_CIV_EP1"]; +_u = _u + ["Lada2_TK_CIV_EP1"]; +_u = _u + ["VolhaLimo_TK_CIV_EP1"]; +_u = _u + ["Volha_2_TK_CIV_EP1"]; +_u = _u + ["Ural_TK_CIV_EP1"]; +_u = _u + ["S1203_TK_CIV_EP1"]; +if (paramPurchaseInfDepot) then { + _u = _u + ['WFBE_EASTSOLDIER' Call GetNamespace]; +}; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/Arrowhead/Units_Depot_TKA.sqf b/Common/Config/Core_Units/Arrowhead/Units_Depot_TKA.sqf new file mode 100644 index 0000000..c4ce1d1 --- /dev/null +++ b/Common/Config/Core_Units/Arrowhead/Units_Depot_TKA.sqf @@ -0,0 +1,15 @@ +Private ['_u']; + +/* Takistan Depot Vehicles */ +_u = ["Old_bike_TK_CIV_EP1"]; +_u = _u + ["TT650_TK_CIV_EP1"]; +_u = _u + ["Lada2_TK_CIV_EP1"]; +_u = _u + ["VolhaLimo_TK_CIV_EP1"]; +_u = _u + ["Volha_2_TK_CIV_EP1"]; +_u = _u + ["Ural_TK_CIV_EP1"]; +_u = _u + ["S1203_TK_CIV_EP1"]; +if (paramPurchaseInfDepot) then { + _u = _u + ['WFBE_EASTSOLDIER' Call GetNamespace]; +}; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/Arrowhead/Units_Depot_US.sqf b/Common/Config/Core_Units/Arrowhead/Units_Depot_US.sqf new file mode 100644 index 0000000..1d794c9 --- /dev/null +++ b/Common/Config/Core_Units/Arrowhead/Units_Depot_US.sqf @@ -0,0 +1,15 @@ +Private ['_u']; + +/* US Depot Vehicles */ +_u = ["Old_bike_TK_CIV_EP1"]; +_u = _u + ["Old_moto_TK_Civ_EP1"]; +_u = _u + ["Lada1_TK_CIV_EP1"]; +_u = _u + ["Volha_1_TK_CIV_EP1"]; +_u = _u + ["LandRover_TK_CIV_EP1"]; +_u = _u + ["V3S_Open_TK_CIV_EP1"]; +_u = _u + ["Ikarus_TK_CIV_EP1"]; +if (paramPurchaseInfDepot) then { + _u = _u + ['WFBE_WESTSOLDIER' Call GetNamespace]; +}; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/Arrowhead/Units_Heavy_TK.sqf b/Common/Config/Core_Units/Arrowhead/Units_Heavy_TK.sqf new file mode 100644 index 0000000..56a50ab --- /dev/null +++ b/Common/Config/Core_Units/Arrowhead/Units_Heavy_TK.sqf @@ -0,0 +1,14 @@ +Private ['_u']; + +/* Overall Configuration */ +['WFBE_EASTCREW','TK_Soldier_Crew_EP1',false] Call SetNamespace; + +/* Takistan Heavy Vehicles */ +_u = ['M113_TK_EP1']; +_u = _u + ['BMP2_TK_EP1']; +_u = _u + ['ZSU_TK_EP1']; +_u = _u + ['T34_TK_EP1']; +_u = _u + ['T55_TK_EP1']; +_u = _u + ['T72_TK_EP1']; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/Arrowhead/Units_Heavy_TKA.sqf b/Common/Config/Core_Units/Arrowhead/Units_Heavy_TKA.sqf new file mode 100644 index 0000000..96e02cd --- /dev/null +++ b/Common/Config/Core_Units/Arrowhead/Units_Heavy_TKA.sqf @@ -0,0 +1,11 @@ +Private ['_u']; + +//--- Takistan Heavy Vehicles. +_u = ['M113_TK_EP1']; +_u = _u + ['BMP2_TK_EP1']; +_u = _u + ['ZSU_TK_EP1']; +_u = _u + ['T34_TK_EP1']; +_u = _u + ['T55_TK_EP1']; +_u = _u + ['T72_TK_EP1']; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/Arrowhead/Units_Heavy_TKGUE.sqf b/Common/Config/Core_Units/Arrowhead/Units_Heavy_TKGUE.sqf new file mode 100644 index 0000000..5be4eaa --- /dev/null +++ b/Common/Config/Core_Units/Arrowhead/Units_Heavy_TKGUE.sqf @@ -0,0 +1,7 @@ +Private ['_u']; + +/* Takistan Guerilla Heavy Vehicles */ +_u = ['T34_TK_GUE_EP1']; +_u = _u + ['T55_TK_GUE_EP1']; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/Arrowhead/Units_Heavy_US.sqf b/Common/Config/Core_Units/Arrowhead/Units_Heavy_US.sqf new file mode 100644 index 0000000..317afe0 --- /dev/null +++ b/Common/Config/Core_Units/Arrowhead/Units_Heavy_US.sqf @@ -0,0 +1,21 @@ +Private ['_u']; + +//--- US Heavy Vehicles. +_u = ['M1126_ICV_M2_EP1']; +_u = _u + ['M1126_ICV_mk19_EP1']; +_u = _u + ['M1129_MC_EP1']; +_u = _u + ['M1135_ATGMV_EP1']; +_u = _u + ['M1128_MGS_EP1']; +_u = _u + ['M1133_MEV_EP1']; +_u = _u + ['M2A2_EP1']; +_u = _u + ['M2A3_EP1']; +_u = _u + ['M1A1_US_DES_EP1']; +_u = _u + ['MLRS_DES_EP1']; +_u = _u + ['M1A2_US_TUSK_MG_EP1']; +_u = _u + ['M6_EP1']; +if (paramDLCBAF) then { + _u = _u + ['BAF_FV510_W']; + _u = _u + ['BAF_FV510_D']; +}; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/Arrowhead/Units_Light_TK.sqf b/Common/Config/Core_Units/Arrowhead/Units_Light_TK.sqf new file mode 100644 index 0000000..3e7032c --- /dev/null +++ b/Common/Config/Core_Units/Arrowhead/Units_Light_TK.sqf @@ -0,0 +1,29 @@ +Private ['_u']; + +/* Overall Configuration */ +['WFBE_EASTREPAIRTRUCK','UralRepair_TK_EP1',false] Call SetNamespace; +['WFBE_EASTSUPPLYTRUCK','UralSupply_TK_EP1',false] Call SetNamespace; + +/* Takistan Light Vehicles */ +_u = ['TT650_TK_EP1']; +_u = _u + ['UAZ_Unarmed_TK_EP1']; +_u = _u + ['SUV_TK_EP1']; +_u = _u + ['UAZ_MG_TK_EP1']; +_u = _u + ['UAZ_AGS30_TK_EP1']; +_u = _u + ['LandRover_MG_TK_EP1']; +_u = _u + ['LandRover_SPG9_TK_EP1']; +_u = _u + ['V3S_TK_EP1']; +_u = _u + ['V3S_Open_TK_EP1']; +_u = _u + ['UralRepair_TK_EP1']; +_u = _u + ['UralReammo_TK_EP1']; +_u = _u + ['UralRefuel_TK_EP1']; +_u = _u + ['UralSalvage_TK_EP1']; +if (('WFBE_SUPPLYSYSTEM' Call GetNamespace) == 0) then {_u = _u + ['UralSupply_TK_EP1']}; +_u = _u + ['M113Ambul_TK_EP1']; +_u = _u + ['BRDM2_TK_EP1']; +_u = _u + ['BRDM2_ATGM_TK_EP1']; +_u = _u + ['BTR60_TK_EP1']; +_u = _u + ['Ural_ZU23_TK_EP1']; +_u = _u + ['GRAD_TK_EP1']; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/Arrowhead/Units_Light_TKA.sqf b/Common/Config/Core_Units/Arrowhead/Units_Light_TKA.sqf new file mode 100644 index 0000000..5021e16 --- /dev/null +++ b/Common/Config/Core_Units/Arrowhead/Units_Light_TKA.sqf @@ -0,0 +1,25 @@ +Private ['_u']; + +//--- Takistan Light Vehicles. +_u = ['TT650_TK_EP1']; +_u = _u + ['UAZ_Unarmed_TK_EP1']; +_u = _u + ['SUV_TK_EP1']; +_u = _u + ['UAZ_MG_TK_EP1']; +_u = _u + ['UAZ_AGS30_TK_EP1']; +_u = _u + ['LandRover_MG_TK_EP1']; +_u = _u + ['LandRover_SPG9_TK_EP1']; +_u = _u + ['V3S_TK_EP1']; +_u = _u + ['V3S_Open_TK_EP1']; +_u = _u + ['UralRepair_TK_EP1']; +_u = _u + ['UralReammo_TK_EP1']; +_u = _u + ['UralRefuel_TK_EP1']; +_u = _u + ['UralSalvage_TK_EP1']; +if (('WFBE_SUPPLYSYSTEM' Call GetNamespace) == 0) then {_u = _u + ['UralSupply_TK_EP1']}; +_u = _u + ['M113Ambul_TK_EP1']; +_u = _u + ['BRDM2_TK_EP1']; +_u = _u + ['BRDM2_ATGM_TK_EP1']; +_u = _u + ['BTR60_TK_EP1']; +_u = _u + ['Ural_ZU23_TK_EP1']; +_u = _u + ['GRAD_TK_EP1']; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/Arrowhead/Units_Light_TKGUE.sqf b/Common/Config/Core_Units/Arrowhead/Units_Light_TKGUE.sqf new file mode 100644 index 0000000..00736e9 --- /dev/null +++ b/Common/Config/Core_Units/Arrowhead/Units_Light_TKGUE.sqf @@ -0,0 +1,13 @@ +Private ['_u']; + +/* Takistan Guerilla Light Vehicles */ +_u = ['V3S_TK_GUE_EP1']; +_u = _u + ['Pickup_PK_TK_GUE_EP1']; +_u = _u + ['Offroad_DSHKM_TK_GUE_EP1']; +_u = _u + ['Offroad_SPG9_TK_GUE_EP1']; +_u = _u + ['BRDM2_TK_GUE_EP1']; +_u = _u + ['BTR40_TK_GUE_EP1']; +_u = _u + ['BTR40_MG_TK_GUE_EP1']; +_u = _u + ['Ural_ZU23_TK_GUE_EP1']; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/Arrowhead/Units_Light_US.sqf b/Common/Config/Core_Units/Arrowhead/Units_Light_US.sqf new file mode 100644 index 0000000..8e5def5 --- /dev/null +++ b/Common/Config/Core_Units/Arrowhead/Units_Light_US.sqf @@ -0,0 +1,34 @@ +Private ['_u']; + +//--- US Light Vehicles. +_u = ['M1030_US_DES_EP1']; +_u = _u + ['ATV_US_EP1']; +_u = _u + ['HMMWV_DES_EP1']; +_u = _u + ['HMMWV_M1035_DES_EP1']; +_u = _u + ['HMMWV_Terminal_EP1']; +_u = _u + ['HMMWV_MK19_DES_EP1']; +_u = _u + ['HMMWV_M998A2_SOV_DES_EP1']; +_u = _u + ['HMMWV_M1151_M2_DES_EP1']; +_u = _u + ['HMMWV_M998_crows_M2_DES_EP1']; +_u = _u + ['HMMWV_M998_crows_MK19_DES_EP1']; +_u = _u + ['HMMWV_TOW_DES_EP1']; +_u = _u + ['HMMWV_Avenger_DES_EP1']; +_u = _u + ['HMMWV_Ambulance_DES_EP1']; +_u = _u + ['MTVR_DES_EP1']; +_u = _u + ['MtvrRepair_DES_EP1']; +_u = _u + ['MtvrReammo_DES_EP1']; +_u = _u + ['MtvrRefuel_DES_EP1']; +_u = _u + ['MtvrSalvage_DES_EP1']; +if (('WFBE_SUPPLYSYSTEM' Call GetNamespace) == 0) then {_u = _u + ['MtvrSupply_DES_EP1']}; +if (paramDLCBAF) then { + _u = _u + ['BAF_ATV_W']; + _u = _u + ['BAF_Offroad_W']; + _u = _u + ['BAF_Jackal2_GMG_W']; + _u = _u + ['BAF_Jackal2_L2A1_W']; + _u = _u + ['BAF_ATV_D']; + _u = _u + ['BAF_Offroad_D']; + _u = _u + ['BAF_Jackal2_GMG_D']; + _u = _u + ['BAF_Jackal2_L2A1_D']; +}; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/Arrowhead/Units_Special_TKA.sqf b/Common/Config/Core_Units/Arrowhead/Units_Special_TKA.sqf new file mode 100644 index 0000000..379beb7 --- /dev/null +++ b/Common/Config/Core_Units/Arrowhead/Units_Special_TKA.sqf @@ -0,0 +1,70 @@ +//--- Radio Announcer. +['WFBE_EASTANNOUNCERS',['WFHQ_TK0_EP1','WFHQ_TK1_EP1','WFHQ_TK2_EP1','WFHQ_TK3_EP1','WFHQ_TK4_EP1'],true] Call SetNamespace; + +//--- Crew model. +['WFBE_EASTCREW','TK_Soldier_Crew_EP1',true] Call SetNamespace; + +//--- Pilot model. +['WFBE_EASTPILOT','TK_Soldier_Pilot_EP1',true] Call SetNamespace; + +//--- Soldier model. +['WFBE_EASTSOLDIER','TK_Soldier_EP1',true] Call SetNamespace; + +//--- Ambulances. +['WFBE_EASTAMBULANCES',['M113Ambul_TK_EP1'],true] Call SetNamespace; + +//--- Repair Trucks. +['WFBE_EASTREPAIRTRUCKS',['UralRepair_TK_EP1'],true] Call SetNamespace; + +//--- Salvage Trucks. +['WFBE_EASTSALVAGETRUCK',['UralSalvage_TK_EP1'],true] Call SetNamespace; + +//--- Supply Trucks. +['WFBE_EASTSUPPLYTRUCKS',['UralSupply_TK_EP1'],true] Call SetNamespace; + +//--- UAV. +['WFBE_EASTUAV','',true] Call SetNamespace; + +if (isServer) then { + //--- Base Patrols. + if (paramBasePatrols) then { + ['WFBE_EASTBASEPATROLS_0',['TK_Soldier_SL_EP1','TK_Soldier_EP1','TK_Soldier_EP1','TK_Soldier_AR_EP1','TK_Soldier_GL_EP1','TK_Soldier_MG_EP1'],true] Call SetNamespace; + ['WFBE_EASTBASEPATROLS_1',['TK_Soldier_SL_EP1','TK_Soldier_EP1','TK_Soldier_EP1','TK_Soldier_MG_EP1','TK_Soldier_LAT_EP1','TK_Soldier_Medic_EP1'],true] Call SetNamespace; + ['WFBE_EASTBASEPATROLS_2',['TK_Soldier_SL_EP1','TK_Soldier_EP1','TK_Soldier_EP1','TK_Soldier_AT_EP1','TK_Soldier_AA_EP1','TK_Soldier_Spotter_EP1'],true] Call SetNamespace; + ['WFBE_EASTBASEPATROLS_3',['TK_Soldier_SL_EP1','TK_Soldier_EP1','TK_Soldier_AR_EP1','TK_Soldier_HAT_EP1','TK_Soldier_LAT_EP1','TK_Soldier_GL_EP1'],true] Call SetNamespace; + }; + + //--- Paratroopers. + ['WFBE_EASTPARACHUTELEVEL1',['TK_Soldier_SL_EP1','TK_Soldier_LAT_EP1','TK_Soldier_EP1','TK_Soldier_LAT_EP1','TK_Soldier_AR_EP1','TK_Soldier_Medic_EP1'],true] Call SetNamespace; + ['WFBE_EASTPARACHUTELEVEL2',['TK_Soldier_SL_EP1','TK_Soldier_AT_EP1','TK_Soldier_AT_EP1','TK_Soldier_AT_EP1','TK_Soldier_AA_EP1','TK_Soldier_MG_EP1','TK_Soldier_Medic_EP1','TK_Soldier_Sniper_EP1','TK_Soldier_Spotter_EP1'],true] Call SetNamespace; + ['WFBE_EASTPARACHUTELEVEL3',['TK_Special_Forces_TL_EP1','TK_Soldier_HAT_EP1','TK_Soldier_HAT_EP1','TK_Soldier_HAT_EP1','TK_Soldier_HAT_EP1','TK_Soldier_HAT_EP1','TK_Soldier_AA_EP1','TK_Soldier_AA_EP1','TK_Special_Forces_MG_EP1','TK_Special_Forces_EP1','TK_Special_Forces_EP1','TK_Special_Forces_EP1'],true] Call SetNamespace; + + //--- Paratroopers, Vehicle. + ['WFBE_EASTPARACARGO','Mi17_TK_EP1',true] Call SetNamespace; + + //--- Repair Truck model. + ['WFBE_EASTREPAIRTRUCK','UralRepair_TK_EP1',true] Call SetNamespace; + + //--- Starting Vehicles. + ['WFBE_EASTSTARTINGVEHICLES',['M113Ambul_TK_EP1','V3S_TK_EP1'],true] Call SetNamespace; + + //--- Supply Paradropping, Dropped Ammunition. + ['WFBE_EASTPARAAMMO',['TKBasicAmmunitionBox_EP1','TKBasicWeapons_EP1','TKLaunchers_EP1'],true] Call SetNamespace; + + //--- Supply Paradropping, Dropped Vehicle. + ['WFBE_EASTPARAVEHICARGO','UAZ_Unarmed_TK_EP1',true] Call SetNamespace; + + //--- Supply Paradropping, Vehicle. + ['WFBE_EASTPARAVEHI','Mi17_TK_EP1',true] Call SetNamespace; + + //--- Supply Paradropping, Parachute Model. + ['WFBE_EASTPARACHUTE','ParachuteMediumEast_EP1',true] Call SetNamespace; + + //--- Supply Truck model. + ['WFBE_EASTSUPPLYTRUCK','UralSupply_TK_EP1',true] Call SetNamespace; +}; + +if (local player) then { + //--- Default Faction (Buy Menu), this is the faction name defined in core_xxx.sqf files. + ['WFBE_EASTDEFAULTFACTION','Takistani Army',true] Call SetNamespace; +}; \ No newline at end of file diff --git a/Common/Config/Core_Units/Arrowhead/Units_Special_US.sqf b/Common/Config/Core_Units/Arrowhead/Units_Special_US.sqf new file mode 100644 index 0000000..5ed76c1 --- /dev/null +++ b/Common/Config/Core_Units/Arrowhead/Units_Special_US.sqf @@ -0,0 +1,70 @@ +//--- Radio Announcer. +['WFBE_WESTANNOUNCERS',['WFHQ_EN0_EP1','WFHQ_EN1_EP1','WFHQ_EN2_EP1','WFHQ_EN3_EP1','WFHQ_EN4_EP1','WFHQ_EN5_EP1'],true] Call SetNamespace; + +//--- Crew model. +['WFBE_WESTCREW','US_Soldier_Crew_EP1',true] Call SetNamespace; + +//--- Pilot model. +['WFBE_WESTPILOT','US_Soldier_Pilot_EP1',true] Call SetNamespace; + +//--- Soldier model. +['WFBE_WESTSOLDIER','US_Soldier_EP1',true] Call SetNamespace; + +//--- Ambulances. +['WFBE_WESTAMBULANCES',['HMMWV_Ambulance_DES_EP1','M1133_MEV_EP1'],true] Call SetNamespace; + +//--- Repair Trucks. +['WFBE_WESTREPAIRTRUCKS',['MtvrRepair_DES_EP1'],true] Call SetNamespace; + +//--- Salvage Trucks. +['WFBE_WESTSALVAGETRUCK',['MtvrSalvage_DES_EP1'],true] Call SetNamespace; + +//--- Supply Trucks. +['WFBE_WESTSUPPLYTRUCKS',['MtvrSupply_DES_EP1'],true] Call SetNamespace; + +//--- UAV. +['WFBE_WESTUAV','MQ9PredatorB_US_EP1',true] Call SetNamespace; + +if (isServer) then { + //--- Base Patrols. + if (paramBasePatrols) then { + ['WFBE_WESTBASEPATROLS_0',['US_Soldier_SL_EP1','US_Soldier_EP1','US_Soldier_EP1','US_Soldier_AR_EP1','US_Soldier_GL_EP1','US_Soldier_MG_EP1'],true] Call SetNamespace; + ['WFBE_WESTBASEPATROLS_1',['US_Soldier_SL_EP1','US_Soldier_EP1','US_Soldier_EP1','US_Soldier_MG_EP1','US_Soldier_LAT_EP1','US_Soldier_Medic_EP1'],true] Call SetNamespace; + ['WFBE_WESTBASEPATROLS_2',['US_Soldier_SL_EP1','US_Soldier_EP1','US_Soldier_EP1','US_Soldier_AT_EP1','US_Soldier_AA_EP1','US_Soldier_Sniper_EP1'],true] Call SetNamespace; + ['WFBE_WESTBASEPATROLS_3',['US_Soldier_SL_EP1','US_Soldier_EP1','US_Soldier_AR_EP1','US_Soldier_HAT_EP1','US_Soldier_LAT_EP1','US_Soldier_GL_EP1'],true] Call SetNamespace; + }; + + //--- Paratroopers. + ['WFBE_WESTPARACHUTELEVEL1',['US_Soldier_SL_EP1','US_Soldier_LAT_EP1','US_Soldier_EP1','US_Soldier_EP1','US_Soldier_AR_EP1','US_Soldier_Medic_EP1'],true] Call SetNamespace; + ['WFBE_WESTPARACHUTELEVEL2',['US_Soldier_SL_EP1','US_Soldier_AT_EP1','US_Soldier_AT_EP1','US_Soldier_AT_EP1','US_Soldier_AA_EP1','US_Soldier_MG_EP1','US_Soldier_Medic_EP1','US_Soldier_Spotter_EP1','US_Soldier_Sniper_EP1'],true] Call SetNamespace; + ['WFBE_WESTPARACHUTELEVEL3',['US_Delta_Force_TL_EP1','US_Soldier_HAT_EP1','US_Soldier_HAT_EP1','US_Soldier_HAT_EP1','US_Soldier_HAT_EP1','US_Soldier_AA_EP1','US_Soldier_AA_EP1','US_Delta_Force_AR_EP1','US_Delta_Force_Assault_EP1','US_Soldier_Medic_EP1','US_Delta_Force_M14_EP1','US_Soldier_AT_EP1','US_Soldier_Marksman_EP1'],true] Call SetNamespace; + + //--- Paratroopers, Vehicle. + ['WFBE_WESTPARACARGO','C130J_US_EP1',true] Call SetNamespace; + + //--- Repair Truck model. + ['WFBE_WESTREPAIRTRUCK','MtvrRepair_DES_EP1',true] Call SetNamespace; + + //--- Starting Vehicles. + ['WFBE_WESTSTARTINGVEHICLES',['HMMWV_Ambulance_DES_EP1','MTVR_DES_EP1'],true] Call SetNamespace; + + //--- Supply Paradropping, Dropped Ammunition. + ['WFBE_WESTPARAAMMO',['USBasicAmmunitionBox_EP1','USBasicWeapons_EP1','USLaunchers_EP1'],true] Call SetNamespace; + + //--- Supply Paradropping, Dropped Vehicle. + ['WFBE_WESTPARAVEHICARGO','HMMWV_DES_EP1',true] Call SetNamespace; + + //--- Supply Paradropping, Vehicle. + ['WFBE_WESTPARAVEHI','CH_47F_EP1',true] Call SetNamespace; + + //--- Supply Paradropping, Parachute Model. + ['WFBE_WESTPARACHUTE','ParachuteMediumWest_EP1',true] Call SetNamespace; + + //--- Supply Truck model. + ['WFBE_WESTSUPPLYTRUCK','MtvrSupply_DES_EP1',true] Call SetNamespace; +}; + +if (local player) then { + //--- Default Faction (Buy Menu), this is the faction name defined in core_xxx.sqf files. + ['WFBE_WESTDEFAULTFACTION','US',true] Call SetNamespace; +}; \ No newline at end of file diff --git a/Common/Config/Core_Units/CombinedOps/Units_Aircraft_RU.sqf b/Common/Config/Core_Units/CombinedOps/Units_Aircraft_RU.sqf new file mode 100644 index 0000000..3ae1dd9 --- /dev/null +++ b/Common/Config/Core_Units/CombinedOps/Units_Aircraft_RU.sqf @@ -0,0 +1,28 @@ +Private ['_r','_u']; + +_r = 'WFBE_RESTRICTIONADVAIR' Call GetNamespace; + +//--- Russian Aircraft Vehicles. +_u = ['Mi17_Ins']; +_u = _u + ['UH1H_TK_EP1']; +if (_r == 0 ||_r == 1) then { + _u = _u + ['Mi17_medevac_RU']; + _u = _u + ['Mi17_rockets_RU']; + _u = _u + ['Mi24_V']; + _u = _u + ['Mi24_D_TK_EP1']; + _u = _u + ['Mi24_P']; + if !(paramRestrictionKamov) then { + _u = _u + ['Ka52']; + _u = _u + ['Ka52Black']; + }; +}; +if (_r == 0) then { + _u = _u + ['An2_TK_EP1']; + _u = _u + ['L39_TK_EP1']; + _u = _u + ['Su34']; + _u = _u + ['Su25_TK_EP1']; + _u = _u + ['Su25_Ins']; + _u = _u + ['Su39']; +}; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/CombinedOps/Units_Aircraft_US.sqf b/Common/Config/Core_Units/CombinedOps/Units_Aircraft_US.sqf new file mode 100644 index 0000000..d086a00 --- /dev/null +++ b/Common/Config/Core_Units/CombinedOps/Units_Aircraft_US.sqf @@ -0,0 +1,38 @@ +Private ['_r','_u']; + +_r = 'WFBE_RESTRICTIONADVAIR' Call GetNamespace; + +//--- US Aircraft Vehicles. +_u = ['MH6J_EP1']; +_u = _u + ['MH60S']; +_u = _u + ['UH60M_EP1']; +_u = _u + ['UH60M_MEV_EP1']; +_u = _u + ['CH_47F_EP1']; +if (_r == 0 || _r == 1) then { + _u = _u + ['UH1Y']; + _u = _u + ['AH6J_EP1']; + if (WF_ACE) then { + _u = _u + ['ACE_AH6_GAU19_FLIR']; + _u = _u + ['ACE_AH6J_DAGR_FLIR']; + }; + _u = _u + ['AH1Z']; + _u = _u + ['AH64D_EP1']; +}; +if (_r == 0) then { + _u = _u + ['MV22']; + _u = _u + ['C130J_US_EP1']; + _u = _u + ['F35B']; + _u = _u + ['AV8B']; + _u = _u + ['AV8B2']; + _u = _u + ['A10_US_EP1']; +}; +if (paramDLCBAF) then { + _u = _u + ['BAF_Merlin_HC3_D']; + _u = _u + ['CH_47F_BAF']; + if (_r == 0 || _r == 1) then { + _u = _u + ['AW159_Lynx_BAF']; + _u = _u + ['BAF_Apache_AH1_D']; + }; +}; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/CombinedOps/Units_Airport_RU.sqf b/Common/Config/Core_Units/CombinedOps/Units_Airport_RU.sqf new file mode 100644 index 0000000..1f3f911 --- /dev/null +++ b/Common/Config/Core_Units/CombinedOps/Units_Airport_RU.sqf @@ -0,0 +1,16 @@ +Private ['_r','_u']; + +_r = 'WFBE_RESTRICTIONADVAIR' Call GetNamespace; + +/* RU Airport Vehicles */ +_u = []; +if (_r == 0) then { + _u = _u + ['An2_TK_EP1']; + _u = _u + ['L39_TK_EP1']; + _u = _u + ['Su34']; + _u = _u + ['Su25_TK_EP1']; + _u = _u + ['Su25_Ins']; + _u = _u + ['Su39']; +}; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/CombinedOps/Units_Airport_US.sqf b/Common/Config/Core_Units/CombinedOps/Units_Airport_US.sqf new file mode 100644 index 0000000..dd1caf9 --- /dev/null +++ b/Common/Config/Core_Units/CombinedOps/Units_Airport_US.sqf @@ -0,0 +1,16 @@ +Private ['_r','_u']; + +_r = 'WFBE_RESTRICTIONADVAIR' Call GetNamespace; + +/* US Airport Vehicles */ +_u = []; +if (_r == 0) then { + _u = _u + ['MV22']; + _u = _u + ['C130J_US_EP1']; + _u = _u + ['F35B']; + _u = _u + ['AV8B']; + _u = _u + ['AV8B2']; + _u = _u + ['A10_US_EP1']; +}; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/CombinedOps/Units_Barracks_GUE.sqf b/Common/Config/Core_Units/CombinedOps/Units_Barracks_GUE.sqf new file mode 100644 index 0000000..96b2f76 --- /dev/null +++ b/Common/Config/Core_Units/CombinedOps/Units_Barracks_GUE.sqf @@ -0,0 +1,42 @@ +Private ['_u']; + +/* Guerilla Troops */ +_u = ['GUE_Soldier_1']; +_u = _u + ['GUE_Soldier_2']; +_u = _u + ['GUE_Soldier_3']; +_u = _u + ['GUE_Soldier_GL']; +_u = _u + ['GUE_Soldier_AT']; +_u = _u + ['GUE_Soldier_AA']; +_u = _u + ['GUE_Soldier_AR']; +_u = _u + ['GUE_Soldier_MG']; +_u = _u + ['GUE_Soldier_Sniper']; +_u = _u + ['GUE_Soldier_Medic']; +_u = _u + ['GUE_Soldier_Crew']; +_u = _u + ['GUE_Soldier_Pilot']; +_u = _u + ['GUE_Soldier_Scout']; +_u = _u + ['GUE_Soldier_Sab']; +_u = _u + ['GUE_Commander']; +_u = _u + ['GUE_Worker2']; +_u = _u + ['GUE_Woodlander3']; +_u = _u + ['GUE_Villager3']; +_u = _u + ['GUE_Woodlander2']; +_u = _u + ['GUE_Woodlander1']; +_u = _u + ['GUE_Villager4']; +/* Takistan Guerilla Troops */ +_u = _u + ['TK_GUE_Soldier_EP1']; +_u = _u + ['TK_GUE_Soldier_2_EP1']; +_u = _u + ['TK_GUE_Soldier_3_EP1']; +_u = _u + ['TK_GUE_Soldier_4_EP1']; +_u = _u + ['TK_GUE_Soldier_5_EP1']; +_u = _u + ['TK_GUE_Soldier_AT_EP1']; +_u = _u + ['TK_GUE_Soldier_AAT_EP1']; +_u = _u + ['TK_GUE_Soldier_AA_EP1']; +_u = _u + ['TK_GUE_Soldier_AR_EP1']; +_u = _u + ['TK_GUE_Soldier_MG_EP1']; +_u = _u + ['TK_GUE_Soldier_Sniper_EP1']; +_u = _u + ['TK_GUE_Bonesetter_EP1']; +_u = _u + ['TK_GUE_Soldier_HAT_EP1']; +_u = _u + ['TK_GUE_Soldier_TL_EP1']; +_u = _u + ['TK_GUE_Warlord_EP1']; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/CombinedOps/Units_Barracks_RU.sqf b/Common/Config/Core_Units/CombinedOps/Units_Barracks_RU.sqf new file mode 100644 index 0000000..bcdc317 --- /dev/null +++ b/Common/Config/Core_Units/CombinedOps/Units_Barracks_RU.sqf @@ -0,0 +1,65 @@ +Private ['_tiMode','_u']; + +_tiMode = 'WFBE_THERMALIMAGING' Call GetNamespace; +_tiMode = if (_tiMode == 1 || _tiMode == 3) then {true} else {false}; + +//--- Russian Troops. +_u = ['RU_Soldier']; +_u = _u + ['RU_Soldier2']; +_u = _u + ['RU_Soldier_LAT']; +_u = _u + ['RU_Soldier_AT']; +_u = _u + ['RU_Soldier_HAT']; +_u = _u + ['RU_Soldier_AA']; +_u = _u + ['RU_Soldier_AR']; +_u = _u + ['RU_Soldier_MG']; +_u = _u + ['RU_Soldier_GL']; +_u = _u + ['RU_Soldier_Marksman']; +_u = _u + ['RU_Soldier_Spotter']; +_u = _u + ['RU_Soldier_Sniper']; +_u = _u + ['RU_Soldier_SniperH']; +_u = _u + ['RU_Soldier_Medic']; +_u = _u + ['RU_Soldier_TL']; +_u = _u + ['RU_Soldier_SL']; +_u = _u + ['RU_Soldier_Crew']; +_u = _u + ['RU_Soldier_Pilot']; +_u = _u + ['RUS_Soldier1']; +_u = _u + ['RUS_Soldier2']; +_u = _u + ['RUS_Soldier_GL']; +_u = _u + ['RUS_Soldier_Marksman']; +_u = _u + ['RUS_Soldier3']; +_u = _u + ['RUS_Soldier_TL']; +_u = _u + ['MVD_Soldier_GL']; +_u = _u + ['MVD_Soldier_MG']; +_u = _u + ['MVD_Soldier_Marksman']; +_u = _u + ['MVD_Soldier_AT']; +_u = _u + ['MVD_Soldier_Sniper']; +_u = _u + ['MVD_Soldier_TL']; +//--- Takistan Troops. +_u = _u + ['TK_Soldier_EP1']; +_u = _u + ['TK_Soldier_B_EP1']; +if (_tiMode) then { + _u = _u + ['TK_Soldier_TWS_EP1']; +}; +_u = _u + ['TK_Soldier_Engineer_EP1']; +_u = _u + ['TK_Soldier_LAT_EP1']; +_u = _u + ['TK_Soldier_AAT_EP1']; +_u = _u + ['TK_Soldier_AT_EP1']; +_u = _u + ['TK_Soldier_HAT_EP1']; +_u = _u + ['TK_Soldier_AA_EP1']; +_u = _u + ['TK_Soldier_AR_EP1']; +_u = _u + ['TK_Soldier_AMG_EP1']; +_u = _u + ['TK_Soldier_MG_EP1']; +_u = _u + ['TK_Soldier_GL_EP1']; +_u = _u + ['TK_Soldier_Spotter_EP1']; +_u = _u + ['TK_Soldier_Sniper_EP1']; +_u = _u + ['TK_Soldier_SniperH_EP1']; +_u = _u + ['TK_Soldier_Medic_EP1']; +_u = _u + ['TK_Special_Forces_EP1']; +_u = _u + ['TK_Special_Forces_TL_EP1']; +_u = _u + ['TK_Special_Forces_MG_EP1']; +_u = _u + ['TK_Soldier_Crew_EP1']; +_u = _u + ['TK_Soldier_Pilot_EP1']; +_u = _u + ['TK_Soldier_SL_EP1']; +_u = _u + ['TK_Soldier_Officer_EP1']; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/CombinedOps/Units_Barracks_US.sqf b/Common/Config/Core_Units/CombinedOps/Units_Barracks_US.sqf new file mode 100644 index 0000000..3a83086 --- /dev/null +++ b/Common/Config/Core_Units/CombinedOps/Units_Barracks_US.sqf @@ -0,0 +1,163 @@ +Private ['_u']; + +//--- US Troops. +_u = ['US_Soldier_Light_EP1']; +_u = _u + ['US_Soldier_EP1']; +_u = _u + ['US_Soldier_B_EP1']; +_u = _u + ['US_Soldier_LAT_EP1']; +_u = _u + ['US_Soldier_AT_EP1']; +_u = _u + ['US_Soldier_HAT_EP1']; +_u = _u + ['US_Soldier_AA_EP1']; +_u = _u + ['US_Soldier_AR_EP1']; +_u = _u + ['US_Soldier_MG_EP1']; +_u = _u + ['US_Soldier_GL_EP1']; +_u = _u + ['US_Soldier_Sniper_EP1']; +_u = _u + ['US_Soldier_SniperH_EP1']; +_u = _u + ['US_Soldier_Sniper_NV_EP1']; +_u = _u + ['US_Soldier_Marksman_EP1']; +_u = _u + ['US_Soldier_Medic_EP1']; +_u = _u + ['US_Soldier_Engineer_EP1']; +_u = _u + ['US_Soldier_AMG_EP1']; +_u = _u + ['US_Soldier_AAR_EP1']; +_u = _u + ['US_Soldier_AHAT_EP1']; +_u = _u + ['US_Soldier_AAT_EP1']; +_u = _u + ['US_Soldier_Spotter_EP1']; +_u = _u + ['US_Soldier_TL_EP1']; +_u = _u + ['US_Soldier_SL_EP1']; +_u = _u + ['US_Soldier_Officer_EP1']; +_u = _u + ['US_Soldier_Crew_EP1']; +_u = _u + ['US_Soldier_Pilot_EP1']; +_u = _u + ['US_Delta_Force_EP1']; +_u = _u + ['US_Delta_Force_TL_EP1']; +_u = _u + ['US_Delta_Force_Medic_EP1']; +_u = _u + ['US_Delta_Force_Assault_EP1']; +_u = _u + ['US_Delta_Force_SD_EP1']; +_u = _u + ['US_Delta_Force_MG_EP1']; +_u = _u + ['US_Delta_Force_AR_EP1']; +_u = _u + ['US_Delta_Force_Night_EP1']; +_u = _u + ['US_Delta_Force_Marksman_EP1']; +_u = _u + ['US_Delta_Force_M14_EP1']; +_u = _u + ['US_Delta_Force_Air_Controller_EP1']; +//--- USMC Troops. +_u = _u + ['USMC_Soldier']; +_u = _u + ['USMC_Soldier2']; +_u = _u + ['USMC_Soldier_LAT']; +_u = _u + ['USMC_Soldier_AT']; +_u = _u + ['USMC_Soldier_HAT']; +_u = _u + ['USMC_Soldier_AA']; +_u = _u + ['USMC_Soldier_AR']; +_u = _u + ['USMC_Soldier_MG']; +_u = _u + ['USMC_Soldier_GL']; +_u = _u + ['USMC_SoldierS_Sniper']; +_u = _u + ['USMC_SoldierS_SniperH']; +_u = _u + ['USMC_SoldierM_Marksman']; +_u = _u + ['USMC_Soldier_Medic']; +_u = _u + ['USMC_SoldierS_Engineer']; +_u = _u + ['USMC_SoldierS']; +_u = _u + ['USMC_SoldierS_Spotter']; +_u = _u + ['USMC_Soldier_TL']; +_u = _u + ['USMC_Soldier_SL']; +_u = _u + ['USMC_Soldier_Crew']; +_u = _u + ['USMC_Soldier_Pilot']; +_u = _u + ['FR_GL']; +_u = _u + ['FR_Corpsman']; +_u = _u + ['FR_TL']; +_u = _u + ['FR_Assault_R']; +_u = _u + ['FR_Assault_GL']; +_u = _u + ['FR_AR']; +_u = _u + ['FR_R']; +_u = _u + ['FR_Sapper']; +_u = _u + ['FR_AC']; +_u = _u + ['FR_Marksman']; +if (paramDLCBAF) then { + //--- BAF MTP Camo. + _u = _u + ['BAF_Soldier_AA_MTP']; + _u = _u + ['BAF_Soldier_AAA_MTP']; + _u = _u + ['BAF_Soldier_AAT_MTP']; + _u = _u + ['BAF_Soldier_AHAT_MTP']; + _u = _u + ['BAF_Soldier_AAR_MTP']; + _u = _u + ['BAF_Soldier_AMG_MTP']; + _u = _u + ['BAF_Soldier_AT_MTP']; + _u = _u + ['BAF_Soldier_HAT_MTP']; + _u = _u + ['BAF_Soldier_AR_MTP']; + _u = _u + ['BAF_crewman_MTP']; + _u = _u + ['BAF_Soldier_EN_MTP']; + _u = _u + ['BAF_Soldier_GL_MTP']; + _u = _u + ['BAF_Soldier_FAC_MTP']; + _u = _u + ['BAF_Soldier_MG_MTP']; + _u = _u + ['BAF_Soldier_scout_MTP']; + _u = _u + ['BAF_Soldier_Marksman_MTP']; + _u = _u + ['BAF_Soldier_Medic_MTP']; + _u = _u + ['BAF_Soldier_Officer_MTP']; + _u = _u + ['BAF_Pilot_MTP']; + _u = _u + ['BAF_Soldier_MTP']; + _u = _u + ['BAF_ASoldier_MTP']; + _u = _u + ['BAF_Soldier_L_MTP']; + _u = _u + ['BAF_Soldier_N_MTP']; + _u = _u + ['BAF_Soldier_SL_MTP']; + _u = _u + ['BAF_Soldier_SniperN_MTP']; + _u = _u + ['BAF_Soldier_SniperH_MTP']; + _u = _u + ['BAF_Soldier_Sniper_MTP']; + _u = _u + ['BAF_Soldier_spotter_MTP']; + _u = _u + ['BAF_Soldier_spotterN_MTP']; + _u = _u + ['BAF_Soldier_TL_MTP']; + //--- BAF Woodland Camo. + _u = _u + ['BAF_Soldier_AA_W']; + _u = _u + ['BAF_Soldier_AAA_W']; + _u = _u + ['BAF_Soldier_AAT_W']; + _u = _u + ['BAF_Soldier_AHAT_W']; + _u = _u + ['BAF_Soldier_AAR_W']; + _u = _u + ['BAF_Soldier_AMG_W']; + _u = _u + ['BAF_Soldier_AT_W']; + _u = _u + ['BAF_Soldier_HAT_W']; + _u = _u + ['BAF_Soldier_AR_W']; + _u = _u + ['BAF_crewman_W']; + _u = _u + ['BAF_Soldier_EN_W']; + _u = _u + ['BAF_Soldier_GL_W']; + _u = _u + ['BAF_Soldier_FAC_W']; + _u = _u + ['BAF_Soldier_MG_W']; + _u = _u + ['BAF_Soldier_scout_W']; + _u = _u + ['BAF_Soldier_Marksman_W']; + _u = _u + ['BAF_Soldier_Medic_W']; + _u = _u + ['BAF_Soldier_Officer_W']; + _u = _u + ['BAF_Pilot_W']; + _u = _u + ['BAF_Soldier_W']; + _u = _u + ['BAF_ASoldier_W']; + _u = _u + ['BAF_Soldier_L_W']; + _u = _u + ['BAF_Soldier_N_W']; + _u = _u + ['BAF_Soldier_SL_W']; + _u = _u + ['BAF_Soldier_SniperN_W']; + _u = _u + ['BAF_Soldier_SniperH_W']; + _u = _u + ['BAF_Soldier_Sniper_W']; + _u = _u + ['BAF_Soldier_spotter_W']; + _u = _u + ['BAF_Soldier_spotterN_W']; + _u = _u + ['BAF_Soldier_TL_W']; + //--- BAF Desert Camo. + _u = _u + ['BAF_Soldier_AA_DDPM']; + _u = _u + ['BAF_Soldier_AAA_DDPM']; + _u = _u + ['BAF_Soldier_AAT_DDPM']; + _u = _u + ['BAF_Soldier_AHAT_DDPM']; + _u = _u + ['BAF_Soldier_AAR_DDPM']; + _u = _u + ['BAF_Soldier_AMG_DDPM']; + _u = _u + ['BAF_Soldier_AT_DDPM']; + _u = _u + ['BAF_Soldier_HAT_DDPM']; + _u = _u + ['BAF_Soldier_AR_DDPM']; + _u = _u + ['BAF_crewman_DDPM']; + _u = _u + ['BAF_Soldier_EN_DDPM']; + _u = _u + ['BAF_Soldier_GL_DDPM']; + _u = _u + ['BAF_Soldier_FAC_DDPM']; + _u = _u + ['BAF_Soldier_MG_DDPM']; + _u = _u + ['BAF_Soldier_scout_DDPM']; + _u = _u + ['BAF_Soldier_Marksman_DDPM']; + _u = _u + ['BAF_Soldier_Medic_DDPM']; + _u = _u + ['BAF_Soldier_Officer_DDPM']; + _u = _u + ['BAF_Pilot_DDPM']; + _u = _u + ['BAF_Soldier_DDPM']; + _u = _u + ['BAF_ASoldier_DDPM']; + _u = _u + ['BAF_Soldier_L_DDPM']; + _u = _u + ['BAF_Soldier_N_DDPM']; + _u = _u + ['BAF_Soldier_SL_DDPM']; + _u = _u + ['BAF_Soldier_TL_DDPM']; +}; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/CombinedOps/Units_Depot_RU.sqf b/Common/Config/Core_Units/CombinedOps/Units_Depot_RU.sqf new file mode 100644 index 0000000..d62c895 --- /dev/null +++ b/Common/Config/Core_Units/CombinedOps/Units_Depot_RU.sqf @@ -0,0 +1,21 @@ +Private ['_u']; + +/* Russian Depot Vehicles */ +_u = ["MMT_Civ"]; +_u = _u + ["Old_bike_TK_CIV_EP1"]; +_u = _u + ["TT650_Civ"]; +_u = _u + ["Tractor"]; +_u = _u + ["Lada2_TK_CIV_EP1"]; +_u = _u + ["SkodaRed"]; +_u = _u + ["VolhaLimo_TK_CIV_EP1"]; +_u = _u + ["Volha_2_TK_CIV_EP1"]; +_u = _u + ["VWGolf"]; +_u = _u + ["datsun1_civil_2_covered"]; +_u = _u + ["hilux1_civil_2_covered"]; +_u = _u + ["S1203_TK_CIV_EP1"]; +_u = _u + ["Ural_TK_CIV_EP1"]; +if (paramPurchaseInfDepot) then { + _u = _u + ['WFBE_EASTSOLDIER' Call GetNamespace]; +}; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/CombinedOps/Units_Depot_US.sqf b/Common/Config/Core_Units/CombinedOps/Units_Depot_US.sqf new file mode 100644 index 0000000..fa33d8f --- /dev/null +++ b/Common/Config/Core_Units/CombinedOps/Units_Depot_US.sqf @@ -0,0 +1,22 @@ +Private ['_u']; + +/* US Depot Vehicles */ +_u = ["Old_bike_TK_CIV_EP1"]; +_u = _u + ["MMT_Civ"]; +_u = _u + ["Old_moto_TK_Civ_EP1"]; +_u = _u + ["Lada1_TK_CIV_EP1"]; +_u = _u + ["SkodaBlue"]; +_u = _u + ["car_sedan"]; +_u = _u + ["car_hatchback"]; +_u = _u + ["Volha_1_TK_CIV_EP1"]; +_u = _u + ["datsun1_civil_1_open"]; +_u = _u + ["datsun1_civil_3_open"]; +_u = _u + ["hilux1_civil_1_open"]; +_u = _u + ["LandRover_TK_CIV_EP1"]; +_u = _u + ["V3S_Open_TK_CIV_EP1"]; +_u = _u + ["Ikarus_TK_CIV_EP1"]; +if (paramPurchaseInfDepot) then { + _u = _u + ['WFBE_WESTSOLDIER' Call GetNamespace]; +}; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/CombinedOps/Units_Heavy_GUE.sqf b/Common/Config/Core_Units/CombinedOps/Units_Heavy_GUE.sqf new file mode 100644 index 0000000..c102bce --- /dev/null +++ b/Common/Config/Core_Units/CombinedOps/Units_Heavy_GUE.sqf @@ -0,0 +1,9 @@ +Private ['_u']; + +/* Guerilla Heavy Vehicles */ +_u = ['BMP2_Gue']; +_u = _u + ['T72_Gue']; +_u = _u + ['T34_TK_GUE_EP1']; +_u = _u + ['T55_TK_GUE_EP1']; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/CombinedOps/Units_Heavy_RU.sqf b/Common/Config/Core_Units/CombinedOps/Units_Heavy_RU.sqf new file mode 100644 index 0000000..1a11602 --- /dev/null +++ b/Common/Config/Core_Units/CombinedOps/Units_Heavy_RU.sqf @@ -0,0 +1,25 @@ +Private ['_u']; + +//--- Russian Heavy Vehicles. +_u = ['M113_TK_EP1']; +_u = _u + ['BMP2_INS']; +_u = _u + ['BMP2_TK_EP1']; +_u = _u + ['BMP3']; +_u = _u + ['ZSU_INS']; +_u = _u + ['ZSU_TK_EP1']; +_u = _u + ['T34_TK_EP1']; +_u = _u + ['T55_TK_EP1']; +_u = _u + ['T72_RU']; +_u = _u + ['T72_TK_EP1']; +_u = _u + ['2S6M_Tunguska']; + +if (WF_ACE) then +{ + _u = _u + ["ACE_T90A"]; +} +else +{ + _u = _u + ['T90']; +}; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/CombinedOps/Units_Heavy_US.sqf b/Common/Config/Core_Units/CombinedOps/Units_Heavy_US.sqf new file mode 100644 index 0000000..ae83933 --- /dev/null +++ b/Common/Config/Core_Units/CombinedOps/Units_Heavy_US.sqf @@ -0,0 +1,52 @@ +Private ['_u']; + +//--- US Heavy Vehicles. +_u = ['AAV']; +_u = _u + ['M1126_ICV_M2_EP1']; +_u = _u + ['M1126_ICV_mk19_EP1']; +_u = _u + ['M1129_MC_EP1']; +_u = _u + ['M1135_ATGMV_EP1']; +_u = _u + ['M1133_MEV_EP1']; +_u = _u + ['M2A2_EP1']; +_u = _u + ['M2A3_EP1']; +_u = _u + ['M1A1']; +_u = _u + ['M1A1_US_DES_EP1']; +_u = _u + ['MLRS']; +_u = _u + ['MLRS_DES_EP1']; +_u = _u + ['M1A2_TUSK_MG']; +_u = _u + ['M1A2_US_TUSK_MG_EP1']; +_u = _u + ['M6_EP1']; +if (paramDLCBAF) then { + _u = _u + ['BAF_FV510_W']; + _u = _u + ['BAF_FV510_D']; +}; +if (WF_ACE) then { + _u = _u + ['ACE_Stryker_RV_SLAT_D']; + _u = _u + ['ACE_M1A1HA_TUSK_DESERT']; + _u = _u + ['ACE_M1A1HA_TUSK_CSAMM_DESERT']; + _u = _u + ['ACE_Stryker_ICV_M2_SLAT']; + _u = _u + ['ACE_Stryker_RV_SLAT']; + _u = _u + ['ACE_Stryker_ICV_MK19_SLAT']; + _u = _u + ['ACE_Stryker_TOW_MG_Slat']; + _u = _u + ['ACE_Stryker_MGS_Slat']; + _u = _u + ['ACE_M113A3_Ambul']; + _u = _u + ['ACE_Vulcan']; + _u = _u + ['ACE_M113A3']; + _u = _u + ['ACE_M2A2_W']; + _u = _u + ['ACE_M2A3_W']; + _u = _u + ['ACE_M1A1_NATO']; + _u = _u + ['ACE_M1A1HA_TUSK']; + _u = _u + ['ACE_M1A1HA_TUSK_CSAMM']; + _u = _u + ['ACE_M6A1_W']; +}; + +if (WF_ACE) then +{ + _u = _u + ['ACE_Stryker_MGS_Slat']; +} +else +{ + _u = _u + ['M1128_MGS_EP1']; +}; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/CombinedOps/Units_Light_GUE.sqf b/Common/Config/Core_Units/CombinedOps/Units_Light_GUE.sqf new file mode 100644 index 0000000..c5910dc --- /dev/null +++ b/Common/Config/Core_Units/CombinedOps/Units_Light_GUE.sqf @@ -0,0 +1,20 @@ +Private ['_u']; + +/* Guerilla Light Vehicles */ +_u = ['V3S_TK_GUE_EP1']; +_u = _u + ['Pickup_PK_TK_GUE_EP1']; +_u = _u + ['Offroad_DSHKM_TK_GUE_EP1']; +_u = _u + ['Offroad_SPG9_TK_GUE_EP1']; +_u = _u + ['BRDM2_TK_GUE_EP1']; +_u = _u + ['BTR40_TK_GUE_EP1']; +_u = _u + ['BTR40_MG_TK_GUE_EP1']; +_u = _u + ['Ural_ZU23_TK_GUE_EP1']; +_u = _u + ['TT650_Gue']; +_u = _u + ['V3S_Gue']; +_u = _u + ['Pickup_PK_GUE']; +_u = _u + ['Offroad_DSHKM_Gue']; +_u = _u + ['Offroad_SPG9_Gue']; +_u = _u + ['BRDM2_Gue']; +_u = _u + ['Ural_ZU23_Gue']; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/CombinedOps/Units_Light_RU.sqf b/Common/Config/Core_Units/CombinedOps/Units_Light_RU.sqf new file mode 100644 index 0000000..1705b99 --- /dev/null +++ b/Common/Config/Core_Units/CombinedOps/Units_Light_RU.sqf @@ -0,0 +1,50 @@ +Private ['_u']; + +//--- Russian Light Vehicles. +_u = ['MMT_Civ']; +_u = _u + ['TT650_Ins']; +_u = _u + ['UAZ_Unarmed_TK_EP1']; +_u = _u + ['UAZ_MG_TK_EP1']; +_u = _u + ['UAZ_AGS30_TK_EP1']; +_u = _u + ['UAZ_RU']; +_u = _u + ['PBX']; +_u = _u + ['UAZ_MG_INS']; +_u = _u + ['UAZ_AGS30_RU']; +_u = _u + ['UAZ_SPG9_INS']; +_u = _u + ['LandRover_MG_TK_EP1']; +_u = _u + ['LandRover_SPG9_TK_EP1']; +_u = _u + ['SUV_TK_EP1']; +_u = _u + ['Kamaz']; +_u = _u + ['V3S_TK_EP1']; +_u = _u + ['V3S_Open_TK_EP1']; +_u = _u + ['UralRepair_TK_EP1']; +_u = _u + ['UralReammo_TK_EP1']; +_u = _u + ['UralRefuel_TK_EP1']; +_u = _u + ['UralSalvage_TK_EP1']; +if (('WFBE_SUPPLYSYSTEM' Call GetNamespace) == 0) then {_u = _u + ['UralSupply_TK_EP1']}; +_u = _u + ['KamazRepair']; +_u = _u + ['WarfareReammoTruck_RU']; +_u = _u + ['KamazRefuel']; +_u = _u + ['WarfareSalvageTruck_RU']; +if (('WFBE_SUPPLYSYSTEM' Call GetNamespace) == 0) then {_u = _u + ['WarfareSupplyTruck_RU']}; +_u = _u + ['M113Ambul_TK_EP1']; +_u = _u + ['GAZ_Vodnik_MedEvac']; +_u = _u + ['BRDM2_TK_EP1']; +_u = _u + ['BRDM2_ATGM_TK_EP1']; +_u = _u + ['BRDM2_INS']; +_u = _u + ['BRDM2_ATGM_INS']; +_u = _u + ['GAZ_Vodnik']; +_u = _u + ['GAZ_Vodnik_HMG']; +_u = _u + ['BTR60_TK_EP1']; +_u = _u + ['Ural_ZU23_TK_EP1']; +_u = _u + ['Ural_ZU23_INS']; +_u = _u + ['BTR90']; +_u = _u + ['GRAD_TK_EP1']; +_u = _u + ['GRAD_RU']; + +if (paramDLCPMC) then +{ + _u = _u + ['ArmoredSUV_PMC']; +}; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/CombinedOps/Units_Light_US.sqf b/Common/Config/Core_Units/CombinedOps/Units_Light_US.sqf new file mode 100644 index 0000000..23ac57e --- /dev/null +++ b/Common/Config/Core_Units/CombinedOps/Units_Light_US.sqf @@ -0,0 +1,75 @@ +Private ['_u']; + +//--- US Light Vehicles. +_u = ['MMT_USMC']; +_u = _u + ['M1030']; +_u = _u + ['M1030_US_DES_EP1']; +_u = _u + ['ATV_US_EP1']; +_u = _u + ['Zodiac']; +_u = _u + ['HMMWV_DES_EP1']; +_u = _u + ['HMMWV_M1035_DES_EP1']; +_u = _u + ['HMMWV_Terminal_EP1']; +_u = _u + ['HMMWV_MK19_DES_EP1']; +_u = _u + ['HMMWV_M998A2_SOV_DES_EP1']; +_u = _u + ['HMMWV_M1151_M2_DES_EP1']; +_u = _u + ['HMMWV_M998_crows_M2_DES_EP1']; +_u = _u + ['HMMWV_M998_crows_MK19_DES_EP1']; +_u = _u + ['HMMWV_TOW_DES_EP1']; +_u = _u + ['HMMWV_Avenger_DES_EP1']; +_u = _u + ['HMMWV_Ambulance_DES_EP1']; +_u = _u + ['HMMWV']; +_u = _u + ['HMMWV_M2']; +_u = _u + ['HMMWV_Armored']; +_u = _u + ['HMMWV_MK19']; +_u = _u + ['HMMWV_TOW']; +_u = _u + ['HMMWV_Avenger']; +_u = _u + ['HMMWV_Ambulance']; +_u = _u + ['MTVR_DES_EP1']; +_u = _u + ['MtvrRepair_DES_EP1']; +_u = _u + ['MtvrReammo_DES_EP1']; +_u = _u + ['MtvrRefuel_DES_EP1']; +_u = _u + ['MtvrSalvage_DES_EP1']; +if (('WFBE_SUPPLYSYSTEM' Call GetNamespace) == 0) then {_u = _u + ['MtvrSupply_DES_EP1']}; +_u = _u + ['MTVR']; +_u = _u + ['MtvrRepair']; +_u = _u + ['WarfareReammoTruck_USMC']; +_u = _u + ['MtvrRefuel']; +_u = _u + ['WarfareSalvageTruck_USMC']; +if (('WFBE_SUPPLYSYSTEM' Call GetNamespace) == 0) then {_u = _u + ['WarfareSupplyTruck_USMC']}; +_u = _u + ['RHIB']; +_u = _u + ['RHIB2Turret']; +_u = _u + ['LAV25']; +if (paramDLCBAF) then { + _u = _u + ['BAF_ATV_W']; + _u = _u + ['BAF_Offroad_W']; + _u = _u + ['BAF_Jackal2_GMG_W']; + _u = _u + ['BAF_Jackal2_L2A1_W']; + _u = _u + ['BAF_ATV_D']; + _u = _u + ['BAF_Offroad_D']; + _u = _u + ['BAF_Jackal2_GMG_D']; + _u = _u + ['BAF_Jackal2_L2A1_D']; +}; +if (WF_ACE) then { + _u = _u + ['ACE_ATV_Honda']; + _u = _u + ['ACE_HMMWV_MK19_USARMY']; + _u = _u + ['ACE_HMMWV_USARMY']; + _u = _u + ['ACE_HMMWV_GMV']; + _u = _u + ['ACE_HMMWV_GMV_MK19']; + _u = _u + ['ACE_HMMWV_M2_USARMY']; + _u = _u + ['ACE_HMMWV_TOW_USARMY']; + _u = _u + ['ACE_HMMWV_Ambulance_USARMY']; + _u = _u + ['ACE_Truck5tOpen']; + _u = _u + ['ACE_Truck5t']; + _u = _u + ['ACE_Truck5tMGOpen']; + _u = _u + ['ACE_Truck5tMG']; + _u = _u + ['ACE_Truck5tRepair']; + _u = _u + ['ACE_Truck5tReammo']; + _u = _u + ['ACE_Truck5tRefuel']; +}; + +if (paramDLCPMC) then +{ + _u = _u + ['ArmoredSUV_PMC']; +}; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/CombinedOps/Units_Special_RU.sqf b/Common/Config/Core_Units/CombinedOps/Units_Special_RU.sqf new file mode 100644 index 0000000..7ec794f --- /dev/null +++ b/Common/Config/Core_Units/CombinedOps/Units_Special_RU.sqf @@ -0,0 +1,70 @@ +//--- Radio Announcer (Vanilla worlds). +['WFBE_EASTANNOUNCERS',['WFHQ_RU0','WFHQ_RU1','WFHQ_RU2'],true] Call SetNamespace; + +//--- Crew model. +['WFBE_EASTCREW','RU_Soldier_Crew',false] Call SetNamespace; + +//--- Pilot model. +['WFBE_EASTPILOT','RU_Soldier_Pilot',false] Call SetNamespace; + +//--- Soldier model. +['WFBE_EASTSOLDIER','RU_Soldier',false] Call SetNamespace; + +//--- Ambulances. +['WFBE_EASTAMBULANCES',['GAZ_Vodnik_MedEvac','M113Ambul_TK_EP1','Mi17_medevac_RU','M113Ambul_TK_EP1'],true] Call SetNamespace; + +//--- Repair Trucks. +['WFBE_EASTREPAIRTRUCKS',['KamazRepair','UralRepair_TK_EP1'],true] Call SetNamespace; + +//--- Salvage Trucks. +['WFBE_EASTSALVAGETRUCK',['WarfareSalvageTruck_RU','UralSalvage_TK_EP1'],true] Call SetNamespace; + +//--- Supply Trucks. +['WFBE_EASTSUPPLYTRUCKS',['WarfareSupplyTruck_RU','UralSupply_TK_EP1'],true] Call SetNamespace; + +//--- UAV. +['WFBE_EASTUAV','Pchela1T',true] Call SetNamespace; + +if (isServer) then { + //--- Base Patrols. + if (paramBasePatrols) then { + ['WFBE_EASTBASEPATROLS_0',['RU_Soldier_SL','RU_Soldier','RU_Soldier','RU_Soldier_AR','RU_Soldier_GL','RU_Soldier_MG'],true] Call SetNamespace; + ['WFBE_EASTBASEPATROLS_1',['RU_Soldier_SL','RU_Soldier','RU_Soldier','RU_Soldier_MG','RU_Soldier_LAT','RU_Soldier_Medic'],true] Call SetNamespace; + ['WFBE_EASTBASEPATROLS_2',['RU_Soldier_SL','RU_Soldier','RU_Soldier','RU_Soldier_AT','RU_Soldier_AA','RU_Soldier_Marksman'],true] Call SetNamespace; + ['WFBE_EASTBASEPATROLS_3',['RU_Soldier_SL','RU_Soldier','RU_Soldier_AR','RU_Soldier_HAT','RU_Soldier_LAT','RU_Soldier_GL'],true] Call SetNamespace; + }; + + //--- Paratroopers. + ['WFBE_EASTPARACHUTELEVEL1',['RU_Soldier_SL','RU_Soldier_LAT','RU_Soldier','RU_Soldier2','RU_Soldier_AR','RU_Soldier_Medic'],true] Call SetNamespace; + ['WFBE_EASTPARACHUTELEVEL2',['RU_Soldier_SL','RU_Soldier_AT','RU_Soldier_AT','RU_Soldier_AT','RU_Soldier_AA','RU_Soldier_MG','RU_Soldier_Medic','RU_Soldier_Marksman','RUS_Soldier_Marksman'],true] Call SetNamespace; + ['WFBE_EASTPARACHUTELEVEL3',['MVD_Soldier_TL','RU_Soldier_HAT','RU_Soldier_HAT','RU_Soldier_HAT','RU_Soldier_HAT','RU_Soldier_HAT','RU_Soldier_AA','RU_Soldier_AA','MVD_Soldier_MG','RUS_Commander','MVD_Soldier_Sniper','RUS_Soldier_Marksman'],true] Call SetNamespace; + + //--- Paratroopers, Vehicle. + ['WFBE_EASTPARACARGO','Mi17_Ins',true] Call SetNamespace; + + //--- Repair Truck model. + ['WFBE_EASTREPAIRTRUCK','KamazRepair',false] Call SetNamespace; + + //--- Starting Vehicles. + ['WFBE_EASTSTARTINGVEHICLES',if (WF_Camo) then {['GAZ_Vodnik_MedEvac','Kamaz']} else {['M113Ambul_TK_EP1','V3S_TK_EP1']},true] Call SetNamespace; + + //--- Supply Paradropping, Dropped Ammunition. + ['WFBE_EASTPARAAMMO',['RUBasicAmmunitionBox','RUBasicWeaponsBox','RULaunchersBox'],true] Call SetNamespace; + + //--- Supply Paradropping, Dropped Vehicle. + ['WFBE_EASTPARAVEHICARGO',if (WF_Camo) then {'UAZ_RU'} else {'UAZ_Unarmed_TK_EP1'},true] Call SetNamespace; + + //--- Supply Paradropping, Vehicle. + ['WFBE_EASTPARAVEHI','Mi17_Ins',true] Call SetNamespace; + + //--- Supply Paradropping, Parachute Model. + ['WFBE_EASTPARACHUTE','ParachuteMediumEast_EP1',true] Call SetNamespace; + + //--- Supply Truck model. + ['WFBE_EASTSUPPLYTRUCK','WarfareSupplyTruck_RU',false] Call SetNamespace; +}; + +if (local player) then { + //--- Default Faction (Buy Menu), this is the faction name defined in core_xxx.sqf files. + ['WFBE_EASTDEFAULTFACTION','Russians',true] Call SetNamespace; +}; \ No newline at end of file diff --git a/Common/Config/Core_Units/CombinedOps/Units_Special_US.sqf b/Common/Config/Core_Units/CombinedOps/Units_Special_US.sqf new file mode 100644 index 0000000..057a602 --- /dev/null +++ b/Common/Config/Core_Units/CombinedOps/Units_Special_US.sqf @@ -0,0 +1,74 @@ +//--- Radio Announcer (Vanilla worlds). +if (worldName in ('WFBE_WORLDWHITELISTVA' Call GetNamespace)) then { + ['WFBE_WESTANNOUNCERS',['WFHQ_EN0','WFHQ_EN1','WFHQ_EN2'],true] Call SetNamespace; +} else { + ['WFBE_WESTANNOUNCERS',['WFHQ_EN0_EP1','WFHQ_EN1_EP1','WFHQ_EN2_EP1','WFHQ_EN3_EP1','WFHQ_EN4_EP1','WFHQ_EN5_EP1'],true] Call SetNamespace; +}; + +//--- Crew model. +['WFBE_WESTCREW',if (WF_Camo) then {'USMC_Soldier_Crew'} else {'US_Soldier_Crew_EP1'},false] Call SetNamespace; + +//--- Pilot model. +['WFBE_WESTPILOT',if (WF_Camo) then {'USMC_Soldier_Pilot'} else {'US_Soldier_Pilot_EP1'},false] Call SetNamespace; + +//--- Soldier model. +['WFBE_WESTSOLDIER',if (WF_Camo) then {'USMC_Soldier'} else {'US_Soldier_EP1'},false] Call SetNamespace; + +//--- Ambulances. +['WFBE_WESTAMBULANCES',['HMMWV_Ambulance','HMMWV_Ambulance_DES_EP1','UH60M_MEV_EP1','M1133_MEV_EP1'],true] Call SetNamespace; + +//--- Repair Trucks. +['WFBE_WESTREPAIRTRUCKS',['MtvrRepair','MtvrRepair_DES_EP1'],true] Call SetNamespace; + +//--- Salvage Trucks. +['WFBE_WESTSALVAGETRUCK',['WarfareSalvageTruck_USMC','MtvrSalvage_DES_EP1'],true] Call SetNamespace; + +//--- Supply Trucks. +['WFBE_WESTSUPPLYTRUCKS',['WarfareSupplyTruck_USMC','MtvrSupply_DES_EP1'],true] Call SetNamespace; + +//--- UAV. +['WFBE_WESTUAV','MQ9PredatorB_US_EP1',true] Call SetNamespace; + +if (isServer) then { + //--- Base Patrols. + if (paramBasePatrols) then { + ['WFBE_WESTBASEPATROLS_0',['US_Soldier_SL_EP1','US_Soldier_EP1','US_Soldier_EP1','US_Soldier_AR_EP1','US_Soldier_GL_EP1','US_Soldier_MG_EP1'],true] Call SetNamespace; + ['WFBE_WESTBASEPATROLS_1',['US_Soldier_SL_EP1','US_Soldier_EP1','US_Soldier_EP1','US_Soldier_MG_EP1','US_Soldier_LAT_EP1','US_Soldier_Medic_EP1'],true] Call SetNamespace; + ['WFBE_WESTBASEPATROLS_2',['US_Soldier_SL_EP1','US_Soldier_EP1','US_Soldier_EP1','US_Soldier_AT_EP1','US_Soldier_AA_EP1','US_Soldier_Sniper_EP1'],true] Call SetNamespace; + ['WFBE_WESTBASEPATROLS_3',['US_Soldier_SL_EP1','US_Soldier_EP1','US_Soldier_AR_EP1','US_Soldier_HAT_EP1','US_Soldier_LAT_EP1','US_Soldier_GL_EP1'],true] Call SetNamespace; + }; + + //--- Paratroopers. + ['WFBE_WESTPARACHUTELEVEL1',['US_Soldier_SL_EP1','US_Soldier_LAT_EP1','US_Soldier_EP1','US_Soldier_EP1','US_Soldier_AR_EP1','US_Soldier_Medic_EP1'],true] Call SetNamespace; + ['WFBE_WESTPARACHUTELEVEL2',['US_Soldier_SL_EP1','US_Soldier_AT_EP1','US_Soldier_AT_EP1','US_Soldier_AT_EP1','US_Soldier_AA_EP1','US_Soldier_MG_EP1','US_Soldier_Medic_EP1','US_Soldier_Spotter_EP1','US_Soldier_Sniper_EP1'],true] Call SetNamespace; + ['WFBE_WESTPARACHUTELEVEL3',['US_Delta_Force_TL_EP1','US_Soldier_HAT_EP1','US_Soldier_HAT_EP1','US_Soldier_HAT_EP1','US_Soldier_HAT_EP1','US_Soldier_AA_EP1','US_Soldier_AA_EP1','US_Delta_Force_AR_EP1','US_Delta_Force_Assault_EP1','US_Soldier_Medic_EP1','US_Delta_Force_M14_EP1','US_Soldier_AT_EP1','US_Soldier_Marksman_EP1'],true] Call SetNamespace; + + //--- Paratroopers, Vehicle. + ['WFBE_WESTPARACARGO','C130J_US_EP1',true] Call SetNamespace; + + //--- Repair Truck model. + ['WFBE_WESTREPAIRTRUCK',if (WF_Camo) then {'MtvrRepair'} else {'MtvrRepair_DES_EP1'},false] Call SetNamespace; + + //--- Starting Vehicles. + ['WFBE_WESTSTARTINGVEHICLES',if (WF_Camo) then {['HMMWV_Ambulance','MTVR']} else {['HMMWV_Ambulance_DES_EP1','MTVR_DES_EP1']},true] Call SetNamespace; + + //--- Supply Paradropping, Dropped Ammunition. + ['WFBE_WESTPARAAMMO',['USBasicAmmunitionBox_EP1','USBasicWeapons_EP1','USLaunchers_EP1'],true] Call SetNamespace; + + //--- Supply Paradropping, Dropped Vehicle. + ['WFBE_WESTPARAVEHICARGO','HMMWV_DES_EP1',true] Call SetNamespace; + + //--- Supply Paradropping, Vehicle. + ['WFBE_WESTPARAVEHI','CH_47F_EP1',true] Call SetNamespace; + + //--- Supply Paradropping, Parachute Model. + ['WFBE_WESTPARACHUTE','ParachuteMediumWest_EP1',true] Call SetNamespace; + + //--- Supply Truck model. + ['WFBE_WESTSUPPLYTRUCK',if (WF_Camo) then {'WarfareSupplyTruck_USMC'} else {'MtvrSupply_DES_EP1'},false] Call SetNamespace; +}; + +if (local player) then { + //--- Default Faction (Buy Menu), this is the faction name defined in core_xxx.sqf files. + ['WFBE_WESTDEFAULTFACTION',if (WF_Camo) then {'USMC'} else {'US'},true] Call SetNamespace; +}; \ No newline at end of file diff --git a/Common/Config/Core_Units/Vanilla/Units_Aircraft_CDF.sqf b/Common/Config/Core_Units/Vanilla/Units_Aircraft_CDF.sqf new file mode 100644 index 0000000..95b5765 --- /dev/null +++ b/Common/Config/Core_Units/Vanilla/Units_Aircraft_CDF.sqf @@ -0,0 +1,15 @@ +Private ['_r','_u']; + +_r = 'WFBE_RESTRICTIONADVAIR' Call GetNamespace; + +/* Chernarus Aircraft Vehicles */ +_u = ['Mi17_CDF']; +_u = _u + ['Mi17_medevac_CDF']; +if (_r == 0 ||_r == 1) then { + _u = _u + ['Mi24_D']; +}; +if (_r == 0) then { + _u = _u + ['Su25_CDF']; +}; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/Vanilla/Units_Aircraft_INS.sqf b/Common/Config/Core_Units/Vanilla/Units_Aircraft_INS.sqf new file mode 100644 index 0000000..6af3759 --- /dev/null +++ b/Common/Config/Core_Units/Vanilla/Units_Aircraft_INS.sqf @@ -0,0 +1,15 @@ +Private ['_r','_u']; + +_r = 'WFBE_RESTRICTIONADVAIR' Call GetNamespace; + +//--- Insurgent Aircraft Vehicles. +_u = ['Mi17_Ins']; +_u = _u + ['Mi17_medevac_Ins']; +if (_r == 0 ||_r == 1) then { + _u = _u + ['Mi24_V']; +}; +if (_r == 0) then { + _u = _u + ['Su25_Ins']; +}; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/Vanilla/Units_Aircraft_RU.sqf b/Common/Config/Core_Units/Vanilla/Units_Aircraft_RU.sqf new file mode 100644 index 0000000..5c4c6da --- /dev/null +++ b/Common/Config/Core_Units/Vanilla/Units_Aircraft_RU.sqf @@ -0,0 +1,23 @@ +Private ['_r','_u']; + +_r = 'WFBE_RESTRICTIONADVAIR' Call GetNamespace; + +//--- Russian Aircraft Vehicles. +_u = ['Mi17_Ins']; +_u = _u + ['Mi17_medevac_RU']; +if (_r == 0 ||_r == 1) then { + _u = _u + ['Mi17_rockets_RU']; + _u = _u + ['Mi24_V']; + _u = _u + ['Mi24_P']; + if !(paramRestrictionKamov) then { + _u = _u + ['Ka52']; + _u = _u + ['Ka52Black']; + }; +}; +if (_r == 0) then { + _u = _u + ['Su34']; + _u = _u + ['Su25_Ins']; + _u = _u + ['Su39']; +}; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/Vanilla/Units_Aircraft_USMC.sqf b/Common/Config/Core_Units/Vanilla/Units_Aircraft_USMC.sqf new file mode 100644 index 0000000..a979ff6 --- /dev/null +++ b/Common/Config/Core_Units/Vanilla/Units_Aircraft_USMC.sqf @@ -0,0 +1,21 @@ +Private ['_r','_u']; + +_r = 'WFBE_RESTRICTIONADVAIR' Call GetNamespace; + +//--- USMC Aircraft Vehicles. +_u = ['MH60S']; +if (_r == 0 || _r == 1) then { + _u = _u + ['UH1Y']; + _u = _u + ['AH1Z']; + _u = _u + ['AH64D']; +}; +if (_r == 0) then { + _u = _u + ['MV22']; + _u = _u + ['C130J']; + _u = _u + ['F35B']; + _u = _u + ['AV8B']; + _u = _u + ['AV8B2']; + _u = _u + ['A10']; +}; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/Vanilla/Units_Airport_CDF.sqf b/Common/Config/Core_Units/Vanilla/Units_Airport_CDF.sqf new file mode 100644 index 0000000..8734067 --- /dev/null +++ b/Common/Config/Core_Units/Vanilla/Units_Airport_CDF.sqf @@ -0,0 +1,11 @@ +Private ['_r','_u']; + +_r = 'WFBE_RESTRICTIONADVAIR' Call GetNamespace; + +/* CDF Airport Vehicles */ +_u = []; +if (_r == 0) then { + _u = _u + ['Mi24_D']; +}; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/Vanilla/Units_Airport_INS.sqf b/Common/Config/Core_Units/Vanilla/Units_Airport_INS.sqf new file mode 100644 index 0000000..dfcb0e2 --- /dev/null +++ b/Common/Config/Core_Units/Vanilla/Units_Airport_INS.sqf @@ -0,0 +1,11 @@ +Private ['_r','_u']; + +_r = 'WFBE_RESTRICTIONADVAIR' Call GetNamespace; + +/* Insurgent Airport Vehicles */ +_u = []; +if (_r == 0) then { + _u = _u + ['Su25_Ins']; +}; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/Vanilla/Units_Airport_RU.sqf b/Common/Config/Core_Units/Vanilla/Units_Airport_RU.sqf new file mode 100644 index 0000000..5ed7db0 --- /dev/null +++ b/Common/Config/Core_Units/Vanilla/Units_Airport_RU.sqf @@ -0,0 +1,13 @@ +Private ['_r','_u']; + +_r = 'WFBE_RESTRICTIONADVAIR' Call GetNamespace; + +/* RU Airport Vehicles */ +_u = []; +if (_r == 0) then { + _u = _u + ['Su34']; + _u = _u + ['Su25_Ins']; + _u = _u + ['Su39']; +}; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/Vanilla/Units_Airport_USMC.sqf b/Common/Config/Core_Units/Vanilla/Units_Airport_USMC.sqf new file mode 100644 index 0000000..495e939 --- /dev/null +++ b/Common/Config/Core_Units/Vanilla/Units_Airport_USMC.sqf @@ -0,0 +1,16 @@ +Private ['_r','_u']; + +_r = 'WFBE_RESTRICTIONADVAIR' Call GetNamespace; + +//--- USMC Airport Vehicles. +_u = []; +if (_r == 0) then { + _u = _u + ['MV22']; + _u = _u + ['C130J']; + _u = _u + ['F35B']; + _u = _u + ['AV8B']; + _u = _u + ['AV8B2']; + _u = _u + ['A10']; +}; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/Vanilla/Units_Barracks_CDF.sqf b/Common/Config/Core_Units/Vanilla/Units_Barracks_CDF.sqf new file mode 100644 index 0000000..d85f848 --- /dev/null +++ b/Common/Config/Core_Units/Vanilla/Units_Barracks_CDF.sqf @@ -0,0 +1,23 @@ +Private ['_u']; + +//--- Chernarus Defense Forces Troops. +_u = ['CDF_Soldier']; +_u = _u + ['CDF_Soldier_Engineer']; +_u = _u + ['CDF_Soldier_Light']; +_u = _u + ['CDF_Soldier_GL']; +_u = _u + ['CDF_Soldier_Militia']; +_u = _u + ['CDF_Soldier_Medic']; +_u = _u + ['CDF_Soldier_Sniper']; +_u = _u + ['CDF_Soldier_Spotter']; +_u = _u + ['CDF_Soldier_Marksman']; +_u = _u + ['CDF_Soldier_RPG']; +_u = _u + ['CDF_Soldier_Strela']; +_u = _u + ['CDF_Soldier_AR']; +_u = _u + ['CDF_Soldier_MG']; +_u = _u + ['CDF_Soldier_TL']; +_u = _u + ['CDF_Soldier_Officer']; +_u = _u + ['CDF_Commander']; +_u = _u + ['CDF_Soldier_Pilot']; +_u = _u + ['CDF_Soldier_Crew']; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/Vanilla/Units_Barracks_GUE.sqf b/Common/Config/Core_Units/Vanilla/Units_Barracks_GUE.sqf new file mode 100644 index 0000000..18b6c5b --- /dev/null +++ b/Common/Config/Core_Units/Vanilla/Units_Barracks_GUE.sqf @@ -0,0 +1,26 @@ +Private ['_u']; + +/* Guerilla Troops */ +_u = ['GUE_Soldier_1']; +_u = _u + ['GUE_Soldier_2']; +_u = _u + ['GUE_Soldier_3']; +_u = _u + ['GUE_Soldier_GL']; +_u = _u + ['GUE_Soldier_AT']; +_u = _u + ['GUE_Soldier_AA']; +_u = _u + ['GUE_Soldier_AR']; +_u = _u + ['GUE_Soldier_MG']; +_u = _u + ['GUE_Soldier_Sniper']; +_u = _u + ['GUE_Soldier_Medic']; +_u = _u + ['GUE_Soldier_Crew']; +_u = _u + ['GUE_Soldier_Pilot']; +_u = _u + ['GUE_Soldier_Scout']; +_u = _u + ['GUE_Soldier_Sab']; +_u = _u + ['GUE_Commander']; +_u = _u + ['GUE_Worker2']; +_u = _u + ['GUE_Woodlander3']; +_u = _u + ['GUE_Villager3']; +_u = _u + ['GUE_Woodlander2']; +_u = _u + ['GUE_Woodlander1']; +_u = _u + ['GUE_Villager4']; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/Vanilla/Units_Barracks_INS.sqf b/Common/Config/Core_Units/Vanilla/Units_Barracks_INS.sqf new file mode 100644 index 0000000..1765046 --- /dev/null +++ b/Common/Config/Core_Units/Vanilla/Units_Barracks_INS.sqf @@ -0,0 +1,20 @@ +Private ['_u']; + +//--- Insurgent Troops. +_u = ['Ins_Soldier_1']; +_u = _u + ['Ins_Soldier_2']; +_u = _u + ['Ins_Soldier_GL']; +_u = _u + ['Ins_Soldier_CO']; +_u = _u + ['Ins_Commander']; +_u = _u + ['Ins_Soldier_Medic']; +_u = _u + ['Ins_Soldier_AR']; +_u = _u + ['Ins_Soldier_MG']; +_u = _u + ['Ins_Soldier_AT']; +_u = _u + ['Ins_Soldier_AA']; +_u = _u + ['Ins_Soldier_Sniper']; +_u = _u + ['Ins_Soldier_Sapper']; +_u = _u + ['Ins_Soldier_Sab']; +_u = _u + ['Ins_Soldier_Pilot']; +_u = _u + ['Ins_Soldier_Crew']; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/Vanilla/Units_Barracks_RU.sqf b/Common/Config/Core_Units/Vanilla/Units_Barracks_RU.sqf new file mode 100644 index 0000000..eb1be50 --- /dev/null +++ b/Common/Config/Core_Units/Vanilla/Units_Barracks_RU.sqf @@ -0,0 +1,35 @@ +Private ['_u']; + +//--- Russian Troops. +_u = ['RU_Soldier']; +_u = _u + ['RU_Soldier2']; +_u = _u + ['RU_Soldier_LAT']; +_u = _u + ['RU_Soldier_AT']; +_u = _u + ['RU_Soldier_HAT']; +_u = _u + ['RU_Soldier_AA']; +_u = _u + ['RU_Soldier_AR']; +_u = _u + ['RU_Soldier_MG']; +_u = _u + ['RU_Soldier_GL']; +_u = _u + ['RU_Soldier_Marksman']; +_u = _u + ['RU_Soldier_Spotter']; +_u = _u + ['RU_Soldier_Sniper']; +_u = _u + ['RU_Soldier_SniperH']; +_u = _u + ['RU_Soldier_Medic']; +_u = _u + ['RU_Soldier_TL']; +_u = _u + ['RU_Soldier_SL']; +_u = _u + ['RU_Soldier_Crew']; +_u = _u + ['RU_Soldier_Pilot']; +_u = _u + ['RUS_Soldier1']; +_u = _u + ['RUS_Soldier2']; +_u = _u + ['RUS_Soldier_GL']; +_u = _u + ['RUS_Soldier_Marksman']; +_u = _u + ['RUS_Soldier3']; +_u = _u + ['RUS_Soldier_TL']; +_u = _u + ['MVD_Soldier_GL']; +_u = _u + ['MVD_Soldier_MG']; +_u = _u + ['MVD_Soldier_Marksman']; +_u = _u + ['MVD_Soldier_AT']; +_u = _u + ['MVD_Soldier_Sniper']; +_u = _u + ['MVD_Soldier_TL']; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/Vanilla/Units_Barracks_USMC.sqf b/Common/Config/Core_Units/Vanilla/Units_Barracks_USMC.sqf new file mode 100644 index 0000000..4597ec8 --- /dev/null +++ b/Common/Config/Core_Units/Vanilla/Units_Barracks_USMC.sqf @@ -0,0 +1,35 @@ +Private ['_u']; + +//--- USMC Troops. +_u = ['USMC_Soldier']; +_u = _u + ['USMC_Soldier2']; +_u = _u + ['USMC_Soldier_LAT']; +_u = _u + ['USMC_Soldier_AT']; +_u = _u + ['USMC_Soldier_HAT']; +_u = _u + ['USMC_Soldier_AA']; +_u = _u + ['USMC_Soldier_AR']; +_u = _u + ['USMC_Soldier_MG']; +_u = _u + ['USMC_Soldier_GL']; +_u = _u + ['USMC_SoldierS_Sniper']; +_u = _u + ['USMC_SoldierS_SniperH']; +_u = _u + ['USMC_SoldierM_Marksman']; +_u = _u + ['USMC_Soldier_Medic']; +_u = _u + ['USMC_SoldierS_Engineer']; +_u = _u + ['USMC_SoldierS']; +_u = _u + ['USMC_SoldierS_Spotter']; +_u = _u + ['USMC_Soldier_TL']; +_u = _u + ['USMC_Soldier_SL']; +_u = _u + ['USMC_Soldier_Crew']; +_u = _u + ['USMC_Soldier_Pilot']; +_u = _u + ['FR_GL']; +_u = _u + ['FR_Corpsman']; +_u = _u + ['FR_Assault_R']; +_u = _u + ['FR_Assault_GL']; +_u = _u + ['FR_AR']; +_u = _u + ['FR_TL']; +_u = _u + ['FR_R']; +_u = _u + ['FR_Sapper']; +_u = _u + ['FR_AC']; +_u = _u + ['FR_Marksman']; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/Vanilla/Units_Depot_CDF.sqf b/Common/Config/Core_Units/Vanilla/Units_Depot_CDF.sqf new file mode 100644 index 0000000..994c144 --- /dev/null +++ b/Common/Config/Core_Units/Vanilla/Units_Depot_CDF.sqf @@ -0,0 +1,15 @@ +Private ['_u']; + +/* CDF Depot Vehicles */ +_u = ["MMT_Civ"]; +_u = _u + ["TT650_Civ"]; +_u = _u + ["Lada1"]; +_u = _u + ["SkodaBlue"]; +_u = _u + ["car_hatchback"]; +_u = _u + ["datsun1_civil_1_open"]; +_u = _u + ["V3S_Civ"]; +if (paramPurchaseInfDepot) then { + _u = _u + ['WFBE_WESTSOLDIER' Call GetNamespace]; +}; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/Vanilla/Units_Depot_INS.sqf b/Common/Config/Core_Units/Vanilla/Units_Depot_INS.sqf new file mode 100644 index 0000000..c5f7288 --- /dev/null +++ b/Common/Config/Core_Units/Vanilla/Units_Depot_INS.sqf @@ -0,0 +1,15 @@ +Private ['_u']; + +/* Insurgent Depot Vehicles */ +_u = ["MMT_Civ"]; +_u = _u + ["TT650_Civ"]; +_u = _u + ["Lada2"]; +_u = _u + ["LadaLM"]; +_u = _u + ["SkodaRed"]; +_u = _u + ["datsun1_civil_2_covered"]; +_u = _u + ["UralCivil"]; +if (paramPurchaseInfDepot) then { + _u = _u + ['WFBE_EASTSOLDIER' Call GetNamespace]; +}; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/Vanilla/Units_Depot_RU.sqf b/Common/Config/Core_Units/Vanilla/Units_Depot_RU.sqf new file mode 100644 index 0000000..716d071 --- /dev/null +++ b/Common/Config/Core_Units/Vanilla/Units_Depot_RU.sqf @@ -0,0 +1,18 @@ +Private ['_u']; + +/* Russian Depot Vehicles */ +_u = ["MMT_Civ"]; +_u = _u + ["TT650_Civ"]; +_u = _u + ["Tractor"]; +_u = _u + ["Lada2"]; +_u = _u + ["LadaLM"]; +_u = _u + ["SkodaRed"]; +_u = _u + ["VWGolf"]; +_u = _u + ["datsun1_civil_2_covered"]; +_u = _u + ["hilux1_civil_2_covered"]; +_u = _u + ["UralCivil"]; +if (paramPurchaseInfDepot) then { + _u = _u + ['WFBE_EASTSOLDIER' Call GetNamespace]; +}; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/Vanilla/Units_Depot_USMC.sqf b/Common/Config/Core_Units/Vanilla/Units_Depot_USMC.sqf new file mode 100644 index 0000000..f5f99d6 --- /dev/null +++ b/Common/Config/Core_Units/Vanilla/Units_Depot_USMC.sqf @@ -0,0 +1,19 @@ +Private ['_u']; + +//--- USMC Depot Vehicles. +_u = ["MMT_Civ"]; +_u = _u + ["TT650_Civ"]; +_u = _u + ["Lada1"]; +_u = _u + ["SkodaBlue"]; +_u = _u + ["car_sedan"]; +_u = _u + ["car_hatchback"]; +_u = _u + ["datsun1_civil_1_open"]; +_u = _u + ["datsun1_civil_3_open"]; +_u = _u + ["hilux1_civil_1_open"]; +_u = _u + ["V3S_Civ"]; +_u = _u + ["Ikarus"]; +if (paramPurchaseInfDepot) then { + _u = _u + ['WFBE_WESTSOLDIER' Call GetNamespace]; +}; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/Vanilla/Units_Heavy_CDF.sqf b/Common/Config/Core_Units/Vanilla/Units_Heavy_CDF.sqf new file mode 100644 index 0000000..b985cee --- /dev/null +++ b/Common/Config/Core_Units/Vanilla/Units_Heavy_CDF.sqf @@ -0,0 +1,9 @@ +Private ['_u']; + +/* Chernarus Heavy Vehicles */ +_u = ['BMP2_Ambul_CDF']; +_u = _u + ['ZSU_CDF']; +_u = _u + ['BMP2_CDF']; +_u = _u + ['T72_CDF']; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/Vanilla/Units_Heavy_GUE.sqf b/Common/Config/Core_Units/Vanilla/Units_Heavy_GUE.sqf new file mode 100644 index 0000000..fa5caed --- /dev/null +++ b/Common/Config/Core_Units/Vanilla/Units_Heavy_GUE.sqf @@ -0,0 +1,7 @@ +Private ['_u']; + +/* Guerilla Heavy Vehicles */ +_u = ['BMP2_Gue']; +_u = _u + ['T72_Gue']; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/Vanilla/Units_Heavy_INS.sqf b/Common/Config/Core_Units/Vanilla/Units_Heavy_INS.sqf new file mode 100644 index 0000000..478320c --- /dev/null +++ b/Common/Config/Core_Units/Vanilla/Units_Heavy_INS.sqf @@ -0,0 +1,9 @@ +Private ['_u']; + +//--- Insurgent Heavy Vehicles. +_u = ['BMP2_Ambul_INS']; +_u = _u + ['ZSU_INS']; +_u = _u + ['BMP2_INS']; +_u = _u + ['T72_INS']; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/Vanilla/Units_Heavy_RU.sqf b/Common/Config/Core_Units/Vanilla/Units_Heavy_RU.sqf new file mode 100644 index 0000000..259de6b --- /dev/null +++ b/Common/Config/Core_Units/Vanilla/Units_Heavy_RU.sqf @@ -0,0 +1,11 @@ +Private ['_u']; + +//--- Russian Heavy Vehicles. +_u = ['BMP2_INS']; +_u = _u + ['BMP3']; +_u = _u + ['ZSU_INS']; +_u = _u + ['T72_RU']; +_u = _u + ['T90']; +_u = _u + ['2S6M_Tunguska']; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/Vanilla/Units_Heavy_USMC.sqf b/Common/Config/Core_Units/Vanilla/Units_Heavy_USMC.sqf new file mode 100644 index 0000000..bea50ed --- /dev/null +++ b/Common/Config/Core_Units/Vanilla/Units_Heavy_USMC.sqf @@ -0,0 +1,9 @@ +Private ['_u']; + +//--- USMC Heavy Vehicles. +_u = ['AAV']; +_u = _u + ['M1A1']; +_u = _u + ['MLRS']; +_u = _u + ['M1A2_TUSK_MG']; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/Vanilla/Units_Light_CDF.sqf b/Common/Config/Core_Units/Vanilla/Units_Light_CDF.sqf new file mode 100644 index 0000000..6bba7de --- /dev/null +++ b/Common/Config/Core_Units/Vanilla/Units_Light_CDF.sqf @@ -0,0 +1,18 @@ +Private ['_u']; + +/* Chernarus Light Vehicles */ +_u = ['UAZ_CDF']; +_u = _u + ['Ural_CDF']; +_u = _u + ['WarfareSalvageTruck_CDF']; +_u = _u + ['UralRepair_CDF']; +_u = _u + ['UralReammo_CDF']; +_u = _u + ['UralRefuel_CDF']; +_u = _u + ['WarfareSupplyTruck_CDF']; +_u = _u + ['UAZ_MG_CDF']; +_u = _u + ['UAZ_AGS30_CDF']; +_u = _u + ['BRDM2_CDF']; +_u = _u + ['BRDM2_ATGM_CDF']; +_u = _u + ['Ural_ZU23_CDF']; +_u = _u + ['GRAD_CDF']; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/Vanilla/Units_Light_GUE.sqf b/Common/Config/Core_Units/Vanilla/Units_Light_GUE.sqf new file mode 100644 index 0000000..d84b89e --- /dev/null +++ b/Common/Config/Core_Units/Vanilla/Units_Light_GUE.sqf @@ -0,0 +1,12 @@ +Private ['_u']; + +/* Guerilla Light Vehicles */ +_u = ['TT650_Gue']; +_u = _u + ['V3S_Gue']; +_u = _u + ['Pickup_PK_GUE']; +_u = _u + ['Offroad_DSHKM_Gue']; +_u = _u + ['Offroad_SPG9_Gue']; +_u = _u + ['BRDM2_Gue']; +_u = _u + ['Ural_ZU23_Gue']; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/Vanilla/Units_Light_INS.sqf b/Common/Config/Core_Units/Vanilla/Units_Light_INS.sqf new file mode 100644 index 0000000..009441b --- /dev/null +++ b/Common/Config/Core_Units/Vanilla/Units_Light_INS.sqf @@ -0,0 +1,19 @@ +Private ['_u']; + +//--- Insurgent Light Vehicles. +_u = ['UAZ_INS']; +_u = _u + ['Ural_INS']; +_u = _u + ['WarfareSalvageTruck_INS']; +_u = _u + ['UralRepair_INS']; +_u = _u + ['UralReammo_INS']; +_u = _u + ['UralRefuel_INS']; +_u = _u + ['WarfareSupplyTruck_INS']; +_u = _u + ['UAZ_MG_INS']; +_u = _u + ['UAZ_AGS30_INS']; +_u = _u + ['UAZ_SPG9_INS']; +_u = _u + ['BRDM2_INS']; +_u = _u + ['BRDM2_ATGM_INS']; +_u = _u + ['Ural_ZU23_INS']; +_u = _u + ['GRAD_INS']; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/Vanilla/Units_Light_RU.sqf b/Common/Config/Core_Units/Vanilla/Units_Light_RU.sqf new file mode 100644 index 0000000..6596f1e --- /dev/null +++ b/Common/Config/Core_Units/Vanilla/Units_Light_RU.sqf @@ -0,0 +1,26 @@ +Private ['_u']; + +//--- Russian Light Vehicles. +_u = ['MMT_Civ']; +_u = _u + ['TT650_Ins']; +_u = _u + ['UAZ_RU']; +_u = _u + ['PBX']; +_u = _u + ['UAZ_MG_INS']; +_u = _u + ['UAZ_AGS30_RU']; +_u = _u + ['UAZ_SPG9_INS']; +_u = _u + ['Kamaz']; +_u = _u + ['KamazRepair']; +_u = _u + ['WarfareReammoTruck_RU']; +_u = _u + ['KamazRefuel']; +_u = _u + ['WarfareSalvageTruck_RU']; +if (('WFBE_SUPPLYSYSTEM' Call GetNamespace) == 0) then {_u = _u + ['WarfareSupplyTruck_RU']}; +_u = _u + ['GAZ_Vodnik_MedEvac']; +_u = _u + ['BRDM2_INS']; +_u = _u + ['BRDM2_ATGM_INS']; +_u = _u + ['GAZ_Vodnik']; +_u = _u + ['GAZ_Vodnik_HMG']; +_u = _u + ['Ural_ZU23_INS']; +_u = _u + ['BTR90']; +_u = _u + ['GRAD_RU']; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/Vanilla/Units_Light_USMC.sqf b/Common/Config/Core_Units/Vanilla/Units_Light_USMC.sqf new file mode 100644 index 0000000..13133c6 --- /dev/null +++ b/Common/Config/Core_Units/Vanilla/Units_Light_USMC.sqf @@ -0,0 +1,24 @@ +Private ['_u']; + +//--- USMC Light Vehicles. +_u = ['MMT_USMC']; +_u = _u + ['M1030']; +_u = _u + ['HMMWV']; +_u = _u + ['Zodiac']; +_u = _u + ['HMMWV_M2']; +_u = _u + ['HMMWV_Armored']; +_u = _u + ['HMMWV_MK19']; +_u = _u + ['HMMWV_TOW']; +_u = _u + ['HMMWV_Avenger']; +_u = _u + ['HMMWV_Ambulance']; +_u = _u + ['MTVR']; +_u = _u + ['MtvrRepair']; +_u = _u + ['WarfareReammoTruck_USMC']; +_u = _u + ['MtvrRefuel']; +_u = _u + ['WarfareSalvageTruck_USMC']; +if (('WFBE_SUPPLYSYSTEM' Call GetNamespace) == 0) then {_u = _u + ['WarfareSupplyTruck_USMC']}; +_u = _u + ['RHIB']; +_u = _u + ['RHIB2Turret']; +_u = _u + ['LAV25']; + +_u \ No newline at end of file diff --git a/Common/Config/Core_Units/Vanilla/Units_Special_CDF.sqf b/Common/Config/Core_Units/Vanilla/Units_Special_CDF.sqf new file mode 100644 index 0000000..e0c42f5 --- /dev/null +++ b/Common/Config/Core_Units/Vanilla/Units_Special_CDF.sqf @@ -0,0 +1,70 @@ +//--- Radio Announcer. +['WFBE_WESTANNOUNCERS',['WFHQ_RU0','WFHQ_RU1','WFHQ_RU2'],true] Call SetNamespace; + +//--- Crew model. +['WFBE_WESTCREW','CDF_Soldier_Crew',true] Call SetNamespace; + +//--- Pilot model. +['WFBE_WESTPILOT','CDF_Soldier_Pilot',true] Call SetNamespace; + +//--- Soldier model. +['WFBE_WESTSOLDIER','CDF_Soldier',true] Call SetNamespace; + +//--- Ambulances. +['WFBE_WESTAMBULANCES',['BMP2_Ambul_CDF'],true] Call SetNamespace; + +//--- Repair Trucks. +['WFBE_WESTREPAIRTRUCKS',['UralRepair_CDF'],true] Call SetNamespace; + +//--- Salvage Trucks. +['WFBE_WESTSALVAGETRUCK',['WarfareSalvageTruck_CDF'],true] Call SetNamespace; + +//--- Supply Trucks. +['WFBE_WESTSUPPLYTRUCKS',['WarfareSupplyTruck_CDF'],true] Call SetNamespace; + +//--- UAV. +['WFBE_WESTUAV','MQ9PredatorB',true] Call SetNamespace; + +if (isServer) then { + //--- Base Patrols. + if (paramBasePatrols) then { + ['WFBE_WESTBASEPATROLS_0',['CDF_Soldier_TL','CDF_Soldier','CDF_Soldier','CDF_Soldier_AR','CDF_Soldier_GL','CDF_Soldier_MG'],true] Call SetNamespace; + ['WFBE_WESTBASEPATROLS_1',['CDF_Soldier_TL','CDF_Soldier','CDF_Soldier','CDF_Soldier_MG','CDF_Soldier_RPG','CDF_Soldier_Medic'],true] Call SetNamespace; + ['WFBE_WESTBASEPATROLS_2',['CDF_Soldier_TL','CDF_Soldier','CDF_Soldier','CDF_Soldier_Marksman','CDF_Soldier_Strela','CDF_Soldier_Sniper'],true] Call SetNamespace; + ['WFBE_WESTBASEPATROLS_3',['CDF_Soldier_TL','CDF_Soldier','CDF_Soldier_AR','CDF_Soldier_RPG','CDF_Soldier_RPG','CDF_Soldier_GL'],true] Call SetNamespace; + }; + + //--- Paratroopers. + ['WFBE_WESTPARACHUTELEVEL1',['CDF_Soldier_TL','CDF_Soldier_RPG','CDF_Soldier','CDF_Soldier','CDF_Soldier_AR','CDF_Soldier_Medic'],true] Call SetNamespace; + ['WFBE_WESTPARACHUTELEVEL2',['CDF_Soldier_TL','CDF_Soldier_RPG','CDF_Soldier_RPG','CDF_Soldier_RPG','CDF_Soldier_Strela','CDF_Soldier_MG','CDF_Soldier_Medic','CDF_Soldier_Spotter','CDF_Soldier_Sniper'],true] Call SetNamespace; + ['WFBE_WESTPARACHUTELEVEL3',['CDF_Soldier_TL','CDF_Soldier_RPG','CDF_Soldier_RPG','CDF_Soldier_RPG','CDF_Soldier_RPG','CDF_Soldier_Strela','CDF_Soldier_Strela','CDF_Soldier','CDF_Soldier_GL','CDF_Soldier_Medic','CDF_Soldier_Sniper','CDF_Soldier','CDF_Soldier_Marksman'],true] Call SetNamespace; + + //--- Paratroopers, Vehicle. + ['WFBE_WESTPARACARGO','Mi17_CDF',true] Call SetNamespace; + + //--- Repair Truck model. + ['WFBE_WESTREPAIRTRUCK','UralRepair_CDF',true] Call SetNamespace; + + //--- Starting Vehicles. + ['WFBE_WESTSTARTINGVEHICLES',['BMP2_Ambul_CDF','Ural_CDF'],true] Call SetNamespace; + + //--- Supply Paradropping, Dropped Ammunition. + ['WFBE_WESTPARAAMMO',['RUBasicAmmunitionBox','RUBasicWeaponsBox','RULaunchersBox'],true] Call SetNamespace; + + //--- Supply Paradropping, Dropped Vehicle. + ['WFBE_WESTPARAVEHICARGO','BRDM2_CDF',true] Call SetNamespace; + + //--- Supply Paradropping, Vehicle. + ['WFBE_WESTPARAVEHI','Mi17_CDF',true] Call SetNamespace; + + //--- Supply Paradropping, Parachute Model. + ['WFBE_WESTPARACHUTE','ParachuteMediumWest',true] Call SetNamespace; + + //--- Supply Truck model. + ['WFBE_WESTSUPPLYTRUCK','WarfareSupplyTruck_CDF',true] Call SetNamespace; +}; + +if (local player) then { + //--- Default Faction (Buy Menu), this is the faction name defined in core_xxx.sqf files. + ['WFBE_WESTDEFAULTFACTION','CDF',true] Call SetNamespace; +}; \ No newline at end of file diff --git a/Common/Config/Core_Units/Vanilla/Units_Special_INS.sqf b/Common/Config/Core_Units/Vanilla/Units_Special_INS.sqf new file mode 100644 index 0000000..1ac66a9 --- /dev/null +++ b/Common/Config/Core_Units/Vanilla/Units_Special_INS.sqf @@ -0,0 +1,70 @@ +//--- Radio Announcer. +['WFBE_EASTANNOUNCERS',['WFHQ_CZ0','WFHQ_CZ1','WFHQ_CZ2'],true] Call SetNamespace; + +//--- Crew model. +['WFBE_EASTCREW','Ins_Soldier_Crew',true] Call SetNamespace; + +//--- Pilot model. +['WFBE_EASTPILOT','Ins_Soldier_Pilot',true] Call SetNamespace; + +//--- Soldier model. +['WFBE_EASTSOLDIER','Ins_Soldier_1',true] Call SetNamespace; + +//--- Ambulances. +['WFBE_EASTAMBULANCES',['BMP2_Ambul_INS'],true] Call SetNamespace; + +//--- Repair Trucks. +['WFBE_EASTREPAIRTRUCKS',['UralRepair_INS'],true] Call SetNamespace; + +//--- Salvage Trucks. +['WFBE_EASTSALVAGETRUCK',['WarfareSalvageTruck_INS'],true] Call SetNamespace; + +//--- Supply Trucks. +['WFBE_EASTSUPPLYTRUCKS',['WarfareSupplyTruck_INS'],true] Call SetNamespace; + +//--- UAV. +['WFBE_EASTUAV','Pchela1T',true] Call SetNamespace; + +if (isServer) then { + //--- Base Patrols. + if (paramBasePatrols) then { + ['WFBE_EASTBASEPATROLS_0',['Ins_Soldier_CO','Ins_Soldier_1','Ins_Soldier_2','Ins_Soldier_AR','Ins_Soldier_GL','Ins_Soldier_MG'],true] Call SetNamespace; + ['WFBE_EASTBASEPATROLS_1',['Ins_Soldier_CO','Ins_Soldier_1','Ins_Soldier_2','Ins_Soldier_MG','Ins_Soldier_AT','Ins_Soldier_Medic'],true] Call SetNamespace; + ['WFBE_EASTBASEPATROLS_2',['Ins_Soldier_CO','Ins_Soldier_1','Ins_Soldier_2','Ins_Soldier_AT','Ins_Soldier_AA','Ins_Soldier_Sniper'],true] Call SetNamespace; + ['WFBE_EASTBASEPATROLS_3',['Ins_Soldier_CO','Ins_Soldier_1','Ins_Soldier_AR','Ins_Soldier_AT','Ins_Soldier_AT','Ins_Soldier_GL'],true] Call SetNamespace; + }; + + //--- Paratroopers. + ['WFBE_EASTPARACHUTELEVEL1',['Ins_Soldier_CO','Ins_Soldier_AT','Ins_Soldier_1','Ins_Soldier_2','Ins_Soldier_AR','Ins_Soldier_Medic'],true] Call SetNamespace; + ['WFBE_EASTPARACHUTELEVEL2',['Ins_Soldier_CO','Ins_Soldier_AT','Ins_Soldier_AT','Ins_Soldier_AT','Ins_Soldier_AA','Ins_Soldier_MG','Ins_Soldier_Medic','Ins_Soldier_Sapper','Ins_Soldier_Sniper'],true] Call SetNamespace; + ['WFBE_EASTPARACHUTELEVEL3',['Ins_Soldier_CO','Ins_Soldier_AT','Ins_Soldier_AT','Ins_Soldier_AT','Ins_Soldier_AT','Ins_Soldier_Sapper','Ins_Soldier_AA','Ins_Soldier_AA','Ins_Soldier_MG','Ins_Soldier_Sab','Ins_Soldier_Sniper','Ins_Soldier_Sniper'],true] Call SetNamespace; + + //--- Paratroopers, Vehicle. + ['WFBE_EASTPARACARGO','Mi17_Ins',true] Call SetNamespace; + + //--- Repair Truck model. + ['WFBE_EASTREPAIRTRUCK','UralRepair_INS',true] Call SetNamespace; + + //--- Starting Vehicles. + ['WFBE_EASTSTARTINGVEHICLES',['BMP2_Ambul_INS','Ural_INS'],true] Call SetNamespace; + + //--- Supply Paradropping, Dropped Ammunition. + ['WFBE_EASTPARAAMMO',['RUBasicAmmunitionBox','RUBasicWeaponsBox','RULaunchersBox'],true] Call SetNamespace; + + //--- Supply Paradropping, Dropped Vehicle. + ['WFBE_EASTPARAVEHICARGO','BRDM2_INS',true] Call SetNamespace; + + //--- Supply Paradropping, Vehicle. + ['WFBE_EASTPARAVEHI','Mi17_Ins',true] Call SetNamespace; + + //--- Supply Paradropping, Parachute Model. + ['WFBE_EASTPARACHUTE','ParachuteMediumEast',true] Call SetNamespace; + + //--- Supply Truck model. + ['WFBE_EASTSUPPLYTRUCK','WarfareSupplyTruck_INS',true] Call SetNamespace; +}; + +if (local player) then { + //--- Default Faction (Buy Menu), this is the faction name defined in core_xxx.sqf files. + ['WFBE_EASTDEFAULTFACTION','Insurgents',true] Call SetNamespace; +}; \ No newline at end of file diff --git a/Common/Config/Core_Units/Vanilla/Units_Special_RU.sqf b/Common/Config/Core_Units/Vanilla/Units_Special_RU.sqf new file mode 100644 index 0000000..c0362ba --- /dev/null +++ b/Common/Config/Core_Units/Vanilla/Units_Special_RU.sqf @@ -0,0 +1,70 @@ +//--- Radio Announcer. +['WFBE_EASTANNOUNCERS',['WFHQ_RU0','WFHQ_RU1','WFHQ_RU2'],true] Call SetNamespace; + +//--- Crew model. +['WFBE_EASTCREW','RU_Soldier_Crew',true] Call SetNamespace; + +//--- Pilot model. +['WFBE_EASTPILOT','RU_Soldier_Pilot',true] Call SetNamespace; + +//--- Soldier model. +['WFBE_EASTSOLDIER','RU_Soldier',true] Call SetNamespace; + +//--- Ambulances. +['WFBE_EASTAMBULANCES',['GAZ_Vodnik_MedEvac'],true] Call SetNamespace; + +//--- Repair Trucks. +['WFBE_EASTREPAIRTRUCKS',['KamazRepair'],true] Call SetNamespace; + +//--- Salvage Trucks. +['WFBE_EASTSALVAGETRUCK',['WarfareSalvageTruck_RU'],true] Call SetNamespace; + +//--- Supply Trucks. +['WFBE_EASTSUPPLYTRUCKS',['WarfareSupplyTruck_RU'],true] Call SetNamespace; + +//--- UAV. +['WFBE_EASTUAV','Pchela1T',true] Call SetNamespace; + +if (isServer) then { + //--- Base Patrols. + if (paramBasePatrols) then { + ['WFBE_EASTBASEPATROLS_0',['RU_Soldier_SL','RU_Soldier','RU_Soldier','RU_Soldier_AR','RU_Soldier_GL','RU_Soldier_MG'],true] Call SetNamespace; + ['WFBE_EASTBASEPATROLS_1',['RU_Soldier_SL','RU_Soldier','RU_Soldier','RU_Soldier_MG','RU_Soldier_LAT','RU_Soldier_Medic'],true] Call SetNamespace; + ['WFBE_EASTBASEPATROLS_2',['RU_Soldier_SL','RU_Soldier','RU_Soldier','RU_Soldier_AT','RU_Soldier_AA','RU_Soldier_Marksman'],true] Call SetNamespace; + ['WFBE_EASTBASEPATROLS_3',['RU_Soldier_SL','RU_Soldier','RU_Soldier_AR','RU_Soldier_HAT','RU_Soldier_LAT','RU_Soldier_GL'],true] Call SetNamespace; + }; + + //--- Paratroopers. + ['WFBE_EASTPARACHUTELEVEL1',['RU_Soldier_SL','RU_Soldier_LAT','RU_Soldier','RU_Soldier2','RU_Soldier_AR','RU_Soldier_Medic'],true] Call SetNamespace; + ['WFBE_EASTPARACHUTELEVEL2',['RU_Soldier_SL','RU_Soldier_AT','RU_Soldier_AT','RU_Soldier_AT','RU_Soldier_AA','RU_Soldier_MG','RU_Soldier_Medic','RU_Soldier_Marksman','RUS_Soldier_Marksman'],true] Call SetNamespace; + ['WFBE_EASTPARACHUTELEVEL3',['MVD_Soldier_TL','RU_Soldier_HAT','RU_Soldier_HAT','RU_Soldier_HAT','RU_Soldier_HAT','RU_Soldier_HAT','RU_Soldier_AA','RU_Soldier_AA','MVD_Soldier_MG','RUS_Commander','MVD_Soldier_Sniper','RUS_Soldier_Marksman'],true] Call SetNamespace; + + //--- Paratroopers, Vehicle. + ['WFBE_EASTPARACARGO','Mi17_Ins',true] Call SetNamespace; + + //--- Repair Truck model. + ['WFBE_EASTREPAIRTRUCK','KamazRepair',true] Call SetNamespace; + + //--- Starting Vehicles. + ['WFBE_EASTSTARTINGVEHICLES',['GAZ_Vodnik_MedEvac','Kamaz'],true] Call SetNamespace; + + //--- Supply Paradropping, Dropped Ammunition. + ['WFBE_EASTPARAAMMO',['RUBasicAmmunitionBox','RUBasicWeaponsBox','RULaunchersBox'],true] Call SetNamespace; + + //--- Supply Paradropping, Dropped Vehicle. + ['WFBE_EASTPARAVEHICARGO','UAZ_RU',true] Call SetNamespace; + + //--- Supply Paradropping, Vehicle. + ['WFBE_EASTPARAVEHI','Mi17_Ins',true] Call SetNamespace; + + //--- Supply Paradropping, Parachute Model. + ['WFBE_EASTPARACHUTE','ParachuteMediumEast',true] Call SetNamespace; + + //--- Supply Truck model. + ['WFBE_EASTSUPPLYTRUCK','WarfareSupplyTruck_RU',true] Call SetNamespace; +}; + +if (local player) then { + //--- Default Faction (Buy Menu), this is the faction name defined in core_xxx.sqf files. + ['WFBE_EASTDEFAULTFACTION','Russians',true] Call SetNamespace; +}; \ No newline at end of file diff --git a/Common/Config/Core_Units/Vanilla/Units_Special_USMC.sqf b/Common/Config/Core_Units/Vanilla/Units_Special_USMC.sqf new file mode 100644 index 0000000..a5ac193 --- /dev/null +++ b/Common/Config/Core_Units/Vanilla/Units_Special_USMC.sqf @@ -0,0 +1,70 @@ +//--- Radio Announcer. +['WFBE_WESTANNOUNCERS',['WFHQ_EN0','WFHQ_EN1','WFHQ_EN2'],true] Call SetNamespace; + +//--- Crew model. +['WFBE_WESTCREW','USMC_Soldier_Crew',true] Call SetNamespace; + +//--- Pilot model. +['WFBE_WESTPILOT','USMC_Soldier_Pilot',true] Call SetNamespace; + +//--- Soldier model. +['WFBE_WESTSOLDIER','USMC_Soldier',true] Call SetNamespace; + +//--- Ambulances. +['WFBE_WESTAMBULANCES',['HMMWV_Ambulance'],true] Call SetNamespace; + +//--- Repair Trucks. +['WFBE_WESTREPAIRTRUCKS',['MtvrRepair'],true] Call SetNamespace; + +//--- Salvage Trucks. +['WFBE_WESTSALVAGETRUCK',['WarfareSalvageTruck_USMC'],true] Call SetNamespace; + +//--- Supply Trucks. +['WFBE_WESTSUPPLYTRUCKS',['WarfareSupplyTruck_USMC'],true] Call SetNamespace; + +//--- UAV. +['WFBE_WESTUAV','MQ9PredatorB',true] Call SetNamespace; + +if (isServer) then { + //--- Base Patrols. + if (paramBasePatrols) then { + ['WFBE_WESTBASEPATROLS_0',['USMC_Soldier_SL','USMC_Soldier','USMC_Soldier','USMC_Soldier_AR','USMC_Soldier_GL','USMC_Soldier_MG'],true] Call SetNamespace; + ['WFBE_WESTBASEPATROLS_1',['USMC_Soldier_SL','USMC_Soldier','USMC_Soldier','USMC_Soldier_MG','USMC_Soldier_LAT','USMC_Soldier_Medic'],true] Call SetNamespace; + ['WFBE_WESTBASEPATROLS_2',['USMC_Soldier_SL','USMC_Soldier','USMC_Soldier','USMC_Soldier_AT','USMC_Soldier_AA','USMC_SoldierS_Sniper'],true] Call SetNamespace; + ['WFBE_WESTBASEPATROLS_3',['USMC_Soldier_SL','USMC_Soldier','USMC_Soldier_AR','USMC_Soldier_HAT','USMC_Soldier_LAT','USMC_Soldier_GL'],true] Call SetNamespace; + }; + + //--- Paratroopers. + ['WFBE_WESTPARACHUTELEVEL1',['USMC_Soldier_SL','USMC_Soldier_LAT','USMC_Soldier','USMC_Soldier2','USMC_Soldier_AR','USMC_Soldier_Medic'],true] Call SetNamespace; + ['WFBE_WESTPARACHUTELEVEL2',['USMC_Soldier_SL','USMC_Soldier_AT','USMC_Soldier_AT','USMC_Soldier_AT','USMC_Soldier_AA','USMC_Soldier_MG','USMC_Soldier_Medic','USMC_SoldierS_Spotter','USMC_SoldierS_Sniper'],true] Call SetNamespace; + ['WFBE_WESTPARACHUTELEVEL3',['FR_Assault_R','USMC_Soldier_HAT','USMC_Soldier_HAT','USMC_Soldier_HAT','USMC_Soldier_HAT','USMC_Soldier_AA','USMC_Soldier_AA','FR_AR','FR_AC','USMC_Soldier_Medic','FR_Marksman','USMC_Soldier_AT','USMC_SoldierS_Sniper'],true] Call SetNamespace; + + //--- Paratroopers, Vehicle. + ['WFBE_WESTPARACARGO','C130J',true] Call SetNamespace; + + //--- Repair Truck model. + ['WFBE_WESTREPAIRTRUCK','MtvrRepair',true] Call SetNamespace; + + //--- Starting Vehicles. + ['WFBE_WESTSTARTINGVEHICLES',['HMMWV_Ambulance','MTVR'],true] Call SetNamespace; + + //--- Supply Paradropping, Dropped Ammunition. + ['WFBE_WESTPARAAMMO',['USBasicAmmunitionBox','USBasicWeaponsBox','USLaunchersBox'],true] Call SetNamespace; + + //--- Supply Paradropping, Dropped Vehicle. + ['WFBE_WESTPARAVEHICARGO','HMMWV',true] Call SetNamespace; + + //--- Supply Paradropping, Vehicle. + ['WFBE_WESTPARAVEHI','MH60S',true] Call SetNamespace; + + //--- Supply Paradropping, Parachute Model. + ['WFBE_WESTPARACHUTE','ParachuteMediumWest',true] Call SetNamespace; + + //--- Supply Truck model. + ['WFBE_WESTSUPPLYTRUCK','WarfareSupplyTruck_USMC',true] Call SetNamespace; +}; + +if (local player) then { + //--- Default Faction (Buy Menu), this is the faction name defined in core_xxx.sqf files. + ['WFBE_WESTDEFAULTFACTION','USMC',true] Call SetNamespace; +}; \ No newline at end of file diff --git a/Common/Config/readme.txt b/Common/Config/readme.txt new file mode 100644 index 0000000..b5fdfa5 --- /dev/null +++ b/Common/Config/readme.txt @@ -0,0 +1,38 @@ +### CORE SYSTEM GENERAL FACT: +- Most of the core are defined from Init_Common.sqf +- All units or weapons used HAVE TO be defined within Core or Core_Gear in order to be used properly. +- Duplicated items or Wrong classname are not an issue as there is a protection in the core files. +- arma2.rpt / arma2oa.rpt contains the results of the core system initialization after lauching the game, missing or faulty classes will be shown there. + + +### CORE FOLDERS +# Core: + Contains the Units definitions such as the label, the cost... Any new units shall be defined in this folder. + +# Core_Gear: + Contains the Loadout definitions such as the label, the cost... Any new weapons or magazine shall be defined in this folder. + +# Core_Loadout: + Contains the Loadout classname, gear menu weapons are defined there after being delcared in the "Core_Gear" folder. + +# Core_Units: + Contains the units classname, this folder is used depending on the gamemode to run (Vanilla, Arrowhead...), + if you want to add units in a factory, add the units classname here after declaring it in the "Core" folder. + +# Core_Squads: + This folder contains the AI Units Templates depending on the current running gamemode. + +# Core_Resistance: + This folder contains the AI Resistance Units templates to use depending on the current running gamemode. + +# Core_Occupation: + This folder contains the AI Occupation Units templates to use depending on the current running gamemode. + +# Core_Structures: + This folder contains the Structures used by both players and AI, the defenses are also included here. + +# Core_Artillery: + Contains the artillery definition per faction. + +# Core_Definition: + Contains the Team vs Team definition (CDF vs INS, US vs INS...). \ No newline at end of file diff --git a/Common/Functions/Common_BackpackHasSpace.sqf b/Common/Functions/Common_BackpackHasSpace.sqf new file mode 100644 index 0000000..7e90dd6 --- /dev/null +++ b/Common/Functions/Common_BackpackHasSpace.sqf @@ -0,0 +1,16 @@ +private ["_backpackHasRoom","_bp","_bpContent","_bpItem","_max","_space","_type"]; +_bp = _this select 0; +_bpContent = _this select 1; +_bpItem = _this select 2; + +_type = _bp; +if (typeName _bp == 'OBJECT') then {_type = typeOf _bp}; +_max = getNumber(configFile >> 'CfgVehicles' >> _type >> 'transportMaxMagazines'); + +_space = 0; +for '_u' from 0 to count(_bpContent select 0)-1 do { + _space = _space + (ceil (getNumber(configFile >> 'CfgMagazines' >> ((_bpContent select 0) select _u) >> 'type') / 256)) * ((_bpContent select 1) select _u); +}; + +_backpackHasRoom = if ((ceil(getNumber(configFile >> 'CfgMagazines' >> _bpItem >> 'type') / 256)) + _space > _max) then {false} else {true}; +_backpackHasRoom \ No newline at end of file diff --git a/Common/Functions/Common_BalanceInit.sqf b/Common/Functions/Common_BalanceInit.sqf new file mode 100644 index 0000000..befed3b --- /dev/null +++ b/Common/Functions/Common_BalanceInit.sqf @@ -0,0 +1,48 @@ +Private ["_unit"]; +_unit = _this select 0; + +switch (typeOf _unit) do { + case "HMMWV_Avenger": { + if (WF_A2_Vanilla) then { + _unit removeWeapon "SidewinderLaucher_AH1Z"; + _unit removeWeapon "StingerLaucher"; + _unit addMagazine "2Rnd_Sidewinder_AH1Z"; + _unit addMagazine "2Rnd_Sidewinder_AH1Z"; + _unit addMagazine "2Rnd_Sidewinder_AH1Z"; + _unit addMagazine "2Rnd_Sidewinder_AH1Z"; + _unit addMagazine "2Rnd_Sidewinder_AH1Z"; + _unit addMagazine "2Rnd_Sidewinder_AH1Z"; + _unit addMagazine "2Rnd_Sidewinder_AH1Z"; + _unit addMagazine "2Rnd_Sidewinder_AH1Z"; + _unit addWeapon "SidewinderLaucher_AH1Z"; + }; + }; + case "M6_EP1": { + _unit removeWeapon "StingerLaucher_4x"; + _unit addMagazine "8Rnd_9M311"; + _unit addWeapon "9M311Laucher"; + }; + case "Ka52": { + _unit removeWeapon "AT9Launcher"; + _unit removeWeapon "VikhrLauncher"; + _unit addMagazine "4Rnd_AT9_Mi24P"; + _unit addMagazine "4Rnd_AT9_Mi24P"; + _unit addweapon "AT9Launcher"; + _unit addMagazine "4Rnd_R73"; + _unit addweapon "R73Launcher"; + }; + case "Ka52Black": { + _unit removeWeapon "AT9Launcher"; + _unit removeWeapon "VikhrLauncher"; + _unit addMagazine "4Rnd_AT9_Mi24P"; + _unit addMagazine "4Rnd_AT9_Mi24P"; + _unit addweapon "AT9Launcher"; + _unit addMagazine "4Rnd_R73"; + _unit addweapon "R73Launcher"; + }; + case "An2_TK_EP1": { + _unit addMagazine "500Rnd_TwinVickers"; + _unit addMagazine "500Rnd_TwinVickers"; + _unit addweapon "TwinVickers"; + }; +}; \ No newline at end of file diff --git a/Common/Functions/Common_BuildingInRange.sqf b/Common/Functions/Common_BuildingInRange.sqf new file mode 100644 index 0000000..49eb893 --- /dev/null +++ b/Common/Functions/Common_BuildingInRange.sqf @@ -0,0 +1,17 @@ +Private ['_buildings','_buildingType','_checks','_closest','_range','_side','_sorted','_unit']; +_buildingType = _this select 0; +_buildings = _this select 1; +_range = _this select 2; +_side = _this select 3; +_unit = _this select 4; + +_closest = objNull; + +_checks = [_side,Format ["WFBE_%1%2",str _side,_buildingType] Call GetNamespace,_buildings] Call GetFactories; +if (count _checks > 0) then { + _sorted = [_unit,_checks] Call SortByDistance; + _closest = _sorted select 0; + if (_unit distance _closest > _range) then {_closest = objNull}; +}; + +_closest \ No newline at end of file diff --git a/Common/Functions/Common_ChangeClientFunds.sqf b/Common/Functions/Common_ChangeClientFunds.sqf new file mode 100644 index 0000000..17d840f --- /dev/null +++ b/Common/Functions/Common_ChangeClientFunds.sqf @@ -0,0 +1,7 @@ +private ["_id","_side","_amount"]; + +_amount = _this Select 0; +_side = _this Select 1; +_id = _this Select 2; + +Call Compile Format ["%1Funds%2 = %1Funds%2 + %3; publicVariable '%1Funds%2';",str _side,_id,_amount]; \ No newline at end of file diff --git a/Common/Functions/Common_ChangeSideSupply.sqf b/Common/Functions/Common_ChangeSideSupply.sqf new file mode 100644 index 0000000..6bcdc91 --- /dev/null +++ b/Common/Functions/Common_ChangeSideSupply.sqf @@ -0,0 +1,11 @@ +Private ['_amount','_change','_currentSupply','_side']; + +_side = _this select 0; +_amount = _this select 1; + +_currentSupply = (_side) Call GetSideSupply; +if (isNil '_currentSupply') then {_currentSupply = 0}; +_change = _currentSupply + _amount; +if (_change < 0) then {_change = _currentSupply - _amount}; + +WF_Logic setVariable [Format["%1Supplies",_side],_change,true]; \ No newline at end of file diff --git a/Common/Functions/Common_ChangeTeamFunds.sqf b/Common/Functions/Common_ChangeTeamFunds.sqf new file mode 100644 index 0000000..f0d8ef0 --- /dev/null +++ b/Common/Functions/Common_ChangeTeamFunds.sqf @@ -0,0 +1,8 @@ +Private['_amount','_team']; + +_team = _this select 0; +_amount = _this select 1; + +if (isNull _team) exitWith {}; + +Call Compile Format ["%1Funds = %1Funds + _amount; publicVariable '%1Funds';",_team getVariable 'identification']; \ No newline at end of file diff --git a/Common/Functions/Common_CivilianKilled.sqf b/Common/Functions/Common_CivilianKilled.sqf new file mode 100644 index 0000000..3086451 --- /dev/null +++ b/Common/Functions/Common_CivilianKilled.sqf @@ -0,0 +1,29 @@ +Private ["_killed","_killer","_killerTeam","_sideKiller"]; +_killed = _this select 0; +_killer = _this select 1; +_sideKiller = side _killer; +_killerTeam = group _killer; + +//--- Renegade. +if (_sideKiller == sideEnemy) then { + if (_killer isKindOf westSoldierBaseClass) then {_sideKiller = west}; + if (_killer isKindOf eastSoldierBaseClass) then {_sideKiller = east}; +}; + +//--- Benny's Garbage Collector. +if (WF_A2_Vanilla) then { + trashQueu = trashQueu + [_killed]; + _killed Spawn TrashObject; +}; + +sleep random(2)+random(4); + +//--- Civilian's death. +if (!isNull _killerTeam && (_sideKiller == west) || (_sideKiller == east)) then { + if (isPlayer (leader _killerTeam)) then { + /* Penalty */ + WFBE_Penalty = [vehicleVarName (leader _killerTeam),'CLTFNCPENALTY']; + publicVariable 'WFBE_Penalty'; + if (isHostedServer) then {[vehicleVarName (leader _killerTeam),'CLTFNCPENALTY'] Spawn HandlePVF}; + }; +}; \ No newline at end of file diff --git a/Common/Functions/Common_CreateUnit.sqf b/Common/Functions/Common_CreateUnit.sqf new file mode 100644 index 0000000..8a42df6 --- /dev/null +++ b/Common/Functions/Common_CreateUnit.sqf @@ -0,0 +1,28 @@ +Private ["_get","_position","_side","_skill","_team","_type","_unit"]; +_type = _this select 0; +_team = _this select 1; +_position = _this select 2; +_side = _this select 3; + +_get = _type Call GetNamespace; +_skill = if !(isNil '_get') then {_get select QUERYUNITSKILL} else {'WFBE_AISKILL' Call GetNamespace}; +_unit = _team createUnit [_type,_position,[],0,"FORM"]; +_unit setSkill _skill; +if (_side != resistance) then { + if (paramTrackAI) then { + _unit setVehicleInit Format["[this,%1] ExecVM 'Common\Common_InitUnit.sqf';",_side]; + processInitCommands; + } else { + if (isPlayer leader _team) then {[_unit,_side] ExecVM 'Common\Common_InitUnit.sqf'}; + }; + Call Compile Format ["_unit addEventHandler ['Killed',{[_this select 0,_this select 1,%1] Spawn UnitKilled}];",_side]; +} else { + //--- Note To be optimized, 1.03 BIS BUG, cannot add resistance side via call compile format. + _unit addEventHandler ['Killed',{[_this select 0,_this select 1,resistance] Spawn UnitKilled}]; +}; + +if (('WFBE_ISIS' Call GetNamespace) == 2) then {_unit addEventHandler['handleDamage',{_this Call ISIS_Wound}]}; + +diag_log Format["[WFBE (INFORMATION)][frameno:%5 | ticktime:%6] Common_CreateUnit: A '%1' unit was created (position: %2) and has joined the %3 %4 Team",_type,_position,str _side,_team,diag_frameno,diag_tickTime]; + +_unit \ No newline at end of file diff --git a/Common/Functions/Common_CreateVehicle.sqf b/Common/Functions/Common_CreateVehicle.sqf new file mode 100644 index 0000000..b110416 --- /dev/null +++ b/Common/Functions/Common_CreateVehicle.sqf @@ -0,0 +1,20 @@ +Private ["_lock","_position","_side","_type","_vehicle"]; +_type = _this select 0; +_position = _this select 1; +_side = _this select 2; +_lock = _this select 3; + +_vehicle = _type createVehicle _position; +if (_side != resistance) then { + _vehicle SetVehicleInit Format["[this,%1] ExecVM 'Common\Common_InitUnit.sqf';",_side]; + ProcessInitCommands; + Call Compile Format ["_vehicle addEventHandler ['Killed',{[_this select 0,_this select 1,%1] Spawn UnitKilled}]",_side]; +} else { + //--- Note To be optimized, 1.03 BIS BUG, cannot add resistance side via call compile format? which still isn't fixed in OA 1.59... + _vehicle addEventHandler ["Killed",{[_this select 0,_this select 1,resistance] Spawn UnitKilled}]; +}; +_vehicle lock _lock; + +diag_log Format["[WFBE (INFORMATION)][frameno:%4 | ticktime:%5] Common_CreateVehicle: A %1 '%2' vehicle has been created (position: %3)",str _side,_type,_position,diag_frameno,diag_tickTime]; + +_vehicle \ No newline at end of file diff --git a/Common/Functions/Common_EquipArtillery.sqf b/Common/Functions/Common_EquipArtillery.sqf new file mode 100644 index 0000000..fc1d315 --- /dev/null +++ b/Common/Functions/Common_EquipArtillery.sqf @@ -0,0 +1,19 @@ +Private ['_ammo','_currentUpgrades','_extMagUpgr','_i','_index','_side','_unit']; +_unit = _this select 0; +_index = _this select 1; +_side = _this select 2; + +//--- Browse for extended Mags (WP, SADARM... ) +_ammo = (Format['WFBE_%1_ARTILLERY_EXTENDED_MAGS',_side] Call GetNamespace) select _index; +if (count _ammo == 0) exitWith {}; + +_extMagUpgr = Format['WFBE_%1_ARTILLERY_EXTENDED_MAGS_UPGRD',_side] Call GetNamespace; + +//--- Retrieve the Artillery upgrade level. +_currentUpgrades = ((str _side) Call GetSideUpgrades) select 17; + +for [{_i = 0},{_i < count(_ammo)},{_i = _i + 1}] do { + if (_currentUpgrades >= ((_extMagUpgr select _index) select _i)) then { + _unit addMagazine (_ammo select _i); + }; +}; \ No newline at end of file diff --git a/Common/Functions/Common_EquipBackpack.sqf b/Common/Functions/Common_EquipBackpack.sqf new file mode 100644 index 0000000..27293ef --- /dev/null +++ b/Common/Functions/Common_EquipBackpack.sqf @@ -0,0 +1,9 @@ +private ["_bp","_bpItems"]; +_bp = _this select 0; +_bpItems = _this select 1; + +clearMagazineCargo _bp; + +for '_u' from 0 to count(_bpItems select 0)-1 do { + _bp addMagazineCargo [(_bpItems select 0) select _u, (_bpItems select 1) select _u]; +}; \ No newline at end of file diff --git a/Common/Functions/Common_EquipLoadout.sqf b/Common/Functions/Common_EquipLoadout.sqf new file mode 100644 index 0000000..d14b136 --- /dev/null +++ b/Common/Functions/Common_EquipLoadout.sqf @@ -0,0 +1,26 @@ +Private['_ammo','_unit','_use','_weapon','_weapons']; + +_unit = _this select 0; +_weapons = _this select 1; +_ammo = _this select 2; + +removeAllWeapons _unit; +removeAllItems _unit; + +{_unit addMagazine _x} forEach _ammo; +{_unit addWeapon _x} forEach _weapons; + +_use = primaryWeapon _unit; +if (_use == "") then { + Private ["_kind"]; + { + _kind = getNumber(configFile >> 'CfgWeapons' >> _x >> "type"); + if (_kind in [1,2,4,5]) exitWith {_use = _x}; + } forEach _weapons; +}; + +if (_use != "") then { + Private ["_muzzles"]; + _muzzles = getArray (configFile >> "CfgWeapons" >> _use >> "muzzles"); + if !("this" in _muzzles) then {_unit selectWeapon (_muzzles select 0)} else {_unit selectWeapon _use}; +}; \ No newline at end of file diff --git a/Common/Functions/Common_FireArtillery.sqf b/Common/Functions/Common_FireArtillery.sqf new file mode 100644 index 0000000..87a8367 --- /dev/null +++ b/Common/Functions/Common_FireArtillery.sqf @@ -0,0 +1,65 @@ +Private["_ammo","_angle","_artillery","_burst","_destination","_dispersion","_direction","_distance","_FEH","_gunner","_i","_index","_minRange","_maxRange","_position","_radius","_reloadTime","_side","_type","_velocity","_watchPosition","_weapon","_xcoord","_ycoord"]; + +_artillery = _this select 0; +_destination = _this select 1; +_side = _this select 2; +_radius = _this select 3; +_index = _this select 4; + +_gunner = gunner _artillery; +if (_index == -1) exitWith {diag_log Format ["[WFBE (INFORMATION)][frameno:%2 | ticktime:%3] Common_FireArtillery.sqf: No artillery types were found for '%1'.",_artillery,diag_frameno,diag_tickTime]}; +if (isNull _gunner) exitWith {diag_log Format ["[WFBE (INFORMATION)][frameno:%2 | ticktime:%3] Common_FireArtillery.sqf: Artillery '%1' gunner is null.",_artillery,diag_frameno,diag_tickTime]}; +if (isPlayer _gunner) exitWith {diag_log Format ["[WFBE (INFORMATION)][frameno:%2 | ticktime:%3] Common_FireArtillery.sqf: Artillery '%1' gunner is player.",_artillery,diag_frameno,diag_tickTime]}; + +_minRange = (Format ["WFBE_%1_ARTILLERY_MINRANGES",_side] Call GetNamespace) select _index; +_maxRange = (Format ["WFBE_%1_ARTILLERY_MAXRANGES",_side] Call GetNamespace) select _index; +_weapon = (Format ["WFBE_%1_ARTILLERY_WEAPONS",_side] Call GetNamespace) select _index; +_ammo = (Format ["WFBE_%1_ARTILLERY_AMMOS",_side] Call GetNamespace) select _index; +_velocity = (Format ["WFBE_%1_ARTILLERY_VELOCITIES",_side] Call GetNamespace) select _index; +_dispersion = (Format ["WFBE_%1_ARTILLERY_DISPERSIONS",_side] Call GetNamespace) select _index; + +//--- Move function to global later on. +if (local player) then {[_artillery] Call ARTY_Prep}; + +//--- Artillery Calculations. +_position = getPos _artillery; +_xcoord = (_destination select 0) - (_position select 0); +_ycoord = (_destination select 1) - (_position select 1); +_direction = -(((_ycoord atan2 _xcoord) + 270) % 360); +if (_direction < 0) then {_direction = _direction + 360}; +_distance = sqrt (((_xcoord ^ 2) + (_ycoord ^ 2))) - _minRange; +_angle = _distance / (_maxRange - _minRange) * 100 + 15; +if (_angle > 70) then {_angle = 70}; +if (_distance < 0 || _distance + _minRange > _maxRange) exitWith {}; + +_FEH = Call Compile Format ["_artillery addEventHandler ['Fired',{[_this select 4,_this select 6,%1,%2,%3,%4,%5,%6,%7,%8,%9] Spawn HandleArtillery}];",_ammo,_destination,_velocity,_dispersion,getPos _artillery,_distance,_radius,_maxRange,sideJoinedText]; + +{_gunner disableAI _x} forEach ['ANIM','MOVE','TARGET','AUTOTARGET']; +_watchPosition = [_destination select 0, _destination select 1, (_artillery distance _destination)/(tan(90-_angle))]; +(_gunner) doWatch _watchPosition; + +sleep 10; +if !(alive (_gunner)) exitWith {if !(isNull _artillery) then {_artillery removeEventHandler ['Fired',_FEH]}}; +if !(alive _artillery) exitWith { + if (alive (_gunner)) then {{_gunner enableAI _x} forEach ['ANIM','MOVE','TARGET','AUTOTARGET']}; +}; + +_reloadTime = (Format ["WFBE_%1_ARTILLERY_RELOADTIME",_side] Call GetNamespace) select _index; +_burst = (Format ["WFBE_%1_ARTILLERY_BURST",_side] Call GetNamespace) select _index; + +for [{_i = 0},{_i < _burst},{_i = _i + 1}] do { + sleep _reloadTime; + if (!alive (_gunner) || !alive _artillery) exitWith {}; + + _artillery fire _weapon; +}; + +sleep 1; + +if !(isNull _artillery) then {_artillery removeEventHandler ['Fired',_FEH]}; + +sleep _reloadTime; + +if (alive (_gunner)) then {{_gunner enableAI _x} forEach ['ANIM','MOVE','TARGET','AUTOTARGET']}; + +if (local player) then {[_artillery] Call ARTY_Finish}; \ No newline at end of file diff --git a/Common/Functions/Common_GetAIDigit.sqf b/Common/Functions/Common_GetAIDigit.sqf new file mode 100644 index 0000000..935b372 --- /dev/null +++ b/Common/Functions/Common_GetAIDigit.sqf @@ -0,0 +1,21 @@ +Private ["_i","_split","_unit","_yield"]; + +_unit = _this; + +if (_unit == leader (group _unit)) exitWith {"Leader"}; + +_split = toArray(str _unit); + +_find = _split find 58; +_yield = []; + +if (_find != -1) then { + for '_i' from (_find+1) to count(_split)-1 do { + if ((_split select _i) == 65 || (_split select _i) == 32) exitWith {}; + _yield = _yield + [_split select _i]; + }; +}; + +if (count _yield == 0) exitWith {"0"}; + +toString(_yield) \ No newline at end of file diff --git a/Common/Functions/Common_GetClientID.sqf b/Common/Functions/Common_GetClientID.sqf new file mode 100644 index 0000000..54fc0c3 --- /dev/null +++ b/Common/Functions/Common_GetClientID.sqf @@ -0,0 +1,6 @@ +Private["_index"]; + +_index = ('WFBE_EASTSLOTNAMES' Call GetNamespace) find (vehicleVarName _this); +if (_index < 0) then {_index = ('WFBE_WESTSLOTNAMES' Call GetNamespace) find (vehicleVarName _this)}; + +_index + 1 \ No newline at end of file diff --git a/Common/Functions/Common_GetClientIDFromTeam.sqf b/Common/Functions/Common_GetClientIDFromTeam.sqf new file mode 100644 index 0000000..dd732a7 --- /dev/null +++ b/Common/Functions/Common_GetClientIDFromTeam.sqf @@ -0,0 +1,11 @@ +Private ['_index','_team']; + +_team = _this; + +if (isNil '_team') exitWith {0}; +if (isNull _team) exitWith {0}; + +_index = (Format["WFBE_%1TEAMS",str (side _team)] Call GetNamespace) find _team; +if (_index < 0) exitWith {0}; + +_index+1 \ No newline at end of file diff --git a/Common/Functions/Common_GetClientTeam.sqf b/Common/Functions/Common_GetClientTeam.sqf new file mode 100644 index 0000000..3212017 --- /dev/null +++ b/Common/Functions/Common_GetClientTeam.sqf @@ -0,0 +1,7 @@ +Private["_ID","_side","_team"]; + +_side = _this Select 0; +_ID = _this Select 1; + +_team = ((Format["WFBE_%1TEAMS",str _side]) Call GetNamespace) select (_ID - 1); +_team \ No newline at end of file diff --git a/Common/Functions/Common_GetClosestLocation.sqf b/Common/Functions/Common_GetClosestLocation.sqf new file mode 100644 index 0000000..63b6c59 --- /dev/null +++ b/Common/Functions/Common_GetClosestLocation.sqf @@ -0,0 +1,5 @@ +Private["_object"]; + +_object = _this select 0; + +([_object,towns] Call SortByDistance) select 0; \ No newline at end of file diff --git a/Common/Functions/Common_GetClosestLocationBySide.sqf b/Common/Functions/Common_GetClosestLocationBySide.sqf new file mode 100644 index 0000000..ec76f29 --- /dev/null +++ b/Common/Functions/Common_GetClosestLocationBySide.sqf @@ -0,0 +1,21 @@ +Private["_enemyTowns","_object","_nearest","_side"]; + +_object = _this select 0; +_side = _this select 1; +_cvar = if (count _this > 2) then {_this select 2} else {""}; + +_enemyTowns = towns - ((_side) Call GetSideTowns); +_nearest = objNull; + +if (count _enemyTowns > 0) then { + _nearests = [_object,_enemyTowns] Call SortByDistance; + if (_cvar != "") then { + for '_i' from 0 to count(_nearests)-1 do { + if ((_nearests select _i) getVariable _cvar) exitWith{_nearest = (_nearests select _i)}; + }; + } else { + _nearest = _nearests select 0; + } +}; + +_nearest \ No newline at end of file diff --git a/Common/Functions/Common_GetCommanderFromVotes.sqf b/Common/Functions/Common_GetCommanderFromVotes.sqf new file mode 100644 index 0000000..c0210f6 --- /dev/null +++ b/Common/Functions/Common_GetCommanderFromVotes.sqf @@ -0,0 +1,36 @@ +Private["_AI","_commander","_count","_highest","_highestTeam","_side","_teams","_tie","_total","_vote","_votes"]; + +_side = _this Select 0; + +_AI = 0; +_teams = (Format["WFBE_%1TEAMS",str _side] Call GetNamespace); +_total = Count _teams; + +_votes = []; +for [{_count = 0},{_count < _total},{_count = _count + 1}] do {_votes = _votes + [0]}; + +//Count votes. +for [{_count = 0},{_count < _total},{_count = _count + 1}] do { + if (isPlayer (leader (_teams Select _count))) then { + _vote = Call Compile Format ["%1Team%2Vote",Str _side,_count + 1]; + if (_vote != -1) then { + _votes Set[_vote,(_votes Select _vote) + 1]; + } else { + _AI = _AI + 1; + }; + }; +}; + +_count = 0; +_highest = 0; +_highestTeam = -1; +_tie = false; +{if (_x == _highest && _x > 0) then {_tie = true};if (_x > _highest) then {_highestTeam = _count;_highest = _x;_tie = false};_count = _count + 1} ForEach _votes; + +_commander = ObjNull; + +if (!_tie && _highest > _AI && _highestTeam != -1) then { + _commander = _teams select _highestTeam; +}; + +_commander \ No newline at end of file diff --git a/Common/Functions/Common_GetCommanderTeam.sqf b/Common/Functions/Common_GetCommanderTeam.sqf new file mode 100644 index 0000000..7de4fec --- /dev/null +++ b/Common/Functions/Common_GetCommanderTeam.sqf @@ -0,0 +1,7 @@ +Private ["_cmdrTeam","_side"]; +_side = _this; + +_cmdrTeam = WF_Logic getVariable Format ["%1CommanderTeam",str _side]; +if (isNil "_cmdrTeam") then {_cmdrTeam = objNull}; + +_cmdrTeam \ No newline at end of file diff --git a/Common/Functions/Common_GetCommanderVotes.sqf b/Common/Functions/Common_GetCommanderVotes.sqf new file mode 100644 index 0000000..054f363 --- /dev/null +++ b/Common/Functions/Common_GetCommanderVotes.sqf @@ -0,0 +1,19 @@ +Private["_count","_side","_teams","_total","_vote","_votes"]; + +_side = _this Select 0; + +_teams = (Format["WFBE_%1TEAMS",str _side] Call GetNamespace); +_total = Count _teams + 1; + +_votes = []; +for [{_count = 0},{_count < _total},{_count = _count + 1}] do {_votes = _votes + [0]}; + +//Count votes. +for [{_count = 1},{_count < _total},{_count = _count + 1}] do { + if (isPlayer (leader (_teams Select (_count - 1)))) then { + _vote = (Call Compile Format ["%1Team%2Vote",Str _side,_count]) + 1; + _votes Set[_vote,(_votes Select _vote) + 1]; + }; +}; + +_votes diff --git a/Common/Functions/Common_GetConfigInfo.sqf b/Common/Functions/Common_GetConfigInfo.sqf new file mode 100644 index 0000000..ce83cad --- /dev/null +++ b/Common/Functions/Common_GetConfigInfo.sqf @@ -0,0 +1,8 @@ +Private ['_element','_from','_object']; +_object = _this select 0; +_element = _this select 1; +_from = if (count _this > 2) then {_this select 2} else {'CfgVehicles'}; + +if (typeName _object == 'OBJECT') then {_object = typeOf(_object)}; + +getText (configFile >> _from >> _object >> _element) \ No newline at end of file diff --git a/Common/Functions/Common_GetConfigVehicleCrewSlot.sqf b/Common/Functions/Common_GetConfigVehicleCrewSlot.sqf new file mode 100644 index 0000000..6039ff7 --- /dev/null +++ b/Common/Functions/Common_GetConfigVehicleCrewSlot.sqf @@ -0,0 +1,21 @@ +/* Adapted from BIS turret's function. */ +private ['_entry','_turrestcount','_turrets']; +_entry = configFile >> 'CfgVehicles' >> _this >> 'Turrets'; + +vhasCommander = false; +vhasGunner = false; +_turrets = [_entry] Call Compile preprocessFile "Common\Functions\Common_GetConfigVehicleTurretsReturn.sqf"; + +tmp_overall = []; + +if (count _turrets > 0) then { + [_turrets, []] Call Compile preprocessFile "Common\Functions\Common_GetConfigVehicleTurrets.sqf"; +}; + +_turrestcount = count(tmp_overall); +if (vhasGunner) then {_turrestcount = _turrestcount - 1}; +if (vhasCommander) then {_turrestcount = _turrestcount - 1}; + +// diag_log format ["%1 %2",_entry,tmp_overall]; + +[[vhasCommander,vhasGunner,count(tmp_overall)+1,_turrestcount], tmp_overall] \ No newline at end of file diff --git a/Common/Functions/Common_GetConfigVehicleTurrets.sqf b/Common/Functions/Common_GetConfigVehicleTurrets.sqf new file mode 100644 index 0000000..f060f7a --- /dev/null +++ b/Common/Functions/Common_GetConfigVehicleTurrets.sqf @@ -0,0 +1,16 @@ +private ["_turrets", "_i", "_path"]; +_turrets = _this select 0; +_path = _this select 1; +_i = 0; + +while {_i < (count _turrets)} do { + private ["_turretIndex", "_thisTurret"]; + _turretIndex = _turrets select _i; + _thisTurret = _path + [_turretIndex]; + + tmp_overall = tmp_overall + [_thisTurret]; + + [([_turrets select (_i + 1), _thisTurret] Call Compile preprocessFile "Common\Functions\Common_GetConfigVehicleTurrets.sqf")]; + + _i = _i + 2; +}; \ No newline at end of file diff --git a/Common/Functions/Common_GetConfigVehicleTurretsReturn.sqf b/Common/Functions/Common_GetConfigVehicleTurretsReturn.sqf new file mode 100644 index 0000000..c0901d5 --- /dev/null +++ b/Common/Functions/Common_GetConfigVehicleTurretsReturn.sqf @@ -0,0 +1,54 @@ +if ((count _this) < 1) exitWith {debugLog "Log: [returnVehicleTurrets] Function requires at least 1 parameter!"; []}; + +private ["_entry"]; +_entry = _this select 0; + +//Validate parameters +if ((typeName _entry) != (typeName configFile)) exitWith {debugLog "Log: [returnVehicleTurrets] Entry (0) must be a Config!"; []}; + +private ["_turrets", "_turretIndex"]; +_turrets = []; +_turretIndex = 0; + +//Explore all turrets and sub-turrets recursively. +for "_i" from 0 to ((count _entry) - 1) do +{ + private ["_subEntry"]; + _subEntry = _entry select _i; + + if (isClass _subEntry) then + { + private ["_hasGunner","_isset","_pcom","_pgun"]; + _hasGunner = [_subEntry, "hasGunner"] Call BIS_fnc_returnConfigEntry; + + _pgun = [_subEntry, "primaryGunner"] Call BIS_fnc_returnConfigEntry; + _pcom = [_subEntry, "primaryObserver"] Call BIS_fnc_returnConfigEntry; + + _isset = false; + if (_pgun == 1 && !vhasGunner) then {vhasGunner = true;_isset = true}; + if (_pcom == 1 && !vhasCommander && !_isset) then {vhasCommander = true}; + + //Make sure the entry was found. + if !(isNil "_hasGunner") then + { + if (_hasGunner == 1) then + { + _turrets = _turrets + [_turretIndex]; + + //Include sub-turrets, if present. + if (isClass (_subEntry >> "Turrets")) then + { + _turrets = _turrets + [[_subEntry >> "Turrets"] Call Compile preprocessFile "Common\Functions\Common_GetConfigVehicleTurretsReturn.sqf"]; + } + else + { + _turrets = _turrets + [[]]; + }; + }; + }; + + _turretIndex = _turretIndex + 1; + }; +}; + +_turrets \ No newline at end of file diff --git a/Common/Functions/Common_GetFactories.sqf b/Common/Functions/Common_GetFactories.sqf new file mode 100644 index 0000000..39c7ffc --- /dev/null +++ b/Common/Functions/Common_GetFactories.sqf @@ -0,0 +1,10 @@ +Private ["_buildings","_kind","_list","_side","_type"]; +_side = _this select 0; +_kind = _this select 1; +_buildings = _this select 2; + +_list = []; +_type = (Format["WFBE_%1STRUCTURENAMES",str _side] Call GetNamespace) select _kind; +{if (typeOf _x == _type && alive _x) then {_list = _list + [_x]}} forEach _buildings; + +_list \ No newline at end of file diff --git a/Common/Functions/Common_GetFriendlyCamps.sqf b/Common/Functions/Common_GetFriendlyCamps.sqf new file mode 100644 index 0000000..cebe329 --- /dev/null +++ b/Common/Functions/Common_GetFriendlyCamps.sqf @@ -0,0 +1,14 @@ +private ["_camps","_friendlyCamps","_side","_sideID","_town"]; + +_town = _this Select 0; +_side = _this Select 1; + +_sideID = _side Call GetSideID; +_camps = _town getVariable "camps"; +_friendlyCamps = []; + +{ + if ((_x getVariable "sideID") == _sideID) then {_friendlyCamps = _friendlyCamps + [_x]}; +} forEach _camps; + +_friendlyCamps \ No newline at end of file diff --git a/Common/Functions/Common_GetGroupFromConfig.sqf b/Common/Functions/Common_GetGroupFromConfig.sqf new file mode 100644 index 0000000..5427057 --- /dev/null +++ b/Common/Functions/Common_GetGroupFromConfig.sqf @@ -0,0 +1,23 @@ +Private ['_config','_faction','_group','_kind','_side','_type']; +_side = _this select 0; +_faction = _this select 1; +_kind = _this select 2; +_type = _this select 3; + +_config = configFile >> "CfgGroups" >> _side >> _faction >> _kind >> _type; +_group = []; + +if (isClass _config) then { + for "_j" from 0 to ((count _config) - 1) do { + private ["_mclass"]; + _mclass = _config select _j; + + if (isClass (_mclass)) then { + _group = _group + [getText(_mclass >> "vehicle")]; + }; + }; +} else { + diag_log Format ["[WFBE (ERROR)][frameno:%1 | ticktime:%2] Common_GetGroupFromConfig: Entry (configFile >> 'CfgGroups' >> '%3' >> '%4' >> '%5' >> '%6') is not a valid group config.",diag_frameno,diag_tickTime,_side,_faction,_kind,_type]; +}; + +_group \ No newline at end of file diff --git a/Common/Functions/Common_GetHostilesInArea.sqf b/Common/Functions/Common_GetHostilesInArea.sqf new file mode 100644 index 0000000..eef2647 --- /dev/null +++ b/Common/Functions/Common_GetHostilesInArea.sqf @@ -0,0 +1,18 @@ +Private ['_hostiles','_object','_objects','_safeFromSide','_within']; +_object = _this select 0; +_safeFromSide = _this select 1; +_within = if (count _this > 2) then {_this select 2} else {50}; + +_objects = _object nearEntities[[eastSoldierBaseClass,westSoldierBaseClass,resistanceSoldierBaseClass,"Car","Motorcycle","Tank","Air"],_within]; +_hostiles = 0; + +if (typeName _safeFromSide == 'ARRAY') then { + { + _hostiles = _hostiles + (_x countSide _objects); + } forEach _safeFromSide; +}; +if (typeName _safeFromSide == 'SIDE') then { + _hostiles = _hostiles + (_safeFromSide countSide _objects); +}; + +_hostiles \ No newline at end of file diff --git a/Common/Functions/Common_GetLiveUnits.sqf b/Common/Functions/Common_GetLiveUnits.sqf new file mode 100644 index 0000000..5909c82 --- /dev/null +++ b/Common/Functions/Common_GetLiveUnits.sqf @@ -0,0 +1,8 @@ +Private["_liveUnits","_units"]; + +_units = _this; + +_liveUnits = []; + +{if (alive _x) then {_liveUnits = _liveUnits + [_x]}} forEach _units; +_liveUnits diff --git a/Common/Functions/Common_GetNameSpace.sqf b/Common/Functions/Common_GetNameSpace.sqf new file mode 100644 index 0000000..589da00 --- /dev/null +++ b/Common/Functions/Common_GetNameSpace.sqf @@ -0,0 +1,5 @@ +Private ['_variable']; + +_variable = _this; + +missionNamespace getVariable _variable \ No newline at end of file diff --git a/Common/Functions/Common_GetPositionFrom.sqf b/Common/Functions/Common_GetPositionFrom.sqf new file mode 100644 index 0000000..a695b6b --- /dev/null +++ b/Common/Functions/Common_GetPositionFrom.sqf @@ -0,0 +1,11 @@ +private ["_distance","_direction","_position"]; + +_position = _this Select 0; +if (TypeName _position != "ARRAY") then {_position = Position _position}; + +_distance = _this Select 1; + +_direction = _this Select 2; +if (TypeName _direction != "SCALAR") then {_direction = [_position,_direction] Call GetDirTo}; + +[(_position Select 0)+((sin _direction)*_distance),(_position Select 1)+((cos _direction)*_distance),(_position Select 2)] \ No newline at end of file diff --git a/Common/Functions/Common_GetRandomPosition.sqf b/Common/Functions/Common_GetRandomPosition.sqf new file mode 100644 index 0000000..a5e41ea --- /dev/null +++ b/Common/Functions/Common_GetRandomPosition.sqf @@ -0,0 +1,12 @@ +Private["_position","_radius","_direction","_maxRadius","_minRadius"]; + +_position = _this select 0; +_minRadius = _this select 1; +_maxRadius = _this select 2; +_direction = random 360; + +_radius = (random (_maxRadius - _minRadius)) + _minRadius; +_position = [(_position select 0)+((sin _direction)*_radius),(_position select 1)+((cos _direction)*_radius),(_position select 2)]; +while {surfaceIsWater _position}do {_direction = random 360;_radius = (random (_maxRadius - _minRadius)) + _minRadius;_position = [(_position select 0)+((sin _direction)*_radius),(_position select 1)+((cos _direction)*_radius),(_position select 2)]}; + +_position \ No newline at end of file diff --git a/Common/Functions/Common_GetRespawnCamps.sqf b/Common/Functions/Common_GetRespawnCamps.sqf new file mode 100644 index 0000000..4c8f2ed --- /dev/null +++ b/Common/Functions/Common_GetRespawnCamps.sqf @@ -0,0 +1,14 @@ +Private ['_availableSpawn','_camps','_closestCamp','_deathLoc','_enemySide','_get','_hostiles','_nearestCamps','_respawnCampsMode','_respawnCampsRuleMode','_respawnMinRange','_side','_town','_townSID'],; _deathLoc = _this select 0; +_side = _this select 1; +_availableSpawn = []; +_respawnCampsMode = 'WFBE_RESPAWNCAMPSMODE' Call GetNamespace; +_respawnCampsRuleMode = 'WFBE_RESPAWNCAMPSRULEMODE' Call GetNamespace; +_respawnMinRange = 'WFBE_RESPAWNMINRANGE' Call GetNamespace; + + switch (_respawnCampsMode) do { case 1: { /* Classic Respawn */ _town = [_deathLoc] Call GetClosestLocation; if !(isNull _town) then { if (_town distance _deathLoc < ('WFBE_RESPAWNRANGE' Call GetNamespace)) then { _camps = [_town,_side] Call GetFriendlyCamps; if (count _camps > 0) then { if (_respawnCampsRuleMode > 0) then { _closestCamp = ([_deathLoc,_camps] Call SortByDistance) select 0; _enemySide = if (_side == west) then {[east]} else {[west]}; if (_respawnCampsRuleMode == 2) then {_enemySide = _enemySide + [resistance]}; _hostiles = [_closestCamp,_enemySide,_respawnMinRange] Call GetHostilesInArea; if (_deathLoc distance _closestCamp < _respawnMinRange && _hostiles > 0) then {_camps = _camps - [_closestCamp]}; }; _availableSpawn = _availableSpawn + _camps; }; }; + }; + }; + case 2: { /* Enhanced Respawn - Get the camps around the unit */ _nearestCamps = nearestObjects [_deathLoc, WFCAMP, ('WFBE_RESPAWNRANGE' Call GetNamespace)]; { _get = _x getVariable 'sideID'; if !(isNil '_get') then { if ((_side Call GetSideID) == _get) then { if (_respawnCampsRuleMode > 0) then { if (_deathLoc distance _x < _respawnMinRange) then { _enemySide = if (_side == west) then {[east]} else {[west]}; if (_respawnCampsRuleMode == 2) then {_enemySide = _enemySide + [resistance]}; _hostiles = [_x,_enemySide,_respawnMinRange] Call GetHostilesInArea; if (_hostiles == 0) then {_availableSpawn = _availableSpawn + [_x]}; } else { _availableSpawn = _availableSpawn + [_x]; }; } else { _availableSpawn = _availableSpawn + [_x]; }; }; }; } forEach _nearestCamps; }; case 3: { /* Defender Only Respawn - Get the camps around the unit only if the town is friendly to the unit. */ _nearestCamps = nearestObjects [_deathLoc, WFCAMP, ('WFBE_RESPAWNRANGE' Call GetNamespace)]; { _get = _x getVariable 'sideID'; if !(isNil '_get') then { _town = _x getVariable 'town'; _townSID = _town getVariable 'sideID'; if ((_side Call GetSideID) == _townSID && _get == _townSID) then { + if (_respawnCampsRuleMode > 0) then { if (_deathLoc distance _x < _respawnMinRange) then { _enemySide = if (_side == west) then {[east]} else {[west]}; if (_respawnCampsRuleMode == 2) then {_enemySide = _enemySide + [resistance]}; _hostiles = [_x,_enemySide,_respawnMinRange] Call GetHostilesInArea; if (_hostiles == 0) then {_availableSpawn = _availableSpawn + [_x]}; } else { _availableSpawn = _availableSpawn + [_x]; }; } else { _availableSpawn = _availableSpawn + [_x]; }; }; }; } forEach _nearestCamps; }; }; + +/* Return the available camps */ _availableSpawn \ No newline at end of file diff --git a/Common/Functions/Common_GetSafePlace.sqf b/Common/Functions/Common_GetSafePlace.sqf new file mode 100644 index 0000000..fe0024c --- /dev/null +++ b/Common/Functions/Common_GetSafePlace.sqf @@ -0,0 +1,27 @@ +Private["_count","_currentPosition","_direction","_obstacles","_placed","_position","_radius","_retPos","_vehicles"]; +scopeName "PlaceSafe"; + +_position = _this select 0; +_radius = if (count _this > 1) then {_this select 1} else {35}; +_retPos = []; + +_currentPosition = _position; +_placed = false; +_direction = 0; + +for [{_count = 0},{_count < 30 && !_placed},{_count = _count + 1}] do { + _obstacles = nearestObjects [_currentPosition, ["Building"], 15]; + _vehicles = _currentPosition nearEntities [["Building","Car","Tank","Air"], 7]; + + if (count _obstacles > 0 || count _vehicles > 0 || surfaceIsWater _currentPosition) then { + _currentPosition = [(_position select 0)+((sin _direction)*_radius),(_position select 1)+((cos _direction)*_radius),0]; + _direction = _direction + 36; + if (_count > 15) then {_radius = _radius + 25}; + } else { + _retPos = _currentPosition; + _placed = true; + breakTo "PlaceSafe"; + }; +}; + +_retPos \ No newline at end of file diff --git a/Common/Functions/Common_GetSideFromID.sqf b/Common/Functions/Common_GetSideFromID.sqf new file mode 100644 index 0000000..3d549b7 --- /dev/null +++ b/Common/Functions/Common_GetSideFromID.sqf @@ -0,0 +1,7 @@ +Private["_side"]; + +_side = Resistance; +if (_this == EASTID) then {_side = East}; +if (_this == WESTID) then {_side = West}; + +_side \ No newline at end of file diff --git a/Common/Functions/Common_GetSideHQ.sqf b/Common/Functions/Common_GetSideHQ.sqf new file mode 100644 index 0000000..6c1fab8 --- /dev/null +++ b/Common/Functions/Common_GetSideHQ.sqf @@ -0,0 +1 @@ +Call Compile Format ["%1MHQ",_this] \ No newline at end of file diff --git a/Common/Functions/Common_GetSideHQDeployed.sqf b/Common/Functions/Common_GetSideHQDeployed.sqf new file mode 100644 index 0000000..9b06dbd --- /dev/null +++ b/Common/Functions/Common_GetSideHQDeployed.sqf @@ -0,0 +1 @@ +Call Compile Format ["%1MHQDeployed",_this] \ No newline at end of file diff --git a/Common/Functions/Common_GetSideID.sqf b/Common/Functions/Common_GetSideID.sqf new file mode 100644 index 0000000..a7b2053 --- /dev/null +++ b/Common/Functions/Common_GetSideID.sqf @@ -0,0 +1,7 @@ +Private["_ID"]; + +_ID = RESISTANCEID; +if (_this == east) then {_ID = EASTID}; +if (_this == west) then {_ID = WESTID}; + +_ID \ No newline at end of file diff --git a/Common/Functions/Common_GetSideStructures.sqf b/Common/Functions/Common_GetSideStructures.sqf new file mode 100644 index 0000000..50a503f --- /dev/null +++ b/Common/Functions/Common_GetSideStructures.sqf @@ -0,0 +1 @@ +Call Compile Format ["%1BaseStructures",_this] \ No newline at end of file diff --git a/Common/Functions/Common_GetSideSupply.sqf b/Common/Functions/Common_GetSideSupply.sqf new file mode 100644 index 0000000..a23b240 --- /dev/null +++ b/Common/Functions/Common_GetSideSupply.sqf @@ -0,0 +1 @@ +WF_Logic getVariable Format["%1Supplies",_this] \ No newline at end of file diff --git a/Common/Functions/Common_GetSideTowns.sqf b/Common/Functions/Common_GetSideTowns.sqf new file mode 100644 index 0000000..211ce4c --- /dev/null +++ b/Common/Functions/Common_GetSideTowns.sqf @@ -0,0 +1,10 @@ +Private ['_sideID','_towns']; + +_sideID = (_this) Call GetSideID; +_towns = []; + +{ + if ((_x getVariable 'sideID') == _sideID) then {_towns = _towns + [_x]}; +} forEach towns; + +_towns \ No newline at end of file diff --git a/Common/Functions/Common_GetSideUpgrades.sqf b/Common/Functions/Common_GetSideUpgrades.sqf new file mode 100644 index 0000000..dab2428 --- /dev/null +++ b/Common/Functions/Common_GetSideUpgrades.sqf @@ -0,0 +1 @@ +Call Compile Format ["%1Upgrades",_this] \ No newline at end of file diff --git a/Common/Functions/Common_GetSleepFPS.sqf b/Common/Functions/Common_GetSleepFPS.sqf new file mode 100644 index 0000000..82b5bc4 --- /dev/null +++ b/Common/Functions/Common_GetSleepFPS.sqf @@ -0,0 +1,11 @@ +Private ["_delay"]; + +_delay = _this; + +if (diag_fps > 15) exitWith {_delay}; +if (diag_fps <= 15 && diag_fps > 10) exitWith {_delay * 0.85}; +if (diag_fps <= 10 && diag_fps > 7) exitWith {_delay * 0.75}; +if (diag_fps <= 7 && diag_fps > 5) exitWith {_delay * 0.70}; +if (diag_fps <= 5) exitWith {_delay * 0.50}; + +_delay \ No newline at end of file diff --git a/Common/Functions/Common_GetTeamArtillery.sqf b/Common/Functions/Common_GetTeamArtillery.sqf new file mode 100644 index 0000000..3bc97d7 --- /dev/null +++ b/Common/Functions/Common_GetTeamArtillery.sqf @@ -0,0 +1,32 @@ +Private["_artillery","_artyTypes","_artyWeapons","_count","_ignoreAmmo","_index","_position","_search","_side","_team","_units","_vehicle","_weapon","_x","_y"]; + +_team = _this select 0; +_ignoreAmmo = _this select 1; +_index = _this select 2; +_side = _this select 3; + +if (_index < 0) exitWith {[]}; + +_units = units _team; +_artyTypes = (Format ["WFBE_%1_ARTILLERY_NAMES",_side] Call GetNamespace) select _index; +_artyWeapons = Format ["WFBE_%1_ARTILLERY_WEAPONS",_side] Call GetNamespace; + +_artillery = []; + +{ + _vehicle = vehicle _x; + + if (typeOf(_vehicle) in _artyTypes) then { + if (!(isNull(gunner _vehicle)) && !(_vehicle in _artillery) && !(isPlayer(gunner _vehicle))) then { + if !(isPlayer(gunner _vehicle)) then { + _weapon = _artyWeapons select _index; + + if (_ignoreAmmo || (_vehicle ammo _weapon > 0)) then { + _artillery = _artillery + [_vehicle]; + }; + }; + }; + }; +} forEach _units; + +_artillery \ No newline at end of file diff --git a/Common/Functions/Common_GetTeamAutonomous.sqf b/Common/Functions/Common_GetTeamAutonomous.sqf new file mode 100644 index 0000000..9c14c75 --- /dev/null +++ b/Common/Functions/Common_GetTeamAutonomous.sqf @@ -0,0 +1,3 @@ +if (isNull _this) exitWith {false}; + +Call Compile Format ["%1Autonomous",_this getVariable 'identification'] \ No newline at end of file diff --git a/Common/Functions/Common_GetTeamFunds.sqf b/Common/Functions/Common_GetTeamFunds.sqf new file mode 100644 index 0000000..a203147 --- /dev/null +++ b/Common/Functions/Common_GetTeamFunds.sqf @@ -0,0 +1,7 @@ +Private ["_funds"]; + +if (isNull _this) exitWith {0}; + +_funds = Call Compile Format ["%1Funds",_this getVariable 'identification']; +if (isNil '_funds') exitWith {0}; +_funds \ No newline at end of file diff --git a/Common/Functions/Common_GetTeamMoveMode.sqf b/Common/Functions/Common_GetTeamMoveMode.sqf new file mode 100644 index 0000000..5860877 --- /dev/null +++ b/Common/Functions/Common_GetTeamMoveMode.sqf @@ -0,0 +1,3 @@ +if (isNull _this) exitWith {"towns"}; + +Call Compile Format ["%1MoveMode",_this getVariable 'identification'] \ No newline at end of file diff --git a/Common/Functions/Common_GetTeamMovePos.sqf b/Common/Functions/Common_GetTeamMovePos.sqf new file mode 100644 index 0000000..c54ea5e --- /dev/null +++ b/Common/Functions/Common_GetTeamMovePos.sqf @@ -0,0 +1,3 @@ +if (isNull _this) exitWith {[0,0,0]}; + +Call Compile Format ["%1MovePos",_this getVariable 'identification'] \ No newline at end of file diff --git a/Common/Functions/Common_GetTeamRespawn.sqf b/Common/Functions/Common_GetTeamRespawn.sqf new file mode 100644 index 0000000..4625e2a --- /dev/null +++ b/Common/Functions/Common_GetTeamRespawn.sqf @@ -0,0 +1,3 @@ +if (isNull _this) exitWith {""}; + +Call Compile Format ["%1Respawn",_this getVariable 'identification'] \ No newline at end of file diff --git a/Common/Functions/Common_GetTeamType.sqf b/Common/Functions/Common_GetTeamType.sqf new file mode 100644 index 0000000..66932c1 --- /dev/null +++ b/Common/Functions/Common_GetTeamType.sqf @@ -0,0 +1,3 @@ +if (isNull _this) exitWith {0}; + +Call Compile Format ["%1Types",_this getVariable 'identification'] \ No newline at end of file diff --git a/Common/Functions/Common_GetTeamVehicles.sqf b/Common/Functions/Common_GetTeamVehicles.sqf new file mode 100644 index 0000000..713fe89 --- /dev/null +++ b/Common/Functions/Common_GetTeamVehicles.sqf @@ -0,0 +1,30 @@ +private ["_canMove","_crew","_ignoreOwnerConflict","_member","_ownerConflict","_range","_team","_teamVehicles","_units","_vehicle"]; + +_team = _this select 0; +_canMove = _this select 1; + +_member = objNull; +_range = 150; +if (count _this > 2) then {_member = _this select 2}; +if (count _this > 3) then {_range = _this select 3}; + +_ignoreOwnerConflict = false; +if (count _this > 4) then {_ignoreOwnerConflict = _this select 4}; + +_teamVehicles = []; +_units = units _team; + + { + _vehicle = vehicle _x; + + if (_x != _vehicle && !(_vehicle in _teamVehicles)) then {_teamVehicles = _teamVehicles + [_vehicle]}; + if (_canMove && !canMove _vehicle) then {_teamVehicles = _teamVehicles - [_vehicle]}; + if (!IsNull _member && _member distance _vehicle > _range) then {_teamVehicles = _teamVehicles - [_vehicle]}; + + _ownerConflict = false; + _crew = crew _vehicle; + {if (_x != leader _team && isPlayer _x) then {_ownerConflict = true}} forEach _crew; + if (!_ignoreOwnerConflict && _ownerConflict) then {_teamVehicles = _teamVehicles - [_vehicle]}; + } forEach _units; + +_teamVehicles \ No newline at end of file diff --git a/Common/Functions/Common_GetTotalCamps.sqf b/Common/Functions/Common_GetTotalCamps.sqf new file mode 100644 index 0000000..407dbf6 --- /dev/null +++ b/Common/Functions/Common_GetTotalCamps.sqf @@ -0,0 +1,7 @@ +Private ['_camps']; + +_camps = _this getVariable "camps"; +if (isNil '_camps') exitWith {1}; +if (count _camps == 0) exitWith {1}; + +count _camps \ No newline at end of file diff --git a/Common/Functions/Common_GetTotalCampsOnSide.sqf b/Common/Functions/Common_GetTotalCampsOnSide.sqf new file mode 100644 index 0000000..10619dc --- /dev/null +++ b/Common/Functions/Common_GetTotalCampsOnSide.sqf @@ -0,0 +1,15 @@ +Private["_camps","_side","_sideID","_total","_town"]; + +_town = _this select 0; +_side = _this select 1; + +_sideID = _side Call GetSideID; + +_camps = _town getVariable "camps"; +if (isNil '_camps') exitWith {1}; +if (count _camps == 0) exitWith {1}; +_total = 0; + +{if ((_x getVariable "sideID") == _sideID) then {_total = _total + 1}} forEach _camps; + +_total \ No newline at end of file diff --git a/Common/Functions/Common_GetTotalSupplyValue.sqf b/Common/Functions/Common_GetTotalSupplyValue.sqf new file mode 100644 index 0000000..2504011 --- /dev/null +++ b/Common/Functions/Common_GetTotalSupplyValue.sqf @@ -0,0 +1,13 @@ +Private["_side","_sideID","_totalSupply"]; + +_side = _this; +_sideID = _side Call GetSideID; +_totalSupply = 0; + +{ + if ((_x getVariable "sideID") == _sideID) then { + _totalSupply = _totalSupply + (_x getVariable "supplyValue"); + }; +} forEach towns; + +_totalSupply \ No newline at end of file diff --git a/Common/Functions/Common_GetTownsHeld.sqf b/Common/Functions/Common_GetTownsHeld.sqf new file mode 100644 index 0000000..e992252 --- /dev/null +++ b/Common/Functions/Common_GetTownsHeld.sqf @@ -0,0 +1,8 @@ +private ["_held","_sideID"]; + +_held = 0; +_sideID = _this Call GetSideID; + +{if ((_x getVariable 'sideID') == _sideID) then {_held = _held + 1}} forEach towns; + +_held \ No newline at end of file diff --git a/Common/Functions/Common_GetTownsIncome.sqf b/Common/Functions/Common_GetTownsIncome.sqf new file mode 100644 index 0000000..df5bf43 --- /dev/null +++ b/Common/Functions/Common_GetTownsIncome.sqf @@ -0,0 +1,18 @@ +Private ["_income","_incomeCoef","_incomeSystem","_side"]; +_side = (_this) Call GetSideID; + +_income = 0; +_incomeSystem = 'WFBE_INCOMESYSTEM' Call GetNamespace; +_incomeCoef = 0; +if (_incomeSystem == 3) then {_incomeCoef = 'WFBE_INC_COEFFICIENT' Call GetNamespace}; + +{ + if ((_x getVariable "sideID") == _side) then { + switch (_incomeSystem) do { + case 3: {_income = _income + ((_x getVariable "supplyValue")*_incomeCoef)}; + default {_income = _income + (_x getVariable "supplyValue")}; + }; + }; +} forEach towns; + +_income \ No newline at end of file diff --git a/Common/Functions/Common_GetTurretsMags.sqf b/Common/Functions/Common_GetTurretsMags.sqf new file mode 100644 index 0000000..f226567 --- /dev/null +++ b/Common/Functions/Common_GetTurretsMags.sqf @@ -0,0 +1,42 @@ +/* Adapted from BIS turret's function. */ +private ['_entry','_turrets','_turretIndex']; +_entry = _this select 0; + +_turrets = []; +_turretIndex = 0; + +//Explore all turrets and sub-turrets recursively. +for '_i' from 0 to ((count _entry) - 1) do +{ + private ['_subEntry']; + _subEntry = _entry select _i; + + if (isClass _subEntry) then + { + private ['_hasGunner']; + _hasGunner = [_subEntry, 'hasGunner'] call BIS_fnc_returnConfigEntry; + + //Make sure the entry was found. + if !(isNil '_hasGunner') then + { + if (_hasGunner == 1) then + { + _turrets = _turrets + [[_turretIndex],getArray(_subEntry >> 'magazines')]; + + //Include sub-turrets, if present. + if (isClass (_subEntry >> 'Turrets')) then + { + _turrets = _turrets + [[_subEntry >> 'Turrets'] call GetTurretsMags]; + } + else + { + _turrets = _turrets + [[]]; + }; + }; + }; + + _turretIndex = _turretIndex + 1; + }; +}; + +_turrets \ No newline at end of file diff --git a/Common/Functions/Common_GetUnitVehicle.sqf b/Common/Functions/Common_GetUnitVehicle.sqf new file mode 100644 index 0000000..f7ba300 --- /dev/null +++ b/Common/Functions/Common_GetUnitVehicle.sqf @@ -0,0 +1,6 @@ +Private['_unit','_return']; +_unit = _this; + +_return = if (_unit != vehicle _unit) then {vehicle _unit} else {_unit}; + +_return \ No newline at end of file diff --git a/Common/Functions/Common_GetUnitsBelowHeight.sqf b/Common/Functions/Common_GetUnitsBelowHeight.sqf new file mode 100644 index 0000000..1232042 --- /dev/null +++ b/Common/Functions/Common_GetUnitsBelowHeight.sqf @@ -0,0 +1,11 @@ +Private["_belowUnits","_height","_min","_units","_z"]; + +_units = _this Select 0; +_height = _this Select 1; +_min = if (count _this > 2) then {_this select 2} else {-10}; + +_belowUnits = []; + +{_z = getPos _x select 2;if (_z < _height && _z >= _min) then {_belowUnits = _belowUnits + [_x]}} ForEach _units; + +_belowUnits \ No newline at end of file diff --git a/Common/Functions/Common_GetVehicleMags.sqf b/Common/Functions/Common_GetVehicleMags.sqf new file mode 100644 index 0000000..bb690a4 --- /dev/null +++ b/Common/Functions/Common_GetVehicleMags.sqf @@ -0,0 +1,4 @@ +private ["_entry"]; +_entry = _this select 0; + +getArray(_entry >> 'magazines') \ No newline at end of file diff --git a/Common/Functions/Common_HandleArtillery.sqf b/Common/Functions/Common_HandleArtillery.sqf new file mode 100644 index 0000000..be8e243 --- /dev/null +++ b/Common/Functions/Common_HandleArtillery.sqf @@ -0,0 +1,104 @@ +/* Handle artillery Fired EH */ +Private ['_ammo','_ammoList','_cannon','_destination','_direction','_dispersion','_distance','_keepShellAlive','_landDestination','_maxRange','_nearLaser','_percent','_projectile','_radius','_shellpos','_side','_smoke','_smokeOnImpact','_velocity','_xcoord','_ycoord']; + +_ammo = _this select 0; +_ammoList = _this select 2; + +//--- Only Catch allowed ammo. +if (_ammo in _ammoList) then { + + //--- Retrieve the parameters. + _projectile = _this select 1; + _destination = _this select 3; + _velocity = _this select 4; + _dispersion = _this select 5; + _cannon = _this select 6; + _distance = _this select 7; + _radius = _this select 8; + _maxRange = _this select 9; + _side = _this select 10; + + //--- Do we have smoke on impact? + _smokeOnImpact = false; + + //--- Randomize Land Area. + _distance = random (_distance / _maxRange * 100) + random _radius; + _direction = random 360; + + //--- Default Position. + _landDestination = [((_destination select 0)+((sin _direction)*_distance))+(random _dispersion)-(random _dispersion),(_destination select 1)+((cos _direction)*_distance)+(random _dispersion)-(random _dispersion),0]; + _keepShellAlive = true; + + //--- SADARM Rounds. + if (_ammo in (Format ["WFBE_%1_ARTILLERY_AMMO_SADARM",_side] Call GetNamespace)) then { + [_projectile,_landDestination,_velocity] Spawn ARTY_HandleSADARM; + //--- SADARM Destroy the original round. + _keepShellAlive = false; + }; + + //--- ILLUM Rounds. + if (_ammo in (Format ["WFBE_%1_ARTILLERY_AMMO_ILLUMN",_side] Call GetNamespace)) then { + [_projectile,_landDestination,_velocity] Spawn ARTY_HandleILLUM; + //--- ILLUM Destroy the original round. + _keepShellAlive = false; + }; + + //--- Some rounds remove the projectile, make sure that it's not removed or anything. + if (_keepShellAlive) then { + //--- LASER Rounds. + if (_ammo in (Format ["WFBE_%1_ARTILLERY_AMMO_LASER",_side] Call GetNamespace)) then { + _nearLaser = _destination nearEntities ['LaserTarget','WFBE_ARTILLERYAMMOLASERRANGE' Call GetNamespace]; + if (count _nearLaser > 0) then { + _nearLaser = getPos (([_destination,_nearLaser] Call SortByDistance) select 0); + _landDestination = [(_nearLaser select 0)+(((random _dispersion)-(random _dispersion))/4),(((_nearLaser select 1)+(random _dispersion)-(random _dispersion))/4),0]; + }; + }; + + //--- Calculate the shell estimated spawn area. + _distance = _landDestination distance _cannon; + _percent = ((500 * 100 / _distance) / 100); + _xcoord = (_landDestination select 0) + _percent * ((_cannon select 0) - (_landDestination select 0)); + _ycoord = (_landDestination select 1) + _percent * ((_cannon select 1) - (_landDestination select 1)); + _shellpos = [_xcoord,_ycoord,1000]; + + //--- Calculate the direction + _xcoord = (_landDestination select 0) - (_cannon select 0); + _ycoord = (_landDestination select 1) - (_cannon select 1); + _direction = -(((_ycoord atan2 _xcoord) + 270) % 360); + if (_direction < 0) then {_direction = _direction + 360}; + + //--- Track the shell (FX)? + _smokeOnImpact = if (_ammo in (Format ["WFBE_%1_ARTILLERY_DEPLOY_SMOKE",_side] Call GetNamespace)) then {true} else {false}; + + //--- Release the shell. + if !(isNull _projectile) then { + _projectile setPos _shellpos; + _projectile setVelocity [(sin _direction*_velocity),(cos _direction*_velocity),((_velocity * 2.03) * -1)]; + + if (WF_A2_Vanilla) then { + //---- MLRS ammo has some weird config problems on vanilla. + if (_ammo == "R_MLRS" || _ammo == "ARTY_R_227mm_HE_Rocket") then { + _projectile setPos _landDestination; + }; + }; + }; + }; + + //--- Release smoke on an impact. + if (_smokeOnImpact) then { + _shellPos = []; + + //--- Wait for the last known position. + while {!isNull _projectile} do { + _shellPos = getPos _projectile; + sleep 0.02; + }; + + //--- If we have it, release it. + if (count _shellPos > 0) then { + _shellPos set [2,0]; + _smoke = "ARTY_SmokeShellWhite" createVehicle _shellPos; + _smoke setPos _shellPos; + }; + }; +}; \ No newline at end of file diff --git a/Common/Functions/Common_HandleIncomingMissile.sqf b/Common/Functions/Common_HandleIncomingMissile.sqf new file mode 100644 index 0000000..8318f4c --- /dev/null +++ b/Common/Functions/Common_HandleIncomingMissile.sqf @@ -0,0 +1,22 @@ +Private ["_ammo","_irLock","_missile","_source","_unit"]; +_unit = _this select 0; +_ammo = _this select 1; +_source = _this select 2; + +_missile = nearestObject [_source,_ammo]; +if (isNull _missile) exitWith {}; + +//--- Get the ammo type. +_irLock = getNumber(configFile >> "CfgAmmo" >> _ammo >> "irLock"); + +//--- IR Lock is affected +if (_irLock == 1) then { + _distance = _unit distance _source; + + _limit = 'WFBE_INCOMINGMISSILEMAXRANGE' Call GetNamespace; + + if (_distance > _limit) then { + waitUntil {_missile distance _source > _limit}; + deleteVehicle _missile; + }; +}; \ No newline at end of file diff --git a/Common/Functions/Common_IsArtillery.sqf b/Common/Functions/Common_IsArtillery.sqf new file mode 100644 index 0000000..28b97ba --- /dev/null +++ b/Common/Functions/Common_IsArtillery.sqf @@ -0,0 +1,12 @@ +Private ['_artyNames','_i','_retVal','_side','_unit']; +_unit = _this select 0; +_side = _this select 1; + +_retVal = -1; +_artyNames = Format ["WFBE_%1_ARTILLERY_NAMES",_side] Call GetNamespace; + +for [{_i = 0},{_i < count(_artyNames)},{_i = _i + 1}] do { + if (_unit in (_artyNames select _i)) exitWith {_retVal = _i}; +}; + +_retVal \ No newline at end of file diff --git a/Common/Functions/Common_PlaceNear.sqf b/Common/Functions/Common_PlaceNear.sqf new file mode 100644 index 0000000..99f9b75 --- /dev/null +++ b/Common/Functions/Common_PlaceNear.sqf @@ -0,0 +1,34 @@ +Private["_destination","_direction","_faceAway","_maxRadius","_minRadius","_object","_placeSafe","_position","_radius","_randomDirection","_safeRadius"]; + +_object = _this Select 0; +_position = _this Select 1; +_minRadius = _this Select 2; +_maxRadius = _this Select 3; + +_faceAway = true; +if (Count _this > 4) then {_faceAway = _this Select 4}; + +_randomDirection = true; +if (Count _this > 5) then {_randomDirection = _this Select 5}; + +_placeSafe = false; +if (Count _this > 6) then {_placeSafe = _this Select 6}; + +_direction = Random 360; +_radius = (Random (_maxRadius - _minRadius)) + _minRadius; + +if (_placeSafe) then { + _safeRadius = (_maxRadius - _minRadius) / 2; + if (_safeRadius < 5) then {_safeRadius = 5}; + _destination = [(_position Select 0)+((sin _direction)*_radius),(_position Select 1)+((cos _direction)*_radius),(_position Select 2)+0.5]; + [_object,_destination,_safeRadius] Call PlaceSafe; +} else { + _object SetPos [(_position Select 0)+((sin _direction)*_radius),(_position Select 1)+((cos _direction)*_radius),(_position Select 2)+0.5]; +}; + +if (_randomDirection) then {_object SetDir Random 360}; + +if (_faceAway) then { + _destination = GetPos _object; + _object SetDir -((((_destination Select 1) - (_position Select 1)) atan2 ((_destination Select 0) - (_position Select 0))) - 90); +}; \ No newline at end of file diff --git a/Common/Functions/Common_PlaceSafe.sqf b/Common/Functions/Common_PlaceSafe.sqf new file mode 100644 index 0000000..45176c2 --- /dev/null +++ b/Common/Functions/Common_PlaceSafe.sqf @@ -0,0 +1,28 @@ +Private["_count","_currentPosition","_direction","_object","_obstacles","_placed","_position","_radius","_vehicles"]; +scopeName "PlaceSafe"; + +_object = _this select 0; +_position = _this select 1; +_radius = if (count _this > 2) then {_this select 2} else {35}; + +_currentPosition = _position; +_placed = false; +_direction = 0; + +for [{_count = 0},{_count < 30 && !_placed},{_count = _count + 1}] do { + _obstacles = nearestObjects [_currentPosition, ["Building"], 15]; + _vehicles = _currentPosition nearEntities [["Building","Car","Tank","Air"], 7]; + + if (count _obstacles > 0 || count _vehicles > 0 || surfaceIsWater _currentPosition) then { + _currentPosition = [(_position select 0)+((sin _direction)*_radius),(_position select 1)+((cos _direction)*_radius),0]; + _direction = _direction + 36; + if (_count > 15) then {_radius = _radius + 25}; + } else { + _object setPos _currentPosition; + _object setVelocity [0,0,-0.5]; + _placed = true; + breakTo "PlaceSafe"; + }; +}; + +if (!_placed) then {_object setPos _position;_object setVelocity [0,0,-0.5]}; diff --git a/Common/Functions/Common_RearmVehicle.sqf b/Common/Functions/Common_RearmVehicle.sqf new file mode 100644 index 0000000..58ed35c --- /dev/null +++ b/Common/Functions/Common_RearmVehicle.sqf @@ -0,0 +1,39 @@ +Private["_amount","_get","_isAir","_isArtillery","_magazines","_side","_type","_vehicle"]; + +_vehicle = _this select 0; +_side = _this select 1; +_type = typeOf _vehicle; +_isAir = if (_vehicle isKindOf "Air") then {true} else {false}; + +//rearming turrets. +{_vehicle removeMagazine _x} forEach magazines _vehicle; + +_magazines = getArray (configFile >> "CfgVehicles" >> typeOf _vehicle >> "Turrets" >> "MainTurret" >> "Magazines"); +_magazines = _magazines + getArray (configFile >> "CfgVehicles" >> typeOf _vehicle >> "Magazines"); + +{_vehicle addMagazine _x} forEach _magazines; + +/* CM Parameter */ +if (paramCounterMeasures && _isAir) then { + _amount = if (_vehicle isKindOf "Plane") then {'WFBE_COUNTERMEASUREPLANES' Call GetNamespace} else {'WFBE_COUNTERMEASURECHOPPERS' Call GetNamespace}; + _vehicle setVariable ["FlareCount", _amount]; +}; + +_vehicle setVehicleAmmo 1; +reload _vehicle; + +/* Are we dealing with an artillery unit ? */ +_isArtillery = -1; +if (_side == west || _side == east) then {_isArtillery = [_type,_side] Call IsArtillery}; +if (_isArtillery != -1) then {[_vehicle,_isArtillery,_side] Call EquipArtillery}; + +/* Balanced Unit */ +if (_type in ('WFBE_BALANCEDUNITS' Call GetNamespace) && paramBalancing) then {[_vehicle] Call BalanceInit}; + +/* EASA Module */ +if (paramEASA) then { + if (_type in ('WFBE_EASA_Vehicles' Call GetNamespace)) then { + _get = _vehicle getVariable 'WFBE_EASA_Setup'; + if !(isNil '_get') then {[_vehicle,0] Call EASA_Equip}; + }; +}; diff --git a/Common/Functions/Common_RearmVehicleOA.sqf b/Common/Functions/Common_RearmVehicleOA.sqf new file mode 100644 index 0000000..9537b90 --- /dev/null +++ b/Common/Functions/Common_RearmVehicleOA.sqf @@ -0,0 +1,51 @@ +Private['_amount','_config','_get','_isAir','_isArtillery','_magazines','_side','_turrets','_type','_vehicle']; + +_vehicle = _this select 0; +_side = _this select 1; +_type = typeOf _vehicle; +_isAir = if (_vehicle isKindOf "Air") then {true} else {false}; + +/* Clear the vehicle */ +_vehicle setVehicleAmmo 0; + +/* Reload all turrets */ +_turrets = []; +_config = configFile >> 'CfgVehicles' >> typeOf _vehicle >> 'Turrets'; +_turrets = [_config] call GetTurretsMags; +[_vehicle,_turrets] Call SetTurretsMags; +/* Reload the driver (Special) */ +_magazines = [configFile >> 'CfgVehicles' >> typeOf _vehicle] call GetVehicleMags; +{_vehicle addMagazineTurret[_x,[-1]]} forEach _magazines; + +reload _vehicle; + +/* CM Parameter */ +if (paramCounterMeasures && _vehicle isKindOf 'Air') then { + _amount = if (_vehicle isKindOf 'Plane') then {'WFBE_COUNTERMEASUREPLANES' Call GetNamespace} else {'WFBE_COUNTERMEASURECHOPPERS' Call GetNamespace}; + _vehicle setVariable ['FlareCount', _amount]; +}; + +/* Are we dealing with an artillery unit ? */ +_isArtillery = -1; +if (_side == west || _side == east) then {_isArtillery = [_type,_side] Call IsArtillery}; +if (_isArtillery != -1) then {[_vehicle,_isArtillery,_side] Call EquipArtillery}; + +/* Balanced Unit */ +if (_type in ('WFBE_BALANCEDUNITS' Call GetNamespace) && paramBalancing) then {[_vehicle] Call BalanceInit}; + +/* EASA Module */ +if (paramEASA) then { + if (_type in ('WFBE_EASA_Vehicles' Call GetNamespace)) then { + _get = _vehicle getVariable 'WFBE_EASA_Setup'; + if !(isNil '_get') then {[_vehicle,0] Call EASA_Equip}; + }; +}; + +/* Mando Missiles - Reload Flares */ +if (paramMandoMissiles && _isAir) then { + _var = _vehicle getVariable "mando_maxflares"; + if !(isNil "_var") then { + _vehicle setVariable ["mando_flaresleft", _var, true]; + call mando_update_flares; + }; +}; \ No newline at end of file diff --git a/Common/Functions/Common_RevealArea.sqf b/Common/Functions/Common_RevealArea.sqf new file mode 100644 index 0000000..3a94c95 --- /dev/null +++ b/Common/Functions/Common_RevealArea.sqf @@ -0,0 +1,11 @@ +Private ["_pos","_range","_reveal","_team","_unit"]; + +_unit = _this select 0; +_range = _this select 1; +_pos = _this select 2; + +{ + _reveal = [_x]; + if (_x != vehicle _x) then {_reveal = _reveal + (crew _x)}; + {_unit reveal _x} forEach _reveal; +} forEach (_pos nearEntities _range); \ No newline at end of file diff --git a/Common/Functions/Common_SetCommanderVotes.sqf b/Common/Functions/Common_SetCommanderVotes.sqf new file mode 100644 index 0000000..48a41c0 --- /dev/null +++ b/Common/Functions/Common_SetCommanderVotes.sqf @@ -0,0 +1,14 @@ +Private["_count","_side","_teams","_total","_value"]; + +_side = _this Select 0; +_value = _this Select 1; + +_teams = (Format["WFBE_%1TEAMS",str _side] Call GetNamespace); +_total = Count _teams + 1; + +//Count votes. +for [{_count = 1},{_count < _total},{_count = _count + 1}] do { + if (isPlayer (leader (_teams Select (_count - 1)))) then { + Call Compile Format["if (%1Team%2Vote != _value) then {%1Team%2Vote = _value;PublicVariable '%1Team%2Vote'};",str _side,_count]; + }; +}; \ No newline at end of file diff --git a/Common/Functions/Common_SetNamespace.sqf b/Common/Functions/Common_SetNamespace.sqf new file mode 100644 index 0000000..aaf20f2 --- /dev/null +++ b/Common/Functions/Common_SetNamespace.sqf @@ -0,0 +1,15 @@ +Private ['_get','_override','_variable','_value']; + +_variable = _this select 0; +_value = _this select 1; +_override = if (count _this > 2) then {_this select 2} else {false}; + +//--- BIS Bug, typename doesn't work properly with nil. +if !(_override) then { + _get = _variable Call GetNamespace; + if (isNil '_get') then { + missionNamespace setVariable [_variable,_value]; + }; +} else { + missionNamespace setVariable [_variable,_value]; +}; \ No newline at end of file diff --git a/Common/Functions/Common_SetTeamAutonomous.sqf b/Common/Functions/Common_SetTeamAutonomous.sqf new file mode 100644 index 0000000..e9d2add --- /dev/null +++ b/Common/Functions/Common_SetTeamAutonomous.sqf @@ -0,0 +1,8 @@ +Private['_status','_team']; + +_team = _this select 0; +_status = _this select 1; + +if (isNull _team) exitWith {}; + +Call Compile Format ["%1Autonomous = _status; publicVariable '%1Autonomous';",_team getVariable 'identification']; \ No newline at end of file diff --git a/Common/Functions/Common_SetTeamMoveMode.sqf b/Common/Functions/Common_SetTeamMoveMode.sqf new file mode 100644 index 0000000..e83b940 --- /dev/null +++ b/Common/Functions/Common_SetTeamMoveMode.sqf @@ -0,0 +1,8 @@ +Private['_moveMode','_team']; + +_team = _this select 0; +_moveMode = _this select 1; + +if (isNull _team) exitWith {}; + +Call Compile Format ["%1MoveMode = _moveMode; publicVariable '%1MoveMode';",_team getVariable 'identification']; \ No newline at end of file diff --git a/Common/Functions/Common_SetTeamMovePos.sqf b/Common/Functions/Common_SetTeamMovePos.sqf new file mode 100644 index 0000000..7a45b8f --- /dev/null +++ b/Common/Functions/Common_SetTeamMovePos.sqf @@ -0,0 +1,8 @@ +Private['_movePos','_team']; + +_team = _this select 0; +_movePos = _this select 1; + +if (isNull _team) exitWith {}; + +Call Compile Format ["%1MovePos = _movePos; publicVariable '%1MovePos';",_team getVariable 'identification']; \ No newline at end of file diff --git a/Common/Functions/Common_SetTeamRespawn.sqf b/Common/Functions/Common_SetTeamRespawn.sqf new file mode 100644 index 0000000..606f269 --- /dev/null +++ b/Common/Functions/Common_SetTeamRespawn.sqf @@ -0,0 +1,8 @@ +Private['_respawn','_team']; + +_team = _this select 0; +_respawn = _this select 1; + +if (isNull _team) exitWith {}; + +Call Compile Format ["%1Respawn = _respawn; publicVariable '%1Respawn';",_team getVariable 'identification']; \ No newline at end of file diff --git a/Common/Functions/Common_SetTeamType.sqf b/Common/Functions/Common_SetTeamType.sqf new file mode 100644 index 0000000..6d77a81 --- /dev/null +++ b/Common/Functions/Common_SetTeamType.sqf @@ -0,0 +1,8 @@ +Private['_idtype','_team']; + +_team = _this select 0; +_idtype = _this select 1; + +if (isNull _team) exitWith {}; + +Call Compile Format ["%1Types = _idtype; publicVariable '%1Types';",_team getVariable 'identification']; \ No newline at end of file diff --git a/Common/Functions/Common_SetTurretsMags.sqf b/Common/Functions/Common_SetTurretsMags.sqf new file mode 100644 index 0000000..7881ed9 --- /dev/null +++ b/Common/Functions/Common_SetTurretsMags.sqf @@ -0,0 +1,30 @@ +private ["_content","_cpt","_data","_dataRow","_tConstruct","_turretPath","_vehicle"]; +_vehicle = _this select 0; +_data = _this select 1; +_turretPath = if (count _this > 2) then {_this select 2} else {[]}; +_cpt = count _turretPath; + +for "_i" from 0 to ((count _data) - 1) do { + _dataRow = _data select _i; + + if (count _dataRow > 0) then { + if (typeName _dataRow == 'ARRAY') then { + _content = _dataRow select 0; + //--- root. + if (typeName _content == 'SCALAR') then { + _turretPath set [_cpt,[_content]]; + _tConstruct = []; + {_tConstruct = _tConstruct + _x} forEach _turretPath; + { + _vehicle addMagazineTurret [_x, _tConstruct]; + } forEach (_data select (_i+1)); + }; + //--- go deeper. + if (typeName _content == 'ARRAY') then { + [_vehicle,_dataRow,_turretPath] Call SetTurretsMags; + _turretPath = []; + _cpt = 0; + }; + }; + }; +}; \ No newline at end of file diff --git a/Common/Functions/Common_SortByDistance.sqf b/Common/Functions/Common_SortByDistance.sqf new file mode 100644 index 0000000..a34680e --- /dev/null +++ b/Common/Functions/Common_SortByDistance.sqf @@ -0,0 +1,24 @@ +Private["_count","_count1","_current","_distance","_nearest","_nearestDistance","_object","_objects","_sorted","_total"]; + +_object = _this Select 0; +_objects = +(_this Select 1); + +_sorted = []; + +_total = Count _objects; +for [{_count = 0},{_count < _total},{_count = _count + 1}] do { + _nearest = ObjNull; + _nearestDistance = 100000; + + for [{_count1 = Count _objects - 1},{_count1 >= 0},{_count1 = _count1 - 1}] do { + _current = _objects Select _count1; + _distance = _current Distance _object; + + if (_distance < _nearestDistance) then {_nearest = _current;_nearestDistance = _distance}; + }; + + _sorted = _sorted + [_nearest]; + _objects = _objects - [_nearest]; +}; + +_sorted \ No newline at end of file diff --git a/Common/Functions/Common_SpawnTurrets.sqf b/Common/Functions/Common_SpawnTurrets.sqf new file mode 100644 index 0000000..b9ae10e --- /dev/null +++ b/Common/Functions/Common_SpawnTurrets.sqf @@ -0,0 +1,22 @@ +private ["_turrets", "_path", "_vehicle", "_crew", "_team", "_unit"]; +_turrets = _this select 0; +_path = _this select 1; +_vehicle = _this select 2; +_crew = _this select 3; +_team = _this select 4; +private ["_i"]; +_i = 0; +while {_i < (count _turrets)} do { + private ["_turretIndex", "_thisTurret"]; + _turretIndex = _turrets select _i; + _thisTurret = _path + [_turretIndex]; + + if (isNull (_vehicle turretUnit _thisTurret)) then { + _unit = [_crew,_team,getPos _vehicle,side _team] Call CreateMan; + _unit moveInTurret [_vehicle, _thisTurret]; + }; + + //Spawn units into subturrets. + [_turrets select (_i + 1), _thisTurret, _vehicle, _crew, _team] call SpawnTurrets; + _i = _i + 2; +}; \ No newline at end of file diff --git a/Common/Functions/Common_UnitKilled.sqf b/Common/Functions/Common_UnitKilled.sqf new file mode 100644 index 0000000..dbf11df --- /dev/null +++ b/Common/Functions/Common_UnitKilled.sqf @@ -0,0 +1,196 @@ +Private ["_bounty","_crew","_get","_group","_isAIControlled","_iskilledplayer","_iskillerplayer","_isMan","_killed","_killedname","_killeduid","_killer","_killerID","_killername","_killerTeam","_killerVehName","_killertype","_killeruid","_lost","_objects","_objectType","_side","_sideKiller","_sideVictim","_sta","_uid","_vehicle"]; +_killed = _this select 0; +_killer = _this select 1; +_sideVictim = _this select 2; +_sideKiller = side _killer; + +_group = group _killed; +_killerTeam = group _killer; +_killerVehName = vehicleVarName (leader _killerTeam); +_vehicle = vehicle _killer; +_objectType = typeOf _killed; +_killertype = ""; +_killeruid = ""; +_killername = ""; +_killeduid = ""; +_killedname = ""; +_iskilledplayer = false; + +_isMan = if (_killed isKindOf "Man") then {true} else {false}; + +_iskillerplayer = if (isPlayer _killer) then {true} else {false}; +if (mysql) then { + _killertype = typeOf _killer; + _iskilledplayer = if (isPlayer _killed) then {true} else {false}; + _killeruid = if (_iskillerplayer) then {getPlayerUID(_killer)} else {"0"}; + _killeduid = if (_iskilledplayer) then {getPlayerUID(_killed)} else {"0"}; + _killername = if (_iskillerplayer) then {name _killer} else {"nil"}; + _killedname = if (_iskilledplayer) then {name _killed} else {"nil"}; +}; + +//--- Renegade. +if (_sideKiller == sideEnemy) then { + if (_killer isKindOf westSoldierBaseClass) then {_sideKiller = west}; + if (_killer isKindOf eastSoldierBaseClass) then {_sideKiller = east}; +}; +if (_sideVictim == sideEnemy) then { + if (_killed isKindOf westSoldierBaseClass) then {_sideVictim = west}; + if (_killed isKindOf eastSoldierBaseClass) then {_sideVictim = east}; +}; + +//--- Benny's Garbage Collector. +if (WF_A2_Vanilla) then { + /* Vanilla use the old garbage system */ + if (!(isServer) || local player) then { + _objects = (WF_Logic getVariable "trash") + [_killed]; + WF_Logic setVariable ["trash",_objects,true]; + } else { + trashQueu = trashQueu + [_killed]; + _killed Spawn TrashObject; + }; +} else { + /* OA use the evolved system which no longer require network variables */ + if (isServer) then { + trashQueu = trashQueu + [_killed]; + _killed Spawn TrashObject; + }; +}; + +sleep (random 3); + +if (_isMan && (_sideVictim == west || _sideVictim == east)) then {[str _sideVictim,'Casualties',1] Call UpdateStatistics}; +if (!_isMan && (_sideVictim == west || _sideVictim == east)) then {[str _sideVictim,'VehiclesLost',1] Call UpdateStatistics}; + +_killerID = (leader _killerTeam) Call GetClientID; +_get = _objectType Call GetNamespace; + +_isAIControlled = true; +if (_killerID > 0) then {_isAIControlled = if (isPlayer (leader _killerTeam)) then {false} else {true}}; + +//--- Normal kill. +if (!isNull _killerTeam && !isNil '_get' && (_sideKiller != sideEnemy) && (_sideKiller != _sideVictim) && (_sideKiller != Civilian)) then { + if (_killerID > 0 && !_isAIControlled) then { + /* Bounty */ + if (paramBounty) then { + WFBE_AwardBounty = [_killerVehName,'CLTFNCAWARDBOUNTY',[_objectType, false]]; + publicVariable 'WFBE_AwardBounty'; + if (isHostedServer) then {[_killerVehName,'CLTFNCAWARDBOUNTY',[_objectType, false]] Spawn HandlePVF}; + + //--- Kill Assist. + if (!(_vehicle isKindOf 'Man') && alive _vehicle) then { + _crew = [driver _vehicle, gunner _vehicle, commander _vehicle] - [_killer, player]; + { + if !(isNull _x) then { + if (isPlayer _x && group _x != _killerTeam) then { + WFBE_AwardBounty = [vehicleVarName _x,'CLTFNCAWARDBOUNTY',[_objectType, true]]; + publicVariable 'WFBE_AwardBounty'; + if (isHostedServer) then {[vehicleVarName _x,'CLTFNCAWARDBOUNTY',[_objectType, true]] Spawn HandlePVF}; + }; + }; + } forEach _crew; + }; + }; + + /* AI Score */ + if !(_iskillerplayer) then { + [_objectType,leader _killerTeam] Spawn { + Private ['_player','_point','_type']; + _type = _this select 0; + _player = _this select 1; + + _point = switch (true) do { + case (_type isKindOf "Infantry"): {1}; + case (_type isKindOf "Car"): {2}; + case (_type isKindOf "Ship"): {4}; + case (_type isKindOf "Motorcycle"): {1}; + case (_type isKindOf "Tank"): {4}; + case (_type isKindOf "Helicopter"): {4}; + case (_type isKindOf "Plane"): {6}; + case (_type isKindOf "StaticWeapon"): {2}; + case (_type isKindOf "Building"): {2}; + default {1}; + }; + + sleep random(3); + + if (isServer) then { + ['SRVFNCREQUESTCHANGESCORE',[_player,score _player + _point]] Spawn HandleSPVF; + } else { + WFBE_RequestChangeScore = ['SRVFNCREQUESTCHANGESCORE',[_player,score _player + _point]]; + publicVariable 'WFBE_RequestChangeScore'; + if (isHostedServer) then {['SRVFNCREQUESTCHANGESCORE',[_player,score _player + _point]] Spawn HandleSPVF}; + }; + }; + }; + + /* MySQL */ + if (mysql) then { + _sta = switch (true) do { + case (_objectType isKindOf "Infantry"): {1}; + case (_objectType isKindOf "Car"): {2}; + case (_objectType isKindOf "Ship"): {2}; + case (_objectType isKindOf "Motorcycle"): {1}; + case (_objectType isKindOf "Tank"): {4}; + case (_objectType isKindOf "Helicopter"): {6}; + case (_objectType isKindOf "Plane"): {8}; + case (_objectType isKindOf "StaticWeapon"): {3}; + case (_objectType isKindOf "Building"): {3}; + default {1}; + }; + if (isServer) then { + if (_iskilledplayer) then { + WF_Logic setVariable ["WF_MYSQL_SERVER",(WF_Logic getVariable "WF_MYSQL_SERVER") + [Format ["MYSQLDATA?WFBE_InsertOrUpdate_PKP?%1?%2?%3?%4?%5",_killeduid,_killedname,_killeruid,_killername,worldName]]]; + WF_Logic setVariable ["WF_MYSQL_SERVER",(WF_Logic getVariable "WF_MYSQL_SERVER") + [Format ["MYSQLDATA?WFBE_InsertOrUpdate_PKAI?%1?%2?%3?%4?%5?%6",_killertype,_killeduid,_killedname,"killedby",_sta,worldName]]]; + } else { + WF_Logic setVariable ["WF_MYSQL_SERVER",(WF_Logic getVariable "WF_MYSQL_SERVER") + [Format ["MYSQLDATA?WFBE_InsertOrUpdate_PKAI?%1?%2?%3?%4?%5?%6",_objectType,_killeruid,_killername,"killed",_sta,worldName]]]; + }; + } else { + if (_iskilledplayer) then { + WF_Logic setVariable ["WF_MYSQL_CLIENT",(WF_Logic getVariable "WF_MYSQL_CLIENT") + [Format ["MYSQLDATA?WFBE_InsertOrUpdate_PKP?%1?%2?%3?%4?%5",_killeduid,_killedname,_killeruid,_killername,worldName]],true]; + WF_Logic setVariable ["WF_MYSQL_CLIENT",(WF_Logic getVariable "WF_MYSQL_CLIENT") + [Format ["MYSQLDATA?WFBE_InsertOrUpdate_PKAI?%1?%2?%3?%4?%5?%6",_killertype,_killeduid,_killedname,"killedby",_sta,worldName]],true]; + } else { + WF_Logic setVariable ["WF_MYSQL_CLIENT",(WF_Logic getVariable "WF_MYSQL_CLIENT") + [Format ["MYSQLDATA?WFBE_InsertOrUpdate_PKAI?%1?%2?%3?%4?%5?%6",_objectType,_killeruid,_killername,"killed",_sta,worldName]],true]; + }; + }; + }; + }; + + if (mysql) then { + if (_isAIControlled) then { + if (isServer) then { + if (mysql && _iskilledplayer) then { + WF_Logic setVariable ["WF_MYSQL_SERVER",(WF_Logic getVariable "WF_MYSQL_SERVER") + [Format ["MYSQLDATA?WFBE_InsertOrUpdate_PKAI?%1?%2?%3?%4?0?%5",_killertype,_killeduid,_killedname,"killedby",worldName]]]; + }; + } else { + if (mysql && _iskilledplayer) then { + WF_Logic setVariable ["WF_MYSQL_CLIENT",(WF_Logic getVariable "WF_MYSQL_CLIENT") + [Format ["MYSQLDATA?WFBE_InsertOrUpdate_PKAI?%1?%2?%3?%4?0?%5",_killertype,_killeduid,_killedname,"killedby",worldName]],true]; + }; + }; + }; + }; + + /* Playable AI Kill */ + if (paramAI && _killerID > 0 && _isAIControlled) then { + if (isServer) then { + _bounty = (_get select QUERYUNITPRICE) * ('WFBE_BOUNTYMODIFIER' Call GetNamespace); + _bounty = _bounty - (_bounty % 1); + [_killerTeam,_bounty] Call ChangeTeamFunds; + }; + }; +}; + +//--- Teamkill. +if (!isNull _killerTeam && !isNil '_get' && (_sideKiller != sideEnemy) && (_sideKiller == _sideVictim) && (_sideKiller != Civilian) && _isMan) then { + if (_killerID > 0 && !_isAIControlled) then { + WFBE_LocalizeMessage = [_killerVehName,'CLTFNCLOCALIZEMESSAGE',['Teamkill']]; + publicVariable 'WFBE_LocalizeMessage'; + if (isHostedServer) then {[_killerVehName,'CLTFNCLOCALIZEMESSAGE',['Teamkill']] Spawn HandlePVF}; + if (mysql) then { + if (isServer) then { + WF_Logic setVariable ["WF_MYSQL_SERVER",(WF_Logic getVariable "WF_MYSQL_SERVER") + [Format ["MYSQLDATA?WFBE_Update?%1?%2?teamkill?%3",_killeruid,_killername,worldName]]]; + } else { + WF_Logic setVariable ["WF_MYSQL_CLIENT",(WF_Logic getVariable "WF_MYSQL_CLIENT") + [Format ["MYSQLDATA?WFBE_Update?%1?%2?teamkill?%3",_killeruid,_killername,worldName]],true]; + }; + }; + }; +}; diff --git a/Common/Functions/Common_UpdateStatistics.sqf b/Common/Functions/Common_UpdateStatistics.sqf new file mode 100644 index 0000000..5fd0ef6 --- /dev/null +++ b/Common/Functions/Common_UpdateStatistics.sqf @@ -0,0 +1 @@ +Private ['_side','_val','_var']; _side = _this select 0; _var = _this select 1; _val = _this select 2; WF_Logic setVariable [Format["%1%2",_side,_var],((WF_Logic getVariable Format["%1%2",_side,_var]) + _val),true]; \ No newline at end of file diff --git a/Common/Functions/Common_UseStationaryDefense.sqf b/Common/Functions/Common_UseStationaryDefense.sqf new file mode 100644 index 0000000..6f90f09 --- /dev/null +++ b/Common/Functions/Common_UseStationaryDefense.sqf @@ -0,0 +1,32 @@ +Private["_count","_defense","_defenses","_defenseTypes","_emptyDefenses","_range","_total","_totalDefenses","_unit","_units"]; + +_units = _this select 0; +_range = _this select 1; + +_total = count _units; +if (_total < 1) exitWith {diag_log Format["[WFBE (ERROR)][frameno:%1 | ticktime:%2] Common_UseStationaryDefense.sqf: No units were specified",diag_frameno,diag_tickTime]}; + +_defenseTypes = Format["WFBE_%1DEFENSENAMES",side leader group (_units select 0)] Call GetNamespace; +_defenses = (leader group (_units select 0)) nearEntities[_defenseTypes,_range]; + +_emptyDefenses = []; + +{if (_x EmptyPositions "gunner" > 0) then {_emptyDefenses = _emptyDefenses + [_x]}} forEach _defenses; + +for [{_count = 0},{_count < _total},{_count = _count + 1}] do +{ + _unit = _units select _count; + + _totalDefenses = count _emptyDefenses; + if (_totalDefenses < 1) exitWith {}; + + //If not in a vehicle then check for available defense. + if (alive _unit && _unit == vehicle _unit) then + { + _defense = _emptyDefenses select (_totalDefenses - 1); + + [_unit] allowGetIn true; + _unit assignAsGunner _defense; + _emptyDefenses = _emptyDefenses - [_defense]; + }; +}; \ No newline at end of file diff --git a/Common/Init/Init_Airfield.sqf b/Common/Init/Init_Airfield.sqf new file mode 100644 index 0000000..14f56e8 --- /dev/null +++ b/Common/Init/Init_Airfield.sqf @@ -0,0 +1,9 @@ +Private ["_location"]; +_location = _this select 0; + +waitUntil {commonInitComplete}; + +if (isNil "Airfields") then {Airfields = []}; +Airfields = Airfields + [_location]; + +diag_log Format["[WFBE (INIT)][frameno:%4 | ticktime:%5] Init_Airfield: Airfield initialization (position: %1 - item: %2 (%3)) - [Done]",getPos _location,_location,typeOf _location,diag_frameno,diag_tickTime]; \ No newline at end of file diff --git a/Common/Init/Init_Boundaries.sqf b/Common/Init/Init_Boundaries.sqf new file mode 100644 index 0000000..9f55ba7 --- /dev/null +++ b/Common/Init/Init_Boundaries.sqf @@ -0,0 +1,38 @@ +Private ['_boundariesXY']; +_boundariesXY = -1; + +switch (toLower(worldName)) do { + case 'chernarus': {_boundariesXY = 15360}; + case 'eden': {_boundariesXY = 12800}; + case 'fallujah': {_boundariesXY = 10240}; + case 'isladuala': {_boundariesXY = 10240}; + case 'panthera2': {_boundariesXY = 10240}; + case 'queshkibrul': {_boundariesXY = 5120}; + case 'sara': {_boundariesXY = 20480}; + case 'saraLite': {_boundariesXY = 10240}; + case 'takistan': {_boundariesXY = 12800}; + case 'utes': {_boundariesXY = 5120}; + case 'yapal': {_boundariesXY = 5120}; + case 'zargabad': {_boundariesXY = 8192}; +}; + +if (paramBoundaries) then { + if (_boundariesXY == -1) then { + paramBoundaries = false; + if (local player) then { + BoundariesIsOnMap = nil; + BoundariesHandleOnMap = nil; + }; + diag_log Format["[WFBE (INFORMATION)][frameno:%2 | ticktime:%3] Init_Boundaries: There is no proper boundaries set for the island '%1'",worldName,diag_frameno,diag_tickTime]; + } else { + ['WFBE_BOUNDARIESXY',_boundariesXY,true] Call SetNamespace; + diag_log Format["[WFBE (INIT)][frameno:%3 | ticktime:%4] Init_Boundaries: Boundaries found for the island '%1' %2",worldName,_boundariesXY,diag_frameno,diag_tickTime]; + }; +} else { + if (_boundariesXY == -1) then { + diag_log Format["[WFBE (INFORMATION)][frameno:%2 | ticktime:%3] Init_Boundaries: There is no proper boundaries set for the island '%1'",worldName,diag_frameno,diag_tickTime]; + } else { + ['WFBE_BOUNDARIESXY',_boundariesXY,true] Call SetNamespace; + diag_log Format["[WFBE (INIT)][frameno:%3 | ticktime:%4] Init_Boundaries: Boundaries found for the island '%1' %2 [Boundaries parameter is disabled]",worldName,_boundariesXY,diag_frameno,diag_tickTime]; + }; +}; \ No newline at end of file diff --git a/Common/Init/Init_Camp.sqf b/Common/Init/Init_Camp.sqf new file mode 100644 index 0000000..9a31709 --- /dev/null +++ b/Common/Init/Init_Camp.sqf @@ -0,0 +1,85 @@ +Private ['_camp','_camps','_flagPole','_index','_marker','_supplyValue','_town']; + +_camp = _this select 0; +_town = _this select 1; + +waitUntil {townModeSet}; +if (isNull _town && !isNull _camp) exitWith { + if (isServer) then { + if (isNil 'EastMHQ' || isNil 'WestMHQ') exitWith {}; + (getPos _camp) Spawn { + Private ["_defenses"]; + waitUntil {commonInitComplete}; + _defenses = _this nearEntities[('WFBE_RESISTANCEDEFENSENAMES' Call GetNamespace),250]; + {deleteVehicle _x} forEach _defenses; + }; + deleteVehicle _camp; + }; +}; +if ((str _town) in TownTemplate) exitWith { + if (isServer) then { + if (isNil 'EastMHQ' || isNil 'WestMHQ') exitWith {}; + diag_log Format ["[WFBE (INIT)][frameno:%3 | ticktime:%4] Init_Camp: Removing camp %1 (%2) since the town is removed in the towns templates.",_camp,str _town,diag_frameno,diag_tickTime]; + (getPos _camp) Spawn { + Private ["_defenses"]; + waitUntil {commonInitComplete}; + _defenses = _this nearEntities[('WFBE_RESISTANCEDEFENSENAMES' Call GetNamespace),250]; + {deleteVehicle _x} forEach _defenses; + }; + deleteVehicle _camp; + }; +}; + +waitUntil{initJIP}; +if !(paramKeepCamps) exitWith{ + diag_log Format["[WFBE (INIT)][frameno:%1 | ticktime:%2] Init_Camp: Removing camp %3 due to a parameter (Town: %4) - [Done]",diag_frameno,diag_tickTime,_camp,_town]; + (getPos _camp) Spawn { + Private ["_defenses"]; + waitUntil {commonInitComplete}; + _defenses = _this nearEntities[('WFBE_RESISTANCEDEFENSENAMES' Call GetNamespace),250]; + {deleteVehicle _x} forEach _defenses; + }; + deleteVehicle _camp; +}; + +if (isNull _camp) exitWith {diag_log Format["[WFBE (INIT)][frameno:%1 | ticktime:%2] Init_Camp: Camp removed (Town is null) - [Done]",diag_frameno,diag_tickTime];}; + +_camps = _town getVariable "camps"; +if (isNil "_camps") then {_town setVariable ["camps",[]]}; +_camps = _town getVariable "camps"; +_camps = _camps + [_camp]; +_town setVariable ["camps",_camps]; +_camp setVariable ['town',_town]; + +diag_log Format["[WFBE (INIT)][frameno:%3 | ticktime:%4] Init_Camp: Camp '%1' of town '%2' initialization - [Done]",str _camp,str _town,diag_frameno,diag_tickTime]; + +waitUntil {commonInitComplete}; + +if (local player) then { + waitUntil {clientInitComplete}; + + _index = _camps find _camp; + _marker = Format["%1Camp%2",str _town,_index]; + createMarkerLocal [_marker,getPos _camp]; + _marker setMarkerTypeLocal "Strongpoint"; + _marker setMarkerSizeLocal [0.5,0.5]; + _marker setMarkerColorLocal ("Resistance" Call GetMarkerColoration); +}; + +if (isServer) then { + if (isNil 'EastMHQ' || isNil 'WestMHQ') exitWith {}; + + sleep 10; + + _supplyValue = 0; + if (isNil {_camp getVariable "sideID"}) then {_camp setVariable ["sideID",RESISTANCEID,true]}; + /* OA Camps are made of kryptonite */ + if (WF_A2_Arrowhead || WF_A2_CombinedOps) then {_camp addEventHandler ['handleDamage',{false}]}; + if (isNil {_camp getVariable "supplyValue"}) then { + waitUntil {_supplyValue = _town getVariable "supplyValue"; !isNil "_supplyValue"}; + _camp setVariable ["supplyValue",_supplyValue,true]; + _flagPole = WFFLAG createVehicle getPos _camp; + waitUntil {serverInitComplete && townInit}; + [_camp,_town,_flagPole] ExecFSM 'Server\FSM\updatecamp.fsm'; + }; +}; \ No newline at end of file diff --git a/Common/Init/Init_Common.sqf b/Common/Init/Init_Common.sqf new file mode 100644 index 0000000..abb5787 --- /dev/null +++ b/Common/Init/Init_Common.sqf @@ -0,0 +1,285 @@ +private ['_count']; +diag_log Format["[WFBE (INIT)][frameno:%2 | ticktime:%3] Init_Common: Init Start at %1",time,diag_frameno,diag_tickTime]; + +Private ['_count']; + +if (paramBalancing) then {BalanceInit = Compile preprocessFile "Common\Functions\Common_BalanceInit.sqf"}; +if !(WF_A2_Vanilla) then { + BackpackHasSpace = Compile preprocessFile "Common\Functions\Common_BackpackHasSpace.sqf"; + EquipBackpack = Compile preprocessFile "Common\Functions\Common_EquipBackpack.sqf"; +}; +BuildingInRange = Compile preprocessFile "Common\Functions\Common_BuildingInRange.sqf"; +ChangeSideSupply = Compile preprocessFile "Common\Functions\Common_ChangeSideSupply.sqf"; +ChangeTeamFunds = Compile preprocessFile "Common\Functions\Common_ChangeTeamFunds.sqf"; +CreateMan = Compile preprocessFile "Common\Functions\Common_CreateUnit.sqf"; +CreateVehi = Compile preprocessFile "Common\Functions\Common_CreateVehicle.sqf"; +EquipArtillery = Compile preprocessFile "Common\Functions\Common_EquipArtillery.sqf"; +EquipLoadout = Compile preprocessFile "Common\Functions\Common_EquipLoadout.sqf"; +FireArtillery = Compile preprocessFile "Common\Functions\Common_FireArtillery.sqf"; +GetAIDigit = Compile preprocessFile "Common\Functions\Common_GetAIDigit.sqf"; +GetClientID = Compile preprocessFile "Common\Functions\Common_GetClientID.sqf"; +GetClientTeam = Compile preprocessFile "Common\Functions\Common_GetClientTeam.sqf"; +GetClosestLocation = Compile preprocessFile "Common\Functions\Common_GetClosestLocation.sqf"; +GetClosestLocationBySide = Compile preprocessFile "Common\Functions\Common_GetClosestLocationBySide.sqf"; +GetCommanderFromVotes = Compile preprocessFile "Common\Functions\Common_GetCommanderFromVotes.sqf"; +GetCommanderTeam = Compile preprocessFile "Common\Functions\Common_GetCommanderTeam.sqf"; +GetCommanderVotes = Compile preprocessFile "Common\Functions\Common_GetCommanderVotes.sqf"; +GetConfigInfo = Compile preprocessFile "Common\Functions\Common_GetConfigInfo.sqf"; +GetFactories = Compile preprocessFile "Common\Functions\Common_GetFactories.sqf"; +GetFriendlyCamps = Compile preprocessFile "Common\Functions\Common_GetFriendlyCamps.sqf"; +GetGroupFromConfig = Compile preprocessFile "Common\Functions\Common_GetGroupFromConfig.sqf"; +GetHostilesInArea = Compile preprocessFile "Common\Functions\Common_GetHostilesInArea.sqf"; +GetLiveUnits = Compile preprocessFile "Common\Functions\Common_GetLiveUnits.sqf"; +GetNamespace = Compile preprocessFile "Common\Functions\Common_GetNamespace.sqf"; +GetPositionFrom = Compile preprocessFile "Common\Functions\Common_GetPositionFrom.sqf"; +GetRandomPosition = Compile preprocessFile "Common\Functions\Common_GetRandomPosition.sqf"; +GetRespawnCamps = Compile preprocessFile "Common\Functions\Common_GetRespawnCamps.sqf"; +GetSafePlace = Compile preprocessFile "Common\Functions\Common_GetSafePlace.sqf"; +GetSideFromID = Compile preprocessFile "Common\Functions\Common_GetSideFromID.sqf"; +GetSideHQ = Compile preprocessFile "Common\Functions\Common_GetSideHQ.sqf"; +GetSideHQDeployed = Compile preprocessFile "Common\Functions\Common_GetSideHQDeployed.sqf"; +GetSideID = Compile preprocessFile "Common\Functions\Common_GetSideID.sqf"; +GetSideStructures = Compile preprocessFile "Common\Functions\Common_GetSideStructures.sqf"; +GetSideSupply = Compile preprocessFile "Common\Functions\Common_GetSideSupply.sqf"; +GetSideUpgrades = Compile preprocessFile "Common\Functions\Common_GetSideUpgrades.sqf"; +GetSideTowns = Compile preprocessFile "Common\Functions\Common_GetSideTowns.sqf"; +GetSleepFPS = Compile preprocessFile "Common\Functions\Common_GetSleepFPS.sqf"; +GetTeamArtillery = Compile preprocessFile "Common\Functions\Common_GetTeamArtillery.sqf"; +GetTeamAutonomous = Compile preprocessFile "Common\Functions\Common_GetTeamAutonomous.sqf"; +GetTeamFunds = Compile preprocessFile "Common\Functions\Common_GetTeamFunds.sqf"; +GetTeamMoveMode = Compile preprocessFile "Common\Functions\Common_GetTeamMoveMode.sqf"; +GetTeamMovePos = Compile preprocessFile "Common\Functions\Common_GetTeamMovePos.sqf"; +GetTeamRespawn = Compile preprocessFile "Common\Functions\Common_GetTeamRespawn.sqf"; +GetTeamType = Compile preprocessFile "Common\Functions\Common_GetTeamType.sqf"; +GetTeamVehicles = Compile preprocessFile "Common\Functions\Common_GetTeamVehicles.sqf"; +GetTotalCamps = Compile preprocessFile "Common\Functions\Common_GetTotalCamps.sqf"; +GetTotalCampsOnSide = Compile preprocessFile "Common\Functions\Common_GetTotalCampsOnSide.sqf"; +GetTotalSupplyValue = Compile preprocessFile "Common\Functions\Common_GetTotalSupplyValue.sqf"; +GetTownsHeld = Compile preprocessFile "Common\Functions\Common_GetTownsHeld.sqf"; +GetTownsIncome = Compile preprocessFile "Common\Functions\Common_GetTownsIncome.sqf"; +GetUnitsBelowHeight = Compile preprocessFile "Common\Functions\Common_GetUnitsBelowHeight.sqf"; +GetUnitVehicle = Compile preprocessFile "Common\Functions\Common_GetUnitVehicle.sqf"; +HandleArtillery = Compile preprocessFile "Common\Functions\Common_HandleArtillery.sqf"; +HandleIncomingMissile = Compile preprocessFile "Common\Functions\Common_HandleIncomingMissile.sqf"; +IsArtillery = Compile preprocessFile "Common\Functions\Common_IsArtillery.sqf"; +MarkerUpdate = Compile preprocessFile "Common\Common_MarkerUpdate.sqf"; +PlaceNear = Compile preprocessFile "Common\Functions\Common_PlaceNear.sqf"; +PlaceSafe = Compile preprocessFile "Common\Functions\Common_PlaceSafe.sqf"; +if !(WF_A2_Vanilla) then { + GetTurretsMags = Compile preprocessFile "Common\Functions\Common_GetTurretsMags.sqf"; + GetVehicleMags = Compile preprocessFile "Common\Functions\Common_GetVehicleMags.sqf"; + RearmVehicle = Compile preprocessFile "Common\Functions\Common_RearmVehicleOA.sqf"; + SetTurretsMags = Compile preprocessFile "Common\Functions\Common_SetTurretsMags.sqf"; +} else { + RearmVehicle = Compile preprocessFile "Common\Functions\Common_RearmVehicle.sqf"; +}; +RevealArea = Compile preprocessFile "Common\Functions\Common_RevealArea.sqf"; +SetCommanderVotes = Compile preprocessFile "Common\Functions\Common_SetCommanderVotes.sqf"; +SetNamespace = Compile preprocessFile "Common\Functions\Common_SetNamespace.sqf"; +SetTeamAutonomous = Compile preprocessFile "Common\Functions\Common_SetTeamAutonomous.sqf"; +SetTeamRespawn = Compile preprocessFile "Common\Functions\Common_SetTeamRespawn.sqf"; +SetTeamMoveMode = Compile preprocessFile "Common\Functions\Common_SetTeamMoveMode.sqf"; +SetTeamMovePos = Compile preprocessFile "Common\Functions\Common_SetTeamMovePos.sqf"; +SetTeamType = Compile preprocessFile "Common\Functions\Common_SetTeamType.sqf"; +SpawnTurrets = Compile preprocessFile "Common\Functions\Common_SpawnTurrets.sqf"; +SortByDistance = Compile preprocessFile "Common\Functions\Common_SortByDistance.sqf"; +UnitKilled = Compile preprocessFile "Common\Functions\Common_UnitKilled.sqf"; +UpdateStatistics = Compile preprocessFile "Common\Functions\Common_UpdateStatistics.sqf"; +UseStationaryDefense = Compile preprocessFile "Common\Functions\Common_UseStationaryDefense.sqf"; +if (paramICBM) then { + NukeDammage = Compile preprocessFile "Client\Module\Nuke\damage.sqf"; + NukeRadiation = Compile preprocessFile "Client\Module\Nuke\radzone.sqf"; +}; + +diag_log Format["[WFBE (INIT)][frameno:%1 | ticktime:%2] Init_Common: Functions - [Done]",diag_frameno,diag_tickTime]; + +varQueu = (random 10)+(random 100)+(random 1000); + +EastCommanderTeam = ObjNull; +WestCommanderTeam = ObjNull; + +/* Starting Supply */ +if (isNil "EastSupplies") then {EastSupplies = if (WF_Debug) then {900000} else {1200}}; +if (isNil "WestSupplies") then {WestSupplies = if (WF_Debug) then {900000} else {1200}}; + +diag_log Format["[WFBE (INIT)][frameno:%3 | ticktime:%4] Init_Common: Starting Supply (West: %1 East: %2) - [Done]",WestSupplies,EastSupplies,diag_frameno,diag_tickTime]; + +/* Starting Money */ +['WFBE_EASTSTARTINGMONEY',if (WF_Debug) then {900000} else {800},false] Call SetNamespace; +['WFBE_WESTSTARTINGMONEY',if (WF_Debug) then {900000} else {800},false] Call SetNamespace; + +diag_log Format["[WFBE (INIT)][frameno:%3 | ticktime:%4] Init_Common: Starting Funds (West: %1 East: %2) - [Done]",'WFBE_WESTSTARTINGMONEY' Call GetNamespace,'WFBE_EASTSTARTINGMONEY' Call GetNamespace,diag_frameno,diag_tickTime]; + +/* Allies */ +if (('WFBE_ALLIES' Call GetNamespace) > 0) then { + westAlliesFunds = ('WFBE_WESTSTARTINGMONEY' Call GetNamespace)*5; + eastAlliesFunds = ('WFBE_EASTSTARTINGMONEY' Call GetNamespace)*5; + + diag_log Format["[WFBE (INIT)][frameno:%3 | ticktime:%4] Init_Common: Allies Starting Funds (West: %1 East: %2) - [Done]",('WFBE_WESTSTARTINGMONEY' Call GetNamespace)*5,('WFBE_EASTSTARTINGMONEY' Call GetNamespace)*5,diag_frameno,diag_tickTime]; +}; + +unitMarker = 0; + +for [{_count = 0},{_count < maxPlayers},{_count = _count + 1}] do { + Call Compile Format["if (IsNil 'EastTeam%1Vote') then {EastTeam%1Vote = -1}",_count + 1]; + Call Compile Format["if (IsNil 'WestTeam%1Vote') then {WestTeam%1Vote = -1}",_count + 1]; +}; + +/* Respawn Markers */ +createMarkerLocal ["respawn_east",getMarkerPos "EastTempRespawnMarker"]; +"respawn_east" setMarkerColorLocal "ColorGreen"; +"respawn_east" setMarkerShapeLocal "RECTANGLE"; +"respawn_east" setMarkerBrushLocal "BORDER"; +"respawn_east" setMarkerSizeLocal [15,15]; +"respawn_east" setMarkerAlphaLocal 0; +createMarkerLocal ["respawn_west",getMarkerPos "WestTempRespawnMarker"]; +"respawn_west" setMarkerColorLocal "ColorGreen"; +"respawn_west" setMarkerShapeLocal "RECTANGLE"; +"respawn_west" setMarkerBrushLocal "BORDER"; +"respawn_west" setMarkerSizeLocal [15,15]; +"respawn_west" setMarkerAlphaLocal 0; + +/* Prepare the common constants */ +[] Call Compile preprocessFile "Common\Init\Init_CommonConstants.sqf"; + +if (('WFBE_ISIS' Call GetNamespace) != 0) then { + ISIS_Heal = Compile preprocessFile "Client\Module\ISIS\ISIS_Heal.sqf"; + ISIS_Wound = Compile preprocessFile "Client\Module\ISIS\ISIS_Wound.sqf"; + ISIS_Wounded = Compile preprocessFile "Client\Module\ISIS\ISIS_Wounded.sqf"; +}; + +/* Wait for BIS Module Init */ +waitUntil {!(isNil 'BIS_fnc_init')}; +waitUntil {BIS_fnc_init}; + +/* CORE SYSTEM - Start + Different Core are added depending on the current ArmA Version running, add yours bellow. +*/ +switch (true) do { + case WF_A2_Vanilla: { + /* Gear Core */ + [] Call Compile preprocessFile 'Common\Config\Core_Gear\Core_Vanilla_G.sqf'; + /* Class Core */ + [] Call Compile preprocessFile 'Common\Config\Core\Core_CDF.sqf'; + [] Call Compile preprocessFile 'Common\Config\Core\Core_CIV.sqf'; + [] Call Compile preprocessFile 'Common\Config\Core\Core_FR.sqf'; + [] Call Compile preprocessFile 'Common\Config\Core\Core_GUE.sqf'; + [] Call Compile preprocessFile 'Common\Config\Core\Core_INS.sqf'; + [] Call Compile preprocessFile 'Common\Config\Core\Core_MVD.sqf'; + [] Call Compile preprocessFile 'Common\Config\Core\Core_RU.sqf'; + [] Call Compile preprocessFile 'Common\Config\Core\Core_Spetsnaz.sqf'; + [] Call Compile preprocessFile 'Common\Config\Core\Core_USMC.sqf'; + + /* Call in the teams template - Vanilla */ + [] Call Compile preprocessFile 'Common\Config\Core_Definition\Vanilla\Definition_USMC_RU.sqf'; + }; + case WF_A2_Arrowhead: { + /* Gear Core */ + [] Call Compile preprocessFile 'Common\Config\Core_Gear\Core_Arrowhead_G.sqf'; + [] Call Compile preprocessFile 'Common\Config\Core_Gear\Core_BAF_G.sqf'; + [] Call Compile preprocessFile 'Common\Config\Core_Gear\Core_PMC_G.sqf'; + /* Class Core */ + [] Call Compile preprocessFile 'Common\Config\Core\Core_ACR.sqf'; + [] Call Compile preprocessFile 'Common\Config\Core\Core_BAF.sqf'; + [] Call Compile preprocessFile 'Common\Config\Core\Core_BAFD.sqf'; + [] Call Compile preprocessFile 'Common\Config\Core\Core_BAFW.sqf'; + [] Call Compile preprocessFile 'Common\Config\Core\Core_DeltaForce.sqf'; + [] Call Compile preprocessFile 'Common\Config\Core\Core_KSK.sqf'; + [] Call Compile preprocessFile 'Common\Config\Core\Core_PMC.sqf'; + [] Call Compile preprocessFile 'Common\Config\Core\Core_TKA.sqf'; + [] Call Compile preprocessFile 'Common\Config\Core\Core_TKCIV.sqf'; + [] Call Compile preprocessFile 'Common\Config\Core\Core_TKGUE.sqf'; + [] Call Compile preprocessFile 'Common\Config\Core\Core_TKSF.sqf'; + [] Call Compile preprocessFile 'Common\Config\Core\Core_US.sqf'; + + /* Call in the teams template - Arrowhead */ + [] Call Compile preprocessFile 'Common\Config\Core_Definition\Arrowhead\Definition_US_TKA.sqf'; + }; + case WF_A2_CombinedOps: { + /* Gear Core */ + [] Call Compile preprocessFile 'Common\Config\Core_Gear\Core_Vanilla_G.sqf'; + [] Call Compile preprocessFile 'Common\Config\Core_Gear\Core_Arrowhead_G.sqf'; + [] Call Compile preprocessFile 'Common\Config\Core_Gear\Core_BAF_G.sqf'; + [] Call Compile preprocessFile 'Common\Config\Core_Gear\Core_PMC_G.sqf'; + /* Class Core */ + [] Call Compile preprocessFile 'Common\Config\Core\Core_ACR.sqf'; + [] Call Compile preprocessFile 'Common\Config\Core\Core_BAF.sqf'; + [] Call Compile preprocessFile 'Common\Config\Core\Core_BAFD.sqf'; + [] Call Compile preprocessFile 'Common\Config\Core\Core_BAFW.sqf'; + [] Call Compile preprocessFile 'Common\Config\Core\Core_CDF.sqf'; + [] Call Compile preprocessFile 'Common\Config\Core\Core_CIV.sqf'; + [] Call Compile preprocessFile 'Common\Config\Core\Core_DeltaForce.sqf'; + [] Call Compile preprocessFile 'Common\Config\Core\Core_FR.sqf'; + [] Call Compile preprocessFile 'Common\Config\Core\Core_GUE.sqf'; + [] Call Compile preprocessFile 'Common\Config\Core\Core_INS.sqf'; + [] Call Compile preprocessFile 'Common\Config\Core\Core_KSK.sqf'; + [] Call Compile preprocessFile 'Common\Config\Core\Core_MVD.sqf'; + [] Call Compile preprocessFile 'Common\Config\Core\Core_PMC.sqf'; + [] Call Compile preprocessFile 'Common\Config\Core\Core_RU.sqf'; + [] Call Compile preprocessFile 'Common\Config\Core\Core_Spetsnaz.sqf'; + [] Call Compile preprocessFile 'Common\Config\Core\Core_TKA.sqf'; + [] Call Compile preprocessFile 'Common\Config\Core\Core_TKCIV.sqf'; + [] Call Compile preprocessFile 'Common\Config\Core\Core_TKGUE.sqf'; + [] Call Compile preprocessFile 'Common\Config\Core\Core_TKSF.sqf'; + [] Call Compile preprocessFile 'Common\Config\Core\Core_US.sqf'; + [] Call Compile preprocessFile 'Common\Config\Core\Core_USMC.sqf'; + + /* Call in the teams template - Combined Operations */ + [] Call Compile preprocessFile 'Common\Config\Core_Definition\CombinedOps\Definition_US_RU.sqf'; + + /* Mods */ + if (WF_ACE) then { + [] Call Compile preprocessFile 'Common\Config\Core_Gear\Core_ACE_G.sqf'; + [] Call Compile preprocessFile 'Common\Config\Core\Core_ACE_US_D.sqf'; + [] Call Compile preprocessFile 'Common\Config\Core\Core_ACE_US_W.sqf'; + }; + }; +}; +/* CORE SYSTEM - End */ + +diag_log Format["[WFBE (INIT)][frameno:%1 | ticktime:%2] Init_Common: Core Loading - [Done]",diag_frameno,diag_tickTime]; + +//--- Common Exec. +[] Call Compile preprocessFile "Common\Init\Init_PublicVariables.sqf"; +[] Call Compile preprocessFile "Common\Config\Config_Special.sqf"; +[] Call Compile preprocessFile "Common\Config\Config_Artillery.sqf"; +[] Call Compile preprocessFile "Common\Config\Config_Barracks.sqf"; +[] Call Compile preprocessFile "Common\Config\Config_LightFactory.sqf"; +[] Call Compile preprocessFile "Common\Config\Config_HeavyFactory.sqf"; +[] Call Compile preprocessFile "Common\Config\Config_AircraftFactory.sqf"; +[] Call Compile preprocessFile "Common\Config\Config_Airport.sqf"; +[] Call Compile preprocessFile "Common\Config\Config_Depot.sqf"; +[] Call Compile preprocessFile "Common\Config\Config_Structures.sqf"; +[] Call Compile preprocessFile "Common\Config\Config_Squads.sqf"; +[] Call Compile preprocessFile "Common\Config\Config_Loadouts.sqf"; + +//--- Server Exec. +if (isServer) then { + [] Call Compile preprocessFile "Common\Config\Config_Resistance.sqf"; + [] Call Compile preprocessFile "Common\Config\Config_Occupation.sqf"; + + //--- Allies. + if (('WFBE_ALLIES' Call GetNamespace) > 0) then {[] Call Compile preprocessFile "Common\Config\Config_Allies.sqf"}; +}; + +diag_log Format["[WFBE (INIT)][frameno:%1 | ticktime:%2] Init_Common: Config Loading - [Done]",diag_frameno,diag_tickTime]; + +//--- Boundaries, use setPos to find the perfect spot on other islands and worldName to determine the island name (editor: diag_log worldName; player setPos [0,5120,0]; ). +[] Call Compile preprocessFile "Common\Init\Init_Boundaries.sqf"; +diag_log Format["[WFBE (INIT)][frameno:%1 | ticktime:%2] Init_Common: Boundaries Loading - [Done]",diag_frameno,diag_tickTime]; + +//--- Neighbors +if (('WFBE_TOWNCONQUESTMODE' Call GetNamespace) > 0) then {[] Call Compile preprocessFile "Common\Init\Init_Neighbors.sqf"}; + +//--- CIPHER Module - Functions. +[] Call Compile preprocessFile "Common\Module\CIPHER\CIPHER_Init.sqf"; + +//--- Common initilization is complete at this point. +diag_log Format["[WFBE (INIT)][frameno:%2 | ticktime:%3] Init_Common: Init End at %1",time,diag_frameno,diag_tickTime]; +commonInitComplete = true; + +//--- Variable Destruction. +{Call Compile Format ["%1 = nil",_x]} forEach ['WFBE_V_West_UnitsRootVersion','WFBE_V_East_UnitsRootVersion','WFBE_V_West_Faction', +'WFBE_V_East_Faction','WFBE_V_East_SquadsFaction','WFBE_V_West_SquadsFaction','WFBE_V_East_SquadsRootVersion','WFBE_V_West_SquadsRootVersion','WFBE_V_East_Loadout', +'WFBE_V_West_Loadout','WFBE_V_East_LoadoutRootVersion','WFBE_V_West_LoadoutRootVersion','WFBE_V_West_StructuresFaction','WFBE_V_East_StructuresFaction','WFBE_V_East_StructuresRootVersion', +'WFBE_V_West_StructuresRootVersion','WFBE_V_West_ArtilleryRootVersion','WFBE_V_West_ArtilleryFaction','WFBE_V_East_ArtilleryRootVersion','WFBE_V_East_ArtilleryFaction']; \ No newline at end of file diff --git a/Common/Init/Init_CommonConstants.sqf b/Common/Init/Init_CommonConstants.sqf new file mode 100644 index 0000000..58cfc6c --- /dev/null +++ b/Common/Init/Init_CommonConstants.sqf @@ -0,0 +1,492 @@ +Private ['_resType']; + +/* DO NOT CHANGE! */ +EASTID = 128; +WESTID = 256; +RESISTANCEID = 512; +/* DO NOT CHANGE! */ +QUERYUNITLABEL = 0; +QUERYUNITPICTURE = 1; +QUERYUNITPRICE = 2; +QUERYUNITTIME = 3; +QUERYUNITCREW = 4; +QUERYUNITUPGRADE = 5; +QUERYUNITFACTORY = 6; +QUERYUNITSKILL = 7; +QUERYUNITFACTION = 8; +QUERYUNITTURRETS = 9; +/* DO NOT CHANGE! */ +QUERYGEARLABEL = 0; +QUERYGEARPICTURE = 1; +QUERYGEARCLASS = 2; +QUERYGEARTYPE = 3; +QUERYGEARCOST = 4; +QUERYGEARUPGRADE = 5; +QUERYGEARALLOWED = 6; +QUERYGEARHANDGUNPOOL = 7; +QUERYGEARMAGAZINES = 8; +QUERYGEARSPACE = 9; +QUERYGEARALLOWTWO = 10; + +/* IMPORTANT: New Getter/Setter, variable are stored into missionNamespace, the true/false variable define whether we shall override an existing variable or not */ +//--- How long a vehicle last empty before being sweeped. +['WFBE_ABANDONVEHICLETIMER',1200,false] Call SetNamespace; +//--- AI Commander will move the base after this laps of time if all conditions are met. +['WFBE_AICOMMANDERMOVEINTERVAL',3600,true] Call SetNamespace; +//--- Global AI Skill (only used over units not present in core). +['WFBE_AISKILL',0.7,true] Call SetNamespace; +//--- Maximum AIs that will be able to man defense within the barracks area. +['WFBE_AIDEFENSE',30,false] Call SetNamespace; +//--- Allies Parameters (0 Disabled, 1 West, 2 East, 3 both). +['WFBE_ALLIES',0,false] Call SetNamespace; +//--- Anti Air Radar Z offset detection. +['WFBE_ANTIAIRRADARDETECTION',100,true] Call SetNamespace; +//--- Artillery Computer (0: Disabled, 1: Enabled on Upgrade, 2: Enabled). +['WFBE_ARTILLERYCOMPUTER',1,false] Call SetNamespace; +//--- Artillery Range. +['WFBE_ARTILLERYMAXRANGE',3,false] Call SetNamespace; +//--- Artillery Laser Detection Range (Per Shell). +['WFBE_ARTILLERYAMMOLASERRANGE',175,true] Call SetNamespace; +//--- Artillery SADARM Detection Range (Distance from the core). +['WFBE_ARTILLERYAMMOSADARMRANGE',200,true] Call SetNamespace; +//--- Price Focus. (0: Default, 1: Infantry, 2: Tanks, 3: Air). +['WFBE_BALANCEPRICE',0,false] Call SetNamespace; +//--- Balanced units. +['WFBE_BALANCEDUNITS',['HMMWV_Avenger','M6_EP1','Ka52','Ka52Black'],true] Call SetNamespace; +//--- Base Area Limits. +['WFBE_BASEAREARANGE',250,true] Call SetNamespace; +['WFBE_BASEAREAMAX',2,false] Call SetNamespace; +//--- Bounty Coefficient Modifier (Blood money). +['WFBE_BOUNTYMODIFIER',0.25,true] Call SetNamespace; +//--- Bounty Coefficient Modifier, Kill Assist (bounty = (Unit price * WFBE_BOUNTYMODIFIER) * WFBE_BOUNTYMODIFIERASSIST). +['WFBE_BOUNTYMODIFIERASSIST',0.5,true] Call SetNamespace; +//--- Building Damage Reduction (Current damage given / x, 1 = normal). +['WFBE_BUILDINGDAMAGEREDUCTION',6,true] Call SetNamespace; +//--- Building is sold after x seconds. +['WFBE_BUILDINGSELLDELAY',240,true] Call SetNamespace; +//--- Building Limits. +['WFBE_BUILDINGMAXBARRACKS',3,false] Call SetNamespace; +['WFBE_BUILDINGMAXLIGHT',3,false] Call SetNamespace; +['WFBE_BUILDINGMAXCOMMANDCENTER',3,false] Call SetNamespace; +['WFBE_BUILDINGMAXHEAVY',3,false] Call SetNamespace; +['WFBE_BUILDINGMAXAIRCRAFT',3,false] Call SetNamespace; +['WFBE_BUILDINGMAXSERVICEPOINT',6,false] Call SetNamespace; +//--- Bounty received by player whenever he capture a camp. +['WFBE_CAMPCAPTUREBOUNTY',100,true] Call SetNamespace; +//--- Civilian Faction (first is nil). +if (WF_A2_Vanilla) then {['WFBE_CIVILIANFACTIONS',['','Chernarus Civilians'],true] Call SetNamespace}; +if (WF_A2_Arrowhead) then {['WFBE_CIVILIANFACTIONS',['','Takistan Civilians'],true] Call SetNamespace}; +if (WF_A2_CombinedOps) then {['WFBE_CIVILIANFACTIONS',['','Takistan Civilians','Chernarus Civilians'],true] Call SetNamespace}; +['WFBE_CIVILIANFACTION',0,false] Call SetNamespace; +//--- Killed Civilians bring a $xxx penalty to the player. +['WFBE_CIVILIANPENALTY',2500,true] Call SetNamespace; +//--- Command Center Range. +['WFBE_COMMANDCENTERRANGE',50000,true] Call SetNamespace; +//--- Commander bounties. +['WFBE_COMMANDERBUILDSCORE',1,true] Call SetNamespace; +['WFBE_COMMANDERTOWNCAPTURECOEF',30,true] Call SetNamespace; +['WFBE_COMMANDERTOWNCAPTURESCORE',1,true] Call SetNamespace; +['WFBE_COMMANDERUPGRADESCORE',1,true] Call SetNamespace; +//--- Counter Measures. +['WFBE_COUNTERMEASUREPLANES',64,true] Call SetNamespace; +['WFBE_COUNTERMEASURECHOPPERS',32,true] Call SetNamespace; +//--- Crew Cost. +['WFBE_CREWCOST',120,true] Call SetNamespace; +//--- Within 250 meters, units on defense mode will board defenses. +['WFBE_DEFENSEMANRANGE',250,false] Call SetNamespace; +//--- Supply Trucks (Clients) delivery range. +['WFBE_DELIVERYRANGE',30,true] Call SetNamespace; +//--- Patrolling Range Ratio. +['WFBE_DETECTIONTOPATROLRANGERATIO',0.4,true] Call SetNamespace; +//--- Fast Time skip time rate index. +['WFBE_FASTTIMERATE',0,false] Call SetNamespace; +//--- Fast time rates (Seconds = value * 60 * 60). +['WFBE_FASTTIMERATES',[0,0.000555,0.000833,0.00111,0.00138,0.00277,0.00416,0.00555,0.00694,0.00833],true] Call SetNamespace; +//--- Fast Travel (0 Disabled, 1 Free, 2 Fee). +['WFBE_FASTTRAVEL',1,false] Call SetNamespace; +['WFBE_FASTTRAVELMAXRANGE',3500,true] Call SetNamespace; +['WFBE_FASTTRAVELPRICEKM',215,true] Call SetNamespace; +['WFBE_FASTTRAVELRANGE',175,true] Call SetNamespace; +['WFBE_FASTTRAVELTIMECOEF',1,true] Call SetNamespace; +//--- Fire mission interval. +['WFBE_FIREMISSIONTIMEOUT0',300,true] Call SetNamespace; +['WFBE_FIREMISSIONTIMEOUT1',250,true] Call SetNamespace; +['WFBE_FIREMISSIONTIMEOUT2',200,true] Call SetNamespace; +['WFBE_FIREMISSIONTIMEOUT3',150,true] Call SetNamespace; +//--- Coef per supply delivery. +['WFBE_FUNDSPERSUPPLYPOINT',2,true] Call SetNamespace; +//--- Distance above which units are able to perform an HALO jump. +['WFBE_HALOJUMPHEIGHT',200,true] Call SetNamespace; +//--- HQ Deploy / Mobilize Price. +['WFBE_HQDEPLOYPRICE',100,false] Call SetNamespace; +//--- MHQ Deploy Range. +['WFBE_HQDEPLOYRANGE',120,false] Call SetNamespace; +//--- Income Interval (Delay between each paycheck). +['WFBE_INCOMEINTERVAL',60,false] Call SetNamespace; +//--- Income System (1:Full, 2:Half (Half -> 120 SV Town = 60$ / 60SV), 3: Commander System, 4: Commander System: Full) +['WFBE_INCOMESYSTEM',4,false] Call SetNamespace; +//--- Incoming Guided missiles Range limit (0 = Disabled). +['WFBE_INCOMINGMISSILEMAXRANGE',0,false] Call SetNamespace; +//--- ISIS, Injury System (0: Disabled, 1: Leaders only, 2: All). +['WFBE_ISIS',0,false] Call SetNamespace; +//--- Map Coloration System (0: Default, 1: Nato). +['WFBE_MAPCOLORATION',0,false] Call SetNamespace; +//--- Time that a marker remain on a dead unit. +['WFBE_MARKERDEADDELAY',60,true] Call SetNamespace; +//--- Maximum spread area of artillery support. +['WFBE_MAXARTILLERYAREA',300,true] Call SetNamespace; +//--- Maximum rate of a camp's capture affecting a town. +['WFBE_MAXCAMPCAPTURERATE',5,true] Call SetNamespace; +//--- Maximum Client Group size. +['WFBE_MAXGROUPSIZE',14,false] Call SetNamespace; +['WFBE_MAXGROUPSIZEAI',10,false] Call SetNamespace; +//--- Skill (Soldiers), have more units than the others. +['WFBE_MAXGZBONUSSKILL',6,true] Call SetNamespace; +//--- Maximum amount of supply truck per side (AI). +['WFBE_MAXAISUPPLYTRUCKS',5,true] Call SetNamespace; +//--- Maximum Clutter Distance (Grass). +['WFBE_MAXCLUTTERDISTANCE',50,false] Call SetNamespace; +//--- Maximum Supply per trucks. +['WFBE_MAXSUPPLYTRUCKSSV0',5,true] Call SetNamespace; +['WFBE_MAXSUPPLYTRUCKSSV1',7,true] Call SetNamespace; +['WFBE_MAXSUPPLYTRUCKSSV2',10,true] Call SetNamespace; +//--- Maximum Client Side View Distance. +['WFBE_MAXVIEWDISTANCE',4000,false] Call SetNamespace; +//--- HQ Building Range. +['WFBE_MHQBUILDINGRANGE',120,true] Call SetNamespace; +//--- HQ Repair Price. +['WFBE_MHQREPAIRPRICE',if !(paramMoneyOnly) then {25000} else {50000},true] Call SetNamespace; +//--- Occupation 'part' (faction) to be used, keep the alias (US..USMC) the same as the files in Core_Occupation. +if (WF_A2_Vanilla) then { + ['WFBE_OCCUPATIONWESTFACTIONS',['CDF','USMC'],true] Call SetNamespace; + ['WFBE_OCCUPATIONEASTFACTIONS',['INS','RU'],true] Call SetNamespace; + ['WFBE_OCCUPATIONWESTFACTION',1,false] Call SetNamespace; + ['WFBE_OCCUPATIONEASTFACTION',1,false] Call SetNamespace; +}; +if (WF_A2_Arrowhead) then { + ['WFBE_OCCUPATIONWESTFACTIONS',['US'],true] Call SetNamespace; + ['WFBE_OCCUPATIONEASTFACTIONS',['TKA'],true] Call SetNamespace; + ['WFBE_OCCUPATIONWESTFACTION',0,false] Call SetNamespace; + ['WFBE_OCCUPATIONEASTFACTION',0,false] Call SetNamespace; +}; +if (WF_A2_CombinedOps) then { + ['WFBE_OCCUPATIONWESTFACTIONS',['CDF','US','USMC'],true] Call SetNamespace; + ['WFBE_OCCUPATIONEASTFACTIONS',['INS','RU','TKA'],true] Call SetNamespace; + ['WFBE_OCCUPATIONWESTFACTION',1,false] Call SetNamespace; + ['WFBE_OCCUPATIONEASTFACTION',1,false] Call SetNamespace; +}; +//--- East or West Inactive period before being removed (town). +['WFBE_OCCUPATIONINACTIVETIME',300,true] Call SetNamespace; +//--- Maximum man-able defenses per town. +['WFBE_OCCUPATIONMAXDEFENSES',20,true] Call SetNamespace; +//--- Delay between each occupation reinforcement spawned in town. +['WFBE_OCCUPATIONREINFORCEMENTDELAY',300,true] Call SetNamespace; +//--- Town Occupation SV floor. +['WFBE_OCCUPATIONTEAM1',20,true] Call SetNamespace; +['WFBE_OCCUPATIONTEAM2',40,true] Call SetNamespace; +['WFBE_OCCUPATIONTEAM3',60,true] Call SetNamespace; +['WFBE_OCCUPATIONTEAM4',80,true] Call SetNamespace; +['WFBE_OCCUPATIONTEAM5',100,true] Call SetNamespace; +['WFBE_OCCUPATIONTEAM6',120,true] Call SetNamespace; +//--- Town Occupation AA SV floor. +['WFBE_OCCUPATIONAATEAM1',50,true] Call SetNamespace; +['WFBE_OCCUPATIONAATEAM2',100,true] Call SetNamespace; +//--- Maximum seconds off the map limits. +['WFBE_OFFMAPMAXTIME',30,true] Call SetNamespace; +//--- Paratroopers Call Interval. +['WFBE_PARADELAY',1200,true] Call SetNamespace; +//--- Unit Patrol Radius. +['WFBE_PATROLRANGE',400,true] Call SetNamespace; +//--- Purchase Unit Range. +['WFBE_PURCHASEUNITSRANGE',150,true] Call SetNamespace; +['WFBE_PURCHASEUNITSRANGEAIR',50,true] Call SetNamespace; +//--- Purchase Gear Range. +['WFBE_PURCHASEGEARRANGE',150,true] Call SetNamespace; +//--- Repair truck repair range. +['WFBE_REPAIRTRUCKRANGE',40,true] Call SetNamespace; +//--- Resistance 'part' (faction) to be used, don't forget to define the types bellow for patrol & strikers, keep the alias (GUE..TKGUE) the same as the files in Core_Resistance. +if (WF_A2_Vanilla) then { + ['WFBE_RESISTANCEFACTIONS',['GUE'],true] Call SetNamespace; + ['WFBE_RESISTANCEFACTION',0,false] Call SetNamespace; +}; +if (WF_A2_Arrowhead) then { + ['WFBE_RESISTANCEFACTIONS',['PMC','TKGUE'],true] Call SetNamespace; + ['WFBE_RESISTANCEFACTION',1,false] Call SetNamespace; +}; +if (WF_A2_CombinedOps) then { + ['WFBE_RESISTANCEFACTIONS',['GUE','PMC','TKGUE'],true] Call SetNamespace; + ['WFBE_RESISTANCEFACTION',2,false] Call SetNamespace; +}; +//--- Resistance Inactive period before being removed (town). +['WFBE_RESISTANCEINACTIVETIME',300,true] Call SetNamespace; +//--- Delay between each resistance reinforcement spawned in town. +['WFBE_RESISTANCEREINFORCEMENTDELAY',240,true] Call SetNamespace; +//--- Respawn Camps (0: Disabled, 1: Classic [from town center], 2: Enhanced [from nearby camps]). +['WFBE_RESPAWNCAMPSMODE',2,false] Call SetNamespace; +//--- Respawn Camps Rule (0: Disabled, 1: West | East, 2: West | East | Resistance). +['WFBE_RESPAWNCAMPSRULEMODE',2,false] Call SetNamespace; +//--- Respawn Delay (Players/AI). +['WFBE_RESPAWNDELAY',30,false] Call SetNamespace; +//--- Respawn Penalty (0: None, 1: Remove All, 2: Pay full gear price, 3: Pay 1/2 gear price, 4: pay 1/4 gear price, 5: Charge on Mobile). +['WFBE_RESPAWNPENALTY',5,false] Call SetNamespace; +//--- How far a player need to be from a town to spawn at camps. +['WFBE_RESPAWNRANGE',550,false] Call SetNamespace; +['WFBE_RESPAWNMINRANGE',50,true] Call SetNamespace; +//--- How far a player need to be from a mobile respawn in order to spawn on it. +['WFBE_RESPAWNMOBILERANGE0',250,true] Call SetNamespace; +['WFBE_RESPAWNMOBILERANGE1',350,true] Call SetNamespace; +['WFBE_RESPAWNMOBILERANGE2',500,true] Call SetNamespace; +//--- Advanced Aircraft restriction. +['WFBE_RESTRICTIONADVAIR',0,false] Call SetNamespace; +//--- Salvager Sell %. +['WFBE_SALVAGERPERCENT',30,true] Call SetNamespace; +//--- Salvager's Range. +['WFBE_SALVAGERRANGE',20,true] Call SetNamespace; +//--- Score Gained per town assist. +['WFBE_SCOREASSISTCAPTURETOWN',5,true] Call SetNamespace; +//--- Points Gained per camp captire. +['WFBE_SCORECAPTURECAMP',1,true] Call SetNamespace; +//--- Score Gained per town capture. +['WFBE_SCORECAPTURETOWN',10,true] Call SetNamespace; +//--- Points Received per Supply delivery. +['WFBE_SCOREPERSUPPLYPOINT',2,true] Call SetNamespace; +//--- Service points action range. +['WFBE_SERVICEPOINTRANGE',50,true] Call SetNamespace; +//--- Sides need at last xkm of distance between them. +['WFBE_SIDESTARTINGDISTANCE',5000,false] Call SetNamespace; +//--- Starting Locations Mode: 0 = WN|ES; 1 = WS|EN; 2 = Random; +['WFBE_STARTINGLOCATIONMODE',2,false] Call SetNamespace; +//--- When a structure is sold, x% of supply goes back to the side. +['WFBE_STRUCTURESELLPERCENT',40,false] Call SetNamespace; +//--- Supply System (0: Trucks, 1: Automatic with time). +['WFBE_SUPPLYSYSTEM',0,false] Call SetNamespace; +//--- If SUPPLYSYSTEM == 1 then, we increase of SUPPLYSYSTEMINCREASE each SUPPLYSYSTEMINCREASETIME. +['WFBE_SUPPLYSYSTEMINCREASE0',1,true] Call SetNamespace; +['WFBE_SUPPLYSYSTEMINCREASE1',2,true] Call SetNamespace; +['WFBE_SUPPLYSYSTEMINCREASE2',3,true] Call SetNamespace; +['WFBE_SUPPLYSYSTEMINCREASETIME',60,true] Call SetNamespace; +//--- Action range for repair/rearm/refuel. +['WFBE_SUPPORTRANGE',70,true] Call SetNamespace; +//--- Price of Support (Base), note that Rearm, Refuel and Repair are using Ratio. +['WFBE_SUPPORTHEALPRICE',100,true] Call SetNamespace; +['WFBE_SUPPORTREARMPRICE',4,true] Call SetNamespace; +['WFBE_SUPPORTREFUELPRICE',16,true] Call SetNamespace; +['WFBE_SUPPORTREPAIRPRICE',2,true] Call SetNamespace; +//--- Amount of time required to be able to use an action from the support menu again. +['WFBE_SUPPORTHEALTIME',25,true] Call SetNamespace; +['WFBE_SUPPORTREARMTIME',30,true] Call SetNamespace; +['WFBE_SUPPORTREFUELTIME',20,true] Call SetNamespace; +['WFBE_SUPPORTREPAIRTIME',40,true] Call SetNamespace; +//--- Money to be deducted from a teamkiller. +['WFBE_TEAMKILLPENALTY',500,true] Call SetNamespace; +//--- Thermal Imaging (0: Disabled, 1: Weapons, 2: Vehicles, 3: All). +['WFBE_THERMALIMAGING',3,false] Call SetNamespace; +//--- Bounty received by player whenever he get an assist in a town. +['WFBE_TOWNASSISTCAPTUREBOUNTY',175,true] Call SetNamespace; +['WFBE_TOWNMISSIONASSISTCAPTUREBOUNTY',350,true] Call SetNamespace; +//--- Restrict use of build menu if the player is near a town. +['WFBE_TOWNBUILDPROTECTIONRANGE',450,false] Call SetNamespace; +//--- Range Coefficient whenever a player get an assist in a town. +['WFBE_TOWNCAPTUREASSISTRANGEMODIFIER',0.6,true] Call SetNamespace; +//--- Bounty received by player whenever he capture a town. +['WFBE_TOWNCAPTUREBOUNTY',400,true] Call SetNamespace; +['WFBE_TOWNMISSIONCAPTUREBOUNTY',800,true] Call SetNamespace; +//--- Town capture mode (0: normal, 1: threshold, 2: all camps[Best Use with PvP]). +['WFBE_TOWNCAPTUREMODE',1,false] Call SetNamespace; +//--- Town Depot capture range. +['WFBE_TOWNCAPTURERANGE',40,true] Call SetNamespace; +//--- Town Depot capture range (Threshold Capture mode). +['WFBE_TOWNCAPTURERANGETHRESHOLD',50,true] Call SetNamespace; +//--- Town Capture rate. +['WFBE_TOWNCAPTURERATE',1,true] Call SetNamespace; +//--- Town Conquest mode (0: None, 1: Territoriality 2: (tbd) commander task set). - TODO +['WFBE_TOWNCONQUESTMODE',0,false] Call SetNamespace; +//--- Buy Gear From (0: None, 1: Camps, 2: Depot, 3: Camps & Depot). +['WFBE_TOWNGEAR',1,false] Call SetNamespace; +//--- Amount of Waypoints given to the AI Patrol in towns (Higher is wider). +['WFBE_TOWNPATROLHOPS',5,true] Call SetNamespace; +//--- Town Purchase range. +['WFBE_TOWNPURCHASERANGE',30,true] Call SetNamespace; +//--- Town occupation Difficulty (1: Light, 2: Medium, 3: Hard, 4: Insane, 5: Auto). +['WFBE_TOWNOCCUPATIONDIFFICULTY',1,false] Call SetNamespace; +//--- Town resistance Difficulty (1: Light, 2: Medium, 3: Hard, 4: Insane). +['WFBE_TOWNRESISTANCEDIFFICULTY',1,false] Call SetNamespace; +//--- Town starting mode (0: Resistance, 1: 50% blu, 50% red, 2: Nearby Towns, 3: Random). +['WFBE_TOWNSTARTINGMODE',0,false] Call SetNamespace; +//--- Distance between each defensive waypoints. +['WFBE_TOWNUNITSDEFENSEDISTANCE',30,true] Call SetNamespace; +//--- Distance between each patrolling waypoints. +['WFBE_TOWNUNITSPATROLDISTANCE',360,true] Call SetNamespace; +//--- Unit will spawn within this range. +['WFBE_TOWNUNITSPAWNRANGE',75,true] Call SetNamespace; +//--- Interval between each uav spotting routine. +['WFBE_UAVSPOTTINGDELAY',20,true] Call SetNamespace; +//--- UAV will reveal each targets that it knows about this value (0-4) +['WFBE_UAVSPOTTINGDETECTION',0.21,true] Call SetNamespace; +//--- Max Range of the UAV spotting. +['WFBE_UAVSPOTTINGRANGE',900,true] Call SetNamespace; +//--- Units cleaning delay. +['WFBE_UNITREMOVEDLAY',300,false] Call SetNamespace; +//--- Victory Condition (0: Annihilation, 1: Assassination, 2: Supremacy, 3: Towns). +['WFBE_VICTORYCONDITION',2,false] Call SetNamespace; +//--- Commander vote time. +['WFBE_VOTETIME',if (WF_Debug) then {6} else {60},true] Call SetNamespace; +//--- Weather Type, 0: Clear, 1: Cloudy, 2: Rainy, 3: Dynamic) +['WFBE_WEATHER',0,false] Call SetNamespace; +//--- Weather Transition period (longer is more realistic). +['WFBE_WEATHERTRANSITION',600,true] Call SetNamespace; +//--- Proper worlds (Radio town localization). +['WFBE_WORLDWHITELISTOA',["Zargabad","Takistan"],true] Call SetNamespace; +['WFBE_WORLDWHITELISTVA',["chernarus","utes"],true] Call SetNamespace; + +if (paramUseWorkers) then { + //--- Minimal Distance in order to start building. + ['WFBE_WORKERS_BUILDDISTANCE',30,true] Call SetNamespace; + //--- Degredation of the building in time during a repair phase (over 100). + ['WFBE_WORKERS_DEGRADATION',1,true] Call SetNamespace; + //--- Maximum Workers per side. + ['WFBE_WORKERS_MAX',10,true] Call SetNamespace; + //--- Maximal Traveling distance. + ['WFBE_WORKERS_MAXRANGE',650,true] Call SetNamespace; + //--- Workers Models. + ['WFBE_WORKERS_MODELS_EAST',if (WF_A2_Vanilla) then {["Worker3","Worker1"]} else {["TK_CIV_Worker01_EP1"]}, true] Call SetNamespace; + ['WFBE_WORKERS_MODELS_WEST',if (WF_A2_Vanilla) then {["Worker2","Worker4"]} else {["TK_CIV_Worker02_EP1"]}, true] Call SetNamespace; + //--- Worker Price + ['WFBE_WORKERS_PRICE',500,true] Call SetNamespace; + //--- Build Speed Ratio. + ['WFBE_WORKERS_RATIO',2,true] Call SetNamespace; + //--- Health Point fixed during a repair. + ['WFBE_WORKERS_REPAIR',0.0075,true] Call SetNamespace; + //--- Ruins model. + ['WFBE_WORKERS_RUINS',if (WF_A2_Vanilla) then {"Land_budova4_ruins"} else {"Land_Mil_Barracks_i_ruins_EP1"}, true] Call SetNamespace; +}; + +//--- Build area (Radius/Height). +['WFBE_AREAHQDEPLOYED',[('WFBE_HQDEPLOYRANGE' Call GetNamespace),25],true] Call SetNamespace; +['WFBE_AREAHQUNDEPLOYED',[('WFBE_HQDEPLOYRANGE' Call GetNamespace)/2,15],true] Call SetNamespace; +['WFBE_AREAREPAIRTRUCK',[45,10],true] Call SetNamespace; + +//--- Construction Module, Flat Detection. +if (WF_A2_Vanilla) then { + ['WFBE_COINMINDISTANCE',8,true] Call SetNamespace; + ['WFBE_COINMAXGRADIENT',4,true] Call SetNamespace; +} else { + ['WFBE_COINMINDISTANCE',24,true] Call SetNamespace; + ['WFBE_COINMAXGRADIENT',4,true] Call SetNamespace; +}; + +//--- Resistance Island Patrol System. +['WFBE_RESPATROLINTERVAL',1200,true] Call SetNamespace; +['WFBE_RESPATROL',0,false] Call SetNamespace; + +//--- Resistance Strikers. +['WFBE_RESSTRIKERINTERVAL',1800,true] Call SetNamespace; +['WFBE_RESSTRIKER',0,false] Call SetNamespace; + +/* UPGRADE SYSTEM: */ +//--- Important: If you add any other upgrades, add them at the end, also add a new 0 to init_server.sqf upgrade array. + +//--- Desc-Array - added MrNiceGuy +['WFBE_UPGRADEDESCRIPTION', + [localize 'STR_WF_UPGRADE_barracks_Desc',localize 'STR_WF_UPGRADE_lightfactory_Desc',localize 'STR_WF_UPGRADE_heavyfactory_Desc',localize 'STR_WF_UPGRADE_aircraftfactory_Desc', + localize 'STR_WF_UPGRADE_Paratroop_Desc',localize 'STR_WF_UPGRADE_uav_Desc',localize 'STR_WF_UPGRADE_Supply_Desc',localize 'STR_WF_UPGRADE_RespawnRange_Desc', + localize 'STR_WF_UPGRADE_Airlift_Desc',localize 'STR_WF_UPGRADE_Countermeasures_Desc',localize 'STR_WF_UPGRADE_ArtilleryUpgrade_Desc',localize 'STR_WF_UPGRADE_ICBM_Desc', + localize 'STR_WF_UPGRADE_FastTravel_Desc',localize 'STR_WF_UPGRADE_Gear_Desc',localize 'STR_WF_UPGRADE_Ammo_Desc',localize 'STR_WF_UPGRADE_EASA_Desc', + localize 'STR_WF_UPGRADE_Paradrop_Desc',localize 'STR_WF_UPGRADE_ArtilleryAmmo_Desc'], + true +] Call SetNamespace; + +['WFBE_UPGRADELABELS', + [localize 'strwfbarracks',localize 'strwflightfactory',localize 'strwfheavyfactory',localize 'strwfaircraftfactory',localize 'STR_WF_TACTICAL_Paratroop', + localize 'str_dn_uav',localize 'STR_WF_UPGRADE_Supply',localize 'STR_WF_UPGRADE_RespawnRange',localize 'STR_WF_UPGRADE_Airlift',localize 'STR_WF_UPGRADE_Countermeasures', + localize 'STR_WF_UPGRADE_ArtilleryUpgrade',localize 'STR_WF_ICBM',localize 'STR_WF_TACTICAL_FastTravel',localize 'STR_WF_UPGRADE_Gear',localize 'STR_WF_Ammo','EASA', + localize 'STR_WF_TACTICAL_Paradrop', localize 'STR_WF_UPGRADE_ArtilleryAmmo'], + true +] Call SetNamespace; +//--- Amount of upgrade levels. +['WFBE_UPGRADELEVELS',[3,3,3,3,3,1,2,2,1,1,3,1,1,3,1,1,1,3],true] Call SetNamespace; +//--- [upgrade index, upgrade level]. +['WFBE_UPGRADEDEPENDENCIES',[[],[],[],[],[3,1],[3,2],[],[1,2],[],[3,1],[2,1],[3,3],[],[0,1],[13,3],[3,3],[8,1],[10,3]],true] Call SetNamespace; +//--- Special condition. +['WFBE_UPGRADECONDITION',[true,true,true,true,true,true,true,true,true,paramCounterMeasures,paramArty,paramICBM,if (('WFBE_FASTTRAVEL' Call GetNamespace) > 0) then {true} else {false},true,true,paramEASA,true,true],true] Call SetNamespace; +//--- [Supply,Money]. +['WFBE_UPGRADEPRICESLEVEL1',[[300,750],[800,1850],[3600,4000],[5600,11000],[3200,7400],[2500,5600],[1800,6200],[500,1800],[950,2450],[3400,8200],[1200,2950],[50000,80000],[1350,3550],[250,500],[750,2250],[4400,12500],[3250,8800],[2400,4550]],true] Call SetNamespace; +['WFBE_UPGRADEPRICESLEVEL2',[[400,1150],[1400,2450],[4500,6750],[7600,16000],[3800,8700],[],[3600,12400],[700,2400],[],[],[1800,4400],[],[],[650,2550],[],[],[],[3500,8500]],true] Call SetNamespace; +['WFBE_UPGRADEPRICESLEVEL3',[[500,1620],[1900,3400],[5500,8050],[9500,21250],[4400,9800],[],[],[],[],[],[3000,7500],[],[],[1400,4250],[],[],[],[6200,12000]],true] Call SetNamespace; +//--- Time required per upgrade. +['WFBE_UPGRADETIMESLEVEL1',[40,60,80,100,120,120,140,120,100,120,100,240,260,180,170,160,140,120],true] Call SetNamespace; +['WFBE_UPGRADETIMESLEVEL2',[60,80,100,120,140,0,160,140,0,0,140,0,0,200,0,0,0,140],true] Call SetNamespace; +['WFBE_UPGRADETIMESLEVEL3',[80,100,120,180,160,0,0,0,0,0,160,0,0,220,0,0,0,160],true] Call SetNamespace; +// ['WFBE_UPGRADETIMESLEVEL1',[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],true] Call SetNamespace; +// ['WFBE_UPGRADETIMESLEVEL2',[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],true] Call SetNamespace; +// ['WFBE_UPGRADETIMESLEVEL3',[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],true] Call SetNamespace; +//--- AI COMMANDER priority, we use the upgrade index (0: Barracks, 4: Paratroops...). +['WFBE_UPGRADEAIORDER',[0,13,1,6,2,12,3,7,10,3,8,4,5,9,11,14,15,16,17],true] Call SetNamespace; + +/* Handle the missions (Server Only) */ +if (isServer && paramSecondaryMissions) then { + Private ['_initExt','_tpath']; + _tpath = 'Server\Missions\'; + _initExt = '\m_init.sqf'; + + //--- Maximum amount of missions allowed per side at a time. + ['WFBE_MISSIONSMAXIMUM_WEST',1,true] Call SetNamespace; + ['WFBE_MISSIONSMAXIMUM_EAST',1,true] Call SetNamespace; + //--- Time randomizer (Affect the timeout). + ['WFBE_MISSIONSRANDOMIZER',160,true] Call SetNamespace; + //--- Re-usability, after x missions, mission y is available again. + ['WFBE_MISSIONSREUSABILITY',10,true] Call SetNamespace; + //--- Time to wait between each missions. + ['WFBE_MISSIONSTIMEOUT',2400,true] Call SetNamespace; + + //--- Assign a content. + /* + all templates need at least a m_init.sqf + + [ + [island array, * = all, ! = not in, put the worldnames in otherwise], + temp path + folder name in templates + init name (path to the template folder), + unique identifier (template name or something, avoid duplicated names), + starting index (used in case of duplicated template allowed), 0 is ok to start with, + condition for template to be 'selectable', keep it as if it was a if (true/false condition), as it will be compiled inside a if on the fly (i.e: time > 600). + run for who? both(civ)? west? east? + ]. + + Each mission receive 3 defaults parameters, the unique identifier, the starting index and the selected index. + */ + + ['WFBE_M_CONTENT',[ + [['*'],(_tpath + 'M_UAV_RetrieveModule' + _initExt),'M_UAV_RetrieveModule',0,"true",civilian], /* UAV Retrieving Mission, Any islands, No conditions, Both. */ + [['*'],(_tpath + 'M_TOWN_Attack' + _initExt),'M_TOWN_AttackWest',0,"time > 1200",west], /* Town Assault, resistance attack a town, require at least a town (we wait a bit), west. */ + [['*'],(_tpath + 'M_TOWN_Attack' + _initExt),'M_TOWN_AttackEast',0,"time > 1200",east], /* Town Assault, resistance attack a town, require at least a town (we wait a bit), east. */ + [['*'],(_tpath + 'M_BASE_Attack' + _initExt),'M_BASE_Attack',0,"(count WestBaseStructures > 0) && (time > 600)",west], /* Resistance attack a base, require at least one building (we wait a bit), west. */ + [['*'],(_tpath + 'M_BASE_Attack' + _initExt),'M_BASE_Attack',0,"(count EastBaseStructures > 0) && (time > 600)",east], /* Resistance attack a base, require at least one building (we wait a bit), east. */ + [['*'],(_tpath + 'M_PLAYERS_Attack_Air' + _initExt),'M_PLAYERS_Attack_Air',0,"!WF_A2_Vanilla && paramDLCPMC",west], /* Resistance PMC attack players, requires PMC, west. */ + [['*'],(_tpath + 'M_PLAYERS_Attack_Air' + _initExt),'M_PLAYERS_Attack_Air',0,"!WF_A2_Vanilla && paramDLCPMC",east] /* Resistance PMC attack players, requires PMC, east. */ + ],true] Call SetNamespace; + + //--- Ensure that the re-usability is not higher than the content. + if (('WFBE_MISSIONSREUSABILITY' Call GetNamespace) > count('WFBE_M_CONTENT' Call GetNamespace)-1) then { + ['WFBE_MISSIONSREUSABILITY',count('WFBE_M_CONTENT' Call GetNamespace),true] Call SetNamespace; + }; +}; + +//--- UPSMON Parameters. +if (paramUPSMON) then { + //--- Size of the marker (x,y) from the center of a town. + ['WFBE_UPSMONTOWNAREASIZE',[550,550],true] Call SetNamespace; +}; + +//--- Income System is Commander System? +if (('WFBE_INCOMESYSTEM' Call GetNamespace) in [3,4]) then { + //--- Town Multiplicator Coefficient (SV * x). + ['WFBE_INC_COEFFICIENT',10, true] Call SetNamespace; + //--- Prevent commander from being a millionaire, and add the rest to the players pool. + ['WFBE_INC_DIVIDE_COM',2.75, true] Call SetNamespace; + + //--- Commander Income %. + if (isNil "EastCommanderPercent") then {EastCommanderPercent = 70}; + if (isNil "WestCommanderPercent") then {WestCommanderPercent = 70}; +}; + +diag_log Format["[WFBE (INIT)][frameno:%1 | ticktime:%2] Init_CommonConstants: Constants Initialization - [Done]",diag_frameno,diag_tickTime]; \ No newline at end of file diff --git a/Common/Init/Init_Location.sqf b/Common/Init/Init_Location.sqf new file mode 100644 index 0000000..d0d97df --- /dev/null +++ b/Common/Init/Init_Location.sqf @@ -0,0 +1,87 @@ +Private ['_camps','_location','_locationName','_marker','_maxSupplyValue','_probability','_range','_resistanceTeamTypes','_startingSupplyValue']; + +_location = _this select 0; +_locationName = _this select 1; +_resistanceTeamTypes = ["Group","Group"]; +_probability = 70; +_startingSupplyValue = 10; +_maxSupplyValue = 50; +_range = 400; + +if (count _this > 3) then {_startingSupplyValue = _this Select 2}; +if (count _this > 4) then {_maxSupplyValue = _this Select 3}; +if (count _this > 5) then {_range = _this Select 4}; +if (count _this > 6) then {_resistanceTeamTypes = _this Select 5}; +if (count _this > 7) then {_probability = _this Select 6}; + +if (isNull _location) exitWith {}; + +_camps = _location getVariable "camps"; +if (isNil "_camps") then {_location setVariable ["camps",[]]}; + +_location setVariable ["name",_locationName]; +_location setVariable ["range",_range]; +_location setVariable ["startingSupplyValue",_startingSupplyValue]; +_location setVariable ["maxSupplyValue",_maxSupplyValue]; + +diag_log Format["[WFBE (INIT)][frameno:%3 | ticktime:%4] Init_Location: Town '%1' (%2) initialization - [Done]",str _location,_locationName,diag_frameno,diag_tickTime]; + +waitUntil {commonInitComplete}; + +if (isServer) then { + if (isNil 'EastMHQ' || isNil 'WestMHQ') exitWith {}; + //--- Don't pause. + [_location,_startingSupplyValue,_range,_resistanceTeamTypes,_probability,_maxSupplyValue] Spawn { + Private ["_defenses","_isSet","_location","_marker","_maxSupplyValue","_probability","_range","_resistanceTeamTypes","_size","_startingSupplyValue"]; + _location = _this select 0; + _startingSupplyValue = _this select 1; + _range = _this select 2; + _resistanceTeamTypes = _this select 3; + _probability = _this select 4; + _maxSupplyValue = _this select 5; + + /* OA Depots are made of kryptonite */ + if (WF_A2_Arrowhead || WF_A2_CombinedOps) then {_location addEventHandler ['handleDamage',{false}]}; + _isSet = _location getVariable 'sideID'; + if (isNil '_isSet') then {_location setVariable ["sideID",RESISTANCEID,true]}; + _location setVariable ["supplyValue",_startingSupplyValue,true]; + _location setVariable ["resistanceTypes",_resistanceTeamTypes]; + sleep (random 1); + waitUntil {serverInitComplete && townInit}; + //--- Town SV & Control script. + [_location,_range] ExecFSM "Server\FSM\updatetown.fsm"; + if !(paramRes) then { + _defenses = _location nearEntities['WFBE_RESISTANCEDEFENSENAMES' Call GetNamespace,_range]; + {deleteVehicle _x} forEach _defenses; + }; + //--- Main AI Script + if (paramOccup || paramRes) then {[_location, _resistanceTeamTypes, _probability] ExecFSM "Server\FSM\updatetownai.fsm"}; + + //--- UPSMON Area Definition. + if (paramUPSMON) then { + _marker = Format['UPSMON_TOWN_%1',str _location]; + createMarkerLocal [_marker, getPos _location]; + _marker setMarkerColorLocal "ColorBlue"; + _marker setMarkerShapeLocal "RECTANGLE"; + _marker setMarkerBrushLocal "BORDER"; + _size = 'WFBE_UPSMONTOWNAREASIZE' Call GetNamespace; + _marker setMarkerSizeLocal [_size select 0,_size select 1]; + _marker setMarkerAlphaLocal 0; + }; + }; + + if (('WFBE_TOWNCONQUESTMODE' Call GetNamespace) > 0) then { + _location setVariable ["wfbe_cancap_w", false]; + _location setVariable ["wfbe_cancap_e", false]; + }; +}; + +towns = towns + [_location]; + +if (local player) then { + waitUntil {clientInitComplete}; + _marker = Format["%1Depot",str _location]; + createMarkerLocal [_marker,getPos _location]; + _marker setMarkerTypeLocal "Depot"; + _marker setMarkerColorLocal ("Resistance" Call GetMarkerColoration); +}; \ No newline at end of file diff --git a/Common/Init/Init_Neighbors.sqf b/Common/Init/Init_Neighbors.sqf new file mode 100644 index 0000000..727e0d1 --- /dev/null +++ b/Common/Init/Init_Neighbors.sqf @@ -0,0 +1,232 @@ +/* + Neighbors town per world. +*/ + +Private ["_index","_townMode"]; +_index = 0; +for [{_i = 0},{_i < (count (missionConfigFile/"Params"))},{_i = _i + 1}] do {if ((configName ((missionConfigFile >> "Params") select _i)) == "townsAmount") exitWith {_index =_i}}; +_townMode = if (isMultiplayer) then {paramsArray select _index} else {getNumber (missionConfigFile >> "Params" >> "townsAmount" >> "default")}; + +switch (toLower(worldName)) do { + case "chernarus": { + switch (_townMode) do { + case 4: {//--- Full. + Kamenka setVariable ["neighbors", [Pavlovo, Komarovo]]; + Komarovo setVariable ["neighbors", [Pavlovo, Komarovo, Bor, Chernogorsk]]; + Chernogorsk setVariable ["neighbors", [Komarovo, Nadezhdino, Prigorodki, Kozlovka]]; + Prigorodki setVariable ["neighbors", [Chernogorsk, Elektrozavodsk]]; + Elektrozavodsk setVariable ["neighbors", [Prigorodki, Chernogorsk, Pusta, Kamyshovo, Staroye]]; + Kamyshovo setVariable ["neighbors", [Tulga, Elektrozavodsk]]; + Tulga setVariable ["neighbors", [Kamyshovo, Msta, Solnichniy]]; + Solnichniy setVariable ["neighbors", [Kamyshovo, Msta, Nizhnoye, Dolina]]; + Nizhnoye setVariable ["neighbors", [Solnichniy, Berezino]]; + Berezino setVariable ["neighbors", [Nizhnoye, Khelm, Orlovets, Dubrovka]]; + Khelm setVariable ["neighbors", [Berezino, Krasnostav]]; + Krasnostav setVariable ["neighbors", [Olsha, Gvozdno, Dubrovka, Khelm]]; + Olsha setVariable ["neighbors", [Krasnostav]]; + Gvozdno setVariable ["neighbors", [Krasnostav, Grishino]]; + Grishino setVariable ["neighbors", [Gvozdno, Petrovka, Kabanino]]; + Petrovka setVariable ["neighbors", [Grishino, Lopatino]]; + Lopatino setVariable ["neighbors", [Petrovka, Vybor, Pustoshka]]; + Myshkino setVariable ["neighbors", [Sosnovka, Pustoshka]]; + Sosnovka setVariable ["neighbors", [Zelenogorsk, Myshkino, Pustoshka]]; + Zelenogorsk setVariable ["neighbors", [Sosnovka, Pogorevka, Kozlovka, Pavlovo]]; + Pavlovo setVariable ["neighbors", [Kamenka, Komarovo, Bor, Zelenogorsk]]; + Bor setVariable ["neighbors", [Pavlovo, Kozlovka, Komarovo]]; + Kozlovka setVariable ["neighbors", [Bor, Zelenogorsk, Nadezhdino, Chernogorsk]]; + Nadezhdino setVariable ["neighbors", [Kozlovka, Chernogorsk]]; + Mogilevka setVariable ["neighbors", [Vyshnoye, Pusta]]; + Pusta setVariable ["neighbors", [Mogilevka, Elektrozavodsk]]; + Staroye setVariable ["neighbors", [Shakhovka, Guglovo, Elektrozavodsk, Msta]]; + Msta setVariable ["neighbors", [Staroye, Tulga, Solnichniy]]; + Dolina setVariable ["neighbors", [Staroye, Solnichniy, Solnichniy, Polana]]; + Orlovets setVariable ["neighbors", [Berezino, Polana]]; + Polana setVariable ["neighbors", [Orlovets, Polana, Dolina, Shakhovka, Gorka]]; + Gorka setVariable ["neighbors", [Dubrovka, NovySobor, Polana]]; + Dubrovka setVariable ["neighbors", [Gorka, Krasnostav, Berezino]]; + Shakhovka setVariable ["neighbors", [Staroye, Polana]]; + Guglovo setVariable ["neighbors", [Staroye, NovySobor]]; + NovySobor setVariable ["neighbors", [Guglovo, Gorka, StarySobor]]; + Vyshnoye setVariable ["neighbors", [StarySobor, Gorka]]; + StarySobor setVariable ["neighbors", [Vyshnoye, NovySobor, Kabanino, Pogorevka]]; + Pulkovo setVariable ["neighbors", [Pogorevka]]; + Pogorevka setVariable ["neighbors", [Pulkovo, Zelenogorsk, StarySobor]]; + Kabanino setVariable ["neighbors", [Vybor, Grishino, StarySobor]]; + Vybor setVariable ["neighbors", [Kabanino, Lopatino, Pustoshka]]; + Pustoshka setVariable ["neighbors", [Kabanino, Vybor, Myshkino]]; + }; + case 3: {//--- Large. + Chernogorsk setVariable ["neighbors", [Komarovo, Nadezhdino, Elektrozavodsk]]; + Elektrozavodsk setVariable ["neighbors", [Chernogorsk, Pusta, Kamyshovo, Staroye]]; + Kamyshovo setVariable ["neighbors", [Solnichniy, Elektrozavodsk]]; + Solnichniy setVariable ["neighbors", [Kamyshovo, Dolina, Berezino]]; + Berezino setVariable ["neighbors", [Solnichniy, Dubrovka]]; + Krasnostav setVariable ["neighbors", [Gvozdno, Dubrovka]]; + Dubrovka setVariable ["neighbors", [Gorka, Krasnostav, Berezino]]; + Gorka setVariable ["neighbors", [Dubrovka, Polana, StarySobor]]; + Polana setVariable ["neighbors", [Gorka, Dolina]]; + Dolina setVariable ["neighbors", [Polana, Solnichniy, Staroye]]; + Staroye setVariable ["neighbors", [Elektrozavodsk, Dolina, Guglovo]]; + Pusta setVariable ["neighbors", [Elektrozavodsk, Mogilevka]]; + Guglovo setVariable ["neighbors", [Staroye, StarySobor]]; + Mogilevka setVariable ["neighbors", [Pusta, Vyshnoye, Nadezhdino]]; + Vyshnoye setVariable ["neighbors", [Mogilevka, StarySobor]]; + StarySobor setVariable ["neighbors", [Mogilevka, Kabanino, Gorka, Pogorevka, Guglovo]]; + Gvozdno setVariable ["neighbors", [Grishino, Krasnostav]]; + Grishino setVariable ["neighbors", [Kabanino, Petrovka, Gvozdno]]; + Kabanino setVariable ["neighbors", [StarySobor, Grishino, Vybor]]; + Petrovka setVariable ["neighbors", [Grishino, Lopatino]]; + Lopatino setVariable ["neighbors", [Vybor, Petrovka]]; + Vybor setVariable ["neighbors", [Lopatino, Myshkino, Kabanino]]; + Pogorevka setVariable ["neighbors", [StarySobor, Zelenogorsk]]; + Myshkino setVariable ["neighbors", [Zelenogorsk, Lopatino]]; + Nadezhdino setVariable ["neighbors", [Mogilevka, Chernogorsk]]; + Zelenogorsk setVariable ["neighbors", [Pogorevka, Myshkino, Pavlovo]]; + Pavlovo setVariable ["neighbors", [Zelenogorsk, Komarovo]]; + Komarovo setVariable ["neighbors", [Pavlovo, Chernogorsk]]; + }; + case 2: {//--- Medium. + Chernogorsk setVariable ["neighbors", [Komarovo, Nadezhdino, Kozlovka, Mogilevka]]; + Mogilevka setVariable ["neighbors", [Vyshnoye, Nadezhdino]]; + Vyshnoye setVariable ["neighbors", [Mogilevka, StarySobor]]; + StarySobor setVariable ["neighbors", [Mogilevka, Kabanino, Pogorevka]]; + Grishino setVariable ["neighbors", [Kabanino]]; + Kabanino setVariable ["neighbors", [StarySobor, Grishino, Vybor]]; + Lopatino setVariable ["neighbors", [Vybor]]; + Vybor setVariable ["neighbors", [Lopatino, Pustoshka, Kabanino]]; + Myshkino setVariable ["neighbors", [Zelenogorsk, Pustoshka]]; + Nadezhdino setVariable ["neighbors", [Mogilevka, Chernogorsk]]; + Zelenogorsk setVariable ["neighbors", [Pogorevka, Myshkino, Pavlovo, Kozlovka]]; + Pavlovo setVariable ["neighbors", [Zelenogorsk, Komarovo, Kamenka]]; + Komarovo setVariable ["neighbors", [Pavlovo, Chernogorsk, Kamenka]]; + Kamenka setVariable ["neighbors", [Pavlovo, Komarovo]]; + Kozlovka setVariable ["neighbors", [Zelenogorsk, Nadezhdino, Chernogorsk]]; + Pustoshka setVariable ["neighbors", [Vybor, Myshkino]]; + Pogorevka setVariable ["neighbors", [StarySobor, Zelenogorsk]]; + }; + case 1: {//--- Small. + Berezino setVariable ["neighbors", [Khelm, Orlovets, Dubrovka]]; + Orlovets setVariable ["neighbors", [Berezino, Polana]]; + Polana setVariable ["neighbors", [Gorka, Orlovets]]; + Gorka setVariable ["neighbors", [Dubrovka, Polana]]; + Dubrovka setVariable ["neighbors", [Gorka, Krasnostav, Berezino]]; + Khelm setVariable ["neighbors", [Berezino, Krasnostav]]; + Krasnostav setVariable ["neighbors", [Olsha, Gvozdno, Dubrovka, Khelm]]; + Olsha setVariable ["neighbors", [Krasnostav]]; + Gvozdno setVariable ["neighbors", [Krasnostav]]; + }; + case 0: {//--- Extra Small. + Grishino setVariable ["neighbors", [Kabanino]]; + Kabanino setVariable ["neighbors", [Grishino, Vybor]]; + Vybor setVariable ["neighbors", [Kabanino, Lopatino, Pustoshka]]; + Pustoshka setVariable ["neighbors", [Vybor]]; + Lopatino setVariable ["neighbors", [Vybor]]; + }; + }; + }; + case "takistan": { + switch (_townMode) do { + case 4: {//--- Full. + Landay setVariable ["neighbors", [ChakChak]]; + ChakChak setVariable ["neighbors", [Landay, Sakhee, Huzrutimam]]; + Huzrutimam setVariable ["neighbors", [ChakChak, Sultansafee]]; + Sultansafee setVariable ["neighbors", [Huzrutimam, LoyManara]]; + LoyManara setVariable ["neighbors", [Sultansafee, Jaza, Chardarakht, Timurkalay]]; + Chardarakht setVariable ["neighbors", [LoyManara, HazarBagh]]; + HazarBagh setVariable ["neighbors", [Chardarakht]]; + Timurkalay setVariable ["neighbors", [LoyManara, Anar, Garmarud]]; + Garmarud setVariable ["neighbors", [Timurkalay, Garmsar, Imarat]]; + Garmsar setVariable ["neighbors", [Garmarud]]; + Imarat setVariable ["neighbors", [Garmarud, Zavarak, Bastam]]; + Zavarak setVariable ["neighbors", [Imarat, Karachinar, Ravanay]]; + Karachinar setVariable ["neighbors", [Zavarak]]; + Ravanay setVariable ["neighbors", [Zavarak]]; + Bastam setVariable ["neighbors", [Imarat, Falar, Rasman, Gospandi]]; + Rasman setVariable ["neighbors", [Shamali, Bastam]]; + Shamali setVariable ["neighbors", [Rasman, Nagara]]; + Nagara setVariable ["neighbors", [Nur, Gospandi, Shamali]]; + Nur setVariable ["neighbors", [Nagara]]; + Gospandi setVariable ["neighbors", [Nagara, Bastam, Mulladoost]]; + Mulladoost setVariable ["neighbors", [Gospandi, Khushab]]; + Khushab setVariable ["neighbors", [Mulladoost, Jilavur, Shukurkalay]]; + Shukurkalay setVariable ["neighbors", [Khushab, Jilavur, Chaman]]; + Chaman setVariable ["neighbors", [Shukurkalay]]; + Jilavur setVariable ["neighbors", [Shukurkalay, Khushab, Sakhee, FeeruzAbad]]; + Sakhee setVariable ["neighbors", [Jilavur, ChakChak, FeeruzAbad, Kakaru]]; + Kakaru setVariable ["neighbors", [Sakhee, Anar, FeeruzAbad]]; + FeeruzAbad setVariable ["neighbors", [Jilavur, Anar, Kakaru, Falar, Sakhee]]; + Anar setVariable ["neighbors", [FeeruzAbad, Kakaru, Timurkalay, Falar]]; + Falar setVariable ["neighbors", [FeeruzAbad, Anar, Bastam]]; + }; + case 3: {//--- Large. + Landay setVariable ["neighbors", [ChakChak]]; + ChakChak setVariable ["neighbors", [Landay, Sakhee, Huzrutimam]]; + Huzrutimam setVariable ["neighbors", [ChakChak, Sultansafee]]; + Sultansafee setVariable ["neighbors", [Huzrutimam, LoyManara]]; + LoyManara setVariable ["neighbors", [Sultansafee, Jaza, Chardarakht, Timurkalay]]; + Chardarakht setVariable ["neighbors", [LoyManara]]; + Timurkalay setVariable ["neighbors", [LoyManara, Anar, Garmarud]]; + Garmarud setVariable ["neighbors", [Timurkalay, Garmsar, Imarat]]; + Garmsar setVariable ["neighbors", [Garmarud]]; + Imarat setVariable ["neighbors", [Garmarud, Zavarak, Bastam]]; + Zavarak setVariable ["neighbors", [Imarat, Karachinar, Ravanay]]; + Karachinar setVariable ["neighbors", [Zavarak]]; + Ravanay setVariable ["neighbors", [Zavarak]]; + Bastam setVariable ["neighbors", [Imarat, Falar, Rasman, Gospandi]]; + Rasman setVariable ["neighbors", [Shamali, Bastam]]; + Shamali setVariable ["neighbors", [Rasman, Nagara]]; + Nagara setVariable ["neighbors", [Gospandi, Shamali]]; + Gospandi setVariable ["neighbors", [Nagara, Bastam, Mulladoost]]; + Mulladoost setVariable ["neighbors", [Gospandi, Khushab]]; + Khushab setVariable ["neighbors", [Mulladoost, Jilavur, Shukurkalay]]; + Shukurkalay setVariable ["neighbors", [Khushab, Jilavur]]; + Jilavur setVariable ["neighbors", [Shukurkalay, Khushab, Sakhee, FeeruzAbad]]; + Sakhee setVariable ["neighbors", [Jilavur, ChakChak, FeeruzAbad, Kakaru]]; + Kakaru setVariable ["neighbors", [Sakhee, Anar, FeeruzAbad]]; + FeeruzAbad setVariable ["neighbors", [Jilavur, Anar, Kakaru, Falar, Sakhee]]; + Anar setVariable ["neighbors", [FeeruzAbad, Kakaru, Timurkalay, Falar]]; + Falar setVariable ["neighbors", [FeeruzAbad, Anar, Bastam]]; + }; + case 2: {//--- Medium. + Garmarud setVariable ["neighbors", [Imarat]]; + Imarat setVariable ["neighbors", [Garmarud, Bastam]]; + Bastam setVariable ["neighbors", [Imarat, Falar, Rasman, Gospandi]]; + Rasman setVariable ["neighbors", [Shamali, Bastam]]; + Shamali setVariable ["neighbors", [Rasman, Nagara]]; + Nagara setVariable ["neighbors", [Gospandi, Shamali]]; + Gospandi setVariable ["neighbors", [Nagara, Bastam, Mulladoost]]; + Mulladoost setVariable ["neighbors", [Gospandi, Khushab]]; + Khushab setVariable ["neighbors", [Mulladoost]]; + Falar setVariable ["neighbors", [Anar, Bastam]]; + }; + case 1: {//--- Small. + Bastam setVariable ["neighbors", [Imarat, Falar, Rasman, Gospandi]]; + Rasman setVariable ["neighbors", [Shamali, Bastam]]; + Shamali setVariable ["neighbors", [Rasman, Nagara]]; + Nagara setVariable ["neighbors", [Gospandi, Shamali]]; + Nur setVariable ["neighbors", [Nagara]]; + Gospandi setVariable ["neighbors", [Nagara, Bastam, Mulladoost]]; + }; + case 0: {//--- Extra Small. + Huzrutimam setVariable ["neighbors", [LoyManara]]; + LoyManara setVariable ["neighbors", [Chardarakht, Huzrutimam]]; + Chardarakht setVariable ["neighbors", [LoyManara]]; + }; + }; + }; + case "zargabad": { + Qeslaq setVariable ["neighbors", [Shahbaz, Zargabad]]; + Shahbaz setVariable ["neighbors", [Qeslaq, Yarum]]; + Yarum setVariable ["neighbors", [Zargabad, Shahbaz]]; + Zargabad setVariable ["neighbors", [Qeslaq, Yarum, Nango, Azizajt, HazarBagh]]; + Azizajt setVariable ["neighbors", [Zargabad, Nango]]; + Nango setVariable ["neighbors", [Zargabad, Azizajt, HazarBagh]]; + HazarBagh setVariable ["neighbors", [Zargabad, Nango]]; + }; + default { + ['WFBE_TOWNCONQUESTMODE', 0, true] Call SetNamespace; + }; +}; + +objnull setVariable ["neighbors",objnull]; + diff --git a/Common/Init/Init_PublicVariables.sqf b/Common/Init/Init_PublicVariables.sqf new file mode 100644 index 0000000..535b47b --- /dev/null +++ b/Common/Init/Init_PublicVariables.sqf @@ -0,0 +1,62 @@ +Private ['_clientCommandPV','_count','_l','_serverCommandPV']; + +_l = ["RequestVehicleLock"]; +_l = _l + ["RequestChangeScore"]; +_l = _l + ["RequestCommanderVote"]; +_l = _l + ["RequestStructure"]; +_l = _l + ["RequestDefense"]; +_l = _l + ["RequestJoin"]; +_l = _l + ["RequestMHQRepair"]; +_l = _l + ["RequestSpecial"]; +_l = _l + ["RequestTeamUpdate"]; +_l = _l + ["RequestUpgrade"]; +if (paramUseWorkers) then {_l = _l + ["RequestWorker"]}; + +_serverCommandPV = _l; + +_l = ["AllCampsCaptured"]; +_l = _l + ["AwardBounty"]; +_l = _l + ["CampCaptured"]; +_l = _l + ["CanJoin"]; +_l = _l + ["ChangeScore"]; +_l = _l + ["CommanderVote"]; +_l = _l + ["DisplayICBM"]; +_l = _l + ["EndGame"]; +_l = _l + ["ISIS_AddAction"]; +_l = _l + ["LocalizeMessage"]; +_l = _l + ["Penalty"]; +_l = _l + ["PerformAction"]; +_l = _l + ["SetHQStatus"]; +_l = _l + ["SetTask"]; +_l = _l + ["SetVehicleLock"]; +_l = _l + ["TownCaptured"]; +_l = _l + ["TownCapturedPublic"]; +_l = _l + ["UAV_Reveal"]; +_l = _l + ["VoteForCommander"]; + +/* Add missions Clients PVF here */ +if (paramSecondaryMissions) then { + _l = _l + ['M_BASE_Attack']; + _l = _l + ['M_TOWN_Attack']; + _l = _l + ['M_UAV_RetrieveModule']; + /* OA/CO Specific PVF */ + if !(WF_A2_Vanilla) then { + _l = _l + ['M_PLAYERS_Attack_Air']; + }; +}; + +_clientCommandPV = _l; + +for [{_count = Count _clientCommandPV - 1},{_count >= 0},{_count = _count - 1}] do {Call Compile Format["CLTFNC%1 = Compile PreprocessFile 'Client\PVFunctions\%1.sqf'",_clientCommandPV Select _count,_count]}; +for [{_count = Count _serverCommandPV - 1},{_count >= 0},{_count = _count - 1}] do {Call Compile Format["SRVFNC%1 = Compile PreprocessFile 'Server\PVFunctions\%1.sqf'",_serverCommandPV Select _count,_count]}; + +//--- Handle the client side publicVariable. +if (local player) then { + {Format['WFBE_%1',_x] addPublicVariableEventHandler {(_this select 1) Spawn HandlePVF}} forEach _clientCommandPV; +}; +//--- Handle the server side publicVariable. +if (isServer) then { + {Format['WFBE_%1',_x] addPublicVariableEventHandler {(_this select 1) Spawn HandleSPVF}} forEach _serverCommandPV; +}; + +diag_log Format["[WFBE (INIT)][frameno:%3 | ticktime:%4] Init_PublicVariables: Public Variable Initialization (SRV: %1 CLT: %2) - [Done]",count _serverCommandPV, count _clientCommandPV,diag_frameno,diag_tickTime]; \ No newline at end of file diff --git a/Common/Init/Init_TownMode.sqf b/Common/Init/Init_TownMode.sqf new file mode 100644 index 0000000..bafc29a --- /dev/null +++ b/Common/Init/Init_TownMode.sqf @@ -0,0 +1,53 @@ +/* + Town mode initialization. + the town that have to be removed need to be stored on the desired variable over WF_Logic. If those ain't set, the full town setting will be used. + Custom templates can be added bellow. +*/ +private ['_index','_i','_paramName','_value']; +Private ['_i','_index','_paramName','_value']; + +_index = 0; +for [{_i = 0},{_i < (count (missionConfigFile/"Params"))},{_i = _i + 1}] do { + _paramName = (configName ((missionConfigFile >> "Params") select _i)); + if (_paramName == "townsAmount") exitWith {_index =_i}; +}; + +_value = if (isMultiplayer) then {paramsArray select _index} else {getNumber (missionConfigFile >> "Params" >> "townsAmount" >> "default")}; + +/* + Chernarus Template (WF_Logic init field): + this setVariable ["Towns_RemovedXSmall",["Zelenogorsk","Dolina","StarySobor","Myshkino","Chernogorsk","Dubrovka","Pogorevka","Bor","Staroye","Pulkovo","Khelm","Kamyshovo","Pavlovo","Nadezhdino","Mogilevka","Vyshnoye","Berezino","Krasnostav","Gorka","Elektrozavodsk","Msta","Komarovo","Petrovka","Shakhovka","Prigorodki","Olsha","Orlovets","Nizhnoye","Solnichniy","Tulga","Kozlovka","Polana","Kamenka","Gvozdno","NovySobor","Pusta","Guglovo"]]; + this setVariable ["Towns_RemovedSmall",["Zelenogorsk","Dolina","StarySobor","Lopatino","Myshkino","Chernogorsk","Pogorevka","Bor","Kabanino","Staroye","Pulkovo","Kamyshovo","Vybor","Pavlovo","Nadezhdino","Grishino","Mogilevka","Vyshnoye","Elektrozavodsk","Msta","Komarovo","Petrovka","Shakhovka","Prigorodki","Nizhnoye","Solnichniy","Tulga","Kozlovka","Pustoshka","Kamenka","NovySobor","Pusta","Guglovo"]]; + this setVariable ["Towns_RemovedMedium",["Dolina","Dubrovka","Bor","Staroye","Elektrozavodsk","Berezino","Krasnostav","Pulkovo","Khelm","Kamyshovo","Vyshnoye","Gorka","Msta","Petrovka","Shakhovka","Prigorodki","Olsha","Orlovets","Nizhnoye","Solnichniy","Tulga","Polana","Gvozdno","NovySobor","Pusta","Guglovo","Sosnovka"]]; + this setVariable ["Towns_RemovedLarge",["Bor","Pulkovo","Khelm","Msta","Shakhovka","Prigorodki","Olsha","Orlovets","Nizhnoye","Tulga","Kozlovka","Pustoshka","Kamenka","NovySobor","Sosnovka"]]; +*/ + +TownTemplate = []; +switch (_value) do { + case 0: {TownTemplate = WF_Logic getVariable "Towns_RemovedXSmall"}; + case 1: {TownTemplate = WF_Logic getVariable "Towns_RemovedSmall"}; + case 2: {TownTemplate = WF_Logic getVariable "Towns_RemovedMedium"}; + case 3: {TownTemplate = WF_Logic getVariable "Towns_RemovedLarge"}; + //--- case 4 = full. useless. + /* Add your templates here ! + Custom templates can be added here, just set a new variable with the towns to remove in WF_Logic and add your template name/value in the parameter class + - WF_Logic: this setVariable ["myRemovedTowns",["Chernogorsk","Pavlovo","Zelenogorsk"]]; + - parameter (Add it at the end!!!): + class townsAmount { + title = "$STR_WF_PARAMETER_TownsAmount"; + values[] = {0,1,2,3,4,5}; + texts[] = {"Extra Small","Small","Medium","Large","Full","MyOwnTemplate"}; + default = 3; + }; + - Init_TownMode.sqf (Here!): case 5: {TownTemplate = WF_Logic getVariable "myRemovedTowns"} + + As a result, Chernogorsk, Pavlovo and Zelenogorsk will be removed. + */ +}; + +if (isNil "TownTemplate") then {TownTemplate = []};//--- The field is not defined, we use the default island setting. +totalTowns = (WF_Logic getVariable "totalTowns") - (count TownTemplate); + +townModeSet = true; + +diag_log Format["[WFBE (INIT)][frameno:%1 | ticktime:%2] Init_TownMode: Towns mode initialization (world: %3) - [Done]",diag_frameno,diag_tickTime,worldName]; \ No newline at end of file diff --git a/Common/Init/Init_Towns.sqf b/Common/Init/Init_Towns.sqf new file mode 100644 index 0000000..4ee8796 --- /dev/null +++ b/Common/Init/Init_Towns.sqf @@ -0,0 +1,25 @@ +Private ["_startAt","_txt"]; + +waitUntil{townModeSet}; +_startAt = time; +waitUntil {!isNil "totalTowns" || time - _startAt > 120}; +waitUntil {(count towns == totalTowns) || time - _startAt > 120}; +if ((count towns != totalTowns) && local player) then { + _txt = Format["DEBUG: \n\n Something might be wrong with the town initialization process... \n\n This could be related to the towns amount set in WF_Logic or to the initialization itself, try to rejoin the game if the auto-fix doesn't work... \n\n Extra Info: \n count towns: %1 \n totalTowns: %2... \n\n The game will now attempt to fix itself...",count towns,totalTowns]; + _txt Call DebugHint; + + /* Attempt to fix Null over JIP */ + towns = towns - [objNull]; + if (count towns == totalTowns) then + { + townInit = true; + } + else + { + diag_log Format["[WFBE (INIT)] Init_Towns: Fail with count towns = %1, totalTowns = %2",count towns, totalTowns]; + sleep 5; + failMission "END1"; + }; +} else {townInit = true}; + +diag_log Format["[WFBE (INIT)][frameno:%1 | ticktime:%2] Init_Towns: Towns initialization - [Done]",diag_frameno,diag_tickTime]; \ No newline at end of file diff --git a/Common/Module/CIPHER/CIPHER_Init.sqf b/Common/Module/CIPHER/CIPHER_Init.sqf new file mode 100644 index 0000000..05866ba --- /dev/null +++ b/Common/Module/CIPHER/CIPHER_Init.sqf @@ -0,0 +1,91 @@ +/* + * Cipher Module + * Author: Benny. + * Description: Alphabetical functions such as sorting and string compare. + */ + + +/* Compare whether string A is greater than string B */ +CIPHER_CompareString = { + Private ["_aisgreater","_stringA","_stringB"]; + _stringA = toArray(_this select 0); + _stringB = toArray(_this select 1); + + _aisgreater = false; + + for '_i' from 0 to count(_stringA)-1 do { + if (_i > count(_stringB)-1) exitWith {_aisgreater = true}; + if ((_stringA select _i) != (_stringB select _i)) exitWith { + _aisgreater = if ((_stringA select _i) > (_stringB select _i)) then {true} else {false}; + }; + }; + + _aisgreater; +}; + +/* Swap Element A with Element B in an array. */ +CIPHER_ArraySwap = { + Private ["_array","_elea","_eleb","_posa","_posb"]; + _array = _this select 0; + _posa = _this select 1; + _posb = _this select 2; + + _elea = _array select _posa; + _eleb = _array select _posb; + + _array set [_posa, _eleb]; + _array set [_posb, _elea]; + + _array; +}; + +/* Reverse an array */ +CIPER_ArrayReverse = { + Private ["_array","_reversed","_u"]; + _array = _this; + _reversed = []; + + _u = 0; + for '_i' from count(_array)-1 step -1 to 0 do { + _reversed set [_u, _array select _i]; + _u = _u + 1; + }; + + _reversed +}; + +/* Sort an array by alphabetical order, selection sort. */ +CIPHER_SortArray = { + Private['_auxArray','_list','_min','_reverse']; + + _list = _this select 0; + _reverse = _this select 1; + _auxArray = if (count _this > 2) then {+(_this select 2)} else {[]}; + + if (count _list == 0) exitWith {[]}; + _isString = if (typeName(_list select 0) == typeName "") then {true} else {false}; + + for '_i' from 0 to (count _list)-1 do { + _min = _i; + + for '_j' from _i+1 to (count _list)-1 do { + if (_isString) then { + if !([_list select _j, _list select _min] Call CIPHER_CompareString) then {_min = _j} + } else { + if ((_list select _j) < (_list select _min)) then {_min = _j}; + }; + }; + + if (_min != _i) then { + _list = [_list, _i, _min] Call CIPHER_ArraySwap; + if (count _auxArray > 0) then {_auxArray = [_auxArray, _i, _min] Call CIPHER_ArraySwap}; + }; + }; + + if (_reverse) then { + _list = (_list) Call CIPER_ArrayReverse; + if (count _auxArray > 0) then {_auxArray = (_auxArray) Call CIPER_ArrayReverse}; + }; + + [_list, _auxArray] +}; \ No newline at end of file diff --git a/Common/Module/CIPHER/CIPHER_Sort.sqf b/Common/Module/CIPHER/CIPHER_Sort.sqf new file mode 100644 index 0000000..0ae438b --- /dev/null +++ b/Common/Module/CIPHER/CIPHER_Sort.sqf @@ -0,0 +1,63 @@ +/* Elements to sort etc ... */ + +_preformat = { + Private ["_get","_output","_units"]; + _units = _this; + _output = []; + + for '_i' from 0 to count(_units)-1 do { + _get = (_units select _i) Call GetNamespace; + if !(isNil "_get") then { + _output set [_i, _get select QUERYUNITLABEL]; + } else { + _output set [_i, (_units select _i)]; + }; + }; + + _output +}; + +_preformat_gear = { + Private ["_content","_get","_output"]; + _content = _this; + _output = []; + + for '_i' from 0 to count(_content)-1 do { + _get = (_content select _i) Call GetNamespace; + if !(isNil "_get") then { + _output set [_i, _get select QUERYGEARLABEL]; + } else { + _output set [_i, (_content select _i)]; + }; + }; + + _output +}; + +//--- Sort Factions. +{ + _content = Format["WFBE_%1%2FACTIONS",sideJoinedText,_x] Call GetNamespace; + _sorted = ([_content, false] Call CIPHER_SortArray) select 0; + [Format['WFBE_%1%2FACTIONS',sideJoinedText,_x], _sorted, true] Call SetNamespace; + + //--- While we're at it we set the default selected faction. + _content = Format["WFBE_%1%2FACTIONS",sideJoinedText,_x] Call GetNamespace; + _find = _content find (Format["WFBE_%1DEFAULTFACTION",sideJoinedText] Call GetNamespace); + if (_find != -1) then { + [Format["WFBE_%1%2CURRENTFACTIONSELECTED",sideJoinedText,_x], _find] Call SetNamespace; + }; +} forEach ["BARRACKS","LIGHT","HEAVY","AIRCRAFT","AIRPORT","DEPOT"]; + +//--- Sort Purchases (Default, name - asc). +{ + _content = Format['WFBE_%1%2UNITS',sideJoinedText,_x] Call GetNamespace; + _sorted = ([(_content) Call _preformat,false,_content] Call CIPHER_SortArray) select 1; + [Format['WFBE_%1%2UNITS',sideJoinedText,_x], _sorted, true] Call SetNamespace; +} forEach ["BARRACKS","LIGHT","HEAVY","AIRCRAFT","AIRPORT","DEPOT"]; + +//--- Sort Gear. +{ + _content = WF_Logic getVariable Format ["%1Classes",_x]; + _sorted = ([(_content) Call _preformat_gear,false,_content] Call CIPHER_SortArray) select 1; + WF_Logic setVariable [Format ["%1Classes",_x], _sorted]; +} forEach ["primary","secondary","sidearm","misc"]; \ No newline at end of file -- cgit v1.3.1