Initial commit

This commit is contained in:
Ambroise Garel
2025-07-22 10:22:50 +02:00
parent 16f53c8a47
commit edb28205cd
422 changed files with 17001 additions and 2 deletions
+26
View File
@@ -0,0 +1,26 @@
Library.tasks.antishipCargo = {
taskFamily = DCSEx.enums.taskFamily.ANTISHIP,
description =
{
briefing = {
"Enemy cargo ships are delivering weapons and supplies to frontline units. Sinking them will disrupt their logistics and slow their advance.",
"Cargo ships are moving fuel, ammo, and enemy reinforcements. Take them out to choke the enemy's front-line operations.",
"Intel confirms that enemy cargo ships are carrying weapons and reinforcements. They should be destroyed immediately.",
"Reconnaissance confirms that enemy cargo vessels are transporting materiel vital to the enemy's continued resistance. Interdiction is required.",
"Logistical interdiction remains a top priority. A group of enemy cargo ships must be destroyed to limit their strategic reach."
},
short = "Sink enemy cargo ships",
},
conditions = {
difficultyMinimum = 0,
eras = {},
},
completionEvent = DCSEx.enums.taskEvent.DESTROY,
flags = { },
minimumDistance = DCSEx.converter.nmToMeters(10.0),
safeRadius = 0,
surfaceType = land.SurfaceType.WATER,
targetCount = { 2, 2 },
targetFamilies = { DCSEx.enums.unitFamily.SHIP_CARGO },
waypointInaccuracy = DCSEx.converter.nmToMeters(5.0)
}
+26
View File
@@ -0,0 +1,26 @@
Library.tasks.antiShipCorvette = {
taskFamily = DCSEx.enums.taskFamily.ANTISHIP,
description =
{
briefing = {
"An enemy missile boat was detected within strike range of our troops. Neutralize it before it can launch.",
"An enemy missile boat has entered our waters. You are authorized to engage and neutralize.",
"An enemy corvette is operating within weapons release range of our task force. Its engagement is necessary to preempt an attack.",
"An hostile craft possesses the capability to strike high-value naval assets. Its destruction is imperative to ensure fleet security.",
"The target is a missile-equipped enemy vessel posing a direct threat to allied maritime operations. It must be destroyed at once."
},
short = "Sink enemy missile boat",
},
conditions = {
difficultyMinimum = 0,
eras = {},
},
completionEvent = DCSEx.enums.taskEvent.DESTROY,
flags = { },
minimumDistance = DCSEx.converter.nmToMeters(10.0),
safeRadius = 0,
surfaceType = land.SurfaceType.WATER,
targetCount = { 1, 1 },
targetFamilies = { DCSEx.enums.unitFamily.SHIP_MISSILE_BOAT },
waypointInaccuracy = DCSEx.converter.nmToMeters(5.0)
}
+26
View File
@@ -0,0 +1,26 @@
Library.tasks.groundAttackAPC = {
taskFamily = DCSEx.enums.taskFamily.GROUND_ATTACK,
description =
{
briefing = {
"Enemy APCs are moving to reinforce frontline positions—neutralizing them now will cripple their mobility and delay their counterattack.",
"Taking out these APCs disrupts enemy troop deployments and buys our ground forces critical time to consolidate gains.",
"Enemy armored personnel carriers are transporting infantry toward our exposed flank—engage immediately to prevent a breakthrough.",
"Our troops are under pressure—eliminating those APCs will ease the fight and reduce incoming fire on their position.",
"Recon confirms high-value targets in the APC convoy, including command elements—destroying them now will cause significant disruption."
},
short = "Destroy enemy APCs",
},
conditions = {
difficultyMinimum = 0,
eras = {},
},
completionEvent = DCSEx.enums.taskEvent.DESTROY,
flags = { DCSEx.enums.taskFlag.ALLOW_JTAC },
minimumDistance = DCSEx.converter.nmToMeters(10.0),
safeRadius = 100,
surfaceType = land.SurfaceType.LAND,
targetCount = { 3, 4 },
targetFamilies = { DCSEx.enums.unitFamily.GROUND_APC },
waypointInaccuracy = DCSEx.converter.nmToMeters(2.5)
}
@@ -0,0 +1,26 @@
Library.tasks.groundAttackArmorConvoy = {
taskFamily = DCSEx.enums.taskFamily.GROUND_ATTACK,
description =
{
briefing = {
"An enemy armor column is moving toward our forward positions. Destroying it now will prevent a breakthrough and protect our ground forces.",
"An enemy armor column is advancing rapidly toward our main supply route. If we don't stop them here, they'll cut off our logistics.",
"You are to neutralize a key enemy armored unit before it reaches the battlefield. Hitting them now gives us the upper hand in the coming engagement.",
"An armor column is heading toward a populated area. Eliminate the threat before it reaches the city and endangers civilians.",
"This enemy armor column is the primary threat to our flank. Striking them now will stopp them from rolling through our defenses.",
},
short = "Destroy enemy armor column",
},
conditions = {
difficultyMinimum = 0,
eras = {},
},
completionEvent = DCSEx.enums.taskEvent.DESTROY,
flags = { DCSEx.enums.taskFlag.ALLOW_JTAC, DCSEx.enums.taskFlag.MOVING, DCSEx.enums.taskFlag.ON_ROADS },
minimumDistance = DCSEx.converter.nmToMeters(10.0),
safeRadius = 100,
surfaceType = land.SurfaceType.LAND,
targetCount = { 3, 4 },
targetFamilies = { DCSEx.enums.unitFamily.GROUND_APC, DCSEx.enums.unitFamily.GROUND_APC, DCSEx.enums.unitFamily.GROUND_MBT },
waypointInaccuracy = DCSEx.converter.nmToMeters(2.5)
}
+26
View File
@@ -0,0 +1,26 @@
Library.tasks.groundAttackArtillery = {
taskFamily = DCSEx.enums.taskFamily.GROUND_ATTACK,
description =
{
briefing = {
"Enemy artillery is shelling our forward positions and delaying our advance. Take them out to clear the way for ground troops.",
"Enemy artillery is hammering our lines and must be silenced immediately. Hit them hard—our soldiers are counting on it.",
"A group of artillery batteries is a key part of the enemy's defensive network. Neutralizing it will open a gap in their lines.",
"Our forces are pinned down by enemy artillery and taking losses. Eliminating the artillery threat will save lives and keep the momentum on our side.",
"High command has prioritized the destruction of enemy artillery to enable a broader offensive. This objective is critical."
},
short = "Destroy enemy artillery",
},
conditions = {
difficultyMinimum = 0,
eras = {},
},
completionEvent = DCSEx.enums.taskEvent.DESTROY,
flags = { DCSEx.enums.taskFlag.ALLOW_JTAC },
minimumDistance = DCSEx.converter.nmToMeters(10.0),
safeRadius = 100,
surfaceType = land.SurfaceType.LAND,
targetCount = { 3, 4 },
targetFamilies = { DCSEx.enums.unitFamily.GROUND_ARTILLERY },
waypointInaccuracy = DCSEx.converter.nmToMeters(2.5)
}
+26
View File
@@ -0,0 +1,26 @@
Library.tasks.groundAttackMBT = {
taskFamily = DCSEx.enums.taskFamily.GROUND_ATTACK,
description =
{
briefing = {
"Enemy armor is advancing on our front lines. Neutralizing these tanks is critical to halting their momentum.",
"Intel confirms enemy tanks are threatening a key supply route. Strike now to preserve our logistics corridor.",
"Enemy tanks are the last major obstacle before our ground forces can break through. Hit them hard and clear the way.",
"An enemy armor column was spotted nearby. Eliminate it before they regroup and launch a counterattack.",
"Enemy tanks are guarding a location vital to the enemy's retreat. Destroy them to trap their forces and cut off escape."
},
short = "Destroy enemy MBTs",
},
conditions = {
difficultyMinimum = 0,
eras = {},
},
completionEvent = DCSEx.enums.taskEvent.DESTROY,
flags = { DCSEx.enums.taskFlag.ALLOW_JTAC },
minimumDistance = DCSEx.converter.nmToMeters(10.0),
safeRadius = 100,
surfaceType = land.SurfaceType.LAND,
targetCount = { 2, 4 },
targetFamilies = { DCSEx.enums.unitFamily.GROUND_MBT },
waypointInaccuracy = DCSEx.converter.nmToMeters(2.5)
}
+26
View File
@@ -0,0 +1,26 @@
Library.tasks.groundAttackSSMissiles = {
taskFamily = DCSEx.enums.taskFamily.GROUND_ATTACK,
description =
{
briefing = {
"Enemy missile launchers are targeting civilian and military infrastructure. Taking them out will cripple their long-range strike capability.",
"Mobile TEL units are prepping for launch - this is a time-critical strike to neutralize the threat before missiles are airborne.",
"Enemy missiles have already caused casualties among allied forces. Eliminating the launchers is essential for force protection.",
"Destroying enemy missile launchers will degrade enemy morale and disrupt their command structure - it's a high-value tactical win.",
"Missile launchers are being used to strike nearby towns. Your precision strike today will prevent further suffering and save lives.",
},
short = "Destroy enemy SS missiles",
},
conditions = {
difficultyMinimum = 0,
eras = {},
},
completionEvent = DCSEx.enums.taskEvent.DESTROY,
flags = { DCSEx.enums.taskFlag.ALLOW_JTAC },
minimumDistance = DCSEx.converter.nmToMeters(10.0),
safeRadius = 100,
surfaceType = land.SurfaceType.LAND,
targetCount = { 3, 4 },
targetFamilies = { DCSEx.enums.unitFamily.GROUND_SS_MISSILE },
waypointInaccuracy = DCSEx.converter.nmToMeters(2.5)
}
@@ -0,0 +1,26 @@
Library.tasks.groundAttackTrucksConvoy = {
taskFamily = DCSEx.enums.taskFamily.GROUND_ATTACK,
description =
{
briefing = {
"Intelligence confirms that an enemy convoy is transporting essential logistical supplies. Engaging this target is critical to degrading their operational capabilities.",
"The designated convoy represents a significant threat to our frontline forces by sustaining enemy combat effectiveness; its neutralization is a priority.",
"An enemy convoy is facilitating the movement of vital materiel. A successful strike will disrupt their supply chain and impede their operational tempo.",
"The targeted convoy plays a pivotal role in enemy logistics. Effectively striking this formation will significantly impair their combat readiness.",
"A convoy of enemy trucks is integral to enemy sustainment efforts. Your strike will contribute significantly to operational success."
},
short = "Destroy enemy truck convoy",
},
conditions = {
difficultyMinimum = 0,
eras = {},
},
completionEvent = DCSEx.enums.taskEvent.DESTROY,
flags = { DCSEx.enums.taskFlag.ALLOW_JTAC, DCSEx.enums.taskFlag.MOVING, DCSEx.enums.taskFlag.ON_ROADS },
minimumDistance = DCSEx.converter.nmToMeters(10.0),
safeRadius = 100,
surfaceType = land.SurfaceType.LAND,
targetCount = { 3, 4 },
targetFamilies = { DCSEx.enums.unitFamily.GROUND_UNARMED },
waypointInaccuracy = DCSEx.converter.nmToMeters(2.5)
}
+26
View File
@@ -0,0 +1,26 @@
Library.tasks.interceptionTransport = {
taskFamily = DCSEx.enums.taskFamily.INTERCEPTION,
description =
{
briefing = {
"Enemy strike planes are closing on our ground forces. Intercept them before they tear our lines apart.",
"Hostile attack aircraft are en route to hit our armor columns. Engage and destroy before they reach the battlefield.",
"Enemy attack wings have crossed into our airspace, targeting supply convoys. Stop them or our front will collapse.",
"Strike aircraft are inbound to launch precision attacks on our positions. Your mission: intercept and neutralize immediately.",
"Enemy attack planes are preparing a low-level assault on our troops. Cut them off before they can deliver their payload."
},
short = "Intercept enemy attack aircraft",
},
conditions = {
difficultyMinimum = 0,
eras = {},
},
completionEvent = DCSEx.enums.taskEvent.DESTROY,
flags = { },
minimumDistance = DCSEx.converter.nmToMeters(10.0),
safeRadius = 100,
surfaceType = nil,
targetCount = { 2, 2 },
targetFamilies = { DCSEx.enums.unitFamily.PLANE_ATTACK },
waypointInaccuracy = DCSEx.converter.nmToMeters(6.0)
}
+26
View File
@@ -0,0 +1,26 @@
Library.tasks.interceptionBomber = {
taskFamily = DCSEx.enums.taskFamily.INTERCEPTION,
description =
{
briefing = {
"Enemy bomber inbound. If it reaches its target, thousands of civilians are at risk. You're the last line to stop it before it crosses the border.",
"Intel confirms a hostile bomber on approach to critical infrastructure. Your mission: intercept and neutralize before it gets within strike range.",
"An enemy bomber is carrying high-yield ordnance toward a populated zone. Failure to intercept means catastrophic loss—scramble now.",
"Hostile bomber detected on vector to our forward base. Engage immediately; do not allow it to release payload.",
"Enemy bomber is on a direct course for our command center. Intercept at all costs—success ensures the survival of our forces."
},
short = "Intercept enemy bomber",
},
conditions = {
difficultyMinimum = 0,
eras = {},
},
completionEvent = DCSEx.enums.taskEvent.DESTROY,
flags = { },
minimumDistance = DCSEx.converter.nmToMeters(10.0),
safeRadius = 100,
surfaceType = nil,
targetCount = { 1, 1 },
targetFamilies = { DCSEx.enums.unitFamily.PLANE_BOMBER },
waypointInaccuracy = DCSEx.converter.nmToMeters(8.0)
}
+26
View File
@@ -0,0 +1,26 @@
Library.tasks.interceptionTransport = {
taskFamily = DCSEx.enums.taskFamily.INTERCEPTION,
description =
{
briefing = {
"Enemy transport is inbound with troops and supplies. Stop it before it reinforces their front line.",
"Hostile cargo aircraft is carrying critical equipment to enemy forces. Intercept and destroy before delivery.",
"Enemy transport plane detected. Intel suggests it's moving high-value assets. Do not let it reach its destination.",
"Transport aircraft is ferrying reinforcements across the border. Interception is the only way to halt their buildup.",
"Enemy logistics bird is airborne. Taking it out cripples their supply chain. Engage immediately."
},
short = "Intercept enemy transport aircraft",
},
conditions = {
difficultyMinimum = 0,
eras = {},
},
completionEvent = DCSEx.enums.taskEvent.DESTROY,
flags = { },
minimumDistance = DCSEx.converter.nmToMeters(10.0),
safeRadius = 100,
surfaceType = nil,
targetCount = { 1, 1 },
targetFamilies = { DCSEx.enums.unitFamily.PLANE_TRANSPORT },
waypointInaccuracy = DCSEx.converter.nmToMeters(8.0)
}
+29
View File
@@ -0,0 +1,29 @@
Library.tasks.seadLong = {
taskFamily = DCSEx.enums.taskFamily.SEAD,
description =
{
briefing = {
"Engagement of this enemy SAM site is essential to mitigate threats to our aircraft and maintain air superiority in the operational theater.",
"Neutralizing this hostile surface-to-air missile installation will significantly reduce risks to our flight operations and support ongoing ground maneuvers.",
"The elimination of this SAM site is imperative to ensure safe ingress and egress corridors for our air assets during the mission.",
"Suppressing this SAM site is a strategic priority to safeguard our air operations and maintain operational momentum.",
"This SAM installation represents a critical threat vector that must be neutralized to protect both aircrew and mission integrity.",
"Striking this enemy SAM site will preserve the freedom of maneuver necessary for successful execution of subsequent air operations.",
"Destroying this SAM site is vital to maintaining the tactical advantage and ensuring force protection throughout the engagement area.",
"The removal of this hostile SAM site is a prerequisite for sustained air dominance and mission accomplishment."
},
short = "Destroy enemy SAM site",
},
conditions = {
difficultyMinimum = 0,
eras = {},
},
completionEvent = DCSEx.enums.taskEvent.DESTROY,
flags = { DCSEx.enums.taskFlag.DESTROY_TRACK_RADARS_ONLY },
minimumDistance = DCSEx.converter.nmToMeters(80.0),
safeRadius = 250,
surfaceType = land.SurfaceType.LAND,
targetCount = { 1, 1 },
targetFamilies = { DCSEx.enums.unitFamily.AIRDEFENSE_SAM_LONG },
waypointInaccuracy = 0.0
}
+29
View File
@@ -0,0 +1,29 @@
Library.tasks.seadMedium = {
taskFamily = DCSEx.enums.taskFamily.SEAD,
description =
{
briefing = {
"Engagement of this enemy SAM site is essential to mitigate threats to our aircraft and maintain air superiority in the operational theater.",
"Neutralizing this hostile surface-to-air missile installation will significantly reduce risks to our flight operations and support ongoing ground maneuvers.",
"The elimination of this SAM site is imperative to ensure safe ingress and egress corridors for our air assets during the mission.",
"Suppressing this SAM site is a strategic priority to safeguard our air operations and maintain operational momentum.",
"This SAM installation represents a critical threat vector that must be neutralized to protect both aircrew and mission integrity.",
"Striking this enemy SAM site will preserve the freedom of maneuver necessary for successful execution of subsequent air operations.",
"Destroying this SAM site is vital to maintaining the tactical advantage and ensuring force protection throughout the engagement area.",
"The removal of this hostile SAM site is a prerequisite for sustained air dominance and mission accomplishment."
},
short = "Destroy enemy SAM site",
},
conditions = {
difficultyMinimum = 0,
eras = {},
},
completionEvent = DCSEx.enums.taskEvent.DESTROY,
flags = { DCSEx.enums.taskFlag.DESTROY_TRACK_RADARS_ONLY },
minimumDistance = DCSEx.converter.nmToMeters(40.0),
safeRadius = 250,
surfaceType = land.SurfaceType.LAND,
targetCount = { 1, 1 },
targetFamilies = { DCSEx.enums.unitFamily.AIRDEFENSE_SAM_MEDIUM },
waypointInaccuracy = 0.0
}
+26
View File
@@ -0,0 +1,26 @@
Library.tasks.strikeScenery = {
taskFamily = DCSEx.enums.taskFamily.STRIKE,
description =
{
briefing = {
"A civilian building is being used as an enemy command post. Take it out before they coordinate another strike.",
"Intel confirms hostile forces are operating from inside a civilian structure. Neutralize it to stop further attacks.",
"A civilian building has been repurposed as a weapons cache. Destroy it before those arms hit the front lines.",
"Enemy anti-air control is housed in a civilian facility. Eliminate it to open the skies for our forces.",
"Recon shows a civilian structure is shielding enemy leadership. Bringing it down cripples their chain of command."
},
short = "Destroy occupied building",
},
conditions = {
difficultyMinimum = 0,
eras = {},
},
completionEvent = DCSEx.enums.taskEvent.DESTROY,
flags = { DCSEx.enums.taskFlag.ALLOW_JTAC, DCSEx.enums.taskFlag.SCENERY_TARGET },
minimumDistance = DCSEx.converter.nmToMeters(10.0),
safeRadius = 100,
surfaceType = land.SurfaceType.LAND,
targetCount = { 1, 1 },
targetFamilies = { DCSEx.enums.unitFamily.STATIC_SCENERY },
waypointInaccuracy = 0.0
}
+28
View File
@@ -0,0 +1,28 @@
Library.tasks.strikeStructure = {
taskFamily = DCSEx.enums.taskFamily.STRIKE,
description =
{
briefing = {
"Target structure is critical to enemy operations. Destroy it to cripple their plans.",
"That installation is a key asset. Eliminating it will shift the battle in our favor.",
"High-value structure confirmed in the target zone. Neutralize it before the enemy can react.",
"The objective is essential to enemy logistics. Take it out immediately.",
"Command wants that site erased. Its loss will deal a severe blow to enemy capability.",
"Structure identified as a primary objective. Destroy it and deny enemy use.",
"This is a priority strike target. Removing it will disrupt enemy momentum."
},
short = "Destroy enemy structure",
},
conditions = {
difficultyMinimum = 0,
eras = {},
},
completionEvent = DCSEx.enums.taskEvent.DESTROY,
flags = { DCSEx.enums.taskFlag.ALLOW_JTAC },
minimumDistance = DCSEx.converter.nmToMeters(10.0),
safeRadius = 100,
surfaceType = land.SurfaceType.LAND,
targetCount = { 1, 1 },
targetFamilies = { DCSEx.enums.unitFamily.STATIC_STRUCTURE },
waypointInaccuracy = 0.0
}