mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2025-10-29 16:58:06 +00:00
ARTY v1.0.1
Added cluster and alias assignment via marks.
This commit is contained in:
@@ -65,6 +65,7 @@
|
|||||||
-- @field #boolean ismobile If true, ARTY group can move.
|
-- @field #boolean ismobile If true, ARTY group can move.
|
||||||
-- @field #string groupname Name of the ARTY group as defined in the mission editor.
|
-- @field #string groupname Name of the ARTY group as defined in the mission editor.
|
||||||
-- @field #string alias Name of the ARTY group.
|
-- @field #string alias Name of the ARTY group.
|
||||||
|
-- @field #table clusters Table of names of clusters the group belongs to. Can be used to address all groups within the cluster simultaniously.
|
||||||
-- @field #number SpeedMax Maximum speed of ARTY group in km/h. This is determined from the DCS descriptor table.
|
-- @field #number SpeedMax Maximum speed of ARTY group in km/h. This is determined from the DCS descriptor table.
|
||||||
-- @field #number Speed Default speed in km/h the ARTY group moves at. Maximum speed possible is 80% of maximum speed the group can do.
|
-- @field #number Speed Default speed in km/h the ARTY group moves at. Maximum speed possible is 80% of maximum speed the group can do.
|
||||||
-- @field #number RearmingDistance Safe distance in meters between ARTY group and rearming group or place at which rearming is possible. Default 100 m.
|
-- @field #number RearmingDistance Safe distance in meters between ARTY group and rearming group or place at which rearming is possible. Default 100 m.
|
||||||
@@ -293,6 +294,8 @@
|
|||||||
-- * *radius* Scattering radius of the fired shots in meters. Default is 100 m.
|
-- * *radius* Scattering radius of the fired shots in meters. Default is 100 m.
|
||||||
-- * *weapon* Type of weapon to be used. Valid parameters are *cannon*, *rocket*, *missile*, *nuke*. Default is automatic selection.
|
-- * *weapon* Type of weapon to be used. Valid parameters are *cannon*, *rocket*, *missile*, *nuke*. Default is automatic selection.
|
||||||
-- * *battery* Name of the ARTY group that the target is assigned to. Note that **the name is case sensitive** and has to be given in quotation marks. Default is all ARTY groups of the right coalition.
|
-- * *battery* Name of the ARTY group that the target is assigned to. Note that **the name is case sensitive** and has to be given in quotation marks. Default is all ARTY groups of the right coalition.
|
||||||
|
-- * *alias* Alias of the ARTY group that the target is assigned to. The alias is **case sensitive** and needs to be in quotation marks.
|
||||||
|
-- * *cluster* The cluster of ARTY groups that is addessed. Clusters can be defined by the function @{#ARTY.AddToCluster}(*clusters*). Names are **case sensitive** and need to be in quotation marks.
|
||||||
-- * *key* A number to authorize the target assignment. Only specifing the correct number will trigger an engagement.
|
-- * *key* A number to authorize the target assignment. Only specifing the correct number will trigger an engagement.
|
||||||
-- * *lldms* Specify the coordinates in Lat/Long degrees, minutes and seconds format. The actual location of the marker is unimportant here. The group will engage the coordinates given in the lldms keyword.
|
-- * *lldms* Specify the coordinates in Lat/Long degrees, minutes and seconds format. The actual location of the marker is unimportant here. The group will engage the coordinates given in the lldms keyword.
|
||||||
-- Format is DD:MM:SS[N,S] DD:MM:SS[W,E]. See example below. This can be useful when coordinates in this format are obtained from elsewhere.
|
-- Format is DD:MM:SS[N,S] DD:MM:SS[W,E]. See example below. This can be useful when coordinates in this format are obtained from elsewhere.
|
||||||
@@ -305,9 +308,13 @@
|
|||||||
-- arty engage, battery "Blue MRLS 1", key 666
|
-- arty engage, battery "Blue MRLS 1", key 666
|
||||||
-- arty engage, battery "Paladin Alpha", weapon nukes, shots 1, time 20:15
|
-- arty engage, battery "Paladin Alpha", weapon nukes, shots 1, time 20:15
|
||||||
-- arty engage, lldms 41:51:00N 41:47:58E
|
-- arty engage, lldms 41:51:00N 41:47:58E
|
||||||
|
-- arty engage, alias "Bob", weapon missiles
|
||||||
|
-- arty engage, cluster "All Mortas"
|
||||||
|
-- arty engage, cluster "Northern Batteries" "Southern Batteries"
|
||||||
|
-- arty engage, cluster "Northern Batteries", cluster "Southern Batteries"
|
||||||
--
|
--
|
||||||
-- Note that the keywords and parameters are *case insensitve*. Only exception are the battery group names. These must be exactly the same as the names of the goups defined
|
-- Note that the keywords and parameters are *case insensitve*. Only exception are the battery, alias and cluster names.
|
||||||
-- in the mission editor.
|
-- These must be exactly the same as the names of the goups defined in the mission editor or the aliases and cluster names defined in the script.
|
||||||
--
|
--
|
||||||
-- ### Relocation Assignments
|
-- ### Relocation Assignments
|
||||||
--
|
--
|
||||||
@@ -318,6 +325,8 @@
|
|||||||
-- * *on road* Group will use mainly roads. Default is off, i.e. it will go in a straight line from its current position to the assigned coordinate.
|
-- * *on road* Group will use mainly roads. Default is off, i.e. it will go in a straight line from its current position to the assigned coordinate.
|
||||||
-- * *canceltarget* Group will cancel all running firing engagements and immidiately start to move. Default is that group will wait until is current assignment is over.
|
-- * *canceltarget* Group will cancel all running firing engagements and immidiately start to move. Default is that group will wait until is current assignment is over.
|
||||||
-- * *battery* Name of the ARTY group that the relocation is assigned to.
|
-- * *battery* Name of the ARTY group that the relocation is assigned to.
|
||||||
|
-- * *alias* Alias of the ARTY group that the target is assigned to. The alias is **case sensitive** and needs to be in quotation marks.
|
||||||
|
-- * *cluster* The cluster of ARTY groups that is addessed. Clusters can be defined by the function @{#ARTY.AddToCluster}(*clusters*). Names are **case sensitive** and need to be in quotation marks.
|
||||||
-- * *key* A number to authorize the target assignment. Only specifing the correct number will trigger an engagement.
|
-- * *key* A number to authorize the target assignment. Only specifing the correct number will trigger an engagement.
|
||||||
-- * *lldms* Specify the coordinates in Lat/Long degrees, minutes and seconds format. The actual location of the marker is unimportant. The group will move to the coordinates given in the lldms keyword.
|
-- * *lldms* Specify the coordinates in Lat/Long degrees, minutes and seconds format. The actual location of the marker is unimportant. The group will move to the coordinates given in the lldms keyword.
|
||||||
-- Format is DD:MM:SS[N,S] DD:MM:SS[W,E]. See example below.
|
-- Format is DD:MM:SS[N,S] DD:MM:SS[W,E]. See example below.
|
||||||
@@ -329,6 +338,10 @@
|
|||||||
-- arty move, battery "Blue Paladin"
|
-- arty move, battery "Blue Paladin"
|
||||||
-- arty move, battery "Blue MRLS", canceltarget, speed 10, on road
|
-- arty move, battery "Blue MRLS", canceltarget, speed 10, on road
|
||||||
-- arty move, lldms 41:51:00N 41:47:58E
|
-- arty move, lldms 41:51:00N 41:47:58E
|
||||||
|
-- arty move, alias "Bob", weapon missiles
|
||||||
|
-- arty move, cluster "All Howitzer"
|
||||||
|
-- arty move, cluster "Northern Batteries" "Southern Batteries"
|
||||||
|
-- arty move, cluster "Northern Batteries", cluster "Southern Batteries"
|
||||||
--
|
--
|
||||||
-- ### Requests
|
-- ### Requests
|
||||||
--
|
--
|
||||||
@@ -341,7 +354,7 @@
|
|||||||
-- For example
|
-- For example
|
||||||
-- arty request, ammo
|
-- arty request, ammo
|
||||||
-- arty request, battery "Paladin Bravo", targets
|
-- arty request, battery "Paladin Bravo", targets
|
||||||
-- arty request, battery "MRLS Charly", move
|
-- arty request, cluster "All Mortars", move
|
||||||
--
|
--
|
||||||
-- The actual location of the marker is irrelevant for these requests.
|
-- The actual location of the marker is irrelevant for these requests.
|
||||||
--
|
--
|
||||||
@@ -363,6 +376,7 @@
|
|||||||
-- optional parameter *maxdist* is the maximum distance im km the group will move. If the distance is greater no relocation is performed. Default is 50 km.
|
-- optional parameter *maxdist* is the maximum distance im km the group will move. If the distance is greater no relocation is performed. Default is 50 km.
|
||||||
-- * @{#ARTY.SetAutoRelocateAfterEngagement}(*rmax*, *rmin*) will cause the ARTY group to change its position after each firing assignment.
|
-- * @{#ARTY.SetAutoRelocateAfterEngagement}(*rmax*, *rmin*) will cause the ARTY group to change its position after each firing assignment.
|
||||||
-- Optional parameters *rmax*, *rmin* define the max/min distance for relocation of the group. Default distance is randomly between 300 and 800 m.
|
-- Optional parameters *rmax*, *rmin* define the max/min distance for relocation of the group. Default distance is randomly between 300 and 800 m.
|
||||||
|
-- * @{#ARTY.AddToCluster}(*clusters*) Can be used to add the ARTY group to one or more clusters. All groups in a cluster can be addressed simultaniously with one marker command.
|
||||||
-- * @{#ARTY.RemoveAllTargets}() removes all targets from the target queue.
|
-- * @{#ARTY.RemoveAllTargets}() removes all targets from the target queue.
|
||||||
-- * @{#ARTY.RemoveTarget}(*name*) deletes the target with *name* from the target queue.
|
-- * @{#ARTY.RemoveTarget}(*name*) deletes the target with *name* from the target queue.
|
||||||
-- * @{#ARTY.SetMaxFiringRange}(*range*) defines the maximum firing range. Targets further away than this distance are not engaged.
|
-- * @{#ARTY.SetMaxFiringRange}(*range*) defines the maximum firing range. Targets further away than this distance are not engaged.
|
||||||
@@ -458,6 +472,7 @@ ARTY={
|
|||||||
DisplayName=nil,
|
DisplayName=nil,
|
||||||
groupname=nil,
|
groupname=nil,
|
||||||
alias=nil,
|
alias=nil,
|
||||||
|
clusters={},
|
||||||
ismobile=true,
|
ismobile=true,
|
||||||
IniGroupStrength=0,
|
IniGroupStrength=0,
|
||||||
IsArtillery=nil,
|
IsArtillery=nil,
|
||||||
@@ -571,7 +586,7 @@ ARTY.id="ARTY | "
|
|||||||
|
|
||||||
--- Arty script version.
|
--- Arty script version.
|
||||||
-- @field #string version
|
-- @field #string version
|
||||||
ARTY.version="1.0.0"
|
ARTY.version="1.0.1"
|
||||||
|
|
||||||
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
@@ -605,7 +620,7 @@ ARTY.version="1.0.0"
|
|||||||
--- Creates a new ARTY object.
|
--- Creates a new ARTY object.
|
||||||
-- @param #ARTY self
|
-- @param #ARTY self
|
||||||
-- @param Wrapper.Group#GROUP group The GROUP object for which artillery tasks should be assigned.
|
-- @param Wrapper.Group#GROUP group The GROUP object for which artillery tasks should be assigned.
|
||||||
-- @param alias (Optional) Alias name the group will be calling itself when sending messages.
|
-- @param alias (Optional) Alias name the group will be calling itself when sending messages. Default is the group name.
|
||||||
-- @return #ARTY ARTY object or nil if group does not exist or is not a ground or naval group.
|
-- @return #ARTY ARTY object or nil if group does not exist or is not a ground or naval group.
|
||||||
function ARTY:New(group, alias)
|
function ARTY:New(group, alias)
|
||||||
BASE:F2(group)
|
BASE:F2(group)
|
||||||
@@ -1136,6 +1151,38 @@ function ARTY:AssignMoveCoord(coord, time, speed, onroad, cancel, name, unique)
|
|||||||
return _name
|
return _name
|
||||||
end
|
end
|
||||||
|
|
||||||
|
--- Set alias, i.e. the name the group will use when sending messages.
|
||||||
|
-- @param #ARTY self
|
||||||
|
-- @param #string alias The alias for the group.
|
||||||
|
function ARTY:SetAlias(alias)
|
||||||
|
self:F({alias=alias})
|
||||||
|
self.alias=tostring(alias)
|
||||||
|
end
|
||||||
|
|
||||||
|
--- Add ARTY group to one or more clusters. Enables addressing all ARTY groups within a cluster simultaniously via marker assignments.
|
||||||
|
-- @param #ARTY self
|
||||||
|
-- @param #table clusters Table of cluster names the group should belong to.
|
||||||
|
function ARTY:AddToCluster(clusters)
|
||||||
|
self:F({clusters=clusters})
|
||||||
|
|
||||||
|
-- Convert input to table.
|
||||||
|
local names
|
||||||
|
if type(clusters)=="table" then
|
||||||
|
names=clusters
|
||||||
|
elseif type(clusters)=="string" then
|
||||||
|
names={clusters}
|
||||||
|
else
|
||||||
|
-- error message
|
||||||
|
self:E(ARTY.id.."ERROR: Input parameter must be a string or a table in ARTY:AddToCluster()!")
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Add names to cluster array.
|
||||||
|
for _,cluster in pairs(names) do
|
||||||
|
table.insert(self.clusters, cluster)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
--- Set minimum firing range. Targets closer than this distance are not engaged.
|
--- Set minimum firing range. Targets closer than this distance are not engaged.
|
||||||
-- @param #ARTY self
|
-- @param #ARTY self
|
||||||
-- @param #number range Min range in kilometers. Default is 0.1 km.
|
-- @param #number range Min range in kilometers. Default is 0.1 km.
|
||||||
@@ -1529,6 +1576,10 @@ function ARTY:onafterStart(Controllable, From, Event, To)
|
|||||||
text=text..string.format("Marker assignments = %s\n", tostring(self.markallow))
|
text=text..string.format("Marker assignments = %s\n", tostring(self.markallow))
|
||||||
text=text..string.format("Marker auth. key = %s\n", tostring(self.markkey))
|
text=text..string.format("Marker auth. key = %s\n", tostring(self.markkey))
|
||||||
text=text..string.format("Marker readonly = %s\n", tostring(self.markreadonly))
|
text=text..string.format("Marker readonly = %s\n", tostring(self.markreadonly))
|
||||||
|
text=text..string.format("Clusters:\n")
|
||||||
|
for _,cluster in pairs(self.clusters) do
|
||||||
|
text=text..string.format("- %s\n", tostring(cluster))
|
||||||
|
end
|
||||||
text=text..string.format("******************************************************\n")
|
text=text..string.format("******************************************************\n")
|
||||||
text=text..string.format("Targets:\n")
|
text=text..string.format("Targets:\n")
|
||||||
for _, target in pairs(self.targets) do
|
for _, target in pairs(self.targets) do
|
||||||
@@ -1810,10 +1861,10 @@ function ARTY:onEvent(Event)
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- Set battery and coalition.
|
-- Set battery and coalition.
|
||||||
local batteryname=self.groupname
|
--local batteryname=self.groupname
|
||||||
local batterycoalition=self.Controllable:GetCoalition()
|
--local batterycoalition=self.Controllable:GetCoalition()
|
||||||
|
|
||||||
self:T2(string.format("Event captured = %s", tostring(batteryname)))
|
self:T2(string.format("Event captured = %s", tostring(self.groupname)))
|
||||||
self:T2(string.format("Event id = %s", tostring(Event.id)))
|
self:T2(string.format("Event id = %s", tostring(Event.id)))
|
||||||
self:T2(string.format("Event time = %s", tostring(Event.time)))
|
self:T2(string.format("Event time = %s", tostring(Event.time)))
|
||||||
self:T2(string.format("Event idx = %s", tostring(Event.idx)))
|
self:T2(string.format("Event idx = %s", tostring(Event.idx)))
|
||||||
@@ -1822,20 +1873,20 @@ function ARTY:onEvent(Event)
|
|||||||
self:T2(string.format("Event text = %s", tostring(Event.text)))
|
self:T2(string.format("Event text = %s", tostring(Event.text)))
|
||||||
if Event.initiator~=nil then
|
if Event.initiator~=nil then
|
||||||
local _unitname=Event.initiator:getName()
|
local _unitname=Event.initiator:getName()
|
||||||
self:T(string.format("Event ini unit name = %s", tostring(_unitname)))
|
self:T2(string.format("Event ini unit name = %s", tostring(_unitname)))
|
||||||
end
|
end
|
||||||
|
|
||||||
if Event.id==world.event.S_EVENT_MARK_ADDED then
|
if Event.id==world.event.S_EVENT_MARK_ADDED then
|
||||||
self:E({event="S_EVENT_MARK_ADDED", battery=batteryname, vec3=Event.pos})
|
self:T2({event="S_EVENT_MARK_ADDED", battery=self.groupname, vec3=Event.pos})
|
||||||
|
|
||||||
elseif Event.id==world.event.S_EVENT_MARK_CHANGE then
|
elseif Event.id==world.event.S_EVENT_MARK_CHANGE then
|
||||||
self:E({event="S_EVENT_MARK_CHANGE", battery=batteryname, vec3=Event.pos})
|
self:T({event="S_EVENT_MARK_CHANGE", battery=self.groupname, vec3=Event.pos})
|
||||||
|
|
||||||
-- Handle event.
|
-- Handle event.
|
||||||
self:_OnEventMarkChange(Event)
|
self:_OnEventMarkChange(Event)
|
||||||
|
|
||||||
elseif Event.id==world.event.S_EVENT_MARK_REMOVED then
|
elseif Event.id==world.event.S_EVENT_MARK_REMOVED then
|
||||||
self:E({event="S_EVENT_MARK_REMOVED", battery=batteryname, vec3=Event.pos})
|
self:T2({event="S_EVENT_MARK_REMOVED", battery=self.groupname, vec3=Event.pos})
|
||||||
|
|
||||||
-- Hande event.
|
-- Hande event.
|
||||||
self:_OnEventMarkRemove(Event)
|
self:_OnEventMarkRemove(Event)
|
||||||
@@ -1938,16 +1989,38 @@ function ARTY:_OnEventMarkChange(Event)
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Check if job is assigned to this ARTY group. Default is for all ARTY groups.
|
-- Check if job is assigned to this ARTY group. Default is for all ARTY groups.
|
||||||
local _assigned=true
|
local _assigned=false
|
||||||
if #_assign.battery>0 then
|
|
||||||
_assigned=false
|
-- If any array is filled something has been assigned.
|
||||||
|
if #_assign.battery>0 or #_assign.aliases>0 or #_assign.cluster>0 then
|
||||||
|
|
||||||
|
-- Loop over batteries.
|
||||||
for _,bat in pairs(_assign.battery) do
|
for _,bat in pairs(_assign.battery) do
|
||||||
self:T3(ARTY.id..string.format("Compare battery names %s=%s ==> %s",batteryname, bat, tostring(batteryname==bat)))
|
if self.groupname==bat then
|
||||||
if batteryname==bat then
|
|
||||||
_assigned=true
|
_assigned=true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- Loop over aliases.
|
||||||
|
for _,alias in pairs(_assign.aliases) do
|
||||||
|
if self.alias==alias then
|
||||||
|
_assigned=true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Loop over clusters.
|
||||||
|
for _,bat in pairs(_assign.cluster) do
|
||||||
|
for _,cluster in pairs(self.clusters) do
|
||||||
|
if cluster==bat then
|
||||||
|
_assigned=true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
else
|
||||||
|
-- No one explicitly assigned ==> we assume to be assigned.
|
||||||
|
_assigned=true
|
||||||
end
|
end
|
||||||
|
|
||||||
-- We were not addressed.
|
-- We were not addressed.
|
||||||
@@ -1995,6 +2068,7 @@ function ARTY:_OnEventMarkChange(Event)
|
|||||||
self:Winchester()
|
self:Winchester()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
-- Cancels Done ==> End of story!
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -2027,7 +2101,7 @@ function ARTY:_OnEventMarkChange(Event)
|
|||||||
-- Create a new name. This determins the string we search when deleting a move!
|
-- Create a new name. This determins the string we search when deleting a move!
|
||||||
local _name=self:_MarkMoveName(_id)
|
local _name=self:_MarkMoveName(_id)
|
||||||
|
|
||||||
local text=string.format("%s, received new relocation assignment.", batteryname)
|
local text=string.format("%s, received new relocation assignment.", self.alias)
|
||||||
text=text..string.format("\nCoordinates %s",_coord:ToStringLLDMS())
|
text=text..string.format("\nCoordinates %s",_coord:ToStringLLDMS())
|
||||||
MESSAGE:New(text, 10):ToCoalitionIf(batterycoalition, self.report or self.Debug)
|
MESSAGE:New(text, 10):ToCoalitionIf(batterycoalition, self.report or self.Debug)
|
||||||
|
|
||||||
@@ -2046,7 +2120,7 @@ function ARTY:_OnEventMarkChange(Event)
|
|||||||
local _randomcoord=_coord:GetRandomCoordinateInRadius(100)
|
local _randomcoord=_coord:GetRandomCoordinateInRadius(100)
|
||||||
_randomcoord:MarkToCoalition(_markertext, batterycoalition, self.markreadonly or _assign.readonly)
|
_randomcoord:MarkToCoalition(_markertext, batterycoalition, self.markreadonly or _assign.readonly)
|
||||||
else
|
else
|
||||||
local text=string.format("%s, relocation not possible.", batteryname)
|
local text=string.format("%s, relocation not possible.", self.alias)
|
||||||
MESSAGE:New(text, 10):ToCoalitionIf(batterycoalition, self.report or self.Debug)
|
MESSAGE:New(text, 10):ToCoalitionIf(batterycoalition, self.report or self.Debug)
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -2055,7 +2129,7 @@ function ARTY:_OnEventMarkChange(Event)
|
|||||||
-- Create a new name.
|
-- Create a new name.
|
||||||
local _name=self:_MarkTargetName(_id)
|
local _name=self:_MarkTargetName(_id)
|
||||||
|
|
||||||
local text=string.format("%s, received new target assignment.", batteryname)
|
local text=string.format("%s, received new target assignment.", self.alias)
|
||||||
text=text..string.format("\nCoordinates %s",_coord:ToStringLLDMS())
|
text=text..string.format("\nCoordinates %s",_coord:ToStringLLDMS())
|
||||||
if _assign.time then
|
if _assign.time then
|
||||||
text=text..string.format("\nTime %s",_assign.time)
|
text=text..string.format("\nTime %s",_assign.time)
|
||||||
@@ -3374,11 +3448,11 @@ function ARTY:_MarkerKeyAuthentification(text)
|
|||||||
-- Send message
|
-- Send message
|
||||||
local text=""
|
local text=""
|
||||||
if mykey==nil then
|
if mykey==nil then
|
||||||
text=string.format("%s, authorization required but did not receive a key!", batteryname)
|
text=string.format("%s, authorization required but did not receive a key!", self.alias)
|
||||||
elseif _validkey==false then
|
elseif _validkey==false then
|
||||||
text=string.format("%s, authorization required but did receive an incorrect key (key=%s)!", batteryname, tostring(mykey))
|
text=string.format("%s, authorization required but did receive an incorrect key (key=%s)!", self.alias, tostring(mykey))
|
||||||
elseif _validkey==true then
|
elseif _validkey==true then
|
||||||
text=string.format("%s, authentification successful!", batteryname)
|
text=string.format("%s, authentification successful!", self.alias)
|
||||||
end
|
end
|
||||||
MESSAGE:New(text, 10):ToCoalitionIf(batterycoalition, self.report or self.Debug)
|
MESSAGE:New(text, 10):ToCoalitionIf(batterycoalition, self.report or self.Debug)
|
||||||
end
|
end
|
||||||
@@ -3396,6 +3470,8 @@ function ARTY:_Markertext(text)
|
|||||||
-- Assignment parameters.
|
-- Assignment parameters.
|
||||||
local assignment={}
|
local assignment={}
|
||||||
assignment.battery={}
|
assignment.battery={}
|
||||||
|
assignment.aliases={}
|
||||||
|
assignment.cluster={}
|
||||||
assignment.move=false
|
assignment.move=false
|
||||||
assignment.engage=false
|
assignment.engage=false
|
||||||
assignment.request=false
|
assignment.request=false
|
||||||
@@ -3443,6 +3519,24 @@ function ARTY:_Markertext(text)
|
|||||||
table.insert(assignment.battery, v[i])
|
table.insert(assignment.battery, v[i])
|
||||||
self:T2(ARTY.id..string.format("Key Battery=%s.", v[i]))
|
self:T2(ARTY.id..string.format("Key Battery=%s.", v[i]))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
elseif key:lower():find("alias") then
|
||||||
|
|
||||||
|
local v=self:_split(keyphrase, '"')
|
||||||
|
|
||||||
|
for i=2,#v,2 do
|
||||||
|
table.insert(assignment.aliases, v[i])
|
||||||
|
self:T2(ARTY.id..string.format("Key Aliases=%s.", v[i]))
|
||||||
|
end
|
||||||
|
|
||||||
|
elseif key:lower():find("cluster") then
|
||||||
|
|
||||||
|
local v=self:_split(keyphrase, '"')
|
||||||
|
|
||||||
|
for i=2,#v,2 do
|
||||||
|
table.insert(assignment.cluster, v[i])
|
||||||
|
self:T2(ARTY.id..string.format("Key Cluster=%s.", v[i]))
|
||||||
|
end
|
||||||
|
|
||||||
elseif (assignment.engage or assignment.move) and key:lower():find("time") then
|
elseif (assignment.engage or assignment.move) and key:lower():find("time") then
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user