diff --git a/Moose Development/Moose/Functional/Designate.lua b/Moose Development/Moose/Functional/Designate.lua index ead75b167..d6a6be101 100644 --- a/Moose Development/Moose/Functional/Designate.lua +++ b/Moose Development/Moose/Functional/Designate.lua @@ -912,8 +912,8 @@ do -- DESIGNATE for DesignateIndex, Designating in pairs( self.Designating ) do local DetectedItem = DetectedItems[DesignateIndex] if DetectedItem then - local Report = self.Detection:DetectedItemReportSummary( DetectedItem, AttackGroup ):Text( ", " ) - DetectedReport:Add( string.rep( "-", 140 ) ) + local Report = self.Detection:DetectedItemReportSummary( DetectedItem, AttackGroup, nil, true ):Text( ", " ) + DetectedReport:Add( string.rep( "-", 40 ) ) DetectedReport:Add( " - " .. Report ) if string.find( Designating, "L" ) then DetectedReport:Add( " - " .. "Lasing Targets" ) @@ -1193,8 +1193,8 @@ do -- DESIGNATE local MarkingCount = 0 local MarkedTypes = {} - local ReportTypes = REPORT:New() - local ReportLaserCodes = REPORT:New() + --local ReportTypes = REPORT:New() + --local ReportLaserCodes = REPORT:New() TargetSetUnit:Flush( self ) @@ -1244,8 +1244,8 @@ do -- DESIGNATE if not Recce then self:F( "Lasing..." ) - self.RecceSet:Flush( self) - + --self.RecceSet:Flush( self) + for RecceGroupID, RecceGroup in pairs( self.RecceSet:GetSet() ) do for UnitID, UnitData in pairs( RecceGroup:GetUnits() or {} ) do @@ -1283,13 +1283,13 @@ do -- DESIGNATE -- OK. We have assigned for the Recce a TargetUnit. We can exit the function. MarkingCount = MarkingCount + 1 local TargetUnitType = TargetUnit:GetTypeName() - --RecceUnit:MessageToSetGroup( "Marking " .. TargetUnit:GetTypeName() .. " with laser " .. RecceUnit:GetSpot().LaserCode .. " for " .. Duration .. "s.", - -- 5, self.AttackSet, DesignateName ) + RecceUnit:MessageToSetGroup( "Marking " .. TargetUnit:GetTypeName() .. " with laser " .. RecceUnit:GetSpot().LaserCode .. " for " .. Duration .. "s.", + 10, self.AttackSet, DesignateName ) if not MarkedTypes[TargetUnitType] then MarkedTypes[TargetUnitType] = true - ReportTypes:Add(TargetUnitType) + --ReportTypes:Add(TargetUnitType) end - ReportLaserCodes:Add(RecceUnit.LaserCode) + --ReportLaserCodes:Add(RecceUnit.LaserCode) return end else @@ -1304,16 +1304,16 @@ do -- DESIGNATE if Recce then Recce:LaseOff() - Recce:MessageToSetGroup( "Target " .. TargetUnit:GetTypeName() "out of LOS. Cancelling lase!", 5, self.AttackSet, self.DesignateName ) + Recce:MessageToSetGroup( "Target " .. TargetUnit:GetTypeName() "out of LOS. Cancelling lase!", 10, self.AttackSet, self.DesignateName ) end else --MarkingCount = MarkingCount + 1 local TargetUnitType = TargetUnit:GetTypeName() if not MarkedTypes[TargetUnitType] then MarkedTypes[TargetUnitType] = true - ReportTypes:Add(TargetUnitType) + --ReportTypes:Add(TargetUnitType) end - ReportLaserCodes:Add(RecceUnit.LaserCode) + --ReportLaserCodes:Add(RecceUnit.LaserCode) end end end @@ -1323,19 +1323,19 @@ do -- DESIGNATE local TargetUnitType = TargetUnit:GetTypeName() if not MarkedTypes[TargetUnitType] then MarkedTypes[TargetUnitType] = true - ReportTypes:Add(TargetUnitType) + --ReportTypes:Add(TargetUnitType) end - ReportLaserCodes:Add(Recce.LaserCode) - --Recce:MessageToSetGroup( self.DesignateName .. ": Marking " .. TargetUnit:GetTypeName() .. " with laser " .. Recce.LaserCode .. ".", 5, self.AttackSet ) + --ReportLaserCodes:Add(Recce.LaserCode) + Recce:MessageToSetGroup( self.DesignateName .. ": Marking " .. TargetUnit:GetTypeName() .. " with laser " .. Recce.LaserCode .. ".", 10, self.AttackSet ) end end end end ) - local MarkedTypesText = ReportTypes:Text(', ') - local MarkedLaserCodesText = ReportLaserCodes:Text(', ') - self.CC:GetPositionable():MessageToSetGroup( "Marking " .. MarkingCount .. " x " .. MarkedTypesText .. ", code " .. MarkedLaserCodesText .. ".", 5, self.AttackSet, self.DesignateName ) + --local MarkedTypesText = ReportTypes:Text(', ') + --local MarkedLaserCodesText = ReportLaserCodes:Text(', ') + --self.CC:GetPositionable():MessageToSetGroup( "Marking " .. MarkingCount .. " x " .. MarkedTypesText .. ", code " .. MarkedLaserCodesText .. ".", 5, self.AttackSet, self.DesignateName ) self:__Lasing( -self.LaseDuration, Index, Duration, LaserCodeRequested ) diff --git a/Moose Development/Moose/Functional/Detection.lua b/Moose Development/Moose/Functional/Detection.lua index 04f8e237c..d48937517 100644 --- a/Moose Development/Moose/Functional/Detection.lua +++ b/Moose Development/Moose/Functional/Detection.lua @@ -2152,8 +2152,9 @@ do -- DETECTION_UNITS -- @param #DETECTION_BASE.DetectedItem DetectedItem The DetectedItem. -- @param Wrapper.Group#GROUP AttackGroup The group to generate the report for. -- @param Core.Settings#SETTINGS Settings Message formatting settings to use. + -- @param #boolean ForceA2GCoordinate Set creation of A2G coordinate -- @return Core.Report#REPORT The report of the detection items. - function DETECTION_UNITS:DetectedItemReportSummary( DetectedItem, AttackGroup, Settings ) + function DETECTION_UNITS:DetectedItemReportSummary( DetectedItem, AttackGroup, Settings, ForceA2GCoordinate ) self:F( { DetectedItem = DetectedItem } ) local DetectedItemID = self:GetDetectedItemID( DetectedItem ) @@ -2188,7 +2189,11 @@ do -- DETECTION_UNITS -- TODO: solve Index reference local DetectedItemCoordinate = self:GetDetectedItemCoordinate( DetectedItem ) local DetectedItemCoordText = DetectedItemCoordinate:ToString( AttackGroup, Settings ) - + + if ForceA2GCoordinate then + DetectedItemCoordText = DetectedItemCoordinate:ToStringA2G(AttackGroup,Settings) + end + local ThreatLevelA2G = self:GetDetectedItemThreatLevel( DetectedItem ) local Report = REPORT:New() diff --git a/Moose Development/Moose/Functional/Range.lua b/Moose Development/Moose/Functional/Range.lua index a1b19dca4..898e4c137 100644 --- a/Moose Development/Moose/Functional/Range.lua +++ b/Moose Development/Moose/Functional/Range.lua @@ -2083,6 +2083,7 @@ function RANGE:OnEventShot( EventData ) self:_DisplayMessageToGroup( _unit, _message, nil, false ) if self.rangecontrol then + -- weapon impacted too far from the nearest target! No Score! self.rangecontrol:NewTransmission( RANGE.Sound.RCWeaponImpactedTooFar.filename, RANGE.Sound.RCWeaponImpactedTooFar.duration, self.soundpath, nil, nil, _message, self.subduration ) end @@ -2171,6 +2172,7 @@ function RANGE:onafterEnterRange( From, Event, To, player ) local RF = UTILS.Split( string.format( "%.3f", self.rangecontrolfreq ), "." ) -- Radio message that player entered the range + -- You entered the bombing range. For hit assessment, contact the range controller. self.instructor:NewTransmission( RANGE.Sound.IREnterRange.filename, RANGE.Sound.IREnterRange.duration, self.soundpath ) self.instructor:Number2Transmission( RF[1] ) if tonumber( RF[2] ) > 0 then @@ -2191,6 +2193,7 @@ end function RANGE:onafterExitRange( From, Event, To, player ) if self.instructor then + -- You left the bombing range zone. Have a nice day! self.instructor:NewTransmission( RANGE.Sound.IRExitRange.filename, RANGE.Sound.IRExitRange.duration, self.soundpath ) end @@ -3124,6 +3127,7 @@ function RANGE:_CheckInZone( _unitName ) self:_DisplayMessageToGroup( _unit, _msg, nil, true ) if self.rangecontrol then + -- You left the strafing zone too quickly! No score! self.rangecontrol:NewTransmission( RANGE.Sound.RCLeftStrafePitTooQuickly.filename, RANGE.Sound.RCLeftStrafePitTooQuickly.duration, self.soundpath ) end diff --git a/Moose Development/Moose/Utilities/Utils.lua b/Moose Development/Moose/Utilities/Utils.lua index 85b6e0d6f..a3519be48 100644 --- a/Moose Development/Moose/Utilities/Utils.lua +++ b/Moose Development/Moose/Utilities/Utils.lua @@ -2306,7 +2306,7 @@ end -- @param #string Filename The name of the file. -- @param #boolean Spawn If set to false, do not re-spawn the groups loaded in location and reduce to size. -- @return Core.Set#SET_GROUP Set of GROUP objects. --- Returns nil when file cannot be read. Returns a table of data entries if Spawn is false: `{ groupname=groupname, size=size, coordinate=coordinate }` +-- Returns nil when file cannot be read. Returns a table of data entries if Spawn is false: `{ groupname=groupname, size=size, coordinate=coordinate, template=template }` function UTILS.LoadSetOfGroups(Path,Filename,Spawn) local spawn = true if Spawn == false then spawn = false end @@ -2329,10 +2329,10 @@ function UTILS.LoadSetOfGroups(Path,Filename,Spawn) local posz = tonumber(dataset[6]) local coordinate = COORDINATE:NewFromVec3({x=posx, y=posy, z=posz}) local group=nil - local data = { groupname=groupname, size=size, coordinate=coordinate } + local data = { groupname=groupname, size=size, coordinate=coordinate, template=template } table.insert(datatable,data) if spawn then - local group = SPAWN:New(groupname) + local group = SPAWN:New(template) :InitDelayOff() :OnSpawnGroup( function(spwndgrp)