mirror of
https://gitlab.cs.fau.de/ik15ydit/latexandmore.git
synced 2024-11-22 11:49:32 +01:00
added alt override
cleaned up code
This commit is contained in:
parent
8fe2eb0dc6
commit
e383773ad3
@ -2,190 +2,63 @@
|
|||||||
local ref_low
|
local ref_low
|
||||||
--medium (construction)
|
--medium (construction)
|
||||||
local ref_medium
|
local ref_medium
|
||||||
local trigger = true
|
|
||||||
|
--header
|
||||||
function widget:GetInfo()
|
function widget:GetInfo()
|
||||||
return {
|
return {
|
||||||
name = "Selection Priority",
|
name = "Selection Priority",
|
||||||
desc = "Sorts Units by Priority (atackunit>builder/commander>buildings)",
|
desc = "Sorts Units by Priority (atackunit>builder/commander>buildings)",
|
||||||
author = "Sheppy",
|
author = "Sheppy",
|
||||||
date = "2015",
|
date = "2015",
|
||||||
license = "PD", -- should be compatible with Spring
|
license = "GPL",
|
||||||
layer = 0,
|
layer = 0,
|
||||||
enabled = true
|
enabled = true
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
function widget:CommandNotify(cmdID, cmdParams, cmdOptions)
|
function widget:CommandNotify(cmdID, cmdParams, cmdOptions)
|
||||||
if trigger then
|
|
||||||
ref_medium = {
|
|
||||||
--arm
|
|
||||||
"armcom",
|
|
||||||
"armaca",
|
|
||||||
"armca",
|
|
||||||
"armacv",
|
|
||||||
"armcv",
|
|
||||||
"armack",
|
|
||||||
"armck",
|
|
||||||
"armcs",
|
|
||||||
"armacs",
|
|
||||||
"armacsub",
|
|
||||||
"armch",
|
|
||||||
"corch",
|
|
||||||
--core
|
|
||||||
"coracs",
|
|
||||||
"corcom",
|
|
||||||
"coraca",
|
|
||||||
"coracv",
|
|
||||||
"corack",
|
|
||||||
"corca",
|
|
||||||
"corck",
|
|
||||||
"corcv",
|
|
||||||
"corcs",
|
|
||||||
"coracsub"
|
|
||||||
}
|
|
||||||
ref_low = {
|
|
||||||
--arm
|
|
||||||
"armaap",
|
|
||||||
"armalab",
|
|
||||||
"armap",
|
|
||||||
"armadvsol",
|
|
||||||
"armavp",
|
|
||||||
"armarad",
|
|
||||||
"armalab",
|
|
||||||
"armbrtha",
|
|
||||||
"armckfus",
|
|
||||||
"armclaw",
|
|
||||||
"armestor",
|
|
||||||
"armfmkr",
|
|
||||||
"armfus",
|
|
||||||
"armlab",
|
|
||||||
"armjam",
|
|
||||||
"armmakr",
|
|
||||||
"armmex",
|
|
||||||
"armmoho",
|
|
||||||
"armnanotc",
|
|
||||||
"armrad",
|
|
||||||
"armsolar",
|
|
||||||
"armtide",
|
|
||||||
"armvp",
|
|
||||||
"armwin",
|
|
||||||
"aafus",
|
|
||||||
"amgeo",
|
|
||||||
"armuwfus",
|
|
||||||
"armeyes",
|
|
||||||
"armason",
|
|
||||||
"armasy",
|
|
||||||
"armch",
|
|
||||||
"armhp",
|
|
||||||
"armmmkr",
|
|
||||||
"armsy",
|
|
||||||
"armgeo",
|
|
||||||
"armuwadves",
|
|
||||||
"armshltx",
|
|
||||||
"armuwmex",
|
|
||||||
"armuwmme",
|
|
||||||
"armuwmmm",
|
|
||||||
"cmgeo",
|
|
||||||
"asubpen",
|
|
||||||
--core
|
|
||||||
"coraap",
|
|
||||||
"coralab",
|
|
||||||
"corap",
|
|
||||||
"coradvsol",
|
|
||||||
"coravp",
|
|
||||||
"corarad",
|
|
||||||
"coralab",
|
|
||||||
"corbrtha",
|
|
||||||
"corckfus",
|
|
||||||
"corclaw",
|
|
||||||
"corestor",
|
|
||||||
"corfmkr",
|
|
||||||
"corfus",
|
|
||||||
"corlab",
|
|
||||||
"corjam",
|
|
||||||
"cormakr",
|
|
||||||
"cormex",
|
|
||||||
"cormoho",
|
|
||||||
"cornanotc",
|
|
||||||
"corrad",
|
|
||||||
"corsolar",
|
|
||||||
"cortide",
|
|
||||||
"corvp",
|
|
||||||
"corwin",
|
|
||||||
"aafus",
|
|
||||||
"amgeo",
|
|
||||||
"coruwfus",
|
|
||||||
"coreyes",
|
|
||||||
"corason",
|
|
||||||
"corasy",
|
|
||||||
"corch",
|
|
||||||
"corhp",
|
|
||||||
"cormmkr",
|
|
||||||
"corsy",
|
|
||||||
"corgeo",
|
|
||||||
"coruwadves",
|
|
||||||
"corshltx",
|
|
||||||
"coruwmex",
|
|
||||||
"coruwmme",
|
|
||||||
"coruwmmm",
|
|
||||||
"cmgeo",
|
|
||||||
"asubpen",
|
|
||||||
"armhp",
|
|
||||||
"armllt",
|
|
||||||
"armhlt",
|
|
||||||
"armjamt",
|
|
||||||
"corhp",
|
|
||||||
"corllt",
|
|
||||||
"corhlt",
|
|
||||||
"corjamt"
|
|
||||||
}
|
|
||||||
Spring.Echo("Done.")
|
|
||||||
trigger = false
|
|
||||||
end
|
|
||||||
local selected = Spring.GetSelectedUnits()
|
local selected = Spring.GetSelectedUnits()
|
||||||
local low = {}
|
local low = {}
|
||||||
local medium = {}
|
local medium = {}
|
||||||
local high = {}
|
local high = {}
|
||||||
local deselect = 0
|
local deselect = 0
|
||||||
--if teamID ~= Spring.GetMyTeamID() then return end
|
local a = Spring.GetModKeyState() --alt ctrl ? shift , discard all but alt
|
||||||
|
--do nothing if CTRL is pressed
|
||||||
|
Spring.Echo(Spring.GetModKeyState())
|
||||||
|
if a then return end
|
||||||
|
--iterate Selection
|
||||||
for i=1,200 do
|
for i=1,200 do
|
||||||
if selected[i] == nil then break end
|
if selected[i] == nil then break end
|
||||||
--get name to match
|
--get name to match
|
||||||
defID = UnitDefs[Spring.GetUnitDefID(selected[i])].name
|
defID = UnitDefs[Spring.GetUnitDefID(selected[i])].name
|
||||||
--Spring.Echo(selected[i])
|
|
||||||
--Check what we got in out selection
|
--Check what we got in out selection
|
||||||
if inTable(ref_low,defID) then
|
if inTable(ref_low,defID) then
|
||||||
table.insert(low,selected[i])
|
table.insert(low,selected[i])
|
||||||
--Spring.Echo("reflow")
|
|
||||||
elseif inTable(ref_medium,defID) then
|
elseif inTable(ref_medium,defID) then
|
||||||
--Spring.Echo("refmed")
|
|
||||||
table.insert(medium,selected[i])
|
table.insert(medium,selected[i])
|
||||||
if deselect == 0 then deselect = 1 end
|
if deselect == 0 then deselect = 1 end
|
||||||
else
|
else
|
||||||
--Spring.Echo("refhigh")
|
|
||||||
table.insert(high,selected[i])
|
table.insert(high,selected[i])
|
||||||
if deselect < 2 then deselect = 2 end
|
if deselect < 2 then deselect = 2 end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
--debug()
|
--discard selections
|
||||||
--discard selections
|
|
||||||
if deselect == 1 then
|
if deselect == 1 then
|
||||||
Spring.SelectUnitArray(medium,false)
|
Spring.SelectUnitArray(medium,false)
|
||||||
Spring.SelectUnitArray(high,true)
|
Spring.SelectUnitArray(high,true)
|
||||||
elseif deselect == 2 then
|
elseif deselect == 2 then
|
||||||
Spring.SelectUnitArray(high,false)
|
Spring.SelectUnitArray(high,false)
|
||||||
end
|
end
|
||||||
--Spring.Echo("Dis was: " .. deselect)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function inTable(tbl,item)
|
function inTable(tbl,item)
|
||||||
for key, value in pairs(tbl) do
|
for key, value in pairs(tbl) do
|
||||||
--Spring.Echo(key .. "val: " .. value)
|
|
||||||
if value == item then return true end
|
if value == item then return true end
|
||||||
end
|
end
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
--for debugging purpose only
|
||||||
function debug()
|
function debug()
|
||||||
for key, value in pairs(medium) do
|
for key, value in pairs(medium) do
|
||||||
Spring.Echo("val_med: " .. value)
|
Spring.Echo("val_med: " .. value)
|
||||||
@ -198,3 +71,129 @@ function debug()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
--loading unit-names to match against
|
||||||
|
function widget:Initialize()
|
||||||
|
ref_medium = {
|
||||||
|
--arm
|
||||||
|
"armcom",
|
||||||
|
"armaca",
|
||||||
|
"armca",
|
||||||
|
"armacv",
|
||||||
|
"armcv",
|
||||||
|
"armack",
|
||||||
|
"armck",
|
||||||
|
"armcs",
|
||||||
|
"armacs",
|
||||||
|
"armacsub",
|
||||||
|
"armch",
|
||||||
|
"corch",
|
||||||
|
--core
|
||||||
|
"coracs",
|
||||||
|
"corcom",
|
||||||
|
"coraca",
|
||||||
|
"coracv",
|
||||||
|
"corack",
|
||||||
|
"corca",
|
||||||
|
"corck",
|
||||||
|
"corcv",
|
||||||
|
"corcs",
|
||||||
|
"coracsub"
|
||||||
|
}
|
||||||
|
ref_low = {
|
||||||
|
--arm
|
||||||
|
"armaap",
|
||||||
|
"armalab",
|
||||||
|
"armap",
|
||||||
|
"armadvsol",
|
||||||
|
"armavp",
|
||||||
|
"armarad",
|
||||||
|
"armalab",
|
||||||
|
"armbrtha",
|
||||||
|
"armckfus",
|
||||||
|
"armclaw",
|
||||||
|
"armestor",
|
||||||
|
"armfmkr",
|
||||||
|
"armfus",
|
||||||
|
"armlab",
|
||||||
|
"armjam",
|
||||||
|
"armmakr",
|
||||||
|
"armmex",
|
||||||
|
"armmoho",
|
||||||
|
"armnanotc",
|
||||||
|
"armrad",
|
||||||
|
"armsolar",
|
||||||
|
"armtide",
|
||||||
|
"armvp",
|
||||||
|
"armwin",
|
||||||
|
"aafus",
|
||||||
|
"amgeo",
|
||||||
|
"armuwfus",
|
||||||
|
"armeyes",
|
||||||
|
"armason",
|
||||||
|
"armasy",
|
||||||
|
"armch",
|
||||||
|
"armhp",
|
||||||
|
"armmmkr",
|
||||||
|
"armsy",
|
||||||
|
"armgeo",
|
||||||
|
"armuwadves",
|
||||||
|
"armshltx",
|
||||||
|
"armuwmex",
|
||||||
|
"armuwmme",
|
||||||
|
"armuwmmm",
|
||||||
|
"cmgeo",
|
||||||
|
"asubpen",
|
||||||
|
--core
|
||||||
|
"coraap",
|
||||||
|
"coralab",
|
||||||
|
"corap",
|
||||||
|
"coradvsol",
|
||||||
|
"coravp",
|
||||||
|
"corarad",
|
||||||
|
"coralab",
|
||||||
|
"corbrtha",
|
||||||
|
"corckfus",
|
||||||
|
"corclaw",
|
||||||
|
"corestor",
|
||||||
|
"corfmkr",
|
||||||
|
"corfus",
|
||||||
|
"corlab",
|
||||||
|
"corjam",
|
||||||
|
"cormakr",
|
||||||
|
"cormex",
|
||||||
|
"cormoho",
|
||||||
|
"cornanotc",
|
||||||
|
"corrad",
|
||||||
|
"corsolar",
|
||||||
|
"cortide",
|
||||||
|
"corvp",
|
||||||
|
"corwin",
|
||||||
|
"aafus",
|
||||||
|
"amgeo",
|
||||||
|
"coruwfus",
|
||||||
|
"coreyes",
|
||||||
|
"corason",
|
||||||
|
"corasy",
|
||||||
|
"corch",
|
||||||
|
"corhp",
|
||||||
|
"cormmkr",
|
||||||
|
"corsy",
|
||||||
|
"corgeo",
|
||||||
|
"coruwadves",
|
||||||
|
"corshltx",
|
||||||
|
"coruwmex",
|
||||||
|
"coruwmme",
|
||||||
|
"coruwmmm",
|
||||||
|
"cmgeo",
|
||||||
|
"asubpen",
|
||||||
|
"armhp",
|
||||||
|
"armllt",
|
||||||
|
"armhlt",
|
||||||
|
"armjamt",
|
||||||
|
"corhp",
|
||||||
|
"corllt",
|
||||||
|
"corhlt",
|
||||||
|
"corjamt"
|
||||||
|
}
|
||||||
|
Spring.Echo("Namelist init done.")
|
||||||
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user