| 1 | function widget:GetInfo()
|
|---|
| 2 | return {
|
|---|
| 3 | name = "State Remover",
|
|---|
| 4 | desc = "Removes 'return fire' and 'roam' states",
|
|---|
| 5 | author = "Google Frog",
|
|---|
| 6 | date = "Oct 2, 2009",
|
|---|
| 7 | license = "GNU GPL, v2 or later",
|
|---|
| 8 | layer = 0,
|
|---|
| 9 | enabled = true -- loaded by default?
|
|---|
| 10 | }
|
|---|
| 11 | end
|
|---|
| 12 |
|
|---|
| 13 | local spGetSelectedUnits = Spring.GetSelectedUnits
|
|---|
| 14 | local spGiveOrderToUnit = Spring.GiveOrderToUnit
|
|---|
| 15 |
|
|---|
| 16 | local CMD_FIRE_STATE = CMD.FIRE_STATE
|
|---|
| 17 | local CMD_MOVE_STATE = CMD.MOVE_STATE
|
|---|
| 18 |
|
|---|
| 19 | function widget:CommandNotify(id, params, options)
|
|---|
| 20 |
|
|---|
| 21 | if id == CMD_FIRE_STATE then
|
|---|
| 22 | if params[1] == 1 then
|
|---|
| 23 | local units = spGetSelectedUnits()
|
|---|
| 24 | for _,sid in ipairs(units) do
|
|---|
| 25 | spGiveOrderToUnit(sid, CMD_FIRE_STATE, { 2 }, {})
|
|---|
| 26 | end
|
|---|
| 27 | return true
|
|---|
| 28 | end
|
|---|
| 29 | end
|
|---|
| 30 |
|
|---|
| 31 | if id == CMD_MOVE_STATE then
|
|---|
| 32 | if params[1] == 2 then
|
|---|
| 33 | local units = spGetSelectedUnits()
|
|---|
| 34 | for _,sid in ipairs(units) do
|
|---|
| 35 | spGiveOrderToUnit(sid, CMD_MOVE_STATE, { 0 }, {})
|
|---|
| 36 | end
|
|---|
| 37 | return true
|
|---|
| 38 | end
|
|---|
| 39 | end
|
|---|
| 40 |
|
|---|
| 41 | end |
|---|