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:
92
Script/DCS extensions/UnitNamesMaker.lua
Normal file
92
Script/DCS extensions/UnitNamesMaker.lua
Normal file
@@ -0,0 +1,92 @@
|
||||
DCSEx.unitNamesMaker = {}
|
||||
|
||||
do
|
||||
local function getSectionNameSuffixAir()
|
||||
return DCSEx.table.getRandom({"squadron", "wing"})
|
||||
end
|
||||
|
||||
local function getSectionNameSuffixGround()
|
||||
return DCSEx.table.getRandom({"bataillon", "brigade", "corps", "division", "regiment"})
|
||||
end
|
||||
|
||||
local function getSectionNameSuffixNaval()
|
||||
return DCSEx.table.getRandom({"fleet", "force"})
|
||||
end
|
||||
|
||||
local function getDefaultSectionName()
|
||||
return "unit "..getSectionNameSuffixGround()
|
||||
end
|
||||
|
||||
local function getNameByDesc(unitDesc)
|
||||
if not unitDesc then return getDefaultSectionName() end
|
||||
|
||||
if unitDesc.attributes["UAVs"] then
|
||||
return DCSEx.table.getRandom({"unmanned"}).." "..getSectionNameSuffixAir()
|
||||
end
|
||||
if unitDesc.attributes["Bombers"] then
|
||||
return DCSEx.table.getRandom({"bomber"}).." "..getSectionNameSuffixAir()
|
||||
end
|
||||
if unitDesc.attributes["Fighters"] or unitDesc.attributes["Interceptors"] or unitDesc.attributes["Battle airplanes"] then
|
||||
return DCSEx.table.getRandom({"fighter", "fighting"}).." "..getSectionNameSuffixAir()
|
||||
end
|
||||
if unitDesc.attributes["Planes"] then
|
||||
return DCSEx.table.getRandom({"air", "cargo", "transport"}).." "..getSectionNameSuffixAir()
|
||||
end
|
||||
|
||||
if unitDesc.attributes["Attack helicopters"] then
|
||||
return DCSEx.table.getRandom({"assault", "rotary"}).." "..getSectionNameSuffixAir()
|
||||
end
|
||||
if unitDesc.attributes["Helicopters"] then
|
||||
return DCSEx.table.getRandom({"tactical"}).." "..getSectionNameSuffixAir()
|
||||
end
|
||||
|
||||
if unitDesc.attributes["Aircraft Carriers"] then
|
||||
return DCSEx.table.getRandom({"carrier"}).." "..getSectionNameSuffixNaval()
|
||||
end
|
||||
if unitDesc.attributes["Unarmed ships"] then
|
||||
return DCSEx.table.getRandom({"cargo", "logistical"}).." "..getSectionNameSuffixNaval()
|
||||
end
|
||||
if unitDesc.attributes["Ships"] then
|
||||
return DCSEx.table.getRandom({"expeditionary", "assault"}).." "..getSectionNameSuffixNaval()
|
||||
end
|
||||
|
||||
if unitDesc.attributes["MANPADS AUX"] or unitDesc.attributes["MANPADS"] or unitDesc.attributes["Armed Air Defence"] or unitDesc.attributes["SAM elements"] or unitDesc.attributes["SAM related"] or unitDesc.attributes["SAM"] then
|
||||
return DCSEx.table.getRandom({"air defense"}).." "..getSectionNameSuffixGround()
|
||||
end
|
||||
|
||||
if unitDesc.attributes["Tanks"] or unitDesc.attributes["HeavyArmoredUnits"] or unitDesc.attributes["LightArmoredUnits"] then
|
||||
return DCSEx.table.getRandom({"armor", "heavy"}).." "..getSectionNameSuffixGround()
|
||||
end
|
||||
if unitDesc.attributes["LightArmoredUnits"] then
|
||||
return DCSEx.table.getRandom({"armored", "mechanized"}).." "..getSectionNameSuffixGround()
|
||||
end
|
||||
if unitDesc.attributes["Ground vehicles"] then
|
||||
return DCSEx.table.getRandom({"engineer","logistical","support","tactical"}).." "..getSectionNameSuffixGround()
|
||||
end
|
||||
if unitDesc.attributes["Infantry"] then
|
||||
return DCSEx.table.getRandom({"infantry"}).." "..getSectionNameSuffixGround()
|
||||
end
|
||||
|
||||
return getDefaultSectionName()
|
||||
end
|
||||
|
||||
function DCSEx.unitNamesMaker.getName(groupID, unitTypes)
|
||||
local nameNumber = tostring(groupID)
|
||||
|
||||
if (nameNumber:sub(-1) == "1") then nameNumber = nameNumber.."st"
|
||||
elseif (nameNumber:sub(-1) == "2") then nameNumber = nameNumber.."nd"
|
||||
elseif (nameNumber:sub(-1) == "3") then nameNumber = nameNumber.."rd"
|
||||
else nameNumber = nameNumber.."th"
|
||||
end
|
||||
|
||||
local nameSection = getDefaultSectionName()
|
||||
if unitTypes and #unitTypes > 0 then
|
||||
local desc = Unit.getDescByName(unitTypes[1])
|
||||
if desc then
|
||||
nameSection = getNameByDesc(desc)
|
||||
end
|
||||
end
|
||||
|
||||
return nameNumber.." "..nameSection
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user