Jump to content

Fleet Defense, Prevent Fleet from Attacking Enemy Air?


Grifter

Recommended Posts

Hi,

 

 

I'm making a mission set for some friends, and I would like the F/A 18's and 14's to defend the fleet from an enemy airstrike intent on destroying it. The fleet consists of the Stennis and supporting vessels like Ticonderoga and Perry class vessels. These vessels are launch anti-air missiles and destroying the enemy aircraft too effectively, leaving little for the fleet's interceptors to engage. I could, I suppose, move the fleet further away allowing for the Interceptors to reach the airstrike first. But that means a longer flight for my friends and we like to maximize our precious combat/flight time when possible.

 

 

 

Is there a trigger zone I could set up? Or, should I adjust the fleet's ROE somehow? Ideally, I would like the fleet to only attack enemy aircraft that get by our intercept screen.

 

 

 

Thanks for any suggestions you might offer.

 

 

Grifter-RLG

Link to comment
Share on other sites

At this time there is no way to limit the types of ordnance that naval units can engage aircraft with, it's all or nothing.

 

If you wish to completely restrict the fleet from firing, click the group and click the ADVANCED WAYPOINT ACTIONS button at WP0. Click ADD, then select Set Option -> ROE -> WEAPON HOLD from the drop down menus.


Edited by feefifofum
Link to comment
Share on other sites

Similar problem here:

I want to use the fire at point task to shell a ground group on the shore form a naval group. But as soon I switch the ROE from WEAPON HOLD to WEAPON FREE, the naval group also opens fire on a ship of the other coalition using anti ship missiles.

 

So question is how to attack a specific target only?

 

Simplest way would be to set ROE to only RETURN FIRE, but then the task fire at point is not executed unfortunately or am I missing anything?

A warrior's mission is to foster the success of others.

i9-12900K | MSI RTX 3080Ti Suprim X | 128 GB Ram 3200 MHz DDR-4 | MSI MPG Edge Z690 | Samung EVO 980 Pro SSD | Virpil Stick, Throttle and Collective | MFG Crosswind | HP Reverb G2

RAT - On the Range - Rescue Helo - Recovery Tanker - Warehouse - Airboss

Link to comment
Share on other sites

No dice there...attacking the naval vessels is an automatic defensive maneuver as soon as the AI is given permission to fire. More specific conditions only exist for aircraft groups at this time.

 

As a workaround, you could also toggle the enemy naval vessels to be invisible when you flip your friendlies' ROE. As long as other AI isn't supposed to be attacking the ships at the same time this should achieve the desired result.

Link to comment
Share on other sites

No dice there...attacking the naval vessels is an automatic defensive maneuver as soon as the AI is given permission to fire. More specific conditions only exist for aircraft groups at this time.

Thanks mate :thumbup: That's what I feared.

 

As a workaround, you could also toggle the enemy naval vessels to be invisible when you flip your friendlies' ROE. As long as other AI isn't supposed to be attacking the ships at the same time this should achieve the desired result.

Yeah that would work in this case. I'm however looking for a more general solution to do a clinical attack on a specific target without "escalating" the conflict. I.e. in general there could be more red units around and making them all invisible would cause other issues.

 

I would be nice to have some option, which allows tasks like "fire at point" or "attack group/unit" to overrule the ROE or a least the ROE RETURN FIRE if a mission designer explicitly specifies a task to attack something. I might take this to the wish list thread.

A warrior's mission is to foster the success of others.

i9-12900K | MSI RTX 3080Ti Suprim X | 128 GB Ram 3200 MHz DDR-4 | MSI MPG Edge Z690 | Samung EVO 980 Pro SSD | Virpil Stick, Throttle and Collective | MFG Crosswind | HP Reverb G2

RAT - On the Range - Rescue Helo - Recovery Tanker - Warehouse - Airboss

Link to comment
Share on other sites

Just thinking about this, you could set a moving trigger zone to the fleet to a distance that your comfortable with them engaging the enemy aircraft then set the conditions and stop conditions in the advanced waypoints tab and use flags to change the ROE. So something along the lines of in the advanced waypoints tab, ROE Hold, stop condition Flag 1 (or flag whatever) and another ROE Return fire or Weapons free, condition, Flag 2. Once an enemy aircraft enters the moving zone trigger Flag 1, then Time Since Flag 1 say 2 seconds, Flag 2 on. I think that would have the effect you desire. Sorry if its a bit vague, I don't have DCS open in front of me atm, but that should give you an avenue to explore.

The Flying Kiwis - Since ages ago...



Find us at https://www.simcentral.co.nz

Link to comment
Share on other sites

I want to use the fire at point task to shell a ground group on the shore form a naval group. But as soon I switch the ROE from WEAPON HOLD to WEAPON FREE, the naval group also opens fire on a ship of the other coalition using anti ship missiles.

 

So question is how to attack a specific target only?

 

I would be nice to have some option, which allows tasks like "fire at point" or "attack group/unit" to overrule the ROE or a least the ROE RETURN FIRE if a mission designer explicitly specifies a task to attack something. I might take this to the wish list thread.

 

 

I encountered a similar problem last year, while creating a test mission.

In the end I decided to use :SetAIOnOff() to prevent 2 fleets of Ticonderoga and Moskva cruisers from attacking each other.

 

Right now I can't remember if that was enough, but I do remember that the ground target zones got pounded by autocannon and tomahawk barrages every time I called for a naval strike.

 

EDIT: After hours of testing several different things, looks like :SetAIOnOff() isn't enough to prevent ships from attacking each other when FireAtPoint is set.

Looks like feefifofum's workaround is the way to go (ie making enemy ships temporarily invisible), it does seem to work quite well.

 

I've attached my test mission + script.

There's an immortal Su25T client available at Gudauta (ramp), it has an F10 menu available to call fleet strikes from both Red and Blue fleets (they'll aim at a nearby zone).

 

Script:

 

 

local Clients = SET_GROUP:New():FilterPrefixes( "Client_" ):FilterStart()

 

local RedFleetSet = SET_GROUP:New():FilterPrefixes("Fleet_RED_"):FilterStart()

 

local BlueFleetSet = SET_GROUP:New():FilterPrefixes("Fleet_BLUE_"):FilterStart()

 

local BarrageZone = ZONE:New( "Pounding_Zone" )

 

 

RedFleetSet:ForEachGroupAlive(

function(RedFleetGroup)

RedFleetGroup:SetAIOnOff(false) -- Disable Red fleet AI at the start, so it won't engage undesired targets

end

)

 

BlueFleetSet:ForEachGroupAlive(

function(BlueFleetGroup)

BlueFleetGroup:SetAIOnOff(false) -- Disable Blue fleet AI at the start, so it won't engage undesired targets

end

)

 

local function RedBarrageEnd()

 

RedFleetSet:FilterStart()

BlueFleetSet:FilterStart()

 

RedFleetSet:ForEachGroupAlive(

function( RedFleetGroup )

RedFleetGroup:SetAIOnOff(false) -- Disable Red fleet AI again, when its barrage is done

end

)

 

BlueFleetSet:ForEachGroupAlive(

function(BlueFleetGroup)

 

local Blue_UnSetInvisible = { id = 'SetInvisible', params = { value = false } }

 

BlueFleetGroup:SetCommand(Blue_UnSetInvisible) -- Make Blue fleet visible again, after Red fleet AI is disabled

 

end

)

end

 

 

local function BlueBarrageEnd()

 

RedFleetSet:FilterStart()

BlueFleetSet:FilterStart()

 

BlueFleetSet:ForEachGroupAlive(

function( BlueFleetGroup )

BlueFleetGroup:SetAIOnOff(false) -- Disable Blue fleet AI again, when its barrage is done

end

)

 

RedFleetSet:ForEachGroupAlive(

function(RedFleetGroup)

 

local Red_UnSetInvisible = { id = 'SetInvisible', params = { value = false } }

 

RedFleetGroup:SetCommand(Red_UnSetInvisible) -- Make Red fleet visible again, after Blue fleet AI is disabled

 

end

)

end

 

 

local function FleetBarrageRed()

 

RedFleetSet:FilterStart()

BlueFleetSet:FilterStart()

 

BlueFleetSet:ForEachGroupAlive(

function(BlueFleetGroup)

 

local Blue_SetInvisible = { id = 'SetInvisible', params = { value = true } }

 

BlueFleetGroup:SetCommand(Blue_SetInvisible) -- Make Blue fleet invisible before Red fleet AI is enabled

 

end

)

 

RedFleetSet:ForEachGroupAlive(

function( RedFleetGroup )

 

 

local FleetTargetVec2 = BarrageZone:GetRandomVec2()

 

local BarrageRed = RedFleetGroup:TaskFireAtPoint(FleetTargetVec2, 100, 30, 805306368) -- 805306368 is a valid weapon enumerator for naval cannons

 

RedFleetGroup:SetAIOnOff(true) -- Enable Red fleet AI so it can perform the barrage

RedFleetGroup:SetTask(BarrageRed,2)

 

end

)

 

timer.scheduleFunction( RedBarrageEnd, nil, timer.getTime() + 120 )

end

 

 

local function FleetBarrageBlue()

 

RedFleetSet:FilterStart()

BlueFleetSet:FilterStart()

 

RedFleetSet:ForEachGroupAlive(

function(RedFleetGroup)

 

local Red_SetInvisible = { id = 'SetInvisible', params = { value = true } }

 

RedFleetGroup:SetCommand(Red_SetInvisible) -- Make Red fleet invisible before Blue fleet AI is enabled

 

end

)

 

BlueFleetSet:ForEachGroupAlive(

function( BlueFleetGroup )

 

local FleetTargetVec2 = BarrageZone:GetRandomVec2()

 

local BarrageBlue = BlueFleetGroup:TaskFireAtPoint(FleetTargetVec2, 100, 30, 805306368) -- 805306368 is a valid weapon enumerator for naval cannons

 

BlueFleetGroup:SetAIOnOff(true) -- Enable Blue fleet AI so it can perform the barrage

BlueFleetGroup:SetTask(BarrageBlue,2)

 

end

)

 

timer.scheduleFunction( BlueBarrageEnd, nil, timer.getTime() + 120 )

end

 

 

local function RefreshClient()

 

Clients:ForEachGroup(

function( Client )

 

FleetMenuRoot = MENU_GROUP:New(Client,"Fleet Menu")

ClientFleetBarrageMenuBlue = MENU_GROUP_COMMAND:New(Client, "Request naval barrage (BLUE)", FleetMenuRoot, FleetBarrageBlue)

ClientFleetBarrageMenuRed = MENU_GROUP_COMMAND:New(Client, "Request naval barrage (RED)", FleetMenuRoot, FleetBarrageRed)

 

end

)

end

 

SCHEDULER:New( nil,

function()

RefreshClient()

end, {}, 1, 60

)

 

Fleet fire at point AI on-off test.miz

Naval barrage specific zone.lua


Edited by Hardcard
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...