mirror of
https://github.com/akaAgar/the-universal-mission-for-dcs-world.git
synced 2025-11-25 19:31:01 +00:00
Initial commit
This commit is contained in:
70
Script/Library/Factions.lua
Normal file
70
Script/Library/Factions.lua
Normal file
@@ -0,0 +1,70 @@
|
||||
Library.factions = {}
|
||||
Library.factions.defaults = { "USA", "Russia" }
|
||||
Library.factions.tables = {}
|
||||
|
||||
--{{FACTIONS}}--
|
||||
|
||||
-- If default red faction is "Russia" and "Russia" is named "USSR" in this time period, change its name in the default
|
||||
if Library.factions.tables["USSR"] and Library.factions.defaults[coalition.side.RED] == "Russia" then
|
||||
Library.factions.defaults[coalition.side.RED] = "USSR"
|
||||
end
|
||||
|
||||
function Library.factions.getUnits(faction, unitFamilies, count, singleType)
|
||||
singleType = singleType or false
|
||||
local timePeriod = TUM.settings.getValue(TUM.settings.id.TIME_PERIOD)
|
||||
|
||||
if not unitFamilies then return nil end
|
||||
if not Library.factions.tables[faction] then return nil end
|
||||
if not Library.factions.tables[faction].units then return nil end
|
||||
if not Library.factions.tables[faction].units[timePeriod] then return nil end
|
||||
|
||||
if type(unitFamilies) == "number" then unitFamilies = { unitFamilies } end
|
||||
count = math.max(1, count or 1)
|
||||
|
||||
local validUnits = {}
|
||||
for _,f in ipairs(unitFamilies) do
|
||||
local unitList = Library.factions.tables[faction].units[timePeriod][f]
|
||||
|
||||
if unitList and #unitList > 0 then
|
||||
for __,u in ipairs(unitList) do
|
||||
if not DCSEx.table.contains(validUnits, u) then
|
||||
table.insert(validUnits, u)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
if #validUnits == 0 then return nil end
|
||||
|
||||
local selectedUnits = {}
|
||||
if singleType then
|
||||
local unitType = DCSEx.table.getRandom(validUnits)
|
||||
for _=1,count do
|
||||
table.insert(selectedUnits, unitType)
|
||||
end
|
||||
else
|
||||
for _=1,count do
|
||||
table.insert(selectedUnits, DCSEx.table.getRandom(validUnits))
|
||||
end
|
||||
end
|
||||
|
||||
return selectedUnits
|
||||
end
|
||||
|
||||
do
|
||||
-- local function mergeFactions()
|
||||
-- end
|
||||
|
||||
-- local function setDefaultUnitsIfMissing(unitTypes, defaults)
|
||||
-- if not unitTypes or #unitTypes == 0 then
|
||||
-- return defaults
|
||||
-- end
|
||||
|
||||
-- return unitTypes
|
||||
-- end
|
||||
|
||||
-- for k,_ in pairs(Library.factions) do
|
||||
|
||||
|
||||
-- if not Library.factions[k][DCSEx.enums.unitFamily.SHIP_CARGO] = { "Dry-cargo ship-1", "Dry-cargo ship-2", "ELNYA", "Ship_Tilde_Supply" },
|
||||
-- end
|
||||
end
|
||||
Reference in New Issue
Block a user