Defend Luzon 2028
Moderator: MOD_Command
Defend Luzon 2028
Hi all,
I’d like to share a new Command Modern Operations scenario I’ve been working on: Defend Luzon. Set in 2028 and inspired by a STAFFEX Wargame scenario designed by Todd B and Johan S at Flight Club International (it was mentioned here), this scenario explores a hypothetical clash between the People’s Liberation Army (RED) and a U.S.-Philippines coalition (BLUE) over control of the Luzon Strait.
One of the key features of this scenario is the ability for players to select and deploy their own forces during the setup phase. Instead of starting with a pre-defined order of battle, you’ll have a budget-constrained pool of units to choose from, allowing you to strategically position your assets around Luzon and its surrounding waters.
Another focus of this scenario is the introduction of non-kinetic effects, which add a new layer of COAs to your strategy. You’ll have access to actions like cyber warfare, electromagnetic attacks, intelligence operations, etc, which you can use to counter RED’s offensive or reinforce your own defenses. These capabilities are divided into automatic effects, which respond to enemy actions passively, and manual ones, where timing and placement are critical.
Please note that this is a beta release, so things are still a work in progress. Any feedback, especially on balance, AI behavior, or bugs, would be incredibly helpful to refine the scenario. If you encounter any issues or have suggestions for improvement, feel free to share them here.
Cheers,
Steam scenario
---v012---
Added Complexity selector
Added Budget Base Level selector
Added filters on Land/Sea Deployment
Various Tweaks and Fixes on RED AI
Fixed Amphibious actions on RED
Complexity affects limits and Capabilities prices
Added Romeo to DDG
Fixed Ilolio AB location
---v.011---
Updated to DB510. Still a version with 509 for those on Build 1527
Added new effect: SIGINT Ground Stations
Replaced MML by NASAMs.
Tweaks in Unit Cost for THAAD and Patriot
New Scoring system
AI: Fix handled detection of torpedos
More BLUE info on Enemy Non-Kinetic Effects
New Attrition system
Various fixes on RED AI
Budget increased dynamically on RED missions
Increase RED strategic strikes
Fixes on Scenario Ends
--v.010--
+Added: Titles in Unit setup linked to DB page (only for B1544+)
+Added: Another TopoMap layer to the Land Deploy section
+Added: Air Attrition for Blue Scoring
+Fix: RED Cyber endless loop if not appropiate targets
+Fix: RED Contact sub AI
+Tweak: nil comprobation for different date functions
I’d like to share a new Command Modern Operations scenario I’ve been working on: Defend Luzon. Set in 2028 and inspired by a STAFFEX Wargame scenario designed by Todd B and Johan S at Flight Club International (it was mentioned here), this scenario explores a hypothetical clash between the People’s Liberation Army (RED) and a U.S.-Philippines coalition (BLUE) over control of the Luzon Strait.
One of the key features of this scenario is the ability for players to select and deploy their own forces during the setup phase. Instead of starting with a pre-defined order of battle, you’ll have a budget-constrained pool of units to choose from, allowing you to strategically position your assets around Luzon and its surrounding waters.
Another focus of this scenario is the introduction of non-kinetic effects, which add a new layer of COAs to your strategy. You’ll have access to actions like cyber warfare, electromagnetic attacks, intelligence operations, etc, which you can use to counter RED’s offensive or reinforce your own defenses. These capabilities are divided into automatic effects, which respond to enemy actions passively, and manual ones, where timing and placement are critical.
Please note that this is a beta release, so things are still a work in progress. Any feedback, especially on balance, AI behavior, or bugs, would be incredibly helpful to refine the scenario. If you encounter any issues or have suggestions for improvement, feel free to share them here.
Cheers,
Steam scenario
---v012---
Added Complexity selector
Added Budget Base Level selector
Added filters on Land/Sea Deployment
Various Tweaks and Fixes on RED AI
Fixed Amphibious actions on RED
Complexity affects limits and Capabilities prices
Added Romeo to DDG
Fixed Ilolio AB location
---v.011---
Updated to DB510. Still a version with 509 for those on Build 1527
Added new effect: SIGINT Ground Stations
Replaced MML by NASAMs.
Tweaks in Unit Cost for THAAD and Patriot
New Scoring system
AI: Fix handled detection of torpedos
More BLUE info on Enemy Non-Kinetic Effects
New Attrition system
Various fixes on RED AI
Budget increased dynamically on RED missions
Increase RED strategic strikes
Fixes on Scenario Ends
--v.010--
+Added: Titles in Unit setup linked to DB page (only for B1544+)
+Added: Another TopoMap layer to the Land Deploy section
+Added: Air Attrition for Blue Scoring
+Fix: RED Cyber endless loop if not appropiate targets
+Fix: RED Contact sub AI
+Tweak: nil comprobation for different date functions
Re: Defend Luzon 2028
I really love this.
Is the scoring system still a work in progress?
Is the scoring system still a work in progress?
Re: Defend Luzon 2028
Nope, the scoring is shown at the end when RED or BLUE has reached its target (partially or totally) their objectives (I do not use the Command Score, I have my own) also you will see a Unit Losses comparison between RED and BLUE.
It is true that it has a lot of room for improvement and may not be balanced correctly.
And thank you, today at night I'll update the scen with some feedback from players and some AI fixes.
It is true that it has a lot of room for improvement and may not be balanced correctly.
And thank you, today at night I'll update the scen with some feedback from players and some AI fixes.
Re: Defend Luzon 2028
I didn't get any kind of 'Unit Losses' comparison, not sure that part is working.
Re: Defend Luzon 2028
If you can DM me your save at the end I can check what's happening
Re: Defend Luzon 2028
Version 010, in Event Action 'UnitKilled-lua':
this code snippet is wrong:
if blueTargets[unit.guid] then
bL3.SCORE.RED = bL3.SCORE.RED + blueTargets[unit.guid].points
bL3.SCORE.BLUE = bL3.SCORE.BLUE + blueTargets[unit.guid].points
the third line should have a minus sign, not a plus sign.
Further down, function bL3.Functions.BlueFacilityUnitDamaged() is wrong, check the .BLUE and .RED suffixes are correct. I'd copy-paste but I forget precisely where the error is.
I forget where in the code it is, but a "Strategic Win' is more tha three times the score of the other side. This system does not work for negative numbers, because a negative number for the other side makes getting a Strategic Win much easier.
In Version 010, I finally got bL3.Functions.EndScenario(index) to fire when I destroyed the Red naval force. I have yet to see the air attrition points losses in the final screen yet though.
Can you please give the Typhon unit some Tomahawk missiles? With SM-6 missiles only they are not very useful.
The ships and submarines are massively over-priced. I never use them, they cost too much compared to the other units.
Is there any way to shoot down the WZ-8 UAV, or is it impossible?
Is the 'C2 Attack' capability supposed to be a Special Action, or does it happen in the background? I cannot see C2 Attack when I select it.
this code snippet is wrong:
if blueTargets[unit.guid] then
bL3.SCORE.RED = bL3.SCORE.RED + blueTargets[unit.guid].points
bL3.SCORE.BLUE = bL3.SCORE.BLUE + blueTargets[unit.guid].points
the third line should have a minus sign, not a plus sign.
Further down, function bL3.Functions.BlueFacilityUnitDamaged() is wrong, check the .BLUE and .RED suffixes are correct. I'd copy-paste but I forget precisely where the error is.
I forget where in the code it is, but a "Strategic Win' is more tha three times the score of the other side. This system does not work for negative numbers, because a negative number for the other side makes getting a Strategic Win much easier.
In Version 010, I finally got bL3.Functions.EndScenario(index) to fire when I destroyed the Red naval force. I have yet to see the air attrition points losses in the final screen yet though.
Can you please give the Typhon unit some Tomahawk missiles? With SM-6 missiles only they are not very useful.
The ships and submarines are massively over-priced. I never use them, they cost too much compared to the other units.
Is there any way to shoot down the WZ-8 UAV, or is it impossible?
Is the 'C2 Attack' capability supposed to be a Special Action, or does it happen in the background? I cannot see C2 Attack when I select it.
Last edited by TBLackey on Wed Jan 29, 2025 5:32 am, edited 1 time in total.
Re: Defend Luzon 2028
More stuff in Version 010, in Event Action 'UnitKilled-lua':
the air attrition points do get deducted. But the scenario does not end when you get less than 25% aircraft. I can't figure out why.
Forcing bL3.Functions.EndScenario(index) by console shows that the air attrition points do get counted in the total points score, but the attrition is not mentioned in the log, leading to confusion when you try to add up the numbers.
This code snippet does not seem to work:
elseif string.find(unit.name, 'ESCORT') then
local nAAEWSC = bL3.Functions.GetNAAWESC()
if nAAEWSC < 2 then
bL3.Functions.AmphWithDrawal()
end
bL3.SCORE.RED = bL3.SCORE.RED - 15
local msg = string.format('[%s] - %s destroyed. RED LOSES %d POINTS.',time,unit.name,15)
table.insert(bL3.SCORE.LOG.RED,msg)
bL3.SCORE.BLUE = bL3.SCORE.BLUE + 5
local msg = string.format('[%s] - %s destroyed. BLUE GAINS %d POINTS.',time,unit.name,5)
table.insert(bL3.SCORE.LOG.BLUE,msg)
end
I wonder if string.find is case sensitive, and it has to be 'Escort' ?
the air attrition points do get deducted. But the scenario does not end when you get less than 25% aircraft. I can't figure out why.
Forcing bL3.Functions.EndScenario(index) by console shows that the air attrition points do get counted in the total points score, but the attrition is not mentioned in the log, leading to confusion when you try to add up the numbers.
This code snippet does not seem to work:
elseif string.find(unit.name, 'ESCORT') then
local nAAEWSC = bL3.Functions.GetNAAWESC()
if nAAEWSC < 2 then
bL3.Functions.AmphWithDrawal()
end
bL3.SCORE.RED = bL3.SCORE.RED - 15
local msg = string.format('[%s] - %s destroyed. RED LOSES %d POINTS.',time,unit.name,15)
table.insert(bL3.SCORE.LOG.RED,msg)
bL3.SCORE.BLUE = bL3.SCORE.BLUE + 5
local msg = string.format('[%s] - %s destroyed. BLUE GAINS %d POINTS.',time,unit.name,5)
table.insert(bL3.SCORE.LOG.BLUE,msg)
end
I wonder if string.find is case sensitive, and it has to be 'Escort' ?
Re: Defend Luzon 2028
Finally, if just use a credible force of 10 F-35A squadrons, I can easily sink the entire naval force early and win.
Rather than ending the scenario quickly, I suggest giving Red a reasonable amount of time for Red to retaliate to see if they can even up the score? Maybe six hours? and give the player a message about the changed scenario ending time, for all instances where the scenario is ended early.
Rather than ending the scenario quickly, I suggest giving Red a reasonable amount of time for Red to retaliate to see if they can even up the score? Maybe six hours? and give the player a message about the changed scenario ending time, for all instances where the scenario is ended early.
Re: Defend Luzon 2028
Thanks for the detailed debug
All things pointed are fixed, for the negative value comparison I use a MAX function to retrieve or 1 or the scoring, but yes, I'm not sure about that, since the penalties in score could distor a bit too much.
but there are other ways
Checking the Air Attrition issue and I'll upload a new version with all those fixes
Thanks again
!

I didn't put TLAMs because there's no targets on Land, and as ASuW and AAW weapon, the SM-6 is much better, you just need a good platform to guide it.
They are, but also they give you (specially the subs) an incredible advantage (and you won't need to use 10x F-35 Squadrons). But I'll take that into account and wait for more feedback to lower them a bit
You cannot kinetically

It happens in the background, increases the lack of coordination between missions, modifying their time on target.
Yes, I still need to work on AI outcomes and decisions based on situations, thanks for the suggestionTBLackey wrote: Rather than ending the scenario quickly, I suggest giving Red a reasonable amount of time for Red to retaliate to see if they can even up the score? Maybe six hours? and give the player a message about the changed scenario ending time, for all instances where the scenario is ended early.
Checking the Air Attrition issue and I'll upload a new version with all those fixes
Thanks again

Re: Defend Luzon 2028
There's something odd going on with counting the number of amphibious ships remaining.
In the attached save file, I made the two separate namph checks different variables - namph_amph (when amph is destroyed), and namph_C2 (when C2 centre is destroyed). I also made special messages list the namph count, which you can see in the log. For some reason, even after I destroy all AMPH ships, it say there are 4 remaining.
Version 010
In the attached save file, I made the two separate namph checks different variables - namph_amph (when amph is destroyed), and namph_C2 (when C2 centre is destroyed). I also made special messages list the namph count, which you can see in the log. For some reason, even after I destroy all AMPH ships, it say there are 4 remaining.
Version 010
- Attachments
-
- Defend Luzon_logged_namph.zip
- (1.39 MiB) Downloaded 5 times
Re: Defend Luzon 2028
It's weird, I think it might be related that the unit is "destroyed" but the object wrapper is still there (the icon with the axis) for a while. I'll store in a variable the number of Amph so I won't need that check.
Also I'm reworking the full scoring system, not sure if it will be better but I'll try
Also I'm reworking the full scoring system, not sure if it will be better but I'll try

Re: Defend Luzon 2028
Since the scoring is to be reworked, I've been looking at the NKE
I can verify that C2 attacks work.
GPS Spoofing does not work, it ends right after the Special Action is activated, refer to the NKE Showlog.
HUMINT, Helios, SBX, Military Intelligence all work too.
Will look at the others.
I can verify that C2 attacks work.
GPS Spoofing does not work, it ends right after the Special Action is activated, refer to the NKE Showlog.
HUMINT, Helios, SBX, Military Intelligence all work too.
Will look at the others.
Re: Defend Luzon 2028
Thanks, GPS fixed in this last update.
There are still some issues that I need to address but there are quite a few tweaks and fixes in this last update.
I also remove the endscenario trigger after RED ARG is destroyed to let RED the chances to retaliate.
There are still some issues that I need to address but there are quite a few tweaks and fixes in this last update.
I also remove the endscenario trigger after RED ARG is destroyed to let RED the chances to retaliate.
Re: Defend Luzon 2028
Awesome!
But I'm having problems with versions - can you please confirm what CMO version and DB version you have been using for version 011?
... I need to read better, DB 510
But I'm having problems with versions - can you please confirm what CMO version and DB version you have been using for version 011?
... I need to read better, DB 510
Re: Defend Luzon 2028
At your convenience would it be possible for you to explain how the lua functions work together? I'm interested in modifying this for another scenario but I'm having a hard time tying everything together.
Re: Defend Luzon 2028
Check the bL3.NKE functions, they are the core of the non-kinetic effects. You can feed chatgpt with it and it will explain the code (and probably revamp them in a better way lol). At the end there are multiple ways to create those effects, it highly depends the scope of the scenario and what you want to achieve with it.
I plan to share the github project once everything is more stable and I finish adding the various features I have planned.
Re: Defend Luzon 2028
New update with various fixes and the ability to select the complexity (affects number of RED units, missions and Number of Capabilities for RED) and also the base budget.
Re: Defend Luzon 2028
Good afternoon,
Thx again, a lot of work in this.
regards GJ
Thx again, a lot of work in this.
regards GJ
-
- Posts: 89
- Joined: Tue Apr 12, 2016 9:06 am
Re: Defend Luzon 2028
So I noticed a weird thing, I finished the deployment, I clicked on continue and it just says "THE SCENARIO HAS ENDED
Blue Strategic Win" ...? Here's my save file.
Blue Strategic Win" ...? Here's my save file.
- Attachments
-
- Defend Luzon.zip
- (969.02 KiB) Downloaded 2 times
Re: Defend Luzon 2028
Mmm that sounds like an issue with the dateformat, have you selected the correct one that match your locale configuration?