Feature/more zones (#55)

This commit is contained in:
Spencer Shepard 2023-05-18 22:25:32 -07:00 committed by GitHub
parent e8bd6b2972
commit 16d67473b0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 83 additions and 5 deletions

View File

@ -1,5 +1,4 @@
name: CI
on:
pull_request:
types:
@ -16,6 +15,7 @@ jobs:
echo The PR was merged
deploy:
needs: [pre-build]
runs-on: ubuntu-latest # windows-latest | macos-latest
name: Deploy to updater if files changed
steps:

37
.github/workflows/pre.yml vendored Normal file
View 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')

View File

@ -1,7 +1,7 @@
# ROTOROPS VERSION
maj_version = 1
minor_version = 4
patch_version = 4
patch_version = 5
version_url = 'https://dcs-helicopters.com/app-updates/versioncheck.yaml'

View File

@ -1,5 +1,5 @@
RotorOps = {}
RotorOps.version = "1.3.4"
RotorOps.version = "1.3.5"
local debug = false
@ -106,6 +106,10 @@ local zone_defenders_flags = {
'ROPS_B_DEFENDERS',
'ROPS_C_DEFENDERS',
'ROPS_D_DEFENDERS',
'ROPS_E_DEFENDERS',
'ROPS_F_DEFENDERS',
'ROPS_G_DEFENDERS',
'ROPS_H_DEFENDERS',
}
RotorOps.farp_names = {}
@ -117,6 +121,10 @@ RotorOps.gameMsgs = {
{'ALL GROUND UNITS, PUSH TO BRAVO!', 'push_bravo.ogg'},
{'ALL GROUND UNITS, PUSH TO CHARLIE!', 'push_charlie.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 = {
{'ZONE CLEARED!', 'cleared_active.ogg'},
@ -124,6 +132,10 @@ RotorOps.gameMsgs = {
{'BRAVO CLEARED!', 'cleared_bravo.ogg'},
{'CHARLIE CLEARED!', 'cleared_charlie.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 = {
{'GROUND MISSION SUCCESS!', 'mission_success.ogg'},
@ -137,6 +149,10 @@ RotorOps.gameMsgs = {
{'TROOPS DROPPED INTO BRAVO!', 'troops_dropped_bravo.ogg'},
{'TROOPS DROPPED INTO CHARLIE!', 'troops_dropped_charlie.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 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 CHARLIE!', 'get_troops_charlie.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 DROPPED!', 'jtac_dropped.ogg'},
@ -164,6 +184,10 @@ RotorOps.gameMsgs = {
{'ENEMY PUSHING TO BRAVO!', 'enemy_pushing_bravo.ogg'},
{'ENEMY PUSHING TO CHARLIE!', 'enemy_pushing_charlie.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 = {
{'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 CHARLIE!', '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 = {
{'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 CHARLIE!', '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 = {
{'ENEMY TRANSPORT HELICOPTERS INBOUND!', 'enemy_chopper_inbound.ogg'},
@ -1227,7 +1259,7 @@ function RotorOps.assessUnitsInZone(var)
else
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
--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] = { "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] = { "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_1", "none", -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[3], 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()
local farp_name = _name .. "_FARP"
RotorOps.farp_names[#RotorOps.farp_names + 1] = farp_name

View File

@ -1103,7 +1103,7 @@ function handle:onEvent(e)
env.warning('KILL: initiator is not a unit')
return
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())
local initiator_group_name = e.initiator:getGroup():getName()