Merge branch 'master' into develop

This commit is contained in:
Frank 2024-06-18 09:21:12 +02:00
commit d83cabbab6
3 changed files with 54 additions and 24 deletions

View File

@ -1147,10 +1147,13 @@ end
-- @param #string GroupName Group name. -- @param #string GroupName Group name.
-- @return #table Group template table. -- @return #table Group template table.
function DATABASE:GetGroupTemplate( GroupName ) function DATABASE:GetGroupTemplate( GroupName )
local GroupTemplate = self.Templates.Groups[GroupName].Template local GroupTemplate=nil
GroupTemplate.SpawnCoalitionID = self.Templates.Groups[GroupName].CoalitionID if self.Templates.Groups[GroupName] then
GroupTemplate.SpawnCategoryID = self.Templates.Groups[GroupName].CategoryID GroupTemplate = self.Templates.Groups[GroupName].Template
GroupTemplate.SpawnCountryID = self.Templates.Groups[GroupName].CountryID GroupTemplate.SpawnCoalitionID = self.Templates.Groups[GroupName].CoalitionID
GroupTemplate.SpawnCategoryID = self.Templates.Groups[GroupName].CategoryID
GroupTemplate.SpawnCountryID = self.Templates.Groups[GroupName].CountryID
end
return GroupTemplate return GroupTemplate
end end

View File

@ -14366,32 +14366,55 @@ function AIRBOSS:_GetOnboardNumbers( group, playeronly )
-- Debug text. -- Debug text.
local text = string.format( "Onboard numbers of group %s:", groupname ) local text = string.format( "Onboard numbers of group %s:", groupname )
-- Units of template group. local template=group:GetTemplate()
local units = group:GetTemplate().units
-- Get numbers.
local numbers = {} local numbers = {}
for _, unit in pairs( units ) do if template then
-- Onboard number and unit name. -- Units of template group.
local n = tostring( unit.onboard_num ) local units = template.units
local name = unit.name
local skill = unit.skill or "Unknown"
-- Debug text. -- Get numbers.
text = text .. string.format( "\n- unit %s: onboard #=%s skill=%s", name, n, tostring( skill ) ) for _, unit in pairs( units ) do
if playeronly and skill == "Client" or skill == "Player" then -- Onboard number and unit name.
-- There can be only one player in the group, so we skip everything else. local n = tostring( unit.onboard_num )
return n local name = unit.name
local skill = unit.skill or "Unknown"
-- Debug text.
text = text .. string.format( "\n- unit %s: onboard #=%s skill=%s", name, n, tostring( skill ) )
if playeronly and skill == "Client" or skill == "Player" then
-- There can be only one player in the group, so we skip everything else.
return n
end
-- Table entry.
numbers[name] = n
end end
-- Table entry. -- Debug info.
numbers[name] = n self:T2( self.lid .. text )
end
-- Debug info. else
self:T2( self.lid .. text )
if playeronly then
return 101
else
local units=group:GetUnits()
for i,_unit in pairs(units) do
local name=_unit:GetName()
numbers[name]=100+i
end
end
end
return numbers return numbers
end end

View File

@ -1778,10 +1778,14 @@ end
--- Returns the group template from the global _DATABASE object (an instance of @{Core.Database#DATABASE}). --- Returns the group template from the global _DATABASE object (an instance of @{Core.Database#DATABASE}).
-- @param #GROUP self -- @param #GROUP self
-- @return #table -- @return #table Template table.
function GROUP:GetTemplate() function GROUP:GetTemplate()
local GroupName = self:GetName() local GroupName = self:GetName()
return UTILS.DeepCopy( _DATABASE:GetGroupTemplate( GroupName ) ) local template=_DATABASE:GetGroupTemplate( GroupName )
if template then
return UTILS.DeepCopy( template )
end
return nil
end end
--- Returns the group template route.points[] (the waypoints) from the global _DATABASE object (an instance of @{Core.Database#DATABASE}). --- Returns the group template route.points[] (the waypoints) from the global _DATABASE object (an instance of @{Core.Database#DATABASE}).