TRIDENT BOREAL 2027 V3.41

Post new mods and scenarios here.

Moderator: MOD_Command

Nikel
Posts: 2677
Joined: Tue Mar 24, 2009 10:51 am

Re: TRIDENT BOREAL V3.1

Post by Nikel »

OK, here it is.

With Perplexity analysis :)


Yes, the scoring model clearly favors protecting NATO assets over killing Russian ones, which in practice “favours” the Russian side if you trade losses symmetrically.[1]

### How the scoring is weighted

- Typical Russian units you destroy give you small to medium gains: fighters and bombers are usually +100, shipborne helicopters +100, most surface combatants +300 to +800, with a few capital ships like Slava at +1500 and Oscar/Yasen subs at +1000 to +2000.[1]
- Your own high‑value assets are heavily penalized: NATO frigates and destroyers are −1500 to −3000, major auxiliaries around −1500, fighters like F‑16/F‑18/F‑22 are −500, AWACS/AEW and key support aircraft are −500, plus many −100 hits for radars, SAM/SSM batteries, and bunkers.[1]
- ROE violations against civilian shipping cost −1000 each, which is as bad as losing a capital ship or failing to protect a high‑value target.[1]

### Practical effect

- You can wipe out a large part of the Russian surface fleet and long‑range air assets and still remain deeply negative if you lose a handful of NATO major surface units, a dozen high‑end fighters, and some support aircraft.[1]
- The scenario design is telling you: the primary objective is *not* to slaughter Russians at any cost, but to preserve Western forces and avoid civilian casualties while neutralizing a few key Russian assets (Nakhimov, Yasen, Oscars, Mainstay, OTH radars, etc.).[1]

So, in pure points-per-unit terms, the exchange ratio is asymmetric: each NATO loss and each civilian hit hurts far more than most Russian kills help, which is why your score stays very low even with strong offensive results.[1]


[1] Scoring-log-Trident-Boreal-v3.1.txt
Attachments
Scoring log Trident Boreal v3.1.txt
(18.44 KiB) Downloaded 5 times
Knightpawn
Posts: 474
Joined: Mon Dec 02, 2024 12:28 pm

Re: TRIDENT BOREAL V3.1

Post by Knightpawn »

Nikel wrote: Thu Feb 26, 2026 10:18 am
Knightpawn, are you playing this scenario'? Anyone else?
No. I plan to give a go to 3.1 either later today or tomorrow.
User avatar
Correcaminos
Posts: 188
Joined: Sun Jun 01, 2025 7:25 am

Re: TRIDENT BOREAL V3.2

Post by Correcaminos »

CHANGELOG: V3.2

Strategic Victory: Automated mission end and AAR message after neutralizing Nakhimov and Severodvinsk.

Ground Balance: Reduced facility destruction penalty to -20 points to offset initial strikes.

Naval Scaling: Adjusted NATO loss tiers to -2000 (T1), -500 (T2), and -250 (T3).

Typhoon Fix: Refined detection logic to prevent incorrect -500 pt penalties for Typhoon FGR.4 units.

VTOL Drones: Updated embarked drones to VTOL models for carrier operations on Queen Elizabeth
"Si vis pacem, para bellum."
User avatar
Correcaminos
Posts: 188
Joined: Sun Jun 01, 2025 7:25 am

Re: TRIDENT BOREAL V3.1

Post by Correcaminos »

Nikel wrote: Thu Feb 26, 2026 5:10 pm
[1] Scoring-log-Trident-Boreal-v3.1.txt

New V3.2 Scoring System

Image

I think it's quite good. We have a first Russian wave that puts the player in a difficult position if there isn't good management, and it also offers the possibility of a comeback. We clearly have the Yasen and the Nakhimov on the chart, and the rest of the Russian units that help to increase the score, but victory won't come until those two are destroyed. They are the most important units, and without them, Russian morale would plummet.
Last edited by Correcaminos on Thu Feb 26, 2026 8:18 pm, edited 1 time in total.
"Si vis pacem, para bellum."
Knightpawn
Posts: 474
Joined: Mon Dec 02, 2024 12:28 pm

Re: TRIDENT BOREAL V3.2

Post by Knightpawn »

Re: 3.2

Hi

1. Looking at the Global Scoring Engine Lua script (disclaimer: my coding skills are below zero) it appears to me that NATO is penalised for each and every civilian ship destroyed regardless of the perpetrator. Am I wrong?
2. In Features and Setting I see "Allow instant loading fro loading planner" ticked. Is there a specific purpose for this?
User avatar
Correcaminos
Posts: 188
Joined: Sun Jun 01, 2025 7:25 am

Re: TRIDENT BOREAL V3.2

Post by Correcaminos »

Knightpawn wrote: Thu Feb 26, 2026 8:16 pm Re: 3.2

Hi

1. Looking at the Global Scoring Engine Lua script (disclaimer: my coding skills are below zero) it appears to me that NATO is penalised for each and every civilian ship destroyed regardless of the perpetrator. Am I wrong?
2. In Features and Setting I see "Allow instant loading fro loading planner" ticked. Is there a specific purpose for this?
Checking
"Si vis pacem, para bellum."
Nikel
Posts: 2677
Joined: Tue Mar 24, 2009 10:51 am

Re: TRIDENT BOREAL V3.2

Post by Nikel »

Correcaminos wrote: Thu Feb 26, 2026 7:57 pm CHANGELOG: V3.2

Strategic Victory: Automated mission end and AAR message after neutralizing Nakhimov and Severodvinsk.

Ground Balance: Reduced facility destruction penalty to -20 points to offset initial strikes.

Naval Scaling: Adjusted NATO loss tiers to -2000 (T1), -500 (T2), and -250 (T3).

Typhoon Fix: Refined detection logic to prevent incorrect -500 pt penalties for Typhoon FGR.4 units.

VTOL Drones: Updated embarked drones to VTOL models for carrier operations on Queen Elizabeth

Thanks Correcaminos.


- And avoiding the subs crossing? Is it not also a strategic objective?

- Not only happens to the Typhoons, if the AI create a table of the scoring log is better visualized.

- The SeaGuardians cannot be located in the Glasgow and Daring, they are still.

- The Pohjanmaa corvettes were not changed.
User avatar
Correcaminos
Posts: 188
Joined: Sun Jun 01, 2025 7:25 am

Re: TRIDENT BOREAL V3.2

Post by Correcaminos »

Knightpawn wrote: Thu Feb 26, 2026 8:16 pm Re: 3.2

Hi

1. Looking at the Global Scoring Engine Lua script (disclaimer: my coding skills are below zero) it appears to me that NATO is penalised for each and every civilian ship destroyed regardless of the perpetrator. Am I wrong?
2. In Features and Setting I see "Allow instant loading fro loading planner" ticked. Is there a specific purpose for this?
1. Regarding the Civilian Ships:
Narratively, NATO's primary mission in the Arctic corridor is to secure the Sea Lines of Communication (SLOC). If the Russian Northern Fleet manages to sink civilian traffic, it represents a strategic failure of that protection mandate, which is why the engine originally penalized any civilian loss.

However, from a gameplay perspective, you are absolutely right. Penalizing the player because a stray Russian missile decided to lock onto a freighter leaves too much to chance. I have updated the Lua Global Scoring Engine for the next version. Moving forward, NATO will only be penalized (-400 pts) if a NATO unit or weapon destroys a civilian vessel (a direct Blue-on-White Rules of Engagement violation).

2. Regarding "Allow instant loading from loading planner":
Excellent catch. That option was left ticked by mistake during the testing phase to speed up aircraft turnarounds. It has been unticked for the final release to ensure realistic ready times and force proper management of the Carrier Air Wing.

Thanks again for the sharp eye!
"Si vis pacem, para bellum."
Knightpawn
Posts: 474
Joined: Mon Dec 02, 2024 12:28 pm

Re: TRIDENT BOREAL V3.2

Post by Knightpawn »

This is Claude's proposal for item 1, for you to test

(edited to correct an error that prevent the previous script to run)

Code: Select all

-- ============================================================
-- Civilian Collateral Damage Penalty for NATO
-- -250 for civilian aircraft, -400 for civilian ship
-- Triggers when unit is destroyed, only if shooter is NATO
-- Paste this into the Lua Script Console (Ctrl+Shift+C)
-- ============================================================

-- 1) TRIGGER: Any CIVILIAN aircraft destroyed
ScenEdit_SetTrigger({
    mode        = 'add',
    type        = 'UnitDestroyed',
    name        = 'CIV Aircraft Destroyed',
    TargetFilter = {
        TargetSide = 'CIVILIAN',
        TargetType = '1'
    }
})

-- 2) TRIGGER: Any CIVILIAN ship destroyed
ScenEdit_SetTrigger({
    mode        = 'add',
    type        = 'UnitDestroyed',
    name        = 'CIV Ship Destroyed',
    TargetFilter = {
        TargetSide = 'CIVILIAN',
        TargetType = '2'
    }
})

-- 3) CONDITION: Check that the weapon was fired by NATO
ScenEdit_SetCondition({
    mode       = 'add',
    type       = 'LuaScript',
    name       = 'Firer Is NATO',
    ScriptText = "local shooter = ScenEdit_UnitY()\r\nif shooter ~= nil then\r\n  if shooter.unit ~= nil then\r\n    if shooter.unit.side == 'NATO' then\r\n      return true\r\n    end\r\n  end\r\nend\r\nreturn false"
})

-- 4) ACTION: Deduct points based on unit type
ScenEdit_SetAction({
    mode       = 'add',
    type       = 'LuaScript',
    name       = 'NATO Collateral Points Deduction',
    ScriptText = "local side = 'NATO'\r\nlocal currentScore = ScenEdit_GetScore(side)\r\nlocal victim = ScenEdit_UnitX()\r\nif victim == nil then return end\r\nlocal victimName = victim.name\r\nlocal penalty = 0\r\nif victim.type == 'Aircraft' then\r\n  penalty = -250\r\nelseif victim.type == 'Ship' then\r\n  penalty = -400\r\nelse\r\n  return\r\nend\r\ncurrentScore = currentScore + penalty\r\nScenEdit_SetScore(side, currentScore, 'Collateral damage: ' .. victimName .. ' (' .. penalty .. ')')\r\nScenEdit_SpecialMessage(side, 'PENALTY: ' .. penalty .. ' points! Civilian ' .. victim.type .. ' (' .. victimName .. ') was destroyed by NATO forces.')"
})

-- 5) EVENT for civilian aircraft
ScenEdit_SetEvent('CIV Aircraft Collateral Penalty', {mode = 'add', IsActive = 'true'})
ScenEdit_SetEventTrigger('CIV Aircraft Collateral Penalty',   {mode = 'add', name = 'CIV Aircraft Destroyed'})
ScenEdit_SetEventCondition('CIV Aircraft Collateral Penalty', {mode = 'add', name = 'Firer Is NATO'})
ScenEdit_SetEventAction('CIV Aircraft Collateral Penalty',    {mode = 'add', name = 'NATO Collateral Points Deduction'})

-- 6) EVENT for civilian ship
ScenEdit_SetEvent('CIV Ship Collateral Penalty', {mode = 'add', IsActive = 'true'})
ScenEdit_SetEventTrigger('CIV Ship Collateral Penalty',   {mode = 'add', name = 'CIV Ship Destroyed'})
ScenEdit_SetEventCondition('CIV Ship Collateral Penalty', {mode = 'add', name = 'Firer Is NATO'})
ScenEdit_SetEventAction('CIV Ship Collateral Penalty',    {mode = 'add', name = 'NATO Collateral Points Deduction'})
Last edited by Knightpawn on Thu Feb 26, 2026 9:14 pm, edited 1 time in total.
User avatar
Correcaminos
Posts: 188
Joined: Sun Jun 01, 2025 7:25 am

Re: TRIDENT BOREAL V3.2

Post by Correcaminos »

Nikel wrote: Thu Feb 26, 2026 8:25 pm
- And avoiding the subs crossing? Is it not also a strategic objective?

- Not only happens to the Typhoons, if the AI create a table of the scoring log is better visualized.

- The SeaGuardians cannot be located in the Glasgow and Daring, they are still.

- The Pohjanmaa corvettes were not changed.
1. Subs crossing (Strategic Objective): Yes, it's a massive objective. Those are SSBNs. Letting a Russian ballistic missile submarine escape into the Atlantic is an unacceptable nuclear threat. Failing to stop them carries a devastating -10,000 point penalty (equivalent to losing a supercarrier).

2. Inconsistent Scoring Log (Typhoons, etc.):
The game auto-generates group suffixes like "[Element 2]". The old script looked for "E-2" AWACS and accidentally penalized your fighters! This is completely fixed. AWACS now use specific names (Hawkeye, Sentry) in the code, and ship classes are accurately tracked regardless of custom names.

3. SeaGuardians on Glasgow and Daring:
Fixed. They have been removed from those ships.

4. The Pohjanmaa corvettes (Fuel issues):
You are right about their limited Baltic range. Finland joined NATO with these specific assets. Managing their short range and using them for coastal/local duties is part of the tactical challenge!
"Si vis pacem, para bellum."
Nikel
Posts: 2677
Joined: Tue Mar 24, 2009 10:51 am

Re: TRIDENT BOREAL V3.2

Post by Nikel »

Correcaminos wrote: Thu Feb 26, 2026 9:10 pm

1. Subs crossing (Strategic Objective): Yes, it's a massive objective. Those are SSBNs. Letting a Russian ballistic missile submarine escape into the Atlantic is an unacceptable nuclear threat. Failing to stop them carries a devastating -10,000 point penalty (equivalent to losing a supercarrier).

1. But if you win by sinking the Nakhimov and the Yasen-M, it does not matter. You commented above that the scenario will now end.
User avatar
Correcaminos
Posts: 188
Joined: Sun Jun 01, 2025 7:25 am

Re: TRIDENT BOREAL V3.2

Post by Correcaminos »

Knightpawn wrote: Thu Feb 26, 2026 8:36 pm This is Claude's proposal for item 1, for you to test

(edited to correct an error that prevent the previous script to run)
Thank you so much for taking the time to create and share this script.

However, I'll continue using my current Lua script, which I've tested in VSCode with the Blu3s database from CMO. It serves as a base for other missions and I've thoroughly tested it. Thanks to Nikel's valuable score logs, I've completely readjusted the overall scoring engine. In a scenario of this scale, trying to balance the score based solely on assumptions is extremely difficult, so having access to those actual gameplay logs has been incredibly helpful in fine-tuning everything. The new scoring system will work much better now and already includes the correction for the ROE for civilians.

Thanks again for the teamwork and for proposing solutions!
"Si vis pacem, para bellum."
User avatar
Correcaminos
Posts: 188
Joined: Sun Jun 01, 2025 7:25 am

Re: TRIDENT BOREAL V3.2

Post by Correcaminos »

Nikel wrote: Thu Feb 26, 2026 9:24 pm
Correcaminos wrote: Thu Feb 26, 2026 9:10 pm

1. Subs crossing (Strategic Objective): Yes, it's a massive objective. Those are SSBNs. Letting a Russian ballistic missile submarine escape into the Atlantic is an unacceptable nuclear threat. Failing to stop them carries a devastating -10,000 point penalty (equivalent to losing a supercarrier).

1. But if you win by sinking the Nakhimov and the Yasen-M, it does not matter. You commented above that the scenario will now end.

The scenario doesn't end if the submarines escape; there will be a very serious penalty that will prevent you from scoring any points in the scenario (DEFEAT). However, we can let the player continue their game. In fact, I'm not considering closing the game until I'm satisfied with it. We need all the possible information. If I kick the player... I don't know if that's what you mean.
"Si vis pacem, para bellum."
Nikel
Posts: 2677
Joined: Tue Mar 24, 2009 10:51 am

Re: TRIDENT BOREAL V3.3

Post by Nikel »

I meant that if you sink the Yasen-M early. Very difficult but happened to me 1 time.

And you sink the Nakhimov a few hours later.

Then you win the scenario. Ans it does not matter what happens with the subs crossing to the Atlantic or not.

In my experience this always happened later in the scenario except the last time in v3.1.
User avatar
Correcaminos
Posts: 188
Joined: Sun Jun 01, 2025 7:25 am

Re: TRIDENT BOREAL V3.3

Post by Correcaminos »

Ah, okay, if you sink them, you'll have crushed Russian morale. The YasenM's appearance is randomized, and as you say, it's not one of the easy submarines to find while you have several fronts open. The victory message appears, but the game doesn't end. That's the challenge, after all. I won't complicate things further; I think it's fine.
"Si vis pacem, para bellum."
Nikel
Posts: 2677
Joined: Tue Mar 24, 2009 10:51 am

Re: TRIDENT BOREAL V3.3

Post by Nikel »

v3.3 tested. B1776, no editor.


Finally a triumph! :D

T.png
T.png (21.46 KiB) Viewed 102 times


All was perfect this time and as Putin says, according to plan...

The only problem was the sinking of the Yasen-M, the helicopter only has 1 torpedo, and only damaged it. I thought she would escape. But later in the scenario the message appeared announcing the sinking :mrgreen:




Some problems noticed:

The scoring has improved a lot, allowing you to recover and win :) Still some problems, like -250 for the Burke and -2000 for the Sachsen.

SL.png
SL.png (69.71 KiB) Viewed 102 times



Nakhimov and Yasen-M sunk, however there is no end of the scenario message. Played till the end and no message at all, just the standard window.

Russian bombers at the end of the scenario, they make a last try to sink the ford, but have no idea of where she is, are not escorted and easy to shoot down.

F.png
F.png (159.36 KiB) Viewed 99 times


And my own B1-Bs rampage at the end of the scenario to attack the Kola peninsula, is not stopped by red ACs.

The sub Oklahoma also rampaged north of Kola, there are no ASW patrols to stop this attack.

NS.png
NS.png (175.07 KiB) Viewed 102 times
Last edited by Nikel on Fri Feb 27, 2026 4:12 pm, edited 4 times in total.
Nikel
Posts: 2677
Joined: Tue Mar 24, 2009 10:51 am

Re: TRIDENT BOREAL V3.3

Post by Nikel »

The scoring log attached if you want to take a look.


The sinking of the S. (Yasen-M). I had to try several times from a save. Instead of attacking the helo deployed the the dipping sonar, allowing the red sub to escape.

SYM.png
SYM.png (44.66 KiB) Viewed 97 times


The change of the loadout of 2 B1-B bombers to allow land attack at the end of the scenario, this has to be done at the beginning. The other 2 are enough to sink the russian fleet.

LAK.png
LAK.png (73.62 KiB) Viewed 96 times


The LuaHistory file with the errors.

...
Function:ScenEdit_SpecialMessage (0) Error:Unable to identify Side-A!
...
Function:ScenEdit_SpecialMessage (0) Error:Unable to identify Side-A!
Exception: [string "CachedChunk"]:10: attempt to call a nil value (global 'ScenEdit_SetUnitSensor')
Stack Trace: at NLua.Lua.ThrowExceptionFromError(Int32 oldTop)
at NLua.Lua.CallFunction(Object function, Object[] args, Type[] returnTypes)
at NLua.LuaFunction.Call(Object[] args)
at Adfs2QqMGUifo0Ac7CVE.qLd8ynxTUEn(Object , Object[] , Adfs2QqMGUifo0Ac7CVE )
at Command_Core.LuaUtility.DoString_Optimized(Lua lua, String chunk, String chunkName)
at Command_Core.Lua.LuaSandBox.RunScript(String str, Boolean RunInteractively, String script, String fullPath)

...
Function:ScenEdit_SpecialMessage (0) Error:Unable to identify Side-A!
Exception: [string "CachedChunk"]:103: attempt to index a nil value (field 'side')
Stack Trace: at NLua.Lua.ThrowExceptionFromError(Int32 oldTop)
at NLua.Lua.CallFunction(Object function, Object[] args, Type[] returnTypes)
at NLua.LuaFunction.Call(Object[] args)
at Adfs2QqMGUifo0Ac7CVE.qLd8ynxTUEn(Object , Object[] , Adfs2QqMGUifo0Ac7CVE )
at Command_Core.LuaUtility.DoString_Optimized(Lua lua, String chunk, String chunkName)
at Command_Core.Lua.LuaSandBox.RunScript(String str, Boolean RunInteractively, String script, String fullPath)

...
Function:ScenEdit_SpecialMessage (0) Error:Unable to identify Side-A!
Exception: [string "CachedChunk"]:10: attempt to call a nil value (global 'ScenEdit_SetUnitSensor')
Stack Trace: at NLua.Lua.ThrowExceptionFromError(Int32 oldTop)
at NLua.Lua.CallFunction(Object function, Object[] args, Type[] returnTypes)
at NLua.LuaFunction.Call(Object[] args)
at Adfs2QqMGUifo0Ac7CVE.qLd8ynxTUEn(Object , Object[] , Adfs2QqMGUifo0Ac7CVE )
at Command_Core.LuaUtility.DoString_Optimized(Lua lua, String chunk, String chunkName)
at Command_Core.Lua.LuaSandBox.RunScript(String str, Boolean RunInteractively, String script, String fullPath)

...
Function:ScenEdit_SpecialMessage (0) Error:Unable to identify Side-A!
...
Function:ScenEdit_SpecialMessage (0) Error:Unable to identify Side-A!
Exception: [string "CachedChunk"]:103: attempt to index a nil value (field 'side')
Stack Trace: at NLua.Lua.ThrowExceptionFromError(Int32 oldTop)
at NLua.Lua.CallFunction(Object function, Object[] args, Type[] returnTypes)
at NLua.LuaFunction.Call(Object[] args)
at Adfs2QqMGUifo0Ac7CVE.qLd8ynxTUEn(Object , Object[] , Adfs2QqMGUifo0Ac7CVE )
at Command_Core.LuaUtility.DoString_Optimized(Lua lua, String chunk, String chunkName)
at Command_Core.Lua.LuaSandBox.RunScript(String str, Boolean RunInteractively, String script, String fullPath)
Attachments
Scoring log Trident Boreal v3.3.txt
(17.16 KiB) Downloaded 2 times
Knightpawn
Posts: 474
Joined: Mon Dec 02, 2024 12:28 pm

Re: TRIDENT BOREAL V3.3

Post by Knightpawn »

Ι have started v3.3. I hope the author will forgive my using the editor for adding a few loadouts for the (naked) Poseidons now moved to Orlan AB :-)
User avatar
Correcaminos
Posts: 188
Joined: Sun Jun 01, 2025 7:25 am

Re: TRIDENT BOREAL V3.3

Post by Correcaminos »

Nikel, don't worry about what happens after the two bosses are sunk. As soon as I see that everything is going well, that event will close the mission; it's not like we're going to have coffee at the Kremlin. We can leave that for a second part. As for the scoring system, I see that it works well; nothing beats having a game score log to adjust those units. I'll increase the value of Álvaro de Bazán (besides, he's from my country :-) ) and I'll check a double score I saw with your log. Regarding the errors, I'll do what I can; perhaps I can fix some, but I don't know if they're all part of the game design. Besides, sinking the most powerful submarine in the world is, in my opinion, quite a challenge. I'm waiting for more comments from other players before uploading another version.
"Si vis pacem, para bellum."
Kushan04
Posts: 1207
Joined: Tue Jun 28, 2005 9:27 pm
Location: USA
Contact:

Re: TRIDENT BOREAL V3.3

Post by Kushan04 »

Correcaminos wrote: Fri Feb 27, 2026 5:55 pm Regarding the errors, I'll do what I can; perhaps I can fix some, but I don't know if they're all part of the game design.
Those are Lua errors. None of those look like game exceptions. The errors are telling you that at least one special message is using the wrong side.
Post Reply

Return to “Mods and Scenarios”