mirror of
https://github.com/spencershepard/RotorOps.git
synced 2025-11-10 15:45:30 +00:00
Feature/more zones (#55)
This commit is contained in:
parent
e8bd6b2972
commit
16d67473b0
2
.github/workflows/main.yml
vendored
2
.github/workflows/main.yml
vendored
@ -1,5 +1,4 @@
|
|||||||
name: CI
|
name: CI
|
||||||
|
|
||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request:
|
||||||
types:
|
types:
|
||||||
@ -16,6 +15,7 @@ jobs:
|
|||||||
echo The PR was merged
|
echo The PR was merged
|
||||||
|
|
||||||
deploy:
|
deploy:
|
||||||
|
needs: [pre-build]
|
||||||
runs-on: ubuntu-latest # windows-latest | macos-latest
|
runs-on: ubuntu-latest # windows-latest | macos-latest
|
||||||
name: Deploy to updater if files changed
|
name: Deploy to updater if files changed
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
37
.github/workflows/pre.yml
vendored
Normal file
37
.github/workflows/pre.yml
vendored
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
name: pre-build
|
||||||
|
on: [push, pull_request]
|
||||||
|
jobs:
|
||||||
|
lua-linter:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
- name: luacheck-linter
|
||||||
|
id: luacheck-linter
|
||||||
|
uses: lunarmodules/luacheck@v1
|
||||||
|
continue-on-error: true
|
||||||
|
with:
|
||||||
|
args: . --no-global --no-unused --no-redefined --no-unused-args --no-max-line-length --ignore 611 612 613 614; echo "lua-lint-result=$?" >> $GITHUB_OUTPUT
|
||||||
|
- name: Check lua errors
|
||||||
|
run: |
|
||||||
|
echo "luacheck exit code was ${{ steps.luacheck-linter.outputs.lua-lint-result }}"
|
||||||
|
if [ ${{ steps.luacheck-linter.outputs.lua-lint-result }} -eq 1 ]; then echo "Luacheck found warnings but no errors. Allowed to continue."; exit 0; fi; exit 1
|
||||||
|
py-linter:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
python-version: [ "3.10" ]
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- name: Set up Python ${{ matrix.python-version }}
|
||||||
|
uses: actions/setup-python@v3
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python-version }}
|
||||||
|
- name: Install dependencies
|
||||||
|
run: |
|
||||||
|
python -m pip install --upgrade pip
|
||||||
|
pip install -r Generator/requirements.txt
|
||||||
|
pip install pylint
|
||||||
|
- name: Analysing the code with pylint
|
||||||
|
run: |
|
||||||
|
pylint --disable=R,C $(git ls-files '*.py')
|
||||||
@ -1,7 +1,7 @@
|
|||||||
# ROTOROPS VERSION
|
# ROTOROPS VERSION
|
||||||
maj_version = 1
|
maj_version = 1
|
||||||
minor_version = 4
|
minor_version = 4
|
||||||
patch_version = 4
|
patch_version = 5
|
||||||
|
|
||||||
version_url = 'https://dcs-helicopters.com/app-updates/versioncheck.yaml'
|
version_url = 'https://dcs-helicopters.com/app-updates/versioncheck.yaml'
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
RotorOps = {}
|
RotorOps = {}
|
||||||
RotorOps.version = "1.3.4"
|
RotorOps.version = "1.3.5"
|
||||||
local debug = false
|
local debug = false
|
||||||
|
|
||||||
|
|
||||||
@ -106,6 +106,10 @@ local zone_defenders_flags = {
|
|||||||
'ROPS_B_DEFENDERS',
|
'ROPS_B_DEFENDERS',
|
||||||
'ROPS_C_DEFENDERS',
|
'ROPS_C_DEFENDERS',
|
||||||
'ROPS_D_DEFENDERS',
|
'ROPS_D_DEFENDERS',
|
||||||
|
'ROPS_E_DEFENDERS',
|
||||||
|
'ROPS_F_DEFENDERS',
|
||||||
|
'ROPS_G_DEFENDERS',
|
||||||
|
'ROPS_H_DEFENDERS',
|
||||||
}
|
}
|
||||||
RotorOps.farp_names = {}
|
RotorOps.farp_names = {}
|
||||||
|
|
||||||
@ -117,6 +121,10 @@ RotorOps.gameMsgs = {
|
|||||||
{'ALL GROUND UNITS, PUSH TO BRAVO!', 'push_bravo.ogg'},
|
{'ALL GROUND UNITS, PUSH TO BRAVO!', 'push_bravo.ogg'},
|
||||||
{'ALL GROUND UNITS, PUSH TO CHARLIE!', 'push_charlie.ogg'},
|
{'ALL GROUND UNITS, PUSH TO CHARLIE!', 'push_charlie.ogg'},
|
||||||
{'ALL GROUND UNITS, PUSH TO DELTA!', 'push_delta.ogg'},
|
{'ALL GROUND UNITS, PUSH TO DELTA!', 'push_delta.ogg'},
|
||||||
|
{'ALL GROUND UNITS, PUSH TO ECHO!', 'push_next_zone.ogg'},
|
||||||
|
{'ALL GROUND UNITS, PUSH TO FOXTROT!', 'push_next_zone.ogg'},
|
||||||
|
{'ALL GROUND UNITS, PUSH TO GOLF!', 'push_next_zone.ogg'},
|
||||||
|
{'ALL GROUND UNITS, PUSH TO HOTEL!', 'push_next_zone.ogg'},
|
||||||
},
|
},
|
||||||
cleared = {
|
cleared = {
|
||||||
{'ZONE CLEARED!', 'cleared_active.ogg'},
|
{'ZONE CLEARED!', 'cleared_active.ogg'},
|
||||||
@ -124,6 +132,10 @@ RotorOps.gameMsgs = {
|
|||||||
{'BRAVO CLEARED!', 'cleared_bravo.ogg'},
|
{'BRAVO CLEARED!', 'cleared_bravo.ogg'},
|
||||||
{'CHARLIE CLEARED!', 'cleared_charlie.ogg'},
|
{'CHARLIE CLEARED!', 'cleared_charlie.ogg'},
|
||||||
{'DELTA CLEARED!', 'cleared_delta.ogg'},
|
{'DELTA CLEARED!', 'cleared_delta.ogg'},
|
||||||
|
{'ECHO CLEARED!', 'cleared_active.ogg'},
|
||||||
|
{'FOXTROT CLEARED!', 'cleared_active.ogg'},
|
||||||
|
{'GOLF CLEARED!', 'cleared_active.ogg'},
|
||||||
|
{'HOTEL CLEARED!', 'cleared_active.ogg'},
|
||||||
},
|
},
|
||||||
success = {
|
success = {
|
||||||
{'GROUND MISSION SUCCESS!', 'mission_success.ogg'},
|
{'GROUND MISSION SUCCESS!', 'mission_success.ogg'},
|
||||||
@ -137,6 +149,10 @@ RotorOps.gameMsgs = {
|
|||||||
{'TROOPS DROPPED INTO BRAVO!', 'troops_dropped_bravo.ogg'},
|
{'TROOPS DROPPED INTO BRAVO!', 'troops_dropped_bravo.ogg'},
|
||||||
{'TROOPS DROPPED INTO CHARLIE!', 'troops_dropped_charlie.ogg'},
|
{'TROOPS DROPPED INTO CHARLIE!', 'troops_dropped_charlie.ogg'},
|
||||||
{'TROOPS DROPPED INTO DELTA!', 'troops_dropped_delta.ogg'},
|
{'TROOPS DROPPED INTO DELTA!', 'troops_dropped_delta.ogg'},
|
||||||
|
{'TROOPS DROPPED INTO ECHO!', 'troops_dropped_active.ogg'},
|
||||||
|
{'TROOPS DROPPED INTO FOXTROT!', 'troops_dropped_active.ogg'},
|
||||||
|
{'TROOPS DROPPED INTO GOLF!', 'troops_dropped_active.ogg'},
|
||||||
|
{'TROOPS DROPPED INTO HOTEL!', 'troops_dropped_active.ogg'},
|
||||||
},
|
},
|
||||||
get_troops_to_zone = {
|
get_troops_to_zone = {
|
||||||
{'GET OUR TROOPS TO THE NEXT ZONE!', 'get_troops_next_zone.ogg'},
|
{'GET OUR TROOPS TO THE NEXT ZONE!', 'get_troops_next_zone.ogg'},
|
||||||
@ -144,6 +160,10 @@ RotorOps.gameMsgs = {
|
|||||||
{'GET OUR TROOPS TO BRAVO!', 'get_troops_bravo.ogg'},
|
{'GET OUR TROOPS TO BRAVO!', 'get_troops_bravo.ogg'},
|
||||||
{'GET OUR TROOPS TO CHARLIE!', 'get_troops_charlie.ogg'},
|
{'GET OUR TROOPS TO CHARLIE!', 'get_troops_charlie.ogg'},
|
||||||
{'GET OUR TROOPS TO DELTA!', 'get_troops_delta.ogg'},
|
{'GET OUR TROOPS TO DELTA!', 'get_troops_delta.ogg'},
|
||||||
|
{'GET OUR TROOPS TO ECHO!', 'get_troops_next_zone.ogg'},
|
||||||
|
{'GET OUR TROOPS TO FOXTROT!', 'get_troops_next_zone.ogg'},
|
||||||
|
{'GET OUR TROOPS TO GOLF!', 'get_troops_next_zone.ogg'},
|
||||||
|
{'GET OUR TROOPS TO HOTEL!', 'get_troops_next_zone.ogg'},
|
||||||
},
|
},
|
||||||
jtac = {
|
jtac = {
|
||||||
{'JTAC DROPPED!', 'jtac_dropped.ogg'},
|
{'JTAC DROPPED!', 'jtac_dropped.ogg'},
|
||||||
@ -164,6 +184,10 @@ RotorOps.gameMsgs = {
|
|||||||
{'ENEMY PUSHING TO BRAVO!', 'enemy_pushing_bravo.ogg'},
|
{'ENEMY PUSHING TO BRAVO!', 'enemy_pushing_bravo.ogg'},
|
||||||
{'ENEMY PUSHING TO CHARLIE!', 'enemy_pushing_charlie.ogg'},
|
{'ENEMY PUSHING TO CHARLIE!', 'enemy_pushing_charlie.ogg'},
|
||||||
{'ENEMY PUSHING TO DELTA!', 'enemy_pushing_delta.ogg'},
|
{'ENEMY PUSHING TO DELTA!', 'enemy_pushing_delta.ogg'},
|
||||||
|
{'ENEMY PUSHING TO ECHO!', 'enemy_pushing_zone.ogg'},
|
||||||
|
{'ENEMY PUSHING TO FOXTROT!', 'enemy_pushing_zone.ogg'},
|
||||||
|
{'ENEMY PUSHING TO GOLF!', 'enemy_pushing_zone.ogg'},
|
||||||
|
{'ENEMY PUSHING TO HOTEL!', 'enemy_pushing_zone.ogg'},
|
||||||
},
|
},
|
||||||
start_defense = {
|
start_defense = {
|
||||||
{'SUPPORT THE WAR ON THE GROUND! PUSH BACK AGAINST THE ENEMY!', 'push_back.ogg'},
|
{'SUPPORT THE WAR ON THE GROUND! PUSH BACK AGAINST THE ENEMY!', 'push_back.ogg'},
|
||||||
@ -183,6 +207,10 @@ RotorOps.gameMsgs = {
|
|||||||
{'ENEMY TOOK BRAVO!', 'enemy_destroying_us.ogg'},
|
{'ENEMY TOOK BRAVO!', 'enemy_destroying_us.ogg'},
|
||||||
{'ENEMY TOOK CHARLIE!', 'enemy_destroying_us.ogg'},
|
{'ENEMY TOOK CHARLIE!', 'enemy_destroying_us.ogg'},
|
||||||
{'ENEMY TOOK DELTA!', 'enemy_destroying_us.ogg'},
|
{'ENEMY TOOK DELTA!', 'enemy_destroying_us.ogg'},
|
||||||
|
{'ENEMY TOOK ECHO!', 'enemy_destroying_us.ogg'},
|
||||||
|
{'ENEMY TOOK FOXTROT!', 'enemy_destroying_us.ogg'},
|
||||||
|
{'ENEMY TOOK GOLF!', 'enemy_destroying_us.ogg'},
|
||||||
|
{'ENEMY TOOK HOTEL!', 'enemy_destroying_us.ogg'},
|
||||||
},
|
},
|
||||||
attack_helos = {
|
attack_helos = {
|
||||||
{'ENEMY ATTACK HELICOPTERS INBOUND!', 'enemy_attack_choppers.ogg'},
|
{'ENEMY ATTACK HELICOPTERS INBOUND!', 'enemy_attack_choppers.ogg'},
|
||||||
@ -210,6 +238,10 @@ RotorOps.gameMsgs = {
|
|||||||
{'NEW FARP AT BRAVO!', 'forward_base_established.ogg'},
|
{'NEW FARP AT BRAVO!', 'forward_base_established.ogg'},
|
||||||
{'NEW FARP AT CHARLIE!', 'forward_base_established.ogg'},
|
{'NEW FARP AT CHARLIE!', 'forward_base_established.ogg'},
|
||||||
{'NEW FARP AT DELTA!', 'forward_base_established.ogg'},
|
{'NEW FARP AT DELTA!', 'forward_base_established.ogg'},
|
||||||
|
{'NEW FARP AT ECHO!', 'forward_base_established.ogg'},
|
||||||
|
{'NEW FARP AT FOXTROT!', 'forward_base_established.ogg'},
|
||||||
|
{'NEW FARP AT GOLF!', 'forward_base_established.ogg'},
|
||||||
|
{'NEW FARP AT HOTEL!', 'forward_base_established.ogg'},
|
||||||
},
|
},
|
||||||
transp_helos_toff = {
|
transp_helos_toff = {
|
||||||
{'ENEMY TRANSPORT HELICOPTERS INBOUND!', 'enemy_chopper_inbound.ogg'},
|
{'ENEMY TRANSPORT HELICOPTERS INBOUND!', 'enemy_chopper_inbound.ogg'},
|
||||||
@ -1227,7 +1259,7 @@ function RotorOps.assessUnitsInZone(var)
|
|||||||
|
|
||||||
else
|
else
|
||||||
trigger.action.setUserFlag(defenders_status_flag, defenders_remaining_percent) --set the zones flag to indicate the status of remaining defenders
|
trigger.action.setUserFlag(defenders_status_flag, defenders_remaining_percent) --set the zones flag to indicate the status of remaining defenders
|
||||||
trigger.action.setUserFlag(zone_defenders_flags[RotorOps.active_zone_index], defenders_remaining_percent)
|
trigger.action.setUserFlag(zone_defenders_flags[RotorOps.active_zone_index], defenders_remaining_percent)
|
||||||
end
|
end
|
||||||
|
|
||||||
--are all zones clear?
|
--are all zones clear?
|
||||||
@ -1579,6 +1611,10 @@ function RotorOps.setupCTLD()
|
|||||||
ctld.pickupZones[#ctld.pickupZones + 1] = { "BRAVO_FARP", RotorOps.pickup_zone_smoke, -1, "no", 0 }
|
ctld.pickupZones[#ctld.pickupZones + 1] = { "BRAVO_FARP", RotorOps.pickup_zone_smoke, -1, "no", 0 }
|
||||||
ctld.pickupZones[#ctld.pickupZones + 1] = { "CHARLIE_FARP", RotorOps.pickup_zone_smoke, -1, "no", 0 }
|
ctld.pickupZones[#ctld.pickupZones + 1] = { "CHARLIE_FARP", RotorOps.pickup_zone_smoke, -1, "no", 0 }
|
||||||
ctld.pickupZones[#ctld.pickupZones + 1] = { "DELTA_FARP", RotorOps.pickup_zone_smoke, -1, "no", 0 }
|
ctld.pickupZones[#ctld.pickupZones + 1] = { "DELTA_FARP", RotorOps.pickup_zone_smoke, -1, "no", 0 }
|
||||||
|
ctld.pickupZones[#ctld.pickupZones + 1] = { "ECHO_FARP", RotorOps.pickup_zone_smoke, -1, "no", 0 }
|
||||||
|
ctld.pickupZones[#ctld.pickupZones + 1] = { "FOXTROT_FARP", RotorOps.pickup_zone_smoke, -1, "no", 0 }
|
||||||
|
ctld.pickupZones[#ctld.pickupZones + 1] = { "GOLF_FARP", RotorOps.pickup_zone_smoke, -1, "no", 0 }
|
||||||
|
ctld.pickupZones[#ctld.pickupZones + 1] = { "HOTEL_FARP", RotorOps.pickup_zone_smoke, -1, "no", 0 }
|
||||||
ctld.pickupZones[#ctld.pickupZones + 1] = { "HELO_CARRIER", "none", -1, "yes", 0 }
|
ctld.pickupZones[#ctld.pickupZones + 1] = { "HELO_CARRIER", "none", -1, "yes", 0 }
|
||||||
ctld.pickupZones[#ctld.pickupZones + 1] = { "HELO_CARRIER_1", "none", -1, "yes", 0 }
|
ctld.pickupZones[#ctld.pickupZones + 1] = { "HELO_CARRIER_1", "none", -1, "yes", 0 }
|
||||||
ctld.pickupZones[#ctld.pickupZones + 1] = { "troops1", RotorOps.pickup_zone_smoke, -1, "yes", 0 }
|
ctld.pickupZones[#ctld.pickupZones + 1] = { "troops1", RotorOps.pickup_zone_smoke, -1, "yes", 0 }
|
||||||
@ -1617,6 +1653,11 @@ function RotorOps.addZone(_name, _zone_defenders_flag)
|
|||||||
trigger.action.setUserFlag(zone_defenders_flags[2], 101)
|
trigger.action.setUserFlag(zone_defenders_flags[2], 101)
|
||||||
trigger.action.setUserFlag(zone_defenders_flags[3], 101)
|
trigger.action.setUserFlag(zone_defenders_flags[3], 101)
|
||||||
trigger.action.setUserFlag(zone_defenders_flags[4], 101)
|
trigger.action.setUserFlag(zone_defenders_flags[4], 101)
|
||||||
|
trigger.action.setUserFlag(zone_defenders_flags[5], 101)
|
||||||
|
trigger.action.setUserFlag(zone_defenders_flags[6], 101)
|
||||||
|
trigger.action.setUserFlag(zone_defenders_flags[7], 101)
|
||||||
|
trigger.action.setUserFlag(zone_defenders_flags[8], 101)
|
||||||
|
|
||||||
RotorOps.drawZones()
|
RotorOps.drawZones()
|
||||||
local farp_name = _name .. "_FARP"
|
local farp_name = _name .. "_FARP"
|
||||||
RotorOps.farp_names[#RotorOps.farp_names + 1] = farp_name
|
RotorOps.farp_names[#RotorOps.farp_names + 1] = farp_name
|
||||||
|
|||||||
@ -1103,7 +1103,7 @@ function handle:onEvent(e)
|
|||||||
env.warning('KILL: initiator is not a unit')
|
env.warning('KILL: initiator is not a unit')
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
if e.initiator:getCoalition() ~= e.target:getCoalition() then
|
if e.initiator:getCoalition() and e.initiator:getCoalition() ~= e.target:getCoalition() then
|
||||||
debugMsg('KILL: initiator groupname: ' .. e.initiator:getGroup():getName())
|
debugMsg('KILL: initiator groupname: ' .. e.initiator:getGroup():getName())
|
||||||
|
|
||||||
local initiator_group_name = e.initiator:getGroup():getName()
|
local initiator_group_name = e.initiator:getGroup():getName()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user