From 1f18a5693d608efbf773da629a6f4320ecd180e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Perreau?= Date: Fri, 29 May 2020 04:26:02 +0200 Subject: [PATCH 001/704] Initial Home page --- How-to-play-DCS-Liberation-2.0.md | 62 +++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 How-to-play-DCS-Liberation-2.0.md diff --git a/How-to-play-DCS-Liberation-2.0.md b/How-to-play-DCS-Liberation-2.0.md new file mode 100644 index 0000000..bd90e19 --- /dev/null +++ b/How-to-play-DCS-Liberation-2.0.md @@ -0,0 +1,62 @@ +# How to play DCS liberation 2.0 : + +**Important Note before you launch DCS Liberation :** + +``` +Be aware that DCS Liberation will modify the following file in your DCS installation : + +/Scripts/MissionScripting.lua. + +However, i believe this should not trigger integrity check failure when joining MP servers. + +But be aware that this file will be modified. This is to allow communication between DCS scripting engine and the DCS Liberation executable. + +This modification open up the possibility to edit file from the lua script executed in DCS mission scripts + +So you might want to re-add the original file before opening untrusted mission file in DCS, or before joining untrusted MP servers. + +``` + +## Launch DCS Liberation : + +1 - Download the latest release from this repository. +2 - Extract the zip file to a new folder. +3 - Then launch liberation_main.exe to launch DCS Liberation 2.0. + +DCS Liberation should launch ! + +![](https://i.imgur.com/hej6vu1.png) + +**Start a new campaign :** + +In the top left corner, click on File/New Game to start the new campaign wizard. + +![](https://imgur.com/XvGTF1f.png) + +Click on next to start campaign configuration : + +![](https://imgur.com/B3iGjE3.png) + +Choose your faction, and the ennemy faction. +I recommend USA 2005 vs Russia 1965 for an easy first scenario. + +![](https://imgur.com/3lbakWi.png) + +Choose the Theater, for now please use one of the recommended one. + +![](https://imgur.com/R1Yw0zq.png) + +Click on next, do not check "Start at mid game", this is still WIP + +![](https://imgur.com/wI2JEjM.png) + +Click on finish, to start the campaign generation, it might take up to a minute or two to generate the campaign depending on selected settings. + +**Note :** Someone reported random crash on this step, if it happens, relaunch the program, and try again, it should work. + +![](https://imgur.com/W6ITnuE.png) + +That's it, your new campaign scenario has been generated ! + +![](https://imgur.com/VXmznT9.png) + From 9eee6cec01b19912f5002234f3ca5221597b18fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Perreau?= Date: Fri, 29 May 2020 04:26:03 +0200 Subject: [PATCH 002/704] Initial Home page --- Home.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 Home.md diff --git a/Home.md b/Home.md new file mode 100644 index 0000000..1b328aa --- /dev/null +++ b/Home.md @@ -0,0 +1 @@ +Welcome to the dcs_liberation wiki! From 8fc522c06a8881547057907383b449a4000bc5c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Perreau?= Date: Fri, 29 May 2020 04:26:29 +0200 Subject: [PATCH 003/704] Updated How to play DCS Liberation 2.0 (markdown) --- How-to-play-DCS-Liberation-2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/How-to-play-DCS-Liberation-2.0.md b/How-to-play-DCS-Liberation-2.0.md index bd90e19..79494f5 100644 --- a/How-to-play-DCS-Liberation-2.0.md +++ b/How-to-play-DCS-Liberation-2.0.md @@ -1,4 +1,4 @@ -# How to play DCS liberation 2.0 : +# Getting Started : **Important Note before you launch DCS Liberation :** From 692a0e2f101394baf8296dfeef4bdede68783e39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Perreau?= Date: Fri, 29 May 2020 04:33:55 +0200 Subject: [PATCH 004/704] Created Tutorial 01 : UI (markdown) --- Tutorial-01-:-UI.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 Tutorial-01-:-UI.md diff --git a/Tutorial-01-:-UI.md b/Tutorial-01-:-UI.md new file mode 100644 index 0000000..1dfc6a6 --- /dev/null +++ b/Tutorial-01-:-UI.md @@ -0,0 +1,19 @@ +Now that you have started a campaign, let's go through the UI to get an understanding of what is displayed first. + +![](https://imgur.com/5uzb0Pv.png) + +1 - Toolbar : Here you can start a new campaign, or save the current one + +![](https://imgur.com/nVKknIQ.png) + +2 - Action Panel : Contains actions buttons and general information + +![](https://imgur.com/2ALmIxS.png) + +3 - Info Panel / Event Message Panel : Important informations about the campaign progression will be logged here. + +![](https://imgur.com/gegtCyF.png) + +4 - Map : is the ... map of the operation and campaign progress + +![](https://imgur.com/iWnb0MA.png) \ No newline at end of file From a5307f6ca9622b61357eb19804b98bdd99f0f199 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Perreau?= Date: Fri, 29 May 2020 04:34:17 +0200 Subject: [PATCH 005/704] Updated How to play DCS Liberation 2.0 (markdown) --- How-to-play-DCS-Liberation-2.0.md => Getting-started.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename How-to-play-DCS-Liberation-2.0.md => Getting-started.md (100%) diff --git a/How-to-play-DCS-Liberation-2.0.md b/Getting-started.md similarity index 100% rename from How-to-play-DCS-Liberation-2.0.md rename to Getting-started.md From cd374cce3d8790783fda6cc52ef719de6d0e82c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Perreau?= Date: Fri, 29 May 2020 04:34:56 +0200 Subject: [PATCH 006/704] Updated Getting started (markdown) --- Getting-started.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/Getting-started.md b/Getting-started.md index 79494f5..f763a1c 100644 --- a/Getting-started.md +++ b/Getting-started.md @@ -1,5 +1,3 @@ -# Getting Started : - **Important Note before you launch DCS Liberation :** ``` @@ -17,7 +15,7 @@ So you might want to re-add the original file before opening untrusted mission f ``` -## Launch DCS Liberation : +## Installation : 1 - Download the latest release from this repository. 2 - Extract the zip file to a new folder. @@ -27,7 +25,7 @@ DCS Liberation should launch ! ![](https://i.imgur.com/hej6vu1.png) -**Start a new campaign :** +## Start your first campaign In the top left corner, click on File/New Game to start the new campaign wizard. From 6a9bf9786ff7812cd88854b2ebb885ab351aabb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Perreau?= Date: Fri, 29 May 2020 04:51:34 +0200 Subject: [PATCH 007/704] Created Tutorial 02 : First turn (markdown) --- Tutorial-02-:-First-turn.md | 39 +++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 Tutorial-02-:-First-turn.md diff --git a/Tutorial-02-:-First-turn.md b/Tutorial-02-:-First-turn.md new file mode 100644 index 0000000..a548af0 --- /dev/null +++ b/Tutorial-02-:-First-turn.md @@ -0,0 +1,39 @@ +In DCS Liberation you are responsible of some decisions regarding the course of the ongoing war. + +This is a turn based simulation, for every turn, DCS Liberation will generate a DCS World mission that you will have to fly. + +One of your main responsability is the recruitment of new units. Indeed, in the first turn, you will start with no armored units, nor planes. So let's start by recruiting them ! + +## Recruitment : + +On the map, click on Kobuleti, and then "open base menu" to open the base management menu. + +![](https://imgur.com/f2bFmAz.png) + +In Airfield Command tab, click on the "+" button to recruit aircrafts : + +![](https://imgur.com/xMwl6UP.png) + +I decided to go with F/A-18C (as i intend to fly one) and F-15C. + +**Note :** You may be tempted to only recruit the unit you intend to fly, but be aware that DCS Liberation will generate a complex combat environement, and AI units will be needed to suceed against your ennemy. Your action as a single pilot, can be important, but you will not be able to win this war alone. + +Also, you do not have an unlimited, budget, so pay attention to that in the top bar ! + +![](https://imgur.com/uLPtWxu.png) + +Then click on the next tab, and recruit some ground units. + +![](https://imgur.com/U4vGHbn.png) + +Ground units are very important, since they will fight on the frontline to progress toward the nearby ennemy bases and defend your airbase against ennemy attacks. Do not underestimate this part of the conflict ! + +The units you bought will not be delivered until next turn. So now you should spend your remainging budget and click on the pass turn button to make progress. (There is no mission generated on first turn since you do not have any units yet, that would be quite unfair.) + +Click on pass turn button in the top right corner of the application : + +![](https://imgur.com/CGn39pO.png) + + + + From d5a6916dda138af4b1be6b5293199d3e61487a1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Perreau?= Date: Fri, 29 May 2020 04:52:16 +0200 Subject: [PATCH 008/704] Updated Tutorial 02 : First turn (markdown) --- Tutorial-02-:-First-turn.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Tutorial-02-:-First-turn.md b/Tutorial-02-:-First-turn.md index a548af0..7254c29 100644 --- a/Tutorial-02-:-First-turn.md +++ b/Tutorial-02-:-First-turn.md @@ -16,7 +16,7 @@ In Airfield Command tab, click on the "+" button to recruit aircrafts : I decided to go with F/A-18C (as i intend to fly one) and F-15C. -**Note :** You may be tempted to only recruit the unit you intend to fly, but be aware that DCS Liberation will generate a complex combat environement, and AI units will be needed to suceed against your ennemy. Your action as a single pilot, can be important, but you will not be able to win this war alone. +**Note :** You may be tempted to only recruit the unit you intend to fly, but be aware that DCS Liberation will generate a complex combat environement, and AI units will be needed to succeed against your ennemy. Your action as a single pilot, can be important, but you will not be able to win this war alone. Also, you do not have an unlimited, budget, so pay attention to that in the top bar ! @@ -28,7 +28,7 @@ Then click on the next tab, and recruit some ground units. Ground units are very important, since they will fight on the frontline to progress toward the nearby ennemy bases and defend your airbase against ennemy attacks. Do not underestimate this part of the conflict ! -The units you bought will not be delivered until next turn. So now you should spend your remainging budget and click on the pass turn button to make progress. (There is no mission generated on first turn since you do not have any units yet, that would be quite unfair.) +The units you bought will not be delivered until next turn. So now you should spend your remaining budget and click on the pass turn button to make progress. (There is no mission generated on first turn since you do not have any units yet, that would be quite unfair.) Click on pass turn button in the top right corner of the application : From e26b98bce2b1b456f9b8ae61ae347e3bbb594db6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Perreau?= Date: Fri, 29 May 2020 05:32:35 +0200 Subject: [PATCH 009/704] Created Tutorial 03 : First operation (markdown) --- Tutorial-03-:-First-operation.md | 94 ++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 Tutorial-03-:-First-operation.md diff --git a/Tutorial-03-:-First-operation.md b/Tutorial-03-:-First-operation.md new file mode 100644 index 0000000..3b51b21 --- /dev/null +++ b/Tutorial-03-:-First-operation.md @@ -0,0 +1,94 @@ +Now this is turn 02, you should be able to see some messages about reinforcement received in the info panel : + +![](https://imgur.com/SwfcEim.png) + +Also make sure to save your game regularly. + +# War on the ground + +The goal in the campaign is to capture all the ennemy points, to do so, you will have to : + +* Help your ground units progress to the ennemy bases. +* Destroy enemy aircraft +* Destroy enemy building (they produce more units) +* Destroy enemy air defense + +... and so on + +On the map, you can the frontline between Kobuleti and Senaki is active. + +![](https://imgur.com/qwzsKsN.png) + +So our units from Kobuleti, will have to make progress toward Senaki. By default your ground units will adopt a defensive stance and wait for the enemy, if you want them to progress to the enemy points, you have to set their combat strategy in the base menu : + +![](https://imgur.com/pkttLdX.png) + +Here they are set to "aggresive", so they will attack the ennemy base "Senaki" + + +# Starting the first mission + +Click on the proceed button in top right corner of the app, to open the mission planner. + +![](https://imgur.com/2tUtIYC.png) + +In the mission planner, you can see the list of mission that DCS Liberation has automatically generated for each airbase. + +![](https://imgur.com/2K371d8.png) + +If you want to join one of these mission. + +Put a client slot for you in the flight you choosed. + +(A client slot is a player slot, and other planes will be automatically occupied by AI) + +Make sure to set the time of departure to 'T + 0', So that you can start immediatly (Otherwise you will get the 'Your flight is delayed message and you will have to wait in DCS') + +![](https://imgur.com/NIORlw2.png) + +Then click on take off to start the mission : + +![](https://imgur.com/h9I1GF1.png) + +This window, will appear, follow the instructions : + +![](https://imgur.com/WIZwnut.png) + +Do not close DCS Liberation. + +And now launch DCS World, open the mission editor, and open the mission "liberation_nextturn" that should have been generated in the default mission folder : + +![](https://imgur.com/HrcFa7V.png) + +And start the mission : + +![](https://imgur.com/EfgYWL3.png) + +The mission briefing will contain informations about your flight : + +![](https://imgur.com/5jUvoeX.png) + +If you are prompted to choose a slot, pick the one you setup for you : + +![](https://imgur.com/WVZuIrz.png) + +Play the mission, here this was a BARCAP mission, so just fly through the configured waypoints and shoot down any enemy aircraft, then when satisfied, RTB (or you can just exit the mission). + +![](https://imgur.com/hFg7Zmh.png) + +![](https://imgur.com/9io8khu.png) + +Enjoy a complex semi dynamic combat environment : + +![](https://imgur.com/ESkpLPP.png) + +Once you exit the mission in DCS World, in DCS Liberation a mission result window will appear, click on Accept results and then OK to proceed to next turn. + + + +Depending on your results, the frontline will progress in your favor or not. +So repeat until the end of the war ! + +More tutorials will come about how to set up SEAD, STRIKE and CAS mission, but this is already possible in the DCS Liberation mission planner if you play around with it; + + From babafe7c2e51c8a5bef24c763ba153a5cd5eac03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Perreau?= Date: Fri, 29 May 2020 05:45:11 +0200 Subject: [PATCH 010/704] Updated Tutorial 03 : First operation (markdown) --- Tutorial-03-:-First-operation.md | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/Tutorial-03-:-First-operation.md b/Tutorial-03-:-First-operation.md index 3b51b21..7e5a723 100644 --- a/Tutorial-03-:-First-operation.md +++ b/Tutorial-03-:-First-operation.md @@ -84,11 +84,18 @@ Enjoy a complex semi dynamic combat environment : Once you exit the mission in DCS World, in DCS Liberation a mission result window will appear, click on Accept results and then OK to proceed to next turn. - - -Depending on your results, the frontline will progress in your favor or not. -So repeat until the end of the war ! - -More tutorials will come about how to set up SEAD, STRIKE and CAS mission, but this is already possible in the DCS Liberation mission planner if you play around with it; +![](https://imgur.com/FIzQWiN.png) + +Then click on Okay + +![](https://imgur.com/R72HqYk.png) + +Depending on your results, the frontline will progress in your favor or not. HEre since we destroyed way more units than the enemy while on the offensive, we made significant progress toward Senaki ! + +![](https://imgur.com/47TGQdH.png) + +So repeat until the end of the war ! Have fun playing DCS Liberation ! + +More tutorials will come about how to set up SEAD, STRIKE and CAS mission, but this is already possible in the DCS Liberation mission planner if you play around with it; From 3fcc9af1dc221833f13535bce5648d73593d780d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Perreau?= Date: Fri, 29 May 2020 15:16:24 +0200 Subject: [PATCH 011/704] Updated Tutorial 01 : UI (markdown) --- Tutorial-01-:-UI.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Tutorial-01-:-UI.md b/Tutorial-01-:-UI.md index 1dfc6a6..5586e3e 100644 --- a/Tutorial-01-:-UI.md +++ b/Tutorial-01-:-UI.md @@ -1,5 +1,7 @@ Now that you have started a campaign, let's go through the UI to get an understanding of what is displayed first. +## The different parts of the UI + ![](https://imgur.com/5uzb0Pv.png) 1 - Toolbar : Here you can start a new campaign, or save the current one @@ -16,4 +18,8 @@ Now that you have started a campaign, let's go through the UI to get an understa 4 - Map : is the ... map of the operation and campaign progress -![](https://imgur.com/iWnb0MA.png) \ No newline at end of file +![](https://imgur.com/iWnb0MA.png) + +## The campaing map + +[WIP] \ No newline at end of file From 94aa652f9c61bfe0e79ae7bd75d20bb67698f558 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Perreau?= Date: Fri, 29 May 2020 15:16:35 +0200 Subject: [PATCH 012/704] Updated Tutorial 01 : UI (markdown) --- Tutorial-01-:-UI.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tutorial-01-:-UI.md b/Tutorial-01-:-UI.md index 5586e3e..c49b014 100644 --- a/Tutorial-01-:-UI.md +++ b/Tutorial-01-:-UI.md @@ -20,6 +20,6 @@ Now that you have started a campaign, let's go through the UI to get an understa ![](https://imgur.com/iWnb0MA.png) -## The campaing map +## The campaign map [WIP] \ No newline at end of file From 9182464f3a171f43080445221cf54bff1575f414 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Perreau?= Date: Fri, 29 May 2020 15:31:47 +0200 Subject: [PATCH 013/704] Updated Tutorial 01 : UI (markdown) --- Tutorial-01-:-UI.md | 49 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) diff --git a/Tutorial-01-:-UI.md b/Tutorial-01-:-UI.md index c49b014..44e07b5 100644 --- a/Tutorial-01-:-UI.md +++ b/Tutorial-01-:-UI.md @@ -22,4 +22,51 @@ Now that you have started a campaign, let's go through the UI to get an understa ## The campaign map -[WIP] \ No newline at end of file +The first thing to know, is that you can declutter the Map if it is too busy in the display menu : + +![](https://imgur.com/qSY9aPn.png) + +Now let's go over what is displayed on the map : + +### Airbases : + +Friendly airbase : + +![](https://imgur.com/pkzdLcm.png) + +You can click on friendly airbase to open base menu, and recruit/manage units. + +Ennemy airbase : + +![](https://imgur.com/z9Lv4DR.png) + +You can click on an ennemy airbase to open intel menu. + +### Point of interests : + +There are multiple type of points of interests : + +Friendly SAM sites : + +![](https://imgur.com/VtgH79a.png) + +(You can hover the mouse over a point of interests to get details.) + +Enemy SAM sites : + +![](https://imgur.com/LxCmJS3.png) + +Others items examples : + +A friendly ammo depot : + +![](https://imgur.com/Cgf56uj.png) + +Others objects are "buildings". Every enemy owned building is contributing to their unit production, so you should consider striking and destroying them. + +Any friendly building will also produce money for your budget every turn. So it might be worth taking the risk of capturing the enemy buildings instead of destroying them. + +Enemy buildings are automatically captured when the nearby airbase has been captured._ + + + From 80ba29536359c8f6765a55785570656a6009e5a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Perreau?= Date: Fri, 29 May 2020 15:34:04 +0200 Subject: [PATCH 014/704] Updated Tutorial 01 : UI (markdown) --- Tutorial-01-:-UI.md | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/Tutorial-01-:-UI.md b/Tutorial-01-:-UI.md index 44e07b5..14ae509 100644 --- a/Tutorial-01-:-UI.md +++ b/Tutorial-01-:-UI.md @@ -30,13 +30,13 @@ Now let's go over what is displayed on the map : ### Airbases : -Friendly airbase : +**Friendly airbase :** ![](https://imgur.com/pkzdLcm.png) You can click on friendly airbase to open base menu, and recruit/manage units. -Ennemy airbase : +**Ennemy airbase :** ![](https://imgur.com/z9Lv4DR.png) @@ -46,22 +46,26 @@ You can click on an ennemy airbase to open intel menu. There are multiple type of points of interests : -Friendly SAM sites : +**Friendly SAM sites :** ![](https://imgur.com/VtgH79a.png) (You can hover the mouse over a point of interests to get details.) -Enemy SAM sites : +**Enemy SAM sites :** ![](https://imgur.com/LxCmJS3.png) -Others items examples : +**Others items examples :** -A friendly ammo depot : +_A friendly ammo depot :_ ![](https://imgur.com/Cgf56uj.png) +_An ennemy factory :_ + +![](https://imgur.com/bqnfcG2.png) + Others objects are "buildings". Every enemy owned building is contributing to their unit production, so you should consider striking and destroying them. Any friendly building will also produce money for your budget every turn. So it might be worth taking the risk of capturing the enemy buildings instead of destroying them. From 298185eeb43cb4c8694e2942b38b2ec5ea91b9b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Perreau?= Date: Fri, 29 May 2020 15:36:30 +0200 Subject: [PATCH 015/704] Updated Tutorial 01 : UI (markdown) --- Tutorial-01-:-UI.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Tutorial-01-:-UI.md b/Tutorial-01-:-UI.md index 14ae509..1d4aa8b 100644 --- a/Tutorial-01-:-UI.md +++ b/Tutorial-01-:-UI.md @@ -72,5 +72,15 @@ Any friendly building will also produce money for your budget every turn. So it Enemy buildings are automatically captured when the nearby airbase has been captured._ +## Frontlines : + +![](https://imgur.com/iaKrN0x.png) + +The frontline let you now how close the ennemy are from you airbase. + + + +[WIP] + From e64ab2de973652ebdae8d1824b1a33ee80f5d217 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Perreau?= Date: Fri, 29 May 2020 22:22:32 +0200 Subject: [PATCH 016/704] Updated Getting started (markdown) --- Getting-started.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Getting-started.md b/Getting-started.md index f763a1c..c227eda 100644 --- a/Getting-started.md +++ b/Getting-started.md @@ -15,6 +15,12 @@ So you might want to re-add the original file before opening untrusted mission f ``` +If you have played a previous version of DCS liberation, you might want to back up your old save if you still intend to play DCS Liberation previous version, and then remove this file to avoid an error on startup : + +/<.openbeta>/liberation_save + +(Save from previous DCS Liberation versions are not compatible with this newer version) + ## Installation : 1 - Download the latest release from this repository. From c060ca9bf6c6b1afe9cf6da1454df594c6becb8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Perreau?= Date: Fri, 29 May 2020 22:26:16 +0200 Subject: [PATCH 017/704] Updated Getting started (markdown) --- Getting-started.md | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/Getting-started.md b/Getting-started.md index c227eda..3a7ea38 100644 --- a/Getting-started.md +++ b/Getting-started.md @@ -15,11 +15,19 @@ So you might want to re-add the original file before opening untrusted mission f ``` -If you have played a previous version of DCS liberation, you might want to back up your old save if you still intend to play DCS Liberation previous version, and then remove this file to avoid an error on startup : +**Other important note before you launch DCS Liberation :** -/<.openbeta>/liberation_save +If you have played a previous version of DCS liberation, remove (and backup if needed) your DCS Liberation save file to avoid an error and crash on startup with the current version : -(Save from previous DCS Liberation versions are not compatible with this newer version) +* C:/ [...] /Saved Games/DCS.openbeta/liberation_save + +or + +* C:/ [...] /Saved Games/DCS/liberation_save + +Depending on your installation. + +**Save file from previous DCS Liberation versions are not compatible with this newer version** ## Installation : From 91f36340cdb0cf4828551e12ee5dec40929604dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Perreau?= Date: Fri, 29 May 2020 22:26:45 +0200 Subject: [PATCH 018/704] Updated Getting started (markdown) --- Getting-started.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Getting-started.md b/Getting-started.md index 3a7ea38..5418ab4 100644 --- a/Getting-started.md +++ b/Getting-started.md @@ -27,7 +27,7 @@ or Depending on your installation. -**Save file from previous DCS Liberation versions are not compatible with this newer version** +**Save files from previous DCS Liberation versions are not compatible with this newer version** ## Installation : From 3b7c68c38024878dec9bbddfdfea2c22b74c8c17 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sat, 30 May 2020 11:25:15 +0200 Subject: [PATCH 019/704] Created Tutorial 04 : Setting UP a custom STRIKE mission (markdown) --- ...04-:-Setting-UP-a-custom-STRIKE-mission.md | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 Tutorial-04-:-Setting-UP-a-custom-STRIKE-mission.md diff --git a/Tutorial-04-:-Setting-UP-a-custom-STRIKE-mission.md b/Tutorial-04-:-Setting-UP-a-custom-STRIKE-mission.md new file mode 100644 index 0000000..b9fbc56 --- /dev/null +++ b/Tutorial-04-:-Setting-UP-a-custom-STRIKE-mission.md @@ -0,0 +1,51 @@ +## Determining a target : + +The first step is to find a target to Strike. + +Here is our campaign for instance : + +![](https://imgur.com/J8nSJfi.png) + +As you know, the small red square icons are enemy buildings or air defenses. +There are multiple kind of building and air defenses site. + +Choosing a building : + +Before you choose a building to destroy, you should know that some of them are more valuable to the ennemy. The more building the ennemy has, the more reinforcement he'll receive. + +The building that contribute most to the ennemy War effort are "Oil" and "Factory", while "FARP" and "FOB" contribute less to the ennemy budget. + +So let's target the oil station near Sukhumi : + +![](https://imgur.com/Z0bNIHQ.png) + +You can hover over the icon with the mouse to get the Building tactical identifier, here it is "JAGUAR" + +Now, click on proceed to go the mission planner and choose departure from the nearby aircraft carrier : + +![](https://imgur.com/gdSgLx8.png) + +Click on Add flight, and add a two-aircraft STRIKE flight. I'll use F/A-18C in this example. + +![](https://imgur.com/ceYRiQx.png) + +So your flight has been created and will appear in the flight list. Add a client slot for you and head for the "Waypoints" tab in the mission planner, with your flight selected. + +![](https://imgur.com/Nd3NQ8R.png) + +In waypoints tab, click on add waypoint : + +![](https://imgur.com/jQ2K7Vx.png) + +In the selection box, type in "JAGUAR", the name of the objective we want to strike, and then choose the first occurence. + +![](https://imgur.com/DwlAyyj.png) + +Keep the "Include all objects" checkbox checked. Then click on Add + +![](https://imgur.com/noPWGUw) + +This will have created a waypoint in your flight plan for each enemy building located at objective "JAGUAR" : + + + From 19a85104f48612b3821e7f571ba627455b97489b Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sat, 30 May 2020 11:25:34 +0200 Subject: [PATCH 020/704] Updated Tutorial 04 : Setting UP a custom STRIKE mission (markdown) --- ...d => "Tutorial-04-:-Setting-up-a-custom-\"Strike\"-mission.md" | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Tutorial-04-:-Setting-UP-a-custom-STRIKE-mission.md => "Tutorial-04-:-Setting-up-a-custom-\"Strike\"-mission.md" (100%) diff --git a/Tutorial-04-:-Setting-UP-a-custom-STRIKE-mission.md "b/Tutorial-04-:-Setting-up-a-custom-\"Strike\"-mission.md" similarity index 100% rename from Tutorial-04-:-Setting-UP-a-custom-STRIKE-mission.md rename to "Tutorial-04-:-Setting-up-a-custom-\"Strike\"-mission.md" From ff2d975fbbf6bed3976abfbf4927b5ed9e653b41 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sat, 30 May 2020 11:27:57 +0200 Subject: [PATCH 021/704] Updated Tutorial 04 : Setting up a custom "Strike" mission (markdown) --- "Tutorial-04-:-Setting-up-a-custom-\"Strike\"-mission.md" | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git "a/Tutorial-04-:-Setting-up-a-custom-\"Strike\"-mission.md" "b/Tutorial-04-:-Setting-up-a-custom-\"Strike\"-mission.md" index b9fbc56..30f3518 100644 --- "a/Tutorial-04-:-Setting-up-a-custom-\"Strike\"-mission.md" +++ "b/Tutorial-04-:-Setting-up-a-custom-\"Strike\"-mission.md" @@ -43,9 +43,12 @@ In the selection box, type in "JAGUAR", the name of the objective we want to str Keep the "Include all objects" checkbox checked. Then click on Add -![](https://imgur.com/noPWGUw) +![](https://imgur.com/noPWGUw.png) This will have created a waypoint in your flight plan for each enemy building located at objective "JAGUAR" : +![](https://imgur.com/0ugaKSd.png) + +Then click on take off to start DCS, and drop a GBU-38 on each waypoint ! From 09dd725a2012bfd53499e383429ac5a9ba88050c Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sat, 30 May 2020 11:31:50 +0200 Subject: [PATCH 022/704] Updated Tutorial 04 : Setting up a custom "Strike" mission (markdown) --- "Tutorial-04-:-Setting-up-a-custom-\"Strike\"-mission.md" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/Tutorial-04-:-Setting-up-a-custom-\"Strike\"-mission.md" "b/Tutorial-04-:-Setting-up-a-custom-\"Strike\"-mission.md" index 30f3518..368fe72 100644 --- "a/Tutorial-04-:-Setting-up-a-custom-\"Strike\"-mission.md" +++ "b/Tutorial-04-:-Setting-up-a-custom-\"Strike\"-mission.md" @@ -49,6 +49,6 @@ This will have created a waypoint in your flight plan for each enemy building lo ![](https://imgur.com/0ugaKSd.png) -Then click on take off to start DCS, and drop a GBU-38 on each waypoint ! +Then click on take off to start DCS, and let's drop a GBU-38 on each waypoint ! From f24a8f0928dfefc12516f0e02d2d0b4ded0ed4e1 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sat, 30 May 2020 11:33:56 +0200 Subject: [PATCH 023/704] Updated Tutorial 04 : Setting up a custom "Strike" mission (markdown) --- "Tutorial-04-:-Setting-up-a-custom-\"Strike\"-mission.md" | 2 ++ 1 file changed, 2 insertions(+) diff --git "a/Tutorial-04-:-Setting-up-a-custom-\"Strike\"-mission.md" "b/Tutorial-04-:-Setting-up-a-custom-\"Strike\"-mission.md" index 368fe72..98a3ff4 100644 --- "a/Tutorial-04-:-Setting-up-a-custom-\"Strike\"-mission.md" +++ "b/Tutorial-04-:-Setting-up-a-custom-\"Strike\"-mission.md" @@ -51,4 +51,6 @@ This will have created a waypoint in your flight plan for each enemy building lo Then click on take off to start DCS, and let's drop a GBU-38 on each waypoint ! +![](https://imgur.com/ip1cqIo.png) + From 7570f8d67f706699b943c092b5ffbe9e1ae6f58f Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sat, 30 May 2020 11:34:37 +0200 Subject: [PATCH 024/704] Updated Tutorial 04 : Setting up a custom "Strike" mission (markdown) --- "Tutorial-04-:-Setting-up-a-custom-\"Strike\"-mission.md" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/Tutorial-04-:-Setting-up-a-custom-\"Strike\"-mission.md" "b/Tutorial-04-:-Setting-up-a-custom-\"Strike\"-mission.md" index 98a3ff4..c1a013b 100644 --- "a/Tutorial-04-:-Setting-up-a-custom-\"Strike\"-mission.md" +++ "b/Tutorial-04-:-Setting-up-a-custom-\"Strike\"-mission.md" @@ -53,4 +53,4 @@ Then click on take off to start DCS, and let's drop a GBU-38 on each waypoint ! ![](https://imgur.com/ip1cqIo.png) - +![](https://imgur.com/uiDkorc.png) From ecdb9a5ff0a934d3d87cf09a28018eb966229e9e Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Tue, 9 Jun 2020 01:02:35 +0200 Subject: [PATCH 025/704] Updated Home (markdown) --- Home.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Home.md b/Home.md index 1b328aa..77898c5 100644 --- a/Home.md +++ b/Home.md @@ -1 +1 @@ -Welcome to the dcs_liberation wiki! +Welcome to the dcs_liberation wiki ! From 00ec42b892cde4ad2f84c3b8fe7a344163a28e19 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Tue, 9 Jun 2020 01:02:44 +0200 Subject: [PATCH 026/704] Updated Getting started (markdown) --- Getting-started.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Getting-started.md b/Getting-started.md index 5418ab4..a2b58f5 100644 --- a/Getting-started.md +++ b/Getting-started.md @@ -1,5 +1,6 @@ **Important Note before you launch DCS Liberation :** + ``` Be aware that DCS Liberation will modify the following file in your DCS installation : From 78a44fe7dc9c1787da17f945f3af18dfafd74dba Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Tue, 9 Jun 2020 01:02:53 +0200 Subject: [PATCH 027/704] Updated Tutorial 01 : UI (markdown) --- Tutorial-01-:-UI.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Tutorial-01-:-UI.md b/Tutorial-01-:-UI.md index 1d4aa8b..61c7f13 100644 --- a/Tutorial-01-:-UI.md +++ b/Tutorial-01-:-UI.md @@ -1,5 +1,6 @@ Now that you have started a campaign, let's go through the UI to get an understanding of what is displayed first. + ## The different parts of the UI ![](https://imgur.com/5uzb0Pv.png) From 8743c8f81985edfe93ab0ec429893b701a46761f Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Tue, 9 Jun 2020 01:03:01 +0200 Subject: [PATCH 028/704] Updated Tutorial 02 : First turn (markdown) --- Tutorial-02-:-First-turn.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Tutorial-02-:-First-turn.md b/Tutorial-02-:-First-turn.md index 7254c29..393c8e0 100644 --- a/Tutorial-02-:-First-turn.md +++ b/Tutorial-02-:-First-turn.md @@ -2,6 +2,7 @@ In DCS Liberation you are responsible of some decisions regarding the course of This is a turn based simulation, for every turn, DCS Liberation will generate a DCS World mission that you will have to fly. + One of your main responsability is the recruitment of new units. Indeed, in the first turn, you will start with no armored units, nor planes. So let's start by recruiting them ! ## Recruitment : From 5d01119c29c510d8f033d0e985ba27775e6ccbe1 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Tue, 9 Jun 2020 01:03:09 +0200 Subject: [PATCH 029/704] Updated Tutorial 03 : First operation (markdown) --- Tutorial-03-:-First-operation.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Tutorial-03-:-First-operation.md b/Tutorial-03-:-First-operation.md index 7e5a723..7c046df 100644 --- a/Tutorial-03-:-First-operation.md +++ b/Tutorial-03-:-First-operation.md @@ -1,5 +1,6 @@ Now this is turn 02, you should be able to see some messages about reinforcement received in the info panel : + ![](https://imgur.com/SwfcEim.png) Also make sure to save your game regularly. From 1ffd401af80cb1a8e5e4cba878f0b09e42427a05 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sun, 19 Jul 2020 01:32:08 +0200 Subject: [PATCH 030/704] Updated Getting started (markdown) --- Getting-started.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Getting-started.md b/Getting-started.md index a2b58f5..64cb0de 100644 --- a/Getting-started.md +++ b/Getting-started.md @@ -32,8 +32,10 @@ Depending on your installation. ## Installation : -1 - Download the latest release from this repository. +1 - Download the latest release from this repository. (Releases are listed here : https://github.com/Khopa/dcs_liberation/releases) + 2 - Extract the zip file to a new folder. + 3 - Then launch liberation_main.exe to launch DCS Liberation 2.0. DCS Liberation should launch ! From 38c06a14335da1dcd42dcea6a2483a108d016f9e Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Fri, 14 Aug 2020 19:46:44 +0200 Subject: [PATCH 031/704] Updated Home (markdown) --- Home.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Home.md b/Home.md index 77898c5..c6f7bc0 100644 --- a/Home.md +++ b/Home.md @@ -1 +1,5 @@ -Welcome to the dcs_liberation wiki ! +Welcome to the DCS Liberation wiki ! + +**Learning resources : ** + + From fbc866305de626f80330c8968fb35d7759ac4504 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Fri, 14 Aug 2020 19:49:22 +0200 Subject: [PATCH 032/704] Updated Home (markdown) --- Home.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/Home.md b/Home.md index c6f7bc0..bccf2bd 100644 --- a/Home.md +++ b/Home.md @@ -1,5 +1,14 @@ Welcome to the DCS Liberation wiki ! -**Learning resources : ** +I recommend you read our [Getting Started](https://github.com/Khopa/dcs_liberation/wiki/Getting-started) guide first. + +###Documentation/Tutorials + +*Some screenshots might be outdated* + +###Videos resources + +Some Youtubers have tried DCS Liberation, here is a list of content to watch: + From ce04b0f527d3db89050ade1ec9c467541749b75f Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Fri, 14 Aug 2020 19:49:28 +0200 Subject: [PATCH 033/704] Updated Home (markdown) --- Home.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/Home.md b/Home.md index bccf2bd..5d3b4a1 100644 --- a/Home.md +++ b/Home.md @@ -6,9 +6,5 @@ I recommend you read our [Getting Started](https://github.com/Khopa/dcs_liberati *Some screenshots might be outdated* -###Videos resources - -Some Youtubers have tried DCS Liberation, here is a list of content to watch: - From 86d80c4c44793e4f97db6a0582ab9cd5a0da0141 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Fri, 14 Aug 2020 19:49:49 +0200 Subject: [PATCH 034/704] Updated Home (markdown) --- Home.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Home.md b/Home.md index 5d3b4a1..c899231 100644 --- a/Home.md +++ b/Home.md @@ -2,9 +2,9 @@ Welcome to the DCS Liberation wiki ! I recommend you read our [Getting Started](https://github.com/Khopa/dcs_liberation/wiki/Getting-started) guide first. -###Documentation/Tutorials +### Documentation/Tutorials -*Some screenshots might be outdated* +_Some screenshots might be outdated_ From 0f11f8f85daca5081b72ebea55d41c5b28e7bc46 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Fri, 14 Aug 2020 19:50:16 +0200 Subject: [PATCH 035/704] Updated Home (markdown) --- Home.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Home.md b/Home.md index c899231..b5d4254 100644 --- a/Home.md +++ b/Home.md @@ -6,5 +6,13 @@ I recommend you read our [Getting Started](https://github.com/Khopa/dcs_liberati _Some screenshots might be outdated_ +https://github.com/Khopa/dcs_liberation/wiki/Tutorial-01-:-UI + +https://github.com/Khopa/dcs_liberation/wiki/Tutorial-02-:-UI + +https://github.com/Khopa/dcs_liberation/wiki/Tutorial-03-:-UI + +https://github.com/Khopa/dcs_liberation/wiki/Tutorial-04-:-UI + From d160835e67b15b52531e39346db0053917f79439 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Fri, 14 Aug 2020 19:50:34 +0200 Subject: [PATCH 036/704] Updated Home (markdown) --- Home.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Home.md b/Home.md index b5d4254..d4117bc 100644 --- a/Home.md +++ b/Home.md @@ -8,7 +8,7 @@ _Some screenshots might be outdated_ https://github.com/Khopa/dcs_liberation/wiki/Tutorial-01-:-UI -https://github.com/Khopa/dcs_liberation/wiki/Tutorial-02-:-UI +https://github.com/Khopa/dcs_liberation/wiki/Tutorial-02-:-First-turn https://github.com/Khopa/dcs_liberation/wiki/Tutorial-03-:-UI From 5c38f5cbe9c3c5fcd57712357c6c6264eb310f8a Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Fri, 14 Aug 2020 19:50:44 +0200 Subject: [PATCH 037/704] Updated Home (markdown) --- Home.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Home.md b/Home.md index d4117bc..b26f7f2 100644 --- a/Home.md +++ b/Home.md @@ -10,7 +10,7 @@ https://github.com/Khopa/dcs_liberation/wiki/Tutorial-01-:-UI https://github.com/Khopa/dcs_liberation/wiki/Tutorial-02-:-First-turn -https://github.com/Khopa/dcs_liberation/wiki/Tutorial-03-:-UI +https://github.com/Khopa/dcs_liberation/wiki/Tutorial-03-:-First-operation https://github.com/Khopa/dcs_liberation/wiki/Tutorial-04-:-UI From f8963b7df8e6a3fbcdae32e6aabf8cde427f9064 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Fri, 14 Aug 2020 19:52:02 +0200 Subject: [PATCH 038/704] Updated Home (markdown) --- Home.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Home.md b/Home.md index b26f7f2..bd8aae3 100644 --- a/Home.md +++ b/Home.md @@ -6,13 +6,17 @@ I recommend you read our [Getting Started](https://github.com/Khopa/dcs_liberati _Some screenshots might be outdated_ -https://github.com/Khopa/dcs_liberation/wiki/Tutorial-01-:-UI +[0 - Getting Started](https://github.com/Khopa/dcs_liberation/wiki/Getting-started) -https://github.com/Khopa/dcs_liberation/wiki/Tutorial-02-:-First-turn +[1 - DCS Liberation UI](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-01-:-UI) -https://github.com/Khopa/dcs_liberation/wiki/Tutorial-03-:-First-operation +[2 - First turn](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-02-:-First-turn) -https://github.com/Khopa/dcs_liberation/wiki/Tutorial-04-:-UI +[3 - First operation](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-03-:-First-operation) + +[4 - Setting up a csutom Strike mission](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-04-:-Setting-up-a-custom-%22Strike%22-mission) + +### Developers resources From ed4585ae4d408c27764d963eb14a5fc7a9895776 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Fri, 14 Aug 2020 19:55:26 +0200 Subject: [PATCH 039/704] Updated Home (markdown) --- Home.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Home.md b/Home.md index bd8aae3..9322dbe 100644 --- a/Home.md +++ b/Home.md @@ -1,6 +1,6 @@ Welcome to the DCS Liberation wiki ! -I recommend you read our [Getting Started](https://github.com/Khopa/dcs_liberation/wiki/Getting-started) guide first. +I recommend you read the [Getting Started](https://github.com/Khopa/dcs_liberation/wiki/Getting-started) guide first. ### Documentation/Tutorials From e9db0484e2c3501ab6fe2c074c05fa64465464f0 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Fri, 14 Aug 2020 20:43:38 +0200 Subject: [PATCH 040/704] Created Contributing to DCS Liberation (markdown) --- Contributing-to-DCS-Liberation.md | 83 +++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 Contributing-to-DCS-Liberation.md diff --git a/Contributing-to-DCS-Liberation.md b/Contributing-to-DCS-Liberation.md new file mode 100644 index 0000000..38e2533 --- /dev/null +++ b/Contributing-to-DCS-Liberation.md @@ -0,0 +1,83 @@ +Hello, and thanks for your interests in contributing for DCS Liberation. + +There are multiple simple ways to contribute to the project indirectly. +* Open an issue on the Github repo when you find one +* You can also discuss bugs on the DCS Liberation Discord server (on the bug-report channel) +* Discussion on Discord +* Raise awareness about the project, by making a video and/or a tutorial +* Help new users on Discord + +And last but not least, you could also help developing new features. For this please refer to the developer's guide. + +Please also note that we have a code of conduct, please follow it in all your interactions with the project. + +*** + +## Code of Conduct + +### Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone. + +### Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or +advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +### Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +### Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +### Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team on Discord. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +### Attribution +This Code of Conduct is adapted from the Contributor Covenant, version 1.4, available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html + +For answers to common questions about this code of conduct, see https://www.contributor-covenant.org/faq \ No newline at end of file From c7ae174e79da2b99b4c817c3b4868be36dd91830 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sun, 16 Aug 2020 15:36:21 +0200 Subject: [PATCH 041/704] Created Code of Conduct (markdown) --- Code-of-Conduct.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 Code-of-Conduct.md diff --git a/Code-of-Conduct.md b/Code-of-Conduct.md new file mode 100644 index 0000000..945c9b4 --- /dev/null +++ b/Code-of-Conduct.md @@ -0,0 +1 @@ +. \ No newline at end of file From 491481bb55a9a00f5cad9b287548733be3c00a04 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sun, 16 Aug 2020 15:36:47 +0200 Subject: [PATCH 042/704] Updated Contributing to DCS Liberation (markdown) --- Contributing-to-DCS-Liberation.md | 72 +------------------------------ 1 file changed, 1 insertion(+), 71 deletions(-) diff --git a/Contributing-to-DCS-Liberation.md b/Contributing-to-DCS-Liberation.md index 38e2533..7a2a332 100644 --- a/Contributing-to-DCS-Liberation.md +++ b/Contributing-to-DCS-Liberation.md @@ -9,75 +9,5 @@ There are multiple simple ways to contribute to the project indirectly. And last but not least, you could also help developing new features. For this please refer to the developer's guide. -Please also note that we have a code of conduct, please follow it in all your interactions with the project. +Please also note that we have a [code of conduct](), please follow it in all your interactions with the project. -*** - -## Code of Conduct - -### Our Pledge - -In the interest of fostering an open and welcoming environment, we as -contributors and maintainers pledge to making participation in our project and -our community a harassment-free experience for everyone. - -### Our Standards - -Examples of behavior that contributes to creating a positive environment -include: - -* Using welcoming and inclusive language -* Being respectful of differing viewpoints and experiences -* Gracefully accepting constructive criticism -* Focusing on what is best for the community -* Showing empathy towards other community members - -Examples of unacceptable behavior by participants include: - -* The use of sexualized language or imagery and unwelcome sexual attention or -advances -* Trolling, insulting/derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or electronic - address, without explicit permission -* Other conduct which could reasonably be considered inappropriate in a - professional setting - -### Our Responsibilities - -Project maintainers are responsible for clarifying the standards of acceptable -behavior and are expected to take appropriate and fair corrective action in -response to any instances of unacceptable behavior. - -Project maintainers have the right and responsibility to remove, edit, or -reject comments, commits, code, wiki edits, issues, and other contributions -that are not aligned to this Code of Conduct, or to ban temporarily or -permanently any contributor for other behaviors that they deem inappropriate, -threatening, offensive, or harmful. - -### Scope - -This Code of Conduct applies both within project spaces and in public spaces -when an individual is representing the project or its community. Examples of -representing a project or community include using an official project e-mail -address, posting via an official social media account, or acting as an appointed -representative at an online or offline event. Representation of a project may be -further defined and clarified by project maintainers. - -### Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported by contacting the project team on Discord. All -complaints will be reviewed and investigated and will result in a response that -is deemed necessary and appropriate to the circumstances. The project team is -obligated to maintain confidentiality with regard to the reporter of an incident. -Further details of specific enforcement policies may be posted separately. - -Project maintainers who do not follow or enforce the Code of Conduct in good -faith may face temporary or permanent repercussions as determined by other -members of the project's leadership. - -### Attribution -This Code of Conduct is adapted from the Contributor Covenant, version 1.4, available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html - -For answers to common questions about this code of conduct, see https://www.contributor-covenant.org/faq \ No newline at end of file From 6f63e37b52835bac2d740bc19d9254dde60a05c7 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sun, 16 Aug 2020 15:36:55 +0200 Subject: [PATCH 043/704] Updated Code of Conduct (markdown) --- Code-of-Conduct.md | 69 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 68 insertions(+), 1 deletion(-) diff --git a/Code-of-Conduct.md b/Code-of-Conduct.md index 945c9b4..1c998ec 100644 --- a/Code-of-Conduct.md +++ b/Code-of-Conduct.md @@ -1 +1,68 @@ -. \ No newline at end of file +## Code of Conduct + +### Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone. + +### Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or +advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +### Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +### Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +### Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team on Discord. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +### Attribution +This Code of Conduct is adapted from the Contributor Covenant, version 1.4, available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html + +For answers to common questions about this code of conduct, see https://www.contributor-covenant.org/faq \ No newline at end of file From 9fcbfeb0d9975f8bc41b0e792e2c3d765b3ef4eb Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sun, 16 Aug 2020 15:37:21 +0200 Subject: [PATCH 044/704] Updated Code of Conduct (markdown) --- Code-of-Conduct.md => ---Annex-:-Code-of-Conduct.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Code-of-Conduct.md => ---Annex-:-Code-of-Conduct.md (100%) diff --git a/Code-of-Conduct.md b/---Annex-:-Code-of-Conduct.md similarity index 100% rename from Code-of-Conduct.md rename to ---Annex-:-Code-of-Conduct.md From 022b0973c2c2b1e6b0ab975c0559bc66876185db Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sun, 16 Aug 2020 15:38:26 +0200 Subject: [PATCH 045/704] Updated Annex : Code of Conduct (markdown) --- ---Annex-:-Code-of-Conduct.md => z---Code-of-Conduct.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename ---Annex-:-Code-of-Conduct.md => z---Code-of-Conduct.md (100%) diff --git a/---Annex-:-Code-of-Conduct.md b/z---Code-of-Conduct.md similarity index 100% rename from ---Annex-:-Code-of-Conduct.md rename to z---Code-of-Conduct.md From eac055a06e4b61fcfb295b6d5f133c8c1852b3ae Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sun, 16 Aug 2020 15:38:34 +0200 Subject: [PATCH 046/704] Updated z Code of Conduct (markdown) --- z---Code-of-Conduct.md => Code-of-Conduct.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename z---Code-of-Conduct.md => Code-of-Conduct.md (100%) diff --git a/z---Code-of-Conduct.md b/Code-of-Conduct.md similarity index 100% rename from z---Code-of-Conduct.md rename to Code-of-Conduct.md From ad0173e2152f3fad8f23fd02dae612836c83a434 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sun, 16 Aug 2020 15:41:01 +0200 Subject: [PATCH 047/704] Updated Contributing to DCS Liberation (markdown) --- Contributing-to-DCS-Liberation.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Contributing-to-DCS-Liberation.md b/Contributing-to-DCS-Liberation.md index 7a2a332..42d487b 100644 --- a/Contributing-to-DCS-Liberation.md +++ b/Contributing-to-DCS-Liberation.md @@ -2,10 +2,12 @@ Hello, and thanks for your interests in contributing for DCS Liberation. There are multiple simple ways to contribute to the project indirectly. * Open an issue on the Github repo when you find one -* You can also discuss bugs on the DCS Liberation Discord server (on the bug-report channel) -* Discussion on Discord -* Raise awareness about the project, by making a video and/or a tutorial +* You can also report bugs on the DCS Liberation Discord server (on the bug-report channel) * Help new users on Discord +* Answer questions on the "help wanted" channel on discord. +* Raise awareness about the project, by making a video and/or a tutorial + +[![Discord](https://img.shields.io/discord/595702951800995872?label=Discord&logo=discord)](https://discord.gg/bKrtrkJ) And last but not least, you could also help developing new features. For this please refer to the developer's guide. From f9183a282a4c09f896572e714feab58bf88b9b99 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sun, 16 Aug 2020 15:41:30 +0200 Subject: [PATCH 048/704] Updated Contributing to DCS Liberation (markdown) --- Contributing-to-DCS-Liberation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Contributing-to-DCS-Liberation.md b/Contributing-to-DCS-Liberation.md index 42d487b..f9910eb 100644 --- a/Contributing-to-DCS-Liberation.md +++ b/Contributing-to-DCS-Liberation.md @@ -7,7 +7,7 @@ There are multiple simple ways to contribute to the project indirectly. * Answer questions on the "help wanted" channel on discord. * Raise awareness about the project, by making a video and/or a tutorial -[![Discord](https://img.shields.io/discord/595702951800995872?label=Discord&logo=discord)](https://discord.gg/bKrtrkJ) +You can join the discord here : [![Discord](https://img.shields.io/discord/595702951800995872?label=Discord&logo=discord)](https://discord.gg/bKrtrkJ) And last but not least, you could also help developing new features. For this please refer to the developer's guide. From f8780e4ff842b18ec04f373a4abd49b1931f7e89 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sun, 16 Aug 2020 15:42:10 +0200 Subject: [PATCH 049/704] Updated Contributing to DCS Liberation (markdown) --- Contributing-to-DCS-Liberation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Contributing-to-DCS-Liberation.md b/Contributing-to-DCS-Liberation.md index f9910eb..f4d6663 100644 --- a/Contributing-to-DCS-Liberation.md +++ b/Contributing-to-DCS-Liberation.md @@ -11,5 +11,5 @@ You can join the discord here : [![Discord](https://img.shields.io/discord/59570 And last but not least, you could also help developing new features. For this please refer to the developer's guide. -Please also note that we have a [code of conduct](), please follow it in all your interactions with the project. +Please also note that we have a [code of conduct](https://github.com/Khopa/dcs_liberation/wiki/Code-of-Conduct), please follow it in all your interactions with the project. From dbda4e66f9af1f3e518fa54d02160a4dc9ffb312 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sun, 16 Aug 2020 15:43:55 +0200 Subject: [PATCH 050/704] Created _Sidebar (markdown) --- _Sidebar.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 _Sidebar.md diff --git a/_Sidebar.md b/_Sidebar.md new file mode 100644 index 0000000..2245052 --- /dev/null +++ b/_Sidebar.md @@ -0,0 +1,3 @@ +## Tutorials + +[Getting Started] \ No newline at end of file From 03390d1ac2caab0947647b6a2cec908d837468f2 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sun, 16 Aug 2020 15:44:28 +0200 Subject: [PATCH 051/704] Updated _Sidebar (markdown) --- _Sidebar.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/_Sidebar.md b/_Sidebar.md index 2245052..31e242f 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -1,3 +1,11 @@ ## Tutorials -[Getting Started] \ No newline at end of file +[Getting Started](https://github.com/Khopa/dcs_liberation/wiki/Getting-started) + +[1 - DCS Liberation UI](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-01-:-UI) + +[2 - First turn](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-02-:-First-turn) + +[3 - First operation](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-03-:-First-operation) + +[4 - Setting up a csutom Strike mission](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-04-:-Setting-up-a-custom-%22Strike%22-mission) \ No newline at end of file From 827648015ae7eee2fa5f650babc741295da169cf Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sun, 16 Aug 2020 15:46:17 +0200 Subject: [PATCH 052/704] Created Developer's Guide (markdown) --- Developer's-Guide.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 Developer's-Guide.md diff --git a/Developer's-Guide.md b/Developer's-Guide.md new file mode 100644 index 0000000..6d3f665 --- /dev/null +++ b/Developer's-Guide.md @@ -0,0 +1 @@ +WIP \ No newline at end of file From 45e4b7c6819786a953b22ba6efc2eec4e9aa3bf3 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sun, 16 Aug 2020 15:47:24 +0200 Subject: [PATCH 053/704] Updated _Sidebar (markdown) --- _Sidebar.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/_Sidebar.md b/_Sidebar.md index 31e242f..7f65e77 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -8,4 +8,15 @@ [3 - First operation](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-03-:-First-operation) -[4 - Setting up a csutom Strike mission](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-04-:-Setting-up-a-custom-%22Strike%22-mission) \ No newline at end of file +[4 - Setting up a custom Strike mission](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-04-:-Setting-up-a-custom-%22Strike%22-mission) + +## Contributions + +[Contributing to DCS Liberation][https://github.com/Khopa/dcs_liberation/wiki/Contributing-to-DCS-Liberation] + +[Developer's Guide][https://github.com/Khopa/dcs_liberation/wiki/Contributing-to-DCS-Liberation] + +## Misc + +[Code of Conduct](https://github.com/Khopa/dcs_liberation/wiki/Code-of-Conduct) + From ec2d3cffec42ce5857275024fa788958d46e75e7 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sun, 16 Aug 2020 15:47:44 +0200 Subject: [PATCH 054/704] Updated _Sidebar (markdown) --- _Sidebar.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_Sidebar.md b/_Sidebar.md index 7f65e77..922919f 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -12,9 +12,9 @@ ## Contributions -[Contributing to DCS Liberation][https://github.com/Khopa/dcs_liberation/wiki/Contributing-to-DCS-Liberation] +[Contributing to DCS Liberation](https://github.com/Khopa/dcs_liberation/wiki/Contributing-to-DCS-Liberation) -[Developer's Guide][https://github.com/Khopa/dcs_liberation/wiki/Contributing-to-DCS-Liberation] +[Developer's Guide](https://github.com/Khopa/dcs_liberation/wiki/Contributing-to-DCS-Liberation) ## Misc From f03efb0db901f39da1bfee5c7446871e2bf65335 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sun, 16 Aug 2020 15:48:23 +0200 Subject: [PATCH 055/704] Updated Contributing to DCS Liberation (markdown) --- Contributing-to-DCS-Liberation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Contributing-to-DCS-Liberation.md b/Contributing-to-DCS-Liberation.md index f4d6663..3ad1905 100644 --- a/Contributing-to-DCS-Liberation.md +++ b/Contributing-to-DCS-Liberation.md @@ -1,4 +1,4 @@ -Hello, and thanks for your interests in contributing for DCS Liberation. +Hello, and thanks for your interests in contributing to DCS Liberation. There are multiple simple ways to contribute to the project indirectly. * Open an issue on the Github repo when you find one From 1b28de38c166c3c38fc2101db0a6faf91292c6ee Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sun, 16 Aug 2020 15:50:03 +0200 Subject: [PATCH 056/704] Updated _Sidebar (markdown) --- _Sidebar.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_Sidebar.md b/_Sidebar.md index 922919f..3c75447 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -14,7 +14,7 @@ [Contributing to DCS Liberation](https://github.com/Khopa/dcs_liberation/wiki/Contributing-to-DCS-Liberation) -[Developer's Guide](https://github.com/Khopa/dcs_liberation/wiki/Contributing-to-DCS-Liberation) +[Developer's Guide](https://github.com/Khopa/dcs_liberation/wiki/Developer's-Guide) ## Misc From 96f10174aec115c3db6fb5d2c1c4e450b61f4825 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sun, 16 Aug 2020 16:33:10 +0200 Subject: [PATCH 057/704] Updated Developer's Guide (markdown) --- Developer's-Guide.md | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/Developer's-Guide.md b/Developer's-Guide.md index 6d3f665..ba11886 100644 --- a/Developer's-Guide.md +++ b/Developer's-Guide.md @@ -1 +1,32 @@ -WIP \ No newline at end of file +Welcome to the dev guide ! + +## Technical sum up + +DCS Liberation is coded in Python, with QT5 as UI framework. +It uses pyDCS to generate DCS World missions. + +Before contributing to DCS Liberation, you should also maybe consider contributing to [PyDCS](https://github.com/pydcs/dcs), this is a great way to contribute indirectly to the project. + +## Project history + +DCS Liberation was a project started in 2018 by shdwp, original repo is still available here : https://github.com/shdwp/dcs_liberation +The original UI was different, and the mission generation process was different as well from version 2.0+ + +## Required tools + +* [Python 3.6+](https://www.python.org/downloads/) +* A code Editor for Python. I recommend [PyCharm Community Edition](https://www.jetbrains.com/pycharm/download/#section=windows), you can add plugin for Lua. + +When you install Python, make sure to install pip for dependencies management. + +## Checkout the repository code with git + +**master branch** : Should be even with current release version +**develop branch** : Current version being worked on, might be unstable + +## Installing dependencies + +pip install -r requirements.txt + +## Running from sources + From cf8f8be14adf2e64b4b92770147f85d2e4b049b9 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sun, 16 Aug 2020 16:36:52 +0200 Subject: [PATCH 058/704] Updated Developer's Guide (markdown) --- Developer's-Guide.md | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/Developer's-Guide.md b/Developer's-Guide.md index ba11886..aa5532b 100644 --- a/Developer's-Guide.md +++ b/Developer's-Guide.md @@ -10,6 +10,7 @@ Before contributing to DCS Liberation, you should also maybe consider contributi ## Project history DCS Liberation was a project started in 2018 by shdwp, original repo is still available here : https://github.com/shdwp/dcs_liberation + The original UI was different, and the mission generation process was different as well from version 2.0+ ## Required tools @@ -21,12 +22,24 @@ When you install Python, make sure to install pip for dependencies management. ## Checkout the repository code with git -**master branch** : Should be even with current release version -**develop branch** : Current version being worked on, might be unstable +**Branches** + +* **master** : Should be even with current release version +* **develop** : Current version being worked on, might be unstable ## Installing dependencies -pip install -r requirements.txt +Run + +```pip install -r requirements.txt``` + +In order to install required Python dependencies. ## Running from sources +You can run DCS Liberation from source with this configuration: (Adapt it to your env) + +![](https://imgur.com/xuVbJ2G.png) + + + From 56890cefbdf9d5e084a52937ea34dd2f3b9cb0d3 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sun, 16 Aug 2020 16:40:08 +0200 Subject: [PATCH 059/704] Updated Developer's Guide (markdown) --- Developer's-Guide.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Developer's-Guide.md b/Developer's-Guide.md index aa5532b..adc5a28 100644 --- a/Developer's-Guide.md +++ b/Developer's-Guide.md @@ -41,5 +41,16 @@ You can run DCS Liberation from source with this configuration: (Adapt it to you ![](https://imgur.com/xuVbJ2G.png) +## Making a release + +You can run create a release with this configuration: + +![](https://imgur.com/xuVbJ2G) + +## Pull requests + +Please make a new branch from either develop or master, and make your pull requests to khopa/develop. + + From 6327526bfa0247a41e4b648ba3e8e9513736ca5e Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sun, 16 Aug 2020 16:40:26 +0200 Subject: [PATCH 060/704] Updated Developer's Guide (markdown) --- Developer's-Guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Developer's-Guide.md b/Developer's-Guide.md index adc5a28..383af22 100644 --- a/Developer's-Guide.md +++ b/Developer's-Guide.md @@ -45,7 +45,7 @@ You can run DCS Liberation from source with this configuration: (Adapt it to you You can run create a release with this configuration: -![](https://imgur.com/xuVbJ2G) +![](https://imgur.com/xuVbJ2G.png) ## Pull requests From 7cbf2ee5bce71968f1cfd8432ae9a4343443b550 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sun, 16 Aug 2020 16:41:19 +0200 Subject: [PATCH 061/704] Updated Developer's Guide (markdown) --- Developer's-Guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Developer's-Guide.md b/Developer's-Guide.md index 383af22..ddb3431 100644 --- a/Developer's-Guide.md +++ b/Developer's-Guide.md @@ -45,7 +45,7 @@ You can run DCS Liberation from source with this configuration: (Adapt it to you You can run create a release with this configuration: -![](https://imgur.com/xuVbJ2G.png) +![](https://imgur.com/k93bHfz.png) ## Pull requests From 82f9a83c388b54bb7e760a2351ac04ff7d7f754f Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sun, 16 Aug 2020 16:43:19 +0200 Subject: [PATCH 062/704] Updated _Sidebar (markdown) From 890196181712d25ec42bde3f48ea9d08b71a6f72 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sun, 16 Aug 2020 16:43:28 +0200 Subject: [PATCH 063/704] Updated Home (markdown) --- Home.md | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/Home.md b/Home.md index 9322dbe..4ca0148 100644 --- a/Home.md +++ b/Home.md @@ -2,11 +2,9 @@ Welcome to the DCS Liberation wiki ! I recommend you read the [Getting Started](https://github.com/Khopa/dcs_liberation/wiki/Getting-started) guide first. -### Documentation/Tutorials +## Tutorials -_Some screenshots might be outdated_ - -[0 - Getting Started](https://github.com/Khopa/dcs_liberation/wiki/Getting-started) +[Getting Started](https://github.com/Khopa/dcs_liberation/wiki/Getting-started) [1 - DCS Liberation UI](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-01-:-UI) @@ -14,9 +12,17 @@ _Some screenshots might be outdated_ [3 - First operation](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-03-:-First-operation) -[4 - Setting up a csutom Strike mission](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-04-:-Setting-up-a-custom-%22Strike%22-mission) +[4 - Setting up a custom Strike mission](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-04-:-Setting-up-a-custom-%22Strike%22-mission) -### Developers resources +## Contributions + +[Contributing to DCS Liberation](https://github.com/Khopa/dcs_liberation/wiki/Contributing-to-DCS-Liberation) + +[Developer's Guide](https://github.com/Khopa/dcs_liberation/wiki/Developer's-Guide) + +## Misc + +[Code of Conduct](https://github.com/Khopa/dcs_liberation/wiki/Code-of-Conduct) From f700be9d61547c714ce1e63179c41799d21fb343 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sat, 22 Aug 2020 20:25:32 +0200 Subject: [PATCH 064/704] Created Dedicated Server Guide (markdown) --- Dedicated-Server-Guide.md | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 Dedicated-Server-Guide.md diff --git a/Dedicated-Server-Guide.md b/Dedicated-Server-Guide.md new file mode 100644 index 0000000..96a32bd --- /dev/null +++ b/Dedicated-Server-Guide.md @@ -0,0 +1,10 @@ +[WIP] + +The state file should be written in /state.json. + +If you are running the mission on a server, so not on the same PC as DCS Liberation, make sure to recreate the same directory structure on the server, so there is a fake DCS Liberation directory somewhere. (It is not very well supported yet) + +To allow the DCS process on the server to write the state file, you also have to replace the file by the one here : /resources/scripts/MissionScripting.lua> + +You can close the mission whenever you feel it is over. Then retrieve the state.json file from FTP and submit it in DCS Liberation on your PC; + From 212bbc405c5b1ab0ae77aa9de2ff3a127b7b43ae Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sun, 23 Aug 2020 14:37:47 +0200 Subject: [PATCH 065/704] Updated Developer's Guide (markdown) --- Developer's-Guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Developer's-Guide.md b/Developer's-Guide.md index ddb3431..f889b1e 100644 --- a/Developer's-Guide.md +++ b/Developer's-Guide.md @@ -39,7 +39,7 @@ In order to install required Python dependencies. You can run DCS Liberation from source with this configuration: (Adapt it to your env) -![](https://imgur.com/xuVbJ2G.png) +![](https://imgur.com/oXRAZpz.png) ## Making a release From 705e37d5f7b3084cf526ff69b803470971757b7f Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sun, 23 Aug 2020 14:42:15 +0200 Subject: [PATCH 066/704] Updated Getting started (markdown) --- Getting-started.md | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/Getting-started.md b/Getting-started.md index 64cb0de..5730dba 100644 --- a/Getting-started.md +++ b/Getting-started.md @@ -16,25 +16,11 @@ So you might want to re-add the original file before opening untrusted mission f ``` -**Other important note before you launch DCS Liberation :** - -If you have played a previous version of DCS liberation, remove (and backup if needed) your DCS Liberation save file to avoid an error and crash on startup with the current version : - -* C:/ [...] /Saved Games/DCS.openbeta/liberation_save - -or - -* C:/ [...] /Saved Games/DCS/liberation_save - -Depending on your installation. - -**Save files from previous DCS Liberation versions are not compatible with this newer version** - ## Installation : -1 - Download the latest release from this repository. (Releases are listed here : https://github.com/Khopa/dcs_liberation/releases) +1 - Download the latest release from this repository (either the zip or exe). (Releases are listed here : https://github.com/Khopa/dcs_liberation/releases) -2 - Extract the zip file to a new folder. +2 - Extract the zip file to a new folder where liberation will be installed. (or use the .exe installer, however you'll have a Window security warning if you use the installer) 3 - Then launch liberation_main.exe to launch DCS Liberation 2.0. From 2262eaeb4f06b3553f711adc7e6950e04f17ce7b Mon Sep 17 00:00:00 2001 From: kunterbunt2 Date: Tue, 25 Aug 2020 08:46:54 +0200 Subject: [PATCH 067/704] Updated Getting started (markdown) --- Getting-started.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Getting-started.md b/Getting-started.md index 5730dba..63f09fb 100644 --- a/Getting-started.md +++ b/Getting-started.md @@ -18,7 +18,7 @@ So you might want to re-add the original file before opening untrusted mission f ## Installation : -1 - Download the latest release from this repository (either the zip or exe). (Releases are listed here : https://github.com/Khopa/dcs_liberation/releases) +1 - Download the latest release from this repository (either the zip or exe). (Releases are listed here : https://github.com/Khopa/dcs_liberation/releases and you can find them in the Asset section) 2 - Extract the zip file to a new folder where liberation will be installed. (or use the .exe installer, however you'll have a Window security warning if you use the installer) From 2690e89c954d17de12cdac8d1d0c94847985e0a3 Mon Sep 17 00:00:00 2001 From: kunterbunt2 Date: Tue, 25 Aug 2020 08:47:34 +0200 Subject: [PATCH 068/704] Updated Getting started (markdown) --- Getting-started.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Getting-started.md b/Getting-started.md index 63f09fb..b045581 100644 --- a/Getting-started.md +++ b/Getting-started.md @@ -18,7 +18,7 @@ So you might want to re-add the original file before opening untrusted mission f ## Installation : -1 - Download the latest release from this repository (either the zip or exe). (Releases are listed here : https://github.com/Khopa/dcs_liberation/releases and you can find them in the Asset section) +1 - Download the latest release from this repository (either the zip or exe). (Releases are listed here : https://github.com/Khopa/dcs_liberation/releases and you can find them in the Assets section) 2 - Extract the zip file to a new folder where liberation will be installed. (or use the .exe installer, however you'll have a Window security warning if you use the installer) From 625aeef4dc5285cda800b983cf2d030c908c4ee0 Mon Sep 17 00:00:00 2001 From: Pedro Magueija Date: Tue, 15 Sep 2020 15:59:09 +0200 Subject: [PATCH 069/704] Updated Tutorial 04 : Setting up a custom "Strike" mission (markdown) --- ...l-04-:-Setting-up-a-custom-\"Strike\"-mission.md" | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git "a/Tutorial-04-:-Setting-up-a-custom-\"Strike\"-mission.md" "b/Tutorial-04-:-Setting-up-a-custom-\"Strike\"-mission.md" index c1a013b..247add9 100644 --- "a/Tutorial-04-:-Setting-up-a-custom-\"Strike\"-mission.md" +++ "b/Tutorial-04-:-Setting-up-a-custom-\"Strike\"-mission.md" @@ -7,13 +7,13 @@ Here is our campaign for instance : ![](https://imgur.com/J8nSJfi.png) As you know, the small red square icons are enemy buildings or air defenses. -There are multiple kind of building and air defenses site. +There are multiple kinds of buildings and air defenses sites. Choosing a building : -Before you choose a building to destroy, you should know that some of them are more valuable to the ennemy. The more building the ennemy has, the more reinforcement he'll receive. +Before you choose a building to destroy, you should know that some of them are more valuable to the enemy. The more building the enemy has, the more reinforcement he'll receive. -The building that contribute most to the ennemy War effort are "Oil" and "Factory", while "FARP" and "FOB" contribute less to the ennemy budget. +The buildings that contribute most to the enemy War effort are "Oil" and "Factory", while "FARP" and "FOB" contribute less to the enemy budget. So let's target the oil station near Sukhumi : @@ -29,7 +29,7 @@ Click on Add flight, and add a two-aircraft STRIKE flight. I'll use F/A-18C in t ![](https://imgur.com/ceYRiQx.png) -So your flight has been created and will appear in the flight list. Add a client slot for you and head for the "Waypoints" tab in the mission planner, with your flight selected. +So your flight has been created and will appear on the flight list. Add a client slot for you and head for the "Waypoints" tab in the mission planner, with your flight selected. ![](https://imgur.com/Nd3NQ8R.png) @@ -37,7 +37,7 @@ In waypoints tab, click on add waypoint : ![](https://imgur.com/jQ2K7Vx.png) -In the selection box, type in "JAGUAR", the name of the objective we want to strike, and then choose the first occurence. +In the selection box, type in "JAGUAR", the name of the objective we want to strike, and then choose the first occurrence. ![](https://imgur.com/DwlAyyj.png) @@ -49,7 +49,7 @@ This will have created a waypoint in your flight plan for each enemy building lo ![](https://imgur.com/0ugaKSd.png) -Then click on take off to start DCS, and let's drop a GBU-38 on each waypoint ! +Then click on take off to start DCS, and let's drop a GBU-38 on each waypoint! ![](https://imgur.com/ip1cqIo.png) From fa06adfb2f12b6187c08cc75567daecbc78f279d Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Fri, 9 Oct 2020 14:40:13 +0200 Subject: [PATCH 070/704] Updated _Sidebar (markdown) --- _Sidebar.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/_Sidebar.md b/_Sidebar.md index 3c75447..81f4b9a 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -10,6 +10,16 @@ [4 - Setting up a custom Strike mission](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-04-:-Setting-up-a-custom-%22Strike%22-mission) +## Dedicated Servers + +[Dedicated server guide](https://github.com/Khopa/dcs_liberation/wiki/Dedicated-Server-Guide) + +## Modding Liberation + +[Custom campaigns](https://github.com/Khopa/dcs_liberation/wiki/Dedicated-Server-Guide) + +[Custom factions](https://github.com/Khopa/dcs_liberation/wiki/Dedicated-Server-Guide) + ## Contributions [Contributing to DCS Liberation](https://github.com/Khopa/dcs_liberation/wiki/Contributing-to-DCS-Liberation) From fd47a9660e6da7910bf606c3c2d44054d3523db3 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Fri, 9 Oct 2020 15:12:54 +0200 Subject: [PATCH 071/704] Created Custom campaigns (markdown) --- Custom-campaigns.md | 131 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 131 insertions(+) create mode 100644 Custom-campaigns.md diff --git a/Custom-campaigns.md b/Custom-campaigns.md new file mode 100644 index 0000000..4403fca --- /dev/null +++ b/Custom-campaigns.md @@ -0,0 +1,131 @@ +# Principle + +Ever felt frustrated by the limited choice of map settings offered by DCS Liberation ? +Good news, you can mod your custom campaigns setup in liberation ! + +Custom campaigns/theaters can be created easily with a text editor as a json file. + +You can put your own campaigns configuration json files in the folder **./resources/campaigns**, and restart DCS Liberation to load them. +If there is no error, your custom campaign will appear in the New game wizard. +If there is an error, with the file, please check the content of the console output, it might contains hints. + +# File format + +This json file should contain a json object, with the following parameters : + +* **name** : The name of the campaign/theater +* **theater** : The map for the campaing (Either : "Caucasus", "Persian Gulf", "Nevada", "Normandy", "Syria" or "The Channel" +* **player_points** : A list of control points owned by the player by default +* **enemy_points** : A list of control points owned by the enemy by default +* **links** : The existing connections between points. A list of connected points (using their id) You shouldn't link points if there is water between them. + +Control point object structure in the json file : + +* **type** : Either "airbase" for an existing base in DCS, "lha" for helicopter Carriers, or "carrier" for an aircraft carrier. +* **id** : The name of the airbase (if an airbase), or a number (> 1000) for an aircraft carrier or an lha. (If you have multiple carriers/lhas, make sure they do not share the same ID) +* **x** : X starting position of the carrier or lha in DCS coordinates (See the last part of this tutorial to see how to retrieve these coordinates from DCS mission editor) +* **y** : Y starting position of the carrier or lha in DCS coordinates +* **importance** : Importance of the base for the AI. (1 for low importance, 1.4 for high importance) (airbase only) +* **size** : Size of the airbase in meter for unit placement. (This is a legacy parameter, that you can ignore and put 1000) +* **captured_invert** : Whether the control point should be owned by the player if you select "invert map" in new game wizard. + + +**Note :** + +*I highly recommend you look at the default file provided in DCS Liberation for examples. There might be other parameters in these files, but you shouldn't change them.* + +# Example file + +Below is an example of campaign file : + + +```json +{ + "name": "Caucasus - Western Georgia", + "theater": "Caucasus", + "player_points": [ + { + "type": "airbase", + "id": "Kobuleti", + "size": 600, + "importance": 1.1 + }, + { + "type": "carrier", + "id": 1001, + "x": -285810.6875, + "y": 496399.1875, + "captured_invert": true + }, + { + "type": "lha", + "id": 1002, + "x": -326050.6875, + "y": 519452.1875, + "captured_invert": true + } + ], + "enemy_points": [ + { + "type": "airbase", + "id": "Kutaisi", + "size": 600, + "importance": 1 + }, + { + "type": "airbase", + "id": "Senaki-Kolkhi", + "size": 1000, + "importance": 1 + }, + { + "type": "airbase", + "id": "Sukhumi-Babushara", + "size": 1000, + "importance": 1.2 + }, + { + "type": "airbase", + "id": "Gudauta", + "size": 1000, + "importance": 1.2 + }, + { + "type": "airbase", + "id": "Sochi-Adler", + "size": 2000, + "importance": 1.4, + "captured_invert": true + } + ], + "links": [ + [ + "Kutaisi", + "Senaki-Kolkhi" + ], + [ + "Kobuleti", + "Senaki-Kolkhi" + ], + [ + "Senaki-Kolkhi", + "Sukhumi-Babushara" + ], + [ + "Gudauta", + "Sukhumi-Babushara" + ], + [ + "Gudauta", + "Sochi-Adler" + ] + ] +} +``` + +# Annex : Retrieving X/Y coordinates from DCS Mission Editor : + +* **Step 0 :** Open DCS ME, with the map you are using +* **Step 1 :** Place the carrier where you want it to be located + +* **Step 2:** Keep the mouse cursor on the carrier, and press ```right-alt+y``` multiple time, until DCS changes to X/Y coords scheme. Copy these coordinates in your campaign json file ! (Do not forget the sign, often coordinates can be negative) \ No newline at end of file From 57683012f740e566a943d1ee1e26dbcbe1f2fc27 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Fri, 9 Oct 2020 15:13:44 +0200 Subject: [PATCH 072/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index 4403fca..30797e7 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -128,4 +128,4 @@ Below is an example of campaign file : * **Step 0 :** Open DCS ME, with the map you are using * **Step 1 :** Place the carrier where you want it to be located -* **Step 2:** Keep the mouse cursor on the carrier, and press ```right-alt+y``` multiple time, until DCS changes to X/Y coords scheme. Copy these coordinates in your campaign json file ! (Do not forget the sign, often coordinates can be negative) \ No newline at end of file +* **Step 2:** Keep the mouse cursor on the carrier, and press ```right-alt+y``` multiple time, until DCS changes to X/Y coords scheme. Copy these coordinates in your campaign json file ! (Do not forget the sign, X/Y coordinates can often be negative) \ No newline at end of file From 34af696b5124e48c68a71adb691ae55a46db593e Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Fri, 9 Oct 2020 15:17:00 +0200 Subject: [PATCH 073/704] Updated _Sidebar (markdown) --- _Sidebar.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_Sidebar.md b/_Sidebar.md index 81f4b9a..78ae0f7 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -16,7 +16,7 @@ ## Modding Liberation -[Custom campaigns](https://github.com/Khopa/dcs_liberation/wiki/Dedicated-Server-Guide) +[Custom campaigns](https://github.com/Khopa/dcs_liberation/wiki/Custom-Campaign) [Custom factions](https://github.com/Khopa/dcs_liberation/wiki/Dedicated-Server-Guide) From de9b8b50bc523acca1cba32024fcad75ea4655f7 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Fri, 9 Oct 2020 15:17:17 +0200 Subject: [PATCH 074/704] Updated _Sidebar (markdown) --- _Sidebar.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_Sidebar.md b/_Sidebar.md index 78ae0f7..5151078 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -16,9 +16,9 @@ ## Modding Liberation -[Custom campaigns](https://github.com/Khopa/dcs_liberation/wiki/Custom-Campaign) +[Custom campaigns](https://github.com/Khopa/dcs_liberation/wiki/Custom-Campaigns) -[Custom factions](https://github.com/Khopa/dcs_liberation/wiki/Dedicated-Server-Guide) +[Custom factions](https://github.com/Khopa/dcs_liberation/wiki/Custom-Factions) ## Contributions From a4588365810cbf456313bf9e6f1f1c16921c382b Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Fri, 9 Oct 2020 15:17:26 +0200 Subject: [PATCH 075/704] Updated _Sidebar (markdown) From 38c127e270194619a404b3f7b3fcc834006e0251 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Fri, 9 Oct 2020 15:17:34 +0200 Subject: [PATCH 076/704] Updated Home (markdown) --- Home.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Home.md b/Home.md index 4ca0148..ec76628 100644 --- a/Home.md +++ b/Home.md @@ -14,6 +14,16 @@ I recommend you read the [Getting Started](https://github.com/Khopa/dcs_liberati [4 - Setting up a custom Strike mission](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-04-:-Setting-up-a-custom-%22Strike%22-mission) +## Dedicated Servers + +[Dedicated server guide](https://github.com/Khopa/dcs_liberation/wiki/Dedicated-Server-Guide) + +## Modding Liberation + +[Custom campaigns](https://github.com/Khopa/dcs_liberation/wiki/Custom-Campaigns) + +[Custom factions](https://github.com/Khopa/dcs_liberation/wiki/Custom-Factions) + ## Contributions [Contributing to DCS Liberation](https://github.com/Khopa/dcs_liberation/wiki/Contributing-to-DCS-Liberation) @@ -26,3 +36,4 @@ I recommend you read the [Getting Started](https://github.com/Khopa/dcs_liberati + From f7b14174f5b9f8dab73f2db3e4b8e5bc2183ff2a Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Fri, 9 Oct 2020 15:18:00 +0200 Subject: [PATCH 077/704] Updated _Sidebar (markdown) --- _Sidebar.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_Sidebar.md b/_Sidebar.md index 5151078..f6a4ba7 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -1,4 +1,4 @@ -## Tutorials +## Tutorials (outdated screenshoots and UI) [Getting Started](https://github.com/Khopa/dcs_liberation/wiki/Getting-started) From 80f6367938caf1b244f0d197ddc911c5cf53b420 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Fri, 9 Oct 2020 15:18:09 +0200 Subject: [PATCH 078/704] Updated _Sidebar (markdown) --- _Sidebar.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_Sidebar.md b/_Sidebar.md index f6a4ba7..5151078 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -1,4 +1,4 @@ -## Tutorials (outdated screenshoots and UI) +## Tutorials [Getting Started](https://github.com/Khopa/dcs_liberation/wiki/Getting-started) From 5aa531e0671824ce7b4faa194e81fadc6f54c855 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Fri, 9 Oct 2020 15:18:59 +0200 Subject: [PATCH 079/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index 30797e7..08ecdb6 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -1,3 +1,6 @@ + +# THIS FEATURE IS NOT AVAILABLE YET IN THE LATEST RELEASE, THIS IS A PREVIEW + # Principle Ever felt frustrated by the limited choice of map settings offered by DCS Liberation ? From af14a8d3f00007d8a60d4109b20fbbba93aad198 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sat, 10 Oct 2020 13:43:07 +0200 Subject: [PATCH 080/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index 08ecdb6..4fdfa45 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -131,4 +131,8 @@ Below is an example of campaign file : * **Step 0 :** Open DCS ME, with the map you are using * **Step 1 :** Place the carrier where you want it to be located -* **Step 2:** Keep the mouse cursor on the carrier, and press ```right-alt+y``` multiple time, until DCS changes to X/Y coords scheme. Copy these coordinates in your campaign json file ! (Do not forget the sign, X/Y coordinates can often be negative) \ No newline at end of file +![](https://imgur.com/pyewybn.png) + +* **Step 2:** Keep the mouse cursor on the carrier, and press ```right-alt+y``` multiple time, until DCS changes to X/Y coords scheme. Copy these coordinates in your campaign json file ! (Do not forget the sign, X/Y coordinates can often be negative) + +![](https://imgur.com/pBuRfwQ.png) \ No newline at end of file From 8906c411e5cfc4fd29fe489724df602b043c4ccb Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sat, 10 Oct 2020 13:44:20 +0200 Subject: [PATCH 081/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index 4fdfa45..f4e8030 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -9,6 +9,9 @@ Good news, you can mod your custom campaigns setup in liberation ! Custom campaigns/theaters can be created easily with a text editor as a json file. You can put your own campaigns configuration json files in the folder **./resources/campaigns**, and restart DCS Liberation to load them. + +![](https://imgur.com/3FDs2Ut.png) + If there is no error, your custom campaign will appear in the New game wizard. If there is an error, with the file, please check the content of the console output, it might contains hints. From ce0bb3c3f03885bb2f388235d9f1558c10b9bbe8 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sat, 10 Oct 2020 13:45:11 +0200 Subject: [PATCH 082/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index f4e8030..d013e9d 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -8,12 +8,14 @@ Good news, you can mod your custom campaigns setup in liberation ! Custom campaigns/theaters can be created easily with a text editor as a json file. -You can put your own campaigns configuration json files in the folder **./resources/campaigns**, and restart DCS Liberation to load them. +You can put your own campaigns configuration json files in the folder **./resources/campaigns** ![](https://imgur.com/3FDs2Ut.png) -If there is no error, your custom campaign will appear in the New game wizard. -If there is an error, with the file, please check the content of the console output, it might contains hints. +Then restart DCS Liberation to have them loaded. + +If there is no error, your custom campaigns will appear in the New Game Wizard. +If there is an error, with the file it will not appear, please check the content of the console output, it might contains hints about the error. # File format From fffa77596819dea067ab0468cda973d6467be3cc Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Tue, 20 Oct 2020 23:09:21 +0200 Subject: [PATCH 083/704] Created Lua Plugins (markdown) --- Lua-Plugins.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 Lua-Plugins.md diff --git a/Lua-Plugins.md b/Lua-Plugins.md new file mode 100644 index 0000000..6d3f665 --- /dev/null +++ b/Lua-Plugins.md @@ -0,0 +1 @@ +WIP \ No newline at end of file From d870f3ceb6d3ffe83930d7f9c321645d93b1bbbe Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Tue, 20 Oct 2020 23:09:54 +0200 Subject: [PATCH 084/704] Updated _Sidebar (markdown) --- _Sidebar.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/_Sidebar.md b/_Sidebar.md index 5151078..47ff847 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -20,6 +20,8 @@ [Custom factions](https://github.com/Khopa/dcs_liberation/wiki/Custom-Factions) +[Lua Plugins](https://github.com/Khopa/dcs_liberation/wiki/Lua-Plugins) + ## Contributions [Contributing to DCS Liberation](https://github.com/Khopa/dcs_liberation/wiki/Contributing-to-DCS-Liberation) From f79939a115c17ffbda69e6475a387b5b2e4506ba Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Tue, 20 Oct 2020 23:10:28 +0200 Subject: [PATCH 085/704] Updated Home (markdown) --- Home.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Home.md b/Home.md index ec76628..3283b96 100644 --- a/Home.md +++ b/Home.md @@ -24,6 +24,8 @@ I recommend you read the [Getting Started](https://github.com/Khopa/dcs_liberati [Custom factions](https://github.com/Khopa/dcs_liberation/wiki/Custom-Factions) +[Lua Plugins](https://github.com/Khopa/dcs_liberation/wiki/Lua-Plugins) + ## Contributions [Contributing to DCS Liberation](https://github.com/Khopa/dcs_liberation/wiki/Contributing-to-DCS-Liberation) From e00b48bdcfe5000e24c753b277b4bbf82c66eed3 Mon Sep 17 00:00:00 2001 From: David Pierron Date: Tue, 20 Oct 2020 23:12:38 +0200 Subject: [PATCH 086/704] Updated Lua Plugins (markdown) --- Lua-Plugins.md | 85 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 84 insertions(+), 1 deletion(-) diff --git a/Lua-Plugins.md b/Lua-Plugins.md index 6d3f665..7df75d9 100644 --- a/Lua-Plugins.md +++ b/Lua-Plugins.md @@ -1 +1,84 @@ -WIP \ No newline at end of file +# LUA Plugin system + +This plugin system was made for injecting LUA scripts in dcs-liberation missions. + +The resources for the plugins are stored in the `resources/plugins` folder ; each plugin has its own folder. + +## How does the system work ? + +The application first reads the `resources/plugins/plugins.json` file to get a list of plugins to load, in order. +Each entry in this list should correspond to a subfolder of the `resources/plugins` directory, where a `plugin.json` file exists. +This file is the description of the plugin. + +### plugin.json + +The *base* and *jtacautolase* plugins both are included in the standard dcs-liberation distribution. +You can check their respective `plugin.json` files to understand how they work. +Here's a quick rundown of the file's components : + +- `mnemonic` : the short, technical name of the plugin. It's the name of the folder, and the name of the plugin in the application's settings +- `skipUI` : if *true*, this plugin will not appear in the plugins selection user interface. Useful to force a plugin ON or OFF (see the *base* plugin) +- `nameInUI` : the title of the plugin as it will appear in the plugins selection user interface. +- `defaultValue` : the selection value of the plugin, when first installed ; if true, plugin is selected. +- `specificOptions` : a list of specific plugin options + - `nameInUI` : the title of the option as it will appear in the plugins specific options user interface. + - `mnemonic` : the short, technical name of the option. It's the name of the LUA variable passed to the configuration script, and the name of the option in the application's settings + - `defaultValue` : the selection value of the option, when first installed ; if true, option is selected. +- `scriptsWorkOrders` : a list of work orders that can be used to load or disable loading a specific LUA script + - `file` : the name of the LUA file in the plugin folder. + - `mnemonic` : the technical name of the LUA component. The filename may be more precise than needed (e.g. include a version number) ; this is used to load each file only once, and also to disable loading a file + - `disable` : if true, the script will be disabled instead of loaded +- `configurationWorkOrders` : a list of work orders that can be used to load a configuration LUA script (same description as above) + +## Standard plugins + +### The *base* plugin + +The *base* plugin contains the scripts that are going to be injected in every dcs-liberation missions. +It is mandatory. + +### The *JTACAutolase* plugin + +This plugin replaces the vanilla JTAC functionality in dcs-liberation. + +### The *VEAF framework* plugin + +When enabled, this plugin will inject and configure the VEAF Framework scripts in the mission. + +These scripts add a lot of runtime functionalities : + +- spawning of units and groups (and portable TACANs) +- air-to-ground missions +- air-to-air missions +- transport missions +- carrier operations (not Moose) +- tanker move +- weather and ATC +- shelling a zone, lighting it up +- managing assets (tankers, awacs, aircraft carriers) : getting info, state, respawning them if needed +- managing named points (position, info, ATC) +- managing a dynamic radio menu +- managing remote calls to the mission through NIOD (RPC) and SLMOD (LUA sockets) +- managing security (not allowing everyone to do every action) +- define groups templates + +You can find the *VEAF Framework* plugin [on GitHub](https://github.com/VEAF/dcs-liberation-veaf-framework/releases) +For more information, please visit the [VEAF Framework documentation site](https://veaf.github.io/VEAF-Mission-Creation-Tools/) (work in progress) + +## Custom plugins + +The easiest way to create a custom plugin is to copy an existing plugin, and modify the files. + +## New settings pages + +![New settings pages](0.png "New settings pages") + +Custom plugins can be enabled or disabled in the new *LUA Plugins* settings page. + +![LUA Plugins settings page](1.png "LUA Plugins settings page") + +For plugins which expose specific options (such as "use smoke" for the *JTACAutoLase* plugin), the *LUA Plugins Options* settings page lists these options. + +![LUA Plugins Options settings page](2.png "LUA Plugins settings page") + + From bd71842f7d32baa7d2d8633585782a5afb5e0003 Mon Sep 17 00:00:00 2001 From: David Pierron Date: Wed, 21 Oct 2020 13:20:52 +0200 Subject: [PATCH 087/704] Updated Dedicated Server Guide (markdown) --- Dedicated-Server-Guide-[WIP].md | 65 +++++++++++++++++++++++++++++++++ Dedicated-Server-Guide.md | 10 ----- 2 files changed, 65 insertions(+), 10 deletions(-) create mode 100644 Dedicated-Server-Guide-[WIP].md delete mode 100644 Dedicated-Server-Guide.md diff --git a/Dedicated-Server-Guide-[WIP].md b/Dedicated-Server-Guide-[WIP].md new file mode 100644 index 0000000..81de9d4 --- /dev/null +++ b/Dedicated-Server-Guide-[WIP].md @@ -0,0 +1,65 @@ +There are a few additional steps and caveat to running a dcs-liberation mission on a dedicated DCS server. +I'll try and explain them, as the server manager of my squadron, and dcs-liberation contributor. +If you have any questions, comments, or think this document is incomplete or wrong, please contact me on dcs-liberation's Discord. + +[VEAF]Zip. + +## Preparing the server + +### Modding `MissionScripting.lua` + +Any DCS instance running dcs-liberation, be it a standalone installation or a dedicated server, must have a modified `MissionScripting.lua` in order for the LUA script to have access to the `os`, `io` and `lfs` packages. + +When running on a standalone installation, usually (that is, if everything works as planned) the dcs-liberation program itself will replace the original `MissionScripting.lua` file with an edited version. +Of course, this is not possible when DCS run on a different machine, as a dedicated server. + +In this case, you need to edit the file yourself. +The easiest way to do it is to replace the original file (`\Scripts\MissionScripting.lua`) with the file in dcs-liberation distribution (`\resources\scripts\MissionScripting.lua`). + +Sometimes, you'll have an already modded file because you're using scripts that need access to specific packages. +That's alright, as long as the `os`, `io` and `lfs` packages are accessible. + +To ensure this, simply be certain that these particular lines are commented out : +__Original:__ +```lua + sanitizeModule('os') + sanitizeModule('io') + sanitizeModule('lfs') +``` +__Commented out:__ +```lua + --sanitizeModule('os') + --sanitizeModule('io') + --sanitizeModule('lfs') +``` + +*Be advised, as soon as you use the dcs-updater to install a new version of DCS, this file will be restored and you'll have to mod it again !* + +### The specific case of *slmod* + +If you're using [slmod](https://github.com/mrSkortch/DCS-SLmod), you have to be extra careful. +It also has [a specific version](https://github.com/mrSkortch/DCS-SLmod/blob/master/Scripts/net/Slmodv7_5/SlmodMissionScripting.lua) of the `MissionScripting.lua` file which is used to replace DCS', and if you want the dcs-liberation script to work properly you have to edit it, too. +Go and edit this file : `\dcs\Scripts\net\Slmodv7_5\SlmodMissionScripting.lua`. +Make sure to comment the lines mentionned in the previous section. + +You should also make the modification to the original file in DCS folder (see previous section), and the caveat about updating applies to *slmod* too. + +### Environment variables + +The dcs-liberation script will try and write the `state.json` file at the following locations : + +- %LIBERATION_EXPORT_DIR% (an environment variable) +- the dcs-liberation install folder, stored in the mission (probably not the same on the server and on the computer that generated the mission) +- the system's temporary folder (as defined in the %TEMP% environment variable) +- DCS' install directory + +This will be stated in the DCS log file (accessible in `\dcs\logs\dcs.log`) like this : +``` +2020-10-20 20:44:52.652 INFO SCRIPTING: DCSLiberation|discoverDebriefingFilePath|75: Using DCS Liberation install folder for state.json +2020-10-20 20:44:52.652 INFO SCRIPTING: DCSLiberation|87: DCS Liberation state will be written as json to [[D:\dev\_VEAF\dcs_liberation\state.json]] +``` + +## Preparing the mission + +## Getting the result of the mission + diff --git a/Dedicated-Server-Guide.md b/Dedicated-Server-Guide.md deleted file mode 100644 index 96a32bd..0000000 --- a/Dedicated-Server-Guide.md +++ /dev/null @@ -1,10 +0,0 @@ -[WIP] - -The state file should be written in /state.json. - -If you are running the mission on a server, so not on the same PC as DCS Liberation, make sure to recreate the same directory structure on the server, so there is a fake DCS Liberation directory somewhere. (It is not very well supported yet) - -To allow the DCS process on the server to write the state file, you also have to replace the file by the one here : /resources/scripts/MissionScripting.lua> - -You can close the mission whenever you feel it is over. Then retrieve the state.json file from FTP and submit it in DCS Liberation on your PC; - From 6b62bdbf7cc37774c3c4fc462e1b52dbc53df04f Mon Sep 17 00:00:00 2001 From: David Pierron Date: Wed, 21 Oct 2020 13:28:02 +0200 Subject: [PATCH 088/704] Updated Dedicated Server Guide [WIP] (markdown) --- Dedicated-Server-Guide-[WIP].md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Dedicated-Server-Guide-[WIP].md b/Dedicated-Server-Guide-[WIP].md index 81de9d4..0f3d7f9 100644 --- a/Dedicated-Server-Guide-[WIP].md +++ b/Dedicated-Server-Guide-[WIP].md @@ -1,9 +1,12 @@ There are a few additional steps and caveat to running a dcs-liberation mission on a dedicated DCS server. + I'll try and explain them, as the server manager of my squadron, and dcs-liberation contributor. + If you have any questions, comments, or think this document is incomplete or wrong, please contact me on dcs-liberation's Discord. [VEAF]Zip. + ## Preparing the server ### Modding `MissionScripting.lua` @@ -11,22 +14,29 @@ If you have any questions, comments, or think this document is incomplete or wro Any DCS instance running dcs-liberation, be it a standalone installation or a dedicated server, must have a modified `MissionScripting.lua` in order for the LUA script to have access to the `os`, `io` and `lfs` packages. When running on a standalone installation, usually (that is, if everything works as planned) the dcs-liberation program itself will replace the original `MissionScripting.lua` file with an edited version. + Of course, this is not possible when DCS run on a different machine, as a dedicated server. + In this case, you need to edit the file yourself. The easiest way to do it is to replace the original file (`\Scripts\MissionScripting.lua`) with the file in dcs-liberation distribution (`\resources\scripts\MissionScripting.lua`). + Sometimes, you'll have an already modded file because you're using scripts that need access to specific packages. That's alright, as long as the `os`, `io` and `lfs` packages are accessible. To ensure this, simply be certain that these particular lines are commented out : + __Original:__ + ```lua sanitizeModule('os') sanitizeModule('io') sanitizeModule('lfs') ``` + __Commented out:__ + ```lua --sanitizeModule('os') --sanitizeModule('io') @@ -38,10 +48,14 @@ __Commented out:__ ### The specific case of *slmod* If you're using [slmod](https://github.com/mrSkortch/DCS-SLmod), you have to be extra careful. + It also has [a specific version](https://github.com/mrSkortch/DCS-SLmod/blob/master/Scripts/net/Slmodv7_5/SlmodMissionScripting.lua) of the `MissionScripting.lua` file which is used to replace DCS', and if you want the dcs-liberation script to work properly you have to edit it, too. Go and edit this file : `\dcs\Scripts\net\Slmodv7_5\SlmodMissionScripting.lua`. + + Make sure to comment the lines mentionned in the previous section. + You should also make the modification to the original file in DCS folder (see previous section), and the caveat about updating applies to *slmod* too. ### Environment variables From 10c7b71fa7db8002b3cf7e6f90d8df2e4a6ec3a5 Mon Sep 17 00:00:00 2001 From: David Pierron Date: Wed, 21 Oct 2020 13:54:19 +0200 Subject: [PATCH 089/704] Updated Dedicated Server Guide [WIP] (markdown) --- Dedicated-Server-Guide-[WIP].md | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/Dedicated-Server-Guide-[WIP].md b/Dedicated-Server-Guide-[WIP].md index 0f3d7f9..ffb0eef 100644 --- a/Dedicated-Server-Guide-[WIP].md +++ b/Dedicated-Server-Guide-[WIP].md @@ -62,9 +62,9 @@ You should also make the modification to the original file in DCS folder (see pr The dcs-liberation script will try and write the `state.json` file at the following locations : -- %LIBERATION_EXPORT_DIR% (an environment variable) +- `%LIBERATION_EXPORT_DIR%` (an environment variable) - the dcs-liberation install folder, stored in the mission (probably not the same on the server and on the computer that generated the mission) -- the system's temporary folder (as defined in the %TEMP% environment variable) +- the system's temporary folder (as defined in the `%TEMP%` environment variable) - DCS' install directory This will be stated in the DCS log file (accessible in `\dcs\logs\dcs.log`) like this : @@ -73,7 +73,33 @@ This will be stated in the DCS log file (accessible in `\dcs\logs\d 2020-10-20 20:44:52.652 INFO SCRIPTING: DCSLiberation|87: DCS Liberation state will be written as json to [[D:\dev\_VEAF\dcs_liberation\state.json]] ``` +You can (and should) set the `%LIBERATION_EXPORT_DIR%` environment variable on your server. Please note that you'll have to restart DCS, and maybe even your server, depending on your configuration, before it's taken into account. + ## Preparing the mission +After installing dcs-liberation on a computer (let's call it the mission computer), configure it the way you like (including plugins, if you want), and start a new campaign. + +At one point, you'll want to *fly* a mission. When you press the *Take off* button in dcs-liberation, it'll generate a mission : `\dcs\missions\liberation_nextturn.miz`. + +At the moment, it is mandatory to open the mission in the mission editor (on the mission computer), and save it. + +**If you skip this step, the mission will not be playable on a dedicated DCS server !** + + +Now, you can simply copy the mission file to your server and run it. + ## Getting the result of the mission +During the mission (at runtime, as we developers like to say), the state of the mission (destroyed units, captured bases) is written in the `state.json` file. + +It should be updated whenever a destruction or capture event occurs. But sometimes this doesn't work, so you have to be careful. + +When the mission is over, double-check that the `state.json` file is updated : check the file date, and if you dare, check its content. + +If in doubt, end the mission on the server (running another mission is enough ; I keep one "empty" mission on each theater, it's very quick to run). + +Then download the `state.json` file on the mission computer, and enter it in dcs-liberation, using the "Manually submit" button : + +![](https://i.imgur.com/Izml39p.jpg) + +If the "Waiting for mission completion" window is not visible anymore (you may have closed it, or the program), simply click the "Take off" button again. \ No newline at end of file From 8c3a7121c530b6d2cbe8a0f9e380ea50b97f90ee Mon Sep 17 00:00:00 2001 From: David Pierron Date: Wed, 21 Oct 2020 13:54:59 +0200 Subject: [PATCH 090/704] Updated Dedicated Server Guide [WIP] (markdown) --- Dedicated-Server-Guide-[WIP].md => Dedicated-Server-Guide.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Dedicated-Server-Guide-[WIP].md => Dedicated-Server-Guide.md (100%) diff --git a/Dedicated-Server-Guide-[WIP].md b/Dedicated-Server-Guide.md similarity index 100% rename from Dedicated-Server-Guide-[WIP].md rename to Dedicated-Server-Guide.md From 9a503f5700a21a0a7b41e09dff0a2d25030750a4 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sat, 24 Oct 2020 23:56:45 +0200 Subject: [PATCH 091/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index d013e9d..28c510b 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -1,6 +1,3 @@ - -# THIS FEATURE IS NOT AVAILABLE YET IN THE LATEST RELEASE, THIS IS A PREVIEW - # Principle Ever felt frustrated by the limited choice of map settings offered by DCS Liberation ? From 19e30a70c3bfbb2a89f3aa8e2b160546c4e142a6 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sun, 25 Oct 2020 00:10:57 +0200 Subject: [PATCH 092/704] Created Custom Factions (markdown) --- Custom-Factions.md | 153 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 153 insertions(+) create mode 100644 Custom-Factions.md diff --git a/Custom-Factions.md b/Custom-Factions.md new file mode 100644 index 0000000..3a138c6 --- /dev/null +++ b/Custom-Factions.md @@ -0,0 +1,153 @@ +# Principle + +Frustrated that your motherland is not a possible choice in DCS Liberation, annoyed that an aircraft is missing in your favorite faction ? +Good news, you can now mod factions in liberation ! + +And these custom factions can be created easily with a text editor as a json file. + +You can put your own factions configuration json files in the folder **./resources/factions** + +![](https://imgur.com/hiqrYEh.png) + +Then restart DCS Liberation to have the faction loaded. + +If there is no error, your custom faction will appear in the New Game Wizard. +If there is an error with the file it will not appear, please check the content of the console output, it might contains hints about the error. First please verify is the json syntax is valid. + +# File format + +This json file should contain a json object, with the following parameters : + +* **country** : The country to be used in DCS. Careful, if it is not a valid country name in DCS, the mission generation will not work. +* **name** : Name of the faction in DCS Liberation UI +* **aircrafts** : List of Aircrafts available to this faction +* **awacs** : List of AWACS planes available to this faction +* **tankers** : List of Tankers planes available to this faction +* **frontline_units** : List of units that will fight on the frontline +* **artillery_units** : List of artillery that will fight on the frontline +* **infantry_units** : List of infantry units that will fight on the frontline +* **logistics_units** : List of units used for logistics (unused for now) +* **shorads** : List of generators used for shorad groups (See the Sam Generator possible choice at the end of this guide) +* **sams** : List of generators used for sams groups +* **missiles** : List of missiles generators used for sams groups +* **requirements** : Required mods for this faction to work +* **aircraft_carrier** : List of aircraft carriers available +* **helicopter_carrier** : List of helicopter carriers available +* **carrier_names** : List of possible name for carriers (will be picked randomly if there is more than one) +* **helicopter_carrier_names** : List of possible name for helicopter carriers (will be picked randomly if there is more than one) +* **navy_generators** : List of generators used for navy groups (See the Sam Generator possible choice at the end of this guide) +* **destroyers** : List of destroyers available (Will be picked randomly and used as escort for carriers) +* **cruisers** : List of cruisers availables (unused for now) +* **navy_group_count** : Number of navy group to generate per control point +* **missiles_group_count** : Number of missiles group to generate per control point +* **has_jtac** : Whether this faction has access to jtac +* **jtac_unit** : Type of unit to use as JTAC. +* **doctrine** : Either "modern" for modern doctrine, "coldwar" for coldwar doctrine, or "ww2" for WW2 doctrine. Doctrine controls the altitude of flights and other flight planner AI parameters. +* **building_set** : Either "default" for default set, "ww2ally" for WW2 ally buildings, or "ww2germany" for WW2 german building. + + +**Note :** + +*I highly recommend you look at the default files provided in DCS Liberation for examples. + +All parameters have default value, so you do not have to set them all up. + +# Example file + +Below is an example of a factions file : + + +```json +{ + "country": "USA", + "name": "USA 2005", + "authors": "Khopa", + "description": "", + "aircrafts": [ + "F_15C", + "F_15E", + "F_14B", + "FA_18C_hornet", + "F_16C_50", + "A_10A", + "AV8BNA", + "UH_1H", + "AH_64A", + "B_52H", + "B_1B", + "F_117A" + ], + "awacs": [ + "E_3A" + ], + "tankers": [ + "KC_135", + "KC130" + ], + "frontline_units": [ + "MBT_M1A2_Abrams", + "ATGM_M1134_Stryker", + "APC_M1126_Stryker_ICV", + "IFV_M2A2_Bradley", + "IFV_LAV_25", + "APC_M1043_HMMWV_Armament", + "ATGM_M1045_HMMWV_TOW" + ], + "artillery_units": [ + "MLRS_M270", + "SPH_M109_Paladin" + ], + "logistics_units": [ + "Transport_M818" + ], + "infantry_units": [ + "Infantry_M4", + "Soldier_M249" + ], + "shorads": [ + "AvengerGenerator" + ], + "sams": [ + "HawkGenerator" + ], + "aircraft_carrier": [ + "CVN_74_John_C__Stennis" + ], + "helicopter_carrier": [ + "LHA_1_Tarawa" + ], + "destroyers": [ + "Oliver_Hazzard_Perry_class", + "USS_Arleigh_Burke_IIa" + ], + "cruisers": [ + "Ticonderoga_class" + ], + "requirements": {}, + "carrier_names": [ + "CVN-71 Theodore Roosevelt", + "CVN-72 Abraham Lincoln", + "CVN-73 George Washington", + "CVN-74 John C. Stennis" + ], + "helicopter_carrier_names": [ + "LHA-1 Tarawa", + "LHA-2 Saipan", + "LHA-3 Belleau Wood", + "LHA-4 Nassau", + "LHA-5 Peleliu" + ], + "navy_generators": [ + "OliverHazardPerryGroupGenerator", + "ArleighBurkeGroupGenerator" + ], + "has_jtac": true, + "jtac_unit": "MQ_9_Reaper" +} +``` + +# Possible SAM/SHORAD generators + +WIP + +# Possible Navy group generators \ No newline at end of file From b1734def60bf8dbbd65587533ab0db1975e3f2b9 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sun, 25 Oct 2020 00:13:34 +0200 Subject: [PATCH 093/704] Updated Custom Factions (markdown) --- Custom-Factions.md | 43 +++++++++++++++++++++++++++++++++++-------- 1 file changed, 35 insertions(+), 8 deletions(-) diff --git a/Custom-Factions.md b/Custom-Factions.md index 3a138c6..bec7e72 100644 --- a/Custom-Factions.md +++ b/Custom-Factions.md @@ -1,11 +1,11 @@ # Principle -Frustrated that your motherland is not a possible choice in DCS Liberation, annoyed that an aircraft is missing in your favorite faction ? +Frustrated that your home country is not a possible choice in DCS Liberation, or annoyed that an aircraft is missing in your favorite faction ? Good news, you can now mod factions in liberation ! And these custom factions can be created easily with a text editor as a json file. -You can put your own factions configuration json files in the folder **./resources/factions** +You can put your own factions configuration json files in the folder **./resources/factions** or modify existing ones. ![](https://imgur.com/hiqrYEh.png) @@ -48,9 +48,8 @@ This json file should contain a json object, with the following parameters : **Note :** -*I highly recommend you look at the default files provided in DCS Liberation for examples. - -All parameters have default value, so you do not have to set them all up. +*I highly recommend you look at the default files provided in DCS Liberation for examples.* +All parameters have default values, so you do not have to set them all up necessarily. # Example file @@ -146,8 +145,36 @@ Below is an example of a factions file : } ``` -# Possible SAM/SHORAD generators +# Annex 1 - Possible SAM/SHORAD generators -WIP +* *HawkGenerator* +* *ZU23Generator* +* *ZU23UralGenerator* +* *ZU23UralInsurgentGenerator* +* *ZU23InsurgentGenerator* +* *ZSU23Generator* +* *VulcanGenerator* +* *LinebackerGenerator* +* *RapierGenerator* +* *AvengerGenerator* +* *GepardGenerator* +* *RolandGenerator* +* *PatriotGenerator* +* *ChaparralGenerator* +* *BoforsGenerator* +* *FlakGenerator* +* *SA2Generator* +* *SA3Generator* +* *SA6Generator* +* *SA8Generator* +* *SA9Generator* +* *SA10Generator* +* *SA11Generator* +* *SA13Generator* +* *SA15Generator* +* *SA19Generator* +* *HQ7Generator* -# Possible Navy group generators \ No newline at end of file +# Annex 2 - Possible Navy group generators + +WIP \ No newline at end of file From 57fb7ef8c5177c41d49ac7c45225a3a3d2fd1091 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sun, 25 Oct 2020 00:14:42 +0200 Subject: [PATCH 094/704] Updated Custom Factions (markdown) --- Custom-Factions.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/Custom-Factions.md b/Custom-Factions.md index bec7e72..2c58a77 100644 --- a/Custom-Factions.md +++ b/Custom-Factions.md @@ -177,4 +177,15 @@ Below is an example of a factions file : # Annex 2 - Possible Navy group generators -WIP \ No newline at end of file +* *SchnellbootGroupGenerator* +* *WW2LSTGroupGenerator* +* *UBoatGroupGenerator* +* *OliverHazardPerryGroupGenerator* +* *ArleighBurkeGroupGenerator* +* *RussianNavyGroupGenerator* +* *ChineseNavyGroupGenerator* +* *GrishaGroupGenerator* +* *MolniyaGroupGenerator* +* *KiloSubGroupGenerator* +* *TangoSubGroupGenerator* +* *Type54GroupGenerator* \ No newline at end of file From 53b9601cab1491a9187ec06dcb5eff41c1517e87 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sun, 25 Oct 2020 00:15:04 +0200 Subject: [PATCH 095/704] Updated Custom Factions (markdown) --- Custom-Factions.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Custom-Factions.md b/Custom-Factions.md index 2c58a77..17015ea 100644 --- a/Custom-Factions.md +++ b/Custom-Factions.md @@ -145,7 +145,7 @@ Below is an example of a factions file : } ``` -# Annex 1 - Possible SAM/SHORAD generators +## Annex 1 - Possible SAM/SHORAD generators * *HawkGenerator* * *ZU23Generator* @@ -175,7 +175,7 @@ Below is an example of a factions file : * *SA19Generator* * *HQ7Generator* -# Annex 2 - Possible Navy group generators +## Annex 2 - Possible Navy group generators * *SchnellbootGroupGenerator* * *WW2LSTGroupGenerator* From 4d58cdeec78fe82c70489352fe9ed724275848de Mon Sep 17 00:00:00 2001 From: walterroach <37820425+walterroach@users.noreply.github.com> Date: Tue, 27 Oct 2020 16:47:18 -0500 Subject: [PATCH 096/704] A start on documentation for the strategies/stances --- Frontline-Strategies-Stances.md | 45 +++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 Frontline-Strategies-Stances.md diff --git a/Frontline-Strategies-Stances.md b/Frontline-Strategies-Stances.md new file mode 100644 index 0000000..10b25cb --- /dev/null +++ b/Frontline-Strategies-Stances.md @@ -0,0 +1,45 @@ +# Stances + +* ## DEFENSIVE + * ### All units: + * Hold position and defend + +* ## AGGRESSIVE + * ### Tanks and IFVs: + * Close distance to nearest group and attack. + * Attempt to move forward up to 16 KM + * If Enemy Base is less than 16 KM, tanks and IFVs will attack the base. + +* ## RETREAT + * ### All units: + * Immediately retreat up to 20 KM + * If friendly base is within 20 KM, regroup there and defend. + +* ## BREAKTHROUGH + * ### Tanks and IFVs + * Move forward up to 35 KM + * If Base is close enough, tanks and IFVs will attack the base. + * Focuses on advancement over kills +* ## ELIMINATION + * ### Tanks and IFVs + * Close distance and attack the three nearest enemy groups + * Attempt to move forward up to 16 KM after killing their targets. + * Focuses on kills before advancement. + +## Units with behavior altered only by Retreat: +* ### APCs and ATGM: + * Will never move too much forward, but will follow along any offensive + +* ### Artillery + * Will always fire at a group within range, and fallback when damaged except when retreating. + +## Enemy stance selection: +* If enemy has more groups available than player: + * Aggressive 60% chance + * Elimination 20% chance + * Breakthrough 20% chance +* If player has more groups available than enemy: + * Defenisve 60% chance + * Ambush 20% chance + * Aggressive 20% chance + From 07c021ef5eaed02c991ff148bbf4efff54759321 Mon Sep 17 00:00:00 2001 From: walterroach <37820425+walterroach@users.noreply.github.com> Date: Wed, 28 Oct 2020 17:14:19 -0500 Subject: [PATCH 097/704] Updated Frontline Strategies Stances (markdown) --- Frontline-Strategies-Stances.md | 58 ++++++++++++++++++++------------- 1 file changed, 35 insertions(+), 23 deletions(-) diff --git a/Frontline-Strategies-Stances.md b/Frontline-Strategies-Stances.md index 10b25cb..a8a7806 100644 --- a/Frontline-Strategies-Stances.md +++ b/Frontline-Strategies-Stances.md @@ -1,30 +1,40 @@ # Stances -* ## DEFENSIVE - * ### All units: - * Hold position and defend +## DEFENSIVE +* Units will adopt defensive stance with medium group of units +* ### All units: + * Hold position and defend -* ## AGGRESSIVE - * ### Tanks and IFVs: - * Close distance to nearest group and attack. - * Attempt to move forward up to 16 KM - * If Enemy Base is less than 16 KM, tanks and IFVs will attack the base. +## AMBUSH +* Units will adopt a defensive stance a bit different from 'DEFENSIVE', ATGM & INFANTRY with RPG will be located on frontline with the armored units. (The groups of units will be smaller) +* ### All units: + * Hold position and defend + +## AGGRESSIVE +* Units will attempt to make progress with medium sized group of units +* ### Tanks and IFVs: + * Close distance to nearest group and attack. + * Attempt to move forward up to 16 KM + * If Enemy Base is less than 16 KM, tanks and IFVs will attack the base. -* ## RETREAT - * ### All units: - * Immediately retreat up to 20 KM - * If friendly base is within 20 KM, regroup there and defend. +## RETREAT +* Units will retreat +* ### All units: + * Immediately retreat up to 20 KM + * If friendly base is within 20 KM, regroup there and defend. -* ## BREAKTHROUGH +## BREAKTHROUGH +* Units will attempt a breakthrough, rushing forward very aggresively with big group of armored units, and even less armored units will move aggresively +* ### Tanks and IFVs + * Move forward up to 35 KM + * If Base is close enough, tanks and IFVs will attack the base. + * Focuses on advancement over kills +## ELIMINATION +* Units will progress aggresively toward anemy units, attempting to eliminate the ennemy force * ### Tanks and IFVs - * Move forward up to 35 KM - * If Base is close enough, tanks and IFVs will attack the base. - * Focuses on advancement over kills -* ## ELIMINATION - * ### Tanks and IFVs - * Close distance and attack the three nearest enemy groups - * Attempt to move forward up to 16 KM after killing their targets. - * Focuses on kills before advancement. + * Close distance and attack the three nearest enemy groups + * Attempt to move forward up to 16 KM after killing their targets. + * Focuses on kills before advancement. ## Units with behavior altered only by Retreat: * ### APCs and ATGM: @@ -34,12 +44,14 @@ * Will always fire at a group within range, and fallback when damaged except when retreating. ## Enemy stance selection: -* If enemy has more groups available than player: +* If enemy has more units available than player: * Aggressive 60% chance * Elimination 20% chance * Breakthrough 20% chance -* If player has more groups available than enemy: +* If player has more units available than enemy: * Defenisve 60% chance * Ambush 20% chance * Aggressive 20% chance +* If enemy and player have same number of units: + * Random chance of any stance. From 73b1219222e3948ae5057e76f5985a938a8e5c97 Mon Sep 17 00:00:00 2001 From: dFlow82 <73616216+dFlow82@users.noreply.github.com> Date: Fri, 30 Oct 2020 09:28:46 +0100 Subject: [PATCH 098/704] Created Using noVNC and Liberation as Web Interface (markdown) --- ...g-noVNC-and-Liberation-as-Web-Interface.md | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 Using-noVNC-and-Liberation-as-Web-Interface.md diff --git a/Using-noVNC-and-Liberation-as-Web-Interface.md b/Using-noVNC-and-Liberation-as-Web-Interface.md new file mode 100644 index 0000000..fc2dcbe --- /dev/null +++ b/Using-noVNC-and-Liberation-as-Web-Interface.md @@ -0,0 +1,42 @@ +## Situation: +My flight group and I want to create missions using Liberation. I run the campaign on my dedicated server, which is a Windows 10 Guest VM. +Generally we use the Server Interface provided by ED to control the server. Missions are synced by a Google Drive sync. +So everybody is able to upload missions and run them on the server remotely, without having to use some sort of third party interface - like VNC or Remote Desktop. + +On Liberation it is a bit different - you cannot control it using some sort of WebGui. Making a turn would need the user to be on that very machine the mission runs. +Asking for a solution I was pointed to use Remote Desktop for such an endeavour - in my eyes not a good solution when running a server where several people want to operate. + +## Workaround: +To access the Liberation Tool I used VNC and set it up the following way... + +### Setting up Liberation area +On the Windows VM set up a second screen in which you want to position Liberation. Note that the resolution should be somewhat below your clients-resolution +for example: +If you use 1080p on your client then it would be best that the resolution on your VM is below that (1680x1050) - otherwise your browser bars/frames will cost viewing area. +If you fancy remove the Taskbar from that screen. + +### Setting up VNC +Download TightVNC - why? Because you can limit the viewing-Area with it. +I found several other VNC server tools, but its seldom that you can limit the provided area to a certain window or coordinates. +Install TightVNC using its installer. +Once done install it as a service (there are links in the StartMenu for that) and run that service (also link in StartMenu). +In your tray you'll find a VNC icon, click on it and open _configuration_. +Set up your ports and passwords as needed. +On Extra Ports add the port and viewing area your Liberation is positioned +In my particular case (1152x864 main screen / 1680x1050 second screen) that string looks like that: + +``5901:1680x1020+1152+30`` + +Explanation: +5901: listening port for VNC connections +1680: picture width +1020: picture height (minus the windows top-bar) +1152: starting point X (right of my main screen) +30: starting point Y (below the windows top-bar) + +Change to the tab _Access Control_ and allow loopback connections + +## Setting up noVNC and websockify + + + From c4637dbeb522a99c8e509c9660da3fe5d46b2501 Mon Sep 17 00:00:00 2001 From: dFlow82 <73616216+dFlow82@users.noreply.github.com> Date: Fri, 30 Oct 2020 09:33:42 +0100 Subject: [PATCH 099/704] Updated Using noVNC and Liberation as Web Interface (markdown) --- Using-noVNC-and-Liberation-as-Web-Interface.md | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/Using-noVNC-and-Liberation-as-Web-Interface.md b/Using-noVNC-and-Liberation-as-Web-Interface.md index fc2dcbe..ac82650 100644 --- a/Using-noVNC-and-Liberation-as-Web-Interface.md +++ b/Using-noVNC-and-Liberation-as-Web-Interface.md @@ -27,16 +27,15 @@ In my particular case (1152x864 main screen / 1680x1050 second screen) that stri ``5901:1680x1020+1152+30`` -Explanation: -5901: listening port for VNC connections -1680: picture width -1020: picture height (minus the windows top-bar) -1152: starting point X (right of my main screen) -30: starting point Y (below the windows top-bar) +Explanation: +* 5901: listening port for VNC connections +* 1680: picture width +* 1020: picture height (minus the windows top-bar) +* 1152: starting point X (right of my main screen) +* 30: starting point Y (below the windows top-bar) Change to the tab _Access Control_ and allow loopback connections ## Setting up noVNC and websockify - - +.. to be continued! \ No newline at end of file From 238582bf5e13aa9950fd8c662539ac414fd56370 Mon Sep 17 00:00:00 2001 From: dFlow82 <73616216+dFlow82@users.noreply.github.com> Date: Fri, 30 Oct 2020 10:29:11 +0100 Subject: [PATCH 100/704] Updated Using noVNC and Liberation as Web Interface (markdown) --- Using-noVNC-and-Liberation-as-Web-Interface.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Using-noVNC-and-Liberation-as-Web-Interface.md b/Using-noVNC-and-Liberation-as-Web-Interface.md index ac82650..ef6eed7 100644 --- a/Using-noVNC-and-Liberation-as-Web-Interface.md +++ b/Using-noVNC-and-Liberation-as-Web-Interface.md @@ -37,5 +37,6 @@ Explanation: Change to the tab _Access Control_ and allow loopback connections ## Setting up noVNC and websockify +``this_websocket = new WebSocket(uri, ['binary',base64']);`` .. to be continued! \ No newline at end of file From d87a1650bdacc4f467c7b2f9b1760c264d5aebd0 Mon Sep 17 00:00:00 2001 From: dFlow82 <73616216+dFlow82@users.noreply.github.com> Date: Fri, 30 Oct 2020 11:50:15 +0100 Subject: [PATCH 101/704] Updated Using noVNC and Liberation as Web Interface (markdown) --- Using-noVNC-and-Liberation-as-Web-Interface.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Using-noVNC-and-Liberation-as-Web-Interface.md b/Using-noVNC-and-Liberation-as-Web-Interface.md index ef6eed7..1418c48 100644 --- a/Using-noVNC-and-Liberation-as-Web-Interface.md +++ b/Using-noVNC-and-Liberation-as-Web-Interface.md @@ -16,7 +16,8 @@ If you use 1080p on your client then it would be best that the resolution on you If you fancy remove the Taskbar from that screen. ### Setting up VNC -Download TightVNC - why? Because you can limit the viewing-Area with it. +[Download TightVNC](https://www.tightvnc.com/download.php) - why? Because you can limit the viewing-Area with it. + I found several other VNC server tools, but its seldom that you can limit the provided area to a certain window or coordinates. Install TightVNC using its installer. Once done install it as a service (there are links in the StartMenu for that) and run that service (also link in StartMenu). @@ -37,6 +38,10 @@ Explanation: Change to the tab _Access Control_ and allow loopback connections ## Setting up noVNC and websockify -``this_websocket = new WebSocket(uri, ['binary',base64']);`` +* [Download noVNC](https://github.com/novnc/noVNC) and extract it to a folder of your liking. +* change the websocket.json (../noVNC-1.2.0/core/websocket.json - Line 185) to following: ``this_websocket = new WebSocket(uri, ['binary',base64']);`` +* [Download Websockify](https://github.com/novnc/websockify) + + .. to be continued! \ No newline at end of file From 71ef6c2186650c3b46448f521632beb2aa3693ad Mon Sep 17 00:00:00 2001 From: dFlow82 <73616216+dFlow82@users.noreply.github.com> Date: Fri, 30 Oct 2020 12:54:43 +0100 Subject: [PATCH 102/704] Updated Using noVNC and Liberation as Web Interface (markdown) --- Using-noVNC-and-Liberation-as-Web-Interface.md | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/Using-noVNC-and-Liberation-as-Web-Interface.md b/Using-noVNC-and-Liberation-as-Web-Interface.md index 1418c48..70cacce 100644 --- a/Using-noVNC-and-Liberation-as-Web-Interface.md +++ b/Using-noVNC-and-Liberation-as-Web-Interface.md @@ -41,7 +41,22 @@ Change to the tab _Access Control_ and allow loopback connections * [Download noVNC](https://github.com/novnc/noVNC) and extract it to a folder of your liking. * change the websocket.json (../noVNC-1.2.0/core/websocket.json - Line 185) to following: ``this_websocket = new WebSocket(uri, ['binary',base64']);`` * [Download Websockify](https://github.com/novnc/websockify) +* Start websockify using (for example) the following parameters: +``..\websockify.exe 5902 127.0.0.1:5901 --web ..\noVNC-1.2.0`` +> * Explanation: +> * ..\websockify.exe - please provide the correct path to the executable +> * 5902 - any port you want to use for your connection +> * 127.0.0.1:5901 - localhost + the port your VNC server is listening on +> * --web - parameter for the web interface to show +> * ..\noVNC-1.2.0 - the path to your noVNC folder +* rename the _vnc.html_ to _index.html_ so you don't need to enter it in the URL afterwards +There are some more parameters to websockify to wrap executables or start them on connection, which I haven't had a look on yet. +## Execution +Start websockify using the parameters given (or adapted). Start Liberation and put it on your second screen maximized. +Start a Browser and enter the URL:port of your machine. Enter you password - now you should see your Liberation tool. -.. to be continued! \ No newline at end of file +## Notes +I did all that for people I trust and not for a public server. Keep in mind that this provides an access to your machine, there is no security implemented. +Why did I use an area instead of an executable wrapping? Because Liberation uses popups, if I wrap VNC only to liberation.exe those popups might not show up - providing an area I avoid this. \ No newline at end of file From 9e09c187a1167ea5fa569980dcaacf83af7db3ca Mon Sep 17 00:00:00 2001 From: dFlow82 <73616216+dFlow82@users.noreply.github.com> Date: Fri, 30 Oct 2020 12:55:34 +0100 Subject: [PATCH 103/704] Updated _Sidebar (markdown) --- _Sidebar.md | 1 + 1 file changed, 1 insertion(+) diff --git a/_Sidebar.md b/_Sidebar.md index 47ff847..ce1a41a 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -13,6 +13,7 @@ ## Dedicated Servers [Dedicated server guide](https://github.com/Khopa/dcs_liberation/wiki/Dedicated-Server-Guide) +[WebUI for Dedicated Servers](https://github.com/Khopa/dcs_liberation/wiki/Using-noVNC-and-Liberation-as-Web-Interface) ## Modding Liberation From 99bc6277050f8a0e711c96996f640e21a592b2a3 Mon Sep 17 00:00:00 2001 From: dFlow82 <73616216+dFlow82@users.noreply.github.com> Date: Fri, 30 Oct 2020 12:55:54 +0100 Subject: [PATCH 104/704] Updated _Sidebar (markdown) --- _Sidebar.md | 1 + 1 file changed, 1 insertion(+) diff --git a/_Sidebar.md b/_Sidebar.md index ce1a41a..1d974f5 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -13,6 +13,7 @@ ## Dedicated Servers [Dedicated server guide](https://github.com/Khopa/dcs_liberation/wiki/Dedicated-Server-Guide) + [WebUI for Dedicated Servers](https://github.com/Khopa/dcs_liberation/wiki/Using-noVNC-and-Liberation-as-Web-Interface) ## Modding Liberation From 153041bf29577472aaad2d020a8e4b007a8e657f Mon Sep 17 00:00:00 2001 From: dFlow82 <73616216+dFlow82@users.noreply.github.com> Date: Fri, 30 Oct 2020 13:05:17 +0100 Subject: [PATCH 105/704] Updated Using noVNC and Liberation as Web Interface (markdown) --- Using-noVNC-and-Liberation-as-Web-Interface.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Using-noVNC-and-Liberation-as-Web-Interface.md b/Using-noVNC-and-Liberation-as-Web-Interface.md index 70cacce..4ca97c7 100644 --- a/Using-noVNC-and-Liberation-as-Web-Interface.md +++ b/Using-noVNC-and-Liberation-as-Web-Interface.md @@ -28,12 +28,12 @@ In my particular case (1152x864 main screen / 1680x1050 second screen) that stri ``5901:1680x1020+1152+30`` -Explanation: -* 5901: listening port for VNC connections -* 1680: picture width -* 1020: picture height (minus the windows top-bar) -* 1152: starting point X (right of my main screen) -* 30: starting point Y (below the windows top-bar) +> Explanation: +> * 5901: listening port for VNC connections +> * 1680: picture width +> * 1020: picture height (minus the windows top-bar) +> * 1152: starting point X (right of my main screen) +> * 30: starting point Y (below the windows top-bar) Change to the tab _Access Control_ and allow loopback connections From dddae444b7c263b401f9a8675571f703afd472ba Mon Sep 17 00:00:00 2001 From: dFlow82 <73616216+dFlow82@users.noreply.github.com> Date: Fri, 30 Oct 2020 13:17:16 +0100 Subject: [PATCH 106/704] Updated Using noVNC and Liberation as Web Interface (markdown) --- Using-noVNC-and-Liberation-as-Web-Interface.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Using-noVNC-and-Liberation-as-Web-Interface.md b/Using-noVNC-and-Liberation-as-Web-Interface.md index 4ca97c7..53b9f3d 100644 --- a/Using-noVNC-and-Liberation-as-Web-Interface.md +++ b/Using-noVNC-and-Liberation-as-Web-Interface.md @@ -26,7 +26,7 @@ Set up your ports and passwords as needed. On Extra Ports add the port and viewing area your Liberation is positioned In my particular case (1152x864 main screen / 1680x1050 second screen) that string looks like that: -``5901:1680x1020+1152+30`` +>``5901:1680x1020+1152+30`` > Explanation: > * 5901: listening port for VNC connections @@ -39,7 +39,7 @@ Change to the tab _Access Control_ and allow loopback connections ## Setting up noVNC and websockify * [Download noVNC](https://github.com/novnc/noVNC) and extract it to a folder of your liking. -* change the websocket.json (../noVNC-1.2.0/core/websocket.json - Line 185) to following: ``this_websocket = new WebSocket(uri, ['binary',base64']);`` +* change the websocket.json (../noVNC-1.2.0/core/websocket.json - Line 185) to following: > ``this_websocket = new WebSocket(uri, ['binary',base64']);`` * [Download Websockify](https://github.com/novnc/websockify) * Start websockify using (for example) the following parameters: ``..\websockify.exe 5902 127.0.0.1:5901 --web ..\noVNC-1.2.0`` From 326b7f049fc061fbadea267618865c54572ad76a Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sat, 7 Nov 2020 03:30:29 +0100 Subject: [PATCH 107/704] Updated Custom Factions (markdown) --- Custom-Factions.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Custom-Factions.md b/Custom-Factions.md index 17015ea..64423d0 100644 --- a/Custom-Factions.md +++ b/Custom-Factions.md @@ -174,6 +174,10 @@ Below is an example of a factions file : * *SA15Generator* * *SA19Generator* * *HQ7Generator* +* *Flak18Generator* +* *ColdWarFlakGenerator* +* *EarlyColdWarFlakGenerator* +* *FreyaGenerator* ## Annex 2 - Possible Navy group generators From 2eaaccfafce8e36da062037eead2d1e72f830fbf Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sat, 7 Nov 2020 03:31:56 +0100 Subject: [PATCH 108/704] Updated Custom Factions (markdown) --- Custom-Factions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Custom-Factions.md b/Custom-Factions.md index 64423d0..5f574c3 100644 --- a/Custom-Factions.md +++ b/Custom-Factions.md @@ -43,7 +43,7 @@ This json file should contain a json object, with the following parameters : * **has_jtac** : Whether this faction has access to jtac * **jtac_unit** : Type of unit to use as JTAC. * **doctrine** : Either "modern" for modern doctrine, "coldwar" for coldwar doctrine, or "ww2" for WW2 doctrine. Doctrine controls the altitude of flights and other flight planner AI parameters. -* **building_set** : Either "default" for default set, "ww2ally" for WW2 ally buildings, or "ww2germany" for WW2 german building. +* **building_set** : Either "default" for default set, "ww2ally" for WW2 ally buildings, "ww2germany" for WW2 german building or "ww2free" for a ww2 building set that does not require the WW2 asset pack. **Note :** From 4726a5bfdf1d3b1d019b14dcbbc7040f9f82e014 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 6 Nov 2020 21:39:04 -0800 Subject: [PATCH 109/704] Updated Lua Plugins (markdown) --- Lua-Plugins.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Lua-Plugins.md b/Lua-Plugins.md index 7df75d9..bfb9366 100644 --- a/Lua-Plugins.md +++ b/Lua-Plugins.md @@ -1,5 +1,7 @@ # LUA Plugin system +**Note**: Plugins are a Liberation 2.2 feature, which is currently in preview. The features described on this page will not work with Liberation 2.1 or earlier. + This plugin system was made for injecting LUA scripts in dcs-liberation missions. The resources for the plugins are stored in the `resources/plugins` folder ; each plugin has its own folder. From 29624d1bd768bc50cac4e15945e4b0993d34c3f7 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Mon, 9 Nov 2020 01:43:29 -0800 Subject: [PATCH 110/704] Begin adding mission planning documentation. --- Mission-planning.md | 59 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 Mission-planning.md diff --git a/Mission-planning.md b/Mission-planning.md new file mode 100644 index 0000000..6419bd9 --- /dev/null +++ b/Mission-planning.md @@ -0,0 +1,59 @@ +**Note**: The contents of this page apply to DCS Liberation 2.2 and later. + +Each air mission is defined by a "package". A package is a group of one or more flights all working toward the same goal. The flights of the package can perform different tasks, at different times, and depart from different airports. For example, a strike mission attacking a factory will include a strike flight whose task is to attack the factory, but it can also include a SEAD flight to suppress any SAMs the package encounters, and an escort flight to protect the package from enemy aircraft. + +All of the planned ("fragged") packages of a coalition for the turn comprise the coalition's Air Tasking Order (ATO). + +## Mission timing + +Each package has an assigned time-over-target (TOT). The even corresponding to the TOT varies based on the flight. For strike and DEAD flights it represents the desired time for the weapon to hit the target (the AI cannot be given such precise attack commands, however), whereas for CAP it defines the start time of their patrol. + +Other mission waypoints, takeoff times, and mission start times will be planned based on the mission's TOT. Travel times to the target will be estimated, as will startup times and taxi times. + +Flights will have their takeoff delayed long enough that all flights can arrive at their target at the assigned time. + +## Rendezvous planning + +Some task types will rendezvous with the rest of the package before proceeding to the mission area. This is typically the case for strike/DEAD flights and their escorts. For these task types, additional waypoints will be added to the flight plan: + +A hold point will be added after the ascent point. Climb to altitude and orbit until the assigned departure time. Flights are planned with an assumed five minutes of hold time to allow for last minute preparations and to accommodate unexpected delays before takeoff. + +A join point is added after the hold point. At this point the flights will rendezvous with the rest of the package and head toward their target. The TOT of this waypoint is set the same for each flight. + +A split point is added after the egress point. This is where flights will split off from each other to head to RTB. + +## Task types + +Below is a list of all the currently available task types for flights. More will be added in future updates. Subscribe to [Issue 277](https://github.com/Khopa/dcs_liberation/issues/277) for updates. + +### BARCAP + +A BARCAP mission can be planned at any objective area, with the exception of front lines (for front line CAP, use TARCAP). Its purpose is to prevent enemy aircraft from entering the area. The flight will arrive at the target area at the package's TOT and begin a race-track pattern patrol and remain for a predefined amount of time (currently 30 minutes). The race-track will be oriented toward the nearest enemy airbase. + +### CAS + +A CAS mission can be planned at a front line. Its purpose is to provide support to ground forces. The flight will arrive at the target area at the package's TOT and begin searching for targets within a predefined range of the center of the front line. The flight will search for targets until it is either bingo or winchester. + +### DEAD + +A DEAD mission can be planned against enemy air defenses. Its purpose is to destroy enemy air defenses. The flight will rendezvous with the rest of its package and aim to have weapons on the target at the package's TOT. After releasing its weapons, the flight will RTB. + +### Escort + +An escort mission protects any other flights that are requesting an escort. Most mission types (CAP types are the exception) will request escorts for their mission. An escort will fly a flight plan similar to the rest of the package and RTB. + +Note that the escort flight will not remain in the target area even if the rest of the package does not complete its mission quickly. To assign long-term air-to-air defense, use a CAP flight. + +### SEAD + +A SEAD mission protects other flights from SAMs. In contrast to DEAD, it will engage air defenses near the target area and not just the target itself. The flight will rendezvous with the rest of its package and begin to search for and suppress any enemy air defenses within a predefined range. After releasing its weapons the flight will RTB. + +### Strike + +A strike mission can be planned against enemy ground targets. The flight will rendezvous with the rest of its package and release its weapons on the predefined location. Some bombers will carpet bomb an area in a single pass, but most will aim at multiple targets. After releasing its weapons, the flight will RTB. + +Note that strike packages are assigned coordinates to attack, not units. If the target moves the flight will not hit its target. + +### TARCAP + +A TARCAP can be assigned to a front line. TARCAP flights behave similarly to BARCAP except that it will only remain at the target area for as long as the members of the package that are requesting an escort plan to be there. If there are no other package members, the flight will patrol for a predefined amount of time (currently 30 minutes). \ No newline at end of file From a29c0a5fbe37bca0dc92e540bd642f49e9b7617a Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Mon, 9 Nov 2020 01:48:05 -0800 Subject: [PATCH 111/704] Updated Mission planning (markdown) --- Mission-planning.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Mission-planning.md b/Mission-planning.md index 6419bd9..eba96ed 100644 --- a/Mission-planning.md +++ b/Mission-planning.md @@ -12,6 +12,8 @@ Other mission waypoints, takeoff times, and mission start times will be planned Flights will have their takeoff delayed long enough that all flights can arrive at their target at the assigned time. +When planning a mission, if you do not care specifically when the package reaches the target but instead want to plan the mission to begin as soon as possible, use the "ASAP" button next to the TOT in the package UI. + ## Rendezvous planning Some task types will rendezvous with the rest of the package before proceeding to the mission area. This is typically the case for strike/DEAD flights and their escorts. For these task types, additional waypoints will be added to the flight plan: From 90646070800e226c4398192e37114baa46790398 Mon Sep 17 00:00:00 2001 From: walterroach <37820425+walterroach@users.noreply.github.com> Date: Mon, 9 Nov 2020 11:09:32 -0600 Subject: [PATCH 112/704] Updated Developer's Guide (markdown) --- Developer's-Guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Developer's-Guide.md b/Developer's-Guide.md index f889b1e..f4785bd 100644 --- a/Developer's-Guide.md +++ b/Developer's-Guide.md @@ -15,7 +15,7 @@ The original UI was different, and the mission generation process was different ## Required tools -* [Python 3.6+](https://www.python.org/downloads/) +* [Python 3.8+](https://www.python.org/downloads/) * A code Editor for Python. I recommend [PyCharm Community Edition](https://www.jetbrains.com/pycharm/download/#section=windows), you can add plugin for Lua. When you install Python, make sure to install pip for dependencies management. From fdb6b9dd4ec3063a516fd1ce06eb973815d5e448 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Thu, 12 Nov 2020 21:47:20 +0100 Subject: [PATCH 113/704] Created Mission Data Files (markdown) --- Mission-Data-Files.md | 55 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 Mission-Data-Files.md diff --git a/Mission-Data-Files.md b/Mission-Data-Files.md new file mode 100644 index 0000000..8e61846 --- /dev/null +++ b/Mission-Data-Files.md @@ -0,0 +1,55 @@ +# What are mission data (mizdata) files ? + +These are DCS Mission Editor files in which a set of preset location have been defined. Anybody can create these, the only skill needed is the ability to place object in the mission editor. + +A mizdata file is associated to a DCS Liberation control point, which is usually an airbase. + +Mizdata files are located in directory ./resources/mizdata//.miz + + +These files contains : +- Preset location for SAMs/strike targets +- Preset location for coastal/defense (Silkworm missiles sites for modern scenario, or Artilery Bunker for WW2) +- Preset location for Factory/Power Plant (for future use) +- Maybe more stuff later + +# About locations to pick : + +Try to spread them out around the control point area, but do not put them too close together. Otherwise we might end up with overlapping icons in the DCS Liberation software if two locations are too close from each other have been picked. + +Here is an example for Mozdok : + +![](https://imgur.com/FhaRIEg.png) + +# Preset SAM / Strike target locations + +These locations are represented in the mission editor by a single APC-AAV-7, with USA as country. + +To maintain randomness of the scenario generated by liberation, the more you can place the better (but remember, do not put them too close from each other), place at least 10 of them if you can. + +DCS Liberation will pick a few of these locations to generate SAM sites and/or Strike targets. + +Here is an example of location : + +![](https://imgur.com/fIfH8JE.png) + +You should pick flat land, with at least 1500ft of free field around, so there is enough free space to generate a full SAM site. (600ft is ok for WW2 map) + +When possible, or a strategic location that will cover either a frontline to another airbase. + +**Good example of location :** + + +**Bad example :** + +![](https://imgur.com/iRxyqkE.png) + +**BAD !** No that's bad ! There will not be enough space to generate most SAM sites, some units might end up in the trees ! + +![](https://imgur.com/lBPcI0w.png) + +**BAD !** This is not flat and, there are trees around, literally one of the worst possible location ! + + + +Maybe more things in the future. \ No newline at end of file From e606b12d127fc986af9eec9d0a7df36c6cc15f26 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Thu, 12 Nov 2020 22:13:24 +0100 Subject: [PATCH 114/704] Updated Mission Data Files (markdown) --- Mission-Data-Files.md | 55 ++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 52 insertions(+), 3 deletions(-) diff --git a/Mission-Data-Files.md b/Mission-Data-Files.md index 8e61846..1267d98 100644 --- a/Mission-Data-Files.md +++ b/Mission-Data-Files.md @@ -4,19 +4,25 @@ These are DCS Mission Editor files in which a set of preset location have been d A mizdata file is associated to a DCS Liberation control point, which is usually an airbase. -Mizdata files are located in directory ./resources/mizdata//.miz - +Mizdata files are located in directory ./resources/mizdata/[map name]/[control_point_name].miz These files contains : - Preset location for SAMs/strike targets +- Preset offshore locations - Preset location for coastal/defense (Silkworm missiles sites for modern scenario, or Artilery Bunker for WW2) - Preset location for Factory/Power Plant (for future use) - Maybe more stuff later +**Example file for Manston (The Channel map) :** + +![](https://imgur.com/rKGOqG0.png) + # About locations to pick : Try to spread them out around the control point area, but do not put them too close together. Otherwise we might end up with overlapping icons in the DCS Liberation software if two locations are too close from each other have been picked. +Also make sure the picked locations do not overlap with locations from another Control Point ! + Here is an example for Mozdok : ![](https://imgur.com/FhaRIEg.png) @@ -39,6 +45,9 @@ When possible, or a strategic location that will cover either a frontline to ano **Good example of location :** +![](https://imgur.com/S200ycG.png) + +**Good !** There is plenty of free space around ! **Bad example :** @@ -50,6 +59,46 @@ When possible, or a strategic location that will cover either a frontline to ano **BAD !** This is not flat and, there are trees around, literally one of the worst possible location ! +# Offshore locations +These are represented by Oliver Hazard Perry class ships, USA country. -Maybe more things in the future. \ No newline at end of file +These are used to generate starting locations for ship group or oil platform sites. + +Spread them in the sea, near the control point (if the control point is a coastal one) : + +![](https://imgur.com/MOvZtgb.png) + +# Coastal defenses site + +These are represented by Iranian Silkworm Missiles launcher, on the coast, with their heading in the direction of the sea (this is important, so we'd be able get the generation of these site right). You don't need them on non-coastal control points. + +![](https://imgur.com/P0mEHJF.png) + +**Good example :** + +![](https://imgur.com/retUc2l.png) + +**Good !** There is plenty of free space around, and the site is on the coast ! + +# Factory / Power Plant Location + +These are represented by a single "Workshop A" static structure, country USA in the mission editor. + +![](https://imgur.com/Dx7jzgS.png) + +Please try to give them a name if you can, we might use these later as well to name objective realistically : + +![](https://imgur.com/d1MEWDM.png) + +**Good location example:** + +![](https://imgur.com/DovvvJj.png) + +**Good !** This doesn't look out of place, and is located in an industrial area. + +**Bad location example:** + +![](https://imgur.com/bsVgNwF.png) + +**Bad!** This is in the middle of nowhere, this doesn't make sense ! From 1d31af834dd3484c58303e783d31988b01215baa Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Thu, 12 Nov 2020 22:14:17 +0100 Subject: [PATCH 115/704] Updated Mission Data Files (markdown) --- Mission-Data-Files.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Mission-Data-Files.md b/Mission-Data-Files.md index 1267d98..f0e4da2 100644 --- a/Mission-Data-Files.md +++ b/Mission-Data-Files.md @@ -43,13 +43,13 @@ You should pick flat land, with at least 1500ft of free field around, so there i When possible, or a strategic location that will cover either a frontline to another airbase. -**Good example of location :** +**Good location example :** ![](https://imgur.com/S200ycG.png) **Good !** There is plenty of free space around ! -**Bad example :** +**Bad location example :** ![](https://imgur.com/iRxyqkE.png) @@ -75,7 +75,7 @@ These are represented by Iranian Silkworm Missiles launcher, on the coast, with ![](https://imgur.com/P0mEHJF.png) -**Good example :** +**Good location example :** ![](https://imgur.com/retUc2l.png) From 6bdf34140b6eb648321e08b80dbea901c1ac0c3f Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Thu, 12 Nov 2020 22:22:18 +0100 Subject: [PATCH 116/704] Updated Mission Data Files (markdown) --- Mission-Data-Files.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Mission-Data-Files.md b/Mission-Data-Files.md index f0e4da2..3811460 100644 --- a/Mission-Data-Files.md +++ b/Mission-Data-Files.md @@ -1,5 +1,8 @@ # What are mission data (mizdata) files ? +## Note : [MIZDATA files are already done for Caucasus and The Channel map.] + + These are DCS Mission Editor files in which a set of preset location have been defined. Anybody can create these, the only skill needed is the ability to place object in the mission editor. A mizdata file is associated to a DCS Liberation control point, which is usually an airbase. From 51ecdcf1c4a42748ea7ffa5f102ad364d85b991f Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sat, 14 Nov 2020 01:49:35 -0800 Subject: [PATCH 117/704] Add the mission planning page to the new "Manual" section. --- Home.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Home.md b/Home.md index 3283b96..10ec534 100644 --- a/Home.md +++ b/Home.md @@ -14,6 +14,10 @@ I recommend you read the [Getting Started](https://github.com/Khopa/dcs_liberati [4 - Setting up a custom Strike mission](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-04-:-Setting-up-a-custom-%22Strike%22-mission) +## Manual + +[Mission Planning](https://github.com/Khopa/dcs_liberation/wiki/Mission-planning) + ## Dedicated Servers [Dedicated server guide](https://github.com/Khopa/dcs_liberation/wiki/Dedicated-Server-Guide) From 8d0d242b66f87bc1aad5261fc34f9da32712c53d Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sat, 14 Nov 2020 01:50:55 -0800 Subject: [PATCH 118/704] Add the mission planning page to the sidebar. --- _Sidebar.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/_Sidebar.md b/_Sidebar.md index 1d974f5..1153b6c 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -10,6 +10,10 @@ [4 - Setting up a custom Strike mission](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-04-:-Setting-up-a-custom-%22Strike%22-mission) +## Manual + +[Mission Planning](https://github.com/Khopa/dcs_liberation/wiki/Mission-planning) + ## Dedicated Servers [Dedicated server guide](https://github.com/Khopa/dcs_liberation/wiki/Dedicated-Server-Guide) From 89a1509fa4c02d4ffddb8e91a78131e418fdc498 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sat, 14 Nov 2020 18:45:14 -0800 Subject: [PATCH 119/704] Updated Home (markdown) --- Home.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Home.md b/Home.md index 10ec534..1fb99d7 100644 --- a/Home.md +++ b/Home.md @@ -18,6 +18,8 @@ I recommend you read the [Getting Started](https://github.com/Khopa/dcs_liberati [Mission Planning](https://github.com/Khopa/dcs_liberation/wiki/Mission-planning) +[Frontline Stances](https://github.com/Khopa/dcs_liberation/wiki/Frontline-Strategies-Stances) + ## Dedicated Servers [Dedicated server guide](https://github.com/Khopa/dcs_liberation/wiki/Dedicated-Server-Guide) From a51d95225f1515e312219cdf52c45f70bcfd35ee Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sat, 14 Nov 2020 18:45:23 -0800 Subject: [PATCH 120/704] Updated _Sidebar (markdown) --- _Sidebar.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/_Sidebar.md b/_Sidebar.md index 1153b6c..1dd7102 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -14,6 +14,8 @@ [Mission Planning](https://github.com/Khopa/dcs_liberation/wiki/Mission-planning) +[Frontline Stances](https://github.com/Khopa/dcs_liberation/wiki/Frontline-Strategies-Stances) + ## Dedicated Servers [Dedicated server guide](https://github.com/Khopa/dcs_liberation/wiki/Dedicated-Server-Guide) From ce15f7a5b37becfe9c05d0d5000e4030a2db4d2e Mon Sep 17 00:00:00 2001 From: root0fall <69777262+root0fall@users.noreply.github.com> Date: Sun, 15 Nov 2020 22:00:59 +0800 Subject: [PATCH 121/704] fixed a couple of typos --- Custom-Factions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Custom-Factions.md b/Custom-Factions.md index 5f574c3..a515e2f 100644 --- a/Custom-Factions.md +++ b/Custom-Factions.md @@ -12,7 +12,7 @@ You can put your own factions configuration json files in the folder **./resourc Then restart DCS Liberation to have the faction loaded. If there is no error, your custom faction will appear in the New Game Wizard. -If there is an error with the file it will not appear, please check the content of the console output, it might contains hints about the error. First please verify is the json syntax is valid. +If there is an error with the file it will not appear, please check the content of the console output, it might contain hints about the error. First, please verify the json syntax is valid. # File format From aac4ccd69feff0700d284c03ffc6719c88ea6689 Mon Sep 17 00:00:00 2001 From: Celso Dantas Date: Sun, 15 Nov 2020 18:10:11 -0500 Subject: [PATCH 122/704] Updated Frontline Strategies Stances (markdown) --- Frontline-Strategies-Stances.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Frontline-Strategies-Stances.md b/Frontline-Strategies-Stances.md index a8a7806..6656936 100644 --- a/Frontline-Strategies-Stances.md +++ b/Frontline-Strategies-Stances.md @@ -24,13 +24,13 @@ * If friendly base is within 20 KM, regroup there and defend. ## BREAKTHROUGH -* Units will attempt a breakthrough, rushing forward very aggresively with big group of armored units, and even less armored units will move aggresively +* Units will attempt a breakthrough, rushing forward very aggressively with big group of armored units, and even less armored units will move aggressively * ### Tanks and IFVs * Move forward up to 35 KM * If Base is close enough, tanks and IFVs will attack the base. * Focuses on advancement over kills ## ELIMINATION -* Units will progress aggresively toward anemy units, attempting to eliminate the ennemy force +* Units will progress aggresively toward enemy units, attempting to eliminate the enemy force * ### Tanks and IFVs * Close distance and attack the three nearest enemy groups * Attempt to move forward up to 16 KM after killing their targets. @@ -49,7 +49,7 @@ * Elimination 20% chance * Breakthrough 20% chance * If player has more units available than enemy: - * Defenisve 60% chance + * Defensive 60% chance * Ambush 20% chance * Aggressive 20% chance * If enemy and player have same number of units: From d152b57227d051b1dcb340e9a8224f16ba1516c3 Mon Sep 17 00:00:00 2001 From: walterroach <37820425+walterroach@users.noreply.github.com> Date: Sun, 15 Nov 2020 23:04:54 -0600 Subject: [PATCH 123/704] Copied from the pinned post in Discord. --- Custom-Loadouts.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 Custom-Loadouts.md diff --git a/Custom-Loadouts.md b/Custom-Loadouts.md new file mode 100644 index 0000000..7a3119c --- /dev/null +++ b/Custom-Loadouts.md @@ -0,0 +1,11 @@ +1. Go to the DCS mission editor, put the plane you want to modify the loadout for in the editor. +Create loadouts with the following names, for each possible tasks : "CAS", "CAP", "SEAD", "ANTISHIP", "STRIKE" + * Note : Even if the plane cannot run the task, please create a default loadout for it anyway. + +2. Once done, exit the DCS Mission Editor + +3. Go the the folder : "/MissionEditor/UnitPayloads/" and locate "Su-25T.lua" for instance, if you created loadouts for the Su-25T + +4. Copy this file in the "/resources/customized_payloads/ folder " + +5. Then restart DCS Liberation, it is necessary to re-generate the mission by clicking on Take Off to get the new default loadout in the generated mission \ No newline at end of file From bdac59275503e7b91b33519f2e765742984e6d87 Mon Sep 17 00:00:00 2001 From: walterroach <37820425+walterroach@users.noreply.github.com> Date: Sun, 15 Nov 2020 23:05:32 -0600 Subject: [PATCH 124/704] Updated _Sidebar (markdown) --- _Sidebar.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/_Sidebar.md b/_Sidebar.md index 1dd7102..66c44bd 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -30,6 +30,8 @@ [Lua Plugins](https://github.com/Khopa/dcs_liberation/wiki/Lua-Plugins) +[Custom Loadouts](https://github.com/Khopa/dcs_liberation/wiki/Custom-Loadouts) + ## Contributions [Contributing to DCS Liberation](https://github.com/Khopa/dcs_liberation/wiki/Contributing-to-DCS-Liberation) From bbb03d4f6723ce30d8ce5f54ce46c94f5f9a2a87 Mon Sep 17 00:00:00 2001 From: walterroach <37820425+walterroach@users.noreply.github.com> Date: Sun, 15 Nov 2020 23:05:57 -0600 Subject: [PATCH 125/704] Updated Home (markdown) --- Home.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Home.md b/Home.md index 1fb99d7..622db82 100644 --- a/Home.md +++ b/Home.md @@ -32,6 +32,8 @@ I recommend you read the [Getting Started](https://github.com/Khopa/dcs_liberati [Lua Plugins](https://github.com/Khopa/dcs_liberation/wiki/Lua-Plugins) +[Custom Loadouts](https://github.com/Khopa/dcs_liberation/wiki/Custom-Loadouts) + ## Contributions [Contributing to DCS Liberation](https://github.com/Khopa/dcs_liberation/wiki/Contributing-to-DCS-Liberation) From 0fa110d8f62938f91bd711d0f0baa0e8205aebb7 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sun, 15 Nov 2020 22:38:31 -0800 Subject: [PATCH 126/704] Updated Mission planning (markdown) --- Mission-planning.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Mission-planning.md b/Mission-planning.md index eba96ed..c9edf1f 100644 --- a/Mission-planning.md +++ b/Mission-planning.md @@ -10,7 +10,14 @@ Each package has an assigned time-over-target (TOT). The even corresponding to t Other mission waypoints, takeoff times, and mission start times will be planned based on the mission's TOT. Travel times to the target will be estimated, as will startup times and taxi times. -Flights will have their takeoff delayed long enough that all flights can arrive at their target at the assigned time. +Flights will have their takeoff delayed long enough that all flights can arrive at their target at the assigned time. Behavior for delayed flights varies based on the number of players in the flight, the origin point, and the player's settings: + +* AI flights from the shore will be spawned uncontrolled (the plane will be parked, but no pilot will be in it) until their mission start time. This is to provide targets for airfield strikes and for ambience. +* AI flights from the boat will be activated late (the plane will not be spawned) until their mission start time. This is to decrease congestion on the flight deck. +* Cold start player flights from the shore will be spawned uncontrolled. The player will not be able to enter the cockpit until the mission start time. This is to prevent AI wingmen from starting their engines prematurely and wasting too much fuel before a long delayed flight. +* Player flights from the boat will spawn immediately (https://github.com/Khopa/dcs_liberation/issues/375). + +To prevent player flights from being delayed, use the "Never delay player flights" option in the campaign settings. When planning a mission, if you do not care specifically when the package reaches the target but instead want to plan the mission to begin as soon as possible, use the "ASAP" button next to the TOT in the package UI. From ea958c9f8ba923d9bce7e76fa39b86c79e7639f3 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sun, 15 Nov 2020 22:39:55 -0800 Subject: [PATCH 127/704] Updated Mission planning (markdown) --- Mission-planning.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Mission-planning.md b/Mission-planning.md index c9edf1f..d96797d 100644 --- a/Mission-planning.md +++ b/Mission-planning.md @@ -15,6 +15,7 @@ Flights will have their takeoff delayed long enough that all flights can arrive * AI flights from the shore will be spawned uncontrolled (the plane will be parked, but no pilot will be in it) until their mission start time. This is to provide targets for airfield strikes and for ambience. * AI flights from the boat will be activated late (the plane will not be spawned) until their mission start time. This is to decrease congestion on the flight deck. * Cold start player flights from the shore will be spawned uncontrolled. The player will not be able to enter the cockpit until the mission start time. This is to prevent AI wingmen from starting their engines prematurely and wasting too much fuel before a long delayed flight. +* All other shore player flight start types will spawn immediately. Use delayed runway and air starts with caution, as there is no way to prevent the player from being spawned into the path of another flight. * Player flights from the boat will spawn immediately (https://github.com/Khopa/dcs_liberation/issues/375). To prevent player flights from being delayed, use the "Never delay player flights" option in the campaign settings. From f8d57c743f09d472793708e2b0e3fb703d824894 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sun, 15 Nov 2020 23:56:50 -0800 Subject: [PATCH 128/704] Updated Mission planning (markdown) --- Mission-planning.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Mission-planning.md b/Mission-planning.md index d96797d..a8bbfbe 100644 --- a/Mission-planning.md +++ b/Mission-planning.md @@ -54,6 +54,12 @@ An escort mission protects any other flights that are requesting an escort. Most Note that the escort flight will not remain in the target area even if the rest of the package does not complete its mission quickly. To assign long-term air-to-air defense, use a CAP flight. +### Fighter sweep + +**Note**: Fighter sweep missions are new in DCS Liberation 2.3. + +A fighter sweep mission can be planned against an enemy objective. Its purpose is to clear the target area of enemy fighters before the rest of the package arrives. The flight will move to a point near the package's join point and then proceed to engage enemy fighters on its way to the target area. The flight will RTB when it is bingo, winchester, or reaches the target area without encountering any fighters. + ### SEAD A SEAD mission protects other flights from SAMs. In contrast to DEAD, it will engage air defenses near the target area and not just the target itself. The flight will rendezvous with the rest of its package and begin to search for and suppress any enemy air defenses within a predefined range. After releasing its weapons the flight will RTB. From 3030256e2b056e7d5b0ca1dec0da4e0a213d090f Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Mon, 16 Nov 2020 00:38:53 -0800 Subject: [PATCH 129/704] Updated Mission planning (markdown) --- Mission-planning.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Mission-planning.md b/Mission-planning.md index a8bbfbe..5f2914b 100644 --- a/Mission-planning.md +++ b/Mission-planning.md @@ -40,6 +40,10 @@ Below is a list of all the currently available task types for flights. More will A BARCAP mission can be planned at any objective area, with the exception of front lines (for front line CAP, use TARCAP). Its purpose is to prevent enemy aircraft from entering the area. The flight will arrive at the target area at the package's TOT and begin a race-track pattern patrol and remain for a predefined amount of time (currently 30 minutes). The race-track will be oriented toward the nearest enemy airbase. +### Changes in 2.3 + +In DCS Liberation 2.3 BARCAP has become defensive only. BARCAP missions can only be planned on friendly areas (friendly airbases, ships, and objective areas). BARCAP for enemy areas is now done by TARCAP. + ### CAS A CAS mission can be planned at a front line. Its purpose is to provide support to ground forces. The flight will arrive at the target area at the package's TOT and begin searching for targets within a predefined range of the center of the front line. The flight will search for targets until it is either bingo or winchester. @@ -72,4 +76,8 @@ Note that strike packages are assigned coordinates to attack, not units. If the ### TARCAP -A TARCAP can be assigned to a front line. TARCAP flights behave similarly to BARCAP except that it will only remain at the target area for as long as the members of the package that are requesting an escort plan to be there. If there are no other package members, the flight will patrol for a predefined amount of time (currently 30 minutes). \ No newline at end of file +A TARCAP can be assigned to a front line. TARCAP flights behave similarly to BARCAP except that it will only remain at the target area for as long as the members of the package that are requesting an escort plan to be there. If there are no other package members, the flight will patrol for a predefined amount of time (currently 30 minutes). + +### Changes in 2.3 + +In DCS Liberation 2.3 TARCAP is now available on any enemy objective. The behavior from previously releases remains the same, except TARCAP flights will arrive to the objective area two minutes ahead of the rest of the package to clear the area if needed. \ No newline at end of file From e81184257823284001d34e38e822636bbe86f314 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Mon, 16 Nov 2020 21:45:57 -0800 Subject: [PATCH 130/704] Updated Mission planning (markdown) --- Mission-planning.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Mission-planning.md b/Mission-planning.md index 5f2914b..1a8dc97 100644 --- a/Mission-planning.md +++ b/Mission-planning.md @@ -36,6 +36,12 @@ A split point is added after the egress point. This is where flights will split Below is a list of all the currently available task types for flights. More will be added in future updates. Subscribe to [Issue 277](https://github.com/Khopa/dcs_liberation/issues/277) for updates. +### BAI + +**Note**: BAI missions are new in DCS Liberation 2.3. + +A Battlefield Air Interdiction (BAI) mission can be planned at enemy objective areas with ground vehicles. Its purpose is similar to CAS, but instead of supporting friendly troops it eliminates enemy forces before they can reach the front line. The flight will rendezvous with the rest of its package and proceed to its ingress point, where it will begin to search for its assigned targets. + ### BARCAP A BARCAP mission can be planned at any objective area, with the exception of front lines (for front line CAP, use TARCAP). Its purpose is to prevent enemy aircraft from entering the area. The flight will arrive at the target area at the package's TOT and begin a race-track pattern patrol and remain for a predefined amount of time (currently 30 minutes). The race-track will be oriented toward the nearest enemy airbase. From 53f5064db9e0292d2d4461788df2512ddfb0471d Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Mon, 16 Nov 2020 21:46:49 -0800 Subject: [PATCH 131/704] Updated Mission planning (markdown) --- Mission-planning.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Mission-planning.md b/Mission-planning.md index 1a8dc97..30c8e22 100644 --- a/Mission-planning.md +++ b/Mission-planning.md @@ -46,7 +46,7 @@ A Battlefield Air Interdiction (BAI) mission can be planned at enemy objective a A BARCAP mission can be planned at any objective area, with the exception of front lines (for front line CAP, use TARCAP). Its purpose is to prevent enemy aircraft from entering the area. The flight will arrive at the target area at the package's TOT and begin a race-track pattern patrol and remain for a predefined amount of time (currently 30 minutes). The race-track will be oriented toward the nearest enemy airbase. -### Changes in 2.3 +#### Changes in 2.3 In DCS Liberation 2.3 BARCAP has become defensive only. BARCAP missions can only be planned on friendly areas (friendly airbases, ships, and objective areas). BARCAP for enemy areas is now done by TARCAP. @@ -84,6 +84,6 @@ Note that strike packages are assigned coordinates to attack, not units. If the A TARCAP can be assigned to a front line. TARCAP flights behave similarly to BARCAP except that it will only remain at the target area for as long as the members of the package that are requesting an escort plan to be there. If there are no other package members, the flight will patrol for a predefined amount of time (currently 30 minutes). -### Changes in 2.3 +#### Changes in 2.3 In DCS Liberation 2.3 TARCAP is now available on any enemy objective. The behavior from previously releases remains the same, except TARCAP flights will arrive to the objective area two minutes ahead of the rest of the package to clear the area if needed. \ No newline at end of file From c1a84b51e2bb3cbbb431310ae4e6c9f31670dbb5 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Mon, 16 Nov 2020 23:41:37 -0800 Subject: [PATCH 132/704] Updated Mission planning (markdown) --- Mission-planning.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Mission-planning.md b/Mission-planning.md index 30c8e22..121d2a9 100644 --- a/Mission-planning.md +++ b/Mission-planning.md @@ -36,6 +36,14 @@ A split point is added after the egress point. This is where flights will split Below is a list of all the currently available task types for flights. More will be added in future updates. Subscribe to [Issue 277](https://github.com/Khopa/dcs_liberation/issues/277) for updates. +### Anti-ship + +**Note**: Anti-ship missions are new in DCS Liberation 2.3. + +An anti-ship mission can be planned against enemy ships. The flight will rendezvous with the rest of its package and proceed to its ingress point, where it will fire its weapons at the enemy naval group. AI flights targeting a group of ships may split their weapons across multiple ships. After firing, the flight will RTB. + +Many ships have significant point defenses. Large numbers of anti-ship weapons are usually needed to overwhelm the defenses. + ### BAI **Note**: BAI missions are new in DCS Liberation 2.3. From 1db2a2ff8f4f9e74e7727c09e80e3d8b6636e5ce Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Wed, 18 Nov 2020 17:07:15 -0800 Subject: [PATCH 133/704] Updated Mission planning (markdown) --- Mission-planning.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Mission-planning.md b/Mission-planning.md index 121d2a9..fcf4828 100644 --- a/Mission-planning.md +++ b/Mission-planning.md @@ -18,7 +18,7 @@ Flights will have their takeoff delayed long enough that all flights can arrive * All other shore player flight start types will spawn immediately. Use delayed runway and air starts with caution, as there is no way to prevent the player from being spawned into the path of another flight. * Player flights from the boat will spawn immediately (https://github.com/Khopa/dcs_liberation/issues/375). -To prevent player flights from being delayed, use the "Never delay player flights" option in the campaign settings. +To prevent player flights from being delayed, use the "Never delay player flights" option in the campaign settings. **This does not alter your mission time. It only lets you sit in a cockpit while you wait.** When planning a mission, if you do not care specifically when the package reaches the target but instead want to plan the mission to begin as soon as possible, use the "ASAP" button next to the TOT in the package UI. From e2ceef00d159abee748a5da0dc41278f0114f405 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Mon, 23 Nov 2020 18:15:39 -0800 Subject: [PATCH 134/704] Add docs for OCA strike and runway attack missions. --- Mission-planning.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Mission-planning.md b/Mission-planning.md index fcf4828..d5d0f9b 100644 --- a/Mission-planning.md +++ b/Mission-planning.md @@ -78,6 +78,20 @@ Note that the escort flight will not remain in the target area even if the rest A fighter sweep mission can be planned against an enemy objective. Its purpose is to clear the target area of enemy fighters before the rest of the package arrives. The flight will move to a point near the package's join point and then proceed to engage enemy fighters on its way to the target area. The flight will RTB when it is bingo, winchester, or reaches the target area without encountering any fighters. +### OCA strike + +**Note**: OCA strike missions are new in DCS Liberation 2.3. + +An OCA strike mission can be planned against an enemy airfield. Its purpose is to destroy aircraft on the ground. The flight will rendezvous with the rest of its package and proceed to its ingress point, where it will begin to search for and attack grounded aircraft at the target airfield. + +### Runway attack + +**Note**: Runway attack missions are new in DCS Liberation 2.3. + +A runway attack mission can be planned against an enemy airfield. Its purpose is to damage the runway to prevent the enemy from using the airbase to launch future missions. The flight will rendezvous with the rest of its package and proceed to its ingress point before lining up with and bombing the runway. + +**Runway damage is not currently persistent across turns, but will prevent future missions planned for the same turn.** Subscribe to [Issue 432](https://github.com/Khopa/dcs_liberation/issues/432) for updates. + ### SEAD A SEAD mission protects other flights from SAMs. In contrast to DEAD, it will engage air defenses near the target area and not just the target itself. The flight will rendezvous with the rest of its package and begin to search for and suppress any enemy air defenses within a predefined range. After releasing its weapons the flight will RTB. From c1021c7e2f2c6e6bc5a318bf79f88ee3c61568cd Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Tue, 24 Nov 2020 14:02:47 -0800 Subject: [PATCH 135/704] Partial documentation for new campaign modding in 2.3. --- 2.3-Campaign-Design.md | 57 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 2.3-Campaign-Design.md diff --git a/2.3-Campaign-Design.md b/2.3-Campaign-Design.md new file mode 100644 index 0000000..1bbe499 --- /dev/null +++ b/2.3-Campaign-Design.md @@ -0,0 +1,57 @@ +In DCS Liberation 2.3 campaign modding has been redesigned so that the campaign is designed in the mission editor, as a single miz file per mission. + +## Descriptor file + +As before, the campaign uses a JSON file to describe some metadata. To create a new campaign, add a JSON file (such as `mycampaign.json`) to `resources\campaigns`. + +This json file should contain a json object, with the following parameters : + +* `name`: The name of the campaign that will be shown in the New Game wizard. +* `theater`: The map for the campaign (either: `Caucasus`, `Persian Gulf`, `Nevada`, `Normandy`, `Syria` or `The Channel`). +* `authors`: The authors of the campaign that will be shown in the New Game wizard. +* `description`: A description of the campaign that will be shown in the New Game wizard. +* `miz`: The name of the miz file (in the same `resources\campaigns` directory) that describes the campaign. + +## Designing campaigns in the mission editor + +When creating a campaign it may be easiest to start with an existing campaign in the same theater and modify it to suit your needs. If starting from scratch, ensure that Combined Joint Task Forces Blue and Combined Joint Task Forces Red are assigned to the blue and red coalitions respectively, as these will be used to define many of the campaigns properties. + +### Control points + +Control points are the spawn locations and (in most cases) the capturable positions in the campaign. + +#### Airbase control + +To make an airbase that starts controlled by blue, assign the airbase to the blue coalition in the mission editor. To make an airbase that starts controlled by red, assign the airbase to red. + +#### Carriers and LHAs + +To create a carrier, place a CVN-74 where you want it to be in the campaign. The carrier will be red if it belongs to CJTF Red and blue if it belongs to CJTF Blue. + +To create an LHA, follow the same process but place an LHA-1. + +Note that the presence of the carrier or LHA in the game will depend on the player's options and the faction's navy. + +#### Off-map spawns + +To create a point where aircraft from other theaters can be spawned into the mission in-air, place an F-15C. As with carriers and LHAs, use CJTF Red or Blue to assign the point to either faction. + +The altitude of the unit is not currently relevant, as the spawn altitude of units in Liberation depends on the faction's doctrine and the unit type. + +#### Importance + +Control points can be assigned an "importance", which determines the proportion of their forces that the AI commander will assign to the control point. This value is set using the `Periodicity` property of the control point's warehouse. This applies to airbases, carriers, and LHAs, but not to off-map spawns. + +30 is the default in the editor and leaving it at 30 will cause it to have its default priority in the campaign (1.2). + +Custom priorities may be set by changing the periodicity to a value between 10 and 14 (inclusive), with 14 being the most important and 10 being the least important. This value will be divided by 10 to fit the game's importance range of 1.0 to 1.4, so a value of 12 will also set the default importance of 1.2. + +#### Campaign inversion + +Inverting the campaign allows the player to play the campaign in reverse (starting from the North instead of the South, for example). This doesn't simply swap all of the control points, but swaps a number of control points as defined by the mission designer so that the player doesn't begin the campaign with most of the control points already captured. + +To specify that a control point should be owned by the player when the campaign is inverted, set the "unlimited aircraft" property of the warehouse. This applies to airbases, carriers, and LHAs. Off-map spawns will always be inverted. (TODO: Not currently, fix that) + +### Front lines + +Front lines are defined by placing a CJTF Blue M-113 at an airfield and defining a route to the connected control point. The front line will follow the _waypoints_ of the vehicle group (not the path, so using on-road waypoints will not cause the front line to follow roads automatically), so waypoints should be placed at each location that the front line should turn to avoid terrain. The route should end near the airfield that the front line connects to. The beginning and ending waypoints will automatically snap to the nearest airfields when the campaign is generated. \ No newline at end of file From 5e4c9d00ffed3bf9a979d48a8c2b4dbe77d60ed0 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Tue, 24 Nov 2020 14:23:10 -0800 Subject: [PATCH 136/704] Explain base defense placement. --- 2.3-Campaign-Design.md | 40 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/2.3-Campaign-Design.md b/2.3-Campaign-Design.md index 1bbe499..14ab19a 100644 --- a/2.3-Campaign-Design.md +++ b/2.3-Campaign-Design.md @@ -54,4 +54,42 @@ To specify that a control point should be owned by the player when the campaign ### Front lines -Front lines are defined by placing a CJTF Blue M-113 at an airfield and defining a route to the connected control point. The front line will follow the _waypoints_ of the vehicle group (not the path, so using on-road waypoints will not cause the front line to follow roads automatically), so waypoints should be placed at each location that the front line should turn to avoid terrain. The route should end near the airfield that the front line connects to. The beginning and ending waypoints will automatically snap to the nearest airfields when the campaign is generated. \ No newline at end of file +Front lines are defined by placing a CJTF Blue M-113 at an airfield and defining a route to the connected control point. The front line will follow the _waypoints_ of the vehicle group (not the path, so using on-road waypoints will not cause the front line to follow roads automatically), so waypoints should be placed at each location that the front line should turn to avoid terrain. The route should end near the airfield that the front line connects to. The beginning and ending waypoints will automatically snap to the nearest airfields when the campaign is generated. + +### Base defenses + +Airbases will randomly generate a set of base defenses at the beginning of the campaign. The campaign generator currently uses the following algorithm when deciding what base defenses to spawn: + +* Spawn 1 EWR +* Spawn 1 garrison + +Then the generator will create between 2 and 5 (evenly weighted) additional defenses with the following probabilities: + +* The first has a 1/2 chance of being a SAM, 1/6 chance of being a SHORAD, and 2/6 chance of being a garrison. +* The second through fifth groups habe a 1/3 chance of being a SHORAD and a 2/3 chance of being a garrison. + +This means that if the campaign designer wishes to avoid randomly positioned base defenses, they must define at least: + +* 1 EWR location +* 7 air defense locations (SAMs and SHORADs differ by unit type but share placement locations) +* 6 garrison locations + +More can be placed to allow more variety in each campaign. When generating base defenses, locations will be selected from the presets at random. If no more preset locations remain for the given type, the generator will fall back to random positioning. Random positioning can result in units being placed under water, on buildings, on steep mountain slopes, etc, so it should not be relied upon. + +Base defense locations will automatically be associated with the closest control point to them. + +#### EWR + +To define a potential EWR location, place a CJTF Blue EWR 55G6. + +One EWR will always be placed at each control point. + +#### Air defenses + +To define a potential air defense location, place a CJTF Blue S-300PS SR 64H6E within a 2 NM radius of the control point. Units placed outside that radius will be regular objective locations rather than base defenses. + +The campaign generator will use these locations to spawn all ranges of air defenses, from an SA-10 to AAA. Precisely what is spawned depends on whether the generator uses the location for a SAM or SHROAD, the faction's available equipment, and random selection of that equipment during campaign generation. + +#### Garrisons + +Garrisons are ground units placed at the airbase that defend against the encroaching enemy front line. To define potential locations for garrison groups, place a CJTF Blue SA-19 Tunguska 2S6. \ No newline at end of file From 2515c7ba8209e6bc6571eff167108771eeb87b25 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Tue, 24 Nov 2020 14:24:46 -0800 Subject: [PATCH 137/704] Updated 2.3 Campaign Design (markdown) --- 2.3-Campaign-Design.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/2.3-Campaign-Design.md b/2.3-Campaign-Design.md index 14ab19a..713eb9e 100644 --- a/2.3-Campaign-Design.md +++ b/2.3-Campaign-Design.md @@ -50,7 +50,7 @@ Custom priorities may be set by changing the periodicity to a value between 10 a Inverting the campaign allows the player to play the campaign in reverse (starting from the North instead of the South, for example). This doesn't simply swap all of the control points, but swaps a number of control points as defined by the mission designer so that the player doesn't begin the campaign with most of the control points already captured. -To specify that a control point should be owned by the player when the campaign is inverted, set the "unlimited aircraft" property of the warehouse. This applies to airbases, carriers, and LHAs. Off-map spawns will always be inverted. (TODO: Not currently, fix that) +To specify that an airbase should be owned by the player when the campaign is inverted, set the "unlimited aircraft" property of the warehouse. To specify the same for a carrier, LHA, or off-map spawn, set the "late activation" property of the group. ### Front lines From aa93c1fc9bd2e1a536abb757b5f9cd3941c5a77f Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Tue, 24 Nov 2020 14:25:40 -0800 Subject: [PATCH 138/704] Updated 2.3 Campaign Design (markdown) --- 2.3-Campaign-Design.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/2.3-Campaign-Design.md b/2.3-Campaign-Design.md index 713eb9e..6633c5e 100644 --- a/2.3-Campaign-Design.md +++ b/2.3-Campaign-Design.md @@ -40,7 +40,7 @@ The altitude of the unit is not currently relevant, as the spawn altitude of uni #### Importance -Control points can be assigned an "importance", which determines the proportion of their forces that the AI commander will assign to the control point. This value is set using the `Periodicity` property of the control point's warehouse. This applies to airbases, carriers, and LHAs, but not to off-map spawns. +Control points can be assigned an "importance", which determines the proportion of their forces that the AI commander will assign to the control point. This value is set using the `Periodicity` property of the control point's warehouse. This applies to airbases only. 30 is the default in the editor and leaving it at 30 will cause it to have its default priority in the campaign (1.2). From 57fb11c58a9c4dd523daad10e50ae6d792497782 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Tue, 24 Nov 2020 15:01:25 -0800 Subject: [PATCH 139/704] Flesh out objective location documentation. --- 2.3-Campaign-Design.md | 58 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 57 insertions(+), 1 deletion(-) diff --git a/2.3-Campaign-Design.md b/2.3-Campaign-Design.md index 6633c5e..42d48a7 100644 --- a/2.3-Campaign-Design.md +++ b/2.3-Campaign-Design.md @@ -92,4 +92,60 @@ The campaign generator will use these locations to spawn all ranges of air defen #### Garrisons -Garrisons are ground units placed at the airbase that defend against the encroaching enemy front line. To define potential locations for garrison groups, place a CJTF Blue SA-19 Tunguska 2S6. \ No newline at end of file +Garrisons are ground units placed at the airbase that defend against the encroaching enemy front line. To define potential locations for garrison groups, place a CJTF Blue SA-19 Tunguska 2S6. + +### Objective locations + +The campaign generator will automatically generate a number of objective locations attached to each control point. The quantities and types of objectives depends on the faction, the player's options, and random chance. + +Objective locations are automatically associated with their closest control point. + +* A random number of naval groups will be generated based on the faction and player options. +* A random number of missile sites will be generated at airbases based on the faction. +* Between 2 and 7 other objectives will be generated at airbases. These other objectives have a 1 in 4 chance of being SAMs. 3 in 4 will be strike targets (either land based or offshore). + +In each case, if not enough preset locations are available for the given type, the generator will fall back to random positioning. This can result in ships being placed on land, SAMs being placed underwater, or factories being placed on top of other buildings. + +#### SAMs + +SAMs will be generated around all airbases. At least one will be generated, but as many as four can be generated per control point. + +Note that it is possible to require that certain SAM locations are generated, and each required SAM will cause a random SAM to be skipped (though it will not skip other objective locations). This is described further in the IADS section. + +To define a preset SAM location, place a CJTF Blue S-300PS SR 64H6E at least 2 NM from the associated air base. Locations within 2 NM will be base defense locations rather than objective locations. To ensure that preset locations are always used, place at least 4 potential locations (random or required). + +#### Strike targets + +Strike targets make up the bulk of the objective locations and will be spawned connected to airbases. These come in a variety of types depending on the faction: + +* Power plants +* Ammo depots +* Fuel depots +* Warehouses +* FARPs +* FOBs +* Factories +* Communications towers +* Offshore oil platforms +* Oil derricks +* Bunkers +* Villages +* Army camps + +Between 2 and 7 strike targets will be generated at each airbase, so to avoid random locations place at least 7 each of ground and offshore strike locations. Offshore locations will not be possible at every airbase. If no preset locations are defined the generator will fall back to random positioning, which will also fail, causing no offshore locations to be created. This is expected. + +To define a ground based strike target, place a CJTF Blue Warehouse A. + +To define an offshore strike target, place a CJTF Blue Oil Platform. + +#### Ships + +Ships can be generated at airbases, carriers, and LHAs (but not off-map spawns). Ships will not be spawned if the player has disabled either player or enemy navies in the campaign generation options, or if the faction does not have naval units defined. The number of naval groups spawned is determined randomly between 0 and the limit defined by the faction, uniformly. There is no limit on how many can be spawned as is it is up to the faction designer, so place as can sensibly be placed (a dozen should be more than enough, and five should be plenty). + +To define a potential ship location place a CJTF Blue Arleigh Burke IIa. + +#### Missile sites + +Missile sites (scuds, V-2s, etc) can be generated at airbases. Missile sites will only be spawned if the faction has them defined, and the amount is randomly selected between 0 and the limit defined by the faction. There is no limit on how many can be spawned as is it is up to the faction designer, so place as can sensibly be placed (a dozen should be more than enough, and five should be plenty). + +Missile sites are currently only generated randomly. TODO: Fix. \ No newline at end of file From bd0140c650efb15acd31a61330b9218f77c8d00b Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Tue, 24 Nov 2020 15:08:00 -0800 Subject: [PATCH 140/704] Explain IADS placement. --- 2.3-Campaign-Design.md | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/2.3-Campaign-Design.md b/2.3-Campaign-Design.md index 42d48a7..e919fcf 100644 --- a/2.3-Campaign-Design.md +++ b/2.3-Campaign-Design.md @@ -148,4 +148,21 @@ To define a potential ship location place a CJTF Blue Arleigh Burke IIa. Missile sites (scuds, V-2s, etc) can be generated at airbases. Missile sites will only be spawned if the faction has them defined, and the amount is randomly selected between 0 and the limit defined by the faction. There is no limit on how many can be spawned as is it is up to the faction designer, so place as can sensibly be placed (a dozen should be more than enough, and five should be plenty). -Missile sites are currently only generated randomly. TODO: Fix. \ No newline at end of file +Missile sites are currently only generated randomly. TODO: Fix. + +### IADS + +To guarantee that each faction begins with a strong IADS, SAMs can be forced to spawn at specific locations. These will take the place of the randomly generated SAM objectives when they exist, but are not required. They are strongly recommended as random SAM placement will lead to more easily defeated air defenses. + +Required SAM locations are automatically associated with the control point closest to them. + +To define a require SAM location, place a CJTF **Red** unit of any of the following types: + +* SAM Hawk LN M192 +* SAM Patriot LN M901 +* SAM SA-10 S-300PS LN 5P85C +* SAM SA-10 S-300PS LN 5P85D +* SAM SA-2 LN SM-90 +* SAM SA-3 S-125 LN 5P73 + +Note that the exact type of SAM that will be placed depends on the faction data. However, when designing a campaign with specific factions in mind (such as Syria defending on the Syria map), this allows the designer to see the coverage of the SAMs used by the intended faction. This way the designer can be sure that sufficient coverage will be present in the campaign when a faction using a specific type of SAM is used. \ No newline at end of file From db2f62212441415c17826a1ca4e868229e0395e1 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Tue, 24 Nov 2020 15:52:56 -0800 Subject: [PATCH 141/704] Updated 2.3 Campaign Design (markdown) --- 2.3-Campaign-Design.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/2.3-Campaign-Design.md b/2.3-Campaign-Design.md index e919fcf..bb2b244 100644 --- a/2.3-Campaign-Design.md +++ b/2.3-Campaign-Design.md @@ -148,7 +148,7 @@ To define a potential ship location place a CJTF Blue Arleigh Burke IIa. Missile sites (scuds, V-2s, etc) can be generated at airbases. Missile sites will only be spawned if the faction has them defined, and the amount is randomly selected between 0 and the limit defined by the faction. There is no limit on how many can be spawned as is it is up to the faction designer, so place as can sensibly be placed (a dozen should be more than enough, and five should be plenty). -Missile sites are currently only generated randomly. TODO: Fix. +To define a potential missile site place a CJTF Blue SRBM SS-1C Scud-B 9K72 LN 9P117M. ### IADS From 645e9b6a1be6fab5f930d5987d537dadd672b31d Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Tue, 24 Nov 2020 17:17:42 -0800 Subject: [PATCH 142/704] Updated 2.3 Campaign Design (markdown) --- 2.3-Campaign-Design.md | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/2.3-Campaign-Design.md b/2.3-Campaign-Design.md index bb2b244..4e0ceea 100644 --- a/2.3-Campaign-Design.md +++ b/2.3-Campaign-Design.md @@ -106,18 +106,11 @@ Objective locations are automatically associated with their closest control poin In each case, if not enough preset locations are available for the given type, the generator will fall back to random positioning. This can result in ships being placed on land, SAMs being placed underwater, or factories being placed on top of other buildings. -#### SAMs - -SAMs will be generated around all airbases. At least one will be generated, but as many as four can be generated per control point. - -Note that it is possible to require that certain SAM locations are generated, and each required SAM will cause a random SAM to be skipped (though it will not skip other objective locations). This is described further in the IADS section. - -To define a preset SAM location, place a CJTF Blue S-300PS SR 64H6E at least 2 NM from the associated air base. Locations within 2 NM will be base defense locations rather than objective locations. To ensure that preset locations are always used, place at least 4 potential locations (random or required). - #### Strike targets Strike targets make up the bulk of the objective locations and will be spawned connected to airbases. These come in a variety of types depending on the faction: +* SAMs * Power plants * Ammo depots * Fuel depots @@ -132,9 +125,11 @@ Strike targets make up the bulk of the objective locations and will be spawned c * Villages * Army camps +Note that it is possible to require that certain SAM locations are generated, and each required SAM will cause a random SAM to be skipped (though it will not skip other objective locations). This is described further in the IADS section. + Between 2 and 7 strike targets will be generated at each airbase, so to avoid random locations place at least 7 each of ground and offshore strike locations. Offshore locations will not be possible at every airbase. If no preset locations are defined the generator will fall back to random positioning, which will also fail, causing no offshore locations to be created. This is expected. -To define a ground based strike target, place a CJTF Blue Warehouse A. +To define a ground based strike location, place a CJTF Blue S-300PS SR 64H6E at least 2 NM from the associated air base. Locations within 2 NM will be base defense locations rather than strike locations. To define an offshore strike target, place a CJTF Blue Oil Platform. From ce576f747cd4cd0fd3de9b2e028f291187d357d6 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Tue, 24 Nov 2020 17:31:09 -0800 Subject: [PATCH 143/704] Updated Mission planning (markdown) --- Mission-planning.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Mission-planning.md b/Mission-planning.md index d5d0f9b..9517b60 100644 --- a/Mission-planning.md +++ b/Mission-planning.md @@ -78,17 +78,17 @@ Note that the escort flight will not remain in the target area even if the rest A fighter sweep mission can be planned against an enemy objective. Its purpose is to clear the target area of enemy fighters before the rest of the package arrives. The flight will move to a point near the package's join point and then proceed to engage enemy fighters on its way to the target area. The flight will RTB when it is bingo, winchester, or reaches the target area without encountering any fighters. -### OCA strike +### OCA/Aircraft -**Note**: OCA strike missions are new in DCS Liberation 2.3. +**Note**: OCA/Aircraft missions are new in DCS Liberation 2.3. -An OCA strike mission can be planned against an enemy airfield. Its purpose is to destroy aircraft on the ground. The flight will rendezvous with the rest of its package and proceed to its ingress point, where it will begin to search for and attack grounded aircraft at the target airfield. +An OCA/Aircraft mission can be planned against an enemy airfield. Its purpose is to destroy aircraft on the ground. The flight will rendezvous with the rest of its package and proceed to its ingress point, where it will begin to search for and attack grounded aircraft at the target airfield. -### Runway attack +### OCA/Runway -**Note**: Runway attack missions are new in DCS Liberation 2.3. +**Note**: OCA/Runway missions are new in DCS Liberation 2.3. -A runway attack mission can be planned against an enemy airfield. Its purpose is to damage the runway to prevent the enemy from using the airbase to launch future missions. The flight will rendezvous with the rest of its package and proceed to its ingress point before lining up with and bombing the runway. +An OCA/Runway mission can be planned against an enemy airfield. Its purpose is to damage the runway to prevent the enemy from using the airbase to launch future missions. The flight will rendezvous with the rest of its package and proceed to its ingress point before lining up with and bombing the runway. **Runway damage is not currently persistent across turns, but will prevent future missions planned for the same turn.** Subscribe to [Issue 432](https://github.com/Khopa/dcs_liberation/issues/432) for updates. From c9ebcccbe49c12310200ba46552014ed74f844e0 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Wed, 25 Nov 2020 19:26:48 -0800 Subject: [PATCH 144/704] Explain runway damage. --- Mission-planning.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Mission-planning.md b/Mission-planning.md index 9517b60..ecaeced 100644 --- a/Mission-planning.md +++ b/Mission-planning.md @@ -88,9 +88,9 @@ An OCA/Aircraft mission can be planned against an enemy airfield. Its purpose is **Note**: OCA/Runway missions are new in DCS Liberation 2.3. -An OCA/Runway mission can be planned against an enemy airfield. Its purpose is to damage the runway to prevent the enemy from using the airbase to launch future missions. The flight will rendezvous with the rest of its package and proceed to its ingress point before lining up with and bombing the runway. +An OCA/Runway mission can be planned against an enemy airfield. Its purpose is to damage the runway to prevent the enemy from using the airbase to launch future missions. The flight will rendezvous with the rest of its package and proceed to its ingress point before lining up with and bombing the runway. If the runway is sufficiently damaged in a single turn it will be destroyed. -**Runway damage is not currently persistent across turns, but will prevent future missions planned for the same turn.** Subscribe to [Issue 432](https://github.com/Khopa/dcs_liberation/issues/432) for updates. +A destroyed runway will not be usable for missions and aircraft cannot be purchased or sold until the runway is repaired. Repairing the runway takes four turns and costs $100M. The AI will attempt to repair the runway whenever they can afford to do so. If the runway is damaged again before repair is complete the repair progress will stop and need to be purchased again. ### SEAD From 8d4c00ae447e0a5bcc3d9fa10dd0843befb02c1d Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Wed, 25 Nov 2020 19:39:14 -0800 Subject: [PATCH 145/704] Updated Mission planning (markdown) --- Mission-planning.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Mission-planning.md b/Mission-planning.md index ecaeced..a34ed76 100644 --- a/Mission-planning.md +++ b/Mission-planning.md @@ -88,7 +88,7 @@ An OCA/Aircraft mission can be planned against an enemy airfield. Its purpose is **Note**: OCA/Runway missions are new in DCS Liberation 2.3. -An OCA/Runway mission can be planned against an enemy airfield. Its purpose is to damage the runway to prevent the enemy from using the airbase to launch future missions. The flight will rendezvous with the rest of its package and proceed to its ingress point before lining up with and bombing the runway. If the runway is sufficiently damaged in a single turn it will be destroyed. +An OCA/Runway mission can be planned against an enemy airfield. Its purpose is to damage the runway to prevent the enemy from using the airbase to launch future missions. The flight will rendezvous with the rest of its package and proceed to its ingress point before lining up with and bombing the runway. If the runway is sufficiently damaged in a single turn it will be destroyed. The amount of damage required to destroy a runway is defined by DCS. A destroyed runway will not be usable for missions and aircraft cannot be purchased or sold until the runway is repaired. Repairing the runway takes four turns and costs $100M. The AI will attempt to repair the runway whenever they can afford to do so. If the runway is damaged again before repair is complete the repair progress will stop and need to be purchased again. From b0f92e0e64ffab2fb2c4c1761b7c67b9a99ac249 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Thu, 26 Nov 2020 20:07:19 -0800 Subject: [PATCH 146/704] Update IADS documentation. --- 2.3-Campaign-Design.md | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/2.3-Campaign-Design.md b/2.3-Campaign-Design.md index 4e0ceea..d83a470 100644 --- a/2.3-Campaign-Design.md +++ b/2.3-Campaign-Design.md @@ -151,13 +151,26 @@ To guarantee that each faction begins with a strong IADS, SAMs can be forced to Required SAM locations are automatically associated with the control point closest to them. -To define a require SAM location, place a CJTF **Red** unit of any of the following types: +Required SAM locations are split into two types: long and medium range. Long range positions will only be filled by long range SAMs, and medium range positions will only be filled by medium range SAMs. + +Note that the exact type of SAM that will be placed depends on the faction data. However, when designing a campaign with specific factions in mind (such as Syria defending on the Syria map), this allows the designer to see the coverage of the SAMs used by the intended faction. This way the designer can be sure that sufficient coverage will be present in the campaign when a faction using a specific type of SAM is used. + +#### Long range SAMs + +Currently the only two long range SAM systems are the Patriot and the SA-10 (S-300). If the faction does not have either of those systems available those positions will not be generated. + +To define a required long range SAM location, place a CJTF **Red** unit of any of the following types: -* SAM Hawk LN M192 * SAM Patriot LN M901 * SAM SA-10 S-300PS LN 5P85C * SAM SA-10 S-300PS LN 5P85D -* SAM SA-2 LN SM-90 -* SAM SA-3 S-125 LN 5P73 -Note that the exact type of SAM that will be placed depends on the faction data. However, when designing a campaign with specific factions in mind (such as Syria defending on the Syria map), this allows the designer to see the coverage of the SAMs used by the intended faction. This way the designer can be sure that sufficient coverage will be present in the campaign when a faction using a specific type of SAM is used. \ No newline at end of file +#### Medium range SAMs + +Medium range SAMs include any SAMs that do not qualify as long range SAMs. If the faction has no medium range SAMs available those positions will not be generated, but note that because it is defined so broadly factions that include flak guns as their "SAMs" may generate flak guns a these locations. + +To define a required medium range SAM location, place a CJTF **Red** unit of any of the following types: + +* SAM Hawk LN M192 +* SAM SA-2 LN SM-90 +* SAM SA-3 S-125 LN 5P73 \ No newline at end of file From a97ee075e71c37eeaf47e428f323f5108272588c Mon Sep 17 00:00:00 2001 From: walterroach <37820425+walterroach@users.noreply.github.com> Date: Sat, 28 Nov 2020 22:23:49 -0600 Subject: [PATCH 147/704] Updated 2.3 Campaign Design (markdown) --- 2.3-Campaign-Design.md | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/2.3-Campaign-Design.md b/2.3-Campaign-Design.md index d83a470..0b76290 100644 --- a/2.3-Campaign-Design.md +++ b/2.3-Campaign-Design.md @@ -15,6 +15,7 @@ This json file should contain a json object, with the following parameters : ## Designing campaigns in the mission editor When creating a campaign it may be easiest to start with an existing campaign in the same theater and modify it to suit your needs. If starting from scratch, ensure that Combined Joint Task Forces Blue and Combined Joint Task Forces Red are assigned to the blue and red coalitions respectively, as these will be used to define many of the campaigns properties. +#### [Unit Type Quick Reference](#unit-type-quick-reference-1) ### Control points @@ -173,4 +174,27 @@ To define a required medium range SAM location, place a CJTF **Red** unit of any * SAM Hawk LN M192 * SAM SA-2 LN SM-90 -* SAM SA-3 S-125 LN 5P73 \ No newline at end of file +* SAM SA-3 S-125 LN 5P73 + + +## Unit Type Quick Reference: +* #### Required Long Range SAMs (CJTF Red): + * SAM Patriot LN M901 + * SAM SA-10 S-300PS LN 5P85C + * SAM SA-10 S-300PS LN 5P85D +* #### Required Medium Range SAMs (CJTF Red): + * SAM Hawk LN M192 + * SAM SA-2 LN SM-90 + * SAM SA-3 S-125 LN 5P73 +* #### Missile Sites (CJTF Blue): + * SRBM SS-1C Scud-B 9K72 LN 9P117M +* #### Ship (CJTF Blue): + * Arleigh Burke IIa +* #### Offshore Strike Target (CJTF Blue): + * Oil Platform +* #### Garrison (CJTF Blue): + * SA-19 Tunguska 2S6 +* #### Air Defenses (CJTF Blue): + * S-300PS SR 64H6E +* #### EWR (CJTF Blue): + * EWR 55G6 \ No newline at end of file From 4ce0580ff41f9b4298aa4ddf93c2613db7752dfe Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sun, 29 Nov 2020 15:41:49 -0800 Subject: [PATCH 148/704] Add a wiki page for preview builds. --- Preview-builds.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 Preview-builds.md diff --git a/Preview-builds.md b/Preview-builds.md new file mode 100644 index 0000000..daa174a --- /dev/null +++ b/Preview-builds.md @@ -0,0 +1,3 @@ +The latest build of the development branch can be found [here](https://github.com/Khopa/dcs_liberation/actions?query=branch%3Adevelop+event%3Apush). That page shows the build for every change that goes into our development branch. Builds at the top of the page are newer. If you click on them and are logged in to GitHub, you can download the release from the "Artifacts" section of the page. + +**This is a development branch. Sometimes we break things, and plenty of things will be works in progress. Save games may not work across builds, and you should back up any save games you don't want to lose before loading them with a development build.** \ No newline at end of file From 0b220e4772cc565f83d27e70fdf61103ce6d9e64 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sun, 6 Dec 2020 02:36:21 -0800 Subject: [PATCH 149/704] Add page describing auto-purchase behaviors. --- Auto-purchase-options.md | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 Auto-purchase-options.md diff --git a/Auto-purchase-options.md b/Auto-purchase-options.md new file mode 100644 index 0000000..7959870 --- /dev/null +++ b/Auto-purchase-options.md @@ -0,0 +1,33 @@ +DCS Liberation 2.3 adds automatic procurement options for players. There are three aspects which can each be enabled individually: + +* Runway repair +* Front line reinforcement +* Aircraft reinforcement + +Each of these can be enabled during campaign creation and toggled later in the setting menu. + +Each of these behaviors are the same as opfor uses. + +## Automatic runway repair + +If enabled, damaged runways will automatically begin repairs if they are affordable. + +Runway repairs will take precedence over front line and air unit reinforcement. + +## Front line reinforcement + +Up to half of the budget remaining after repairing runways will be spent on units to reinforce front lines. + +Reinforcements will first be purchased at control points with active front lines that have fewer than 30 units. Once all active front lines have at least 30 units, additional units will be assigned to all control points at random. + +## Aircraft reinforcement + +Any remaining budget will be used to purchase aircraft. + +Aircraft will be purchased to fulfill any missions that could not be planned due to lack of aircraft. This occurs in the order specified by the mission planner. + +When attempting to fulfill an order for a mission, the purchase will be attempted at the airfield in range if the target, with parking available, closest to the mission target. + +Aircraft selection is partly random. Liberation maintains a preferred list of aircraft for each mission type as well as a list of all capable aircraft. A random selection will be made from the preferred list first, but if empty or too expensive the capable list will be used. + +If no capable aircraft in range can be purchased, the remaining budget will roll over to the next turn. \ No newline at end of file From 562a9816b6ce8be13daa5d699ff03d99537c9f96 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sun, 6 Dec 2020 11:54:49 -0800 Subject: [PATCH 150/704] Updated Auto purchase options (markdown) --- Auto-purchase-options.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Auto-purchase-options.md b/Auto-purchase-options.md index 7959870..a9c9be4 100644 --- a/Auto-purchase-options.md +++ b/Auto-purchase-options.md @@ -28,6 +28,6 @@ Aircraft will be purchased to fulfill any missions that could not be planned due When attempting to fulfill an order for a mission, the purchase will be attempted at the airfield in range if the target, with parking available, closest to the mission target. -Aircraft selection is partly random. Liberation maintains a preferred list of aircraft for each mission type as well as a list of all capable aircraft. A random selection will be made from the preferred list first, but if empty or too expensive the capable list will be used. +Aircraft are selected to fit the unfulfilled missions. Liberation maintains a preferred list of aircraft for each mission type as well as a list of all capable aircraft. A random selection will be made from the preferred list first, but if empty or too expensive the capable list will be used. If no capable aircraft in range can be purchased, the remaining budget will roll over to the next turn. \ No newline at end of file From 3171bef793cd85ea657673213186ecbb81a6f1bf Mon Sep 17 00:00:00 2001 From: foxwxl <74572837+foxwxl@users.noreply.github.com> Date: Mon, 7 Dec 2020 09:52:21 +0800 Subject: [PATCH 151/704] =?UTF-8?q?Created=20=E2=80=9C=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E9=87=87=E8=B4=AD=E2=80=9D=E9=80=89=E9=A1=B9=EF=BC=88Auto=20pu?= =?UTF-8?q?rchase=20options=EF=BC=89=20(markdown)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- “自动采购”选项(Auto-purchase-options).md | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 “自动采购”选项(Auto-purchase-options).md diff --git a/“自动采购”选项(Auto-purchase-options).md b/“自动采购”选项(Auto-purchase-options).md new file mode 100644 index 0000000..94fec2f --- /dev/null +++ b/“自动采购”选项(Auto-purchase-options).md @@ -0,0 +1,29 @@ +DCS Liberation 2.3将为玩家增加“自动采购”选项,以下三种采购功能可以分别启用: + +* 跑道修理Runway repair +* 前线增援Front line reinforcement +* 飞机采购Aircraft reinforcement + +上述选项可以在新建战役阶段或战役开始后,通过设置菜单激活。 +所有选项中双方AI的行为策略没有差异。 + +## 自动跑道修理Automatic runway repair +选项激活后,如果有足够的资金,受损的跑道将立即开始自动修理。 + +跑道修理的优先级高于前线增援和飞机采购。 + +## 前线增援Front line reinforcement +修理跑道后的剩余预算中,将有最高50%,用于购买增援前线的地面单位。 + +处于前线且剩余单位少于30的控制点(control point)将优先购买地面单位。当目前所有前线控制点的剩余单位均≥30时,将随机给所有的控制点配置增援单位。 + +## 飞机采购Aircraft reinforcement +所有剩余的预算资金将用于采购飞机。 + +因为缺乏足够飞机而无法完成规划的任务,将优先采购飞机。根据任务规划器(Mission Planner)指定的顺序逐项进行采购。 + +在为特定任务购买飞机时,系统将试图在具有空闲停机位且距离该任务目标最近的机场购买飞机。 + +采购的机型将用于执行那些未能完成规划的任务。Liberation自带飞机列表,标注了各种任务类型下具备任务执行能力(mission capable)的机型,以及该任务类型的优先选择机型。系统将首先从优先选择机型列表中进行随机采购,如优先选择机型列表为空(比如列表中的机型本阵营没有)或超出预算(飞机太贵买不起),则将从具备任务执行能力的飞机列表中随机采购。 + +如果任务范围内没有具备任务执行能力的飞机可供购买,则剩余预算将留存至下一回合。 From 9d4a476e2bf091329e80a190fd4d5318dd88db86 Mon Sep 17 00:00:00 2001 From: walterroach <37820425+walterroach@users.noreply.github.com> Date: Sun, 6 Dec 2020 19:54:04 -0600 Subject: [PATCH 152/704] Updated 2.3 Campaign Design (markdown) --- 2.3-Campaign-Design.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/2.3-Campaign-Design.md b/2.3-Campaign-Design.md index 0b76290..59e48f9 100644 --- a/2.3-Campaign-Design.md +++ b/2.3-Campaign-Design.md @@ -176,6 +176,14 @@ To define a required medium range SAM location, place a CJTF **Red** unit of any * SAM SA-2 LN SM-90 * SAM SA-3 S-125 LN 5P73 +### Forward Operating Bases + +A FOB is defined by placing a CJTF Blue CP_SKP_11_ATC_Mobile_Command_Post. + +The group name of the unit is used to name the FOB. + +**Note:** FOBs are a control point just like an airbase, and can have frontlines drawn to them as well as locations for garrisons and air defenses. As of this writing, FOB capture mechanism is incomplete, the only way to capture a FOB if defined is through the cheat menu. + ## Unit Type Quick Reference: * #### Required Long Range SAMs (CJTF Red): @@ -197,4 +205,6 @@ To define a required medium range SAM location, place a CJTF **Red** unit of any * #### Air Defenses (CJTF Blue): * S-300PS SR 64H6E * #### EWR (CJTF Blue): - * EWR 55G6 \ No newline at end of file + * EWR 55G6 +* #### FOB (CJTF Blue): + * CP_SKP_11_ATC_Mobile_Command_Post \ No newline at end of file From 172700fa3b34529e2c124b121b2e57bfdf089735 Mon Sep 17 00:00:00 2001 From: walterroach <37820425+walterroach@users.noreply.github.com> Date: Sun, 6 Dec 2020 21:46:40 -0600 Subject: [PATCH 153/704] Updated 2.3 Campaign Design (markdown) --- 2.3-Campaign-Design.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/2.3-Campaign-Design.md b/2.3-Campaign-Design.md index 59e48f9..c67fa0b 100644 --- a/2.3-Campaign-Design.md +++ b/2.3-Campaign-Design.md @@ -182,7 +182,7 @@ A FOB is defined by placing a CJTF Blue CP_SKP_11_ATC_Mobile_Command_Post. The group name of the unit is used to name the FOB. -**Note:** FOBs are a control point just like an airbase, and can have frontlines drawn to them as well as locations for garrisons and air defenses. As of this writing, FOB capture mechanism is incomplete, the only way to capture a FOB if defined is through the cheat menu. +**Note:** FOBs are a control point just like an airbase, and can have frontlines drawn to them as well as locations for garrisons and air defenses. ## Unit Type Quick Reference: From 732765427ac6be362fded962544dbfbd02e2674f Mon Sep 17 00:00:00 2001 From: walterroach <37820425+walterroach@users.noreply.github.com> Date: Tue, 8 Dec 2020 10:56:07 -0600 Subject: [PATCH 154/704] Updated 2.3 Campaign Design (markdown) --- 2.3-Campaign-Design.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/2.3-Campaign-Design.md b/2.3-Campaign-Design.md index c67fa0b..63c9ede 100644 --- a/2.3-Campaign-Design.md +++ b/2.3-Campaign-Design.md @@ -1,4 +1,4 @@ -In DCS Liberation 2.3 campaign modding has been redesigned so that the campaign is designed in the mission editor, as a single miz file per mission. +In DCS Liberation 2.3 campaign modding has been redesigned so that the campaign is designed in the mission editor, as a single miz file per campaign. ## Descriptor file From aad22034be26a08fb51a9356f292770d6b65dd6f Mon Sep 17 00:00:00 2001 From: walterroach <37820425+walterroach@users.noreply.github.com> Date: Tue, 8 Dec 2020 19:03:15 -0600 Subject: [PATCH 155/704] Updated Custom Factions (markdown) --- Custom-Factions.md | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/Custom-Factions.md b/Custom-Factions.md index a515e2f..7f04282 100644 --- a/Custom-Factions.md +++ b/Custom-Factions.md @@ -44,7 +44,7 @@ This json file should contain a json object, with the following parameters : * **jtac_unit** : Type of unit to use as JTAC. * **doctrine** : Either "modern" for modern doctrine, "coldwar" for coldwar doctrine, or "ww2" for WW2 doctrine. Doctrine controls the altitude of flights and other flight planner AI parameters. * **building_set** : Either "default" for default set, "ww2ally" for WW2 ally buildings, "ww2germany" for WW2 german building or "ww2free" for a ww2 building set that does not require the WW2 asset pack. - +* **liveries_overrides** : List of aircraft and liveries to set. It is possible to have multiple liveries for aircraft, and Liberation will pick one out of the list randomly. The livery must be available to the country set in order to appear. If the livery doesn't show up in Mission Editor for that country, it won't show up in your Liberation mission either. **Note :** @@ -141,7 +141,26 @@ Below is an example of a factions file : "ArleighBurkeGroupGenerator" ], "has_jtac": true, - "jtac_unit": "MQ_9_Reaper" + "jtac_unit": "MQ_9_Reaper", + "liveries_overrides": { + "FA_18C_hornet": [ + "NSAWC brown splinter", + "NAWDC black", + "VFC-12" + ], + "F_15C": [ + "65th Aggressor SQN (WA) MiG", + "65th Aggressor SQN (WA) MiG", + "65th Aggressor SQN (WA) SUPER_Flanker" + ], + "F_16C_50": [ + "usaf 64th aggressor sqn - shark", + "usaf 64th aggressor sqn-splinter", + "64th_aggressor_squadron_ghost" + ], "F_14B": [ + "vf-74 adversary" + ] + } } ``` From 6af06980bb6ed66e739b81860bc21a97a66ab3a8 Mon Sep 17 00:00:00 2001 From: walterroach <37820425+walterroach@users.noreply.github.com> Date: Thu, 10 Dec 2020 15:26:53 -0600 Subject: [PATCH 156/704] Updated 2.3 Campaign Design (markdown) --- 2.3-Campaign-Design.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/2.3-Campaign-Design.md b/2.3-Campaign-Design.md index 63c9ede..766e5e5 100644 --- a/2.3-Campaign-Design.md +++ b/2.3-Campaign-Design.md @@ -57,6 +57,8 @@ To specify that an airbase should be owned by the player when the campaign is in Front lines are defined by placing a CJTF Blue M-113 at an airfield and defining a route to the connected control point. The front line will follow the _waypoints_ of the vehicle group (not the path, so using on-road waypoints will not cause the front line to follow roads automatically), so waypoints should be placed at each location that the front line should turn to avoid terrain. The route should end near the airfield that the front line connects to. The beginning and ending waypoints will automatically snap to the nearest airfields when the campaign is generated. +**Important:** Care should be taken to route the frontline around exclusion zones. If the center of the frontline location lies in an exclusion zones, frontline units may not spawn correctly. You can view the exclusion zones in the Liberation UI by enabling the display option "Map Debug Mode" + ### Base defenses Airbases will randomly generate a set of base defenses at the beginning of the campaign. The campaign generator currently uses the following algorithm when deciding what base defenses to spawn: From c1c22410f6f41af1b7c9c9f2fa9691265d767026 Mon Sep 17 00:00:00 2001 From: foxwxl <74572837+foxwxl@users.noreply.github.com> Date: Mon, 14 Dec 2020 14:24:49 +0800 Subject: [PATCH 157/704] Chinese version of 'Mission planning' wiki --- 任务规划Mission-planning.md | 93 +++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 任务规划Mission-planning.md diff --git a/任务规划Mission-planning.md b/任务规划Mission-planning.md new file mode 100644 index 0000000..7f230fc --- /dev/null +++ b/任务规划Mission-planning.md @@ -0,0 +1,93 @@ +注: 以下相关内容仅适用于DCS Liberation 2.2及以后版本。 + +所有的空中任务都采用“package”(任务包)的形式生成。一个任务包中囊括了一个或多个具有相同任务目标的飞行小队(flight)。同一个package中的不同小队,可以有不同的具体分工、起飞时间和起飞机场。例如,一个攻击工厂的package中,将包括一个作为主攻轰炸工厂的STRIKE小队,也可能包含承担防空压制任务的SEAD小队,以及担任空中护航的ESCORT小队。 +本方所有已经规划(fragged)的任务包,构成了本方的“空中任务指令”(ATO-Air Tasking Order)。 + +## 任务时间Mission timing +每个package都有指定的“到达目标时间”(TOT)。 Package中,每个具体小队的TOT时间与其任务类型有关,可能会有细微差别。对于Strike和DEAD小队,TOT代表了攻击目标的确切时间(当然,AI实际上并不一定能十分精确地执行这些攻击指令),而对于CAP小队,TOT代表了他们巡逻的开始时间。 + +任务的其他路点时间、起飞时间、任务开始时间,都基于任务的TOT进行规划。距离目标的路程、冷启、滑行等时间都会被纳入考量。 + +为了保证所有小队都能准时到达目标区,有些小队会延迟起飞。延迟起飞时间会受到小队内是否存在人类玩家、起飞机场、玩家设定等多方面因素影响: + +* 所有路基机场的AI在游戏开始时,都将以非控制状态(冷机停放,无行员)刷在机场停机位上,只有到达各自的任务开始时间,AI才会接管并开车。这将为攻击机场的任务提供更多目标(可以直接把地面上的飞机炸了),以及更好地营造战场氛围。 +* 航母和两攻等水面舰船上的AI小队,在任务开始时间之前将被延迟激活(AI飞机一开始不会被刷出来)。 这将有助于减少甲板上的拥堵和撞车。 +* 路基机场进行冷启的玩家小队,将以非控制状态出生。在任务开始时间到达前,玩家不能进入座舱。这将避免AI僚机过早开车,空耗燃料。(如果你不想等,那么就调整任务的TOT时间) +* 路基机场非冷启的玩家小队,将立即出生。使用跑道和空中出生的玩家请注意,你的出生位置有可能正好会挡了其他人的路,Liberation无法完全避免这点。 +* 从水面舰船上开始任务的玩家小队,将在任务开始时直接出生。 + +如要避免玩家的小队被延迟出生,勾选战役选项中的“Never delay player flights”(不延迟玩家小队)。**注意,这并不会修改你们package的TOT和你小队的任务时间,只是允许你提前进座舱等。** + +在规划任务时,如果你对打击目标的确切时间没有那么在意,只想要在游戏开始时能够尽快开始任务,**点击Package规划界面,TOT时间旁边的ASAP(尽快)按钮即可(系统会自动按照玩家小队在游戏开始时即刻出生的时间,来调整TOT)**。 + +## 汇合规划Rendezvous planning +有些任务,需要你在前往目标区前,与Package的其他小队先汇合。比如Strike/DEAD以及他们护航飞机。对于这些任务类型,系统会自动增加一些任务路点: + +在爬升路点之后,会增加一个hold(等待)路点。爬升高度后在该路点盘旋等待,直到到达指定的推进时刻。小队一般会规划5分钟的等待时间,以便给推进前的最后准备以及各种起飞延误留出足够的时间。 + +在hold路点之后,是join(加入)路点。Package的各个小队在该路点进行集结,并向任务目标推进。一个package中的所有小队,到达join路点的TOT都是相同的。 + +在egress(退出)路点后,增加了split(解散)路点。各小队在这个路点解散,并返回各自的降落机场。 + +## 任务类型Task types + +以下为当前已经实装的任务类型,后续还会继续增加。 + +### 反舰-Anti-ship +注:反舰任务是DCS Liberation 2.3新增任务类型。 + +反舰任务可以针对敌方舰队单位进行规划。小队会先与其他package成员完成集结,再向ingress(进入)路点推进,到达路点后会向敌方舰艇发射武器。AI会同时瞄准敌方船队内的多个目标,在武器发射后,小队将返航。 +许多舰艇都有非常牛逼的近防系统(以AK630为代表)。通常需要大量反舰武器来饱和攻击目标的防御系统。 + +### 战场空中遮断-BAI +注:BAI任务是DCS Liberation 2.3新增任务类型。 + +战场空中遮断(BAI)可以针对敌方目标区域内的车辆规划。BAI任务与CAS有些类似,但不同于直接支援前线的友军,BAI主要针对尚未到达前线的敌方部队,意在打击对方的增援力量。小队会先与其他package成员完成集结,再向ingress(进入)路点推进,到达路点后开始搜索其预设目标。 + +### 防御型战斗空中巡逻-BARCAP +BARCAP可针对任何非前线的友军目标(前线目标请使用TARCAP)进行规划。BARCAP的主要目标是阻止敌方飞机进入目标区域。小队将在package的TOT时间到达目标区,并开始跑马圈巡逻。巡逻时间预先设定(目前为30分钟)。跑马圈的方向将指向最近的敌方机场。 + +**2.3中的主要变更:** +在DCS Liberation 2.3中,BARCAP将专职防御性使用。BARCAP将只能**规划在友军目标区域**(如友军机场、船队、目标区等)。针对敌方区域的CAP任务由TARCAP取代。 + +### 近距空中支援-CAS +CAS任务可针对前线进行规划。CAS的主要目标是支援友军地面部队。小队将按照TOT到达目标区,并开始在一定范围内搜索目标。小队将持续在任务区搜索目标直到bingo燃油或者武器耗尽。 + +### 摧毁敌方防空系统-DEAD +DEAD任务可针对敌方防空单位进行规划,其主要目标是摧毁敌方防空系统。小队会先与其他package成员完成集结,并力争在TOT实现对目标的打击。武器投放后,小队会直接返航。 + +### 护航-Escort +护航任务主要用于保护其他类型的小队。基本上大部分的任务类型(除了CAP任务)都需要护航。护航机将采取和package其他小队相近的飞行计划。 + +注意:即使package中的其他小队还没有来得及完成目标区的任务,护航小队也不会持续停留在目标区。**如需目标区长时间的对空防御,规划TARCAP任务。** + +### 空中扫荡-Fighter sweep +注:空中扫荡是DCS Liberation 2.3新增任务类型。 + +空中扫荡任务可以针对敌方目标进行规划,其主要目标是在package其他小队到达目标区之前,先行扫清空中威胁。小队会先机动到package的join路点附近,然后开始向目标区推进,并一路扫清其遭遇的所有敌军战机。小队会在bingo燃油、武器耗尽或抵达目标区但没有遭遇任何敌机时返航。 + +### 进攻性空优作战/敌机-OCA/Aircraft +注:进攻性空优作战/敌机是DCS Liberation 2.3新增任务类型。 + +OCA/敌机任务,可针对敌方机场进行规划,其主要目标是攻击敌方机场上停放的飞机。小队会先与其他package成员完成集结,再向ingress路点推进,到达路点后开始搜索目标机场上停放的飞机。 + +### 进攻性空优作战/跑道-OCA/Runway +注:进攻性空优作战/跑道是DCS Liberation 2.3新增任务类型。 + +OCA/跑道任务,可针对敌方机场进行规划,其主要目标是摧毁目标机场跑道,阻止敌方后续利用该机场继续出动任务。小队会先与其他package成员完成集结,再向ingress路点推进,达到路点后,转向与跑道对齐并进入轰炸。如果跑道能在一轮攻击中遭受足够的伤害,那么跑道将被摧毁。摧毁跑道所需的伤害量,由DCS定义。 + +**如果跑道被摧毁,该机场将无法再出动任何任务,也不能购买或出售飞机,直到跑道修复**。**修理跑道需要1亿元($ 100M)以及4轮时间**。只要有足够的资金,AI便会试图修复跑道。如果在修理完成前跑道再次被损毁,则修理进度将被打断,需要重新开始修理并再次支付费用。 + +### 压制敌方防空系统-SEAD +SEAD任务着眼于保护友军单位免受敌方SAM威胁。不同于DEAD,SEAD小队将攻击包括任务区附近的各类防空单位,而不只是任务目标本身。小队会先与其他package成员完成集结,并在一定预设范围内搜索和压制敌方防空单位。武器投放后,小队将返航。 + +### 打击-Strike +打击任务,可以针对敌方地面目标进行规划。小队会先与其他package成员完成集结,随后向指定坐标投放武器。有些轰炸机型将对指定区域采取地毯式轰炸,不过大多数机型可以瞄准多个目标展开攻击。武器投放后,小队将返航。 + +注意:strike任务将直接为AI**指定目标坐标开展攻击**(适合炸固定建筑),而不是分配目标单位(units),因此如果目标可以移动,那strike小队将无法击中目标。 + +### 目标区战斗空中巡逻-TARCAP +TARCAP可以针对前线进行规划,TARCAP大体和BARCAP接近,只是如果有package成员需要护航时,TARCAP会尽可能久地留在目标区。如果package中没有其他小队成员,则TARCAP会在目标区巡逻预设的时间(目前为30分钟)。 + +**2.3中的主要变更:** +在DCS Liberation 2.3中TARCAP将可以针对任何敌方目标进行规划。其行为方式和以前的版本基本相同,除了TARCAP小队会早于其他package成员2分钟抵达任务目标区,以便扫清任务空域。 From 467c95e8f7dc1fd773e78d2c7d87b58c707d7d12 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Tue, 15 Dec 2020 00:11:50 -0800 Subject: [PATCH 158/704] Document culling behavior. --- Performance-Options.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 Performance-Options.md diff --git a/Performance-Options.md b/Performance-Options.md new file mode 100644 index 0000000..94d6d42 --- /dev/null +++ b/Performance-Options.md @@ -0,0 +1,17 @@ +# Distant Unit Culling + +Enabling "Culling of distant units" in the Mission Generator settings can improve performance by removing some distant units from the game. + +![Picture of culling options](https://i.imgur.com/g7rY3A9.png) + +Note: Prior to DCS Liberation 2.3 culling was much more aggressive, which often resulted in player flights being removed. The information below describes the behavior for 2.3+. + +Distant unit culling removes all ground units (including buildings) that are beyond the set range from any culling exclusion zone. These culling exclusion zones are placed: + +* At the front line and its attached airfields, if a front line exists. +* At the closest two opposing airfields, if no front line exists. +* At all mission targets. + +Culling exclusion zones can be displayed on the map using the "Display Culling Zones" display option in the Liberation toolbar. If set too large, culling will have little effect. If set too small, the game experience will suffer as many SAMs will likely be culled. + +**Air units are never culled.** Restricting departure airfields for air units does little to limit unit counts, so does not help performance. Instead, the income scale modifiers can be used to limit the amount of aircraft the AI is able to purchase. \ No newline at end of file From 3e4154d54d12efa0887516e396c27e7cb85a73c9 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Tue, 15 Dec 2020 00:12:26 -0800 Subject: [PATCH 159/704] Updated _Sidebar (markdown) --- _Sidebar.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/_Sidebar.md b/_Sidebar.md index 66c44bd..9cb5696 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -16,6 +16,8 @@ [Frontline Stances](https://github.com/Khopa/dcs_liberation/wiki/Frontline-Strategies-Stances) +[Performance Options](https://github.com/Khopa/dcs_liberation/wiki/Performance-Options) + ## Dedicated Servers [Dedicated server guide](https://github.com/Khopa/dcs_liberation/wiki/Dedicated-Server-Guide) From d55172baa06b8a510078163c21bd0c99a16e2520 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Tue, 15 Dec 2020 23:45:03 -0800 Subject: [PATCH 160/704] Update campaign modding docs for 2.3. --- Custom-campaigns.md | 334 +++++++++++++++++++++++++++----------------- 1 file changed, 207 insertions(+), 127 deletions(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index 28c510b..d635ddb 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -1,140 +1,220 @@ -# Principle +Campaigns in DCS Liberation can be modified using the mission editor. Each campaign is defined by a JSON file to provide metadata, and a DCS mission file (`.miz` file) to set up the theater. -Ever felt frustrated by the limited choice of map settings offered by DCS Liberation ? -Good news, you can mod your custom campaigns setup in liberation ! +The included campaigns can be modified, or new campaigns can be added to the `resources/campaigns` directory of the Liberation install. -Custom campaigns/theaters can be created easily with a text editor as a json file. +![Campaign data directory tree](https://imgur.com/3FDs2Ut.png) -You can put your own campaigns configuration json files in the folder **./resources/campaigns** +DCS Liberation must be restarted after campaign changes are made. Campaign changes only affect new games; ongoing campaigns will not be affected by changes to the campaign data. -![](https://imgur.com/3FDs2Ut.png) +If the campaign does not appear in the New Game wizard, there is likely an issue in the JSON file. Check the console window for errors. -Then restart DCS Liberation to have them loaded. +## Descriptor file -If there is no error, your custom campaigns will appear in the New Game Wizard. -If there is an error, with the file it will not appear, please check the content of the console output, it might contains hints about the error. - -# File format +The campaign uses a JSON file to describe some metadata. To create a new campaign, add a JSON file (such as `mycampaign.json`) to `resources\campaigns`. This json file should contain a json object, with the following parameters : -* **name** : The name of the campaign/theater -* **theater** : The map for the campaing (Either : "Caucasus", "Persian Gulf", "Nevada", "Normandy", "Syria" or "The Channel" -* **player_points** : A list of control points owned by the player by default -* **enemy_points** : A list of control points owned by the enemy by default -* **links** : The existing connections between points. A list of connected points (using their id) You shouldn't link points if there is water between them. +* `name`: The name of the campaign that will be shown in the New Game wizard. +* `theater`: The map for the campaign (either: `Caucasus`, `Persian Gulf`, `Nevada`, `Normandy`, `Syria` or `The Channel`). +* `authors`: The authors of the campaign that will be shown in the New Game wizard. +* `description`: A description of the campaign that will be shown in the New Game wizard. +* `miz`: The name of the miz file (in the same `resources\campaigns` directory) that describes the campaign. -Control point object structure in the json file : +## Designing campaigns in the mission editor -* **type** : Either "airbase" for an existing base in DCS, "lha" for helicopter Carriers, or "carrier" for an aircraft carrier. -* **id** : The name of the airbase (if an airbase), or a number (> 1000) for an aircraft carrier or an lha. (If you have multiple carriers/lhas, make sure they do not share the same ID) -* **x** : X starting position of the carrier or lha in DCS coordinates (See the last part of this tutorial to see how to retrieve these coordinates from DCS mission editor) -* **y** : Y starting position of the carrier or lha in DCS coordinates -* **importance** : Importance of the base for the AI. (1 for low importance, 1.4 for high importance) (airbase only) -* **size** : Size of the airbase in meter for unit placement. (This is a legacy parameter, that you can ignore and put 1000) -* **captured_invert** : Whether the control point should be owned by the player if you select "invert map" in new game wizard. +When creating a campaign it may be easiest to start with an existing campaign in the same theater and modify it to suit your needs. If starting from scratch, ensure that Combined Joint Task Forces Blue and Combined Joint Task Forces Red are assigned to the blue and red coalitions respectively, as these will be used to define many of the campaigns properties. +#### [Unit Type Quick Reference](#unit-type-quick-reference-1) + +### Control points + +Control points are the spawn locations and (in most cases) the capturable positions in the campaign. + +#### Airbase control + +To make an airbase that starts controlled by blue, assign the airbase to the blue coalition in the mission editor. To make an airbase that starts controlled by red, assign the airbase to red. + +#### Carriers and LHAs + +To create a carrier, place a CVN-74 where you want it to be in the campaign. The carrier will be red if it belongs to CJTF Red and blue if it belongs to CJTF Blue. + +To create an LHA, follow the same process but place an LHA-1. + +Note that the presence of the carrier or LHA in the game will depend on the player's options and the faction's navy. + +#### Off-map spawns + +To create a point where aircraft from other theaters can be spawned into the mission in-air, place an F-15C. As with carriers and LHAs, use CJTF Red or Blue to assign the point to either faction. + +The altitude of the unit is not currently relevant, as the spawn altitude of units in Liberation depends on the faction's doctrine and the unit type. + +#### Importance + +Control points can be assigned an "importance", which determines the proportion of their forces that the AI commander will assign to the control point. This value is set using the `Periodicity` property of the control point's warehouse. This applies to airbases only. + +30 is the default in the editor and leaving it at 30 will cause it to have its default priority in the campaign (1.2). + +Custom priorities may be set by changing the periodicity to a value between 10 and 14 (inclusive), with 14 being the most important and 10 being the least important. This value will be divided by 10 to fit the game's importance range of 1.0 to 1.4, so a value of 12 will also set the default importance of 1.2. + +#### Campaign inversion + +Inverting the campaign allows the player to play the campaign in reverse (starting from the North instead of the South, for example). This doesn't simply swap all of the control points, but swaps a number of control points as defined by the mission designer so that the player doesn't begin the campaign with most of the control points already captured. + +To specify that an airbase should be owned by the player when the campaign is inverted, set the "unlimited aircraft" property of the warehouse. To specify the same for a carrier, LHA, or off-map spawn, set the "late activation" property of the group. + +### Front lines + +Front lines are defined by placing a CJTF Blue M-113 at an airfield and defining a route to the connected control point. The front line will follow the _waypoints_ of the vehicle group (not the path, so using on-road waypoints will not cause the front line to follow roads automatically), so waypoints should be placed at each location that the front line should turn to avoid terrain. The route should end near the airfield that the front line connects to. The beginning and ending waypoints will automatically snap to the nearest airfields when the campaign is generated. + +**Important:** Care should be taken to route the frontline around exclusion zones. If the center of the frontline location lies in an exclusion zones, frontline units may not spawn correctly. You can view the exclusion zones in the Liberation UI by enabling the display option "Map Debug Mode" + +### Base defenses + +Airbases will randomly generate a set of base defenses at the beginning of the campaign. The campaign generator currently uses the following algorithm when deciding what base defenses to spawn: + +* Spawn 1 EWR +* Spawn 1 garrison + +Then the generator will create between 2 and 5 (evenly weighted) additional defenses with the following probabilities: + +* The first has a 1/2 chance of being a SAM, 1/6 chance of being a SHORAD, and 2/6 chance of being a garrison. +* The second through fifth groups habe a 1/3 chance of being a SHORAD and a 2/3 chance of being a garrison. + +This means that if the campaign designer wishes to avoid randomly positioned base defenses, they must define at least: + +* 1 EWR location +* 7 air defense locations (SAMs and SHORADs differ by unit type but share placement locations) +* 6 garrison locations + +More can be placed to allow more variety in each campaign. When generating base defenses, locations will be selected from the presets at random. If no more preset locations remain for the given type, the generator will fall back to random positioning. Random positioning can result in units being placed under water, on buildings, on steep mountain slopes, etc, so it should not be relied upon. + +Base defense locations will automatically be associated with the closest control point to them. + +#### EWR + +To define a potential EWR location, place a CJTF Blue EWR 55G6. + +One EWR will always be placed at each control point. + +#### Air defenses + +To define a potential air defense location, place a CJTF Blue S-300PS SR 64H6E within a 2 NM radius of the control point. Units placed outside that radius will be regular objective locations rather than base defenses. + +The campaign generator will use these locations to spawn all ranges of air defenses, from an SA-10 to AAA. Precisely what is spawned depends on whether the generator uses the location for a SAM or SHROAD, the faction's available equipment, and random selection of that equipment during campaign generation. + +#### Garrisons + +Garrisons are ground units placed at the airbase that defend against the encroaching enemy front line. To define potential locations for garrison groups, place a CJTF Blue SA-19 Tunguska 2S6. + +### Objective locations + +The campaign generator will automatically generate a number of objective locations attached to each control point. The quantities and types of objectives depends on the faction, the player's options, and random chance. + +Objective locations are automatically associated with their closest control point. + +* A random number of naval groups will be generated based on the faction and player options. +* A random number of missile sites will be generated at airbases based on the faction. +* Between 2 and 7 other objectives will be generated at airbases. These other objectives have a 1 in 4 chance of being SAMs. 3 in 4 will be strike targets (either land based or offshore). + +In each case, if not enough preset locations are available for the given type, the generator will fall back to random positioning. This can result in ships being placed on land, SAMs being placed underwater, or factories being placed on top of other buildings. + +#### Strike targets + +Strike targets make up the bulk of the objective locations and will be spawned connected to airbases. These come in a variety of types depending on the faction: + +* SAMs +* Power plants +* Ammo depots +* Fuel depots +* Warehouses +* FARPs +* FOBs +* Factories +* Communications towers +* Offshore oil platforms +* Oil derricks +* Bunkers +* Villages +* Army camps + +Note that it is possible to require that certain SAM locations are generated, and each required SAM will cause a random SAM to be skipped (though it will not skip other objective locations). This is described further in the IADS section. + +Between 2 and 7 strike targets will be generated at each airbase, so to avoid random locations place at least 7 each of ground and offshore strike locations. Offshore locations will not be possible at every airbase. If no preset locations are defined the generator will fall back to random positioning, which will also fail, causing no offshore locations to be created. This is expected. + +To define a ground based strike location, place a CJTF Blue S-300PS SR 64H6E at least 2 NM from the associated air base. Locations within 2 NM will be base defense locations rather than strike locations. + +To define an offshore strike target, place a CJTF Blue Oil Platform. + +#### Ships + +Ships can be generated at airbases, carriers, and LHAs (but not off-map spawns). Ships will not be spawned if the player has disabled either player or enemy navies in the campaign generation options, or if the faction does not have naval units defined. The number of naval groups spawned is determined randomly between 0 and the limit defined by the faction, uniformly. There is no limit on how many can be spawned as is it is up to the faction designer, so place as can sensibly be placed (a dozen should be more than enough, and five should be plenty). + +To define a potential ship location place a CJTF Blue Arleigh Burke IIa. + +#### Missile sites + +Missile sites (scuds, V-2s, etc) can be generated at airbases. Missile sites will only be spawned if the faction has them defined, and the amount is randomly selected between 0 and the limit defined by the faction. There is no limit on how many can be spawned as is it is up to the faction designer, so place as can sensibly be placed (a dozen should be more than enough, and five should be plenty). + +To define a potential missile site place a CJTF Blue SRBM SS-1C Scud-B 9K72 LN 9P117M. + +### IADS + +To guarantee that each faction begins with a strong IADS, SAMs can be forced to spawn at specific locations. These will take the place of the randomly generated SAM objectives when they exist, but are not required. They are strongly recommended as random SAM placement will lead to more easily defeated air defenses. + +Required SAM locations are automatically associated with the control point closest to them. + +Required SAM locations are split into two types: long and medium range. Long range positions will only be filled by long range SAMs, and medium range positions will only be filled by medium range SAMs. + +Note that the exact type of SAM that will be placed depends on the faction data. However, when designing a campaign with specific factions in mind (such as Syria defending on the Syria map), this allows the designer to see the coverage of the SAMs used by the intended faction. This way the designer can be sure that sufficient coverage will be present in the campaign when a faction using a specific type of SAM is used. + +#### Long range SAMs + +Currently the only two long range SAM systems are the Patriot and the SA-10 (S-300). If the faction does not have either of those systems available those positions will not be generated. + +To define a required long range SAM location, place a CJTF **Red** unit of any of the following types: + +* SAM Patriot LN M901 +* SAM SA-10 S-300PS LN 5P85C +* SAM SA-10 S-300PS LN 5P85D + +#### Medium range SAMs + +Medium range SAMs include any SAMs that do not qualify as long range SAMs. If the faction has no medium range SAMs available those positions will not be generated, but note that because it is defined so broadly factions that include flak guns as their "SAMs" may generate flak guns a these locations. + +To define a required medium range SAM location, place a CJTF **Red** unit of any of the following types: + +* SAM Hawk LN M192 +* SAM SA-2 LN SM-90 +* SAM SA-3 S-125 LN 5P73 + +### Forward Operating Bases + +A FOB is defined by placing a CJTF Blue CP_SKP_11_ATC_Mobile_Command_Post. + +The group name of the unit is used to name the FOB. + +**Note:** FOBs are a control point just like an airbase, and can have frontlines drawn to them as well as locations for garrisons and air defenses. -**Note :** - -*I highly recommend you look at the default file provided in DCS Liberation for examples. There might be other parameters in these files, but you shouldn't change them.* - -# Example file - -Below is an example of campaign file : - - -```json -{ - "name": "Caucasus - Western Georgia", - "theater": "Caucasus", - "player_points": [ - { - "type": "airbase", - "id": "Kobuleti", - "size": 600, - "importance": 1.1 - }, - { - "type": "carrier", - "id": 1001, - "x": -285810.6875, - "y": 496399.1875, - "captured_invert": true - }, - { - "type": "lha", - "id": 1002, - "x": -326050.6875, - "y": 519452.1875, - "captured_invert": true - } - ], - "enemy_points": [ - { - "type": "airbase", - "id": "Kutaisi", - "size": 600, - "importance": 1 - }, - { - "type": "airbase", - "id": "Senaki-Kolkhi", - "size": 1000, - "importance": 1 - }, - { - "type": "airbase", - "id": "Sukhumi-Babushara", - "size": 1000, - "importance": 1.2 - }, - { - "type": "airbase", - "id": "Gudauta", - "size": 1000, - "importance": 1.2 - }, - { - "type": "airbase", - "id": "Sochi-Adler", - "size": 2000, - "importance": 1.4, - "captured_invert": true - } - ], - "links": [ - [ - "Kutaisi", - "Senaki-Kolkhi" - ], - [ - "Kobuleti", - "Senaki-Kolkhi" - ], - [ - "Senaki-Kolkhi", - "Sukhumi-Babushara" - ], - [ - "Gudauta", - "Sukhumi-Babushara" - ], - [ - "Gudauta", - "Sochi-Adler" - ] - ] -} -``` - -# Annex : Retrieving X/Y coordinates from DCS Mission Editor : - -* **Step 0 :** Open DCS ME, with the map you are using -* **Step 1 :** Place the carrier where you want it to be located - -![](https://imgur.com/pyewybn.png) - -* **Step 2:** Keep the mouse cursor on the carrier, and press ```right-alt+y``` multiple time, until DCS changes to X/Y coords scheme. Copy these coordinates in your campaign json file ! (Do not forget the sign, X/Y coordinates can often be negative) - -![](https://imgur.com/pBuRfwQ.png) \ No newline at end of file +## Unit Type Quick Reference: +* #### Required Long Range SAMs (CJTF Red): + * SAM Patriot LN M901 + * SAM SA-10 S-300PS LN 5P85C + * SAM SA-10 S-300PS LN 5P85D +* #### Required Medium Range SAMs (CJTF Red): + * SAM Hawk LN M192 + * SAM SA-2 LN SM-90 + * SAM SA-3 S-125 LN 5P73 +* #### Missile Sites (CJTF Blue): + * SRBM SS-1C Scud-B 9K72 LN 9P117M +* #### Ship (CJTF Blue): + * Arleigh Burke IIa +* #### Offshore Strike Target (CJTF Blue): + * Oil Platform +* #### Garrison (CJTF Blue): + * SA-19 Tunguska 2S6 +* #### Air Defenses (CJTF Blue): + * S-300PS SR 64H6E +* #### EWR (CJTF Blue): + * EWR 55G6 +* #### FOB (CJTF Blue): + * CP_SKP_11_ATC_Mobile_Command_Post \ No newline at end of file From c20e355b4a8f495d82e0171fb6f3983914f9564d Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Tue, 15 Dec 2020 23:45:37 -0800 Subject: [PATCH 161/704] Updated 2.3 Campaign Design (markdown) --- 2.3-Campaign-Design.md | 213 +---------------------------------------- 1 file changed, 1 insertion(+), 212 deletions(-) diff --git a/2.3-Campaign-Design.md b/2.3-Campaign-Design.md index 766e5e5..5fce1bc 100644 --- a/2.3-Campaign-Design.md +++ b/2.3-Campaign-Design.md @@ -1,212 +1 @@ -In DCS Liberation 2.3 campaign modding has been redesigned so that the campaign is designed in the mission editor, as a single miz file per campaign. - -## Descriptor file - -As before, the campaign uses a JSON file to describe some metadata. To create a new campaign, add a JSON file (such as `mycampaign.json`) to `resources\campaigns`. - -This json file should contain a json object, with the following parameters : - -* `name`: The name of the campaign that will be shown in the New Game wizard. -* `theater`: The map for the campaign (either: `Caucasus`, `Persian Gulf`, `Nevada`, `Normandy`, `Syria` or `The Channel`). -* `authors`: The authors of the campaign that will be shown in the New Game wizard. -* `description`: A description of the campaign that will be shown in the New Game wizard. -* `miz`: The name of the miz file (in the same `resources\campaigns` directory) that describes the campaign. - -## Designing campaigns in the mission editor - -When creating a campaign it may be easiest to start with an existing campaign in the same theater and modify it to suit your needs. If starting from scratch, ensure that Combined Joint Task Forces Blue and Combined Joint Task Forces Red are assigned to the blue and red coalitions respectively, as these will be used to define many of the campaigns properties. -#### [Unit Type Quick Reference](#unit-type-quick-reference-1) - -### Control points - -Control points are the spawn locations and (in most cases) the capturable positions in the campaign. - -#### Airbase control - -To make an airbase that starts controlled by blue, assign the airbase to the blue coalition in the mission editor. To make an airbase that starts controlled by red, assign the airbase to red. - -#### Carriers and LHAs - -To create a carrier, place a CVN-74 where you want it to be in the campaign. The carrier will be red if it belongs to CJTF Red and blue if it belongs to CJTF Blue. - -To create an LHA, follow the same process but place an LHA-1. - -Note that the presence of the carrier or LHA in the game will depend on the player's options and the faction's navy. - -#### Off-map spawns - -To create a point where aircraft from other theaters can be spawned into the mission in-air, place an F-15C. As with carriers and LHAs, use CJTF Red or Blue to assign the point to either faction. - -The altitude of the unit is not currently relevant, as the spawn altitude of units in Liberation depends on the faction's doctrine and the unit type. - -#### Importance - -Control points can be assigned an "importance", which determines the proportion of their forces that the AI commander will assign to the control point. This value is set using the `Periodicity` property of the control point's warehouse. This applies to airbases only. - -30 is the default in the editor and leaving it at 30 will cause it to have its default priority in the campaign (1.2). - -Custom priorities may be set by changing the periodicity to a value between 10 and 14 (inclusive), with 14 being the most important and 10 being the least important. This value will be divided by 10 to fit the game's importance range of 1.0 to 1.4, so a value of 12 will also set the default importance of 1.2. - -#### Campaign inversion - -Inverting the campaign allows the player to play the campaign in reverse (starting from the North instead of the South, for example). This doesn't simply swap all of the control points, but swaps a number of control points as defined by the mission designer so that the player doesn't begin the campaign with most of the control points already captured. - -To specify that an airbase should be owned by the player when the campaign is inverted, set the "unlimited aircraft" property of the warehouse. To specify the same for a carrier, LHA, or off-map spawn, set the "late activation" property of the group. - -### Front lines - -Front lines are defined by placing a CJTF Blue M-113 at an airfield and defining a route to the connected control point. The front line will follow the _waypoints_ of the vehicle group (not the path, so using on-road waypoints will not cause the front line to follow roads automatically), so waypoints should be placed at each location that the front line should turn to avoid terrain. The route should end near the airfield that the front line connects to. The beginning and ending waypoints will automatically snap to the nearest airfields when the campaign is generated. - -**Important:** Care should be taken to route the frontline around exclusion zones. If the center of the frontline location lies in an exclusion zones, frontline units may not spawn correctly. You can view the exclusion zones in the Liberation UI by enabling the display option "Map Debug Mode" - -### Base defenses - -Airbases will randomly generate a set of base defenses at the beginning of the campaign. The campaign generator currently uses the following algorithm when deciding what base defenses to spawn: - -* Spawn 1 EWR -* Spawn 1 garrison - -Then the generator will create between 2 and 5 (evenly weighted) additional defenses with the following probabilities: - -* The first has a 1/2 chance of being a SAM, 1/6 chance of being a SHORAD, and 2/6 chance of being a garrison. -* The second through fifth groups habe a 1/3 chance of being a SHORAD and a 2/3 chance of being a garrison. - -This means that if the campaign designer wishes to avoid randomly positioned base defenses, they must define at least: - -* 1 EWR location -* 7 air defense locations (SAMs and SHORADs differ by unit type but share placement locations) -* 6 garrison locations - -More can be placed to allow more variety in each campaign. When generating base defenses, locations will be selected from the presets at random. If no more preset locations remain for the given type, the generator will fall back to random positioning. Random positioning can result in units being placed under water, on buildings, on steep mountain slopes, etc, so it should not be relied upon. - -Base defense locations will automatically be associated with the closest control point to them. - -#### EWR - -To define a potential EWR location, place a CJTF Blue EWR 55G6. - -One EWR will always be placed at each control point. - -#### Air defenses - -To define a potential air defense location, place a CJTF Blue S-300PS SR 64H6E within a 2 NM radius of the control point. Units placed outside that radius will be regular objective locations rather than base defenses. - -The campaign generator will use these locations to spawn all ranges of air defenses, from an SA-10 to AAA. Precisely what is spawned depends on whether the generator uses the location for a SAM or SHROAD, the faction's available equipment, and random selection of that equipment during campaign generation. - -#### Garrisons - -Garrisons are ground units placed at the airbase that defend against the encroaching enemy front line. To define potential locations for garrison groups, place a CJTF Blue SA-19 Tunguska 2S6. - -### Objective locations - -The campaign generator will automatically generate a number of objective locations attached to each control point. The quantities and types of objectives depends on the faction, the player's options, and random chance. - -Objective locations are automatically associated with their closest control point. - -* A random number of naval groups will be generated based on the faction and player options. -* A random number of missile sites will be generated at airbases based on the faction. -* Between 2 and 7 other objectives will be generated at airbases. These other objectives have a 1 in 4 chance of being SAMs. 3 in 4 will be strike targets (either land based or offshore). - -In each case, if not enough preset locations are available for the given type, the generator will fall back to random positioning. This can result in ships being placed on land, SAMs being placed underwater, or factories being placed on top of other buildings. - -#### Strike targets - -Strike targets make up the bulk of the objective locations and will be spawned connected to airbases. These come in a variety of types depending on the faction: - -* SAMs -* Power plants -* Ammo depots -* Fuel depots -* Warehouses -* FARPs -* FOBs -* Factories -* Communications towers -* Offshore oil platforms -* Oil derricks -* Bunkers -* Villages -* Army camps - -Note that it is possible to require that certain SAM locations are generated, and each required SAM will cause a random SAM to be skipped (though it will not skip other objective locations). This is described further in the IADS section. - -Between 2 and 7 strike targets will be generated at each airbase, so to avoid random locations place at least 7 each of ground and offshore strike locations. Offshore locations will not be possible at every airbase. If no preset locations are defined the generator will fall back to random positioning, which will also fail, causing no offshore locations to be created. This is expected. - -To define a ground based strike location, place a CJTF Blue S-300PS SR 64H6E at least 2 NM from the associated air base. Locations within 2 NM will be base defense locations rather than strike locations. - -To define an offshore strike target, place a CJTF Blue Oil Platform. - -#### Ships - -Ships can be generated at airbases, carriers, and LHAs (but not off-map spawns). Ships will not be spawned if the player has disabled either player or enemy navies in the campaign generation options, or if the faction does not have naval units defined. The number of naval groups spawned is determined randomly between 0 and the limit defined by the faction, uniformly. There is no limit on how many can be spawned as is it is up to the faction designer, so place as can sensibly be placed (a dozen should be more than enough, and five should be plenty). - -To define a potential ship location place a CJTF Blue Arleigh Burke IIa. - -#### Missile sites - -Missile sites (scuds, V-2s, etc) can be generated at airbases. Missile sites will only be spawned if the faction has them defined, and the amount is randomly selected between 0 and the limit defined by the faction. There is no limit on how many can be spawned as is it is up to the faction designer, so place as can sensibly be placed (a dozen should be more than enough, and five should be plenty). - -To define a potential missile site place a CJTF Blue SRBM SS-1C Scud-B 9K72 LN 9P117M. - -### IADS - -To guarantee that each faction begins with a strong IADS, SAMs can be forced to spawn at specific locations. These will take the place of the randomly generated SAM objectives when they exist, but are not required. They are strongly recommended as random SAM placement will lead to more easily defeated air defenses. - -Required SAM locations are automatically associated with the control point closest to them. - -Required SAM locations are split into two types: long and medium range. Long range positions will only be filled by long range SAMs, and medium range positions will only be filled by medium range SAMs. - -Note that the exact type of SAM that will be placed depends on the faction data. However, when designing a campaign with specific factions in mind (such as Syria defending on the Syria map), this allows the designer to see the coverage of the SAMs used by the intended faction. This way the designer can be sure that sufficient coverage will be present in the campaign when a faction using a specific type of SAM is used. - -#### Long range SAMs - -Currently the only two long range SAM systems are the Patriot and the SA-10 (S-300). If the faction does not have either of those systems available those positions will not be generated. - -To define a required long range SAM location, place a CJTF **Red** unit of any of the following types: - -* SAM Patriot LN M901 -* SAM SA-10 S-300PS LN 5P85C -* SAM SA-10 S-300PS LN 5P85D - -#### Medium range SAMs - -Medium range SAMs include any SAMs that do not qualify as long range SAMs. If the faction has no medium range SAMs available those positions will not be generated, but note that because it is defined so broadly factions that include flak guns as their "SAMs" may generate flak guns a these locations. - -To define a required medium range SAM location, place a CJTF **Red** unit of any of the following types: - -* SAM Hawk LN M192 -* SAM SA-2 LN SM-90 -* SAM SA-3 S-125 LN 5P73 - -### Forward Operating Bases - -A FOB is defined by placing a CJTF Blue CP_SKP_11_ATC_Mobile_Command_Post. - -The group name of the unit is used to name the FOB. - -**Note:** FOBs are a control point just like an airbase, and can have frontlines drawn to them as well as locations for garrisons and air defenses. - - -## Unit Type Quick Reference: -* #### Required Long Range SAMs (CJTF Red): - * SAM Patriot LN M901 - * SAM SA-10 S-300PS LN 5P85C - * SAM SA-10 S-300PS LN 5P85D -* #### Required Medium Range SAMs (CJTF Red): - * SAM Hawk LN M192 - * SAM SA-2 LN SM-90 - * SAM SA-3 S-125 LN 5P73 -* #### Missile Sites (CJTF Blue): - * SRBM SS-1C Scud-B 9K72 LN 9P117M -* #### Ship (CJTF Blue): - * Arleigh Burke IIa -* #### Offshore Strike Target (CJTF Blue): - * Oil Platform -* #### Garrison (CJTF Blue): - * SA-19 Tunguska 2S6 -* #### Air Defenses (CJTF Blue): - * S-300PS SR 64H6E -* #### EWR (CJTF Blue): - * EWR 55G6 -* #### FOB (CJTF Blue): - * CP_SKP_11_ATC_Mobile_Command_Post \ No newline at end of file +Moved to [Custom Campaigns](https://github.com/Khopa/dcs_liberation/wiki/Custom-campaigns). \ No newline at end of file From 87f8937fcfc9ec7791fa5b9e662fcbcae23cef02 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Tue, 15 Dec 2020 23:47:15 -0800 Subject: [PATCH 162/704] Updated _Sidebar (markdown) --- _Sidebar.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/_Sidebar.md b/_Sidebar.md index 9cb5696..9b4f868 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -18,6 +18,8 @@ [Performance Options](https://github.com/Khopa/dcs_liberation/wiki/Performance-Options) +[Auto purchase options](https://github.com/Khopa/dcs_liberation/wiki/Auto-purchase-options) + ## Dedicated Servers [Dedicated server guide](https://github.com/Khopa/dcs_liberation/wiki/Dedicated-Server-Guide) From 410d06e85d835a4be76be033ae32bbbe9974d18f Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Tue, 15 Dec 2020 23:54:26 -0800 Subject: [PATCH 163/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index d635ddb..4f3d7e8 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -47,6 +47,12 @@ To create a point where aircraft from other theaters can be spawned into the mis The altitude of the unit is not currently relevant, as the spawn altitude of units in Liberation depends on the faction's doctrine and the unit type. +#### Forward Operating Bases + +A FOB a a capturable point that can spawn ground units but not aircraft. A FOB is defined by placing a CJTF Blue CP_SKP_11_ATC_Mobile_Command_Post. + +The group name of the unit is used to name the FOB. + #### Importance Control points can be assigned an "importance", which determines the proportion of their forces that the AI commander will assign to the control point. This value is set using the `Periodicity` property of the control point's warehouse. This applies to airbases only. @@ -186,15 +192,6 @@ To define a required medium range SAM location, place a CJTF **Red** unit of any * SAM SA-2 LN SM-90 * SAM SA-3 S-125 LN 5P73 -### Forward Operating Bases - -A FOB is defined by placing a CJTF Blue CP_SKP_11_ATC_Mobile_Command_Post. - -The group name of the unit is used to name the FOB. - -**Note:** FOBs are a control point just like an airbase, and can have frontlines drawn to them as well as locations for garrisons and air defenses. - - ## Unit Type Quick Reference: * #### Required Long Range SAMs (CJTF Red): * SAM Patriot LN M901 From 5c19336c532bdb5ccc22ce3056d567be6abd87d3 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Tue, 15 Dec 2020 23:56:28 -0800 Subject: [PATCH 164/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index 4f3d7e8..5281990 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -49,7 +49,7 @@ The altitude of the unit is not currently relevant, as the spawn altitude of uni #### Forward Operating Bases -A FOB a a capturable point that can spawn ground units but not aircraft. A FOB is defined by placing a CJTF Blue CP_SKP_11_ATC_Mobile_Command_Post. +A FOB a a capturable point that can spawn ground units but not aircraft. A FOB is defined by placing a CP_SKP_11_ATC_Mobile_Command_Post. A CJTF Blue group will create a FOB that begins owned by blue and a CJTF Red group will begin owned by red. The group name of the unit is used to name the FOB. From ccc6b40792941dccaf194cecc818999a7f86695e Mon Sep 17 00:00:00 2001 From: walterroach <37820425+walterroach@users.noreply.github.com> Date: Wed, 16 Dec 2020 01:58:05 -0600 Subject: [PATCH 165/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index 5281990..35bc6fd 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -213,5 +213,5 @@ To define a required medium range SAM location, place a CJTF **Red** unit of any * S-300PS SR 64H6E * #### EWR (CJTF Blue): * EWR 55G6 -* #### FOB (CJTF Blue): +* #### FOB (CJTF Blue/CJTF Red): * CP_SKP_11_ATC_Mobile_Command_Post \ No newline at end of file From f38a23826cbceb3f689f7d5a42b608b7553ae3ca Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 18 Dec 2020 13:13:38 -0800 Subject: [PATCH 166/704] Updated Preview builds (markdown) --- Preview-builds.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Preview-builds.md b/Preview-builds.md index daa174a..9185ac3 100644 --- a/Preview-builds.md +++ b/Preview-builds.md @@ -1,3 +1,5 @@ The latest build of the development branch can be found [here](https://github.com/Khopa/dcs_liberation/actions?query=branch%3Adevelop+event%3Apush). That page shows the build for every change that goes into our development branch. Builds at the top of the page are newer. If you click on them and are logged in to GitHub, you can download the release from the "Artifacts" section of the page. -**This is a development branch. Sometimes we break things, and plenty of things will be works in progress. Save games may not work across builds, and you should back up any save games you don't want to lose before loading them with a development build.** \ No newline at end of file +**This is a development branch. Sometimes we break things, and plenty of things will be works in progress. Save games may not work across builds, and you should back up any save games you don't want to lose before loading them with a development build.** + +The latest builds of the 2.3.x release can be found [here](https://github.com/Khopa/dcs_liberation/actions?query=branch%3Adevelop_2_3_x+event%3Apush). Unlike the main branch, saves _should_ remain compatible with saves from prior versions of 2.3. However, check the date of the build before downloading, as the build on this page may be older than the released version. \ No newline at end of file From 6558607c24bb3ef5caabb92a297b56497c81d398 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 18 Dec 2020 13:17:35 -0800 Subject: [PATCH 167/704] Document release process. --- Release-process.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 Release-process.md diff --git a/Release-process.md b/Release-process.md new file mode 100644 index 0000000..68a80bb --- /dev/null +++ b/Release-process.md @@ -0,0 +1,9 @@ +To release a new version of DCS Liberation: + +1. Update changelog and release number in the release branch. +2. Make PR from the release branch to master +3. Merge when the build passes +4. Tag master when the build is complete. Format for release tags is `$MAJOR.$MINOR.$PATCH`. +5. Smoke test the tagged build +6. In [Releases], promote the tagged build to a release. Include the changelog in the description section. +7. Announce the release in #:loudspeaker:releases in Discord. \ No newline at end of file From d3b917b4a6678b68bcbec62fa897abea801047d0 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 18 Dec 2020 13:18:18 -0800 Subject: [PATCH 168/704] Updated Developer's Guide (markdown) --- Developer's-Guide.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Developer's-Guide.md b/Developer's-Guide.md index f4785bd..1ffc3f0 100644 --- a/Developer's-Guide.md +++ b/Developer's-Guide.md @@ -43,9 +43,7 @@ You can run DCS Liberation from source with this configuration: (Adapt it to you ## Making a release -You can run create a release with this configuration: - -![](https://imgur.com/k93bHfz.png) +https://github.com/Khopa/dcs_liberation/wiki/Release-process ## Pull requests From 7b6ac4d479767ae689545dbcc6426dfb74a58709 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 18 Dec 2020 13:18:43 -0800 Subject: [PATCH 169/704] Updated _Sidebar (markdown) --- _Sidebar.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/_Sidebar.md b/_Sidebar.md index 9b4f868..497e310 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -36,12 +36,14 @@ [Custom Loadouts](https://github.com/Khopa/dcs_liberation/wiki/Custom-Loadouts) -## Contributions +## For developers [Contributing to DCS Liberation](https://github.com/Khopa/dcs_liberation/wiki/Contributing-to-DCS-Liberation) [Developer's Guide](https://github.com/Khopa/dcs_liberation/wiki/Developer's-Guide) +[Release process](https://github.com/Khopa/dcs_liberation/wiki/Release-process) + ## Misc [Code of Conduct](https://github.com/Khopa/dcs_liberation/wiki/Code-of-Conduct) From 68a6c4848eca295424cf7052933751e173e66b68 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 18 Dec 2020 14:18:28 -0800 Subject: [PATCH 170/704] Update getting started guide. --- Getting-started.md | 61 ++++++++++++++++++++-------------------------- 1 file changed, 26 insertions(+), 35 deletions(-) diff --git a/Getting-started.md b/Getting-started.md index b045581..765e01f 100644 --- a/Getting-started.md +++ b/Getting-started.md @@ -1,63 +1,54 @@ **Important Note before you launch DCS Liberation :** +DCS Liberation will modify the following file in your DCS installation: `/Scripts/MissionScripting.lua`. This allows Liberation to record information about mission events. This will **not** prevent you from passing the integrity check to join multiplayer servers. -``` -Be aware that DCS Liberation will modify the following file in your DCS installation : +This file will be modified whenever DCS Liberation is opened and the original will be replaced when DCS Liberation is closed. -/Scripts/MissionScripting.lua. - -However, i believe this should not trigger integrity check failure when joining MP servers. - -But be aware that this file will be modified. This is to allow communication between DCS scripting engine and the DCS Liberation executable. - -This modification open up the possibility to edit file from the lua script executed in DCS mission scripts - -So you might want to re-add the original file before opening untrusted mission file in DCS, or before joining untrusted MP servers. - -``` +**You must always launch DCS Liberation before you launch DCS.** If you do not DCS will load the file before it is changed and Liberation will not be able to retrieve mission progress. ## Installation : -1 - Download the latest release from this repository (either the zip or exe). (Releases are listed here : https://github.com/Khopa/dcs_liberation/releases and you can find them in the Assets section) +1. Download the [latest release](https://github.com/Khopa/dcs_liberation/releases). Download the `dcs_liberation..zip` file from the Artifacts section. +2. Extract the zip file to a new directory. DCS Liberation does not need to be separately installed; the extracted directory _is_ your DCS Liberation install. This can be extracted anywhere, but it should be a directory that you can access without Administrator privileges to ensure that Liberation runs correctly. +3. Then launch `liberation_main.exe` to launch DCS Liberation. -2 - Extract the zip file to a new folder where liberation will be installed. (or use the .exe installer, however you'll have a Window security warning if you use the installer) - -3 - Then launch liberation_main.exe to launch DCS Liberation 2.0. - -DCS Liberation should launch ! - -![](https://i.imgur.com/hej6vu1.png) +![DCS Liberation first launch screenshot](https://user-images.githubusercontent.com/315852/102664953-bd030d80-4138-11eb-989b-824b7a8d4f8c.png) ## Start your first campaign In the top left corner, click on File/New Game to start the new campaign wizard. -![](https://imgur.com/XvGTF1f.png) +![New Game screenshot](https://user-images.githubusercontent.com/315852/102665743-35b69980-413a-11eb-87c4-d140a83e3b0d.png) Click on next to start campaign configuration : -![](https://imgur.com/B3iGjE3.png) +![New game wizard](https://user-images.githubusercontent.com/315852/102665683-1ae42500-413a-11eb-9e52-4257c6a8d849.png) -Choose your faction, and the ennemy faction. -I recommend USA 2005 vs Russia 1965 for an easy first scenario. +Choose your faction, and the enemy faction. For an easy first game, choose USA 2005 vs Russia 1965. -![](https://imgur.com/3lbakWi.png) +![Faction selection](https://user-images.githubusercontent.com/315852/102665647-0b64dc00-413a-11eb-95e4-9823394a505b.png) -Choose the Theater, for now please use one of the recommended one. +Choose a campaign. Note that we **strongly** recommend against any of the "full" maps as these are extremely demanding in terms of performance. "Start at mid game" will cause the player's faction to own more control points than they normally would at the beginning of the campaign. "Invert map" will allow the player to play through the campaign in the opposite direction. -![](https://imgur.com/R1Yw0zq.png) +Note that at the time of writing these two options cannot currently be used together. See [Issue 572](https://github.com/Khopa/dcs_liberation/issues/572) for more information. -Click on next, do not check "Start at mid game", this is still WIP +![image](https://user-images.githubusercontent.com/315852/102665531-d8224d00-4139-11eb-8ebf-ec139f1e4913.png) -![](https://imgur.com/wI2JEjM.png) +Select any additional generation options you'd like to use. Note that the supercarrier option can be enabled or disabled later in the game settings. -Click on finish, to start the campaign generation, it might take up to a minute or two to generate the campaign depending on selected settings. +![Generator options](https://user-images.githubusercontent.com/315852/102665937-ab226a00-413a-11eb-9d31-007047cb5a04.png) -**Note :** Someone reported random crash on this step, if it happens, relaunch the program, and try again, it should work. +Adjust difficulty and economic options as desired. Increasing enemy income and budget can increase the campaign difficulty, while reducing it can improve mission performance by reducing the number of units that the enemy can use at once. -![](https://imgur.com/W6ITnuE.png) +The player assists section allows the player to enable automatic economic management for their faction so they can focus on other aspects of the campaign. These options can be toggled later in the game settings. These options are described in detail in [the manual](https://github.com/Khopa/dcs_liberation/wiki/Auto-purchase-options). -That's it, your new campaign scenario has been generated ! +![Difficulty and economic options](https://user-images.githubusercontent.com/315852/102666226-41569000-413b-11eb-9512-fa9ad21d92a2.png) -![](https://imgur.com/VXmznT9.png) +Click finish to start the campaign generation. It may a few minutes to generate the campaign depending on selected settings. + +![Finish page](https://user-images.githubusercontent.com/315852/102666295-68ad5d00-413b-11eb-9247-084281708b3a.png) + +Your campaign has been generated! We recommend you save your game at this point. + +![Screenshot of generated campaign](https://user-images.githubusercontent.com/315852/102666347-85e22b80-413b-11eb-85e6-61fc77d2e8f2.png) From 24aaaec952343bd63723efef7779fcb50ea97d72 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 18 Dec 2020 14:21:32 -0800 Subject: [PATCH 171/704] Updated Tutorial 01 : UI (markdown) --- Tutorial-01-:-UI.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Tutorial-01-:-UI.md b/Tutorial-01-:-UI.md index 61c7f13..1d108db 100644 --- a/Tutorial-01-:-UI.md +++ b/Tutorial-01-:-UI.md @@ -1,5 +1,6 @@ -Now that you have started a campaign, let's go through the UI to get an understanding of what is displayed first. +**Note:** This guide was written for a previous version of DCS Liberation, so the screenshots look quite different compared to the current UI. +Now that you have started a campaign, let's go through the UI to get an understanding of what is displayed first. ## The different parts of the UI From 62f4b6b45ebaae308f921fc3411c624ab5dec5b0 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 18 Dec 2020 14:24:16 -0800 Subject: [PATCH 172/704] Updated Tutorial 01 : UI (markdown) --- Tutorial-01-:-UI.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tutorial-01-:-UI.md b/Tutorial-01-:-UI.md index 1d108db..f20dc24 100644 --- a/Tutorial-01-:-UI.md +++ b/Tutorial-01-:-UI.md @@ -1,4 +1,4 @@ -**Note:** This guide was written for a previous version of DCS Liberation, so the screenshots look quite different compared to the current UI. +**Note:** This guide was written for a previous version of DCS Liberation. The screenshots and information are out of date. Now that you have started a campaign, let's go through the UI to get an understanding of what is displayed first. From 8a7d742dc16f2d85d6a3a2a67830b0727e3fbbbb Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 18 Dec 2020 14:43:13 -0800 Subject: [PATCH 173/704] Updated Tutorial 02 : First turn (markdown) --- Tutorial-02-:-First-turn.md | 40 ------------------------------------- Tutorial-02:-Turn-Zero.md | 37 ++++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 40 deletions(-) delete mode 100644 Tutorial-02-:-First-turn.md create mode 100644 Tutorial-02:-Turn-Zero.md diff --git a/Tutorial-02-:-First-turn.md b/Tutorial-02-:-First-turn.md deleted file mode 100644 index 393c8e0..0000000 --- a/Tutorial-02-:-First-turn.md +++ /dev/null @@ -1,40 +0,0 @@ -In DCS Liberation you are responsible of some decisions regarding the course of the ongoing war. - -This is a turn based simulation, for every turn, DCS Liberation will generate a DCS World mission that you will have to fly. - - -One of your main responsability is the recruitment of new units. Indeed, in the first turn, you will start with no armored units, nor planes. So let's start by recruiting them ! - -## Recruitment : - -On the map, click on Kobuleti, and then "open base menu" to open the base management menu. - -![](https://imgur.com/f2bFmAz.png) - -In Airfield Command tab, click on the "+" button to recruit aircrafts : - -![](https://imgur.com/xMwl6UP.png) - -I decided to go with F/A-18C (as i intend to fly one) and F-15C. - -**Note :** You may be tempted to only recruit the unit you intend to fly, but be aware that DCS Liberation will generate a complex combat environement, and AI units will be needed to succeed against your ennemy. Your action as a single pilot, can be important, but you will not be able to win this war alone. - -Also, you do not have an unlimited, budget, so pay attention to that in the top bar ! - -![](https://imgur.com/uLPtWxu.png) - -Then click on the next tab, and recruit some ground units. - -![](https://imgur.com/U4vGHbn.png) - -Ground units are very important, since they will fight on the frontline to progress toward the nearby ennemy bases and defend your airbase against ennemy attacks. Do not underestimate this part of the conflict ! - -The units you bought will not be delivered until next turn. So now you should spend your remaining budget and click on the pass turn button to make progress. (There is no mission generated on first turn since you do not have any units yet, that would be quite unfair.) - -Click on pass turn button in the top right corner of the application : - -![](https://imgur.com/CGn39pO.png) - - - - diff --git a/Tutorial-02:-Turn-Zero.md b/Tutorial-02:-Turn-Zero.md new file mode 100644 index 0000000..1f61f08 --- /dev/null +++ b/Tutorial-02:-Turn-Zero.md @@ -0,0 +1,37 @@ +In DCS Liberation you may take control of planning decisions regarding the course of the ongoing war. + +This is a turn based simulation. Each turn, DCS Liberation will generate a DCS World mission for you to fly. Note that, in general, **only the events that occur while the mission is running will have any effect**. There are exceptions to this rule such as ferry flights and airfield repairs, but _missions_ will only be completed if they are completed while the game is running. **DCS Liberation does not simulate combat if the player quits the mission before it completes.** + +## Recruitment: + +**Note:** These actions can be automated. See the [Auto purchase options guide](https://github.com/Khopa/dcs_liberation/wiki/Auto-purchase-options) for more information. + +On the map, click on an airbase (or right click and select "Open base menu") to open the base management menu. For the full demonstration, choose an airbase that is connected to the active front line. + +![Open base menu screenshot](https://user-images.githubusercontent.com/315852/102667191-aad79e00-413d-11eb-8a18-c5b6efb4dea8.png) + +### Aircraft recruitment + +In Airfield Command tab, click on the "+" button to order new aircraft: + +![Airfield command screenshot](https://user-images.githubusercontent.com/315852/102667380-0dc93500-413e-11eb-9b33-8fb44d5fd302.png) + +Purchased aircraft will arrive at the airfield next turn. Orders can be canceled and aircraft can be sold using the "-" button. **Sales are immediate and cannot be canceled**, so be careful to not sell aircraft you need for the turn. + +Purchases are limited by your available budget and by the amount of parking available next turn. Current aircraft, ordered aircraft, and aircraft transferring in or out of the airbase this turn contribute to the next turn's parking limits. + +You will need to buy aircraft for your entire faction, not just your own aircraft. Ensure that you purchase aircraft capable of performing the missions you will plan next turn like BARCAPs, CAS, and DEAD. See the [Mission planning guide](https://github.com/Khopa/dcs_liberation/wiki/Mission-planning) for more information on mission types. + +### Ground unit recruitment + +In the Ground Forces HQ menu you can recruit ground forces that will fight on the front line. + +![Ground forces HQ screenshot](https://user-images.githubusercontent.com/315852/102667718-eaeb5080-413e-11eb-8b1b-815399997e07.png) + +Ground units are very important, since they will fight on the frontline to progress toward the nearby enemy bases and defend your airbase against enemy attacks. Do not underestimate this part of the conflict! + +## Ending the turn + +The units you bought will not be delivered until next turn. Spend your remaining budget and click the pass turn button to continue to the first turn. + +![image](https://user-images.githubusercontent.com/315852/102667824-2ede5580-413f-11eb-8f40-03d491cf82bd.png) \ No newline at end of file From d222c9463e8a9d0169c15e13f1ca22d809f772ea Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 18 Dec 2020 14:43:56 -0800 Subject: [PATCH 174/704] Updated _Sidebar (markdown) --- _Sidebar.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_Sidebar.md b/_Sidebar.md index 497e310..234797c 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -4,7 +4,7 @@ [1 - DCS Liberation UI](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-01-:-UI) -[2 - First turn](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-02-:-First-turn) +[2 - First turn](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-02:-Turn-Zero) [3 - First operation](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-03-:-First-operation) From e79a1aea6022ddcd54b64e2d708380e914de74ec Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 18 Dec 2020 14:44:34 -0800 Subject: [PATCH 175/704] Updated _Sidebar (markdown) --- _Sidebar.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_Sidebar.md b/_Sidebar.md index 234797c..4878261 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -4,7 +4,7 @@ [1 - DCS Liberation UI](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-01-:-UI) -[2 - First turn](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-02:-Turn-Zero) +[2 - Turn Zero](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-02:-Turn-Zero) [3 - First operation](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-03-:-First-operation) From ff220e8aa5b3abb5a2f37ba47662e77822109cd7 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 18 Dec 2020 14:44:56 -0800 Subject: [PATCH 176/704] Updated Home (markdown) --- Home.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Home.md b/Home.md index 622db82..1d37c59 100644 --- a/Home.md +++ b/Home.md @@ -8,7 +8,7 @@ I recommend you read the [Getting Started](https://github.com/Khopa/dcs_liberati [1 - DCS Liberation UI](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-01-:-UI) -[2 - First turn](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-02-:-First-turn) +[2 - Turn Zero](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-02:-Turn-Zero) [3 - First operation](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-03-:-First-operation) From a3afd0cc906dce6cd2610279e0d6ced199eb55a3 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 18 Dec 2020 14:45:56 -0800 Subject: [PATCH 177/704] Updated Home (markdown) --- Home.md | 48 ++---------------------------------------------- 1 file changed, 2 insertions(+), 46 deletions(-) diff --git a/Home.md b/Home.md index 1d37c59..5922cf6 100644 --- a/Home.md +++ b/Home.md @@ -1,49 +1,5 @@ -Welcome to the DCS Liberation wiki ! +Welcome to the DCS Liberation wiki! I recommend you read the [Getting Started](https://github.com/Khopa/dcs_liberation/wiki/Getting-started) guide first. -## Tutorials - -[Getting Started](https://github.com/Khopa/dcs_liberation/wiki/Getting-started) - -[1 - DCS Liberation UI](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-01-:-UI) - -[2 - Turn Zero](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-02:-Turn-Zero) - -[3 - First operation](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-03-:-First-operation) - -[4 - Setting up a custom Strike mission](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-04-:-Setting-up-a-custom-%22Strike%22-mission) - -## Manual - -[Mission Planning](https://github.com/Khopa/dcs_liberation/wiki/Mission-planning) - -[Frontline Stances](https://github.com/Khopa/dcs_liberation/wiki/Frontline-Strategies-Stances) - -## Dedicated Servers - -[Dedicated server guide](https://github.com/Khopa/dcs_liberation/wiki/Dedicated-Server-Guide) - -## Modding Liberation - -[Custom campaigns](https://github.com/Khopa/dcs_liberation/wiki/Custom-Campaigns) - -[Custom factions](https://github.com/Khopa/dcs_liberation/wiki/Custom-Factions) - -[Lua Plugins](https://github.com/Khopa/dcs_liberation/wiki/Lua-Plugins) - -[Custom Loadouts](https://github.com/Khopa/dcs_liberation/wiki/Custom-Loadouts) - -## Contributions - -[Contributing to DCS Liberation](https://github.com/Khopa/dcs_liberation/wiki/Contributing-to-DCS-Liberation) - -[Developer's Guide](https://github.com/Khopa/dcs_liberation/wiki/Developer's-Guide) - -## Misc - -[Code of Conduct](https://github.com/Khopa/dcs_liberation/wiki/Code-of-Conduct) - - - - +For other tutorials and information, see the navigation bar at the right side of the wiki. \ No newline at end of file From 415f9aa5a87c32771038894fc7ec2d31eb8f4af3 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 18 Dec 2020 15:46:18 -0800 Subject: [PATCH 178/704] Updated Tutorial 03 : First operation (markdown) --- Tutorial-03-:-First-operation.md | 102 ------------------------------- Tutorial-03:-First-operation.md | 98 +++++++++++++++++++++++++++++ 2 files changed, 98 insertions(+), 102 deletions(-) delete mode 100644 Tutorial-03-:-First-operation.md create mode 100644 Tutorial-03:-First-operation.md diff --git a/Tutorial-03-:-First-operation.md b/Tutorial-03-:-First-operation.md deleted file mode 100644 index 7c046df..0000000 --- a/Tutorial-03-:-First-operation.md +++ /dev/null @@ -1,102 +0,0 @@ -Now this is turn 02, you should be able to see some messages about reinforcement received in the info panel : - - -![](https://imgur.com/SwfcEim.png) - -Also make sure to save your game regularly. - -# War on the ground - -The goal in the campaign is to capture all the ennemy points, to do so, you will have to : - -* Help your ground units progress to the ennemy bases. -* Destroy enemy aircraft -* Destroy enemy building (they produce more units) -* Destroy enemy air defense - -... and so on - -On the map, you can the frontline between Kobuleti and Senaki is active. - -![](https://imgur.com/qwzsKsN.png) - -So our units from Kobuleti, will have to make progress toward Senaki. By default your ground units will adopt a defensive stance and wait for the enemy, if you want them to progress to the enemy points, you have to set their combat strategy in the base menu : - -![](https://imgur.com/pkttLdX.png) - -Here they are set to "aggresive", so they will attack the ennemy base "Senaki" - - -# Starting the first mission - -Click on the proceed button in top right corner of the app, to open the mission planner. - -![](https://imgur.com/2tUtIYC.png) - -In the mission planner, you can see the list of mission that DCS Liberation has automatically generated for each airbase. - -![](https://imgur.com/2K371d8.png) - -If you want to join one of these mission. - -Put a client slot for you in the flight you choosed. - -(A client slot is a player slot, and other planes will be automatically occupied by AI) - -Make sure to set the time of departure to 'T + 0', So that you can start immediatly (Otherwise you will get the 'Your flight is delayed message and you will have to wait in DCS') - -![](https://imgur.com/NIORlw2.png) - -Then click on take off to start the mission : - -![](https://imgur.com/h9I1GF1.png) - -This window, will appear, follow the instructions : - -![](https://imgur.com/WIZwnut.png) - -Do not close DCS Liberation. - -And now launch DCS World, open the mission editor, and open the mission "liberation_nextturn" that should have been generated in the default mission folder : - -![](https://imgur.com/HrcFa7V.png) - -And start the mission : - -![](https://imgur.com/EfgYWL3.png) - -The mission briefing will contain informations about your flight : - -![](https://imgur.com/5jUvoeX.png) - -If you are prompted to choose a slot, pick the one you setup for you : - -![](https://imgur.com/WVZuIrz.png) - -Play the mission, here this was a BARCAP mission, so just fly through the configured waypoints and shoot down any enemy aircraft, then when satisfied, RTB (or you can just exit the mission). - -![](https://imgur.com/hFg7Zmh.png) - -![](https://imgur.com/9io8khu.png) - -Enjoy a complex semi dynamic combat environment : - -![](https://imgur.com/ESkpLPP.png) - -Once you exit the mission in DCS World, in DCS Liberation a mission result window will appear, click on Accept results and then OK to proceed to next turn. - -![](https://imgur.com/FIzQWiN.png) - -Then click on Okay - -![](https://imgur.com/R72HqYk.png) - -Depending on your results, the frontline will progress in your favor or not. HEre since we destroyed way more units than the enemy while on the offensive, we made significant progress toward Senaki ! - -![](https://imgur.com/47TGQdH.png) - -So repeat until the end of the war ! Have fun playing DCS Liberation ! - -More tutorials will come about how to set up SEAD, STRIKE and CAS mission, but this is already possible in the DCS Liberation mission planner if you play around with it; - - diff --git a/Tutorial-03:-First-operation.md b/Tutorial-03:-First-operation.md new file mode 100644 index 0000000..03d85d0 --- /dev/null +++ b/Tutorial-03:-First-operation.md @@ -0,0 +1,98 @@ +Now that you're on turn 1, you should see some messages about reinforcements and mission planning in the info panel at the bottom of the screen: + +![Info panel](https://user-images.githubusercontent.com/315852/102669213-d741e900-4142-11eb-83d3-858e62643fec.png) + +## War on the ground + +The goal of the campaign is to capture all the enemy control points. To do so, you will need to: + +* Help your ground units progress to the enemy bases. +* Destroy enemy aircraft. +* Destroy enemy buildings (they provide the enemy with income). +* Destroy enemy air defenses. + +On the map, you can the frontline between Gudata and Sochi Adler is active. + +![Gudata/Sochi front line](https://user-images.githubusercontent.com/315852/102669351-3273db80-4143-11eb-9181-b6e7c21f8828.png) + +Ground units purchased at Gudata will be positioned along this front line. By default your ground units will adopt a defensive stance and wait for the enemy. To push toward Sochi, set their stance in the Ground Forces HQ (discussed in the previous tutorial) + +![Front line stance selection](https://user-images.githubusercontent.com/315852/102669440-6c44e200-4143-11eb-9c11-c6cc73acb7f0.png) + +See the [Front line stances guide](https://github.com/Khopa/dcs_liberation/wiki/Frontline-Strategies-Stances) for a description of each stance. + +# Adding player slots + +Planning your own missions is covered in the next tutorial, but you still need to choose a flight to play as. This is done by adding "client slots" to a flight. + +To add a client slot, choose a package in the Air Tasking Order (ATO) panel on the left, and then double click the group you want to fly. In this example I've selected a BARCAP flight protecting Gudata. + +![ATO panel](https://user-images.githubusercontent.com/315852/102671854-90ed8980-4144-11eb-8c4c-5f36dd0d0a00.png) + +Click the up arrow next to the client slot count to add a slot for a player. + +![Add a client slot](https://user-images.githubusercontent.com/315852/102672124-dc079c80-4144-11eb-8f9c-80efb06393da.png) + +After closing this window, the UI will update to account for the player slot. Because players cannot start most aircraft in under a minute like the AI does, adding cold start client slots may cause the flight's mission start time to change, possibly to a time before the start of the game, as seen below. + +![negative start time](https://user-images.githubusercontent.com/315852/102672165-f2155d00-4144-11eb-93c9-c38450050bb2.png) + +You can either automatically resolve this when launching the mission, or double click the package in the panel above the flight and adjust the package's time-over-target (TOT). This is discussed further in the next tutorial. For now, just click the "ASAP" button so we can take off as soon as possible. + +![ASAP TOT](https://user-images.githubusercontent.com/315852/102672380-7962d080-4145-11eb-8a5f-f7173df001fd.png) + +## Generating the mission + +Click on take off to start the mission: + +![take off](https://user-images.githubusercontent.com/315852/102672417-95ff0880-4145-11eb-86b5-1674b44b9b84.png) + +It may take some time to generate the mission. When complete, a window will appear with more instructions: + +![image](https://user-images.githubusercontent.com/315852/102672475-bd55d580-4145-11eb-956a-0e0df23be126.png) + +**Do not close this Window until your mission is complete. Generated missions are only valid for as long as this window is open.** If you need to make changes to your plan, close the window, make your changes, and then press take off again. **You will need to load the newly generated mission.** + +If the window does not appear, check the command prompt window that opened with Liberation and look for error messages in the log. You will likely need to [file a bug](https://github.com/Khopa/dcs_liberation/issues). + +## Launching the mission + +Launch DCS World, open the mission editor, and open the mission `liberation_nextturn` that should have been generated in the default mission folder. + +![Mission browser](https://imgur.com/HrcFa7V.png) + +Start the mission. + +![Start mission menu](https://imgur.com/EfgYWL3.png) + +The mission briefing will contain information about your flight. + +![Briefing](https://imgur.com/5jUvoeX.png) + +If you are prompted to choose a slot, pick the one you setup for you. If there is only one slot available (and no Combined Arms mission commander) it will be chosen automatically. + +![Player slot selection](https://imgur.com/WVZuIrz.png) + +Play the mission. Most of the information you will need to complete your mission is present in the kneeboard (right shift K by default, use `[`] and `]` to change pages). + +![Kneeboard](https://user-images.githubusercontent.com/315852/102672968-3a357f00-4147-11eb-808a-d78d5bfb039f.png) + +This was a BARCAP mission, so follow your flight plan to the mission location and then orbit between the two race track points (waypoints 1 and 2 in this case) until the departure time (17:51:53 local). Once complete, RTB and close the mission. + +## Submitting mission results + +**Note:** This section was written for an older version of DCS Liberation. The text is accurate, but the screenshots are out of date. + +Once you exit the mission in DCS World, in DCS Liberation a mission result window will appear, click on Accept results and then OK to proceed to next turn. + +![mission complete window](https://imgur.com/FIzQWiN.png) + +Then click on Okay + +![Debriefing window](https://imgur.com/R72HqYk.png) + +Depending on your results, the frontline will progress in your favor or not. Here since we destroyed way more units than the enemy while on the offensive, we made significant progress toward Senaki! + +![Map view for the next turn](https://imgur.com/47TGQdH.png) + +Now repeat until the end of the war! Have fun playing DCS Liberation! \ No newline at end of file From 42e74f0efecd3ed0d3bcdee1129053d843de4642 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 18 Dec 2020 15:46:34 -0800 Subject: [PATCH 179/704] Updated _Sidebar (markdown) --- _Sidebar.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_Sidebar.md b/_Sidebar.md index 4878261..74c3ee6 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -6,7 +6,7 @@ [2 - Turn Zero](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-02:-Turn-Zero) -[3 - First operation](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-03-:-First-operation) +[3 - First operation](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-03:-First-operation) [4 - Setting up a custom Strike mission](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-04-:-Setting-up-a-custom-%22Strike%22-mission) From b1ed46d3d12a35ec3fbb2a5e99f30f749eea5d26 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 18 Dec 2020 18:39:17 -0800 Subject: [PATCH 180/704] Updated Tutorial 03: First operation (markdown) --- Tutorial-03:-First-operation.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Tutorial-03:-First-operation.md b/Tutorial-03:-First-operation.md index 03d85d0..24769df 100644 --- a/Tutorial-03:-First-operation.md +++ b/Tutorial-03:-First-operation.md @@ -85,14 +85,14 @@ This was a BARCAP mission, so follow your flight plan to the mission location an Once you exit the mission in DCS World, in DCS Liberation a mission result window will appear, click on Accept results and then OK to proceed to next turn. -![mission complete window](https://imgur.com/FIzQWiN.png) +![Mission complete window](https://user-images.githubusercontent.com/315852/102678870-1468a400-4160-11eb-8d3d-1c5fa4a150e3.png) Then click on Okay -![Debriefing window](https://imgur.com/R72HqYk.png) +![Debriefing window](https://user-images.githubusercontent.com/315852/102678875-24808380-4160-11eb-98e7-b4bc498c0129.png) Depending on your results, the frontline will progress in your favor or not. Here since we destroyed way more units than the enemy while on the offensive, we made significant progress toward Senaki! -![Map view for the next turn](https://imgur.com/47TGQdH.png) +![Map view for the next turn](https://user-images.githubusercontent.com/315852/102678899-4aa62380-4160-11eb-9336-d319eca93b5d.png) Now repeat until the end of the war! Have fun playing DCS Liberation! \ No newline at end of file From 4c56c6b693bf48d56f86192e42ec2e88a3c2bfe1 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 18 Dec 2020 18:39:46 -0800 Subject: [PATCH 181/704] Updated Tutorial 03: First operation (markdown) --- Tutorial-03:-First-operation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tutorial-03:-First-operation.md b/Tutorial-03:-First-operation.md index 24769df..cf5c12b 100644 --- a/Tutorial-03:-First-operation.md +++ b/Tutorial-03:-First-operation.md @@ -91,7 +91,7 @@ Then click on Okay ![Debriefing window](https://user-images.githubusercontent.com/315852/102678875-24808380-4160-11eb-98e7-b4bc498c0129.png) -Depending on your results, the frontline will progress in your favor or not. Here since we destroyed way more units than the enemy while on the offensive, we made significant progress toward Senaki! +Depending on your results, the frontline will progress in your favor or not. Here since we destroyed way more units than the enemy while on the offensive, we made progress toward Sochi! ![Map view for the next turn](https://user-images.githubusercontent.com/315852/102678899-4aa62380-4160-11eb-9336-d319eca93b5d.png) From 41fb66b1453bf2f5fac249541009d6f970484d09 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sat, 19 Dec 2020 12:40:38 -0800 Subject: [PATCH 182/704] Updated Release process (markdown) --- Release-process.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Release-process.md b/Release-process.md index 68a80bb..3c592b9 100644 --- a/Release-process.md +++ b/Release-process.md @@ -5,5 +5,5 @@ To release a new version of DCS Liberation: 3. Merge when the build passes 4. Tag master when the build is complete. Format for release tags is `$MAJOR.$MINOR.$PATCH`. 5. Smoke test the tagged build -6. In [Releases], promote the tagged build to a release. Include the changelog in the description section. +6. In [Releases](https://github.com/Khopa/dcs_liberation/releases), promote the tagged build to a release. Include the changelog in the description section. 7. Announce the release in #:loudspeaker:releases in Discord. \ No newline at end of file From 4f8d407843d13078d1061fa81864360aa36b0aa7 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sat, 19 Dec 2020 12:43:44 -0800 Subject: [PATCH 183/704] Updated Release process (markdown) --- Release-process.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Release-process.md b/Release-process.md index 3c592b9..67180e4 100644 --- a/Release-process.md +++ b/Release-process.md @@ -3,7 +3,7 @@ To release a new version of DCS Liberation: 1. Update changelog and release number in the release branch. 2. Make PR from the release branch to master 3. Merge when the build passes -4. Tag master when the build is complete. Format for release tags is `$MAJOR.$MINOR.$PATCH`. +4. Tag master when the build is complete. Format for release tags is `$MAJOR.$MINOR.$PATCH`. **Do not create a release.** A release will be created automatically by the GitHub action from the tag. 5. Smoke test the tagged build 6. In [Releases](https://github.com/Khopa/dcs_liberation/releases), promote the tagged build to a release. Include the changelog in the description section. 7. Announce the release in #:loudspeaker:releases in Discord. \ No newline at end of file From 219432075c6097d805dc2cdb135cd32de870e52b Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sat, 19 Dec 2020 17:01:20 -0800 Subject: [PATCH 184/704] Updated Performance Options (markdown) --- Performance-Options.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Performance-Options.md b/Performance-Options.md index 94d6d42..3f2a1ab 100644 --- a/Performance-Options.md +++ b/Performance-Options.md @@ -10,7 +10,7 @@ Distant unit culling removes all ground units (including buildings) that are bey * At the front line and its attached airfields, if a front line exists. * At the closest two opposing airfields, if no front line exists. -* At all mission targets. +* At all non-BARCAP mission targets. Culling exclusion zones can be displayed on the map using the "Display Culling Zones" display option in the Liberation toolbar. If set too large, culling will have little effect. If set too small, the game experience will suffer as many SAMs will likely be culled. From f72d7dd391d6e8ece7e4efa49dce20a4cdbf108d Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sun, 20 Dec 2020 14:32:40 +0100 Subject: [PATCH 185/704] Updated Custom Factions (markdown) --- Custom-Factions.md | 83 +++++++++++++++++++++------------------------- 1 file changed, 38 insertions(+), 45 deletions(-) diff --git a/Custom-Factions.md b/Custom-Factions.md index 7f04282..e5923ad 100644 --- a/Custom-Factions.md +++ b/Custom-Factions.md @@ -27,10 +27,10 @@ This json file should contain a json object, with the following parameters : * **artillery_units** : List of artillery that will fight on the frontline * **infantry_units** : List of infantry units that will fight on the frontline * **logistics_units** : List of units used for logistics (unused for now) -* **shorads** : List of generators used for shorad groups (See the Sam Generator possible choice at the end of this guide) -* **sams** : List of generators used for sams groups -* **missiles** : List of missiles generators used for sams groups -* **requirements** : Required mods for this faction to work +* **air_defenses** : List of generators used for air defense groups (See the list of possible air defenses generators in annex) +* **ewrs** : List of ewr generators to be used for the IADS (See the list of possible ewr generators in annex) +* **missiles** : List of missiles generators used for missiles groups +* **requirements** : List of required mods for this faction to work * **aircraft_carrier** : List of aircraft carriers available * **helicopter_carrier** : List of helicopter carriers available * **carrier_names** : List of possible name for carriers (will be picked randomly if there is more than one) @@ -58,10 +58,10 @@ Below is an example of a factions file : ```json { - "country": "USA", - "name": "USA 2005", + "country": "USAF Aggressors", + "name": "USAF Aggressors", "authors": "Khopa", - "description": "", + "description": "

USAF aggresors.

", "aircrafts": [ "F_15C", "F_15E", @@ -69,12 +69,15 @@ Below is an example of a factions file : "FA_18C_hornet", "F_16C_50", "A_10A", + "A_10C", "AV8BNA", "UH_1H", - "AH_64A", + "AH_64D", + "Ka_50", "B_52H", "B_1B", - "F_117A" + "F_117A", + "Su_27" ], "awacs": [ "E_3A" @@ -85,12 +88,11 @@ Below is an example of a factions file : ], "frontline_units": [ "MBT_M1A2_Abrams", + "MBT_Leopard_2", "ATGM_M1134_Stryker", - "APC_M1126_Stryker_ICV", "IFV_M2A2_Bradley", "IFV_LAV_25", - "APC_M1043_HMMWV_Armament", - "ATGM_M1045_HMMWV_TOW" + "APC_M1043_HMMWV_Armament" ], "artillery_units": [ "MLRS_M270", @@ -103,42 +105,17 @@ Below is an example of a factions file : "Infantry_M4", "Soldier_M249" ], - "shorads": [ - "AvengerGenerator" + "air_defenses": [ + "AvengerGenerator", + "HawkGenerator", + "PatriotGenerator" ], - "sams": [ - "HawkGenerator" - ], - "aircraft_carrier": [ - "CVN_74_John_C__Stennis" - ], - "helicopter_carrier": [ - "LHA_1_Tarawa" - ], - "destroyers": [ - "Oliver_Hazzard_Perry_class", - "USS_Arleigh_Burke_IIa" - ], - "cruisers": [ - "Ticonderoga_class" + "ewrs": [ + "PatriotEwrGenerator" ], "requirements": {}, - "carrier_names": [ - "CVN-71 Theodore Roosevelt", - "CVN-72 Abraham Lincoln", - "CVN-73 George Washington", - "CVN-74 John C. Stennis" - ], - "helicopter_carrier_names": [ - "LHA-1 Tarawa", - "LHA-2 Saipan", - "LHA-3 Belleau Wood", - "LHA-4 Nassau", - "LHA-5 Peleliu" - ], "navy_generators": [ - "OliverHazardPerryGroupGenerator", - "ArleighBurkeGroupGenerator" + "OliverHazardPerryGroupGenerator" ], "has_jtac": true, "jtac_unit": "MQ_9_Reaper", @@ -197,6 +174,8 @@ Below is an example of a factions file : * *ColdWarFlakGenerator* * *EarlyColdWarFlakGenerator* * *FreyaGenerator* +* *AllyWW2FlakGenerator* +* *ZSU57Generator* ## Annex 2 - Possible Navy group generators @@ -211,4 +190,18 @@ Below is an example of a factions file : * *MolniyaGroupGenerator* * *KiloSubGroupGenerator* * *TangoSubGroupGenerator* -* *Type54GroupGenerator* \ No newline at end of file +* *Type54GroupGenerator* + +## Annex 3 - Possible EWR generators + +* *BoxSpringGenerator* +* *TallRackGenerator* +* *DogEarGenerator* +* *RolandEwrGenerator* +* *FlatFaceGenerator* +* *PatriotEwrGenerator* +* *BigBirdGenerator* +* *SnowDriftGenerator* +* *StraightFlushGenerator* +* *HawkEwrGenerator* + From 380d5a06f33e613d9840e848b553dcf86ae5c8ac Mon Sep 17 00:00:00 2001 From: Matthew Clairmont Date: Thu, 24 Dec 2020 13:04:34 -0500 Subject: [PATCH 186/704] Simple typo fixes --- Tutorial-01-:-UI.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Tutorial-01-:-UI.md b/Tutorial-01-:-UI.md index f20dc24..fe7a62a 100644 --- a/Tutorial-01-:-UI.md +++ b/Tutorial-01-:-UI.md @@ -38,11 +38,11 @@ Now let's go over what is displayed on the map : You can click on friendly airbase to open base menu, and recruit/manage units. -**Ennemy airbase :** +**Enemy airbase :** ![](https://imgur.com/z9Lv4DR.png) -You can click on an ennemy airbase to open intel menu. +You can click on an enemy airbase to open intel menu. ### Point of interests : @@ -64,7 +64,7 @@ _A friendly ammo depot :_ ![](https://imgur.com/Cgf56uj.png) -_An ennemy factory :_ +_An enemy factory :_ ![](https://imgur.com/bqnfcG2.png) @@ -78,7 +78,7 @@ Enemy buildings are automatically captured when the nearby airbase has been capt ![](https://imgur.com/iaKrN0x.png) -The frontline let you now how close the ennemy are from you airbase. +The frontline let you now how close the enemy are from you airbase. From d5ccf53f59df278c8f7123d7f52cf1f0dc4bf885 Mon Sep 17 00:00:00 2001 From: dimkzr Date: Wed, 30 Dec 2020 07:38:55 +0300 Subject: [PATCH 187/704] Additional new tasks added. --- Custom-Loadouts.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Custom-Loadouts.md b/Custom-Loadouts.md index 7a3119c..d86b675 100644 --- a/Custom-Loadouts.md +++ b/Custom-Loadouts.md @@ -1,5 +1,5 @@ 1. Go to the DCS mission editor, put the plane you want to modify the loadout for in the editor. -Create loadouts with the following names, for each possible tasks : "CAS", "CAP", "SEAD", "ANTISHIP", "STRIKE" +Create loadouts with the following names, for each possible tasks : "CAS", "CAP", "SEAD", "ANTISHIP", "STRIKE" (additional tasks since 2.3: "INTERCEPT", "RUNWAY_ATTACK", "BAI", "OCA"). * Note : Even if the plane cannot run the task, please create a default loadout for it anyway. 2. Once done, exit the DCS Mission Editor From 195b1789adfdada6e119af2a3f38cd2dc687e8aa Mon Sep 17 00:00:00 2001 From: dimkzr Date: Wed, 30 Dec 2020 07:41:06 +0300 Subject: [PATCH 188/704] Added link to tasks description --- Custom-Loadouts.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Custom-Loadouts.md b/Custom-Loadouts.md index d86b675..806fbe2 100644 --- a/Custom-Loadouts.md +++ b/Custom-Loadouts.md @@ -1,5 +1,5 @@ 1. Go to the DCS mission editor, put the plane you want to modify the loadout for in the editor. -Create loadouts with the following names, for each possible tasks : "CAS", "CAP", "SEAD", "ANTISHIP", "STRIKE" (additional tasks since 2.3: "INTERCEPT", "RUNWAY_ATTACK", "BAI", "OCA"). +Create loadouts with the following names, for each possible tasks : "CAS", "CAP", "SEAD", "ANTISHIP", "STRIKE" (additional tasks since 2.3: "INTERCEPT", "RUNWAY_ATTACK", "BAI", "OCA"). You can read more about tasks [at this page](https://github.com/Khopa/dcs_liberation/wiki/Mission-planning#task-types). * Note : Even if the plane cannot run the task, please create a default loadout for it anyway. 2. Once done, exit the DCS Mission Editor From 534720d01bef46197ff535b1f4e4bf2b474da04d Mon Sep 17 00:00:00 2001 From: Alasdair Hitchen Date: Wed, 30 Dec 2020 14:01:33 +0000 Subject: [PATCH 189/704] See https://wiki.qt.io/Qt_for_Python/Considerations - Problems with Python 3.8.0 --- Developer's-Guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Developer's-Guide.md b/Developer's-Guide.md index 1ffc3f0..8f53003 100644 --- a/Developer's-Guide.md +++ b/Developer's-Guide.md @@ -15,7 +15,7 @@ The original UI was different, and the mission generation process was different ## Required tools -* [Python 3.8+](https://www.python.org/downloads/) +* [Python 3.8.1+](https://www.python.org/downloads/) * A code Editor for Python. I recommend [PyCharm Community Edition](https://www.jetbrains.com/pycharm/download/#section=windows), you can add plugin for Lua. When you install Python, make sure to install pip for dependencies management. From bbdbc03299d5ff3d58f01b58a8628415df57a3ca Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 1 Jan 2021 16:04:01 -0800 Subject: [PATCH 190/704] Updated Auto purchase options (markdown) --- Auto-purchase-options.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Auto-purchase-options.md b/Auto-purchase-options.md index a9c9be4..67c37c4 100644 --- a/Auto-purchase-options.md +++ b/Auto-purchase-options.md @@ -30,4 +30,12 @@ When attempting to fulfill an order for a mission, the purchase will be attempte Aircraft are selected to fit the unfulfilled missions. Liberation maintains a preferred list of aircraft for each mission type as well as a list of all capable aircraft. A random selection will be made from the preferred list first, but if empty or too expensive the capable list will be used. -If no capable aircraft in range can be purchased, the remaining budget will roll over to the next turn. \ No newline at end of file +If no capable aircraft in range can be purchased, the remaining budget will roll over to the next turn. + +### Changes in DCS Liberation 2.4 + +Airbases outside the enemy's threat zone will be preferred. This will result in more regular, safer, albeit longer flight plans. + +The best aircraft for the job will be purchased, with a random change of making a suboptimal decision to maintain unit variety. The preferences for each task type are defined in https://github.com/Khopa/dcs_liberation/blob/develop/gen/flights/ai_flight_planner_db.py. + +(Work in progress) A reserve of aircraft for airbase defense BARCAP and CAS missions will be maintained before aircraft are purchased for other missions. The reserves will remain at the airbase. This ensures that even if every planned flight is destroyed the critical missions can still be deployed on the next turn. \ No newline at end of file From c76084a797683fb543f3410af5ab34f43a0e67a8 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 1 Jan 2021 16:07:51 -0800 Subject: [PATCH 191/704] Updated Mission planning (markdown) --- Mission-planning.md | 22 ++-------------------- 1 file changed, 2 insertions(+), 20 deletions(-) diff --git a/Mission-planning.md b/Mission-planning.md index a34ed76..4e5982a 100644 --- a/Mission-planning.md +++ b/Mission-planning.md @@ -38,25 +38,17 @@ Below is a list of all the currently available task types for flights. More will ### Anti-ship -**Note**: Anti-ship missions are new in DCS Liberation 2.3. - An anti-ship mission can be planned against enemy ships. The flight will rendezvous with the rest of its package and proceed to its ingress point, where it will fire its weapons at the enemy naval group. AI flights targeting a group of ships may split their weapons across multiple ships. After firing, the flight will RTB. Many ships have significant point defenses. Large numbers of anti-ship weapons are usually needed to overwhelm the defenses. ### BAI -**Note**: BAI missions are new in DCS Liberation 2.3. - A Battlefield Air Interdiction (BAI) mission can be planned at enemy objective areas with ground vehicles. Its purpose is similar to CAS, but instead of supporting friendly troops it eliminates enemy forces before they can reach the front line. The flight will rendezvous with the rest of its package and proceed to its ingress point, where it will begin to search for its assigned targets. ### BARCAP -A BARCAP mission can be planned at any objective area, with the exception of front lines (for front line CAP, use TARCAP). Its purpose is to prevent enemy aircraft from entering the area. The flight will arrive at the target area at the package's TOT and begin a race-track pattern patrol and remain for a predefined amount of time (currently 30 minutes). The race-track will be oriented toward the nearest enemy airbase. - -#### Changes in 2.3 - -In DCS Liberation 2.3 BARCAP has become defensive only. BARCAP missions can only be planned on friendly areas (friendly airbases, ships, and objective areas). BARCAP for enemy areas is now done by TARCAP. +A BARCAP mission can be planned at any friendly objective area. Its purpose is to prevent enemy aircraft from entering the area. The flight will arrive at the target area at the package's TOT and begin a race-track pattern patrol and remain for a predefined amount of time (currently 30 minutes). The race-track will be oriented toward the nearest enemy airbase. ### CAS @@ -74,20 +66,14 @@ Note that the escort flight will not remain in the target area even if the rest ### Fighter sweep -**Note**: Fighter sweep missions are new in DCS Liberation 2.3. - A fighter sweep mission can be planned against an enemy objective. Its purpose is to clear the target area of enemy fighters before the rest of the package arrives. The flight will move to a point near the package's join point and then proceed to engage enemy fighters on its way to the target area. The flight will RTB when it is bingo, winchester, or reaches the target area without encountering any fighters. ### OCA/Aircraft -**Note**: OCA/Aircraft missions are new in DCS Liberation 2.3. - An OCA/Aircraft mission can be planned against an enemy airfield. Its purpose is to destroy aircraft on the ground. The flight will rendezvous with the rest of its package and proceed to its ingress point, where it will begin to search for and attack grounded aircraft at the target airfield. ### OCA/Runway -**Note**: OCA/Runway missions are new in DCS Liberation 2.3. - An OCA/Runway mission can be planned against an enemy airfield. Its purpose is to damage the runway to prevent the enemy from using the airbase to launch future missions. The flight will rendezvous with the rest of its package and proceed to its ingress point before lining up with and bombing the runway. If the runway is sufficiently damaged in a single turn it will be destroyed. The amount of damage required to destroy a runway is defined by DCS. A destroyed runway will not be usable for missions and aircraft cannot be purchased or sold until the runway is repaired. Repairing the runway takes four turns and costs $100M. The AI will attempt to repair the runway whenever they can afford to do so. If the runway is damaged again before repair is complete the repair progress will stop and need to be purchased again. @@ -104,8 +90,4 @@ Note that strike packages are assigned coordinates to attack, not units. If the ### TARCAP -A TARCAP can be assigned to a front line. TARCAP flights behave similarly to BARCAP except that it will only remain at the target area for as long as the members of the package that are requesting an escort plan to be there. If there are no other package members, the flight will patrol for a predefined amount of time (currently 30 minutes). - -#### Changes in 2.3 - -In DCS Liberation 2.3 TARCAP is now available on any enemy objective. The behavior from previously releases remains the same, except TARCAP flights will arrive to the objective area two minutes ahead of the rest of the package to clear the area if needed. \ No newline at end of file +A TARCAP can be assigned to any enemy objective area. TARCAP flights behave similarly to BARCAP except that it will only remain at the target area for as long as the members of the package that are requesting an escort plan to be there. If there are no other package members, the flight will patrol for a predefined amount of time (currently 30 minutes). TARCAP will arrive on station 2 minutes ahead of the join time of the rest of the package to ensure coverage has been established by the time the package arrives. This means that TARCAPs are not a good choice for targets that are near enemy SAMs. \ No newline at end of file From d0905cf6910004853871c87f752fb042783a7528 Mon Sep 17 00:00:00 2001 From: HighwaymanEd <32423630+HighwaymanEd@users.noreply.github.com> Date: Sun, 3 Jan 2021 14:54:11 +1100 Subject: [PATCH 192/704] Updated Custom Factions (markdown) --- Custom-Factions.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Custom-Factions.md b/Custom-Factions.md index e5923ad..73c269f 100644 --- a/Custom-Factions.md +++ b/Custom-Factions.md @@ -50,6 +50,7 @@ This json file should contain a json object, with the following parameters : *I highly recommend you look at the default files provided in DCS Liberation for examples.* All parameters have default values, so you do not have to set them all up necessarily. +When changing a livery, if an aircraft is a Core DCS aircraft or module such as the MiG-19P, the livery must be in the Modules Liveries section and not your Saved Games folder. # Example file From b4bdc2b41f1b5bffcf4a6f5d4e8434ede544fab9 Mon Sep 17 00:00:00 2001 From: HighwaymanEd <32423630+HighwaymanEd@users.noreply.github.com> Date: Sun, 3 Jan 2021 14:55:02 +1100 Subject: [PATCH 193/704] Updated Custom Factions (markdown) --- Custom-Factions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Custom-Factions.md b/Custom-Factions.md index 73c269f..b6127ed 100644 --- a/Custom-Factions.md +++ b/Custom-Factions.md @@ -50,7 +50,7 @@ This json file should contain a json object, with the following parameters : *I highly recommend you look at the default files provided in DCS Liberation for examples.* All parameters have default values, so you do not have to set them all up necessarily. -When changing a livery, if an aircraft is a Core DCS aircraft or module such as the MiG-19P, the livery must be in the Modules Liveries section and not your Saved Games folder. +*When changing a livery, if an aircraft is a Core DCS aircraft or module such as the MiG-19P, the livery must be in the Modules Liveries section and not your Saved Games folder. # Example file From 4e87cd01a19de26bf544b4e8c50ecb8caaab9318 Mon Sep 17 00:00:00 2001 From: HighwaymanEd <32423630+HighwaymanEd@users.noreply.github.com> Date: Sun, 3 Jan 2021 14:55:46 +1100 Subject: [PATCH 194/704] Updated Custom Factions (markdown) --- Custom-Factions.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Custom-Factions.md b/Custom-Factions.md index b6127ed..e88f882 100644 --- a/Custom-Factions.md +++ b/Custom-Factions.md @@ -50,7 +50,8 @@ This json file should contain a json object, with the following parameters : *I highly recommend you look at the default files provided in DCS Liberation for examples.* All parameters have default values, so you do not have to set them all up necessarily. -*When changing a livery, if an aircraft is a Core DCS aircraft or module such as the MiG-19P, the livery must be in the Modules Liveries section and not your Saved Games folder. + +When changing a livery, if an aircraft is a Core DCS aircraft or module such as the MiG-19P, the livery must be in the Modules Liveries section and not your Saved Games folder. # Example file From 8b853b49324172e4026b2fe43db1f6f640cb0d99 Mon Sep 17 00:00:00 2001 From: Starfire13 <72491792+Starfire13@users.noreply.github.com> Date: Sun, 10 Jan 2021 18:49:53 +1100 Subject: [PATCH 195/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index 35bc6fd..87d4e18 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -125,7 +125,7 @@ In each case, if not enough preset locations are available for the given type, t #### Strike targets -Strike targets make up the bulk of the objective locations and will be spawned connected to airbases. These come in a variety of types depending on the faction: +Strike targets make up the bulk of the objective locations and will be spawned connected to control points (airbases and FOBs). These come in a variety of types depending on the faction: * SAMs * Power plants From 2d96e26192a24c8682d283891f3dd2d6e9d9f062 Mon Sep 17 00:00:00 2001 From: Mustang-25 <72566076+Mustang-25@users.noreply.github.com> Date: Thu, 14 Jan 2021 14:14:45 -0800 Subject: [PATCH 196/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index 87d4e18..89442d3 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -53,6 +53,12 @@ A FOB a a capturable point that can spawn ground units but not aircraft. A FOB i The group name of the unit is used to name the FOB. +FOB defenses function similarly to airbase defenses and their spawn positions are determined by placing the same units. The only difference is that the chance for a group to be generated are determined as follows: + +*Between 2 and 6 defense groups are generated. +*The first group has 1/2 chance of being a SHORAD and a 1/2 chance of being a garrison. +*All further groups have a 1/3 chance of being a SHORAD and a 2/3 chance of being a garrison. + #### Importance Control points can be assigned an "importance", which determines the proportion of their forces that the AI commander will assign to the control point. This value is set using the `Periodicity` property of the control point's warehouse. This applies to airbases only. From dfc49093c2387888898eed033ea21be2511100e9 Mon Sep 17 00:00:00 2001 From: Mustang-25 <72566076+Mustang-25@users.noreply.github.com> Date: Thu, 14 Jan 2021 14:15:13 -0800 Subject: [PATCH 197/704] Updated Tutorial 01 : UI (markdown) --- Tutorial-01-:-UI.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tutorial-01-:-UI.md b/Tutorial-01-:-UI.md index fe7a62a..8e781b1 100644 --- a/Tutorial-01-:-UI.md +++ b/Tutorial-01-:-UI.md @@ -1,4 +1,4 @@ -**Note:** This guide was written for a previous version of DCS Liberation. The screenshots and information are out of date. +**Note: This guide was written for a previous version of DCS Liberation. The screenshots and information are out of date.** Now that you have started a campaign, let's go through the UI to get an understanding of what is displayed first. From 8c388960e5928eb70fbc8ab1b5f979b7adeea21b Mon Sep 17 00:00:00 2001 From: HighwaymanEd <32423630+HighwaymanEd@users.noreply.github.com> Date: Sun, 17 Jan 2021 17:21:53 +1100 Subject: [PATCH 198/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index 89442d3..b2ba998 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -89,7 +89,7 @@ Airbases will randomly generate a set of base defenses at the beginning of the c Then the generator will create between 2 and 5 (evenly weighted) additional defenses with the following probabilities: * The first has a 1/2 chance of being a SAM, 1/6 chance of being a SHORAD, and 2/6 chance of being a garrison. -* The second through fifth groups habe a 1/3 chance of being a SHORAD and a 2/3 chance of being a garrison. +* The second through fifth groups have a 1/3 chance of being a SHORAD and a 2/3 chance of being a garrison. This means that if the campaign designer wishes to avoid randomly positioned base defenses, they must define at least: From 0c076739bf73f643124afcb6ff05b7d99bc8d48c Mon Sep 17 00:00:00 2001 From: HighwaymanEd <32423630+HighwaymanEd@users.noreply.github.com> Date: Mon, 18 Jan 2021 10:24:05 +1100 Subject: [PATCH 199/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index b2ba998..19eff4c 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -59,6 +59,8 @@ FOB defenses function similarly to airbase defenses and their spawn positions ar *The first group has 1/2 chance of being a SHORAD and a 1/2 chance of being a garrison. *All further groups have a 1/3 chance of being a SHORAD and a 2/3 chance of being a garrison. +Note that a FOB will not generate strike targets as an airbase would. + #### Importance Control points can be assigned an "importance", which determines the proportion of their forces that the AI commander will assign to the control point. This value is set using the `Periodicity` property of the control point's warehouse. This applies to airbases only. From 744956d5bac3be5171828258cfcd5e8f9527afc6 Mon Sep 17 00:00:00 2001 From: HighwaymanEd <32423630+HighwaymanEd@users.noreply.github.com> Date: Mon, 18 Jan 2021 10:25:37 +1100 Subject: [PATCH 200/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index 19eff4c..a262da9 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -59,7 +59,7 @@ FOB defenses function similarly to airbase defenses and their spawn positions ar *The first group has 1/2 chance of being a SHORAD and a 1/2 chance of being a garrison. *All further groups have a 1/3 chance of being a SHORAD and a 2/3 chance of being a garrison. -Note that a FOB will not generate strike targets as an airbase would. +Note that a FOB will not generate objective locations as an airbase would. #### Importance @@ -121,7 +121,7 @@ Garrisons are ground units placed at the airbase that defend against the encroac ### Objective locations -The campaign generator will automatically generate a number of objective locations attached to each control point. The quantities and types of objectives depends on the faction, the player's options, and random chance. +The campaign generator will automatically generate a number of objective locations attached to each control point (airbases only). The quantities and types of objectives depends on the faction, the player's options, and random chance. Objective locations are automatically associated with their closest control point. From 034502a6a19f0166599b4ac23100e08b025fb47c Mon Sep 17 00:00:00 2001 From: Mustang-25 <72566076+Mustang-25@users.noreply.github.com> Date: Tue, 19 Jan 2021 18:46:26 -0800 Subject: [PATCH 201/704] Created Base Capture (markdown) --- Base-Capture.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 Base-Capture.md diff --git a/Base-Capture.md b/Base-Capture.md new file mode 100644 index 0000000..33457cb --- /dev/null +++ b/Base-Capture.md @@ -0,0 +1,7 @@ +# Base Capture +# +Liberation follows standard DCS base capture mechanics. It requires: +1. A friendly ground unit within the base radius +2. No enemy units within the base radius. + +You can check the status of the base by looking at the F10 map and clicking on that air base. \ No newline at end of file From 1d1f4adbd41d56d7f7da5d3bd587fa0d75925d6c Mon Sep 17 00:00:00 2001 From: Mustang-25 <72566076+Mustang-25@users.noreply.github.com> Date: Tue, 19 Jan 2021 18:47:17 -0800 Subject: [PATCH 202/704] Updated _Sidebar (markdown) --- _Sidebar.md | 1 + 1 file changed, 1 insertion(+) diff --git a/_Sidebar.md b/_Sidebar.md index 74c3ee6..6b350e8 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -15,6 +15,7 @@ [Mission Planning](https://github.com/Khopa/dcs_liberation/wiki/Mission-planning) [Frontline Stances](https://github.com/Khopa/dcs_liberation/wiki/Frontline-Strategies-Stances) +[Base Capture] (https://github.com/Khopa/dcs_liberation/wiki/Base-Capture) [Performance Options](https://github.com/Khopa/dcs_liberation/wiki/Performance-Options) From ae60039dba96ad958c052891025950ad4f3d13de Mon Sep 17 00:00:00 2001 From: Mustang-25 <72566076+Mustang-25@users.noreply.github.com> Date: Tue, 19 Jan 2021 18:47:29 -0800 Subject: [PATCH 203/704] Updated _Sidebar (markdown) --- _Sidebar.md | 1 + 1 file changed, 1 insertion(+) diff --git a/_Sidebar.md b/_Sidebar.md index 6b350e8..852f6c4 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -15,6 +15,7 @@ [Mission Planning](https://github.com/Khopa/dcs_liberation/wiki/Mission-planning) [Frontline Stances](https://github.com/Khopa/dcs_liberation/wiki/Frontline-Strategies-Stances) + [Base Capture] (https://github.com/Khopa/dcs_liberation/wiki/Base-Capture) [Performance Options](https://github.com/Khopa/dcs_liberation/wiki/Performance-Options) From 1a87b6728d5e88d7975536fb4d958cfc2f4b9b99 Mon Sep 17 00:00:00 2001 From: Mustang-25 <72566076+Mustang-25@users.noreply.github.com> Date: Tue, 19 Jan 2021 18:48:05 -0800 Subject: [PATCH 204/704] Updated _Sidebar (markdown) --- _Sidebar.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_Sidebar.md b/_Sidebar.md index 852f6c4..7d6df97 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -16,7 +16,7 @@ [Frontline Stances](https://github.com/Khopa/dcs_liberation/wiki/Frontline-Strategies-Stances) -[Base Capture] (https://github.com/Khopa/dcs_liberation/wiki/Base-Capture) +[Base Capture](https://github.com/Khopa/dcs_liberation/wiki/Base-Capture) [Performance Options](https://github.com/Khopa/dcs_liberation/wiki/Performance-Options) From abc833c1c4c16a01d93a5ad7a713a540bf04a2ab Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sat, 23 Jan 2021 00:42:46 +0100 Subject: [PATCH 205/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index a262da9..ac4f925 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -18,7 +18,10 @@ This json file should contain a json object, with the following parameters : * `theater`: The map for the campaign (either: `Caucasus`, `Persian Gulf`, `Nevada`, `Normandy`, `Syria` or `The Channel`). * `authors`: The authors of the campaign that will be shown in the New Game wizard. * `description`: A description of the campaign that will be shown in the New Game wizard. +* `recommended_player_faction`: The recommended player faction (will be automatically selected by default on the faction selection page) +* `recommended_enemy_faction`: The recommended enemy faction (will be automatically selected by default on the faction selection page) * `miz`: The name of the miz file (in the same `resources\campaigns` directory) that describes the campaign. +* `performance`: How much performance your campaign need to run smoothly (3 for biggest scenarios that will have huge impact on game performance, 0 for the smallest, performance-friendly scenarios) ## Designing campaigns in the mission editor From 9b1823b29e12d261fdb4223b64f2e5557a40b1cb Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sat, 30 Jan 2021 01:16:26 +0100 Subject: [PATCH 206/704] Updated Custom Factions (markdown) --- Custom-Factions.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Custom-Factions.md b/Custom-Factions.md index e88f882..251f7e9 100644 --- a/Custom-Factions.md +++ b/Custom-Factions.md @@ -178,6 +178,13 @@ Below is an example of a factions file : * *FreyaGenerator* * *AllyWW2FlakGenerator* * *ZSU57Generator* +* *KS19Generator* (Requires High Digit Sam Mode) +* *SA10BGenerator* (Requires High Digit Sam Mode) +* *SA12Generator* (Requires High Digit Sam Mode) +* *SA17Generator* (Requires High Digit Sam Mode) +* *SA20Generator* (Requires High Digit Sam Mode) +* *SA20BGenerator* (Requires High Digit Sam Mode) +* *SA23Generator* (Requires High Digit Sam Mode) ## Annex 2 - Possible Navy group generators From 92eb556268cde589fec6b6602f7e221f96e6ce6a Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Mon, 1 Feb 2021 13:12:35 -0800 Subject: [PATCH 207/704] Updated Preview builds (markdown) --- Preview-builds.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Preview-builds.md b/Preview-builds.md index 9185ac3..00640ca 100644 --- a/Preview-builds.md +++ b/Preview-builds.md @@ -2,4 +2,4 @@ The latest build of the development branch can be found [here](https://github.co **This is a development branch. Sometimes we break things, and plenty of things will be works in progress. Save games may not work across builds, and you should back up any save games you don't want to lose before loading them with a development build.** -The latest builds of the 2.3.x release can be found [here](https://github.com/Khopa/dcs_liberation/actions?query=branch%3Adevelop_2_3_x+event%3Apush). Unlike the main branch, saves _should_ remain compatible with saves from prior versions of 2.3. However, check the date of the build before downloading, as the build on this page may be older than the released version. \ No newline at end of file +The latest builds of the 2.4.x release can be found [here](https://github.com/Khopa/dcs_liberation/actions?query=branch%3Adevelop_2_4_x+event%3Apush). Unlike the main branch, saves _should_ remain compatible with saves from prior versions of 2.4. However, check the date of the build before downloading, as the build on this page may be older than the released version. \ No newline at end of file From cf05df44d139d1a6f102946643b3e3d6c0adaced Mon Sep 17 00:00:00 2001 From: Starfire13 <72491792+Starfire13@users.noreply.github.com> Date: Fri, 5 Feb 2021 08:07:01 +1100 Subject: [PATCH 208/704] Updated Tutorial 03: First operation (markdown) --- Tutorial-03:-First-operation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tutorial-03:-First-operation.md b/Tutorial-03:-First-operation.md index cf5c12b..2dd1afb 100644 --- a/Tutorial-03:-First-operation.md +++ b/Tutorial-03:-First-operation.md @@ -83,7 +83,7 @@ This was a BARCAP mission, so follow your flight plan to the mission location an **Note:** This section was written for an older version of DCS Liberation. The text is accurate, but the screenshots are out of date. -Once you exit the mission in DCS World, in DCS Liberation a mission result window will appear, click on Accept results and then OK to proceed to next turn. +Once you exit the mission in DCS World, in DCS Liberation a mission result window will appear, click on Accept results and then OK to proceed to next turn. If Liberation hasn't detected that the mission has ended, click on the Manually Submit button, then select the state.json file (it should be within the Liberation folder by default). ![Mission complete window](https://user-images.githubusercontent.com/315852/102678870-1468a400-4160-11eb-8d3d-1c5fa4a150e3.png) From 95a08a1309b7277f854839ca37c78bc346c41d79 Mon Sep 17 00:00:00 2001 From: Mustang-25 <72566076+Mustang-25@users.noreply.github.com> Date: Mon, 8 Feb 2021 13:26:20 -0800 Subject: [PATCH 209/704] added new line items for optimizing performance. Valid for Liberation 2.4. --- Performance-Options.md | 38 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git a/Performance-Options.md b/Performance-Options.md index 3f2a1ab..6378e7b 100644 --- a/Performance-Options.md +++ b/Performance-Options.md @@ -1,10 +1,15 @@ +Below are some of the settings that you can try adjusting to optimize the performance of your Liberation campaign. + +Given the wide amount of differences between systems, it will take some trial and error for you to find the settings that work for your campaign. Don't be afraid to test out different settings to see how they impact your game! + # Distant Unit Culling +**Note:** Prior to DCS Liberation 2.3 culling was much more aggressive, which often resulted in player flights being removed. The information below describes the behavior for 2.3+. + Enabling "Culling of distant units" in the Mission Generator settings can improve performance by removing some distant units from the game. ![Picture of culling options](https://i.imgur.com/g7rY3A9.png) -Note: Prior to DCS Liberation 2.3 culling was much more aggressive, which often resulted in player flights being removed. The information below describes the behavior for 2.3+. Distant unit culling removes all ground units (including buildings) that are beyond the set range from any culling exclusion zone. These culling exclusion zones are placed: @@ -14,4 +19,33 @@ Distant unit culling removes all ground units (including buildings) that are bey Culling exclusion zones can be displayed on the map using the "Display Culling Zones" display option in the Liberation toolbar. If set too large, culling will have little effect. If set too small, the game experience will suffer as many SAMs will likely be culled. -**Air units are never culled.** Restricting departure airfields for air units does little to limit unit counts, so does not help performance. Instead, the income scale modifiers can be used to limit the amount of aircraft the AI is able to purchase. \ No newline at end of file +**Air units are never culled.** Restricting departure airfields for air units does little to limit unit counts, so does not help performance. Instead, the income scale modifiers can be used to limit the amount of aircraft the AI is able to purchase. + +# Budget + +The starting budget and income multiplier not only affects the difficulty of your campaign but it can have a dramatic impact on performance in your campaign. If you are finding that the default values are causing too much of a burden on your campaign, try adjusting them down. If you already see a negative performance impact in your first turn flying a mission, try lowering the starting budget and re-generating the campaign. + +The starting budget and income multiplier is set during the initial campaign generation: + +![](https://imgur.com/alzVngc.jpg) + +During the campaign, you can still adjust both your and the enemy's income multiplier in the settings menu: + +![](https://imgur.com/GYMTsYU.jpg) + +# Miscellaneous Performance Options + +In addition to unit culling and budget management, the mission generator page in the settings menu gives you a few more options. + +![](https://imgur.com/fgDgTfy.jpg) + +**Smoke visual effect on frontline:** can have a big framerate impact if you are looking directly at it. If you regularly perform CAS and notice a drop in framerates while you are over the frontlines, consider turning this option off. + +**Generate infantry squads along vehicles:** More units usually equals more resources required. Infantry does not count towards the behind-the-scenes determination of a frontline victory/loss so removing them will not affect gameplay. Note: manpads will still spawn when this option is still turned off if you have the Manpads on frontline option checked. + +**Include destroyed units carcass:** Another case where more units equals more resources required. Unchecking this box will remove dead units and should help improve performance. + +# Skynet IADS Script + +Using Skynet can actually help improve performance as it manages most of the SAMs in the campaign and keeps them shut off until an enemy unit is within a pre-determined firing range. In doing so, it helps by saving some processing power that would otherwise be used to keep all the SAMs operating all the time. + From f595ec59089a2e40c88bf88810b34cb74a4ee758 Mon Sep 17 00:00:00 2001 From: Mustang-25 <72566076+Mustang-25@users.noreply.github.com> Date: Mon, 8 Feb 2021 13:30:53 -0800 Subject: [PATCH 210/704] added tacview and dedicated server info. Valid for Liberation 2.4 --- Performance-Options.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Performance-Options.md b/Performance-Options.md index 6378e7b..db8bf7e 100644 --- a/Performance-Options.md +++ b/Performance-Options.md @@ -49,3 +49,10 @@ In addition to unit culling and budget management, the mission generator page in Using Skynet can actually help improve performance as it manages most of the SAMs in the campaign and keeps them shut off until an enemy unit is within a pre-determined firing range. In doing so, it helps by saving some processing power that would otherwise be used to keep all the SAMs operating all the time. +# Tacview + +Disabling Tacview has resulted in a minor framerate increase for a number of Liberation users. Consider turning tacview off when running Liberation missions if you have already exhausted all other options and still need a few more frames to make your campaign playable. + +# Use a Dedicated Server + +Users have also reported that setting up a dedicated server even on a local machine has helped improve their performance. Refer to the [Dedicated Server Guide wiki page](https://github.com/Khopa/dcs_liberation/wiki/Dedicated-Server-Guide) for more information on how to set a server up. \ No newline at end of file From d1aad23d23ca8dd8dc99c3faa395ba2d1897e1c9 Mon Sep 17 00:00:00 2001 From: Andre Weissflog Date: Thu, 11 Feb 2021 00:36:19 +0100 Subject: [PATCH 211/704] fixed a small typo --- Tutorial-03:-First-operation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tutorial-03:-First-operation.md b/Tutorial-03:-First-operation.md index 2dd1afb..75f6b38 100644 --- a/Tutorial-03:-First-operation.md +++ b/Tutorial-03:-First-operation.md @@ -11,7 +11,7 @@ The goal of the campaign is to capture all the enemy control points. To do so, y * Destroy enemy buildings (they provide the enemy with income). * Destroy enemy air defenses. -On the map, you can the frontline between Gudata and Sochi Adler is active. +On the map, you can see that the frontline between Gudata and Sochi Adler is active. ![Gudata/Sochi front line](https://user-images.githubusercontent.com/315852/102669351-3273db80-4143-11eb-9181-b6e7c21f8828.png) From 8d8ef2e7f23da085c7d0c269bf8d68769c5b8621 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 12 Feb 2021 20:44:22 -0800 Subject: [PATCH 212/704] Updated Developer's Guide (markdown) --- Developer's-Guide.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Developer's-Guide.md b/Developer's-Guide.md index 8f53003..88c45a1 100644 --- a/Developer's-Guide.md +++ b/Developer's-Guide.md @@ -31,7 +31,10 @@ When you install Python, make sure to install pip for dependencies management. Run -```pip install -r requirements.txt``` +``` +pip install -r requirements.txt +pre-commit install +``` In order to install required Python dependencies. From a733da54bb11370eed867580c9d13cb7424d196c Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Thu, 25 Feb 2021 17:36:37 -0800 Subject: [PATCH 213/704] Don't link to lint builds. --- Preview-builds.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Preview-builds.md b/Preview-builds.md index 00640ca..ce32dc4 100644 --- a/Preview-builds.md +++ b/Preview-builds.md @@ -1,5 +1,5 @@ -The latest build of the development branch can be found [here](https://github.com/Khopa/dcs_liberation/actions?query=branch%3Adevelop+event%3Apush). That page shows the build for every change that goes into our development branch. Builds at the top of the page are newer. If you click on them and are logged in to GitHub, you can download the release from the "Artifacts" section of the page. +The latest build of the development branch can be found [here](https://github.com/Khopa/dcs_liberation/actions/workflows/build.yml?query=branch%3Adevelop+event%3Apush). That page shows the build for every change that goes into our development branch. Builds at the top of the page are newer. If you click on them and are logged in to GitHub, you can download the release from the "Artifacts" section of the page. **This is a development branch. Sometimes we break things, and plenty of things will be works in progress. Save games may not work across builds, and you should back up any save games you don't want to lose before loading them with a development build.** -The latest builds of the 2.4.x release can be found [here](https://github.com/Khopa/dcs_liberation/actions?query=branch%3Adevelop_2_4_x+event%3Apush). Unlike the main branch, saves _should_ remain compatible with saves from prior versions of 2.4. However, check the date of the build before downloading, as the build on this page may be older than the released version. \ No newline at end of file +The latest builds of the 2.4.x release can be found [here](https://github.com/Khopa/dcs_liberation/actions/workflows/build.yml?query=branch%3Adevelop_2_4_x+event%3Apush). Unlike the main branch, saves _should_ remain compatible with saves from prior versions of 2.4. However, check the date of the build before downloading, as the build on this page may be older than the released version. \ No newline at end of file From a8cebb0842b1c4848c8f8be2dcb57a3f88c1288d Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Tue, 30 Mar 2021 18:51:50 +0200 Subject: [PATCH 214/704] Created Modded Aircraft Support (markdown) --- Modded-Aircraft-Support.md | 71 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 Modded-Aircraft-Support.md diff --git a/Modded-Aircraft-Support.md b/Modded-Aircraft-Support.md new file mode 100644 index 0000000..55b6c57 --- /dev/null +++ b/Modded-Aircraft-Support.md @@ -0,0 +1,71 @@ +`Hey, can you add support for ?` + +Well, we could, but .... +It takes a lot of time to add support for a mod in Liberation. We prefer using the free time we can allocate to Liberation to develop features that will benefit the whole community of Liberation users. + +`I'm willing to support the mod in liberation myself !` + +Here is how to do it : + +## Step 1 : Pydcs extensions injection : + +Adding support for a modded aircraft is much more complicated than adding its name in a faction file. + +In order for a modded aircraft to work with Liberation, we need to generate a data export for it to work with [pydcs](https://github.com/pydcs/dcs) + +Pydcs is the library we use to generate the .miz files, it is awesome, but it is not magical and can't support modded content natively if we don't tell it how do to do it. Its database also need to be updated every time DCS is updated. + +Updating pydcs database is done by adding a script to DCS World to be executed on the game startup to export some aircraft data. + +See the script here : https://github.com/pydcs/dcs/blob/master/tools/pydcs_export.lua; + +Copy this script on your computer and do what is explained in the comments : + +``` lua +-- execute(dofile) this script at the end of +-- of 'DCS World\MissionEditor\modules\me_mission.lua' +-- base.dofile("C:\\Users\\peint\\Documents\\dcs\\tools\\pydcs_export.lua") +``` + +Modify the first line "export_path" so it match an existing folder on your computer : + +```lua +local export_path = "D:\\Work\\DCS\\dcs\\dcs\\" +``` + +Running this script generate most of pydcs data in the target folder when launching DCS. +If DCS stops loading at 10%, it's normal. If it doesn't start at all after 5 minutes and stay blocked at 10%, there might be an error in the script, so check ```/dcs.log``` for clues. + +If you run it with mods installed, it generates a version of pydcs with support for the currently installed mods. + +> As pydcs does not have the ambition of supporting every existing mods, we do not push modded content to the official pydcs version, which only supports vanilla DCS. + +So to add support for modded aircrafts in liberation, we then have to manually extract the new aircraft from the generated modded pydcs version, and create an extension (which is added to liberation code) + +Example for the popular A-4E-C mod : https://github.com/Khopa/dcs_liberation/blob/develop/pydcs_extensions/a4ec/a4ec.py + +As you can see, extensions for mods are stored in this folder : https://github.com/Khopa/dcs_liberation/blob/develop/pydcs_extensions + +These file contains a lot of metadata we need to be able to generate missions, such as possible liveries, possible payloads for each pylons, specific weapons ids ... and so on. + +## Step 2 : Pydcs extensions injection : + +Once you've created your extension, you need to inject it's content into the pydcs version run by Liberation. This is done at runtime. + +[WIP] + +## Step 3 : Liberation flight planner database setup : + +## Step 4 : Create default payload + +## Step 5 : Create a faction that support the mods so it can be used + +## Step 6 : Add icons for the UI + +## Step 7 : Playtest ! + +Redo the data export thing (Step 1), every time said mod is updated + + + + From 58efbc07487512e530a21b191a3f8136063c815a Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Tue, 30 Mar 2021 23:43:44 +0200 Subject: [PATCH 215/704] Updated Modded Aircraft Support (markdown) --- Modded-Aircraft-Support.md | 72 +++++++++++++++++++++++++++++++++++--- 1 file changed, 67 insertions(+), 5 deletions(-) diff --git a/Modded-Aircraft-Support.md b/Modded-Aircraft-Support.md index 55b6c57..bf1e10c 100644 --- a/Modded-Aircraft-Support.md +++ b/Modded-Aircraft-Support.md @@ -7,6 +7,12 @@ It takes a lot of time to add support for a mod in Liberation. We prefer using t Here is how to do it : +## Pre-requisites: + +* A development environment for DCS Liberation, see https://github.com/Khopa/dcs_liberation/wiki/Developer's-Guide +* Basic Python programming knowledge +* A DCS World open beta installation + ## Step 1 : Pydcs extensions injection : Adding support for a modded aircraft is much more complicated than adding its name in a faction file. @@ -50,21 +56,77 @@ These file contains a lot of metadata we need to be able to generate missions, s ## Step 2 : Pydcs extensions injection : -Once you've created your extension, you need to inject it's content into the pydcs version run by Liberation. This is done at runtime. +Once you've created your extension, you need to inject it's content into the pydcs version run by Liberation. This is done at runtime in db.py. -[WIP] +If your modded content is a plane, you need to inject it to pydcs plane_map, in the file [db.py](https://github.com/Khopa/dcs_liberation/blob/develop/game/db.py) + + +```python +plane_map["A-4E-C"] = A_4E_C +plane_map["F-22A"] = F_22A +plane_map["MB-339PAN"] = MB_339PAN +[...] +``` + +If this is a vehicle, add it to vehicle_map instead. + +## Step 2 : DB stuff + +Still in [db.py](https://github.com/Khopa/dcs_liberation/blob/develop/game/db.py) + +Add your plane to the price map: + +```python +PRICES = { + # ... + A_4E_C: 8, + MB_339PAN: 6, + # ... +``` + +Also add it to the list and maps: ```UNIT_BY_TASK```, ```PLANE_PAYLOAD_OVERRIDES```, and if relevant in the lists : ```CARRIER_CAPABLE```, ```LHA_CAPABLE``` ## Step 3 : Liberation flight planner database setup : +Open [ai_flight_planner_db.py](https://github.com/Khopa/dcs_liberation/blob/develop/gen/flights/ai_flight_planner_db.py) + +Add your plane to the lists it needs to be in, so DCS Liberation is aware of its capabilities : + +**Example:** + +```python +CAP_CAPABLE = [ +# .... + Su_57, + F_22A, +# .... +] +``` + ## Step 4 : Create default payload -## Step 5 : Create a faction that support the mods so it can be used +See https://github.com/Khopa/dcs_liberation/wiki/Custom-Loadouts +Create default loadouts for the new plane. -## Step 6 : Add icons for the UI +## Step 5 : Factions + +See https://github.com/Khopa/dcs_liberation/wiki/Custom-Factions and create a faction that support the mods so it can be used + +## Step 6 : Add icons for the UI [Optional] + +Add icons for the new plane there: https://github.com/Khopa/dcs_liberation/tree/develop/resources/ui/units/aircrafts/icons + +And a banner, there: https://github.com/Khopa/dcs_liberation/tree/develop/resources/ui/units/aircrafts/banners ## Step 7 : Playtest ! -Redo the data export thing (Step 1), every time said mod is updated +Play a few missions with the plane, test as much cases as you can. + +## Step 8 : Release ! + +## Step 9 : Maintenance ! + +Redo the data export thing (Step 1), every time said mod is updated, if needed create new loadouts and account for new capabilities in db. From 2ec002f4226e8e29e08d2b6da84fbba8c42d4761 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Tue, 30 Mar 2021 23:50:17 +0200 Subject: [PATCH 216/704] Updated Modded Aircraft Support (markdown) --- Modded-Aircraft-Support.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Modded-Aircraft-Support.md b/Modded-Aircraft-Support.md index bf1e10c..ea25938 100644 --- a/Modded-Aircraft-Support.md +++ b/Modded-Aircraft-Support.md @@ -48,7 +48,10 @@ If you run it with mods installed, it generates a version of pydcs with support So to add support for modded aircrafts in liberation, we then have to manually extract the new aircraft from the generated modded pydcs version, and create an extension (which is added to liberation code) -Example for the popular A-4E-C mod : https://github.com/Khopa/dcs_liberation/blob/develop/pydcs_extensions/a4ec/a4ec.py +Aircraft data will be found in the file aircraft.py generated by pydcs. Search your aircraft class in this file, and add it to a custom file. +Your mod might have added new weapons, they'll be found in weapons.py, and you have to fetch them as well. + +Example of final file for the popular A-4E-C mod : https://github.com/Khopa/dcs_liberation/blob/develop/pydcs_extensions/a4ec/a4ec.py As you can see, extensions for mods are stored in this folder : https://github.com/Khopa/dcs_liberation/blob/develop/pydcs_extensions From 37c833631696bf7e3d9630e18c10867672a36e3a Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Tue, 30 Mar 2021 23:51:17 +0200 Subject: [PATCH 217/704] Updated Modded Aircraft Support (markdown) --- Modded-Aircraft-Support.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Modded-Aircraft-Support.md b/Modded-Aircraft-Support.md index ea25938..acb211c 100644 --- a/Modded-Aircraft-Support.md +++ b/Modded-Aircraft-Support.md @@ -11,6 +11,7 @@ Here is how to do it : * A development environment for DCS Liberation, see https://github.com/Khopa/dcs_liberation/wiki/Developer's-Guide * Basic Python programming knowledge +* Basic Lua programming knowledge * A DCS World open beta installation ## Step 1 : Pydcs extensions injection : From 883e0c220aa1ddcbe8a8d63b5c233fe30935db36 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Tue, 30 Mar 2021 23:53:50 +0200 Subject: [PATCH 218/704] Updated _Sidebar (markdown) --- _Sidebar.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/_Sidebar.md b/_Sidebar.md index 7d6df97..1a73650 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -38,6 +38,8 @@ [Custom Loadouts](https://github.com/Khopa/dcs_liberation/wiki/Custom-Loadouts) +[Modded aircraft support](https://github.com/Khopa/dcs_liberation/wiki/Modded-Aircraft-Support) + ## For developers [Contributing to DCS Liberation](https://github.com/Khopa/dcs_liberation/wiki/Contributing-to-DCS-Liberation) From bc96d10a1c5800085660c58b2436dcc397265973 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sat, 10 Apr 2021 16:32:39 -0700 Subject: [PATCH 219/704] Explain retreat mechanics. --- Base-Capture.md | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/Base-Capture.md b/Base-Capture.md index 33457cb..e9f464b 100644 --- a/Base-Capture.md +++ b/Base-Capture.md @@ -1,7 +1,17 @@ # Base Capture -# + Liberation follows standard DCS base capture mechanics. It requires: 1. A friendly ground unit within the base radius 2. No enemy units within the base radius. -You can check the status of the base by looking at the F10 map and clicking on that air base. \ No newline at end of file +You can check the status of the base by looking at the F10 map and clicking on that air base. + +## Unit retreat behavior + +When a base is captured any units deployed there will attempt to retreat to a friendly base rather than be captured. + +Aircraft will retreat to a friendly control point capable of operating that aircraft (in other words, only carrier capable aircraft may retreat to a carrier), with available parking spaces, within 200nm. + +Ground units will retreat to a connected friendly control point. + +For both air and ground units, any unit that is not able to retreat will be captured and sold. \ No newline at end of file From 621720c12a183a54995029ac7584233c425c1c7a Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sun, 18 Apr 2021 15:58:45 -0700 Subject: [PATCH 220/704] Updated Preview builds (markdown) --- Preview-builds.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Preview-builds.md b/Preview-builds.md index ce32dc4..cc7c407 100644 --- a/Preview-builds.md +++ b/Preview-builds.md @@ -2,4 +2,4 @@ The latest build of the development branch can be found [here](https://github.co **This is a development branch. Sometimes we break things, and plenty of things will be works in progress. Save games may not work across builds, and you should back up any save games you don't want to lose before loading them with a development build.** -The latest builds of the 2.4.x release can be found [here](https://github.com/Khopa/dcs_liberation/actions/workflows/build.yml?query=branch%3Adevelop_2_4_x+event%3Apush). Unlike the main branch, saves _should_ remain compatible with saves from prior versions of 2.4. However, check the date of the build before downloading, as the build on this page may be older than the released version. \ No newline at end of file +The latest builds of the 2.5.x release can be found [here](https://github.com/Khopa/dcs_liberation/actions/workflows/build.yml?query=branch%3Adevelop_2_5_x+event%3Apush). Unlike the main branch, saves _should_ remain compatible with saves from prior versions of 2.5. However, check the date of the build before downloading, as the build on this page may be older than the released version. \ No newline at end of file From 3cb8486ae6b74d81d37bc928fd32c583e474de54 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sun, 18 Apr 2021 16:18:34 -0700 Subject: [PATCH 221/704] Created Unit Transfers (markdown) --- Unit-Transfers.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 Unit-Transfers.md diff --git a/Unit-Transfers.md b/Unit-Transfers.md new file mode 100644 index 0000000..f7bcd30 --- /dev/null +++ b/Unit-Transfers.md @@ -0,0 +1,22 @@ +# Transferring Air Units + +Air units can currently only be transferred by assigning them to a mission and setting their arrival airbase to their new location. Units will relocate to their arrival airbase for the next turn regardless of where they land. + +# Transferring Ground Units + +**This feature is new in DCS Liberation 2.6.** + +Ground units can be moved between bases by opening a base's menu and clicking the "Transfer Units" button at the bottom of the page. This button will only be present if there is a safe path (following the front line paths) from the selected base to another friendly base. In the transfer creation window, select the destination base and the units to move, then click "Create Transfer Order" to accept. + +Units being transferred will not appear in the base's inventory, and will not be able to join combat at the front line. To see a list of all in-progress unit transfers, click the "Transfers" button in the top bar. Transfers can be cancelled from this menu as well. Cancelled transfers will add the units in transfer to the inventory at their current location. + +Road transfers move toward their destination at a speed of one control point per turn. + +If the transfer destination is cut off due to a base capture, the transfer will be cancelled and the units will be added to the inventory at their current location. If the transferring units are surrounded (the base they left at the beginning of the turn was captured, as were the connecting bases), the units are destroyed. + +Transferring units will be present as a convoy in the mission. The convoy will spawn at its origin base and move on-road to the next base on its path to its final destination. Convoys are vulnerable to attack, so interdiction of enemy convoys will prevent the front line from receiving those reinforcements on a future turn. + +Further work that's planned for 2.6: +* Require ground units to be purchased at bases with attached factories. Only transfers can deliver units to the front line bases. +* Add UI to show enemy transfers that can be targeted by BAI missions. +* Airlift transport for ground units for low throughput/low latency transport, and for transporting units between disconnected bases. \ No newline at end of file From 0ef75005a2b91e7deb54dfa437aabb2f20eeab14 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sun, 18 Apr 2021 16:33:52 -0700 Subject: [PATCH 222/704] Updated _Sidebar (markdown) --- _Sidebar.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/_Sidebar.md b/_Sidebar.md index 1a73650..fc7149a 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -22,6 +22,8 @@ [Auto purchase options](https://github.com/Khopa/dcs_liberation/wiki/Auto-purchase-options) +[Unit Transfers](https://github.com/Khopa/dcs_liberation/wiki/Unit-Transfers) + ## Dedicated Servers [Dedicated server guide](https://github.com/Khopa/dcs_liberation/wiki/Dedicated-Server-Guide) From 2414032f4c2da40dd0fc4b0524dd69e40a68144e Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sun, 18 Apr 2021 17:40:41 -0700 Subject: [PATCH 223/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index ac4f925..178e965 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -18,6 +18,11 @@ This json file should contain a json object, with the following parameters : * `theater`: The map for the campaign (either: `Caucasus`, `Persian Gulf`, `Nevada`, `Normandy`, `Syria` or `The Channel`). * `authors`: The authors of the campaign that will be shown in the New Game wizard. * `description`: A description of the campaign that will be shown in the New Game wizard. +* `version`: The version of the campaign format this campaign was built for. This supports a UI hint in the new game wizard to warn users about campaigns that were built for an incompatible version of the game. + + Note that this field is **not** the DCS Liberation version, but the version of the campaign file format. The latest version is defined by `CAMPAIGN_FORMAT_VERSION` in [game/version.py](https://github.com/Khopa/dcs_liberation/blob/develop/game/version.py). + + If `version` is not set or is `0`, the campaign is from an unknown version of the game and will be marked as incompatible in the new game wizard. * `recommended_player_faction`: The recommended player faction (will be automatically selected by default on the faction selection page) * `recommended_enemy_faction`: The recommended enemy faction (will be automatically selected by default on the faction selection page) * `miz`: The name of the miz file (in the same `resources\campaigns` directory) that describes the campaign. From 84237b96e63d8750c88f07f2bc716c49b005b4fd Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sun, 18 Apr 2021 17:59:40 -0700 Subject: [PATCH 224/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index 178e965..0040da1 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -85,7 +85,7 @@ To specify that an airbase should be owned by the player when the campaign is in ### Front lines -Front lines are defined by placing a CJTF Blue M-113 at an airfield and defining a route to the connected control point. The front line will follow the _waypoints_ of the vehicle group (not the path, so using on-road waypoints will not cause the front line to follow roads automatically), so waypoints should be placed at each location that the front line should turn to avoid terrain. The route should end near the airfield that the front line connects to. The beginning and ending waypoints will automatically snap to the nearest airfields when the campaign is generated. +Front lines are defined by placing a CJTF Blue M-113 at an airfield and defining a route to the connected control point. The front line will follow the _waypoints_ of the vehicle group (not the path, so using on-road waypoints will not cause the front line to follow roads automatically), so waypoints should be placed at each location that the front line should turn to avoid terrain. The route should end near the airfield that the front line connects to. The route beginning and end points will be used as the origin and destination endpoints for convoys, so each end point of the route should be placed on a road. The beginning and ending waypoints will associate with the nearest airfields when the campaign is generated. **Important:** Care should be taken to route the frontline around exclusion zones. If the center of the frontline location lies in an exclusion zones, frontline units may not spawn correctly. You can view the exclusion zones in the Liberation UI by enabling the display option "Map Debug Mode" From 08cd1389d70d85cbccffc018b3a9daa4813a2aef Mon Sep 17 00:00:00 2001 From: SnappyComebacks <74509817+SnappyComebacks@users.noreply.github.com> Date: Sun, 18 Apr 2021 19:03:19 -0600 Subject: [PATCH 225/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index 0040da1..2f699ee 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -85,7 +85,7 @@ To specify that an airbase should be owned by the player when the campaign is in ### Front lines -Front lines are defined by placing a CJTF Blue M-113 at an airfield and defining a route to the connected control point. The front line will follow the _waypoints_ of the vehicle group (not the path, so using on-road waypoints will not cause the front line to follow roads automatically), so waypoints should be placed at each location that the front line should turn to avoid terrain. The route should end near the airfield that the front line connects to. The route beginning and end points will be used as the origin and destination endpoints for convoys, so each end point of the route should be placed on a road. The beginning and ending waypoints will associate with the nearest airfields when the campaign is generated. +Front lines are defined by placing a CJTF Blue M-113 at an airfield and defining a route to the connected control point. The front line will follow the _waypoints_ of the vehicle group (not the path, so using on-road waypoints will not cause the front line to follow roads automatically), so waypoints should be placed at each location that the front line should turn to avoid terrain. The route should end near the airfield that the front line connects to. The beginning and ending waypoints will automatically snap to the nearest airfields when the campaign is generated. **Important:** Care should be taken to route the frontline around exclusion zones. If the center of the frontline location lies in an exclusion zones, frontline units may not spawn correctly. You can view the exclusion zones in the Liberation UI by enabling the display option "Map Debug Mode" @@ -103,7 +103,7 @@ Then the generator will create between 2 and 5 (evenly weighted) additional defe This means that if the campaign designer wishes to avoid randomly positioned base defenses, they must define at least: -* 1 EWR location +* 7 EWR location * 7 air defense locations (SAMs and SHORADs differ by unit type but share placement locations) * 6 garrison locations @@ -117,6 +117,8 @@ To define a potential EWR location, place a CJTF Blue EWR 55G6. One EWR will always be placed at each control point. +To define a required EWR location, place a CTJF Red EWR 1L13. Required EWRs will always be generated. + #### Air defenses To define a potential air defense location, place a CJTF Blue S-300PS SR 64H6E within a 2 NM radius of the control point. Units placed outside that radius will be regular objective locations rather than base defenses. From 9b5ecb580022fb5ae5dec91a0a442740f515dde1 Mon Sep 17 00:00:00 2001 From: SnappyComebacks <74509817+SnappyComebacks@users.noreply.github.com> Date: Sun, 18 Apr 2021 19:06:04 -0600 Subject: [PATCH 226/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index 2f699ee..fa0f05a 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -103,7 +103,7 @@ Then the generator will create between 2 and 5 (evenly weighted) additional defe This means that if the campaign designer wishes to avoid randomly positioned base defenses, they must define at least: -* 7 EWR location +* 7 EWR locations * 7 air defense locations (SAMs and SHORADs differ by unit type but share placement locations) * 6 garrison locations @@ -146,6 +146,7 @@ In each case, if not enough preset locations are available for the given type, t Strike targets make up the bulk of the objective locations and will be spawned connected to control points (airbases and FOBs). These come in a variety of types depending on the faction: * SAMs +* EWRs * Power plants * Ammo depots * Fuel depots @@ -231,5 +232,7 @@ To define a required medium range SAM location, place a CJTF **Red** unit of any * S-300PS SR 64H6E * #### EWR (CJTF Blue): * EWR 55G6 +* #### Required EWR (CJTF Red): + * EWR 1L13 * #### FOB (CJTF Blue/CJTF Red): * CP_SKP_11_ATC_Mobile_Command_Post \ No newline at end of file From 4d1c9eb445fcd9dc820eec4de248f41038ff5340 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sun, 18 Apr 2021 18:08:16 -0700 Subject: [PATCH 227/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index fa0f05a..1068d73 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -85,7 +85,7 @@ To specify that an airbase should be owned by the player when the campaign is in ### Front lines -Front lines are defined by placing a CJTF Blue M-113 at an airfield and defining a route to the connected control point. The front line will follow the _waypoints_ of the vehicle group (not the path, so using on-road waypoints will not cause the front line to follow roads automatically), so waypoints should be placed at each location that the front line should turn to avoid terrain. The route should end near the airfield that the front line connects to. The beginning and ending waypoints will automatically snap to the nearest airfields when the campaign is generated. +Front lines are defined by placing a CJTF Blue M-113 at an airfield and defining a route to the connected control point. The front line will follow the _waypoints_ of the vehicle group (not the path, so using on-road waypoints will not cause the front line to follow roads automatically), so waypoints should be placed at each location that the front line should turn to avoid terrain. The route beginning and end points will be used as the origin and destination endpoints for convoys, so each end point of the route should be placed on a road. The beginning and ending waypoints will associate with the nearest airfields when the campaign is generated. **Important:** Care should be taken to route the frontline around exclusion zones. If the center of the frontline location lies in an exclusion zones, frontline units may not spawn correctly. You can view the exclusion zones in the Liberation UI by enabling the display option "Map Debug Mode" From 577b5438588eb90e69a8d6b824a4cf9d802683d3 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sun, 18 Apr 2021 18:10:02 -0700 Subject: [PATCH 228/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index 1068d73..4ab3859 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -183,13 +183,17 @@ To define a potential missile site place a CJTF Blue SRBM SS-1C Scud-B 9K72 LN 9 ### IADS -To guarantee that each faction begins with a strong IADS, SAMs can be forced to spawn at specific locations. These will take the place of the randomly generated SAM objectives when they exist, but are not required. They are strongly recommended as random SAM placement will lead to more easily defeated air defenses. +To guarantee that each faction begins with a strong IADS, SAMs and EWRs can be forced to spawn at specific locations. These will take the place of the randomly generated SAM and EWR objectives when they exist, but are not required. They are strongly recommended as random IADS placement will lead to more easily defeated air defenses. -Required SAM locations are automatically associated with the control point closest to them. +Required IADS locations are automatically associated with the control point closest to them. Required SAM locations are split into two types: long and medium range. Long range positions will only be filled by long range SAMs, and medium range positions will only be filled by medium range SAMs. -Note that the exact type of SAM that will be placed depends on the faction data. However, when designing a campaign with specific factions in mind (such as Syria defending on the Syria map), this allows the designer to see the coverage of the SAMs used by the intended faction. This way the designer can be sure that sufficient coverage will be present in the campaign when a faction using a specific type of SAM is used. +Note that the exact type of SAM or EWR that will be placed depends on the faction data. However, when designing a campaign with specific factions in mind (such as Syria defending on the Syria map), this allows the designer to see the coverage of the SAMs used by the intended faction. This way the designer can be sure that sufficient coverage will be present in the campaign when a faction using a specific type of SAM is used. + +#### Early Warning Radars + +To define a required EWR location, place a CJTF **Red** EWR 1L13. #### Long range SAMs From d156fe8a5339d9c901124aea58640182dac3e655 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ronny=20R=C3=B6hricht?= Date: Thu, 22 Apr 2021 08:13:02 +0200 Subject: [PATCH 229/704] Add documentation for LotATC export plugin --- Lua-Plugins.md | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/Lua-Plugins.md b/Lua-Plugins.md index bfb9366..76c58e9 100644 --- a/Lua-Plugins.md +++ b/Lua-Plugins.md @@ -67,6 +67,39 @@ These scripts add a lot of runtime functionalities : You can find the *VEAF Framework* plugin [on GitHub](https://github.com/VEAF/dcs-liberation-veaf-framework/releases) For more information, please visit the [VEAF Framework documentation site](https://veaf.github.io/VEAF-Mission-Creation-Tools/) (work in progress) +### The *LotATC export* plugin + +This plugin can export [LotATC](https://www.lotatc.com/) compatible drawings of threat circles of SAMS and AAA for Blue and Red coalition. These threat circles reflect the campaign state and are generated once during mission start. Once a GCI connects with the LotATC client to the server that hosts the mission, these drawings are auto loaded in the LotATC client and displayed. + +To make auto loading work correctly, the computer that hosts the DCS server needs some small setup. + +#### DCS server setup + +The lua script as plugin that generates the drawings runs exactly once during mission startup. This script generates the JSON for the selected faction, RED or BLUE or both, to the output folder specified by the environment variable `LOTATC_DRAWINGS_DIR`. + +On the server machine the `LOTATC_DRAWINGS_DIR` should be set to: + +* LotATC 2.2+: `C:\users\\LotAtc Data\Server\drawings\` +* LotATC <2.2: `C:\users\\Saved Games\DCS(instance)\Mods\services\LotAtc\userdb\drawings\` + +For LotATC 2.2+ both are accepted but the first is recommended. + +#### Local generation + +For local generation of the drawings it is enough to generate the "next turn" by pressing "Take Off", load the .miz file in DCS and quit again. The drawings are generated either to the path of `LOTATC_DRAWINGS_DIR` or as fallback to `Saved Games\DCS(instance)\Mods\services\LotAtc\userdb\drawings\`. These drawings can then be manually loaded in the LotATC client. + +#### NATO names + +The names generated for a SAM site always include the group name from the campaign. E.g. for the SA-10 site "LYNX" the generated LotATC label will contain `LYNX|SAM`. By default it is not possible to generate the threat type because a SAM group consist of many different units and there is no one that is called "SA-10". But the exporter can infer the NATO name of the threat site with `SKYNET`. So if the `SKYNET` is active in the options it is very likely that the LotATC label will be `LYNX|SAM|SA-10`. + +#### Plugin options + +The plugin can be configured to control the exported drawings. + +* Export RED AA - will export threat circles for the RED faction. These are loaded if a BLUE GCI connects to LotATC. +* Export BLUE AA - will export threat circles for the BLUE faction. These are loaded if a RED GCI connects to LotATC. +* Export AA Symbols - will additional export a classification symbol for every AA threat that marks the center of the site. + ## Custom plugins The easiest way to create a custom plugin is to copy an existing plugin, and modify the files. From 2feb8002416942fec5a2c80ea6f60ef5f425dda9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ronny=20R=C3=B6hricht?= Date: Thu, 22 Apr 2021 08:14:57 +0200 Subject: [PATCH 230/704] Updated Lua Plugins (markdown) --- Lua-Plugins.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lua-Plugins.md b/Lua-Plugins.md index 76c58e9..b3f3986 100644 --- a/Lua-Plugins.md +++ b/Lua-Plugins.md @@ -86,7 +86,7 @@ For LotATC 2.2+ both are accepted but the first is recommended. #### Local generation -For local generation of the drawings it is enough to generate the "next turn" by pressing "Take Off", load the .miz file in DCS and quit again. The drawings are generated either to the path of `LOTATC_DRAWINGS_DIR` or as fallback to `Saved Games\DCS(instance)\Mods\services\LotAtc\userdb\drawings\`. These drawings can then be manually loaded in the LotATC client. +For local generation of the drawings it is enough to generate the "next turn" by pressing "Take Off", start the mission in DCS and quit again. The drawings are generated either to the path of `LOTATC_DRAWINGS_DIR` or as fallback to `Saved Games\DCS(instance)\Mods\services\LotAtc\userdb\drawings\`. These drawings can then be manually loaded in the LotATC client. #### NATO names From ba8cf42200f4a1e354b78b869fa56ca13b055eaa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ronny=20R=C3=B6hricht?= Date: Thu, 22 Apr 2021 08:16:47 +0200 Subject: [PATCH 231/704] Updated Lua Plugins (markdown) --- Lua-Plugins.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lua-Plugins.md b/Lua-Plugins.md index b3f3986..f9a8900 100644 --- a/Lua-Plugins.md +++ b/Lua-Plugins.md @@ -90,7 +90,7 @@ For local generation of the drawings it is enough to generate the "next turn" by #### NATO names -The names generated for a SAM site always include the group name from the campaign. E.g. for the SA-10 site "LYNX" the generated LotATC label will contain `LYNX|SAM`. By default it is not possible to generate the threat type because a SAM group consist of many different units and there is no one that is called "SA-10". But the exporter can infer the NATO name of the threat site with `SKYNET`. So if the `SKYNET` is active in the options it is very likely that the LotATC label will be `LYNX|SAM|SA-10`. +The names generated for a SAM site always includes the group name from the campaign. E.g. for the SA-10 site "LYNX" the generated LotATC label will contain `LYNX|SAM`. By default it is not possible to generate the threat type because a SAM group consist of many different units and there is no one that is called "SA-10". But the exporter can infer the NATO name of the threat site with `SKYNET` plugin. So if `SKYNET` is active in the settings, it is very likely that the LotATC label will be `LYNX|SAM|SA-10`. #### Plugin options From 92e9c59e0a1c22fc37370973d3d8ad425bd0d311 Mon Sep 17 00:00:00 2001 From: Mustang-25 <72566076+Mustang-25@users.noreply.github.com> Date: Thu, 22 Apr 2021 12:23:36 -0700 Subject: [PATCH 232/704] Updated Mission planning (markdown) --- Mission-planning.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Mission-planning.md b/Mission-planning.md index 4e5982a..3afc1b8 100644 --- a/Mission-planning.md +++ b/Mission-planning.md @@ -50,6 +50,8 @@ A Battlefield Air Interdiction (BAI) mission can be planned at enemy objective a A BARCAP mission can be planned at any friendly objective area. Its purpose is to prevent enemy aircraft from entering the area. The flight will arrive at the target area at the package's TOT and begin a race-track pattern patrol and remain for a predefined amount of time (currently 30 minutes). The race-track will be oriented toward the nearest enemy airbase. +**NOTE:** You might see some BARCAP flights that look like their waypoints are too far away from their objective but they will still be covered within their engagement zone. You can verify that they are still in range by selecting the "Display Selected BARCAP Commit Range" in the Display dropdown menu. + ### CAS A CAS mission can be planned at a front line. Its purpose is to provide support to ground forces. The flight will arrive at the target area at the package's TOT and begin searching for targets within a predefined range of the center of the front line. The flight will search for targets until it is either bingo or winchester. From a34658ca7711d93ee4fa9552e65bd828437c7df4 Mon Sep 17 00:00:00 2001 From: Mustang-25 <72566076+Mustang-25@users.noreply.github.com> Date: Fri, 23 Apr 2021 20:42:18 -0700 Subject: [PATCH 233/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index 4ab3859..8fdd773 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -115,9 +115,9 @@ Base defense locations will automatically be associated with the closest control To define a potential EWR location, place a CJTF Blue EWR 55G6. -One EWR will always be placed at each control point. +NOTE: One EWR will always be assigned to each control point itself. Once that assignment is filled the rest of the EWRs will generate as strike targets. -To define a required EWR location, place a CTJF Red EWR 1L13. Required EWRs will always be generated. +To define an EWR location that will always be generated, place a CTJF Red EWR 1L13. This can be placed anywhere and does not need to be within 2NM of a base. #### Air defenses From 57d6c0cc5a5f896bf54b399787e4e4f4c4d1b802 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 23 Apr 2021 20:48:04 -0700 Subject: [PATCH 234/704] Updated Unit Transfers (markdown) --- Unit-Transfers.md | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/Unit-Transfers.md b/Unit-Transfers.md index f7bcd30..999935f 100644 --- a/Unit-Transfers.md +++ b/Unit-Transfers.md @@ -10,13 +10,17 @@ Ground units can be moved between bases by opening a base's menu and clicking th Units being transferred will not appear in the base's inventory, and will not be able to join combat at the front line. To see a list of all in-progress unit transfers, click the "Transfers" button in the top bar. Transfers can be cancelled from this menu as well. Cancelled transfers will add the units in transfer to the inventory at their current location. -Road transfers move toward their destination at a speed of one control point per turn. +Road transfers move toward their destination at a speed of one control point per turn. Airlift transfers will complete their full journey in one turn. Airlifts are used automatically when the target cannot be reached by road. If the transfer destination is cut off due to a base capture, the transfer will be cancelled and the units will be added to the inventory at their current location. If the transferring units are surrounded (the base they left at the beginning of the turn was captured, as were the connecting bases), the units are destroyed. -Transferring units will be present as a convoy in the mission. The convoy will spawn at its origin base and move on-road to the next base on its path to its final destination. Convoys are vulnerable to attack, so interdiction of enemy convoys will prevent the front line from receiving those reinforcements on a future turn. +Units transferring by ground will be present as a convoy in the mission. The convoy will spawn at its origin base and move on-road to the next base on its path to its final destination. Convoys are vulnerable to attack, so interdiction of enemy convoys will prevent the front line from receiving those reinforcements on a future turn. + +Units transferring by airlift will not be directly present in the mission but will be represented by helicopters (and later cargo planes) flying between the origin and destination. Shooting down transport aircraft will destroy the carried units, preventing those reinforcements from reaching the front line. Further work that's planned for 2.6: -* Require ground units to be purchased at bases with attached factories. Only transfers can deliver units to the front line bases. -* Add UI to show enemy transfers that can be targeted by BAI missions. -* Airlift transport for ground units for low throughput/low latency transport, and for transporting units between disconnected bases. \ No newline at end of file +* Cargo planes: https://github.com/Khopa/dcs_liberation/issues/825 +* Automatic purchase of transport aircraft by the procurement AI: https://github.com/Khopa/dcs_liberation/issues/825 +* Redeployment of reserves from non-front line bases: https://github.com/Khopa/dcs_liberation/issues/823 +* Transfer via ship to cross bodies of water without using airlift resources: https://github.com/Khopa/dcs_liberation/issues/826 +* Transfer via rail for alternate ground transportation networks: https://github.com/Khopa/dcs_liberation/issues/826 \ No newline at end of file From ba5088589bf3a0b726a35cb21f7bdf18664fb293 Mon Sep 17 00:00:00 2001 From: Mustang-25 <72566076+Mustang-25@users.noreply.github.com> Date: Fri, 23 Apr 2021 20:56:22 -0700 Subject: [PATCH 235/704] Updated EWR section for clarity --- Custom-campaigns.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index 8fdd773..8c202ee 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -113,7 +113,7 @@ Base defense locations will automatically be associated with the closest control #### EWR -To define a potential EWR location, place a CJTF Blue EWR 55G6. +To define a potential EWR location, place a CJTF Blue EWR 55G6. If the unit is more than 2NM away from a control point, it will become a strike EWR target. If the unit is within 2NM from a control point, it will become a potential base EWR target. NOTE: One EWR will always be assigned to each control point itself. Once that assignment is filled the rest of the EWRs will generate as strike targets. From d6922e8aef0c0764cc30a0a0da455a1bd4c3186f Mon Sep 17 00:00:00 2001 From: SnappyComebacks <74509817+SnappyComebacks@users.noreply.github.com> Date: Fri, 23 Apr 2021 22:56:46 -0600 Subject: [PATCH 236/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index 8c202ee..ebf2643 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -113,7 +113,7 @@ Base defense locations will automatically be associated with the closest control #### EWR -To define a potential EWR location, place a CJTF Blue EWR 55G6. If the unit is more than 2NM away from a control point, it will become a strike EWR target. If the unit is within 2NM from a control point, it will become a potential base EWR target. +To define a potential EWR location, place a CJTF Blue EWR 55G6. If the unit is more than 2NM away from a control point, it will become a potential strike EWR target. If the unit is within 2NM from a control point, it will become a potential base EWR target. NOTE: One EWR will always be assigned to each control point itself. Once that assignment is filled the rest of the EWRs will generate as strike targets. From 599fb5a1c5c624f6b589f24665252669e88b5207 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 23 Apr 2021 22:07:36 -0700 Subject: [PATCH 237/704] Updated Unit Transfers (markdown) --- Unit-Transfers.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Unit-Transfers.md b/Unit-Transfers.md index 999935f..e623efb 100644 --- a/Unit-Transfers.md +++ b/Unit-Transfers.md @@ -16,10 +16,9 @@ If the transfer destination is cut off due to a base capture, the transfer will Units transferring by ground will be present as a convoy in the mission. The convoy will spawn at its origin base and move on-road to the next base on its path to its final destination. Convoys are vulnerable to attack, so interdiction of enemy convoys will prevent the front line from receiving those reinforcements on a future turn. -Units transferring by airlift will not be directly present in the mission but will be represented by helicopters (and later cargo planes) flying between the origin and destination. Shooting down transport aircraft will destroy the carried units, preventing those reinforcements from reaching the front line. +Units transferring by airlift will not be directly present in the mission but will be represented by helicopters and cargo planes flying between the origin and destination. Shooting down transport aircraft will destroy the carried units, preventing those reinforcements from reaching the front line. Further work that's planned for 2.6: -* Cargo planes: https://github.com/Khopa/dcs_liberation/issues/825 * Automatic purchase of transport aircraft by the procurement AI: https://github.com/Khopa/dcs_liberation/issues/825 * Redeployment of reserves from non-front line bases: https://github.com/Khopa/dcs_liberation/issues/823 * Transfer via ship to cross bodies of water without using airlift resources: https://github.com/Khopa/dcs_liberation/issues/826 From e57a1a4132ac0562ed7d87f055e62aeb90aad117 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 23 Apr 2021 23:26:53 -0700 Subject: [PATCH 238/704] Updated Unit Transfers (markdown) --- Unit-Transfers.md | 1 - 1 file changed, 1 deletion(-) diff --git a/Unit-Transfers.md b/Unit-Transfers.md index e623efb..3056d28 100644 --- a/Unit-Transfers.md +++ b/Unit-Transfers.md @@ -19,7 +19,6 @@ Units transferring by ground will be present as a convoy in the mission. The con Units transferring by airlift will not be directly present in the mission but will be represented by helicopters and cargo planes flying between the origin and destination. Shooting down transport aircraft will destroy the carried units, preventing those reinforcements from reaching the front line. Further work that's planned for 2.6: -* Automatic purchase of transport aircraft by the procurement AI: https://github.com/Khopa/dcs_liberation/issues/825 * Redeployment of reserves from non-front line bases: https://github.com/Khopa/dcs_liberation/issues/823 * Transfer via ship to cross bodies of water without using airlift resources: https://github.com/Khopa/dcs_liberation/issues/826 * Transfer via rail for alternate ground transportation networks: https://github.com/Khopa/dcs_liberation/issues/826 \ No newline at end of file From f11230daa2e1f166be27ce15871d0835f098037b Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 23 Apr 2021 23:33:10 -0700 Subject: [PATCH 239/704] Updated Auto purchase options (markdown) --- Auto-purchase-options.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Auto-purchase-options.md b/Auto-purchase-options.md index 67c37c4..ad9a204 100644 --- a/Auto-purchase-options.md +++ b/Auto-purchase-options.md @@ -32,6 +32,8 @@ Aircraft are selected to fit the unfulfilled missions. Liberation maintains a pr If no capable aircraft in range can be purchased, the remaining budget will roll over to the next turn. +**New in 3.0** Transport aircraft will be purchased to support airlift missions at every control point with a factory to a minimum of four aircraft. + ### Changes in DCS Liberation 2.4 Airbases outside the enemy's threat zone will be preferred. This will result in more regular, safer, albeit longer flight plans. From bcc97d5a5e1c63e44dcbaa10614d2a9de4f11e35 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sun, 25 Apr 2021 15:27:39 -0700 Subject: [PATCH 240/704] Updated Unit Transfers (markdown) --- Unit-Transfers.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Unit-Transfers.md b/Unit-Transfers.md index 3056d28..717ead0 100644 --- a/Unit-Transfers.md +++ b/Unit-Transfers.md @@ -4,21 +4,22 @@ Air units can currently only be transferred by assigning them to a mission and s # Transferring Ground Units -**This feature is new in DCS Liberation 2.6.** +**This feature is new in DCS Liberation 3.0.** Ground units can be moved between bases by opening a base's menu and clicking the "Transfer Units" button at the bottom of the page. This button will only be present if there is a safe path (following the front line paths) from the selected base to another friendly base. In the transfer creation window, select the destination base and the units to move, then click "Create Transfer Order" to accept. Units being transferred will not appear in the base's inventory, and will not be able to join combat at the front line. To see a list of all in-progress unit transfers, click the "Transfers" button in the top bar. Transfers can be cancelled from this menu as well. Cancelled transfers will add the units in transfer to the inventory at their current location. -Road transfers move toward their destination at a speed of one control point per turn. Airlift transfers will complete their full journey in one turn. Airlifts are used automatically when the target cannot be reached by road. +Road transfers move toward their destination at a speed of one control point per turn. Airlift and cargo ship transfers will complete their full journey in one turn. Cargo ships will be used for port to port transfers. Airlifts are used automatically when the target cannot be reached by road or a shipping lane. If the transfer destination is cut off due to a base capture, the transfer will be cancelled and the units will be added to the inventory at their current location. If the transferring units are surrounded (the base they left at the beginning of the turn was captured, as were the connecting bases), the units are destroyed. Units transferring by ground will be present as a convoy in the mission. The convoy will spawn at its origin base and move on-road to the next base on its path to its final destination. Convoys are vulnerable to attack, so interdiction of enemy convoys will prevent the front line from receiving those reinforcements on a future turn. +Units transferring by cargo ship will be present as a freighter in the mission. The ship will spawn at its origin port and follow the shipping lane to the destination port. Cargo ships are vulnerable to attack, so sinking enemy cargo ships will prevent them from receiving those reinforcements. + Units transferring by airlift will not be directly present in the mission but will be represented by helicopters and cargo planes flying between the origin and destination. Shooting down transport aircraft will destroy the carried units, preventing those reinforcements from reaching the front line. -Further work that's planned for 2.6: +Further work that's planned for 3.0: * Redeployment of reserves from non-front line bases: https://github.com/Khopa/dcs_liberation/issues/823 -* Transfer via ship to cross bodies of water without using airlift resources: https://github.com/Khopa/dcs_liberation/issues/826 * Transfer via rail for alternate ground transportation networks: https://github.com/Khopa/dcs_liberation/issues/826 \ No newline at end of file From 313f986685b72bccef9185e244f9391da78ab2a7 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sun, 25 Apr 2021 18:15:00 -0700 Subject: [PATCH 241/704] Updated Unit Transfers (markdown) --- Unit-Transfers.md | 36 +++++++++++++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/Unit-Transfers.md b/Unit-Transfers.md index 717ead0..3ca8dcd 100644 --- a/Unit-Transfers.md +++ b/Unit-Transfers.md @@ -6,20 +6,50 @@ Air units can currently only be transferred by assigning them to a mission and s **This feature is new in DCS Liberation 3.0.** -Ground units can be moved between bases by opening a base's menu and clicking the "Transfer Units" button at the bottom of the page. This button will only be present if there is a safe path (following the front line paths) from the selected base to another friendly base. In the transfer creation window, select the destination base and the units to move, then click "Create Transfer Order" to accept. +Ground units can be moved between bases following the available transit routes. Transfers move along the transit route toward their destination at a speed of one control point per turn. + +Transfers will be automatically created when purchasing units. New units will spawn at the factory nearest the base purchasing the units and will then begin to transfer. Units being transferred will not appear in the base's inventory, and will not be able to join combat at the front line. To see a list of all in-progress unit transfers, click the "Transfers" button in the top bar. Transfers can be cancelled from this menu as well. Cancelled transfers will add the units in transfer to the inventory at their current location. -Road transfers move toward their destination at a speed of one control point per turn. Airlift and cargo ship transfers will complete their full journey in one turn. Cargo ships will be used for port to port transfers. Airlifts are used automatically when the target cannot be reached by road or a shipping lane. - If the transfer destination is cut off due to a base capture, the transfer will be cancelled and the units will be added to the inventory at their current location. If the transferring units are surrounded (the base they left at the beginning of the turn was captured, as were the connecting bases), the units are destroyed. +## Transport methods + +Units can be relocated by road, cargo ship, or airlift. A single transfer may make use of multiple modes of transportation over the course of its journey. The type of transit used will be chosen automatically with the following priorities: + +1. Road +2. Shipping +3. Airlift + +Airlift is given lowest priority because airlifts require the use of planes and helicopters that could be used for other tasks. Convoys are self-propelled, and cargo ships are free and have no other purpose. + +The decision of route and transport method is re-evaluated at the beginning of each turn, or whenever a new transport order is created. This means that transfers interrupted by a base being captured (or, later, a bridge being destroyed) will cause the group to re-route if possible. + +### Convoys + +Road transfers follow the same route as the front line. + Units transferring by ground will be present as a convoy in the mission. The convoy will spawn at its origin base and move on-road to the next base on its path to its final destination. Convoys are vulnerable to attack, so interdiction of enemy convoys will prevent the front line from receiving those reinforcements on a future turn. +### Shipping + +Cargo ship transfers follow shipping lanes. + Units transferring by cargo ship will be present as a freighter in the mission. The ship will spawn at its origin port and follow the shipping lane to the destination port. Cargo ships are vulnerable to attack, so sinking enemy cargo ships will prevent them from receiving those reinforcements. +### Airlift + +Airlift transfers move between any two airports. + Units transferring by airlift will not be directly present in the mission but will be represented by helicopters and cargo planes flying between the origin and destination. Shooting down transport aircraft will destroy the carried units, preventing those reinforcements from reaching the front line. +## Creating transfers manually + +Ground units can be moved between bases by opening a base's menu and clicking the "Transfer Units" button at the bottom of the page. This button will only be present if there is a safe path from the selected base to another friendly base. In the transfer creation window, select the destination base and the units to move, then click "Create Transfer Order" to accept. + +Note that manual creation of transfers is only needed when redeploying existing units. Transfer orders for purchased units will automatically be created to move them from the factory to their destination. + Further work that's planned for 3.0: * Redeployment of reserves from non-front line bases: https://github.com/Khopa/dcs_liberation/issues/823 * Transfer via rail for alternate ground transportation networks: https://github.com/Khopa/dcs_liberation/issues/826 \ No newline at end of file From 4777538eb940222ece3741ec2ab8a8af9e85ec5a Mon Sep 17 00:00:00 2001 From: SnappyComebacks <74509817+SnappyComebacks@users.noreply.github.com> Date: Wed, 28 Apr 2021 22:39:23 -0600 Subject: [PATCH 242/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index ebf2643..a836e5c 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -115,7 +115,7 @@ Base defense locations will automatically be associated with the closest control To define a potential EWR location, place a CJTF Blue EWR 55G6. If the unit is more than 2NM away from a control point, it will become a potential strike EWR target. If the unit is within 2NM from a control point, it will become a potential base EWR target. -NOTE: One EWR will always be assigned to each control point itself. Once that assignment is filled the rest of the EWRs will generate as strike targets. +NOTE: One EWR will always be assigned to each control point itself from the CJTF Blue selection. To define an EWR location that will always be generated, place a CTJF Red EWR 1L13. This can be placed anywhere and does not need to be within 2NM of a base. From e50de432dc85c305cb87dbd03182d18596ff3634 Mon Sep 17 00:00:00 2001 From: SnappyComebacks <74509817+SnappyComebacks@users.noreply.github.com> Date: Wed, 28 Apr 2021 22:39:46 -0600 Subject: [PATCH 243/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index a836e5c..79310bc 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -115,7 +115,7 @@ Base defense locations will automatically be associated with the closest control To define a potential EWR location, place a CJTF Blue EWR 55G6. If the unit is more than 2NM away from a control point, it will become a potential strike EWR target. If the unit is within 2NM from a control point, it will become a potential base EWR target. -NOTE: One EWR will always be assigned to each control point itself from the CJTF Blue selection. +NOTE: One EWR will always be assigned to each control point. To define an EWR location that will always be generated, place a CTJF Red EWR 1L13. This can be placed anywhere and does not need to be within 2NM of a base. From a0716c4bafb890d277d953a88af3027c3ed3b9fd Mon Sep 17 00:00:00 2001 From: Mustang-25 <72566076+Mustang-25@users.noreply.github.com> Date: Fri, 30 Apr 2021 08:20:52 -0700 Subject: [PATCH 244/704] Updated Performance Options (markdown) --- Performance-Options.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Performance-Options.md b/Performance-Options.md index db8bf7e..a3ab2ab 100644 --- a/Performance-Options.md +++ b/Performance-Options.md @@ -51,7 +51,7 @@ Using Skynet can actually help improve performance as it manages most of the SAM # Tacview -Disabling Tacview has resulted in a minor framerate increase for a number of Liberation users. Consider turning tacview off when running Liberation missions if you have already exhausted all other options and still need a few more frames to make your campaign playable. +Disabling Tacview has resulted in framerate increases for a number of Liberation users. Most users report single digit frame increases but a few users have also experienced double digit gains. Consider turning Tacview off when running Liberation missions if you have already exhausted all other options and still need a few more frames to make your campaign playable. # Use a Dedicated Server From c0e5e5f6cf2333eab976e066629e25209d920c85 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Mon, 10 May 2021 17:09:20 -0700 Subject: [PATCH 245/704] Add docs for configuring a virtualenv. --- Developer's-Guide.md | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Developer's-Guide.md b/Developer's-Guide.md index 88c45a1..7866026 100644 --- a/Developer's-Guide.md +++ b/Developer's-Guide.md @@ -18,7 +18,7 @@ The original UI was different, and the mission generation process was different * [Python 3.8.1+](https://www.python.org/downloads/) * A code Editor for Python. I recommend [PyCharm Community Edition](https://www.jetbrains.com/pycharm/download/#section=windows), you can add plugin for Lua. -When you install Python, make sure to install pip for dependencies management. +When you install Python, make sure to install pip for dependencies management. This should come preinstalled. ## Checkout the repository code with git @@ -27,16 +27,24 @@ When you install Python, make sure to install pip for dependencies management. * **master** : Should be even with current release version * **develop** : Current version being worked on, might be unstable -## Installing dependencies +## Creating a Python virtual environment -Run +A Python virtual environment (virtualenv) is a local copy of the Python distribution for a specific project. This allows you to install the project dependencies local to the environment rather than globally on your system, which makes it easier to reset your environment if something goes wrong. + +To create and use a virtualenv, run: ``` +python -m venv env +.\env\Scripts\activate pip install -r requirements.txt pre-commit install ``` -In order to install required Python dependencies. +The first line creates the virtualenv to the directory `env`. The second line replaces the `python` for the current shell with the one in the virtualenv. The third line installs the project's dependencies. The final line installs the pre-commit hooks to run the auto-formatter on commit. + +Whenever you open a new terminal, you'll need to re-run `.\env\Scripts\activate`. + +If you're using PyCharm, you can configure the project to use your virtualenv in the project settings: ![virtualenv project settings](https://user-images.githubusercontent.com/315852/117738890-e6890800-b1b1-11eb-9eec-1796af594e79.png). ## Running from sources From ab44a043d6a1b37fc5f2a296570092f609b251cd Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Mon, 10 May 2021 17:17:56 -0700 Subject: [PATCH 246/704] Update git docs. --- Developer's-Guide.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/Developer's-Guide.md b/Developer's-Guide.md index 7866026..83cbab5 100644 --- a/Developer's-Guide.md +++ b/Developer's-Guide.md @@ -27,6 +27,20 @@ When you install Python, make sure to install pip for dependencies management. T * **master** : Should be even with current release version * **develop** : Current version being worked on, might be unstable +The following instructions work for the git command line. If using the GitHub Desktop or `gh` tools, the steps will be the same but the exact commands will differ. + +To get started with development, run: + +``` +git clone --recurse-submodules https://github.com/dcs-liberation/dcs_liberation.git +``` + +This will automatically check out the develop branch. The `--recurse-submodules` flag ensures that our local copy of `pydcs` (a dependency we use) is also checked out. It is also a good idea to configure `git pull` to automatically update submodules. To do this, run: + +``` +git config --global submodule.recurse true +``` + ## Creating a Python virtual environment A Python virtual environment (virtualenv) is a local copy of the Python distribution for a specific project. This allows you to install the project dependencies local to the environment rather than globally on your system, which makes it easier to reset your environment if something goes wrong. @@ -60,6 +74,6 @@ https://github.com/Khopa/dcs_liberation/wiki/Release-process Please make a new branch from either develop or master, and make your pull requests to khopa/develop. - +If you're new to GitHub, https://guides.github.com/introduction/flow/ and the other tutorials on that site may be helpful. From 38a2d8fe938a30dfdfb0c6eb2cf20ce65ffad9f8 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Mon, 10 May 2021 18:12:18 -0700 Subject: [PATCH 247/704] Add information about black and mypy. --- Developer's-Guide.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Developer's-Guide.md b/Developer's-Guide.md index 83cbab5..0cde0f8 100644 --- a/Developer's-Guide.md +++ b/Developer's-Guide.md @@ -66,6 +66,22 @@ You can run DCS Liberation from source with this configuration: (Adapt it to you ![](https://imgur.com/oXRAZpz.png) +## Type checkers and linters + +We use [black](https://github.com/psf/black) for auto-formatting. The pre-commit hook will automatically run the formatter when you make a commit. See their docs for instructions on configuring black to run in your editor. + +We use [mypy](https://mypy.readthedocs.io/en/stable/) for type checking. Python has built-in support for type annotations but does not perform any checking; that work is delegated to tools like mypy. All new code should include type annotations, and it's generally a good idea to add type annotations to any function you touch. + +To check for type errors, run: + +``` +mypy game gen +``` + +This only checks the `game` and `gen` packages. `qt_ui` will probably never be checkable because `PySide2` (the Python Qt API) contains many patterns that do not play well with the type checker, but it's good to add the annotations anyway as they help the reader. + +The type checker is **not** run as part of pre-commit, since that makes it harder to create WIP commits, but is run as a part of the PR and build checks, so it's best to run before uploading a PR, and definitely should be run before a push to develop. + ## Making a release https://github.com/Khopa/dcs_liberation/wiki/Release-process From c3ed790d7cc9090832b592e648484bb34e0685ab Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Mon, 10 May 2021 18:13:52 -0700 Subject: [PATCH 248/704] Updated Developer's Guide (markdown) --- Developer's-Guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Developer's-Guide.md b/Developer's-Guide.md index 0cde0f8..a2017e5 100644 --- a/Developer's-Guide.md +++ b/Developer's-Guide.md @@ -58,7 +58,7 @@ The first line creates the virtualenv to the directory `env`. The second line re Whenever you open a new terminal, you'll need to re-run `.\env\Scripts\activate`. -If you're using PyCharm, you can configure the project to use your virtualenv in the project settings: ![virtualenv project settings](https://user-images.githubusercontent.com/315852/117738890-e6890800-b1b1-11eb-9eec-1796af594e79.png). +If you're using PyCharm, you can configure the project to use your virtualenv in the project settings: ![virtualenv project settings](https://user-images.githubusercontent.com/315852/117738890-e6890800-b1b1-11eb-9eec-1796af594e79.png) ## Running from sources From 9b34f0290155f1baffbb12645ec063572b291c50 Mon Sep 17 00:00:00 2001 From: SnappyComebacks <74509817+SnappyComebacks@users.noreply.github.com> Date: Fri, 14 May 2021 23:28:07 -0600 Subject: [PATCH 249/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index 79310bc..e6feb72 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -160,6 +160,7 @@ Strike targets make up the bulk of the objective locations and will be spawned c * Bunkers * Villages * Army camps +* Map Objects Note that it is possible to require that certain SAM locations are generated, and each required SAM will cause a random SAM to be skipped (though it will not skip other objective locations). This is described further in the IADS section. @@ -169,6 +170,31 @@ To define a ground based strike location, place a CJTF Blue S-300PS SR 64H6E at To define an offshore strike target, place a CJTF Blue Oil Platform. +Beginning in DCS Liberation 3.0, it is also possible to create strike targets using built in map objects. These are the buildings/trees/scenery that are placed by the map developer (Eagle Dynamics, etc). Liberation uses trigger zones to define scenery as a strike target. + +**How to define scenery as a strike target:** + +Determine some buildings that you would like to use as part of an objective. For each building, right click and select "assign as...", this will create a trigger zone, centered on the buildings geometric center. You may leave the name of the trigger zone as its default, or rename it to what you'd like the player to see. Do not modify the color (white), or the properties. Note that the more buildings at an objective, the more income the objective will create. Once a group of buildings has been determined, create new _circular_ trigger zone through the Mission Editor's sidebar, and give it the color of blue (`0 Red`, `0 Green`, `255 Blue`; there is a shortcut button that is blue in case you do not want to type the RGB numbers in manually). Move this trigger zone near the center of your desired objective building group, then scale the blue trigger zone's radius until the blue trigger zone surrounds all of the objective's white trigger zones (specifically their centers). Ensure each blue trigger zone has a unique name. Because blue trigger zones define objectives, you must tell Liberation what type of objective it is. Create a property for the objective definition, with the value field as be any of the entries listed in `game/db.py : REWARDS`, repeated below for convenience. This must be the first property in the objective definition (blue) trigger zone. + + - `power` + - `warehouse` + - `ware` + - `fuel` + - `ammo` + - `farp` + - `fob` + - `factory` + - `comms` + - `oil` + - `derrick` + +**Map Object Limitations:** +- Objective definitions (Blue TriggerZones) in campaign definition cannot overlap. +- Campaign creator must define objective type. +- No images for the various buildings. +- Every blue trigger zone must have a unique name. + + #### Ships Ships can be generated at airbases, carriers, and LHAs (but not off-map spawns). Ships will not be spawned if the player has disabled either player or enemy navies in the campaign generation options, or if the faction does not have naval units defined. The number of naval groups spawned is determined randomly between 0 and the limit defined by the faction, uniformly. There is no limit on how many can be spawned as is it is up to the faction designer, so place as can sensibly be placed (a dozen should be more than enough, and five should be plenty). From c8a042f8dcff35cb0692274c77f9f954a8ebb779 Mon Sep 17 00:00:00 2001 From: SnappyComebacks <74509817+SnappyComebacks@users.noreply.github.com> Date: Fri, 14 May 2021 23:28:34 -0600 Subject: [PATCH 250/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index e6feb72..efa33a8 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -174,7 +174,7 @@ Beginning in DCS Liberation 3.0, it is also possible to create strike targets us **How to define scenery as a strike target:** -Determine some buildings that you would like to use as part of an objective. For each building, right click and select "assign as...", this will create a trigger zone, centered on the buildings geometric center. You may leave the name of the trigger zone as its default, or rename it to what you'd like the player to see. Do not modify the color (white), or the properties. Note that the more buildings at an objective, the more income the objective will create. Once a group of buildings has been determined, create new _circular_ trigger zone through the Mission Editor's sidebar, and give it the color of blue (`0 Red`, `0 Green`, `255 Blue`; there is a shortcut button that is blue in case you do not want to type the RGB numbers in manually). Move this trigger zone near the center of your desired objective building group, then scale the blue trigger zone's radius until the blue trigger zone surrounds all of the objective's white trigger zones (specifically their centers). Ensure each blue trigger zone has a unique name. Because blue trigger zones define objectives, you must tell Liberation what type of objective it is. Create a property for the objective definition, with the value field as be any of the entries listed in `game/db.py : REWARDS`, repeated below for convenience. This must be the first property in the objective definition (blue) trigger zone. +Determine some buildings that you would like to use as part of an objective. For each building, right click and select "assign as...", this will create a trigger zone, centered on the building's geometric center. You may leave the name of the trigger zone as its default, or rename it to what you'd like the player to see. Do not modify the color (white), or the properties. Note that the more buildings at an objective, the more income the objective will create. Once a group of buildings has been determined, create new _circular_ trigger zone through the Mission Editor's sidebar, and give it the color of blue (`0 Red`, `0 Green`, `255 Blue`; there is a shortcut button that is blue in case you do not want to type the RGB numbers in manually). Move this trigger zone near the center of your desired objective building group, then scale the blue trigger zone's radius until the blue trigger zone surrounds all of the objective's white trigger zones (specifically their centers). Ensure each blue trigger zone has a unique name. Because blue trigger zones define objectives, you must tell Liberation what type of objective it is. Create a property for the objective definition, with the value field as be any of the entries listed in `game/db.py : REWARDS`, repeated below for convenience. This must be the first property in the objective definition (blue) trigger zone. - `power` - `warehouse` From dd260a8ccf7ba19d75eed0d744cf01cf06918875 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sat, 15 May 2021 08:07:25 +0200 Subject: [PATCH 251/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 1 - 1 file changed, 1 deletion(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index efa33a8..e77db9a 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -177,7 +177,6 @@ Beginning in DCS Liberation 3.0, it is also possible to create strike targets us Determine some buildings that you would like to use as part of an objective. For each building, right click and select "assign as...", this will create a trigger zone, centered on the building's geometric center. You may leave the name of the trigger zone as its default, or rename it to what you'd like the player to see. Do not modify the color (white), or the properties. Note that the more buildings at an objective, the more income the objective will create. Once a group of buildings has been determined, create new _circular_ trigger zone through the Mission Editor's sidebar, and give it the color of blue (`0 Red`, `0 Green`, `255 Blue`; there is a shortcut button that is blue in case you do not want to type the RGB numbers in manually). Move this trigger zone near the center of your desired objective building group, then scale the blue trigger zone's radius until the blue trigger zone surrounds all of the objective's white trigger zones (specifically their centers). Ensure each blue trigger zone has a unique name. Because blue trigger zones define objectives, you must tell Liberation what type of objective it is. Create a property for the objective definition, with the value field as be any of the entries listed in `game/db.py : REWARDS`, repeated below for convenience. This must be the first property in the objective definition (blue) trigger zone. - `power` - - `warehouse` - `ware` - `fuel` - `ammo` From 108e487bc6d797c415e196edfe0dba52d6797556 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sun, 16 May 2021 15:17:05 -0700 Subject: [PATCH 252/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index e77db9a..fd871e0 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -8,6 +8,8 @@ DCS Liberation must be restarted after campaign changes are made. Campaign chang If the campaign does not appear in the New Game wizard, there is likely an issue in the JSON file. Check the console window for errors. +**Note for campaign changes in the dev branch**: Breaking campaign changes to do not get documented on the wiki immediately, but will always be listed in the notes next to `CAMPAIGN_FORMAT_VERSION` in [game/version.py](https://github.com/dcs-liberation/dcs_liberation/blob/develop/game/version.py). + ## Descriptor file The campaign uses a JSON file to describe some metadata. To create a new campaign, add a JSON file (such as `mycampaign.json`) to `resources\campaigns`. From 12120c27e75391377991927909913aa98a903b1f Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sun, 16 May 2021 15:17:26 -0700 Subject: [PATCH 253/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index fd871e0..36812a5 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -8,7 +8,9 @@ DCS Liberation must be restarted after campaign changes are made. Campaign chang If the campaign does not appear in the New Game wizard, there is likely an issue in the JSON file. Check the console window for errors. -**Note for campaign changes in the dev branch**: Breaking campaign changes to do not get documented on the wiki immediately, but will always be listed in the notes next to `CAMPAIGN_FORMAT_VERSION` in [game/version.py](https://github.com/dcs-liberation/dcs_liberation/blob/develop/game/version.py). +### Campaign changes in the dev branch + +Breaking campaign changes to do not get documented on the wiki immediately, but will always be listed in the notes next to `CAMPAIGN_FORMAT_VERSION` in [game/version.py](https://github.com/dcs-liberation/dcs_liberation/blob/develop/game/version.py). ## Descriptor file From 1cbf824362648e5e224bd3f1763dc08216ed398f Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Mon, 17 May 2021 02:22:36 -0700 Subject: [PATCH 254/704] Updated Custom Loadouts (markdown) --- Custom-Loadouts.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Custom-Loadouts.md b/Custom-Loadouts.md index 806fbe2..78bd886 100644 --- a/Custom-Loadouts.md +++ b/Custom-Loadouts.md @@ -8,4 +8,10 @@ Create loadouts with the following names, for each possible tasks : "CAS", "CAP" 4. Copy this file in the "/resources/customized_payloads/ folder " -5. Then restart DCS Liberation, it is necessary to re-generate the mission by clicking on Take Off to get the new default loadout in the generated mission \ No newline at end of file +5. Then restart DCS Liberation, it is necessary to re-generate the mission by clicking on Take Off to get the new default loadout in the generated mission + +### DCS Liberation 3.0 + +All DCS loadout are selectable from the flight edit UI. + +To create default loadouts, create a loadout for the aircraft in the DCS mission editor. Name the loadout `Liberation `, where `` is the exact name of the mission type shown in the UI. For example, "Liberation OCA/Aircraft". \ No newline at end of file From f2ca3ee9bcfd7f6eb6188179f1dc2be316b64f33 Mon Sep 17 00:00:00 2001 From: Basa <45641950+LGM-25C@users.noreply.github.com> Date: Tue, 18 May 2021 14:41:25 +0900 Subject: [PATCH 255/704] Created Tips for AI Handling (markdown) --- Tips-for-AI-Handling.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 Tips-for-AI-Handling.md diff --git a/Tips-for-AI-Handling.md b/Tips-for-AI-Handling.md new file mode 100644 index 0000000..88f32d1 --- /dev/null +++ b/Tips-for-AI-Handling.md @@ -0,0 +1,7 @@ + +| TASK | AIRCRAFT | ISSUE | SOLUTION | NOTES | +| ---- | -------- | ----- | -------- | ----- | +| Anti-ship | AV-8B | Frequently shot down by ships | 4 x S-3B is effective | Aircraft that use AGM-65s for anti-ship often fly directly over the target. | +| Anti-ship | F/A-18C | Ineffective at destroying ships | 4 x S-3B is effective | F/A-18Cs don't fire all harpoons at once. S3-Bs engage with both harpoons quickly. | +| Strike | Any Strike | Drops a single bomb and leaves | Consider cruise missiles (e.g. B-52) | ----- | +| Strike | Strategic Bombers | Climbing and Speed Issues | Start in-flight - FL280, M0.8 | ----- | From 22e1ba29fa5af56b5a79db5fb614508e1e2a2a5c Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Mon, 17 May 2021 22:44:13 -0700 Subject: [PATCH 256/704] Updated Mission planning (markdown) --- Mission-planning.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Mission-planning.md b/Mission-planning.md index 3afc1b8..1b0d1f2 100644 --- a/Mission-planning.md +++ b/Mission-planning.md @@ -1,4 +1,4 @@ -**Note**: The contents of this page apply to DCS Liberation 2.2 and later. +**Note**: The [Tips for AI Handling page](https://github.com/dcs-liberation/dcs_liberation/wiki/Tips-for-AI-Handling) contains advice on which AI aircraft are best for each task. The auto-planner follows priorities for the best aircraft for the job when it can, but that guide may be useful to players planning their own AI missions. Each air mission is defined by a "package". A package is a group of one or more flights all working toward the same goal. The flights of the package can perform different tasks, at different times, and depart from different airports. For example, a strike mission attacking a factory will include a strike flight whose task is to attack the factory, but it can also include a SEAD flight to suppress any SAMs the package encounters, and an escort flight to protect the package from enemy aircraft. From f2c54e60f2c3ac3a279f1cf738966d1bbdcf7420 Mon Sep 17 00:00:00 2001 From: Basa <45641950+LGM-25C@users.noreply.github.com> Date: Tue, 18 May 2021 16:23:58 +0900 Subject: [PATCH 257/704] Updated Tips for AI Handling (markdown) --- Tips-for-AI-Handling.md | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/Tips-for-AI-Handling.md b/Tips-for-AI-Handling.md index 88f32d1..36bfd8d 100644 --- a/Tips-for-AI-Handling.md +++ b/Tips-for-AI-Handling.md @@ -1,7 +1,19 @@ +AI Handling | TASK | AIRCRAFT | ISSUE | SOLUTION | NOTES | | ---- | -------- | ----- | -------- | ----- | | Anti-ship | AV-8B | Frequently shot down by ships | 4 x S-3B is effective | Aircraft that use AGM-65s for anti-ship often fly directly over the target. | | Anti-ship | F/A-18C | Ineffective at destroying ships | 4 x S-3B is effective | F/A-18Cs don't fire all harpoons at once. S3-Bs engage with both harpoons quickly. | -| Strike | Any Strike | Drops a single bomb and leaves | Consider cruise missiles (e.g. B-52) | ----- | -| Strike | Strategic Bombers | Climbing and Speed Issues | Start in-flight - FL280, M0.8 | ----- | +| Strike | Any Strike | Drops a single bomb and leaves | Cruise missiles are more reliable (e.g. B-52) | ----- | +| Strike | Strategic Bombers | Climbing and Speed Issues | Start in-flight, at 28,000ft and M0.8 | ----- | +| S/DEAD | Any S/DEAD | SAMs are too dangerous | [Info about TALDs here] | ----- | +| Any | Any | AI crashes into me while taxiing | Wait for the AI to taxi first | Combine with other traffic solutions. | +| Any | Any | AI traffic issues (crashing/blocking) | Spread out take-off times (2+ minutes) | Combine with other traffic solutions. | +| Any | Any | AI won't take off from carrier | Set clients to take off from runway | Combine with other traffic solutions. | + + +Client Handling + +| TASK | AIRCRAFT | ISSUE | SOLUTION | NOTES | +| ---- | -------- | ----- | -------- | ----- | +| BAI | Any | I want to destroy a runway | [Info about effective weapons here] | ----- | \ No newline at end of file From 3bd1d574182075d8cdcaadcd5a394e304fd50828 Mon Sep 17 00:00:00 2001 From: Basa <45641950+LGM-25C@users.noreply.github.com> Date: Tue, 18 May 2021 16:49:50 +0900 Subject: [PATCH 258/704] Updated Tips for AI Handling (markdown) --- Tips-for-AI-Handling.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tips-for-AI-Handling.md b/Tips-for-AI-Handling.md index 36bfd8d..e432bd6 100644 --- a/Tips-for-AI-Handling.md +++ b/Tips-for-AI-Handling.md @@ -5,7 +5,7 @@ AI Handling | Anti-ship | AV-8B | Frequently shot down by ships | 4 x S-3B is effective | Aircraft that use AGM-65s for anti-ship often fly directly over the target. | | Anti-ship | F/A-18C | Ineffective at destroying ships | 4 x S-3B is effective | F/A-18Cs don't fire all harpoons at once. S3-Bs engage with both harpoons quickly. | | Strike | Any Strike | Drops a single bomb and leaves | Cruise missiles are more reliable (e.g. B-52) | ----- | -| Strike | Strategic Bombers | Climbing and Speed Issues | Start in-flight, at 28,000ft and M0.8 | ----- | +| Strike | Strategic Bombers | Climbing and Speed Issues | Start in-flight, at 28,000ft and M0.8 | Set altitude and speed in the mission editor. | | S/DEAD | Any S/DEAD | SAMs are too dangerous | [Info about TALDs here] | ----- | | Any | Any | AI crashes into me while taxiing | Wait for the AI to taxi first | Combine with other traffic solutions. | | Any | Any | AI traffic issues (crashing/blocking) | Spread out take-off times (2+ minutes) | Combine with other traffic solutions. | From d7a77ab583a2a16f7fe27376ac82288eaea1b779 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Tue, 18 May 2021 01:00:15 -0700 Subject: [PATCH 259/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index 36812a5..b8cd610 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -216,7 +216,7 @@ To guarantee that each faction begins with a strong IADS, SAMs and EWRs can be f Required IADS locations are automatically associated with the control point closest to them. -Required SAM locations are split into two types: long and medium range. Long range positions will only be filled by long range SAMs, and medium range positions will only be filled by medium range SAMs. +Required SAM locations are split into two types: long and medium range. Long range positions will prefer to be filled long range SAMs, and medium range positions will prefer to be filled by medium range SAMs. If the faction does not have the required class of SAM available, a downgrade will be used (for example, a medium range SAM may be used in place of a long range SAM, but not vice versa). Note that the exact type of SAM or EWR that will be placed depends on the faction data. However, when designing a campaign with specific factions in mind (such as Syria defending on the Syria map), this allows the designer to see the coverage of the SAMs used by the intended faction. This way the designer can be sure that sufficient coverage will be present in the campaign when a faction using a specific type of SAM is used. @@ -226,7 +226,7 @@ To define a required EWR location, place a CJTF **Red** EWR 1L13. #### Long range SAMs -Currently the only two long range SAM systems are the Patriot and the SA-10 (S-300). If the faction does not have either of those systems available those positions will not be generated. +Currently the only two long range SAM systems are the Patriot and the SA-10 (S-300). If the faction does not have either of those systems, medium range SAMs will be generated instead. To define a required long range SAM location, place a CJTF **Red** unit of any of the following types: @@ -236,7 +236,7 @@ To define a required long range SAM location, place a CJTF **Red** unit of any o #### Medium range SAMs -Medium range SAMs include any SAMs that do not qualify as long range SAMs. If the faction has no medium range SAMs available those positions will not be generated, but note that because it is defined so broadly factions that include flak guns as their "SAMs" may generate flak guns a these locations. +Medium range SAMs include any SAMs that do not qualify as long range SAMs. If the faction has no medium range SAMs available those positions will be filled by SHORADS. To define a required medium range SAM location, place a CJTF **Red** unit of any of the following types: From b91515650cab864aa0bca5b9edfca73d180afdc8 Mon Sep 17 00:00:00 2001 From: Basa <45641950+LGM-25C@users.noreply.github.com> Date: Tue, 18 May 2021 17:57:17 +0900 Subject: [PATCH 260/704] Updated Tips for AI Handling (markdown) --- Tips-for-AI-Handling.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tips-for-AI-Handling.md b/Tips-for-AI-Handling.md index e432bd6..d1298c5 100644 --- a/Tips-for-AI-Handling.md +++ b/Tips-for-AI-Handling.md @@ -6,7 +6,7 @@ AI Handling | Anti-ship | F/A-18C | Ineffective at destroying ships | 4 x S-3B is effective | F/A-18Cs don't fire all harpoons at once. S3-Bs engage with both harpoons quickly. | | Strike | Any Strike | Drops a single bomb and leaves | Cruise missiles are more reliable (e.g. B-52) | ----- | | Strike | Strategic Bombers | Climbing and Speed Issues | Start in-flight, at 28,000ft and M0.8 | Set altitude and speed in the mission editor. | -| S/DEAD | Any S/DEAD | SAMs are too dangerous | [Info about TALDs here] | ----- | +| S/DEAD | Any S/DEAD | S-300/SA-10 SEAD Strategy | [Info about TALDs here] | ----- | | Any | Any | AI crashes into me while taxiing | Wait for the AI to taxi first | Combine with other traffic solutions. | | Any | Any | AI traffic issues (crashing/blocking) | Spread out take-off times (2+ minutes) | Combine with other traffic solutions. | | Any | Any | AI won't take off from carrier | Set clients to take off from runway | Combine with other traffic solutions. | From 7cc15cd61a48615d4eac09180bd5a30578915154 Mon Sep 17 00:00:00 2001 From: Basa <45641950+LGM-25C@users.noreply.github.com> Date: Tue, 18 May 2021 17:58:35 +0900 Subject: [PATCH 261/704] Updated Tips for AI Handling (markdown) --- Tips-for-AI-Handling.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tips-for-AI-Handling.md b/Tips-for-AI-Handling.md index d1298c5..887982d 100644 --- a/Tips-for-AI-Handling.md +++ b/Tips-for-AI-Handling.md @@ -6,7 +6,7 @@ AI Handling | Anti-ship | F/A-18C | Ineffective at destroying ships | 4 x S-3B is effective | F/A-18Cs don't fire all harpoons at once. S3-Bs engage with both harpoons quickly. | | Strike | Any Strike | Drops a single bomb and leaves | Cruise missiles are more reliable (e.g. B-52) | ----- | | Strike | Strategic Bombers | Climbing and Speed Issues | Start in-flight, at 28,000ft and M0.8 | Set altitude and speed in the mission editor. | -| S/DEAD | Any S/DEAD | S-300/SA-10 SEAD Strategy | [Info about TALDs here] | ----- | +| S/DEAD | Any S/DEAD | S-300/SA-10 SEAD Strategy | [Info about TALDs and HARM PB/Loft here] | ----- | | Any | Any | AI crashes into me while taxiing | Wait for the AI to taxi first | Combine with other traffic solutions. | | Any | Any | AI traffic issues (crashing/blocking) | Spread out take-off times (2+ minutes) | Combine with other traffic solutions. | | Any | Any | AI won't take off from carrier | Set clients to take off from runway | Combine with other traffic solutions. | From 1202e4382d2aef260a08146d06aca3043ab12b04 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Tue, 18 May 2021 18:36:24 -0700 Subject: [PATCH 262/704] Created Custom campaigns (3.0) (markdown) --- Custom-campaigns-(3.0).md | 281 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 281 insertions(+) create mode 100644 Custom-campaigns-(3.0).md diff --git a/Custom-campaigns-(3.0).md b/Custom-campaigns-(3.0).md new file mode 100644 index 0000000..16b4669 --- /dev/null +++ b/Custom-campaigns-(3.0).md @@ -0,0 +1,281 @@ +Campaigns in DCS Liberation can be modified using the mission editor. Each campaign is defined by a JSON file to provide metadata, and a DCS mission file (`.miz` file) to set up the theater. + +The included campaigns can be modified, or new campaigns can be added to the `resources/campaigns` directory of the Liberation install. + +![Campaign data directory tree](https://imgur.com/3FDs2Ut.png) + +DCS Liberation must be restarted after campaign changes are made. Campaign changes only affect new games; ongoing campaigns will not be affected by changes to the campaign data. + +If the campaign does not appear in the New Game wizard, there is likely an issue in the JSON file. Check the console window for errors. + +### Campaign changes in the dev branch + +Breaking campaign changes to do not get documented on the wiki immediately, but will always be listed in the notes next to `CAMPAIGN_FORMAT_VERSION` in [game/version.py](https://github.com/dcs-liberation/dcs_liberation/blob/develop/game/version.py). + +## Descriptor file + +The campaign uses a JSON file to describe some metadata. To create a new campaign, add a JSON file (such as `mycampaign.json`) to `resources\campaigns`. + +This json file should contain a json object, with the following parameters : + +* `name`: The name of the campaign that will be shown in the New Game wizard. +* `theater`: The map for the campaign (either: `Caucasus`, `Persian Gulf`, `Nevada`, `Normandy`, `Syria` or `The Channel`). +* `authors`: The authors of the campaign that will be shown in the New Game wizard. +* `description`: A description of the campaign that will be shown in the New Game wizard. +* `version`: The version of the campaign format this campaign was built for. This supports a UI hint in the new game wizard to warn users about campaigns that were built for an incompatible version of the game. + + Note that this field is **not** the DCS Liberation version, but the version of the campaign file format. The latest version is defined by `CAMPAIGN_FORMAT_VERSION` in [game/version.py](https://github.com/Khopa/dcs_liberation/blob/develop/game/version.py). + + If `version` is not set or is `"0"`, the campaign is from an unknown version of the game and will be marked as incompatible in the new game wizard. +* `recommended_player_faction`: The recommended player faction (will be automatically selected by default on the faction selection page) +* `recommended_enemy_faction`: The recommended enemy faction (will be automatically selected by default on the faction selection page) +* `miz`: The name of the miz file (in the same `resources\campaigns` directory) that describes the campaign. +* `performance`: How much performance your campaign need to run smoothly (3 for biggest scenarios that will have huge impact on game performance, 0 for the smallest, performance-friendly scenarios) + +## Designing campaigns in the mission editor + +When creating a campaign it may be easiest to start with an existing campaign in the same theater and modify it to suit your needs. If starting from scratch, ensure that Combined Joint Task Forces Blue and Combined Joint Task Forces Red are assigned to the blue and red coalitions respectively, as these will be used to define many of the campaigns properties. +#### [Unit Type Quick Reference](#unit-type-quick-reference-1) + +### Control points + +Control points are the spawn locations and (in most cases) the capturable positions in the campaign. + +#### Airbase control + +To make an airbase that starts controlled by blue, assign the airbase to the blue coalition in the mission editor. To make an airbase that starts controlled by red, assign the airbase to red. + +#### Carriers and LHAs + +To create a carrier, place a CVN-74 where you want it to be in the campaign. The carrier will be red if it belongs to CJTF Red and blue if it belongs to CJTF Blue. + +To create an LHA, follow the same process but place an LHA-1. + +Note that the presence of the carrier or LHA in the game will depend on the player's options and the faction's navy. + +#### Off-map spawns + +To create a point where aircraft from other theaters can be spawned into the mission in-air, place an F-15C. As with carriers and LHAs, use CJTF Red or Blue to assign the point to either faction. + +The altitude of the unit is not currently relevant, as the spawn altitude of units in Liberation depends on the faction's doctrine and the unit type. + +#### Forward Operating Bases + +A FOB a a capturable point that can spawn ground units but not aircraft. A FOB is defined by placing a CP_SKP_11_ATC_Mobile_Command_Post. A CJTF Blue group will create a FOB that begins owned by blue and a CJTF Red group will begin owned by red. + +The group name of the unit is used to name the FOB. + +#### Campaign inversion + +Inverting the campaign allows the player to play the campaign in reverse (starting from the North instead of the South, for example). This doesn't simply swap all of the control points, but swaps a number of control points as defined by the mission designer so that the player doesn't begin the campaign with most of the control points already captured. + +To specify that an airbase should be owned by the player when the campaign is inverted, set the "unlimited aircraft" property of the warehouse. To specify the same for a carrier, LHA, or off-map spawn, set the "late activation" property of the group. + +### Supply routes + +Supply routes are defined by placing a CJTF Blue M-113 at an airfield and defining a route to the connected control point. Front lines progress along supply routes, and supply routes also define road networks for ground unit transit. + +The supply route will follow the _waypoints_ of the vehicle group (not the path, so using on-road waypoints will not cause the front line to follow roads automatically), so waypoints should be placed at each location that the front line should turn to avoid terrain. The route beginning and end points will be used as the origin and destination endpoints for convoys, so each end point of the route should be placed on a road. The beginning and ending waypoints will associate with the nearest airfields when the campaign is generated. + +**New in DCS Liberation 3.0:** The begin and end waypoints of the path defining the front line route define the origin and destination for convoy routes. Endpoints of the route should be placed on or near roads so that convoys can get moving quickly. If far from a road, units will move from their location off-road to the road one at a time until they have all reached the road. + +**Important:** Care should be taken to route the frontline around exclusion zones. If the center of the frontline location lies in an exclusion zones, frontline units may not spawn correctly. You can view the exclusion zones in the Liberation UI by enabling the display option "Map Debug Mode" + +### Shipping lanes + +**New in DCS Liberation 3.0:** Shipping lanes define routes for transporting units between control points via cargo ships. + +To define a shipping lane, place a Bulker Handy Wind. Shipping lanes should begin in port areas that are navigable by ships and have a route to another port area. DCS ships *will not* avoid driving into islands, so ensure that their waypoints plot a navigable route. + +### Base defenses + +**New in DCS Liberation 3.0:** Random base defense generation is being removed. Replace the old base defense spawn locations with the desired number of fixed IADS and armor groups. + +### Objective locations + +**New in DCS Liberation 3.0:** Random objective locations should no longer be used. The instructions below describe how to place fixed objectives. The contents below have changed significantly since 2.5 and should be read in full when converting campaigns. + +Objective locations are automatically associated with their closest control point. + +#### Strike targets + +Strike targets are buildings that generate income for the owning coalition. These come in a variety of types depending on the faction: + +* Power plants +* Ammo depots +* Fuel depots +* Warehouses +* FARPs +* Communications towers +* Oil derricks +* Bunkers +* Villages +* Army camps + +To define a strike target location, place a Tech Combine structure. The unit may be either red or blue (the only difference is currently readability of the mission editor, but in the future will determine which coalition owns the objective). + +#### Offshore strike targets + +Offshore strike targets generate income for the owning coalition. + +To define an offshore strike target, place a CJTF Red Oil Platform. + +#### Map objects + +Arbitrary map objects may be used as strike targets. These are the buildings/trees/scenery that are placed by the map developer (Eagle Dynamics, etc). Liberation uses trigger zones to define scenery as a strike target. + +To define a map object strike target, right click the building in the mission editor and select "assign as...". This will create a trigger zone around the building. The name of this trigger zone will be used to identify the building in the Liberation UI. Do not modify the color (white) or the properties. This creates the individual building that will be a part of the objective group. + +Create new _circular_ trigger zone through the Mission Editor's sidebar, and give it the color of blue (`0 Red`, `0 Green`, `255 Blue`; there is a shortcut button that is blue in case you do not want to type the RGB numbers in manually). Place this trigger zone such that it encloses each of the centers of the objective's white trigger zones. This defines the objective area (named, targetable group of buildings), whereas the white zones define the individual buildings of the objective location. Each group zone must have a unique name. + +Create a property for the objective definition with the value field set to any of the entries listed in `game/db.py : REWARDS` (listed below for convenience, but may be out of date). **This must be the first property in the group zone.** This field defines the category (objective type) of the group, which impacts income generation per building. + +* `power` +* `ware` +* `fuel` +* `ammo` +* `farp` +* `fob` +* `comms` +* `oil` +* `derrick` + +Each **structure** will generate its own income, not each **group**. This means that large groups of structures will generate large amounts of income. + +Note that `factory` has different behavior. See the documentation on factories below. + +**Map Object Limitations:** +* Objective group definitions (blue trigger zones) cannot overlap. +* The campaign creator must define objective type. +* No images for the various buildings in the Liberation UI, briefing, or kneeboard. Target identification will be difficult. +* Every blue trigger zone must have a unique name. + +#### Factories + +Factories are ground unit producing structures. Ground units may only originate from control points that have factories, so it is essential that each coalition have access to them. Units will form convoys to move between control points, and convoys may be interdicted to interrupt reinforcements. Destroyed factories will stop producing units. When a control point loses its last factory, it will no longer be a source for ground units. + +Factories also generate $10M per turn for the owner. + +Define factory locations with CJTF Blue Workshop A structures. + +Recommendations for factory placement: + +* Prefer back-line control points or major transit hubs (especially ports and large airports capable of fielding cargo planes) for factory locations. This allows units to reach their destinations more quickly. +* Avoid placing factories at control points that begin as the front line. Factories on the front line mean that convoys will not be formed and this removes a mission type for the player. +* Defend factories with IADS and (if accessible by the front line), armor groups. + +Note that map objects (defined in the previous section) may be used as factories. Use the `factory` category. + +#### Ships + +Ships can be generated at airbases, carriers, and LHAs (but not off-map spawns). Ships will not be spawned if the player has disabled either player or enemy navies in the campaign generation options, or if the faction does not have naval units defined. + +To define a ship location place a CJTF Red Arleigh Burke IIa. + +#### Missile sites + +Missile sites (scuds, V-2s, etc) can be generated at airbases and FOBs. Missile sites will only be spawned if the faction has them defined. + +To define a missile site place a CJTF Red SSM SS-1C Scud-B. + +#### Coastal defenses + +Coastal defenses (silkworms) can be generated at airbases and FOBs. Coastal defenses will only be spawned if the faction has them defined. + +To define a missile site place a CJTF Red AShM SS-N-2 Silkworm. + +#### Armor groups + +Armor groups are ground units that defend the assigned location. These groups will not move. + +To define potential locations for garrison groups, place a (red or blue) MBT M1A2 Abrams. + +### IADS + +IADS locations are automatically associated with the control point closest to them. + +SAM locations are split into four types: long range, medium range, short range, and AAA. Each type of position will prefer to be filled by its exact type, but if the faction has no air defenses of that type available the generator will continue to downgrade the site until it finds a match. For example, a medium range SAM may be used in place of a long range SAM. _Upgrades_ are not allowed. + +Note that the exact type of SAM or EWR that will be placed depends on the faction definition. However, when designing a campaign with specific factions in mind (such as Syria defending on the Syria map), this allows the designer to see the coverage of the SAMs used by the intended faction. This way the designer can be sure that sufficient coverage will be present in the campaign when a faction using a specific type of SAM is used. + +#### Early Warning Radars + +To define an EWR location, place a CJTF Red EWR 1L13. + +#### Long range SAMs + +Currently the only two long range SAM systems are the Patriot and the SA-10 (S-300). If the faction does not have either of those systems, the location will be downgraded to a compatible type. + +To define a long range SAM location, place a CJTF Red unit of any of the following types: + +* SAM Patriot LN M901 +* SAM SA-10 S-300PS LN 5P85C +* SAM SA-10 S-300PS LN 5P85D + +#### Medium range SAMs + +Medium range SAMs include most radar SAMs that do not qualify as long range SAMs. If the faction has no medium range SAMs available, the location will be downgraded to a compatible type. + +To define a medium range SAM location, place a CJTF Red unit of any of the following types: + +* SAM Hawk LN M192 +* SAM SA-2 LN SM-90 +* SAM SA-3 S-125 LN 5P73 + +#### Short range SAMs + +Short range SAMs include IR SAMs and shorter range radar guided systems. If the faction has no short range SAMs available, the location will be downgraded to a compatible type. + +To define a short range SAM location, place a CJTF Red unit of any of the following types: + +* SAM Avenger (Stinger) +* SAM Rapier LN +* SAM SA-19 Tunguska "Grison" +* SAM SA-9 Strela 1 "Gaskin" TEL + +#### AAA + +AAA sites include self-propelled and static anti-air artillery systems. If the faction has no AAA available, the location will not be generated. + +To define a AAA location, place a unit (red or blue) of any of the following types: + +* AAA 8,8cm Flak 18 +* SPAAA Vulcan M163 +* SPAAA ZSU-23-4 Shilka "Gun Dish" + +## Unit Type Quick Reference: +* #### EWR (CJTF Red): + * EWR 1L13 +* #### Long Range SAMs (CJTF Red): + * SAM Patriot LN M901 + * SAM SA-10 S-300PS LN 5P85C + * SAM SA-10 S-300PS LN 5P85D +* #### Medium Range SAMs (CJTF Red): + * SAM Hawk LN M192 + * SAM SA-2 LN SM-90 + * SAM SA-3 S-125 LN 5P73 +* #### Short Range SAMs (CJTF Red): + * SAM Avenger (Stinger) + * SAM Rapier LN + * SAM SA-19 Tunguska "Grison" + * SAM SA-9 Strela 1 "Gaskin" TEL +* #### AAA: + * AAA 8,8cm Flak 18 + * SPAAA Vulcan M163 + * SPAAA ZSU-23-4 Shilka "Gun Dish" +* #### Factory + * Workshop A +* #### Strike target + * Tech combine +* #### Offshore Strike Target (CJTF Red): + * Oil Platform +* #### Missile Sites (CJTF Red): + * SSM SS-1C Scud-B +* #### Coastal defenses (CJTF Red): + * AShM SS-N-2 Silkworm +* #### Ship (CJTF Red): + * Arleigh Burke IIa +* #### Armor group: + * MBT M1A2 Abrams +* #### FOB: + * Truck SKP-11 Mobile ATC \ No newline at end of file From 678d8738fb6019e62f982259d4386b78bdde41bc Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Tue, 18 May 2021 18:38:18 -0700 Subject: [PATCH 263/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index b8cd610..154fa53 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -1,3 +1,5 @@ +**Changes for DCS Liberation 3.0:** Campaign definition has changed significantly in DCS Liberation 3.0. That guide is being kept [here](https://github.com/dcs-liberation/dcs_liberation/wiki/Custom-campaigns-(3.0)) until release to avoid confusion. + Campaigns in DCS Liberation can be modified using the mission editor. Each campaign is defined by a JSON file to provide metadata, and a DCS mission file (`.miz` file) to set up the theater. The included campaigns can be modified, or new campaigns can be added to the `resources/campaigns` directory of the Liberation install. @@ -8,10 +10,6 @@ DCS Liberation must be restarted after campaign changes are made. Campaign chang If the campaign does not appear in the New Game wizard, there is likely an issue in the JSON file. Check the console window for errors. -### Campaign changes in the dev branch - -Breaking campaign changes to do not get documented on the wiki immediately, but will always be listed in the notes next to `CAMPAIGN_FORMAT_VERSION` in [game/version.py](https://github.com/dcs-liberation/dcs_liberation/blob/develop/game/version.py). - ## Descriptor file The campaign uses a JSON file to describe some metadata. To create a new campaign, add a JSON file (such as `mycampaign.json`) to `resources\campaigns`. From 144bf7825bf2de9aba7a97fa0caf721db5c35d03 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Tue, 18 May 2021 18:56:58 -0700 Subject: [PATCH 264/704] Updated Custom campaigns (3.0) (markdown) --- Custom-campaigns-(3.0).md | 51 ++++++++++++--------------------------- 1 file changed, 16 insertions(+), 35 deletions(-) diff --git a/Custom-campaigns-(3.0).md b/Custom-campaigns-(3.0).md index 16b4669..4dace4f 100644 --- a/Custom-campaigns-(3.0).md +++ b/Custom-campaigns-(3.0).md @@ -244,38 +244,19 @@ To define a AAA location, place a unit (red or blue) of any of the following typ * SPAAA ZSU-23-4 Shilka "Gun Dish" ## Unit Type Quick Reference: -* #### EWR (CJTF Red): - * EWR 1L13 -* #### Long Range SAMs (CJTF Red): - * SAM Patriot LN M901 - * SAM SA-10 S-300PS LN 5P85C - * SAM SA-10 S-300PS LN 5P85D -* #### Medium Range SAMs (CJTF Red): - * SAM Hawk LN M192 - * SAM SA-2 LN SM-90 - * SAM SA-3 S-125 LN 5P73 -* #### Short Range SAMs (CJTF Red): - * SAM Avenger (Stinger) - * SAM Rapier LN - * SAM SA-19 Tunguska "Grison" - * SAM SA-9 Strela 1 "Gaskin" TEL -* #### AAA: - * AAA 8,8cm Flak 18 - * SPAAA Vulcan M163 - * SPAAA ZSU-23-4 Shilka "Gun Dish" -* #### Factory - * Workshop A -* #### Strike target - * Tech combine -* #### Offshore Strike Target (CJTF Red): - * Oil Platform -* #### Missile Sites (CJTF Red): - * SSM SS-1C Scud-B -* #### Coastal defenses (CJTF Red): - * AShM SS-N-2 Silkworm -* #### Ship (CJTF Red): - * Arleigh Burke IIa -* #### Armor group: - * MBT M1A2 Abrams -* #### FOB: - * Truck SKP-11 Mobile ATC \ No newline at end of file + +Objective type | Coalition | Unit types +-|-|- +EWR | Red | EWR 1L13 +Long range SAM | Red | SAM Patriot LN M901
SAM SA-10 S-300PS LN 5P85C
SAM SA-10 S-300PS LN 5P85D +Medium range SAM | Red | SAM Hawk LN M192
SAM SA-2 LN SM-90
SAM SA-3 S-125 LN 5P73 +Short range SAM | Red | SAM Avenger (Stinger)
SAM Rapier LN
SAM SA-19 Tunguska "Grison"
SAM SA-9 Strela 1 "Gaskin" TEL +AAA | Either | AAA 8,8cm Flak 18
SPAAA Vulcan M163
SPAAA ZSU-23-4 Shilka "Gun Dish" +Factory | Blue| Workshop A +Strike target | Either | Tech combine +Offshore strike target | Red | Oil Platform +Missile Sites | Red | SSM SS-1C Scud-B +Coastal defenses | Red | AShM SS-N-2 Silkworm +Ship | Red | Arleigh Burke IIa +Armor group | Either | MBT M1A2 Abrams +FOB | Either | Truck SKP-11 Mobile ATC \ No newline at end of file From 1f0fe9da316db765cc4ce50eac6b029c853ee345 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Fri, 21 May 2021 02:47:43 +0200 Subject: [PATCH 265/704] Updated Custom Factions (markdown) --- Custom-Factions.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Custom-Factions.md b/Custom-Factions.md index 251f7e9..aadfe68 100644 --- a/Custom-Factions.md +++ b/Custom-Factions.md @@ -200,6 +200,7 @@ Below is an example of a factions file : * *KiloSubGroupGenerator* * *TangoSubGroupGenerator* * *Type54GroupGenerator* +* *LaCombattanteIIGroupGenerator* ## Annex 3 - Possible EWR generators From 3da59a24ab3c4eac85c23a5a33df240f91cf65c2 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sat, 22 May 2021 14:39:18 -0700 Subject: [PATCH 266/704] Updated Mission planning (markdown) --- Mission-planning.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Mission-planning.md b/Mission-planning.md index 1b0d1f2..51bc8ef 100644 --- a/Mission-planning.md +++ b/Mission-planning.md @@ -84,6 +84,18 @@ A destroyed runway will not be usable for missions and aircraft cannot be purcha A SEAD mission protects other flights from SAMs. In contrast to DEAD, it will engage air defenses near the target area and not just the target itself. The flight will rendezvous with the rest of its package and begin to search for and suppress any enemy air defenses within a predefined range. After releasing its weapons the flight will RTB. +**Changed in DCS Liberation 3.0:** A SEAD mission suppresses the package target. This differs from DEAD in that the destruction of the target is not a requirement for mission success. An F-14 using TALDs to prevent the target from destroying the DEAD flight delivering bombs to destroy the target has accomplished its mission. An F/A-18 using HARMs to keep the SAM turned off while the DEAD flight delivers bombs has accomplished its mission. + +SEAD flights will be planned to accompany DEAD packages. When the SEAD flight uses HARMs it is quite likely that they will destroy the emitters (when not using Skynet), but they will never kill launchers/TELs without their own radar. DEAD will often carry bombs rather than ARMs or decoys so they can destroy the non-emitting parts of the SAM as well. + +### SEAD Escort + +**New in DCS Liberation 3.0** + +A SEAD escort mission protects any other flights that are requesting an escort from SAM threats. Flight plans that pass within the range of enemy SAMs will request a SEAD escort. A SEAD escort will fly a flight plan similar to the rest of the package while engaging detected SAMs near the flight path and will then RTB. + +This differs from SEAD by engaging *any* SAM threating the package between the join and split points rather than only the package's target. + ### Strike A strike mission can be planned against enemy ground targets. The flight will rendezvous with the rest of its package and release its weapons on the predefined location. Some bombers will carpet bomb an area in a single pass, but most will aim at multiple targets. After releasing its weapons, the flight will RTB. From 3ff05277304ed394b066e0a7cd1e7a3d1262a5ac Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sat, 22 May 2021 15:01:02 -0700 Subject: [PATCH 267/704] Updated Mission planning (markdown) --- Mission-planning.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Mission-planning.md b/Mission-planning.md index 51bc8ef..62ea7b5 100644 --- a/Mission-planning.md +++ b/Mission-planning.md @@ -60,6 +60,8 @@ A CAS mission can be planned at a front line. Its purpose is to provide support A DEAD mission can be planned against enemy air defenses. Its purpose is to destroy enemy air defenses. The flight will rendezvous with the rest of its package and aim to have weapons on the target at the package's TOT. After releasing its weapons, the flight will RTB. +**Note for DCS Liberation 3.0:** DEAD loadouts may now differ from SEAD loadouts, and SEAD is now the preferred mission type for suppressing SAMs with HARMs or decoys. When picking loadouts for DEAD missions, prefer bombs and missiles that can kill every unit at the target, not just emitters. + ### Escort An escort mission protects any other flights that are requesting an escort. Most mission types (CAP types are the exception) will request escorts for their mission. An escort will fly a flight plan similar to the rest of the package and RTB. From 76a3439adc37e96e65fff7118abc9964362e2929 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sat, 22 May 2021 16:35:19 -0700 Subject: [PATCH 268/704] Updated Custom Loadouts (markdown) --- Custom-Loadouts.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Custom-Loadouts.md b/Custom-Loadouts.md index 78bd886..8322831 100644 --- a/Custom-Loadouts.md +++ b/Custom-Loadouts.md @@ -14,4 +14,4 @@ Create loadouts with the following names, for each possible tasks : "CAS", "CAP" All DCS loadout are selectable from the flight edit UI. -To create default loadouts, create a loadout for the aircraft in the DCS mission editor. Name the loadout `Liberation `, where `` is the exact name of the mission type shown in the UI. For example, "Liberation OCA/Aircraft". \ No newline at end of file +To create custom default loadouts, create a loadout for the aircraft in the DCS mission editor. Name the loadout `Liberation `, where `` is the exact name of the mission type shown in the UI. For example, "Liberation OCA/Aircraft". \ No newline at end of file From 79419cdcc5190b49c5f337db26a42032c6e779d0 Mon Sep 17 00:00:00 2001 From: Mustang-25 <72566076+Mustang-25@users.noreply.github.com> Date: Tue, 25 May 2021 18:46:32 -0700 Subject: [PATCH 269/704] Updated Mission planning (markdown) --- Mission-planning.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Mission-planning.md b/Mission-planning.md index 62ea7b5..d5b35cd 100644 --- a/Mission-planning.md +++ b/Mission-planning.md @@ -70,7 +70,7 @@ Note that the escort flight will not remain in the target area even if the rest ### Fighter sweep -A fighter sweep mission can be planned against an enemy objective. Its purpose is to clear the target area of enemy fighters before the rest of the package arrives. The flight will move to a point near the package's join point and then proceed to engage enemy fighters on its way to the target area. The flight will RTB when it is bingo, winchester, or reaches the target area without encountering any fighters. +A fighter sweep mission can be planned against an enemy objective. Its purpose is to clear the target area of enemy fighters five minutes before the rest of the package arrives. The flight will move to a point near the package's join point and then proceed to engage enemy fighters on its way to the target area. The flight will RTB when it is bingo, winchester, or reaches the target area without encountering any fighters. ### OCA/Aircraft From 8e1e2c477228d3553d05ec8cc2e3c74930240738 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Wed, 26 May 2021 13:16:00 -0700 Subject: [PATCH 270/704] Updated Developer's Guide (markdown) --- Developer's-Guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Developer's-Guide.md b/Developer's-Guide.md index a2017e5..ead7f2f 100644 --- a/Developer's-Guide.md +++ b/Developer's-Guide.md @@ -15,7 +15,7 @@ The original UI was different, and the mission generation process was different ## Required tools -* [Python 3.8.1+](https://www.python.org/downloads/) +* [Python 3.9+](https://www.python.org/downloads/) * A code Editor for Python. I recommend [PyCharm Community Edition](https://www.jetbrains.com/pycharm/download/#section=windows), you can add plugin for Lua. When you install Python, make sure to install pip for dependencies management. This should come preinstalled. From c87db920b5b3e9c49613ee30bfe84c36c9539044 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Wed, 26 May 2021 17:48:43 -0700 Subject: [PATCH 271/704] Add placeholder docs for squadrons. --- Squadrons-and-pilots.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 Squadrons-and-pilots.md diff --git a/Squadrons-and-pilots.md b/Squadrons-and-pilots.md new file mode 100644 index 0000000..85fe036 --- /dev/null +++ b/Squadrons-and-pilots.md @@ -0,0 +1 @@ +[Work in progress](https://github.com/dcs-liberation/dcs_liberation/issues/276) \ No newline at end of file From 73e63b766a32a78c4cb5a60fd03208e85686769d Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Wed, 26 May 2021 17:55:33 -0700 Subject: [PATCH 272/704] Updated _Sidebar (markdown) --- _Sidebar.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/_Sidebar.md b/_Sidebar.md index fc7149a..ad9fa60 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -24,6 +24,8 @@ [Unit Transfers](https://github.com/Khopa/dcs_liberation/wiki/Unit-Transfers) +[Squadrons and pilots](https://github.com/dcs-liberation/dcs_liberation/wiki/Squadrons-and-pilots) + ## Dedicated Servers [Dedicated server guide](https://github.com/Khopa/dcs_liberation/wiki/Dedicated-Server-Guide) From 07245c063c924488de2f73aa621d40394257e0fd Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Wed, 26 May 2021 18:02:23 -0700 Subject: [PATCH 273/704] Updated Squadrons and pilots (markdown) --- Squadrons-and-pilots.md | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/Squadrons-and-pilots.md b/Squadrons-and-pilots.md index 85fe036..33f82ee 100644 --- a/Squadrons-and-pilots.md +++ b/Squadrons-and-pilots.md @@ -1 +1,18 @@ -[Work in progress](https://github.com/dcs-liberation/dcs_liberation/issues/276) \ No newline at end of file +**This feature is new in DCS Liberation 3.0.** + +This feature is a [aork in progress](https://github.com/dcs-liberation/dcs_liberation/issues/276). This documentation will be improve as the feature nears completion. + +## Pilot names + +Pilot names are generated randomly (user-defined names will be added later). The generated names are localized based on the `locales` field of the faction definition. For example: + +```json +{ + "name": "France and Germany", + "locales": ["fr_FR", "de_DE"], +} +``` + +Names will be localized if the chosen locale has a `faker.providers.person` listed on https://faker.readthedocs.io/en/master/locales.html. + +If the faction has no locales defined, names will be generated using `en_US` (the default for the name generator library). \ No newline at end of file From 90c9593aa42f3df2cd5198cb8059cd22e4fe012f Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Wed, 26 May 2021 18:09:01 -0700 Subject: [PATCH 274/704] Updated Custom campaigns (3.0) (markdown) --- Custom-campaigns-(3.0).md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Custom-campaigns-(3.0).md b/Custom-campaigns-(3.0).md index 4dace4f..d8727a0 100644 --- a/Custom-campaigns-(3.0).md +++ b/Custom-campaigns-(3.0).md @@ -85,7 +85,7 @@ The supply route will follow the _waypoints_ of the vehicle group (not the path, **New in DCS Liberation 3.0:** Shipping lanes define routes for transporting units between control points via cargo ships. -To define a shipping lane, place a Bulker Handy Wind. Shipping lanes should begin in port areas that are navigable by ships and have a route to another port area. DCS ships *will not* avoid driving into islands, so ensure that their waypoints plot a navigable route. +To define a shipping lane, place a CJTF Blue Bulker Handy Wind. Shipping lanes should begin in port areas that are navigable by ships and have a route to another port area. DCS ships *will not* avoid driving into islands, so ensure that their waypoints plot a navigable route. ### Base defenses From a293495e6f6891777af894caec92a07a2c4bebf2 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Wed, 26 May 2021 18:09:20 -0700 Subject: [PATCH 275/704] Updated Squadrons and pilots (markdown) --- Squadrons-and-pilots.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Squadrons-and-pilots.md b/Squadrons-and-pilots.md index 33f82ee..b64a299 100644 --- a/Squadrons-and-pilots.md +++ b/Squadrons-and-pilots.md @@ -1,6 +1,6 @@ **This feature is new in DCS Liberation 3.0.** -This feature is a [aork in progress](https://github.com/dcs-liberation/dcs_liberation/issues/276). This documentation will be improve as the feature nears completion. +This feature is a [work in progress](https://github.com/dcs-liberation/dcs_liberation/issues/276). This documentation will be improve as the feature nears completion. ## Pilot names From 7504fa13a4cdad221fd2cb51d1a88e9754d473e3 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Wed, 26 May 2021 19:39:04 -0700 Subject: [PATCH 276/704] Updated Squadrons and pilots (markdown) --- Squadrons-and-pilots.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Squadrons-and-pilots.md b/Squadrons-and-pilots.md index b64a299..5321c9a 100644 --- a/Squadrons-and-pilots.md +++ b/Squadrons-and-pilots.md @@ -2,6 +2,10 @@ This feature is a [work in progress](https://github.com/dcs-liberation/dcs_liberation/issues/276). This documentation will be improve as the feature nears completion. +## Skill level + +AI pilots gain skill after completing missions. Every four missions completed confers one increase in skill level from the base level chosen in the campaign settings. + ## Pilot names Pilot names are generated randomly (user-defined names will be added later). The generated names are localized based on the `locales` field of the faction definition. For example: From e69cf16b40025059bda25eefc9cbb21fa29a921a Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Wed, 26 May 2021 21:12:40 -0700 Subject: [PATCH 277/704] Updated Squadrons and pilots (markdown) --- Squadrons-and-pilots.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Squadrons-and-pilots.md b/Squadrons-and-pilots.md index 5321c9a..f3862cb 100644 --- a/Squadrons-and-pilots.md +++ b/Squadrons-and-pilots.md @@ -2,6 +2,10 @@ This feature is a [work in progress](https://github.com/dcs-liberation/dcs_liberation/issues/276). This documentation will be improve as the feature nears completion. +## Players + +Each pilot can be set as either a player or AI pilot. Instead of creating client slots in flights as in previous versions of Liberation, pilots are set as players and those pilots are assigned to flights. + ## Skill level AI pilots gain skill after completing missions. Every four missions completed confers one increase in skill level from the base level chosen in the campaign settings. From 1eac7ade25dc4d5e5025457f711822434c82c3d4 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Thu, 27 May 2021 01:10:25 -0700 Subject: [PATCH 278/704] Updated Squadrons and pilots (markdown) --- Squadrons-and-pilots.md | 64 ++++++++++++++++++++++++++++++++++++++--- 1 file changed, 60 insertions(+), 4 deletions(-) diff --git a/Squadrons-and-pilots.md b/Squadrons-and-pilots.md index f3862cb..0239e61 100644 --- a/Squadrons-and-pilots.md +++ b/Squadrons-and-pilots.md @@ -2,15 +2,17 @@ This feature is a [work in progress](https://github.com/dcs-liberation/dcs_liberation/issues/276). This documentation will be improve as the feature nears completion. -## Players +## Pilots + +### Players Each pilot can be set as either a player or AI pilot. Instead of creating client slots in flights as in previous versions of Liberation, pilots are set as players and those pilots are assigned to flights. -## Skill level +### Skill level AI pilots gain skill after completing missions. Every four missions completed confers one increase in skill level from the base level chosen in the campaign settings. -## Pilot names +### Names Pilot names are generated randomly (user-defined names will be added later). The generated names are localized based on the `locales` field of the faction definition. For example: @@ -23,4 +25,58 @@ Pilot names are generated randomly (user-defined names will be added later). The Names will be localized if the chosen locale has a `faker.providers.person` listed on https://faker.readthedocs.io/en/master/locales.html. -If the faction has no locales defined, names will be generated using `en_US` (the default for the name generator library). \ No newline at end of file +If the faction has no locales defined, names will be generated using `en_US` (the default for the name generator library). + +## Squadrons + +### Predefined squadrons + +Predefined squadrons are loaded from `resources\squadrons\*\*.yaml` (for built-in squadrons) and from `\Liberation\Squadrons\*\*.yaml` (for user-defined squadrons). + +The directory name within the squadrons directory is not important; it's just to allow organizing the squadron files. For example: + +``` + + hornet/ + VFA-113.yaml + VFA-122.yaml + skyhawk/ + VFA-113.yaml +``` + +Here is an example squadron definition file: + +```yaml +--- +name: VFA-113 +nickname: Stingers +country: USA +role: Strike Fighter +aircraft: FA-18C_hornet +livery: VFA-113 +mission_types: + - Anti-ship + - BAI + - BARCAP + - CAS + - DEAD + - Escort + - Intercept + - OCA/Aircraft + - OCA/Runway + - SEAD + - SEAD Escort + - Strike + - Fighter sweep + - TARCAP +``` + +The country and aircraft fields will be used to match squadrons that are found against the squadrons being used. The country should be spelled exactly as it would be in a faction file. Factions that use Combined Joint Task Forces nations will have access to all squadrons with matching aircraft. The aircraft should match the key (the value in quotes) of the aircraft found in `plane_map` in https://github.com/pydcs/dcs/blob/master/dcs/planes.py or `helicopter_map` in https://github.com/pydcs/dcs/blob/master/dcs/helicopters.py + +The `role` and `mission_types` fields are currently non-functional. The `role` field will later be shown in the UI as information for the player and the `mission_types` field will be used to determine which mission types to assign to the squadron. The spelling of each entry in `mission_types` should match the spelling of the mission that is used in the Liberation UI. + +The `livery` field, if set, will be the livery used by all aircraft of this squadron. It should match the name of the livery in game. + +### Generated squadrons + +A squadron will be generated for any aircraft that does not have any predefined squadrons available. \ No newline at end of file From 1b49220195ddc9517142e35f3b6f079de13aa9b6 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Thu, 27 May 2021 01:21:12 -0700 Subject: [PATCH 279/704] Updated Squadrons and pilots (markdown) --- Squadrons-and-pilots.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Squadrons-and-pilots.md b/Squadrons-and-pilots.md index 0239e61..49dc3aa 100644 --- a/Squadrons-and-pilots.md +++ b/Squadrons-and-pilots.md @@ -69,6 +69,11 @@ mission_types: - Strike - Fighter sweep - TARCAP +pilots: + - Wedge Antilles + - Tycho Celchu +players: + - Corran Horn ``` The country and aircraft fields will be used to match squadrons that are found against the squadrons being used. The country should be spelled exactly as it would be in a faction file. Factions that use Combined Joint Task Forces nations will have access to all squadrons with matching aircraft. The aircraft should match the key (the value in quotes) of the aircraft found in `plane_map` in https://github.com/pydcs/dcs/blob/master/dcs/planes.py or `helicopter_map` in https://github.com/pydcs/dcs/blob/master/dcs/helicopters.py @@ -77,6 +82,10 @@ The `role` and `mission_types` fields are currently non-functional. The `role` f The `livery` field, if set, will be the livery used by all aircraft of this squadron. It should match the name of the livery in game. +The `pilots` field defines AI pilot names that will be used before generating random pilot names for this squadron. + +The `players` field operates the same as the `pilots` field, but the created pilots will be created as player pilots. + ### Generated squadrons A squadron will be generated for any aircraft that does not have any predefined squadrons available. \ No newline at end of file From eeb72be22d3d11c99af0b13eb30e4c2e2cd93197 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Thu, 27 May 2021 02:35:34 -0700 Subject: [PATCH 280/704] Updated Squadrons and pilots (markdown) --- Squadrons-and-pilots.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Squadrons-and-pilots.md b/Squadrons-and-pilots.md index 49dc3aa..ed78352 100644 --- a/Squadrons-and-pilots.md +++ b/Squadrons-and-pilots.md @@ -8,6 +8,8 @@ This feature is a [work in progress](https://github.com/dcs-liberation/dcs_liber Each pilot can be set as either a player or AI pilot. Instead of creating client slots in flights as in previous versions of Liberation, pilots are set as players and those pilots are assigned to flights. +By default player pilots cannot be killed. This can be toggled in the difficulty options. **The aircraft is still lost when the player's aircraft is destroyed.** + ### Skill level AI pilots gain skill after completing missions. Every four missions completed confers one increase in skill level from the base level chosen in the campaign settings. From caafcc49ff355c7c6f8eb4672d6830dc3d72e6dd Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Thu, 27 May 2021 02:37:09 -0700 Subject: [PATCH 281/704] Updated Squadrons and pilots (markdown) --- Squadrons-and-pilots.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Squadrons-and-pilots.md b/Squadrons-and-pilots.md index ed78352..4018f7e 100644 --- a/Squadrons-and-pilots.md +++ b/Squadrons-and-pilots.md @@ -16,7 +16,7 @@ AI pilots gain skill after completing missions. Every four missions completed co ### Names -Pilot names are generated randomly (user-defined names will be added later). The generated names are localized based on the `locales` field of the faction definition. For example: +Pilot names are generated randomly when the squadron has exhausted all of its pre-defined names. The generated names are localized based on the `locales` field of the faction definition. For example: ```json { From e1e8fb7b703d997ffa0ac7c93d5f0e932d345e25 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Thu, 27 May 2021 17:33:17 -0700 Subject: [PATCH 282/704] Updated Squadrons and pilots (markdown) --- Squadrons-and-pilots.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/Squadrons-and-pilots.md b/Squadrons-and-pilots.md index 4018f7e..dfd5aad 100644 --- a/Squadrons-and-pilots.md +++ b/Squadrons-and-pilots.md @@ -4,12 +4,36 @@ This feature is a [work in progress](https://github.com/dcs-liberation/dcs_liber ## Pilots +Each aircraft in the mission will be assigned one pilot. Each pilot belongs to a squadron. Pilots are assigned to aircraft using the flight edit dialog (later they will be assignable when creating flights). + +**Note:** Multi-crew aircraft get only one pilot. Non-pilot air crews are not modeled in Liberation. Other player slots will still be available in game. + +Pilots can be killed. When the aircraft the pilot is flying is destroyed the pilot will be killed and a new pilot will need to replace them in the squadron. Completing missions will increase the skill level of AI pilots. + +Pilots can be sent on leave. Pilots on leave will not be assigned to new missions. Pilots already assigned to missions that are sent on leave will not be +unassigned, but will not be used next turn. + ### Players Each pilot can be set as either a player or AI pilot. Instead of creating client slots in flights as in previous versions of Liberation, pilots are set as players and those pilots are assigned to flights. By default player pilots cannot be killed. This can be toggled in the difficulty options. **The aircraft is still lost when the player's aircraft is destroyed.** +Preference of player pilots during automatic mission planning is selectable as an option in the settings menu. + +![image](https://user-images.githubusercontent.com/315852/119912025-6aabf100-bf0f-11eb-8a81-8fe88149f696.png) + +The options are: + +Option | Behavior +--- | --- +Disabled | Automatic mission planning is disabled. Players perform all mission planning. +Never assign player pilots | The automatic mission planner will never assign pilots to missions. Players plan their own missions. +No preference | Players and AI pilots are chosen with equal preference. Players will not necessarily be assigned to missions. +Prefer player pilots | Player pilots will be assigned to the flights of their squadron before AI pilots are used. + +The `Automatically generated packages with players are scheduled ASAP` checkbox causes any player-assigned missions generated by the automatic mission planner to be scheduled ASAP. + ### Skill level AI pilots gain skill after completing missions. Every four missions completed confers one increase in skill level from the base level chosen in the campaign settings. From f920ade1e0b8baf915bdc530fbc4532ccffe7c6d Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Thu, 27 May 2021 21:04:17 -0700 Subject: [PATCH 283/704] Updated Squadrons and pilots (markdown) --- Squadrons-and-pilots.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Squadrons-and-pilots.md b/Squadrons-and-pilots.md index dfd5aad..d3cc264 100644 --- a/Squadrons-and-pilots.md +++ b/Squadrons-and-pilots.md @@ -104,7 +104,9 @@ players: The country and aircraft fields will be used to match squadrons that are found against the squadrons being used. The country should be spelled exactly as it would be in a faction file. Factions that use Combined Joint Task Forces nations will have access to all squadrons with matching aircraft. The aircraft should match the key (the value in quotes) of the aircraft found in `plane_map` in https://github.com/pydcs/dcs/blob/master/dcs/planes.py or `helicopter_map` in https://github.com/pydcs/dcs/blob/master/dcs/helicopters.py -The `role` and `mission_types` fields are currently non-functional. The `role` field will later be shown in the UI as information for the player and the `mission_types` field will be used to determine which mission types to assign to the squadron. The spelling of each entry in `mission_types` should match the spelling of the mission that is used in the Liberation UI. +The `role` field is currently non-functional. The `role` field will later be shown in the UI as information for the player. + +The `mission_types` field determines which mission types to assign to the squadron. The spelling of each entry in `mission_types` should match the spelling of the mission that is used in the Liberation UI. If the squadron specifies a mission type that the aircraft is not capable of, an error will be emitted in the log and the incompatible mission type will not be used for the squadron. The `livery` field, if set, will be the livery used by all aircraft of this squadron. It should match the name of the livery in game. From 8f61827c673d92b4dd97d00312a6f77eccaa73ab Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Thu, 27 May 2021 21:06:28 -0700 Subject: [PATCH 284/704] Updated Squadrons and pilots (markdown) --- Squadrons-and-pilots.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/Squadrons-and-pilots.md b/Squadrons-and-pilots.md index d3cc264..71251a8 100644 --- a/Squadrons-and-pilots.md +++ b/Squadrons-and-pilots.md @@ -1,7 +1,5 @@ **This feature is new in DCS Liberation 3.0.** -This feature is a [work in progress](https://github.com/dcs-liberation/dcs_liberation/issues/276). This documentation will be improve as the feature nears completion. - ## Pilots Each aircraft in the mission will be assigned one pilot. Each pilot belongs to a squadron. Pilots are assigned to aircraft using the flight edit dialog (later they will be assignable when creating flights). From 4647e83233be02ba54017559d38ebf9028e240b6 Mon Sep 17 00:00:00 2001 From: SnappyComebacks <74509817+SnappyComebacks@users.noreply.github.com> Date: Sat, 29 May 2021 15:13:50 -0600 Subject: [PATCH 285/704] Updated Custom campaigns (3.0) (markdown) --- Custom-campaigns-(3.0).md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/Custom-campaigns-(3.0).md b/Custom-campaigns-(3.0).md index d8727a0..a263790 100644 --- a/Custom-campaigns-(3.0).md +++ b/Custom-campaigns-(3.0).md @@ -142,7 +142,7 @@ Create a property for the objective definition with the value field set to any o Each **structure** will generate its own income, not each **group**. This means that large groups of structures will generate large amounts of income. -Note that `factory` has different behavior. See the documentation on factories below. +Note that `factory` and `ammo` have different behavior. See the documentation on factories and ammunition depots below. **Map Object Limitations:** * Objective group definitions (blue trigger zones) cannot overlap. @@ -166,6 +166,18 @@ Recommendations for factory placement: Note that map objects (defined in the previous section) may be used as factories. Use the `factory` category. +#### Ammunition Depots +Ammunition Depots provide control over how many ground units are available to be deployed to the front line from it's closest control point. This directly effects how many ground units may be deployed on a front line. + +Each control point has a free `15` deploy-able ground units available to it before ammunition depot buildings are required to raise the limit of how many ground units may be deployed. Each additional ammunition depot building raises the limit by `12` units. + +Ammunition Depots are placed in a campaign using the `Ammunition Depot` warehouse object to spawn the default template of one `Ammunition Depot` and two `Hangar B`s. Each ammunition depot template will raise the front line ground unit limit by `36` units. + +Alternatively, scenery objectives may be used with the `ammo` category to define an ammunition depot objective. + +Recommendations for Ammunition Depot placement: +* Defend your ammunition depots with IADS and ground units. + #### Ships Ships can be generated at airbases, carriers, and LHAs (but not off-map spawns). Ships will not be spawned if the player has disabled either player or enemy navies in the campaign generation options, or if the faction does not have naval units defined. From ccf8e72829711d5ce768caa2074f4795563771cd Mon Sep 17 00:00:00 2001 From: docofmur <84192044+docofmur@users.noreply.github.com> Date: Mon, 31 May 2021 08:26:02 -0700 Subject: [PATCH 286/704] 1. corrected original folder location to correct slash --- Custom-Factions.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Custom-Factions.md b/Custom-Factions.md index aadfe68..3513755 100644 --- a/Custom-Factions.md +++ b/Custom-Factions.md @@ -5,13 +5,13 @@ Good news, you can now mod factions in liberation ! And these custom factions can be created easily with a text editor as a json file. -You can put your own factions configuration json files in the folder **./resources/factions** or modify existing ones. +You can put your own factions configuration json files in the folder **.\resources\factions** or modify existing ones. Also you may place new faction files in your DCS Saved Games folder. **C:\users\\Saved Games\DCS\Liberation\Factions The Liberation\Factions folder will have to be created as it is not created when setting up liberation. This is the same location that you point Liberation too when setting it up for the first time. ![](https://imgur.com/hiqrYEh.png) Then restart DCS Liberation to have the faction loaded. -If there is no error, your custom faction will appear in the New Game Wizard. +If there is no error, your custom faction will appear in the New Game Wizard. Please note that factions saved in your DCS saved games folder will appear at the bottom of the list and not in alphabetical order. If there is an error with the file it will not appear, please check the content of the console output, it might contain hints about the error. First, please verify the json syntax is valid. # File format From 2b1eaca4aa290701e67b061914f206d5ea69b56e Mon Sep 17 00:00:00 2001 From: docofmur <84192044+docofmur@users.noreply.github.com> Date: Mon, 31 May 2021 08:26:52 -0700 Subject: [PATCH 287/704] Added DCS saved game folder location information for saving of custom factions From f2324c6223aab8134e1a778fe9169a57c6cc0d64 Mon Sep 17 00:00:00 2001 From: docofmur <84192044+docofmur@users.noreply.github.com> Date: Mon, 31 May 2021 08:28:37 -0700 Subject: [PATCH 288/704] fixed saved game folder style, sorry should have used preview --- Custom-Factions.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Custom-Factions.md b/Custom-Factions.md index 3513755..423326f 100644 --- a/Custom-Factions.md +++ b/Custom-Factions.md @@ -5,13 +5,15 @@ Good news, you can now mod factions in liberation ! And these custom factions can be created easily with a text editor as a json file. -You can put your own factions configuration json files in the folder **.\resources\factions** or modify existing ones. Also you may place new faction files in your DCS Saved Games folder. **C:\users\\Saved Games\DCS\Liberation\Factions The Liberation\Factions folder will have to be created as it is not created when setting up liberation. This is the same location that you point Liberation too when setting it up for the first time. +You can put your own factions configuration json files in the folder **.\resources\factions** or modify existing ones. Also you may place new faction files in your DCS Saved Games folder. **C:\users\\Saved Games\DCS\Liberation\Factions The Liberation\Factions** folder will have to be created as it is not created when setting up liberation. This is the same location that you point Liberation too when setting it up for the first time. + ![](https://imgur.com/hiqrYEh.png) Then restart DCS Liberation to have the faction loaded. If there is no error, your custom faction will appear in the New Game Wizard. Please note that factions saved in your DCS saved games folder will appear at the bottom of the list and not in alphabetical order. + If there is an error with the file it will not appear, please check the content of the console output, it might contain hints about the error. First, please verify the json syntax is valid. # File format From 475ec579bbb7ad2198d9dfa411d4d414627cc804 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Tue, 1 Jun 2021 18:26:54 -0700 Subject: [PATCH 289/704] Updated Custom campaigns (3.0) (markdown) --- Custom-campaigns-(3.0).md | 1 + 1 file changed, 1 insertion(+) diff --git a/Custom-campaigns-(3.0).md b/Custom-campaigns-(3.0).md index a263790..e0ff7bd 100644 --- a/Custom-campaigns-(3.0).md +++ b/Custom-campaigns-(3.0).md @@ -265,6 +265,7 @@ Medium range SAM | Red | SAM Hawk LN M192
SAM SA-2 LN SM-90
SAM SA-3 S Short range SAM | Red | SAM Avenger (Stinger)
SAM Rapier LN
SAM SA-19 Tunguska "Grison"
SAM SA-9 Strela 1 "Gaskin" TEL AAA | Either | AAA 8,8cm Flak 18
SPAAA Vulcan M163
SPAAA ZSU-23-4 Shilka "Gun Dish" Factory | Blue| Workshop A +Ammo Depot | Either | Ammunition depot Strike target | Either | Tech combine Offshore strike target | Red | Oil Platform Missile Sites | Red | SSM SS-1C Scud-B From 5e1ffaa3046113ca9ab2a3bf8ee139ec11b766f1 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Tue, 1 Jun 2021 18:27:49 -0700 Subject: [PATCH 290/704] Updated Custom campaigns (3.0) (markdown) --- Custom-campaigns-(3.0).md | 2 -- 1 file changed, 2 deletions(-) diff --git a/Custom-campaigns-(3.0).md b/Custom-campaigns-(3.0).md index e0ff7bd..249d32c 100644 --- a/Custom-campaigns-(3.0).md +++ b/Custom-campaigns-(3.0).md @@ -102,7 +102,6 @@ Objective locations are automatically associated with their closest control poin Strike targets are buildings that generate income for the owning coalition. These come in a variety of types depending on the faction: * Power plants -* Ammo depots * Fuel depots * Warehouses * FARPs @@ -133,7 +132,6 @@ Create a property for the objective definition with the value field set to any o * `power` * `ware` * `fuel` -* `ammo` * `farp` * `fob` * `comms` From f5b9b246a3d2dc1e053da1a6adddf729ef4fba6d Mon Sep 17 00:00:00 2001 From: DillieKoe <84970592+DillieKoe@users.noreply.github.com> Date: Thu, 3 Jun 2021 16:59:28 +0200 Subject: [PATCH 291/704] Fixed 3 small typos --- Tutorial-03:-First-operation.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Tutorial-03:-First-operation.md b/Tutorial-03:-First-operation.md index 75f6b38..9330ff8 100644 --- a/Tutorial-03:-First-operation.md +++ b/Tutorial-03:-First-operation.md @@ -11,11 +11,11 @@ The goal of the campaign is to capture all the enemy control points. To do so, y * Destroy enemy buildings (they provide the enemy with income). * Destroy enemy air defenses. -On the map, you can see that the frontline between Gudata and Sochi Adler is active. +On the map, you can see that the frontline between Gudauta and Sochi Adler is active. ![Gudata/Sochi front line](https://user-images.githubusercontent.com/315852/102669351-3273db80-4143-11eb-9181-b6e7c21f8828.png) -Ground units purchased at Gudata will be positioned along this front line. By default your ground units will adopt a defensive stance and wait for the enemy. To push toward Sochi, set their stance in the Ground Forces HQ (discussed in the previous tutorial) +Ground units purchased at Gudauta will be positioned along this front line. By default your ground units will adopt a defensive stance and wait for the enemy. To push toward Sochi, set their stance in the Ground Forces HQ (discussed in the previous tutorial) ![Front line stance selection](https://user-images.githubusercontent.com/315852/102669440-6c44e200-4143-11eb-9c11-c6cc73acb7f0.png) @@ -25,7 +25,7 @@ See the [Front line stances guide](https://github.com/Khopa/dcs_liberation/wiki/ Planning your own missions is covered in the next tutorial, but you still need to choose a flight to play as. This is done by adding "client slots" to a flight. -To add a client slot, choose a package in the Air Tasking Order (ATO) panel on the left, and then double click the group you want to fly. In this example I've selected a BARCAP flight protecting Gudata. +To add a client slot, choose a package in the Air Tasking Order (ATO) panel on the left, and then double click the group you want to fly. In this example I've selected a BARCAP flight protecting Gudauta. ![ATO panel](https://user-images.githubusercontent.com/315852/102671854-90ed8980-4144-11eb-8c4c-5f36dd0d0a00.png) From 5c62b1fb87fef52922286d879ed9f74276d1e72f Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Thu, 3 Jun 2021 18:55:01 -0700 Subject: [PATCH 292/704] Created Campaign maintenance (markdown) --- Campaign-maintenance.md | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 Campaign-maintenance.md diff --git a/Campaign-maintenance.md b/Campaign-maintenance.md new file mode 100644 index 0000000..f79461c --- /dev/null +++ b/Campaign-maintenance.md @@ -0,0 +1,41 @@ +## Campaigns + +### Supported campaigns + +These campaigns have owners that will to keep them up to date for each release of Liberation. They might still be (frequently) incompatible on the preview branch, but they should be fixed before release. + +Map | Name | Owner (GitHub user name) +--- | --- | --- +Caucasus | Black Sea | @DanAlbert +Caucasus | Russia Small | @Khopa +NTTR | Operation Vegas Nerve | @Starfire13 +Persian Gulf | Battle of Abu Dhabi | @DanAlbert +Syria | Operation Mole Cricket | @Mustang-25 +Syria | Operation Peace Spring | @Starfire13 + +### Unsupported campaigns + +Every other campaign has no owner. **When they break they will be removed from Liberation**. If you don't want to see those campaigns disappear from Liberation, you can volunteer to maintain them. + +### Retired campaigns + +These campaigns are broken and have no owner to fix them, so they have been removed. If you want to revive them, you can volunteer to maintain them. + +Map | Name | Last included in +--- | --- | --- +Caucasus | North Caucasus | 2.5 + +## Becoming a campaign maintainer + +If there is a campaign with no owner that you want to volunteer to own, join our Discord (link on the project's main page) and let us know in the #campaign-maintenance channel (you don't need approval, we just want to know). Edit this page and add the campaign to the Supported Campaigns section. + +If there's an _owned_ campaign that you just wish was more frequently updated in the preview build, reach out to the owner in the #campaign-maintenance channel on Discord. The owner may want to keep their role in that campaign, but they might also be glad to hand off the burden :) + +To send us campaign updates, send us a Pull Request with your updates . If you don't know how to do so but want to learn, the [GitHub docs](https://docs.github.com/en/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/creating-an-issue-or-pull-request) can help. If you don't know how to use GitHub and _don't_ want to learn, that's okay too :) Just file a bug using the Campaign Update template with the updated files attached. We won't be able to respond as quickly as we can to a PR, but we'll get to it. + +We don't recommend anyone take on more than one or two campaigns, perhaps more if they're small. Spreading yourself too thin means you have less time to focus on each campaign, and we'd rather have a few great campaigns than many that work. + +## Resources + +* [Campaign design guide](https://github.com/dcs-liberation/dcs_liberation/wiki/Custom-campaigns-(3.0)) +* [Campaign format version details](https://github.com/dcs-liberation/dcs_liberation/blob/develop/game/version.py) \ No newline at end of file From f40ea769b396b522ea398df43f8aa6cc1544b0cd Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Thu, 3 Jun 2021 18:55:28 -0700 Subject: [PATCH 293/704] Updated _Sidebar (markdown) --- _Sidebar.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/_Sidebar.md b/_Sidebar.md index ad9fa60..dceef8c 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -44,10 +44,12 @@ [Modded aircraft support](https://github.com/Khopa/dcs_liberation/wiki/Modded-Aircraft-Support) -## For developers +## Contributing [Contributing to DCS Liberation](https://github.com/Khopa/dcs_liberation/wiki/Contributing-to-DCS-Liberation) +[Campaign maintenance](https://github.com/dcs-liberation/dcs_liberation/wiki/Campaign-maintenance) + [Developer's Guide](https://github.com/Khopa/dcs_liberation/wiki/Developer's-Guide) [Release process](https://github.com/Khopa/dcs_liberation/wiki/Release-process) From 5e43faa2cdfcee471ccadbe1d1e230cd79bf3796 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Thu, 3 Jun 2021 19:09:29 -0700 Subject: [PATCH 294/704] Updated Campaign maintenance (markdown) --- Campaign-maintenance.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Campaign-maintenance.md b/Campaign-maintenance.md index f79461c..8a39777 100644 --- a/Campaign-maintenance.md +++ b/Campaign-maintenance.md @@ -31,7 +31,7 @@ If there is a campaign with no owner that you want to volunteer to own, join our If there's an _owned_ campaign that you just wish was more frequently updated in the preview build, reach out to the owner in the #campaign-maintenance channel on Discord. The owner may want to keep their role in that campaign, but they might also be glad to hand off the burden :) -To send us campaign updates, send us a Pull Request with your updates . If you don't know how to do so but want to learn, the [GitHub docs](https://docs.github.com/en/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/creating-an-issue-or-pull-request) can help. If you don't know how to use GitHub and _don't_ want to learn, that's okay too :) Just file a bug using the Campaign Update template with the updated files attached. We won't be able to respond as quickly as we can to a PR, but we'll get to it. +To send us campaign updates, send us a Pull Request with your updates . If you don't know how to do so but want to learn, the [GitHub docs](https://docs.github.com/en/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/creating-an-issue-or-pull-request) can help. If you don't know how to use GitHub and _don't_ want to learn, that's okay too :) Just file a bug using the [Campaign Update template](https://github.com/dcs-liberation/dcs_liberation/issues/new?assignees=&labels=campaign-update-submission&template=campaign_update.md&title=Update+for+%3Ccampaign+name%3E) with the updated files attached. We won't be able to respond as quickly as we can to a PR, but we'll get to it. We don't recommend anyone take on more than one or two campaigns, perhaps more if they're small. Spreading yourself too thin means you have less time to focus on each campaign, and we'd rather have a few great campaigns than many that work. From f027dee058cddc7faced7758419196d3d15a60fb Mon Sep 17 00:00:00 2001 From: Mustang-25 <72566076+Mustang-25@users.noreply.github.com> Date: Thu, 3 Jun 2021 19:40:00 -0700 Subject: [PATCH 295/704] Updated Campaign maintenance (markdown) --- Campaign-maintenance.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Campaign-maintenance.md b/Campaign-maintenance.md index 8a39777..67cb4e1 100644 --- a/Campaign-maintenance.md +++ b/Campaign-maintenance.md @@ -10,7 +10,7 @@ Caucasus | Black Sea | @DanAlbert Caucasus | Russia Small | @Khopa NTTR | Operation Vegas Nerve | @Starfire13 Persian Gulf | Battle of Abu Dhabi | @DanAlbert -Syria | Operation Mole Cricket | @Mustang-25 +Syria | Operation Mole Cricket 2010 | @Mustang-25 Syria | Operation Peace Spring | @Starfire13 ### Unsupported campaigns From 3b2c4d0787ccc6976a6909c308232828b95fa5e3 Mon Sep 17 00:00:00 2001 From: Starfire13 <72491792+Starfire13@users.noreply.github.com> Date: Fri, 4 Jun 2021 12:54:51 +1000 Subject: [PATCH 296/704] Updated Campaign maintenance (markdown) --- Campaign-maintenance.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Campaign-maintenance.md b/Campaign-maintenance.md index 67cb4e1..4900799 100644 --- a/Campaign-maintenance.md +++ b/Campaign-maintenance.md @@ -8,6 +8,7 @@ Map | Name | Owner (GitHub user name) --- | --- | --- Caucasus | Black Sea | @DanAlbert Caucasus | Russia Small | @Khopa +Causasus | Operation Vectron's Claw | @Starfire13 NTTR | Operation Vegas Nerve | @Starfire13 Persian Gulf | Battle of Abu Dhabi | @DanAlbert Syria | Operation Mole Cricket 2010 | @Mustang-25 From 870db899fcf87ab1de92085005c43688611044a6 Mon Sep 17 00:00:00 2001 From: Starfire13 <72491792+Starfire13@users.noreply.github.com> Date: Fri, 4 Jun 2021 12:56:12 +1000 Subject: [PATCH 297/704] Updated Campaign maintenance (markdown) --- Campaign-maintenance.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Campaign-maintenance.md b/Campaign-maintenance.md index 4900799..102f673 100644 --- a/Campaign-maintenance.md +++ b/Campaign-maintenance.md @@ -9,7 +9,7 @@ Map | Name | Owner (GitHub user name) Caucasus | Black Sea | @DanAlbert Caucasus | Russia Small | @Khopa Causasus | Operation Vectron's Claw | @Starfire13 -NTTR | Operation Vegas Nerve | @Starfire13 +NTTR | Exercise Vegas Nerve | @Starfire13 Persian Gulf | Battle of Abu Dhabi | @DanAlbert Syria | Operation Mole Cricket 2010 | @Mustang-25 Syria | Operation Peace Spring | @Starfire13 From 4eac7872b2ec484a19d4da7c28f26302fbb44294 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Thu, 3 Jun 2021 23:30:37 -0700 Subject: [PATCH 298/704] Updated Campaign maintenance (markdown) --- Campaign-maintenance.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Campaign-maintenance.md b/Campaign-maintenance.md index 102f673..5bb6b9e 100644 --- a/Campaign-maintenance.md +++ b/Campaign-maintenance.md @@ -11,6 +11,7 @@ Caucasus | Russia Small | @Khopa Causasus | Operation Vectron's Claw | @Starfire13 NTTR | Exercise Vegas Nerve | @Starfire13 Persian Gulf | Battle of Abu Dhabi | @DanAlbert +Persian Gulf | Battle for the UAE | @Mustang-25 Syria | Operation Mole Cricket 2010 | @Mustang-25 Syria | Operation Peace Spring | @Starfire13 From c2b3ceabe50da00ee7cf8d51e416a7d812ff8a6b Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Thu, 3 Jun 2021 23:34:57 -0700 Subject: [PATCH 299/704] Created Community campaigns (markdown) --- Community-campaigns.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 Community-campaigns.md diff --git a/Community-campaigns.md b/Community-campaigns.md new file mode 100644 index 0000000..47ecda0 --- /dev/null +++ b/Community-campaigns.md @@ -0,0 +1,5 @@ +This is a list of campaigns created by the community. Feel free to edit this page! If you want to add a campaign, copy a row of the table below and fill it out with your campaign. + +Map | Campaign name | Liberation version | Author | Description +--- | --- | --- | --- | --- +Caucasus | Some campaign | 2.5 | Someone | Describe your campaign. Include a screenshot if you want. Is it large or small? What part of the map does it take place on? \ No newline at end of file From 4f6da51d2a2c442be74effc7039467532de61cff Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Thu, 3 Jun 2021 23:36:27 -0700 Subject: [PATCH 300/704] Updated _Sidebar (markdown) --- _Sidebar.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/_Sidebar.md b/_Sidebar.md index dceef8c..b640b56 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -26,6 +26,10 @@ [Squadrons and pilots](https://github.com/dcs-liberation/dcs_liberation/wiki/Squadrons-and-pilots) +## Additional content + +[Community campaigns](https://github.com/dcs-liberation/dcs_liberation/wiki/Community-campaigns) + ## Dedicated Servers [Dedicated server guide](https://github.com/Khopa/dcs_liberation/wiki/Dedicated-Server-Guide) From 670bd5cc4a9b22ed7437ca48f6fc0e456280172f Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Thu, 3 Jun 2021 23:39:38 -0700 Subject: [PATCH 301/704] Updated Community campaigns (markdown) --- Community-campaigns.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Community-campaigns.md b/Community-campaigns.md index 47ecda0..c97c218 100644 --- a/Community-campaigns.md +++ b/Community-campaigns.md @@ -1,5 +1,5 @@ This is a list of campaigns created by the community. Feel free to edit this page! If you want to add a campaign, copy a row of the table below and fill it out with your campaign. -Map | Campaign name | Liberation version | Author | Description ---- | --- | --- | --- | --- -Caucasus | Some campaign | 2.5 | Someone | Describe your campaign. Include a screenshot if you want. Is it large or small? What part of the map does it take place on? \ No newline at end of file +Map | Campaign name | Liberation version | Author | Description | Download link +--- | --- | --- | --- | --- | --- +Caucasus | Some campaign | 2.5 | Someone | Describe your campaign. Include a screenshot if you want. Is it large or small? What part of the map does it take place on? | The easiest way to upload a campaign for the wiki is to:
  1. Zip the json and miz file together
  2. Begin filing a bug (do not actually submit the bug!)
  3. Drag and drop the zip into the bug text box
  4. Copy the URL that the upload created in the bug and paste it here
  5. \ No newline at end of file From 80409b098fc168f02224da2836998dc650b67310 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Thu, 3 Jun 2021 23:43:43 -0700 Subject: [PATCH 302/704] Updated Community campaigns (markdown) --- Community-campaigns.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/Community-campaigns.md b/Community-campaigns.md index c97c218..35f56ea 100644 --- a/Community-campaigns.md +++ b/Community-campaigns.md @@ -2,4 +2,13 @@ This is a list of campaigns created by the community. Feel free to edit this pag Map | Campaign name | Liberation version | Author | Description | Download link --- | --- | --- | --- | --- | --- -Caucasus | Some campaign | 2.5 | Someone | Describe your campaign. Include a screenshot if you want. Is it large or small? What part of the map does it take place on? | The easiest way to upload a campaign for the wiki is to:
    1. Zip the json and miz file together
    2. Begin filing a bug (do not actually submit the bug!)
    3. Drag and drop the zip into the bug text box
    4. Copy the URL that the upload created in the bug and paste it here
    5. \ No newline at end of file +Caucasus | Some campaign | 2.5 | Someone | Describe your campaign. Include a screenshot if you want. Is it large or small? What part of the map does it take place on? | Upload your mission to a file sharing service and share the link here + +You can (with some effort) use GitHub for file uploads: + +1. Zip the json and miz file together +2. Begin filing a bug (do not actually submit the bug!) +3. Drag and drop the zip into the bug text box +4. Copy the URL that the upload created in the bug and paste it here + +Other options like Dropbox and Google Drive may be easier, just make sure the files are accessible to anyone. \ No newline at end of file From 61ff7df1bb6b114df239e6621f5ffab69fb07c0e Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sat, 5 Jun 2021 00:16:16 +0200 Subject: [PATCH 303/704] Updated Campaign maintenance (markdown) --- Campaign-maintenance.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Campaign-maintenance.md b/Campaign-maintenance.md index 5bb6b9e..d9fba92 100644 --- a/Campaign-maintenance.md +++ b/Campaign-maintenance.md @@ -14,6 +14,7 @@ Persian Gulf | Battle of Abu Dhabi | @DanAlbert Persian Gulf | Battle for the UAE | @Mustang-25 Syria | Operation Mole Cricket 2010 | @Mustang-25 Syria | Operation Peace Spring | @Starfire13 +Syria | Golan Heights | @Khopa ### Unsupported campaigns From 9b9b4d95e078f43c5acb41729c756846ff15fa5b Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sat, 5 Jun 2021 12:22:52 -0700 Subject: [PATCH 304/704] Updated Unit Transfers (markdown) --- Unit-Transfers.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Unit-Transfers.md b/Unit-Transfers.md index 3ca8dcd..fbfcaad 100644 --- a/Unit-Transfers.md +++ b/Unit-Transfers.md @@ -42,6 +42,8 @@ Units transferring by cargo ship will be present as a freighter in the mission. Airlift transfers move between any two airports. +Helicopters carry one unit each. Cargo planes can carry up to two units each. + Units transferring by airlift will not be directly present in the mission but will be represented by helicopters and cargo planes flying between the origin and destination. Shooting down transport aircraft will destroy the carried units, preventing those reinforcements from reaching the front line. ## Creating transfers manually From a2cd2d5c52e7955fb7652d7719d533729e86d4e8 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sat, 5 Jun 2021 14:12:00 -0700 Subject: [PATCH 305/704] Updated Auto purchase options (markdown) --- Auto-purchase-options.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Auto-purchase-options.md b/Auto-purchase-options.md index ad9a204..568e895 100644 --- a/Auto-purchase-options.md +++ b/Auto-purchase-options.md @@ -20,6 +20,8 @@ Up to half of the budget remaining after repairing runways will be spent on unit Reinforcements will first be purchased at control points with active front lines that have fewer than 30 units. Once all active front lines have at least 30 units, additional units will be assigned to all control points at random. +**Changes in DCS Liberation 3.0**: The proportion of the budget allocated to ground units scales based on the investment balance of existing air and ground units. E.g. if ground units are over-invested, more of the funds for the turn will be allocated for air units. + ## Aircraft reinforcement Any remaining budget will be used to purchase aircraft. From a30208f1102896ed84d647943ffdb19f500655b2 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sat, 5 Jun 2021 14:33:57 -0700 Subject: [PATCH 306/704] Updated Preview builds (markdown) --- Preview-builds.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Preview-builds.md b/Preview-builds.md index cc7c407..fda0aec 100644 --- a/Preview-builds.md +++ b/Preview-builds.md @@ -2,4 +2,4 @@ The latest build of the development branch can be found [here](https://github.co **This is a development branch. Sometimes we break things, and plenty of things will be works in progress. Save games may not work across builds, and you should back up any save games you don't want to lose before loading them with a development build.** -The latest builds of the 2.5.x release can be found [here](https://github.com/Khopa/dcs_liberation/actions/workflows/build.yml?query=branch%3Adevelop_2_5_x+event%3Apush). Unlike the main branch, saves _should_ remain compatible with saves from prior versions of 2.5. However, check the date of the build before downloading, as the build on this page may be older than the released version. \ No newline at end of file +The latest builds of the 3.x release can be found [here](https://github.com/Khopa/dcs_liberation/actions/workflows/build.yml?query=branch%3Adevelop-3.x+event%3Apush). Unlike the main branch, saves _should_ remain compatible with saves from prior versions of 3.x. However, check the date of the build before downloading, as the build on this page may be older than the released version. \ No newline at end of file From 72e45a77fd88001ff0f7fe848fefc513c77fbdb7 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sat, 5 Jun 2021 18:59:41 -0700 Subject: [PATCH 307/704] Updated Custom campaigns (3.0) (markdown) --- Custom-campaigns-(3.0).md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Custom-campaigns-(3.0).md b/Custom-campaigns-(3.0).md index 249d32c..2a98578 100644 --- a/Custom-campaigns-(3.0).md +++ b/Custom-campaigns-(3.0).md @@ -69,7 +69,7 @@ The group name of the unit is used to name the FOB. Inverting the campaign allows the player to play the campaign in reverse (starting from the North instead of the South, for example). This doesn't simply swap all of the control points, but swaps a number of control points as defined by the mission designer so that the player doesn't begin the campaign with most of the control points already captured. -To specify that an airbase should be owned by the player when the campaign is inverted, set the "unlimited aircraft" property of the warehouse. To specify the same for a carrier, LHA, or off-map spawn, set the "late activation" property of the group. +To specify that an airbase should be owned by the player when the campaign is inverted, set the "unlimited aircraft" property of the warehouse. To specify the same for a FOB, carrier, LHA, or off-map spawn, set the "late activation" property of the group. ### Supply routes From c73b871172946fbfa7c4edddbede368dd1f2868b Mon Sep 17 00:00:00 2001 From: sgtfuzzle17 <49757384+sgtfuzzle17@users.noreply.github.com> Date: Sun, 6 Jun 2021 12:09:53 +1000 Subject: [PATCH 308/704] Updated Community campaigns (markdown) --- Community-campaigns.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Community-campaigns.md b/Community-campaigns.md index 35f56ea..65592d9 100644 --- a/Community-campaigns.md +++ b/Community-campaigns.md @@ -3,6 +3,7 @@ This is a list of campaigns created by the community. Feel free to edit this pag Map | Campaign name | Liberation version | Author | Description | Download link --- | --- | --- | --- | --- | --- Caucasus | Some campaign | 2.5 | Someone | Describe your campaign. Include a screenshot if you want. Is it large or small? What part of the map does it take place on? | Upload your mission to a file sharing service and share the link here +Syria | Operation Allied Sword | 2.5 | Fuzzle | A Syrian-Lebanese joint force has attacked Israel, attmepting to cross the northern border. With the arrival of a US carrier group, Israel prepares its counterattack. BLUFOR must push from Ramat David north, with a split route inland for land-based and a coastal route for naval aircraft. Mid-size. Includes a custom faction file with livery overrides. | https://drive.google.com/file/d/17JH6X1dykYigB0v7DGkP7HCwNi5vzxtl/view?usp=sharing You can (with some effort) use GitHub for file uploads: From 486ceb9892e43dd58ce13378312a9ce02340e5de Mon Sep 17 00:00:00 2001 From: sgtfuzzle17 <49757384+sgtfuzzle17@users.noreply.github.com> Date: Sun, 6 Jun 2021 13:22:14 +1000 Subject: [PATCH 309/704] Updated Community campaigns (markdown) --- Community-campaigns.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Community-campaigns.md b/Community-campaigns.md index 65592d9..09c927a 100644 --- a/Community-campaigns.md +++ b/Community-campaigns.md @@ -3,7 +3,7 @@ This is a list of campaigns created by the community. Feel free to edit this pag Map | Campaign name | Liberation version | Author | Description | Download link --- | --- | --- | --- | --- | --- Caucasus | Some campaign | 2.5 | Someone | Describe your campaign. Include a screenshot if you want. Is it large or small? What part of the map does it take place on? | Upload your mission to a file sharing service and share the link here -Syria | Operation Allied Sword | 2.5 | Fuzzle | A Syrian-Lebanese joint force has attacked Israel, attmepting to cross the northern border. With the arrival of a US carrier group, Israel prepares its counterattack. BLUFOR must push from Ramat David north, with a split route inland for land-based and a coastal route for naval aircraft. Mid-size. Includes a custom faction file with livery overrides. | https://drive.google.com/file/d/17JH6X1dykYigB0v7DGkP7HCwNi5vzxtl/view?usp=sharing +Syria | Operation Allied Sword | 2.5 | Fuzzle | A Syrian-Lebanese joint force has attacked Israel, attempting to cross the northern border. With the arrival of a US carrier group, Israel prepares its counterattack. BLUFOR must push from Ramat David north, with a split route inland for land-based and a coastal route for naval aircraft. Mid-size. Includes a custom faction file with livery overrides. | https://drive.google.com/file/d/17JH6X1dykYigB0v7DGkP7HCwNi5vzxtl/view?usp=sharing You can (with some effort) use GitHub for file uploads: From 7e0a6de725d4e6a448fb80f54888f5c005e6a554 Mon Sep 17 00:00:00 2001 From: Starfire13 <72491792+Starfire13@users.noreply.github.com> Date: Sun, 6 Jun 2021 14:56:07 +1000 Subject: [PATCH 310/704] Updated Campaign maintenance (markdown) --- Campaign-maintenance.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Campaign-maintenance.md b/Campaign-maintenance.md index d9fba92..380e0ae 100644 --- a/Campaign-maintenance.md +++ b/Campaign-maintenance.md @@ -8,7 +8,7 @@ Map | Name | Owner (GitHub user name) --- | --- | --- Caucasus | Black Sea | @DanAlbert Caucasus | Russia Small | @Khopa -Causasus | Operation Vectron's Claw | @Starfire13 +Caucasus | Operation Vectron's Claw | @Starfire13 NTTR | Exercise Vegas Nerve | @Starfire13 Persian Gulf | Battle of Abu Dhabi | @DanAlbert Persian Gulf | Battle for the UAE | @Mustang-25 From 1aa0d7508085c59e8aed99c456c0873cf221a2d5 Mon Sep 17 00:00:00 2001 From: RoleplayingPleb <74385702+RoleplayingPleb@users.noreply.github.com> Date: Sun, 6 Jun 2021 15:01:00 +1000 Subject: [PATCH 311/704] Updated Campaign maintenance (markdown) --- Campaign-maintenance.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Campaign-maintenance.md b/Campaign-maintenance.md index 380e0ae..097f25a 100644 --- a/Campaign-maintenance.md +++ b/Campaign-maintenance.md @@ -15,6 +15,7 @@ Persian Gulf | Battle for the UAE | @Mustang-25 Syria | Operation Mole Cricket 2010 | @Mustang-25 Syria | Operation Peace Spring | @Starfire13 Syria | Golan Heights | @Khopa +Syria | Full Map | @Plob ### Unsupported campaigns From 340a7721b114fbef16f0fc7d9aa40925c2a3ab18 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sun, 6 Jun 2021 18:47:43 +0200 Subject: [PATCH 312/704] Updated Campaign maintenance (markdown) --- Campaign-maintenance.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Campaign-maintenance.md b/Campaign-maintenance.md index 097f25a..b525b85 100644 --- a/Campaign-maintenance.md +++ b/Campaign-maintenance.md @@ -10,6 +10,7 @@ Caucasus | Black Sea | @DanAlbert Caucasus | Russia Small | @Khopa Caucasus | Operation Vectron's Claw | @Starfire13 NTTR | Exercise Vegas Nerve | @Starfire13 +Normandy | From Caen to Evreux | @Khopa Persian Gulf | Battle of Abu Dhabi | @DanAlbert Persian Gulf | Battle for the UAE | @Mustang-25 Syria | Operation Mole Cricket 2010 | @Mustang-25 From 40a06f0e3ceccda527ee12dd267fdea21e3200be Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sun, 6 Jun 2021 13:20:02 -0700 Subject: [PATCH 313/704] Updated Campaign maintenance (markdown) --- Campaign-maintenance.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Campaign-maintenance.md b/Campaign-maintenance.md index b525b85..db52df1 100644 --- a/Campaign-maintenance.md +++ b/Campaign-maintenance.md @@ -9,8 +9,8 @@ Map | Name | Owner (GitHub user name) Caucasus | Black Sea | @DanAlbert Caucasus | Russia Small | @Khopa Caucasus | Operation Vectron's Claw | @Starfire13 -NTTR | Exercise Vegas Nerve | @Starfire13 Normandy | From Caen to Evreux | @Khopa +NTTR | Exercise Vegas Nerve | @Starfire13 Persian Gulf | Battle of Abu Dhabi | @DanAlbert Persian Gulf | Battle for the UAE | @Mustang-25 Syria | Operation Mole Cricket 2010 | @Mustang-25 From 9cdcf80b8e0a4e0ecd3dfd6f0f0487820a3a6450 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Wed, 9 Jun 2021 18:40:53 -0700 Subject: [PATCH 314/704] Updated Campaign maintenance (markdown) --- Campaign-maintenance.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Campaign-maintenance.md b/Campaign-maintenance.md index db52df1..ed2c50f 100644 --- a/Campaign-maintenance.md +++ b/Campaign-maintenance.md @@ -17,6 +17,7 @@ Syria | Operation Mole Cricket 2010 | @Mustang-25 Syria | Operation Peace Spring | @Starfire13 Syria | Golan Heights | @Khopa Syria | Full Map | @Plob +Syria | Humble Helper | @Sir-Headiii ### Unsupported campaigns From 7040622a83af990a228c9acdeba710c0c1670977 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Wed, 9 Jun 2021 18:53:48 -0700 Subject: [PATCH 315/704] Updated Campaign maintenance (markdown) --- Campaign-maintenance.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/Campaign-maintenance.md b/Campaign-maintenance.md index ed2c50f..f2b9012 100644 --- a/Campaign-maintenance.md +++ b/Campaign-maintenance.md @@ -6,18 +6,20 @@ These campaigns have owners that will to keep them up to date for each release o Map | Name | Owner (GitHub user name) --- | --- | --- +Caucasus | Around the Mountain | @DillieKoe Caucasus | Black Sea | @DanAlbert -Caucasus | Russia Small | @Khopa Caucasus | Operation Vectron's Claw | @Starfire13 +Caucasus | Russia Small | @Khopa Normandy | From Caen to Evreux | @Khopa NTTR | Exercise Vegas Nerve | @Starfire13 Persian Gulf | Battle of Abu Dhabi | @DanAlbert Persian Gulf | Battle for the UAE | @Mustang-25 +Syria | Full Map | @Plob +Syria | Golan Heights | @Khopa +Syria | Humble Helper | @Sir-Headiii +Syria | Operation Allied Sword | @sgtfuzzle17 Syria | Operation Mole Cricket 2010 | @Mustang-25 Syria | Operation Peace Spring | @Starfire13 -Syria | Golan Heights | @Khopa -Syria | Full Map | @Plob -Syria | Humble Helper | @Sir-Headiii ### Unsupported campaigns From 38dc3616954d8faf39496048964589d6195c8274 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Wed, 9 Jun 2021 19:00:11 -0700 Subject: [PATCH 316/704] Updated Campaign maintenance (markdown) --- Campaign-maintenance.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Campaign-maintenance.md b/Campaign-maintenance.md index f2b9012..786d8cc 100644 --- a/Campaign-maintenance.md +++ b/Campaign-maintenance.md @@ -8,12 +8,16 @@ Map | Name | Owner (GitHub user name) --- | --- | --- Caucasus | Around the Mountain | @DillieKoe Caucasus | Black Sea | @DanAlbert +Caucasus | Full | @docofmur +Caucasus | Multi-Part Georgia | @docofmur +Caucasus | Multi-Part Russia | @docofmur Caucasus | Operation Vectron's Claw | @Starfire13 Caucasus | Russia Small | @Khopa Normandy | From Caen to Evreux | @Khopa NTTR | Exercise Vegas Nerve | @Starfire13 Persian Gulf | Battle of Abu Dhabi | @DanAlbert Persian Gulf | Battle for the UAE | @Mustang-25 +Persian Gulf | Road to Dubai | @docofmur Syria | Full Map | @Plob Syria | Golan Heights | @Khopa Syria | Humble Helper | @Sir-Headiii From 9fdde3397bbcf5e8963194c73423f7e1de334525 Mon Sep 17 00:00:00 2001 From: RoleplayingPleb <74385702+RoleplayingPleb@users.noreply.github.com> Date: Thu, 10 Jun 2021 12:55:31 +1000 Subject: [PATCH 317/704] Updated Campaign maintenance (markdown) --- Campaign-maintenance.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Campaign-maintenance.md b/Campaign-maintenance.md index 786d8cc..96d8410 100644 --- a/Campaign-maintenance.md +++ b/Campaign-maintenance.md @@ -24,6 +24,7 @@ Syria | Humble Helper | @Sir-Headiii Syria | Operation Allied Sword | @sgtfuzzle17 Syria | Operation Mole Cricket 2010 | @Mustang-25 Syria | Operation Peace Spring | @Starfire13 +Caucasus | Northern Russia | @Plob ### Unsupported campaigns @@ -35,7 +36,7 @@ These campaigns are broken and have no owner to fix them, so they have been remo Map | Name | Last included in --- | --- | --- -Caucasus | North Caucasus | 2.5 + ## Becoming a campaign maintainer From 6133bb8ebd57d89b15b6978808b49d36fd2ea0e4 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Wed, 9 Jun 2021 21:28:34 -0700 Subject: [PATCH 318/704] Updated Campaign maintenance (markdown) --- Campaign-maintenance.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Campaign-maintenance.md b/Campaign-maintenance.md index 96d8410..3b1de29 100644 --- a/Campaign-maintenance.md +++ b/Campaign-maintenance.md @@ -11,6 +11,7 @@ Caucasus | Black Sea | @DanAlbert Caucasus | Full | @docofmur Caucasus | Multi-Part Georgia | @docofmur Caucasus | Multi-Part Russia | @docofmur +Caucasus | Northern Russia | @RoleplayingPleb Caucasus | Operation Vectron's Claw | @Starfire13 Caucasus | Russia Small | @Khopa Normandy | From Caen to Evreux | @Khopa @@ -18,13 +19,12 @@ NTTR | Exercise Vegas Nerve | @Starfire13 Persian Gulf | Battle of Abu Dhabi | @DanAlbert Persian Gulf | Battle for the UAE | @Mustang-25 Persian Gulf | Road to Dubai | @docofmur -Syria | Full Map | @Plob +Syria | Full Map | @RoleplayingPleb Syria | Golan Heights | @Khopa Syria | Humble Helper | @Sir-Headiii Syria | Operation Allied Sword | @sgtfuzzle17 Syria | Operation Mole Cricket 2010 | @Mustang-25 Syria | Operation Peace Spring | @Starfire13 -Caucasus | Northern Russia | @Plob ### Unsupported campaigns From 50df2ed337a45b3355f8961863e9bc41434049f5 Mon Sep 17 00:00:00 2001 From: bgreman <47828384+bgreman@users.noreply.github.com> Date: Thu, 10 Jun 2021 02:07:07 -0400 Subject: [PATCH 319/704] Created Frontline Movement (markdown) --- Frontline-Movement.md | 68 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 Frontline-Movement.md diff --git a/Frontline-Movement.md b/Frontline-Movement.md new file mode 100644 index 0000000..d4b8c52 --- /dev/null +++ b/Frontline-Movement.md @@ -0,0 +1,68 @@ +# Overview +Frontline movement in DCS: Liberation is based on the results of the running battle between ground units deployed out of the frontline's connected Control Points. The frontline can come no closer than 5km to an uncaptured Control Point at the start of a mission. The location of the frontline is based upon the relative Strength Ratings of the connected Control Points. + +# Base Strength +## Maximum and Minimum +The Strength Rating for a Control Point has a maximum value of 1.0 and a minimum value of 0.0. + +## Campaign Events +At the start of a campaign, each Control Point starts with Strength Rating of 1.0. After being captured, a Control Point's Strength Rating is set to 0.0. + +## Natural Regeneration/Decay for Player Control Points +Each turn that the user performs a "Take Off" and "Accept Results," all the player's Control Points increase their Strength Ratings by 0.2. Each turn after Turn 0 that the user performs a "Skip Turn," all the player's Control Points decrease their Strength Ratings by 0.2. + +# Frontline Location +The frontline location is determined by calculating the fraction of the total Control Point Strength Ratings of the frontline's connected Control Points belonging to the player. So if the player's Control Point has a Strength Rating of 0.6 and the enemy's Control Point has a Strength Rating of 0.4, the player's fraction of the total Strength Rating is `0.6 / (0.4 + 0.6) = 60%`. This fraction is then applied to the total distance between the player's Control Point and the enemy's Control Point. If the Control Points are 100 miles apart, the frontline will be 60 miles along the route between the player's Control Point and the enemy's Control Point. This distance is applied along the waypoint route set up in the Campaign's Mission file between the two Control Points. More or fewer waypoints in the route do not make the frontline move more quickly or more slowly given the same mission results, but it more waypoints do make the movement somewhat smoother in terms of orientation of the frontline. Note that the limits described above still apply, so if the distance applied would cause the frontline location to be closer than 5km to one of the connected Control Points, the frontline location is instead moved to 5km from that Control Point. + +## First Turn +Because both connected Control Points would have a strength of 1.0 at game start (and after using "Skip Turn" to advance from Turn 0 to Turn 1), the player's fraction of the total Strength Rating would be 50%, so the frontline starts exactly between the two Control Points. + +# Mission Result Impacts on Control Point Strength Rating +Based on the results of a given "Take Off" mission, the Strength Rating of the Control Points connected to a frontline are adjusted. It is this change in Strength Ratings that causes the location of the frontline to change from mission to mission. + +## Quantities Involved +The relevant quantities involved in the calculation of the Strength Rating adjustment are: enemy casualties, allied casualties, enemy remaining units, and allied remaining units. Additionally the [Frontline Stance](Frontline-Strategies-Stances) of the _player's_ Control Point at at frontline plays an important part. + +## Aggressive Stances +The player Control Point's Frontline Stance is considered to be an "Aggressive" Stance if it was one of `AGGRESSIVE`, `ELIMINATION`, or `BREAKTHROUGH`. + +## Winners and Losers +After a mission, for each frontline, a winner and loser is calculated. This is done as follows, with results being taken in the order listed: +* If the player has no surviving units at the frontline, the player loses the battle. +* If the enemy has no surviving units at the frontline, the enemy loses the battle. +* If the player's Control Point Frontline Stance is `RETREAT`, the player loses the battle. +* If the enemy takes more casualties than the player, the enemy loses the battle. +* If the player takes more casualties than the enemy, more analysis is required: + * If the player has 2x or more remaining units than the enemy _and_ the player's Control Point Frontline Stance was an "Aggressive" Stance, the enemy loses the battle. + * If the player has less than 2x more remaining units than the enemy, the player loses the battle. + +## Victory/Defeat Influence +Depending on the four quantities listed above and the player's Control Point Frontline Stance, a Victory/Defeat Influence is determined. The Victory/Defeat Influence is applied as an increase to the winning side's Control Point Strength Rating and as a decrease to the losing side's Control Point Strength Rating. + +### Victory/Defeat Influence Values +The Victory/Defeat Influence at a Frontline can have one of three values: +* STRONG = 0.5 Strength Rating increase/decrease +* Normal = 0.3 Strength Rating increase/decrease +* MINOR = 0.1 Strength Rating increase/decrease + +### Casualty Ratio +The casualty ratio at a frontline is calculated as `ratio = (1 + enemy_casualties) / (1 + allied_casualties)`. This ratio is used to determined Victory/Defeat Influence in some circumstances. + +### Victory/Defeat Influence Determination +The Victory/Defeat Influence is determined as follows: +* If the player has no remaining units, the Victory/Defeat Influence is STRONG. +* If the enemy has no remaining units, the Victory/Defeat Influence is STRONG. +* If the player's Control Point Frontline Stance is `RETREAT`, the Victory/Defeat Influence is STRONG. +* If the enemy takes more casualties than the player: + * If the player's Control Point Frontline Stance is `BREAKTHROUGH`, the Victory/Defeat Influence is STRONG. + * If the player's Control Point Frontline Stance is `DEFENSIVE` or `AMBUSH`, the Victory/Defeat Influence is MINOR. + * If the casualty ratio is greater than 3, the Victory/Defeat Influence is STRONG. + * If the casualty ratio is between 1.5 and 3, the Victory/Defeat Influence is Normal. + * If the casualty ratio is less than 1.5, the Victory/Defeat Influence is MINOR. +* If the player takes more casualties than the enemy: + * If the player has less than 2x as many remaining units as the enemy, the Victory/Defeat Influence is STRONG. + * If the player has between 2x and 3x as many remaining units as the enemy _and_ the player's Control Point Frontline Stance is an "Aggressive" Stance, the Victory/Defeat Influence is MINOR. + * If the player has 3x or more remaining units as the enemy _and_ the player's Control Point Frontline Stance is an "Aggressive" Stance, the Victory/Defeat Influence is STRONG. + +### Final Adjustment +As the turn is processed after "Accept Results" the winning side's Control Point's Strength Rating is adjusted upward by the Victory/Defeat Influence. The losing side's Control Point's Strength Rating is adjusted downward by the Victory/Defeat Influence. Then the Frontline Location is calculated for the next turn. From e77d65c983e3eee11ae09239f72207601e55bf93 Mon Sep 17 00:00:00 2001 From: bgreman <47828384+bgreman@users.noreply.github.com> Date: Thu, 10 Jun 2021 02:11:30 -0400 Subject: [PATCH 320/704] Updated _Sidebar (markdown) --- _Sidebar.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/_Sidebar.md b/_Sidebar.md index b640b56..66ae5e5 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -16,6 +16,8 @@ [Frontline Stances](https://github.com/Khopa/dcs_liberation/wiki/Frontline-Strategies-Stances) +[Frontline Movement](Frontline-Movement) + [Base Capture](https://github.com/Khopa/dcs_liberation/wiki/Base-Capture) [Performance Options](https://github.com/Khopa/dcs_liberation/wiki/Performance-Options) From 52b4a690373af921cd3b1d46359d8cb07cde1d3a Mon Sep 17 00:00:00 2001 From: docofmur <84192044+docofmur@users.noreply.github.com> Date: Thu, 10 Jun 2021 01:41:13 -0700 Subject: [PATCH 321/704] adding campaign support --- Campaign-maintenance.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Campaign-maintenance.md b/Campaign-maintenance.md index 3b1de29..d4dc54b 100644 --- a/Campaign-maintenance.md +++ b/Campaign-maintenance.md @@ -25,6 +25,7 @@ Syria | Humble Helper | @Sir-Headiii Syria | Operation Allied Sword | @sgtfuzzle17 Syria | Operation Mole Cricket 2010 | @Mustang-25 Syria | Operation Peace Spring | @Starfire13 +Syria | Road to Dubai | @docofmur ### Unsupported campaigns From e4f3bb40f4a898f04e067c6f1a1fce54f782b2e8 Mon Sep 17 00:00:00 2001 From: docofmur <84192044+docofmur@users.noreply.github.com> Date: Thu, 10 Jun 2021 01:41:44 -0700 Subject: [PATCH 322/704] Updated Campaign maintenance (markdown) --- Campaign-maintenance.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Campaign-maintenance.md b/Campaign-maintenance.md index d4dc54b..0fc8eab 100644 --- a/Campaign-maintenance.md +++ b/Campaign-maintenance.md @@ -25,7 +25,7 @@ Syria | Humble Helper | @Sir-Headiii Syria | Operation Allied Sword | @sgtfuzzle17 Syria | Operation Mole Cricket 2010 | @Mustang-25 Syria | Operation Peace Spring | @Starfire13 -Syria | Road to Dubai | @docofmur + ### Unsupported campaigns From f469518a073970a6c1a5da79b18f6955be382160 Mon Sep 17 00:00:00 2001 From: Jeet Sukumaran Date: Thu, 10 Jun 2021 13:42:12 -0700 Subject: [PATCH 323/704] Updated Mission planning (markdown) --- Mission-planning.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Mission-planning.md b/Mission-planning.md index d5b35cd..33834ca 100644 --- a/Mission-planning.md +++ b/Mission-planning.md @@ -78,7 +78,9 @@ An OCA/Aircraft mission can be planned against an enemy airfield. Its purpose is ### OCA/Runway -An OCA/Runway mission can be planned against an enemy airfield. Its purpose is to damage the runway to prevent the enemy from using the airbase to launch future missions. The flight will rendezvous with the rest of its package and proceed to its ingress point before lining up with and bombing the runway. If the runway is sufficiently damaged in a single turn it will be destroyed. The amount of damage required to destroy a runway is defined by DCS. +An OCA/Runway mission can be planned against an enemy airfield. Its purpose is to damage the runway to prevent the enemy from using the airbase to launch future missions. The flight will rendezvous with the rest of its package and proceed to its ingress point before lining up with and bombing the runway. If the runway is sufficiently damaged in a single turn it will be destroyed. + +The amount of damage required to destroy a runway is defined by DCS. Currently it takes a total of 6000 lbs of general-purpose high-explosive to destroy a runway: e.g., 12x 500lb MK-82/MK-82Y, 6x 1000lb MK-83, or 3x 2000lb MK-84 (or their LGB equivalents). On the other hand, with "bunker-busting" or penetrator warheads only 2000 lbs is required: e.g., a *single* GBU31v3 (or GBU31v4) is sufficient to kill a runway. (The GBU-24 in DCS is graphically shown with a BLU-109 warhead, but is modeled in the game as having a BLU-117 non-penetrating GP warhead, so until this is fixed it still takes 3 of these to kill a runway rather than 1). A destroyed runway will not be usable for missions and aircraft cannot be purchased or sold until the runway is repaired. Repairing the runway takes four turns and costs $100M. The AI will attempt to repair the runway whenever they can afford to do so. If the runway is damaged again before repair is complete the repair progress will stop and need to be purchased again. From d502f36400edb67b14472b62c79a00b14a23f7b8 Mon Sep 17 00:00:00 2001 From: Jeet Sukumaran Date: Thu, 10 Jun 2021 13:44:33 -0700 Subject: [PATCH 324/704] Updated Mission planning (markdown) --- Mission-planning.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Mission-planning.md b/Mission-planning.md index 33834ca..bbf7369 100644 --- a/Mission-planning.md +++ b/Mission-planning.md @@ -80,7 +80,7 @@ An OCA/Aircraft mission can be planned against an enemy airfield. Its purpose is An OCA/Runway mission can be planned against an enemy airfield. Its purpose is to damage the runway to prevent the enemy from using the airbase to launch future missions. The flight will rendezvous with the rest of its package and proceed to its ingress point before lining up with and bombing the runway. If the runway is sufficiently damaged in a single turn it will be destroyed. -The amount of damage required to destroy a runway is defined by DCS. Currently it takes a total of 6000 lbs of general-purpose high-explosive to destroy a runway: e.g., 12x 500lb MK-82/MK-82Y, 6x 1000lb MK-83, or 3x 2000lb MK-84 (or their LGB equivalents). On the other hand, with "bunker-busting" or penetrator warheads only 2000 lbs is required: e.g., a *single* GBU31v3 (or GBU31v4) is sufficient to kill a runway. (The GBU-24 in DCS is graphically shown with a BLU-109 warhead, but is modeled in the game as having a BLU-117 non-penetrating GP warhead, so until this is fixed it still takes 3 of these to kill a runway rather than 1). +The amount of damage required to destroy a runway is defined by DCS. Currently it takes a total of 6000 lbs of general-purpose high-explosive to destroy a runway: e.g., 12x 500lb MK-82/MK-82Y, 6x 1000lb MK-83, or 3x 2000lb MK-84 (or their LGB equivalents). On the other hand, with "bunker-busting" or penetrator warheads only 2000 lbs is required: e.g., a *single* GBU31v3 (or GBU31v4) is sufficient to kill a runway. (The GBU-24 in DCS is graphically shown with a BLU-109 warhead, but is modeled in the game as having a BLU-117 non-penetrating GP warhead, so until this is fixed it still takes 3 of these to kill a runway rather than 1). A successfully destroyed runway will show up in the DCS debrief as a "dead" event with initiator "0". A destroyed runway will not be usable for missions and aircraft cannot be purchased or sold until the runway is repaired. Repairing the runway takes four turns and costs $100M. The AI will attempt to repair the runway whenever they can afford to do so. If the runway is damaged again before repair is complete the repair progress will stop and need to be purchased again. From 4b311fe0aea7d35917887b2ab280dcb7914361f0 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 11 Jun 2021 00:09:43 -0700 Subject: [PATCH 325/704] Updated Getting started (markdown) --- Getting-started.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Getting-started.md b/Getting-started.md index 765e01f..933c74b 100644 --- a/Getting-started.md +++ b/Getting-started.md @@ -1,3 +1,5 @@ +**The tutorial is out of date for DCS Liberation 3.0.** See the other sections of [the manual](https://github.com/dcs-liberation/dcs_liberation/wiki) for help. If you want to help us update the tutorial, [join the #doc-maintenance channel in our discord](https://discord.gg/fpJRYBV9). + **Important Note before you launch DCS Liberation :** DCS Liberation will modify the following file in your DCS installation: `/Scripts/MissionScripting.lua`. This allows Liberation to record information about mission events. This will **not** prevent you from passing the integrity check to join multiplayer servers. From 9a6a015d96865413e5522bd584c9378dfc1f0523 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 11 Jun 2021 00:09:53 -0700 Subject: [PATCH 326/704] Updated Tutorial 01 : UI (markdown) --- Tutorial-01-:-UI.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tutorial-01-:-UI.md b/Tutorial-01-:-UI.md index 8e781b1..03398bc 100644 --- a/Tutorial-01-:-UI.md +++ b/Tutorial-01-:-UI.md @@ -1,4 +1,4 @@ -**Note: This guide was written for a previous version of DCS Liberation. The screenshots and information are out of date.** +**The tutorial is out of date for DCS Liberation 3.0.** See the other sections of [the manual](https://github.com/dcs-liberation/dcs_liberation/wiki) for help. If you want to help us update the tutorial, [join the #doc-maintenance channel in our discord](https://discord.gg/fpJRYBV9). Now that you have started a campaign, let's go through the UI to get an understanding of what is displayed first. From 3cb415a4f0a1ac5a5e8845def765093de91e970c Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 11 Jun 2021 00:10:03 -0700 Subject: [PATCH 327/704] Updated Tutorial 02: Turn Zero (markdown) --- Tutorial-02:-Turn-Zero.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Tutorial-02:-Turn-Zero.md b/Tutorial-02:-Turn-Zero.md index 1f61f08..09e5f55 100644 --- a/Tutorial-02:-Turn-Zero.md +++ b/Tutorial-02:-Turn-Zero.md @@ -1,3 +1,5 @@ +**The tutorial is out of date for DCS Liberation 3.0.** See the other sections of [the manual](https://github.com/dcs-liberation/dcs_liberation/wiki) for help. If you want to help us update the tutorial, [join the #doc-maintenance channel in our discord](https://discord.gg/fpJRYBV9). + In DCS Liberation you may take control of planning decisions regarding the course of the ongoing war. This is a turn based simulation. Each turn, DCS Liberation will generate a DCS World mission for you to fly. Note that, in general, **only the events that occur while the mission is running will have any effect**. There are exceptions to this rule such as ferry flights and airfield repairs, but _missions_ will only be completed if they are completed while the game is running. **DCS Liberation does not simulate combat if the player quits the mission before it completes.** From ffe6607a9d7ccdc8473965135acd4683b6fd68ab Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 11 Jun 2021 00:10:13 -0700 Subject: [PATCH 328/704] Updated Tutorial 03: First operation (markdown) --- Tutorial-03:-First-operation.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Tutorial-03:-First-operation.md b/Tutorial-03:-First-operation.md index 9330ff8..da8e5b1 100644 --- a/Tutorial-03:-First-operation.md +++ b/Tutorial-03:-First-operation.md @@ -1,3 +1,5 @@ +**The tutorial is out of date for DCS Liberation 3.0.** See the other sections of [the manual](https://github.com/dcs-liberation/dcs_liberation/wiki) for help. If you want to help us update the tutorial, [join the #doc-maintenance channel in our discord](https://discord.gg/fpJRYBV9). + Now that you're on turn 1, you should see some messages about reinforcements and mission planning in the info panel at the bottom of the screen: ![Info panel](https://user-images.githubusercontent.com/315852/102669213-d741e900-4142-11eb-83d3-858e62643fec.png) From de11ad73dce555ac43048f4d4db163b1bc249161 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 11 Jun 2021 00:10:21 -0700 Subject: [PATCH 329/704] Updated Tutorial 04 : Setting up a custom "Strike" mission (markdown) --- "Tutorial-04-:-Setting-up-a-custom-\"Strike\"-mission.md" | 2 ++ 1 file changed, 2 insertions(+) diff --git "a/Tutorial-04-:-Setting-up-a-custom-\"Strike\"-mission.md" "b/Tutorial-04-:-Setting-up-a-custom-\"Strike\"-mission.md" index 247add9..f1df3f2 100644 --- "a/Tutorial-04-:-Setting-up-a-custom-\"Strike\"-mission.md" +++ "b/Tutorial-04-:-Setting-up-a-custom-\"Strike\"-mission.md" @@ -1,3 +1,5 @@ +**The tutorial is out of date for DCS Liberation 3.0.** See the other sections of [the manual](https://github.com/dcs-liberation/dcs_liberation/wiki) for help. If you want to help us update the tutorial, [join the #doc-maintenance channel in our discord](https://discord.gg/fpJRYBV9). + ## Determining a target : The first step is to find a target to Strike. From bf911bb8fa16e373b0b802316dc09057ddfd8030 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 11 Jun 2021 00:32:47 -0700 Subject: [PATCH 330/704] Update for 3.0. --- Custom-campaigns.md | 272 ++++++++++++++++++++++---------------------- 1 file changed, 138 insertions(+), 134 deletions(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index 154fa53..2a98578 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -1,5 +1,3 @@ -**Changes for DCS Liberation 3.0:** Campaign definition has changed significantly in DCS Liberation 3.0. That guide is being kept [here](https://github.com/dcs-liberation/dcs_liberation/wiki/Custom-campaigns-(3.0)) until release to avoid confusion. - Campaigns in DCS Liberation can be modified using the mission editor. Each campaign is defined by a JSON file to provide metadata, and a DCS mission file (`.miz` file) to set up the theater. The included campaigns can be modified, or new campaigns can be added to the `resources/campaigns` directory of the Liberation install. @@ -10,6 +8,10 @@ DCS Liberation must be restarted after campaign changes are made. Campaign chang If the campaign does not appear in the New Game wizard, there is likely an issue in the JSON file. Check the console window for errors. +### Campaign changes in the dev branch + +Breaking campaign changes to do not get documented on the wiki immediately, but will always be listed in the notes next to `CAMPAIGN_FORMAT_VERSION` in [game/version.py](https://github.com/dcs-liberation/dcs_liberation/blob/develop/game/version.py). + ## Descriptor file The campaign uses a JSON file to describe some metadata. To create a new campaign, add a JSON file (such as `mycampaign.json`) to `resources\campaigns`. @@ -24,7 +26,7 @@ This json file should contain a json object, with the following parameters : Note that this field is **not** the DCS Liberation version, but the version of the campaign file format. The latest version is defined by `CAMPAIGN_FORMAT_VERSION` in [game/version.py](https://github.com/Khopa/dcs_liberation/blob/develop/game/version.py). - If `version` is not set or is `0`, the campaign is from an unknown version of the game and will be marked as incompatible in the new game wizard. + If `version` is not set or is `"0"`, the campaign is from an unknown version of the game and will be marked as incompatible in the new game wizard. * `recommended_player_faction`: The recommended player faction (will be automatically selected by default on the faction selection page) * `recommended_enemy_faction`: The recommended enemy faction (will be automatically selected by default on the faction selection page) * `miz`: The name of the miz file (in the same `resources\campaigns` directory) that describes the campaign. @@ -63,170 +65,158 @@ A FOB a a capturable point that can spawn ground units but not aircraft. A FOB i The group name of the unit is used to name the FOB. -FOB defenses function similarly to airbase defenses and their spawn positions are determined by placing the same units. The only difference is that the chance for a group to be generated are determined as follows: - -*Between 2 and 6 defense groups are generated. -*The first group has 1/2 chance of being a SHORAD and a 1/2 chance of being a garrison. -*All further groups have a 1/3 chance of being a SHORAD and a 2/3 chance of being a garrison. - -Note that a FOB will not generate objective locations as an airbase would. - -#### Importance - -Control points can be assigned an "importance", which determines the proportion of their forces that the AI commander will assign to the control point. This value is set using the `Periodicity` property of the control point's warehouse. This applies to airbases only. - -30 is the default in the editor and leaving it at 30 will cause it to have its default priority in the campaign (1.2). - -Custom priorities may be set by changing the periodicity to a value between 10 and 14 (inclusive), with 14 being the most important and 10 being the least important. This value will be divided by 10 to fit the game's importance range of 1.0 to 1.4, so a value of 12 will also set the default importance of 1.2. - #### Campaign inversion Inverting the campaign allows the player to play the campaign in reverse (starting from the North instead of the South, for example). This doesn't simply swap all of the control points, but swaps a number of control points as defined by the mission designer so that the player doesn't begin the campaign with most of the control points already captured. -To specify that an airbase should be owned by the player when the campaign is inverted, set the "unlimited aircraft" property of the warehouse. To specify the same for a carrier, LHA, or off-map spawn, set the "late activation" property of the group. +To specify that an airbase should be owned by the player when the campaign is inverted, set the "unlimited aircraft" property of the warehouse. To specify the same for a FOB, carrier, LHA, or off-map spawn, set the "late activation" property of the group. -### Front lines +### Supply routes -Front lines are defined by placing a CJTF Blue M-113 at an airfield and defining a route to the connected control point. The front line will follow the _waypoints_ of the vehicle group (not the path, so using on-road waypoints will not cause the front line to follow roads automatically), so waypoints should be placed at each location that the front line should turn to avoid terrain. The route beginning and end points will be used as the origin and destination endpoints for convoys, so each end point of the route should be placed on a road. The beginning and ending waypoints will associate with the nearest airfields when the campaign is generated. +Supply routes are defined by placing a CJTF Blue M-113 at an airfield and defining a route to the connected control point. Front lines progress along supply routes, and supply routes also define road networks for ground unit transit. -**Important:** Care should be taken to route the frontline around exclusion zones. If the center of the frontline location lies in an exclusion zones, frontline units may not spawn correctly. You can view the exclusion zones in the Liberation UI by enabling the display option "Map Debug Mode" +The supply route will follow the _waypoints_ of the vehicle group (not the path, so using on-road waypoints will not cause the front line to follow roads automatically), so waypoints should be placed at each location that the front line should turn to avoid terrain. The route beginning and end points will be used as the origin and destination endpoints for convoys, so each end point of the route should be placed on a road. The beginning and ending waypoints will associate with the nearest airfields when the campaign is generated. + +**New in DCS Liberation 3.0:** The begin and end waypoints of the path defining the front line route define the origin and destination for convoy routes. Endpoints of the route should be placed on or near roads so that convoys can get moving quickly. If far from a road, units will move from their location off-road to the road one at a time until they have all reached the road. + +**Important:** Care should be taken to route the frontline around exclusion zones. If the center of the frontline location lies in an exclusion zones, frontline units may not spawn correctly. You can view the exclusion zones in the Liberation UI by enabling the display option "Map Debug Mode" + +### Shipping lanes + +**New in DCS Liberation 3.0:** Shipping lanes define routes for transporting units between control points via cargo ships. + +To define a shipping lane, place a CJTF Blue Bulker Handy Wind. Shipping lanes should begin in port areas that are navigable by ships and have a route to another port area. DCS ships *will not* avoid driving into islands, so ensure that their waypoints plot a navigable route. ### Base defenses -Airbases will randomly generate a set of base defenses at the beginning of the campaign. The campaign generator currently uses the following algorithm when deciding what base defenses to spawn: - -* Spawn 1 EWR -* Spawn 1 garrison - -Then the generator will create between 2 and 5 (evenly weighted) additional defenses with the following probabilities: - -* The first has a 1/2 chance of being a SAM, 1/6 chance of being a SHORAD, and 2/6 chance of being a garrison. -* The second through fifth groups have a 1/3 chance of being a SHORAD and a 2/3 chance of being a garrison. - -This means that if the campaign designer wishes to avoid randomly positioned base defenses, they must define at least: - -* 7 EWR locations -* 7 air defense locations (SAMs and SHORADs differ by unit type but share placement locations) -* 6 garrison locations - -More can be placed to allow more variety in each campaign. When generating base defenses, locations will be selected from the presets at random. If no more preset locations remain for the given type, the generator will fall back to random positioning. Random positioning can result in units being placed under water, on buildings, on steep mountain slopes, etc, so it should not be relied upon. - -Base defense locations will automatically be associated with the closest control point to them. - -#### EWR - -To define a potential EWR location, place a CJTF Blue EWR 55G6. If the unit is more than 2NM away from a control point, it will become a potential strike EWR target. If the unit is within 2NM from a control point, it will become a potential base EWR target. - -NOTE: One EWR will always be assigned to each control point. - -To define an EWR location that will always be generated, place a CTJF Red EWR 1L13. This can be placed anywhere and does not need to be within 2NM of a base. - -#### Air defenses - -To define a potential air defense location, place a CJTF Blue S-300PS SR 64H6E within a 2 NM radius of the control point. Units placed outside that radius will be regular objective locations rather than base defenses. - -The campaign generator will use these locations to spawn all ranges of air defenses, from an SA-10 to AAA. Precisely what is spawned depends on whether the generator uses the location for a SAM or SHROAD, the faction's available equipment, and random selection of that equipment during campaign generation. - -#### Garrisons - -Garrisons are ground units placed at the airbase that defend against the encroaching enemy front line. To define potential locations for garrison groups, place a CJTF Blue SA-19 Tunguska 2S6. +**New in DCS Liberation 3.0:** Random base defense generation is being removed. Replace the old base defense spawn locations with the desired number of fixed IADS and armor groups. ### Objective locations -The campaign generator will automatically generate a number of objective locations attached to each control point (airbases only). The quantities and types of objectives depends on the faction, the player's options, and random chance. +**New in DCS Liberation 3.0:** Random objective locations should no longer be used. The instructions below describe how to place fixed objectives. The contents below have changed significantly since 2.5 and should be read in full when converting campaigns. Objective locations are automatically associated with their closest control point. -* A random number of naval groups will be generated based on the faction and player options. -* A random number of missile sites will be generated at airbases based on the faction. -* Between 2 and 7 other objectives will be generated at airbases. These other objectives have a 1 in 4 chance of being SAMs. 3 in 4 will be strike targets (either land based or offshore). - -In each case, if not enough preset locations are available for the given type, the generator will fall back to random positioning. This can result in ships being placed on land, SAMs being placed underwater, or factories being placed on top of other buildings. - #### Strike targets -Strike targets make up the bulk of the objective locations and will be spawned connected to control points (airbases and FOBs). These come in a variety of types depending on the faction: +Strike targets are buildings that generate income for the owning coalition. These come in a variety of types depending on the faction: -* SAMs -* EWRs * Power plants -* Ammo depots * Fuel depots * Warehouses * FARPs -* FOBs -* Factories * Communications towers -* Offshore oil platforms * Oil derricks * Bunkers * Villages * Army camps -* Map Objects -Note that it is possible to require that certain SAM locations are generated, and each required SAM will cause a random SAM to be skipped (though it will not skip other objective locations). This is described further in the IADS section. +To define a strike target location, place a Tech Combine structure. The unit may be either red or blue (the only difference is currently readability of the mission editor, but in the future will determine which coalition owns the objective). -Between 2 and 7 strike targets will be generated at each airbase, so to avoid random locations place at least 7 each of ground and offshore strike locations. Offshore locations will not be possible at every airbase. If no preset locations are defined the generator will fall back to random positioning, which will also fail, causing no offshore locations to be created. This is expected. +#### Offshore strike targets -To define a ground based strike location, place a CJTF Blue S-300PS SR 64H6E at least 2 NM from the associated air base. Locations within 2 NM will be base defense locations rather than strike locations. +Offshore strike targets generate income for the owning coalition. -To define an offshore strike target, place a CJTF Blue Oil Platform. +To define an offshore strike target, place a CJTF Red Oil Platform. -Beginning in DCS Liberation 3.0, it is also possible to create strike targets using built in map objects. These are the buildings/trees/scenery that are placed by the map developer (Eagle Dynamics, etc). Liberation uses trigger zones to define scenery as a strike target. +#### Map objects -**How to define scenery as a strike target:** +Arbitrary map objects may be used as strike targets. These are the buildings/trees/scenery that are placed by the map developer (Eagle Dynamics, etc). Liberation uses trigger zones to define scenery as a strike target. -Determine some buildings that you would like to use as part of an objective. For each building, right click and select "assign as...", this will create a trigger zone, centered on the building's geometric center. You may leave the name of the trigger zone as its default, or rename it to what you'd like the player to see. Do not modify the color (white), or the properties. Note that the more buildings at an objective, the more income the objective will create. Once a group of buildings has been determined, create new _circular_ trigger zone through the Mission Editor's sidebar, and give it the color of blue (`0 Red`, `0 Green`, `255 Blue`; there is a shortcut button that is blue in case you do not want to type the RGB numbers in manually). Move this trigger zone near the center of your desired objective building group, then scale the blue trigger zone's radius until the blue trigger zone surrounds all of the objective's white trigger zones (specifically their centers). Ensure each blue trigger zone has a unique name. Because blue trigger zones define objectives, you must tell Liberation what type of objective it is. Create a property for the objective definition, with the value field as be any of the entries listed in `game/db.py : REWARDS`, repeated below for convenience. This must be the first property in the objective definition (blue) trigger zone. +To define a map object strike target, right click the building in the mission editor and select "assign as...". This will create a trigger zone around the building. The name of this trigger zone will be used to identify the building in the Liberation UI. Do not modify the color (white) or the properties. This creates the individual building that will be a part of the objective group. - - `power` - - `ware` - - `fuel` - - `ammo` - - `farp` - - `fob` - - `factory` - - `comms` - - `oil` - - `derrick` +Create new _circular_ trigger zone through the Mission Editor's sidebar, and give it the color of blue (`0 Red`, `0 Green`, `255 Blue`; there is a shortcut button that is blue in case you do not want to type the RGB numbers in manually). Place this trigger zone such that it encloses each of the centers of the objective's white trigger zones. This defines the objective area (named, targetable group of buildings), whereas the white zones define the individual buildings of the objective location. Each group zone must have a unique name. + +Create a property for the objective definition with the value field set to any of the entries listed in `game/db.py : REWARDS` (listed below for convenience, but may be out of date). **This must be the first property in the group zone.** This field defines the category (objective type) of the group, which impacts income generation per building. + +* `power` +* `ware` +* `fuel` +* `farp` +* `fob` +* `comms` +* `oil` +* `derrick` + +Each **structure** will generate its own income, not each **group**. This means that large groups of structures will generate large amounts of income. + +Note that `factory` and `ammo` have different behavior. See the documentation on factories and ammunition depots below. **Map Object Limitations:** -- Objective definitions (Blue TriggerZones) in campaign definition cannot overlap. -- Campaign creator must define objective type. -- No images for the various buildings. -- Every blue trigger zone must have a unique name. +* Objective group definitions (blue trigger zones) cannot overlap. +* The campaign creator must define objective type. +* No images for the various buildings in the Liberation UI, briefing, or kneeboard. Target identification will be difficult. +* Every blue trigger zone must have a unique name. +#### Factories + +Factories are ground unit producing structures. Ground units may only originate from control points that have factories, so it is essential that each coalition have access to them. Units will form convoys to move between control points, and convoys may be interdicted to interrupt reinforcements. Destroyed factories will stop producing units. When a control point loses its last factory, it will no longer be a source for ground units. + +Factories also generate $10M per turn for the owner. + +Define factory locations with CJTF Blue Workshop A structures. + +Recommendations for factory placement: + +* Prefer back-line control points or major transit hubs (especially ports and large airports capable of fielding cargo planes) for factory locations. This allows units to reach their destinations more quickly. +* Avoid placing factories at control points that begin as the front line. Factories on the front line mean that convoys will not be formed and this removes a mission type for the player. +* Defend factories with IADS and (if accessible by the front line), armor groups. + +Note that map objects (defined in the previous section) may be used as factories. Use the `factory` category. + +#### Ammunition Depots +Ammunition Depots provide control over how many ground units are available to be deployed to the front line from it's closest control point. This directly effects how many ground units may be deployed on a front line. + +Each control point has a free `15` deploy-able ground units available to it before ammunition depot buildings are required to raise the limit of how many ground units may be deployed. Each additional ammunition depot building raises the limit by `12` units. + +Ammunition Depots are placed in a campaign using the `Ammunition Depot` warehouse object to spawn the default template of one `Ammunition Depot` and two `Hangar B`s. Each ammunition depot template will raise the front line ground unit limit by `36` units. + +Alternatively, scenery objectives may be used with the `ammo` category to define an ammunition depot objective. + +Recommendations for Ammunition Depot placement: +* Defend your ammunition depots with IADS and ground units. #### Ships -Ships can be generated at airbases, carriers, and LHAs (but not off-map spawns). Ships will not be spawned if the player has disabled either player or enemy navies in the campaign generation options, or if the faction does not have naval units defined. The number of naval groups spawned is determined randomly between 0 and the limit defined by the faction, uniformly. There is no limit on how many can be spawned as is it is up to the faction designer, so place as can sensibly be placed (a dozen should be more than enough, and five should be plenty). +Ships can be generated at airbases, carriers, and LHAs (but not off-map spawns). Ships will not be spawned if the player has disabled either player or enemy navies in the campaign generation options, or if the faction does not have naval units defined. -To define a potential ship location place a CJTF Blue Arleigh Burke IIa. +To define a ship location place a CJTF Red Arleigh Burke IIa. #### Missile sites -Missile sites (scuds, V-2s, etc) can be generated at airbases. Missile sites will only be spawned if the faction has them defined, and the amount is randomly selected between 0 and the limit defined by the faction. There is no limit on how many can be spawned as is it is up to the faction designer, so place as can sensibly be placed (a dozen should be more than enough, and five should be plenty). +Missile sites (scuds, V-2s, etc) can be generated at airbases and FOBs. Missile sites will only be spawned if the faction has them defined. -To define a potential missile site place a CJTF Blue SRBM SS-1C Scud-B 9K72 LN 9P117M. +To define a missile site place a CJTF Red SSM SS-1C Scud-B. + +#### Coastal defenses + +Coastal defenses (silkworms) can be generated at airbases and FOBs. Coastal defenses will only be spawned if the faction has them defined. + +To define a missile site place a CJTF Red AShM SS-N-2 Silkworm. + +#### Armor groups + +Armor groups are ground units that defend the assigned location. These groups will not move. + +To define potential locations for garrison groups, place a (red or blue) MBT M1A2 Abrams. ### IADS -To guarantee that each faction begins with a strong IADS, SAMs and EWRs can be forced to spawn at specific locations. These will take the place of the randomly generated SAM and EWR objectives when they exist, but are not required. They are strongly recommended as random IADS placement will lead to more easily defeated air defenses. +IADS locations are automatically associated with the control point closest to them. -Required IADS locations are automatically associated with the control point closest to them. +SAM locations are split into four types: long range, medium range, short range, and AAA. Each type of position will prefer to be filled by its exact type, but if the faction has no air defenses of that type available the generator will continue to downgrade the site until it finds a match. For example, a medium range SAM may be used in place of a long range SAM. _Upgrades_ are not allowed. -Required SAM locations are split into two types: long and medium range. Long range positions will prefer to be filled long range SAMs, and medium range positions will prefer to be filled by medium range SAMs. If the faction does not have the required class of SAM available, a downgrade will be used (for example, a medium range SAM may be used in place of a long range SAM, but not vice versa). - -Note that the exact type of SAM or EWR that will be placed depends on the faction data. However, when designing a campaign with specific factions in mind (such as Syria defending on the Syria map), this allows the designer to see the coverage of the SAMs used by the intended faction. This way the designer can be sure that sufficient coverage will be present in the campaign when a faction using a specific type of SAM is used. +Note that the exact type of SAM or EWR that will be placed depends on the faction definition. However, when designing a campaign with specific factions in mind (such as Syria defending on the Syria map), this allows the designer to see the coverage of the SAMs used by the intended faction. This way the designer can be sure that sufficient coverage will be present in the campaign when a faction using a specific type of SAM is used. #### Early Warning Radars -To define a required EWR location, place a CJTF **Red** EWR 1L13. +To define an EWR location, place a CJTF Red EWR 1L13. #### Long range SAMs -Currently the only two long range SAM systems are the Patriot and the SA-10 (S-300). If the faction does not have either of those systems, medium range SAMs will be generated instead. +Currently the only two long range SAM systems are the Patriot and the SA-10 (S-300). If the faction does not have either of those systems, the location will be downgraded to a compatible type. -To define a required long range SAM location, place a CJTF **Red** unit of any of the following types: +To define a long range SAM location, place a CJTF Red unit of any of the following types: * SAM Patriot LN M901 * SAM SA-10 S-300PS LN 5P85C @@ -234,36 +224,50 @@ To define a required long range SAM location, place a CJTF **Red** unit of any o #### Medium range SAMs -Medium range SAMs include any SAMs that do not qualify as long range SAMs. If the faction has no medium range SAMs available those positions will be filled by SHORADS. +Medium range SAMs include most radar SAMs that do not qualify as long range SAMs. If the faction has no medium range SAMs available, the location will be downgraded to a compatible type. -To define a required medium range SAM location, place a CJTF **Red** unit of any of the following types: +To define a medium range SAM location, place a CJTF Red unit of any of the following types: * SAM Hawk LN M192 * SAM SA-2 LN SM-90 * SAM SA-3 S-125 LN 5P73 +#### Short range SAMs + +Short range SAMs include IR SAMs and shorter range radar guided systems. If the faction has no short range SAMs available, the location will be downgraded to a compatible type. + +To define a short range SAM location, place a CJTF Red unit of any of the following types: + +* SAM Avenger (Stinger) +* SAM Rapier LN +* SAM SA-19 Tunguska "Grison" +* SAM SA-9 Strela 1 "Gaskin" TEL + +#### AAA + +AAA sites include self-propelled and static anti-air artillery systems. If the faction has no AAA available, the location will not be generated. + +To define a AAA location, place a unit (red or blue) of any of the following types: + +* AAA 8,8cm Flak 18 +* SPAAA Vulcan M163 +* SPAAA ZSU-23-4 Shilka "Gun Dish" + ## Unit Type Quick Reference: -* #### Required Long Range SAMs (CJTF Red): - * SAM Patriot LN M901 - * SAM SA-10 S-300PS LN 5P85C - * SAM SA-10 S-300PS LN 5P85D -* #### Required Medium Range SAMs (CJTF Red): - * SAM Hawk LN M192 - * SAM SA-2 LN SM-90 - * SAM SA-3 S-125 LN 5P73 -* #### Missile Sites (CJTF Blue): - * SRBM SS-1C Scud-B 9K72 LN 9P117M -* #### Ship (CJTF Blue): - * Arleigh Burke IIa -* #### Offshore Strike Target (CJTF Blue): - * Oil Platform -* #### Garrison (CJTF Blue): - * SA-19 Tunguska 2S6 -* #### Air Defenses (CJTF Blue): - * S-300PS SR 64H6E -* #### EWR (CJTF Blue): - * EWR 55G6 -* #### Required EWR (CJTF Red): - * EWR 1L13 -* #### FOB (CJTF Blue/CJTF Red): - * CP_SKP_11_ATC_Mobile_Command_Post \ No newline at end of file + +Objective type | Coalition | Unit types +-|-|- +EWR | Red | EWR 1L13 +Long range SAM | Red | SAM Patriot LN M901
      SAM SA-10 S-300PS LN 5P85C
      SAM SA-10 S-300PS LN 5P85D +Medium range SAM | Red | SAM Hawk LN M192
      SAM SA-2 LN SM-90
      SAM SA-3 S-125 LN 5P73 +Short range SAM | Red | SAM Avenger (Stinger)
      SAM Rapier LN
      SAM SA-19 Tunguska "Grison"
      SAM SA-9 Strela 1 "Gaskin" TEL +AAA | Either | AAA 8,8cm Flak 18
      SPAAA Vulcan M163
      SPAAA ZSU-23-4 Shilka "Gun Dish" +Factory | Blue| Workshop A +Ammo Depot | Either | Ammunition depot +Strike target | Either | Tech combine +Offshore strike target | Red | Oil Platform +Missile Sites | Red | SSM SS-1C Scud-B +Coastal defenses | Red | AShM SS-N-2 Silkworm +Ship | Red | Arleigh Burke IIa +Armor group | Either | MBT M1A2 Abrams +FOB | Either | Truck SKP-11 Mobile ATC \ No newline at end of file From 99f93461484f7500a67c8931028970952887a94f Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 11 Jun 2021 00:33:01 -0700 Subject: [PATCH 331/704] Updated Custom campaigns (3.0) (markdown) --- Custom-campaigns-(3.0).md | 274 +------------------------------------- 1 file changed, 1 insertion(+), 273 deletions(-) diff --git a/Custom-campaigns-(3.0).md b/Custom-campaigns-(3.0).md index 2a98578..f825030 100644 --- a/Custom-campaigns-(3.0).md +++ b/Custom-campaigns-(3.0).md @@ -1,273 +1 @@ -Campaigns in DCS Liberation can be modified using the mission editor. Each campaign is defined by a JSON file to provide metadata, and a DCS mission file (`.miz` file) to set up the theater. - -The included campaigns can be modified, or new campaigns can be added to the `resources/campaigns` directory of the Liberation install. - -![Campaign data directory tree](https://imgur.com/3FDs2Ut.png) - -DCS Liberation must be restarted after campaign changes are made. Campaign changes only affect new games; ongoing campaigns will not be affected by changes to the campaign data. - -If the campaign does not appear in the New Game wizard, there is likely an issue in the JSON file. Check the console window for errors. - -### Campaign changes in the dev branch - -Breaking campaign changes to do not get documented on the wiki immediately, but will always be listed in the notes next to `CAMPAIGN_FORMAT_VERSION` in [game/version.py](https://github.com/dcs-liberation/dcs_liberation/blob/develop/game/version.py). - -## Descriptor file - -The campaign uses a JSON file to describe some metadata. To create a new campaign, add a JSON file (such as `mycampaign.json`) to `resources\campaigns`. - -This json file should contain a json object, with the following parameters : - -* `name`: The name of the campaign that will be shown in the New Game wizard. -* `theater`: The map for the campaign (either: `Caucasus`, `Persian Gulf`, `Nevada`, `Normandy`, `Syria` or `The Channel`). -* `authors`: The authors of the campaign that will be shown in the New Game wizard. -* `description`: A description of the campaign that will be shown in the New Game wizard. -* `version`: The version of the campaign format this campaign was built for. This supports a UI hint in the new game wizard to warn users about campaigns that were built for an incompatible version of the game. - - Note that this field is **not** the DCS Liberation version, but the version of the campaign file format. The latest version is defined by `CAMPAIGN_FORMAT_VERSION` in [game/version.py](https://github.com/Khopa/dcs_liberation/blob/develop/game/version.py). - - If `version` is not set or is `"0"`, the campaign is from an unknown version of the game and will be marked as incompatible in the new game wizard. -* `recommended_player_faction`: The recommended player faction (will be automatically selected by default on the faction selection page) -* `recommended_enemy_faction`: The recommended enemy faction (will be automatically selected by default on the faction selection page) -* `miz`: The name of the miz file (in the same `resources\campaigns` directory) that describes the campaign. -* `performance`: How much performance your campaign need to run smoothly (3 for biggest scenarios that will have huge impact on game performance, 0 for the smallest, performance-friendly scenarios) - -## Designing campaigns in the mission editor - -When creating a campaign it may be easiest to start with an existing campaign in the same theater and modify it to suit your needs. If starting from scratch, ensure that Combined Joint Task Forces Blue and Combined Joint Task Forces Red are assigned to the blue and red coalitions respectively, as these will be used to define many of the campaigns properties. -#### [Unit Type Quick Reference](#unit-type-quick-reference-1) - -### Control points - -Control points are the spawn locations and (in most cases) the capturable positions in the campaign. - -#### Airbase control - -To make an airbase that starts controlled by blue, assign the airbase to the blue coalition in the mission editor. To make an airbase that starts controlled by red, assign the airbase to red. - -#### Carriers and LHAs - -To create a carrier, place a CVN-74 where you want it to be in the campaign. The carrier will be red if it belongs to CJTF Red and blue if it belongs to CJTF Blue. - -To create an LHA, follow the same process but place an LHA-1. - -Note that the presence of the carrier or LHA in the game will depend on the player's options and the faction's navy. - -#### Off-map spawns - -To create a point where aircraft from other theaters can be spawned into the mission in-air, place an F-15C. As with carriers and LHAs, use CJTF Red or Blue to assign the point to either faction. - -The altitude of the unit is not currently relevant, as the spawn altitude of units in Liberation depends on the faction's doctrine and the unit type. - -#### Forward Operating Bases - -A FOB a a capturable point that can spawn ground units but not aircraft. A FOB is defined by placing a CP_SKP_11_ATC_Mobile_Command_Post. A CJTF Blue group will create a FOB that begins owned by blue and a CJTF Red group will begin owned by red. - -The group name of the unit is used to name the FOB. - -#### Campaign inversion - -Inverting the campaign allows the player to play the campaign in reverse (starting from the North instead of the South, for example). This doesn't simply swap all of the control points, but swaps a number of control points as defined by the mission designer so that the player doesn't begin the campaign with most of the control points already captured. - -To specify that an airbase should be owned by the player when the campaign is inverted, set the "unlimited aircraft" property of the warehouse. To specify the same for a FOB, carrier, LHA, or off-map spawn, set the "late activation" property of the group. - -### Supply routes - -Supply routes are defined by placing a CJTF Blue M-113 at an airfield and defining a route to the connected control point. Front lines progress along supply routes, and supply routes also define road networks for ground unit transit. - -The supply route will follow the _waypoints_ of the vehicle group (not the path, so using on-road waypoints will not cause the front line to follow roads automatically), so waypoints should be placed at each location that the front line should turn to avoid terrain. The route beginning and end points will be used as the origin and destination endpoints for convoys, so each end point of the route should be placed on a road. The beginning and ending waypoints will associate with the nearest airfields when the campaign is generated. - -**New in DCS Liberation 3.0:** The begin and end waypoints of the path defining the front line route define the origin and destination for convoy routes. Endpoints of the route should be placed on or near roads so that convoys can get moving quickly. If far from a road, units will move from their location off-road to the road one at a time until they have all reached the road. - -**Important:** Care should be taken to route the frontline around exclusion zones. If the center of the frontline location lies in an exclusion zones, frontline units may not spawn correctly. You can view the exclusion zones in the Liberation UI by enabling the display option "Map Debug Mode" - -### Shipping lanes - -**New in DCS Liberation 3.0:** Shipping lanes define routes for transporting units between control points via cargo ships. - -To define a shipping lane, place a CJTF Blue Bulker Handy Wind. Shipping lanes should begin in port areas that are navigable by ships and have a route to another port area. DCS ships *will not* avoid driving into islands, so ensure that their waypoints plot a navigable route. - -### Base defenses - -**New in DCS Liberation 3.0:** Random base defense generation is being removed. Replace the old base defense spawn locations with the desired number of fixed IADS and armor groups. - -### Objective locations - -**New in DCS Liberation 3.0:** Random objective locations should no longer be used. The instructions below describe how to place fixed objectives. The contents below have changed significantly since 2.5 and should be read in full when converting campaigns. - -Objective locations are automatically associated with their closest control point. - -#### Strike targets - -Strike targets are buildings that generate income for the owning coalition. These come in a variety of types depending on the faction: - -* Power plants -* Fuel depots -* Warehouses -* FARPs -* Communications towers -* Oil derricks -* Bunkers -* Villages -* Army camps - -To define a strike target location, place a Tech Combine structure. The unit may be either red or blue (the only difference is currently readability of the mission editor, but in the future will determine which coalition owns the objective). - -#### Offshore strike targets - -Offshore strike targets generate income for the owning coalition. - -To define an offshore strike target, place a CJTF Red Oil Platform. - -#### Map objects - -Arbitrary map objects may be used as strike targets. These are the buildings/trees/scenery that are placed by the map developer (Eagle Dynamics, etc). Liberation uses trigger zones to define scenery as a strike target. - -To define a map object strike target, right click the building in the mission editor and select "assign as...". This will create a trigger zone around the building. The name of this trigger zone will be used to identify the building in the Liberation UI. Do not modify the color (white) or the properties. This creates the individual building that will be a part of the objective group. - -Create new _circular_ trigger zone through the Mission Editor's sidebar, and give it the color of blue (`0 Red`, `0 Green`, `255 Blue`; there is a shortcut button that is blue in case you do not want to type the RGB numbers in manually). Place this trigger zone such that it encloses each of the centers of the objective's white trigger zones. This defines the objective area (named, targetable group of buildings), whereas the white zones define the individual buildings of the objective location. Each group zone must have a unique name. - -Create a property for the objective definition with the value field set to any of the entries listed in `game/db.py : REWARDS` (listed below for convenience, but may be out of date). **This must be the first property in the group zone.** This field defines the category (objective type) of the group, which impacts income generation per building. - -* `power` -* `ware` -* `fuel` -* `farp` -* `fob` -* `comms` -* `oil` -* `derrick` - -Each **structure** will generate its own income, not each **group**. This means that large groups of structures will generate large amounts of income. - -Note that `factory` and `ammo` have different behavior. See the documentation on factories and ammunition depots below. - -**Map Object Limitations:** -* Objective group definitions (blue trigger zones) cannot overlap. -* The campaign creator must define objective type. -* No images for the various buildings in the Liberation UI, briefing, or kneeboard. Target identification will be difficult. -* Every blue trigger zone must have a unique name. - -#### Factories - -Factories are ground unit producing structures. Ground units may only originate from control points that have factories, so it is essential that each coalition have access to them. Units will form convoys to move between control points, and convoys may be interdicted to interrupt reinforcements. Destroyed factories will stop producing units. When a control point loses its last factory, it will no longer be a source for ground units. - -Factories also generate $10M per turn for the owner. - -Define factory locations with CJTF Blue Workshop A structures. - -Recommendations for factory placement: - -* Prefer back-line control points or major transit hubs (especially ports and large airports capable of fielding cargo planes) for factory locations. This allows units to reach their destinations more quickly. -* Avoid placing factories at control points that begin as the front line. Factories on the front line mean that convoys will not be formed and this removes a mission type for the player. -* Defend factories with IADS and (if accessible by the front line), armor groups. - -Note that map objects (defined in the previous section) may be used as factories. Use the `factory` category. - -#### Ammunition Depots -Ammunition Depots provide control over how many ground units are available to be deployed to the front line from it's closest control point. This directly effects how many ground units may be deployed on a front line. - -Each control point has a free `15` deploy-able ground units available to it before ammunition depot buildings are required to raise the limit of how many ground units may be deployed. Each additional ammunition depot building raises the limit by `12` units. - -Ammunition Depots are placed in a campaign using the `Ammunition Depot` warehouse object to spawn the default template of one `Ammunition Depot` and two `Hangar B`s. Each ammunition depot template will raise the front line ground unit limit by `36` units. - -Alternatively, scenery objectives may be used with the `ammo` category to define an ammunition depot objective. - -Recommendations for Ammunition Depot placement: -* Defend your ammunition depots with IADS and ground units. - -#### Ships - -Ships can be generated at airbases, carriers, and LHAs (but not off-map spawns). Ships will not be spawned if the player has disabled either player or enemy navies in the campaign generation options, or if the faction does not have naval units defined. - -To define a ship location place a CJTF Red Arleigh Burke IIa. - -#### Missile sites - -Missile sites (scuds, V-2s, etc) can be generated at airbases and FOBs. Missile sites will only be spawned if the faction has them defined. - -To define a missile site place a CJTF Red SSM SS-1C Scud-B. - -#### Coastal defenses - -Coastal defenses (silkworms) can be generated at airbases and FOBs. Coastal defenses will only be spawned if the faction has them defined. - -To define a missile site place a CJTF Red AShM SS-N-2 Silkworm. - -#### Armor groups - -Armor groups are ground units that defend the assigned location. These groups will not move. - -To define potential locations for garrison groups, place a (red or blue) MBT M1A2 Abrams. - -### IADS - -IADS locations are automatically associated with the control point closest to them. - -SAM locations are split into four types: long range, medium range, short range, and AAA. Each type of position will prefer to be filled by its exact type, but if the faction has no air defenses of that type available the generator will continue to downgrade the site until it finds a match. For example, a medium range SAM may be used in place of a long range SAM. _Upgrades_ are not allowed. - -Note that the exact type of SAM or EWR that will be placed depends on the faction definition. However, when designing a campaign with specific factions in mind (such as Syria defending on the Syria map), this allows the designer to see the coverage of the SAMs used by the intended faction. This way the designer can be sure that sufficient coverage will be present in the campaign when a faction using a specific type of SAM is used. - -#### Early Warning Radars - -To define an EWR location, place a CJTF Red EWR 1L13. - -#### Long range SAMs - -Currently the only two long range SAM systems are the Patriot and the SA-10 (S-300). If the faction does not have either of those systems, the location will be downgraded to a compatible type. - -To define a long range SAM location, place a CJTF Red unit of any of the following types: - -* SAM Patriot LN M901 -* SAM SA-10 S-300PS LN 5P85C -* SAM SA-10 S-300PS LN 5P85D - -#### Medium range SAMs - -Medium range SAMs include most radar SAMs that do not qualify as long range SAMs. If the faction has no medium range SAMs available, the location will be downgraded to a compatible type. - -To define a medium range SAM location, place a CJTF Red unit of any of the following types: - -* SAM Hawk LN M192 -* SAM SA-2 LN SM-90 -* SAM SA-3 S-125 LN 5P73 - -#### Short range SAMs - -Short range SAMs include IR SAMs and shorter range radar guided systems. If the faction has no short range SAMs available, the location will be downgraded to a compatible type. - -To define a short range SAM location, place a CJTF Red unit of any of the following types: - -* SAM Avenger (Stinger) -* SAM Rapier LN -* SAM SA-19 Tunguska "Grison" -* SAM SA-9 Strela 1 "Gaskin" TEL - -#### AAA - -AAA sites include self-propelled and static anti-air artillery systems. If the faction has no AAA available, the location will not be generated. - -To define a AAA location, place a unit (red or blue) of any of the following types: - -* AAA 8,8cm Flak 18 -* SPAAA Vulcan M163 -* SPAAA ZSU-23-4 Shilka "Gun Dish" - -## Unit Type Quick Reference: - -Objective type | Coalition | Unit types --|-|- -EWR | Red | EWR 1L13 -Long range SAM | Red | SAM Patriot LN M901
      SAM SA-10 S-300PS LN 5P85C
      SAM SA-10 S-300PS LN 5P85D -Medium range SAM | Red | SAM Hawk LN M192
      SAM SA-2 LN SM-90
      SAM SA-3 S-125 LN 5P73 -Short range SAM | Red | SAM Avenger (Stinger)
      SAM Rapier LN
      SAM SA-19 Tunguska "Grison"
      SAM SA-9 Strela 1 "Gaskin" TEL -AAA | Either | AAA 8,8cm Flak 18
      SPAAA Vulcan M163
      SPAAA ZSU-23-4 Shilka "Gun Dish" -Factory | Blue| Workshop A -Ammo Depot | Either | Ammunition depot -Strike target | Either | Tech combine -Offshore strike target | Red | Oil Platform -Missile Sites | Red | SSM SS-1C Scud-B -Coastal defenses | Red | AShM SS-N-2 Silkworm -Ship | Red | Arleigh Burke IIa -Armor group | Either | MBT M1A2 Abrams -FOB | Either | Truck SKP-11 Mobile ATC \ No newline at end of file +Moved to https://github.com/dcs-liberation/dcs_liberation/wiki/Custom-campaigns. \ No newline at end of file From 0156a2c4904f1c0cdb240c592c3e963934766f2c Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 11 Jun 2021 00:34:10 -0700 Subject: [PATCH 332/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index 2a98578..1bef5d0 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -1,3 +1,5 @@ +**For DCS Liberation 3.0 the campaign version is 6.0.** + Campaigns in DCS Liberation can be modified using the mission editor. Each campaign is defined by a JSON file to provide metadata, and a DCS mission file (`.miz` file) to set up the theater. The included campaigns can be modified, or new campaigns can be added to the `resources/campaigns` directory of the Liberation install. @@ -24,7 +26,7 @@ This json file should contain a json object, with the following parameters : * `description`: A description of the campaign that will be shown in the New Game wizard. * `version`: The version of the campaign format this campaign was built for. This supports a UI hint in the new game wizard to warn users about campaigns that were built for an incompatible version of the game. - Note that this field is **not** the DCS Liberation version, but the version of the campaign file format. The latest version is defined by `CAMPAIGN_FORMAT_VERSION` in [game/version.py](https://github.com/Khopa/dcs_liberation/blob/develop/game/version.py). + Note that this field is **not** the DCS Liberation version, but the version of the campaign file format. The latest version is defined by `CAMPAIGN_FORMAT_VERSION` in [game/version.py](https://github.com/Khopa/dcs_liberation/blob/develop/game/version.py). **For DCS Liberation 3.0 the campaign version is 6.0.** If `version` is not set or is `"0"`, the campaign is from an unknown version of the game and will be marked as incompatible in the new game wizard. * `recommended_player_faction`: The recommended player faction (will be automatically selected by default on the faction selection page) From 22eb681c18f0dd1b350940c5fe72f111e4e30d71 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 11 Jun 2021 01:37:37 -0700 Subject: [PATCH 333/704] Updated Squadrons and pilots (markdown) --- Squadrons-and-pilots.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Squadrons-and-pilots.md b/Squadrons-and-pilots.md index 71251a8..1483355 100644 --- a/Squadrons-and-pilots.md +++ b/Squadrons-and-pilots.md @@ -53,6 +53,8 @@ If the faction has no locales defined, names will be generated using `en_US` (th ## Squadrons +Squadrons define a group of pilots that fly a single type of aircraft and perform a predefined set of missions. The types of missions that are automatically assigned during mission planning can be chosen in the squadron menu. The squadron has a fixed livery. + ### Predefined squadrons Predefined squadrons are loaded from `resources\squadrons\*\*.yaml` (for built-in squadrons) and from `\Liberation\Squadrons\*\*.yaml` (for user-defined squadrons). From 3ca4f7fba1924e6147b09d50c638de50d0f4729d Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 11 Jun 2021 02:09:44 -0700 Subject: [PATCH 334/704] Updated Squadrons and pilots (markdown) --- Squadrons-and-pilots.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Squadrons-and-pilots.md b/Squadrons-and-pilots.md index 1483355..dc1110f 100644 --- a/Squadrons-and-pilots.md +++ b/Squadrons-and-pilots.md @@ -11,6 +11,8 @@ Pilots can be killed. When the aircraft the pilot is flying is destroyed the pil Pilots can be sent on leave. Pilots on leave will not be assigned to new missions. Pilots already assigned to missions that are sent on leave will not be unassigned, but will not be used next turn. +Pilots cannot be manually created once the game has started. New pilots will be created automatically as they are needed. + ### Players Each pilot can be set as either a player or AI pilot. Instead of creating client slots in flights as in previous versions of Liberation, pilots are set as players and those pilots are assigned to flights. @@ -55,6 +57,8 @@ If the faction has no locales defined, names will be generated using `en_US` (th Squadrons define a group of pilots that fly a single type of aircraft and perform a predefined set of missions. The types of missions that are automatically assigned during mission planning can be chosen in the squadron menu. The squadron has a fixed livery. +Squadrons cannot be added after the game has started. + ### Predefined squadrons Predefined squadrons are loaded from `resources\squadrons\*\*.yaml` (for built-in squadrons) and from `\Liberation\Squadrons\*\*.yaml` (for user-defined squadrons). From 8018431bf806a75a4e37251775efa6165e704654 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 11 Jun 2021 16:49:00 -0700 Subject: [PATCH 335/704] Updated Squadrons and pilots (markdown) --- Squadrons-and-pilots.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/Squadrons-and-pilots.md b/Squadrons-and-pilots.md index dc1110f..154c5f3 100644 --- a/Squadrons-and-pilots.md +++ b/Squadrons-and-pilots.md @@ -106,7 +106,17 @@ players: - Corran Horn ``` -The country and aircraft fields will be used to match squadrons that are found against the squadrons being used. The country should be spelled exactly as it would be in a faction file. Factions that use Combined Joint Task Forces nations will have access to all squadrons with matching aircraft. The aircraft should match the key (the value in quotes) of the aircraft found in `plane_map` in https://github.com/pydcs/dcs/blob/master/dcs/planes.py or `helicopter_map` in https://github.com/pydcs/dcs/blob/master/dcs/helicopters.py +The country and aircraft fields will be used to match squadrons that are found against the squadrons being used. The country should be spelled exactly as it would be in a faction file. Factions that use Combined Joint Task Forces nations will have access to all squadrons with matching aircraft. The aircraft should match the key (the value in quotes) of the aircraft found in `plane_map` in https://github.com/pydcs/dcs/blob/master/dcs/planes.py or `helicopter_map` in https://github.com/pydcs/dcs/blob/master/dcs/helicopters.py. Note that for modded aircraft these are currently defined in `game/db.py` instead: https://github.com/dcs-liberation/dcs_liberation/blob/develop/game/db.py#L159-L165. If the code moves and that link becomes out of date, search for a section that looks similar to: + +```python +plane_map["A-4E-C"] = A_4E_C +plane_map["F-22A"] = F_22A +plane_map["MB-339PAN"] = MB_339PAN +plane_map["Su-57"] = Su_57 +plane_map["Hercules"] = Hercules +plane_map["JAS39Gripen"] = JAS39Gripen +plane_map["JAS39Gripen_AG"] = JAS39Gripen_AG +``` The `role` field is currently non-functional. The `role` field will later be shown in the UI as information for the player. From d091f3a416d2e5fe057916ba074a3eb0df35d615 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 11 Jun 2021 20:46:08 -0700 Subject: [PATCH 336/704] Updated Squadrons and pilots (markdown) --- Squadrons-and-pilots.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Squadrons-and-pilots.md b/Squadrons-and-pilots.md index 154c5f3..3f3de7c 100644 --- a/Squadrons-and-pilots.md +++ b/Squadrons-and-pilots.md @@ -106,7 +106,7 @@ players: - Corran Horn ``` -The country and aircraft fields will be used to match squadrons that are found against the squadrons being used. The country should be spelled exactly as it would be in a faction file. Factions that use Combined Joint Task Forces nations will have access to all squadrons with matching aircraft. The aircraft should match the key (the value in quotes) of the aircraft found in `plane_map` in https://github.com/pydcs/dcs/blob/master/dcs/planes.py or `helicopter_map` in https://github.com/pydcs/dcs/blob/master/dcs/helicopters.py. Note that for modded aircraft these are currently defined in `game/db.py` instead: https://github.com/dcs-liberation/dcs_liberation/blob/develop/game/db.py#L159-L165. If the code moves and that link becomes out of date, search for a section that looks similar to: +The country and aircraft fields will be used to match squadrons that are found against the squadrons being used. The country should be spelled exactly as it would be in a faction file. Factions that use Combined Joint Task Forces nations will have access to all squadrons with matching aircraft. The aircraft should match the key (**the value in quotes**) of the aircraft found in `plane_map` in [planes.py](https://github.com/pydcs/dcs/blob/master/dcs/planes.py) or `helicopter_map` in [helicopters.py](https://github.com/pydcs/dcs/blob/master/dcs/helicopters.py). Note that for modded aircraft these are currently defined in [db.py](https://github.com/dcs-liberation/dcs_liberation/blob/develop/game/db.py#L159-L165) instead. If the code moves and that link becomes out of date, search for a section that looks similar to: ```python plane_map["A-4E-C"] = A_4E_C From fde2a4e640ceab2b3082deb4534b03fcd0fdd2e7 Mon Sep 17 00:00:00 2001 From: Mustang-25 <72566076+Mustang-25@users.noreply.github.com> Date: Sat, 12 Jun 2021 08:36:11 -0700 Subject: [PATCH 337/704] Updated Mission planning (markdown) --- Mission-planning.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Mission-planning.md b/Mission-planning.md index bbf7369..b8f5353 100644 --- a/Mission-planning.md +++ b/Mission-planning.md @@ -92,6 +92,8 @@ A SEAD mission protects other flights from SAMs. In contrast to DEAD, it will en SEAD flights will be planned to accompany DEAD packages. When the SEAD flight uses HARMs it is quite likely that they will destroy the emitters (when not using Skynet), but they will never kill launchers/TELs without their own radar. DEAD will often carry bombs rather than ARMs or decoys so they can destroy the non-emitting parts of the SAM as well. +**Note:** SEAD flights have a ToT 1 minute ahead of the rest of the package. + ### SEAD Escort **New in DCS Liberation 3.0** From 1fc8ca7cbc967c9e61af37c3382b1017af97c882 Mon Sep 17 00:00:00 2001 From: Schneefl0cke <60181177+Schneefl0cke@users.noreply.github.com> Date: Sun, 13 Jun 2021 15:51:43 +0200 Subject: [PATCH 338/704] Hint that its best if a faction has access to all unit types. --- Custom-Factions.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Custom-Factions.md b/Custom-Factions.md index 423326f..1af41fe 100644 --- a/Custom-Factions.md +++ b/Custom-Factions.md @@ -55,6 +55,8 @@ All parameters have default values, so you do not have to set them all up necess When changing a livery, if an aircraft is a Core DCS aircraft or module such as the MiG-19P, the livery must be in the Modules Liveries section and not your Saved Games folder. +It is recommended, that your faction has access to all unit types, e.g. at least one tank, one IFV, one APC and so on in order for the auto purchase option for the player and the ai to work. + # Example file Below is an example of a factions file : From 0ceb236062fc6838700a91783451c2cc25d197df Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sun, 13 Jun 2021 14:47:44 -0700 Subject: [PATCH 339/704] Updated Squadrons and pilots (markdown) --- Squadrons-and-pilots.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Squadrons-and-pilots.md b/Squadrons-and-pilots.md index 3f3de7c..77f9648 100644 --- a/Squadrons-and-pilots.md +++ b/Squadrons-and-pilots.md @@ -13,6 +13,8 @@ unassigned, but will not be used next turn. Pilots cannot be manually created once the game has started. New pilots will be created automatically as they are needed. +**Changes in DCS Liberation 4.0**: New pilots will be recruited to the squadron each turn at a limited rate (currently one per squadron) if the squadron is not full. Pilots are a limited resource just like aircraft. + ### Players Each pilot can be set as either a player or AI pilot. Instead of creating client slots in flights as in previous versions of Liberation, pilots are set as players and those pilots are assigned to flights. @@ -59,6 +61,8 @@ Squadrons define a group of pilots that fly a single type of aircraft and perfor Squadrons cannot be added after the game has started. +**Changes in DCS Liberation 4.0**: Squadrons have a maximum size (currently 12). Once a squadron reaches its limit no new pilots will be recruited until pilots are either killed or sent on leave. Each understaffed squadron will replenish pilots at a limited rate (currently one pilot per squadron) at the end of each turn. + ### Predefined squadrons Predefined squadrons are loaded from `resources\squadrons\*\*.yaml` (for built-in squadrons) and from `\Liberation\Squadrons\*\*.yaml` (for user-defined squadrons). From 85d4c71e5056db38b516b7635bcab218a5396760 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Wed, 16 Jun 2021 20:53:48 -0700 Subject: [PATCH 340/704] Updated Squadrons and pilots (markdown) --- Squadrons-and-pilots.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Squadrons-and-pilots.md b/Squadrons-and-pilots.md index 77f9648..0733d1f 100644 --- a/Squadrons-and-pilots.md +++ b/Squadrons-and-pilots.md @@ -126,7 +126,7 @@ The `role` field is currently non-functional. The `role` field will later be sho The `mission_types` field determines which mission types to assign to the squadron. The spelling of each entry in `mission_types` should match the spelling of the mission that is used in the Liberation UI. If the squadron specifies a mission type that the aircraft is not capable of, an error will be emitted in the log and the incompatible mission type will not be used for the squadron. -The `livery` field, if set, will be the livery used by all aircraft of this squadron. It should match the name of the livery in game. +The `livery` field, if set, will be the livery used by all aircraft of this squadron. It should match the quoted portion of the livery name in https://github.com/pydcs/dcs/blob/master/dcs/planes.py. For example, the name for the HAF 330 Thunder livery for a Greek F-16 is `HAF_ 330_Thunder` The `pilots` field defines AI pilot names that will be used before generating random pilot names for this squadron. From bfe76255b5e9fb0c01e19584ae6ef9e14d426c10 Mon Sep 17 00:00:00 2001 From: docofmur <84192044+docofmur@users.noreply.github.com> Date: Fri, 18 Jun 2021 04:05:32 -0700 Subject: [PATCH 341/704] adding information about exclusion zones, updating info about placed object in reference to zones, added a "work in progress" part about exclusion zone corridors slowly being added --- Custom-campaigns.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index 1bef5d0..49694cb 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -81,7 +81,10 @@ The supply route will follow the _waypoints_ of the vehicle group (not the path, **New in DCS Liberation 3.0:** The begin and end waypoints of the path defining the front line route define the origin and destination for convoy routes. Endpoints of the route should be placed on or near roads so that convoys can get moving quickly. If far from a road, units will move from their location off-road to the road one at a time until they have all reached the road. -**Important:** Care should be taken to route the frontline around exclusion zones. If the center of the frontline location lies in an exclusion zones, frontline units may not spawn correctly. You can view the exclusion zones in the Liberation UI by enabling the display option "Map Debug Mode" +**Important:** Care should be taken to route the frontline around exclusion zones. If the center of the frontline location lies in an exclusion zones, frontline units may not spawn correctly. You can view the exclusion zones in the Liberation UI by enabling the display option "Map Debug Mode" Frontlines can jump smaller exclusion zones but using these can cause frontlines to render on both sides of the gap, or cause the frontline to render far from the intended line. + +**Work in Progress** +Exclusion zones are being updated to try and allow frontlines to follow or at least be in the general area of convoy routes. Frontlines need to follow the center of these Exclusion zone corridors. The frontline will shrink down to a small area, based on the size of the corridor and the frontline. (# of units) The frontline might not render correctly if the line is to large, (# of units) limiting the ammo depots (explained below) on these frontlines will help limit this issue. ### Shipping lanes @@ -91,11 +94,11 @@ To define a shipping lane, place a CJTF Blue Bulker Handy Wind. Shipping lanes s ### Base defenses -**New in DCS Liberation 3.0:** Random base defense generation is being removed. Replace the old base defense spawn locations with the desired number of fixed IADS and armor groups. +**New in DCS Liberation 3.0:** Random base defense generation is being removed. Replace the old base defense spawn locations with the desired number of fixed IADS and armor groups. These fixed groups do not follow exclusion zones, the placement of these is up to the campaign designer to insure they had enough room to spawn correctly. Testing should be done with largest possible group to ensure proper clearance with all factions. ### Objective locations -**New in DCS Liberation 3.0:** Random objective locations should no longer be used. The instructions below describe how to place fixed objectives. The contents below have changed significantly since 2.5 and should be read in full when converting campaigns. +**New in DCS Liberation 3.0:** Random objective locations should no longer be used. The instructions below describe how to place fixed objectives. The contents below have changed significantly since 2.5 and should be read in full when converting campaigns. These fixed groups do not follow exclusion zones, the placement of these is up to the campaign designer to insure they had enough room to spawn correctly. Objective locations are automatically associated with their closest control point. From 0319e5b84efa8e21744b6e4de85db32c5ee3d925 Mon Sep 17 00:00:00 2001 From: Mustang-25 <72566076+Mustang-25@users.noreply.github.com> Date: Fri, 18 Jun 2021 08:16:42 -0700 Subject: [PATCH 342/704] Brought Liberation 3.0 method to the top, deprecated old system and noted deprecation --- Custom-Loadouts.md | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/Custom-Loadouts.md b/Custom-Loadouts.md index 8322831..1a5ef9f 100644 --- a/Custom-Loadouts.md +++ b/Custom-Loadouts.md @@ -1,3 +1,12 @@ +### Custom Loadouts for Liberation 3.0 + +All DCS loadout are selectable from the flight edit UI. + +To create custom default loadouts, create a loadout for the aircraft in the DCS mission editor. Name the loadout `Liberation `, where `` is the exact name of the mission type shown in the UI. For example, "Liberation OCA/Aircraft". + + +##### [DEPRECATED] Custom Loadouts for _before_ Liberation 3.0 + 1. Go to the DCS mission editor, put the plane you want to modify the loadout for in the editor. Create loadouts with the following names, for each possible tasks : "CAS", "CAP", "SEAD", "ANTISHIP", "STRIKE" (additional tasks since 2.3: "INTERCEPT", "RUNWAY_ATTACK", "BAI", "OCA"). You can read more about tasks [at this page](https://github.com/Khopa/dcs_liberation/wiki/Mission-planning#task-types). * Note : Even if the plane cannot run the task, please create a default loadout for it anyway. @@ -8,10 +17,4 @@ Create loadouts with the following names, for each possible tasks : "CAS", "CAP" 4. Copy this file in the "/resources/customized_payloads/ folder " -5. Then restart DCS Liberation, it is necessary to re-generate the mission by clicking on Take Off to get the new default loadout in the generated mission - -### DCS Liberation 3.0 - -All DCS loadout are selectable from the flight edit UI. - -To create custom default loadouts, create a loadout for the aircraft in the DCS mission editor. Name the loadout `Liberation `, where `` is the exact name of the mission type shown in the UI. For example, "Liberation OCA/Aircraft". \ No newline at end of file +5. Then restart DCS Liberation, it is necessary to re-generate the mission by clicking on Take Off to get the new default loadout in the generated mission \ No newline at end of file From 4422cf3d4fc5fbef81b0f183713c547358f20daa Mon Sep 17 00:00:00 2001 From: Starfire13 <72491792+Starfire13@users.noreply.github.com> Date: Sat, 19 Jun 2021 07:08:40 +1000 Subject: [PATCH 343/704] Updated Dedicated Server Guide (markdown) --- Dedicated-Server-Guide.md | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/Dedicated-Server-Guide.md b/Dedicated-Server-Guide.md index ffb0eef..968363a 100644 --- a/Dedicated-Server-Guide.md +++ b/Dedicated-Server-Guide.md @@ -81,13 +81,10 @@ After installing dcs-liberation on a computer (let's call it the mission compute At one point, you'll want to *fly* a mission. When you press the *Take off* button in dcs-liberation, it'll generate a mission : `\dcs\missions\liberation_nextturn.miz`. -At the moment, it is mandatory to open the mission in the mission editor (on the mission computer), and save it. - -**If you skip this step, the mission will not be playable on a dedicated DCS server !** - - Now, you can simply copy the mission file to your server and run it. +Note: It was previously the case that multiplayer .miz turns had to be opened and saved in the mission editor prior to use. This is NO longer required. + ## Getting the result of the mission During the mission (at runtime, as we developers like to say), the state of the mission (destroyed units, captured bases) is written in the `state.json` file. From a79d7ab3f93e3c9e89c38186358b4f2547f08e3d Mon Sep 17 00:00:00 2001 From: Starfire13 <72491792+Starfire13@users.noreply.github.com> Date: Sat, 19 Jun 2021 07:09:16 +1000 Subject: [PATCH 344/704] Updated Dedicated Server Guide (markdown) --- Dedicated-Server-Guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dedicated-Server-Guide.md b/Dedicated-Server-Guide.md index 968363a..b42348a 100644 --- a/Dedicated-Server-Guide.md +++ b/Dedicated-Server-Guide.md @@ -83,7 +83,7 @@ At one point, you'll want to *fly* a mission. When you press the *Take off* butt Now, you can simply copy the mission file to your server and run it. -Note: It was previously the case that multiplayer .miz turns had to be opened and saved in the mission editor prior to use. This is NO longer required. +**Note: It was previously the case that multiplayer .miz turns had to be opened and saved in the mission editor prior to use. This is NO longer required.** ## Getting the result of the mission From ab933582b042e7fb9c3d4bac6828fcf50700cc8f Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 18 Jun 2021 20:34:30 -0700 Subject: [PATCH 345/704] Updated Custom Factions (markdown) --- Custom-Factions.md | 104 +++++++++++++++++++++++++++++---------------- 1 file changed, 67 insertions(+), 37 deletions(-) diff --git a/Custom-Factions.md b/Custom-Factions.md index 1af41fe..70bc4d5 100644 --- a/Custom-Factions.md +++ b/Custom-Factions.md @@ -57,6 +57,27 @@ When changing a livery, if an aircraft is a Core DCS aircraft or module such as It is recommended, that your faction has access to all unit types, e.g. at least one tank, one IFV, one APC and so on in order for the auto purchase option for the player and the ai to work. +## Aircraft and ground unit names + +**New in DCS Liberation 4.0** + +Ground and air units are now named by the name of the unit in Liberation rather than the name in DCS. This was done so DCS updates can long longer break custom factions. Previously, if ED improved the name of a unit in DCS it would require an update to custom factions. Instead the faction files now use the Liberation names so we can prevent breakages from occurring. + +The names used are taken from the `variants` section of the unit info files in the `resources/units` directory. For example, `units/aircraft/FA-18C_hornet.yaml` contains the following: + +``` +variants: + CF-188 Hornet: {} + EF-18A+ Hornet: {} + F/A-18C Hornet (Lot 20): {} +``` + +In this example, there are three variants of the DCS F/A-18C Hornet unit. These "variants" are **name only**. The DCS unit type will be the F/A-18C module, but the name in the Liberation UI will be whichever variant is named in the faction file. This allows a Spain faction to pretend that an EF-18A+ is available in DCS. + +Ground units use the same format, but are located in `resources/units/ground_units`. + +Note that this currently does not apply to ships or any section that names a generator like navy groups, SAMs, EWRs, missiles, or coastal defenses. Ships will be migrated in a future release. + # Example file Below is an example of a factions file : @@ -68,48 +89,56 @@ Below is an example of a factions file : "name": "USAF Aggressors", "authors": "Khopa", "description": "

      USAF aggresors.

      ", + "locales": [ + "en_US" + ], "aircrafts": [ - "F_15C", - "F_15E", - "F_14B", - "FA_18C_hornet", - "F_16C_50", - "A_10A", - "A_10C", - "AV8BNA", - "UH_1H", - "AH_64D", - "Ka_50", - "B_52H", - "B_1B", - "F_117A", - "Su_27" + "A-10A Thunderbolt II", + "A-10C Thunderbolt II (Suite 3)", + "AH-64D Apache Longbow", + "AV-8B Harrier II Night Attack", + "B-1B Lancer", + "B-52H Stratofortress", + "F-117A Nighthawk", + "F-14B Tomcat", + "F-15C Eagle", + "F-15E Strike Eagle", + "F-16CM Fighting Falcon (Block 50)", + "F/A-18C Hornet (Lot 20)", + "Ka-50 Hokum", + "SH-60B Seahawk", + "Su-27 Flanker-B", + "UH-1H Iroquois" ], "awacs": [ - "E_3A" + "E-2C Hawkeye", + "E-3A" ], "tankers": [ - "KC_135", - "KC130" + "KC-130", + "KC-135 Stratotanker", + "KC-135 Stratotanker MPRS", + "S-3B Tanker" ], "frontline_units": [ - "MBT_M1A2_Abrams", - "MBT_Leopard_2", - "ATGM_M1134_Stryker", - "IFV_M2A2_Bradley", - "IFV_LAV_25", - "APC_M1043_HMMWV_Armament" + "LAV-25", + "Leopard 2A4", + "M1043 HMMWV (M2 HMG)", + "M1097 Heavy HMMWV Avenger", + "M1134 Stryker ATGM (BGM-71 TOW)", + "M1A2 Abrams", + "M2A2 Bradley" ], "artillery_units": [ - "MLRS_M270", - "SPH_M109_Paladin" + "M109A6 Paladin", + "M270 Multiple Launch Rocket System" ], "logistics_units": [ - "Transport_M818" + "Truck M818 6x6" ], "infantry_units": [ - "Infantry_M4", - "Soldier_M249" + "Infantry M249", + "Infantry M4" ], "air_defenses": [ "AvengerGenerator", @@ -124,23 +153,24 @@ Below is an example of a factions file : "OliverHazardPerryGroupGenerator" ], "has_jtac": true, - "jtac_unit": "MQ_9_Reaper", + "jtac_unit": "MQ-9 Reaper", "liveries_overrides": { - "FA_18C_hornet": [ - "NSAWC brown splinter", + "F/A-18C Hornet (Lot 20)": [ "NAWDC black", + "NSAWC brown splinter", "VFC-12" ], - "F_15C": [ + "F-15C Eagle": [ "65th Aggressor SQN (WA) MiG", "65th Aggressor SQN (WA) MiG", "65th Aggressor SQN (WA) SUPER_Flanker" ], - "F_16C_50": [ + "F-16CM Fighting Falcon (Block 50)": [ + "64th_aggressor_squadron_ghost", "usaf 64th aggressor sqn - shark", - "usaf 64th aggressor sqn-splinter", - "64th_aggressor_squadron_ghost" - ], "F_14B": [ + "usaf 64th aggressor sqn-splinter" + ], + "F-14B Tomcat": [ "vf-74 adversary" ] } From 57fb8ed4302c0705408fda804014548ff21058b9 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 18 Jun 2021 20:38:43 -0700 Subject: [PATCH 346/704] Updated Squadrons and pilots (markdown) --- Squadrons-and-pilots.md | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/Squadrons-and-pilots.md b/Squadrons-and-pilots.md index 0733d1f..4e4cf46 100644 --- a/Squadrons-and-pilots.md +++ b/Squadrons-and-pilots.md @@ -86,7 +86,7 @@ name: VFA-113 nickname: Stingers country: USA role: Strike Fighter -aircraft: FA-18C_hornet +aircraft: F/A-18C Hornet (Lot 20) livery: VFA-113 mission_types: - Anti-ship @@ -110,17 +110,7 @@ players: - Corran Horn ``` -The country and aircraft fields will be used to match squadrons that are found against the squadrons being used. The country should be spelled exactly as it would be in a faction file. Factions that use Combined Joint Task Forces nations will have access to all squadrons with matching aircraft. The aircraft should match the key (**the value in quotes**) of the aircraft found in `plane_map` in [planes.py](https://github.com/pydcs/dcs/blob/master/dcs/planes.py) or `helicopter_map` in [helicopters.py](https://github.com/pydcs/dcs/blob/master/dcs/helicopters.py). Note that for modded aircraft these are currently defined in [db.py](https://github.com/dcs-liberation/dcs_liberation/blob/develop/game/db.py#L159-L165) instead. If the code moves and that link becomes out of date, search for a section that looks similar to: - -```python -plane_map["A-4E-C"] = A_4E_C -plane_map["F-22A"] = F_22A -plane_map["MB-339PAN"] = MB_339PAN -plane_map["Su-57"] = Su_57 -plane_map["Hercules"] = Hercules -plane_map["JAS39Gripen"] = JAS39Gripen -plane_map["JAS39Gripen_AG"] = JAS39Gripen_AG -``` +The country and aircraft fields will be used to match squadrons that are found against the squadrons being used. The country should be spelled exactly as it would be in a faction file. Factions that use Combined Joint Task Forces nations will have access to all squadrons with matching aircraft. The `role` field is currently non-functional. The `role` field will later be shown in the UI as information for the player. @@ -132,6 +122,24 @@ The `pilots` field defines AI pilot names that will be used before generating ra The `players` field operates the same as the `pilots` field, but the created pilots will be created as player pilots. +#### Aircraft in 4.x and newer + +The aircraft should match the variant name of the aircraft as specified in the unit data file. For more information about variant names, see https://github.com/dcs-liberation/dcs_liberation/wiki/Custom-Factions#aircraft-and-ground-unit-names. + +#### Aircraft in 3.x + +The aircraft should match the key (**the value in quotes**) of the aircraft found in `plane_map` in [planes.py](https://github.com/pydcs/dcs/blob/master/dcs/planes.py) or `helicopter_map` in [helicopters.py](https://github.com/pydcs/dcs/blob/master/dcs/helicopters.py). Note that for modded aircraft these are currently defined in [db.py](https://github.com/dcs-liberation/dcs_liberation/blob/develop/game/db.py#L159-L165) instead. If the code moves and that link becomes out of date, search for a section that looks similar to: + +```python +plane_map["A-4E-C"] = A_4E_C +plane_map["F-22A"] = F_22A +plane_map["MB-339PAN"] = MB_339PAN +plane_map["Su-57"] = Su_57 +plane_map["Hercules"] = Hercules +plane_map["JAS39Gripen"] = JAS39Gripen +plane_map["JAS39Gripen_AG"] = JAS39Gripen_AG +``` + ### Generated squadrons A squadron will be generated for any aircraft that does not have any predefined squadrons available. \ No newline at end of file From abbfe88baafdc1a34ae9bd83e61ce714a34091cb Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sat, 19 Jun 2021 15:12:52 -0700 Subject: [PATCH 347/704] Updated Campaign maintenance (markdown) --- Campaign-maintenance.md | 1 - 1 file changed, 1 deletion(-) diff --git a/Campaign-maintenance.md b/Campaign-maintenance.md index 0fc8eab..e28b648 100644 --- a/Campaign-maintenance.md +++ b/Campaign-maintenance.md @@ -6,7 +6,6 @@ These campaigns have owners that will to keep them up to date for each release o Map | Name | Owner (GitHub user name) --- | --- | --- -Caucasus | Around the Mountain | @DillieKoe Caucasus | Black Sea | @DanAlbert Caucasus | Full | @docofmur Caucasus | Multi-Part Georgia | @docofmur From a95846a83872fe1ef8da7fb663b179619d9c3ed6 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sat, 19 Jun 2021 23:26:10 -0700 Subject: [PATCH 348/704] Updated Squadrons and pilots (markdown) --- Squadrons-and-pilots.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Squadrons-and-pilots.md b/Squadrons-and-pilots.md index 4e4cf46..8c24338 100644 --- a/Squadrons-and-pilots.md +++ b/Squadrons-and-pilots.md @@ -61,7 +61,7 @@ Squadrons define a group of pilots that fly a single type of aircraft and perfor Squadrons cannot be added after the game has started. -**Changes in DCS Liberation 4.0**: Squadrons have a maximum size (currently 12). Once a squadron reaches its limit no new pilots will be recruited until pilots are either killed or sent on leave. Each understaffed squadron will replenish pilots at a limited rate (currently one pilot per squadron) at the end of each turn. +**Changes in DCS Liberation 4.0**: Squadrons have a maximum size (currently 24). Once a squadron reaches its limit no new pilots will be recruited until pilots are either killed or sent on leave. Each understaffed squadron will replenish pilots at a limited rate (currently four pilots per squadron) at the end of each turn. Both the limit and the replenishment rate are configurable in the game settings. ### Predefined squadrons From 7d6739f11e1016ceaafdbb37b69cc9d3ebc79cc3 Mon Sep 17 00:00:00 2001 From: docofmur <84192044+docofmur@users.noreply.github.com> Date: Sun, 20 Jun 2021 07:16:39 -0700 Subject: [PATCH 349/704] folder structure for factions typo --- Custom-Factions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Custom-Factions.md b/Custom-Factions.md index 70bc4d5..0111462 100644 --- a/Custom-Factions.md +++ b/Custom-Factions.md @@ -5,7 +5,7 @@ Good news, you can now mod factions in liberation ! And these custom factions can be created easily with a text editor as a json file. -You can put your own factions configuration json files in the folder **.\resources\factions** or modify existing ones. Also you may place new faction files in your DCS Saved Games folder. **C:\users\\Saved Games\DCS\Liberation\Factions The Liberation\Factions** folder will have to be created as it is not created when setting up liberation. This is the same location that you point Liberation too when setting it up for the first time. +You can put your own factions configuration json files in the folder **.\resources\factions** or modify existing ones. Also you may place new faction files in your DCS Saved Games folder. **C:\users\\Saved Games\DCS\Liberation\Factions** folder will have to be created as it is not created when setting up liberation. This is the same location that you point Liberation too when setting it up for the first time. ![](https://imgur.com/hiqrYEh.png) From 1e4164fe7fd71d8227e6b84d88bc7254a07c6c0d Mon Sep 17 00:00:00 2001 From: Malakhit <31387062+Malakhit@users.noreply.github.com> Date: Sun, 20 Jun 2021 19:32:44 +0100 Subject: [PATCH 350/704] Updated Campaign maintenance (markdown) --- Campaign-maintenance.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Campaign-maintenance.md b/Campaign-maintenance.md index e28b648..beecacb 100644 --- a/Campaign-maintenance.md +++ b/Campaign-maintenance.md @@ -24,6 +24,7 @@ Syria | Humble Helper | @Sir-Headiii Syria | Operation Allied Sword | @sgtfuzzle17 Syria | Operation Mole Cricket 2010 | @Mustang-25 Syria | Operation Peace Spring | @Starfire13 +Syria | Russian Intervention 2015 | @Malakhit ### Unsupported campaigns From b16b44be9d5266aafcac0a5fb06bc04855781dc3 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sun, 20 Jun 2021 15:17:49 -0700 Subject: [PATCH 351/704] Updated Developer's Guide (markdown) --- Developer's-Guide.md | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/Developer's-Guide.md b/Developer's-Guide.md index ead7f2f..4b28b77 100644 --- a/Developer's-Guide.md +++ b/Developer's-Guide.md @@ -32,14 +32,10 @@ The following instructions work for the git command line. If using the GitHub De To get started with development, run: ``` -git clone --recurse-submodules https://github.com/dcs-liberation/dcs_liberation.git +git clone https://github.com/dcs-liberation/dcs_liberation.git ``` -This will automatically check out the develop branch. The `--recurse-submodules` flag ensures that our local copy of `pydcs` (a dependency we use) is also checked out. It is also a good idea to configure `git pull` to automatically update submodules. To do this, run: - -``` -git config --global submodule.recurse true -``` +This will automatically check out the develop branch. ## Creating a Python virtual environment From 338e0ecf6752d301ead6dbd9c42acf5e05bd182d Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sun, 20 Jun 2021 15:49:42 -0700 Subject: [PATCH 352/704] Updated Preview builds (markdown) --- Preview-builds.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Preview-builds.md b/Preview-builds.md index fda0aec..c53b8cc 100644 --- a/Preview-builds.md +++ b/Preview-builds.md @@ -2,4 +2,4 @@ The latest build of the development branch can be found [here](https://github.co **This is a development branch. Sometimes we break things, and plenty of things will be works in progress. Save games may not work across builds, and you should back up any save games you don't want to lose before loading them with a development build.** -The latest builds of the 3.x release can be found [here](https://github.com/Khopa/dcs_liberation/actions/workflows/build.yml?query=branch%3Adevelop-3.x+event%3Apush). Unlike the main branch, saves _should_ remain compatible with saves from prior versions of 3.x. However, check the date of the build before downloading, as the build on this page may be older than the released version. \ No newline at end of file +The latest builds of the 4.x release can be found [here](https://github.com/Khopa/dcs_liberation/actions/workflows/build.yml?query=branch%3Adevelop-4.x+event%3Apush). Unlike the main branch, saves _should_ remain compatible with saves from prior versions of 4.x. However, check the date of the build before downloading, as the build on this page may be older than the released version. \ No newline at end of file From af28cbc5aa0999a043eef87483a8f4ed0f8018a6 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Mon, 21 Jun 2021 10:21:40 +0200 Subject: [PATCH 353/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index 49694cb..6d9c6f8 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -260,19 +260,19 @@ To define a AAA location, place a unit (red or blue) of any of the following typ ## Unit Type Quick Reference: -Objective type | Coalition | Unit types --|-|- -EWR | Red | EWR 1L13 -Long range SAM | Red | SAM Patriot LN M901
      SAM SA-10 S-300PS LN 5P85C
      SAM SA-10 S-300PS LN 5P85D -Medium range SAM | Red | SAM Hawk LN M192
      SAM SA-2 LN SM-90
      SAM SA-3 S-125 LN 5P73 -Short range SAM | Red | SAM Avenger (Stinger)
      SAM Rapier LN
      SAM SA-19 Tunguska "Grison"
      SAM SA-9 Strela 1 "Gaskin" TEL -AAA | Either | AAA 8,8cm Flak 18
      SPAAA Vulcan M163
      SPAAA ZSU-23-4 Shilka "Gun Dish" -Factory | Blue| Workshop A -Ammo Depot | Either | Ammunition depot -Strike target | Either | Tech combine -Offshore strike target | Red | Oil Platform -Missile Sites | Red | SSM SS-1C Scud-B -Coastal defenses | Red | AShM SS-N-2 Silkworm -Ship | Red | Arleigh Burke IIa -Armor group | Either | MBT M1A2 Abrams -FOB | Either | Truck SKP-11 Mobile ATC \ No newline at end of file +Objective type | Coalition | Unit types | Clearance +-|-|-|- +EWR | Red | EWR 1L13 | 50ft +Long range SAM | Red | SAM Patriot LN M901
      SAM SA-10 S-300PS LN 5P85C
      SAM SA-10 S-300PS LN 5P85D | 1000ft +Medium range SAM | Red | SAM Hawk LN M192
      SAM SA-2 LN SM-90
      SAM SA-3 S-125 LN 5P73 | 800ft +Short range SAM | Red | SAM Avenger (Stinger)
      SAM Rapier LN
      SAM SA-19 Tunguska "Grison"
      SAM SA-9 Strela 1 "Gaskin" TEL | 800ft +AAA | Either | AAA 8,8cm Flak 18
      SPAAA Vulcan M163
      SPAAA ZSU-23-4 Shilka "Gun Dish" | 700ft +Factory | Blue| Workshop A | Building should fit +Ammo Depot | Either | Ammunition depot | 350ft +Strike target | Either | Tech combine | 350ft +Offshore strike target | Red | Oil Platform | 1000ft +Missile Sites | Red | SSM SS-1C Scud-B | 800ft +Coastal defenses | Red | AShM SS-N-2 Silkworm | 800ft +Ship | Red | Arleigh Burke IIa | 5000ft +Armor group | Either | MBT M1A2 Abrams | 500ft +FOB | Either | Truck SKP-11 Mobile ATC | Building should fit \ No newline at end of file From 6d488ea9f428a4285e44c595aaecf3f3acae2d2e Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Mon, 21 Jun 2021 10:24:17 +0200 Subject: [PATCH 354/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index 6d9c6f8..22f20d2 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -275,4 +275,4 @@ Missile Sites | Red | SSM SS-1C Scud-B | 800ft Coastal defenses | Red | AShM SS-N-2 Silkworm | 800ft Ship | Red | Arleigh Burke IIa | 5000ft Armor group | Either | MBT M1A2 Abrams | 500ft -FOB | Either | Truck SKP-11 Mobile ATC | Building should fit \ No newline at end of file +FOB | Either | Truck SKP-11 Mobile ATC | 100ft \ No newline at end of file From a3bac6160351286744aca09273673c4c09266056 Mon Sep 17 00:00:00 2001 From: bgreman <47828384+bgreman@users.noreply.github.com> Date: Mon, 21 Jun 2021 13:47:12 -0400 Subject: [PATCH 355/704] Some small syntax/grammar fixes. --- Custom-Factions.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Custom-Factions.md b/Custom-Factions.md index 0111462..f2ac2f0 100644 --- a/Custom-Factions.md +++ b/Custom-Factions.md @@ -1,7 +1,7 @@ # Principle -Frustrated that your home country is not a possible choice in DCS Liberation, or annoyed that an aircraft is missing in your favorite faction ? -Good news, you can now mod factions in liberation ! +Frustrated that your home country is not a possible choice in DCS Liberation, or annoyed that an aircraft is missing in your favorite faction? +Good news, you can now mod factions in liberation! And these custom factions can be created easily with a text editor as a json file. @@ -39,7 +39,7 @@ This json file should contain a json object, with the following parameters : * **helicopter_carrier_names** : List of possible name for helicopter carriers (will be picked randomly if there is more than one) * **navy_generators** : List of generators used for navy groups (See the Sam Generator possible choice at the end of this guide) * **destroyers** : List of destroyers available (Will be picked randomly and used as escort for carriers) -* **cruisers** : List of cruisers availables (unused for now) +* **cruisers** : List of cruisers available (unused for now) * **navy_group_count** : Number of navy group to generate per control point * **missiles_group_count** : Number of missiles group to generate per control point * **has_jtac** : Whether this faction has access to jtac @@ -55,13 +55,13 @@ All parameters have default values, so you do not have to set them all up necess When changing a livery, if an aircraft is a Core DCS aircraft or module such as the MiG-19P, the livery must be in the Modules Liveries section and not your Saved Games folder. -It is recommended, that your faction has access to all unit types, e.g. at least one tank, one IFV, one APC and so on in order for the auto purchase option for the player and the ai to work. +It is recommended, that your faction has access to all unit types, e.g. at least one tank, one IFV, one APC and so on in order for the auto purchase option for the player and the AI to work. ## Aircraft and ground unit names **New in DCS Liberation 4.0** -Ground and air units are now named by the name of the unit in Liberation rather than the name in DCS. This was done so DCS updates can long longer break custom factions. Previously, if ED improved the name of a unit in DCS it would require an update to custom factions. Instead the faction files now use the Liberation names so we can prevent breakages from occurring. +Ground and air units are now named by the name of the unit in Liberation rather than the name in DCS. This was done so DCS updates no longer break custom factions. Previously, if ED improved the name of a unit in DCS it would require an update to custom factions. Instead the faction files now use the Liberation names so we can prevent breakages from occurring. The names used are taken from the `variants` section of the unit info files in the `resources/units` directory. For example, `units/aircraft/FA-18C_hornet.yaml` contains the following: From d9482810ef3c1f498aa432ca23a765b9d1f6e08b Mon Sep 17 00:00:00 2001 From: Malakhit <31387062+Malakhit@users.noreply.github.com> Date: Mon, 21 Jun 2021 19:48:43 +0100 Subject: [PATCH 356/704] Updated Campaign maintenance (markdown) --- Campaign-maintenance.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Campaign-maintenance.md b/Campaign-maintenance.md index beecacb..cc34551 100644 --- a/Campaign-maintenance.md +++ b/Campaign-maintenance.md @@ -22,6 +22,7 @@ Syria | Full Map | @RoleplayingPleb Syria | Golan Heights | @Khopa Syria | Humble Helper | @Sir-Headiii Syria | Operation Allied Sword | @sgtfuzzle17 +Syria | Operation Atilla | @Malakhit Syria | Operation Mole Cricket 2010 | @Mustang-25 Syria | Operation Peace Spring | @Starfire13 Syria | Russian Intervention 2015 | @Malakhit From 333a90a09e7338ed7a975e02da49231d997b006e Mon Sep 17 00:00:00 2001 From: bgreman <47828384+bgreman@users.noreply.github.com> Date: Tue, 22 Jun 2021 20:23:04 -0400 Subject: [PATCH 357/704] Updated Mission planning (markdown) --- Mission-planning.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Mission-planning.md b/Mission-planning.md index b8f5353..f930f0a 100644 --- a/Mission-planning.md +++ b/Mission-planning.md @@ -54,7 +54,7 @@ A BARCAP mission can be planned at any friendly objective area. Its purpose is t ### CAS -A CAS mission can be planned at a front line. Its purpose is to provide support to ground forces. The flight will arrive at the target area at the package's TOT and begin searching for targets within a predefined range of the center of the front line. The flight will search for targets until it is either bingo or winchester. +A CAS mission can be planned at a front line by right clicking on it. Its purpose is to provide support to ground forces. The flight will arrive at the target area at the package's TOT and begin searching for targets within a predefined range of the center of the front line. The flight will search for targets until it is either bingo or winchester. ### DEAD From 1f74f9c908d4373d4787e3443133e494916a602e Mon Sep 17 00:00:00 2001 From: bgreman <47828384+bgreman@users.noreply.github.com> Date: Tue, 22 Jun 2021 20:23:43 -0400 Subject: [PATCH 358/704] Updated Mission planning (markdown) --- Mission-planning.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Mission-planning.md b/Mission-planning.md index f930f0a..a902ed5 100644 --- a/Mission-planning.md +++ b/Mission-planning.md @@ -54,7 +54,7 @@ A BARCAP mission can be planned at any friendly objective area. Its purpose is t ### CAS -A CAS mission can be planned at a front line by right clicking on it. Its purpose is to provide support to ground forces. The flight will arrive at the target area at the package's TOT and begin searching for targets within a predefined range of the center of the front line. The flight will search for targets until it is either bingo or winchester. +A CAS mission can be planned at a front line by right clicking on it on the map. Its purpose is to provide support to ground forces. The flight will arrive at the target area at the package's TOT and begin searching for targets within a predefined range of the center of the front line. The flight will search for targets until it is either bingo or winchester. ### DEAD From f3098a661a9d93431edb92aaed6040f55ae42445 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Tue, 22 Jun 2021 23:21:24 -0700 Subject: [PATCH 359/704] Updated Campaign maintenance (markdown) --- Campaign-maintenance.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Campaign-maintenance.md b/Campaign-maintenance.md index cc34551..d14b135 100644 --- a/Campaign-maintenance.md +++ b/Campaign-maintenance.md @@ -23,6 +23,7 @@ Syria | Golan Heights | @Khopa Syria | Humble Helper | @Sir-Headiii Syria | Operation Allied Sword | @sgtfuzzle17 Syria | Operation Atilla | @Malakhit +Syria | Operation Black Ball | @sgtfuzzle17 Syria | Operation Mole Cricket 2010 | @Mustang-25 Syria | Operation Peace Spring | @Starfire13 Syria | Russian Intervention 2015 | @Malakhit From 439b6de2d6ac1c6a17947d0c532778e872343f18 Mon Sep 17 00:00:00 2001 From: Mustang-25 <72566076+Mustang-25@users.noreply.github.com> Date: Thu, 24 Jun 2021 11:15:41 -0700 Subject: [PATCH 360/704] Updated Mission planning (markdown) --- Mission-planning.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Mission-planning.md b/Mission-planning.md index a902ed5..c4f4fd3 100644 --- a/Mission-planning.md +++ b/Mission-planning.md @@ -46,6 +46,8 @@ Many ships have significant point defenses. Large numbers of anti-ship weapons a A Battlefield Air Interdiction (BAI) mission can be planned at enemy objective areas with ground vehicles. Its purpose is similar to CAS, but instead of supporting friendly troops it eliminates enemy forces before they can reach the front line. The flight will rendezvous with the rest of its package and proceed to its ingress point, where it will begin to search for its assigned targets. +**Convoy Interdiction:** Convoy interdiction is a subset of BAI. An interdiction tasking can be created by selecting the CP that a convoy originates from, looking at the Departing Convoys tab, and clicking on the Attack button. From there, create a flight package as you would normally. + ### BARCAP A BARCAP mission can be planned at any friendly objective area. Its purpose is to prevent enemy aircraft from entering the area. The flight will arrive at the target area at the package's TOT and begin a race-track pattern patrol and remain for a predefined amount of time (currently 30 minutes). The race-track will be oriented toward the nearest enemy airbase. From 075587a595b5558f56d24748f1bb724c547e27e2 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 25 Jun 2021 02:36:57 -0700 Subject: [PATCH 361/704] Updated Squadrons and pilots (markdown) --- Squadrons-and-pilots.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Squadrons-and-pilots.md b/Squadrons-and-pilots.md index 8c24338..8302f99 100644 --- a/Squadrons-and-pilots.md +++ b/Squadrons-and-pilots.md @@ -8,7 +8,7 @@ Each aircraft in the mission will be assigned one pilot. Each pilot belongs to a Pilots can be killed. When the aircraft the pilot is flying is destroyed the pilot will be killed and a new pilot will need to replace them in the squadron. Completing missions will increase the skill level of AI pilots. -Pilots can be sent on leave. Pilots on leave will not be assigned to new missions. Pilots already assigned to missions that are sent on leave will not be +Pilots can be sent on leave to prevent them from being automatically assigned to new missions. Pilots already assigned to missions that are sent on leave will not be unassigned, but will not be used next turn. Pilots cannot be manually created once the game has started. New pilots will be created automatically as they are needed. From 522fc752ca307c99d717c410a2f90c410449b8be Mon Sep 17 00:00:00 2001 From: docofmur <84192044+docofmur@users.noreply.github.com> Date: Fri, 25 Jun 2021 21:18:05 -0700 Subject: [PATCH 362/704] Updated Campaign maintenance (markdown) --- Campaign-maintenance.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Campaign-maintenance.md b/Campaign-maintenance.md index d14b135..c0e49b6 100644 --- a/Campaign-maintenance.md +++ b/Campaign-maintenance.md @@ -15,6 +15,7 @@ Caucasus | Operation Vectron's Claw | @Starfire13 Caucasus | Russia Small | @Khopa Normandy | From Caen to Evreux | @Khopa NTTR | Exercise Vegas Nerve | @Starfire13 +NTTR | Nevada Limited Air | @docofmur Persian Gulf | Battle of Abu Dhabi | @DanAlbert Persian Gulf | Battle for the UAE | @Mustang-25 Persian Gulf | Road to Dubai | @docofmur From 35685913eeebf3b1504fe653f27219d2dc753562 Mon Sep 17 00:00:00 2001 From: docofmur <84192044+docofmur@users.noreply.github.com> Date: Fri, 25 Jun 2021 21:29:29 -0700 Subject: [PATCH 363/704] Updated Campaign maintenance (markdown) --- Campaign-maintenance.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Campaign-maintenance.md b/Campaign-maintenance.md index c0e49b6..bec5f54 100644 --- a/Campaign-maintenance.md +++ b/Campaign-maintenance.md @@ -34,6 +34,9 @@ Syria | Russian Intervention 2015 | @Malakhit Every other campaign has no owner. **When they break they will be removed from Liberation**. If you don't want to see those campaigns disappear from Liberation, you can volunteer to maintain them. +Map | Name | Last included in +--- | --- | --- + ### Retired campaigns These campaigns are broken and have no owner to fix them, so they have been removed. If you want to revive them, you can volunteer to maintain them. From d27b18716d5c4ec58ad78429495e2230acce13f8 Mon Sep 17 00:00:00 2001 From: docofmur <84192044+docofmur@users.noreply.github.com> Date: Fri, 25 Jun 2021 21:31:34 -0700 Subject: [PATCH 364/704] Updated Campaign maintenance (markdown) --- Campaign-maintenance.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Campaign-maintenance.md b/Campaign-maintenance.md index bec5f54..f592e0d 100644 --- a/Campaign-maintenance.md +++ b/Campaign-maintenance.md @@ -32,9 +32,9 @@ Syria | Russian Intervention 2015 | @Malakhit ### Unsupported campaigns -Every other campaign has no owner. **When they break they will be removed from Liberation**. If you don't want to see those campaigns disappear from Liberation, you can volunteer to maintain them. +These campaigns either have no owner or the owner has been to busy to maintain them. Please attempt to contact them on discord before submitting updates for them. **When they break they will be removed from Liberation**. If you can't contact the owner let us know in the campaign update form and we will change the owner to you, ff you don't want to see those campaigns disappear from Liberation. -Map | Name | Last included in +Map | Name | Owner | Last included in --- | --- | --- ### Retired campaigns From e72bf504ff89ef7617a339620509e464567964e1 Mon Sep 17 00:00:00 2001 From: docofmur <84192044+docofmur@users.noreply.github.com> Date: Fri, 25 Jun 2021 22:37:55 -0700 Subject: [PATCH 365/704] Updated Campaign maintenance (markdown) --- Campaign-maintenance.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/Campaign-maintenance.md b/Campaign-maintenance.md index f592e0d..8c41982 100644 --- a/Campaign-maintenance.md +++ b/Campaign-maintenance.md @@ -20,14 +20,12 @@ Persian Gulf | Battle of Abu Dhabi | @DanAlbert Persian Gulf | Battle for the UAE | @Mustang-25 Persian Gulf | Road to Dubai | @docofmur Syria | Full Map | @RoleplayingPleb -Syria | Golan Heights | @Khopa Syria | Humble Helper | @Sir-Headiii Syria | Operation Allied Sword | @sgtfuzzle17 -Syria | Operation Atilla | @Malakhit Syria | Operation Black Ball | @sgtfuzzle17 Syria | Operation Mole Cricket 2010 | @Mustang-25 Syria | Operation Peace Spring | @Starfire13 -Syria | Russian Intervention 2015 | @Malakhit + ### Unsupported campaigns @@ -41,8 +39,12 @@ Map | Name | Owner | Last included in These campaigns are broken and have no owner to fix them, so they have been removed. If you want to revive them, you can volunteer to maintain them. -Map | Name | Last included in ---- | --- | --- +Map | Name | Last included in +--- | --- | --- +Syria | Battle for Golan Heights | 3.0 +Syria | Inherent Resolve | 3.0 +Syria | Operation Atilla | 3.0 +Syria | Russian Intervention | 3.0 ## Becoming a campaign maintainer From 1532dad62bc5f1c2b4d6588485665610d3caa798 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sat, 26 Jun 2021 13:50:27 +0200 Subject: [PATCH 366/704] Updated Campaign maintenance (markdown) --- Campaign-maintenance.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Campaign-maintenance.md b/Campaign-maintenance.md index 8c41982..4ed2671 100644 --- a/Campaign-maintenance.md +++ b/Campaign-maintenance.md @@ -12,7 +12,7 @@ Caucasus | Multi-Part Georgia | @docofmur Caucasus | Multi-Part Russia | @docofmur Caucasus | Northern Russia | @RoleplayingPleb Caucasus | Operation Vectron's Claw | @Starfire13 -Caucasus | Russia Small | @Khopa +Caucasus | From Mozdok to Maykop | @Khopa Normandy | From Caen to Evreux | @Khopa NTTR | Exercise Vegas Nerve | @Starfire13 NTTR | Nevada Limited Air | @docofmur @@ -25,7 +25,7 @@ Syria | Operation Allied Sword | @sgtfuzzle17 Syria | Operation Black Ball | @sgtfuzzle17 Syria | Operation Mole Cricket 2010 | @Mustang-25 Syria | Operation Peace Spring | @Starfire13 - +Syria | Battle for Golan Heights | @Khopa ### Unsupported campaigns @@ -41,7 +41,6 @@ These campaigns are broken and have no owner to fix them, so they have been remo Map | Name | Last included in --- | --- | --- -Syria | Battle for Golan Heights | 3.0 Syria | Inherent Resolve | 3.0 Syria | Operation Atilla | 3.0 Syria | Russian Intervention | 3.0 From 5e6e707ed8b7e1b557cbdb516bef8fd332993bd6 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Sat, 26 Jun 2021 14:43:21 +0200 Subject: [PATCH 367/704] Updated Campaign maintenance (markdown) --- Campaign-maintenance.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Campaign-maintenance.md b/Campaign-maintenance.md index 4ed2671..be98979 100644 --- a/Campaign-maintenance.md +++ b/Campaign-maintenance.md @@ -26,6 +26,7 @@ Syria | Operation Black Ball | @sgtfuzzle17 Syria | Operation Mole Cricket 2010 | @Mustang-25 Syria | Operation Peace Spring | @Starfire13 Syria | Battle for Golan Heights | @Khopa +The Channel | Operation Dynamo | @Khopa ### Unsupported campaigns From 7e8da79a451cd30fed82bd8d41b689248259750e Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sat, 26 Jun 2021 11:10:48 -0700 Subject: [PATCH 368/704] Updated Campaign maintenance (markdown) --- Campaign-maintenance.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/Campaign-maintenance.md b/Campaign-maintenance.md index be98979..b41ba04 100644 --- a/Campaign-maintenance.md +++ b/Campaign-maintenance.md @@ -31,10 +31,7 @@ The Channel | Operation Dynamo | @Khopa ### Unsupported campaigns -These campaigns either have no owner or the owner has been to busy to maintain them. Please attempt to contact them on discord before submitting updates for them. **When they break they will be removed from Liberation**. If you can't contact the owner let us know in the campaign update form and we will change the owner to you, ff you don't want to see those campaigns disappear from Liberation. - -Map | Name | Owner | Last included in ---- | --- | --- +Every other campaign has no owner. **When they break they will be removed from Liberation**. If you don't want to see those campaigns disappear from Liberation, you can volunteer to maintain them. ### Retired campaigns From 1c3277fca993754aa7ac0441a77fda894ed207f9 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sat, 26 Jun 2021 12:16:54 -0700 Subject: [PATCH 369/704] Updated Campaign maintenance (markdown) --- Campaign-maintenance.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Campaign-maintenance.md b/Campaign-maintenance.md index b41ba04..eefc229 100644 --- a/Campaign-maintenance.md +++ b/Campaign-maintenance.md @@ -19,13 +19,15 @@ NTTR | Nevada Limited Air | @docofmur Persian Gulf | Battle of Abu Dhabi | @DanAlbert Persian Gulf | Battle for the UAE | @Mustang-25 Persian Gulf | Road to Dubai | @docofmur +Syria | Battle for Golan Heights | @Khopa Syria | Full Map | @RoleplayingPleb Syria | Humble Helper | @Sir-Headiii Syria | Operation Allied Sword | @sgtfuzzle17 +Syria | Operation Atilla | @Malakhit Syria | Operation Black Ball | @sgtfuzzle17 Syria | Operation Mole Cricket 2010 | @Mustang-25 Syria | Operation Peace Spring | @Starfire13 -Syria | Battle for Golan Heights | @Khopa +Syria | Russian Intervention | @Malakhit The Channel | Operation Dynamo | @Khopa @@ -40,8 +42,6 @@ These campaigns are broken and have no owner to fix them, so they have been remo Map | Name | Last included in --- | --- | --- Syria | Inherent Resolve | 3.0 -Syria | Operation Atilla | 3.0 -Syria | Russian Intervention | 3.0 ## Becoming a campaign maintainer From 69ac60414e0e7e2c77583c97719c7fc53cd1b27f Mon Sep 17 00:00:00 2001 From: sith1144 <86239928+sith1144@users.noreply.github.com> Date: Sun, 27 Jun 2021 14:10:52 +0200 Subject: [PATCH 370/704] added my All Along the Orontes campaign --- Community-campaigns.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Community-campaigns.md b/Community-campaigns.md index 09c927a..d7b98b2 100644 --- a/Community-campaigns.md +++ b/Community-campaigns.md @@ -4,6 +4,7 @@ Map | Campaign name | Liberation version | Author | Description | Download link --- | --- | --- | --- | --- | --- Caucasus | Some campaign | 2.5 | Someone | Describe your campaign. Include a screenshot if you want. Is it large or small? What part of the map does it take place on? | Upload your mission to a file sharing service and share the link here Syria | Operation Allied Sword | 2.5 | Fuzzle | A Syrian-Lebanese joint force has attacked Israel, attempting to cross the northern border. With the arrival of a US carrier group, Israel prepares its counterattack. BLUFOR must push from Ramat David north, with a split route inland for land-based and a coastal route for naval aircraft. Mid-size. Includes a custom faction file with livery overrides. | https://drive.google.com/file/d/17JH6X1dykYigB0v7DGkP7HCwNi5vzxtl/view?usp=sharing +Syria | All Along the Orontes | 4.0 | Sith1144 | In this fictional campaign you will take your force from Tripoli to Homs. From there, the front splits. One branch goes south, striking against enemy missile bases attacking your flank. The other turns north all the way down the Orontes river before turning south and taking Latakia airbase. It is aimed at helicopters, and thus quite dense and small in overall size. | [All Along the Orontes.zip](https://github.com/dcs-liberation/dcs_liberation/files/6721539/All.Along.the.Orontes.zip) You can (with some effort) use GitHub for file uploads: From 30e65e28407d34ebe0799e0185709366e0bef575 Mon Sep 17 00:00:00 2001 From: bgreman <47828384+bgreman@users.noreply.github.com> Date: Wed, 30 Jun 2021 11:07:18 -0400 Subject: [PATCH 371/704] Updated _Sidebar (markdown) --- _Sidebar.md | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/_Sidebar.md b/_Sidebar.md index 66ae5e5..b6e4a37 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -1,30 +1,30 @@ ## Tutorials -[Getting Started](https://github.com/Khopa/dcs_liberation/wiki/Getting-started) +[Getting Started](https://github.com/dcs_liberation/dcs_liberation/wiki/Getting-started) -[1 - DCS Liberation UI](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-01-:-UI) +[1 - DCS Liberation UI](https://github.com/dcs_liberation/dcs_liberation/wiki/Tutorial-01-:-UI) -[2 - Turn Zero](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-02:-Turn-Zero) +[2 - Turn Zero](https://github.com/dcs_liberation/dcs_liberation/wiki/Tutorial-02:-Turn-Zero) -[3 - First operation](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-03:-First-operation) +[3 - First operation](https://github.com/dcs_liberation/dcs_liberation/wiki/Tutorial-03:-First-operation) -[4 - Setting up a custom Strike mission](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-04-:-Setting-up-a-custom-%22Strike%22-mission) +[4 - Setting up a custom Strike mission](https://github.com/dcs_liberation/dcs_liberation/wiki/Tutorial-04-:-Setting-up-a-custom-%22Strike%22-mission) ## Manual -[Mission Planning](https://github.com/Khopa/dcs_liberation/wiki/Mission-planning) +[Mission Planning](https://github.com/dcs_liberation/dcs_liberation/wiki/Mission-planning) -[Frontline Stances](https://github.com/Khopa/dcs_liberation/wiki/Frontline-Strategies-Stances) +[Frontline Stances](https://github.com/dcs_liberation/dcs_liberation/wiki/Frontline-Strategies-Stances) [Frontline Movement](Frontline-Movement) -[Base Capture](https://github.com/Khopa/dcs_liberation/wiki/Base-Capture) +[Base Capture](https://github.com/dcs_liberation/dcs_liberation/wiki/Base-Capture) -[Performance Options](https://github.com/Khopa/dcs_liberation/wiki/Performance-Options) +[Performance Options](https://github.com/dcs_liberation/dcs_liberation/wiki/Performance-Options) -[Auto purchase options](https://github.com/Khopa/dcs_liberation/wiki/Auto-purchase-options) +[Auto purchase options](https://github.com/dcs_liberation/dcs_liberation/wiki/Auto-purchase-options) -[Unit Transfers](https://github.com/Khopa/dcs_liberation/wiki/Unit-Transfers) +[Unit Transfers](https://github.com/dcs_liberation/dcs_liberation/wiki/Unit-Transfers) [Squadrons and pilots](https://github.com/dcs-liberation/dcs_liberation/wiki/Squadrons-and-pilots) @@ -34,13 +34,13 @@ ## Dedicated Servers -[Dedicated server guide](https://github.com/Khopa/dcs_liberation/wiki/Dedicated-Server-Guide) +[Dedicated server guide](https://github.com/dcs_liberation/dcs_liberation/wiki/Dedicated-Server-Guide) -[WebUI for Dedicated Servers](https://github.com/Khopa/dcs_liberation/wiki/Using-noVNC-and-Liberation-as-Web-Interface) +[WebUI for Dedicated Servers](https://github.com/dcs_liberation/dcs_liberation/wiki/Using-noVNC-and-Liberation-as-Web-Interface) ## Modding Liberation -[Custom campaigns](https://github.com/Khopa/dcs_liberation/wiki/Custom-Campaigns) +[Custom campaigns](https://github.com/dcs_liberation/dcs_liberation/wiki/Custom-Campaigns) [Custom factions](https://github.com/Khopa/dcs_liberation/wiki/Custom-Factions) @@ -52,15 +52,15 @@ ## Contributing -[Contributing to DCS Liberation](https://github.com/Khopa/dcs_liberation/wiki/Contributing-to-DCS-Liberation) +[Contributing to DCS Liberation](https://github.com/dcs_liberation/dcs_liberation/wiki/Contributing-to-DCS-Liberation) [Campaign maintenance](https://github.com/dcs-liberation/dcs_liberation/wiki/Campaign-maintenance) -[Developer's Guide](https://github.com/Khopa/dcs_liberation/wiki/Developer's-Guide) +[Developer's Guide](https://github.com/dcs_liberation/dcs_liberation/wiki/Developer's-Guide) -[Release process](https://github.com/Khopa/dcs_liberation/wiki/Release-process) +[Release process](https://github.com/dcs_liberation/dcs_liberation/wiki/Release-process) ## Misc -[Code of Conduct](https://github.com/Khopa/dcs_liberation/wiki/Code-of-Conduct) +[Code of Conduct](https://github.com/dcs_liberation/dcs_liberation/wiki/Code-of-Conduct) From 8a726946a2fb49f9f24f0d04b670bf1f0af7e623 Mon Sep 17 00:00:00 2001 From: bgreman <47828384+bgreman@users.noreply.github.com> Date: Wed, 30 Jun 2021 11:07:43 -0400 Subject: [PATCH 372/704] Updated _Sidebar (markdown) --- _Sidebar.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_Sidebar.md b/_Sidebar.md index b6e4a37..13a9632 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -1,6 +1,6 @@ ## Tutorials -[Getting Started](https://github.com/dcs_liberation/dcs_liberation/wiki/Getting-started) +[Getting Started](Getting-started) [1 - DCS Liberation UI](https://github.com/dcs_liberation/dcs_liberation/wiki/Tutorial-01-:-UI) From 45b542a813ff8a24285de3646fd215b88aa4c346 Mon Sep 17 00:00:00 2001 From: bgreman <47828384+bgreman@users.noreply.github.com> Date: Wed, 30 Jun 2021 11:08:04 -0400 Subject: [PATCH 373/704] Updated _Sidebar (markdown) --- _Sidebar.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/_Sidebar.md b/_Sidebar.md index 13a9632..40c15fb 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -2,13 +2,13 @@ [Getting Started](Getting-started) -[1 - DCS Liberation UI](https://github.com/dcs_liberation/dcs_liberation/wiki/Tutorial-01-:-UI) +[1 - DCS Liberation UI](Tutorial-01-:-UI) -[2 - Turn Zero](https://github.com/dcs_liberation/dcs_liberation/wiki/Tutorial-02:-Turn-Zero) +[2 - Turn Zero](Tutorial-02:-Turn-Zero) -[3 - First operation](https://github.com/dcs_liberation/dcs_liberation/wiki/Tutorial-03:-First-operation) +[3 - First operation](Tutorial-03:-First-operation) -[4 - Setting up a custom Strike mission](https://github.com/dcs_liberation/dcs_liberation/wiki/Tutorial-04-:-Setting-up-a-custom-%22Strike%22-mission) +[4 - Setting up a custom Strike mission](Tutorial-04-:-Setting-up-a-custom-%22Strike%22-mission) ## Manual From 522917699dd142731411bf1e2c5f544703350b49 Mon Sep 17 00:00:00 2001 From: bgreman <47828384+bgreman@users.noreply.github.com> Date: Wed, 30 Jun 2021 11:08:45 -0400 Subject: [PATCH 374/704] Updated _Sidebar (markdown) --- _Sidebar.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/_Sidebar.md b/_Sidebar.md index 40c15fb..b02aa06 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -2,13 +2,13 @@ [Getting Started](Getting-started) -[1 - DCS Liberation UI](Tutorial-01-:-UI) +[1 - DCS Liberation UI](https://github.com/Khopa/dcs_liberation/wiki/Mission-planning/Tutorial-01-:-UI) -[2 - Turn Zero](Tutorial-02:-Turn-Zero) +[2 - Turn Zero](https://github.com/Khopa/dcs_liberation/wiki/Mission-planningTutorial-02:-Turn-Zero) -[3 - First operation](Tutorial-03:-First-operation) +[3 - First operation](https://github.com/Khopa/dcs_liberation/wiki/Mission-planningTutorial-03:-First-operation) -[4 - Setting up a custom Strike mission](Tutorial-04-:-Setting-up-a-custom-%22Strike%22-mission) +[4 - Setting up a custom Strike mission](https://github.com/Khopa/dcs_liberation/wiki/Mission-planningTutorial-04-:-Setting-up-a-custom-%22Strike%22-mission) ## Manual From 7ff24d00b7e707ffb0c0e7adcd191394a78d4222 Mon Sep 17 00:00:00 2001 From: bgreman <47828384+bgreman@users.noreply.github.com> Date: Wed, 30 Jun 2021 11:09:12 -0400 Subject: [PATCH 375/704] Updated _Sidebar (markdown) --- _Sidebar.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/_Sidebar.md b/_Sidebar.md index b02aa06..f80b006 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -2,13 +2,13 @@ [Getting Started](Getting-started) -[1 - DCS Liberation UI](https://github.com/Khopa/dcs_liberation/wiki/Mission-planning/Tutorial-01-:-UI) +[1 - DCS Liberation UI](https://github.com/Khopa/dcs_liberation/wiki//Tutorial-01-:-UI) -[2 - Turn Zero](https://github.com/Khopa/dcs_liberation/wiki/Mission-planningTutorial-02:-Turn-Zero) +[2 - Turn Zero](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-02:-Turn-Zero) -[3 - First operation](https://github.com/Khopa/dcs_liberation/wiki/Mission-planningTutorial-03:-First-operation) +[3 - First operation](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-03:-First-operation) -[4 - Setting up a custom Strike mission](https://github.com/Khopa/dcs_liberation/wiki/Mission-planningTutorial-04-:-Setting-up-a-custom-%22Strike%22-mission) +[4 - Setting up a custom Strike mission](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-04-:-Setting-up-a-custom-%22Strike%22-mission) ## Manual From c4c1c8293157fe73a19bc379113bcb90c37702b7 Mon Sep 17 00:00:00 2001 From: bgreman <47828384+bgreman@users.noreply.github.com> Date: Wed, 30 Jun 2021 11:10:12 -0400 Subject: [PATCH 376/704] Updated _Sidebar (markdown) --- _Sidebar.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/_Sidebar.md b/_Sidebar.md index f80b006..40ac992 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -12,21 +12,21 @@ ## Manual -[Mission Planning](https://github.com/dcs_liberation/dcs_liberation/wiki/Mission-planning) +[Mission Planning](Mission-planning) -[Frontline Stances](https://github.com/dcs_liberation/dcs_liberation/wiki/Frontline-Strategies-Stances) +[Frontline Stances](Frontline-Strategies-Stances) [Frontline Movement](Frontline-Movement) -[Base Capture](https://github.com/dcs_liberation/dcs_liberation/wiki/Base-Capture) +[Base Capture](Base-Capture) -[Performance Options](https://github.com/dcs_liberation/dcs_liberation/wiki/Performance-Options) +[Performance Options](Performance-Options) -[Auto purchase options](https://github.com/dcs_liberation/dcs_liberation/wiki/Auto-purchase-options) +[Auto purchase options](Auto-purchase-options) -[Unit Transfers](https://github.com/dcs_liberation/dcs_liberation/wiki/Unit-Transfers) +[Unit Transfers](Unit-Transfers) -[Squadrons and pilots](https://github.com/dcs-liberation/dcs_liberation/wiki/Squadrons-and-pilots) +[Squadrons and pilots](Squadrons-and-pilots) ## Additional content From ad6189557ac33bd8fbebaeee2a3a3edc72c1d469 Mon Sep 17 00:00:00 2001 From: bgreman <47828384+bgreman@users.noreply.github.com> Date: Wed, 30 Jun 2021 11:11:11 -0400 Subject: [PATCH 377/704] Updated _Sidebar (markdown) --- _Sidebar.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/_Sidebar.md b/_Sidebar.md index 40ac992..3bd320a 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -30,25 +30,25 @@ ## Additional content -[Community campaigns](https://github.com/dcs-liberation/dcs_liberation/wiki/Community-campaigns) +[Community campaigns](Community-campaigns) ## Dedicated Servers -[Dedicated server guide](https://github.com/dcs_liberation/dcs_liberation/wiki/Dedicated-Server-Guide) +[Dedicated server guide](Dedicated-Server-Guide) -[WebUI for Dedicated Servers](https://github.com/dcs_liberation/dcs_liberation/wiki/Using-noVNC-and-Liberation-as-Web-Interface) +[WebUI for Dedicated Servers](Using-noVNC-and-Liberation-as-Web-Interface) ## Modding Liberation -[Custom campaigns](https://github.com/dcs_liberation/dcs_liberation/wiki/Custom-Campaigns) +[Custom campaigns](Custom-Campaigns) -[Custom factions](https://github.com/Khopa/dcs_liberation/wiki/Custom-Factions) +[Custom factions](Custom-Factions) -[Lua Plugins](https://github.com/Khopa/dcs_liberation/wiki/Lua-Plugins) +[Lua Plugins](Lua-Plugins) -[Custom Loadouts](https://github.com/Khopa/dcs_liberation/wiki/Custom-Loadouts) +[Custom Loadouts](Custom-Loadouts) -[Modded aircraft support](https://github.com/Khopa/dcs_liberation/wiki/Modded-Aircraft-Support) +[Modded aircraft support](Modded-Aircraft-Support) ## Contributing From e471d653b5b9b6a54842e3ac06dbdbcabe0ed38a Mon Sep 17 00:00:00 2001 From: bgreman <47828384+bgreman@users.noreply.github.com> Date: Wed, 30 Jun 2021 11:12:12 -0400 Subject: [PATCH 378/704] Updated _Sidebar (markdown) --- _Sidebar.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/_Sidebar.md b/_Sidebar.md index 3bd320a..2f7da9c 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -52,15 +52,15 @@ ## Contributing -[Contributing to DCS Liberation](https://github.com/dcs_liberation/dcs_liberation/wiki/Contributing-to-DCS-Liberation) +[Contributing to DCS Liberation](Contributing-to-DCS-Liberation) -[Campaign maintenance](https://github.com/dcs-liberation/dcs_liberation/wiki/Campaign-maintenance) +[Campaign maintenance](Campaign-maintenance) -[Developer's Guide](https://github.com/dcs_liberation/dcs_liberation/wiki/Developer's-Guide) +[Developer's Guide](Developer's-Guide) -[Release process](https://github.com/dcs_liberation/dcs_liberation/wiki/Release-process) +[Release process](Release-process) ## Misc -[Code of Conduct](https://github.com/dcs_liberation/dcs_liberation/wiki/Code-of-Conduct) +[Code of Conduct](Code-of-Conduct) From b663bbdb9e293c9f32d768b2e422063703a0d0c3 Mon Sep 17 00:00:00 2001 From: bgreman <47828384+bgreman@users.noreply.github.com> Date: Wed, 30 Jun 2021 11:13:54 -0400 Subject: [PATCH 379/704] Updated _Sidebar (markdown) --- _Sidebar.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/_Sidebar.md b/_Sidebar.md index 2f7da9c..b5708e0 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -2,13 +2,13 @@ [Getting Started](Getting-started) -[1 - DCS Liberation UI](https://github.com/Khopa/dcs_liberation/wiki//Tutorial-01-:-UI) +[1 - DCS Liberation UI](Tutorial-01-:-UI) -[2 - Turn Zero](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-02:-Turn-Zero) +[2 - Turn Zero](Tutorial-02:-Turn-Zero) -[3 - First operation](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-03:-First-operation) +[3 - First operation](Tutorial-03:-First-operation) -[4 - Setting up a custom Strike mission](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-04-:-Setting-up-a-custom-%22Strike%22-mission) +[4 - Setting up a custom Strike mission](Tutorial-04-:-Setting-up-a-custom-%22Strike%22-mission) ## Manual From ad444c66828e7f8c7a42a6e6708d48713d127a33 Mon Sep 17 00:00:00 2001 From: bgreman <47828384+bgreman@users.noreply.github.com> Date: Wed, 30 Jun 2021 11:15:01 -0400 Subject: [PATCH 380/704] Updated _Sidebar (markdown) --- _Sidebar.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/_Sidebar.md b/_Sidebar.md index b5708e0..5805755 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -2,13 +2,13 @@ [Getting Started](Getting-started) -[1 - DCS Liberation UI](Tutorial-01-:-UI) +[1 - DCS Liberation UI](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-01-:-UI) -[2 - Turn Zero](Tutorial-02:-Turn-Zero) +[2 - Turn Zero](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-02:-Turn-Zero) -[3 - First operation](Tutorial-03:-First-operation) +[3 - First operation](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-03:-First-operation) -[4 - Setting up a custom Strike mission](Tutorial-04-:-Setting-up-a-custom-%22Strike%22-mission) +[4 - Setting up a custom Strike mission](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-04-:-Setting-up-a-custom-%22Strike%22-mission) ## Manual From db649c266071008a14ffbc15eea521062f883996 Mon Sep 17 00:00:00 2001 From: bgreman <47828384+bgreman@users.noreply.github.com> Date: Wed, 30 Jun 2021 11:15:28 -0400 Subject: [PATCH 381/704] Updated Home (markdown) --- Home.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Home.md b/Home.md index 5922cf6..5bacf4b 100644 --- a/Home.md +++ b/Home.md @@ -1,5 +1,5 @@ Welcome to the DCS Liberation wiki! -I recommend you read the [Getting Started](https://github.com/Khopa/dcs_liberation/wiki/Getting-started) guide first. +I recommend you read the [Getting Started](Getting-started) guide first. For other tutorials and information, see the navigation bar at the right side of the wiki. \ No newline at end of file From 36f5f97e449e0bc68d3ef6d65a38f26ff43a4b04 Mon Sep 17 00:00:00 2001 From: bgreman <47828384+bgreman@users.noreply.github.com> Date: Wed, 30 Jun 2021 11:16:09 -0400 Subject: [PATCH 382/704] Updated Tutorial 02: Turn Zero (markdown) --- Tutorial-02:-Turn-Zero.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tutorial-02:-Turn-Zero.md b/Tutorial-02:-Turn-Zero.md index 09e5f55..b98d243 100644 --- a/Tutorial-02:-Turn-Zero.md +++ b/Tutorial-02:-Turn-Zero.md @@ -6,7 +6,7 @@ This is a turn based simulation. Each turn, DCS Liberation will generate a DCS W ## Recruitment: -**Note:** These actions can be automated. See the [Auto purchase options guide](https://github.com/Khopa/dcs_liberation/wiki/Auto-purchase-options) for more information. +**Note:** These actions can be automated. See the [Auto purchase options guide](Auto-purchase-options) for more information. On the map, click on an airbase (or right click and select "Open base menu") to open the base management menu. For the full demonstration, choose an airbase that is connected to the active front line. From 43ae76b8575aba93844efef173ae7db0aaccbf31 Mon Sep 17 00:00:00 2001 From: bgreman <47828384+bgreman@users.noreply.github.com> Date: Wed, 30 Jun 2021 11:16:33 -0400 Subject: [PATCH 383/704] Updated Tutorial 02: Turn Zero (markdown) --- Tutorial-02:-Turn-Zero.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tutorial-02:-Turn-Zero.md b/Tutorial-02:-Turn-Zero.md index b98d243..084ccf1 100644 --- a/Tutorial-02:-Turn-Zero.md +++ b/Tutorial-02:-Turn-Zero.md @@ -22,7 +22,7 @@ Purchased aircraft will arrive at the airfield next turn. Orders can be canceled Purchases are limited by your available budget and by the amount of parking available next turn. Current aircraft, ordered aircraft, and aircraft transferring in or out of the airbase this turn contribute to the next turn's parking limits. -You will need to buy aircraft for your entire faction, not just your own aircraft. Ensure that you purchase aircraft capable of performing the missions you will plan next turn like BARCAPs, CAS, and DEAD. See the [Mission planning guide](https://github.com/Khopa/dcs_liberation/wiki/Mission-planning) for more information on mission types. +You will need to buy aircraft for your entire faction, not just your own aircraft. Ensure that you purchase aircraft capable of performing the missions you will plan next turn like BARCAPs, CAS, and DEAD. See the [Mission planning guide](Mission-planning) for more information on mission types. ### Ground unit recruitment From f1cbe3f00ee7b4e46655b28a39c75052b77c99ee Mon Sep 17 00:00:00 2001 From: bgreman <47828384+bgreman@users.noreply.github.com> Date: Wed, 30 Jun 2021 11:17:32 -0400 Subject: [PATCH 384/704] Updated Tutorial 03: First operation (markdown) --- Tutorial-03:-First-operation.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Tutorial-03:-First-operation.md b/Tutorial-03:-First-operation.md index da8e5b1..e0cd52c 100644 --- a/Tutorial-03:-First-operation.md +++ b/Tutorial-03:-First-operation.md @@ -21,7 +21,7 @@ Ground units purchased at Gudauta will be positioned along this front line. By d ![Front line stance selection](https://user-images.githubusercontent.com/315852/102669440-6c44e200-4143-11eb-9c11-c6cc73acb7f0.png) -See the [Front line stances guide](https://github.com/Khopa/dcs_liberation/wiki/Frontline-Strategies-Stances) for a description of each stance. +See the [Front line stances guide](Frontline-Strategies-Stances) for a description of each stance. # Adding player slots @@ -55,7 +55,7 @@ It may take some time to generate the mission. When complete, a window will appe **Do not close this Window until your mission is complete. Generated missions are only valid for as long as this window is open.** If you need to make changes to your plan, close the window, make your changes, and then press take off again. **You will need to load the newly generated mission.** -If the window does not appear, check the command prompt window that opened with Liberation and look for error messages in the log. You will likely need to [file a bug](https://github.com/Khopa/dcs_liberation/issues). +If the window does not appear, check the command prompt window that opened with Liberation and look for error messages in the log. You will likely need to [file a bug](https://github.com/dcs_liberation/dcs_liberation/issues). ## Launching the mission From eda05626900529ef71fa136eda1163d05db3cdac Mon Sep 17 00:00:00 2001 From: bgreman <47828384+bgreman@users.noreply.github.com> Date: Wed, 30 Jun 2021 11:18:47 -0400 Subject: [PATCH 385/704] Updated Tutorial 03: First operation (markdown) --- Tutorial-03:-First-operation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tutorial-03:-First-operation.md b/Tutorial-03:-First-operation.md index e0cd52c..a570253 100644 --- a/Tutorial-03:-First-operation.md +++ b/Tutorial-03:-First-operation.md @@ -55,7 +55,7 @@ It may take some time to generate the mission. When complete, a window will appe **Do not close this Window until your mission is complete. Generated missions are only valid for as long as this window is open.** If you need to make changes to your plan, close the window, make your changes, and then press take off again. **You will need to load the newly generated mission.** -If the window does not appear, check the command prompt window that opened with Liberation and look for error messages in the log. You will likely need to [file a bug](https://github.com/dcs_liberation/dcs_liberation/issues). +If the window does not appear, check the command prompt window that opened with Liberation and look for error messages in the log. You will likely need to [file a bug](https://github.com/dcs-liberation/dcs_liberation/issues). ## Launching the mission From d73607f7745182007fe98a86c5daade8815ac7a0 Mon Sep 17 00:00:00 2001 From: bgreman <47828384+bgreman@users.noreply.github.com> Date: Wed, 30 Jun 2021 11:19:47 -0400 Subject: [PATCH 386/704] Updated _Sidebar (markdown) --- _Sidebar.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/_Sidebar.md b/_Sidebar.md index 5805755..c1ba9e9 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -4,11 +4,11 @@ [1 - DCS Liberation UI](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-01-:-UI) -[2 - Turn Zero](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-02:-Turn-Zero) +[2 - Turn Zero](https://github.com/dcs-liberation/dcs_liberation/wiki/Tutorial-02:-Turn-Zero) -[3 - First operation](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-03:-First-operation) +[3 - First operation](https://github.com/dcs-liberation/dcs_liberation/wiki/Tutorial-03:-First-operation) -[4 - Setting up a custom Strike mission](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-04-:-Setting-up-a-custom-%22Strike%22-mission) +[4 - Setting up a custom Strike mission](https://github.com/dcs-liberation/dcs_liberation/wiki/Tutorial-04-:-Setting-up-a-custom-%22Strike%22-mission) ## Manual From 62d0d80f105db0494db60cbba7f23226e4c65a3a Mon Sep 17 00:00:00 2001 From: bgreman <47828384+bgreman@users.noreply.github.com> Date: Wed, 30 Jun 2021 11:21:27 -0400 Subject: [PATCH 387/704] Updated Mission planning (markdown) --- Mission-planning.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Mission-planning.md b/Mission-planning.md index c4f4fd3..3d56311 100644 --- a/Mission-planning.md +++ b/Mission-planning.md @@ -1,4 +1,4 @@ -**Note**: The [Tips for AI Handling page](https://github.com/dcs-liberation/dcs_liberation/wiki/Tips-for-AI-Handling) contains advice on which AI aircraft are best for each task. The auto-planner follows priorities for the best aircraft for the job when it can, but that guide may be useful to players planning their own AI missions. +**Note**: The [Tips for AI Handling page](Tips-for-AI-Handling) contains advice on which AI aircraft are best for each task. The auto-planner follows priorities for the best aircraft for the job when it can, but that guide may be useful to players planning their own AI missions. Each air mission is defined by a "package". A package is a group of one or more flights all working toward the same goal. The flights of the package can perform different tasks, at different times, and depart from different airports. For example, a strike mission attacking a factory will include a strike flight whose task is to attack the factory, but it can also include a SEAD flight to suppress any SAMs the package encounters, and an escort flight to protect the package from enemy aircraft. @@ -16,7 +16,7 @@ Flights will have their takeoff delayed long enough that all flights can arrive * AI flights from the boat will be activated late (the plane will not be spawned) until their mission start time. This is to decrease congestion on the flight deck. * Cold start player flights from the shore will be spawned uncontrolled. The player will not be able to enter the cockpit until the mission start time. This is to prevent AI wingmen from starting their engines prematurely and wasting too much fuel before a long delayed flight. * All other shore player flight start types will spawn immediately. Use delayed runway and air starts with caution, as there is no way to prevent the player from being spawned into the path of another flight. -* Player flights from the boat will spawn immediately (https://github.com/Khopa/dcs_liberation/issues/375). +* Player flights from the boat will spawn immediately (https://github.com/dcs-liberation/dcs_liberation/issues/375). To prevent player flights from being delayed, use the "Never delay player flights" option in the campaign settings. **This does not alter your mission time. It only lets you sit in a cockpit while you wait.** @@ -34,7 +34,7 @@ A split point is added after the egress point. This is where flights will split ## Task types -Below is a list of all the currently available task types for flights. More will be added in future updates. Subscribe to [Issue 277](https://github.com/Khopa/dcs_liberation/issues/277) for updates. +Below is a list of all the currently available task types for flights. More will be added in future updates. Subscribe to [Issue 277](https://github.com/dcs-liberation/dcs_liberation/issues/277) for updates. ### Anti-ship From 98d42153779d689c8052c16b9499fe70b773ebd5 Mon Sep 17 00:00:00 2001 From: bgreman <47828384+bgreman@users.noreply.github.com> Date: Wed, 30 Jun 2021 11:23:02 -0400 Subject: [PATCH 388/704] Updated Performance Options (markdown) --- Performance-Options.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Performance-Options.md b/Performance-Options.md index a3ab2ab..612046e 100644 --- a/Performance-Options.md +++ b/Performance-Options.md @@ -55,4 +55,4 @@ Disabling Tacview has resulted in framerate increases for a number of Liberation # Use a Dedicated Server -Users have also reported that setting up a dedicated server even on a local machine has helped improve their performance. Refer to the [Dedicated Server Guide wiki page](https://github.com/Khopa/dcs_liberation/wiki/Dedicated-Server-Guide) for more information on how to set a server up. \ No newline at end of file +Users have also reported that setting up a dedicated server even on a local machine has helped improve their performance. Refer to the [Dedicated Server Guide wiki page](Dedicated-Server-Guide) for more information on how to set a server up. \ No newline at end of file From d931ce7a7ffd6e79140fc2f4048358b59411a21a Mon Sep 17 00:00:00 2001 From: bgreman <47828384+bgreman@users.noreply.github.com> Date: Wed, 30 Jun 2021 11:23:25 -0400 Subject: [PATCH 389/704] Updated Auto purchase options (markdown) --- Auto-purchase-options.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Auto-purchase-options.md b/Auto-purchase-options.md index 568e895..2be1b4b 100644 --- a/Auto-purchase-options.md +++ b/Auto-purchase-options.md @@ -40,6 +40,6 @@ If no capable aircraft in range can be purchased, the remaining budget will roll Airbases outside the enemy's threat zone will be preferred. This will result in more regular, safer, albeit longer flight plans. -The best aircraft for the job will be purchased, with a random change of making a suboptimal decision to maintain unit variety. The preferences for each task type are defined in https://github.com/Khopa/dcs_liberation/blob/develop/gen/flights/ai_flight_planner_db.py. +The best aircraft for the job will be purchased, with a random change of making a suboptimal decision to maintain unit variety. The preferences for each task type are defined in https://github.com/dcs-liberation/dcs_liberation/blob/develop/gen/flights/ai_flight_planner_db.py. (Work in progress) A reserve of aircraft for airbase defense BARCAP and CAS missions will be maintained before aircraft are purchased for other missions. The reserves will remain at the airbase. This ensures that even if every planned flight is destroyed the critical missions can still be deployed on the next turn. \ No newline at end of file From 5757665c356688b844506bab899ca88064110ba7 Mon Sep 17 00:00:00 2001 From: bgreman <47828384+bgreman@users.noreply.github.com> Date: Wed, 30 Jun 2021 11:23:48 -0400 Subject: [PATCH 390/704] Updated Unit Transfers (markdown) --- Unit-Transfers.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Unit-Transfers.md b/Unit-Transfers.md index fbfcaad..ef9fc33 100644 --- a/Unit-Transfers.md +++ b/Unit-Transfers.md @@ -53,5 +53,5 @@ Ground units can be moved between bases by opening a base's menu and clicking th Note that manual creation of transfers is only needed when redeploying existing units. Transfer orders for purchased units will automatically be created to move them from the factory to their destination. Further work that's planned for 3.0: -* Redeployment of reserves from non-front line bases: https://github.com/Khopa/dcs_liberation/issues/823 -* Transfer via rail for alternate ground transportation networks: https://github.com/Khopa/dcs_liberation/issues/826 \ No newline at end of file +* Redeployment of reserves from non-front line bases: https://github.com/dcs-liberation/dcs_liberation/issues/823 +* Transfer via rail for alternate ground transportation networks: https://github.com/dcs-liberation/dcs_liberation/issues/826 \ No newline at end of file From a0d133cab5896dac75115d010919556b1a2ebc1f Mon Sep 17 00:00:00 2001 From: bgreman <47828384+bgreman@users.noreply.github.com> Date: Wed, 30 Jun 2021 11:31:23 -0400 Subject: [PATCH 391/704] Updated Custom Factions (markdown) --- Custom-Factions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Custom-Factions.md b/Custom-Factions.md index f2ac2f0..f12f25d 100644 --- a/Custom-Factions.md +++ b/Custom-Factions.md @@ -5,7 +5,7 @@ Good news, you can now mod factions in liberation! And these custom factions can be created easily with a text editor as a json file. -You can put your own factions configuration json files in the folder **.\resources\factions** or modify existing ones. Also you may place new faction files in your DCS Saved Games folder. **C:\users\\Saved Games\DCS\Liberation\Factions** folder will have to be created as it is not created when setting up liberation. This is the same location that you point Liberation too when setting it up for the first time. +You can put your own factions configuration json files in the folder **.\resources\factions** or modify existing ones. Also you may place new faction files in your DCS Saved Games folder. **C:\users\\\Saved Games\DCS\Liberation\Factions** folder will have to be created as it is not created when setting up liberation. This is the same location that you point Liberation too when setting it up for the first time. ![](https://imgur.com/hiqrYEh.png) From e838b492207765344237add5c500df649e0d929a Mon Sep 17 00:00:00 2001 From: bgreman <47828384+bgreman@users.noreply.github.com> Date: Wed, 30 Jun 2021 11:31:44 -0400 Subject: [PATCH 392/704] Updated Custom Factions (markdown) --- Custom-Factions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Custom-Factions.md b/Custom-Factions.md index f12f25d..f2ac2f0 100644 --- a/Custom-Factions.md +++ b/Custom-Factions.md @@ -5,7 +5,7 @@ Good news, you can now mod factions in liberation! And these custom factions can be created easily with a text editor as a json file. -You can put your own factions configuration json files in the folder **.\resources\factions** or modify existing ones. Also you may place new faction files in your DCS Saved Games folder. **C:\users\\\Saved Games\DCS\Liberation\Factions** folder will have to be created as it is not created when setting up liberation. This is the same location that you point Liberation too when setting it up for the first time. +You can put your own factions configuration json files in the folder **.\resources\factions** or modify existing ones. Also you may place new faction files in your DCS Saved Games folder. **C:\users\\Saved Games\DCS\Liberation\Factions** folder will have to be created as it is not created when setting up liberation. This is the same location that you point Liberation too when setting it up for the first time. ![](https://imgur.com/hiqrYEh.png) From 6542822764e158a9db315ada8180aa79677ffcde Mon Sep 17 00:00:00 2001 From: bgreman <47828384+bgreman@users.noreply.github.com> Date: Wed, 30 Jun 2021 11:31:56 -0400 Subject: [PATCH 393/704] Updated Custom Factions (markdown) --- Custom-Factions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Custom-Factions.md b/Custom-Factions.md index f2ac2f0..f81c9b9 100644 --- a/Custom-Factions.md +++ b/Custom-Factions.md @@ -5,7 +5,7 @@ Good news, you can now mod factions in liberation! And these custom factions can be created easily with a text editor as a json file. -You can put your own factions configuration json files in the folder **.\resources\factions** or modify existing ones. Also you may place new faction files in your DCS Saved Games folder. **C:\users\\Saved Games\DCS\Liberation\Factions** folder will have to be created as it is not created when setting up liberation. This is the same location that you point Liberation too when setting it up for the first time. +You can put your own factions configuration json files in the folder **.\resources\factions** or modify existing ones. Also you may place new faction files in your DCS Saved Games folder. **C:\users\\\\\Saved Games\DCS\Liberation\Factions** folder will have to be created as it is not created when setting up liberation. This is the same location that you point Liberation too when setting it up for the first time. ![](https://imgur.com/hiqrYEh.png) From b9dbde301291fe277ecd392281a8136af3843fcb Mon Sep 17 00:00:00 2001 From: bgreman <47828384+bgreman@users.noreply.github.com> Date: Wed, 30 Jun 2021 11:33:03 -0400 Subject: [PATCH 394/704] Updated Custom Factions (markdown) --- Custom-Factions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Custom-Factions.md b/Custom-Factions.md index f81c9b9..0de9b68 100644 --- a/Custom-Factions.md +++ b/Custom-Factions.md @@ -5,7 +5,7 @@ Good news, you can now mod factions in liberation! And these custom factions can be created easily with a text editor as a json file. -You can put your own factions configuration json files in the folder **.\resources\factions** or modify existing ones. Also you may place new faction files in your DCS Saved Games folder. **C:\users\\\\\Saved Games\DCS\Liberation\Factions** folder will have to be created as it is not created when setting up liberation. This is the same location that you point Liberation too when setting it up for the first time. +You can find the factions the game ships with in the folder **.\resources\factions** inside your Liberation install directory. You may place modified or new faction files in your DCS Saved Games folder. **C:\users\\\\\Saved Games\DCS\Liberation\Factions** folder will have to be created as it is not created when setting up liberation. This is the same location that you point Liberation to when setting it up for the first time. ![](https://imgur.com/hiqrYEh.png) From e90b9be56ac4dd558bc63fa728fcb6c263ad89d7 Mon Sep 17 00:00:00 2001 From: bgreman <47828384+bgreman@users.noreply.github.com> Date: Wed, 30 Jun 2021 11:33:50 -0400 Subject: [PATCH 395/704] Updated Custom Factions (markdown) --- Custom-Factions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Custom-Factions.md b/Custom-Factions.md index 0de9b68..2ee97dc 100644 --- a/Custom-Factions.md +++ b/Custom-Factions.md @@ -5,7 +5,7 @@ Good news, you can now mod factions in liberation! And these custom factions can be created easily with a text editor as a json file. -You can find the factions the game ships with in the folder **.\resources\factions** inside your Liberation install directory. You may place modified or new faction files in your DCS Saved Games folder. **C:\users\\\\\Saved Games\DCS\Liberation\Factions** folder will have to be created as it is not created when setting up liberation. This is the same location that you point Liberation to when setting it up for the first time. +You can find the factions the game ships with in the folder **.\resources\factions** inside your Liberation install directory. You may place modified or new faction files in your a special folder within your DCS Saved Games folder: **C:\users\\\\\Saved Games\DCS\Liberation\Factions** folder will have to be created as it is not created when setting up Liberation. This is the same location that you point Liberation to when setting it up for the first time. ![](https://imgur.com/hiqrYEh.png) From 587ee92a67ac34251b163526bcaf478422d594ec Mon Sep 17 00:00:00 2001 From: bgreman <47828384+bgreman@users.noreply.github.com> Date: Wed, 30 Jun 2021 11:34:11 -0400 Subject: [PATCH 396/704] Updated Custom Loadouts (markdown) --- Custom-Loadouts.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Custom-Loadouts.md b/Custom-Loadouts.md index 1a5ef9f..43d0832 100644 --- a/Custom-Loadouts.md +++ b/Custom-Loadouts.md @@ -8,7 +8,7 @@ To create custom default loadouts, create a loadout for the aircraft in the DCS ##### [DEPRECATED] Custom Loadouts for _before_ Liberation 3.0 1. Go to the DCS mission editor, put the plane you want to modify the loadout for in the editor. -Create loadouts with the following names, for each possible tasks : "CAS", "CAP", "SEAD", "ANTISHIP", "STRIKE" (additional tasks since 2.3: "INTERCEPT", "RUNWAY_ATTACK", "BAI", "OCA"). You can read more about tasks [at this page](https://github.com/Khopa/dcs_liberation/wiki/Mission-planning#task-types). +Create loadouts with the following names, for each possible tasks : "CAS", "CAP", "SEAD", "ANTISHIP", "STRIKE" (additional tasks since 2.3: "INTERCEPT", "RUNWAY_ATTACK", "BAI", "OCA"). You can read more about tasks [at this page](Mission-planning#task-types). * Note : Even if the plane cannot run the task, please create a default loadout for it anyway. 2. Once done, exit the DCS Mission Editor From b885ff4d9eefa872315281a850b372f38aeb5f82 Mon Sep 17 00:00:00 2001 From: bgreman <47828384+bgreman@users.noreply.github.com> Date: Wed, 30 Jun 2021 11:34:52 -0400 Subject: [PATCH 397/704] Updated Modded Aircraft Support (markdown) --- Modded-Aircraft-Support.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modded-Aircraft-Support.md b/Modded-Aircraft-Support.md index acb211c..217d917 100644 --- a/Modded-Aircraft-Support.md +++ b/Modded-Aircraft-Support.md @@ -9,7 +9,7 @@ Here is how to do it : ## Pre-requisites: -* A development environment for DCS Liberation, see https://github.com/Khopa/dcs_liberation/wiki/Developer's-Guide +* A development environment for DCS Liberation, see [Developer's Guide](Developer's-Guide) * Basic Python programming knowledge * Basic Lua programming knowledge * A DCS World open beta installation From 8df4420c5b6e82151bc4f5451f5ae4318abfaa09 Mon Sep 17 00:00:00 2001 From: bgreman <47828384+bgreman@users.noreply.github.com> Date: Wed, 30 Jun 2021 11:36:24 -0400 Subject: [PATCH 398/704] Updated Modded Aircraft Support (markdown) --- Modded-Aircraft-Support.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Modded-Aircraft-Support.md b/Modded-Aircraft-Support.md index 217d917..0364590 100644 --- a/Modded-Aircraft-Support.md +++ b/Modded-Aircraft-Support.md @@ -52,9 +52,9 @@ So to add support for modded aircrafts in liberation, we then have to manually e Aircraft data will be found in the file aircraft.py generated by pydcs. Search your aircraft class in this file, and add it to a custom file. Your mod might have added new weapons, they'll be found in weapons.py, and you have to fetch them as well. -Example of final file for the popular A-4E-C mod : https://github.com/Khopa/dcs_liberation/blob/develop/pydcs_extensions/a4ec/a4ec.py +Example of final file for the popular A-4E-C mod : https://github.com/dcs-liberation/dcs_liberation/blob/develop/pydcs_extensions/a4ec/a4ec.py -As you can see, extensions for mods are stored in this folder : https://github.com/Khopa/dcs_liberation/blob/develop/pydcs_extensions +As you can see, extensions for mods are stored in this folder : https://github.com/dcs-liberation/dcs_liberation/blob/develop/pydcs_extensions These file contains a lot of metadata we need to be able to generate missions, such as possible liveries, possible payloads for each pylons, specific weapons ids ... and so on. @@ -62,7 +62,7 @@ These file contains a lot of metadata we need to be able to generate missions, s Once you've created your extension, you need to inject it's content into the pydcs version run by Liberation. This is done at runtime in db.py. -If your modded content is a plane, you need to inject it to pydcs plane_map, in the file [db.py](https://github.com/Khopa/dcs_liberation/blob/develop/game/db.py) +If your modded content is a plane, you need to inject it to pydcs plane_map, in the file [db.py](https://github.com/dcs-liberation/dcs_liberation/blob/develop/game/db.py) ```python @@ -76,7 +76,7 @@ If this is a vehicle, add it to vehicle_map instead. ## Step 2 : DB stuff -Still in [db.py](https://github.com/Khopa/dcs_liberation/blob/develop/game/db.py) +Still in [db.py](https://github.com/dcs-liberation/dcs_liberation/blob/develop/game/db.py) Add your plane to the price map: @@ -92,7 +92,7 @@ Also add it to the list and maps: ```UNIT_BY_TASK```, ```PLANE_PAYLOAD_OVERRIDES ## Step 3 : Liberation flight planner database setup : -Open [ai_flight_planner_db.py](https://github.com/Khopa/dcs_liberation/blob/develop/gen/flights/ai_flight_planner_db.py) +Open [ai_flight_planner_db.py](https://github.com/dcs-liberation/dcs_liberation/blob/develop/gen/flights/ai_flight_planner_db.py) Add your plane to the lists it needs to be in, so DCS Liberation is aware of its capabilities : @@ -109,16 +109,16 @@ CAP_CAPABLE = [ ## Step 4 : Create default payload -See https://github.com/Khopa/dcs_liberation/wiki/Custom-Loadouts +See [Custom Loadouts](Custom-Loadouts) Create default loadouts for the new plane. ## Step 5 : Factions -See https://github.com/Khopa/dcs_liberation/wiki/Custom-Factions and create a faction that support the mods so it can be used +See [Custom Factions](Custom-Factions) and create a faction that support the mods so it can be used ## Step 6 : Add icons for the UI [Optional] -Add icons for the new plane there: https://github.com/Khopa/dcs_liberation/tree/develop/resources/ui/units/aircrafts/icons +Add icons for the new plane there: https://github.com/dcs-liberation/dcs_liberation/tree/develop/resources/ui/units/aircrafts/icons And a banner, there: https://github.com/Khopa/dcs_liberation/tree/develop/resources/ui/units/aircrafts/banners From ee240d34a1a8d98462bb880053cbb0e40f0dce66 Mon Sep 17 00:00:00 2001 From: bgreman <47828384+bgreman@users.noreply.github.com> Date: Wed, 30 Jun 2021 11:37:06 -0400 Subject: [PATCH 399/704] Updated Modded Aircraft Support (markdown) --- Modded-Aircraft-Support.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modded-Aircraft-Support.md b/Modded-Aircraft-Support.md index 0364590..e279082 100644 --- a/Modded-Aircraft-Support.md +++ b/Modded-Aircraft-Support.md @@ -120,7 +120,7 @@ See [Custom Factions](Custom-Factions) and create a faction that support the mod Add icons for the new plane there: https://github.com/dcs-liberation/dcs_liberation/tree/develop/resources/ui/units/aircrafts/icons -And a banner, there: https://github.com/Khopa/dcs_liberation/tree/develop/resources/ui/units/aircrafts/banners +And a banner, there: https://github.com/dcs-liberation/dcs_liberation/tree/develop/resources/ui/units/aircrafts/banners ## Step 7 : Playtest ! From c6138b36abaed0b6386031756e10ca0fe386a7cb Mon Sep 17 00:00:00 2001 From: bgreman <47828384+bgreman@users.noreply.github.com> Date: Wed, 30 Jun 2021 11:37:24 -0400 Subject: [PATCH 400/704] Updated Contributing to DCS Liberation (markdown) --- Contributing-to-DCS-Liberation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Contributing-to-DCS-Liberation.md b/Contributing-to-DCS-Liberation.md index 3ad1905..670d0a8 100644 --- a/Contributing-to-DCS-Liberation.md +++ b/Contributing-to-DCS-Liberation.md @@ -11,5 +11,5 @@ You can join the discord here : [![Discord](https://img.shields.io/discord/59570 And last but not least, you could also help developing new features. For this please refer to the developer's guide. -Please also note that we have a [code of conduct](https://github.com/Khopa/dcs_liberation/wiki/Code-of-Conduct), please follow it in all your interactions with the project. +Please also note that we have a [Code of Conduct](Code-of-Conduct), please follow it in all your interactions with the project. From 51dbad39fe86d8cd0f6cd2870170cd953e955044 Mon Sep 17 00:00:00 2001 From: bgreman <47828384+bgreman@users.noreply.github.com> Date: Wed, 30 Jun 2021 11:38:07 -0400 Subject: [PATCH 401/704] Updated Campaign maintenance (markdown) --- Campaign-maintenance.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Campaign-maintenance.md b/Campaign-maintenance.md index eefc229..a51cfe4 100644 --- a/Campaign-maintenance.md +++ b/Campaign-maintenance.md @@ -56,5 +56,5 @@ We don't recommend anyone take on more than one or two campaigns, perhaps more i ## Resources -* [Campaign design guide](https://github.com/dcs-liberation/dcs_liberation/wiki/Custom-campaigns-(3.0)) +* [Campaign design guide](Custom-Campaigns) * [Campaign format version details](https://github.com/dcs-liberation/dcs_liberation/blob/develop/game/version.py) \ No newline at end of file From d48b7105ccf80e040f19e91521bf969338fe7006 Mon Sep 17 00:00:00 2001 From: bgreman <47828384+bgreman@users.noreply.github.com> Date: Wed, 30 Jun 2021 11:39:03 -0400 Subject: [PATCH 402/704] Updated Developer's Guide (markdown) --- Developer's-Guide.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Developer's-Guide.md b/Developer's-Guide.md index 4b28b77..d761ff0 100644 --- a/Developer's-Guide.md +++ b/Developer's-Guide.md @@ -44,6 +44,7 @@ A Python virtual environment (virtualenv) is a local copy of the Python distribu To create and use a virtualenv, run: ``` +cd dcs_liberation python -m venv env .\env\Scripts\activate pip install -r requirements.txt From 7b598dc2c6dbc46461c9afb349b54d5cb66fe07f Mon Sep 17 00:00:00 2001 From: bgreman <47828384+bgreman@users.noreply.github.com> Date: Wed, 30 Jun 2021 11:39:54 -0400 Subject: [PATCH 403/704] Updated Developer's Guide (markdown) --- Developer's-Guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Developer's-Guide.md b/Developer's-Guide.md index d761ff0..a1fa059 100644 --- a/Developer's-Guide.md +++ b/Developer's-Guide.md @@ -81,7 +81,7 @@ The type checker is **not** run as part of pre-commit, since that makes it harde ## Making a release -https://github.com/Khopa/dcs_liberation/wiki/Release-process +[Release Process](Release-process) ## Pull requests From c23a3c4c22f585d29f8826b4d528d3022c2f1077 Mon Sep 17 00:00:00 2001 From: bgreman <47828384+bgreman@users.noreply.github.com> Date: Wed, 30 Jun 2021 11:40:16 -0400 Subject: [PATCH 404/704] Updated Release process (markdown) --- Release-process.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Release-process.md b/Release-process.md index 67180e4..453b812 100644 --- a/Release-process.md +++ b/Release-process.md @@ -5,5 +5,5 @@ To release a new version of DCS Liberation: 3. Merge when the build passes 4. Tag master when the build is complete. Format for release tags is `$MAJOR.$MINOR.$PATCH`. **Do not create a release.** A release will be created automatically by the GitHub action from the tag. 5. Smoke test the tagged build -6. In [Releases](https://github.com/Khopa/dcs_liberation/releases), promote the tagged build to a release. Include the changelog in the description section. +6. In [Releases](https://github.com/dcs-liberation/dcs_liberation/releases), promote the tagged build to a release. Include the changelog in the description section. 7. Announce the release in #:loudspeaker:releases in Discord. \ No newline at end of file From 22c96b21122004dfa33af53fdb575d37e824a8a9 Mon Sep 17 00:00:00 2001 From: bgreman <47828384+bgreman@users.noreply.github.com> Date: Wed, 30 Jun 2021 11:42:30 -0400 Subject: [PATCH 405/704] Updated Preview builds (markdown) --- Preview-builds.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Preview-builds.md b/Preview-builds.md index c53b8cc..e0e0a75 100644 --- a/Preview-builds.md +++ b/Preview-builds.md @@ -1,5 +1,5 @@ -The latest build of the development branch can be found [here](https://github.com/Khopa/dcs_liberation/actions/workflows/build.yml?query=branch%3Adevelop+event%3Apush). That page shows the build for every change that goes into our development branch. Builds at the top of the page are newer. If you click on them and are logged in to GitHub, you can download the release from the "Artifacts" section of the page. +The latest build of the development branch can be found [here](https://github.com/dcs-liberation/dcs_liberation/actions/workflows/build.yml?query=branch%3Adevelop+event%3Apush). That page shows the build for every change that goes into our development branch. Builds at the top of the page are newer. If you click on them and are logged in to GitHub, you can download the release from the "Artifacts" section of the page. **This is a development branch. Sometimes we break things, and plenty of things will be works in progress. Save games may not work across builds, and you should back up any save games you don't want to lose before loading them with a development build.** -The latest builds of the 4.x release can be found [here](https://github.com/Khopa/dcs_liberation/actions/workflows/build.yml?query=branch%3Adevelop-4.x+event%3Apush). Unlike the main branch, saves _should_ remain compatible with saves from prior versions of 4.x. However, check the date of the build before downloading, as the build on this page may be older than the released version. \ No newline at end of file +The latest builds of the 4.x release can be found [here](https://github.com/dcs-liberation/dcs_liberation/actions/workflows/build.yml?query=branch%3Adevelop-4.x+event%3Apush). Unlike the main branch, saves _should_ remain compatible with saves from prior versions of 4.x. However, check the date of the build before downloading, as the build on this page may be older than the released version. \ No newline at end of file From 0eab69808731736d3275044ba55401ff1b956822 Mon Sep 17 00:00:00 2001 From: Jeet Sukumaran Date: Wed, 30 Jun 2021 17:39:34 -0700 Subject: [PATCH 406/704] Created Battle of Abu Dhabi -- A Tutorial (markdown) --- Battle-of-Abu-Dhabi----A-Tutorial.md | 457 +++++++++++++++++++++++++++ 1 file changed, 457 insertions(+) create mode 100644 Battle-of-Abu-Dhabi----A-Tutorial.md diff --git a/Battle-of-Abu-Dhabi----A-Tutorial.md b/Battle-of-Abu-Dhabi----A-Tutorial.md new file mode 100644 index 0000000..c70a3bb --- /dev/null +++ b/Battle-of-Abu-Dhabi----A-Tutorial.md @@ -0,0 +1,457 @@ + + + + +## Setting Up a New Campaign + +1. Click on the "New Game" icon on the toolbar. + + ![](https://i.imgur.com/cvrerq0.jpeg) + + This will start the new game wizard. + +![](https://i.imgur.com/0R5s9bd.jpeg) + + Click on "Next >" to continue. + +2. The next page of the wizard will allow us to select a campaign as well as configure some context for the campaign. + +![](https://i.imgur.com/f4pbmiI.jpg) + + - **Item 1** + + This is a list of campaigns available in Liberation. + Each campaign listing begins with the name of the map or terrain it is set in, follwed by the name of the campaign itself. + We click on each campaign to select it, as well as to get some more details about setting it up or running it. + (If we are interested in developing our own custom campaign, have a look [here](https://github.com/dcs-liberation/dcs_liberation/wiki/Custom-campaigns)). + + - **Item 2** + + As we click on each campaign from the list on the left, in the top box on the right we will see a brief description of the campaign, including the default factions that the campaign designer has selected for the campaign. + + In terms of game mechanics, a "faction" essentially determines the types of hardware that each side will have access to during the campaign (i.e., what aircraft, ground vehicles, ships, air defenses, etc.). + The default factions may reflect historical or pseudo-historical units for a particular conflict a campaign is replicating, if any, or otherwise something that the campaign designer selected for balance or whimsy. + We will have the option to customize the factions on the next page, so don't worry if we do not like the default factions, or even if we do not really understand what hardware is associated with each faction as this will be listed later. + + - **Item 3** + + Take note of the performance impact rating. + We have some *limited* ability to [tweak this](https://github.com/dcs-liberation/dcs_liberation/wiki/Performance-Options) later on in the game, but we really should take into consideration the power of our machine or server when selecting a campaign. + + - **Item 4** + + Clicking on "Invert Map" under "Map Settings" will reverse the starting positions of the sides of the campaign, essentially letting us play the campaign from the other side (with appropriate faction selection later on). We will ignore this for now. + + - **Item 5** + + Under "Time Period" we can select the time period we want to set the campaign in. + The time period that we choose has TWO effects on gameplay: + - The season (Spring, Summer, Fall, Winter) determines the season textures on the campaign map. + - The year will *ONLY* make a difference if we later on choose to have era-dependent weapons restrictions in our campaign setup. Selecting this option (which will be available under the game settings once we start the campaign) will result in Liberation restricting all flights to only load up on ordnance that was in service by the year we set here. So, for example, if we set the campaign to play out in the "Cold War -- Fall [1970]", then our flights will not have access to AIM-120's, JDAMs/JSOWs, etc. + + + Next to the campaign itself, the time period is probably the most important option we will want to consider on this page. + For now, let us select "**Persian Gulf - Battle of Abu Dhabi**" as the campaign, and leave all the settings at their defaults, including the default time period (Summer 1995). + Click on "``Next >``" to proceed to the next page. + +3. The next page of the wizard allows us to select both ours as well as the opposing forces: "Player faction" and "Enemy faction", respectively. + As noted above, a "faction" in game terms essentially determines the types of aircraft, ground vehicles, air defenses, etc. that each side will have available. + Changing the faction using the dropdown boxes next to "Player faction" and "Enemy faction" will change the listing of types available under each. + Obviously, this will have *massive* difference in the campaign play, and we can set up anything we like, realistic or not, balanced or not. + In actual play, should spend some time stepping through different factions and reviewing their hardware/equipment to see what suits our whims, interests, etc. + For the same campaign, we can set up factions so that we play out everything from a peer-to-peer symmetrical conflict to a COIN conflict, or anything in between. + Moreover, we can select factions with hardware from different periods to capture WW2-ish, Cold War, or post-Cold War technologies and dynamics. + + Note that this page only selects hardware *availability* (the types of equipment available), not capacity (the numbers of each). + We will later have the ability to select this for each side as we desire. + + For the campaign we have selected, the campaign designer has set "Iran 2015" as the player faction and "United Arab Emirates (2015)" as the opposing faction. + This makes perfect sense for the geography and politics of the region, as well as the game balance. + + However, just to explore the possibilities, we are going to change the factions around. + We are going to select "USA 1990" as the player faction and "Iraq 1991" as the enemy or opposing faction. + We can "lore up" this conflict any way we please (maybe Iraq has invaded and occupied UAE very rapidly, and now the US has stepped in to push them back?), or just accept that this makes for a nice scenario to be explored. + + After selecting "USA 1990" and "Iraq 1991" for player and enemy factions, respectively, we click on "Next >" to proceed to the next page of the wizard. + +4. In this page of the wizard, we set the availability of some specialized hardware. + + So, for example, in the top box we can decide whether or not we want to allow aircraft carriers (and, if so, the supercarrier), helicopter carriers, or even any form of navy at all. + We can also set the desired mission duration. + Note that the only thing this effects is the AI mission planning -- the AI (our, side if we do not opt out later on for the AI to plan our missions, as well as the opposing side either way) will not plan any missions past this time. + We will still be able to play the mission for longer than this, but we will find things strange as the enemy may not have any CAPs on station or indeed much activity at all. + (Also note that we can always end the mission anytime, with the caveat that some of the AI may not have completed their assigned tasks). + + The second box lets Liberation know what game modification we want to use in the mission generation. + Two very important things to note here! + + - First, we need to have independently downloaded and installed the mods for the missions to work! Liberation does not bundle these mods, nor will it download them for us. + - Second, even if we have the mods installed, if the factions that we have selected do not explicitly include the various types offered, Liberation will not generate missions that include them! + + For now, the only option on this page that we are going to select will be "Use Supercarrier module" (assuming we have it). + After that, we click on "Next >" to proceed to the final set of options in the wizard. + +5. This page allows us to set the "economy" of the game. + The economy essentially determines how *much* of each side will able to buy out of the various types each faction makes available. + There are two things to consider here: + + - Next to equipment types (SA-10's vs SA-2's? Su-35s vs MiG-19's?), this is probably the single most important way to dial in the game balance. + If we find outselves going up against an anemic opposition that can barely put together a noticable CAP to provide a nice challenge to our strikes, or find ourselves rolling into victory without much satisfaction, increase the opposing faction budget. + Alternatively, if we find ourselves facing hordes of aircraft and SAMs and tanks and are overwhelmed, do the opposite: decrease the opposing faction budget. + We can also, of course, decrease our budgets to make our life more challenging, or increase our budget to allow us to generate extra sorties to deal with the hordes. + The approach we take should probably be driven by the second consideration below: performance. + + - The single biggest crunch to our game performance is the number of units in play in a particular mission: more units, less performance. + The single biggest way we can influence the number of units in play in a particular mission is by changing the budget. + If we find our games are a stutter fest or unplayable on our computers, then we can dial down the budgets for *both* sides here (e.g., dropping both sides down to 1000 or less). + + This page also allows us to decide whether or not the Liberation AI will automatically use some of our funding to repair damage or purchase aircraft. + This is for the players who do not want to deal with these issues, but honestly, it's really is a fun part of the game, and the "I" part of the AI is pretty limited so it is better for us take charge of this and leave these boxes unchecked. + +6. Clicking on "next" will take us to last page of the wizard. + Here all we have to do is click on "finish", and Liberation will do its thing to generate the campaign based on our options. + Then, the next screen we will be presented with will be the main Liberation interface, ready for us to dive into Turn 0 of our brand new campaign! + +## The Interface and Its Elements + +Looking at the main interface of Liberation, we see a number of elements and panels. + +1. This is the toolbar. From here we can create new campaigns, load saved ones, change the campaign and mission generation settings, etc. +2. This is our package window. Once we have planned some missions, we will see each package listed here. +3. This is our package flights window. Each package consists of one or more flights. For each package currently selected in the previous panel, the flights that make it up will be listed here. +4. This is our information window, where a log of various activities carried out by Liberation gets reported. +5. This is our main map view window, and is discussed in dtail below. +6. This is our "budget" in the abstract notional economy that Liberation uses to manage the game balance in terms of units and equipment fielded. +7. This is where we will go to generate a mission. + +### The Map Window in Detail + +The main map window is what we will use primarily to visualize and plan our campaign. + +- We can zoom in and out of the map by hovering over it and using our mouse scroll wheel. + We can actually get some really nice terrain detail at the maximum zoom, allowing for some pretty fine-scale mission planning that exploits terrain. +- Our forces are represented by blue icons, while the enemy is represented by red icons. + - The darker shaded icons represent *Control Points* --- important strategic objectives that structure the battlespace, as well as places in which we will base our aircraft, vehicles, and troops. + Most of these Control Points lie along the campaign axis (discussed below), but note that our carrier and helicopter carrier are also Control Points, given their capacity to base aircraft. + - Hovering our mouse over each icon shows we some information about the forces represented by each icon. + - Right-clicking on a non-Control Point icon brings up some details about the group's composition. + - Right-clicking on a friendly (blue) Control Point icon brings up a dialog which allows we to manage assets and resources related to this group, including "purchase" (under Liberation's notional econonmy) of aircraft, ground units, etc. + - For special naval Control Points, such as aircraft and helicopter carriers, right-clicking and dragging on its icon allows we to relocate the ships. The (future) new station will be indicated by a semi-transparent icon connected to the current location by a line, and it will only take effect the next turn. + - Left-clicking on any icon brings up a package scheduling dialog which allows we to frag missions relating to this group. For friendly groups, we can, for e.g., plan BARCAPs. For enemy groups we can plan various strikes, CAS, BAI, DEAD, SEAD, etc. missions. +- A thick line, running shows the principle axis of the compaign, which connects all the Control Points of the campaign, both ours and the enemy. This is discussed in detail below. + - This is the primary axis along which the campaign will be fought, and on which we will advance or retreat as we capture or lose Control Points arranged upon it. + - The dark red section of the axis, which runs from FOB Ras Al Khaminah to Liwa in the southeast, represents the part of the axis under enemy control. + - The salmon-colored section of the axis, running between FOB Ras Al Khaminah and Khasab, represent the current segment of the campaign axis that is being fought over. + - The orange line across the axis represents the front line, the current FEBA. + - As our missions prove successful, this front line will advance down the axis, toward the next enemy Control Point on the axis (FOB Ras Al Khaminah). + - If our forces advance far enough to capture this Control Point, then the this segment of the campaign axis will turn blue and the next one down (between Al Khaminah and Al Minhad) will turn salmon, and this continues to the next Control Point. + - Conversely, if the enemy proves more successful, the front line marker will retreat up the campaign axis until the enemy captures Khasab. + +## The Gameplan + +Before we get into the game in any more detail, let's first consider our overall strategy, as this will influence the composition of the assets we acquire. +We are going to play the game by working our way down the campaign axis, taking Control Point by Control point. +We can only take the first enemy Control Point after the front line, i.e., we cannot carry out any vertical envelopment, Operation Market Garden style of capturing any Control Points deeper down the line. +So our entire campaign will be driven by pushing the front line down the campaign axis of control as we take enemy control point after control point. +And the capture of enemy control points can *only* be done by ground troops. +*Everything* else in the game, whether its fancy F-22's or old school Hueys, is utterly and entirely in support of the troops on the ground, either directly or otherwise. + +Our strategy to achieve this victory is going to be using our airpower to shape the battlespace to favor the ground troops advancing on to the next control point, while making difficult for the enemy to do the same. +We are going to: + +1. First, take out the long-range SAM's that are going to intefere with the free movement of our air. We will prioritize, first, SAMs that cover the front lines and/or protect enemy forces near the frontlines, then, secondly, those that protect their airfields. +2. Second, we are going to turn our attention to: + - destruction of enemy ground assets near the front + - destruction of enemy *airfields* + +Note there are a multitude of other strategies, and we may want to think about running some of this as well (maybe supplementing if not replacing the above). +For example, the enemy economy, like ours, is based on a number of strategic resources, such as oil fields, factories, depots, etc. etc. +We may decide that it makes sense to hold back on the war on the ground and bleed the enemy's economy for a bit, in which case we would prioritize strikes against these strategic resources. +The strategy we pick will drive everything from our asset acquisition to our mission planning. +Thus if we favored the "war against the economy" approach, we would invest in strategic bombers rather than CAS-specialized tactical fighters. + +For this example, however, we are going to adopt the "SAMs > airfields > ground" formula, and thus our inventory will be dominated by tactical air assets and their suppporting aircraft. + +## Turn 0 + +Turn 0 is actually a "pre-game" turn, where we will do two things: + + - We will use this turn to set some options and other settings to adjust how the campaign and the missions it generates plays out. + - We (and the enemy) will make initial purchases, populating our bases and filling out our orders of battle table (i.e., determine our force dispositions). + + +### Settings + +1. Let's begin by selecting our mission generation options/settings as well as some other options for the campaign. + Click on the "Settings" icon in the toolbar. + +2. The first page that shows up is the "Difficult" page. + + - We can set the skill levels of various elements in the missions with the first three options. + - The income multipliers are another way of setting a game balance. Whereas the budgets we set in the campaign generation dialog affect the *initial* capacity of each side, here you can influence how subsequent turns go. + - At the bottom, we can also set whether or not you will allow external views or how much players can see in the F10 map. + + We can leave all of these at their defaults, though we may want to select the "No night missions" options if our preferred aircraft does not do well in those conditions. + +3. Select the "Campaign Management" page from the list on the left. + + Here we can decide whether or not you want to allow full unrestricted access to all weapons available in DCS for each platform, or restrict them in some to enhance (or at least modify) gameplay. + For example, if we chose 1990 as the period of interest, checking the "Restrict weapons by date" box will only allow AIM-7's but not AIM-120's for all our Hornets and Vipers. + Similarly for air-to-ground weapons: no GPS weapons will be available. + Of course, *both* sides will be affected by the same weapons restriction. + Obviously, this will have a major impact on the dynamics of the game, potentially make it a lot more interesting and challenging. + + Another option to set here is whether or not the Liberation AI plans our side's missions every turn in addition to the enemy's. + We are going to disable this by selected "Disabled" from the "Automatic package planning behavior" drop down box. + +4. Select the "Mission Generator" page from the list on the left. + + - The top box has the following options: + + - "Use Supercarrier Module": check this box if we have this module. + - "Put Objective Markers on the Map": selecting this option will create a separate waypoint for each strike target. + - "Player flights ignore TOT and spawn immediately": checking this box will allow we to spawn in anytime, as opposed to waiting for our flight's fragged start time. Your published route and waypoint timing will still reflect the mission plan, though, of course, it will be up to you to fly it accordingly. + - "Default start type for AI aircraft": We can adjust the start type for each flight individually when you frag them, but this sets the defaults for our side as well as the enemy. + - "Desired mission duration": As noted above, we are free to spawn in anything and quit the mission anytime. What this option determines is mission planning time frame that Liberation does for the enemy faction as well as our side (if you allow Liberation to plan your missions). + + - The bottom box has some important ways for we to manage performance. + In particular, we probably want to *UNCHECK* "Smoke visual effect on frontline" and "Generate infantry squades along vehicles". + As noted in [the optimization tips](https://github.com/dcs-liberation/dcs_liberation/wiki/Performance-Options), culling of distant units will help by preventing aircraft spawning more than a certain distance from the frontlines. + +5. Select the "Lua Plugins" page, and select some extra mods, plugins, or scripting goodies we want Liberation to implement in our missions. + + - "JTAC Autolase": we want this checked if you want integrated lasing of targets by an AI pseudo-JTAC (visualized as a invulnerable and invisible-to-the-enemy Predator drone currently). + - "SkynetIADS": we want this checked! The default SAM behavior in DCS is very dumb -- their radars are active all the time, and they instantly launch as soon as the tip of our aircraft pokes into their wildest maximum range. + This makes them easy to detect and defeat by "cheesing" (just poke in and out of their maximum range until they run out of ammo). + Skynet *greatly* improves their behavior in a range of ways, including: simulating an IADS (Integrated Air Defense System, by linking together information from multiple sensor platforms including EW radars); the radars being dark until something is in range; the missiles not firing until something has a decent probability of not escaping; radars going dark when they detect anti-radiation missiles heading their way, etc. etc. + It changes the gameplayer entire and for the better. + SAM sites can actually be suppressed for example, by HARMs. + Furthermore, it also improves performance as radars are a major resource hog. + - "EWRS": if we select this, you will be provided a sort of "super-AWACS-on-steroids" feed during the DCS mission. + - "Splash Damage": we almost certainly want this option. By default DCS does not model fragmentation or "near-impact" damage from explosives. This mod fixes is this. + +After we have selected all the settings and options you want, close the dialog box, and now you are ready to select our order of battle! + +## Setting Up Our Order of Battle + +1. As noted above, the darker shaded blue icons are our Control Points. + Also as noted above, Control Points are the primary objectives of our campaign along the campaign axis. + In addition to serving as strategic objectives by which the campaign progress and success are measured, they are all also places at which we base and manage our forces. + +2. Let's start with placing some ground units on the frontlines (we *always* want to have some ground units on the frontlines, otherwise you will almost certainly lose the turn). + + "Khasab" is the Control Point just behind the front line. + Left-click on the dark blue icon representing this base to call up the resource management dialog. + This dialog has two tabs -- "Airfield Command" and "Ground Forces HQ". + + Click on "Ground Forces HQ" tab to switch to managing the ground forces. + On the panel on the left, we see all the various types available for this faction, followed by a number indicating how many are actually at this base now, followed by an indication of how much this type costs in Liberation's notional economy currency. + So, for example, the first row indicates that we have exactly 0 "LAV-25" vehicles at the base, and they cost 7 (million) each. + Next to this is a box with three elements: a "-" button, to remove one unit of this vehicle from the base; a number, indicating how many units of this vehicle we have "purchased" in this turn; and a "+" button, to tell Liberation to arrange for purchase of one unit of this vehicle the next turn. + + Scroll down to "M1A2 Abrams" row, and click the "+" button 20 times to command the "purchase" of 20 units of the Abrams tank for the frontlines. + We should see that the while the current number of Abrams remains 0, we have 20 now indicating as coming in the following turn. + We should also see that our "Available Budget" on the lower right of this dialog has gone from 2000 million to 1500 million. + + Close the dialog box to return to the main map view. + +3. Now let's set up some support aircraft assets, but at a base that is quite a bit further away from the front lines. + Right-click on "Bandar Abbas Intl", on the southern coast of Iran. + Under the "Airfield Command", scroll down to the "E-3A" row and press the "+" twice to acquire two of these AWACS aircraft. + We only need one AWACS operational in every mission, but as there is a turn lag before our "purchases" get delivered, if the AWACS gets shot down in a particular mission and we have only one in the inventory, that means that even if we have the funds to replace the AWACS, we will have to wait a full turn for it to arrive and we will at the very least have to fly the following mission without AWACS support. + + We will apply the same conservative logic to our land-based tanker assets: scroll down the list to find the "KC-130" and "KC-135 Stratotanker" entries and add two of each. + + +4. Now let's take a look at our carriers. + The darker shaded naval icons indicate the two carriers we have in play: the fixed-wing CVN carrier strike group and the helicopter carrier ("LHA"). + If we are unhappy with the placement of the carriers, we can move them by right-clicking and dragging them to a new location. + For example, if this were a (slightly) more realistic play, we may want to move at the carrier out of the Persian Gulf into at least the Gulf of Oman, as carrier strike groups love blue water and are really not comfortable moving into, let alone operating tactically, in restricted waters such as the Persian Gulf proper. + A line will appear from the current location leading to a semi-transparent icon indicating the future location. + Note that the future location will only take effect on the next turn. + + For this example, we are going to leave the carriers in the Persian Gulf. + +5. Once we are satisfied with the placement of the carriers, we left-click on the carrier icon to call up its asset management dialog. + + We will add: + + - 2x E-2C Hawkeyes, to give us local AWACS capability + - 4x S-3B Tankers, to give us organic refuelin capability + - 12x F-14A Tomcats + - 24x F/A-18C Hornets + + Next, left-click on the LHA to bring up its asset management dialog, and add: + + - 16x AV-8B Harrier II's + + And, with that, we are *done* with the initial order of battle setup! + +6. The final step of this stage is to start the ball rolling. + Before doing anything else, though, let us quickly save the game in its current state, so that all our campaign setup does not get lost should something go wrong. + Now we click on "Begin Campaign" on the upper right hand corner of the Liberation window to proceed to Turn 1. + +## Turn 1 + +Now we are ready to plan our first turn. + +Note that are budget has been increased. +This reflects "income" that we gained from various intact assets that contributed to our economy in the previous turn. +We will put off "buying" new hardware until after we have set up the missions this turn. + +All activity in Liberation is organized into *packages*. +A package consists of one or more *flights* with a specific objective and, crucially a TOT (Time on Target) that determines when that objective should be completed. +A *flight* consists of one or more aircraft with a mission that either achieves the package's mission directly, or otherwise supports it. +If we had not disabled autoplanning in the settings, Liberation would have thrown up a whole bunch of packages for us, and then the only thing would *have* to do is to pick which one we wanted humans to fly and edit the package flights to replace the AI pilots with human player slots. + +Here, we are going to build up the turn from scratch, though. + +1. We'll start by planning our AWACS patrol. + + Right-clicking on any blue Control Point (e.g., Qesh Island) will call up the Mission Package dialog. + Clicking on "Add Flight" on the botton left will call up the "Create Flight" dialog. + From the "Task" drop down box, we select "AEW&C". + From the "Aircraft" drop down box, we have two options available -- The E-3's out of Bandar Abbas Intl, or the E-2's out of our carrier. + We are going to assign an E-3 for this task. + We will leave all the other options at their defaults, but will set the "Start type" as "In flight". + As noted, this will make it impossible for this aircraft to be targetted by enemy missions, so should be used judiciously. + The only reasons to change this from "Cold" is because of performance (some airfields can get buggy if many aircraft are on the taxiways at once) or timing. + Here we are doing it for the latter: we want this mission up and running before any other flights are in the air. + + Clicking on "Create" will add the flight to the package. + We could (and probably *should*) assign some sort of escort to this package, but we are going to ignore it for now. + + Note that the mission TOT defaults to "ASAP", where the specific time is calculated based on the package route and waypoints (which itself can be edited later). + We can set a later time ourselves, and often will want to (to, for example, coordinate a strike package TOT to be after a DEAD package has dealt with a theater-scale SAM covering the strike target), but for now, ASAP is fine. + + We click on "Save" to save the package. + The AEW&C package now appears in the package listing window, and in the flight listing window the single E-3A flight appears. + On the main map window, our mission is represented by a flight route extending from the Bandar Abbas Intl airbase to, in this case, an arbitrary location on the map. + We left-click and drag the waypoint marker to something closer to the action, and in particular, making sure that the orbit location represented by the waypoint marker has a clear view of the north coast of the peninsula where all the action is. + +2. Now let's implement our game plan and frag some SAM strike packages. + In this example, there are two SA-6 sites on the coast and a SA-3 site a little further in. + While the front line itself does not seem to be in the threat circle of any of these, the larger battlefield around the front line is, and these SAMs will interefe with our interdictions and CAS missions. + So we are going to plan three packages: one for each of the two SA-6 sites, and a third against the SA-3 site. + We are going to coordinate the packages such that the SA-3 site strike will not be exposed to the SA-2 on their ingrees, so it will have a TOT adjusted accordingly. + +3. We begin by right-clicking on the first SA-6 site to call up the package editor that will help us put together a package targetting this site. + + We click on "Add Flight" to setup a DEAD flight consisting of 4 F/A-18C Hornets out of the Stennis. + We decide that this is one mission a human player will want to fly by clicking on the "Player" boxes next to the pilot assignments (though we could, with varying levels of success, decide that this mission would be flown by AI only by leaving all the "Player" boxes blank). + We click on "Create" to add this flight to the package. + + Now, we can edit or fine tune the flight configuration by double-clicking on it. + Double-clicking on the flight calls up the flight edit dialog. + - The first page of this dialog allows us to change the number of aircraft in this flight, change (or add/remove) the slots that are assigned to human players, or change the start type (cold, warm, runway, in flight, etc.) + - The second page ("Payload") allows us to change the default loadout of the aircraft. + The default loadout will vary depending on, of course, the aircraft type, but also whether or not we have era-specific weapons restrictions or have [customized loadouts](https://github.com/dcs-liberation/dcs_liberation/wiki/Custom-Loadouts). + We can select a pre-configured loadout from the drop-down box, or create a flight-specific custom loadout by clicking the "Use custom loadout" and then select ordnance on each station using the appropriate drop-down boxes. + - Closing the dialog box saves the loadout. + + While in the example above, we have configured our DEAD strike for self-escorting with 4x AIM-120's apiece, let's add a dedicated escort to this package anyway by clicking on "Add Flight" again, and selecting "Escort" from the "Task" drop-down. + + Closing the package editor saves the package, and now we have two packages listed in our package listing: our earlier AEW&C package and the DEAD strike package. + Again, we can always edit the package composition by double-clicking them in the package list to call up the package editor, or the flights by double clicking them in the package editor. + + Before proceeding, let's adjust the strike package route. + On the map, we see highlighted in yellow the route for the selected flight for the selected package. + The package is selected from the Packages window on the left, and the flight from the Flights window underneath it. + The currently selected flights will have pins for each waypoint, with details on the altitude and timing for that way point. + We can adjust any of these waypoints by dragging them. + This is something we typically want to do exploit terrain, avoid threats, come in from different axes/angles etc. etc. + Here we see the default route created for the DEAD package in Liberation puts the egress path right through the threat circle of some picket destroyers with nasty SAMs. + We almost certainly want to take out those ships eventually to give us access to that airspace, but for now we will adjust the route of the package to avoid them. + We click and drag the "5 Egress" waypoint pin and move it such that the route goes further north. + + Note that currently, we have to adjust the route of each flight in each package independently. + Above, we just edited the route of the the first flight in the package. + We have to select the second flight in the Flight window on the left, and see then that *its* route gets highlighted in yellow (while the previous flight's route goes back to blue), and we get the waypoint pins show again, which, again, we can use to adjust the route to follow the first flight. + +4. Let's repeat the above to set up a DEAD strike against the second SA-6 site, again adjusting the route as needed. + + For this one, as can be seen by lack of player slots, we leave it to all AI. + +5. Now let's set up the DEAD strike on the SA-3 site. + This proceeds along the lines of the previous (with a player slot thrown in), with one crucial difference. + Instead of choosing an ASAP TOT, we are going delay the time such that we are sure that the previous two DEAD strikes have completed the mission and destroyed the coastal SA-6's that are protecting the SA-3 site. + So we uncheck the "ASAP" box and set at TOT for T+00:25:00. + + +6. Next, let's get same CAS set up on the front lines. + We right-click on the orange front line marker to call up the package editor and frag a CAS flight of Harriers from our helicopter carrier (with a player slot thrown in). + Again, we double-click on the flight after we create it to modify the default payload, this time throwing in some GBU's into the mix for a little more impact. + + We frag a TARCAP flight to join the package to provide some protection against possible enemy air as well. + + Crucially, we adjust the package TOT such that we are sure that our SA-3 strike mission would have done its job before any of the CAS elements get on station. + +7. Ok, now all our primary targets and missions are setup, we can set up some secondary and defensive missions. + Clicking "AIR WING" pulls up a dialog showing all our assets, and the "Inventory" tab allows us to see at a glance all our unsed assets. + +8. Let's set up a BARCAP over the carrier. + Right-click on carrier and use the package editor to frag a Tomcat BARCAP mission. + Once the mission has been created, we can use adjust the "RACETRACK START" and "RACETRACK END" waypoints to adjust the geometry of the coverage. + + We would probably want to frag a two more BARCAP missions, staring at T+00:20:00 and T+00:40:00, respectively, to ensure continuous coverage throughout the mission. + +9. Following the above, we set up a BARCAP over Khasab, which will cover the helicopter carrier and the front line as well. + If enemy air is strong, we may want frag additional BARCAPs in addition. + +10. Now let us set up some refueling missions. + + As with the BARCAP missions, we can adjust the refueling race track waypoints to put the tankers where we want them. + We will typically want at least a recovery tanker (for flights to top up before landing on the carrier), and some mission support tankers (for flights to top up before they ingress, or for CAPs to refuel to extend their station time). + Be aware that the AI will not behave for refueling, so all refueling is only to cater for human players. + + We can right click on the carrier to frag refueling packages, and then adujust the tanker racetracks as needed. + +11. Finally, let us arrange for "purchases" for the next turn. + Here we would typically invest in replacing anticipated losses in addition to aircraft and vehicles that we want to carry out future operations. + +12. Now we are all ready to actually fly the mission inside DCS with our fellow human and AI pilots! + - Before anything else, let us save the game in its current state so that we can always return to it if needed. + - We click on the "Take Off" button in the upper right, and Liberation will generate a mission for us. + Liberation will create a file called "``liberation_nextturn.miz``" in our DCS saved missions directory (typically "``C:/Users//Saved Games/DCS/Missions``"). + Liberation then shows us window, indicating that it is now waiting for use to run and complete the mission in DCS. + +## Flying the Mission in DCS + +Upon starting DCS, we will find the mission file located in the default Mission folder. +When we load up the mission we will be offered all the client slots that we allocated during the Liberation planning phase. +If we made sure to select "Player flights ignore TOT and spawn immediately" or our fragged start time is T+00:00:00, we will spawn in to our cockpit right away. + +In the cockpit, calling up the kneeboard and jumping back a few pages will give us: + - Our flight plan, including our waypoint times, as well as ATC comms, TACANs, etc. + - Our support plan -- tanker and AWACS comms and TACANs +The flight plan consists of *at least* (there may be more) the following waypoints: + - **HOLD**: this will be the waypoint at which we will orbit or loiter with all the other flights of the package until the entire package is assembled. + The kneeboard flight plan publishes the departure time, i.e. the time we leave the HOLD waypoint and start heading toward the JOIN waypoint. + - **JOIN**: this is the waypoint where the entire package coalesces into a formation and pushes toward the INGRESS point. + - **INGRESS**: this is the final point from which we push off into chute toward the target. + - **TARGET**: this is the package objective + - **EGRESS** + - **SPLIT** + +Regardless of our spawn time, it will be up to use to keep (or not keep!) the mission plan. +If we spawn early, we can take the extra time to set up, look around, etc., before rolling up to take off. +If we take off early, we may need to spend a longer time orbiting the HOLD point to meet the correct departure time and keep the mission timing. +If we take off too late or are otherwise delayed, we may need to speed up, skip the hold, etc. to keep our mission timings. +Timings are everything. + +We can quit and exit the mission at any time. +So it's up to us whether we want to fly the whole 9 yards from start to finish. +But note this: the state of the "world" at the time we exit the mission (that is, actually quit the game, not just slot into another client) is, as far as Liberation is concerned, the absolute final outcome of the turn. +Any missions, AI or player, that have not completed will not have their tasks magically completed. +So if we exit the mission before other flights have started or completed their missions, whether or not we have completed ours (or if we have crashed), then we will not have progressed as far as we have planned and probably have to frag those missions again in the next turn. + +If we are unsatisfied with the outcome of the mission, ours or any other flights, we can also simply restart the mission and play it again. + +## Completing the Mission and the Next Turn + +Once we have exited the mission, Liberation will automatically detect its completion, and it's dialog box will change to offer us chance to accept the results. +(Note that we will have to Alt-Tab to switch focus to the Liberation window to see this dialog, especially if DCS is still running.) +Here we can click on "Accept" if we are happy and want to proceed to the next turn, or just "Abort" if we want to try the same mission again (remembering that we need to click in "TAKE OFF" to generate the mission and get Liberation prepared to read the results). + +If we accept the results of the mission by clicking on the appropriate button in the , then Liberation will present a summary of all the losses during the missions, including base capture events. +Then these changes will be applied to the Liberation's version of the "world", new income generated is added to the budgets, and we are ready for the next turn! From 8b5fbc5bbd4bc2c946d89fad0be82622e0b859cb Mon Sep 17 00:00:00 2001 From: Jeet Sukumaran Date: Wed, 30 Jun 2021 17:40:39 -0700 Subject: [PATCH 407/704] Updated Battle of Abu Dhabi A Tutorial (markdown) --- Battle-of-Abu-Dhabi----A-Tutorial.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Battle-of-Abu-Dhabi----A-Tutorial.md b/Battle-of-Abu-Dhabi----A-Tutorial.md index c70a3bb..ee772f6 100644 --- a/Battle-of-Abu-Dhabi----A-Tutorial.md +++ b/Battle-of-Abu-Dhabi----A-Tutorial.md @@ -10,13 +10,13 @@ This will start the new game wizard. -![](https://i.imgur.com/0R5s9bd.jpeg) + ![](https://i.imgur.com/0R5s9bd.jpeg) Click on "Next >" to continue. 2. The next page of the wizard will allow us to select a campaign as well as configure some context for the campaign. -![](https://i.imgur.com/f4pbmiI.jpg) + ![](https://i.imgur.com/f4pbmiI.jpg) - **Item 1** From 75fcde5d760c91e9246a090e18b04de7ee9ee9f0 Mon Sep 17 00:00:00 2001 From: Jeet Sukumaran Date: Wed, 30 Jun 2021 17:44:57 -0700 Subject: [PATCH 408/704] Updated Battle of Abu Dhabi A Tutorial (markdown) --- Battle-of-Abu-Dhabi----A-Tutorial.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Battle-of-Abu-Dhabi----A-Tutorial.md b/Battle-of-Abu-Dhabi----A-Tutorial.md index ee772f6..6e288b0 100644 --- a/Battle-of-Abu-Dhabi----A-Tutorial.md +++ b/Battle-of-Abu-Dhabi----A-Tutorial.md @@ -16,7 +16,7 @@ 2. The next page of the wizard will allow us to select a campaign as well as configure some context for the campaign. - ![](https://i.imgur.com/f4pbmiI.jpg) + ![](https://i.imgur.com/LhuAkxV.jpeg) - **Item 1** @@ -49,12 +49,14 @@ - The season (Spring, Summer, Fall, Winter) determines the season textures on the campaign map. - The year will *ONLY* make a difference if we later on choose to have era-dependent weapons restrictions in our campaign setup. Selecting this option (which will be available under the game settings once we start the campaign) will result in Liberation restricting all flights to only load up on ordnance that was in service by the year we set here. So, for example, if we set the campaign to play out in the "Cold War -- Fall [1970]", then our flights will not have access to AIM-120's, JDAMs/JSOWs, etc. - Next to the campaign itself, the time period is probably the most important option we will want to consider on this page. For now, let us select "**Persian Gulf - Battle of Abu Dhabi**" as the campaign, and leave all the settings at their defaults, including the default time period (Summer 1995). Click on "``Next >``" to proceed to the next page. 3. The next page of the wizard allows us to select both ours as well as the opposing forces: "Player faction" and "Enemy faction", respectively. + + ![](https://i.imgur.com/jBbCgLE.jpeg) + As noted above, a "faction" in game terms essentially determines the types of aircraft, ground vehicles, air defenses, etc. that each side will have available. Changing the faction using the dropdown boxes next to "Player faction" and "Enemy faction" will change the listing of types available under each. Obviously, this will have *massive* difference in the campaign play, and we can set up anything we like, realistic or not, balanced or not. @@ -76,6 +78,8 @@ 4. In this page of the wizard, we set the availability of some specialized hardware. + ![](https://i.imgur.com/wrB7NBg.jpeg) + So, for example, in the top box we can decide whether or not we want to allow aircraft carriers (and, if so, the supercarrier), helicopter carriers, or even any form of navy at all. We can also set the desired mission duration. Note that the only thing this effects is the AI mission planning -- the AI (our, side if we do not opt out later on for the AI to plan our missions, as well as the opposing side either way) will not plan any missions past this time. From bd030903d782af25804d4f3d117925362e31d581 Mon Sep 17 00:00:00 2001 From: Jeet Sukumaran Date: Wed, 30 Jun 2021 17:49:48 -0700 Subject: [PATCH 409/704] Updated Battle of Abu Dhabi A Tutorial (markdown) --- ...-A-Tutorial.md => Battle-of-Abu-Dhabi-Tutorial.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) rename Battle-of-Abu-Dhabi----A-Tutorial.md => Battle-of-Abu-Dhabi-Tutorial.md (99%) diff --git a/Battle-of-Abu-Dhabi----A-Tutorial.md b/Battle-of-Abu-Dhabi-Tutorial.md similarity index 99% rename from Battle-of-Abu-Dhabi----A-Tutorial.md rename to Battle-of-Abu-Dhabi-Tutorial.md index 6e288b0..0736612 100644 --- a/Battle-of-Abu-Dhabi----A-Tutorial.md +++ b/Battle-of-Abu-Dhabi-Tutorial.md @@ -95,8 +95,12 @@ For now, the only option on this page that we are going to select will be "Use Supercarrier module" (assuming we have it). After that, we click on "Next >" to proceed to the final set of options in the wizard. -5. This page allows us to set the "economy" of the game. - The economy essentially determines how *much* of each side will able to buy out of the various types each faction makes available. +5. This page allows us to configure the parameters of the notional "economy" of the game. + + ![](https://i.imgur.com/L3Ef5H1.jpeg) + + The "economy" is a game mechanic to manage the balance and difficulty of the campaign. + It essentially determines how *much* of each side will able to buy out of the various types each faction makes available. There are two things to consider here: - Next to equipment types (SA-10's vs SA-2's? Su-35s vs MiG-19's?), this is probably the single most important way to dial in the game balance. @@ -113,9 +117,13 @@ This is for the players who do not want to deal with these issues, but honestly, it's really is a fun part of the game, and the "I" part of the AI is pretty limited so it is better for us take charge of this and leave these boxes unchecked. 6. Clicking on "next" will take us to last page of the wizard. + + ![](https://i.imgur.com/FmX9l3U.jpeg) + Here all we have to do is click on "finish", and Liberation will do its thing to generate the campaign based on our options. Then, the next screen we will be presented with will be the main Liberation interface, ready for us to dive into Turn 0 of our brand new campaign! + ## The Interface and Its Elements Looking at the main interface of Liberation, we see a number of elements and panels. From 0f0d8470d650c6b0d9aade08accb3ed071e16099 Mon Sep 17 00:00:00 2001 From: Jeet Sukumaran Date: Wed, 30 Jun 2021 17:53:09 -0700 Subject: [PATCH 410/704] Updated Battle of Abu Dhabi Tutorial (markdown) --- ...torial.md => Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md | 4 ++++ 1 file changed, 4 insertions(+) rename Battle-of-Abu-Dhabi-Tutorial.md => Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md (99%) diff --git a/Battle-of-Abu-Dhabi-Tutorial.md b/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md similarity index 99% rename from Battle-of-Abu-Dhabi-Tutorial.md rename to Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md index 0736612..845d14d 100644 --- a/Battle-of-Abu-Dhabi-Tutorial.md +++ b/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md @@ -128,6 +128,8 @@ Looking at the main interface of Liberation, we see a number of elements and panels. +![](https://i.imgur.com/f4pbmiI.jpg) + 1. This is the toolbar. From here we can create new campaigns, load saved ones, change the campaign and mission generation settings, etc. 2. This is our package window. Once we have planned some missions, we will see each package listed here. 3. This is our package flights window. Each package consists of one or more flights. For each package currently selected in the previous panel, the flights that make it up will be listed here. @@ -140,6 +142,8 @@ Looking at the main interface of Liberation, we see a number of elements and pan The main map window is what we will use primarily to visualize and plan our campaign. +![](https://i.imgur.com/906NsC7.jpg) + - We can zoom in and out of the map by hovering over it and using our mouse scroll wheel. We can actually get some really nice terrain detail at the maximum zoom, allowing for some pretty fine-scale mission planning that exploits terrain. - Our forces are represented by blue icons, while the enemy is represented by red icons. From b89e69025a8901117dd8d3d80ba1ce518c322c03 Mon Sep 17 00:00:00 2001 From: Jeet Sukumaran Date: Wed, 30 Jun 2021 17:56:47 -0700 Subject: [PATCH 411/704] Updated Tutorial: Battle of Abu Dhabi Play Through (markdown) --- Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md b/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md index 845d14d..0b17017 100644 --- a/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md +++ b/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md @@ -192,16 +192,19 @@ For this example, however, we are going to adopt the "SAMs > airfields > ground" Turn 0 is actually a "pre-game" turn, where we will do two things: - - We will use this turn to set some options and other settings to adjust how the campaign and the missions it generates plays out. - - We (and the enemy) will make initial purchases, populating our bases and filling out our orders of battle table (i.e., determine our force dispositions). - +- We will use this turn to set some options and other settings to adjust how the campaign and the missions it generates plays out. +- We (and the enemy) will make initial purchases, populating our bases and filling out our orders of battle table (i.e., determine our force dispositions). ### Settings 1. Let's begin by selecting our mission generation options/settings as well as some other options for the campaign. Click on the "Settings" icon in the toolbar. + + ![](https://i.imgur.com/3fYBcta.jpeg) -2. The first page that shows up is the "Difficult" page. +2. The first page that shows up is the "Difficulty" page. + + ![](https://i.imgur.com/SKBmqa0.jpeg) - We can set the skill levels of various elements in the missions with the first three options. - The income multipliers are another way of setting a game balance. Whereas the budgets we set in the campaign generation dialog affect the *initial* capacity of each side, here you can influence how subsequent turns go. @@ -211,6 +214,8 @@ Turn 0 is actually a "pre-game" turn, where we will do two things: 3. Select the "Campaign Management" page from the list on the left. + ![](https://i.imgur.com/2h0I30d.jpeg) + Here we can decide whether or not you want to allow full unrestricted access to all weapons available in DCS for each platform, or restrict them in some to enhance (or at least modify) gameplay. For example, if we chose 1990 as the period of interest, checking the "Restrict weapons by date" box will only allow AIM-7's but not AIM-120's for all our Hornets and Vipers. Similarly for air-to-ground weapons: no GPS weapons will be available. @@ -222,6 +227,8 @@ Turn 0 is actually a "pre-game" turn, where we will do two things: 4. Select the "Mission Generator" page from the list on the left. + ![](https://i.imgur.com/9LcFeMR.jpeg) + - The top box has the following options: - "Use Supercarrier Module": check this box if we have this module. @@ -236,6 +243,8 @@ Turn 0 is actually a "pre-game" turn, where we will do two things: 5. Select the "Lua Plugins" page, and select some extra mods, plugins, or scripting goodies we want Liberation to implement in our missions. + ![](https://i.imgur.com/0UzM25J.jpeg) + - "JTAC Autolase": we want this checked if you want integrated lasing of targets by an AI pseudo-JTAC (visualized as a invulnerable and invisible-to-the-enemy Predator drone currently). - "SkynetIADS": we want this checked! The default SAM behavior in DCS is very dumb -- their radars are active all the time, and they instantly launch as soon as the tip of our aircraft pokes into their wildest maximum range. This makes them easy to detect and defeat by "cheesing" (just poke in and out of their maximum range until they run out of ammo). From 757b652217478bb845e481377cfd2f23525e960f Mon Sep 17 00:00:00 2001 From: Jeet Sukumaran Date: Wed, 30 Jun 2021 18:04:14 -0700 Subject: [PATCH 412/704] Updated Tutorial: Battle of Abu Dhabi Play Through (markdown) --- Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md | 47 ++++++++++++++++--- 1 file changed, 40 insertions(+), 7 deletions(-) diff --git a/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md b/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md index 0b17017..ca40e0d 100644 --- a/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md +++ b/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md @@ -269,28 +269,47 @@ After we have selected all the settings and options you want, close the dialog b Left-click on the dark blue icon representing this base to call up the resource management dialog. This dialog has two tabs -- "Airfield Command" and "Ground Forces HQ". - Click on "Ground Forces HQ" tab to switch to managing the ground forces. + ![](https://i.imgur.com/O05wq8c.jpeg) + + We click on "Ground Forces HQ" tab to switch to managing the ground forces. On the panel on the left, we see all the various types available for this faction, followed by a number indicating how many are actually at this base now, followed by an indication of how much this type costs in Liberation's notional economy currency. So, for example, the first row indicates that we have exactly 0 "LAV-25" vehicles at the base, and they cost 7 (million) each. Next to this is a box with three elements: a "-" button, to remove one unit of this vehicle from the base; a number, indicating how many units of this vehicle we have "purchased" in this turn; and a "+" button, to tell Liberation to arrange for purchase of one unit of this vehicle the next turn. - Scroll down to "M1A2 Abrams" row, and click the "+" button 20 times to command the "purchase" of 20 units of the Abrams tank for the frontlines. + We scroll down to "M1A2 Abrams" row, and click the "+" button 20 times to command the "purchase" of 20 units of the Abrams tank for the frontlines. + + ![](https://i.imgur.com/Hz6IcO1.jpeg) + We should see that the while the current number of Abrams remains 0, we have 20 now indicating as coming in the following turn. We should also see that our "Available Budget" on the lower right of this dialog has gone from 2000 million to 1500 million. Close the dialog box to return to the main map view. 3. Now let's set up some support aircraft assets, but at a base that is quite a bit further away from the front lines. - Right-click on "Bandar Abbas Intl", on the southern coast of Iran. - Under the "Airfield Command", scroll down to the "E-3A" row and press the "+" twice to acquire two of these AWACS aircraft. + We right-click on "Bandar Abbas Intl", on the southern coast of Iran. + + ![](https://i.imgur.com/V80XkWd.jpeg) + + Under the "Airfield Command", wscroll down to the "E-3A" row and press the "+" twice to acquire two of these AWACS aircraft. + + ![](https://i.imgur.com/ZK1H3FX.jpeg) + We only need one AWACS operational in every mission, but as there is a turn lag before our "purchases" get delivered, if the AWACS gets shot down in a particular mission and we have only one in the inventory, that means that even if we have the funds to replace the AWACS, we will have to wait a full turn for it to arrive and we will at the very least have to fly the following mission without AWACS support. - We will apply the same conservative logic to our land-based tanker assets: scroll down the list to find the "KC-130" and "KC-135 Stratotanker" entries and add two of each. - + We will apply the same conservative logic to our land-based tanker assets: we scroll down the list to find the "KC-130" and "KC-135 Stratotanker" entries and add two of each. + ![](https://i.imgur.com/trlX3Pt.jpeg) + 4. Now let's take a look at our carriers. + + ![](https://i.imgur.com/kGwq9ir.jpeg) + The darker shaded naval icons indicate the two carriers we have in play: the fixed-wing CVN carrier strike group and the helicopter carrier ("LHA"). If we are unhappy with the placement of the carriers, we can move them by right-clicking and dragging them to a new location. + + ![](https://i.imgur.com/rz8q3uX.jpeg) + + For example, if this were a (slightly) more realistic play, we may want to move at the carrier out of the Persian Gulf into at least the Gulf of Oman, as carrier strike groups love blue water and are really not comfortable moving into, let alone operating tactically, in restricted waters such as the Persian Gulf proper. A line will appear from the current location leading to a semi-transparent icon indicating the future location. Note that the future location will only take effect on the next turn. @@ -299,6 +318,8 @@ After we have selected all the settings and options you want, close the dialog b 5. Once we are satisfied with the placement of the carriers, we left-click on the carrier icon to call up its asset management dialog. + ![](https://i.imgur.com/yxTbaPq.jpeg) + We will add: - 2x E-2C Hawkeyes, to give us local AWACS capability @@ -306,7 +327,12 @@ After we have selected all the settings and options you want, close the dialog b - 12x F-14A Tomcats - 24x F/A-18C Hornets - Next, left-click on the LHA to bring up its asset management dialog, and add: + Next, we left-click on the LHA to bring up its asset management dialog, + + ![](https://i.imgur.com/mfPfusA.jpeg) + + + and add: - 16x AV-8B Harrier II's @@ -314,8 +340,15 @@ After we have selected all the settings and options you want, close the dialog b 6. The final step of this stage is to start the ball rolling. Before doing anything else, though, let us quickly save the game in its current state, so that all our campaign setup does not get lost should something go wrong. + + + + Now we click on "Begin Campaign" on the upper right hand corner of the Liberation window to proceed to Turn 1. + + ![](https://i.imgur.com/wsJyKPH.jpeg) + ## Turn 1 Now we are ready to plan our first turn. From ee9a9892cd160d717ccdd0efb316d3429c0dc58b Mon Sep 17 00:00:00 2001 From: Jeet Sukumaran Date: Wed, 30 Jun 2021 18:06:03 -0700 Subject: [PATCH 413/704] Updated Tutorial: Battle of Abu Dhabi Play Through (markdown) --- Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md b/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md index ca40e0d..25b5d62 100644 --- a/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md +++ b/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md @@ -269,6 +269,10 @@ After we have selected all the settings and options you want, close the dialog b Left-click on the dark blue icon representing this base to call up the resource management dialog. This dialog has two tabs -- "Airfield Command" and "Ground Forces HQ". + + ![](https://i.imgur.com/hEsqWPE.jpeg) + + ![](https://i.imgur.com/O05wq8c.jpeg) We click on "Ground Forces HQ" tab to switch to managing the ground forces. From e303f7dd663e06db6397c7a47ee3bdfa27709d71 Mon Sep 17 00:00:00 2001 From: Jeet Sukumaran Date: Wed, 30 Jun 2021 18:10:02 -0700 Subject: [PATCH 414/704] Updated Tutorial: Battle of Abu Dhabi Play Through (markdown) --- Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md b/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md index 25b5d62..75431a4 100644 --- a/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md +++ b/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md @@ -267,11 +267,10 @@ After we have selected all the settings and options you want, close the dialog b "Khasab" is the Control Point just behind the front line. Left-click on the dark blue icon representing this base to call up the resource management dialog. - This dialog has two tabs -- "Airfield Command" and "Ground Forces HQ". - ![](https://i.imgur.com/hEsqWPE.jpeg) + This dialog has two tabs -- "Airfield Command" and "Ground Forces HQ". ![](https://i.imgur.com/O05wq8c.jpeg) @@ -371,6 +370,9 @@ Here, we are going to build up the turn from scratch, though. 1. We'll start by planning our AWACS patrol. Right-clicking on any blue Control Point (e.g., Qesh Island) will call up the Mission Package dialog. + + ![](https://i.imgur.com/0MwGuYE.jpeg) + Clicking on "Add Flight" on the botton left will call up the "Create Flight" dialog. From the "Task" drop down box, we select "AEW&C". From the "Aircraft" drop down box, we have two options available -- The E-3's out of Bandar Abbas Intl, or the E-2's out of our carrier. From e8336920e423d0d4cb1b4adfce60f385bf1088e1 Mon Sep 17 00:00:00 2001 From: Jeet Sukumaran Date: Wed, 30 Jun 2021 18:25:28 -0700 Subject: [PATCH 415/704] Updated Tutorial: Battle of Abu Dhabi Play Through (markdown) --- Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md b/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md index 75431a4..3f88d6b 100644 --- a/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md +++ b/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md @@ -382,6 +382,8 @@ Here, we are going to build up the turn from scratch, though. The only reasons to change this from "Cold" is because of performance (some airfields can get buggy if many aircraft are on the taxiways at once) or timing. Here we are doing it for the latter: we want this mission up and running before any other flights are in the air. + ![](https://imgur.com/a/majbtHS) + Clicking on "Create" will add the flight to the package. We could (and probably *should*) assign some sort of escort to this package, but we are going to ignore it for now. From ccd301764644a82fad49be89cec535f9b6f08c89 Mon Sep 17 00:00:00 2001 From: Jeet Sukumaran Date: Wed, 30 Jun 2021 18:46:56 -0700 Subject: [PATCH 416/704] Updated Tutorial: Battle of Abu Dhabi Play Through (markdown) --- Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md | 34 +++++++++++++++---- 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md b/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md index 3f88d6b..52a4dd8 100644 --- a/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md +++ b/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md @@ -1,4 +1,4 @@ - + @@ -345,7 +345,7 @@ After we have selected all the settings and options you want, close the dialog b Before doing anything else, though, let us quickly save the game in its current state, so that all our campaign setup does not get lost should something go wrong. - + ![](https://i.imgur.com/7mJoc8I.jpeg) Now we click on "Begin Campaign" on the upper right hand corner of the Liberation window to proceed to Turn 1. @@ -391,32 +391,54 @@ Here, we are going to build up the turn from scratch, though. We can set a later time ourselves, and often will want to (to, for example, coordinate a strike package TOT to be after a DEAD package has dealt with a theater-scale SAM covering the strike target), but for now, ASAP is fine. We click on "Save" to save the package. + + ![](https://i.imgur.com/fvVlld4.jpeg) + The AEW&C package now appears in the package listing window, and in the flight listing window the single E-3A flight appears. On the main map window, our mission is represented by a flight route extending from the Bandar Abbas Intl airbase to, in this case, an arbitrary location on the map. We left-click and drag the waypoint marker to something closer to the action, and in particular, making sure that the orbit location represented by the waypoint marker has a clear view of the north coast of the peninsula where all the action is. + ![](https://i.imgur.com/lSDtiCu.jpeg) + 2. Now let's implement our game plan and frag some SAM strike packages. In this example, there are two SA-6 sites on the coast and a SA-3 site a little further in. + + ![](https://i.imgur.com/JKa7nvP.jpeg) + While the front line itself does not seem to be in the threat circle of any of these, the larger battlefield around the front line is, and these SAMs will interefe with our interdictions and CAS missions. So we are going to plan three packages: one for each of the two SA-6 sites, and a third against the SA-3 site. We are going to coordinate the packages such that the SA-3 site strike will not be exposed to the SA-2 on their ingrees, so it will have a TOT adjusted accordingly. -3. We begin by right-clicking on the first SA-6 site to call up the package editor that will help us put together a package targetting this site. - +3. We begin by right-clicking on the first SA-6 site (the one indicated by "1" above) to call up the package editor that will help us put together a package targeting this site. We click on "Add Flight" to setup a DEAD flight consisting of 4 F/A-18C Hornets out of the Stennis. + + ![](https://i.imgur.com/HXImmB0.jpeg) + We decide that this is one mission a human player will want to fly by clicking on the "Player" boxes next to the pilot assignments (though we could, with varying levels of success, decide that this mission would be flown by AI only by leaving all the "Player" boxes blank). We click on "Create" to add this flight to the package. - Now, we can edit or fine tune the flight configuration by double-clicking on it. + Now, we can edit or fine tune the flight configuration by double-clicking on its listing in the package editor. Double-clicking on the flight calls up the flight edit dialog. + + ![](https://i.imgur.com/Zfa6aFW.jpeg) + - The first page of this dialog allows us to change the number of aircraft in this flight, change (or add/remove) the slots that are assigned to human players, or change the start type (cold, warm, runway, in flight, etc.) - The second page ("Payload") allows us to change the default loadout of the aircraft. The default loadout will vary depending on, of course, the aircraft type, but also whether or not we have era-specific weapons restrictions or have [customized loadouts](https://github.com/dcs-liberation/dcs_liberation/wiki/Custom-Loadouts). + + ![](https://i.imgur.com/mh3zpiu.jpeg) + + We can select a pre-configured loadout from the drop-down box, or create a flight-specific custom loadout by clicking the "Use custom loadout" and then select ordnance on each station using the appropriate drop-down boxes. - - Closing the dialog box saves the loadout. + + ![](https://i.imgur.com/ThRUoFJ.jpeg) + + - Closing the dialog box saves the loadout for this mission. While in the example above, we have configured our DEAD strike for self-escorting with 4x AIM-120's apiece, let's add a dedicated escort to this package anyway by clicking on "Add Flight" again, and selecting "Escort" from the "Task" drop-down. + ![](https://i.imgur.com/zg2kUaw.jpeg) + Closing the package editor saves the package, and now we have two packages listed in our package listing: our earlier AEW&C package and the DEAD strike package. Again, we can always edit the package composition by double-clicking them in the package list to call up the package editor, or the flights by double clicking them in the package editor. From f11714c9748041b15ecd79bc7ba60bb1cf59326d Mon Sep 17 00:00:00 2001 From: Jeet Sukumaran Date: Wed, 30 Jun 2021 18:49:38 -0700 Subject: [PATCH 417/704] Updated Tutorial: Battle of Abu Dhabi Play Through (markdown) --- Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md b/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md index 52a4dd8..34eda89 100644 --- a/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md +++ b/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md @@ -440,10 +440,16 @@ Here, we are going to build up the turn from scratch, though. ![](https://i.imgur.com/zg2kUaw.jpeg) Closing the package editor saves the package, and now we have two packages listed in our package listing: our earlier AEW&C package and the DEAD strike package. + + ![](https://i.imgur.com/6NbrmQY.jpeg) + Again, we can always edit the package composition by double-clicking them in the package list to call up the package editor, or the flights by double clicking them in the package editor. Before proceeding, let's adjust the strike package route. On the map, we see highlighted in yellow the route for the selected flight for the selected package. + + ![](https://i.imgur.com/6QGH9zg.jpeg) + The package is selected from the Packages window on the left, and the flight from the Flights window underneath it. The currently selected flights will have pins for each waypoint, with details on the altitude and timing for that way point. We can adjust any of these waypoints by dragging them. @@ -452,10 +458,17 @@ Here, we are going to build up the turn from scratch, though. We almost certainly want to take out those ships eventually to give us access to that airspace, but for now we will adjust the route of the package to avoid them. We click and drag the "5 Egress" waypoint pin and move it such that the route goes further north. + ![](https://i.imgur.com/OHJoydH.jpeg) + Note that currently, we have to adjust the route of each flight in each package independently. - Above, we just edited the route of the the first flight in the package. + Here, we have just edited the route of the the first flight in the package. + + ![](https://i.imgur.com/OHJoydH.jpeg) + We have to select the second flight in the Flight window on the left, and see then that *its* route gets highlighted in yellow (while the previous flight's route goes back to blue), and we get the waypoint pins show again, which, again, we can use to adjust the route to follow the first flight. + ![](https://i.imgur.com/HjGzf47.jpeg) + 4. Let's repeat the above to set up a DEAD strike against the second SA-6 site, again adjusting the route as needed. For this one, as can be seen by lack of player slots, we leave it to all AI. From 9d58755c1539dfb34b7e013aca221e2b1ccfcd23 Mon Sep 17 00:00:00 2001 From: Jeet Sukumaran Date: Wed, 30 Jun 2021 19:04:12 -0700 Subject: [PATCH 418/704] Updated Tutorial: Battle of Abu Dhabi Play Through (markdown) --- Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md | 28 ++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md b/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md index 34eda89..e43dd28 100644 --- a/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md +++ b/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md @@ -471,6 +471,8 @@ Here, we are going to build up the turn from scratch, though. 4. Let's repeat the above to set up a DEAD strike against the second SA-6 site, again adjusting the route as needed. + ![](https://i.imgur.com/Xbv1MTO.jpeg) + For this one, as can be seen by lack of player slots, we leave it to all AI. 5. Now let's set up the DEAD strike on the SA-3 site. @@ -478,22 +480,43 @@ Here, we are going to build up the turn from scratch, though. Instead of choosing an ASAP TOT, we are going delay the time such that we are sure that the previous two DEAD strikes have completed the mission and destroyed the coastal SA-6's that are protecting the SA-3 site. So we uncheck the "ASAP" box and set at TOT for T+00:25:00. + ![](https://i.imgur.com/bQaNt1P.jpeg) + 6. Next, let's get same CAS set up on the front lines. We right-click on the orange front line marker to call up the package editor and frag a CAS flight of Harriers from our helicopter carrier (with a player slot thrown in). + + ![](https://i.imgur.com/f09nFyi.jpeg) + + ![](https://i.imgur.com/1Au13b6.jpeg) + Again, we double-click on the flight after we create it to modify the default payload, this time throwing in some GBU's into the mix for a little more impact. + ![](https://i.imgur.com/ccroNKu.jpeg) + We frag a TARCAP flight to join the package to provide some protection against possible enemy air as well. + ![](https://i.imgur.com/gXkZAA7.jpeg) + Crucially, we adjust the package TOT such that we are sure that our SA-3 strike mission would have done its job before any of the CAS elements get on station. + ![](https://i.imgur.com/CJUAgMg.jpeg) + 7. Ok, now all our primary targets and missions are setup, we can set up some secondary and defensive missions. Clicking "AIR WING" pulls up a dialog showing all our assets, and the "Inventory" tab allows us to see at a glance all our unsed assets. + ![](https://i.imgur.com/cZJcJp2.jpeg) + + 8. Let's set up a BARCAP over the carrier. Right-click on carrier and use the package editor to frag a Tomcat BARCAP mission. + + ![](https://i.imgur.com/Ek6zPvu.jpeg) + Once the mission has been created, we can use adjust the "RACETRACK START" and "RACETRACK END" waypoints to adjust the geometry of the coverage. + ![](https://i.imgur.com/TTpCCjG.jpeg) + We would probably want to frag a two more BARCAP missions, staring at T+00:20:00 and T+00:40:00, respectively, to ensure continuous coverage throughout the mission. 9. Following the above, we set up a BARCAP over Khasab, which will cover the helicopter carrier and the front line as well. @@ -505,8 +528,11 @@ Here, we are going to build up the turn from scratch, though. We will typically want at least a recovery tanker (for flights to top up before landing on the carrier), and some mission support tankers (for flights to top up before they ingress, or for CAPs to refuel to extend their station time). Be aware that the AI will not behave for refueling, so all refueling is only to cater for human players. - We can right click on the carrier to frag refueling packages, and then adujust the tanker racetracks as needed. + We can right click on the carrier to frag refueling packages, and then adjust the tanker racetracks as needed. + ![](https://i.imgur.com/NyKhBhA.jpeg) + ![](https://i.imgur.com/hxKtK8P.jpeg) + 11. Finally, let us arrange for "purchases" for the next turn. Here we would typically invest in replacing anticipated losses in addition to aircraft and vehicles that we want to carry out future operations. From 823cae1de0e0004116d0b4a23182fc756cb00d8a Mon Sep 17 00:00:00 2001 From: Jeet Sukumaran Date: Wed, 30 Jun 2021 19:05:32 -0700 Subject: [PATCH 419/704] Updated Tutorial: Battle of Abu Dhabi Play Through (markdown) --- Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md b/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md index e43dd28..be5b815 100644 --- a/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md +++ b/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md @@ -549,16 +549,17 @@ When we load up the mission we will be offered all the client slots that we allo If we made sure to select "Player flights ignore TOT and spawn immediately" or our fragged start time is T+00:00:00, we will spawn in to our cockpit right away. In the cockpit, calling up the kneeboard and jumping back a few pages will give us: - - Our flight plan, including our waypoint times, as well as ATC comms, TACANs, etc. - - Our support plan -- tanker and AWACS comms and TACANs + + +- Our flight plan, including our waypoint times, as well as ATC comms, TACANs, etc. +- Our support plan -- tanker and AWACS comms and TACANs The flight plan consists of *at least* (there may be more) the following waypoints: - - **HOLD**: this will be the waypoint at which we will orbit or loiter with all the other flights of the package until the entire package is assembled. - The kneeboard flight plan publishes the departure time, i.e. the time we leave the HOLD waypoint and start heading toward the JOIN waypoint. - - **JOIN**: this is the waypoint where the entire package coalesces into a formation and pushes toward the INGRESS point. - - **INGRESS**: this is the final point from which we push off into chute toward the target. - - **TARGET**: this is the package objective - - **EGRESS** - - **SPLIT** +- **HOLD**: this will be the waypoint at which we will orbit or loiter with all the other flights of the package until the entire package is assembled. The kneeboard flight plan publishes the departure time, i.e. the time we leave the HOLD waypoint and start heading toward the JOIN waypoint. +- **JOIN**: this is the waypoint where the entire package coalesces into a formation and pushes toward the INGRESS point. +- **INGRESS**: this is the final point from which we push off into chute toward the target. +- **TARGET**: this is the package objective +- **EGRESS** +- **SPLIT** Regardless of our spawn time, it will be up to use to keep (or not keep!) the mission plan. If we spawn early, we can take the extra time to set up, look around, etc., before rolling up to take off. From 485219e6fa8baff9bd1108b67b006e3b799075d2 Mon Sep 17 00:00:00 2001 From: Jeet Sukumaran Date: Wed, 30 Jun 2021 19:06:08 -0700 Subject: [PATCH 420/704] Updated Tutorial: Battle of Abu Dhabi Play Through (markdown) --- Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md b/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md index be5b815..137abcf 100644 --- a/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md +++ b/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md @@ -554,12 +554,12 @@ In the cockpit, calling up the kneeboard and jumping back a few pages will give - Our flight plan, including our waypoint times, as well as ATC comms, TACANs, etc. - Our support plan -- tanker and AWACS comms and TACANs The flight plan consists of *at least* (there may be more) the following waypoints: -- **HOLD**: this will be the waypoint at which we will orbit or loiter with all the other flights of the package until the entire package is assembled. The kneeboard flight plan publishes the departure time, i.e. the time we leave the HOLD waypoint and start heading toward the JOIN waypoint. -- **JOIN**: this is the waypoint where the entire package coalesces into a formation and pushes toward the INGRESS point. -- **INGRESS**: this is the final point from which we push off into chute toward the target. -- **TARGET**: this is the package objective -- **EGRESS** -- **SPLIT** + - **HOLD**: this will be the waypoint at which we will orbit or loiter with all the other flights of the package until the entire package is assembled. The kneeboard flight plan publishes the departure time, i.e. the time we leave the HOLD waypoint and start heading toward the JOIN waypoint. + - **JOIN**: this is the waypoint where the entire package coalesces into a formation and pushes toward the INGRESS point. + - **INGRESS**: this is the final point from which we push off into chute toward the target. + - **TARGET**: this is the package objective + - **EGRESS** + - **SPLIT** Regardless of our spawn time, it will be up to use to keep (or not keep!) the mission plan. If we spawn early, we can take the extra time to set up, look around, etc., before rolling up to take off. From a120b09c339b1f2420c101a861dbe4bec7fd762b Mon Sep 17 00:00:00 2001 From: Jeet Sukumaran Date: Wed, 30 Jun 2021 19:53:06 -0700 Subject: [PATCH 421/704] Updated _Sidebar (markdown) --- _Sidebar.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/_Sidebar.md b/_Sidebar.md index c1ba9e9..25cd8dc 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -10,6 +10,8 @@ [4 - Setting up a custom Strike mission](https://github.com/dcs-liberation/dcs_liberation/wiki/Tutorial-04-:-Setting-up-a-custom-%22Strike%22-mission) +[5 - "Battle of Abu Dhabi" Play Through Tutorial](https://github.com/dcs-liberation/dcs_liberation/wiki/Tutorial%3A-Battle-of-Abu-Dhabi-Play-Through) + ## Manual [Mission Planning](Mission-planning) From 3eaa97eeeb15fdbe950fd8abf32d29a52c019e14 Mon Sep 17 00:00:00 2001 From: Jeet Sukumaran Date: Wed, 30 Jun 2021 22:32:02 -0700 Subject: [PATCH 422/704] Updated Tutorial: Battle of Abu Dhabi Play Through (markdown) --- Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md | 253 +++--------------- 1 file changed, 39 insertions(+), 214 deletions(-) diff --git a/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md b/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md index 137abcf..b7a1511 100644 --- a/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md +++ b/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md @@ -1,6 +1,7 @@ + ## Setting Up a New Campaign @@ -163,30 +164,6 @@ The main map window is what we will use primarily to visualize and plan our camp - If our forces advance far enough to capture this Control Point, then the this segment of the campaign axis will turn blue and the next one down (between Al Khaminah and Al Minhad) will turn salmon, and this continues to the next Control Point. - Conversely, if the enemy proves more successful, the front line marker will retreat up the campaign axis until the enemy captures Khasab. -## The Gameplan - -Before we get into the game in any more detail, let's first consider our overall strategy, as this will influence the composition of the assets we acquire. -We are going to play the game by working our way down the campaign axis, taking Control Point by Control point. -We can only take the first enemy Control Point after the front line, i.e., we cannot carry out any vertical envelopment, Operation Market Garden style of capturing any Control Points deeper down the line. -So our entire campaign will be driven by pushing the front line down the campaign axis of control as we take enemy control point after control point. -And the capture of enemy control points can *only* be done by ground troops. -*Everything* else in the game, whether its fancy F-22's or old school Hueys, is utterly and entirely in support of the troops on the ground, either directly or otherwise. - -Our strategy to achieve this victory is going to be using our airpower to shape the battlespace to favor the ground troops advancing on to the next control point, while making difficult for the enemy to do the same. -We are going to: - -1. First, take out the long-range SAM's that are going to intefere with the free movement of our air. We will prioritize, first, SAMs that cover the front lines and/or protect enemy forces near the frontlines, then, secondly, those that protect their airfields. -2. Second, we are going to turn our attention to: - - destruction of enemy ground assets near the front - - destruction of enemy *airfields* - -Note there are a multitude of other strategies, and we may want to think about running some of this as well (maybe supplementing if not replacing the above). -For example, the enemy economy, like ours, is based on a number of strategic resources, such as oil fields, factories, depots, etc. etc. -We may decide that it makes sense to hold back on the war on the ground and bleed the enemy's economy for a bit, in which case we would prioritize strikes against these strategic resources. -The strategy we pick will drive everything from our asset acquisition to our mission planning. -Thus if we favored the "war against the economy" approach, we would invest in strategic bombers rather than CAS-specialized tactical fighters. - -For this example, however, we are going to adopt the "SAMs > airfields > ground" formula, and thus our inventory will be dominated by tactical air assets and their suppporting aircraft. ## Turn 0 @@ -222,8 +199,13 @@ Turn 0 is actually a "pre-game" turn, where we will do two things: Of course, *both* sides will be affected by the same weapons restriction. Obviously, this will have a major impact on the dynamics of the game, potentially make it a lot more interesting and challenging. - Another option to set here is whether or not the Liberation AI plans our side's missions every turn in addition to the enemy's. - We are going to disable this by selected "Disabled" from the "Automatic package planning behavior" drop down box. + By default, Liberation AI plans our side's missions every turn in addition to the enemy's. + We can fine tune how players are assigned missions by selecting one of the options from the "Automatic package planning behavior" drop down box. + + ![](https://i.imgur.com/1T7sC9e.jpg) + + You can read about the various options available [here](https://github.com/dcs-liberation/dcs_liberation/wiki/Squadrons-and-pilots). + For now, we are going to ask Liberation to run the mission planning for us, and leave this setting at its default. 4. Select the "Mission Generator" page from the list on the left. @@ -312,7 +294,6 @@ After we have selected all the settings and options you want, close the dialog b ![](https://i.imgur.com/rz8q3uX.jpeg) - For example, if this were a (slightly) more realistic play, we may want to move at the carrier out of the Persian Gulf into at least the Gulf of Oman, as carrier strike groups love blue water and are really not comfortable moving into, let alone operating tactically, in restricted waters such as the Persian Gulf proper. A line will appear from the current location leading to a semi-transparent icon indicating the future location. Note that the future location will only take effect on the next turn. @@ -341,7 +322,32 @@ After we have selected all the settings and options you want, close the dialog b And, with that, we are *done* with the initial order of battle setup! -6. The final step of this stage is to start the ball rolling. +6. The final step here is to let Liberation know who are human pilots are. + More specifically, we are going to tell Liberation which of the pilot "roles" are going to be filled out by humans and which will be filled out by AI. + Click on the "AIR WING" button on the tool bar to call up the Air Wing dialog: + + ![](https://i.imgur.com/ruPH8iX.jpg) + + Here, we see a list of squadrons avaiable to us, and the type of aircraft that they fly. + We choose pilot slots to be assigned to humans, as opposed to the default AI, based on the aircraft. + So, for example, if we want to fly the F/A-18C in the missions generated by DCS, we would need to let Liberation know to assign a pilot slot from an F/A-18C squadron to a human player. + We select an F/A18C squadron from the list and double-click it to call up the pilot assignment dialog: + + ![](https://i.imgur.com/lfxElEI.jpg) + + Selecting a pilot name from the list that shows up and clicking on "CONVERT TO PLAYER" assigns that slot to a player. + + ![](https://i.imgur.com/Doe3fi3.jpg) + + In this example, two pilot slots have been assigned to players. + We can assign as many pilot slots as we need to provide client slots for human players in the game. + And, of course, they can be for different types of aircraft. + We can further fine tune the sortie types generated for human players by selectively checking or unchecking the mission types that the named pilot can fly. + So, for example, if we only wanted to fly A2A missions, we would uncheck all boxes except "Escort", "BARCAP", "TARCAP", and "Fighter Sweep". + + Once we have set up the human pilot assignments, we close the Air Wing dialog. + +7. We are now done with the Turn 0 and ready to begin the campaign! Before doing anything else, though, let us quickly save the game in its current state, so that all our campaign setup does not get lost should something go wrong. @@ -354,193 +360,12 @@ After we have selected all the settings and options you want, close the dialog b ## Turn 1 -Now we are ready to plan our first turn. +Now we are all ready to actually fly the mission inside DCS with our fellow human and AI pilots! -Note that are budget has been increased. -This reflects "income" that we gained from various intact assets that contributed to our economy in the previous turn. -We will put off "buying" new hardware until after we have set up the missions this turn. - -All activity in Liberation is organized into *packages*. -A package consists of one or more *flights* with a specific objective and, crucially a TOT (Time on Target) that determines when that objective should be completed. -A *flight* consists of one or more aircraft with a mission that either achieves the package's mission directly, or otherwise supports it. -If we had not disabled autoplanning in the settings, Liberation would have thrown up a whole bunch of packages for us, and then the only thing would *have* to do is to pick which one we wanted humans to fly and edit the package flights to replace the AI pilots with human player slots. - -Here, we are going to build up the turn from scratch, though. - -1. We'll start by planning our AWACS patrol. - - Right-clicking on any blue Control Point (e.g., Qesh Island) will call up the Mission Package dialog. - - ![](https://i.imgur.com/0MwGuYE.jpeg) - - Clicking on "Add Flight" on the botton left will call up the "Create Flight" dialog. - From the "Task" drop down box, we select "AEW&C". - From the "Aircraft" drop down box, we have two options available -- The E-3's out of Bandar Abbas Intl, or the E-2's out of our carrier. - We are going to assign an E-3 for this task. - We will leave all the other options at their defaults, but will set the "Start type" as "In flight". - As noted, this will make it impossible for this aircraft to be targetted by enemy missions, so should be used judiciously. - The only reasons to change this from "Cold" is because of performance (some airfields can get buggy if many aircraft are on the taxiways at once) or timing. - Here we are doing it for the latter: we want this mission up and running before any other flights are in the air. - - ![](https://imgur.com/a/majbtHS) - - Clicking on "Create" will add the flight to the package. - We could (and probably *should*) assign some sort of escort to this package, but we are going to ignore it for now. - - Note that the mission TOT defaults to "ASAP", where the specific time is calculated based on the package route and waypoints (which itself can be edited later). - We can set a later time ourselves, and often will want to (to, for example, coordinate a strike package TOT to be after a DEAD package has dealt with a theater-scale SAM covering the strike target), but for now, ASAP is fine. - - We click on "Save" to save the package. - - ![](https://i.imgur.com/fvVlld4.jpeg) - - The AEW&C package now appears in the package listing window, and in the flight listing window the single E-3A flight appears. - On the main map window, our mission is represented by a flight route extending from the Bandar Abbas Intl airbase to, in this case, an arbitrary location on the map. - We left-click and drag the waypoint marker to something closer to the action, and in particular, making sure that the orbit location represented by the waypoint marker has a clear view of the north coast of the peninsula where all the action is. - - ![](https://i.imgur.com/lSDtiCu.jpeg) - -2. Now let's implement our game plan and frag some SAM strike packages. - In this example, there are two SA-6 sites on the coast and a SA-3 site a little further in. - - ![](https://i.imgur.com/JKa7nvP.jpeg) - - While the front line itself does not seem to be in the threat circle of any of these, the larger battlefield around the front line is, and these SAMs will interefe with our interdictions and CAS missions. - So we are going to plan three packages: one for each of the two SA-6 sites, and a third against the SA-3 site. - We are going to coordinate the packages such that the SA-3 site strike will not be exposed to the SA-2 on their ingrees, so it will have a TOT adjusted accordingly. - -3. We begin by right-clicking on the first SA-6 site (the one indicated by "1" above) to call up the package editor that will help us put together a package targeting this site. - We click on "Add Flight" to setup a DEAD flight consisting of 4 F/A-18C Hornets out of the Stennis. - - ![](https://i.imgur.com/HXImmB0.jpeg) - - We decide that this is one mission a human player will want to fly by clicking on the "Player" boxes next to the pilot assignments (though we could, with varying levels of success, decide that this mission would be flown by AI only by leaving all the "Player" boxes blank). - We click on "Create" to add this flight to the package. - - Now, we can edit or fine tune the flight configuration by double-clicking on its listing in the package editor. - Double-clicking on the flight calls up the flight edit dialog. - - ![](https://i.imgur.com/Zfa6aFW.jpeg) - - - The first page of this dialog allows us to change the number of aircraft in this flight, change (or add/remove) the slots that are assigned to human players, or change the start type (cold, warm, runway, in flight, etc.) - - The second page ("Payload") allows us to change the default loadout of the aircraft. - The default loadout will vary depending on, of course, the aircraft type, but also whether or not we have era-specific weapons restrictions or have [customized loadouts](https://github.com/dcs-liberation/dcs_liberation/wiki/Custom-Loadouts). - - ![](https://i.imgur.com/mh3zpiu.jpeg) - - - We can select a pre-configured loadout from the drop-down box, or create a flight-specific custom loadout by clicking the "Use custom loadout" and then select ordnance on each station using the appropriate drop-down boxes. - - ![](https://i.imgur.com/ThRUoFJ.jpeg) - - - Closing the dialog box saves the loadout for this mission. - - While in the example above, we have configured our DEAD strike for self-escorting with 4x AIM-120's apiece, let's add a dedicated escort to this package anyway by clicking on "Add Flight" again, and selecting "Escort" from the "Task" drop-down. - - ![](https://i.imgur.com/zg2kUaw.jpeg) - - Closing the package editor saves the package, and now we have two packages listed in our package listing: our earlier AEW&C package and the DEAD strike package. - - ![](https://i.imgur.com/6NbrmQY.jpeg) - - Again, we can always edit the package composition by double-clicking them in the package list to call up the package editor, or the flights by double clicking them in the package editor. - - Before proceeding, let's adjust the strike package route. - On the map, we see highlighted in yellow the route for the selected flight for the selected package. - - ![](https://i.imgur.com/6QGH9zg.jpeg) - - The package is selected from the Packages window on the left, and the flight from the Flights window underneath it. - The currently selected flights will have pins for each waypoint, with details on the altitude and timing for that way point. - We can adjust any of these waypoints by dragging them. - This is something we typically want to do exploit terrain, avoid threats, come in from different axes/angles etc. etc. - Here we see the default route created for the DEAD package in Liberation puts the egress path right through the threat circle of some picket destroyers with nasty SAMs. - We almost certainly want to take out those ships eventually to give us access to that airspace, but for now we will adjust the route of the package to avoid them. - We click and drag the "5 Egress" waypoint pin and move it such that the route goes further north. - - ![](https://i.imgur.com/OHJoydH.jpeg) - - Note that currently, we have to adjust the route of each flight in each package independently. - Here, we have just edited the route of the the first flight in the package. - - ![](https://i.imgur.com/OHJoydH.jpeg) - - We have to select the second flight in the Flight window on the left, and see then that *its* route gets highlighted in yellow (while the previous flight's route goes back to blue), and we get the waypoint pins show again, which, again, we can use to adjust the route to follow the first flight. - - ![](https://i.imgur.com/HjGzf47.jpeg) - -4. Let's repeat the above to set up a DEAD strike against the second SA-6 site, again adjusting the route as needed. - - ![](https://i.imgur.com/Xbv1MTO.jpeg) - - For this one, as can be seen by lack of player slots, we leave it to all AI. - -5. Now let's set up the DEAD strike on the SA-3 site. - This proceeds along the lines of the previous (with a player slot thrown in), with one crucial difference. - Instead of choosing an ASAP TOT, we are going delay the time such that we are sure that the previous two DEAD strikes have completed the mission and destroyed the coastal SA-6's that are protecting the SA-3 site. - So we uncheck the "ASAP" box and set at TOT for T+00:25:00. - - ![](https://i.imgur.com/bQaNt1P.jpeg) - - -6. Next, let's get same CAS set up on the front lines. - We right-click on the orange front line marker to call up the package editor and frag a CAS flight of Harriers from our helicopter carrier (with a player slot thrown in). - - ![](https://i.imgur.com/f09nFyi.jpeg) - - ![](https://i.imgur.com/1Au13b6.jpeg) - - Again, we double-click on the flight after we create it to modify the default payload, this time throwing in some GBU's into the mix for a little more impact. - - ![](https://i.imgur.com/ccroNKu.jpeg) - - We frag a TARCAP flight to join the package to provide some protection against possible enemy air as well. - - ![](https://i.imgur.com/gXkZAA7.jpeg) - - Crucially, we adjust the package TOT such that we are sure that our SA-3 strike mission would have done its job before any of the CAS elements get on station. - - ![](https://i.imgur.com/CJUAgMg.jpeg) - -7. Ok, now all our primary targets and missions are setup, we can set up some secondary and defensive missions. - Clicking "AIR WING" pulls up a dialog showing all our assets, and the "Inventory" tab allows us to see at a glance all our unsed assets. - - ![](https://i.imgur.com/cZJcJp2.jpeg) - - -8. Let's set up a BARCAP over the carrier. - Right-click on carrier and use the package editor to frag a Tomcat BARCAP mission. - - ![](https://i.imgur.com/Ek6zPvu.jpeg) - - Once the mission has been created, we can use adjust the "RACETRACK START" and "RACETRACK END" waypoints to adjust the geometry of the coverage. - - ![](https://i.imgur.com/TTpCCjG.jpeg) - - We would probably want to frag a two more BARCAP missions, staring at T+00:20:00 and T+00:40:00, respectively, to ensure continuous coverage throughout the mission. - -9. Following the above, we set up a BARCAP over Khasab, which will cover the helicopter carrier and the front line as well. - If enemy air is strong, we may want frag additional BARCAPs in addition. - -10. Now let us set up some refueling missions. - - As with the BARCAP missions, we can adjust the refueling race track waypoints to put the tankers where we want them. - We will typically want at least a recovery tanker (for flights to top up before landing on the carrier), and some mission support tankers (for flights to top up before they ingress, or for CAPs to refuel to extend their station time). - Be aware that the AI will not behave for refueling, so all refueling is only to cater for human players. - - We can right click on the carrier to frag refueling packages, and then adjust the tanker racetracks as needed. - - ![](https://i.imgur.com/NyKhBhA.jpeg) - ![](https://i.imgur.com/hxKtK8P.jpeg) - -11. Finally, let us arrange for "purchases" for the next turn. - Here we would typically invest in replacing anticipated losses in addition to aircraft and vehicles that we want to carry out future operations. - -12. Now we are all ready to actually fly the mission inside DCS with our fellow human and AI pilots! - - Before anything else, let us save the game in its current state so that we can always return to it if needed. - - We click on the "Take Off" button in the upper right, and Liberation will generate a mission for us. - Liberation will create a file called "``liberation_nextturn.miz``" in our DCS saved missions directory (typically "``C:/Users//Saved Games/DCS/Missions``"). - Liberation then shows us window, indicating that it is now waiting for use to run and complete the mission in DCS. +- Before anything else, let us save the game in its current state so that we can always return to it if needed. +- We click on the "Take Off" button in the upper right, and Liberation will generate a mission for us. + Liberation will create a file called "``liberation_nextturn.miz``" in our DCS saved missions directory (typically "``C:/Users//Saved Games/DCS/Missions``"). + Liberation then shows us window, indicating that it is now waiting for use to run and complete the mission in DCS. ## Flying the Mission in DCS From 5e259935b032818cffbc243eab89e66352ea3288 Mon Sep 17 00:00:00 2001 From: Jeet Sukumaran Date: Wed, 30 Jun 2021 22:54:01 -0700 Subject: [PATCH 423/704] Updated Tutorial: Battle of Abu Dhabi Play Through (markdown) --- Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md | 23 +++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md b/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md index b7a1511..c14a8a0 100644 --- a/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md +++ b/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md @@ -347,20 +347,35 @@ After we have selected all the settings and options you want, close the dialog b Once we have set up the human pilot assignments, we close the Air Wing dialog. -7. We are now done with the Turn 0 and ready to begin the campaign! - Before doing anything else, though, let us quickly save the game in its current state, so that all our campaign setup does not get lost should something go wrong. +7. We are now done with the Turn 0 and *almost* ready to begin the campaign! + First, though, let us save the game in its current state, so that all our campaign setup does not get lost should something go wrong. ![](https://i.imgur.com/7mJoc8I.jpeg) - Now we click on "Begin Campaign" on the upper right hand corner of the Liberation window to proceed to Turn 1. +8. *Now* we click on "Begin Campaign" on the upper right hand corner of the Liberation window to proceed to Turn 1. ![](https://i.imgur.com/wsJyKPH.jpeg) ## Turn 1 -Now we are all ready to actually fly the mission inside DCS with our fellow human and AI pilots! +Liberation works in the background for a while, crunches the numbers, and then gives us the entire plan for the next turn. + +![](https://i.imgur.com/4hrAJUs.jpg) + +As noted above, the packages are listed in the Package window, with each package consisting of one or more flights with a particular objective. +All the routes for all the flights are shown with blue lines in the map window. +For each selected package, the flights that compose it show up in the Flights window below, and as we select the flight, its route gets highlighted in yellow. + +We can scroll down the package list till we find the packages that have human players assigned. + +![](https://i.imgur.com/gA502vM.jpg) + +We see the number of Player Slots per package in the Packages window (1). +Selecting a particular package shows the flights that make up the package listed in the Flights window, as well as the number of player slots in that flight (2). + +Now we are all ready to fly the mission inside DCS with our fellow human and AI pilots! - Before anything else, let us save the game in its current state so that we can always return to it if needed. - We click on the "Take Off" button in the upper right, and Liberation will generate a mission for us. From e317b37bfd9a9cd5a98711848667084dd7b74e04 Mon Sep 17 00:00:00 2001 From: Jeet Sukumaran Date: Wed, 30 Jun 2021 23:03:29 -0700 Subject: [PATCH 424/704] Updated Tutorial: Battle of Abu Dhabi Play Through (markdown) --- Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md b/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md index c14a8a0..0de0a04 100644 --- a/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md +++ b/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md @@ -370,10 +370,20 @@ For each selected package, the flights that compose it show up in the Flights wi We can scroll down the package list till we find the packages that have human players assigned. -![](https://i.imgur.com/gA502vM.jpg) +![](https://i.imgur.com/QLjUvol.jpg) + +We see the number of Player Slots per package in the Packages window (1): "DEAD PELICAN" and "DEAD PENGUIN". +So, in this case, two DEAD packages (Destruction of Enemy Air Defenses -- strike against SAM targets) have been planned, each with one player slot assigned. -We see the number of Player Slots per package in the Packages window (1). Selecting a particular package shows the flights that make up the package listed in the Flights window, as well as the number of player slots in that flight (2). +Here we see that the strike against PENGUIN has 2 Harriers fragged for the strike itself, 2 more Harriers to carry out SEAD (Suppression of Enemy Air Defenses, i.e. sending anti-radiation missiles toward the SAM controllers), while 2 Hornets have been fragged as fighter escort to protect the strike, with one player has assigned to the escort flight. + +The main map viewer now highlights the route of the selected flight in yellow (3). +Note the map pins that show for each waypoint on the route of the selected flight (indicated by red arrows). +We can adjust the route to our liking by clicking and dragging the pins. + +We can adjust the route of *any* flight, not just the player-assigned ones. + Now we are all ready to fly the mission inside DCS with our fellow human and AI pilots! From 0ed46d1c47daf467327a031e92b0dc3cf591b40b Mon Sep 17 00:00:00 2001 From: Jeet Sukumaran Date: Wed, 30 Jun 2021 23:07:52 -0700 Subject: [PATCH 425/704] Updated Tutorial: Battle of Abu Dhabi Play Through (markdown) --- Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md | 24 ++++++++++++------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md b/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md index 0de0a04..dcff04f 100644 --- a/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md +++ b/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md @@ -379,11 +379,24 @@ Selecting a particular package shows the flights that make up the package listed Here we see that the strike against PENGUIN has 2 Harriers fragged for the strike itself, 2 more Harriers to carry out SEAD (Suppression of Enemy Air Defenses, i.e. sending anti-radiation missiles toward the SAM controllers), while 2 Hornets have been fragged as fighter escort to protect the strike, with one player has assigned to the escort flight. The main map viewer now highlights the route of the selected flight in yellow (3). -Note the map pins that show for each waypoint on the route of the selected flight (indicated by red arrows). +Note the map pins that show for each waypoint on the route of the selected flight (indicated by red arrows), along with the altitude and timings the flight is expected to hit each waypoint. +This route with its waypoints will be available inside the DCS cockpit on the kneeboard. + +All missions will have at least the following waypoints: + + - **HOLD**: this will be the waypoint at which the flight will orbit or loiter with all the other flights of the package until the entire package is assembled. In the DCS game itself, The kneeboard flight plan publishes the departure time, i.e. the time we leave the HOLD waypoint and start heading toward the JOIN waypoint. + - **JOIN**: this is the waypoint where the entire package coalesces into a formation and pushes toward the INGRESS point. + - **INGRESS**: this is the final point from which we push off into chute toward the target. + - **TARGET**: this is the package objective + - **EGRESS** + - **SPLIT** + + We can adjust the route to our liking by clicking and dragging the pins. - We can adjust the route of *any* flight, not just the player-assigned ones. +Liberation will automatically calculate the timings of each waypoint to meet the fragged TOT (Time on Target) for each flight. +## Flying the Mission Now we are all ready to fly the mission inside DCS with our fellow human and AI pilots! @@ -403,13 +416,6 @@ In the cockpit, calling up the kneeboard and jumping back a few pages will give - Our flight plan, including our waypoint times, as well as ATC comms, TACANs, etc. - Our support plan -- tanker and AWACS comms and TACANs -The flight plan consists of *at least* (there may be more) the following waypoints: - - **HOLD**: this will be the waypoint at which we will orbit or loiter with all the other flights of the package until the entire package is assembled. The kneeboard flight plan publishes the departure time, i.e. the time we leave the HOLD waypoint and start heading toward the JOIN waypoint. - - **JOIN**: this is the waypoint where the entire package coalesces into a formation and pushes toward the INGRESS point. - - **INGRESS**: this is the final point from which we push off into chute toward the target. - - **TARGET**: this is the package objective - - **EGRESS** - - **SPLIT** Regardless of our spawn time, it will be up to use to keep (or not keep!) the mission plan. If we spawn early, we can take the extra time to set up, look around, etc., before rolling up to take off. From ea7b6e0b050b89733fe76456064d2bcf76f6a57a Mon Sep 17 00:00:00 2001 From: Jeet Sukumaran Date: Wed, 30 Jun 2021 23:16:48 -0700 Subject: [PATCH 426/704] Updated Tutorial: Battle of Abu Dhabi Play Through (markdown) --- Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md | 27 ++++++++++++------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md b/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md index dcff04f..faa96cd 100644 --- a/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md +++ b/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md @@ -384,26 +384,33 @@ This route with its waypoints will be available inside the DCS cockpit on the kn All missions will have at least the following waypoints: - - **HOLD**: this will be the waypoint at which the flight will orbit or loiter with all the other flights of the package until the entire package is assembled. In the DCS game itself, The kneeboard flight plan publishes the departure time, i.e. the time we leave the HOLD waypoint and start heading toward the JOIN waypoint. - - **JOIN**: this is the waypoint where the entire package coalesces into a formation and pushes toward the INGRESS point. - - **INGRESS**: this is the final point from which we push off into chute toward the target. - - **TARGET**: this is the package objective - - **EGRESS** - - **SPLIT** +- **HOLD**: this will be the waypoint at which the flight will orbit or loiter with all the other flights of the package until the entire package is assembled. In the DCS game itself, The kneeboard flight plan publishes the departure time, i.e. the time we leave the HOLD waypoint and start heading toward the JOIN waypoint. +- **JOIN**: this is the waypoint where the entire package coalesces into a formation and pushes toward the INGRESS point. +- **INGRESS**: this is the final point from which we push off into chute toward the target. +- **TARGET**: this is the package objective +- **EGRESS** +- **SPLIT** We can adjust the route to our liking by clicking and dragging the pins. We can adjust the route of *any* flight, not just the player-assigned ones. Liberation will automatically calculate the timings of each waypoint to meet the fragged TOT (Time on Target) for each flight. -## Flying the Mission +Note that we are able to zoom into the Liberation map quite a bit, giving us a nice idea of the terrain features. +We can edit the routes of the flights, ours or AI, to exploit terrain features to provide concealment from SAMs, enemy radars, AAA, etc. + +![](https://i.imgur.com/4SsQXs3.jpg) + +![](https://i.imgur.com/pbn6Kek.jpg) + +## Taking Off! Now we are all ready to fly the mission inside DCS with our fellow human and AI pilots! - Before anything else, let us save the game in its current state so that we can always return to it if needed. -- We click on the "Take Off" button in the upper right, and Liberation will generate a mission for us. - Liberation will create a file called "``liberation_nextturn.miz``" in our DCS saved missions directory (typically "``C:/Users//Saved Games/DCS/Missions``"). - Liberation then shows us window, indicating that it is now waiting for use to run and complete the mission in DCS. +- We click on the "Take Off" button in the toolbar on the upper right, and Liberation will generate a mission for us. +- Liberation will create a file called "``liberation_nextturn.miz``" in our DCS saved missions directory (typically "``C:/Users//Saved Games/DCS/Missions``"). +- Liberation then shows us window, indicating that it is now waiting for use to run and complete the mission in DCS. ## Flying the Mission in DCS From 96fddacf5ad6b994e75e9951d5cc3f7e2b7087e9 Mon Sep 17 00:00:00 2001 From: Jeet Sukumaran Date: Wed, 30 Jun 2021 23:24:10 -0700 Subject: [PATCH 427/704] Updated Tutorial: Battle of Abu Dhabi Play Through (markdown) --- Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md | 23 ++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md b/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md index faa96cd..495ec98 100644 --- a/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md +++ b/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md @@ -358,9 +358,9 @@ After we have selected all the settings and options you want, close the dialog b ![](https://i.imgur.com/wsJyKPH.jpeg) -## Turn 1 +## Turn 1: Mission Planning -Liberation works in the background for a while, crunches the numbers, and then gives us the entire plan for the next turn. +Liberation works in the background for a while, crunches the numbers, and then shows us all the sorties, flights, and packages planned for the next turn. ![](https://i.imgur.com/4hrAJUs.jpg) @@ -403,17 +403,24 @@ We can edit the routes of the flights, ours or AI, to exploit terrain features t ![](https://i.imgur.com/pbn6Kek.jpg) -## Taking Off! +## Generating the Mission to Fly in DCS -Now we are all ready to fly the mission inside DCS with our fellow human and AI pilots! +Before anything else, let us save the game in its current state so that we can always return to it if needed. -- Before anything else, let us save the game in its current state so that we can always return to it if needed. -- We click on the "Take Off" button in the toolbar on the upper right, and Liberation will generate a mission for us. -- Liberation will create a file called "``liberation_nextturn.miz``" in our DCS saved missions directory (typically "``C:/Users//Saved Games/DCS/Missions``"). -- Liberation then shows us window, indicating that it is now waiting for use to run and complete the mission in DCS. +![](https://i.imgur.com/v6pN5IJ.jpg) + +Then w click on the "Take Off" button in the toolbar on the upper right, and Liberation will generate a mission for us. + +![](https://i.imgur.com/OBcifEw.jpg) + +Liberation will now create a file called "``liberation_nextturn.miz``" in our DCS saved missions directory (typically "``C:/Users//Saved Games/DCS/Missions``"). +Liberation then shows us a window, indicating that it is now waiting for use to run and complete the mission in DCS. + +![](https://i.imgur.com/NvTa5PS.jpg) ## Flying the Mission in DCS +Now, let us launch DCS so that we can actually fly the mission! Upon starting DCS, we will find the mission file located in the default Mission folder. When we load up the mission we will be offered all the client slots that we allocated during the Liberation planning phase. If we made sure to select "Player flights ignore TOT and spawn immediately" or our fragged start time is T+00:00:00, we will spawn in to our cockpit right away. From 454e611dc8c28eb9fdb349671711faa2355b99c9 Mon Sep 17 00:00:00 2001 From: Jeet Sukumaran Date: Wed, 30 Jun 2021 23:32:42 -0700 Subject: [PATCH 428/704] Updated Tutorial: Battle of Abu Dhabi Play Through (markdown) --- Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md b/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md index 495ec98..ca6b5cd 100644 --- a/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md +++ b/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md @@ -403,6 +403,16 @@ We can edit the routes of the flights, ours or AI, to exploit terrain features t ![](https://i.imgur.com/pbn6Kek.jpg) +## Setting the Front Line Stance + +Ultimately, success or failure in Liberation, as in the real world, comes from success or failure of the ground war. +We can use our airpower to shape the battlespace in favor of the ground way in many ways, to a greater or lesser extent. +But we can also change the style of ground war fought by setting the [front line stance](https://github.com/dcs-liberation/dcs_liberation/wiki/Frontline-Strategies-Stances). + +We left-click on the Blue Control Point (base) next to the front line to call up the asset manager, click on the Ground Forces HQ tab, and the use the drop box to select a [front line stance](https://github.com/dcs-liberation/dcs_liberation/wiki/Frontline-Strategies-Stances). + +![](https://i.imgur.com/cazngXa.jpg) + ## Generating the Mission to Fly in DCS Before anything else, let us save the game in its current state so that we can always return to it if needed. From 8e585c1e07d7e5e4d0d70ad6f62a882560e2655d Mon Sep 17 00:00:00 2001 From: Jeet Sukumaran Date: Wed, 30 Jun 2021 23:40:34 -0700 Subject: [PATCH 429/704] Updated Tutorial: Battle of Abu Dhabi Play Through (markdown) --- Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md b/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md index ca6b5cd..cb653af 100644 --- a/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md +++ b/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md @@ -413,6 +413,17 @@ We left-click on the Blue Control Point (base) next to the front line to call up ![](https://i.imgur.com/cazngXa.jpg) +## "Purchasing" Replacement and New Forces for the Next Turn + +One final thing to do before proceeding: think about replacements for any forces we may lose in action during this turn, or to provide resources for more missions (or even mission types) the next turn. +We see that our budget has been replenished somewhat: + +![](https://i.imgur.com/co0VvrE.jpg) + +This new "income" is based on various resources that we controlled in this turn (factories, oil fields, depots, etc.), and will vary from turn and turn as the the fortunes of war ebb and flow. + +We carry out this new force acquisition process as before -- left-clicking on a Control Point base or carrier, and "purchasing" units by clicking on the "+" key. + ## Generating the Mission to Fly in DCS Before anything else, let us save the game in its current state so that we can always return to it if needed. From d29ce4aa4de26aff59f7b9b1b890c53e6cd9c390 Mon Sep 17 00:00:00 2001 From: Jeet Sukumaran Date: Wed, 30 Jun 2021 23:41:25 -0700 Subject: [PATCH 430/704] Updated Tutorial: Battle of Abu Dhabi Play Through (markdown) --- Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md b/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md index cb653af..b55c341 100644 --- a/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md +++ b/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md @@ -470,7 +470,7 @@ If we are unsatisfied with the outcome of the mission, ours or any other flights Once we have exited the mission, Liberation will automatically detect its completion, and it's dialog box will change to offer us chance to accept the results. (Note that we will have to Alt-Tab to switch focus to the Liberation window to see this dialog, especially if DCS is still running.) -Here we can click on "Accept" if we are happy and want to proceed to the next turn, or just "Abort" if we want to try the same mission again (remembering that we need to click in "TAKE OFF" to generate the mission and get Liberation prepared to read the results). +Here we can click on "Accept" if we are happy and want to proceed to the next turn, or just "Abort" if we want to try the same mission again (remembering that we need to click "TAKE OFF" to generate the mission and get Liberation prepared to read the results). If we accept the results of the mission by clicking on the appropriate button in the , then Liberation will present a summary of all the losses during the missions, including base capture events. Then these changes will be applied to the Liberation's version of the "world", new income generated is added to the budgets, and we are ready for the next turn! From 77b225877dd72a1f7ed16bd1c77701cd8c1bb388 Mon Sep 17 00:00:00 2001 From: Jeet Sukumaran Date: Thu, 1 Jul 2021 00:00:33 -0700 Subject: [PATCH 431/704] Updated Tutorial: Battle of Abu Dhabi Play Through (markdown) --- Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md b/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md index b55c341..0aa369b 100644 --- a/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md +++ b/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md @@ -202,10 +202,10 @@ Turn 0 is actually a "pre-game" turn, where we will do two things: By default, Liberation AI plans our side's missions every turn in addition to the enemy's. We can fine tune how players are assigned missions by selecting one of the options from the "Automatic package planning behavior" drop down box. - ![](https://i.imgur.com/1T7sC9e.jpg) + ![](https://i.imgur.com/cxPm4Gg.jpg) You can read about the various options available [here](https://github.com/dcs-liberation/dcs_liberation/wiki/Squadrons-and-pilots). - For now, we are going to ask Liberation to run the mission planning for us, and leave this setting at its default. + For now, we are going to ask Liberation to run the mission planning for us, and set this to "Prefer player pilots", to make sure that sorties get assigned to human pilots first, and only to AI after all human pilot slots are filled. 4. Select the "Mission Generator" page from the list on the left. @@ -231,7 +231,7 @@ Turn 0 is actually a "pre-game" turn, where we will do two things: - "SkynetIADS": we want this checked! The default SAM behavior in DCS is very dumb -- their radars are active all the time, and they instantly launch as soon as the tip of our aircraft pokes into their wildest maximum range. This makes them easy to detect and defeat by "cheesing" (just poke in and out of their maximum range until they run out of ammo). Skynet *greatly* improves their behavior in a range of ways, including: simulating an IADS (Integrated Air Defense System, by linking together information from multiple sensor platforms including EW radars); the radars being dark until something is in range; the missiles not firing until something has a decent probability of not escaping; radars going dark when they detect anti-radiation missiles heading their way, etc. etc. - It changes the gameplayer entire and for the better. + It changes the gameplayer entirely and for the better. SAM sites can actually be suppressed for example, by HARMs. Furthermore, it also improves performance as radars are a major resource hog. - "EWRS": if we select this, you will be provided a sort of "super-AWACS-on-steroids" feed during the DCS mission. From cbc142be2ec54fb873cb2542da9e6f381e58beec Mon Sep 17 00:00:00 2001 From: Jeet Sukumaran Date: Thu, 1 Jul 2021 03:03:16 -0700 Subject: [PATCH 432/704] Updated Tutorial: Battle of Abu Dhabi Play Through (markdown) --- Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md b/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md index 0aa369b..abe6006 100644 --- a/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md +++ b/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md @@ -98,14 +98,14 @@ 5. This page allows us to configure the parameters of the notional "economy" of the game. - ![](https://i.imgur.com/L3Ef5H1.jpeg) + ![](https://i.imgur.com/lAfgNEk.jpg) The "economy" is a game mechanic to manage the balance and difficulty of the campaign. It essentially determines how *much* of each side will able to buy out of the various types each faction makes available. There are two things to consider here: - Next to equipment types (SA-10's vs SA-2's? Su-35s vs MiG-19's?), this is probably the single most important way to dial in the game balance. - If we find outselves going up against an anemic opposition that can barely put together a noticable CAP to provide a nice challenge to our strikes, or find ourselves rolling into victory without much satisfaction, increase the opposing faction budget. + If we find ourselves going up against an anemic opposition that can barely put together a noticable CAP to provide a nice challenge to our strikes, or find ourselves rolling into victory without much satisfaction, increase the opposing faction budget. Alternatively, if we find ourselves facing hordes of aircraft and SAMs and tanks and are overwhelmed, do the opposite: decrease the opposing faction budget. We can also, of course, decrease our budgets to make our life more challenging, or increase our budget to allow us to generate extra sorties to deal with the hordes. The approach we take should probably be driven by the second consideration below: performance. @@ -114,8 +114,15 @@ The single biggest way we can influence the number of units in play in a particular mission is by changing the budget. If we find our games are a stutter fest or unplayable on our computers, then we can dial down the budgets for *both* sides here (e.g., dropping both sides down to 1000 or less). - This page also allows us to decide whether or not the Liberation AI will automatically use some of our funding to repair damage or purchase aircraft. - This is for the players who do not want to deal with these issues, but honestly, it's really is a fun part of the game, and the "I" part of the AI is pretty limited so it is better for us take charge of this and leave these boxes unchecked. + This page also allows us to decide whether or not the Liberation AI will automatically use some of our funding to repair damage, or purchase ground troops and aircraft. + + ![](https://i.imgur.com/WLczUxC.jpg) + + For this example, we are going to ask Liberation to manage all our resources for us by checking all the following boxes: + + - Automate runway repairs + - Automate front-line purchases + - Automate aircraft purchases 6. Clicking on "next" will take us to last page of the wizard. From e9879dd40459bfa0ffe8468c77051c17fe6711b0 Mon Sep 17 00:00:00 2001 From: Jeet Sukumaran Date: Thu, 1 Jul 2021 03:19:13 -0700 Subject: [PATCH 433/704] Updated Tutorial: Battle of Abu Dhabi Play Through (markdown) --- Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md | 119 +++--------------- 1 file changed, 16 insertions(+), 103 deletions(-) diff --git a/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md b/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md index abe6006..31a7a15 100644 --- a/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md +++ b/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md @@ -198,21 +198,27 @@ Turn 0 is actually a "pre-game" turn, where we will do two things: 3. Select the "Campaign Management" page from the list on the left. - ![](https://i.imgur.com/2h0I30d.jpeg) + ![](https://i.imgur.com/tmBRonX.jpg) - Here we can decide whether or not you want to allow full unrestricted access to all weapons available in DCS for each platform, or restrict them in some to enhance (or at least modify) gameplay. + In the top box (1) we can decide whether or not you want to allow full unrestricted access to all weapons available in DCS for each platform, or restrict them in some to enhance (or at least modify) gameplay. For example, if we chose 1990 as the period of interest, checking the "Restrict weapons by date" box will only allow AIM-7's but not AIM-120's for all our Hornets and Vipers. Similarly for air-to-ground weapons: no GPS weapons will be available. Of course, *both* sides will be affected by the same weapons restriction. Obviously, this will have a major impact on the dynamics of the game, potentially make it a lot more interesting and challenging. - By default, Liberation AI plans our side's missions every turn in addition to the enemy's. - We can fine tune how players are assigned missions by selecting one of the options from the "Automatic package planning behavior" drop down box. + In the bottom box (2), we can decide how much of our strategic and tactical planning is done for us by Liberation. + We have already asked Liberation to manage our assets and resources in the campaign setup, and this is indicated by the checked boxes: "Automate runway repairs", "Automate front-line purchases", and "Automate aircraft purchases". - ![](https://i.imgur.com/cxPm4Gg.jpg) + But here we can also fine tune Liberation's mission planning with respect to how players are assigned missions by selecting one of the options from the "Automatic package planning behavior" drop down box. + + ![](https://i.imgur.com/esd6Le5.jpg) You can read about the various options available [here](https://github.com/dcs-liberation/dcs_liberation/wiki/Squadrons-and-pilots). - For now, we are going to ask Liberation to run the mission planning for us, and set this to "Prefer player pilots", to make sure that sorties get assigned to human pilots first, and only to AI after all human pilot slots are filled. + For now, we are going to ask Liberation to run the mission planning for us, and set this to "Prefer player pilots", to make sure that sorties get assigned to human pilots first, and flights will only be assigned to AI after all human pilot slots are filled. + + We also go ahead and ask Liberation to start human-piloted flights as soon as possible, to allow for the fact that humans are, after all, humans, and lack the infinite patience of AI: + + ![](https://i.imgur.com/djjqA7I.jpg) 4. Select the "Mission Generator" page from the list on the left. @@ -244,90 +250,7 @@ Turn 0 is actually a "pre-game" turn, where we will do two things: - "EWRS": if we select this, you will be provided a sort of "super-AWACS-on-steroids" feed during the DCS mission. - "Splash Damage": we almost certainly want this option. By default DCS does not model fragmentation or "near-impact" damage from explosives. This mod fixes is this. -After we have selected all the settings and options you want, close the dialog box, and now you are ready to select our order of battle! - -## Setting Up Our Order of Battle - -1. As noted above, the darker shaded blue icons are our Control Points. - Also as noted above, Control Points are the primary objectives of our campaign along the campaign axis. - In addition to serving as strategic objectives by which the campaign progress and success are measured, they are all also places at which we base and manage our forces. - -2. Let's start with placing some ground units on the frontlines (we *always* want to have some ground units on the frontlines, otherwise you will almost certainly lose the turn). - - "Khasab" is the Control Point just behind the front line. - Left-click on the dark blue icon representing this base to call up the resource management dialog. - - ![](https://i.imgur.com/hEsqWPE.jpeg) - - This dialog has two tabs -- "Airfield Command" and "Ground Forces HQ". - - ![](https://i.imgur.com/O05wq8c.jpeg) - - We click on "Ground Forces HQ" tab to switch to managing the ground forces. - On the panel on the left, we see all the various types available for this faction, followed by a number indicating how many are actually at this base now, followed by an indication of how much this type costs in Liberation's notional economy currency. - So, for example, the first row indicates that we have exactly 0 "LAV-25" vehicles at the base, and they cost 7 (million) each. - Next to this is a box with three elements: a "-" button, to remove one unit of this vehicle from the base; a number, indicating how many units of this vehicle we have "purchased" in this turn; and a "+" button, to tell Liberation to arrange for purchase of one unit of this vehicle the next turn. - - We scroll down to "M1A2 Abrams" row, and click the "+" button 20 times to command the "purchase" of 20 units of the Abrams tank for the frontlines. - - ![](https://i.imgur.com/Hz6IcO1.jpeg) - - We should see that the while the current number of Abrams remains 0, we have 20 now indicating as coming in the following turn. - We should also see that our "Available Budget" on the lower right of this dialog has gone from 2000 million to 1500 million. - - Close the dialog box to return to the main map view. - -3. Now let's set up some support aircraft assets, but at a base that is quite a bit further away from the front lines. - We right-click on "Bandar Abbas Intl", on the southern coast of Iran. - - ![](https://i.imgur.com/V80XkWd.jpeg) - - Under the "Airfield Command", wscroll down to the "E-3A" row and press the "+" twice to acquire two of these AWACS aircraft. - - ![](https://i.imgur.com/ZK1H3FX.jpeg) - - We only need one AWACS operational in every mission, but as there is a turn lag before our "purchases" get delivered, if the AWACS gets shot down in a particular mission and we have only one in the inventory, that means that even if we have the funds to replace the AWACS, we will have to wait a full turn for it to arrive and we will at the very least have to fly the following mission without AWACS support. - - We will apply the same conservative logic to our land-based tanker assets: we scroll down the list to find the "KC-130" and "KC-135 Stratotanker" entries and add two of each. - - ![](https://i.imgur.com/trlX3Pt.jpeg) - -4. Now let's take a look at our carriers. - - ![](https://i.imgur.com/kGwq9ir.jpeg) - - The darker shaded naval icons indicate the two carriers we have in play: the fixed-wing CVN carrier strike group and the helicopter carrier ("LHA"). - If we are unhappy with the placement of the carriers, we can move them by right-clicking and dragging them to a new location. - - ![](https://i.imgur.com/rz8q3uX.jpeg) - - For example, if this were a (slightly) more realistic play, we may want to move at the carrier out of the Persian Gulf into at least the Gulf of Oman, as carrier strike groups love blue water and are really not comfortable moving into, let alone operating tactically, in restricted waters such as the Persian Gulf proper. - A line will appear from the current location leading to a semi-transparent icon indicating the future location. - Note that the future location will only take effect on the next turn. - - For this example, we are going to leave the carriers in the Persian Gulf. - -5. Once we are satisfied with the placement of the carriers, we left-click on the carrier icon to call up its asset management dialog. - - ![](https://i.imgur.com/yxTbaPq.jpeg) - - We will add: - - - 2x E-2C Hawkeyes, to give us local AWACS capability - - 4x S-3B Tankers, to give us organic refuelin capability - - 12x F-14A Tomcats - - 24x F/A-18C Hornets - - Next, we left-click on the LHA to bring up its asset management dialog, - - ![](https://i.imgur.com/mfPfusA.jpeg) - - - and add: - - - 16x AV-8B Harrier II's - - And, with that, we are *done* with the initial order of battle setup! +After we have selected all the settings and options you want, close the dialog box. 6. The final step here is to let Liberation know who are human pilots are. More specifically, we are going to tell Liberation which of the pilot "roles" are going to be filled out by humans and which will be filled out by AI. @@ -335,7 +258,7 @@ After we have selected all the settings and options you want, close the dialog b ![](https://i.imgur.com/ruPH8iX.jpg) - Here, we see a list of squadrons avaiable to us, and the type of aircraft that they fly. + Here, we see a list of squadrons available to us, and the type of aircraft that they fly. We choose pilot slots to be assigned to humans, as opposed to the default AI, based on the aircraft. So, for example, if we want to fly the F/A-18C in the missions generated by DCS, we would need to let Liberation know to assign a pilot slot from an F/A-18C squadron to a human player. We select an F/A18C squadron from the list and double-click it to call up the pilot assignment dialog: @@ -350,7 +273,8 @@ After we have selected all the settings and options you want, close the dialog b We can assign as many pilot slots as we need to provide client slots for human players in the game. And, of course, they can be for different types of aircraft. We can further fine tune the sortie types generated for human players by selectively checking or unchecking the mission types that the named pilot can fly. - So, for example, if we only wanted to fly A2A missions, we would uncheck all boxes except "Escort", "BARCAP", "TARCAP", and "Fighter Sweep". + So, for example, if we only wanted to fly A2A missions, we would uncheck all boxes except "Escort", "BARCAP", "TARCAP", and "Fighter Sweep". + (If we only wanted to flying *exciting* A2A missions, we would probably stick to just "Escort" or "Fighter Sweep" :) ). Once we have set up the human pilot assignments, we close the Air Wing dialog. @@ -420,17 +344,6 @@ We left-click on the Blue Control Point (base) next to the front line to call up ![](https://i.imgur.com/cazngXa.jpg) -## "Purchasing" Replacement and New Forces for the Next Turn - -One final thing to do before proceeding: think about replacements for any forces we may lose in action during this turn, or to provide resources for more missions (or even mission types) the next turn. -We see that our budget has been replenished somewhat: - -![](https://i.imgur.com/co0VvrE.jpg) - -This new "income" is based on various resources that we controlled in this turn (factories, oil fields, depots, etc.), and will vary from turn and turn as the the fortunes of war ebb and flow. - -We carry out this new force acquisition process as before -- left-clicking on a Control Point base or carrier, and "purchasing" units by clicking on the "+" key. - ## Generating the Mission to Fly in DCS Before anything else, let us save the game in its current state so that we can always return to it if needed. From 1cf693c68ae175d14d1b3738c9f6f8b2ce73b8fe Mon Sep 17 00:00:00 2001 From: Jeet Sukumaran Date: Thu, 1 Jul 2021 03:28:03 -0700 Subject: [PATCH 434/704] Updated Tutorial: Battle of Abu Dhabi Play Through (markdown) --- Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md | 62 ++++++++++--------- 1 file changed, 32 insertions(+), 30 deletions(-) diff --git a/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md b/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md index 31a7a15..579ee10 100644 --- a/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md +++ b/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md @@ -97,7 +97,7 @@ After that, we click on "Next >" to proceed to the final set of options in the wizard. 5. This page allows us to configure the parameters of the notional "economy" of the game. - + ![](https://i.imgur.com/lAfgNEk.jpg) The "economy" is a game mechanic to manage the balance and difficulty of the campaign. @@ -125,7 +125,7 @@ - Automate aircraft purchases 6. Clicking on "next" will take us to last page of the wizard. - + ![](https://i.imgur.com/FmX9l3U.jpeg) Here all we have to do is click on "finish", and Liberation will do its thing to generate the campaign based on our options. @@ -183,7 +183,7 @@ Turn 0 is actually a "pre-game" turn, where we will do two things: 1. Let's begin by selecting our mission generation options/settings as well as some other options for the campaign. Click on the "Settings" icon in the toolbar. - + ![](https://i.imgur.com/3fYBcta.jpeg) 2. The first page that shows up is the "Difficulty" page. @@ -191,23 +191,23 @@ Turn 0 is actually a "pre-game" turn, where we will do two things: ![](https://i.imgur.com/SKBmqa0.jpeg) - We can set the skill levels of various elements in the missions with the first three options. - - The income multipliers are another way of setting a game balance. Whereas the budgets we set in the campaign generation dialog affect the *initial* capacity of each side, here you can influence how subsequent turns go. - - At the bottom, we can also set whether or not you will allow external views or how much players can see in the F10 map. + - The income multipliers are another way of setting a game balance. Whereas the budgets we set in the campaign generation dialog affect the *initial* capacity of each side, here we can influence how subsequent turns go. + - At the bottom, we can also set whether or not we will allow external views or how much players can see in the F10 map. We can leave all of these at their defaults, though we may want to select the "No night missions" options if our preferred aircraft does not do well in those conditions. -3. Select the "Campaign Management" page from the list on the left. +3. We then move on to the "Campaign Management" page from the list on the left. ![](https://i.imgur.com/tmBRonX.jpg) - In the top box (1) we can decide whether or not you want to allow full unrestricted access to all weapons available in DCS for each platform, or restrict them in some to enhance (or at least modify) gameplay. + In the top box (1) we can decide whether or not we want to allow full unrestricted access to all weapons available in DCS for each platform, or restrict them in some to enhance (or at least modify) gameplay. For example, if we chose 1990 as the period of interest, checking the "Restrict weapons by date" box will only allow AIM-7's but not AIM-120's for all our Hornets and Vipers. Similarly for air-to-ground weapons: no GPS weapons will be available. Of course, *both* sides will be affected by the same weapons restriction. Obviously, this will have a major impact on the dynamics of the game, potentially make it a lot more interesting and challenging. In the bottom box (2), we can decide how much of our strategic and tactical planning is done for us by Liberation. - We have already asked Liberation to manage our assets and resources in the campaign setup, and this is indicated by the checked boxes: "Automate runway repairs", "Automate front-line purchases", and "Automate aircraft purchases". + We have already asked Liberation to manage our assets and resources in the campaign setup, and this is indicated by the checked boxes: "Automate runway repairs", "Automate front-line purchases", and "Automate aircraft purchases". But here we can also fine tune Liberation's mission planning with respect to how players are assigned missions by selecting one of the options from the "Automatic package planning behavior" drop down box. @@ -220,7 +220,7 @@ Turn 0 is actually a "pre-game" turn, where we will do two things: ![](https://i.imgur.com/djjqA7I.jpg) -4. Select the "Mission Generator" page from the list on the left. +4. Now we select the "Mission Generator" page from the list on the left. ![](https://i.imgur.com/9LcFeMR.jpeg) @@ -228,29 +228,30 @@ Turn 0 is actually a "pre-game" turn, where we will do two things: - "Use Supercarrier Module": check this box if we have this module. - "Put Objective Markers on the Map": selecting this option will create a separate waypoint for each strike target. - - "Player flights ignore TOT and spawn immediately": checking this box will allow we to spawn in anytime, as opposed to waiting for our flight's fragged start time. Your published route and waypoint timing will still reflect the mission plan, though, of course, it will be up to you to fly it accordingly. - - "Default start type for AI aircraft": We can adjust the start type for each flight individually when you frag them, but this sets the defaults for our side as well as the enemy. - - "Desired mission duration": As noted above, we are free to spawn in anything and quit the mission anytime. What this option determines is mission planning time frame that Liberation does for the enemy faction as well as our side (if you allow Liberation to plan your missions). + - "Player flights ignore TOT and spawn immediately": checking this box will allow we to spawn in anytime, as opposed to waiting for our flight's fragged start time. + Our published route and waypoint timing will still reflect the mission plan, though, of course, it will be up to we to fly it accordingly. + - "Default start type for AI aircraft": We can adjust the start type for each flight individually when we frag them, but this sets the defaults for our side as well as the enemy. + - "Desired mission duration": As noted above, we are free to spawn in anything and quit the mission anytime. What this option determines is mission planning time frame that Liberation does for the enemy faction as well as our side (if we allow Liberation to plan our missions). - The bottom box has some important ways for we to manage performance. In particular, we probably want to *UNCHECK* "Smoke visual effect on frontline" and "Generate infantry squades along vehicles". As noted in [the optimization tips](https://github.com/dcs-liberation/dcs_liberation/wiki/Performance-Options), culling of distant units will help by preventing aircraft spawning more than a certain distance from the frontlines. -5. Select the "Lua Plugins" page, and select some extra mods, plugins, or scripting goodies we want Liberation to implement in our missions. +5. After this, we select the "Lua Plugins" page, and select some extra mods, plugins, or scripting goodies we want Liberation to implement in our missions. ![](https://i.imgur.com/0UzM25J.jpeg) - - "JTAC Autolase": we want this checked if you want integrated lasing of targets by an AI pseudo-JTAC (visualized as a invulnerable and invisible-to-the-enemy Predator drone currently). + - "JTAC Autolase": we want this checked if we want integrated lasing of targets by an AI pseudo-JTAC (visualized as a invulnerable and invisible-to-the-enemy Predator drone currently). - "SkynetIADS": we want this checked! The default SAM behavior in DCS is very dumb -- their radars are active all the time, and they instantly launch as soon as the tip of our aircraft pokes into their wildest maximum range. This makes them easy to detect and defeat by "cheesing" (just poke in and out of their maximum range until they run out of ammo). Skynet *greatly* improves their behavior in a range of ways, including: simulating an IADS (Integrated Air Defense System, by linking together information from multiple sensor platforms including EW radars); the radars being dark until something is in range; the missiles not firing until something has a decent probability of not escaping; radars going dark when they detect anti-radiation missiles heading their way, etc. etc. It changes the gameplayer entirely and for the better. SAM sites can actually be suppressed for example, by HARMs. Furthermore, it also improves performance as radars are a major resource hog. - - "EWRS": if we select this, you will be provided a sort of "super-AWACS-on-steroids" feed during the DCS mission. + - "EWRS": if we select this, we will be provided a sort of "super-AWACS-on-steroids" feed during the DCS mission. - "Splash Damage": we almost certainly want this option. By default DCS does not model fragmentation or "near-impact" damage from explosives. This mod fixes is this. -After we have selected all the settings and options you want, close the dialog box. +After we have selected all the settings and options we want, close the dialog box. 6. The final step here is to let Liberation know who are human pilots are. More specifically, we are going to tell Liberation which of the pilot "roles" are going to be filled out by humans and which will be filled out by AI. @@ -271,12 +272,12 @@ After we have selected all the settings and options you want, close the dialog b In this example, two pilot slots have been assigned to players. We can assign as many pilot slots as we need to provide client slots for human players in the game. - And, of course, they can be for different types of aircraft. - We can further fine tune the sortie types generated for human players by selectively checking or unchecking the mission types that the named pilot can fly. - So, for example, if we only wanted to fly A2A missions, we would uncheck all boxes except "Escort", "BARCAP", "TARCAP", and "Fighter Sweep". + And, of course, they can be for different types of aircraft. + We can further fine tune the sortie types generated for human players by selectively checking or unchecking the mission types that the named pilot can fly. + So, for example, if we only wanted to fly A2A missions, we would uncheck all boxes except "Escort", "BARCAP", "TARCAP", and "Fighter Sweep". (If we only wanted to flying *exciting* A2A missions, we would probably stick to just "Escort" or "Fighter Sweep" :) ). - - Once we have set up the human pilot assignments, we close the Air Wing dialog. + + Once we have set up the human pilot assignments, we close the Air Wing dialog. 7. We are now done with the Turn 0 and *almost* ready to begin the campaign! First, though, let us save the game in its current state, so that all our campaign setup does not get lost should something go wrong. @@ -293,15 +294,15 @@ After we have selected all the settings and options you want, close the dialog b Liberation works in the background for a while, crunches the numbers, and then shows us all the sorties, flights, and packages planned for the next turn. -![](https://i.imgur.com/4hrAJUs.jpg) +![](https://i.imgur.com/4hrAJUs.jpg) -As noted above, the packages are listed in the Package window, with each package consisting of one or more flights with a particular objective. -All the routes for all the flights are shown with blue lines in the map window. +As noted above, the packages are listed in the Package window, with each package consisting of one or more flights with a particular objective. +All the routes for all the flights are shown with blue lines in the map window. For each selected package, the flights that compose it show up in the Flights window below, and as we select the flight, its route gets highlighted in yellow. We can scroll down the package list till we find the packages that have human players assigned. -![](https://i.imgur.com/QLjUvol.jpg) +![](https://i.imgur.com/QLjUvol.jpg) We see the number of Player Slots per package in the Packages window (1): "DEAD PELICAN" and "DEAD PENGUIN". So, in this case, two DEAD packages (Destruction of Enemy Air Defenses -- strike against SAM targets) have been planned, each with one player slot assigned. @@ -330,9 +331,9 @@ Liberation will automatically calculate the timings of each waypoint to meet the Note that we are able to zoom into the Liberation map quite a bit, giving us a nice idea of the terrain features. We can edit the routes of the flights, ours or AI, to exploit terrain features to provide concealment from SAMs, enemy radars, AAA, etc. -![](https://i.imgur.com/4SsQXs3.jpg) +![](https://i.imgur.com/4SsQXs3.jpg) -![](https://i.imgur.com/pbn6Kek.jpg) +![](https://i.imgur.com/pbn6Kek.jpg) ## Setting the Front Line Stance @@ -348,16 +349,16 @@ We left-click on the Blue Control Point (base) next to the front line to call up Before anything else, let us save the game in its current state so that we can always return to it if needed. -![](https://i.imgur.com/v6pN5IJ.jpg) +![](https://i.imgur.com/v6pN5IJ.jpg) Then w click on the "Take Off" button in the toolbar on the upper right, and Liberation will generate a mission for us. -![](https://i.imgur.com/OBcifEw.jpg) +![](https://i.imgur.com/OBcifEw.jpg) Liberation will now create a file called "``liberation_nextturn.miz``" in our DCS saved missions directory (typically "``C:/Users//Saved Games/DCS/Missions``"). Liberation then shows us a window, indicating that it is now waiting for use to run and complete the mission in DCS. -![](https://i.imgur.com/NvTa5PS.jpg) +![](https://i.imgur.com/NvTa5PS.jpg) ## Flying the Mission in DCS @@ -394,3 +395,4 @@ Here we can click on "Accept" if we are happy and want to proceed to the next tu If we accept the results of the mission by clicking on the appropriate button in the , then Liberation will present a summary of all the losses during the missions, including base capture events. Then these changes will be applied to the Liberation's version of the "world", new income generated is added to the budgets, and we are ready for the next turn! + From 31b632736ec0d71765e52d314f93232e945e28f0 Mon Sep 17 00:00:00 2001 From: Schneefl0cke <60181177+Schneefl0cke@users.noreply.github.com> Date: Fri, 2 Jul 2021 11:22:29 +0200 Subject: [PATCH 435/704] adding village + allycamp map object --- Custom-campaigns.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index 22f20d2..c70522e 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -142,6 +142,8 @@ Create a property for the objective definition with the value field set to any o * `comms` * `oil` * `derrick` +* `village` +* `allycamp` Each **structure** will generate its own income, not each **group**. This means that large groups of structures will generate large amounts of income. From b5a91de023027dd512b04a940394efe094139a32 Mon Sep 17 00:00:00 2001 From: dankwilliams <56580622+dankwilliams@users.noreply.github.com> Date: Sun, 4 Jul 2021 15:07:23 -0700 Subject: [PATCH 436/704] Updated Community campaigns (markdown) --- Community-campaigns.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Community-campaigns.md b/Community-campaigns.md index d7b98b2..bd02378 100644 --- a/Community-campaigns.md +++ b/Community-campaigns.md @@ -5,6 +5,7 @@ Map | Campaign name | Liberation version | Author | Description | Download link Caucasus | Some campaign | 2.5 | Someone | Describe your campaign. Include a screenshot if you want. Is it large or small? What part of the map does it take place on? | Upload your mission to a file sharing service and share the link here Syria | Operation Allied Sword | 2.5 | Fuzzle | A Syrian-Lebanese joint force has attacked Israel, attempting to cross the northern border. With the arrival of a US carrier group, Israel prepares its counterattack. BLUFOR must push from Ramat David north, with a split route inland for land-based and a coastal route for naval aircraft. Mid-size. Includes a custom faction file with livery overrides. | https://drive.google.com/file/d/17JH6X1dykYigB0v7DGkP7HCwNi5vzxtl/view?usp=sharing Syria | All Along the Orontes | 4.0 | Sith1144 | In this fictional campaign you will take your force from Tripoli to Homs. From there, the front splits. One branch goes south, striking against enemy missile bases attacking your flank. The other turns north all the way down the Orontes river before turning south and taking Latakia airbase. It is aimed at helicopters, and thus quite dense and small in overall size. | [All Along the Orontes.zip](https://github.com/dcs-liberation/dcs_liberation/files/6721539/All.Along.the.Orontes.zip) +Syria | Invasion of Israel v0.1 | 4.0 | Dank Williams | Custom campaign using a modified Syria-Lebanon faction with more flyable Russian modules. Feedback welcomed, just @ me in Discord. | [invasion_of_israel_v0.1.zip](https://github.com/dcs-liberation/dcs_liberation/files/6760678/invasion_of_israel_v0.1.zip) You can (with some effort) use GitHub for file uploads: From b17df9213f03f4cc4f54ee11979109856d6909f7 Mon Sep 17 00:00:00 2001 From: Kea21 <86659244+Kea21@users.noreply.github.com> Date: Tue, 6 Jul 2021 14:09:43 +1200 Subject: [PATCH 437/704] Updated Community campaigns (markdown) --- Community-campaigns.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Community-campaigns.md b/Community-campaigns.md index bd02378..0dfd594 100644 --- a/Community-campaigns.md +++ b/Community-campaigns.md @@ -6,6 +6,7 @@ Caucasus | Some campaign | 2.5 | Someone | Describe your campaign. Include a scr Syria | Operation Allied Sword | 2.5 | Fuzzle | A Syrian-Lebanese joint force has attacked Israel, attempting to cross the northern border. With the arrival of a US carrier group, Israel prepares its counterattack. BLUFOR must push from Ramat David north, with a split route inland for land-based and a coastal route for naval aircraft. Mid-size. Includes a custom faction file with livery overrides. | https://drive.google.com/file/d/17JH6X1dykYigB0v7DGkP7HCwNi5vzxtl/view?usp=sharing Syria | All Along the Orontes | 4.0 | Sith1144 | In this fictional campaign you will take your force from Tripoli to Homs. From there, the front splits. One branch goes south, striking against enemy missile bases attacking your flank. The other turns north all the way down the Orontes river before turning south and taking Latakia airbase. It is aimed at helicopters, and thus quite dense and small in overall size. | [All Along the Orontes.zip](https://github.com/dcs-liberation/dcs_liberation/files/6721539/All.Along.the.Orontes.zip) Syria | Invasion of Israel v0.1 | 4.0 | Dank Williams | Custom campaign using a modified Syria-Lebanon faction with more flyable Russian modules. Feedback welcomed, just @ me in Discord. | [invasion_of_israel_v0.1.zip](https://github.com/dcs-liberation/dcs_liberation/files/6760678/invasion_of_israel_v0.1.zip) +Persian Gulf | Battle of Hormuz | 4.0 | Kea | Join a coalition of Western allies in a modern campaign to retake control of the Hormuz Strait following a small nuclear strike by Iran against the UAE. | https://drive.google.com/drive/folders/1KKshtuu9upAmF5z6pGHbMCrFVc13FlJ2?usp=sharing You can (with some effort) use GitHub for file uploads: From 9ceb5de6776127e6b77e99aeea48f80ade7e2657 Mon Sep 17 00:00:00 2001 From: dankwilliams <56580622+dankwilliams@users.noreply.github.com> Date: Mon, 5 Jul 2021 19:47:43 -0700 Subject: [PATCH 438/704] Updated Community campaigns (markdown) --- Community-campaigns.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Community-campaigns.md b/Community-campaigns.md index 0dfd594..0aa41d8 100644 --- a/Community-campaigns.md +++ b/Community-campaigns.md @@ -5,7 +5,7 @@ Map | Campaign name | Liberation version | Author | Description | Download link Caucasus | Some campaign | 2.5 | Someone | Describe your campaign. Include a screenshot if you want. Is it large or small? What part of the map does it take place on? | Upload your mission to a file sharing service and share the link here Syria | Operation Allied Sword | 2.5 | Fuzzle | A Syrian-Lebanese joint force has attacked Israel, attempting to cross the northern border. With the arrival of a US carrier group, Israel prepares its counterattack. BLUFOR must push from Ramat David north, with a split route inland for land-based and a coastal route for naval aircraft. Mid-size. Includes a custom faction file with livery overrides. | https://drive.google.com/file/d/17JH6X1dykYigB0v7DGkP7HCwNi5vzxtl/view?usp=sharing Syria | All Along the Orontes | 4.0 | Sith1144 | In this fictional campaign you will take your force from Tripoli to Homs. From there, the front splits. One branch goes south, striking against enemy missile bases attacking your flank. The other turns north all the way down the Orontes river before turning south and taking Latakia airbase. It is aimed at helicopters, and thus quite dense and small in overall size. | [All Along the Orontes.zip](https://github.com/dcs-liberation/dcs_liberation/files/6721539/All.Along.the.Orontes.zip) -Syria | Invasion of Israel v0.1 | 4.0 | Dank Williams | Custom campaign using a modified Syria-Lebanon faction with more flyable Russian modules. Feedback welcomed, just @ me in Discord. | [invasion_of_israel_v0.1.zip](https://github.com/dcs-liberation/dcs_liberation/files/6760678/invasion_of_israel_v0.1.zip) +Syria | Invasion of Israel v0.2 | 4.0 | Dank Williams | Syrian invasion of Israel during the Yom Kippur War. Inversion not supported. | [invasion_of_israel_v0.2.zip](https://github.com/dcs-liberation/dcs_liberation/files/6766997/invasion_of_israel_v0.2.zip) Persian Gulf | Battle of Hormuz | 4.0 | Kea | Join a coalition of Western allies in a modern campaign to retake control of the Hormuz Strait following a small nuclear strike by Iran against the UAE. | https://drive.google.com/drive/folders/1KKshtuu9upAmF5z6pGHbMCrFVc13FlJ2?usp=sharing You can (with some effort) use GitHub for file uploads: From 64c156bae32226fa6692d9b420cafe9402cfa133 Mon Sep 17 00:00:00 2001 From: Schneefl0cke <60181177+Schneefl0cke@users.noreply.github.com> Date: Thu, 8 Jul 2021 11:52:54 +0200 Subject: [PATCH 439/704] Added List of possible Aircraft --- Custom-Factions.md | 135 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 135 insertions(+) diff --git a/Custom-Factions.md b/Custom-Factions.md index 2ee97dc..6f4f05d 100644 --- a/Custom-Factions.md +++ b/Custom-Factions.md @@ -249,3 +249,138 @@ Below is an example of a factions file : * *StraightFlushGenerator* * *HawkEwrGenerator* +## Annex 4 - Possible Aircraft + +* *A-4E Skyhawk* +* *A-10A Thunderbolt II* +* *A-10C Thunderbolt II (Suite 7)* +* *A-10C Thunderbolt II (Suite 3)* +* *A-20G Havoc* +* *Boston Mk.III* +* *A-50* +* *AH-1J SeaCobra* +* *AH-1W SuperCobra* +* *AH-64A Apache* +* *AH-64D Apache Longbow* +* *AJS-37 Viggen* +* *An-26B* +* *An-30M* +* *AV-8B Harrier II Night Attack* +* *B-1B Lancer* +* *B-17G Flying Fortress* +* *Fortress Mk.III* +* *B-52H Stratofortress* +* *Bf 109 K-4 Kurf\xFCrst* +* *C-17A* +* *C-101CC Aviojet* +* *C-130* +* *CH-47D* +* *CH-53E* +* *E-2C Hawkeye* +* *E-3A* +* *F-4E Phantom II* +* *F-4EJ Kai Phantom II* +* *F-4F Phantom II* +* *Phantom F.3* +* *F-5E Tiger II* +* *F-14A Tomcat (Block 135-GR Late)* +* *F-14B Tomcat* +* *F-15C Eagle* +* *F-15J Eagle* +* *F-15E Strike Eagle* +* *F-16A* +* *F-16CM Fighting Falcon (Block 50)* +* *F-2A* +* *F-22A Raptor +* *F-86F Sabre* +* *F-117A Nighthawk* +* *F/A-18C Hornet (Lot 20)* +* *EF-18A+ Hornet* +* *CF-188 Hornet* +* *Fw 190 A-8 Anton* +* *Fw 190 D-9 Dora* +* *C-130J-30 Super Hercules* +* *I-16 Ishak* +* *IL-76MD* +* *IL-78M* +* *J-11A Flanker-L* +* *JAS 39 Gripen A/G* +* *JAS 39 Gripen* +* *FC-1 Fierce Dragon* +* *JF-17 Thunder* +* *Ju 88 A-4* +* *Ka-50 Hokum* +* *KC-135 Stratotanker* +* *KC-130* +* *KC-135 Stratotanker MPRS* +* *KJ-2000* +* *L-39ZA Albatros* +* *Mirage 2000C* +* *Mi-8MTV2 Hip* +* *Mi-24P Hind-F* +* *Mi-24V Hind-EMi-24V Hind-E* +* *Mi-26* +* *Mi-28N Havoc* +* *MiG-15bis Fagot* +* *J-6A* +* *MiG-19P Farmer-B* +* *J-7B* +* *MiG-21bis Fishbed-N* +* *MiG-23ML Flogger-G* +* *MiG-23MLD Flogger-K* +* *MiG-25PD Foxbat-E* +* *MiG-25RBT Foxbat-B* +* *MiG-27K Flogger-J2* +* *MiG-29A Fulcrum-A* +* *MiG-29G Fulcrum-A* +* *MiG-29S Fulcrum-C* +* *MiG-31 Foxhound* +* *Mirage 2000-5* +* *MQ-9 Reaper* +* *OH-58D Kiowa Warrior* +* *P-47D-30 Thunderbolt (Late)* +* *Thunderbolt Mk.II (Mid)* +* *P-47D-30 Thunderbolt (Early)* +* *Thunderbolt Mk.II (Early)* +* *P-47D-40 Thunderbolt* +* *Thunderbolt Mk.II (Late)* +* *Mustang Mk.IV (Late)* +* *P-51D-30-NA Mustang* +* *Mustang Mk.IV (Early)* +* *P-51D-25-NA Mustang* +* *RQ-1A Predator* +* *S-3B Tanker* +* *S-3B Viking* +* *SA 342L Gazelle* +* *Gazelle AH.1* +* *SA 342M Gazelle* +* *SA342Minigun* +* *SA 342M Gazelle Mistral* +* *SH-60B Seahawk* +* *Spitfire LF Mk IX* +* *Spitfire LF Mk IX (Clipped Wings)* +* *Su-17M4 Fitter-K* +* *Su-22M4 Fitter-K +* *Su-24M Fencer-D* +* *Su-24MK Fencer-D* +* *Su-24MR* +* *Su-25 Frogfoot* +* *Su-25T Frogfoot* +* *Su-27 Flanker-B* +* *Su-30 Flanker-C* +* *Su-30MKK Flanker-G* +* *J-15 Flanker X-2* +* *Su-33 Flanker-D* +* *Su-34 Fullback* +* *Su-57 Felon* +* *Tornado GR4* +* *Tornado IDS* +* *Tu-22M3 Backfire-C* +* *Tu-95MS Bear-H* +* *Tu-142 Bear-F* +* *Tu-160 Blackjack* +* *UH-1D Iroquois* +* *UH-1H Iroquois* +* *UH-60A* +* *WingLoong-I* +* *Yak-40* From ec873219fcf26eee1e46d8d051455f64ecdf81fd Mon Sep 17 00:00:00 2001 From: dankwilliams <56580622+dankwilliams@users.noreply.github.com> Date: Sat, 10 Jul 2021 15:59:02 -0700 Subject: [PATCH 440/704] Updated Community campaigns (markdown) --- Community-campaigns.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Community-campaigns.md b/Community-campaigns.md index 0aa41d8..d653123 100644 --- a/Community-campaigns.md +++ b/Community-campaigns.md @@ -5,7 +5,7 @@ Map | Campaign name | Liberation version | Author | Description | Download link Caucasus | Some campaign | 2.5 | Someone | Describe your campaign. Include a screenshot if you want. Is it large or small? What part of the map does it take place on? | Upload your mission to a file sharing service and share the link here Syria | Operation Allied Sword | 2.5 | Fuzzle | A Syrian-Lebanese joint force has attacked Israel, attempting to cross the northern border. With the arrival of a US carrier group, Israel prepares its counterattack. BLUFOR must push from Ramat David north, with a split route inland for land-based and a coastal route for naval aircraft. Mid-size. Includes a custom faction file with livery overrides. | https://drive.google.com/file/d/17JH6X1dykYigB0v7DGkP7HCwNi5vzxtl/view?usp=sharing Syria | All Along the Orontes | 4.0 | Sith1144 | In this fictional campaign you will take your force from Tripoli to Homs. From there, the front splits. One branch goes south, striking against enemy missile bases attacking your flank. The other turns north all the way down the Orontes river before turning south and taking Latakia airbase. It is aimed at helicopters, and thus quite dense and small in overall size. | [All Along the Orontes.zip](https://github.com/dcs-liberation/dcs_liberation/files/6721539/All.Along.the.Orontes.zip) -Syria | Invasion of Israel v0.2 | 4.0 | Dank Williams | Syrian invasion of Israel during the Yom Kippur War. Inversion not supported. | [invasion_of_israel_v0.2.zip](https://github.com/dcs-liberation/dcs_liberation/files/6766997/invasion_of_israel_v0.2.zip) +Syria | Invasion of Israel v0.3 | 4.0 | Dank Williams | Syrian invasion of Israel during the Yom Kippur War. Inversion not supported. | [invasion_of_israel_v0.3.zip](https://github.com/dcs-liberation/dcs_liberation/files/6796070/invasion_of_israel_v0.3.zip) Persian Gulf | Battle of Hormuz | 4.0 | Kea | Join a coalition of Western allies in a modern campaign to retake control of the Hormuz Strait following a small nuclear strike by Iran against the UAE. | https://drive.google.com/drive/folders/1KKshtuu9upAmF5z6pGHbMCrFVc13FlJ2?usp=sharing You can (with some effort) use GitHub for file uploads: From ca011af4fc4903db2fd93d8f0c9673c97fd11779 Mon Sep 17 00:00:00 2001 From: Ben Matthys Date: Thu, 15 Jul 2021 18:56:10 +0200 Subject: [PATCH 441/704] Updated Community campaigns (markdown) --- Community-campaigns.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Community-campaigns.md b/Community-campaigns.md index d653123..2050c34 100644 --- a/Community-campaigns.md +++ b/Community-campaigns.md @@ -7,6 +7,7 @@ Syria | Operation Allied Sword | 2.5 | Fuzzle | A Syrian-Lebanese joint force ha Syria | All Along the Orontes | 4.0 | Sith1144 | In this fictional campaign you will take your force from Tripoli to Homs. From there, the front splits. One branch goes south, striking against enemy missile bases attacking your flank. The other turns north all the way down the Orontes river before turning south and taking Latakia airbase. It is aimed at helicopters, and thus quite dense and small in overall size. | [All Along the Orontes.zip](https://github.com/dcs-liberation/dcs_liberation/files/6721539/All.Along.the.Orontes.zip) Syria | Invasion of Israel v0.3 | 4.0 | Dank Williams | Syrian invasion of Israel during the Yom Kippur War. Inversion not supported. | [invasion_of_israel_v0.3.zip](https://github.com/dcs-liberation/dcs_liberation/files/6796070/invasion_of_israel_v0.3.zip) Persian Gulf | Battle of Hormuz | 4.0 | Kea | Join a coalition of Western allies in a modern campaign to retake control of the Hormuz Strait following a small nuclear strike by Iran against the UAE. | https://drive.google.com/drive/folders/1KKshtuu9upAmF5z6pGHbMCrFVc13FlJ2?usp=sharing +Syria | Operation Syrian Salvation | 4.0 | CptBean | Protect the border crossing of Bab-Al Hawa from the Syrian Government, and relieve the country from their oppression by taking the fight all the way to Damascus, with the support of members from CJTF - Operation Inherent Resolve!| [Operation_Syrian_Salvation.zip](https://github.com/dcs-liberation/dcs_liberation/files/6824917/Operation_Syrian_Salvation.zip) You can (with some effort) use GitHub for file uploads: From 625fcbfae8b6db960309caa30048ba0a59ce7a70 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sun, 18 Jul 2021 17:21:02 -0700 Subject: [PATCH 442/704] Updated Squadrons and pilots (markdown) --- Squadrons-and-pilots.md | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/Squadrons-and-pilots.md b/Squadrons-and-pilots.md index 8302f99..a8b404f 100644 --- a/Squadrons-and-pilots.md +++ b/Squadrons-and-pilots.md @@ -82,12 +82,15 @@ Here is an example squadron definition file: ```yaml --- -name: VFA-113 -nickname: Stingers +name: VMFA-323 +nickname: Death Rattlers country: USA role: Strike Fighter aircraft: F/A-18C Hornet (Lot 20) -livery: VFA-113 +bases: + carrier: true + shore: true +livery: VMFA-323 mission_types: - Anti-ship - BAI @@ -122,6 +125,17 @@ The `pilots` field defines AI pilot names that will be used before generating ra The `players` field operates the same as the `pilots` field, but the created pilots will be created as player pilots. +The `bases` field is new in DCS Liberation 5.0 and can be used to override the default bases that the squadron will operate from. The defaults are set based on the aircraft type: + +Aircraft type | `shore` | `carrier` | `lha` +--- | --- | --- | --- +Helicopter | true | true | true +LHA capable | true | false | true +Carrier capable | false | true | false +Other | true | false | false + +This can be used for creating Marine Hornet squadrons as in the example above. + #### Aircraft in 4.x and newer The aircraft should match the variant name of the aircraft as specified in the unit data file. For more information about variant names, see https://github.com/dcs-liberation/dcs_liberation/wiki/Custom-Factions#aircraft-and-ground-unit-names. From 4759d393f8d73719184c90af8ea002a6678307ce Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sun, 18 Jul 2021 17:21:38 -0700 Subject: [PATCH 443/704] Updated Squadrons and pilots (markdown) --- Squadrons-and-pilots.md | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-) diff --git a/Squadrons-and-pilots.md b/Squadrons-and-pilots.md index a8b404f..51ade14 100644 --- a/Squadrons-and-pilots.md +++ b/Squadrons-and-pilots.md @@ -125,6 +125,10 @@ The `pilots` field defines AI pilot names that will be used before generating ra The `players` field operates the same as the `pilots` field, but the created pilots will be created as player pilots. + + +The `aircraft` field should match the variant name of the aircraft as specified in the unit data file. For more information about variant names, see https://github.com/dcs-liberation/dcs_liberation/wiki/Custom-Factions#aircraft-and-ground-unit-names. + The `bases` field is new in DCS Liberation 5.0 and can be used to override the default bases that the squadron will operate from. The defaults are set based on the aircraft type: Aircraft type | `shore` | `carrier` | `lha` @@ -136,24 +140,6 @@ Other | true | false | false This can be used for creating Marine Hornet squadrons as in the example above. -#### Aircraft in 4.x and newer - -The aircraft should match the variant name of the aircraft as specified in the unit data file. For more information about variant names, see https://github.com/dcs-liberation/dcs_liberation/wiki/Custom-Factions#aircraft-and-ground-unit-names. - -#### Aircraft in 3.x - -The aircraft should match the key (**the value in quotes**) of the aircraft found in `plane_map` in [planes.py](https://github.com/pydcs/dcs/blob/master/dcs/planes.py) or `helicopter_map` in [helicopters.py](https://github.com/pydcs/dcs/blob/master/dcs/helicopters.py). Note that for modded aircraft these are currently defined in [db.py](https://github.com/dcs-liberation/dcs_liberation/blob/develop/game/db.py#L159-L165) instead. If the code moves and that link becomes out of date, search for a section that looks similar to: - -```python -plane_map["A-4E-C"] = A_4E_C -plane_map["F-22A"] = F_22A -plane_map["MB-339PAN"] = MB_339PAN -plane_map["Su-57"] = Su_57 -plane_map["Hercules"] = Hercules -plane_map["JAS39Gripen"] = JAS39Gripen -plane_map["JAS39Gripen_AG"] = JAS39Gripen_AG -``` - ### Generated squadrons A squadron will be generated for any aircraft that does not have any predefined squadrons available. \ No newline at end of file From 11ff659f4bbec0c69be4b8c9dcc7c2107b68214a Mon Sep 17 00:00:00 2001 From: kevstosmart <82784870+kevstosmart@users.noreply.github.com> Date: Sun, 18 Jul 2021 21:15:41 -0400 Subject: [PATCH 444/704] Created _Footer BAT File for Server setup without downloading DCS Server Files (markdown) --- ...r-setup-without-downloading-DCS-Server-Files.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 _Footer-BAT-File-for-Server-setup-without-downloading-DCS-Server-Files.md diff --git a/_Footer-BAT-File-for-Server-setup-without-downloading-DCS-Server-Files.md b/_Footer-BAT-File-for-Server-setup-without-downloading-DCS-Server-Files.md new file mode 100644 index 0000000..bb903ff --- /dev/null +++ b/_Footer-BAT-File-for-Server-setup-without-downloading-DCS-Server-Files.md @@ -0,0 +1,14 @@ +Heres a precompiled .bat file to run a dedicated server along side your normal DCS install. +No need to download the dcs server with this option. + +simply download the file and move it into X:\DCS World OpenBeta/stable\bin + +double click the .bat file, it should now open a dcs splash screen (note it will stay that way) + +proceed to X:\DCS World OpenBeta\WebGUI + +double click index.html to open the webui on your default web browser! + + +bat file download via mediafire +https://www.mediafire.com/file/pfjh1gfsnisvi1u/dcs-server.bat/file \ No newline at end of file From 2d60c6ca0ea2ddbb3ef310d07b38329274e507e3 Mon Sep 17 00:00:00 2001 From: kevstosmart <82784870+kevstosmart@users.noreply.github.com> Date: Sun, 18 Jul 2021 21:15:56 -0400 Subject: [PATCH 445/704] Updated _Footer BAT File for Server setup without downloading DCS Server Files (markdown) --- ...-File-for-Server-setup-without-downloading-DCS-Server-Files.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename _Footer-BAT-File-for-Server-setup-without-downloading-DCS-Server-Files.md => BAT-File-for-Server-setup-without-downloading-DCS-Server-Files.md (100%) diff --git a/_Footer-BAT-File-for-Server-setup-without-downloading-DCS-Server-Files.md b/BAT-File-for-Server-setup-without-downloading-DCS-Server-Files.md similarity index 100% rename from _Footer-BAT-File-for-Server-setup-without-downloading-DCS-Server-Files.md rename to BAT-File-for-Server-setup-without-downloading-DCS-Server-Files.md From 333af0e7adbeca4feff798667fe2b9fd187a8ebf Mon Sep 17 00:00:00 2001 From: kevstosmart <82784870+kevstosmart@users.noreply.github.com> Date: Sun, 18 Jul 2021 21:20:14 -0400 Subject: [PATCH 446/704] Updated BAT File for Server setup without downloading DCS Server Files (markdown) --- ...File-for-Server-setup-without-downloading-DCS-Server-Files.md | 1 + 1 file changed, 1 insertion(+) diff --git a/BAT-File-for-Server-setup-without-downloading-DCS-Server-Files.md b/BAT-File-for-Server-setup-without-downloading-DCS-Server-Files.md index bb903ff..cfeefa1 100644 --- a/BAT-File-for-Server-setup-without-downloading-DCS-Server-Files.md +++ b/BAT-File-for-Server-setup-without-downloading-DCS-Server-Files.md @@ -9,6 +9,7 @@ proceed to X:\DCS World OpenBeta\WebGUI double click index.html to open the webui on your default web browser! +Thanks to Mike and Decho on Discord bat file download via mediafire https://www.mediafire.com/file/pfjh1gfsnisvi1u/dcs-server.bat/file \ No newline at end of file From cfc712ebda156b1128f66d2aaf813dca9f882e92 Mon Sep 17 00:00:00 2001 From: kevstosmart <82784870+kevstosmart@users.noreply.github.com> Date: Sun, 18 Jul 2021 21:20:23 -0400 Subject: [PATCH 447/704] Updated BAT File for Server setup without downloading DCS Server Files (markdown) From 33287d9ee28869663e3fa430048f73ecbbd2d981 Mon Sep 17 00:00:00 2001 From: kevstosmart <82784870+kevstosmart@users.noreply.github.com> Date: Sun, 18 Jul 2021 21:22:22 -0400 Subject: [PATCH 448/704] Destroyed BAT File for Server setup without downloading DCS Server Files (markdown) --- ...-setup-without-downloading-DCS-Server-Files.md | 15 --------------- 1 file changed, 15 deletions(-) delete mode 100644 BAT-File-for-Server-setup-without-downloading-DCS-Server-Files.md diff --git a/BAT-File-for-Server-setup-without-downloading-DCS-Server-Files.md b/BAT-File-for-Server-setup-without-downloading-DCS-Server-Files.md deleted file mode 100644 index cfeefa1..0000000 --- a/BAT-File-for-Server-setup-without-downloading-DCS-Server-Files.md +++ /dev/null @@ -1,15 +0,0 @@ -Heres a precompiled .bat file to run a dedicated server along side your normal DCS install. -No need to download the dcs server with this option. - -simply download the file and move it into X:\DCS World OpenBeta/stable\bin - -double click the .bat file, it should now open a dcs splash screen (note it will stay that way) - -proceed to X:\DCS World OpenBeta\WebGUI - -double click index.html to open the webui on your default web browser! - -Thanks to Mike and Decho on Discord - -bat file download via mediafire -https://www.mediafire.com/file/pfjh1gfsnisvi1u/dcs-server.bat/file \ No newline at end of file From 61ca6a422f2e0643ee9e7b18ac3849e9d20d7e7b Mon Sep 17 00:00:00 2001 From: kevstosmart <82784870+kevstosmart@users.noreply.github.com> Date: Sun, 18 Jul 2021 21:27:55 -0400 Subject: [PATCH 449/704] Updated Dedicated Server Guide (markdown) --- Dedicated-Server-Guide.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/Dedicated-Server-Guide.md b/Dedicated-Server-Guide.md index b42348a..e9bb3ae 100644 --- a/Dedicated-Server-Guide.md +++ b/Dedicated-Server-Guide.md @@ -99,4 +99,15 @@ Then download the `state.json` file on the mission computer, and enter it in dcs ![](https://i.imgur.com/Izml39p.jpg) -If the "Waiting for mission completion" window is not visible anymore (you may have closed it, or the program), simply click the "Take off" button again. \ No newline at end of file +If the "Waiting for mission completion" window is not visible anymore (you may have closed it, or the program), simply click the "Take off" button again. + + +## Dedicated Server set up without DCS server files + +First download a premade .bat file and move it to "X:\DCS World OpenBeta\bin" +https://www.mediafire.com/file/pfjh1gfsnisvi1u/dcs-server.bat/file + +To Start the server simply double click the .bat file provided, Which will now open an instance of dcs and it will stay on the "DCS" splash screen which is normal. + +to manage you server simply go to "G:\DCS World OpenBeta\WebGUI" and open "index.html" which now will open the WebUI server manager on your default internet browser. + From 69e3f31ec3b881e5db3f34b77ecae799914570c1 Mon Sep 17 00:00:00 2001 From: kevstosmart <82784870+kevstosmart@users.noreply.github.com> Date: Sun, 18 Jul 2021 21:31:15 -0400 Subject: [PATCH 450/704] Updated Dedicated Server Guide (markdown) --- Dedicated-Server-Guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dedicated-Server-Guide.md b/Dedicated-Server-Guide.md index e9bb3ae..2f09d93 100644 --- a/Dedicated-Server-Guide.md +++ b/Dedicated-Server-Guide.md @@ -109,5 +109,5 @@ https://www.mediafire.com/file/pfjh1gfsnisvi1u/dcs-server.bat/file To Start the server simply double click the .bat file provided, Which will now open an instance of dcs and it will stay on the "DCS" splash screen which is normal. -to manage you server simply go to "G:\DCS World OpenBeta\WebGUI" and open "index.html" which now will open the WebUI server manager on your default internet browser. +to manage your server simply go to "G:\DCS World OpenBeta\WebGUI" and open "index.html" which now will open the WebUI server manager on your default internet browser. From d2dfe7ab3cf391944cd8e2d95e06e163c6c2b5fc Mon Sep 17 00:00:00 2001 From: kevstosmart <82784870+kevstosmart@users.noreply.github.com> Date: Sun, 18 Jul 2021 21:32:35 -0400 Subject: [PATCH 451/704] Updated Dedicated Server Guide (markdown) --- Dedicated-Server-Guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dedicated-Server-Guide.md b/Dedicated-Server-Guide.md index 2f09d93..33767d5 100644 --- a/Dedicated-Server-Guide.md +++ b/Dedicated-Server-Guide.md @@ -107,7 +107,7 @@ If the "Waiting for mission completion" window is not visible anymore (you may h First download a premade .bat file and move it to "X:\DCS World OpenBeta\bin" https://www.mediafire.com/file/pfjh1gfsnisvi1u/dcs-server.bat/file -To Start the server simply double click the .bat file provided, Which will now open an instance of dcs and it will stay on the "DCS" splash screen which is normal. +To Start the server simply double click the .bat file provided, which will now open an instance of dcs and it will stay on the "DCS" splash screen which is normal. to manage your server simply go to "G:\DCS World OpenBeta\WebGUI" and open "index.html" which now will open the WebUI server manager on your default internet browser. From eeea8709a92b850dba5b80721358dc0d7bc864ca Mon Sep 17 00:00:00 2001 From: kevstosmart <82784870+kevstosmart@users.noreply.github.com> Date: Sun, 18 Jul 2021 22:32:12 -0400 Subject: [PATCH 452/704] Updated Dedicated Server Guide (markdown) --- Dedicated-Server-Guide.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Dedicated-Server-Guide.md b/Dedicated-Server-Guide.md index 33767d5..fb667f6 100644 --- a/Dedicated-Server-Guide.md +++ b/Dedicated-Server-Guide.md @@ -107,6 +107,13 @@ If the "Waiting for mission completion" window is not visible anymore (you may h First download a premade .bat file and move it to "X:\DCS World OpenBeta\bin" https://www.mediafire.com/file/pfjh1gfsnisvi1u/dcs-server.bat/file +Don't wish to download? no problem! +1. create a text file name it something on the lines of "DCS server start.bat" or which ever you prefer but make sure you edit the type of file by inserting .bat instead of "x.txt" should look on the lines of "x.bat" +2. open text file and copy and paste this code (no quotes) "DCS.exe --server --norender -w DCS.server1" and hit save. +3. drag the just now created file in the same directory stated above "X:\DCS World OpenBeta\bin" and follow instructions below. + + + To Start the server simply double click the .bat file provided, which will now open an instance of dcs and it will stay on the "DCS" splash screen which is normal. to manage your server simply go to "G:\DCS World OpenBeta\WebGUI" and open "index.html" which now will open the WebUI server manager on your default internet browser. From 1330ade3327e2674fa87a10e4ee64730acc37883 Mon Sep 17 00:00:00 2001 From: kevstosmart <82784870+kevstosmart@users.noreply.github.com> Date: Sun, 18 Jul 2021 22:32:30 -0400 Subject: [PATCH 453/704] Updated Dedicated Server Guide (markdown) --- Dedicated-Server-Guide.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Dedicated-Server-Guide.md b/Dedicated-Server-Guide.md index fb667f6..3ac209e 100644 --- a/Dedicated-Server-Guide.md +++ b/Dedicated-Server-Guide.md @@ -108,7 +108,8 @@ First download a premade .bat file and move it to "X:\DCS World OpenBeta\bin" https://www.mediafire.com/file/pfjh1gfsnisvi1u/dcs-server.bat/file Don't wish to download? no problem! -1. create a text file name it something on the lines of "DCS server start.bat" or which ever you prefer but make sure you edit the type of file by inserting .bat instead of "x.txt" should look on the lines of "x.bat" +1. create a text file name it something on the lines of "DCS server start.bat" or which ever you prefer but make sure you edit the type of file by + inserting .bat instead of "x.txt" should look on the lines of "x.bat" 2. open text file and copy and paste this code (no quotes) "DCS.exe --server --norender -w DCS.server1" and hit save. 3. drag the just now created file in the same directory stated above "X:\DCS World OpenBeta\bin" and follow instructions below. From aee624db25ccc522c1b1c0590b33bde6d0b39eb0 Mon Sep 17 00:00:00 2001 From: Starfire13 <72491792+Starfire13@users.noreply.github.com> Date: Mon, 26 Jul 2021 10:03:04 +1000 Subject: [PATCH 454/704] Updated Tutorial 01 : UI (markdown) --- Tutorial-01-:-UI.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tutorial-01-:-UI.md b/Tutorial-01-:-UI.md index 03398bc..e0fa89e 100644 --- a/Tutorial-01-:-UI.md +++ b/Tutorial-01-:-UI.md @@ -1,4 +1,4 @@ -**The tutorial is out of date for DCS Liberation 3.0.** See the other sections of [the manual](https://github.com/dcs-liberation/dcs_liberation/wiki) for help. If you want to help us update the tutorial, [join the #doc-maintenance channel in our discord](https://discord.gg/fpJRYBV9). +**The tutorial is out of date for DCS Liberation 4.0.** See the other sections of [the manual](https://github.com/dcs-liberation/dcs_liberation/wiki) for help. If you want to help us update the tutorial, [join the #doc-maintenance channel in our discord](https://discord.gg/fpJRYBV9). Now that you have started a campaign, let's go through the UI to get an understanding of what is displayed first. From 995bcfbdf8ca6418e15f4dc3b8037b8881f22456 Mon Sep 17 00:00:00 2001 From: bgreman <47828384+bgreman@users.noreply.github.com> Date: Thu, 29 Jul 2021 11:59:10 -0400 Subject: [PATCH 455/704] instructions on custom weapons injection --- Modded-Aircraft-Support.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Modded-Aircraft-Support.md b/Modded-Aircraft-Support.md index e279082..f31ca62 100644 --- a/Modded-Aircraft-Support.md +++ b/Modded-Aircraft-Support.md @@ -56,7 +56,7 @@ Example of final file for the popular A-4E-C mod : https://github.com/dcs-libera As you can see, extensions for mods are stored in this folder : https://github.com/dcs-liberation/dcs_liberation/blob/develop/pydcs_extensions -These file contains a lot of metadata we need to be able to generate missions, such as possible liveries, possible payloads for each pylons, specific weapons ids ... and so on. +These file contains a lot of metadata we need to be able to generate missions, such as possible liveries, possible payloads for each pylons, specific weapons ids ... and so on. ## Step 2 : Pydcs extensions injection : @@ -107,11 +107,17 @@ CAP_CAPABLE = [ ] ``` -## Step 4 : Create default payload +## Step 4 : Create default payload and inject custom weapons See [Custom Loadouts](Custom-Loadouts) Create default loadouts for the new plane. +Any custom weapons with the mod should be included in the same file as the python class for the vehicle itself. After the weapons are defined, they must be injected into the `pydcs` weapons table. You do this by including the following line at the top of the file: +`from pydcs_extensions.weapon_injector import inject_weapons` + +and the following line after the weapons definition class: +`inject_weapons(CustomWeaponsClass)` where `CustomWeaponsClass` is the name of the weapons class you created. For the A4EC listed above, that name is `WeaponsA4EC`. + ## Step 5 : Factions See [Custom Factions](Custom-Factions) and create a faction that support the mods so it can be used From ac473995608795e2e197df7021639c9f8505d50c Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Mon, 2 Aug 2021 19:12:37 +0200 Subject: [PATCH 456/704] Updated Custom Factions (markdown) --- Custom-Factions.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Custom-Factions.md b/Custom-Factions.md index 6f4f05d..9e5eeab 100644 --- a/Custom-Factions.md +++ b/Custom-Factions.md @@ -219,6 +219,8 @@ Below is an example of a factions file : * *SA20Generator* (Requires High Digit Sam Mode) * *SA20BGenerator* (Requires High Digit Sam Mode) * *SA23Generator* (Requires High Digit Sam Mode) +* *NasamBGenerator* +* *NasamCGenerator* ## Annex 2 - Possible Navy group generators From 391606fcb691d8604921ceb778a9ea62ed899aa2 Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Mon, 2 Aug 2021 19:13:18 +0200 Subject: [PATCH 457/704] Updated Custom Factions (markdown) --- Custom-Factions.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Custom-Factions.md b/Custom-Factions.md index 9e5eeab..15364c9 100644 --- a/Custom-Factions.md +++ b/Custom-Factions.md @@ -250,6 +250,7 @@ Below is an example of a factions file : * *SnowDriftGenerator* * *StraightFlushGenerator* * *HawkEwrGenerator* +* *TinShieldGenerator* ## Annex 4 - Possible Aircraft From 949a1b98dbcc9ac322fcabd05ebbb46ab29010a2 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Thu, 5 Aug 2021 18:57:28 -0700 Subject: [PATCH 458/704] Updated Campaign maintenance (markdown) --- Campaign-maintenance.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Campaign-maintenance.md b/Campaign-maintenance.md index a51cfe4..0bd4919 100644 --- a/Campaign-maintenance.md +++ b/Campaign-maintenance.md @@ -23,11 +23,9 @@ Syria | Battle for Golan Heights | @Khopa Syria | Full Map | @RoleplayingPleb Syria | Humble Helper | @Sir-Headiii Syria | Operation Allied Sword | @sgtfuzzle17 -Syria | Operation Atilla | @Malakhit Syria | Operation Black Ball | @sgtfuzzle17 Syria | Operation Mole Cricket 2010 | @Mustang-25 Syria | Operation Peace Spring | @Starfire13 -Syria | Russian Intervention | @Malakhit The Channel | Operation Dynamo | @Khopa @@ -41,7 +39,9 @@ These campaigns are broken and have no owner to fix them, so they have been remo Map | Name | Last included in --- | --- | --- -Syria | Inherent Resolve | 3.0 +Syria | Inherent Resolve | 3.0.0 +Syria | Operation Atilla | 4.0.0 +Syria | Russian Intervention | 4.0.0 ## Becoming a campaign maintainer From 0758626c189836fdd1249086a54780bd8561458f Mon Sep 17 00:00:00 2001 From: Mustang-25 <72566076+Mustang-25@users.noreply.github.com> Date: Sat, 7 Aug 2021 19:16:23 -0700 Subject: [PATCH 459/704] Updated squadron livery section to include directions for user liveries --- Squadrons-and-pilots.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Squadrons-and-pilots.md b/Squadrons-and-pilots.md index 51ade14..1b01fbd 100644 --- a/Squadrons-and-pilots.md +++ b/Squadrons-and-pilots.md @@ -119,7 +119,9 @@ The `role` field is currently non-functional. The `role` field will later be sho The `mission_types` field determines which mission types to assign to the squadron. The spelling of each entry in `mission_types` should match the spelling of the mission that is used in the Liberation UI. If the squadron specifies a mission type that the aircraft is not capable of, an error will be emitted in the log and the incompatible mission type will not be used for the squadron. -The `livery` field, if set, will be the livery used by all aircraft of this squadron. It should match the quoted portion of the livery name in https://github.com/pydcs/dcs/blob/master/dcs/planes.py. For example, the name for the HAF 330 Thunder livery for a Greek F-16 is `HAF_ 330_Thunder` +The `livery` field, if set, will be the livery used by all aircraft of this squadron. Default liveries included in DCS should match the quoted portion of the livery name in https://github.com/pydcs/dcs/blob/master/dcs/planes.py. For example, the name for the HAF 330 Thunder livery for a Greek F-16 is `HAF_ 330_Thunder` + +**Note:** You can also use any custom liveries that you have downloaded to your Saved Games folder. In this case, the `livery` field should match the folder name of your selected livery. The `pilots` field defines AI pilot names that will be used before generating random pilot names for this squadron. From b0168f1a5d1a1a6d4681fafd5f02b1313bbf8abf Mon Sep 17 00:00:00 2001 From: dankwilliams <56580622+dankwilliams@users.noreply.github.com> Date: Sun, 8 Aug 2021 16:54:13 -0700 Subject: [PATCH 460/704] Updated Community campaigns (markdown) --- Community-campaigns.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Community-campaigns.md b/Community-campaigns.md index 2050c34..86e90c8 100644 --- a/Community-campaigns.md +++ b/Community-campaigns.md @@ -5,7 +5,7 @@ Map | Campaign name | Liberation version | Author | Description | Download link Caucasus | Some campaign | 2.5 | Someone | Describe your campaign. Include a screenshot if you want. Is it large or small? What part of the map does it take place on? | Upload your mission to a file sharing service and share the link here Syria | Operation Allied Sword | 2.5 | Fuzzle | A Syrian-Lebanese joint force has attacked Israel, attempting to cross the northern border. With the arrival of a US carrier group, Israel prepares its counterattack. BLUFOR must push from Ramat David north, with a split route inland for land-based and a coastal route for naval aircraft. Mid-size. Includes a custom faction file with livery overrides. | https://drive.google.com/file/d/17JH6X1dykYigB0v7DGkP7HCwNi5vzxtl/view?usp=sharing Syria | All Along the Orontes | 4.0 | Sith1144 | In this fictional campaign you will take your force from Tripoli to Homs. From there, the front splits. One branch goes south, striking against enemy missile bases attacking your flank. The other turns north all the way down the Orontes river before turning south and taking Latakia airbase. It is aimed at helicopters, and thus quite dense and small in overall size. | [All Along the Orontes.zip](https://github.com/dcs-liberation/dcs_liberation/files/6721539/All.Along.the.Orontes.zip) -Syria | Invasion of Israel v0.3 | 4.0 | Dank Williams | Syrian invasion of Israel during the Yom Kippur War. Inversion not supported. | [invasion_of_israel_v0.3.zip](https://github.com/dcs-liberation/dcs_liberation/files/6796070/invasion_of_israel_v0.3.zip) +Syria | Invasion of Israel v0.3 | 4.0 | Dank Williams | Syrian invasion of Israel during the Yom Kippur War. Inversion not supported. | [invasion_of_israel.zip](https://github.com/dcs-liberation/dcs_liberation/files/6951649/invasion_of_israel.zip) Persian Gulf | Battle of Hormuz | 4.0 | Kea | Join a coalition of Western allies in a modern campaign to retake control of the Hormuz Strait following a small nuclear strike by Iran against the UAE. | https://drive.google.com/drive/folders/1KKshtuu9upAmF5z6pGHbMCrFVc13FlJ2?usp=sharing Syria | Operation Syrian Salvation | 4.0 | CptBean | Protect the border crossing of Bab-Al Hawa from the Syrian Government, and relieve the country from their oppression by taking the fight all the way to Damascus, with the support of members from CJTF - Operation Inherent Resolve!| [Operation_Syrian_Salvation.zip](https://github.com/dcs-liberation/dcs_liberation/files/6824917/Operation_Syrian_Salvation.zip) From f0993b3fb10304856f7eab42e9b2c6c6ab89d0d1 Mon Sep 17 00:00:00 2001 From: dankwilliams <56580622+dankwilliams@users.noreply.github.com> Date: Sun, 8 Aug 2021 16:54:27 -0700 Subject: [PATCH 461/704] Updated Community campaigns (markdown) --- Community-campaigns.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Community-campaigns.md b/Community-campaigns.md index 86e90c8..385139a 100644 --- a/Community-campaigns.md +++ b/Community-campaigns.md @@ -5,7 +5,7 @@ Map | Campaign name | Liberation version | Author | Description | Download link Caucasus | Some campaign | 2.5 | Someone | Describe your campaign. Include a screenshot if you want. Is it large or small? What part of the map does it take place on? | Upload your mission to a file sharing service and share the link here Syria | Operation Allied Sword | 2.5 | Fuzzle | A Syrian-Lebanese joint force has attacked Israel, attempting to cross the northern border. With the arrival of a US carrier group, Israel prepares its counterattack. BLUFOR must push from Ramat David north, with a split route inland for land-based and a coastal route for naval aircraft. Mid-size. Includes a custom faction file with livery overrides. | https://drive.google.com/file/d/17JH6X1dykYigB0v7DGkP7HCwNi5vzxtl/view?usp=sharing Syria | All Along the Orontes | 4.0 | Sith1144 | In this fictional campaign you will take your force from Tripoli to Homs. From there, the front splits. One branch goes south, striking against enemy missile bases attacking your flank. The other turns north all the way down the Orontes river before turning south and taking Latakia airbase. It is aimed at helicopters, and thus quite dense and small in overall size. | [All Along the Orontes.zip](https://github.com/dcs-liberation/dcs_liberation/files/6721539/All.Along.the.Orontes.zip) -Syria | Invasion of Israel v0.3 | 4.0 | Dank Williams | Syrian invasion of Israel during the Yom Kippur War. Inversion not supported. | [invasion_of_israel.zip](https://github.com/dcs-liberation/dcs_liberation/files/6951649/invasion_of_israel.zip) +Syria | Invasion of Israel | 4.1 | Dank Williams | Syrian invasion of Israel during the Yom Kippur War. Inversion not supported. | [invasion_of_israel.zip](https://github.com/dcs-liberation/dcs_liberation/files/6951649/invasion_of_israel.zip) Persian Gulf | Battle of Hormuz | 4.0 | Kea | Join a coalition of Western allies in a modern campaign to retake control of the Hormuz Strait following a small nuclear strike by Iran against the UAE. | https://drive.google.com/drive/folders/1KKshtuu9upAmF5z6pGHbMCrFVc13FlJ2?usp=sharing Syria | Operation Syrian Salvation | 4.0 | CptBean | Protect the border crossing of Bab-Al Hawa from the Syrian Government, and relieve the country from their oppression by taking the fight all the way to Damascus, with the support of members from CJTF - Operation Inherent Resolve!| [Operation_Syrian_Salvation.zip](https://github.com/dcs-liberation/dcs_liberation/files/6824917/Operation_Syrian_Salvation.zip) From bc632988c9f0e820cc9b6cbdf23faac37e1a5f9a Mon Sep 17 00:00:00 2001 From: Starfire13 <72491792+Starfire13@users.noreply.github.com> Date: Tue, 10 Aug 2021 09:23:00 +1000 Subject: [PATCH 462/704] Updated Performance Options (markdown) --- Performance-Options.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Performance-Options.md b/Performance-Options.md index 612046e..0fa9c30 100644 --- a/Performance-Options.md +++ b/Performance-Options.md @@ -8,7 +8,7 @@ Given the wide amount of differences between systems, it will take some trial an Enabling "Culling of distant units" in the Mission Generator settings can improve performance by removing some distant units from the game. -![Picture of culling options](https://i.imgur.com/g7rY3A9.png) +![Picture of culling options](https://i.imgur.com/sDfpF5f.jpg) Distant unit culling removes all ground units (including buildings) that are beyond the set range from any culling exclusion zone. These culling exclusion zones are placed: From 15f1a6a8821bcf9d148bbe8421879081e1c2016a Mon Sep 17 00:00:00 2001 From: Mustang-25 <72566076+Mustang-25@users.noreply.github.com> Date: Mon, 9 Aug 2021 16:50:46 -0700 Subject: [PATCH 463/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index c70522e..913a175 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -1,4 +1,4 @@ -**For DCS Liberation 3.0 the campaign version is 6.0.** +**For DCS Liberation 3.0 the campaign version is 8.0.** Campaigns in DCS Liberation can be modified using the mission editor. Each campaign is defined by a JSON file to provide metadata, and a DCS mission file (`.miz` file) to set up the theater. From 27228c7cc8a25e7677e093eac16691db09d167c1 Mon Sep 17 00:00:00 2001 From: Mustang-25 <72566076+Mustang-25@users.noreply.github.com> Date: Mon, 9 Aug 2021 16:50:58 -0700 Subject: [PATCH 464/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index 913a175..7d1a735 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -1,4 +1,4 @@ -**For DCS Liberation 3.0 the campaign version is 8.0.** +**For DCS Liberation 4.1 the campaign version is 8.0.** Campaigns in DCS Liberation can be modified using the mission editor. Each campaign is defined by a JSON file to provide metadata, and a DCS mission file (`.miz` file) to set up the theater. From a95181460e2e782f2860ca48f17a6a37b1de5748 Mon Sep 17 00:00:00 2001 From: sith1144 <86239928+sith1144@users.noreply.github.com> Date: Tue, 10 Aug 2021 13:37:59 +0200 Subject: [PATCH 465/704] Updated Community campaigns (markdown) --- Community-campaigns.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Community-campaigns.md b/Community-campaigns.md index 385139a..f21310f 100644 --- a/Community-campaigns.md +++ b/Community-campaigns.md @@ -4,10 +4,10 @@ Map | Campaign name | Liberation version | Author | Description | Download link --- | --- | --- | --- | --- | --- Caucasus | Some campaign | 2.5 | Someone | Describe your campaign. Include a screenshot if you want. Is it large or small? What part of the map does it take place on? | Upload your mission to a file sharing service and share the link here Syria | Operation Allied Sword | 2.5 | Fuzzle | A Syrian-Lebanese joint force has attacked Israel, attempting to cross the northern border. With the arrival of a US carrier group, Israel prepares its counterattack. BLUFOR must push from Ramat David north, with a split route inland for land-based and a coastal route for naval aircraft. Mid-size. Includes a custom faction file with livery overrides. | https://drive.google.com/file/d/17JH6X1dykYigB0v7DGkP7HCwNi5vzxtl/view?usp=sharing -Syria | All Along the Orontes | 4.0 | Sith1144 | In this fictional campaign you will take your force from Tripoli to Homs. From there, the front splits. One branch goes south, striking against enemy missile bases attacking your flank. The other turns north all the way down the Orontes river before turning south and taking Latakia airbase. It is aimed at helicopters, and thus quite dense and small in overall size. | [All Along the Orontes.zip](https://github.com/dcs-liberation/dcs_liberation/files/6721539/All.Along.the.Orontes.zip) Syria | Invasion of Israel | 4.1 | Dank Williams | Syrian invasion of Israel during the Yom Kippur War. Inversion not supported. | [invasion_of_israel.zip](https://github.com/dcs-liberation/dcs_liberation/files/6951649/invasion_of_israel.zip) Persian Gulf | Battle of Hormuz | 4.0 | Kea | Join a coalition of Western allies in a modern campaign to retake control of the Hormuz Strait following a small nuclear strike by Iran against the UAE. | https://drive.google.com/drive/folders/1KKshtuu9upAmF5z6pGHbMCrFVc13FlJ2?usp=sharing Syria | Operation Syrian Salvation | 4.0 | CptBean | Protect the border crossing of Bab-Al Hawa from the Syrian Government, and relieve the country from their oppression by taking the fight all the way to Damascus, with the support of members from CJTF - Operation Inherent Resolve!| [Operation_Syrian_Salvation.zip](https://github.com/dcs-liberation/dcs_liberation/files/6824917/Operation_Syrian_Salvation.zip) +Syria | Task Force Thunder | 4.1 | Sith1144 | US Invasion of Syria from Iraq and the Mediterranean. Based on Combat Mission: Shock Force. Comes with a custom Syria 2008 faction. | [Task Force Thunder.zip](https://github.com/dcs-liberation/dcs_liberation/files/6961313/Task.Force.Thunder.zip) You can (with some effort) use GitHub for file uploads: From f9c5a1141562bbe48fada5f21c5acdba32fa13a1 Mon Sep 17 00:00:00 2001 From: sith1144 <86239928+sith1144@users.noreply.github.com> Date: Tue, 10 Aug 2021 13:48:23 +0200 Subject: [PATCH 466/704] Updated Community campaigns (markdown) --- Community-campaigns.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Community-campaigns.md b/Community-campaigns.md index f21310f..e37d02b 100644 --- a/Community-campaigns.md +++ b/Community-campaigns.md @@ -8,6 +8,7 @@ Syria | Invasion of Israel | 4.1 | Dank Williams | Syrian invasion of Israel dur Persian Gulf | Battle of Hormuz | 4.0 | Kea | Join a coalition of Western allies in a modern campaign to retake control of the Hormuz Strait following a small nuclear strike by Iran against the UAE. | https://drive.google.com/drive/folders/1KKshtuu9upAmF5z6pGHbMCrFVc13FlJ2?usp=sharing Syria | Operation Syrian Salvation | 4.0 | CptBean | Protect the border crossing of Bab-Al Hawa from the Syrian Government, and relieve the country from their oppression by taking the fight all the way to Damascus, with the support of members from CJTF - Operation Inherent Resolve!| [Operation_Syrian_Salvation.zip](https://github.com/dcs-liberation/dcs_liberation/files/6824917/Operation_Syrian_Salvation.zip) Syria | Task Force Thunder | 4.1 | Sith1144 | US Invasion of Syria from Iraq and the Mediterranean. Based on Combat Mission: Shock Force. Comes with a custom Syria 2008 faction. | [Task Force Thunder.zip](https://github.com/dcs-liberation/dcs_liberation/files/6961313/Task.Force.Thunder.zip) +Syria | All Along the Orontes | 4.1 | Sith1144 | Fictional campaign. Drive from Lebanon towards Homs, then follow the Orontes river north, then turn south at its mouth and besiege Latakia. Made to be helicopter-friendly.| [All_Along_the_Orontes.zip](https://github.com/dcs-liberation/dcs_liberation/files/6961403/All_Along_the_Orontes.zip) You can (with some effort) use GitHub for file uploads: From 0d55d9662df5d97cc6a1ea23d359b8cd5d7398db Mon Sep 17 00:00:00 2001 From: Magnus Wolffelt Date: Sat, 14 Aug 2021 18:06:52 +0200 Subject: [PATCH 467/704] Updated Developer's Guide (markdown) --- Developer's-Guide.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Developer's-Guide.md b/Developer's-Guide.md index a1fa059..03abfec 100644 --- a/Developer's-Guide.md +++ b/Developer's-Guide.md @@ -59,6 +59,22 @@ If you're using PyCharm, you can configure the project to use your virtualenv in ## Running from sources +## Windows terminal (using git-bash) + +Set up your virtual env (described above), activate your env, then: + +PYTHONPATH=. python qt_ui/main.py + +### OS X terminal + +Set up your virtual env (described above), activate your env, then: + +``` +PYTHONPATH=. LOCALAPPDATA=. python qt_ui/main.py +``` + +### Running from PyCharm + You can run DCS Liberation from source with this configuration: (Adapt it to your env) ![](https://imgur.com/oXRAZpz.png) From dd298d5f267c3e2e6187050d76078d8ca071083c Mon Sep 17 00:00:00 2001 From: Magnus Wolffelt Date: Sat, 14 Aug 2021 18:12:06 +0200 Subject: [PATCH 468/704] Updated Developer's Guide (markdown) --- Developer's-Guide.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Developer's-Guide.md b/Developer's-Guide.md index 03abfec..e52e080 100644 --- a/Developer's-Guide.md +++ b/Developer's-Guide.md @@ -59,20 +59,22 @@ If you're using PyCharm, you can configure the project to use your virtualenv in ## Running from sources -## Windows terminal (using git-bash) +### Windows terminal (using git-bash) Set up your virtual env (described above), activate your env, then: -PYTHONPATH=. python qt_ui/main.py +PYTHONPATH=. python ./qt_ui/main.py ### OS X terminal Set up your virtual env (described above), activate your env, then: ``` -PYTHONPATH=. LOCALAPPDATA=. python qt_ui/main.py +PYTHONPATH=. LOCALAPPDATA=. python ./qt_ui/main.py ``` +The LOCALAPPDATA=. environment variable will result in settings files being put in a sub folder in your local dev directory. + ### Running from PyCharm You can run DCS Liberation from source with this configuration: (Adapt it to your env) From 7d4627ec46239abcaec8fbe0f71fbaea931da5a6 Mon Sep 17 00:00:00 2001 From: Magnus Wolffelt Date: Sat, 14 Aug 2021 18:15:24 +0200 Subject: [PATCH 469/704] Updated Developer's Guide (markdown) --- Developer's-Guide.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Developer's-Guide.md b/Developer's-Guide.md index e52e080..ae1d082 100644 --- a/Developer's-Guide.md +++ b/Developer's-Guide.md @@ -63,7 +63,9 @@ If you're using PyCharm, you can configure the project to use your virtualenv in Set up your virtual env (described above), activate your env, then: +``` PYTHONPATH=. python ./qt_ui/main.py +``` ### OS X terminal From 9aef11e922a13f04500a831ff8746d01e3f51906 Mon Sep 17 00:00:00 2001 From: Magnus Wolffelt Date: Sat, 14 Aug 2021 18:29:10 +0200 Subject: [PATCH 470/704] Updated Developer's Guide (markdown) --- Developer's-Guide.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Developer's-Guide.md b/Developer's-Guide.md index ae1d082..4daeb3e 100644 --- a/Developer's-Guide.md +++ b/Developer's-Guide.md @@ -81,7 +81,10 @@ The LOCALAPPDATA=. environment variable will result in settings files being put You can run DCS Liberation from source with this configuration: (Adapt it to your env) +TODO: Update pycharm screenshot. + ## Type checkers and linters From d40155a73cf168cb6b6c01f5acadc0a03bbe7f4e Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sun, 15 Aug 2021 22:58:21 -0700 Subject: [PATCH 471/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 39 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index 7d1a735..e63885a 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -18,6 +18,8 @@ Breaking campaign changes to do not get documented on the wiki immediately, but The campaign uses a JSON file to describe some metadata. To create a new campaign, add a JSON file (such as `mycampaign.json`) to `resources\campaigns`. +**Note:** as of DCS Liberation 5 the campaign descriptor file may also be written in YAML with the same structure. + This json file should contain a json object, with the following parameters : * `name`: The name of the campaign that will be shown in the New Game wizard. @@ -26,13 +28,46 @@ This json file should contain a json object, with the following parameters : * `description`: A description of the campaign that will be shown in the New Game wizard. * `version`: The version of the campaign format this campaign was built for. This supports a UI hint in the new game wizard to warn users about campaigns that were built for an incompatible version of the game. - Note that this field is **not** the DCS Liberation version, but the version of the campaign file format. The latest version is defined by `CAMPAIGN_FORMAT_VERSION` in [game/version.py](https://github.com/Khopa/dcs_liberation/blob/develop/game/version.py). **For DCS Liberation 3.0 the campaign version is 6.0.** + Note that this field is **not** the DCS Liberation version, but the version of the campaign file format. The latest version is defined by `CAMPAIGN_FORMAT_VERSION` in [game/version.py](https://github.com/Khopa/dcs_liberation/blob/develop/game/version.py). **For DCS Liberation 4.1 the campaign version is 8.0.** If `version` is not set or is `"0"`, the campaign is from an unknown version of the game and will be marked as incompatible in the new game wizard. * `recommended_player_faction`: The recommended player faction (will be automatically selected by default on the faction selection page) * `recommended_enemy_faction`: The recommended enemy faction (will be automatically selected by default on the faction selection page) * `miz`: The name of the miz file (in the same `resources\campaigns` directory) that describes the campaign. * `performance`: How much performance your campaign need to run smoothly (3 for biggest scenarios that will have huge impact on game performance, 0 for the smallest, performance-friendly scenarios) +* `squadrons`: Defines the default squadron configuration at the beginning of the campaign. Explained in the next section. + +### Squadron configuration + +**This feature is new in DCS Liberation 5 with campaign version 9.0** + +In DCS Liberation 5 campaigns define the starting squadron configuration for each coalition using the `squadrons` field of their campaign description. This field has the following format: + +``` +"squadrons": { + BASE_NAME_OR_ID: [ + { + "primary": PRIMARY_TASK, + "secondary": SECONDARY_TASKS, + "aircraft": PREFERRED_AIRCRAFT + }, + ... + ] +} +``` + +* `BASE_NAME_OR_ID`: The name of the base (in the case of a FOB, LHA, or CV) as defined by the group in the campaign miz file, or the ID number of the airfield as defined by pydcs. For example, [the ID of Anapa-Vityazevo is 12](https://github.com/pydcs/dcs/blob/4b3eb77507de6c4796251830682e154c4710da82/dcs/terrain/caucasus.py#L9). Refer to the pydcs source for airbase ID numbers. +* `PRIMARY_TASK`: Defines the primary task type for the squadron. If none of the preferred aircraft are available, a squadron will be generated using an aircraft that is capable of at least the primary task type. The allowed values here are the same as the values of the task types in `FlightType` found in https://github.com/dcs-liberation/dcs_liberation/blob/develop/gen/flights/flight.py (the same as the name of the mission type shown in the Liberation UI). +* `SECONDARY_TASKS`: Defines secondary tasks that the squadron will be allowed to perform if the squadron is capable of them. This can be either the literal strings `any`, `air-to-air`, or `air-to-ground`, or a list of specific task types. This property is optional. If not specified the auto-planner will only assign those squadrons to the primary task type. +* `PREFERRED_AIRCRAFT`: A list of either aircraft type names (using the same names as [custom factions](https://github.com/dcs-liberation/dcs_liberation/wiki/Custom-Factions)), or a list of squadron names. Each name will be tried in order and the first option valid for the coalition will be selected. If no preferred aircraft are compatible with the coalition, a squadron will be automatically generated based on `PRIMARY_TASK`. + +For a complete example, see the [Black Sea campaign description](https://github.com/dcs-liberation/dcs_liberation/blob/develop/resources/campaigns/black_sea.yaml). + +When choosing preferred aircraft, although the property is optional, it is best to pick at list at least one aircraft that is valid for the default faction configuration of your campaign to ensure that your campaign's out-of-the-box behavior works as you expect. You can list *any* aircraft here if you want to cater to non-default factions. For example, if your default faction for the player is USA 2005 but you want to provide good defaults for Russia, you can use `"aircraft": ["F-15C Eagle", "Su-27 Flanker-B"]` and the squadron will fly F-15s when the US is chosen and Su-27s when Russia is chosen. + +**Not every airbase needs squadrons.** Use the positioning, quantity, and roles of each squadron to control the size and pace of your campaign. You don't need to provide a squadron for every aircraft type, but in general you should ensure that a squadron is capable of the major task types (BARCAP, CAS, SEAD, Transport, AEW&C, and Refueling). Players can customize their squadrons at game start (note: it currently is not possible to *add* squadrons or change aircraft types, but squadrons can be removed at game start and task preferences may be changed at will), so it is most important that you set up your default squadrons the way that makes the most sense for your campaign. + +A best practice to follow is to set up one base per side as a transit hub. This is preferably a large airfield near the rear of the conflict (not easily captured or destroyed), that has the ability to produce ground units (has a factory), has a cargo aircraft squadron, and optionally has a port. Depending on the location of this base it may also be a good home for AEW&C and refueling squadrons (and a BARCAP squadron to defend those other squadrons). ## Designing campaigns in the mission editor @@ -55,6 +90,8 @@ To create an LHA, follow the same process but place an LHA-1. Note that the presence of the carrier or LHA in the game will depend on the player's options and the faction's navy. +**New in DCS Liberation 5:** Campaign version 9.0 uses the carrier or LHA's group name to determine which squadrons should be located at the base by default. See the earlier section about squadron presets for more information. + #### Off-map spawns To create a point where aircraft from other theaters can be spawned into the mission in-air, place an F-15C. As with carriers and LHAs, use CJTF Red or Blue to assign the point to either faction. From e608de8559d9d3d5c82c217bdb8736ebba0c9eaf Mon Sep 17 00:00:00 2001 From: Furia139 Date: Sat, 4 Sep 2021 13:20:59 +0200 Subject: [PATCH 472/704] Updated Squadrons and pilots (markdown) --- Squadrons-and-pilots.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Squadrons-and-pilots.md b/Squadrons-and-pilots.md index 1b01fbd..9573264 100644 --- a/Squadrons-and-pilots.md +++ b/Squadrons-and-pilots.md @@ -144,4 +144,8 @@ This can be used for creating Marine Hornet squadrons as in the example above. ### Generated squadrons -A squadron will be generated for any aircraft that does not have any predefined squadrons available. \ No newline at end of file +A squadron will be generated for any aircraft that does not have any predefined squadrons available. + +**Note for upcoming version 5.x** + +The Squadron file should **NOT** contain the lines related to Pilots, Players or Bases. If you are using a customized squadron yaml file created before 5.0, remove the lines related to Pilots, Players and Bases since this is now managed by Liberation in a different way the the files containing that data would generate an error. \ No newline at end of file From a3093b1a1ffca0f3f93524a96e81822b1a11e1d6 Mon Sep 17 00:00:00 2001 From: Furia139 Date: Sat, 4 Sep 2021 13:22:51 +0200 Subject: [PATCH 473/704] Updated Squadrons and pilots (markdown) --- Squadrons-and-pilots.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Squadrons-and-pilots.md b/Squadrons-and-pilots.md index 9573264..accc66b 100644 --- a/Squadrons-and-pilots.md +++ b/Squadrons-and-pilots.md @@ -148,4 +148,4 @@ A squadron will be generated for any aircraft that does not have any predefined **Note for upcoming version 5.x** -The Squadron file should **NOT** contain the lines related to Pilots, Players or Bases. If you are using a customized squadron yaml file created before 5.0, remove the lines related to Pilots, Players and Bases since this is now managed by Liberation in a different way the the files containing that data would generate an error. \ No newline at end of file +The Squadron file should **NOT** contain the lines related to Pilots, Players or Bases. If you are using a customized squadron yaml file created before 5.0, remove the lines related to Pilots, Players and Bases since this is now managed by Liberation in a different way and the the files containing that data would generate an error. \ No newline at end of file From 80b16299905521c38113d93738c525b7c2d27083 Mon Sep 17 00:00:00 2001 From: MetalStormGhost <89945461+MetalStormGhost@users.noreply.github.com> Date: Sun, 5 Sep 2021 12:12:56 +0300 Subject: [PATCH 474/704] Updated the PyCharm screenshot, now includes the Python interpreter path pointing to the virtual env and omits PYTHONPATH --- Developer's-Guide.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/Developer's-Guide.md b/Developer's-Guide.md index 4daeb3e..c84289d 100644 --- a/Developer's-Guide.md +++ b/Developer's-Guide.md @@ -81,10 +81,7 @@ The LOCALAPPDATA=. environment variable will result in settings files being put You can run DCS Liberation from source with this configuration: (Adapt it to your env) -TODO: Update pycharm screenshot. - +https://user-images.githubusercontent.com/89945461/132121682-0c48c318-dd70-4d82-a506-fd62be241403.png ## Type checkers and linters From c75b9964465697e52aa66f9d2ea2624c70299f4e Mon Sep 17 00:00:00 2001 From: MetalStormGhost <89945461+MetalStormGhost@users.noreply.github.com> Date: Sun, 5 Sep 2021 12:13:48 +0300 Subject: [PATCH 475/704] Updated Developer's Guide (markdown) --- Developer's-Guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Developer's-Guide.md b/Developer's-Guide.md index c84289d..b965bf7 100644 --- a/Developer's-Guide.md +++ b/Developer's-Guide.md @@ -81,7 +81,7 @@ The LOCALAPPDATA=. environment variable will result in settings files being put You can run DCS Liberation from source with this configuration: (Adapt it to your env) -https://user-images.githubusercontent.com/89945461/132121682-0c48c318-dd70-4d82-a506-fd62be241403.png +![PyCharm run configuration](https://user-images.githubusercontent.com/89945461/132121682-0c48c318-dd70-4d82-a506-fd62be241403.png) ## Type checkers and linters From a5de134846b390766be5d4dcc70f83641b881dae Mon Sep 17 00:00:00 2001 From: sgtfuzzle17 <49757384+sgtfuzzle17@users.noreply.github.com> Date: Thu, 16 Sep 2021 18:49:45 +1000 Subject: [PATCH 476/704] Updated Community campaigns (markdown) --- Community-campaigns.md | 1 - 1 file changed, 1 deletion(-) diff --git a/Community-campaigns.md b/Community-campaigns.md index e37d02b..47a6f02 100644 --- a/Community-campaigns.md +++ b/Community-campaigns.md @@ -3,7 +3,6 @@ This is a list of campaigns created by the community. Feel free to edit this pag Map | Campaign name | Liberation version | Author | Description | Download link --- | --- | --- | --- | --- | --- Caucasus | Some campaign | 2.5 | Someone | Describe your campaign. Include a screenshot if you want. Is it large or small? What part of the map does it take place on? | Upload your mission to a file sharing service and share the link here -Syria | Operation Allied Sword | 2.5 | Fuzzle | A Syrian-Lebanese joint force has attacked Israel, attempting to cross the northern border. With the arrival of a US carrier group, Israel prepares its counterattack. BLUFOR must push from Ramat David north, with a split route inland for land-based and a coastal route for naval aircraft. Mid-size. Includes a custom faction file with livery overrides. | https://drive.google.com/file/d/17JH6X1dykYigB0v7DGkP7HCwNi5vzxtl/view?usp=sharing Syria | Invasion of Israel | 4.1 | Dank Williams | Syrian invasion of Israel during the Yom Kippur War. Inversion not supported. | [invasion_of_israel.zip](https://github.com/dcs-liberation/dcs_liberation/files/6951649/invasion_of_israel.zip) Persian Gulf | Battle of Hormuz | 4.0 | Kea | Join a coalition of Western allies in a modern campaign to retake control of the Hormuz Strait following a small nuclear strike by Iran against the UAE. | https://drive.google.com/drive/folders/1KKshtuu9upAmF5z6pGHbMCrFVc13FlJ2?usp=sharing Syria | Operation Syrian Salvation | 4.0 | CptBean | Protect the border crossing of Bab-Al Hawa from the Syrian Government, and relieve the country from their oppression by taking the fight all the way to Damascus, with the support of members from CJTF - Operation Inherent Resolve!| [Operation_Syrian_Salvation.zip](https://github.com/dcs-liberation/dcs_liberation/files/6824917/Operation_Syrian_Salvation.zip) From b2679c86673cc8d775145c189c5e169bf989ad2b Mon Sep 17 00:00:00 2001 From: MetalStormGhost <89945461+MetalStormGhost@users.noreply.github.com> Date: Thu, 16 Sep 2021 21:14:55 +0300 Subject: [PATCH 477/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 83 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index e63885a..b5a780b 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -69,6 +69,89 @@ When choosing preferred aircraft, although the property is optional, it is best A best practice to follow is to set up one base per side as a transit hub. This is preferably a large airfield near the rear of the conflict (not easily captured or destroyed), that has the ability to produce ground units (has a factory), has a cargo aircraft squadron, and optionally has a port. Depending on the location of this base it may also be a good home for AEW&C and refueling squadrons (and a BARCAP squadron to defend those other squadrons). +### Common issues with a custom campaign yaml file and their solutions + +#### 'air-to-ground' is not a valid FlightType + +![image](https://user-images.githubusercontent.com/89945461/133662181-aa9295d5-f9cb-4c63-9f24-f5e507164d6d.png) + +The following tasks can only be set as secondary tasks, not primary ones: +* air-to-air +* air-to-ground + +Incorrect: +``` + - primary: air-to-ground + secondary: any + aircraft: + - VFA-113 +``` + +Correct: +``` + - primary: SEAD + secondary: air-to-ground + aircraft: + - VFA-113 +``` + +#### 'primary' + +![image](https://user-images.githubusercontent.com/89945461/133662665-4d2a9227-5964-40ad-9430-9e24b4cb727c.png) + +The yaml file contains a dash before 'secondary' or other field which is not 'primary'. + +Incorrect: +``` + - primary: SEAD + - secondary: air-to-ground + aircraft: + - VFA-113 +``` + +Correct: +``` + - primary: SEAD + secondary: air-to-ground + aircraft: + - VFA-113 +``` + +#### <: Naval-1> + +![image](https://user-images.githubusercontent.com/89945461/133663057-aa241157-9f8b-4271-8022-04657f0c6dfb.png) + +The yaml file doesn't have squadrons defined. + +#### 'NoneType' object is not iterable + +![image](https://user-images.githubusercontent.com/89945461/133663441-4834937d-b529-4d99-aa17-5bfa6bdd239b.png) + +The campaign yaml file contains a squadron with an 'aircraft' block, but no aircraft (or squadrons). + +Incorrect: +``` + - primary: SEAD + secondary: air-to-ground + aircraft: + - primary: BAI + secondary: any + aircraft: + - VMFA-251 +``` + +Correct: +``` + - primary: SEAD + secondary: air-to-ground + aircraft: + - VFA-113 + - primary: BAI + secondary: any + aircraft: + - VMFA-251 +``` + ## Designing campaigns in the mission editor When creating a campaign it may be easiest to start with an existing campaign in the same theater and modify it to suit your needs. If starting from scratch, ensure that Combined Joint Task Forces Blue and Combined Joint Task Forces Red are assigned to the blue and red coalitions respectively, as these will be used to define many of the campaigns properties. From b22094df8296719c9d5b1a03b3f99d104c15601c Mon Sep 17 00:00:00 2001 From: MetalStormGhost <89945461+MetalStormGhost@users.noreply.github.com> Date: Thu, 16 Sep 2021 21:21:54 +0300 Subject: [PATCH 478/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index b5a780b..0af92f5 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -152,6 +152,38 @@ Correct: - VMFA-251 ``` +#### 'Cannot find ControlPoint named Carrier' + +![image](https://user-images.githubusercontent.com/89945461/133664442-823d7841-1bc6-43b6-a733-cc157232ec38.png) + +Incorrect: +``` +# Stennis object in the .miz file is called "Blue CV" + Carrier: + - primary: BARCAP + secondary: air-to-air + aircraft: + - F-14B Tomcat + - primary: BARCAP + secondary: any + aircraft: + - F-14B Tomcat +``` + +Correct: +``` +# Stennis object in the .miz file is called "Blue CV" + Blue CV: + - primary: BARCAP + secondary: air-to-air + aircraft: + - F-14B Tomcat + - primary: BARCAP + secondary: any + aircraft: + - F-14B Tomcat +``` + ## Designing campaigns in the mission editor When creating a campaign it may be easiest to start with an existing campaign in the same theater and modify it to suit your needs. If starting from scratch, ensure that Combined Joint Task Forces Blue and Combined Joint Task Forces Red are assigned to the blue and red coalitions respectively, as these will be used to define many of the campaigns properties. From 849b855221d121355c84e928999ee9c30c12a3b1 Mon Sep 17 00:00:00 2001 From: MetalStormGhost <89945461+MetalStormGhost@users.noreply.github.com> Date: Thu, 16 Sep 2021 21:23:07 +0300 Subject: [PATCH 479/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index 0af92f5..aa3f3b9 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -109,6 +109,14 @@ Incorrect: - VFA-113 ``` +Incorrect: +``` + - primary: SEAD + secondary: air-to-ground + - aircraft: + - VFA-113 +``` + Correct: ``` - primary: SEAD From c7d308c1973bd330a5a63f805925d50abbdf3e2b Mon Sep 17 00:00:00 2001 From: Starfire13 <72491792+Starfire13@users.noreply.github.com> Date: Mon, 11 Oct 2021 18:53:42 +1100 Subject: [PATCH 480/704] Updated Custom Loadouts (markdown) --- Custom-Loadouts.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Custom-Loadouts.md b/Custom-Loadouts.md index 43d0832..ac0f86d 100644 --- a/Custom-Loadouts.md +++ b/Custom-Loadouts.md @@ -4,6 +4,7 @@ All DCS loadout are selectable from the flight edit UI. To create custom default loadouts, create a loadout for the aircraft in the DCS mission editor. Name the loadout `Liberation `, where `` is the exact name of the mission type shown in the UI. For example, "Liberation OCA/Aircraft". +Note: If you do not create a loadout for a specific mission type, that is fine. Liberation will simply revert to using the included defaults. ##### [DEPRECATED] Custom Loadouts for _before_ Liberation 3.0 From fc93e0d0605b6c5662a0e57f1229c72e589cc3e1 Mon Sep 17 00:00:00 2001 From: Starfire13 <72491792+Starfire13@users.noreply.github.com> Date: Mon, 11 Oct 2021 18:54:07 +1100 Subject: [PATCH 481/704] Updated Custom Loadouts (markdown) --- Custom-Loadouts.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Custom-Loadouts.md b/Custom-Loadouts.md index ac0f86d..be88717 100644 --- a/Custom-Loadouts.md +++ b/Custom-Loadouts.md @@ -4,7 +4,7 @@ All DCS loadout are selectable from the flight edit UI. To create custom default loadouts, create a loadout for the aircraft in the DCS mission editor. Name the loadout `Liberation `, where `` is the exact name of the mission type shown in the UI. For example, "Liberation OCA/Aircraft". -Note: If you do not create a loadout for a specific mission type, that is fine. Liberation will simply revert to using the included defaults. + * Note: If you do not create a loadout for a specific mission type, that is fine. Liberation will simply revert to using the included defaults. ##### [DEPRECATED] Custom Loadouts for _before_ Liberation 3.0 From aa09816f2cde07a4b0763ac7052299ac395f6d5a Mon Sep 17 00:00:00 2001 From: Starfire13 <72491792+Starfire13@users.noreply.github.com> Date: Mon, 11 Oct 2021 18:54:19 +1100 Subject: [PATCH 482/704] Updated Custom Loadouts (markdown) --- Custom-Loadouts.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Custom-Loadouts.md b/Custom-Loadouts.md index be88717..ca9c8c1 100644 --- a/Custom-Loadouts.md +++ b/Custom-Loadouts.md @@ -4,7 +4,7 @@ All DCS loadout are selectable from the flight edit UI. To create custom default loadouts, create a loadout for the aircraft in the DCS mission editor. Name the loadout `Liberation `, where `` is the exact name of the mission type shown in the UI. For example, "Liberation OCA/Aircraft". - * Note: If you do not create a loadout for a specific mission type, that is fine. Liberation will simply revert to using the included defaults. + * Note: If you do not create a loadout for a specific mission type, that is fine. Liberation will simply revert to using the included defaults. ##### [DEPRECATED] Custom Loadouts for _before_ Liberation 3.0 From 648d26df2bc5ff07568f298ae6d6f6f9bad7e6ff Mon Sep 17 00:00:00 2001 From: "C. Perreau" Date: Tue, 12 Oct 2021 22:19:51 +0200 Subject: [PATCH 483/704] Updated Custom Factions (markdown) --- Custom-Factions.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Custom-Factions.md b/Custom-Factions.md index 15364c9..30f25ca 100644 --- a/Custom-Factions.md +++ b/Custom-Factions.md @@ -197,6 +197,7 @@ Below is an example of a factions file : * *FlakGenerator* * *SA2Generator* * *SA3Generator* +* *SA5Generator* * *SA6Generator* * *SA8Generator* * *SA9Generator* From 1035a2d944816f1024aec50a90db2633795f9cdf Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sun, 17 Oct 2021 17:40:14 -0700 Subject: [PATCH 484/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index aa3f3b9..f22b5d3 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -31,8 +31,9 @@ This json file should contain a json object, with the following parameters : Note that this field is **not** the DCS Liberation version, but the version of the campaign file format. The latest version is defined by `CAMPAIGN_FORMAT_VERSION` in [game/version.py](https://github.com/Khopa/dcs_liberation/blob/develop/game/version.py). **For DCS Liberation 4.1 the campaign version is 8.0.** If `version` is not set or is `"0"`, the campaign is from an unknown version of the game and will be marked as incompatible in the new game wizard. -* `recommended_player_faction`: The recommended player faction (will be automatically selected by default on the faction selection page) -* `recommended_enemy_faction`: The recommended enemy faction (will be automatically selected by default on the faction selection page) +* `recommended_player_faction`: (Optional) The recommended player faction (will be automatically selected by default on the faction selection page) +* `recommended_enemy_faction`: (Optional) The recommended enemy faction (will be automatically selected by default on the faction selection page) +* `recommended_start_date`: (Optional) The recommended start date for the campaign in YYYY-MM-DD format. **New in campaign version 9.1.** * `miz`: The name of the miz file (in the same `resources\campaigns` directory) that describes the campaign. * `performance`: How much performance your campaign need to run smoothly (3 for biggest scenarios that will have huge impact on game performance, 0 for the smallest, performance-friendly scenarios) * `squadrons`: Defines the default squadron configuration at the beginning of the campaign. Explained in the next section. From cfcb81dfed458005b89ecc5024f59bd87d2bce92 Mon Sep 17 00:00:00 2001 From: MetalStormGhost <89945461+MetalStormGhost@users.noreply.github.com> Date: Thu, 28 Oct 2021 20:01:25 +0300 Subject: [PATCH 485/704] Updated Custom Factions (markdown) --- Custom-Factions.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Custom-Factions.md b/Custom-Factions.md index 30f25ca..a698ea8 100644 --- a/Custom-Factions.md +++ b/Custom-Factions.md @@ -47,6 +47,7 @@ This json file should contain a json object, with the following parameters : * **doctrine** : Either "modern" for modern doctrine, "coldwar" for coldwar doctrine, or "ww2" for WW2 doctrine. Doctrine controls the altitude of flights and other flight planner AI parameters. * **building_set** : Either "default" for default set, "ww2ally" for WW2 ally buildings, "ww2germany" for WW2 german building or "ww2free" for a ww2 building set that does not require the WW2 asset pack. * **liveries_overrides** : List of aircraft and liveries to set. It is possible to have multiple liveries for aircraft, and Liberation will pick one out of the list randomly. The livery must be available to the country set in order to appear. If the livery doesn't show up in Mission Editor for that country, it won't show up in your Liberation mission either. +* **unrestricted_satnav** : Enable this option to allow unrestricted SATNAV in the mission. This will allow the use of GPS by non-US countries, e.g. non-US F/A-18s will be able to use GPS for alignment. Set as either _true_ or _false_ **Note :** From 680a9cf5419eaabad4e06a5eba782eba45dc9017 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Thu, 28 Oct 2021 10:03:47 -0700 Subject: [PATCH 486/704] Updated Custom Factions (markdown) --- Custom-Factions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Custom-Factions.md b/Custom-Factions.md index a698ea8..5a01bc8 100644 --- a/Custom-Factions.md +++ b/Custom-Factions.md @@ -47,7 +47,7 @@ This json file should contain a json object, with the following parameters : * **doctrine** : Either "modern" for modern doctrine, "coldwar" for coldwar doctrine, or "ww2" for WW2 doctrine. Doctrine controls the altitude of flights and other flight planner AI parameters. * **building_set** : Either "default" for default set, "ww2ally" for WW2 ally buildings, "ww2germany" for WW2 german building or "ww2free" for a ww2 building set that does not require the WW2 asset pack. * **liveries_overrides** : List of aircraft and liveries to set. It is possible to have multiple liveries for aircraft, and Liberation will pick one out of the list randomly. The livery must be available to the country set in order to appear. If the livery doesn't show up in Mission Editor for that country, it won't show up in your Liberation mission either. -* **unrestricted_satnav** : Enable this option to allow unrestricted SATNAV in the mission. This will allow the use of GPS by non-US countries, e.g. non-US F/A-18s will be able to use GPS for alignment. Set as either _true_ or _false_ +* **unrestricted_satnav** : Enable this option to allow unrestricted SATNAV in the mission. This will allow the use of GPS by non-US countries, e.g. non-US F/A-18s will be able to use GPS for alignment. This value is optional and may be either `true` or `false`. If not set this defaults to `false`. **Note :** From 7b3a0a2795e48dcd09eeef01a16e8748706846da Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sat, 30 Oct 2021 15:12:57 -0700 Subject: [PATCH 487/704] Updated Preview builds (markdown) --- Preview-builds.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Preview-builds.md b/Preview-builds.md index e0e0a75..578f2b8 100644 --- a/Preview-builds.md +++ b/Preview-builds.md @@ -2,4 +2,4 @@ The latest build of the development branch can be found [here](https://github.co **This is a development branch. Sometimes we break things, and plenty of things will be works in progress. Save games may not work across builds, and you should back up any save games you don't want to lose before loading them with a development build.** -The latest builds of the 4.x release can be found [here](https://github.com/dcs-liberation/dcs_liberation/actions/workflows/build.yml?query=branch%3Adevelop-4.x+event%3Apush). Unlike the main branch, saves _should_ remain compatible with saves from prior versions of 4.x. However, check the date of the build before downloading, as the build on this page may be older than the released version. \ No newline at end of file +The latest builds of the 5.x release can be found [here](https://github.com/dcs-liberation/dcs_liberation/actions/workflows/build.yml?query=branch%3Adevelop-5.0+event%3Apush). Unlike the main branch, saves _should_ remain compatible with saves from prior versions of 5.x. However, check the date of the build before downloading, as the build on this page may be older than the released version. \ No newline at end of file From a480a49a3a7e3ff440d0265f856bca127cffc63b Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Tue, 9 Nov 2021 12:33:24 +0100 Subject: [PATCH 488/704] Updated Tutorial 01 : UI (markdown) --- Tutorial-01-:-UI.md => Tutorial-01---UI.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Tutorial-01-:-UI.md => Tutorial-01---UI.md (100%) diff --git a/Tutorial-01-:-UI.md b/Tutorial-01---UI.md similarity index 100% rename from Tutorial-01-:-UI.md rename to Tutorial-01---UI.md From fef284f725f3d407a983463e61aa5736cc7ebfaa Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Tue, 9 Nov 2021 12:33:57 +0100 Subject: [PATCH 489/704] Updated Tutorial 02: Turn Zero (markdown) --- Tutorial-02:-Turn-Zero.md => Tutorial-02---Turn-Zero.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Tutorial-02:-Turn-Zero.md => Tutorial-02---Turn-Zero.md (100%) diff --git a/Tutorial-02:-Turn-Zero.md b/Tutorial-02---Turn-Zero.md similarity index 100% rename from Tutorial-02:-Turn-Zero.md rename to Tutorial-02---Turn-Zero.md From 8c8b2a211481866d7cd64baba446e15c61619efc Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Tue, 9 Nov 2021 12:35:17 +0100 Subject: [PATCH 490/704] Updated _Sidebar (markdown) --- _Sidebar.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_Sidebar.md b/_Sidebar.md index 25cd8dc..d5bca81 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -2,7 +2,7 @@ [Getting Started](Getting-started) -[1 - DCS Liberation UI](https://github.com/Khopa/dcs_liberation/wiki/Tutorial-01-:-UI) +[1 - DCS Liberation UI](https://github.com/dcs-liberation/dcs_liberation/wiki/Tutorial-01---UI) [2 - Turn Zero](https://github.com/dcs-liberation/dcs_liberation/wiki/Tutorial-02:-Turn-Zero) From 1ff9611bbf1795a9b3ca3353a40f02df077fde2d Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Tue, 9 Nov 2021 12:36:27 +0100 Subject: [PATCH 491/704] Updated Tutorial 03: First operation (markdown) --- ...ial-03:-First-operation.md => Tutorial-03---First-operation.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Tutorial-03:-First-operation.md => Tutorial-03---First-operation.md (100%) diff --git a/Tutorial-03:-First-operation.md b/Tutorial-03---First-operation.md similarity index 100% rename from Tutorial-03:-First-operation.md rename to Tutorial-03---First-operation.md From 2a94ba9d91d2b06b24fdb2ba240ba49bad420ef0 Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Tue, 9 Nov 2021 12:36:49 +0100 Subject: [PATCH 492/704] Updated Tutorial 04 : Setting up a custom "Strike" mission (markdown) --- ..." => "Tutorial-04---Setting-up-a-custom-\"Strike\"-mission.md" | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename "Tutorial-04-:-Setting-up-a-custom-\"Strike\"-mission.md" => "Tutorial-04---Setting-up-a-custom-\"Strike\"-mission.md" (100%) diff --git "a/Tutorial-04-:-Setting-up-a-custom-\"Strike\"-mission.md" "b/Tutorial-04---Setting-up-a-custom-\"Strike\"-mission.md" similarity index 100% rename from "Tutorial-04-:-Setting-up-a-custom-\"Strike\"-mission.md" rename to "Tutorial-04---Setting-up-a-custom-\"Strike\"-mission.md" From c6c865783b8b1e4c24c892e4641829ee08ae3972 Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Tue, 9 Nov 2021 12:37:16 +0100 Subject: [PATCH 493/704] Updated Tutorial: Battle of Abu Dhabi Play Through (markdown) --- ...y-Through.md => Tutorial---Battle-of-Abu-Dhabi-Play-Through.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md => Tutorial---Battle-of-Abu-Dhabi-Play-Through.md (100%) diff --git a/Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md b/Tutorial---Battle-of-Abu-Dhabi-Play-Through.md similarity index 100% rename from Tutorial:-Battle-of-Abu-Dhabi-Play-Through.md rename to Tutorial---Battle-of-Abu-Dhabi-Play-Through.md From 6fa409595f524e8b0720f6e61a744d3ee771b031 Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Tue, 9 Nov 2021 12:37:33 +0100 Subject: [PATCH 494/704] Updated _Sidebar (markdown) --- _Sidebar.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/_Sidebar.md b/_Sidebar.md index d5bca81..b4f2362 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -4,13 +4,13 @@ [1 - DCS Liberation UI](https://github.com/dcs-liberation/dcs_liberation/wiki/Tutorial-01---UI) -[2 - Turn Zero](https://github.com/dcs-liberation/dcs_liberation/wiki/Tutorial-02:-Turn-Zero) +[2 - Turn Zero](https://github.com/dcs-liberation/dcs_liberation/wiki/Tutorial-02---Turn-Zero) -[3 - First operation](https://github.com/dcs-liberation/dcs_liberation/wiki/Tutorial-03:-First-operation) +[3 - First operation](https://github.com/dcs-liberation/dcs_liberation/wiki/Tutorial-03---First-operation) -[4 - Setting up a custom Strike mission](https://github.com/dcs-liberation/dcs_liberation/wiki/Tutorial-04-:-Setting-up-a-custom-%22Strike%22-mission) +[4 - Setting up a custom Strike mission](https://github.com/dcs-liberation/dcs_liberation/wiki/Tutorial-04---Setting-up-a-custom-%22Strike%22-mission) -[5 - "Battle of Abu Dhabi" Play Through Tutorial](https://github.com/dcs-liberation/dcs_liberation/wiki/Tutorial%3A-Battle-of-Abu-Dhabi-Play-Through) +[5 - "Battle of Abu Dhabi" Play Through Tutorial](https://github.com/dcs-liberation/dcs_liberation/wiki/Tutorial---Battle-of-Abu-Dhabi-Play-Through) ## Manual From 3c71e21cd43f8922690ceb9a53f9b1f9a862b98c Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Tue, 9 Nov 2021 12:38:58 +0100 Subject: [PATCH 495/704] Updated Tutorial 04 Setting up a custom "Strike" mission (markdown) --- ...sion.md" => Tutorial-04--Setting-up-a-custom-Strike-mission.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename "Tutorial-04---Setting-up-a-custom-\"Strike\"-mission.md" => Tutorial-04--Setting-up-a-custom-Strike-mission.md (100%) diff --git "a/Tutorial-04---Setting-up-a-custom-\"Strike\"-mission.md" b/Tutorial-04--Setting-up-a-custom-Strike-mission.md similarity index 100% rename from "Tutorial-04---Setting-up-a-custom-\"Strike\"-mission.md" rename to Tutorial-04--Setting-up-a-custom-Strike-mission.md From 225bb8f342224bedc27511a9a8b3a07834343a47 Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Tue, 9 Nov 2021 12:39:16 +0100 Subject: [PATCH 496/704] Updated _Sidebar (markdown) --- _Sidebar.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_Sidebar.md b/_Sidebar.md index b4f2362..785558d 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -8,7 +8,7 @@ [3 - First operation](https://github.com/dcs-liberation/dcs_liberation/wiki/Tutorial-03---First-operation) -[4 - Setting up a custom Strike mission](https://github.com/dcs-liberation/dcs_liberation/wiki/Tutorial-04---Setting-up-a-custom-%22Strike%22-mission) +[4 - Setting up a custom Strike mission](https://github.com/dcs-liberation/dcs_liberation/wiki/Tutorial-04--Setting-up-a-custom-Strike-mission) [5 - "Battle of Abu Dhabi" Play Through Tutorial](https://github.com/dcs-liberation/dcs_liberation/wiki/Tutorial---Battle-of-Abu-Dhabi-Play-Through) From 576a2c99f4e74ee28afb81b2830d86ee4c900ed7 Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Tue, 9 Nov 2021 13:02:39 +0100 Subject: [PATCH 497/704] Updated Tutorial Battle of Abu Dhabi Play Through (markdown) --- ...lay-Through.md => Campaign-Battle-of-Abu-Dhabi-Play-Through.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Tutorial---Battle-of-Abu-Dhabi-Play-Through.md => Campaign-Battle-of-Abu-Dhabi-Play-Through.md (100%) diff --git a/Tutorial---Battle-of-Abu-Dhabi-Play-Through.md b/Campaign-Battle-of-Abu-Dhabi-Play-Through.md similarity index 100% rename from Tutorial---Battle-of-Abu-Dhabi-Play-Through.md rename to Campaign-Battle-of-Abu-Dhabi-Play-Through.md From 904807d60559fa9138d0d865fcc1e1d86e7890ab Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Tue, 9 Nov 2021 13:02:40 +0100 Subject: [PATCH 498/704] Updated Tutorial 04 Setting up a custom Strike mission (markdown) --- ...tom-Strike-mission.md => Setting-up-a-custom-Strike-mission.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Tutorial-04--Setting-up-a-custom-Strike-mission.md => Setting-up-a-custom-Strike-mission.md (100%) diff --git a/Tutorial-04--Setting-up-a-custom-Strike-mission.md b/Setting-up-a-custom-Strike-mission.md similarity index 100% rename from Tutorial-04--Setting-up-a-custom-Strike-mission.md rename to Setting-up-a-custom-Strike-mission.md From 62261896949cf042e65d216d833260fd7fa68bdf Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Tue, 9 Nov 2021 13:02:42 +0100 Subject: [PATCH 499/704] Updated Tutorial 03 First operation (markdown) --- Tutorial-03---First-operation.md => First-operation.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Tutorial-03---First-operation.md => First-operation.md (100%) diff --git a/Tutorial-03---First-operation.md b/First-operation.md similarity index 100% rename from Tutorial-03---First-operation.md rename to First-operation.md From e3288528365ea47624ff0c4aba4da2e4773b0a38 Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Tue, 9 Nov 2021 13:02:44 +0100 Subject: [PATCH 500/704] Updated Tutorial 02 Turn Zero (markdown) --- Tutorial-02---Turn-Zero.md => Turn-Zero.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Tutorial-02---Turn-Zero.md => Turn-Zero.md (100%) diff --git a/Tutorial-02---Turn-Zero.md b/Turn-Zero.md similarity index 100% rename from Tutorial-02---Turn-Zero.md rename to Turn-Zero.md From d3bb341062cdc15da2cfdd44b0845dafd58b8992 Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Tue, 9 Nov 2021 13:02:45 +0100 Subject: [PATCH 501/704] Updated Tutorial 01 UI (markdown) --- Tutorial-01---UI.md => DCS-Liberation-UI.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Tutorial-01---UI.md => DCS-Liberation-UI.md (100%) diff --git a/Tutorial-01---UI.md b/DCS-Liberation-UI.md similarity index 100% rename from Tutorial-01---UI.md rename to DCS-Liberation-UI.md From 7b6e9a61e7df810802be1d571c387837fa1e57dc Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Tue, 9 Nov 2021 13:04:02 +0100 Subject: [PATCH 502/704] Updated _Sidebar (markdown) --- _Sidebar.md | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/_Sidebar.md b/_Sidebar.md index 785558d..1c06de3 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -2,15 +2,11 @@ [Getting Started](Getting-started) -[1 - DCS Liberation UI](https://github.com/dcs-liberation/dcs_liberation/wiki/Tutorial-01---UI) - -[2 - Turn Zero](https://github.com/dcs-liberation/dcs_liberation/wiki/Tutorial-02---Turn-Zero) - -[3 - First operation](https://github.com/dcs-liberation/dcs_liberation/wiki/Tutorial-03---First-operation) - -[4 - Setting up a custom Strike mission](https://github.com/dcs-liberation/dcs_liberation/wiki/Tutorial-04--Setting-up-a-custom-Strike-mission) - -[5 - "Battle of Abu Dhabi" Play Through Tutorial](https://github.com/dcs-liberation/dcs_liberation/wiki/Tutorial---Battle-of-Abu-Dhabi-Play-Through) +1. [DCS Liberation UI](https://github.com/dcs-liberation/dcs_liberation/wiki/DCS-Liberation-UI) +2. [Turn Zero](https://github.com/dcs-liberation/dcs_liberation/wiki/Turn-Zero) +3. [First operation](https://github.com/dcs-liberation/dcs_liberation/wiki/First-operation) +4. [Setting up a custom Strike mission](https://github.com/dcs-liberation/dcs_liberation/wiki/Setting-up-a-custom-Strike-mission) +5. [Campaign "Battle of Abu Dhabi" Play Through Tutorial](https://github.com/dcs-liberation/dcs_liberation/wiki/Campaign-Battle-of-Abu-Dhabi-Play-Through) ## Manual From 2cf8a050f9164f2bb4db752819fad5676242500f Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Tue, 9 Nov 2021 15:48:27 +0100 Subject: [PATCH 503/704] Updated Home (markdown) --- Home.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/Home.md b/Home.md index 5bacf4b..994e4fd 100644 --- a/Home.md +++ b/Home.md @@ -1,5 +1,13 @@ Welcome to the DCS Liberation wiki! -I recommend you read the [Getting Started](Getting-started) guide first. +Join us on Discord: https://discord.gg/XXTng58cm7 -For other tutorials and information, see the navigation bar at the right side of the wiki. \ No newline at end of file +Important: [Code of Conduct](Code-of-Conduct) + +It's recommended to read the [Getting Started](Getting-started) guide first. + +For other tutorials and information, see the navigation bar at the right side of the wiki or use the search function by colapsing the _Pages_ tab on the top right of the navigation pane. + +If you want to help us update the wiki, [join the #doc-maintenance channel in our discord](https://discord.gg/XXTng58cm7). + +**Disclaimer: as part of the DCS Liberation 5.x release, most wiki pages are under heavy construction** \ No newline at end of file From e5e7c9986b3edd622d78cf1d669a8bcd3140f8b4 Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Tue, 9 Nov 2021 15:49:23 +0100 Subject: [PATCH 504/704] Updated Home (markdown) --- Home.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Home.md b/Home.md index 994e4fd..27a4e30 100644 --- a/Home.md +++ b/Home.md @@ -8,6 +8,6 @@ It's recommended to read the [Getting Started](Getting-started) guide first. For other tutorials and information, see the navigation bar at the right side of the wiki or use the search function by colapsing the _Pages_ tab on the top right of the navigation pane. -If you want to help us update the wiki, [join the #doc-maintenance channel in our discord](https://discord.gg/XXTng58cm7). +If you want to help us update the wiki, join the [#doc-maintenance](https://discord.gg/XXTng58cm7) discord channel. **Disclaimer: as part of the DCS Liberation 5.x release, most wiki pages are under heavy construction** \ No newline at end of file From 7271b468ad745aefd003c737da722d4c4540dc56 Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Tue, 9 Nov 2021 17:00:55 +0100 Subject: [PATCH 505/704] Updated Getting started (markdown) --- Getting-started.md | 109 ++++++++++++++++++++++++++++++++++----------- 1 file changed, 84 insertions(+), 25 deletions(-) diff --git a/Getting-started.md b/Getting-started.md index 933c74b..5d2381a 100644 --- a/Getting-started.md +++ b/Getting-started.md @@ -1,4 +1,21 @@ -**The tutorial is out of date for DCS Liberation 3.0.** See the other sections of [the manual](https://github.com/dcs-liberation/dcs_liberation/wiki) for help. If you want to help us update the tutorial, [join the #doc-maintenance channel in our discord](https://discord.gg/fpJRYBV9). +09.11.2021: **The tutorial is out of date for DCS Liberation >= 3.0. updates pending** + +# How to get DCS Liberation? +## Download: +You have two choices, either download a stable or a preview release: + +1. [Stable release](https://github.com/dcs-liberation/dcs_liberation/releases) +2. [Preview release](https://github.com/dcs-liberation/dcs_liberation/actions/workflows/build.yml) + +# +## Installation: + +1. Extract the zip file to a new directory. DCS Liberation does not need to be separately installed; the extracted directory _is_ your DCS Liberation install. This can be extracted anywhere, but it should be a directory that you can access without Administrator privileges to ensure that Liberation runs correctly. +2. Then launch `liberation_main.exe` to launch DCS Liberation. + +First launch splash screen + +![DCS Liberation first launch screenshot](https://user-images.githubusercontent.com/67376231/140951014-5dab4087-35e5-404e-a4e5-007db927bdb6.png) **Important Note before you launch DCS Liberation :** @@ -6,51 +23,93 @@ DCS Liberation will modify the following file in your DCS installation: `.zip` file from the Artifacts section. -2. Extract the zip file to a new directory. DCS Liberation does not need to be separately installed; the extracted directory _is_ your DCS Liberation install. This can be extracted anywhere, but it should be a directory that you can access without Administrator privileges to ensure that Liberation runs correctly. -3. Then launch `liberation_main.exe` to launch DCS Liberation. +In the top left corner, click on **File** --> **New Game** to start the new campaign wizard. -![DCS Liberation first launch screenshot](https://user-images.githubusercontent.com/315852/102664953-bd030d80-4138-11eb-989b-824b7a8d4f8c.png) - -## Start your first campaign - -In the top left corner, click on File/New Game to start the new campaign wizard. - -![New Game screenshot](https://user-images.githubusercontent.com/315852/102665743-35b69980-413a-11eb-87c4-d140a83e3b0d.png) +![New Game screenshot](https://user-images.githubusercontent.com/67376231/140951212-056c6ff1-21f0-47f8-8846-d3698c4af6c6.png) Click on next to start campaign configuration : -![New game wizard](https://user-images.githubusercontent.com/315852/102665683-1ae42500-413a-11eb-9e52-4257c6a8d849.png) +![New game wizard](https://user-images.githubusercontent.com/67376231/140951605-5f377f3f-055d-4636-91e5-f63daa6066aa.png) -Choose your faction, and the enemy faction. For an easy first game, choose USA 2005 vs Russia 1965. -![Faction selection](https://user-images.githubusercontent.com/315852/102665647-0b64dc00-413a-11eb-95e4-9823394a505b.png) +Theater configuration - choose your campaign/map and start date -Choose a campaign. Note that we **strongly** recommend against any of the "full" maps as these are extremely demanding in terms of performance. "Start at mid game" will cause the player's faction to own more control points than they normally would at the beginning of the campaign. "Invert map" will allow the player to play through the campaign in the opposite direction. +![Theater configuration](https://user-images.githubusercontent.com/67376231/140952505-bc3dbcc3-2cea-4cf9-b5a2-9fbd9c583c7a.png) -Note that at the time of writing these two options cannot currently be used together. See [Issue 572](https://github.com/Khopa/dcs_liberation/issues/572) for more information. +1. Choose your campaign (implies the DCS map) +2. Campaign author & remarks +3. Performance impact +4. Invert the factions starting positions +5. Time period / starting date (start date will affect weapon availability if turned on via options at a later stage) + + +Choose your faction, and the enemy faction. Based on the campaign configuration, either chose the authors intended, or select any faction of your choosing. + +![Faction selection](https://user-images.githubusercontent.com/67376231/140954024-397020b8-ce3f-4c67-b99b-6b71da71f205.png) -![image](https://user-images.githubusercontent.com/315852/102665531-d8224d00-4139-11eb-8ebf-ec139f1e4913.png) Select any additional generation options you'd like to use. Note that the supercarrier option can be enabled or disabled later in the game settings. -![Generator options](https://user-images.githubusercontent.com/315852/102665937-ab226a00-413a-11eb-9d31-007047cb5a04.png) +![Generator options](https://user-images.githubusercontent.com/67376231/140954756-830238ea-cbcd-48f9-bb69-3014612a211e.png) + +Generator settings: +* No Aircraft carriers - select if you don't want any CVNs in your campaign, even if the faction you selected has them available +* No LHA - select if you don't want any LHAs in your campaign, even if the faction you selected has them available +* Use Supercarrier module - if you own the DCS Supercarrier module, you can select which CVN type will generated in your campaign +* No Player Navy - select whether you want combat ships in your campaign being generated or not +* No Enemy Navy - select whether you want enemy combat ships in your campaign being generated or not + +Mod settings: +* If you want any of these mods considered during your campaign generators, please select accordingly +* You are required to have the selected mods already installed and operational prior to DCS Liberation campaign generation + + +![Difficulty and economic options](https://user-images.githubusercontent.com/67376231/140956004-d4967da9-66ea-454f-a2ef-4e34eaf7d08f.png) + +Economy options: +* Player income multiplier - defines the multiplier of the player per-round income which depends on the type and number of objectives held (tbd Date: Tue, 9 Nov 2021 17:12:02 +0100 Subject: [PATCH 506/704] Updated Getting started (markdown) --- Getting-started.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Getting-started.md b/Getting-started.md index 5d2381a..6d59e48 100644 --- a/Getting-started.md +++ b/Getting-started.md @@ -73,8 +73,8 @@ Mod settings: ![Difficulty and economic options](https://user-images.githubusercontent.com/67376231/140956004-d4967da9-66ea-454f-a2ef-4e34eaf7d08f.png) Economy options: -* Player income multiplier - defines the multiplier of the player per-round income which depends on the type and number of objectives held (tbd ) +* Enemy income multiplier - defines the multiplier of the enemies per-round income which depends on the type and number of objectives held (tbd ) * Player starting budget - amount of available money at the beginning of the campaign, to procure aircraft / ground units * Enemy starting budget - amount of available money at the beginning of the campaign, to procure aircraft / ground units @@ -105,7 +105,7 @@ The list of available squadrons is affected by the following factors: * Chosen faction * Available squadrons (custom & auto generated) -See (tbd ) for more detailed information on squadrons If you are happy with your choices, close the squadrons window and trigger the campaign generation. From 3cc1a4593fbc92c8c11ef1ea45fa3bcc6b361207 Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Tue, 9 Nov 2021 17:15:33 +0100 Subject: [PATCH 507/704] Updated Getting started (markdown) --- Getting-started.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Getting-started.md b/Getting-started.md index 6d59e48..35d0e0e 100644 --- a/Getting-started.md +++ b/Getting-started.md @@ -105,7 +105,7 @@ The list of available squadrons is affected by the following factors: * Chosen faction * Available squadrons (custom & auto generated) -See (tbd ) for more detailed information on squadrons +See [squadrons](https://github.com/dcs-liberation/dcs_liberation/wiki/Squadrons-and-pilots) for more detailed information on pilots & squadrons If you are happy with your choices, close the squadrons window and trigger the campaign generation. From cd56b801808a545a0c1e79b59ee3f1ae6fde9ff6 Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Tue, 9 Nov 2021 17:19:08 +0100 Subject: [PATCH 508/704] Updated Getting started (markdown) --- Getting-started.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Getting-started.md b/Getting-started.md index 35d0e0e..8fa7f2e 100644 --- a/Getting-started.md +++ b/Getting-started.md @@ -73,11 +73,12 @@ Mod settings: ![Difficulty and economic options](https://user-images.githubusercontent.com/67376231/140956004-d4967da9-66ea-454f-a2ef-4e34eaf7d08f.png) Economy options: -* Player income multiplier - defines the multiplier of the player per-round income which depends on the type and number of objectives held (tbd ) -* Enemy income multiplier - defines the multiplier of the enemies per-round income which depends on the type and number of objectives held (tbd ) +* Player income multiplier - defines the multiplier of the player per-round income which depends on the type and number of [objectives](https://github.com/dcs-liberation/dcs_liberation/wiki/Custom-Campaigns#objective-locations) held +* Enemy income multiplier - defines the multiplier of the enemies per-round income which depends on the type and number of [objectives](https://github.com/dcs-liberation/dcs_liberation/wiki/Custom-Campaigns#objective-locations) held * Player starting budget - amount of available money at the beginning of the campaign, to procure aircraft / ground units * Enemy starting budget - amount of available money at the beginning of the campaign, to procure aircraft / ground units + Player assists: * Automate runway repairs - system will automatically repair player owned, destroyed runways if enough budget is available * Automate front-line purchases - system will automatically buy front-line ground units From d14ec4c2dd48d8a951aaf27c27a74c431a11520b Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Tue, 9 Nov 2021 17:27:09 +0100 Subject: [PATCH 509/704] Updated Getting started (markdown) --- Getting-started.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Getting-started.md b/Getting-started.md index 8fa7f2e..cd39484 100644 --- a/Getting-started.md +++ b/Getting-started.md @@ -45,7 +45,7 @@ Theater configuration - choose your campaign/map and start date 1. Choose your campaign (implies the DCS map) 2. Campaign author & remarks 3. Performance impact -4. Invert the factions starting positions +4. Invert Map - Inverts the factions starting positions 5. Time period / starting date (start date will affect weapon availability if turned on via options at a later stage) From 6652c3745d220ce68ba9719e66ea3d619eb4d8b2 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Tue, 9 Nov 2021 17:59:16 +0000 Subject: [PATCH 510/704] Revert 0758626c189836fdd1249086a54780bd8561458f...a3093b1a1ffca0f3f93524a96e81822b1a11e1d6 on Squadrons and pilots --- Squadrons-and-pilots.md | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/Squadrons-and-pilots.md b/Squadrons-and-pilots.md index accc66b..1b01fbd 100644 --- a/Squadrons-and-pilots.md +++ b/Squadrons-and-pilots.md @@ -144,8 +144,4 @@ This can be used for creating Marine Hornet squadrons as in the example above. ### Generated squadrons -A squadron will be generated for any aircraft that does not have any predefined squadrons available. - -**Note for upcoming version 5.x** - -The Squadron file should **NOT** contain the lines related to Pilots, Players or Bases. If you are using a customized squadron yaml file created before 5.0, remove the lines related to Pilots, Players and Bases since this is now managed by Liberation in a different way and the the files containing that data would generate an error. \ No newline at end of file +A squadron will be generated for any aircraft that does not have any predefined squadrons available. \ No newline at end of file From 44994d09d04c9e00a0ad4c1ddc54f0dbd43156e9 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Tue, 9 Nov 2021 18:01:58 +0000 Subject: [PATCH 511/704] Updated Squadrons and pilots (markdown) --- Squadrons-and-pilots.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/Squadrons-and-pilots.md b/Squadrons-and-pilots.md index 1b01fbd..0920257 100644 --- a/Squadrons-and-pilots.md +++ b/Squadrons-and-pilots.md @@ -1,5 +1,3 @@ -**This feature is new in DCS Liberation 3.0.** - ## Pilots Each aircraft in the mission will be assigned one pilot. Each pilot belongs to a squadron. Pilots are assigned to aircraft using the flight edit dialog (later they will be assignable when creating flights). @@ -13,7 +11,7 @@ unassigned, but will not be used next turn. Pilots cannot be manually created once the game has started. New pilots will be created automatically as they are needed. -**Changes in DCS Liberation 4.0**: New pilots will be recruited to the squadron each turn at a limited rate (currently one per squadron) if the squadron is not full. Pilots are a limited resource just like aircraft. +Optionally (off by default), new pilots will be recruited to the squadron each turn at a limited rate (currently one per squadron) if the squadron is not full. Pilots are a limited resource just like aircraft. ### Players @@ -61,7 +59,7 @@ Squadrons define a group of pilots that fly a single type of aircraft and perfor Squadrons cannot be added after the game has started. -**Changes in DCS Liberation 4.0**: Squadrons have a maximum size (currently 24). Once a squadron reaches its limit no new pilots will be recruited until pilots are either killed or sent on leave. Each understaffed squadron will replenish pilots at a limited rate (currently four pilots per squadron) at the end of each turn. Both the limit and the replenishment rate are configurable in the game settings. +Optionally (off by default) squadrons have a maximum number of pilots (currently 24). Once a squadron reaches its limit no new pilots will be recruited until pilots are either killed or sent on leave. Each understaffed squadron will replenish pilots at a limited rate (currently four pilots per squadron) at the end of each turn. Both the limit and the replenishment rate are configurable in the game settings. ### Predefined squadrons @@ -144,4 +142,4 @@ This can be used for creating Marine Hornet squadrons as in the example above. ### Generated squadrons -A squadron will be generated for any aircraft that does not have any predefined squadrons available. \ No newline at end of file +Squadrons will be generated if the campaign includes aircraft that do not have predefined squadrons available. \ No newline at end of file From ae8fc12ccc8b959c594b6e44414613eed14dd5e9 Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Tue, 9 Nov 2021 22:04:30 +0100 Subject: [PATCH 512/704] Updated Getting started (markdown) --- Getting-started.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Getting-started.md b/Getting-started.md index cd39484..80c95eb 100644 --- a/Getting-started.md +++ b/Getting-started.md @@ -5,7 +5,7 @@ You have two choices, either download a stable or a preview release: 1. [Stable release](https://github.com/dcs-liberation/dcs_liberation/releases) -2. [Preview release](https://github.com/dcs-liberation/dcs_liberation/actions/workflows/build.yml) +2. [Preview release](https://github.com/dcs-liberation/dcs_liberation/wiki/Preview-builds) # ## Installation: From b5ecec860ecdf3c20f98e997fc4b50e995faa720 Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Tue, 9 Nov 2021 22:04:52 +0100 Subject: [PATCH 513/704] Updated Getting started (markdown) --- Getting-started.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Getting-started.md b/Getting-started.md index 80c95eb..c4503e2 100644 --- a/Getting-started.md +++ b/Getting-started.md @@ -5,7 +5,7 @@ You have two choices, either download a stable or a preview release: 1. [Stable release](https://github.com/dcs-liberation/dcs_liberation/releases) -2. [Preview release](https://github.com/dcs-liberation/dcs_liberation/wiki/Preview-builds) +2. [Preview builds](https://github.com/dcs-liberation/dcs_liberation/wiki/Preview-builds) # ## Installation: From 48a8c8f3b5af8590310f70215748a82859e0984a Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Wed, 10 Nov 2021 21:20:08 +0100 Subject: [PATCH 514/704] added more detailed explanation on building blocks and flow --- Home.md | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/Home.md b/Home.md index 27a4e30..2d05308 100644 --- a/Home.md +++ b/Home.md @@ -1,13 +1,30 @@ Welcome to the DCS Liberation wiki! -Join us on Discord: https://discord.gg/XXTng58cm7 +# What is DCS Liberation Campaign? -Important: [Code of Conduct](Code-of-Conduct) +In it's essence, it's a DCS mission generator, consisting of the following building blocks: -It's recommended to read the [Getting Started](Getting-started) guide first. +- [Campaigns](Custom-campaigns) +- [Factions](Custom-Factions) +- [Squadrons](Squadrons-and-pilots) +The campaign acts as a template, populated by units available, based on the factions and timeline chosen and generates a new mission (liberation_nextturn.miz) every time you hit the *launch* button in the UI. + +Once a mission has ended, DCS Liberation captures the events (state) that happend in DCS and processes them, so that the player can make adjustments and hit *launch* again. + +This pattern provides a custom, dynamic and persistent campaign. + + +For more information, it's recommended to read the [Getting Started](Getting-started) guide first. + +# For other tutorials and information, see the navigation bar at the right side of the wiki or use the search function by colapsing the _Pages_ tab on the top right of the navigation pane. If you want to help us update the wiki, join the [#doc-maintenance](https://discord.gg/XXTng58cm7) discord channel. -**Disclaimer: as part of the DCS Liberation 5.x release, most wiki pages are under heavy construction** \ No newline at end of file +**Disclaimer: as part of the DCS Liberation 5.x release, most wiki pages are under heavy construction** + +# +Join us on Discord: https://discord.gg/XXTng58cm7 + +Important: [Code of Conduct](Code-of-Conduct) \ No newline at end of file From 476c8e94fe4ddede8b55e93d24d659ea946e5417 Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Wed, 10 Nov 2021 21:22:51 +0100 Subject: [PATCH 515/704] removed _outdated_ disclaimer --- Getting-started.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/Getting-started.md b/Getting-started.md index c4503e2..572d3b7 100644 --- a/Getting-started.md +++ b/Getting-started.md @@ -1,5 +1,3 @@ -09.11.2021: **The tutorial is out of date for DCS Liberation >= 3.0. updates pending** - # How to get DCS Liberation? ## Download: You have two choices, either download a stable or a preview release: From 236ba1081c8cc273da480e357e91117ae79660ab Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Wed, 10 Nov 2021 21:27:04 +0100 Subject: [PATCH 516/704] format correction --- Home.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Home.md b/Home.md index 2d05308..d231a5d 100644 --- a/Home.md +++ b/Home.md @@ -8,7 +8,7 @@ In it's essence, it's a DCS mission generator, consisting of the following build - [Factions](Custom-Factions) - [Squadrons](Squadrons-and-pilots) -The campaign acts as a template, populated by units available, based on the factions and timeline chosen and generates a new mission (liberation_nextturn.miz) every time you hit the *launch* button in the UI. +The campaign acts as a template, populated by units available, based on the factions and timeline chosen and generates a new mission (`liberation_nextturn.miz`) every time you hit the *launch* button in the UI. Once a mission has ended, DCS Liberation captures the events (state) that happend in DCS and processes them, so that the player can make adjustments and hit *launch* again. From 6b4f708c00c5013282cb94c00e1a94493b3e7221 Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Wed, 10 Nov 2021 21:29:39 +0100 Subject: [PATCH 517/704] Logo added --- Home.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Home.md b/Home.md index d231a5d..2168f21 100644 --- a/Home.md +++ b/Home.md @@ -1,6 +1,6 @@ -Welcome to the DCS Liberation wiki! +![Logo](https://camo.githubusercontent.com/ecf9838babf2252f0067393d57a1aeaccaba238877b4753eb59133d117febd03/68747470733a2f2f692e696d6775722e636f6d2f63326b313845312e706e67) -# What is DCS Liberation Campaign? +# What is DCS: Liberation Dynamic Campaign? In it's essence, it's a DCS mission generator, consisting of the following building blocks: From c911b3f7ce6dc8d9a7167de651d3d1024abcd3cf Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Wed, 10 Nov 2021 21:54:02 +0100 Subject: [PATCH 518/704] Format overhaul --- Getting-started.md | 36 +++++++++++++++++++++++++----------- 1 file changed, 25 insertions(+), 11 deletions(-) diff --git a/Getting-started.md b/Getting-started.md index 572d3b7..8b9e087 100644 --- a/Getting-started.md +++ b/Getting-started.md @@ -3,7 +3,7 @@ You have two choices, either download a stable or a preview release: 1. [Stable release](https://github.com/dcs-liberation/dcs_liberation/releases) -2. [Preview builds](https://github.com/dcs-liberation/dcs_liberation/wiki/Preview-builds) +2. [Preview builds](Preview-builds) # ## Installation: @@ -27,16 +27,23 @@ If you don't, DCS will load the file before it is changed and DCS Liberation wil # # Start your first campaign +### New Game + In the top left corner, click on **File** --> **New Game** to start the new campaign wizard. ![New Game screenshot](https://user-images.githubusercontent.com/67376231/140951212-056c6ff1-21f0-47f8-8846-d3698c4af6c6.png) -Click on next to start campaign configuration : +# +### Introduction + +Click on next to start campaign configuration ![New game wizard](https://user-images.githubusercontent.com/67376231/140951605-5f377f3f-055d-4636-91e5-f63daa6066aa.png) +# +### Theater configuration -Theater configuration - choose your campaign/map and start date +Choose your campaign/map and start date ![Theater configuration](https://user-images.githubusercontent.com/67376231/140952505-bc3dbcc3-2cea-4cf9-b5a2-9fbd9c583c7a.png) @@ -46,11 +53,15 @@ Theater configuration - choose your campaign/map and start date 4. Invert Map - Inverts the factions starting positions 5. Time period / starting date (start date will affect weapon availability if turned on via options at a later stage) +# +### Faction selection Choose your faction, and the enemy faction. Based on the campaign configuration, either chose the authors intended, or select any faction of your choosing. ![Faction selection](https://user-images.githubusercontent.com/67376231/140954024-397020b8-ce3f-4c67-b99b-6b71da71f205.png) +# +### Generator options Select any additional generation options you'd like to use. Note that the supercarrier option can be enabled or disabled later in the game settings. @@ -67,12 +78,14 @@ Mod settings: * If you want any of these mods considered during your campaign generators, please select accordingly * You are required to have the selected mods already installed and operational prior to DCS Liberation campaign generation +# +### Difficulty and economy options ![Difficulty and economic options](https://user-images.githubusercontent.com/67376231/140956004-d4967da9-66ea-454f-a2ef-4e34eaf7d08f.png) Economy options: -* Player income multiplier - defines the multiplier of the player per-round income which depends on the type and number of [objectives](https://github.com/dcs-liberation/dcs_liberation/wiki/Custom-Campaigns#objective-locations) held -* Enemy income multiplier - defines the multiplier of the enemies per-round income which depends on the type and number of [objectives](https://github.com/dcs-liberation/dcs_liberation/wiki/Custom-Campaigns#objective-locations) held +* Player income multiplier - defines the multiplier of the player per-round income which depends on the type and number of [objectives](Custom-Campaigns#objective-locations) held +* Enemy income multiplier - defines the multiplier of the enemies per-round income which depends on the type and number of [objectives](Custom-Campaigns#objective-locations) held * Player starting budget - amount of available money at the beginning of the campaign, to procure aircraft / ground units * Enemy starting budget - amount of available money at the beginning of the campaign, to procure aircraft / ground units @@ -87,15 +100,15 @@ _the system currently will spend 50% on aircraft and 50% on ground unit purchase Adjust difficulty and economic options as desired. Increasing enemy income and budget can increase the campaign difficulty, while reducing it can improve mission performance by reducing the number of units that the enemy can use at once. -The player assists section allows the player to enable automatic economic management for their faction so they can focus on other aspects of the campaign. These options can be toggled later in the game settings. These options are described in detail in [the manual](https://github.com/Khopa/dcs_liberation/wiki/Auto-purchase-options). +The player assists section allows the player to enable automatic economic management for their faction so they can focus on other aspects of the campaign. These options can be toggled later in the game settings. These options are described in detail in [the manual](Auto-purchase-options). - -Conclusion +# +### Conclusion ![image](https://user-images.githubusercontent.com/67376231/140957674-45cfd319-a2dc-4f96-b109-4bf6c0387b77.png) - -Air Wing Configuration aka Squadrons +# +### Air Wing Configuration aka Squadrons ![Squadrons](https://user-images.githubusercontent.com/67376231/140958086-897dab55-f9e7-43a7-87fe-703afa32bf9e.png) @@ -104,8 +117,9 @@ The list of available squadrons is affected by the following factors: * Chosen faction * Available squadrons (custom & auto generated) -See [squadrons](https://github.com/dcs-liberation/dcs_liberation/wiki/Squadrons-and-pilots) for more detailed information on pilots & squadrons +See [squadrons](Squadrons-and-pilots) for more detailed information on pilots & squadrons +# If you are happy with your choices, close the squadrons window and trigger the campaign generation. From a2703f6aa9493613187c789a4a42ea13f134cd63 Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Wed, 10 Nov 2021 22:49:40 +0100 Subject: [PATCH 519/704] Updated DCS Liberation UI (markdown) --- DCS-Liberation-UI.md => Tutorial-UI.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename DCS-Liberation-UI.md => Tutorial-UI.md (100%) diff --git a/DCS-Liberation-UI.md b/Tutorial-UI.md similarity index 100% rename from DCS-Liberation-UI.md rename to Tutorial-UI.md From 95726119ef61431950d14cbea9cc47fba9d50503 Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Thu, 11 Nov 2021 00:50:07 +0100 Subject: [PATCH 520/704] Updated Tutorial UI (markdown) --- Tutorial-UI.md | 234 +++++++++++++++++++++++++++++++++++-------------- 1 file changed, 170 insertions(+), 64 deletions(-) diff --git a/Tutorial-UI.md b/Tutorial-UI.md index e0fa89e..5538eec 100644 --- a/Tutorial-UI.md +++ b/Tutorial-UI.md @@ -1,88 +1,194 @@ -**The tutorial is out of date for DCS Liberation 4.0.** See the other sections of [the manual](https://github.com/dcs-liberation/dcs_liberation/wiki) for help. If you want to help us update the tutorial, [join the #doc-maintenance channel in our discord](https://discord.gg/fpJRYBV9). +Now that you have started a new campaign, let's go through the UI to get an understanding of what the various elements & buttons do. -Now that you have started a campaign, let's go through the UI to get an understanding of what is displayed first. +# UI Elements +## Overview -## The different parts of the UI +![Overview-numbered](https://user-images.githubusercontent.com/67376231/141204221-fb9ed33d-9eb9-413e-bdd8-47fd88676be3.png) -![](https://imgur.com/5uzb0Pv.png) +# +### 1 - Toolbar -1 - Toolbar : Here you can start a new campaign, or save the current one +Here you can start a new campaign, or save the current one -![](https://imgur.com/nVKknIQ.png) +![Toolbar](https://user-images.githubusercontent.com/67376231/141199508-8c5bc375-8ba9-47f1-ab08-7f17cd471cd1.png) -2 - Action Panel : Contains actions buttons and general information +Buttons from left to right +- *New Game* - starts the process of a new campaign as described in the [Getting Started](Getting-Started) guide. +- *Open* - Load a previously saved campaign file `*.liberation` +- *Save* - Save the currently active campaign +- *Discord Server* - Link to the DCS Liberation Discord server +- *Github Repo* - Link to the DCS Liberation Github repository (code & wiki) +- *Settings* - opens current campaign settings dialogue +- *Stats* - opens current campaign statistics dialogue +- *Notes* - opens the campaign notes -![](https://imgur.com/2ALmIxS.png) +# +### 2 - Info section + +![Info](https://user-images.githubusercontent.com/67376231/141201004-5f4c5c90-d99e-448e-b54b-42db4258a3fd.png) + +Displays information about ... +- selected factions +- current turn number including date and time +- weather forcast + +# +### 3 - Actions panel + +![Actions panel](https://user-images.githubusercontent.com/67376231/141201409-f76ff449-125a-41ce-ad23-ea6ce1125544.png) + +Provides access to ... +- *Budget* - opens finances dialogue, showing income sources and amounts +- *Intel* - opens intelligence dialogue, showing details on the air & ground forces numbers (can also show enemies data) +- *Misc* - opens air wing dialogue, showing details about squadrons and the inventory + +# +### 4 - Turn panel + +![Turn panel](https://user-images.githubusercontent.com/67376231/141202526-65f53aaa-acd9-4bc5-bf0e-ca711d7ab986.png) + +Lets you ... +- check the number of maximum human players, as set up +- *Pass turn* - skip turn +- *Take off* - opens the mission dialogue + +# +### Mission dialogue +![Mission dialogue](https://user-images.githubusercontent.com/67376231/141202987-6a9c4746-e6f8-4d7c-bfc8-b274cfc5ed1e.png) + +read the information given in this dialogue carefully 3 - Info Panel / Event Message Panel : Important informations about the campaign progression will be logged here. -![](https://imgur.com/gegtCyF.png) +# +### 5 - Planning panel -4 - Map : is the ... map of the operation and campaign progress +Here you can add/remove/edit packages and flights of various types -![](https://imgur.com/iWnb0MA.png) +![Packages planing](https://user-images.githubusercontent.com/67376231/141204682-51a70759-5f19-48ec-b833-40f2d94d4e70.png) -## The campaign map +![Flights planing](https://user-images.githubusercontent.com/67376231/141204631-dcdd581f-21c9-445b-b19f-c0bfbc98ba01.png) -The first thing to know, is that you can declutter the Map if it is too busy in the display menu : +Package aka Mission types + - Anti-ship + - BAI + - BARCAP + - CAS + - DEAD + - Escort + - Intercept + - OCA/Aircraft + - OCA/Runway + - SEAD + - SEAD Escort + - Strike + - Fighter sweep + - TARCAP + - AEWC + - Transport + - Refueling + - Ferry -![](https://imgur.com/qSY9aPn.png) +# +### 6 - Map & Overlays -Now let's go over what is displayed on the map : +![Map and Overlays](https://user-images.githubusercontent.com/67376231/141206019-417edc37-cac3-4d1d-8c7a-39f833e8d593.png) -### Airbases : +Here you can see the campaign map with the following elemtens +- A - Ruler +- B - Overlays +- C - Display filters -**Friendly airbase :** - -![](https://imgur.com/pkzdLcm.png) - -You can click on friendly airbase to open base menu, and recruit/manage units. - -**Enemy airbase :** - -![](https://imgur.com/z9Lv4DR.png) - -You can click on an enemy airbase to open intel menu. - -### Point of interests : - -There are multiple type of points of interests : - -**Friendly SAM sites :** - -![](https://imgur.com/VtgH79a.png) - -(You can hover the mouse over a point of interests to get details.) - -**Enemy SAM sites :** - -![](https://imgur.com/LxCmJS3.png) - -**Others items examples :** - -_A friendly ammo depot :_ - -![](https://imgur.com/Cgf56uj.png) - -_An enemy factory :_ - -![](https://imgur.com/bqnfcG2.png) - -Others objects are "buildings". Every enemy owned building is contributing to their unit production, so you should consider striking and destroying them. - -Any friendly building will also produce money for your budget every turn. So it might be worth taking the risk of capturing the enemy buildings instead of destroying them. - -Enemy buildings are automatically captured when the nearby airbase has been captured._ - -## Frontlines : - -![](https://imgur.com/iaKrN0x.png) - -The frontline let you now how close the enemy are from you airbase. +# +### 7 - Info panel +Showing system output +![Info panel](https://user-images.githubusercontent.com/67376231/141206373-6b81e49e-d111-4323-bbfc-63b4f634c8d5.png) +# +## Map Icons +### Major point of interests +- [Control points](#control-points) +- [Air defences](#sam-sites) +- [Objective locations](#objective-locations) +- [Frontlines](#frontlines) -[WIP] +General information +- You can hover the mouse over a point of interests to get details +- Every point of interest will get a name assigned, e.g. CATFISH, ROACH, SILKWORM, for easy identification and reference + +## Control points +### Airbases +**Friendly airbase** + +![tut10_friendly_airbase](https://user-images.githubusercontent.com/67376231/141207051-847b8e7e-2e35-49b1-9f94-4148d9b8ab2f.png) + +You can **left** click on a friendly airbase to open airfield management dialogue +- buy/sell aircraft +- buy/sell ground units (HQ static defences) +- initiate unit transfers + +You can **right** click on a friendly airbase to open the mission planning dialogue +- setup BARCAP missions + +**Enemy airbase** + +![tut10_enemy_airbase](https://user-images.githubusercontent.com/67376231/141206992-a8bd78d2-9663-477a-92a6-91ceccf9229f.png) + +You can **left** click on an enemy airbase to open the airfield dialogue +- *Intel* - Attack airfield +- *Departing convoys* - show departing convoys and order an attack that them + +### FOB + +FOB = Forward operation base + +![tut10_friendly_fob](https://user-images.githubusercontent.com/67376231/141210185-50c2f32f-ab5f-41e6-beb0-55224971c54f.png) + +Since version 5.x , FOBs host FARPs that can be used for rotorwing operations. + +You can **left** click on a friendly FOB to open FOB management dialogue +- buy/sell ground units (HQ static defences) +- buy/sell rotorwing aircraft (Heliport) +- initiate unit transfers +- **IF** he FOB is the control point closest to the frontline, you can set the frontline ground units stance, e.g. defining their speed of advancement + +Lines to and from a FOB: +- red line indicates route to the frontline +- white line indicates friendly convoy/supply route + +# + +#### **Objective locations** +[Objective locations](Custom-campaigns#objective-locations) are structures of various types. + +Those structures yield income for the player/enemy, depending on ownership. + +**Right** clicking an enemy objective location will open the strike mission planning dialogue. + +Enemy buildings are automatically captured when the nearby airbase or FOB has been captured. They can't be repaired after capturing them, so be smart about strikes. + +#### **SAM sites** + +Friendly SAM sites + +![tut11_friendly_sam](https://user-images.githubusercontent.com/67376231/141209187-00b3d285-3fb3-4ae6-acf8-e4c593e46bb6.png) +Enemy SAM sites +![tut11_enemy_sam](https://user-images.githubusercontent.com/67376231/141209401-5d5ab7c4-97d7-439b-a09a-ced586983645.png) + +Damaged SAM sites will show a "health bar" underneath the icon. + +# + +#### Frontlines + +![tut12_frontline](https://user-images.githubusercontent.com/67376231/141211061-ef8ce09f-c5ca-43ec-8499-d6418f400baa.png) + +In the example above, you can see the friendly FOB in dark blue, surrounded by SAM sites and static defences. A red line leading up to the front (orange bar), going further to the right, leading to the next enemy control point. + +The orange bar indicates a fronline. A campaign can have multiple frontlines, depending on the campaign setup. + +You can **right** click on a frontline to open the mission planning dialogue. \ No newline at end of file From 0f7bb62dde7a59c2804b839b5c6461c5adb50bba Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Thu, 11 Nov 2021 00:50:37 +0100 Subject: [PATCH 521/704] Updated _Sidebar (markdown) --- _Sidebar.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_Sidebar.md b/_Sidebar.md index 1c06de3..be289f4 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -2,7 +2,7 @@ [Getting Started](Getting-started) -1. [DCS Liberation UI](https://github.com/dcs-liberation/dcs_liberation/wiki/DCS-Liberation-UI) +1. [DCS Liberation UI](Tutorial-UI) 2. [Turn Zero](https://github.com/dcs-liberation/dcs_liberation/wiki/Turn-Zero) 3. [First operation](https://github.com/dcs-liberation/dcs_liberation/wiki/First-operation) 4. [Setting up a custom Strike mission](https://github.com/dcs-liberation/dcs_liberation/wiki/Setting-up-a-custom-Strike-mission) From 250317de48207c720155d996ca3c66d9e4dc6478 Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Thu, 11 Nov 2021 00:56:22 +0100 Subject: [PATCH 522/704] total rework and spelling correction --- Tutorial-UI.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tutorial-UI.md b/Tutorial-UI.md index 5538eec..858907b 100644 --- a/Tutorial-UI.md +++ b/Tutorial-UI.md @@ -137,7 +137,7 @@ You can **right** click on a friendly airbase to open the mission planning dialo You can **left** click on an enemy airbase to open the airfield dialogue - *Intel* - Attack airfield -- *Departing convoys* - show departing convoys and order an attack that them +- *Departing convoys* - show departing convoys and order an attack on them ### FOB From 5f41eeb93b8d8189aa5aeb6ea1a51181c00c2ce4 Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Thu, 11 Nov 2021 01:02:20 +0100 Subject: [PATCH 523/704] spelling corrections --- Tutorial-UI.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Tutorial-UI.md b/Tutorial-UI.md index 858907b..22d9aa3 100644 --- a/Tutorial-UI.md +++ b/Tutorial-UI.md @@ -30,7 +30,7 @@ Buttons from left to right Displays information about ... - selected factions - current turn number including date and time -- weather forcast +- weather forecast # ### 3 - Actions panel @@ -58,7 +58,7 @@ Lets you ... read the information given in this dialogue carefully -3 - Info Panel / Event Message Panel : Important informations about the campaign progression will be logged here. +3 - Info Panel / Event Message Panel : Important information about the campaign progression will be logged here. # ### 5 - Planning panel @@ -94,7 +94,7 @@ Package aka Mission types ![Map and Overlays](https://user-images.githubusercontent.com/67376231/141206019-417edc37-cac3-4d1d-8c7a-39f833e8d593.png) -Here you can see the campaign map with the following elemtens +Here you can see the campaign map with the following elements - A - Ruler - B - Overlays - C - Display filters @@ -151,7 +151,7 @@ You can **left** click on a friendly FOB to open FOB management dialogue - buy/sell ground units (HQ static defences) - buy/sell rotorwing aircraft (Heliport) - initiate unit transfers -- **IF** he FOB is the control point closest to the frontline, you can set the frontline ground units stance, e.g. defining their speed of advancement +- **IF** the FOB is the control point closest to the frontline, you can set the frontline ground units stance, e.g. defining their speed of advancement Lines to and from a FOB: - red line indicates route to the frontline From 49533d48fb139a02f3a5c75d37b65f12f33bf9ee Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Thu, 11 Nov 2021 01:11:12 +0100 Subject: [PATCH 524/704] added map overlays info --- Tutorial-UI.md | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/Tutorial-UI.md b/Tutorial-UI.md index 22d9aa3..6dfc7e6 100644 --- a/Tutorial-UI.md +++ b/Tutorial-UI.md @@ -30,7 +30,7 @@ Buttons from left to right Displays information about ... - selected factions - current turn number including date and time -- weather forecast +- weather forcast # ### 3 - Actions panel @@ -52,13 +52,13 @@ Lets you ... - *Pass turn* - skip turn - *Take off* - opens the mission dialogue -# -### Mission dialogue +#### Mission dialogue + ![Mission dialogue](https://user-images.githubusercontent.com/67376231/141202987-6a9c4746-e6f8-4d7c-bfc8-b274cfc5ed1e.png) read the information given in this dialogue carefully -3 - Info Panel / Event Message Panel : Important information about the campaign progression will be logged here. +3 - Info Panel / Event Message Panel : Important informations about the campaign progression will be logged here. # ### 5 - Planning panel @@ -94,11 +94,16 @@ Package aka Mission types ![Map and Overlays](https://user-images.githubusercontent.com/67376231/141206019-417edc37-cac3-4d1d-8c7a-39f833e8d593.png) -Here you can see the campaign map with the following elements +Here you can see the campaign map with the following elemtens - A - Ruler - B - Overlays - C - Display filters +#### Overlays + +![tut13_overlays](https://user-images.githubusercontent.com/67376231/141213357-c262413a-5a03-4942-8130-c9319294978f.png) + + # ### 7 - Info panel Showing system output @@ -151,7 +156,7 @@ You can **left** click on a friendly FOB to open FOB management dialogue - buy/sell ground units (HQ static defences) - buy/sell rotorwing aircraft (Heliport) - initiate unit transfers -- **IF** the FOB is the control point closest to the frontline, you can set the frontline ground units stance, e.g. defining their speed of advancement +- **IF** he FOB is the control point closest to the frontline, you can set the frontline ground units stance, e.g. defining their speed of advancement Lines to and from a FOB: - red line indicates route to the frontline From 630167c69d5e2d8f1e0b5f51b151174115c5d30c Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Thu, 11 Nov 2021 01:16:47 +0100 Subject: [PATCH 525/704] add frontline page link --- Tutorial-UI.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tutorial-UI.md b/Tutorial-UI.md index 6dfc7e6..9861f46 100644 --- a/Tutorial-UI.md +++ b/Tutorial-UI.md @@ -156,7 +156,7 @@ You can **left** click on a friendly FOB to open FOB management dialogue - buy/sell ground units (HQ static defences) - buy/sell rotorwing aircraft (Heliport) - initiate unit transfers -- **IF** he FOB is the control point closest to the frontline, you can set the frontline ground units stance, e.g. defining their speed of advancement +- **IF** he FOB is the control point closest to the frontline, you can set the [frontline ground units stance](Frontline-Strategies-Stances), e.g. defining their speed of advancement Lines to and from a FOB: - red line indicates route to the frontline From 0358a10b357796e226ab265886771cc18538a6fc Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Thu, 11 Nov 2021 04:16:17 +0100 Subject: [PATCH 526/704] minor adjustments and rephrasings --- Tutorial-UI.md | 36 ++++++++---------------------------- 1 file changed, 8 insertions(+), 28 deletions(-) diff --git a/Tutorial-UI.md b/Tutorial-UI.md index 9861f46..0d3ed6a 100644 --- a/Tutorial-UI.md +++ b/Tutorial-UI.md @@ -5,11 +5,11 @@ Now that you have started a new campaign, let's go through the UI to get an unde ![Overview-numbered](https://user-images.githubusercontent.com/67376231/141204221-fb9ed33d-9eb9-413e-bdd8-47fd88676be3.png) +*use browser zoom function to see all details on the picture above* + # ### 1 - Toolbar -Here you can start a new campaign, or save the current one - ![Toolbar](https://user-images.githubusercontent.com/67376231/141199508-8c5bc375-8ba9-47f1-ab08-7f17cd471cd1.png) Buttons from left to right @@ -48,7 +48,7 @@ Provides access to ... ![Turn panel](https://user-images.githubusercontent.com/67376231/141202526-65f53aaa-acd9-4bc5-bf0e-ca711d7ab986.png) Lets you ... -- check the number of maximum human players, as set up +- check the number of available human player slots, as set up via the [planning panel](#5---planning-panel) - *Pass turn* - skip turn - *Take off* - opens the mission dialogue @@ -56,9 +56,7 @@ Lets you ... ![Mission dialogue](https://user-images.githubusercontent.com/67376231/141202987-6a9c4746-e6f8-4d7c-bfc8-b274cfc5ed1e.png) -read the information given in this dialogue carefully - -3 - Info Panel / Event Message Panel : Important informations about the campaign progression will be logged here. +*Read the information given in this dialogue carefully!* # ### 5 - Planning panel @@ -69,25 +67,7 @@ Here you can add/remove/edit packages and flights of various types ![Flights planing](https://user-images.githubusercontent.com/67376231/141204631-dcdd581f-21c9-445b-b19f-c0bfbc98ba01.png) -Package aka Mission types - - Anti-ship - - BAI - - BARCAP - - CAS - - DEAD - - Escort - - Intercept - - OCA/Aircraft - - OCA/Runway - - SEAD - - SEAD Escort - - Strike - - Fighter sweep - - TARCAP - - AEWC - - Transport - - Refueling - - Ferry +*Check out the details on available [task types](Mission-planning#task-types)* # ### 6 - Map & Overlays @@ -95,9 +75,9 @@ Package aka Mission types ![Map and Overlays](https://user-images.githubusercontent.com/67376231/141206019-417edc37-cac3-4d1d-8c7a-39f833e8d593.png) Here you can see the campaign map with the following elemtens -- A - Ruler -- B - Overlays -- C - Display filters +- A - *Ruler* - meassure distances, similar to the DCS F10 map feature +- B - *Overlays* - enable/disable various overlays as shown below +- C - *Display filters* - enable/disable various filters #### Overlays From c9b949562c1ee273aec137b507301abd41014b0f Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Thu, 11 Nov 2021 04:18:14 +0100 Subject: [PATCH 527/704] changed Planning panel description --- Tutorial-UI.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Tutorial-UI.md b/Tutorial-UI.md index 0d3ed6a..45ff1c5 100644 --- a/Tutorial-UI.md +++ b/Tutorial-UI.md @@ -61,11 +61,11 @@ Lets you ... # ### 5 - Planning panel -Here you can add/remove/edit packages and flights of various types +Here you can edit/remove packages and flights of various types -![Packages planing](https://user-images.githubusercontent.com/67376231/141204682-51a70759-5f19-48ec-b833-40f2d94d4e70.png) +![Packages planning](https://user-images.githubusercontent.com/67376231/141204682-51a70759-5f19-48ec-b833-40f2d94d4e70.png) -![Flights planing](https://user-images.githubusercontent.com/67376231/141204631-dcdd581f-21c9-445b-b19f-c0bfbc98ba01.png) +![Flights planning](https://user-images.githubusercontent.com/67376231/141204631-dcdd581f-21c9-445b-b19f-c0bfbc98ba01.png) *Check out the details on available [task types](Mission-planning#task-types)* From b7ac13468c57de23811ad9f51d2ab8b31b333423 Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Thu, 11 Nov 2021 04:25:54 +0100 Subject: [PATCH 528/704] formatting changes --- Getting-started.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/Getting-started.md b/Getting-started.md index 8b9e087..725801e 100644 --- a/Getting-started.md +++ b/Getting-started.md @@ -68,11 +68,11 @@ Select any additional generation options you'd like to use. Note that the superc ![Generator options](https://user-images.githubusercontent.com/67376231/140954756-830238ea-cbcd-48f9-bb69-3014612a211e.png) Generator settings: -* No Aircraft carriers - select if you don't want any CVNs in your campaign, even if the faction you selected has them available -* No LHA - select if you don't want any LHAs in your campaign, even if the faction you selected has them available -* Use Supercarrier module - if you own the DCS Supercarrier module, you can select which CVN type will generated in your campaign -* No Player Navy - select whether you want combat ships in your campaign being generated or not -* No Enemy Navy - select whether you want enemy combat ships in your campaign being generated or not +- *No Aircraft carriers* - select if you don't want any CVNs in your campaign, even if the faction you selected has them available +- *No LHA* - select if you don't want any LHAs in your campaign, even if the faction you selected has them available +- *Use Supercarrier module* - if you own the DCS Supercarrier module, you can select which CVN type will generated in your campaign +- *No Player Navy* - select whether you want combat ships in your campaign being generated or not +- *No Enemy Navy* - select whether you want enemy combat ships in your campaign being generated or not Mod settings: * If you want any of these mods considered during your campaign generators, please select accordingly @@ -84,18 +84,18 @@ Mod settings: ![Difficulty and economic options](https://user-images.githubusercontent.com/67376231/140956004-d4967da9-66ea-454f-a2ef-4e34eaf7d08f.png) Economy options: -* Player income multiplier - defines the multiplier of the player per-round income which depends on the type and number of [objectives](Custom-Campaigns#objective-locations) held -* Enemy income multiplier - defines the multiplier of the enemies per-round income which depends on the type and number of [objectives](Custom-Campaigns#objective-locations) held -* Player starting budget - amount of available money at the beginning of the campaign, to procure aircraft / ground units -* Enemy starting budget - amount of available money at the beginning of the campaign, to procure aircraft / ground units +- *Player income multiplier* - defines the multiplier of the player per-round income which depends on the type and number of [objectives](Custom-Campaigns#objective-locations) held +- *Enemy income multiplier* - defines the multiplier of the enemies per-round income which depends on the type and number of [objectives](Custom-Campaigns#objective-locations) held +- *Player starting budget* - amount of available money at the beginning of the campaign, to procure aircraft / ground units +- *Enemy starting budget* - amount of available money at the beginning of the campaign, to procure aircraft / ground units Player assists: -* Automate runway repairs - system will automatically repair player owned, destroyed runways if enough budget is available -* Automate front-line purchases - system will automatically buy front-line ground units -* Automate aircraft purchases - system will automatically buy aircraft +- *Automate runway repairs* - system will automatically repair player owned, destroyed runways if enough budget is available +- *Automate front-line purchases* - system will automatically buy front-line ground units +- *Automate aircraft purchases* - system will automatically buy aircraft -_the system currently will spend 50% on aircraft and 50% on ground unit purchases_ +*The system currently will spend 50% on aircraft and 50% on ground unit purchases* Adjust difficulty and economic options as desired. Increasing enemy income and budget can increase the campaign difficulty, while reducing it can improve mission performance by reducing the number of units that the enemy can use at once. From 9d4347b4696e502161f4f4d026b341387ed13f08 Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Thu, 11 Nov 2021 06:23:40 +0100 Subject: [PATCH 529/704] add information on cloud base --- Tutorial-UI.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Tutorial-UI.md b/Tutorial-UI.md index 45ff1c5..8ab6964 100644 --- a/Tutorial-UI.md +++ b/Tutorial-UI.md @@ -32,6 +32,8 @@ Displays information about ... - current turn number including date and time - weather forcast +*pro tip: If you mouse hover over the weather forecast, you will get information about the cloud base altitude* + # ### 3 - Actions panel From f1fa688125d670a76920d62462e3d3ecf0595470 Mon Sep 17 00:00:00 2001 From: Starfire13 <72491792+Starfire13@users.noreply.github.com> Date: Sat, 13 Nov 2021 06:30:54 +1100 Subject: [PATCH 530/704] Updated Unit Transfers (markdown) --- Unit-Transfers.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/Unit-Transfers.md b/Unit-Transfers.md index ef9fc33..af4602c 100644 --- a/Unit-Transfers.md +++ b/Unit-Transfers.md @@ -2,9 +2,17 @@ Air units can currently only be transferred by assigning them to a mission and setting their arrival airbase to their new location. Units will relocate to their arrival airbase for the next turn regardless of where they land. -# Transferring Ground Units +**This feature is new in DCS Liberation 5.0.** -**This feature is new in DCS Liberation 3.0.** +In Liberation 5.0, squadrons can be transferred through the Air Wing pane by double-clicking on a squadron. + +![](https://i.imgur.com/a4KU76h.jpg) + +The transfer destination can then be selected from the pulldown menu at the bottom of the pane. + +![](https://i.imgur.com/1fX0Lef.jpg) + +# Transferring Ground Units Ground units can be moved between bases following the available transit routes. Transfers move along the transit route toward their destination at a speed of one control point per turn. From a2f11e7733f2d35109e4a87561dd6a59fe6620e0 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 12 Nov 2021 13:58:45 -0800 Subject: [PATCH 531/704] Updated Campaign maintenance (markdown) --- Campaign-maintenance.md | 1 - 1 file changed, 1 deletion(-) diff --git a/Campaign-maintenance.md b/Campaign-maintenance.md index 0bd4919..1627eaa 100644 --- a/Campaign-maintenance.md +++ b/Campaign-maintenance.md @@ -21,7 +21,6 @@ Persian Gulf | Battle for the UAE | @Mustang-25 Persian Gulf | Road to Dubai | @docofmur Syria | Battle for Golan Heights | @Khopa Syria | Full Map | @RoleplayingPleb -Syria | Humble Helper | @Sir-Headiii Syria | Operation Allied Sword | @sgtfuzzle17 Syria | Operation Black Ball | @sgtfuzzle17 Syria | Operation Mole Cricket 2010 | @Mustang-25 From f9602bf02c90e148573c3de5647fafc2125de2b2 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 12 Nov 2021 13:59:10 -0800 Subject: [PATCH 532/704] Updated Campaign maintenance (markdown) --- Campaign-maintenance.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Campaign-maintenance.md b/Campaign-maintenance.md index 1627eaa..d667af9 100644 --- a/Campaign-maintenance.md +++ b/Campaign-maintenance.md @@ -41,7 +41,7 @@ Map | Name | Last included in Syria | Inherent Resolve | 3.0.0 Syria | Operation Atilla | 4.0.0 Syria | Russian Intervention | 4.0.0 - +Syria | Humble Helper | 4.1.1 ## Becoming a campaign maintainer From f14e97c05fdd26d6952c7b4be89e702566fce104 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 12 Nov 2021 13:59:32 -0800 Subject: [PATCH 533/704] Updated Campaign maintenance (markdown) --- Campaign-maintenance.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Campaign-maintenance.md b/Campaign-maintenance.md index d667af9..68de9ae 100644 --- a/Campaign-maintenance.md +++ b/Campaign-maintenance.md @@ -38,10 +38,10 @@ These campaigns are broken and have no owner to fix them, so they have been remo Map | Name | Last included in --- | --- | --- +Syria | Humble Helper | 4.1.1 Syria | Inherent Resolve | 3.0.0 Syria | Operation Atilla | 4.0.0 Syria | Russian Intervention | 4.0.0 -Syria | Humble Helper | 4.1.1 ## Becoming a campaign maintainer From 12c83fed50a198c170c635c865dbcddaf22e41db Mon Sep 17 00:00:00 2001 From: Starfire13 <72491792+Starfire13@users.noreply.github.com> Date: Sat, 13 Nov 2021 11:04:36 +1100 Subject: [PATCH 534/704] Updated Unit Transfers (markdown) --- Unit-Transfers.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Unit-Transfers.md b/Unit-Transfers.md index af4602c..b091cfa 100644 --- a/Unit-Transfers.md +++ b/Unit-Transfers.md @@ -1,6 +1,7 @@ # Transferring Air Units -Air units can currently only be transferred by assigning them to a mission and setting their arrival airbase to their new location. Units will relocate to their arrival airbase for the next turn regardless of where they land. +Air units (in Liberation 4.x) can only be transferred by assigning them to a mission and setting their arrival airbase to their new location. Units will relocate to their arrival airbase for the next turn regardless of where they land. + **This feature is new in DCS Liberation 5.0.** From 72c486fcacd5de9df79e401ca8c674030a5fce18 Mon Sep 17 00:00:00 2001 From: Starfire13 <72491792+Starfire13@users.noreply.github.com> Date: Sat, 13 Nov 2021 11:04:54 +1100 Subject: [PATCH 535/704] Updated Unit Transfers (markdown) --- Unit-Transfers.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/Unit-Transfers.md b/Unit-Transfers.md index b091cfa..52234fd 100644 --- a/Unit-Transfers.md +++ b/Unit-Transfers.md @@ -2,9 +2,6 @@ Air units (in Liberation 4.x) can only be transferred by assigning them to a mission and setting their arrival airbase to their new location. Units will relocate to their arrival airbase for the next turn regardless of where they land. - -**This feature is new in DCS Liberation 5.0.** - In Liberation 5.0, squadrons can be transferred through the Air Wing pane by double-clicking on a squadron. ![](https://i.imgur.com/a4KU76h.jpg) From 290fb0b6843d3e4c966350ba5b4ddf11baf43be6 Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Sat, 13 Nov 2021 16:11:41 +0100 Subject: [PATCH 536/704] added heliport info; changed format for better readability; added income table for objective locations --- Custom-campaigns.md | 65 +++++++++++++++++++++++++++++++++------------ 1 file changed, 48 insertions(+), 17 deletions(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index f22b5d3..62043d0 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -192,12 +192,13 @@ Correct: aircraft: - F-14B Tomcat ``` - +# ## Designing campaigns in the mission editor When creating a campaign it may be easiest to start with an existing campaign in the same theater and modify it to suit your needs. If starting from scratch, ensure that Combined Joint Task Forces Blue and Combined Joint Task Forces Red are assigned to the blue and red coalitions respectively, as these will be used to define many of the campaigns properties. #### [Unit Type Quick Reference](#unit-type-quick-reference-1) +# ### Control points Control points are the spawn locations and (in most cases) the capturable positions in the campaign. @@ -206,6 +207,7 @@ Control points are the spawn locations and (in most cases) the capturable positi To make an airbase that starts controlled by blue, assign the airbase to the blue coalition in the mission editor. To make an airbase that starts controlled by red, assign the airbase to red. +# #### Carriers and LHAs To create a carrier, place a CVN-74 where you want it to be in the campaign. The carrier will be red if it belongs to CJTF Red and blue if it belongs to CJTF Blue. @@ -216,24 +218,37 @@ Note that the presence of the carrier or LHA in the game will depend on the play **New in DCS Liberation 5:** Campaign version 9.0 uses the carrier or LHA's group name to determine which squadrons should be located at the base by default. See the earlier section about squadron presets for more information. +# #### Off-map spawns To create a point where aircraft from other theaters can be spawned into the mission in-air, place an F-15C. As with carriers and LHAs, use CJTF Red or Blue to assign the point to either faction. The altitude of the unit is not currently relevant, as the spawn altitude of units in Liberation depends on the faction's doctrine and the unit type. +# #### Forward Operating Bases -A FOB a a capturable point that can spawn ground units but not aircraft. A FOB is defined by placing a CP_SKP_11_ATC_Mobile_Command_Post. A CJTF Blue group will create a FOB that begins owned by blue and a CJTF Red group will begin owned by red. +A FOB a a capturable point that can spawn ground units but not aircraft. + +- A FOB is defined by placing a CP_SKP_11_ATC_Mobile_Command_Post. +- A CJTF Blue group will create a FOB that begins owned by blue and a CJTF Red group will begin owned by red. + +To attach a Heliport to a FOB, the desired ammount of FARP pads have to be placed in the form of a static _invisible FARP_ close to the FOB. + +![Heliport](https://user-images.githubusercontent.com/67376231/141648488-ed3c33a3-7025-4d92-8b0b-86e0813be3aa.png) + +![FARP](https://user-images.githubusercontent.com/67376231/141648316-e39b3bc9-b943-47c5-a345-1cf4db05fde2.png) The group name of the unit is used to name the FOB. +# #### Campaign inversion Inverting the campaign allows the player to play the campaign in reverse (starting from the North instead of the South, for example). This doesn't simply swap all of the control points, but swaps a number of control points as defined by the mission designer so that the player doesn't begin the campaign with most of the control points already captured. To specify that an airbase should be owned by the player when the campaign is inverted, set the "unlimited aircraft" property of the warehouse. To specify the same for a FOB, carrier, LHA, or off-map spawn, set the "late activation" property of the group. +# ### Supply routes Supply routes are defined by placing a CJTF Blue M-113 at an airfield and defining a route to the connected control point. Front lines progress along supply routes, and supply routes also define road networks for ground unit transit. @@ -247,16 +262,19 @@ The supply route will follow the _waypoints_ of the vehicle group (not the path, **Work in Progress** Exclusion zones are being updated to try and allow frontlines to follow or at least be in the general area of convoy routes. Frontlines need to follow the center of these Exclusion zone corridors. The frontline will shrink down to a small area, based on the size of the corridor and the frontline. (# of units) The frontline might not render correctly if the line is to large, (# of units) limiting the ammo depots (explained below) on these frontlines will help limit this issue. +# ### Shipping lanes **New in DCS Liberation 3.0:** Shipping lanes define routes for transporting units between control points via cargo ships. To define a shipping lane, place a CJTF Blue Bulker Handy Wind. Shipping lanes should begin in port areas that are navigable by ships and have a route to another port area. DCS ships *will not* avoid driving into islands, so ensure that their waypoints plot a navigable route. +# ### Base defenses **New in DCS Liberation 3.0:** Random base defense generation is being removed. Replace the old base defense spawn locations with the desired number of fixed IADS and armor groups. These fixed groups do not follow exclusion zones, the placement of these is up to the campaign designer to insure they had enough room to spawn correctly. Testing should be done with largest possible group to ensure proper clearance with all factions. +# ### Objective locations **New in DCS Liberation 3.0:** Random objective locations should no longer be used. The instructions below describe how to place fixed objectives. The contents below have changed significantly since 2.5 and should be read in full when converting campaigns. These fixed groups do not follow exclusion zones, the placement of these is up to the campaign designer to insure they had enough room to spawn correctly. @@ -267,24 +285,28 @@ Objective locations are automatically associated with their closest control poin Strike targets are buildings that generate income for the owning coalition. These come in a variety of types depending on the faction: -* Power plants -* Fuel depots -* Warehouses -* FARPs -* Communications towers -* Oil derricks -* Bunkers -* Villages -* Army camps +Type | Income +-|- +Power plants | 4 +Fuel depots | 2 +Warehouses | 2 +FARPs | 1 +Communications towers | 10 +Oil derricks | 10 +Bunkers | 2 +Villages | 0,25 +Army camps | 0,5 To define a strike target location, place a Tech Combine structure. The unit may be either red or blue (the only difference is currently readability of the mission editor, but in the future will determine which coalition owns the objective). +# #### Offshore strike targets Offshore strike targets generate income for the owning coalition. -To define an offshore strike target, place a CJTF Red Oil Platform. +- To define an offshore strike target, place a CJTF Red Oil Platform. +# #### Map objects Arbitrary map objects may be used as strike targets. These are the buildings/trees/scenery that are placed by the map developer (Eagle Dynamics, etc). Liberation uses trigger zones to define scenery as a strike target. @@ -316,6 +338,7 @@ Note that `factory` and `ammo` have different behavior. See the documentation on * No images for the various buildings in the Liberation UI, briefing, or kneeboard. Target identification will be difficult. * Every blue trigger zone must have a unique name. +# #### Factories Factories are ground unit producing structures. Ground units may only originate from control points that have factories, so it is essential that each coalition have access to them. Units will form convoys to move between control points, and convoys may be interdicted to interrupt reinforcements. Destroyed factories will stop producing units. When a control point loses its last factory, it will no longer be a source for ground units. @@ -332,6 +355,7 @@ Recommendations for factory placement: Note that map objects (defined in the previous section) may be used as factories. Use the `factory` category. +# #### Ammunition Depots Ammunition Depots provide control over how many ground units are available to be deployed to the front line from it's closest control point. This directly effects how many ground units may be deployed on a front line. @@ -344,38 +368,44 @@ Alternatively, scenery objectives may be used with the `ammo` category to define Recommendations for Ammunition Depot placement: * Defend your ammunition depots with IADS and ground units. +# #### Ships Ships can be generated at airbases, carriers, and LHAs (but not off-map spawns). Ships will not be spawned if the player has disabled either player or enemy navies in the campaign generation options, or if the faction does not have naval units defined. -To define a ship location place a CJTF Red Arleigh Burke IIa. +- To define a ship location place a CJTF Red Arleigh Burke IIa. +# #### Missile sites Missile sites (scuds, V-2s, etc) can be generated at airbases and FOBs. Missile sites will only be spawned if the faction has them defined. -To define a missile site place a CJTF Red SSM SS-1C Scud-B. +- To define a missile site place a CJTF Red SSM SS-1C Scud-B. +# #### Coastal defenses Coastal defenses (silkworms) can be generated at airbases and FOBs. Coastal defenses will only be spawned if the faction has them defined. -To define a missile site place a CJTF Red AShM SS-N-2 Silkworm. +- To define a missile site place a CJTF Red AShM SS-N-2 Silkworm. +# #### Armor groups Armor groups are ground units that defend the assigned location. These groups will not move. -To define potential locations for garrison groups, place a (red or blue) MBT M1A2 Abrams. +- To define potential locations for garrison groups, place a (red or blue) MBT M1A2 Abrams. +# ### IADS IADS locations are automatically associated with the control point closest to them. SAM locations are split into four types: long range, medium range, short range, and AAA. Each type of position will prefer to be filled by its exact type, but if the faction has no air defenses of that type available the generator will continue to downgrade the site until it finds a match. For example, a medium range SAM may be used in place of a long range SAM. _Upgrades_ are not allowed. -Note that the exact type of SAM or EWR that will be placed depends on the faction definition. However, when designing a campaign with specific factions in mind (such as Syria defending on the Syria map), this allows the designer to see the coverage of the SAMs used by the intended faction. This way the designer can be sure that sufficient coverage will be present in the campaign when a faction using a specific type of SAM is used. +Note that the exact type of SAM or EWR that will be placed depends on the faction definition (SAM/EWR generators). However, when designing a campaign with specific factions in mind (such as Syria defending on the Syria map), this allows the designer to see the coverage of the SAMs used by the intended faction. This way the designer can be sure that sufficient coverage will be present in the campaign when a faction using a specific type of SAM is used. +# #### Early Warning Radars To define an EWR location, place a CJTF Red EWR 1L13. @@ -421,6 +451,7 @@ To define a AAA location, place a unit (red or blue) of any of the following typ * SPAAA Vulcan M163 * SPAAA ZSU-23-4 Shilka "Gun Dish" +# ## Unit Type Quick Reference: Objective type | Coalition | Unit types | Clearance From d081182bd86c41985ce637bc2cd8f1213a956be8 Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Sat, 13 Nov 2021 17:05:30 +0100 Subject: [PATCH 537/704] added spacing recommendation regarding FARP pads --- Custom-campaigns.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index 62043d0..22f39cf 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -232,8 +232,9 @@ A FOB a a capturable point that can spawn ground units but not aircraft. - A FOB is defined by placing a CP_SKP_11_ATC_Mobile_Command_Post. - A CJTF Blue group will create a FOB that begins owned by blue and a CJTF Red group will begin owned by red. +- To attach a Heliport to a FOB, the desired amount of FARP pads have to be placed in the form of a static _invisible FARP_ close to the FOB. -To attach a Heliport to a FOB, the desired ammount of FARP pads have to be placed in the form of a static _invisible FARP_ close to the FOB. +_pro tip: 300ft spacing between the invisible FARP pads recommended_ ![Heliport](https://user-images.githubusercontent.com/67376231/141648488-ed3c33a3-7025-4d92-8b0b-86e0813be3aa.png) From c8022801caa2b43c7ebd9c521a8ae344599b8262 Mon Sep 17 00:00:00 2001 From: Starfire13 <72491792+Starfire13@users.noreply.github.com> Date: Sun, 14 Nov 2021 07:20:27 +1100 Subject: [PATCH 538/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index 22f39cf..69dc3d4 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -1,4 +1,4 @@ -**For DCS Liberation 4.1 the campaign version is 8.0.** +**For DCS Liberation 5.0 the campaign version is 9.1.** Campaigns in DCS Liberation can be modified using the mission editor. Each campaign is defined by a JSON file to provide metadata, and a DCS mission file (`.miz` file) to set up the theater. From fc9f705cc66735df5d4969cee4d6122f4a224347 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sat, 13 Nov 2021 15:15:41 -0800 Subject: [PATCH 539/704] Updated Release process (markdown) --- Release-process.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/Release-process.md b/Release-process.md index 453b812..8d828ed 100644 --- a/Release-process.md +++ b/Release-process.md @@ -1,9 +1,7 @@ To release a new version of DCS Liberation: -1. Update changelog and release number in the release branch. -2. Make PR from the release branch to master -3. Merge when the build passes -4. Tag master when the build is complete. Format for release tags is `$MAJOR.$MINOR.$PATCH`. **Do not create a release.** A release will be created automatically by the GitHub action from the tag. +1. Make sure the version number and changelog are up to date in the release branch. If the changelog needs to be updated, fix it in develop first and cherry-pick the updates to the release branch so they stay in sync. +4. Tag the release branch when the build is complete. Format for release tags is `$MAJOR.$MINOR.$PATCH`. **Do not create a release.** A release will be created automatically by the GitHub action from the tag. 5. Smoke test the tagged build -6. In [Releases](https://github.com/dcs-liberation/dcs_liberation/releases), promote the tagged build to a release. Include the changelog in the description section. +6. In [Releases](https://github.com/dcs-liberation/dcs_liberation/releases), promote the tagged build to a release. The description should be pre-filled with the changelog. 7. Announce the release in #:loudspeaker:releases in Discord. \ No newline at end of file From 7154eb09e0d94c46146e1b46fa6c67ad6856435d Mon Sep 17 00:00:00 2001 From: Nosajthedevil <78634843+Nosajthedevil@users.noreply.github.com> Date: Sun, 14 Nov 2021 02:29:22 -0600 Subject: [PATCH 540/704] I'm trying to add a campaign for 5 --- Community-campaigns.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Community-campaigns.md b/Community-campaigns.md index 47a6f02..375eb6b 100644 --- a/Community-campaigns.md +++ b/Community-campaigns.md @@ -8,6 +8,7 @@ Persian Gulf | Battle of Hormuz | 4.0 | Kea | Join a coalition of Western allies Syria | Operation Syrian Salvation | 4.0 | CptBean | Protect the border crossing of Bab-Al Hawa from the Syrian Government, and relieve the country from their oppression by taking the fight all the way to Damascus, with the support of members from CJTF - Operation Inherent Resolve!| [Operation_Syrian_Salvation.zip](https://github.com/dcs-liberation/dcs_liberation/files/6824917/Operation_Syrian_Salvation.zip) Syria | Task Force Thunder | 4.1 | Sith1144 | US Invasion of Syria from Iraq and the Mediterranean. Based on Combat Mission: Shock Force. Comes with a custom Syria 2008 faction. | [Task Force Thunder.zip](https://github.com/dcs-liberation/dcs_liberation/files/6961313/Task.Force.Thunder.zip) Syria | All Along the Orontes | 4.1 | Sith1144 | Fictional campaign. Drive from Lebanon towards Homs, then follow the Orontes river north, then turn south at its mouth and besiege Latakia. Made to be helicopter-friendly.| [All_Along_the_Orontes.zip](https://github.com/dcs-liberation/dcs_liberation/files/6961403/All_Along_the_Orontes.zip) +Nevada | Irregular Warfare Exercise | 5.0 | Nosaj stole this from Doc | USMC COIN training exercise using the small airports on the Nevada map. Ripped off of a mission that Doc put together with all SAMs reduced to mobile units that could be airdropped in. Bluefor squadrons are setup to be USMC, please change the YAML to match your tastes. Redfor squadrons represent USSR in the late 70's to match what's highly available to your friendly local warlord on the black market. Using the PMC or insurgent factions will reduce aerial resistance. Great CAS / BAI / Strike training opportunity. | Paste the damn link here You can (with some effort) use GitHub for file uploads: From 9982fe763cecd035db16aa42182ba7f08619a075 Mon Sep 17 00:00:00 2001 From: Nosajthedevil <78634843+Nosajthedevil@users.noreply.github.com> Date: Sun, 14 Nov 2021 02:34:50 -0600 Subject: [PATCH 541/704] Updated Community campaigns (markdown) --- Community-campaigns.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Community-campaigns.md b/Community-campaigns.md index 375eb6b..f9875ee 100644 --- a/Community-campaigns.md +++ b/Community-campaigns.md @@ -8,7 +8,7 @@ Persian Gulf | Battle of Hormuz | 4.0 | Kea | Join a coalition of Western allies Syria | Operation Syrian Salvation | 4.0 | CptBean | Protect the border crossing of Bab-Al Hawa from the Syrian Government, and relieve the country from their oppression by taking the fight all the way to Damascus, with the support of members from CJTF - Operation Inherent Resolve!| [Operation_Syrian_Salvation.zip](https://github.com/dcs-liberation/dcs_liberation/files/6824917/Operation_Syrian_Salvation.zip) Syria | Task Force Thunder | 4.1 | Sith1144 | US Invasion of Syria from Iraq and the Mediterranean. Based on Combat Mission: Shock Force. Comes with a custom Syria 2008 faction. | [Task Force Thunder.zip](https://github.com/dcs-liberation/dcs_liberation/files/6961313/Task.Force.Thunder.zip) Syria | All Along the Orontes | 4.1 | Sith1144 | Fictional campaign. Drive from Lebanon towards Homs, then follow the Orontes river north, then turn south at its mouth and besiege Latakia. Made to be helicopter-friendly.| [All_Along_the_Orontes.zip](https://github.com/dcs-liberation/dcs_liberation/files/6961403/All_Along_the_Orontes.zip) -Nevada | Irregular Warfare Exercise | 5.0 | Nosaj stole this from Doc | USMC COIN training exercise using the small airports on the Nevada map. Ripped off of a mission that Doc put together with all SAMs reduced to mobile units that could be airdropped in. Bluefor squadrons are setup to be USMC, please change the YAML to match your tastes. Redfor squadrons represent USSR in the late 70's to match what's highly available to your friendly local warlord on the black market. Using the PMC or insurgent factions will reduce aerial resistance. Great CAS / BAI / Strike training opportunity. | Paste the damn link here +Nevada | Irregular Warfare Exercise | 5.0 | Nosaj stole this from Doc | USMC COIN training exercise using the small airports on the Nevada map. Ripped off of a mission that Doc put together with all SAMs reduced to mobile units that could be airdropped in. Bluefor squadrons are setup to be USMC, please change the YAML to match your tastes. Redfor squadrons represent USSR in the late 70's to match what's highly available to your friendly local warlord on the black market. Using the PMC or insurgent factions will reduce aerial resistance. Great CAS / BAI / Strike training opportunity. | [Nevada_Irregular_Warfare_Exercise.zip](https://github.com/dcs-liberation/dcs_liberation/files/7533409/Nevada_Irregular_Warfare_Exercise.zip) You can (with some effort) use GitHub for file uploads: From 8afa801073952cab0cb9437e528193da80f63ae6 Mon Sep 17 00:00:00 2001 From: Nosajthedevil <78634843+Nosajthedevil@users.noreply.github.com> Date: Sun, 14 Nov 2021 02:42:29 -0600 Subject: [PATCH 542/704] Updated Community campaigns (markdown) --- Community-campaigns.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Community-campaigns.md b/Community-campaigns.md index f9875ee..ea38791 100644 --- a/Community-campaigns.md +++ b/Community-campaigns.md @@ -8,7 +8,7 @@ Persian Gulf | Battle of Hormuz | 4.0 | Kea | Join a coalition of Western allies Syria | Operation Syrian Salvation | 4.0 | CptBean | Protect the border crossing of Bab-Al Hawa from the Syrian Government, and relieve the country from their oppression by taking the fight all the way to Damascus, with the support of members from CJTF - Operation Inherent Resolve!| [Operation_Syrian_Salvation.zip](https://github.com/dcs-liberation/dcs_liberation/files/6824917/Operation_Syrian_Salvation.zip) Syria | Task Force Thunder | 4.1 | Sith1144 | US Invasion of Syria from Iraq and the Mediterranean. Based on Combat Mission: Shock Force. Comes with a custom Syria 2008 faction. | [Task Force Thunder.zip](https://github.com/dcs-liberation/dcs_liberation/files/6961313/Task.Force.Thunder.zip) Syria | All Along the Orontes | 4.1 | Sith1144 | Fictional campaign. Drive from Lebanon towards Homs, then follow the Orontes river north, then turn south at its mouth and besiege Latakia. Made to be helicopter-friendly.| [All_Along_the_Orontes.zip](https://github.com/dcs-liberation/dcs_liberation/files/6961403/All_Along_the_Orontes.zip) -Nevada | Irregular Warfare Exercise | 5.0 | Nosaj stole this from Doc | USMC COIN training exercise using the small airports on the Nevada map. Ripped off of a mission that Doc put together with all SAMs reduced to mobile units that could be airdropped in. Bluefor squadrons are setup to be USMC, please change the YAML to match your tastes. Redfor squadrons represent USSR in the late 70's to match what's highly available to your friendly local warlord on the black market. Using the PMC or insurgent factions will reduce aerial resistance. Great CAS / BAI / Strike training opportunity. | [Nevada_Irregular_Warfare_Exercise.zip](https://github.com/dcs-liberation/dcs_liberation/files/7533409/Nevada_Irregular_Warfare_Exercise.zip) +Nevada | Irregular Warfare Exercise | 5.0 | Nosaj stole this from Doc | USMC COIN training exercise using the small airports on the Nevada map. Ripped off of a mission that Doc put together with all SAMs reduced to mobile units that could be airdropped in. Bluefor squadrons represent USMC airpower ( F/A-18, AV-8B, and AH-1Z plus some Navy assets), please change the YAML to match your tastes. Redfor squadrons represent USSR in the late 70's / early 80's to match what's highly available to your friendly local warlord on the black market. Using the PMC or insurgent factions will reduce aerial resistance. Great CAS / BAI / Strike training opportunity. | [Nevada_Irregular_Warfare_Exercise.zip](https://github.com/dcs-liberation/dcs_liberation/files/7533409/Nevada_Irregular_Warfare_Exercise.zip) You can (with some effort) use GitHub for file uploads: From 5d312393672e8ec576d727871eb5e553dcf88a73 Mon Sep 17 00:00:00 2001 From: Nosajthedevil <78634843+Nosajthedevil@users.noreply.github.com> Date: Sun, 14 Nov 2021 02:44:47 -0600 Subject: [PATCH 543/704] Updated Community campaigns (markdown) --- Community-campaigns.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Community-campaigns.md b/Community-campaigns.md index ea38791..0e6beeb 100644 --- a/Community-campaigns.md +++ b/Community-campaigns.md @@ -8,7 +8,7 @@ Persian Gulf | Battle of Hormuz | 4.0 | Kea | Join a coalition of Western allies Syria | Operation Syrian Salvation | 4.0 | CptBean | Protect the border crossing of Bab-Al Hawa from the Syrian Government, and relieve the country from their oppression by taking the fight all the way to Damascus, with the support of members from CJTF - Operation Inherent Resolve!| [Operation_Syrian_Salvation.zip](https://github.com/dcs-liberation/dcs_liberation/files/6824917/Operation_Syrian_Salvation.zip) Syria | Task Force Thunder | 4.1 | Sith1144 | US Invasion of Syria from Iraq and the Mediterranean. Based on Combat Mission: Shock Force. Comes with a custom Syria 2008 faction. | [Task Force Thunder.zip](https://github.com/dcs-liberation/dcs_liberation/files/6961313/Task.Force.Thunder.zip) Syria | All Along the Orontes | 4.1 | Sith1144 | Fictional campaign. Drive from Lebanon towards Homs, then follow the Orontes river north, then turn south at its mouth and besiege Latakia. Made to be helicopter-friendly.| [All_Along_the_Orontes.zip](https://github.com/dcs-liberation/dcs_liberation/files/6961403/All_Along_the_Orontes.zip) -Nevada | Irregular Warfare Exercise | 5.0 | Nosaj stole this from Doc | USMC COIN training exercise using the small airports on the Nevada map. Ripped off of a mission that Doc put together with all SAMs reduced to mobile units that could be airdropped in. Bluefor squadrons represent USMC airpower ( F/A-18, AV-8B, and AH-1Z plus some Navy assets), please change the YAML to match your tastes. Redfor squadrons represent USSR in the late 70's / early 80's to match what's highly available to your friendly local warlord on the black market. Using the PMC or insurgent factions will reduce aerial resistance. Great CAS / BAI / Strike training opportunity. | [Nevada_Irregular_Warfare_Exercise.zip](https://github.com/dcs-liberation/dcs_liberation/files/7533409/Nevada_Irregular_Warfare_Exercise.zip) +Nevada | Irregular Warfare Exercise | 5.0 | Nosaj stole this from Doc | USMC COIN training exercise using the small airports on the Nevada map. Ripped off of a mission that Doc put together with all SAMs reduced to mobile units that could be airdropped in. Bluefor squadrons represent USMC airpower ( F/A-18, AV-8B, and AH-1W plus some Navy assets), please change the YAML to match your tastes. Redfor squadrons represent USSR in the late 70's / early 80's to match what's highly available to your friendly local warlord on the black market. Using the PMC or insurgent factions will reduce aerial resistance. Great CAS / BAI / Strike training opportunity. | [Nevada_Irregular_Warfare_Exercise.zip](https://github.com/dcs-liberation/dcs_liberation/files/7533409/Nevada_Irregular_Warfare_Exercise.zip) You can (with some effort) use GitHub for file uploads: From ee6850e0ca29042d5ad1b4d290c652b85af8988f Mon Sep 17 00:00:00 2001 From: Nosajthedevil <78634843+Nosajthedevil@users.noreply.github.com> Date: Sun, 14 Nov 2021 02:47:33 -0600 Subject: [PATCH 544/704] Updated Community campaigns (markdown) --- Community-campaigns.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Community-campaigns.md b/Community-campaigns.md index 0e6beeb..7bbf57f 100644 --- a/Community-campaigns.md +++ b/Community-campaigns.md @@ -8,7 +8,7 @@ Persian Gulf | Battle of Hormuz | 4.0 | Kea | Join a coalition of Western allies Syria | Operation Syrian Salvation | 4.0 | CptBean | Protect the border crossing of Bab-Al Hawa from the Syrian Government, and relieve the country from their oppression by taking the fight all the way to Damascus, with the support of members from CJTF - Operation Inherent Resolve!| [Operation_Syrian_Salvation.zip](https://github.com/dcs-liberation/dcs_liberation/files/6824917/Operation_Syrian_Salvation.zip) Syria | Task Force Thunder | 4.1 | Sith1144 | US Invasion of Syria from Iraq and the Mediterranean. Based on Combat Mission: Shock Force. Comes with a custom Syria 2008 faction. | [Task Force Thunder.zip](https://github.com/dcs-liberation/dcs_liberation/files/6961313/Task.Force.Thunder.zip) Syria | All Along the Orontes | 4.1 | Sith1144 | Fictional campaign. Drive from Lebanon towards Homs, then follow the Orontes river north, then turn south at its mouth and besiege Latakia. Made to be helicopter-friendly.| [All_Along_the_Orontes.zip](https://github.com/dcs-liberation/dcs_liberation/files/6961403/All_Along_the_Orontes.zip) -Nevada | Irregular Warfare Exercise | 5.0 | Nosaj stole this from Doc | USMC COIN training exercise using the small airports on the Nevada map. Ripped off of a mission that Doc put together with all SAMs reduced to mobile units that could be airdropped in. Bluefor squadrons represent USMC airpower ( F/A-18, AV-8B, and AH-1W plus some Navy assets), please change the YAML to match your tastes. Redfor squadrons represent USSR in the late 70's / early 80's to match what's highly available to your friendly local warlord on the black market. Using the PMC or insurgent factions will reduce aerial resistance. Great CAS / BAI / Strike training opportunity. | [Nevada_Irregular_Warfare_Exercise.zip](https://github.com/dcs-liberation/dcs_liberation/files/7533409/Nevada_Irregular_Warfare_Exercise.zip) +Nevada | Irregular Warfare Exercise | 5.0 | Nosaj stole this from Doc | USMC COIN training exercise using the small airports on the Nevada map. Ripped off of a mission that Doc put together with all SAMs reduced to mobile units that could be airdropped in. BLUFOR squadrons represent USMC airpower ( F/A-18, AV-8B, and AH-1W plus some Navy assets), please change the YAML to match your tastes. OPFOR squadrons represent USSR in the late 70's / early 80's to match what's highly available to your friendly local warlord on the black market. Using the PMC or insurgent factions will reduce aerial resistance. Great CAS / BAI / Strike training opportunity. | [Nevada_Irregular_Warfare_Exercise.zip](https://github.com/dcs-liberation/dcs_liberation/files/7533409/Nevada_Irregular_Warfare_Exercise.zip) You can (with some effort) use GitHub for file uploads: From 68f6ca40a9481a330e4757e30fae833126ad7ed2 Mon Sep 17 00:00:00 2001 From: Nosajthedevil <78634843+Nosajthedevil@users.noreply.github.com> Date: Sun, 14 Nov 2021 02:48:48 -0600 Subject: [PATCH 545/704] Updated Community campaigns (markdown) --- Community-campaigns.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Community-campaigns.md b/Community-campaigns.md index 7bbf57f..ff70fc1 100644 --- a/Community-campaigns.md +++ b/Community-campaigns.md @@ -8,7 +8,7 @@ Persian Gulf | Battle of Hormuz | 4.0 | Kea | Join a coalition of Western allies Syria | Operation Syrian Salvation | 4.0 | CptBean | Protect the border crossing of Bab-Al Hawa from the Syrian Government, and relieve the country from their oppression by taking the fight all the way to Damascus, with the support of members from CJTF - Operation Inherent Resolve!| [Operation_Syrian_Salvation.zip](https://github.com/dcs-liberation/dcs_liberation/files/6824917/Operation_Syrian_Salvation.zip) Syria | Task Force Thunder | 4.1 | Sith1144 | US Invasion of Syria from Iraq and the Mediterranean. Based on Combat Mission: Shock Force. Comes with a custom Syria 2008 faction. | [Task Force Thunder.zip](https://github.com/dcs-liberation/dcs_liberation/files/6961313/Task.Force.Thunder.zip) Syria | All Along the Orontes | 4.1 | Sith1144 | Fictional campaign. Drive from Lebanon towards Homs, then follow the Orontes river north, then turn south at its mouth and besiege Latakia. Made to be helicopter-friendly.| [All_Along_the_Orontes.zip](https://github.com/dcs-liberation/dcs_liberation/files/6961403/All_Along_the_Orontes.zip) -Nevada | Irregular Warfare Exercise | 5.0 | Nosaj stole this from Doc | USMC COIN training exercise using the small airports on the Nevada map. Ripped off of a mission that Doc put together with all SAMs reduced to mobile units that could be airdropped in. BLUFOR squadrons represent USMC airpower ( F/A-18, AV-8B, and AH-1W plus some Navy assets), please change the YAML to match your tastes. OPFOR squadrons represent USSR in the late 70's / early 80's to match what's highly available to your friendly local warlord on the black market. Using the PMC or insurgent factions will reduce aerial resistance. Great CAS / BAI / Strike training opportunity. | [Nevada_Irregular_Warfare_Exercise.zip](https://github.com/dcs-liberation/dcs_liberation/files/7533409/Nevada_Irregular_Warfare_Exercise.zip) +Nevada | Irregular Warfare Exercise | 5.0 | Nosaj stole this from Doc | USMC COIN training exercise using the small airports on the Nevada map. Ripped off of a campaign that Doc put together with all SAMs reduced to mobile units that could be airdropped in. BLUFOR squadrons represent USMC airpower ( F/A-18, AV-8B, and AH-1W plus some Navy assets), please change the YAML to match your tastes. OPFOR squadrons represent USSR in the late 70's / early 80's to match what's highly available to your friendly local warlord on the black market. Using the PMC or insurgent factions will reduce aerial resistance. Great CAS / BAI / Strike training opportunity. | [Nevada_Irregular_Warfare_Exercise.zip](https://github.com/dcs-liberation/dcs_liberation/files/7533409/Nevada_Irregular_Warfare_Exercise.zip) You can (with some effort) use GitHub for file uploads: From a870695e67e6ae6606d09f9aa2512aaa81527099 Mon Sep 17 00:00:00 2001 From: GrEaSeLiTeNiN <94265170+GrEaSeLiTeNiN@users.noreply.github.com> Date: Sun, 14 Nov 2021 21:13:12 +0800 Subject: [PATCH 546/704] Updated Getting started (markdown) --- Getting-started.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Getting-started.md b/Getting-started.md index 725801e..05c3d90 100644 --- a/Getting-started.md +++ b/Getting-started.md @@ -8,7 +8,7 @@ You have two choices, either download a stable or a preview release: # ## Installation: -1. Extract the zip file to a new directory. DCS Liberation does not need to be separately installed; the extracted directory _is_ your DCS Liberation install. This can be extracted anywhere, but it should be a directory that you can access without Administrator privileges to ensure that Liberation runs correctly. +1. Extract the zip file to any directory. This _will be_ the install directory. It should preferably be a directory that's accessible without requiring Administrator privileges. Otherwise, in the shortcut's compatibility tab, select "Run this program as an administrator". 2. Then launch `liberation_main.exe` to launch DCS Liberation. First launch splash screen @@ -56,7 +56,7 @@ Choose your campaign/map and start date # ### Faction selection -Choose your faction, and the enemy faction. Based on the campaign configuration, either chose the authors intended, or select any faction of your choosing. +You can use the default factions shown (what the author intended) or choose your Player and Enemy factions. Note that the list of available aircraft is what's available for the campaign designer and not necessarily what will be available in the campaign. ![Faction selection](https://user-images.githubusercontent.com/67376231/140954024-397020b8-ce3f-4c67-b99b-6b71da71f205.png) From 53faa441462ab513cda8aa803b77b7cf76b1586c Mon Sep 17 00:00:00 2001 From: GrEaSeLiTeNiN <94265170+GrEaSeLiTeNiN@users.noreply.github.com> Date: Sun, 14 Nov 2021 21:34:58 +0800 Subject: [PATCH 547/704] Updated Getting started (markdown) --- Getting-started.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Getting-started.md b/Getting-started.md index 05c3d90..58090a6 100644 --- a/Getting-started.md +++ b/Getting-started.md @@ -56,7 +56,7 @@ Choose your campaign/map and start date # ### Faction selection -You can use the default factions shown (what the author intended) or choose your Player and Enemy factions. Note that the list of available aircraft is what's available for the campaign designer and not necessarily what will be available in the campaign. +You can use the default factions shown (what the author intended) or choose your Player Faction and Enemy Faction. Note that the list of available aircraft is what's available for the campaign designer and not necessarily what will be available in the campaign. ![Faction selection](https://user-images.githubusercontent.com/67376231/140954024-397020b8-ce3f-4c67-b99b-6b71da71f205.png) @@ -98,7 +98,7 @@ Player assists: *The system currently will spend 50% on aircraft and 50% on ground unit purchases* -Adjust difficulty and economic options as desired. Increasing enemy income and budget can increase the campaign difficulty, while reducing it can improve mission performance by reducing the number of units that the enemy can use at once. +Adjust difficulty and economic options as desired. Note that increasing Player/Enemy income can result in the campaign becoming busier as more units such as aircraft and vehicles will appear during play. If this affects FPS, try reducing the income multipliers. The player assists section allows the player to enable automatic economic management for their faction so they can focus on other aspects of the campaign. These options can be toggled later in the game settings. These options are described in detail in [the manual](Auto-purchase-options). From 07e452103b91f43cc05614655baab8ad38dd23f7 Mon Sep 17 00:00:00 2001 From: GrEaSeLiTeNiN <94265170+GrEaSeLiTeNiN@users.noreply.github.com> Date: Sun, 14 Nov 2021 21:48:59 +0800 Subject: [PATCH 548/704] Updated Getting started (markdown) --- Getting-started.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Getting-started.md b/Getting-started.md index 58090a6..9464d14 100644 --- a/Getting-started.md +++ b/Getting-started.md @@ -79,9 +79,9 @@ Mod settings: * You are required to have the selected mods already installed and operational prior to DCS Liberation campaign generation # -### Difficulty and economy options +### Difficulty and automation options -![Difficulty and economic options](https://user-images.githubusercontent.com/67376231/140956004-d4967da9-66ea-454f-a2ef-4e34eaf7d08f.png) +![Difficulty and automation options](https://user-images.githubusercontent.com/67376231/140956004-d4967da9-66ea-454f-a2ef-4e34eaf7d08f.png) Economy options: - *Player income multiplier* - defines the multiplier of the player per-round income which depends on the type and number of [objectives](Custom-Campaigns#objective-locations) held @@ -98,7 +98,7 @@ Player assists: *The system currently will spend 50% on aircraft and 50% on ground unit purchases* -Adjust difficulty and economic options as desired. Note that increasing Player/Enemy income can result in the campaign becoming busier as more units such as aircraft and vehicles will appear during play. If this affects FPS, try reducing the income multipliers. +Adjust difficulty and economy options as desired. A greater budget and income multiplier for the enemy will increase campaign difficulty. Note that more purchasing power can result in the campaign becoming busier as more units such as aircraft and vehicles appear during play. If this affects FPS, try reducing the income multipliers. The player assists section allows the player to enable automatic economic management for their faction so they can focus on other aspects of the campaign. These options can be toggled later in the game settings. These options are described in detail in [the manual](Auto-purchase-options). From a1334442bea60c9e9570eafbb40d79abb3b4d2b6 Mon Sep 17 00:00:00 2001 From: GrEaSeLiTeNiN <94265170+GrEaSeLiTeNiN@users.noreply.github.com> Date: Sun, 14 Nov 2021 21:52:53 +0800 Subject: [PATCH 549/704] Updated Getting started (markdown) --- Getting-started.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Getting-started.md b/Getting-started.md index 9464d14..3232cf2 100644 --- a/Getting-started.md +++ b/Getting-started.md @@ -100,7 +100,7 @@ Player assists: Adjust difficulty and economy options as desired. A greater budget and income multiplier for the enemy will increase campaign difficulty. Note that more purchasing power can result in the campaign becoming busier as more units such as aircraft and vehicles appear during play. If this affects FPS, try reducing the income multipliers. -The player assists section allows the player to enable automatic economic management for their faction so they can focus on other aspects of the campaign. These options can be toggled later in the game settings. These options are described in detail in [the manual](Auto-purchase-options). +The player assists section enables automatic management of repairs and purchases so the player can focus on other aspects of the campaign. These options can be toggled later in the game settings. These options are described in detail in [the manual](Auto-purchase-options). # ### Conclusion From 1e4980a70b23640a3a900b46c33aad78292017bb Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Mon, 15 Nov 2021 09:06:07 +0100 Subject: [PATCH 550/704] part01 of the 5x-rework --- Turn-Zero.md | 664 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 658 insertions(+), 6 deletions(-) diff --git a/Turn-Zero.md b/Turn-Zero.md index 084ccf1..5eaf865 100644 --- a/Turn-Zero.md +++ b/Turn-Zero.md @@ -1,4 +1,659 @@ -**The tutorial is out of date for DCS Liberation 3.0.** See the other sections of [the manual](https://github.com/dcs-liberation/dcs_liberation/wiki) for help. If you want to help us update the tutorial, [join the #doc-maintenance channel in our discord](https://discord.gg/fpJRYBV9). +Now that we covered the basic UI elements, let's start a campaign. + +For the example of this tutorial, a custom campaign has been picked by the author to illustrate the different buildng blocks and how they depend on each other. + + +Select a campaign / theater + +![image](https://user-images.githubusercontent.com/67376231/141736998-d180de8a-5c90-445e-bb3d-0a5054195bdc.png) + +As shown on the screenshot, the campaign auther set a few defaults: + +- default factions +- suggested start date + +For better illustration, the corresponding files will be shown as well + +_Pro tip: for more information on the format, go to [custom campaings](Custom-campaigns)_ + + +As shown in the campaign example below, the author designed it around a specific map/region/timeline and factions, to create the desired scenario. + +Players have full freedom, changing those, but will have to handle the consequences of their choices. + +Default factions define the general availibilty of **aircraft** for a campaign. However, the final list of aircraft shown in the _Air Wing Configuration_ dialogue depends on a few things. + +1. Is the aircraft part of the faction? +2. Is the aircraft capable of doing the required tasks/mission types? +3. Does a custom squadron exist? if not, one will be auto-generated +4. How does the campaign setup look like, in terms of starting squadron slots and their defined tasks/mission types? + + +![Air Wing Configuration](https://user-images.githubusercontent.com/67376231/141738419-104040a0-4a2a-4e93-83aa-4a2de7b93918.png) + +As you will see on the screenshot above, the faction "US Navy 1985" has more aircraft _available_ in the faction, than shown in the _Air Wing Configuration_ dialogue. + +Why is that so??? + +Well - let's look at it step by step: + +First of all, let's look at the [campaign configuration](Turn-Zero#Campaign-configuration) + +The players owned control points, at the start of the campaign are: + +- the carrier group defined as **Naval-1** +- the airfield **Gazipasa** +- the FOB **Bozdogan** +- the FOB **Latchi** + +Every of those control points consists of _squadron slots_ that need to be filled by the best suited airframe for that task. + +So at **Naval-1** we would like to cover the following mission types: + +- 2x BARCAP +- 1x SEAD +- 1x Strike +- 1x AEW&C +- 1x Refueling +- 1x Anti-ship + +As you can see below, the campaign author, had a very specific set of _aircrafts_ & _squadrons_ in mind. + +If you look closely at the _Air Wing Configuration_ screenshot above, you will notice that two aircrafts that are technically available to the chosen player faction, are missing: + +- F-14A Tomcat (Block 135-GR Late) +- F-4E Phantom II +# +Why, you keep asking? + +Well for **Naval-1** ... + +the BARCAP slots already have preferred aircraft defined, either via: + - the aircraft name itself, or + - the squadron name, implicitly matching the aircraft + +VF-101 and VF-101 are both F-14B squadron, so the planer already got enoguth input to make a choice --> F-14B + +See [Squadron example](#Squadron-example) + +That rules out the F14-A and since the F-4E Phantom II is not CVN compatible, it's out as well. + + +#### Naval-1 +``` +Naval-1: + - primary: BARCAP + secondary: air-to-air + aircraft: + - VF-101 + - primary: BARCAP + secondary: air-to-air + aircraft: + - VF-102 + - primary: SEAD + secondary: air-to-ground + aircraft: + - A-4E Skyhawk + - primary: Strike + secondary: air-to-ground + aircraft: + - A-4E Skyhawk + - primary: AEW&C + aircraft: + - VAW-125 + - primary: Refueling + aircraft: + - VS-35 (Tanker) + - primary: Anti-ship + secondary: air-to-ground + aircraft: + - VS-35 +``` +![image](https://user-images.githubusercontent.com/67376231/141743214-2f29e29b-0546-4522-bda5-eec93b64a986.png) + + +Let's have a look now on an airfield like Gazipasa, which is also part of the players starting control points. + +Same pattern as above with the carrier group. + +At **Gazipasa** we would like to cover the following mission types: + +- 1x AEW&C +- 1x Refueling +- 1x Transport + +That automatically rules out the placement of any combat focused aircraft/squadron. + +The example below also shows, that even if an aircraft is defined, that is not available to the chosen faction, the planer will look for the best suiting airframe and place it. + +# +#### Gazipasa +``` +# Gazipasa + 41: + - primary: AEW&C + aircraft: + - E-3A + - primary: Refueling + aircraft: + - KC-135 Stratotanker + - primary: Transport + aircraft: + - C-130 +``` + +US Navy 1985 does not have an E-3A available, but it got another aircraft that can do AEW&C - so that's why the E-2D will be picked. + +![image](https://user-images.githubusercontent.com/67376231/141742954-b87b1c17-07b6-479d-ad4a-2ee5d3d62e1a.png) + + +Same for Refueling - KC-135 is not available, but the S-3B Viking (Tanker) can fill that role. + +![image](https://user-images.githubusercontent.com/67376231/141742871-db39eef9-b5a8-42b6-83de-47e95c8c66b3.png) + + +And for the transport task, no C-130 is available, but the HSM-40 + +![image](https://user-images.githubusercontent.com/67376231/141743663-8b2b332f-fa47-49e7-93ff-5477f8c20e86.png) + + +The same patterns apply to the last two player owned control points, **FOB Bozdogan** & **FOB Latchi** + +#### FOB Bozdogan +``` + # FOB Bozdogan + FOB Bozdogan: + - primary: Transport + aircraft: + - HSM-40 + - UH-1H Iroquois +``` + +#### FOB Latchi +``` + # FOB Latchi + FOB Latchi: + - primary: CAS + secondary: air-to-ground + aircraft: + - AH-1W SuperCobra + - primary: Transport + secondary: air-to-ground + aircraft: + - UH-1H Iroquois +``` + +Since both FOBs have Heliports, even w/o the defintion of a specific aircraft, the planer would onlyhave rotorwing aircraft availble to fill the set mission types. + +UH-1H Iroquois +![image](https://user-images.githubusercontent.com/67376231/141744056-fe2cb453-aeb3-4060-b07f-7a70ed79ec9d.png) + + +AH-1W SuperCobra +![image](https://user-images.githubusercontent.com/67376231/141744110-91f7bc0c-181e-44b6-9229-697212b42e3e.png) + +# +## Faction configuration + +US Navy 1985 +``` +{ + "country": "USA", + "name": "US Navy 1985", + "authors": "HerrTom", + "description": "

      Highway to the Danger Zone! For Tomcat lovers.

      ", + "locales": [ + "en_US" + ], + "aircrafts": [ + "AH-1W SuperCobra", + "A-4E Skyhawk", + "F-14A Tomcat (Block 135-GR Late)", + "F-14B Tomcat", + "F-4E Phantom II", + "S-3B Viking", + "SH-60B Seahawk", + "UH-1H Iroquois" + ], + "awacs": [ + "E-2C Hawkeye" + ], + "tankers": [ + "S-3B Tanker" + ], + "frontline_units": [ + "M1043 HMMWV (M2 HMG)", + "M113", + "M163 Vulcan Air Defense System", + "M60A3 \"Patton\"" + ], + "artillery_units": [ + "M109A6 Paladin", + "M270 Multiple Launch Rocket System" + ], + "logistics_units": [ + "Truck M818 6x6" + ], + "infantry_units": [ + "Infantry M249", + "Infantry M4", + "MANPADS Stinger", + "Mortar 2B11 120mm" + ], + "air_defenses": [ + "ChaparralGenerator", + "HawkGenerator", + "VulcanGenerator" + ], + "aircraft_carrier": [ + "Stennis" + ], + "helicopter_carrier": [ + "LHA_Tarawa" + ], + "destroyers": [ + "PERRY" + ], + "cruisers": [ + "TICONDEROG" + ], + "carrier_names": [ + "CVN-71 Theodore Roosevelt", + "CVN-72 Abraham Lincoln", + "CVN-73 George Washington", + "CVN-74 John C. Stennis", + "CVN-75 Harry S. Truman" + ], + "helicopter_carrier_names": [ + "LHA-1 Tarawa", + "LHA-2 Saipan", + "LHA-3 Belleau Wood", + "LHA-4 Nassau", + "LHA-5 Peleliu" + ], + "navy_generators": [ + "OliverHazardPerryGroupGenerator" + ], + "requirements": {}, + "doctrine": "coldwar", + "liveries_overrides": { + "F/A-18C Hornet (Lot 20)": [ + "VFA-106", + "VFA-113", + "VFA-122", + "VFA-131", + "VFA-192", + "VFA-34", + "VFA-37", + "VFA-83", + "VFA-87", + "VFA-97" + ] + } +} +``` + +Syria 1982 + +``` +{ + "country": "Syria", + "name": "Syria 1982", + "authors": "Khopa", + "description": "

      Syria and Arab armies in the 1982 invasion of Lebanon

      ", + "aircrafts": [ + "Mi-8MTV2 Hip", + "MiG-19P Farmer-B", + "MiG-21bis Fishbed-N", + "MiG-23MLD Flogger-K", + "MiG-25PD Foxbat-E", + "Su-17M4 Fitter-K" + ], + "awacs": [ + "A-50" + ], + "tankers": [ + "IL-78M" + ], + "frontline_units": [ + "BMP-1", + "MT-LB", + "PT-76", + "S-60 57mm", + "T-55A", + "T-72B with Kontakt-1 ERA", + "ZSU-57-2 'Sparka'", + "ZU-23 on Ural-375" + ], + "artillery_units": [ + "BM-21 Grad" + ], + "logistics_units": [ + "LUV UAZ-469 Jeep", + "Truck Ural-375" + ], + "infantry_units": [ + "Infantry AK-74 Rus", + "Paratrooper AKS", + "Paratrooper RPG-16" + ], + "air_defenses": [ + "ColdWarFlakGenerator", + "EarlyColdWarFlakGenerator", + "SA2Generator", + "SA3Generator", + "SA6Generator", + "SA8Generator", + "SA9Generator", + "SA13Generator", + "ZSU23Generator", + "ZU23Generator", + "ZU23UralGenerator", + "ZSU57Generator" + ], + "ewrs": [ + "BoxSpringGenerator", + "TinShieldGenerator" + ], + "missiles": [ + "ScudGenerator" + ], + "missiles_group_count": 1, + "aircraft_carrier": [], + "helicopter_carrier": [], + "helicopter_carrier_names": [], + "destroyers": [], + "cruisers": [], + "requirements": {}, + "carrier_names": [], + "navy_generators": [ + "GrishaGroupGenerator" + ] +} +``` + +# +## Squadron example +``` +--- +name: VF-101 +nickname: Grim Reapers +country: USA +role: Strike Fighter +aircraft: F-14B Tomcat +livery: VF-101 Dark +mission_types: + - BAI + - BARCAP + - CAS + - DEAD + - Escort + - Intercept + - OCA/Aircraft + - OCA/Runway + - SEAD + - Strike + - Fighter sweep + - TARCAP +``` + + +# +## Campaign configuration + +Clash_over_Cyprus.yaml: +``` +--- +name: Syria - Clash over Cyprus +theater: Syria +authors: Maxl +description:

      Syria invades Cyprus, forcing NATO to act. The United States 6th fleet is the first to respond in the Mediterranean sea.

      +version: "9.1" +recommended_player_faction: US Navy 1985 +recommended_enemy_faction: Syria 1982 +miz: Clash_over_Cyprus.miz +performance: 1 +recommended_start_date: 1986-05-12 +squadrons: + #BLUFOR CVN + Naval-1: + - primary: BARCAP + secondary: air-to-air + aircraft: + - VF-101 + - primary: BARCAP + secondary: air-to-air + aircraft: + - VF-102 + - primary: SEAD + secondary: air-to-ground + aircraft: + - A-4E Skyhawk + - primary: Strike + secondary: air-to-ground + aircraft: + - A-4E Skyhawk + - primary: AEW&C + aircraft: + - VAW-125 + - primary: Refueling + aircraft: + - VS-35 (Tanker) + - primary: Anti-ship + secondary: air-to-ground + aircraft: + - VS-35 + # Gazipasa + 41: + - primary: AEW&C + aircraft: + - E-3A + - primary: Refueling + aircraft: + - KC-135 Stratotanker + - primary: Transport + aircraft: + - C-130 + # FOB Bozdogan + FOB Bozdogan: + - primary: Transport + aircraft: + - HSM-40 + - UH-1H Iroquois + # FOB Latchi + FOB Latchi: + - primary: CAS + secondary: air-to-ground + aircraft: + - AH-1W SuperCobra + - primary: Transport + secondary: air-to-ground + aircraft: + - UH-1H Iroquois + # Paphos + 46: + - primary: BARCAP + secondary: air-to-air + aircraft: + - MiG-21bis Fishbed-N + - primary: BARCAP + secondary: air-to-air + aircraft: + - MiG-23MLD Flogger-K + - primary: SEAD + secondary: air-to-ground + aircraft: + - Su-17M4 Fitter-K + - primary: Strike + secondary: air-to-ground + aircraft: + - Su-17M4 Fitter-K + - primary: Anti-ship + secondary: air-to-ground + aircraft: + - Su-17M4 Fitter-K + # Akrotiri + 44: + - primary: AEW&C + aircraft: + - A-50 + - primary: Refueling + aircraft: + - IL-78M + - primary: BARCAP + secondary: air-to-air + aircraft: + - MiG-21bis Fishbed-N + - primary: BARCAP + secondary: air-to-air + aircraft: + - MiG-23MLD Flogger-K + - primary: SEAD + secondary: air-to-ground + aircraft: + - Su-17M4 Fitter-K + - primary: Strike + secondary: air-to-ground + aircraft: + - Su-17M4 Fitter-K + - primary: Anti-ship + secondary: air-to-ground + aircraft: + - Su-17M4 Fitter-K + # FOB Morphou + FOB Morphou: + - primary: CAS + secondary: air-to-ground + aircraft: + - Mi-8MTV2 Hip + - Mi-24P Hind-F + - primary: CAS + aircraft: + - Mi-8MTV2 Hip + - Mi-24P Hind-F + - primary: Transport + secondary: air-to-ground + aircraft: + - Mi-8MTV2 Hip + # FOB Mari + FOB Mari: + - primary: CAS + secondary: air-to-ground + aircraft: + - Mi-8MTV2 Hip + - Mi-24P Hind-F + - primary: CAS + aircraft: + - Mi-8MTV2 Hip + - Mi-24P Hind-F + - primary: Transport + secondary: air-to-ground + aircraft: + - Mi-8MTV2 Hip + # Pinarbashi + 51: + - primary: CAS + secondary: air-to-ground + aircraft: + - Mi-8MTV2 Hip + - Mi-24P Hind-F + - primary: CAS + secondary: air-to-ground + aircraft: + - Mi-8MTV2 Hip + - Mi-24P Hind-F + - primary: CAS + secondary: air-to-ground + aircraft: + - Mi-8MTV2 Hip + - Mi-24P Hind-F + - primary: Transport + secondary: air-to-ground + aircraft: + - Mi-8MTV2 Hip + # Ercan + 49: + - primary: BARCAP + secondary: air-to-air + aircraft: + - MiG-29S Fulcrum-C + - primary: BARCAP + secondary: air-to-air + aircraft: + - MiG-21bis Fishbed-N + - primary: SEAD + secondary: air-to-ground + aircraft: + - Su-24M Fencer-D + - primary: Strike + secondary: air-to-ground + aircraft: + - Su-17M4 Fitter-K + # Larnaca + 47: + - primary: BARCAP + secondary: air-to-air + aircraft: + - MiG-21bis Fishbed-N + - primary: BARCAP + secondary: air-to-air + aircraft: + - MiG-23MLD Flogger-K + - primary: SEAD + secondary: air-to-ground + aircraft: + - Su-17M4 Fitter-K + - primary: Strike + secondary: air-to-ground + aircraft: + - Su-17M4 Fitter-K + - primary: Anti-ship + secondary: air-to-ground + aircraft: + - Su-17M4 Fitter-K + # Bassel Al-Assad + 21: + - primary: AEW&C + aircraft: + - A-50 + - primary: Refueling + aircraft: + - IL-78M + - primary: BARCAP + secondary: air-to-air + aircraft: + - MiG-21bis Fishbed-N + - primary: BARCAP + secondary: air-to-air + aircraft: + - MiG-23MLD Flogger-K + - primary: Anti-ship + secondary: air-to-ground + aircraft: + - Su-17M4 Fitter-K + - primary: Transport + aircraft: + - Mi-8MTV2 Hip + # FOB Latakia + FOB Latakia: + - primary: CAS + secondary: air-to-ground + aircraft: + - Mi-8MTV2 Hip + - Mi-24P Hind-F + - primary: CAS + aircraft: + - Mi-8MTV2 Hip + - Mi-24P Hind-F + - primary: Transport + secondary: air-to-ground + aircraft: + - Mi-8MTV2 Hip +``` + +# + +**THE PART BELOW REQUIRES A REWORK FOR 5.x** In DCS Liberation you may take control of planning decisions regarding the course of the ongoing war. @@ -10,13 +665,13 @@ This is a turn based simulation. Each turn, DCS Liberation will generate a DCS W On the map, click on an airbase (or right click and select "Open base menu") to open the base management menu. For the full demonstration, choose an airbase that is connected to the active front line. -![Open base menu screenshot](https://user-images.githubusercontent.com/315852/102667191-aad79e00-413d-11eb-8a18-c5b6efb4dea8.png) + ### Aircraft recruitment In Airfield Command tab, click on the "+" button to order new aircraft: -![Airfield command screenshot](https://user-images.githubusercontent.com/315852/102667380-0dc93500-413e-11eb-9b33-8fb44d5fd302.png) + Purchased aircraft will arrive at the airfield next turn. Orders can be canceled and aircraft can be sold using the "-" button. **Sales are immediate and cannot be canceled**, so be careful to not sell aircraft you need for the turn. @@ -28,12 +683,9 @@ You will need to buy aircraft for your entire faction, not just your own aircraf In the Ground Forces HQ menu you can recruit ground forces that will fight on the front line. -![Ground forces HQ screenshot](https://user-images.githubusercontent.com/315852/102667718-eaeb5080-413e-11eb-8b1b-815399997e07.png) Ground units are very important, since they will fight on the frontline to progress toward the nearby enemy bases and defend your airbase against enemy attacks. Do not underestimate this part of the conflict! ## Ending the turn The units you bought will not be delivered until next turn. Spend your remaining budget and click the pass turn button to continue to the first turn. - -![image](https://user-images.githubusercontent.com/315852/102667824-2ede5580-413f-11eb-8f40-03d491cf82bd.png) \ No newline at end of file From 8f73493fd96871bceb9b4c04d0657608648bbbd5 Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Mon, 15 Nov 2021 09:08:36 +0100 Subject: [PATCH 551/704] minor update --- Turn-Zero.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Turn-Zero.md b/Turn-Zero.md index 5eaf865..c68b554 100644 --- a/Turn-Zero.md +++ b/Turn-Zero.md @@ -13,10 +13,13 @@ As shown on the screenshot, the campaign auther set a few defaults: - suggested start date For better illustration, the corresponding files will be shown as well +- [Campaign configuration](#Campaign-configuration) +- [Faction configuration](#Faction-configuration) +- [Squadron example](#Squadron-example) _Pro tip: for more information on the format, go to [custom campaings](Custom-campaigns)_ - +# As shown in the campaign example below, the author designed it around a specific map/region/timeline and factions, to create the desired scenario. Players have full freedom, changing those, but will have to handle the consequences of their choices. From ec1b2e35bd70b36ce5c334e0652dd80fb7654061 Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Mon, 15 Nov 2021 09:10:16 +0100 Subject: [PATCH 552/704] wording changes --- Turn-Zero.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Turn-Zero.md b/Turn-Zero.md index c68b554..2cc6031 100644 --- a/Turn-Zero.md +++ b/Turn-Zero.md @@ -49,7 +49,7 @@ The players owned control points, at the start of the campaign are: - the FOB **Bozdogan** - the FOB **Latchi** -Every of those control points consists of _squadron slots_ that need to be filled by the best suited airframe for that task. +Every of those control points consists of mission profiles aka _squadron slots_ that need to be filled by the best suited airframe for that task. So at **Naval-1** we would like to cover the following mission types: From 07be067bd2cceba817cbfd61e650d80fa7bc5d28 Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Mon, 15 Nov 2021 09:11:21 +0100 Subject: [PATCH 553/704] format corrections --- Turn-Zero.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Turn-Zero.md b/Turn-Zero.md index 2cc6031..592159f 100644 --- a/Turn-Zero.md +++ b/Turn-Zero.md @@ -72,8 +72,8 @@ Why, you keep asking? Well for **Naval-1** ... the BARCAP slots already have preferred aircraft defined, either via: - - the aircraft name itself, or - - the squadron name, implicitly matching the aircraft +- the aircraft name itself, or +- the squadron name, implicitly matching the aircraft VF-101 and VF-101 are both F-14B squadron, so the planer already got enoguth input to make a choice --> F-14B From 3ed851b9d1c248be25992fb0cf78bea4f50206ce Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Mon, 15 Nov 2021 09:14:50 +0100 Subject: [PATCH 554/704] spelling corrections --- Turn-Zero.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/Turn-Zero.md b/Turn-Zero.md index 592159f..88ae0ff 100644 --- a/Turn-Zero.md +++ b/Turn-Zero.md @@ -1,13 +1,13 @@ Now that we covered the basic UI elements, let's start a campaign. -For the example of this tutorial, a custom campaign has been picked by the author to illustrate the different buildng blocks and how they depend on each other. +For the example of this tutorial, a custom campaign has been picked by the author to illustrate the different building blocks and how they depend on each other. Select a campaign / theater ![image](https://user-images.githubusercontent.com/67376231/141736998-d180de8a-5c90-445e-bb3d-0a5054195bdc.png) -As shown on the screenshot, the campaign auther set a few defaults: +As shown on the screenshot, the campaign author set a few defaults: - default factions - suggested start date @@ -17,14 +17,14 @@ For better illustration, the corresponding files will be shown as well - [Faction configuration](#Faction-configuration) - [Squadron example](#Squadron-example) -_Pro tip: for more information on the format, go to [custom campaings](Custom-campaigns)_ +_Pro tip: for more information on the format, go to [custom campaigns](Custom-campaigns)_ # As shown in the campaign example below, the author designed it around a specific map/region/timeline and factions, to create the desired scenario. Players have full freedom, changing those, but will have to handle the consequences of their choices. -Default factions define the general availibilty of **aircraft** for a campaign. However, the final list of aircraft shown in the _Air Wing Configuration_ dialogue depends on a few things. +Default factions define the general availability of **aircraft** for a campaign. However, the final list of aircraft shown in the _Air Wing Configuration_ dialogue depends on a few things. 1. Is the aircraft part of the faction? 2. Is the aircraft capable of doing the required tasks/mission types? @@ -49,7 +49,7 @@ The players owned control points, at the start of the campaign are: - the FOB **Bozdogan** - the FOB **Latchi** -Every of those control points consists of mission profiles aka _squadron slots_ that need to be filled by the best suited airframe for that task. +Every of those control points consists of mission profiles aka _squadron slots_ that need to be filled by the best suited air frame for that task. So at **Naval-1** we would like to cover the following mission types: @@ -60,9 +60,9 @@ So at **Naval-1** we would like to cover the following mission types: - 1x Refueling - 1x Anti-ship -As you can see below, the campaign author, had a very specific set of _aircrafts_ & _squadrons_ in mind. +As you can see below, the campaign author, had a very specific set of _aircraft_ & _squadrons_ in mind. -If you look closely at the _Air Wing Configuration_ screenshot above, you will notice that two aircrafts that are technically available to the chosen player faction, are missing: +If you look closely at the _Air Wing Configuration_ screenshot above, you will notice that two aircraft that are technically available to the chosen player faction, are missing: - F-14A Tomcat (Block 135-GR Late) - F-4E Phantom II @@ -75,7 +75,7 @@ the BARCAP slots already have preferred aircraft defined, either via: - the aircraft name itself, or - the squadron name, implicitly matching the aircraft -VF-101 and VF-101 are both F-14B squadron, so the planer already got enoguth input to make a choice --> F-14B +VF-101 and VF-101 are both F-14B squadron, so the planer already got enougth input to make a choice --> F-14B See [Squadron example](#Squadron-example) @@ -127,7 +127,7 @@ At **Gazipasa** we would like to cover the following mission types: That automatically rules out the placement of any combat focused aircraft/squadron. -The example below also shows, that even if an aircraft is defined, that is not available to the chosen faction, the planer will look for the best suiting airframe and place it. +The example below also shows, that even if an aircraft is defined, that is not available to the chosen faction, the planer will look for the best suiting air frame and place it. # #### Gazipasa @@ -186,7 +186,7 @@ The same patterns apply to the last two player owned control points, **FOB Bozdo - UH-1H Iroquois ``` -Since both FOBs have Heliports, even w/o the defintion of a specific aircraft, the planer would onlyhave rotorwing aircraft availble to fill the set mission types. +Since both FOBs have Heliports, even w/o the definition of a specific aircraft, the planer would only have rotor-wing aircraft available to fill the set mission types. UH-1H Iroquois ![image](https://user-images.githubusercontent.com/67376231/141744056-fe2cb453-aeb3-4060-b07f-7a70ed79ec9d.png) From 8cc334667f50fddb90ec3b2c65992e52e7cea19b Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Mon, 15 Nov 2021 09:20:19 +0100 Subject: [PATCH 555/704] header adjustments --- Turn-Zero.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/Turn-Zero.md b/Turn-Zero.md index 88ae0ff..2340e3b 100644 --- a/Turn-Zero.md +++ b/Turn-Zero.md @@ -1,13 +1,13 @@ -Now that we covered the basic UI elements, let's start a campaign. +Now that we have a good basic understanding of what DCS Liberation is, thanks to the [Getting started guide](Getting-started) and we covered the basic [UI elements](Tutorial-UI), let's start a campaign. -For the example of this tutorial, a custom campaign has been picked by the author to illustrate the different building blocks and how they depend on each other. +For the example of this tutorial, a custom campaign has been picked by the author to illustrate the different buildng blocks and how they depend on each other. Select a campaign / theater ![image](https://user-images.githubusercontent.com/67376231/141736998-d180de8a-5c90-445e-bb3d-0a5054195bdc.png) -As shown on the screenshot, the campaign author set a few defaults: +As shown on the screenshot, the campaign auther set a few defaults: - default factions - suggested start date @@ -17,14 +17,14 @@ For better illustration, the corresponding files will be shown as well - [Faction configuration](#Faction-configuration) - [Squadron example](#Squadron-example) -_Pro tip: for more information on the format, go to [custom campaigns](Custom-campaigns)_ +_Pro tip: for more information on the format, go to [custom campaings](Custom-campaigns)_ # As shown in the campaign example below, the author designed it around a specific map/region/timeline and factions, to create the desired scenario. Players have full freedom, changing those, but will have to handle the consequences of their choices. -Default factions define the general availability of **aircraft** for a campaign. However, the final list of aircraft shown in the _Air Wing Configuration_ dialogue depends on a few things. +Default factions define the general availibilty of **aircraft** for a campaign. However, the final list of aircraft shown in the _Air Wing Configuration_ dialogue depends on a few things. 1. Is the aircraft part of the faction? 2. Is the aircraft capable of doing the required tasks/mission types? @@ -49,7 +49,7 @@ The players owned control points, at the start of the campaign are: - the FOB **Bozdogan** - the FOB **Latchi** -Every of those control points consists of mission profiles aka _squadron slots_ that need to be filled by the best suited air frame for that task. +Every of those control points consists of mission profiles aka _squadron slots_ that need to be filled by the best suited airframe for that task. So at **Naval-1** we would like to cover the following mission types: @@ -60,9 +60,9 @@ So at **Naval-1** we would like to cover the following mission types: - 1x Refueling - 1x Anti-ship -As you can see below, the campaign author, had a very specific set of _aircraft_ & _squadrons_ in mind. +As you can see below, the campaign author, had a very specific set of _aircrafts_ & _squadrons_ in mind. -If you look closely at the _Air Wing Configuration_ screenshot above, you will notice that two aircraft that are technically available to the chosen player faction, are missing: +If you look closely at the _Air Wing Configuration_ screenshot above, you will notice that two aircrafts that are technically available to the chosen player faction, are missing: - F-14A Tomcat (Block 135-GR Late) - F-4E Phantom II @@ -75,7 +75,7 @@ the BARCAP slots already have preferred aircraft defined, either via: - the aircraft name itself, or - the squadron name, implicitly matching the aircraft -VF-101 and VF-101 are both F-14B squadron, so the planer already got enougth input to make a choice --> F-14B +VF-101 and VF-101 are both F-14B squadron, so the planer already got enoguth input to make a choice --> F-14B See [Squadron example](#Squadron-example) @@ -127,7 +127,7 @@ At **Gazipasa** we would like to cover the following mission types: That automatically rules out the placement of any combat focused aircraft/squadron. -The example below also shows, that even if an aircraft is defined, that is not available to the chosen faction, the planer will look for the best suiting air frame and place it. +The example below also shows, that even if an aircraft is defined, that is not available to the chosen faction, the planer will look for the best suiting airframe and place it. # #### Gazipasa @@ -186,7 +186,7 @@ The same patterns apply to the last two player owned control points, **FOB Bozdo - UH-1H Iroquois ``` -Since both FOBs have Heliports, even w/o the definition of a specific aircraft, the planer would only have rotor-wing aircraft available to fill the set mission types. +Since both FOBs have Heliports, even w/o the defintion of a specific aircraft, the planer would onlyhave rotorwing aircraft availble to fill the set mission types. UH-1H Iroquois ![image](https://user-images.githubusercontent.com/67376231/141744056-fe2cb453-aeb3-4060-b07f-7a70ed79ec9d.png) From ac1042871e9fb7b4ef539bc1cffa370f274fa79e Mon Sep 17 00:00:00 2001 From: Starfire13 <72491792+Starfire13@users.noreply.github.com> Date: Mon, 15 Nov 2021 19:21:37 +1100 Subject: [PATCH 556/704] Updated Turn Zero (markdown) --- Turn-Zero.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Turn-Zero.md b/Turn-Zero.md index 2340e3b..6433175 100644 --- a/Turn-Zero.md +++ b/Turn-Zero.md @@ -17,7 +17,7 @@ For better illustration, the corresponding files will be shown as well - [Faction configuration](#Faction-configuration) - [Squadron example](#Squadron-example) -_Pro tip: for more information on the format, go to [custom campaings](Custom-campaigns)_ +_Pro tip: for more information on the format, go to [custom campaigns](Custom-campaigns)_ # As shown in the campaign example below, the author designed it around a specific map/region/timeline and factions, to create the desired scenario. From a4895fa01818b50290d6ea47efec51fefe4065e8 Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Mon, 15 Nov 2021 09:22:11 +0100 Subject: [PATCH 557/704] faction example-link --- Turn-Zero.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Turn-Zero.md b/Turn-Zero.md index 6433175..428f8ea 100644 --- a/Turn-Zero.md +++ b/Turn-Zero.md @@ -17,7 +17,7 @@ For better illustration, the corresponding files will be shown as well - [Faction configuration](#Faction-configuration) - [Squadron example](#Squadron-example) -_Pro tip: for more information on the format, go to [custom campaigns](Custom-campaigns)_ +_Pro tip: for more information on the format, go to [custom campaings](Custom-campaigns)_ # As shown in the campaign example below, the author designed it around a specific map/region/timeline and factions, to create the desired scenario. @@ -34,7 +34,7 @@ Default factions define the general availibilty of **aircraft** for a campaign. ![Air Wing Configuration](https://user-images.githubusercontent.com/67376231/141738419-104040a0-4a2a-4e93-83aa-4a2de7b93918.png) -As you will see on the screenshot above, the faction "US Navy 1985" has more aircraft _available_ in the faction, than shown in the _Air Wing Configuration_ dialogue. +As you will see on the screenshot above, the faction "US Navy 1985" has more aircraft _available_ in the [faction](#Faction-configuration), than shown in the _Air Wing Configuration_ dialogue. Why is that so??? From 9651bfaf3f6b568779fcd9f8b8fc0f8a921752e0 Mon Sep 17 00:00:00 2001 From: Starfire13 <72491792+Starfire13@users.noreply.github.com> Date: Mon, 15 Nov 2021 19:22:39 +1100 Subject: [PATCH 558/704] Updated Turn Zero (markdown) --- Turn-Zero.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Turn-Zero.md b/Turn-Zero.md index 428f8ea..9c1d797 100644 --- a/Turn-Zero.md +++ b/Turn-Zero.md @@ -22,7 +22,7 @@ _Pro tip: for more information on the format, go to [custom campaings](Custom-ca # As shown in the campaign example below, the author designed it around a specific map/region/timeline and factions, to create the desired scenario. -Players have full freedom, changing those, but will have to handle the consequences of their choices. +Players have full freedom to change those, but will have to handle the consequences of their choices. Default factions define the general availibilty of **aircraft** for a campaign. However, the final list of aircraft shown in the _Air Wing Configuration_ dialogue depends on a few things. From 47c44fadfd69a1708ce1fa96ff8fff46bc54690d Mon Sep 17 00:00:00 2001 From: Starfire13 <72491792+Starfire13@users.noreply.github.com> Date: Mon, 15 Nov 2021 19:23:10 +1100 Subject: [PATCH 559/704] Updated Turn Zero (markdown) --- Turn-Zero.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Turn-Zero.md b/Turn-Zero.md index 9c1d797..48e4523 100644 --- a/Turn-Zero.md +++ b/Turn-Zero.md @@ -17,7 +17,7 @@ For better illustration, the corresponding files will be shown as well - [Faction configuration](#Faction-configuration) - [Squadron example](#Squadron-example) -_Pro tip: for more information on the format, go to [custom campaings](Custom-campaigns)_ +_Pro tip: for more information on the format, go to [custom campaigns](Custom-campaigns)_ # As shown in the campaign example below, the author designed it around a specific map/region/timeline and factions, to create the desired scenario. From 5e16daba879a467d95d644e7d65101ab9c3f3ce6 Mon Sep 17 00:00:00 2001 From: Starfire13 <72491792+Starfire13@users.noreply.github.com> Date: Mon, 15 Nov 2021 19:27:11 +1100 Subject: [PATCH 560/704] Updated Turn Zero (markdown) --- Turn-Zero.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Turn-Zero.md b/Turn-Zero.md index 48e4523..89db08c 100644 --- a/Turn-Zero.md +++ b/Turn-Zero.md @@ -75,7 +75,7 @@ the BARCAP slots already have preferred aircraft defined, either via: - the aircraft name itself, or - the squadron name, implicitly matching the aircraft -VF-101 and VF-101 are both F-14B squadron, so the planer already got enoguth input to make a choice --> F-14B +VF-101 and VF-101 are both F-14B squadron, so the planner already has enough input to make a choice --> F-14B See [Squadron example](#Squadron-example) From 92006130de1cb9309de84eac69001798764fbc29 Mon Sep 17 00:00:00 2001 From: Starfire13 <72491792+Starfire13@users.noreply.github.com> Date: Mon, 15 Nov 2021 19:30:55 +1100 Subject: [PATCH 561/704] Updated Turn Zero (markdown) --- Turn-Zero.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Turn-Zero.md b/Turn-Zero.md index 89db08c..36caee8 100644 --- a/Turn-Zero.md +++ b/Turn-Zero.md @@ -127,7 +127,7 @@ At **Gazipasa** we would like to cover the following mission types: That automatically rules out the placement of any combat focused aircraft/squadron. -The example below also shows, that even if an aircraft is defined, that is not available to the chosen faction, the planer will look for the best suiting airframe and place it. +The example below also shows, that even if an aircraft is defined, that is not available to the chosen faction, the planner will look for the best suiting airframe and place it. # #### Gazipasa @@ -186,7 +186,7 @@ The same patterns apply to the last two player owned control points, **FOB Bozdo - UH-1H Iroquois ``` -Since both FOBs have Heliports, even w/o the defintion of a specific aircraft, the planer would onlyhave rotorwing aircraft availble to fill the set mission types. +Since both FOBs have Heliports, even w/o the defintion of a specific aircraft, the planner would only have rotorwing aircraft availble to fill the set mission types. UH-1H Iroquois ![image](https://user-images.githubusercontent.com/67376231/141744056-fe2cb453-aeb3-4060-b07f-7a70ed79ec9d.png) From 0cce89e3111c2cef86df5705d60f372ef3751a8a Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Mon, 15 Nov 2021 09:34:09 +0100 Subject: [PATCH 562/704] Updated Turn Zero (markdown) --- Turn-Zero.md | 35 +++++++++++++++++++++++------------ 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/Turn-Zero.md b/Turn-Zero.md index 36caee8..58b3876 100644 --- a/Turn-Zero.md +++ b/Turn-Zero.md @@ -1,13 +1,13 @@ Now that we have a good basic understanding of what DCS Liberation is, thanks to the [Getting started guide](Getting-started) and we covered the basic [UI elements](Tutorial-UI), let's start a campaign. -For the example of this tutorial, a custom campaign has been picked by the author to illustrate the different buildng blocks and how they depend on each other. +For the example of this tutorial, a custom campaign has been picked by the author to illustrate the different building blocks and how they depend on each other. Select a campaign / theater ![image](https://user-images.githubusercontent.com/67376231/141736998-d180de8a-5c90-445e-bb3d-0a5054195bdc.png) -As shown on the screenshot, the campaign auther set a few defaults: +As shown on the screenshot, the campaign author set a few defaults: - default factions - suggested start date @@ -22,13 +22,13 @@ _Pro tip: for more information on the format, go to [custom campaigns](Custom-ca # As shown in the campaign example below, the author designed it around a specific map/region/timeline and factions, to create the desired scenario. -Players have full freedom to change those, but will have to handle the consequences of their choices. +Players have full freedom, changing those, but will have to handle the consequences of their choices. -Default factions define the general availibilty of **aircraft** for a campaign. However, the final list of aircraft shown in the _Air Wing Configuration_ dialogue depends on a few things. +Default factions define the general availability of **aircraft** for a campaign. However, the final list of aircraft shown in the _Air Wing Configuration_ dialogue depends on a few things. 1. Is the aircraft part of the faction? 2. Is the aircraft capable of doing the required tasks/mission types? -3. Does a custom squadron exist? if not, one will be auto-generated +3. Does a preset squadron exist? if not, one will be auto-generated 4. How does the campaign setup look like, in terms of starting squadron slots and their defined tasks/mission types? @@ -49,7 +49,7 @@ The players owned control points, at the start of the campaign are: - the FOB **Bozdogan** - the FOB **Latchi** -Every of those control points consists of mission profiles aka _squadron slots_ that need to be filled by the best suited airframe for that task. +Every of those control points consists of mission profiles aka _squadron slots_ that need to be filled by the best suited air frame for that task. So at **Naval-1** we would like to cover the following mission types: @@ -60,9 +60,9 @@ So at **Naval-1** we would like to cover the following mission types: - 1x Refueling - 1x Anti-ship -As you can see below, the campaign author, had a very specific set of _aircrafts_ & _squadrons_ in mind. +As you can see below, the campaign author, had a very specific set of _aircraft_ & _squadrons_ in mind. -If you look closely at the _Air Wing Configuration_ screenshot above, you will notice that two aircrafts that are technically available to the chosen player faction, are missing: +If you look closely at the _Air Wing Configuration_ screenshot above, you will notice that two aircraft that are technically available to the chosen player faction, are missing: - F-14A Tomcat (Block 135-GR Late) - F-4E Phantom II @@ -75,12 +75,23 @@ the BARCAP slots already have preferred aircraft defined, either via: - the aircraft name itself, or - the squadron name, implicitly matching the aircraft -VF-101 and VF-101 are both F-14B squadron, so the planner already has enough input to make a choice --> F-14B +VF-101 and VF-101 are both F-14B squadron, so the planer already got enough input to make a choice --> F-14B See [Squadron example](#Squadron-example) That rules out the F14-A and since the F-4E Phantom II is not CVN compatible, it's out as well. +All other mission types have specific _aircraft_ or _squadrons_ defined, like + +- SEAD -> A-4E Skyhawk +- STRIKE -> A-4E Skyhawk + +As you can see below, if an aircraft, but no squadron is defined, the planer will look for a suitable preset squadron and use that. If none can be found, it will create a generic one. + +Example for a generic squadron can be seen later in the article, for the E-2D doing AEW&C. The naming will look something like this _Squadron 001_ and a random nickname. + +![image](https://user-images.githubusercontent.com/67376231/141747264-0ed20fcd-583d-4493-b59d-400fe86f4c69.png) + #### Naval-1 ``` @@ -127,7 +138,7 @@ At **Gazipasa** we would like to cover the following mission types: That automatically rules out the placement of any combat focused aircraft/squadron. -The example below also shows, that even if an aircraft is defined, that is not available to the chosen faction, the planner will look for the best suiting airframe and place it. +The example below also shows, that even if an aircraft is defined, that is not available to the chosen faction, the planer will look for the best suiting air frame and place it. # #### Gazipasa @@ -186,7 +197,7 @@ The same patterns apply to the last two player owned control points, **FOB Bozdo - UH-1H Iroquois ``` -Since both FOBs have Heliports, even w/o the defintion of a specific aircraft, the planner would only have rotorwing aircraft availble to fill the set mission types. +Since both FOBs have Heliports, even w/o the definition of a specific aircraft, the planer would only have rotor-wing aircraft available to fill the set mission types. UH-1H Iroquois ![image](https://user-images.githubusercontent.com/67376231/141744056-fe2cb453-aeb3-4060-b07f-7a70ed79ec9d.png) @@ -687,7 +698,7 @@ You will need to buy aircraft for your entire faction, not just your own aircraf In the Ground Forces HQ menu you can recruit ground forces that will fight on the front line. -Ground units are very important, since they will fight on the frontline to progress toward the nearby enemy bases and defend your airbase against enemy attacks. Do not underestimate this part of the conflict! +Ground units are very important, since they will fight on the front line to progress toward the nearby enemy bases and defend your airbase against enemy attacks. Do not underestimate this part of the conflict! ## Ending the turn From cdb2dfe953e1be749d3434a98914ce929c146e89 Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Mon, 15 Nov 2021 09:45:26 +0100 Subject: [PATCH 563/704] added map overview screenshot --- Turn-Zero.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Turn-Zero.md b/Turn-Zero.md index 58b3876..a865064 100644 --- a/Turn-Zero.md +++ b/Turn-Zero.md @@ -42,6 +42,9 @@ Well - let's look at it step by step: First of all, let's look at the [campaign configuration](Turn-Zero#Campaign-configuration) +![image](https://user-images.githubusercontent.com/67376231/141750048-6987efbc-c50f-4fd9-b3f6-d16c0c030ecd.png) + + The players owned control points, at the start of the campaign are: - the carrier group defined as **Naval-1** From d4f3d5b127ff368dc25ae294a8d98bf2bd82fa55 Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Mon, 15 Nov 2021 10:06:12 +0100 Subject: [PATCH 564/704] Created Air Wing Configuration (markdown) --- Air-Wing-Configuration.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 Air-Wing-Configuration.md diff --git a/Air-Wing-Configuration.md b/Air-Wing-Configuration.md new file mode 100644 index 0000000..fd9e641 --- /dev/null +++ b/Air-Wing-Configuration.md @@ -0,0 +1 @@ +tbd \ No newline at end of file From e9e5f2773c918ad876bfa8961f0368582aba21c5 Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Mon, 15 Nov 2021 10:07:12 +0100 Subject: [PATCH 565/704] content moved-in --- Air-Wing-Configuration.md | 670 +++++++++++++++++++++++++++++++++++++- 1 file changed, 669 insertions(+), 1 deletion(-) diff --git a/Air-Wing-Configuration.md b/Air-Wing-Configuration.md index fd9e641..9eaba1f 100644 --- a/Air-Wing-Configuration.md +++ b/Air-Wing-Configuration.md @@ -1 +1,669 @@ -tbd \ No newline at end of file +Now that we have a good basic understanding of what DCS Liberation is, thanks to the [Getting started guide](Getting-started) and we covered the basic [UI elements](Tutorial-UI), let's start a campaign. + +For the example of this tutorial, a custom campaign has been picked by the author to illustrate the different building blocks and how they depend on each other. + + +Select a campaign / theater + +![image](https://user-images.githubusercontent.com/67376231/141736998-d180de8a-5c90-445e-bb3d-0a5054195bdc.png) + +As shown on the screenshot, the campaign author set a few defaults: + +- default factions +- suggested start date + +For better illustration, the corresponding files will be shown as well +- [Campaign configuration](#Campaign-configuration) +- [Faction configuration](#Faction-configuration) +- [Squadron example](#Squadron-example) + +_Pro tip: for more information on the format, go to [custom campaigns](Custom-campaigns)_ + +# +As shown in the campaign example below, the author designed it around a specific map/region/timeline and factions, to create the desired scenario. + +Players have full freedom, changing those, but will have to handle the consequences of their choices. + +Default factions define the general availability of **aircraft** for a campaign. However, the final list of aircraft shown in the _Air Wing Configuration_ dialogue depends on a few things. + +1. Is the aircraft part of the faction? +2. Is the aircraft capable of doing the required tasks/mission types? +3. Does a preset squadron exist? if not, one will be auto-generated +4. How does the campaign setup look like, in terms of starting squadron slots and their defined tasks/mission types? + + +![Air Wing Configuration](https://user-images.githubusercontent.com/67376231/141738419-104040a0-4a2a-4e93-83aa-4a2de7b93918.png) + +As you will see on the screenshot above, the faction "US Navy 1985" has more aircraft _available_ in the [faction](#Faction-configuration), than shown in the _Air Wing Configuration_ dialogue. + +Why is that so??? + +Well - let's look at it step by step: + +First of all, let's look at the [campaign configuration](Turn-Zero#Campaign-configuration) + +![image](https://user-images.githubusercontent.com/67376231/141750048-6987efbc-c50f-4fd9-b3f6-d16c0c030ecd.png) + + +The players owned control points, at the start of the campaign are: + +- the carrier group defined as **Naval-1** +- the airfield **Gazipasa** +- the FOB **Bozdogan** +- the FOB **Latchi** + +Every of those control points consists of mission profiles aka _squadron slots_ that need to be filled by the best suited air frame for that task. + +So at **Naval-1** we would like to cover the following mission types: + +- 2x BARCAP +- 1x SEAD +- 1x Strike +- 1x AEW&C +- 1x Refueling +- 1x Anti-ship + +As you can see below, the campaign author, had a very specific set of _aircraft_ & _squadrons_ in mind. + +If you look closely at the _Air Wing Configuration_ screenshot above, you will notice that two aircraft that are technically available to the chosen player faction, are missing: + +- F-14A Tomcat (Block 135-GR Late) +- F-4E Phantom II +# +Why, you keep asking? + +Well for **Naval-1** ... + +the BARCAP slots already have preferred aircraft defined, either via: +- the aircraft name itself, or +- the squadron name, implicitly matching the aircraft + +VF-101 and VF-101 are both F-14B squadron, so the planer already got enough input to make a choice --> F-14B + +See [Squadron example](#Squadron-example) + +That rules out the F14-A and since the F-4E Phantom II is not CVN compatible, it's out as well. + +All other mission types have specific _aircraft_ or _squadrons_ defined, like + +- SEAD -> A-4E Skyhawk +- STRIKE -> A-4E Skyhawk + +As you can see below, if an aircraft, but no squadron is defined, the planer will look for a suitable preset squadron and use that. If none can be found, it will create a generic one. + +Example for a generic squadron can be seen later in the article, for the E-2D doing AEW&C. The naming will look something like this _Squadron 001_ and a random nickname. + +![image](https://user-images.githubusercontent.com/67376231/141747264-0ed20fcd-583d-4493-b59d-400fe86f4c69.png) + + +#### Naval-1 +``` +Naval-1: + - primary: BARCAP + secondary: air-to-air + aircraft: + - VF-101 + - primary: BARCAP + secondary: air-to-air + aircraft: + - VF-102 + - primary: SEAD + secondary: air-to-ground + aircraft: + - A-4E Skyhawk + - primary: Strike + secondary: air-to-ground + aircraft: + - A-4E Skyhawk + - primary: AEW&C + aircraft: + - VAW-125 + - primary: Refueling + aircraft: + - VS-35 (Tanker) + - primary: Anti-ship + secondary: air-to-ground + aircraft: + - VS-35 +``` +![image](https://user-images.githubusercontent.com/67376231/141743214-2f29e29b-0546-4522-bda5-eec93b64a986.png) + + +Let's have a look now on an airfield like Gazipasa, which is also part of the players starting control points. + +Same pattern as above with the carrier group. + +At **Gazipasa** we would like to cover the following mission types: + +- 1x AEW&C +- 1x Refueling +- 1x Transport + +That automatically rules out the placement of any combat focused aircraft/squadron. + +The example below also shows, that even if an aircraft is defined, that is not available to the chosen faction, the planer will look for the best suiting air frame and place it. + +# +#### Gazipasa +``` +# Gazipasa + 41: + - primary: AEW&C + aircraft: + - E-3A + - primary: Refueling + aircraft: + - KC-135 Stratotanker + - primary: Transport + aircraft: + - C-130 +``` + +US Navy 1985 does not have an E-3A available, but it got another aircraft that can do AEW&C - so that's why the E-2D will be picked. + +![image](https://user-images.githubusercontent.com/67376231/141742954-b87b1c17-07b6-479d-ad4a-2ee5d3d62e1a.png) + + +Same for Refueling - KC-135 is not available, but the S-3B Viking (Tanker) can fill that role. + +![image](https://user-images.githubusercontent.com/67376231/141742871-db39eef9-b5a8-42b6-83de-47e95c8c66b3.png) + + +And for the transport task, no C-130 is available, but the HSM-40 + +![image](https://user-images.githubusercontent.com/67376231/141743663-8b2b332f-fa47-49e7-93ff-5477f8c20e86.png) + + +The same patterns apply to the last two player owned control points, **FOB Bozdogan** & **FOB Latchi** + +#### FOB Bozdogan +``` + # FOB Bozdogan + FOB Bozdogan: + - primary: Transport + aircraft: + - HSM-40 + - UH-1H Iroquois +``` + +#### FOB Latchi +``` + # FOB Latchi + FOB Latchi: + - primary: CAS + secondary: air-to-ground + aircraft: + - AH-1W SuperCobra + - primary: Transport + secondary: air-to-ground + aircraft: + - UH-1H Iroquois +``` + +Since both FOBs have Heliports, even w/o the definition of a specific aircraft, the planer would only have rotor-wing aircraft available to fill the set mission types. + +UH-1H Iroquois +![image](https://user-images.githubusercontent.com/67376231/141744056-fe2cb453-aeb3-4060-b07f-7a70ed79ec9d.png) + + +AH-1W SuperCobra +![image](https://user-images.githubusercontent.com/67376231/141744110-91f7bc0c-181e-44b6-9229-697212b42e3e.png) + +# +## Faction configuration + +US Navy 1985 +``` +{ + "country": "USA", + "name": "US Navy 1985", + "authors": "HerrTom", + "description": "

      Highway to the Danger Zone! For Tomcat lovers.

      ", + "locales": [ + "en_US" + ], + "aircrafts": [ + "AH-1W SuperCobra", + "A-4E Skyhawk", + "F-14A Tomcat (Block 135-GR Late)", + "F-14B Tomcat", + "F-4E Phantom II", + "S-3B Viking", + "SH-60B Seahawk", + "UH-1H Iroquois" + ], + "awacs": [ + "E-2C Hawkeye" + ], + "tankers": [ + "S-3B Tanker" + ], + "frontline_units": [ + "M1043 HMMWV (M2 HMG)", + "M113", + "M163 Vulcan Air Defense System", + "M60A3 \"Patton\"" + ], + "artillery_units": [ + "M109A6 Paladin", + "M270 Multiple Launch Rocket System" + ], + "logistics_units": [ + "Truck M818 6x6" + ], + "infantry_units": [ + "Infantry M249", + "Infantry M4", + "MANPADS Stinger", + "Mortar 2B11 120mm" + ], + "air_defenses": [ + "ChaparralGenerator", + "HawkGenerator", + "VulcanGenerator" + ], + "aircraft_carrier": [ + "Stennis" + ], + "helicopter_carrier": [ + "LHA_Tarawa" + ], + "destroyers": [ + "PERRY" + ], + "cruisers": [ + "TICONDEROG" + ], + "carrier_names": [ + "CVN-71 Theodore Roosevelt", + "CVN-72 Abraham Lincoln", + "CVN-73 George Washington", + "CVN-74 John C. Stennis", + "CVN-75 Harry S. Truman" + ], + "helicopter_carrier_names": [ + "LHA-1 Tarawa", + "LHA-2 Saipan", + "LHA-3 Belleau Wood", + "LHA-4 Nassau", + "LHA-5 Peleliu" + ], + "navy_generators": [ + "OliverHazardPerryGroupGenerator" + ], + "requirements": {}, + "doctrine": "coldwar", + "liveries_overrides": { + "F/A-18C Hornet (Lot 20)": [ + "VFA-106", + "VFA-113", + "VFA-122", + "VFA-131", + "VFA-192", + "VFA-34", + "VFA-37", + "VFA-83", + "VFA-87", + "VFA-97" + ] + } +} +``` + +Syria 1982 + +``` +{ + "country": "Syria", + "name": "Syria 1982", + "authors": "Khopa", + "description": "

      Syria and Arab armies in the 1982 invasion of Lebanon

      ", + "aircrafts": [ + "Mi-8MTV2 Hip", + "MiG-19P Farmer-B", + "MiG-21bis Fishbed-N", + "MiG-23MLD Flogger-K", + "MiG-25PD Foxbat-E", + "Su-17M4 Fitter-K" + ], + "awacs": [ + "A-50" + ], + "tankers": [ + "IL-78M" + ], + "frontline_units": [ + "BMP-1", + "MT-LB", + "PT-76", + "S-60 57mm", + "T-55A", + "T-72B with Kontakt-1 ERA", + "ZSU-57-2 'Sparka'", + "ZU-23 on Ural-375" + ], + "artillery_units": [ + "BM-21 Grad" + ], + "logistics_units": [ + "LUV UAZ-469 Jeep", + "Truck Ural-375" + ], + "infantry_units": [ + "Infantry AK-74 Rus", + "Paratrooper AKS", + "Paratrooper RPG-16" + ], + "air_defenses": [ + "ColdWarFlakGenerator", + "EarlyColdWarFlakGenerator", + "SA2Generator", + "SA3Generator", + "SA6Generator", + "SA8Generator", + "SA9Generator", + "SA13Generator", + "ZSU23Generator", + "ZU23Generator", + "ZU23UralGenerator", + "ZSU57Generator" + ], + "ewrs": [ + "BoxSpringGenerator", + "TinShieldGenerator" + ], + "missiles": [ + "ScudGenerator" + ], + "missiles_group_count": 1, + "aircraft_carrier": [], + "helicopter_carrier": [], + "helicopter_carrier_names": [], + "destroyers": [], + "cruisers": [], + "requirements": {}, + "carrier_names": [], + "navy_generators": [ + "GrishaGroupGenerator" + ] +} +``` + +# +## Squadron example +``` +--- +name: VF-101 +nickname: Grim Reapers +country: USA +role: Strike Fighter +aircraft: F-14B Tomcat +livery: VF-101 Dark +mission_types: + - BAI + - BARCAP + - CAS + - DEAD + - Escort + - Intercept + - OCA/Aircraft + - OCA/Runway + - SEAD + - Strike + - Fighter sweep + - TARCAP +``` + + +# +## Campaign configuration + +Clash_over_Cyprus.yaml: +``` +--- +name: Syria - Clash over Cyprus +theater: Syria +authors: Maxl +description:

      Syria invades Cyprus, forcing NATO to act. The United States 6th fleet is the first to respond in the Mediterranean sea.

      +version: "9.1" +recommended_player_faction: US Navy 1985 +recommended_enemy_faction: Syria 1982 +miz: Clash_over_Cyprus.miz +performance: 1 +recommended_start_date: 1986-05-12 +squadrons: + #BLUFOR CVN + Naval-1: + - primary: BARCAP + secondary: air-to-air + aircraft: + - VF-101 + - primary: BARCAP + secondary: air-to-air + aircraft: + - VF-102 + - primary: SEAD + secondary: air-to-ground + aircraft: + - A-4E Skyhawk + - primary: Strike + secondary: air-to-ground + aircraft: + - A-4E Skyhawk + - primary: AEW&C + aircraft: + - VAW-125 + - primary: Refueling + aircraft: + - VS-35 (Tanker) + - primary: Anti-ship + secondary: air-to-ground + aircraft: + - VS-35 + # Gazipasa + 41: + - primary: AEW&C + aircraft: + - E-3A + - primary: Refueling + aircraft: + - KC-135 Stratotanker + - primary: Transport + aircraft: + - C-130 + # FOB Bozdogan + FOB Bozdogan: + - primary: Transport + aircraft: + - HSM-40 + - UH-1H Iroquois + # FOB Latchi + FOB Latchi: + - primary: CAS + secondary: air-to-ground + aircraft: + - AH-1W SuperCobra + - primary: Transport + secondary: air-to-ground + aircraft: + - UH-1H Iroquois + # Paphos + 46: + - primary: BARCAP + secondary: air-to-air + aircraft: + - MiG-21bis Fishbed-N + - primary: BARCAP + secondary: air-to-air + aircraft: + - MiG-23MLD Flogger-K + - primary: SEAD + secondary: air-to-ground + aircraft: + - Su-17M4 Fitter-K + - primary: Strike + secondary: air-to-ground + aircraft: + - Su-17M4 Fitter-K + - primary: Anti-ship + secondary: air-to-ground + aircraft: + - Su-17M4 Fitter-K + # Akrotiri + 44: + - primary: AEW&C + aircraft: + - A-50 + - primary: Refueling + aircraft: + - IL-78M + - primary: BARCAP + secondary: air-to-air + aircraft: + - MiG-21bis Fishbed-N + - primary: BARCAP + secondary: air-to-air + aircraft: + - MiG-23MLD Flogger-K + - primary: SEAD + secondary: air-to-ground + aircraft: + - Su-17M4 Fitter-K + - primary: Strike + secondary: air-to-ground + aircraft: + - Su-17M4 Fitter-K + - primary: Anti-ship + secondary: air-to-ground + aircraft: + - Su-17M4 Fitter-K + # FOB Morphou + FOB Morphou: + - primary: CAS + secondary: air-to-ground + aircraft: + - Mi-8MTV2 Hip + - Mi-24P Hind-F + - primary: CAS + aircraft: + - Mi-8MTV2 Hip + - Mi-24P Hind-F + - primary: Transport + secondary: air-to-ground + aircraft: + - Mi-8MTV2 Hip + # FOB Mari + FOB Mari: + - primary: CAS + secondary: air-to-ground + aircraft: + - Mi-8MTV2 Hip + - Mi-24P Hind-F + - primary: CAS + aircraft: + - Mi-8MTV2 Hip + - Mi-24P Hind-F + - primary: Transport + secondary: air-to-ground + aircraft: + - Mi-8MTV2 Hip + # Pinarbashi + 51: + - primary: CAS + secondary: air-to-ground + aircraft: + - Mi-8MTV2 Hip + - Mi-24P Hind-F + - primary: CAS + secondary: air-to-ground + aircraft: + - Mi-8MTV2 Hip + - Mi-24P Hind-F + - primary: CAS + secondary: air-to-ground + aircraft: + - Mi-8MTV2 Hip + - Mi-24P Hind-F + - primary: Transport + secondary: air-to-ground + aircraft: + - Mi-8MTV2 Hip + # Ercan + 49: + - primary: BARCAP + secondary: air-to-air + aircraft: + - MiG-29S Fulcrum-C + - primary: BARCAP + secondary: air-to-air + aircraft: + - MiG-21bis Fishbed-N + - primary: SEAD + secondary: air-to-ground + aircraft: + - Su-24M Fencer-D + - primary: Strike + secondary: air-to-ground + aircraft: + - Su-17M4 Fitter-K + # Larnaca + 47: + - primary: BARCAP + secondary: air-to-air + aircraft: + - MiG-21bis Fishbed-N + - primary: BARCAP + secondary: air-to-air + aircraft: + - MiG-23MLD Flogger-K + - primary: SEAD + secondary: air-to-ground + aircraft: + - Su-17M4 Fitter-K + - primary: Strike + secondary: air-to-ground + aircraft: + - Su-17M4 Fitter-K + - primary: Anti-ship + secondary: air-to-ground + aircraft: + - Su-17M4 Fitter-K + # Bassel Al-Assad + 21: + - primary: AEW&C + aircraft: + - A-50 + - primary: Refueling + aircraft: + - IL-78M + - primary: BARCAP + secondary: air-to-air + aircraft: + - MiG-21bis Fishbed-N + - primary: BARCAP + secondary: air-to-air + aircraft: + - MiG-23MLD Flogger-K + - primary: Anti-ship + secondary: air-to-ground + aircraft: + - Su-17M4 Fitter-K + - primary: Transport + aircraft: + - Mi-8MTV2 Hip + # FOB Latakia + FOB Latakia: + - primary: CAS + secondary: air-to-ground + aircraft: + - Mi-8MTV2 Hip + - Mi-24P Hind-F + - primary: CAS + aircraft: + - Mi-8MTV2 Hip + - Mi-24P Hind-F + - primary: Transport + secondary: air-to-ground + aircraft: + - Mi-8MTV2 Hip +``` \ No newline at end of file From 964d030e3aa72a216837a673b305cc5dbed84c09 Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Mon, 15 Nov 2021 10:09:03 +0100 Subject: [PATCH 566/704] added air wing configuration and re-ordered the list --- _Sidebar.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/_Sidebar.md b/_Sidebar.md index be289f4..65a7c92 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -3,10 +3,11 @@ [Getting Started](Getting-started) 1. [DCS Liberation UI](Tutorial-UI) -2. [Turn Zero](https://github.com/dcs-liberation/dcs_liberation/wiki/Turn-Zero) -3. [First operation](https://github.com/dcs-liberation/dcs_liberation/wiki/First-operation) -4. [Setting up a custom Strike mission](https://github.com/dcs-liberation/dcs_liberation/wiki/Setting-up-a-custom-Strike-mission) -5. [Campaign "Battle of Abu Dhabi" Play Through Tutorial](https://github.com/dcs-liberation/dcs_liberation/wiki/Campaign-Battle-of-Abu-Dhabi-Play-Through) +2. [Air Wing Configuration](Air-Wing-Configuration) +3. [Turn Zero](Turn-Zero) +4. [First operation](First-operation) +5. [Setting up a custom Strike mission](Setting-up-a-custom-Strike-mission) +6. [Campaign "Battle of Abu Dhabi" Play Through Tutorial](Campaign-Battle-of-Abu-Dhabi-Play-Through) ## Manual @@ -60,5 +61,4 @@ ## Misc -[Code of Conduct](Code-of-Conduct) - +[Code of Conduct](Code-of-Conduct) \ No newline at end of file From 8d12a0843f6c74a5d893aa224086e1461169c41f Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Mon, 15 Nov 2021 10:09:55 +0100 Subject: [PATCH 567/704] air wing configuration moved to a dedicated page --- Turn-Zero.md | 672 --------------------------------------------------- 1 file changed, 672 deletions(-) diff --git a/Turn-Zero.md b/Turn-Zero.md index a865064..76519ee 100644 --- a/Turn-Zero.md +++ b/Turn-Zero.md @@ -1,675 +1,3 @@ -Now that we have a good basic understanding of what DCS Liberation is, thanks to the [Getting started guide](Getting-started) and we covered the basic [UI elements](Tutorial-UI), let's start a campaign. - -For the example of this tutorial, a custom campaign has been picked by the author to illustrate the different building blocks and how they depend on each other. - - -Select a campaign / theater - -![image](https://user-images.githubusercontent.com/67376231/141736998-d180de8a-5c90-445e-bb3d-0a5054195bdc.png) - -As shown on the screenshot, the campaign author set a few defaults: - -- default factions -- suggested start date - -For better illustration, the corresponding files will be shown as well -- [Campaign configuration](#Campaign-configuration) -- [Faction configuration](#Faction-configuration) -- [Squadron example](#Squadron-example) - -_Pro tip: for more information on the format, go to [custom campaigns](Custom-campaigns)_ - -# -As shown in the campaign example below, the author designed it around a specific map/region/timeline and factions, to create the desired scenario. - -Players have full freedom, changing those, but will have to handle the consequences of their choices. - -Default factions define the general availability of **aircraft** for a campaign. However, the final list of aircraft shown in the _Air Wing Configuration_ dialogue depends on a few things. - -1. Is the aircraft part of the faction? -2. Is the aircraft capable of doing the required tasks/mission types? -3. Does a preset squadron exist? if not, one will be auto-generated -4. How does the campaign setup look like, in terms of starting squadron slots and their defined tasks/mission types? - - -![Air Wing Configuration](https://user-images.githubusercontent.com/67376231/141738419-104040a0-4a2a-4e93-83aa-4a2de7b93918.png) - -As you will see on the screenshot above, the faction "US Navy 1985" has more aircraft _available_ in the [faction](#Faction-configuration), than shown in the _Air Wing Configuration_ dialogue. - -Why is that so??? - -Well - let's look at it step by step: - -First of all, let's look at the [campaign configuration](Turn-Zero#Campaign-configuration) - -![image](https://user-images.githubusercontent.com/67376231/141750048-6987efbc-c50f-4fd9-b3f6-d16c0c030ecd.png) - - -The players owned control points, at the start of the campaign are: - -- the carrier group defined as **Naval-1** -- the airfield **Gazipasa** -- the FOB **Bozdogan** -- the FOB **Latchi** - -Every of those control points consists of mission profiles aka _squadron slots_ that need to be filled by the best suited air frame for that task. - -So at **Naval-1** we would like to cover the following mission types: - -- 2x BARCAP -- 1x SEAD -- 1x Strike -- 1x AEW&C -- 1x Refueling -- 1x Anti-ship - -As you can see below, the campaign author, had a very specific set of _aircraft_ & _squadrons_ in mind. - -If you look closely at the _Air Wing Configuration_ screenshot above, you will notice that two aircraft that are technically available to the chosen player faction, are missing: - -- F-14A Tomcat (Block 135-GR Late) -- F-4E Phantom II -# -Why, you keep asking? - -Well for **Naval-1** ... - -the BARCAP slots already have preferred aircraft defined, either via: -- the aircraft name itself, or -- the squadron name, implicitly matching the aircraft - -VF-101 and VF-101 are both F-14B squadron, so the planer already got enough input to make a choice --> F-14B - -See [Squadron example](#Squadron-example) - -That rules out the F14-A and since the F-4E Phantom II is not CVN compatible, it's out as well. - -All other mission types have specific _aircraft_ or _squadrons_ defined, like - -- SEAD -> A-4E Skyhawk -- STRIKE -> A-4E Skyhawk - -As you can see below, if an aircraft, but no squadron is defined, the planer will look for a suitable preset squadron and use that. If none can be found, it will create a generic one. - -Example for a generic squadron can be seen later in the article, for the E-2D doing AEW&C. The naming will look something like this _Squadron 001_ and a random nickname. - -![image](https://user-images.githubusercontent.com/67376231/141747264-0ed20fcd-583d-4493-b59d-400fe86f4c69.png) - - -#### Naval-1 -``` -Naval-1: - - primary: BARCAP - secondary: air-to-air - aircraft: - - VF-101 - - primary: BARCAP - secondary: air-to-air - aircraft: - - VF-102 - - primary: SEAD - secondary: air-to-ground - aircraft: - - A-4E Skyhawk - - primary: Strike - secondary: air-to-ground - aircraft: - - A-4E Skyhawk - - primary: AEW&C - aircraft: - - VAW-125 - - primary: Refueling - aircraft: - - VS-35 (Tanker) - - primary: Anti-ship - secondary: air-to-ground - aircraft: - - VS-35 -``` -![image](https://user-images.githubusercontent.com/67376231/141743214-2f29e29b-0546-4522-bda5-eec93b64a986.png) - - -Let's have a look now on an airfield like Gazipasa, which is also part of the players starting control points. - -Same pattern as above with the carrier group. - -At **Gazipasa** we would like to cover the following mission types: - -- 1x AEW&C -- 1x Refueling -- 1x Transport - -That automatically rules out the placement of any combat focused aircraft/squadron. - -The example below also shows, that even if an aircraft is defined, that is not available to the chosen faction, the planer will look for the best suiting air frame and place it. - -# -#### Gazipasa -``` -# Gazipasa - 41: - - primary: AEW&C - aircraft: - - E-3A - - primary: Refueling - aircraft: - - KC-135 Stratotanker - - primary: Transport - aircraft: - - C-130 -``` - -US Navy 1985 does not have an E-3A available, but it got another aircraft that can do AEW&C - so that's why the E-2D will be picked. - -![image](https://user-images.githubusercontent.com/67376231/141742954-b87b1c17-07b6-479d-ad4a-2ee5d3d62e1a.png) - - -Same for Refueling - KC-135 is not available, but the S-3B Viking (Tanker) can fill that role. - -![image](https://user-images.githubusercontent.com/67376231/141742871-db39eef9-b5a8-42b6-83de-47e95c8c66b3.png) - - -And for the transport task, no C-130 is available, but the HSM-40 - -![image](https://user-images.githubusercontent.com/67376231/141743663-8b2b332f-fa47-49e7-93ff-5477f8c20e86.png) - - -The same patterns apply to the last two player owned control points, **FOB Bozdogan** & **FOB Latchi** - -#### FOB Bozdogan -``` - # FOB Bozdogan - FOB Bozdogan: - - primary: Transport - aircraft: - - HSM-40 - - UH-1H Iroquois -``` - -#### FOB Latchi -``` - # FOB Latchi - FOB Latchi: - - primary: CAS - secondary: air-to-ground - aircraft: - - AH-1W SuperCobra - - primary: Transport - secondary: air-to-ground - aircraft: - - UH-1H Iroquois -``` - -Since both FOBs have Heliports, even w/o the definition of a specific aircraft, the planer would only have rotor-wing aircraft available to fill the set mission types. - -UH-1H Iroquois -![image](https://user-images.githubusercontent.com/67376231/141744056-fe2cb453-aeb3-4060-b07f-7a70ed79ec9d.png) - - -AH-1W SuperCobra -![image](https://user-images.githubusercontent.com/67376231/141744110-91f7bc0c-181e-44b6-9229-697212b42e3e.png) - -# -## Faction configuration - -US Navy 1985 -``` -{ - "country": "USA", - "name": "US Navy 1985", - "authors": "HerrTom", - "description": "

      Highway to the Danger Zone! For Tomcat lovers.

      ", - "locales": [ - "en_US" - ], - "aircrafts": [ - "AH-1W SuperCobra", - "A-4E Skyhawk", - "F-14A Tomcat (Block 135-GR Late)", - "F-14B Tomcat", - "F-4E Phantom II", - "S-3B Viking", - "SH-60B Seahawk", - "UH-1H Iroquois" - ], - "awacs": [ - "E-2C Hawkeye" - ], - "tankers": [ - "S-3B Tanker" - ], - "frontline_units": [ - "M1043 HMMWV (M2 HMG)", - "M113", - "M163 Vulcan Air Defense System", - "M60A3 \"Patton\"" - ], - "artillery_units": [ - "M109A6 Paladin", - "M270 Multiple Launch Rocket System" - ], - "logistics_units": [ - "Truck M818 6x6" - ], - "infantry_units": [ - "Infantry M249", - "Infantry M4", - "MANPADS Stinger", - "Mortar 2B11 120mm" - ], - "air_defenses": [ - "ChaparralGenerator", - "HawkGenerator", - "VulcanGenerator" - ], - "aircraft_carrier": [ - "Stennis" - ], - "helicopter_carrier": [ - "LHA_Tarawa" - ], - "destroyers": [ - "PERRY" - ], - "cruisers": [ - "TICONDEROG" - ], - "carrier_names": [ - "CVN-71 Theodore Roosevelt", - "CVN-72 Abraham Lincoln", - "CVN-73 George Washington", - "CVN-74 John C. Stennis", - "CVN-75 Harry S. Truman" - ], - "helicopter_carrier_names": [ - "LHA-1 Tarawa", - "LHA-2 Saipan", - "LHA-3 Belleau Wood", - "LHA-4 Nassau", - "LHA-5 Peleliu" - ], - "navy_generators": [ - "OliverHazardPerryGroupGenerator" - ], - "requirements": {}, - "doctrine": "coldwar", - "liveries_overrides": { - "F/A-18C Hornet (Lot 20)": [ - "VFA-106", - "VFA-113", - "VFA-122", - "VFA-131", - "VFA-192", - "VFA-34", - "VFA-37", - "VFA-83", - "VFA-87", - "VFA-97" - ] - } -} -``` - -Syria 1982 - -``` -{ - "country": "Syria", - "name": "Syria 1982", - "authors": "Khopa", - "description": "

      Syria and Arab armies in the 1982 invasion of Lebanon

      ", - "aircrafts": [ - "Mi-8MTV2 Hip", - "MiG-19P Farmer-B", - "MiG-21bis Fishbed-N", - "MiG-23MLD Flogger-K", - "MiG-25PD Foxbat-E", - "Su-17M4 Fitter-K" - ], - "awacs": [ - "A-50" - ], - "tankers": [ - "IL-78M" - ], - "frontline_units": [ - "BMP-1", - "MT-LB", - "PT-76", - "S-60 57mm", - "T-55A", - "T-72B with Kontakt-1 ERA", - "ZSU-57-2 'Sparka'", - "ZU-23 on Ural-375" - ], - "artillery_units": [ - "BM-21 Grad" - ], - "logistics_units": [ - "LUV UAZ-469 Jeep", - "Truck Ural-375" - ], - "infantry_units": [ - "Infantry AK-74 Rus", - "Paratrooper AKS", - "Paratrooper RPG-16" - ], - "air_defenses": [ - "ColdWarFlakGenerator", - "EarlyColdWarFlakGenerator", - "SA2Generator", - "SA3Generator", - "SA6Generator", - "SA8Generator", - "SA9Generator", - "SA13Generator", - "ZSU23Generator", - "ZU23Generator", - "ZU23UralGenerator", - "ZSU57Generator" - ], - "ewrs": [ - "BoxSpringGenerator", - "TinShieldGenerator" - ], - "missiles": [ - "ScudGenerator" - ], - "missiles_group_count": 1, - "aircraft_carrier": [], - "helicopter_carrier": [], - "helicopter_carrier_names": [], - "destroyers": [], - "cruisers": [], - "requirements": {}, - "carrier_names": [], - "navy_generators": [ - "GrishaGroupGenerator" - ] -} -``` - -# -## Squadron example -``` ---- -name: VF-101 -nickname: Grim Reapers -country: USA -role: Strike Fighter -aircraft: F-14B Tomcat -livery: VF-101 Dark -mission_types: - - BAI - - BARCAP - - CAS - - DEAD - - Escort - - Intercept - - OCA/Aircraft - - OCA/Runway - - SEAD - - Strike - - Fighter sweep - - TARCAP -``` - - -# -## Campaign configuration - -Clash_over_Cyprus.yaml: -``` ---- -name: Syria - Clash over Cyprus -theater: Syria -authors: Maxl -description:

      Syria invades Cyprus, forcing NATO to act. The United States 6th fleet is the first to respond in the Mediterranean sea.

      -version: "9.1" -recommended_player_faction: US Navy 1985 -recommended_enemy_faction: Syria 1982 -miz: Clash_over_Cyprus.miz -performance: 1 -recommended_start_date: 1986-05-12 -squadrons: - #BLUFOR CVN - Naval-1: - - primary: BARCAP - secondary: air-to-air - aircraft: - - VF-101 - - primary: BARCAP - secondary: air-to-air - aircraft: - - VF-102 - - primary: SEAD - secondary: air-to-ground - aircraft: - - A-4E Skyhawk - - primary: Strike - secondary: air-to-ground - aircraft: - - A-4E Skyhawk - - primary: AEW&C - aircraft: - - VAW-125 - - primary: Refueling - aircraft: - - VS-35 (Tanker) - - primary: Anti-ship - secondary: air-to-ground - aircraft: - - VS-35 - # Gazipasa - 41: - - primary: AEW&C - aircraft: - - E-3A - - primary: Refueling - aircraft: - - KC-135 Stratotanker - - primary: Transport - aircraft: - - C-130 - # FOB Bozdogan - FOB Bozdogan: - - primary: Transport - aircraft: - - HSM-40 - - UH-1H Iroquois - # FOB Latchi - FOB Latchi: - - primary: CAS - secondary: air-to-ground - aircraft: - - AH-1W SuperCobra - - primary: Transport - secondary: air-to-ground - aircraft: - - UH-1H Iroquois - # Paphos - 46: - - primary: BARCAP - secondary: air-to-air - aircraft: - - MiG-21bis Fishbed-N - - primary: BARCAP - secondary: air-to-air - aircraft: - - MiG-23MLD Flogger-K - - primary: SEAD - secondary: air-to-ground - aircraft: - - Su-17M4 Fitter-K - - primary: Strike - secondary: air-to-ground - aircraft: - - Su-17M4 Fitter-K - - primary: Anti-ship - secondary: air-to-ground - aircraft: - - Su-17M4 Fitter-K - # Akrotiri - 44: - - primary: AEW&C - aircraft: - - A-50 - - primary: Refueling - aircraft: - - IL-78M - - primary: BARCAP - secondary: air-to-air - aircraft: - - MiG-21bis Fishbed-N - - primary: BARCAP - secondary: air-to-air - aircraft: - - MiG-23MLD Flogger-K - - primary: SEAD - secondary: air-to-ground - aircraft: - - Su-17M4 Fitter-K - - primary: Strike - secondary: air-to-ground - aircraft: - - Su-17M4 Fitter-K - - primary: Anti-ship - secondary: air-to-ground - aircraft: - - Su-17M4 Fitter-K - # FOB Morphou - FOB Morphou: - - primary: CAS - secondary: air-to-ground - aircraft: - - Mi-8MTV2 Hip - - Mi-24P Hind-F - - primary: CAS - aircraft: - - Mi-8MTV2 Hip - - Mi-24P Hind-F - - primary: Transport - secondary: air-to-ground - aircraft: - - Mi-8MTV2 Hip - # FOB Mari - FOB Mari: - - primary: CAS - secondary: air-to-ground - aircraft: - - Mi-8MTV2 Hip - - Mi-24P Hind-F - - primary: CAS - aircraft: - - Mi-8MTV2 Hip - - Mi-24P Hind-F - - primary: Transport - secondary: air-to-ground - aircraft: - - Mi-8MTV2 Hip - # Pinarbashi - 51: - - primary: CAS - secondary: air-to-ground - aircraft: - - Mi-8MTV2 Hip - - Mi-24P Hind-F - - primary: CAS - secondary: air-to-ground - aircraft: - - Mi-8MTV2 Hip - - Mi-24P Hind-F - - primary: CAS - secondary: air-to-ground - aircraft: - - Mi-8MTV2 Hip - - Mi-24P Hind-F - - primary: Transport - secondary: air-to-ground - aircraft: - - Mi-8MTV2 Hip - # Ercan - 49: - - primary: BARCAP - secondary: air-to-air - aircraft: - - MiG-29S Fulcrum-C - - primary: BARCAP - secondary: air-to-air - aircraft: - - MiG-21bis Fishbed-N - - primary: SEAD - secondary: air-to-ground - aircraft: - - Su-24M Fencer-D - - primary: Strike - secondary: air-to-ground - aircraft: - - Su-17M4 Fitter-K - # Larnaca - 47: - - primary: BARCAP - secondary: air-to-air - aircraft: - - MiG-21bis Fishbed-N - - primary: BARCAP - secondary: air-to-air - aircraft: - - MiG-23MLD Flogger-K - - primary: SEAD - secondary: air-to-ground - aircraft: - - Su-17M4 Fitter-K - - primary: Strike - secondary: air-to-ground - aircraft: - - Su-17M4 Fitter-K - - primary: Anti-ship - secondary: air-to-ground - aircraft: - - Su-17M4 Fitter-K - # Bassel Al-Assad - 21: - - primary: AEW&C - aircraft: - - A-50 - - primary: Refueling - aircraft: - - IL-78M - - primary: BARCAP - secondary: air-to-air - aircraft: - - MiG-21bis Fishbed-N - - primary: BARCAP - secondary: air-to-air - aircraft: - - MiG-23MLD Flogger-K - - primary: Anti-ship - secondary: air-to-ground - aircraft: - - Su-17M4 Fitter-K - - primary: Transport - aircraft: - - Mi-8MTV2 Hip - # FOB Latakia - FOB Latakia: - - primary: CAS - secondary: air-to-ground - aircraft: - - Mi-8MTV2 Hip - - Mi-24P Hind-F - - primary: CAS - aircraft: - - Mi-8MTV2 Hip - - Mi-24P Hind-F - - primary: Transport - secondary: air-to-ground - aircraft: - - Mi-8MTV2 Hip -``` - -# - **THE PART BELOW REQUIRES A REWORK FOR 5.x** In DCS Liberation you may take control of planning decisions regarding the course of the ongoing war. From c6fbaa90bec26ae60908c52d7e2c440d3c3db1dd Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Mon, 15 Nov 2021 10:14:48 +0100 Subject: [PATCH 568/704] Updated Air Wing Configuration (markdown) --- Air-Wing-Configuration.md | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/Air-Wing-Configuration.md b/Air-Wing-Configuration.md index 9eaba1f..a8e6fca 100644 --- a/Air-Wing-Configuration.md +++ b/Air-Wing-Configuration.md @@ -1,5 +1,7 @@ Now that we have a good basic understanding of what DCS Liberation is, thanks to the [Getting started guide](Getting-started) and we covered the basic [UI elements](Tutorial-UI), let's start a campaign. +An important, if not the most important aspect of a campaign, is the _air wing configuration_ + For the example of this tutorial, a custom campaign has been picked by the author to illustrate the different building blocks and how they depend on each other. @@ -17,8 +19,6 @@ For better illustration, the corresponding files will be shown as well - [Faction configuration](#Faction-configuration) - [Squadron example](#Squadron-example) -_Pro tip: for more information on the format, go to [custom campaigns](Custom-campaigns)_ - # As shown in the campaign example below, the author designed it around a specific map/region/timeline and factions, to create the desired scenario. @@ -666,4 +666,10 @@ squadrons: secondary: air-to-ground aircraft: - Mi-8MTV2 Hip -``` \ No newline at end of file +``` + + +_Pro tip: for more information on the structure and format of the shown examples, go to:_ +- [custom campaigns](Custom-campaigns) +- [custom factions](Custom-Factions) +- [custom squadrons & pilots](Squadrons-and-pilots) \ No newline at end of file From 52c3641855bb70643c1dbb9369fd9fb4794cfdd9 Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Mon, 15 Nov 2021 10:18:54 +0100 Subject: [PATCH 569/704] added air wing configuration link --- Getting-started.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Getting-started.md b/Getting-started.md index 3232cf2..56e5d35 100644 --- a/Getting-started.md +++ b/Getting-started.md @@ -117,7 +117,7 @@ The list of available squadrons is affected by the following factors: * Chosen faction * Available squadrons (custom & auto generated) -See [squadrons](Squadrons-and-pilots) for more detailed information on pilots & squadrons +See [Air wing configuration](Air-Wing-Configuration) for more details. # From dca12fe08c8ed0119d6fe1527da1cb202d9f2cd6 Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Mon, 15 Nov 2021 11:55:29 +0100 Subject: [PATCH 570/704] minor correction for VF-102 --- Air-Wing-Configuration.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Air-Wing-Configuration.md b/Air-Wing-Configuration.md index a8e6fca..9f924e0 100644 --- a/Air-Wing-Configuration.md +++ b/Air-Wing-Configuration.md @@ -78,7 +78,7 @@ the BARCAP slots already have preferred aircraft defined, either via: - the aircraft name itself, or - the squadron name, implicitly matching the aircraft -VF-101 and VF-101 are both F-14B squadron, so the planer already got enough input to make a choice --> F-14B +VF-101 and VF-102 are both F-14B squadron, so the planer already got enough input to make a choice --> F-14B See [Squadron example](#Squadron-example) From d18c450c8f772e7b4933219476a50568c74ecdf3 Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Mon, 15 Nov 2021 11:59:58 +0100 Subject: [PATCH 571/704] squadron examples extended and linked --- Air-Wing-Configuration.md | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/Air-Wing-Configuration.md b/Air-Wing-Configuration.md index 9f924e0..3f77fe6 100644 --- a/Air-Wing-Configuration.md +++ b/Air-Wing-Configuration.md @@ -78,9 +78,9 @@ the BARCAP slots already have preferred aircraft defined, either via: - the aircraft name itself, or - the squadron name, implicitly matching the aircraft -VF-101 and VF-102 are both F-14B squadron, so the planer already got enough input to make a choice --> F-14B +[VF-101](#VF-101) and [VF-102](#VF-102) are both F-14B squadron, so the planer already got enough input to make a choice -> F-14B -See [Squadron example](#Squadron-example) +See [squadron example](#Squadron-example) for more details. That rules out the F14-A and since the F-4E Phantom II is not CVN compatible, it's out as well. @@ -391,6 +391,7 @@ Syria 1982 # ## Squadron example +### VF-101 ``` --- name: VF-101 @@ -413,7 +414,29 @@ mission_types: - Fighter sweep - TARCAP ``` - +### VF-102 +``` +--- +name: VF-102 +nickname: Diamond Backs +country: USA +role: Strike Fighter +aircraft: F-14B Tomcat +livery: VF-102 Diamondbacks 102 (2000) +mission_types: + - BAI + - BARCAP + - CAS + - DEAD + - Escort + - Intercept + - OCA/Aircraft + - OCA/Runway + - SEAD + - Strike + - Fighter sweep + - TARCAP +``` # ## Campaign configuration From 8e641911324f5a65c969367738f80568564460fe Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Mon, 15 Nov 2021 12:19:12 +0100 Subject: [PATCH 572/704] added default faction and date examples --- Air-Wing-Configuration.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Air-Wing-Configuration.md b/Air-Wing-Configuration.md index 3f77fe6..e02fd3b 100644 --- a/Air-Wing-Configuration.md +++ b/Air-Wing-Configuration.md @@ -11,8 +11,8 @@ Select a campaign / theater As shown on the screenshot, the campaign author set a few defaults: -- default factions -- suggested start date +- _default factions_ - Player = "US Navy 1985" vs Enemy = "Syria 1982" +- _recommended start date_ - in this case it's May 12th 1986 For better illustration, the corresponding files will be shown as well - [Campaign configuration](#Campaign-configuration) From b987b07591c70c36ef5ebb535fcb903c799a5f3e Mon Sep 17 00:00:00 2001 From: rabauke80 <67376231+rabauke80@users.noreply.github.com> Date: Mon, 15 Nov 2021 12:22:07 +0100 Subject: [PATCH 573/704] faction examples linked --- Air-Wing-Configuration.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Air-Wing-Configuration.md b/Air-Wing-Configuration.md index e02fd3b..f87a9e4 100644 --- a/Air-Wing-Configuration.md +++ b/Air-Wing-Configuration.md @@ -11,7 +11,9 @@ Select a campaign / theater As shown on the screenshot, the campaign author set a few defaults: -- _default factions_ - Player = "US Navy 1985" vs Enemy = "Syria 1982" +- _default factions_ + - Player: [US Navy 1985](#US-Navy-1985) + - Enemy: [Syria 1982](#Syria-1982) - _recommended start date_ - in this case it's May 12th 1986 For better illustration, the corresponding files will be shown as well @@ -212,7 +214,7 @@ AH-1W SuperCobra # ## Faction configuration -US Navy 1985 +### US Navy 1985 ``` { "country": "USA", @@ -310,7 +312,7 @@ US Navy 1985 } ``` -Syria 1982 +### Syria 1982 ``` { From 3d1a7f466d8f976697887e813353f7a7742d5fab Mon Sep 17 00:00:00 2001 From: Starfire13 <72491792+Starfire13@users.noreply.github.com> Date: Wed, 17 Nov 2021 06:50:21 +1100 Subject: [PATCH 574/704] Updated Squadrons and pilots (markdown) --- Squadrons-and-pilots.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Squadrons-and-pilots.md b/Squadrons-and-pilots.md index 0920257..de94a15 100644 --- a/Squadrons-and-pilots.md +++ b/Squadrons-and-pilots.md @@ -142,4 +142,4 @@ This can be used for creating Marine Hornet squadrons as in the example above. ### Generated squadrons -Squadrons will be generated if the campaign includes aircraft that do not have predefined squadrons available. \ No newline at end of file +If the campaign includes an aircraft type that does not have predefined squadrons available, a squadron with a randomised name will be generated for it. \ No newline at end of file From b3497949487a327b405e91f9a46f8b24583f93d8 Mon Sep 17 00:00:00 2001 From: MetalStormGhost <89945461+MetalStormGhost@users.noreply.github.com> Date: Sat, 20 Nov 2021 19:15:44 +0200 Subject: [PATCH 575/704] Updated Developer's Guide (markdown) --- Developer's-Guide.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Developer's-Guide.md b/Developer's-Guide.md index b965bf7..ef4c3fd 100644 --- a/Developer's-Guide.md +++ b/Developer's-Guide.md @@ -37,6 +37,8 @@ git clone https://github.com/dcs-liberation/dcs_liberation.git This will automatically check out the develop branch. +Please see [Pull requests](#Pull-requests) for instructions on which branch should be targeted with PRs. + ## Creating a Python virtual environment A Python virtual environment (virtualenv) is a local copy of the Python distribution for a specific project. This allows you to install the project dependencies local to the environment rather than globally on your system, which makes it easier to reset your environment if something goes wrong. From 76c9d53e8d72576f034b434356770996ca8b7ea1 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sun, 21 Nov 2021 11:39:29 -0800 Subject: [PATCH 576/704] Updated Developer's Guide (markdown) --- Developer's-Guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Developer's-Guide.md b/Developer's-Guide.md index ef4c3fd..9f71c61 100644 --- a/Developer's-Guide.md +++ b/Developer's-Guide.md @@ -2,7 +2,7 @@ Welcome to the dev guide ! ## Technical sum up -DCS Liberation is coded in Python, with QT5 as UI framework. +DCS Liberation is coded in Python, with QT6 as UI framework. It uses pyDCS to generate DCS World missions. Before contributing to DCS Liberation, you should also maybe consider contributing to [PyDCS](https://github.com/pydcs/dcs), this is a great way to contribute indirectly to the project. From 8463fcabb2d640cb6dc47bb8c17603b58f864327 Mon Sep 17 00:00:00 2001 From: sith1144 <86239928+sith1144@users.noreply.github.com> Date: Thu, 25 Nov 2021 22:31:59 +0100 Subject: [PATCH 577/704] Updated Community campaigns (markdown) --- Community-campaigns.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Community-campaigns.md b/Community-campaigns.md index ff70fc1..7fb91f8 100644 --- a/Community-campaigns.md +++ b/Community-campaigns.md @@ -6,9 +6,13 @@ Caucasus | Some campaign | 2.5 | Someone | Describe your campaign. Include a scr Syria | Invasion of Israel | 4.1 | Dank Williams | Syrian invasion of Israel during the Yom Kippur War. Inversion not supported. | [invasion_of_israel.zip](https://github.com/dcs-liberation/dcs_liberation/files/6951649/invasion_of_israel.zip) Persian Gulf | Battle of Hormuz | 4.0 | Kea | Join a coalition of Western allies in a modern campaign to retake control of the Hormuz Strait following a small nuclear strike by Iran against the UAE. | https://drive.google.com/drive/folders/1KKshtuu9upAmF5z6pGHbMCrFVc13FlJ2?usp=sharing Syria | Operation Syrian Salvation | 4.0 | CptBean | Protect the border crossing of Bab-Al Hawa from the Syrian Government, and relieve the country from their oppression by taking the fight all the way to Damascus, with the support of members from CJTF - Operation Inherent Resolve!| [Operation_Syrian_Salvation.zip](https://github.com/dcs-liberation/dcs_liberation/files/6824917/Operation_Syrian_Salvation.zip) -Syria | Task Force Thunder | 4.1 | Sith1144 | US Invasion of Syria from Iraq and the Mediterranean. Based on Combat Mission: Shock Force. Comes with a custom Syria 2008 faction. | [Task Force Thunder.zip](https://github.com/dcs-liberation/dcs_liberation/files/6961313/Task.Force.Thunder.zip) Syria | All Along the Orontes | 4.1 | Sith1144 | Fictional campaign. Drive from Lebanon towards Homs, then follow the Orontes river north, then turn south at its mouth and besiege Latakia. Made to be helicopter-friendly.| [All_Along_the_Orontes.zip](https://github.com/dcs-liberation/dcs_liberation/files/6961403/All_Along_the_Orontes.zip) Nevada | Irregular Warfare Exercise | 5.0 | Nosaj stole this from Doc | USMC COIN training exercise using the small airports on the Nevada map. Ripped off of a campaign that Doc put together with all SAMs reduced to mobile units that could be airdropped in. BLUFOR squadrons represent USMC airpower ( F/A-18, AV-8B, and AH-1W plus some Navy assets), please change the YAML to match your tastes. OPFOR squadrons represent USSR in the late 70's / early 80's to match what's highly available to your friendly local warlord on the black market. Using the PMC or insurgent factions will reduce aerial resistance. Great CAS / BAI / Strike training opportunity. | [Nevada_Irregular_Warfare_Exercise.zip](https://github.com/dcs-liberation/dcs_liberation/files/7533409/Nevada_Irregular_Warfare_Exercise.zip) +Caucasus | The Tblisi Gap | 5.0 | Sith1144 | Helicopter focused campaign about breaking through the 'Tblisi gap' between the mountains, pushing from Tblisi to Senaki. Made for 1980s cold war gone hot with the hind and hip; but also comes with baked in support for blufor, both cold war and modern. | [The Tblisi Gap](https://github.com/dcs-liberation/dcs_liberation/files/7605260/Tblisi.Gap.zip) +Syria | Task Force Thunder | 5.0 | Sith1144 | US Invasion of Syria from Iraq and the Mediterranean. Based on Combat Mission: Shock Force. | [Task Force Thunder](https://github.com/dcs-liberation/dcs_liberation/files/7605273/Task.Force.Thunder.zip) +Caucasus | Operation Lighthouse | 5.0 | Sith1144 | Large Caucasus campaign attacking it from the northwest. the autopurchaser logic is flawed and will presently not buy as many planes as it could, especially at the airfields in the starting area. | [Operation Lighthouse](https://github.com/dcs-liberation/dcs_liberation/files/7605278/Operation.Lighthouse.zip) + + You can (with some effort) use GitHub for file uploads: From 93dff45699702142cd4a3939c3a8be9ea18d61b4 Mon Sep 17 00:00:00 2001 From: perardu <89461518+perardu@users.noreply.github.com> Date: Sun, 28 Nov 2021 14:47:46 +0000 Subject: [PATCH 578/704] Updated Community campaigns (markdown) --- Community-campaigns.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Community-campaigns.md b/Community-campaigns.md index 7fb91f8..f602816 100644 --- a/Community-campaigns.md +++ b/Community-campaigns.md @@ -11,6 +11,7 @@ Nevada | Irregular Warfare Exercise | 5.0 | Nosaj stole this from Doc | USMC COI Caucasus | The Tblisi Gap | 5.0 | Sith1144 | Helicopter focused campaign about breaking through the 'Tblisi gap' between the mountains, pushing from Tblisi to Senaki. Made for 1980s cold war gone hot with the hind and hip; but also comes with baked in support for blufor, both cold war and modern. | [The Tblisi Gap](https://github.com/dcs-liberation/dcs_liberation/files/7605260/Tblisi.Gap.zip) Syria | Task Force Thunder | 5.0 | Sith1144 | US Invasion of Syria from Iraq and the Mediterranean. Based on Combat Mission: Shock Force. | [Task Force Thunder](https://github.com/dcs-liberation/dcs_liberation/files/7605273/Task.Force.Thunder.zip) Caucasus | Operation Lighthouse | 5.0 | Sith1144 | Large Caucasus campaign attacking it from the northwest. the autopurchaser logic is flawed and will presently not buy as many planes as it could, especially at the airfields in the starting area. | [Operation Lighthouse](https://github.com/dcs-liberation/dcs_liberation/files/7605278/Operation.Lighthouse.zip) +Syria | Cyprus East | 5.0 | Bat1 | Syrian forces supported by Russian Federation have taken eastern Cyprus and a US and Uk force retain land to the west. Re-enforce Cyprus. Suits both fast jet and helicopter Ops. | [Cyprus East](https://github.com/dcs-liberation/dcs_liberation/files/7613716/CyprusEast.zip) From dd28369f2b79a7641e174cb3461de23b220fdede Mon Sep 17 00:00:00 2001 From: Kea21 <86659244+Kea21@users.noreply.github.com> Date: Sat, 4 Dec 2021 19:50:43 +1300 Subject: [PATCH 579/704] Updated Community campaigns (markdown) --- Community-campaigns.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Community-campaigns.md b/Community-campaigns.md index f602816..1d60e4a 100644 --- a/Community-campaigns.md +++ b/Community-campaigns.md @@ -4,7 +4,8 @@ Map | Campaign name | Liberation version | Author | Description | Download link --- | --- | --- | --- | --- | --- Caucasus | Some campaign | 2.5 | Someone | Describe your campaign. Include a screenshot if you want. Is it large or small? What part of the map does it take place on? | Upload your mission to a file sharing service and share the link here Syria | Invasion of Israel | 4.1 | Dank Williams | Syrian invasion of Israel during the Yom Kippur War. Inversion not supported. | [invasion_of_israel.zip](https://github.com/dcs-liberation/dcs_liberation/files/6951649/invasion_of_israel.zip) -Persian Gulf | Battle of Hormuz | 4.0 | Kea | Join a coalition of Western allies in a modern campaign to retake control of the Hormuz Strait following a small nuclear strike by Iran against the UAE. | https://drive.google.com/drive/folders/1KKshtuu9upAmF5z6pGHbMCrFVc13FlJ2?usp=sharing +Syria | Golan Invasion | 5.0 | Kea | THIS CAMPAIGN IS DESIGNED FOR THE IDF PROJECT F-16I SUFA MOD!!! Israeli forces scramble to respond when a joint Syrian-Iranian exercise doesn't end and instead culminates in a full invasion of the Golan Heights. | https://drive.google.com/drive/folders/14eoM_mQhZsRjMMMxK_mQ89nHM4_-8j6m?usp=sharing +Marianas | Pacific Dragon | 5.0 | Kea | THIS CAMPAIGN IS DESIGNED FOR THE CJS SUPERHORNET MOD!!! Following a lightning defeat of Taiwan, Chinese naval forces sweep across the Pacific, bombing Guam and seizing the northern Mariana Islands. The USS Abraham Lincoln arrives to help what USAF and Australian forces survived the initial attack. | https://drive.google.com/drive/folders/18SPCco87Ym5Co4LlWsZBisXUQq619BD4?usp=sharing Syria | Operation Syrian Salvation | 4.0 | CptBean | Protect the border crossing of Bab-Al Hawa from the Syrian Government, and relieve the country from their oppression by taking the fight all the way to Damascus, with the support of members from CJTF - Operation Inherent Resolve!| [Operation_Syrian_Salvation.zip](https://github.com/dcs-liberation/dcs_liberation/files/6824917/Operation_Syrian_Salvation.zip) Syria | All Along the Orontes | 4.1 | Sith1144 | Fictional campaign. Drive from Lebanon towards Homs, then follow the Orontes river north, then turn south at its mouth and besiege Latakia. Made to be helicopter-friendly.| [All_Along_the_Orontes.zip](https://github.com/dcs-liberation/dcs_liberation/files/6961403/All_Along_the_Orontes.zip) Nevada | Irregular Warfare Exercise | 5.0 | Nosaj stole this from Doc | USMC COIN training exercise using the small airports on the Nevada map. Ripped off of a campaign that Doc put together with all SAMs reduced to mobile units that could be airdropped in. BLUFOR squadrons represent USMC airpower ( F/A-18, AV-8B, and AH-1W plus some Navy assets), please change the YAML to match your tastes. OPFOR squadrons represent USSR in the late 70's / early 80's to match what's highly available to your friendly local warlord on the black market. Using the PMC or insurgent factions will reduce aerial resistance. Great CAS / BAI / Strike training opportunity. | [Nevada_Irregular_Warfare_Exercise.zip](https://github.com/dcs-liberation/dcs_liberation/files/7533409/Nevada_Irregular_Warfare_Exercise.zip) From a6143316915d7d5ec8f51af9cb316aed5f2f2ebe Mon Sep 17 00:00:00 2001 From: sith1144 <86239928+sith1144@users.noreply.github.com> Date: Wed, 8 Dec 2021 15:05:28 +0100 Subject: [PATCH 580/704] Updated Community campaigns (markdown) --- Community-campaigns.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Community-campaigns.md b/Community-campaigns.md index 1d60e4a..af52b1b 100644 --- a/Community-campaigns.md +++ b/Community-campaigns.md @@ -13,7 +13,8 @@ Caucasus | The Tblisi Gap | 5.0 | Sith1144 | Helicopter focused campaign about b Syria | Task Force Thunder | 5.0 | Sith1144 | US Invasion of Syria from Iraq and the Mediterranean. Based on Combat Mission: Shock Force. | [Task Force Thunder](https://github.com/dcs-liberation/dcs_liberation/files/7605273/Task.Force.Thunder.zip) Caucasus | Operation Lighthouse | 5.0 | Sith1144 | Large Caucasus campaign attacking it from the northwest. the autopurchaser logic is flawed and will presently not buy as many planes as it could, especially at the airfields in the starting area. | [Operation Lighthouse](https://github.com/dcs-liberation/dcs_liberation/files/7605278/Operation.Lighthouse.zip) Syria | Cyprus East | 5.0 | Bat1 | Syrian forces supported by Russian Federation have taken eastern Cyprus and a US and Uk force retain land to the west. Re-enforce Cyprus. Suits both fast jet and helicopter Ops. | [Cyprus East](https://github.com/dcs-liberation/dcs_liberation/files/7613716/CyprusEast.zip) - +Syria | The Falcon went over the mountain | 5.0 | Sith1144 | "Limited scope" (I am bad at this) Syria campaign. Invade syria from incirlik, with a large wall of SAMs across the Taurus mountains and the Iskanderun bay. As the name suggests I made it for the F-16, but theres carriers and stuff too. | [The Falcon Went Over The Mountain](https://github.com/dcs-liberation/dcs_liberation/files/7676503/TheFalconWentOverTheMountain.zip) +Persian Gulf | The Valley of Rotary | 5.0 | Sith1144 | Helicopter counterinsurgency ops in Southern Iran. | [The Valley Of Rotary](https://github.com/dcs-liberation/dcs_liberation/files/7676516/TheValleyOfRotary) You can (with some effort) use GitHub for file uploads: From a77157c121cf2e9022bbf7d94df4fb65c46adfb2 Mon Sep 17 00:00:00 2001 From: Starfire13 <72491792+Starfire13@users.noreply.github.com> Date: Tue, 14 Dec 2021 17:31:03 +1100 Subject: [PATCH 581/704] Updated Getting started (markdown) --- Getting-started.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Getting-started.md b/Getting-started.md index 56e5d35..b6b0f67 100644 --- a/Getting-started.md +++ b/Getting-started.md @@ -8,7 +8,7 @@ You have two choices, either download a stable or a preview release: # ## Installation: -1. Extract the zip file to any directory. This _will be_ the install directory. It should preferably be a directory that's accessible without requiring Administrator privileges. Otherwise, in the shortcut's compatibility tab, select "Run this program as an administrator". +1. Extract the zip file to any directory other than Program Files and Program Files (x86). C:\Users\\Saved Games\ is a recommended location (it would look like C:\Users\\Saved Games\dcs_liberation\ when you're done). This _will be_ the install directory. It should preferably be a directory that's accessible without requiring Administrator privileges. Otherwise, in the shortcut's compatibility tab, select "Run this program as an administrator". 2. Then launch `liberation_main.exe` to launch DCS Liberation. First launch splash screen From 74d97892ad2c019b33a9b212f548077c5cd36aca Mon Sep 17 00:00:00 2001 From: MetalStormGhost <89945461+MetalStormGhost@users.noreply.github.com> Date: Mon, 20 Dec 2021 22:37:45 +0200 Subject: [PATCH 582/704] Updated Modded Aircraft Support (markdown) --- Modded-Aircraft-Support.md | 87 ++++++++++++++++++++++++++++++++------ 1 file changed, 73 insertions(+), 14 deletions(-) diff --git a/Modded-Aircraft-Support.md b/Modded-Aircraft-Support.md index f31ca62..d0cad76 100644 --- a/Modded-Aircraft-Support.md +++ b/Modded-Aircraft-Support.md @@ -74,21 +74,74 @@ plane_map["MB-339PAN"] = MB_339PAN If this is a vehicle, add it to vehicle_map instead. -## Step 2 : DB stuff +## Step 2 : Campaign start setup -Still in [db.py](https://github.com/dcs-liberation/dcs_liberation/blob/develop/game/db.py) - -Add your plane to the price map: +For campaign start setup and mod settings support, add your plane to the files [start_generator.py](https://github.com/dcs-liberation/dcs_liberation/blob/develop/game/theater/start_generator.py), [faction.py](https://github.com/dcs-liberation/dcs_liberation/blob/develop/game/factions/faction.py) and [QNewGameWizard.py](https://github.com/dcs-liberation/dcs_liberation/blob/develop/qt_ui/windows/newgame/QNewGameWizard.py) ```python -PRICES = { - # ... - A_4E_C: 8, - MB_339PAN: 6, - # ... + a4_skyhawk: bool = False + f22_raptor: bool = False + hercules: bool = False + jas39_gripen: bool = False + su57_felon: bool = False + frenchpack: bool = False ``` -Also add it to the list and maps: ```UNIT_BY_TASK```, ```PLANE_PAYLOAD_OVERRIDES```, and if relevant in the lists : ```CARRIER_CAPABLE```, ```LHA_CAPABLE``` +```python + # aircraft + if not mod_settings.a4_skyhawk: + self.remove_aircraft("A-4E-C") + if not mod_settings.hercules: + self.remove_aircraft("Hercules") + if not mod_settings.f22_raptor: + self.remove_aircraft("F-22A") + if not mod_settings.jas39_gripen: + self.remove_aircraft("JAS39Gripen") + self.remove_aircraft("JAS39Gripen_AG") + if not mod_settings.su57_felon: + self.remove_aircraft("Su-57") +``` + +```python + mod_settings = ModSettings( + a4_skyhawk=self.field("a4_skyhawk"), + f22_raptor=self.field("f22_raptor"), + f104_starfighter=self.field("f104_starfighter"), + hercules=self.field("hercules"), + jas39_gripen=self.field("jas39_gripen"), + su57_felon=self.field("su57_felon"), + frenchpack=self.field("frenchpack"), +``` + +```python + modSettingsGroup = QtWidgets.QGroupBox("Mod Settings") + a4_skyhawk = QtWidgets.QCheckBox() + self.registerField("a4_skyhawk", a4_skyhawk) + hercules = QtWidgets.QCheckBox() + self.registerField("hercules", hercules) + f22_raptor = QtWidgets.QCheckBox() + self.registerField("f22_raptor", f22_raptor) + jas39_gripen = QtWidgets.QCheckBox() + self.registerField("jas39_gripen", jas39_gripen) + su57_felon = QtWidgets.QCheckBox() + self.registerField("su57_felon", su57_felon) +``` + +```python + modLayout = QtWidgets.QGridLayout() + modLayout.addWidget(QtWidgets.QLabel("A-4E Skyhawk"), 1, 0) + modLayout.addWidget(a4_skyhawk, 1, 1) + modLayout.addWidget(QtWidgets.QLabel("F-22A Raptor"), 2, 0) + modLayout.addWidget(f22_raptor, 2, 1) + modLayout.addWidget(QtWidgets.QLabel("C-130J-30 Super Hercules"), 3, 0) + modLayout.addWidget(hercules, 3, 1) + modLayout.addWidget(QtWidgets.QLabel("JAS 39 Gripen"), 4, 0) + modLayout.addWidget(jas39_gripen, 4, 1) + modLayout.addWidget(QtWidgets.QLabel("Su-57 Felon"), 5, 0) + modLayout.addWidget(su57_felon, 5, 1) + modLayout.addWidget(QtWidgets.QLabel("Frenchpack"), 6, 0) + modLayout.addWidget(frenchpack, 6, 1) +``` ## Step 3 : Liberation flight planner database setup : @@ -122,19 +175,25 @@ and the following line after the weapons definition class: See [Custom Factions](Custom-Factions) and create a faction that support the mods so it can be used -## Step 6 : Add icons for the UI [Optional] +## Step 6 : Resource files for aircraft + +Add new yaml files for your aircraft in resources/units/aircraft/ + +See [A-4E-C.yaml](https://github.com/dcs-liberation/dcs_liberation/blob/develop/resources/units/aircraft/A-4E-C.yaml) for reference. + +## Step 7 : Add icons for the UI [Optional] Add icons for the new plane there: https://github.com/dcs-liberation/dcs_liberation/tree/develop/resources/ui/units/aircrafts/icons And a banner, there: https://github.com/dcs-liberation/dcs_liberation/tree/develop/resources/ui/units/aircrafts/banners -## Step 7 : Playtest ! +## Step 8 : Playtest ! Play a few missions with the plane, test as much cases as you can. -## Step 8 : Release ! +## Step 9 : Release ! -## Step 9 : Maintenance ! +## Step 10 : Maintenance ! Redo the data export thing (Step 1), every time said mod is updated, if needed create new loadouts and account for new capabilities in db. From be6107eb8c137ac406a212e2a1886d03fdb451cb Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Wed, 22 Dec 2021 14:17:04 -0800 Subject: [PATCH 583/704] Updated Campaign maintenance (markdown) --- Campaign-maintenance.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Campaign-maintenance.md b/Campaign-maintenance.md index 68de9ae..68f2479 100644 --- a/Campaign-maintenance.md +++ b/Campaign-maintenance.md @@ -13,7 +13,7 @@ Caucasus | Multi-Part Russia | @docofmur Caucasus | Northern Russia | @RoleplayingPleb Caucasus | Operation Vectron's Claw | @Starfire13 Caucasus | From Mozdok to Maykop | @Khopa -Normandy | From Caen to Evreux | @Khopa +Normandy | From Caen to Evreux | @MetalStormGhost NTTR | Exercise Vegas Nerve | @Starfire13 NTTR | Nevada Limited Air | @docofmur Persian Gulf | Battle of Abu Dhabi | @DanAlbert From 8dee7c1a7128afd2eb3608246574a76fdfd53666 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Thu, 23 Dec 2021 12:38:14 -0800 Subject: [PATCH 584/704] Updated Custom Loadouts (markdown) --- Custom-Loadouts.md | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-) diff --git a/Custom-Loadouts.md b/Custom-Loadouts.md index ca9c8c1..7094402 100644 --- a/Custom-Loadouts.md +++ b/Custom-Loadouts.md @@ -1,21 +1,7 @@ -### Custom Loadouts for Liberation 3.0 +### Custom loadouts -All DCS loadout are selectable from the flight edit UI. +**Note:** If you do not create a loadout for a specific mission type, that is fine. Liberation will simply revert to using the included defaults. -To create custom default loadouts, create a loadout for the aircraft in the DCS mission editor. Name the loadout `Liberation `, where `` is the exact name of the mission type shown in the UI. For example, "Liberation OCA/Aircraft". +All DCS loadouts are selectable from the flight edit UI. - * Note: If you do not create a loadout for a specific mission type, that is fine. Liberation will simply revert to using the included defaults. - -##### [DEPRECATED] Custom Loadouts for _before_ Liberation 3.0 - -1. Go to the DCS mission editor, put the plane you want to modify the loadout for in the editor. -Create loadouts with the following names, for each possible tasks : "CAS", "CAP", "SEAD", "ANTISHIP", "STRIKE" (additional tasks since 2.3: "INTERCEPT", "RUNWAY_ATTACK", "BAI", "OCA"). You can read more about tasks [at this page](Mission-planning#task-types). - * Note : Even if the plane cannot run the task, please create a default loadout for it anyway. - -2. Once done, exit the DCS Mission Editor - -3. Go the the folder : "/MissionEditor/UnitPayloads/" and locate "Su-25T.lua" for instance, if you created loadouts for the Su-25T - -4. Copy this file in the "/resources/customized_payloads/ folder " - -5. Then restart DCS Liberation, it is necessary to re-generate the mission by clicking on Take Off to get the new default loadout in the generated mission \ No newline at end of file +To create custom default loadouts, create a loadout for the aircraft in the DCS mission editor. Name the loadout `Liberation `, where `` is the exact name of the mission type shown in the UI. For example, "Liberation OCA/Aircraft". \ No newline at end of file From 591260356de497450fce073bb5baf20c035a768e Mon Sep 17 00:00:00 2001 From: Starfire13 <72491792+Starfire13@users.noreply.github.com> Date: Thu, 30 Dec 2021 08:46:35 +1100 Subject: [PATCH 585/704] Updated Custom Factions (markdown) --- Custom-Factions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Custom-Factions.md b/Custom-Factions.md index 5a01bc8..d546adc 100644 --- a/Custom-Factions.md +++ b/Custom-Factions.md @@ -5,7 +5,7 @@ Good news, you can now mod factions in liberation! And these custom factions can be created easily with a text editor as a json file. -You can find the factions the game ships with in the folder **.\resources\factions** inside your Liberation install directory. You may place modified or new faction files in your a special folder within your DCS Saved Games folder: **C:\users\\\\\Saved Games\DCS\Liberation\Factions** folder will have to be created as it is not created when setting up Liberation. This is the same location that you point Liberation to when setting it up for the first time. +You can find the default factions included in Liberation in the **\resources\factions\\** folder within the Liberation install directory. If you have created your own custom faction files and wish to place them in a more permanent location, you have the option of placing them instead in the DCS folder itself, by creating a folder call "Factions" (Liberation will read faction files from either location). This would be the same location that is listed as your "DCS Saved Game Directory" under File > Preferences in Liberation. As an example, if you are running Openbeta, it would likely be **C:\users\\\\\Saved Games\DCS.openbeta\Liberation\Factions\\**. ![](https://imgur.com/hiqrYEh.png) From a01b6d8d7e6521c20a08f98b09ae75c1ca374f11 Mon Sep 17 00:00:00 2001 From: Starfire13 <72491792+Starfire13@users.noreply.github.com> Date: Mon, 3 Jan 2022 15:27:15 +1100 Subject: [PATCH 586/704] Switched to updated unit name for FOB definition --- Custom-campaigns.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index 69dc3d4..f591d2e 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -230,7 +230,7 @@ The altitude of the unit is not currently relevant, as the spawn altitude of uni A FOB a a capturable point that can spawn ground units but not aircraft. -- A FOB is defined by placing a CP_SKP_11_ATC_Mobile_Command_Post. +- A FOB is defined by placing a Truck SKP-11 Mobile ATC. - A CJTF Blue group will create a FOB that begins owned by blue and a CJTF Red group will begin owned by red. - To attach a Heliport to a FOB, the desired amount of FARP pads have to be placed in the form of a static _invisible FARP_ close to the FOB. From af4e90b1155a524add5d0db8541cf7d013c52372 Mon Sep 17 00:00:00 2001 From: RndName Date: Tue, 4 Jan 2022 01:07:22 +0100 Subject: [PATCH 587/704] Updated Preview builds (markdown) --- Preview-builds.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Preview-builds.md b/Preview-builds.md index 578f2b8..125ea3c 100644 --- a/Preview-builds.md +++ b/Preview-builds.md @@ -2,4 +2,4 @@ The latest build of the development branch can be found [here](https://github.co **This is a development branch. Sometimes we break things, and plenty of things will be works in progress. Save games may not work across builds, and you should back up any save games you don't want to lose before loading them with a development build.** -The latest builds of the 5.x release can be found [here](https://github.com/dcs-liberation/dcs_liberation/actions/workflows/build.yml?query=branch%3Adevelop-5.0+event%3Apush). Unlike the main branch, saves _should_ remain compatible with saves from prior versions of 5.x. However, check the date of the build before downloading, as the build on this page may be older than the released version. \ No newline at end of file +The latest builds of the 5.1 release can be found [here](https://github.com/dcs-liberation/dcs_liberation/actions/workflows/build.yml?query=branch%3Adevelop-5.1+event%3Apush). Unlike the main branch, saves _should_ remain compatible with saves from prior versions of 5.x. However, check the date of the build before downloading, as the build on this page may be older than the released version. \ No newline at end of file From fb06af32fa06100bd8c61877ea68dab37d29da2e Mon Sep 17 00:00:00 2001 From: RndName Date: Fri, 7 Jan 2022 23:15:05 +0100 Subject: [PATCH 588/704] Updated Getting started (markdown) --- Getting-started.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Getting-started.md b/Getting-started.md index b6b0f67..0a911c9 100644 --- a/Getting-started.md +++ b/Getting-started.md @@ -24,6 +24,11 @@ This file will be modified whenever DCS Liberation is opened and the original wi **You must always launch DCS Liberation before you launch DCS.** If you don't, DCS will load the file before it is changed and DCS Liberation will not be able to retrieve mission progress. + +Experienced users can also disable the automatic modification of the `MissionScripting.lua`. This can be achieved by leaving the `DCS Installation Directory` preference empty. + +**Warning**: You have to manually edit the `MissionScripting.lua`. Otherwise DCS Liberation can not work properly. This is only recommended for expert users. A description on how to manually edit the file can be found in the [Dedicated-Server-Guide](https://github.com/dcs-liberation/dcs_liberation/wiki/Dedicated-Server-Guide#modding-missionscriptinglua). + # # Start your first campaign From 1c42175e127865fa6e55d51a7b7dabc44390dec6 Mon Sep 17 00:00:00 2001 From: RndName Date: Fri, 7 Jan 2022 23:16:19 +0100 Subject: [PATCH 589/704] Updated Getting started (markdown) --- Getting-started.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Getting-started.md b/Getting-started.md index 0a911c9..f39bfb3 100644 --- a/Getting-started.md +++ b/Getting-started.md @@ -27,7 +27,7 @@ If you don't, DCS will load the file before it is changed and DCS Liberation wil Experienced users can also disable the automatic modification of the `MissionScripting.lua`. This can be achieved by leaving the `DCS Installation Directory` preference empty. -**Warning**: You have to manually edit the `MissionScripting.lua`. Otherwise DCS Liberation can not work properly. This is only recommended for expert users. A description on how to manually edit the file can be found in the [Dedicated-Server-Guide](https://github.com/dcs-liberation/dcs_liberation/wiki/Dedicated-Server-Guide#modding-missionscriptinglua). +**Warning**: If you leave the `DCS Installation Directory` empty, you have to manually edit the `MissionScripting.lua`. Otherwise DCS Liberation can not work properly. This is only recommended for expert users. A description on how to manually edit the file can be found in the [Dedicated-Server-Guide](https://github.com/dcs-liberation/dcs_liberation/wiki/Dedicated-Server-Guide#modding-missionscriptinglua). # # Start your first campaign From b472590f0cb36df885add02b879c7f093493d657 Mon Sep 17 00:00:00 2001 From: RndName Date: Fri, 7 Jan 2022 23:19:10 +0100 Subject: [PATCH 590/704] Updated _Sidebar (markdown) --- _Sidebar.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/_Sidebar.md b/_Sidebar.md index 65a7c92..919cac9 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -31,6 +31,8 @@ [Community campaigns](Community-campaigns) +[Preview Builds](Preview-builds) + ## Dedicated Servers [Dedicated server guide](Dedicated-Server-Guide) From 45ee69896495f098b536a1c068d24d3c320607e3 Mon Sep 17 00:00:00 2001 From: Eric Reidelbach <30529545+ereidelbach@users.noreply.github.com> Date: Fri, 7 Jan 2022 21:51:02 -0500 Subject: [PATCH 591/704] corrected file path for "The Valley of Rotary" campaign --- Community-campaigns.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Community-campaigns.md b/Community-campaigns.md index af52b1b..7754137 100644 --- a/Community-campaigns.md +++ b/Community-campaigns.md @@ -14,7 +14,7 @@ Syria | Task Force Thunder | 5.0 | Sith1144 | US Invasion of Syria from Iraq and Caucasus | Operation Lighthouse | 5.0 | Sith1144 | Large Caucasus campaign attacking it from the northwest. the autopurchaser logic is flawed and will presently not buy as many planes as it could, especially at the airfields in the starting area. | [Operation Lighthouse](https://github.com/dcs-liberation/dcs_liberation/files/7605278/Operation.Lighthouse.zip) Syria | Cyprus East | 5.0 | Bat1 | Syrian forces supported by Russian Federation have taken eastern Cyprus and a US and Uk force retain land to the west. Re-enforce Cyprus. Suits both fast jet and helicopter Ops. | [Cyprus East](https://github.com/dcs-liberation/dcs_liberation/files/7613716/CyprusEast.zip) Syria | The Falcon went over the mountain | 5.0 | Sith1144 | "Limited scope" (I am bad at this) Syria campaign. Invade syria from incirlik, with a large wall of SAMs across the Taurus mountains and the Iskanderun bay. As the name suggests I made it for the F-16, but theres carriers and stuff too. | [The Falcon Went Over The Mountain](https://github.com/dcs-liberation/dcs_liberation/files/7676503/TheFalconWentOverTheMountain.zip) -Persian Gulf | The Valley of Rotary | 5.0 | Sith1144 | Helicopter counterinsurgency ops in Southern Iran. | [The Valley Of Rotary](https://github.com/dcs-liberation/dcs_liberation/files/7676516/TheValleyOfRotary) +Persian Gulf | The Valley of Rotary | 5.0 | Sith1144 | Helicopter counterinsurgency ops in Southern Iran. | [The Valley Of Rotary](https://github.com/dcs-liberation/dcs_liberation/files/7676516/TheValleyOfRotary.zip) You can (with some effort) use GitHub for file uploads: From 5a75d817b3c4aa1f3d99d2fada9938dd1ed4190f Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sun, 9 Jan 2022 12:36:35 -0800 Subject: [PATCH 592/704] Updated Release process (markdown) --- Release-process.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Release-process.md b/Release-process.md index 8d828ed..f101ea6 100644 --- a/Release-process.md +++ b/Release-process.md @@ -3,5 +3,6 @@ To release a new version of DCS Liberation: 1. Make sure the version number and changelog are up to date in the release branch. If the changelog needs to be updated, fix it in develop first and cherry-pick the updates to the release branch so they stay in sync. 4. Tag the release branch when the build is complete. Format for release tags is `$MAJOR.$MINOR.$PATCH`. **Do not create a release.** A release will be created automatically by the GitHub action from the tag. 5. Smoke test the tagged build -6. In [Releases](https://github.com/dcs-liberation/dcs_liberation/releases), promote the tagged build to a release. The description should be pre-filled with the changelog. -7. Announce the release in #:loudspeaker:releases in Discord. \ No newline at end of file +6 Update the bug templates in .github to allow reporting bugs against the new release. +7. In [Releases](https://github.com/dcs-liberation/dcs_liberation/releases), promote the tagged build to a release. The description should be pre-filled with the changelog. +8. Announce the release in #:loudspeaker:releases in Discord. \ No newline at end of file From 46e63b70768e4cfdd34ea3cbd2c19bd8eb764119 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sun, 9 Jan 2022 12:37:21 -0800 Subject: [PATCH 593/704] Updated Release process (markdown) --- Release-process.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Release-process.md b/Release-process.md index f101ea6..497cf41 100644 --- a/Release-process.md +++ b/Release-process.md @@ -1,8 +1,8 @@ To release a new version of DCS Liberation: 1. Make sure the version number and changelog are up to date in the release branch. If the changelog needs to be updated, fix it in develop first and cherry-pick the updates to the release branch so they stay in sync. -4. Tag the release branch when the build is complete. Format for release tags is `$MAJOR.$MINOR.$PATCH`. **Do not create a release.** A release will be created automatically by the GitHub action from the tag. -5. Smoke test the tagged build -6 Update the bug templates in .github to allow reporting bugs against the new release. -7. In [Releases](https://github.com/dcs-liberation/dcs_liberation/releases), promote the tagged build to a release. The description should be pre-filled with the changelog. -8. Announce the release in #:loudspeaker:releases in Discord. \ No newline at end of file +2. Tag the release branch when the build is complete. Format for release tags is `$MAJOR.$MINOR.$PATCH`. **Do not create a release.** A release will be created automatically by the GitHub action from the tag. +3. Smoke test the tagged build +4. Update the bug templates in .github to allow reporting bugs against the new release. +5. In [Releases](https://github.com/dcs-liberation/dcs_liberation/releases), promote the tagged build to a release. The description should be pre-filled with the changelog. +6. Announce the release in #:loudspeaker:releases in Discord. \ No newline at end of file From f4fc83795d06df7d4d96df5db7bdafa62f28f61b Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sun, 9 Jan 2022 12:50:00 -0800 Subject: [PATCH 594/704] Updated Release process (markdown) --- Release-process.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Release-process.md b/Release-process.md index 497cf41..e0fe7c3 100644 --- a/Release-process.md +++ b/Release-process.md @@ -3,6 +3,6 @@ To release a new version of DCS Liberation: 1. Make sure the version number and changelog are up to date in the release branch. If the changelog needs to be updated, fix it in develop first and cherry-pick the updates to the release branch so they stay in sync. 2. Tag the release branch when the build is complete. Format for release tags is `$MAJOR.$MINOR.$PATCH`. **Do not create a release.** A release will be created automatically by the GitHub action from the tag. 3. Smoke test the tagged build -4. Update the bug templates in .github to allow reporting bugs against the new release. +4. Update the bug templates in .github to allow reporting bugs against the new release. Old versions should be removed. 5. In [Releases](https://github.com/dcs-liberation/dcs_liberation/releases), promote the tagged build to a release. The description should be pre-filled with the changelog. 6. Announce the release in #:loudspeaker:releases in Discord. \ No newline at end of file From 8e78a9b4b79e198d1a90ab0ed73fbee2cb32dbbe Mon Sep 17 00:00:00 2001 From: dankwilliams <56580622+dankwilliams@users.noreply.github.com> Date: Wed, 12 Jan 2022 00:42:38 -0700 Subject: [PATCH 595/704] Updated Community campaigns (markdown) --- Community-campaigns.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Community-campaigns.md b/Community-campaigns.md index 7754137..d68fced 100644 --- a/Community-campaigns.md +++ b/Community-campaigns.md @@ -3,7 +3,7 @@ This is a list of campaigns created by the community. Feel free to edit this pag Map | Campaign name | Liberation version | Author | Description | Download link --- | --- | --- | --- | --- | --- Caucasus | Some campaign | 2.5 | Someone | Describe your campaign. Include a screenshot if you want. Is it large or small? What part of the map does it take place on? | Upload your mission to a file sharing service and share the link here -Syria | Invasion of Israel | 4.1 | Dank Williams | Syrian invasion of Israel during the Yom Kippur War. Inversion not supported. | [invasion_of_israel.zip](https://github.com/dcs-liberation/dcs_liberation/files/6951649/invasion_of_israel.zip) +Syria | Invasion of Israel | 5.1 | Dank Williams | Syrian invasion of Israel during the Yom Kippur War. Inversion not supported. | [invasion_of_israel_5.1.zip](https://github.com/dcs-liberation/dcs_liberation/files/7852621/invasion_of_israel_5.1.zip) Syria | Golan Invasion | 5.0 | Kea | THIS CAMPAIGN IS DESIGNED FOR THE IDF PROJECT F-16I SUFA MOD!!! Israeli forces scramble to respond when a joint Syrian-Iranian exercise doesn't end and instead culminates in a full invasion of the Golan Heights. | https://drive.google.com/drive/folders/14eoM_mQhZsRjMMMxK_mQ89nHM4_-8j6m?usp=sharing Marianas | Pacific Dragon | 5.0 | Kea | THIS CAMPAIGN IS DESIGNED FOR THE CJS SUPERHORNET MOD!!! Following a lightning defeat of Taiwan, Chinese naval forces sweep across the Pacific, bombing Guam and seizing the northern Mariana Islands. The USS Abraham Lincoln arrives to help what USAF and Australian forces survived the initial attack. | https://drive.google.com/drive/folders/18SPCco87Ym5Co4LlWsZBisXUQq619BD4?usp=sharing Syria | Operation Syrian Salvation | 4.0 | CptBean | Protect the border crossing of Bab-Al Hawa from the Syrian Government, and relieve the country from their oppression by taking the fight all the way to Damascus, with the support of members from CJTF - Operation Inherent Resolve!| [Operation_Syrian_Salvation.zip](https://github.com/dcs-liberation/dcs_liberation/files/6824917/Operation_Syrian_Salvation.zip) From 570c9d4dd41b974bb7c2c5b370d5bb0b3a8dbf49 Mon Sep 17 00:00:00 2001 From: MetalStormGhost <89945461+MetalStormGhost@users.noreply.github.com> Date: Mon, 17 Jan 2022 14:19:16 +0200 Subject: [PATCH 596/704] Updated Developer's Guide (markdown) --- Developer's-Guide.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Developer's-Guide.md b/Developer's-Guide.md index 9f71c61..87cbf8f 100644 --- a/Developer's-Guide.md +++ b/Developer's-Guide.md @@ -109,6 +109,8 @@ The type checker is **not** run as part of pre-commit, since that makes it harde Please make a new branch from either develop or master, and make your pull requests to khopa/develop. +New features and bug fixes in pull requests are usually worth mentioning in the changelog. Exceptions are fixes for bugs that never shipped (were only present in a canary build), and changes with no intended user observable behavior, such as a refactor. If you're comfortable writing the note yourself, add it to `changelog.md` in the root of the project in the section for the upcoming release. + If you're new to GitHub, https://guides.github.com/introduction/flow/ and the other tutorials on that site may be helpful. From 67cd5bd5376e2eceae0b507f92488bf500e2dcef Mon Sep 17 00:00:00 2001 From: MetalStormGhost <89945461+MetalStormGhost@users.noreply.github.com> Date: Sun, 23 Jan 2022 18:39:58 +0200 Subject: [PATCH 597/704] Updated Campaign Battle of Abu Dhabi Play Through (markdown) --- Campaign-Battle-of-Abu-Dhabi-Play-Through.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Campaign-Battle-of-Abu-Dhabi-Play-Through.md b/Campaign-Battle-of-Abu-Dhabi-Play-Through.md index 579ee10..461f6ce 100644 --- a/Campaign-Battle-of-Abu-Dhabi-Play-Through.md +++ b/Campaign-Battle-of-Abu-Dhabi-Play-Through.md @@ -160,7 +160,7 @@ The main map window is what we will use primarily to visualize and plan our camp - Hovering our mouse over each icon shows we some information about the forces represented by each icon. - Right-clicking on a non-Control Point icon brings up some details about the group's composition. - Right-clicking on a friendly (blue) Control Point icon brings up a dialog which allows we to manage assets and resources related to this group, including "purchase" (under Liberation's notional econonmy) of aircraft, ground units, etc. - - For special naval Control Points, such as aircraft and helicopter carriers, right-clicking and dragging on its icon allows we to relocate the ships. The (future) new station will be indicated by a semi-transparent icon connected to the current location by a line, and it will only take effect the next turn. + - For special naval Control Points, such as aircraft and helicopter carriers, right-clicking and dragging on its icon allows we to relocate the ships. The (future) new station will be indicated by a semi-transparent icon connected to the current location by a line, and it will only take effect the next turn. During the mission, carriers will always steam into the wind and relocate to the designated position between missions. - Left-clicking on any icon brings up a package scheduling dialog which allows we to frag missions relating to this group. For friendly groups, we can, for e.g., plan BARCAPs. For enemy groups we can plan various strikes, CAS, BAI, DEAD, SEAD, etc. missions. - A thick line, running shows the principle axis of the compaign, which connects all the Control Points of the campaign, both ours and the enemy. This is discussed in detail below. - This is the primary axis along which the campaign will be fought, and on which we will advance or retreat as we capture or lose Control Points arranged upon it. From c2b0380b2adf29c5564bd55f6bf54e7bad98c258 Mon Sep 17 00:00:00 2001 From: Starfire13 <72491792+Starfire13@users.noreply.github.com> Date: Mon, 31 Jan 2022 14:11:07 +1100 Subject: [PATCH 598/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index f591d2e..94c9da5 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -57,7 +57,7 @@ In DCS Liberation 5 campaigns define the starting squadron configuration for eac } ``` -* `BASE_NAME_OR_ID`: The name of the base (in the case of a FOB, LHA, or CV) as defined by the group in the campaign miz file, or the ID number of the airfield as defined by pydcs. For example, [the ID of Anapa-Vityazevo is 12](https://github.com/pydcs/dcs/blob/4b3eb77507de6c4796251830682e154c4710da82/dcs/terrain/caucasus.py#L9). Refer to the pydcs source for airbase ID numbers. +* `BASE_NAME_OR_ID`: The name of the base (in the case of a FOB, LHA, or CV) as defined by the group in the campaign miz file, or the ID number of the airfield as defined by pydcs. For example, [the ID of Anapa-Vityazevo is 12](https://github.com/pydcs/dcs/blob/master/dcs/terrain/caucasus.py#L9). Refer to the pydcs source for airbase ID numbers. * `PRIMARY_TASK`: Defines the primary task type for the squadron. If none of the preferred aircraft are available, a squadron will be generated using an aircraft that is capable of at least the primary task type. The allowed values here are the same as the values of the task types in `FlightType` found in https://github.com/dcs-liberation/dcs_liberation/blob/develop/gen/flights/flight.py (the same as the name of the mission type shown in the Liberation UI). * `SECONDARY_TASKS`: Defines secondary tasks that the squadron will be allowed to perform if the squadron is capable of them. This can be either the literal strings `any`, `air-to-air`, or `air-to-ground`, or a list of specific task types. This property is optional. If not specified the auto-planner will only assign those squadrons to the primary task type. * `PREFERRED_AIRCRAFT`: A list of either aircraft type names (using the same names as [custom factions](https://github.com/dcs-liberation/dcs_liberation/wiki/Custom-Factions)), or a list of squadron names. Each name will be tried in order and the first option valid for the coalition will be selected. If no preferred aircraft are compatible with the coalition, a squadron will be automatically generated based on `PRIMARY_TASK`. From f07beb66ffb6227d2a9acccea7f25b0821f97fd0 Mon Sep 17 00:00:00 2001 From: MetalStormGhost <89945461+MetalStormGhost@users.noreply.github.com> Date: Tue, 1 Feb 2022 12:25:46 +0200 Subject: [PATCH 599/704] Updated Performance Options (markdown) --- Performance-Options.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Performance-Options.md b/Performance-Options.md index 0fa9c30..d6b8f13 100644 --- a/Performance-Options.md +++ b/Performance-Options.md @@ -41,6 +41,9 @@ In addition to unit culling and budget management, the mission generator page in **Smoke visual effect on frontline:** can have a big framerate impact if you are looking directly at it. If you regularly perform CAS and notice a drop in framerates while you are over the frontlines, consider turning this option off. +**Convoys drive the full distance between control points** is a performance option which will limit the length of the convoy routes, when the setting is disabled (it's enabled by default). DCS ground vehicle pathfinding AI is CPU heavy, especially when traversing long distances or when having to avoid obstacles and buildings, so this setting aims to help with campaigns which have a lot of ground vehicles between control points. +Often the vehicles will not be able to traverse the entire length of the supply route during the mission, so running pathfinding for the whole route will be unnecessary. + **Generate infantry squads along vehicles:** More units usually equals more resources required. Infantry does not count towards the behind-the-scenes determination of a frontline victory/loss so removing them will not affect gameplay. Note: manpads will still spawn when this option is still turned off if you have the Manpads on frontline option checked. **Include destroyed units carcass:** Another case where more units equals more resources required. Unchecking this box will remove dead units and should help improve performance. From 496d87dbfb8eb86df16e1d2adf1c9ae841a9dce3 Mon Sep 17 00:00:00 2001 From: Starfire13 <72491792+Starfire13@users.noreply.github.com> Date: Mon, 7 Feb 2022 09:25:52 +1100 Subject: [PATCH 600/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index 94c9da5..47b4df7 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -258,7 +258,7 @@ The supply route will follow the _waypoints_ of the vehicle group (not the path, **New in DCS Liberation 3.0:** The begin and end waypoints of the path defining the front line route define the origin and destination for convoy routes. Endpoints of the route should be placed on or near roads so that convoys can get moving quickly. If far from a road, units will move from their location off-road to the road one at a time until they have all reached the road. -**Important:** Care should be taken to route the frontline around exclusion zones. If the center of the frontline location lies in an exclusion zones, frontline units may not spawn correctly. You can view the exclusion zones in the Liberation UI by enabling the display option "Map Debug Mode" Frontlines can jump smaller exclusion zones but using these can cause frontlines to render on both sides of the gap, or cause the frontline to render far from the intended line. +**Important:** Care should be taken to route the frontline around exclusion zones. If the center of the frontline location lies in an exclusion zones, frontline units may not spawn correctly. You can view the exclusion zones in the Liberation UI by clicking on the "3 stacked sheets" icon below the ruler icon in the top left corner of the map window. Frontlines can jump smaller exclusion zones but using these can cause frontlines to render on both sides of the gap, or cause the frontline to render far from the intended line. **Work in Progress** Exclusion zones are being updated to try and allow frontlines to follow or at least be in the general area of convoy routes. Frontlines need to follow the center of these Exclusion zone corridors. The frontline will shrink down to a small area, based on the size of the corridor and the frontline. (# of units) The frontline might not render correctly if the line is to large, (# of units) limiting the ammo depots (explained below) on these frontlines will help limit this issue. From c86b87939790ba437ac2111184f6b95dd9c5ce32 Mon Sep 17 00:00:00 2001 From: MetalStormGhost <89945461+MetalStormGhost@users.noreply.github.com> Date: Thu, 10 Feb 2022 17:18:14 +0200 Subject: [PATCH 601/704] Updated Base Capture (markdown) --- Base-Capture.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Base-Capture.md b/Base-Capture.md index e9f464b..01fe1f1 100644 --- a/Base-Capture.md +++ b/Base-Capture.md @@ -2,7 +2,7 @@ Liberation follows standard DCS base capture mechanics. It requires: 1. A friendly ground unit within the base radius -2. No enemy units within the base radius. +2. No enemy ground units within the base radius. You can check the status of the base by looking at the F10 map and clicking on that air base. From 70db6d0b1450fcd14b47f589dac2caea9df39614 Mon Sep 17 00:00:00 2001 From: SnappyComebacks <74509817+SnappyComebacks@users.noreply.github.com> Date: Sun, 13 Feb 2022 16:04:35 -0700 Subject: [PATCH 602/704] Updated Mission planning (markdown) --- Mission-planning.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Mission-planning.md b/Mission-planning.md index 3d56311..4da9094 100644 --- a/Mission-planning.md +++ b/Mission-planning.md @@ -84,7 +84,7 @@ An OCA/Runway mission can be planned against an enemy airfield. Its purpose is t The amount of damage required to destroy a runway is defined by DCS. Currently it takes a total of 6000 lbs of general-purpose high-explosive to destroy a runway: e.g., 12x 500lb MK-82/MK-82Y, 6x 1000lb MK-83, or 3x 2000lb MK-84 (or their LGB equivalents). On the other hand, with "bunker-busting" or penetrator warheads only 2000 lbs is required: e.g., a *single* GBU31v3 (or GBU31v4) is sufficient to kill a runway. (The GBU-24 in DCS is graphically shown with a BLU-109 warhead, but is modeled in the game as having a BLU-117 non-penetrating GP warhead, so until this is fixed it still takes 3 of these to kill a runway rather than 1). A successfully destroyed runway will show up in the DCS debrief as a "dead" event with initiator "0". -A destroyed runway will not be usable for missions and aircraft cannot be purchased or sold until the runway is repaired. Repairing the runway takes four turns and costs $100M. The AI will attempt to repair the runway whenever they can afford to do so. If the runway is damaged again before repair is complete the repair progress will stop and need to be purchased again. +An airfield with a destroyed runway will not be usable for missions and aircraft cannot be purchased or sold until the runway is repaired. If an airfield has multiple runways, it is only necessary to destroy one of them. Repairing the runway takes four turns and costs $100M. The AI will attempt to repair the runway whenever they can afford to do so. If the runway is damaged again before repair is complete the repair progress will stop and need to be purchased again. ### SEAD From 8abb4ce4606ce0e9b49927fe4af5c605b3d89079 Mon Sep 17 00:00:00 2001 From: MetalStormGhost <89945461+MetalStormGhost@users.noreply.github.com> Date: Tue, 15 Feb 2022 11:53:48 +0200 Subject: [PATCH 603/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index 47b4df7..b7c358e 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -233,6 +233,7 @@ A FOB a a capturable point that can spawn ground units but not aircraft. - A FOB is defined by placing a Truck SKP-11 Mobile ATC. - A CJTF Blue group will create a FOB that begins owned by blue and a CJTF Red group will begin owned by red. - To attach a Heliport to a FOB, the desired amount of FARP pads have to be placed in the form of a static _invisible FARP_ close to the FOB. +-- The FARP can belong to either CJTF Blue or CJTF Red to be included in the campaign. _pro tip: 300ft spacing between the invisible FARP pads recommended_ From 7cc0e0c9f16ddc4a358132ac08ff6b0c27b39818 Mon Sep 17 00:00:00 2001 From: MetalStormGhost <89945461+MetalStormGhost@users.noreply.github.com> Date: Tue, 15 Feb 2022 11:56:22 +0200 Subject: [PATCH 604/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index b7c358e..06b5c49 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -233,7 +233,7 @@ A FOB a a capturable point that can spawn ground units but not aircraft. - A FOB is defined by placing a Truck SKP-11 Mobile ATC. - A CJTF Blue group will create a FOB that begins owned by blue and a CJTF Red group will begin owned by red. - To attach a Heliport to a FOB, the desired amount of FARP pads have to be placed in the form of a static _invisible FARP_ close to the FOB. --- The FARP can belong to either CJTF Blue or CJTF Red to be included in the campaign. + - The FARP can belong to either CJTF Blue or CJTF Red to be included in the campaign. _pro tip: 300ft spacing between the invisible FARP pads recommended_ From 4e79fa372a5bf3b00caac61cc83a4567fe0c79fe Mon Sep 17 00:00:00 2001 From: MetalStormGhost <89945461+MetalStormGhost@users.noreply.github.com> Date: Wed, 16 Feb 2022 12:05:32 +0200 Subject: [PATCH 605/704] Added an alternate landmap for campaigns set in the forested regions of Caucasus --- Community-campaigns.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Community-campaigns.md b/Community-campaigns.md index d68fced..7285627 100644 --- a/Community-campaigns.md +++ b/Community-campaigns.md @@ -15,7 +15,7 @@ Caucasus | Operation Lighthouse | 5.0 | Sith1144 | Large Caucasus campaign attac Syria | Cyprus East | 5.0 | Bat1 | Syrian forces supported by Russian Federation have taken eastern Cyprus and a US and Uk force retain land to the west. Re-enforce Cyprus. Suits both fast jet and helicopter Ops. | [Cyprus East](https://github.com/dcs-liberation/dcs_liberation/files/7613716/CyprusEast.zip) Syria | The Falcon went over the mountain | 5.0 | Sith1144 | "Limited scope" (I am bad at this) Syria campaign. Invade syria from incirlik, with a large wall of SAMs across the Taurus mountains and the Iskanderun bay. As the name suggests I made it for the F-16, but theres carriers and stuff too. | [The Falcon Went Over The Mountain](https://github.com/dcs-liberation/dcs_liberation/files/7676503/TheFalconWentOverTheMountain.zip) Persian Gulf | The Valley of Rotary | 5.0 | Sith1144 | Helicopter counterinsurgency ops in Southern Iran. | [The Valley Of Rotary](https://github.com/dcs-liberation/dcs_liberation/files/7676516/TheValleyOfRotary.zip) - +Caucasus (Landmap) | Forested region landmap | 5.1 | Ghosti | Alternate landmap for campaigns set in the forested regions of Caucasus. There are corridors for ground forces from Apsheronsk to Tuapse and from Maykop to Sochi. | [caulandmap.zip](https://github.com/dcs-liberation/dcs_liberation/files/8078820/caulandmap.zip) You can (with some effort) use GitHub for file uploads: From a1816d76a69413d709212d810878d591a8ada548 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 18 Feb 2022 13:10:12 -0800 Subject: [PATCH 606/704] Updated Modded Aircraft Support (markdown) --- Modded-Aircraft-Support.md | 40 ++++++++++++++++++-------------------- 1 file changed, 19 insertions(+), 21 deletions(-) diff --git a/Modded-Aircraft-Support.md b/Modded-Aircraft-Support.md index d0cad76..535af20 100644 --- a/Modded-Aircraft-Support.md +++ b/Modded-Aircraft-Support.md @@ -1,11 +1,12 @@ -`Hey, can you add support for ?` +> Hey, can you add support for ? + +Well, we could, but... -Well, we could, but .... It takes a lot of time to add support for a mod in Liberation. We prefer using the free time we can allocate to Liberation to develop features that will benefit the whole community of Liberation users. -`I'm willing to support the mod in liberation myself !` +> I'm willing to support the mod in liberation myself! -Here is how to do it : +Here is how to do it: ## Pre-requisites: @@ -14,7 +15,7 @@ Here is how to do it : * Basic Lua programming knowledge * A DCS World open beta installation -## Step 1 : Pydcs extensions injection : +## Step 1: Pydcs extensions injection: Adding support for a modded aircraft is much more complicated than adding its name in a faction file. @@ -58,18 +59,15 @@ As you can see, extensions for mods are stored in this folder : https://github.c These file contains a lot of metadata we need to be able to generate missions, such as possible liveries, possible payloads for each pylons, specific weapons ids ... and so on. -## Step 2 : Pydcs extensions injection : +## Step 2: Pydcs extensions injection: -Once you've created your extension, you need to inject it's content into the pydcs version run by Liberation. This is done at runtime in db.py. - -If your modded content is a plane, you need to inject it to pydcs plane_map, in the file [db.py](https://github.com/dcs-liberation/dcs_liberation/blob/develop/game/db.py) +Once you've created your extension, you need to inject it's content into the pydcs version run by Liberation. In the Python file you created for the mod, decorate each unit type with either `@planemod`, `@vehiclemod`, or `@helicoptermod`. For example: ```python -plane_map["A-4E-C"] = A_4E_C -plane_map["F-22A"] = F_22A -plane_map["MB-339PAN"] = MB_339PAN -[...] +@planemod +class A_4E_C(PlaneType): + ... ``` If this is a vehicle, add it to vehicle_map instead. @@ -160,7 +158,7 @@ CAP_CAPABLE = [ ] ``` -## Step 4 : Create default payload and inject custom weapons +## Step 4: Create default payload and inject custom weapons See [Custom Loadouts](Custom-Loadouts) Create default loadouts for the new plane. @@ -171,29 +169,29 @@ Any custom weapons with the mod should be included in the same file as the pytho and the following line after the weapons definition class: `inject_weapons(CustomWeaponsClass)` where `CustomWeaponsClass` is the name of the weapons class you created. For the A4EC listed above, that name is `WeaponsA4EC`. -## Step 5 : Factions +## Step 5: Factions -See [Custom Factions](Custom-Factions) and create a faction that support the mods so it can be used +See [Custom Factions](Custom-Factions) and add the mods to the appropriate factions. If there are no appropriate factions, create a new one, but you don't need to worry about breaking existing factions by "requiring" the mod; Liberation will filter out mods that the player doesn't use. -## Step 6 : Resource files for aircraft +## Step 6: Resource files for aircraft Add new yaml files for your aircraft in resources/units/aircraft/ See [A-4E-C.yaml](https://github.com/dcs-liberation/dcs_liberation/blob/develop/resources/units/aircraft/A-4E-C.yaml) for reference. -## Step 7 : Add icons for the UI [Optional] +## Step 7: Add icons for the UI (Optional) Add icons for the new plane there: https://github.com/dcs-liberation/dcs_liberation/tree/develop/resources/ui/units/aircrafts/icons And a banner, there: https://github.com/dcs-liberation/dcs_liberation/tree/develop/resources/ui/units/aircrafts/banners -## Step 8 : Playtest ! +## Step 8: Playtest Play a few missions with the plane, test as much cases as you can. -## Step 9 : Release ! +## Step 9: Release -## Step 10 : Maintenance ! +## Step 10: Maintenance Redo the data export thing (Step 1), every time said mod is updated, if needed create new loadouts and account for new capabilities in db. From 7bcb4832426621b5ba71254ee96122076721c3f1 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 18 Feb 2022 13:11:05 -0800 Subject: [PATCH 607/704] Updated Modded Aircraft Support (markdown) --- Modded-Aircraft-Support.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modded-Aircraft-Support.md b/Modded-Aircraft-Support.md index 535af20..337ad55 100644 --- a/Modded-Aircraft-Support.md +++ b/Modded-Aircraft-Support.md @@ -70,7 +70,7 @@ class A_4E_C(PlaneType): ... ``` -If this is a vehicle, add it to vehicle_map instead. +Make sure your mod is imported in `pydcs_extensions/__init__.py`. ## Step 2 : Campaign start setup From 4ec919829fa86741018b3bfc69b175e98f94117d Mon Sep 17 00:00:00 2001 From: Walter Ray Haynie <37820425+walterroach@users.noreply.github.com> Date: Tue, 22 Feb 2022 00:19:42 -0600 Subject: [PATCH 608/704] Updated Developer's Guide (markdown) --- Developer's-Guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Developer's-Guide.md b/Developer's-Guide.md index 87cbf8f..0eaf93f 100644 --- a/Developer's-Guide.md +++ b/Developer's-Guide.md @@ -15,7 +15,7 @@ The original UI was different, and the mission generation process was different ## Required tools -* [Python 3.9+](https://www.python.org/downloads/) +* [Python 3.10+](https://www.python.org/downloads/) * A code Editor for Python. I recommend [PyCharm Community Edition](https://www.jetbrains.com/pycharm/download/#section=windows), you can add plugin for Lua. When you install Python, make sure to install pip for dependencies management. This should come preinstalled. From 1c722a2d003012f4af9c872e31a4c018944092ee Mon Sep 17 00:00:00 2001 From: RndName Date: Tue, 22 Feb 2022 20:08:21 +0100 Subject: [PATCH 609/704] Updated Custom Factions (markdown) --- Custom-Factions.md | 231 +++++++++++++++++---------------------------- 1 file changed, 86 insertions(+), 145 deletions(-) diff --git a/Custom-Factions.md b/Custom-Factions.md index d546adc..ea56b70 100644 --- a/Custom-Factions.md +++ b/Custom-Factions.md @@ -28,20 +28,14 @@ This json file should contain a json object, with the following parameters : * **frontline_units** : List of units that will fight on the frontline * **artillery_units** : List of artillery that will fight on the frontline * **infantry_units** : List of infantry units that will fight on the frontline -* **logistics_units** : List of units used for logistics (unused for now) -* **air_defenses** : List of generators used for air defense groups (See the list of possible air defenses generators in annex) -* **ewrs** : List of ewr generators to be used for the IADS (See the list of possible ewr generators in annex) -* **missiles** : List of missiles generators used for missiles groups +* **logistics_units** : List of units used for logistics +* **air_defense_units** : List of anti air units and ewrs +* **missiles** : List of missile units (not used yet) * **requirements** : List of required mods for this faction to work -* **aircraft_carrier** : List of aircraft carriers available -* **helicopter_carrier** : List of helicopter carriers available +* **preset_groups** : List of preset ForceGroups which can be used to add multiple related units at once (will be used for complex groups like SAM Systems) +* **naval_units** : List of naval units like Carriers, Destroyers or Cruisers * **carrier_names** : List of possible name for carriers (will be picked randomly if there is more than one) * **helicopter_carrier_names** : List of possible name for helicopter carriers (will be picked randomly if there is more than one) -* **navy_generators** : List of generators used for navy groups (See the Sam Generator possible choice at the end of this guide) -* **destroyers** : List of destroyers available (Will be picked randomly and used as escort for carriers) -* **cruisers** : List of cruisers available (unused for now) -* **navy_group_count** : Number of navy group to generate per control point -* **missiles_group_count** : Number of missiles group to generate per control point * **has_jtac** : Whether this faction has access to jtac * **jtac_unit** : Type of unit to use as JTAC. * **doctrine** : Either "modern" for modern doctrine, "coldwar" for coldwar doctrine, or "ww2" for WW2 doctrine. Doctrine controls the altitude of flights and other flight planner AI parameters. @@ -58,15 +52,15 @@ When changing a livery, if an aircraft is a Core DCS aircraft or module such as It is recommended, that your faction has access to all unit types, e.g. at least one tank, one IFV, one APC and so on in order for the auto purchase option for the player and the AI to work. -## Aircraft and ground unit names +## Aircraft, ground unit und naval names **New in DCS Liberation 4.0** -Ground and air units are now named by the name of the unit in Liberation rather than the name in DCS. This was done so DCS updates no longer break custom factions. Previously, if ED improved the name of a unit in DCS it would require an update to custom factions. Instead the faction files now use the Liberation names so we can prevent breakages from occurring. +Ground, naval and air units are now named by the name of the unit in Liberation rather than the name in DCS. This was done so DCS updates no longer break custom factions. Previously, if ED improved the name of a unit in DCS it would require an update to custom factions. Instead the faction files now use the Liberation names so we can prevent breakages from occurring. The names used are taken from the `variants` section of the unit info files in the `resources/units` directory. For example, `units/aircraft/FA-18C_hornet.yaml` contains the following: -``` +```yaml variants: CF-188 Hornet: {} EF-18A+ Hornet: {} @@ -75,9 +69,28 @@ variants: In this example, there are three variants of the DCS F/A-18C Hornet unit. These "variants" are **name only**. The DCS unit type will be the F/A-18C module, but the name in the Liberation UI will be whichever variant is named in the faction file. This allows a Spain faction to pretend that an EF-18A+ is available in DCS. -Ground units use the same format, but are located in `resources/units/ground_units`. +Ground units use the same format, but are located in `resources/units/ground_units`. The same applies to naval units which are defined in `resources/units/ships` -Note that this currently does not apply to ships or any section that names a generator like navy groups, SAMs, EWRs, missiles, or coastal defenses. Ships will be migrated in a future release. +## Preset Groups + +**New in DCS Liberation 6.0** + +TODO Describe the new preset groups which are located in `resources/groups` and replace the previous Generators. They will be used by adding the name from the preset group in the list `preset_groups` + +```yaml +name: Patriot # This name will be placed in the faction json +tasks: + - LORAD +units: + - SAM Patriot STR + - SAM Patriot CR (AMG AN/MRC-137) + - SAM Patriot ECS + - SAM Patriot C2 ICC + - SAM Patriot EPP-III + - SAM Patriot LN +layouts: + - Patriot Battery +``` # Example file @@ -86,175 +99,103 @@ Below is an example of a factions file : ```json { - "country": "USAF Aggressors", - "name": "USAF Aggressors", - "authors": "Khopa", - "description": "

      USAF aggresors.

      ", + "country": "USA", + "name": "US Navy 2005", + "authors": "Fuzzle", + "description": "

      A modern representation of the US Navy/Marine Corps.

      ", "locales": [ "en_US" ], "aircrafts": [ - "A-10A Thunderbolt II", - "A-10C Thunderbolt II (Suite 3)", - "AH-64D Apache Longbow", - "AV-8B Harrier II Night Attack", - "B-1B Lancer", - "B-52H Stratofortress", - "F-117A Nighthawk", "F-14B Tomcat", - "F-15C Eagle", - "F-15E Strike Eagle", - "F-16CM Fighting Falcon (Block 50)", "F/A-18C Hornet (Lot 20)", - "Ka-50 Hokum", + "AV-8B Harrier II Night Attack", + "AH-1W SuperCobra", + "S-3B Viking", "SH-60B Seahawk", - "Su-27 Flanker-B", "UH-1H Iroquois" ], "awacs": [ - "E-2C Hawkeye", - "E-3A" + "E-2C Hawkeye" ], "tankers": [ - "KC-130", - "KC-135 Stratotanker", - "KC-135 Stratotanker MPRS", "S-3B Tanker" ], "frontline_units": [ - "LAV-25", - "Leopard 2A4", + "M113", "M1043 HMMWV (M2 HMG)", - "M1097 Heavy HMMWV Avenger", - "M1134 Stryker ATGM (BGM-71 TOW)", + "M1045 HMMWV (BGM-71 TOW)", "M1A2 Abrams", - "M2A2 Bradley" + "LAV-25", + "M163 Vulcan Air Defense System" ], "artillery_units": [ - "M109A6 Paladin", "M270 Multiple Launch Rocket System" ], "logistics_units": [ "Truck M818 6x6" ], "infantry_units": [ + "Infantry M4", "Infantry M249", - "Infantry M4" + "MANPADS Stinger" ], - "air_defenses": [ - "AvengerGenerator", - "HawkGenerator", - "PatriotGenerator" + "preset_groups": [ + "Hawk", + "Patriot" ], - "ewrs": [ - "PatriotEwrGenerator" + "naval_units": [ + "FFG Oliver Hazard Perry", + "DDG Arleigh Burke IIa", + "CG Ticonderoga", + "LHA-1 Tarawa", + "CVN-74 John C. Stennis" + ], + "missiles": [], + "air_defense_units": [ + "SAM Hawk SR (AN/MPQ-50)", + "M163 Vulcan Air Defense System", + "M48 Chaparral" ], "requirements": {}, - "navy_generators": [ - "OliverHazardPerryGroupGenerator" + "carrier_names": [ + "CVN-71 Theodore Roosevelt", + "CVN-72 Abraham Lincoln", + "CVN-73 George Washington", + "CVN-74 John C. Stennis", + "CVN-75 Harry S. Truman" + ], + "helicopter_carrier_names": [ + "LHA-1 Tarawa", + "LHA-2 Saipan", + "LHA-3 Belleau Wood", + "LHA-4 Nassau", + "LHA-5 Peleliu" ], "has_jtac": true, "jtac_unit": "MQ-9 Reaper", + "doctrine": "modern", "liveries_overrides": { - "F/A-18C Hornet (Lot 20)": [ - "NAWDC black", - "NSAWC brown splinter", - "VFC-12" - ], - "F-15C Eagle": [ - "65th Aggressor SQN (WA) MiG", - "65th Aggressor SQN (WA) MiG", - "65th Aggressor SQN (WA) SUPER_Flanker" - ], - "F-16CM Fighting Falcon (Block 50)": [ - "64th_aggressor_squadron_ghost", - "usaf 64th aggressor sqn - shark", - "usaf 64th aggressor sqn-splinter" - ], "F-14B Tomcat": [ - "vf-74 adversary" + "VF-142 Ghostriders" + ], + "F/A-18C Hornet (Lot 20)": [ + "VMFA-251 high visibility" + ], + "AV-8B Harrier II Night Attack": [ + "VMAT-542" + ], + "AH-1W SuperCobra": [ + "Marines" + ], + "UH-1H Iroquois": [ + "US NAVY" ] } } ``` -## Annex 1 - Possible SAM/SHORAD generators - -* *HawkGenerator* -* *ZU23Generator* -* *ZU23UralGenerator* -* *ZU23UralInsurgentGenerator* -* *ZU23InsurgentGenerator* -* *ZSU23Generator* -* *VulcanGenerator* -* *LinebackerGenerator* -* *RapierGenerator* -* *AvengerGenerator* -* *GepardGenerator* -* *RolandGenerator* -* *PatriotGenerator* -* *ChaparralGenerator* -* *BoforsGenerator* -* *FlakGenerator* -* *SA2Generator* -* *SA3Generator* -* *SA5Generator* -* *SA6Generator* -* *SA8Generator* -* *SA9Generator* -* *SA10Generator* -* *SA11Generator* -* *SA13Generator* -* *SA15Generator* -* *SA19Generator* -* *HQ7Generator* -* *Flak18Generator* -* *ColdWarFlakGenerator* -* *EarlyColdWarFlakGenerator* -* *FreyaGenerator* -* *AllyWW2FlakGenerator* -* *ZSU57Generator* -* *KS19Generator* (Requires High Digit Sam Mode) -* *SA10BGenerator* (Requires High Digit Sam Mode) -* *SA12Generator* (Requires High Digit Sam Mode) -* *SA17Generator* (Requires High Digit Sam Mode) -* *SA20Generator* (Requires High Digit Sam Mode) -* *SA20BGenerator* (Requires High Digit Sam Mode) -* *SA23Generator* (Requires High Digit Sam Mode) -* *NasamBGenerator* -* *NasamCGenerator* - -## Annex 2 - Possible Navy group generators - -* *SchnellbootGroupGenerator* -* *WW2LSTGroupGenerator* -* *UBoatGroupGenerator* -* *OliverHazardPerryGroupGenerator* -* *ArleighBurkeGroupGenerator* -* *RussianNavyGroupGenerator* -* *ChineseNavyGroupGenerator* -* *GrishaGroupGenerator* -* *MolniyaGroupGenerator* -* *KiloSubGroupGenerator* -* *TangoSubGroupGenerator* -* *Type54GroupGenerator* -* *LaCombattanteIIGroupGenerator* - -## Annex 3 - Possible EWR generators - -* *BoxSpringGenerator* -* *TallRackGenerator* -* *DogEarGenerator* -* *RolandEwrGenerator* -* *FlatFaceGenerator* -* *PatriotEwrGenerator* -* *BigBirdGenerator* -* *SnowDriftGenerator* -* *StraightFlushGenerator* -* *HawkEwrGenerator* -* *TinShieldGenerator* - -## Annex 4 - Possible Aircraft +## Annex - Possible Aircraft * *A-4E Skyhawk* * *A-10A Thunderbolt II* From 2b0732fcb1c4467986e0997eb0200de1995dd5a8 Mon Sep 17 00:00:00 2001 From: RndName Date: Tue, 22 Feb 2022 20:12:37 +0100 Subject: [PATCH 610/704] Updated Custom Factions (markdown) --- Custom-Factions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Custom-Factions.md b/Custom-Factions.md index ea56b70..df79435 100644 --- a/Custom-Factions.md +++ b/Custom-Factions.md @@ -75,7 +75,7 @@ Ground units use the same format, but are located in `resources/units/ground_uni **New in DCS Liberation 6.0** -TODO Describe the new preset groups which are located in `resources/groups` and replace the previous Generators. They will be used by adding the name from the preset group in the list `preset_groups` +With Liberation 6.0 the ground objects were reworked and the generators were migrated to a layout system. Therefore it is not necassary to define generators in the faction file. Instead you can now define so called Preset Groups in the Faction file. All available preset groups are located in `resources/groups`. They can be added to the faction by adding the name from the preset group in the list `preset_groups`. All units from the preset group will then be available to the faction. A more detailed description of the preset groups and the new layout system can be found in the corresponding wiki page. ```yaml name: Patriot # This name will be placed in the faction json From 84bc774e2492a13b0aeb2f2b99ecbd82247e8ccb Mon Sep 17 00:00:00 2001 From: RndName Date: Tue, 22 Feb 2022 20:16:21 +0100 Subject: [PATCH 611/704] Updated Custom Factions (markdown) --- Custom-Factions.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Custom-Factions.md b/Custom-Factions.md index df79435..6083097 100644 --- a/Custom-Factions.md +++ b/Custom-Factions.md @@ -56,6 +56,8 @@ It is recommended, that your faction has access to all unit types, e.g. at least **New in DCS Liberation 4.0** +_Since DCS Liberation 6.0 this also includes naval units_ + Ground, naval and air units are now named by the name of the unit in Liberation rather than the name in DCS. This was done so DCS updates no longer break custom factions. Previously, if ED improved the name of a unit in DCS it would require an update to custom factions. Instead the faction files now use the Liberation names so we can prevent breakages from occurring. The names used are taken from the `variants` section of the unit info files in the `resources/units` directory. For example, `units/aircraft/FA-18C_hornet.yaml` contains the following: From bfc4d789a436076b513ffb9585a1838d7439f2c1 Mon Sep 17 00:00:00 2001 From: RndName Date: Tue, 22 Feb 2022 20:22:41 +0100 Subject: [PATCH 612/704] Created Layouts (markdown) --- Layouts.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 Layouts.md diff --git a/Layouts.md b/Layouts.md new file mode 100644 index 0000000..16ad0be --- /dev/null +++ b/Layouts.md @@ -0,0 +1 @@ +Here will be a wiki page explaining the new layout system which replaced the generators \ No newline at end of file From 64e3e9a2cfe302766d85717039bb33e029f14f69 Mon Sep 17 00:00:00 2001 From: RndName Date: Tue, 22 Feb 2022 20:23:16 +0100 Subject: [PATCH 613/704] Updated _Sidebar (markdown) --- _Sidebar.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/_Sidebar.md b/_Sidebar.md index 919cac9..b58af7e 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -45,6 +45,8 @@ [Custom factions](Custom-Factions) +[Layouts](Layouts) + [Lua Plugins](Lua-Plugins) [Custom Loadouts](Custom-Loadouts) From 1fff379186ed18e83dee6a636147768ea0ed8a45 Mon Sep 17 00:00:00 2001 From: RndName Date: Tue, 22 Feb 2022 20:24:58 +0100 Subject: [PATCH 614/704] Updated Layouts (markdown) --- Layouts.md | 167 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 166 insertions(+), 1 deletion(-) diff --git a/Layouts.md b/Layouts.md index 16ad0be..daad785 100644 --- a/Layouts.md +++ b/Layouts.md @@ -1 +1,166 @@ -Here will be a wiki page explaining the new layout system which replaced the generators \ No newline at end of file +# The Layout System + +The Layout System is a new way of defining how ground objects like SAM Sites or other Vehicle / Ship Groups will be generated (which type of units, how many units, alignment and orientation). It is a complete rework of the previous generator-based logic which was written in python code. The new system allows to define layouts with easy to write yaml code and the use of the DCS Mission Editor for easier placement of the units. The layout system also introduced a new logical grouping of Units and layouts for them, the Armed Forces, which will allow major improvements to the Ground Warfare in upcoming features. + +**Armed Forces**\ +The Armed Forces is a new system introduced with the layout system which will allow to identitfy and group possible units from the faction together with available layouts for these groups. It is comparable to the AirWing and Squadron implementation but just for Ground and Naval Forces. All possible Force Groups (grouping of 1 or more units and and the available layouts for them) will be generated during campaign initialization and will be used later by many different systems. A Force Group can also include static objects which was not possible before the introduction of the layout system. It is also possible to define presets of these Force Groups within the faction file which is handy for more complex groups like a SA-10 Battery or similar. Example: [SA-10/S-300PS](resources/groups/SA-10.yaml) which includes all the units like SR, TR, LN and has the layout of a [S-300 Battery](resources/layouts/anti_air/S-300_Site.yaml) + +**The Layout System**\ +In the previous system the generator which created the ground object was written in python which made modifications and reusability very complicated. To allow easier handling of the layouts and decoupling of alignment of units and the actual unit type (for example Ural-375) the layout system was introduced. Previously we had a generator for every different SAM Site, now we can just reuse the alignemnt (e.g. 6 Launchers in a circle alignment) for multiple SAM Systems and introduce more variety. + +This new System allows Users and Designers to easily create or modify layouts as the new alginment and orientation of units is defined with the DCS Mission editor. An additional .yaml file allows the configuration of the layout with settings like allow unit types or random amounts of units. In total the new system reduces the complexity and allows to precisely align / orient units as needed and create realistic looking ground units. + +As the whole ground unit generation and handling was reworked it is now also possible to add static units to a ground object, so even Fortifcation or similar can be added to templates in the future. + +### General Concept + + +![Overview](layouts.png) + + +All possible Force Groups will be generated during campaign initialization by checking all possible units for the specific faction and all available layouts. The code will automatically match general layouts with available units. It is also possible to define preset groups within the faction files which group many units and the prefered layouts for the group. This is especially handy for unique layouts which are not defined as `global`. For example complex sam sites like the S-300 or Patriot which have very specific alignment of the different units. + +Layouts will be matched to units based on the special definition given in the corresponding yaml file. For example a layout which is defined as global and allows the unit_class SHORAD will automatically be used for all available SHORAD units which are defined in the faction file. + +TODO Describe the optional flag. + +All these generated ForceGroups will be managed by the ArmedForces class of the specific coalition. This class will be used by other parts of the system like the start_generator or the BuyMenu. The ArmedForces class will then generate the TheaterGroundObject which will be used by liberation. + +Example for a customized Ground Object Buy Menu which makes use of Templates and UnitGroups: + +![ground_object_buy_menu.png](ground_object_buy_menu.png) + + +## How to modify or add layouts + +A layout consists of two special files: + +- layout.miz which defines the actual positioning and alignment of the groups / units +- layout.yaml which defines the necessary information like amount of units, possible types or classes. + +To add a new template a new yaml has to be created as every yaml can only define exact one template. Best practice is to copy paste an existing template which is similar to the one to be created as starting point. The next step is to create a new .miz file and align Units and statics to the wishes. Even if existing ones can be reused, best practice is to always create a fresh one to prevent side effects. +The most important part is to use a new Group for every different Unit Type. It is not possible to mix Unit Types in one group within a template. For example it is not possible to have a logistic truck and a AAA in the same group. The miz file will only be used to get the exact position and orientation of the units, therefore it is irrelevant which type of unit will be used. The unit type will be later defined inside the yaml file. +For the next step all Group names have to be added to the yaml file. Take care to that these names match exactly! Assign the unit_types or unit_classes properties to math the needs. + +**Important**: Whenever changes were made to layouts they have to be re-imported into Liberation. See below. + + +### The Layout miz + +The miz file is used to define the positioning and orientation of the different units for the template. The actual unit which is used is irrelevant. It is important to use a unique and meaningful name for the groups as this will be used in the yaml file as well. The information which will be extracted from the miz file are just the coordinates and heading of the units. + +*Important*: Every different unit type has to be in a separate Group for the template to work. You can not add units of different types to the same group. They can get merged back together during generation by setting the group property. In the example below both groups `AAA Site 0` and `AAA Site 1` have the group = 1 which means that they will be in the same dcs group during generation. + +TODO max amount of possible units is defined from the miz. Example if later the group should have 6 units than there have to be 6 defined in the miz. + +![template_miz_example.png](layout_miz_example.png) + +### The Layout configuration file + +TODO Description about the layout yaml file.\ + +Possible Information: + +| Property | Type | Required | Description | Example | +|---------------|-----------------------|----------|----------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------| +| Name | (str) | Yes | A name to identify the template | `name: Armor Group` | +| Tasks | (list of GroupTask) | Yes | A list of tasks which the template can fullfill | `tasks: - AAA - SHORAD` | +| Generic | (bool, default False) | No | If this is true this template will be used to create general unitGroups | | +| Description | (str) | No | Short description of the template | | +| Groups | (list of Groups) | Yes | see below for definition of a group | | +| layout_file | (str) | No | the .miz file which has the groups / units of the layout included. Only needed if the file has a different name than the yaml file | `layout_file: resources/layouts/naval/legacy_naval_templates.miz` | + +TODO Group and SubGroup + +A group has 1..N sub groups. The name of the Group will be used later within the DCS group name. + +All SubGroups will be merged into one DCS Group + +Every unit type has to be defined as a sub group as following: + +| Property | Type | Required | Description | Example | +|--------------|------------------------|----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------| +| name | (str) | Yes | The group name used in the .miz. Must match exactly! | | +| optional | (bool, default: False) | No | Defines wether the template can be used without this group if the faction has no access to the unit type or the user wants to disable this group | | +| unit_count | (list of int) | No | Amount of units to be generated for this group. Can be fixed or a range where it will be picked randomly | | +| unit_types | (list dcs unit types) | No | Specific unit_types for ground units. Complete list from pydcs: [Vehicles.py](https://github.com/pydcs/dcs/blob/master/dcs/vehicles.py). This list is extended by all supported mods! | | +| unit_classes | (list unit classes) | No | Unit_classes of supported units. Defined in [UnitClass](/game/data/units.py) | | +| statics | (list static types) | No | Specific unit_types of statics. Complete list from pydcs: [Statics.py](https://github.com/pydcs/dcs/blob/master/dcs/statics.py) | | + +Complete example of a generic template for an Aircraft Carrier group: + +``` +name: Carrier Group +generic: true +tasks: + - AircraftCarrier +groups: + - Carrier: # Group Name of the DCS Group + - name: Carrier Group 0 # Sub Group used in the layout.miz + unit_count: + - 1 + unit_classes: + - AircraftCarrier + - Escort: # Group name of the 2nd Group + - name: Carrier Group 1 + unit_count: + - 4 + unit_classes: + - Destroyer +layout_file: resources/layouts/naval/legacy_naval_templates.miz +``` + +### Import Layouts into Liberation +For performance improvements all layouts are serialized to a so called pickle file inside the save folder defined in the liberation preferences. Every time changes are made to the layouts this file has to be recreated. It can be recreated by either deleting the layouts.p file manually or using the special option in the Liberation Toolbar (Developer Tools -> Import Layouts). It will also be recreated after each Liberation update as it will check the Version Number and recreate it when changes are recognized. + + +## Migration from Generators +The previous generators were migrated using a script which build a group using the generator. All of these groups were save into one .miz file [original_generator_layouts.miz](/resources/layouts/original_generator_layouts.miz). +This miz file can be used to verify the templates and to generalize similar templates to decouple the layout from the actual units. As this is a time-consuming and sphisticated task this will be done over time. +With the first step the technical requirements will be fulfilled so that the generalization can happen afterwards the technical pr gets merged. + + +### Updates for Factions + +With the rework there were also some changes to the faction file definitions. Older faction files can not be loaded anymore and have to be adopted to the new changes. +During migration all default factions were automatically updated, so they will work out of the box. + +What was changed: +- Removed the `ewrs` list. All EWRs are now defined in the list "air_defense_units". +- Added the `air_defense_units` list. All units with the Role AntiAir can be defined here as [GroundUnitType](/game/dcs/groundunittype.py). All possible units are defined in [/resources/units/ground_units](/resources/units/ground_units) +- Added `preset_groups`. This list allows to define Preset Groups (described above) like SAM Systems consisting of Launcher, SR, TR and so on instead of adding them each to "air_defense_units". The presets are defined in [/resources/groups](/resources/groups) +- Migrated `air_defenses` to air_defense_units and preset_sets. +- `Missiles` are migrated to GroundUnitTypes instead of Generator names (see air_defense_units for how to use) +- Removed `cruisers`, `destroyers` and `naval_generators`. Migrated them to naval_units and preset_groups +- added `naval_units` with the correct ship name found here [/resources/units/ships](/resources/units/ships) +- `aircraft_carrier` and `helicopter_carrier` were moved to `naval_units` as well. + +## Preset Groups + +Instead of adding the exact name of the previous generator to add complex groups like SAM sites or similar to the faction it is now possible to add preset groups to the faction file. As described earlier such a preset group (Force Group) can be defined very easy with a yaml file. This file allows to define the name, tasking, units, statics and the prefered layouts. The first task defines the primary role of the ForceGroup which gets generated from the preset. + +Example: + +``` +name: SA-10/S-300PS # The name of the group +tasks: # Define at least 1 task + - LORAD # The task(s) the Group can fulfill +units: # Define at least 1 unit + - SAM SA-10 S-300 "Grumble" Clam Shell SR + - SAM SA-10 S-300 "Grumble" Big Bird SR + - SAM SA-10 S-300 "Grumble" C2 + - SAM SA-10 S-300 "Grumble" Flap Lid TR + - SAM SA-10 S-300 "Grumble" TEL D + - SAM SA-10 S-300 "Grumble" TEL C +statics: # Optional + - # Add some statics here +layouts: # Define at least one layout + - S-300 Site # prefered layouts for these groups + ``` + +Resources: +- A list of all available preset groups can be found here: [/resources/groups](/resources/groups) +- All possible tasks can be found in the [/game/data/groups.py](/game/data/groups.py) +- Units are defined with the variant name found in [/resources/units](/resources/units) + + From 8d095d4d057665242f478d98daf9e4f473438ffe Mon Sep 17 00:00:00 2001 From: RndName Date: Tue, 22 Feb 2022 20:30:06 +0100 Subject: [PATCH 615/704] Updated Layouts (markdown) --- Layouts.md | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/Layouts.md b/Layouts.md index daad785..1fda1b7 100644 --- a/Layouts.md +++ b/Layouts.md @@ -3,7 +3,7 @@ The Layout System is a new way of defining how ground objects like SAM Sites or other Vehicle / Ship Groups will be generated (which type of units, how many units, alignment and orientation). It is a complete rework of the previous generator-based logic which was written in python code. The new system allows to define layouts with easy to write yaml code and the use of the DCS Mission Editor for easier placement of the units. The layout system also introduced a new logical grouping of Units and layouts for them, the Armed Forces, which will allow major improvements to the Ground Warfare in upcoming features. **Armed Forces**\ -The Armed Forces is a new system introduced with the layout system which will allow to identitfy and group possible units from the faction together with available layouts for these groups. It is comparable to the AirWing and Squadron implementation but just for Ground and Naval Forces. All possible Force Groups (grouping of 1 or more units and and the available layouts for them) will be generated during campaign initialization and will be used later by many different systems. A Force Group can also include static objects which was not possible before the introduction of the layout system. It is also possible to define presets of these Force Groups within the faction file which is handy for more complex groups like a SA-10 Battery or similar. Example: [SA-10/S-300PS](resources/groups/SA-10.yaml) which includes all the units like SR, TR, LN and has the layout of a [S-300 Battery](resources/layouts/anti_air/S-300_Site.yaml) +The Armed Forces is a new system introduced with the layout system which will allow to identitfy and group possible units from the faction together with available layouts for these groups. It is comparable to the AirWing and Squadron implementation but just for Ground and Naval Forces. All possible Force Groups (grouping of 1 or more units and and the available layouts for them) will be generated during campaign initialization and will be used later by many different systems. A Force Group can also include static objects which was not possible before the introduction of the layout system. It is also possible to define presets of these Force Groups within the faction file which is handy for more complex groups like a SA-10 Battery or similar. Example: [SA-10/S-300PS](/dcs-liberation/dcs_liberation/blob/develop/resources/groups/SA-10.yaml) which includes all the units like SR, TR, LN and has the layout of a [S-300 Battery](/dcs-liberation/dcs_liberation/blob/develop/resources/layouts/anti_air/S-300_Site.yaml) **The Layout System**\ In the previous system the generator which created the ground object was written in python which made modifications and reusability very complicated. To allow easier handling of the layouts and decoupling of alignment of units and the actual unit type (for example Ural-375) the layout system was introduced. Previously we had a generator for every different SAM Site, now we can just reuse the alignemnt (e.g. 6 Launchers in a circle alignment) for multiple SAM Systems and introduce more variety. @@ -15,7 +15,7 @@ As the whole ground unit generation and handling was reworked it is now also pos ### General Concept -![Overview](layouts.png) +![Overview](/dcs-liberation/dcs_liberation/blob/develop/doc/layouts/layouts.png) All possible Force Groups will be generated during campaign initialization by checking all possible units for the specific faction and all available layouts. The code will automatically match general layouts with available units. It is also possible to define preset groups within the faction files which group many units and the prefered layouts for the group. This is especially handy for unique layouts which are not defined as `global`. For example complex sam sites like the S-300 or Patriot which have very specific alignment of the different units. @@ -28,7 +28,7 @@ All these generated ForceGroups will be managed by the ArmedForces class of the Example for a customized Ground Object Buy Menu which makes use of Templates and UnitGroups: -![ground_object_buy_menu.png](ground_object_buy_menu.png) +![ground_object_buy_menu.png](/dcs-liberation/dcs_liberation/blob/develop/doc/layouts/ground_object_buy_menu.png) ## How to modify or add layouts @@ -53,7 +53,7 @@ The miz file is used to define the positioning and orientation of the different TODO max amount of possible units is defined from the miz. Example if later the group should have 6 units than there have to be 6 defined in the miz. -![template_miz_example.png](layout_miz_example.png) +![template_miz_example.png](/dcs-liberation/dcs_liberation/blob/develop/doc/layouts/layout_miz_example.png) ### The Layout configuration file @@ -89,7 +89,7 @@ Every unit type has to be defined as a sub group as following: Complete example of a generic template for an Aircraft Carrier group: -``` +```yaml name: Carrier Group generic: true tasks: @@ -115,7 +115,7 @@ For performance improvements all layouts are serialized to a so called pickle fi ## Migration from Generators -The previous generators were migrated using a script which build a group using the generator. All of these groups were save into one .miz file [original_generator_layouts.miz](/resources/layouts/original_generator_layouts.miz). +The previous generators were migrated using a script which build a group using the generator. All of these groups were save into one .miz file [original_generator_layouts.miz](/dcs-liberation/dcs_liberation/blob/develop/resources/layouts/original_generator_layouts.miz). This miz file can be used to verify the templates and to generalize similar templates to decouple the layout from the actual units. As this is a time-consuming and sphisticated task this will be done over time. With the first step the technical requirements will be fulfilled so that the generalization can happen afterwards the technical pr gets merged. @@ -125,14 +125,16 @@ With the first step the technical requirements will be fulfilled so that the gen With the rework there were also some changes to the faction file definitions. Older faction files can not be loaded anymore and have to be adopted to the new changes. During migration all default factions were automatically updated, so they will work out of the box. +You can find more detailed information about how to customize the faction file in [Custom Faction](Custom-Faction) + What was changed: - Removed the `ewrs` list. All EWRs are now defined in the list "air_defense_units". -- Added the `air_defense_units` list. All units with the Role AntiAir can be defined here as [GroundUnitType](/game/dcs/groundunittype.py). All possible units are defined in [/resources/units/ground_units](/resources/units/ground_units) -- Added `preset_groups`. This list allows to define Preset Groups (described above) like SAM Systems consisting of Launcher, SR, TR and so on instead of adding them each to "air_defense_units". The presets are defined in [/resources/groups](/resources/groups) +- Added the `air_defense_units` list. All units with the Role AntiAir can be defined here as [GroundUnitType](/dcs-liberation/dcs_liberation/blob/develop/game/dcs/groundunittype.py). All possible units are defined in [/dcs-liberation/dcs_liberation/blob/develop/resources/units/ground_units](/dcs-liberation/dcs_liberation/blob/develop/resources/units/ground_units) +- Added `preset_groups`. This list allows to define Preset Groups (described above) like SAM Systems consisting of Launcher, SR, TR and so on instead of adding them each to "air_defense_units". The presets are defined in [/dcs-liberation/dcs_liberation/blob/develop/resources/groups](/dcs-liberation/dcs_liberation/blob/develop/resources/groups) - Migrated `air_defenses` to air_defense_units and preset_sets. - `Missiles` are migrated to GroundUnitTypes instead of Generator names (see air_defense_units for how to use) - Removed `cruisers`, `destroyers` and `naval_generators`. Migrated them to naval_units and preset_groups -- added `naval_units` with the correct ship name found here [/resources/units/ships](/resources/units/ships) +- added `naval_units` with the correct ship name found here [resources/units/ships](/dcs-liberation/dcs_liberation/blob/develop/resources/units/ships) - `aircraft_carrier` and `helicopter_carrier` were moved to `naval_units` as well. ## Preset Groups @@ -141,7 +143,7 @@ Instead of adding the exact name of the previous generator to add complex groups Example: -``` +```yaml name: SA-10/S-300PS # The name of the group tasks: # Define at least 1 task - LORAD # The task(s) the Group can fulfill @@ -159,8 +161,8 @@ layouts: # Define at least one layout ``` Resources: -- A list of all available preset groups can be found here: [/resources/groups](/resources/groups) -- All possible tasks can be found in the [/game/data/groups.py](/game/data/groups.py) -- Units are defined with the variant name found in [/resources/units](/resources/units) +- A list of all available preset groups can be found here: [/resources/groups](/dcs-liberation/dcs_liberation/blob/develop/resources/groups) +- All possible tasks can be found in the [/game/data/groups.py](/dcs-liberation/dcs_liberation/blob/develop/game/data/groups.py) +- Units are defined with the variant name found in [/resources/units](/dcs-liberation/dcs_liberation/blob/develop/resources/units) From 08739bf22124ef59657b31c5b54aaa6ad8e0d290 Mon Sep 17 00:00:00 2001 From: RndName Date: Tue, 22 Feb 2022 20:31:05 +0100 Subject: [PATCH 616/704] Updated Layouts (markdown) --- Layouts.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Layouts.md b/Layouts.md index 1fda1b7..42447ee 100644 --- a/Layouts.md +++ b/Layouts.md @@ -1,5 +1,7 @@ # The Layout System +**New with DCS Liberation 6.0** + The Layout System is a new way of defining how ground objects like SAM Sites or other Vehicle / Ship Groups will be generated (which type of units, how many units, alignment and orientation). It is a complete rework of the previous generator-based logic which was written in python code. The new system allows to define layouts with easy to write yaml code and the use of the DCS Mission Editor for easier placement of the units. The layout system also introduced a new logical grouping of Units and layouts for them, the Armed Forces, which will allow major improvements to the Ground Warfare in upcoming features. **Armed Forces**\ From 3a518e40733e1d44eb5bcd3d81ec0d37ec734abc Mon Sep 17 00:00:00 2001 From: RndName Date: Tue, 22 Feb 2022 20:34:05 +0100 Subject: [PATCH 617/704] Updated Layouts (markdown) --- Layouts.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Layouts.md b/Layouts.md index 42447ee..8043ff6 100644 --- a/Layouts.md +++ b/Layouts.md @@ -86,7 +86,7 @@ Every unit type has to be defined as a sub group as following: | optional | (bool, default: False) | No | Defines wether the template can be used without this group if the faction has no access to the unit type or the user wants to disable this group | | | unit_count | (list of int) | No | Amount of units to be generated for this group. Can be fixed or a range where it will be picked randomly | | | unit_types | (list dcs unit types) | No | Specific unit_types for ground units. Complete list from pydcs: [Vehicles.py](https://github.com/pydcs/dcs/blob/master/dcs/vehicles.py). This list is extended by all supported mods! | | -| unit_classes | (list unit classes) | No | Unit_classes of supported units. Defined in [UnitClass](/game/data/units.py) | | +| unit_classes | (list unit classes) | No | Unit_classes of supported units. Defined in [UnitClass](/dcs-liberation/dcs_liberation/blob/develop/game/data/units.py) | | | statics | (list static types) | No | Specific unit_types of statics. Complete list from pydcs: [Statics.py](https://github.com/pydcs/dcs/blob/master/dcs/statics.py) | | Complete example of a generic template for an Aircraft Carrier group: @@ -127,7 +127,7 @@ With the first step the technical requirements will be fulfilled so that the gen With the rework there were also some changes to the faction file definitions. Older faction files can not be loaded anymore and have to be adopted to the new changes. During migration all default factions were automatically updated, so they will work out of the box. -You can find more detailed information about how to customize the faction file in [Custom Faction](Custom-Faction) +You can find more detailed information about how to customize the faction file in [Custom Faction](Custom-Factions) What was changed: - Removed the `ewrs` list. All EWRs are now defined in the list "air_defense_units". From 966facde1f199efe2fc67b0fa0de021861921595 Mon Sep 17 00:00:00 2001 From: RndName Date: Thu, 24 Feb 2022 23:46:10 +0100 Subject: [PATCH 618/704] Updated Custom Factions (markdown) --- Custom-Factions.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Custom-Factions.md b/Custom-Factions.md index 6083097..be63055 100644 --- a/Custom-Factions.md +++ b/Custom-Factions.md @@ -18,6 +18,9 @@ If there is an error with the file it will not appear, please check the content # File format +**The file format changed with DCS Liberation 6.0**\ +For Version 5.1.X you can find the documentation here [Custom Factions](https://github.com/dcs-liberation/dcs_liberation/wiki/Custom-Factions/591260356de497450fce073bb5baf20c035a768e) + This json file should contain a json object, with the following parameters : * **country** : The country to be used in DCS. Careful, if it is not a valid country name in DCS, the mission generation will not work. From 1ba431a9e29ac4f4bb03135f769f6a7640c4cc98 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sun, 6 Mar 2022 02:08:29 -0800 Subject: [PATCH 619/704] Updated Developer's Guide (markdown) --- Developer's-Guide.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Developer's-Guide.md b/Developer's-Guide.md index 0eaf93f..9eed69f 100644 --- a/Developer's-Guide.md +++ b/Developer's-Guide.md @@ -63,6 +63,15 @@ If you're using PyCharm, you can configure the project to use your virtualenv in ### Windows terminal (using git-bash) +Every time you update the repo you should rebuild the front-end: + +``` +cd client +npm build +``` + +If you're not developing the front-end (or the API boundary) that's enough. Otherwise, see `client/README.md`. + Set up your virtual env (described above), activate your env, then: ``` From e26dde8b397dc1933af8b371e3203a703b4e9b52 Mon Sep 17 00:00:00 2001 From: Benjamin Fischer Date: Sat, 12 Mar 2022 21:23:52 +0100 Subject: [PATCH 620/704] Updated Developer's Guide (markdown) --- Developer's-Guide.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Developer's-Guide.md b/Developer's-Guide.md index 9eed69f..c128f3a 100644 --- a/Developer's-Guide.md +++ b/Developer's-Guide.md @@ -62,12 +62,18 @@ If you're using PyCharm, you can configure the project to use your virtualenv in ## Running from sources ### Windows terminal (using git-bash) +If you run from sources for the first time, you need to build the frontend, otherwise you won't be able to see the map. For the frontend to build, you need npm installed, which you can get on the [Node.js webpage](https://nodejs.org/en/download/). After installing node.js and npm, do the following for the first build: +``` +cd client +npm install +npm run build +``` Every time you update the repo you should rebuild the front-end: ``` cd client -npm build +npm run build ``` If you're not developing the front-end (or the API boundary) that's enough. Otherwise, see `client/README.md`. From 74d81115ec665ea9461b8b9c0aaa0da73de164ce Mon Sep 17 00:00:00 2001 From: RndName Date: Fri, 18 Mar 2022 09:53:09 +0100 Subject: [PATCH 621/704] Updated Preview builds (markdown) --- Preview-builds.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Preview-builds.md b/Preview-builds.md index 125ea3c..26c9912 100644 --- a/Preview-builds.md +++ b/Preview-builds.md @@ -2,4 +2,4 @@ The latest build of the development branch can be found [here](https://github.co **This is a development branch. Sometimes we break things, and plenty of things will be works in progress. Save games may not work across builds, and you should back up any save games you don't want to lose before loading them with a development build.** -The latest builds of the 5.1 release can be found [here](https://github.com/dcs-liberation/dcs_liberation/actions/workflows/build.yml?query=branch%3Adevelop-5.1+event%3Apush). Unlike the main branch, saves _should_ remain compatible with saves from prior versions of 5.x. However, check the date of the build before downloading, as the build on this page may be older than the released version. \ No newline at end of file +The latest builds of the 5.2 release can be found [here](https://github.com/dcs-liberation/dcs_liberation/actions/workflows/build.yml?query=branch%3Adevelop-5.2+event%3Apush). Unlike the main branch, saves _should_ remain compatible with saves from prior versions of 5.x. However, check the date of the build before downloading, as the build on this page may be older than the released version. \ No newline at end of file From a532c542fdd91b59daf03e88713a9cf101e3f06b Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Mon, 21 Mar 2022 17:57:17 -0700 Subject: [PATCH 622/704] Add a page describing the tasks to add a new module. --- New-aircraft-module-checklist.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 New-aircraft-module-checklist.md diff --git a/New-aircraft-module-checklist.md b/New-aircraft-module-checklist.md new file mode 100644 index 0000000..036296d --- /dev/null +++ b/New-aircraft-module-checklist.md @@ -0,0 +1,30 @@ +This checklist describes the work needed to add support for a new aircraft module in Liberation. The same steps apply to both official modules and mods, though mods are often held to a lower standard. + +The content below the line can be copied into the FR for tracking the work. Copy the source rather than the rendered view to preserve formatting in the bug. Mods should replace the first task (pydcs export) with the instructions in [[Modded aircraft support|Modded-Aircraft-Support]]. + +--- + +The tasks below are rated P0-P2 to indicate their importance: + +Priority | Description +--- | --- +P0 | Required. Module will not function in Liberation without completing these tasks. _Must_ be addressed before shipping in a release. +P1 | Most modules complete these tasks. Commonly available features will not be available for the module if these tasks are skipped. Expect bug reports. Should be addressed before shipping in a release. +P2 | Many modules don't complete these tasks. Completing these tasks is required for complete functionality. Can be addressed in future releases. + +- [ ] P0: pydcs export + 1. Export latest DCS data by following the instructions at the top of [pydcs_export.lua](https://github.com/pydcs/dcs/blob/master/tools/pydcs_export.lua) + 2. Send PR to pydcs + 3. Update Liberation to the latest DCS +- [ ] P0: Add unit data to `resources/units/aircraft`. See [the F-16C data](https://github.com/dcs-liberation/dcs_liberation/blob/develop/resources/units/aircraft/F-16C_50.yaml) for a complete example. + - [ ] P0: Price. Compare to similar aircraft to determine what the price should be. + - [ ] P0: Variants. These are the names that will be used in the UI. At least one is required, but variants should be added for faction-specific types as necessary (e.g. a CF-18 variant for the Canadian F/A-18). + - [ ] P1: Maximum range estimate. This is the maximum range from departure to target that the auto-planner will consider. The defaults are extremely conservative to avoid planning missions that will kill AI flights that run out of fuel. + - [ ] P1: Information sections (description, introduction date, manufacturer, origin, and role). + - [ ] P1: Radio configuration. See [radios.py](https://github.com/dcs-liberation/dcs_liberation/blob/develop/game/radio/radios.py) for a list of known radio types. Add new radios to that list if necessary. Necessary for default channel assignments and non-conflicting intra-flight frequency assignments. + - [ ] P2: [Fuel consumption data](https://github.com/dcs-liberation/dcs_liberation/blob/develop/doc/fuel-consumption-measurement.md). Without this the kneeboard will not show minimum required fuel for each waypoint, and bingo/joker estimates may be extremely inaccurate. +- [ ] P0: [Flight planner priority lists](https://github.com/dcs-liberation/dcs_liberation/blob/develop/game/ato/ai_flight_planner_db.py). These lists are in priority order. Add the aircraft to the list for each mission type it is capable of in the order suitable for auto-planner preference. For example, for CAP the F-16 should be lower in the list than the F-22, but above the FW-190. +- [ ] P0: Default loadouts for all supported mission types. +- [ ] P0: Add to relevant factions. +- [ ] P0: Aircraft specific waypoint behavior. Most aircraft, such as those capable of a large (20+) quantity of waypoints or have no built-in waypoint navigation do not need custom behavior. Aircraft like the Viggen and F-14 where waypoints are constrained and/or have specific meanings will need to complete this task. +- [ ] P1: Banners/icons. \ No newline at end of file From 3ba3f4c154fd12b1c014d9e191a010ad328b8129 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Mon, 21 Mar 2022 17:59:56 -0700 Subject: [PATCH 623/704] Updated _Sidebar (markdown) --- _Sidebar.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/_Sidebar.md b/_Sidebar.md index b58af7e..da40934 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -59,8 +59,12 @@ [Campaign maintenance](Campaign-maintenance) +### Core development guides + [Developer's Guide](Developer's-Guide) +[[Adding a new aircraft module|New-aircraft-module-checklist]] + [Release process](Release-process) ## Misc From 2a8d769c09e9380cfa2d53cff5de709e282b5768 Mon Sep 17 00:00:00 2001 From: RndName Date: Tue, 22 Mar 2022 13:32:31 +0100 Subject: [PATCH 624/704] Mention the Preview process --- Release-process.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Release-process.md b/Release-process.md index e0fe7c3..f6c0797 100644 --- a/Release-process.md +++ b/Release-process.md @@ -1,8 +1,9 @@ To release a new version of DCS Liberation: 1. Make sure the version number and changelog are up to date in the release branch. If the changelog needs to be updated, fix it in develop first and cherry-pick the updates to the release branch so they stay in sync. -2. Tag the release branch when the build is complete. Format for release tags is `$MAJOR.$MINOR.$PATCH`. **Do not create a release.** A release will be created automatically by the GitHub action from the tag. -3. Smoke test the tagged build -4. Update the bug templates in .github to allow reporting bugs against the new release. Old versions should be removed. -5. In [Releases](https://github.com/dcs-liberation/dcs_liberation/releases), promote the tagged build to a release. The description should be pre-filled with the changelog. -6. Announce the release in #:loudspeaker:releases in Discord. \ No newline at end of file +2. Announce a preview build in #:loudspeaker:preview with the link to the GitHub Action for the specifc branch before creating the Release and wait some time. This allows to get some feedback on the build +3. When everything is ready for release create a tag the corresponding release branch. Format for release tags is `$MAJOR.$MINOR.$PATCH`. **Do not create a release.** A release will be created automatically by the GitHub action from the tag. +4. Smoke test the tagged build +5. Update the bug templates in .github to allow reporting bugs against the new release. Old versions should be removed. +6. In [Releases](https://github.com/dcs-liberation/dcs_liberation/releases), promote the tagged build to a release. The description should be pre-filled with the changelog. +7. Announce the release in #:loudspeaker:releases in Discord. \ No newline at end of file From 19664c2476df870120331382d2c33d86db77142b Mon Sep 17 00:00:00 2001 From: RndName Date: Tue, 22 Mar 2022 13:33:04 +0100 Subject: [PATCH 625/704] Updated Release process (markdown) --- Release-process.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Release-process.md b/Release-process.md index f6c0797..4630e5f 100644 --- a/Release-process.md +++ b/Release-process.md @@ -2,7 +2,7 @@ To release a new version of DCS Liberation: 1. Make sure the version number and changelog are up to date in the release branch. If the changelog needs to be updated, fix it in develop first and cherry-pick the updates to the release branch so they stay in sync. 2. Announce a preview build in #:loudspeaker:preview with the link to the GitHub Action for the specifc branch before creating the Release and wait some time. This allows to get some feedback on the build -3. When everything is ready for release create a tag the corresponding release branch. Format for release tags is `$MAJOR.$MINOR.$PATCH`. **Do not create a release.** A release will be created automatically by the GitHub action from the tag. +3. When everything is ready for release tag the corresponding release branch. Format for release tags is `$MAJOR.$MINOR.$PATCH`. **Do not create a release.** A release will be created automatically by the GitHub action from the tag. 4. Smoke test the tagged build 5. Update the bug templates in .github to allow reporting bugs against the new release. Old versions should be removed. 6. In [Releases](https://github.com/dcs-liberation/dcs_liberation/releases), promote the tagged build to a release. The description should be pre-filled with the changelog. From 4b247b6ca6629fce96552fd4346794ee348186b4 Mon Sep 17 00:00:00 2001 From: RndName Date: Wed, 23 Mar 2022 17:26:23 +0100 Subject: [PATCH 626/704] Mention the layout orientation and the new fill property --- Layouts.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Layouts.md b/Layouts.md index 8043ff6..ef3ee0b 100644 --- a/Layouts.md +++ b/Layouts.md @@ -53,6 +53,8 @@ The miz file is used to define the positioning and orientation of the different *Important*: Every different unit type has to be in a separate Group for the template to work. You can not add units of different types to the same group. They can get merged back together during generation by setting the group property. In the example below both groups `AAA Site 0` and `AAA Site 1` have the group = 1 which means that they will be in the same dcs group during generation. +*Important*: Liberation expects every template to be designed with an orientation of heading 0 (North) in mind. The complete GroundObject will during the campaign generation process be rotated to match the orientation defined by the campaign designer. If the layout was not created with an orientation of heading 0 the later generated GroundObject will likely be misaligned and not work properly. + TODO max amount of possible units is defined from the miz. Example if later the group should have 6 units than there have to be 6 defined in the miz. ![template_miz_example.png](/dcs-liberation/dcs_liberation/blob/develop/doc/layouts/layout_miz_example.png) @@ -83,7 +85,8 @@ Every unit type has to be defined as a sub group as following: | Property | Type | Required | Description | Example | |--------------|------------------------|----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------| | name | (str) | Yes | The group name used in the .miz. Must match exactly! | | -| optional | (bool, default: False) | No | Defines wether the template can be used without this group if the faction has no access to the unit type or the user wants to disable this group | | +| optional | (bool, default: false) | No | Defines wether the layout can be used without this group if the faction has no access to the unit type or the user wants to disable this group | | +| fill | (bool, default: true) | No | If the group is optional the layout is used from a PresetGroup this property tells the system if it should use any possible faction accessible unit to fill up this slot if no capable one was defined in the preset yaml. | | | unit_count | (list of int) | No | Amount of units to be generated for this group. Can be fixed or a range where it will be picked randomly | | | unit_types | (list dcs unit types) | No | Specific unit_types for ground units. Complete list from pydcs: [Vehicles.py](https://github.com/pydcs/dcs/blob/master/dcs/vehicles.py). This list is extended by all supported mods! | | | unit_classes | (list unit classes) | No | Unit_classes of supported units. Defined in [UnitClass](/dcs-liberation/dcs_liberation/blob/develop/game/data/units.py) | | From 7880d568b74e4dac1df45eeccf86091ab01975a1 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Tue, 29 Mar 2022 00:16:34 -0700 Subject: [PATCH 627/704] Update SEAD description to not lead with pre-3.0 behavior. --- Mission-planning.md | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/Mission-planning.md b/Mission-planning.md index 4da9094..b451804 100644 --- a/Mission-planning.md +++ b/Mission-planning.md @@ -62,7 +62,7 @@ A CAS mission can be planned at a front line by right clicking on it on the map. A DEAD mission can be planned against enemy air defenses. Its purpose is to destroy enemy air defenses. The flight will rendezvous with the rest of its package and aim to have weapons on the target at the package's TOT. After releasing its weapons, the flight will RTB. -**Note for DCS Liberation 3.0:** DEAD loadouts may now differ from SEAD loadouts, and SEAD is now the preferred mission type for suppressing SAMs with HARMs or decoys. When picking loadouts for DEAD missions, prefer bombs and missiles that can kill every unit at the target, not just emitters. +DEAD missions are typically planned in coordination with a SEAD flight when then the target is a radar SAM. The SEAD flight will suppress the target with decoys or ARMs while the DEAD flight ensures the kill with bombs and ATGMs. ### Escort @@ -88,21 +88,25 @@ An airfield with a destroyed runway will not be usable for missions and aircraft ### SEAD -A SEAD mission protects other flights from SAMs. In contrast to DEAD, it will engage air defenses near the target area and not just the target itself. The flight will rendezvous with the rest of its package and begin to search for and suppress any enemy air defenses within a predefined range. After releasing its weapons the flight will RTB. +A SEAD mission suppresses the package target. This can be accomplished with decoys or ARMs. -**Changed in DCS Liberation 3.0:** A SEAD mission suppresses the package target. This differs from DEAD in that the destruction of the target is not a requirement for mission success. An F-14 using TALDs to prevent the target from destroying the DEAD flight delivering bombs to destroy the target has accomplished its mission. An F/A-18 using HARMs to keep the SAM turned off while the DEAD flight delivers bombs has accomplished its mission. +In contrast to DEAD, its goal is not to score a kill. SEAD flights employing HARMs might kill a radar, but that isn't required for mission success. The objective for the SEAD flight is to keep the target's radar off (or occupied, as is the case with decoys) so the DEAD flight can score the kill. + +The flight will rendezvous with the rest of its package and fire its weapons (or decoys) at the package target once it reaches its IP. After releasing its weapons the flight will RTB. SEAD flights will be planned to accompany DEAD packages. When the SEAD flight uses HARMs it is quite likely that they will destroy the emitters (when not using Skynet), but they will never kill launchers/TELs without their own radar. DEAD will often carry bombs rather than ARMs or decoys so they can destroy the non-emitting parts of the SAM as well. **Note:** SEAD flights have a ToT 1 minute ahead of the rest of the package. -### SEAD Escort +A player performing this mission is expected to fire HARMs in PB mode so that the weapon's TOT roughly aligns with the package's TOT, even if the emitter is off. It is best to fire HARMs one by one, staggered by a minute or so to keep the site suppressed for as long as possible, always trying to keep one HARM in flight near the target. When using decoys rather than ARMs the principle is the same, but you'll just have to guess at the decoy's TOT. -**New in DCS Liberation 3.0** +### SEAD Escort A SEAD escort mission protects any other flights that are requesting an escort from SAM threats. Flight plans that pass within the range of enemy SAMs will request a SEAD escort. A SEAD escort will fly a flight plan similar to the rest of the package while engaging detected SAMs near the flight path and will then RTB. -This differs from SEAD by engaging *any* SAM threating the package between the join and split points rather than only the package's target. +This differs from SEAD by engaging *any* SAM threatening the package between the join and split points rather than only the package's target. + +A player performing this mission is expected to fly the route while searching for SAM threats (using TOO mode for the Hornet, HTS for the Viper, etc) and engage any emitter that begins to threaten the package. ### Strike From e30466a106221586a58f360dd94a08d04e900d4f Mon Sep 17 00:00:00 2001 From: RndName Date: Tue, 29 Mar 2022 17:18:03 +0200 Subject: [PATCH 628/704] Updated Layouts (markdown) --- Layouts.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Layouts.md b/Layouts.md index ef3ee0b..005595e 100644 --- a/Layouts.md +++ b/Layouts.md @@ -44,7 +44,7 @@ To add a new template a new yaml has to be created as every yaml can only define The most important part is to use a new Group for every different Unit Type. It is not possible to mix Unit Types in one group within a template. For example it is not possible to have a logistic truck and a AAA in the same group. The miz file will only be used to get the exact position and orientation of the units, therefore it is irrelevant which type of unit will be used. The unit type will be later defined inside the yaml file. For the next step all Group names have to be added to the yaml file. Take care to that these names match exactly! Assign the unit_types or unit_classes properties to math the needs. -**Important**: Whenever changes were made to layouts they have to be re-imported into Liberation. See below. +**Important**: Whenever changes were made to layouts they have to be re-imported into Liberation. See [Import Layouts](#import-layouts-into-liberation). ### The Layout miz From 67332ea10c18579f7f8c09bc869a73dd78e1d733 Mon Sep 17 00:00:00 2001 From: RndName Date: Sat, 2 Apr 2022 11:35:02 +0200 Subject: [PATCH 629/704] Prepare for the upcoming IADS changes --- Custom-campaigns.md | 36 +++++++++++++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index 06b5c49..bdbcce6 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -37,6 +37,8 @@ This json file should contain a json object, with the following parameters : * `miz`: The name of the miz file (in the same `resources\campaigns` directory) that describes the campaign. * `performance`: How much performance your campaign need to run smoothly (3 for biggest scenarios that will have huge impact on game performance, 0 for the smallest, performance-friendly scenarios) * `squadrons`: Defines the default squadron configuration at the beginning of the campaign. Explained in the next section. +* `advanced_iads`: (Optional, Default: false) Defines if the campaign supports the advanced iads functions using Comms, Power and CommandCenters (values: `true | false`) +* `iads_config`: (Optional) Defines the configuration of the IADS Network used in the campaign. Description found here: [IADS Configuration](#iads-configuration) ### Squadron configuration @@ -70,6 +72,30 @@ When choosing preferred aircraft, although the property is optional, it is best A best practice to follow is to set up one base per side as a transit hub. This is preferably a large airfield near the rear of the conflict (not easily captured or destroyed), that has the ability to produce ground units (has a factory), has a cargo aircraft squadron, and optionally has a port. Depending on the location of this base it may also be a good home for AEW&C and refueling squadrons (and a BARCAP squadron to defend those other squadrons). +### IADS configuration +Description about the advanced IADS Configuration coming soon... + +```yaml +version: "10.1" # Campaign Version 10.1 allows the advanced iads network config +advanced_iads: true # Campaign has connection_nodes / power_sources / command_centers +iads_config: + - Aircraft Carrier # A naval group participating to the IADS network without any connections + - Naval Group # Naval Group + - Golan North-100: # Group name of the SAM, EWR or Command Center used in the campaign.miz + - IADS_CN2 # All connected nodes (Comms, Power, PointDefense) + - IADS_PS4 # Exact name of the connected group used in the campaign.miz + - IADS_PS3 + - Golan North-11: + - IADS_CN2 + - IADS_PS3 + - Golan North-139: + - IADS_PS2 + - IADS_CN6 + ... +``` + +How the IADS Network works is described over here: [IADS Network](#iads) + ### Common issues with a custom campaign yaml file and their solutions #### 'air-to-ground' is not a valid FlightType @@ -289,11 +315,9 @@ Strike targets are buildings that generate income for the owning coalition. Thes Type | Income -|- -Power plants | 4 Fuel depots | 2 Warehouses | 2 FARPs | 1 -Communications towers | 10 Oil derricks | 10 Bunkers | 2 Villages | 0,25 @@ -329,6 +353,7 @@ Create a property for the objective definition with the value field set to any o * `derrick` * `village` * `allycamp` +* `commandcenter` Each **structure** will generate its own income, not each **group**. This means that large groups of structures will generate large amounts of income. @@ -407,6 +432,8 @@ SAM locations are split into four types: long range, medium range, short range, Note that the exact type of SAM or EWR that will be placed depends on the faction definition (SAM/EWR generators). However, when designing a campaign with specific factions in mind (such as Syria defending on the Syria map), this allows the designer to see the coverage of the SAMs used by the intended faction. This way the designer can be sure that sufficient coverage will be present in the campaign when a faction using a specific type of SAM is used. +Description of the Advanced IADS is coming soon... + # #### Early Warning Radars @@ -471,4 +498,7 @@ Missile Sites | Red | SSM SS-1C Scud-B | 800ft Coastal defenses | Red | AShM SS-N-2 Silkworm | 800ft Ship | Red | Arleigh Burke IIa | 5000ft Armor group | Either | MBT M1A2 Abrams | 500ft -FOB | Either | Truck SKP-11 Mobile ATC | 100ft \ No newline at end of file +FOB | Either | Truck SKP-11 Mobile ATC | 100ft +Comms | Either | Comms tower M | Building should fit +Power | Either | GeneratorF | 350ft +Command Center | Either | Command Center | Building should fit \ No newline at end of file From b623b137948a659c76397bfc0bbaf235cea935ab Mon Sep 17 00:00:00 2001 From: RndName Date: Mon, 4 Apr 2022 13:39:23 +0200 Subject: [PATCH 630/704] Update IADS Network infos for 6.0 --- Custom-campaigns.md | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index bdbcce6..cb2ba85 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -1,4 +1,5 @@ -**For DCS Liberation 5.0 the campaign version is 9.1.** +**For DCS Liberation 5.0 the campaign version is 9.1.**\ +**For DCS Liberation 6.0 the campaign version is 10.0.** Campaigns in DCS Liberation can be modified using the mission editor. Each campaign is defined by a JSON file to provide metadata, and a DCS mission file (`.miz` file) to set up the theater. @@ -75,6 +76,8 @@ A best practice to follow is to set up one base per side as a transit hub. This ### IADS configuration Description about the advanced IADS Configuration coming soon... +_Will be available in DCS Liberation 6.0_ + ```yaml version: "10.1" # Campaign Version 10.1 allows the advanced iads network config advanced_iads: true # Campaign has connection_nodes / power_sources / command_centers @@ -424,17 +427,33 @@ Armor groups are ground units that defend the assigned location. These groups wi - To define potential locations for garrison groups, place a (red or blue) MBT M1A2 Abrams. # -### IADS +### IADS - Integrated Air Defence System -IADS locations are automatically associated with the control point closest to them. +DCS Liberation will create Air Defence Assets like SAM Systems, Point Defense, EWRs, Power Sources, Connection Nodes and Command Centers during campaign generation and connects them with each other to build an IADS Network of participating assets. This IADS Network will be used in the generated mission by the [Skynet Plugin](https://github.com/walder/Skynet-IADS) created by Walder which improves the overall handling of the AI with the Anti Air units as well as bringing in more realistic options like Connection Nodes, Power Sources and Command Centers. +#### IADS Network +The IADS Network can be implemented and used in two different ways since Liberation 6.0: +- Basic Mode +- Advanced Mode + +_The Advanced Mode will be available in DCS Liberation 6.0_ + +In Basic Mode the IADS locations are automatically associated with the control point closest to them and participate to the IADS Network without using communication nodes or power sources. Participating Assets are MERAD and LORAD SAM Sites, EWRs, Naval Units (Ships, Carriers), AWACS flights and Command Centers. This mode will automatically be used if the campaign designer has not placed the advanced units in the campaign and set the advanced_iads property in the campaign yaml to true. The basic mode is used as default mode. + +If the campaign supports the advanced mode there are two possible ways to use it: +- Network by config: campaign designers can define the iads completly in the campaign yaml as described above [IADS Configuration](#iads-configuration) +- Network by range: campaign designers can just place the ground units without a definition in the campaign yaml. Then it will be automatically calculated based on the distance between the units. + +If no iads_config is defined in the campaign.yaml the "by range" option will be used. In this mode the system will automatically connect assets like SAM Systems or EWRs to Connection Nodes or Power Sources base on the distance between these objects. Comms will be connected within a distance of 15nm and power sources will be connected within 35nm of distance. + +The advanced assets like Comms, Power and C2 can be placed like any other ground object using the placeholder unit defined in this table [Unit Type Quick Reference](#unit-type-quick-reference-1) or via a [Map Object](#map-objects). + +#### Anti Air GroundObjects SAM locations are split into four types: long range, medium range, short range, and AAA. Each type of position will prefer to be filled by its exact type, but if the faction has no air defenses of that type available the generator will continue to downgrade the site until it finds a match. For example, a medium range SAM may be used in place of a long range SAM. _Upgrades_ are not allowed. Note that the exact type of SAM or EWR that will be placed depends on the faction definition (SAM/EWR generators). However, when designing a campaign with specific factions in mind (such as Syria defending on the Syria map), this allows the designer to see the coverage of the SAMs used by the intended faction. This way the designer can be sure that sufficient coverage will be present in the campaign when a faction using a specific type of SAM is used. -Description of the Advanced IADS is coming soon... -# #### Early Warning Radars To define an EWR location, place a CJTF Red EWR 1L13. From 855abb535e1ed582086e61ac6906e3eb09a5de7d Mon Sep 17 00:00:00 2001 From: RndName Date: Tue, 5 Apr 2022 13:06:48 +0200 Subject: [PATCH 631/704] Describe iads configuration --- Custom-campaigns.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index cb2ba85..b240ca0 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -74,10 +74,12 @@ When choosing preferred aircraft, although the property is optional, it is best A best practice to follow is to set up one base per side as a transit hub. This is preferably a large airfield near the rear of the conflict (not easily captured or destroyed), that has the ability to produce ground units (has a factory), has a cargo aircraft squadron, and optionally has a port. Depending on the location of this base it may also be a good home for AEW&C and refueling squadrons (and a BARCAP squadron to defend those other squadrons). ### IADS configuration -Description about the advanced IADS Configuration coming soon... +_Will be available in DCS Liberation 6.0_\ +Liberation can automatically generate the IADS network for you but if you want to have more control about the network and which assets are connected with each other it is possible to define the whole IADS network in the campaign.yaml. The iads configuration will only be used when the campaign supports the advanced iads (set `advanced_iads` to true) and the checkbox to use the Advanced mode is checked during campaign generation. -_Will be available in DCS Liberation 6.0_ +To define the iads network in the campaign.yaml one has to add all connections to the `iads_config` property. Every primary node (SAM, EWR, Command Center, Naval Unit) which should participate to the network has to be added to the list with the exact Group Name used in the campaign.miz. AWACs should not be added to this list!. Every primary node can have 0..N connections (Comms, Power Source, Point Defense) which have to be added as a list to the primary node with the exact group name used in the campaign.miz. If no connections are added to a primary node it will participate to the IADS Network without requiring Comms or Power (equal to the functionality of the Basic mode). +Example of the IADS Configuration used in the Golan Heights campaign: ```yaml version: "10.1" # Campaign Version 10.1 allows the advanced iads network config advanced_iads: true # Campaign has connection_nodes / power_sources / command_centers @@ -97,7 +99,7 @@ iads_config: ... ``` -How the IADS Network works is described over here: [IADS Network](#iads) +How the IADS Network works is described over here: [IADS Network](#iads---integrated-air-defence-system) ### Common issues with a custom campaign yaml file and their solutions @@ -432,7 +434,7 @@ Armor groups are ground units that defend the assigned location. These groups wi DCS Liberation will create Air Defence Assets like SAM Systems, Point Defense, EWRs, Power Sources, Connection Nodes and Command Centers during campaign generation and connects them with each other to build an IADS Network of participating assets. This IADS Network will be used in the generated mission by the [Skynet Plugin](https://github.com/walder/Skynet-IADS) created by Walder which improves the overall handling of the AI with the Anti Air units as well as bringing in more realistic options like Connection Nodes, Power Sources and Command Centers. #### IADS Network -The IADS Network can be implemented and used in two different ways since Liberation 6.0: +The IADS Network can be implemented and used in two different ways: - Basic Mode - Advanced Mode @@ -446,7 +448,7 @@ If the campaign supports the advanced mode there are two possible ways to use it If no iads_config is defined in the campaign.yaml the "by range" option will be used. In this mode the system will automatically connect assets like SAM Systems or EWRs to Connection Nodes or Power Sources base on the distance between these objects. Comms will be connected within a distance of 15nm and power sources will be connected within 35nm of distance. -The advanced assets like Comms, Power and C2 can be placed like any other ground object using the placeholder unit defined in this table [Unit Type Quick Reference](#unit-type-quick-reference-1) or via a [Map Object](#map-objects). +The advanced assets like Comms, Power and C2 can be placed like any other ground object using the placeholder unit defined in this table [Unit Type Quick Reference](#unit-type-quick-reference-1) or via a [Map Object](#map-objects). When Map objects are used the system will generate a static dummy M4 Soldier next to the object. This is required so that skynet has a unit to control and track the alive/death state of it. This unit does not serve any purpose beside this. The kill of a map object is strill tracked by destroying the object and not the soldier. #### Anti Air GroundObjects SAM locations are split into four types: long range, medium range, short range, and AAA. Each type of position will prefer to be filled by its exact type, but if the faction has no air defenses of that type available the generator will continue to downgrade the site until it finds a match. For example, a medium range SAM may be used in place of a long range SAM. _Upgrades_ are not allowed. From 49df22b21cfc126c0eb79ad495ab1fc1c4fe97ad Mon Sep 17 00:00:00 2001 From: RndName Date: Wed, 6 Apr 2022 19:32:58 +0200 Subject: [PATCH 632/704] Add Skynet properties override --- Custom-campaigns.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index b240ca0..80d7ec2 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -450,6 +450,25 @@ If no iads_config is defined in the campaign.yaml the "by range" option will be The advanced assets like Comms, Power and C2 can be placed like any other ground object using the placeholder unit defined in this table [Unit Type Quick Reference](#unit-type-quick-reference-1) or via a [Map Object](#map-objects). When Map objects are used the system will generate a static dummy M4 Soldier next to the object. This is required so that skynet has a unit to control and track the alive/death state of it. This unit does not serve any purpose beside this. The kill of a map object is strill tracked by destroying the object and not the soldier. +#### Skynet Plugin +Liberation adds the [Skynet Plugin](https://github.com/walder/Skynet-IADS) to the created dcs mission if the user enables the plugin in the campaign settings. This plugin is enabled by default in Liberation V6.0 as it is heavily integrated into the Liberation system which created the IADS Network. Skynet allows to set specific options for SAM Systems which can be overwritten in the unit.yaml for the Search Radar of the SAM Systems. Which SAM Systems are supported by Skynet and which Search Radar is used for wich SAM system can be found in this file: [skynet-iads-supported-types.lua](https://github.com/walder/Skynet-IADS/blob/develop/skynet-iads-source/skynet-iads-supported-types.lua) + +To overwrite specific skynet properties the following options can be set in the unit.yaml of the Search Radar (Patriot SR as example): +```yaml +class: SearchRadar +price: 22 +variants: + SAM Patriot STR: null +skynet_properties: # Override skynet default properties + can_engage_harm: true + can_engage_air_weapon: true # https://github.com/walder/Skynet-IADS/tree/develop#engage-air-weapons + go_live_range_in_percent: 100 + harm_detection_chance: 90 + engagement_zone: SkynetIADSAbstractRadarElement.GO_LIVE_WHEN_IN_KILL_ZONE # https://github.com/walder/Skynet-IADS/tree/develop#engagement-zone + autonomous_behaviour: SkynetIADSAbstractRadarElement.AUTONOMOUS_STATE_DCS_AI # https://github.com/walder/Skynet-IADS/tree/develop#autonomous-mode-behaviour +``` +Documentation about each setting can be found at the Skynet GitHub page which is linked above. + #### Anti Air GroundObjects SAM locations are split into four types: long range, medium range, short range, and AAA. Each type of position will prefer to be filled by its exact type, but if the faction has no air defenses of that type available the generator will continue to downgrade the site until it finds a match. For example, a medium range SAM may be used in place of a long range SAM. _Upgrades_ are not allowed. From 4dff3318ae38a51f4f0909d2b757c57db9e5e502 Mon Sep 17 00:00:00 2001 From: RndName Date: Thu, 7 Apr 2022 20:01:27 +0200 Subject: [PATCH 633/704] Add the new economy default settings --- Custom-campaigns.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index 80d7ec2..db843e3 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -1,5 +1,5 @@ **For DCS Liberation 5.0 the campaign version is 9.1.**\ -**For DCS Liberation 6.0 the campaign version is 10.0.** +**For DCS Liberation 6.0 the campaign version is 10.1.** Campaigns in DCS Liberation can be modified using the mission editor. Each campaign is defined by a JSON file to provide metadata, and a DCS mission file (`.miz` file) to set up the theater. @@ -34,7 +34,11 @@ This json file should contain a json object, with the following parameters : If `version` is not set or is `"0"`, the campaign is from an unknown version of the game and will be marked as incompatible in the new game wizard. * `recommended_player_faction`: (Optional) The recommended player faction (will be automatically selected by default on the faction selection page) * `recommended_enemy_faction`: (Optional) The recommended enemy faction (will be automatically selected by default on the faction selection page) -* `recommended_start_date`: (Optional) The recommended start date for the campaign in YYYY-MM-DD format. **New in campaign version 9.1.** +* `recommended_start_date`: (Optional) The recommended start date for the campaign in YYYY-MM-DD format. (since campaign version 9.1) +* `recommended_player_money`: (Optional) The recommended player budget as integer. Default=2000. (since campaign version 10.1) +* `recommended_enemy_money`: (Optional) The recommended enemy budget as integer. Default=2000. (since campaign version 10.1) +* `recommended_player_income_multiplier`: (Optional) The recommended player income multiplier as float. Default=1.0. (since campaign version 10.1) +* `recommended_enemy_income_multiplier`: (Optional) The recommended enemy income multiplier as float. Default=1.0. (since campaign version 10.1) * `miz`: The name of the miz file (in the same `resources\campaigns` directory) that describes the campaign. * `performance`: How much performance your campaign need to run smoothly (3 for biggest scenarios that will have huge impact on game performance, 0 for the smallest, performance-friendly scenarios) * `squadrons`: Defines the default squadron configuration at the beginning of the campaign. Explained in the next section. From 2b172d7d426d4642e952cf0f3cbdb086702ff081 Mon Sep 17 00:00:00 2001 From: RndName Date: Wed, 20 Apr 2022 00:38:28 +0200 Subject: [PATCH 634/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index db843e3..7553ba8 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -1,5 +1,5 @@ **For DCS Liberation 5.0 the campaign version is 9.1.**\ -**For DCS Liberation 6.0 the campaign version is 10.1.** +**For DCS Liberation 6.0 the campaign version is 10.2.** Campaigns in DCS Liberation can be modified using the mission editor. Each campaign is defined by a JSON file to provide metadata, and a DCS mission file (`.miz` file) to set up the theater. @@ -78,14 +78,14 @@ When choosing preferred aircraft, although the property is optional, it is best A best practice to follow is to set up one base per side as a transit hub. This is preferably a large airfield near the rear of the conflict (not easily captured or destroyed), that has the ability to produce ground units (has a factory), has a cargo aircraft squadron, and optionally has a port. Depending on the location of this base it may also be a good home for AEW&C and refueling squadrons (and a BARCAP squadron to defend those other squadrons). ### IADS configuration -_Will be available in DCS Liberation 6.0_\ +_Will be available in DCS Liberation 6.0 with Campaign Version 10.2_\ Liberation can automatically generate the IADS network for you but if you want to have more control about the network and which assets are connected with each other it is possible to define the whole IADS network in the campaign.yaml. The iads configuration will only be used when the campaign supports the advanced iads (set `advanced_iads` to true) and the checkbox to use the Advanced mode is checked during campaign generation. To define the iads network in the campaign.yaml one has to add all connections to the `iads_config` property. Every primary node (SAM, EWR, Command Center, Naval Unit) which should participate to the network has to be added to the list with the exact Group Name used in the campaign.miz. AWACs should not be added to this list!. Every primary node can have 0..N connections (Comms, Power Source, Point Defense) which have to be added as a list to the primary node with the exact group name used in the campaign.miz. If no connections are added to a primary node it will participate to the IADS Network without requiring Comms or Power (equal to the functionality of the Basic mode). Example of the IADS Configuration used in the Golan Heights campaign: ```yaml -version: "10.1" # Campaign Version 10.1 allows the advanced iads network config +version: "10.2" # Campaign Version 10.2 allows the advanced iads network config advanced_iads: true # Campaign has connection_nodes / power_sources / command_centers iads_config: - Aircraft Carrier # A naval group participating to the IADS network without any connections From 39d997f2052d8e17de71b967dcacf75cd1da35dc Mon Sep 17 00:00:00 2001 From: Starfire13 <72491792+Starfire13@users.noreply.github.com> Date: Sat, 7 May 2022 10:43:44 +1000 Subject: [PATCH 635/704] Updated Unit Transfers (markdown) --- Unit-Transfers.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Unit-Transfers.md b/Unit-Transfers.md index 52234fd..ca141fd 100644 --- a/Unit-Transfers.md +++ b/Unit-Transfers.md @@ -1,8 +1,6 @@ # Transferring Air Units -Air units (in Liberation 4.x) can only be transferred by assigning them to a mission and setting their arrival airbase to their new location. Units will relocate to their arrival airbase for the next turn regardless of where they land. - -In Liberation 5.0, squadrons can be transferred through the Air Wing pane by double-clicking on a squadron. +squadrons can be transferred through the Air Wing pane by double-clicking on a squadron. ![](https://i.imgur.com/a4KU76h.jpg) From 852447cc992f0e4f042aa2d99f41fd0085c17f2f Mon Sep 17 00:00:00 2001 From: Starfire13 <72491792+Starfire13@users.noreply.github.com> Date: Sat, 7 May 2022 10:43:53 +1000 Subject: [PATCH 636/704] Updated Unit Transfers (markdown) --- Unit-Transfers.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Unit-Transfers.md b/Unit-Transfers.md index ca141fd..2a5e8b1 100644 --- a/Unit-Transfers.md +++ b/Unit-Transfers.md @@ -1,6 +1,6 @@ # Transferring Air Units -squadrons can be transferred through the Air Wing pane by double-clicking on a squadron. +Squadrons can be transferred through the Air Wing pane by double-clicking on a squadron. ![](https://i.imgur.com/a4KU76h.jpg) From 4fa3543ad563a8d9ba4be70e1674823102a33f65 Mon Sep 17 00:00:00 2001 From: Starfire13 <72491792+Starfire13@users.noreply.github.com> Date: Sat, 7 May 2022 10:46:16 +1000 Subject: [PATCH 637/704] Updated Unit Transfers (markdown) --- Unit-Transfers.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Unit-Transfers.md b/Unit-Transfers.md index 2a5e8b1..f2d5be2 100644 --- a/Unit-Transfers.md +++ b/Unit-Transfers.md @@ -1,6 +1,6 @@ # Transferring Air Units -Squadrons can be transferred through the Air Wing pane by double-clicking on a squadron. +Squadrons can be transferred through the Air Wing pane by double-clicking on a squadron. For those used to the old method (4.x and prior) of transferring individual flights piecemeal by diverting them, this is no longer available now that persistent squadrons have been implemented. You will have to transfer the squadron itself, not individual aircraft. ![](https://i.imgur.com/a4KU76h.jpg) From d5695d56c9a90a1f7373fead3c3ddd8533fcb899 Mon Sep 17 00:00:00 2001 From: RndName Date: Sat, 7 May 2022 17:00:27 +0200 Subject: [PATCH 638/704] Introduce Airlift and AirAssault mission types --- Mission-planning.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Mission-planning.md b/Mission-planning.md index b451804..33e527c 100644 --- a/Mission-planning.md +++ b/Mission-planning.md @@ -36,6 +36,19 @@ A split point is added after the egress point. This is where flights will split Below is a list of all the currently available task types for flights. More will be added in future updates. Subscribe to [Issue 277](https://github.com/dcs-liberation/dcs_liberation/issues/277) for updates. +### Air Assault +An Air Assault mission mission is a helo mission which can be planned against enemy control points to extract troops and capture the point. The flights will fly to the pickup point to load troops and continue to the drop off location where they will extract the units. The units will then head to the center of the Zone created by the Assault Waypoint. It is important that the drop off waypoint is within the boundary of this assault waypoint zone. Otherwise the troops will not head to the target zone. When this mission is tasked from a carrier then there will be no pick up needed as the troops can be loaded directly from the deck of the carrier. + +This mission type is only available when the CTLD plugin is enabled as it is required for the troop loading and extracting.\ +_This mission will be introduced with Liberation 6.0.0_ + +### Airlift (Transport) +An Airlift is a transport mission for a unit transfer and can be created from the Unit transfer dialog. It will also be automatically created for transfers if there is no other transport route (convoy, ship) available. To enforce an airlift the user has to choose Airlift as the requested transport type within the unit transfer dialog. + +When the CTLD plugin is enabled liberation will automatically create the necessary pickup and drop off zones as well as a special logisitc unit which allows to spawn crates which can then be sling loaded. It is important to check the actual position of the Pickup and Drop off Waypoint as the CTLD zones will be placed at these locations. The actual result of this mission will not have any effect on the transfer within liberation. + +_The option to enforce an airlift from the Unit Transfer dialog will be introduced with Liberation 6.0.0_ + ### Anti-ship An anti-ship mission can be planned against enemy ships. The flight will rendezvous with the rest of its package and proceed to its ingress point, where it will fire its weapons at the enemy naval group. AI flights targeting a group of ships may split their weapons across multiple ships. After firing, the flight will RTB. From 8a7e23cdc7ffd571856de4b34c28644cf1fc82f2 Mon Sep 17 00:00:00 2001 From: RndName Date: Sat, 7 May 2022 17:01:49 +0200 Subject: [PATCH 639/704] typo --- Mission-planning.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Mission-planning.md b/Mission-planning.md index 33e527c..5bc4668 100644 --- a/Mission-planning.md +++ b/Mission-planning.md @@ -37,7 +37,7 @@ A split point is added after the egress point. This is where flights will split Below is a list of all the currently available task types for flights. More will be added in future updates. Subscribe to [Issue 277](https://github.com/dcs-liberation/dcs_liberation/issues/277) for updates. ### Air Assault -An Air Assault mission mission is a helo mission which can be planned against enemy control points to extract troops and capture the point. The flights will fly to the pickup point to load troops and continue to the drop off location where they will extract the units. The units will then head to the center of the Zone created by the Assault Waypoint. It is important that the drop off waypoint is within the boundary of this assault waypoint zone. Otherwise the troops will not head to the target zone. When this mission is tasked from a carrier then there will be no pick up needed as the troops can be loaded directly from the deck of the carrier. +An Air Assault mission is a special helo mission which can be planned against enemy control points to extract troops and capture the point. The flights will fly to the pickup point to load troops and continue to the drop off location where they will extract the units. The units will then head to the center of the Zone created by the Assault Waypoint. It is important that the drop off waypoint is within the boundary of this assault waypoint zone. Otherwise the troops will not head to the target zone. When this mission is tasked from a carrier then there will be no pick up needed as the troops can be loaded directly from the deck of the carrier. This mission type is only available when the CTLD plugin is enabled as it is required for the troop loading and extracting.\ _This mission will be introduced with Liberation 6.0.0_ From eb70dcb738331f234f7abd3fa204582b24f34964 Mon Sep 17 00:00:00 2001 From: RndName Date: Sat, 7 May 2022 17:14:32 +0200 Subject: [PATCH 640/704] Mention CTLD and Skynet --- Lua-Plugins.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Lua-Plugins.md b/Lua-Plugins.md index f9a8900..5c407c2 100644 --- a/Lua-Plugins.md +++ b/Lua-Plugins.md @@ -39,6 +39,18 @@ Here's a quick rundown of the file's components : The *base* plugin contains the scripts that are going to be injected in every dcs-liberation missions. It is mandatory. +### CTLD plugin +Complete Troops and Logistics Deployment for DCS World written by ciribob (https://github.com/ciribob/DCS-CTLD) + +The CTLD plugin allows special options to pickup and deploy troops as well as spawn and sling load cargo crates. The CTLD plugin also provides the JTAC Autolase function which allows a JTAC Drone to be used to lase enemy targets at the front line. + +Special options in the LUA Options dialog allow to customize this plugin to the personal needs. This plugin is tailored to the special needs of DCS Liberation using a lua script. It is possible to disable the liberation specific adoptions which allows all default functionialities of the CTLD plugin like spawning any type of crate or adding custom units or zones within the Mission Editor which will be used by CTLD. Please read the [GitHub Documentation](https://github.com/ciribob/DCS-CTLD) of CTLD if you want to use these special options. + +_This plugin will be introduced with Liberation 6.0.0_ + +### Skynet plugin +An IADS (Integrated Air Defence System) script for DCS (Digital Combat Simulator) written by walder (https://github.com/walder/Skynet-IADS) + ### The *JTACAutolase* plugin This plugin replaces the vanilla JTAC functionality in dcs-liberation. From 93417fc5732ec4f2589651e324eab46efb66f455 Mon Sep 17 00:00:00 2001 From: RndName Date: Thu, 12 May 2022 11:09:42 +0200 Subject: [PATCH 641/704] Mention the WIP state of this wiki --- Layouts.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Layouts.md b/Layouts.md index 005595e..d9af64a 100644 --- a/Layouts.md +++ b/Layouts.md @@ -2,6 +2,9 @@ **New with DCS Liberation 6.0** +**Note: The documentation of the layout system is still WIP and not complete as the development of this feature involves a major refactoring of the base code. Therefore this documentation is currently used for development purpose primarly. The documentation will be updated soon. Any help in updating this wiki page is appreciated!** + + The Layout System is a new way of defining how ground objects like SAM Sites or other Vehicle / Ship Groups will be generated (which type of units, how many units, alignment and orientation). It is a complete rework of the previous generator-based logic which was written in python code. The new system allows to define layouts with easy to write yaml code and the use of the DCS Mission Editor for easier placement of the units. The layout system also introduced a new logical grouping of Units and layouts for them, the Armed Forces, which will allow major improvements to the Ground Warfare in upcoming features. **Armed Forces**\ From 5c0988014e320cea031f8f746fbb38020a089e3d Mon Sep 17 00:00:00 2001 From: RndName Date: Thu, 12 May 2022 11:10:02 +0200 Subject: [PATCH 642/704] Updated Layouts (markdown) --- Layouts.md => Layouts-(WIP).md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Layouts.md => Layouts-(WIP).md (100%) diff --git a/Layouts.md b/Layouts-(WIP).md similarity index 100% rename from Layouts.md rename to Layouts-(WIP).md From be21988a8ca8357dd585fba7c81e4cbe1e23b58c Mon Sep 17 00:00:00 2001 From: RndName Date: Thu, 12 May 2022 11:10:36 +0200 Subject: [PATCH 643/704] Updated _Sidebar (markdown) --- _Sidebar.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_Sidebar.md b/_Sidebar.md index da40934..182cccf 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -45,7 +45,7 @@ [Custom factions](Custom-Factions) -[Layouts](Layouts) +[Layouts](Layouts-(WIP)) [Lua Plugins](Lua-Plugins) From 67bb427a9dc6b04043c9dc71c645f4e738ff2cc7 Mon Sep 17 00:00:00 2001 From: RndName Date: Thu, 12 May 2022 11:10:47 +0200 Subject: [PATCH 644/704] Updated _Sidebar (markdown) --- _Sidebar.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_Sidebar.md b/_Sidebar.md index 182cccf..61bec55 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -45,7 +45,7 @@ [Custom factions](Custom-Factions) -[Layouts](Layouts-(WIP)) +[Layouts (WIP)](Layouts-(WIP)) [Lua Plugins](Lua-Plugins) From 72cf8b386aef93b77f5a44ba1bdfa4765873b085 Mon Sep 17 00:00:00 2001 From: SchmokedPancake <103891252+SchmokedPancake@users.noreply.github.com> Date: Thu, 12 May 2022 20:11:36 -0400 Subject: [PATCH 645/704] Correction on path for dedicated server web gui location --- Dedicated-Server-Guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dedicated-Server-Guide.md b/Dedicated-Server-Guide.md index 3ac209e..6088d43 100644 --- a/Dedicated-Server-Guide.md +++ b/Dedicated-Server-Guide.md @@ -117,5 +117,5 @@ Don't wish to download? no problem! To Start the server simply double click the .bat file provided, which will now open an instance of dcs and it will stay on the "DCS" splash screen which is normal. -to manage your server simply go to "G:\DCS World OpenBeta\WebGUI" and open "index.html" which now will open the WebUI server manager on your default internet browser. +to manage your server simply go to "X:\DCS World OpenBeta\WebGUI" and open "index.html" which now will open the WebUI server manager on your default internet browser. From f6af56899777c094731b51d3388a299c53c7a8e3 Mon Sep 17 00:00:00 2001 From: RndName Date: Sat, 14 May 2022 11:45:43 +0200 Subject: [PATCH 646/704] Mention the new heading calculation --- Custom-campaigns.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index 7553ba8..aed3e96 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -318,6 +318,9 @@ To define a shipping lane, place a CJTF Blue Bulker Handy Wind. Shipping lanes s Objective locations are automatically associated with their closest control point. +**New in DCS Liberation 6.0:** The heading of the unit placed as spawn location will be maintained in the generated mission if the heading is not 0. In case the heading is 0 then Liberation will calculate the final heading during campaign generation so that the group will head directly to the center of the conflict. This new feature allows the campaign designer to fine tune the orientation of all the objectives to the campaign needs. +This automatic calculation will only be used for Anti Air, Missile, Coastal and Vehicle Groups. In previous versions of Liberation the orientation of these objects was always random. + #### Strike targets Strike targets are buildings that generate income for the owning coalition. These come in a variety of types depending on the faction: @@ -478,6 +481,9 @@ SAM locations are split into four types: long range, medium range, short range, Note that the exact type of SAM or EWR that will be placed depends on the faction definition (SAM/EWR generators). However, when designing a campaign with specific factions in mind (such as Syria defending on the Syria map), this allows the designer to see the coverage of the SAMs used by the intended faction. This way the designer can be sure that sufficient coverage will be present in the campaign when a faction using a specific type of SAM is used. +_New with DCS Liberation 6.0:_\ +The heading set for the unit placed in the mission will be maintained in the generated mission if the heading is not 0. If the heading is 0 then Liberation will calculate the heading during campaign generation so that the group will head directly to the center of the conflict. This allows the campaign designer to fine tune the orientation of the SAM System or EWR to the campaign needs. + #### Early Warning Radars From 149dc5e47f0d5542fea5db5890d850052b3a0388 Mon Sep 17 00:00:00 2001 From: Starfire13 <72491792+Starfire13@users.noreply.github.com> Date: Sat, 21 May 2022 02:23:53 +0100 Subject: [PATCH 647/704] Updated Squadrons and pilots (markdown) --- Squadrons-and-pilots.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Squadrons-and-pilots.md b/Squadrons-and-pilots.md index de94a15..e11adeb 100644 --- a/Squadrons-and-pilots.md +++ b/Squadrons-and-pilots.md @@ -119,7 +119,7 @@ The `mission_types` field determines which mission types to assign to the squadr The `livery` field, if set, will be the livery used by all aircraft of this squadron. Default liveries included in DCS should match the quoted portion of the livery name in https://github.com/pydcs/dcs/blob/master/dcs/planes.py. For example, the name for the HAF 330 Thunder livery for a Greek F-16 is `HAF_ 330_Thunder` -**Note:** You can also use any custom liveries that you have downloaded to your Saved Games folder. In this case, the `livery` field should match the folder name of your selected livery. +**Note:** You can also use any custom liveries that you have downloaded to your Saved Games folder. In this case, the `livery` field should match the folder name (NOT the file name) of your selected livery. The `pilots` field defines AI pilot names that will be used before generating random pilot names for this squadron. From 5768a08f19252af850761b45571acd405b120125 Mon Sep 17 00:00:00 2001 From: eerturk Date: Sat, 11 Jun 2022 23:23:01 -0400 Subject: [PATCH 648/704] Updated Community campaigns (markdown) --- Community-campaigns.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Community-campaigns.md b/Community-campaigns.md index 7285627..1192bdf 100644 --- a/Community-campaigns.md +++ b/Community-campaigns.md @@ -2,7 +2,9 @@ This is a list of campaigns created by the community. Feel free to edit this pag Map | Campaign name | Liberation version | Author | Description | Download link --- | --- | --- | --- | --- | --- +--- | --- | --- | --- | --- | --- Caucasus | Some campaign | 2.5 | Someone | Describe your campaign. Include a screenshot if you want. Is it large or small? What part of the map does it take place on? | Upload your mission to a file sharing service and share the link here +Syria | Cyprus - Alice Goes to Vacation | 6.0 | E. Erturk | Greek takes over the Turkish Republic of Northern Cyprus. Turks is to respond. | [Alice Goes On A Vacation](https://drive.google.com/file/d/1NRq_89jzOZETo033QodNOGaxfMarxwGq/view?usp=sharing) Syria | Invasion of Israel | 5.1 | Dank Williams | Syrian invasion of Israel during the Yom Kippur War. Inversion not supported. | [invasion_of_israel_5.1.zip](https://github.com/dcs-liberation/dcs_liberation/files/7852621/invasion_of_israel_5.1.zip) Syria | Golan Invasion | 5.0 | Kea | THIS CAMPAIGN IS DESIGNED FOR THE IDF PROJECT F-16I SUFA MOD!!! Israeli forces scramble to respond when a joint Syrian-Iranian exercise doesn't end and instead culminates in a full invasion of the Golan Heights. | https://drive.google.com/drive/folders/14eoM_mQhZsRjMMMxK_mQ89nHM4_-8j6m?usp=sharing Marianas | Pacific Dragon | 5.0 | Kea | THIS CAMPAIGN IS DESIGNED FOR THE CJS SUPERHORNET MOD!!! Following a lightning defeat of Taiwan, Chinese naval forces sweep across the Pacific, bombing Guam and seizing the northern Mariana Islands. The USS Abraham Lincoln arrives to help what USAF and Australian forces survived the initial attack. | https://drive.google.com/drive/folders/18SPCco87Ym5Co4LlWsZBisXUQq619BD4?usp=sharing From e5d376963537dae8a37d1f98f9f183d152abf8b1 Mon Sep 17 00:00:00 2001 From: eerturk Date: Sat, 11 Jun 2022 23:23:54 -0400 Subject: [PATCH 649/704] Updated Community campaigns (markdown) --- Community-campaigns.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Community-campaigns.md b/Community-campaigns.md index 1192bdf..cb3aaf6 100644 --- a/Community-campaigns.md +++ b/Community-campaigns.md @@ -4,7 +4,7 @@ Map | Campaign name | Liberation version | Author | Description | Download link --- | --- | --- | --- | --- | --- --- | --- | --- | --- | --- | --- Caucasus | Some campaign | 2.5 | Someone | Describe your campaign. Include a screenshot if you want. Is it large or small? What part of the map does it take place on? | Upload your mission to a file sharing service and share the link here -Syria | Cyprus - Alice Goes to Vacation | 6.0 | E. Erturk | Greek takes over the Turkish Republic of Northern Cyprus. Turks is to respond. | [Alice Goes On A Vacation](https://drive.google.com/file/d/1NRq_89jzOZETo033QodNOGaxfMarxwGq/view?usp=sharing) +Syria | Cyprus - Alice Goes to Vacation | 6.0 | E. Erturk | Greeks takes over the Turkish Republic of Northern Cyprus. Turks is to respond. | [Alice Goes On A Vacation](https://drive.google.com/file/d/1NRq_89jzOZETo033QodNOGaxfMarxwGq/view?usp=sharing) Syria | Invasion of Israel | 5.1 | Dank Williams | Syrian invasion of Israel during the Yom Kippur War. Inversion not supported. | [invasion_of_israel_5.1.zip](https://github.com/dcs-liberation/dcs_liberation/files/7852621/invasion_of_israel_5.1.zip) Syria | Golan Invasion | 5.0 | Kea | THIS CAMPAIGN IS DESIGNED FOR THE IDF PROJECT F-16I SUFA MOD!!! Israeli forces scramble to respond when a joint Syrian-Iranian exercise doesn't end and instead culminates in a full invasion of the Golan Heights. | https://drive.google.com/drive/folders/14eoM_mQhZsRjMMMxK_mQ89nHM4_-8j6m?usp=sharing Marianas | Pacific Dragon | 5.0 | Kea | THIS CAMPAIGN IS DESIGNED FOR THE CJS SUPERHORNET MOD!!! Following a lightning defeat of Taiwan, Chinese naval forces sweep across the Pacific, bombing Guam and seizing the northern Mariana Islands. The USS Abraham Lincoln arrives to help what USAF and Australian forces survived the initial attack. | https://drive.google.com/drive/folders/18SPCco87Ym5Co4LlWsZBisXUQq619BD4?usp=sharing From ac6810623fa49a3210a6a9f7f72c797bfd05b11e Mon Sep 17 00:00:00 2001 From: MetalStormGhost <89945461+MetalStormGhost@users.noreply.github.com> Date: Sat, 23 Jul 2022 13:49:52 +0300 Subject: [PATCH 650/704] Updated Developer's Guide (markdown) --- Developer's-Guide.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Developer's-Guide.md b/Developer's-Guide.md index c128f3a..ac960a3 100644 --- a/Developer's-Guide.md +++ b/Developer's-Guide.md @@ -124,6 +124,8 @@ The type checker is **not** run as part of pre-commit, since that makes it harde Please make a new branch from either develop or master, and make your pull requests to khopa/develop. +We can only merge/revert whole PRs, which means you should try and keep the size of each individual PR as small as possible. Ideally, one PR for one feature/bugfix/change. Also, review latency doesn't scale linearly with review time, and review time doesn't scale linearly with PR complexity. **Smaller PRs will likely get reviewed sooner and faster.** In addition, it's not possible for the testers to isolate bugs on a sub-build level. + New features and bug fixes in pull requests are usually worth mentioning in the changelog. Exceptions are fixes for bugs that never shipped (were only present in a canary build), and changes with no intended user observable behavior, such as a refactor. If you're comfortable writing the note yourself, add it to `changelog.md` in the root of the project in the section for the upcoming release. If you're new to GitHub, https://guides.github.com/introduction/flow/ and the other tutorials on that site may be helpful. From 044d3095a03f6465cbf95d71aaa3e0796dc1b374 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sat, 23 Jul 2022 10:22:05 -0700 Subject: [PATCH 651/704] Updated Developer's Guide (markdown) --- Developer's-Guide.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Developer's-Guide.md b/Developer's-Guide.md index ac960a3..d3d3427 100644 --- a/Developer's-Guide.md +++ b/Developer's-Guide.md @@ -109,10 +109,10 @@ We use [mypy](https://mypy.readthedocs.io/en/stable/) for type checking. Python To check for type errors, run: ``` -mypy game gen +mypy game ``` -This only checks the `game` and `gen` packages. `qt_ui` will probably never be checkable because `PySide2` (the Python Qt API) contains many patterns that do not play well with the type checker, but it's good to add the annotations anyway as they help the reader. +This only checks the `game` package. `qt_ui` will probably never be checkable because `PySide2` (the Python Qt API) contains many patterns that do not play well with the type checker, but it's good to add the annotations anyway as they help the reader. The type checker is **not** run as part of pre-commit, since that makes it harder to create WIP commits, but is run as a part of the PR and build checks, so it's best to run before uploading a PR, and definitely should be run before a push to develop. From 1989407fd6874ff9f1cea8b4f6bf8fbc4faa23b8 Mon Sep 17 00:00:00 2001 From: FinCenturion Date: Sat, 10 Sep 2022 10:51:13 +0300 Subject: [PATCH 652/704] v.1 Started the page. --- Creating-shape-files-in-QGIS-for-map-data.md | 37 ++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 Creating-shape-files-in-QGIS-for-map-data.md diff --git a/Creating-shape-files-in-QGIS-for-map-data.md b/Creating-shape-files-in-QGIS-for-map-data.md new file mode 100644 index 0000000..24195d7 --- /dev/null +++ b/Creating-shape-files-in-QGIS-for-map-data.md @@ -0,0 +1,37 @@ +# Not finished, to be continued +This guide will enable you to create data that the developers can use to enable support for a new map. We will use QGIS, an open-source GIS program to generate this data from various open sources. You need to have QGIS installed, preferably a 3.x+ version with GRASS processing toolbox. +https://www.qgis.org/en/site/forusers/download.html + +Here are the basic steps you need to take + +## 1) Map projection + +Find the correct projection for the map. We already have the center meridian meaning we can figure out the proper UTM projection (https://github.com/pydcs/dcs/blob/master/tools/export_map_projection.py). + + `CENTRAL_MERIDIANS = { + "caucasus": 33, + "falklands": -57, + "nevada": -117, + "normandy": -3, + "persiangulf": 57, + "thechannel": 3, + "syria": 39, + "marianaislands": 147, +}` + +We can use this [map](https://www.arcgis.com/apps/View/index.html?appid=7fa64a25efd0420896c3336dc2238475) to check out different UTM zones. Then it is a matter of making a new project in QGIS and setting the project CRS to be this. +![Projection](https://user-images.githubusercontent.com/20801481/189474094-89e78347-23b5-440a-b4b5-44862b472276.JPG) + + You can add XYZ tiles from this python script to add in a bunch of online satmap tile layers you can use: https://raw.githubusercontent.com/klakar/QGIS_resources/master/collections/Geosupportsystem/python/qgis_basemaps.py + +## 2) Outlining the game area + +In the correct projection you can now create a new vector polygon layer and add the game area as an overlay. Preferably by gettting actual coordinates from the ME as opposed to freehand editing like i did. Layer-> Create Later -> New shapefile layer +![ShapefileGameArea](https://user-images.githubusercontent.com/20801481/189474224-4870e056-9054-4f6a-96c7-936bb1ce48a8.JPG) + +Make sure you use the project CRS (projection) and that it is a polygon. Also make sure you save it to a location so you can retrieve it the next time you open the project. + +![GameArea_makepoly](https://user-images.githubusercontent.com/20801481/189474417-cd685745-bce4-4626-b2ac-e0ba62176c4f.JPG) + + +3) For the ocean I downloaded the OSM Ocean Polygon files (source https://osmdata.openstreetmap.de/data/water-polygons.html). These are WGS84 chunck of ocean. Select all the vector objects that are relevant to the map, and use the Vector->Geoprocessing->Dissolve command to merge the cells into one object. This will output a new temporary layer (can be slow to do). This layer we can now save and reproject it to the relevant UTM projection, like UTM 21S for the Falklands map. From 960d887e619262e6c80034b6fd76489391ad5743 Mon Sep 17 00:00:00 2001 From: Furia139 Date: Tue, 13 Sep 2022 10:11:27 +0200 Subject: [PATCH 653/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index aed3e96..2df7a94 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -64,7 +64,7 @@ In DCS Liberation 5 campaigns define the starting squadron configuration for eac } ``` -* `BASE_NAME_OR_ID`: The name of the base (in the case of a FOB, LHA, or CV) as defined by the group in the campaign miz file, or the ID number of the airfield as defined by pydcs. For example, [the ID of Anapa-Vityazevo is 12](https://github.com/pydcs/dcs/blob/master/dcs/terrain/caucasus.py#L9). Refer to the pydcs source for airbase ID numbers. +* `BASE_NAME_OR_ID`: The name of the base (in the case of a FOB, LHA, or CV) as defined by the group in the campaign miz file, or the ID number of the airfield as defined by pydcs. For example, [the ID of Anapa-Vityazevo is 12](https://github.com/pydcs/dcs/blob/master/dcs/terrain/caucasus/caucasus.py). Refer to the pydcs source for airbase ID numbers. * `PRIMARY_TASK`: Defines the primary task type for the squadron. If none of the preferred aircraft are available, a squadron will be generated using an aircraft that is capable of at least the primary task type. The allowed values here are the same as the values of the task types in `FlightType` found in https://github.com/dcs-liberation/dcs_liberation/blob/develop/gen/flights/flight.py (the same as the name of the mission type shown in the Liberation UI). * `SECONDARY_TASKS`: Defines secondary tasks that the squadron will be allowed to perform if the squadron is capable of them. This can be either the literal strings `any`, `air-to-air`, or `air-to-ground`, or a list of specific task types. This property is optional. If not specified the auto-planner will only assign those squadrons to the primary task type. * `PREFERRED_AIRCRAFT`: A list of either aircraft type names (using the same names as [custom factions](https://github.com/dcs-liberation/dcs_liberation/wiki/Custom-Factions)), or a list of squadron names. Each name will be tried in order and the first option valid for the coalition will be selected. If no preferred aircraft are compatible with the coalition, a squadron will be automatically generated based on `PRIMARY_TASK`. From d7b7417fcef7a5e7fd9217d9cd1237a0badb42e0 Mon Sep 17 00:00:00 2001 From: FinCenturion Date: Wed, 21 Sep 2022 16:59:35 +0300 Subject: [PATCH 654/704] Updated Creating shape files in QGIS for map data (markdown) --- Creating-shape-files-in-QGIS-for-map-data.md | 22 ++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/Creating-shape-files-in-QGIS-for-map-data.md b/Creating-shape-files-in-QGIS-for-map-data.md index 24195d7..597fb24 100644 --- a/Creating-shape-files-in-QGIS-for-map-data.md +++ b/Creating-shape-files-in-QGIS-for-map-data.md @@ -29,9 +29,27 @@ We can use this [map](https://www.arcgis.com/apps/View/index.html?appid=7fa64a25 In the correct projection you can now create a new vector polygon layer and add the game area as an overlay. Preferably by gettting actual coordinates from the ME as opposed to freehand editing like i did. Layer-> Create Later -> New shapefile layer ![ShapefileGameArea](https://user-images.githubusercontent.com/20801481/189474224-4870e056-9054-4f6a-96c7-936bb1ce48a8.JPG) -Make sure you use the project CRS (projection) and that it is a polygon. Also make sure you save it to a location so you can retrieve it the next time you open the project. +Make sure you use the project CRS (projection) and that it is a polygon. Also make sure you save it to a location so you can retrieve it the next time you open the project. You can save the temporary layer by right clicking the feature in the layer view and select Save Feature As. This also handy to check during the save that the projection is what you expect it to be. ![GameArea_makepoly](https://user-images.githubusercontent.com/20801481/189474417-cd685745-bce4-4626-b2ac-e0ba62176c4f.JPG) -3) For the ocean I downloaded the OSM Ocean Polygon files (source https://osmdata.openstreetmap.de/data/water-polygons.html). These are WGS84 chunck of ocean. Select all the vector objects that are relevant to the map, and use the Vector->Geoprocessing->Dissolve command to merge the cells into one object. This will output a new temporary layer (can be slow to do). This layer we can now save and reproject it to the relevant UTM projection, like UTM 21S for the Falklands map. +## 3) Oceans +For the ocean I downloaded the OSM Ocean Polygon files (source https://osmdata.openstreetmap.de/data/water-polygons.html). These are WGS84 chunck of ocean. Select all the vector objects that are relevant to the map, and use the Vector->Geoprocessing->Dissolve command to merge the cells into one object. This will output a new temporary layer (can be slow to do). This layer we can now save and reproject it to the relevant UTM projection, like UTM 21S for the Falklands map. Be sure to reproject only after dissolve or you will potentially get gaps in the ocean file. + +Once you have the ocean file dissolved and projected to the correct UTM projection you can clip it to the game area overlay (Vector -> Geoprocessing -> Clip). + +![ClipSea](https://user-images.githubusercontent.com/20801481/191521040-e7a0787a-5c82-48d9-9e6d-8f9ab9a493e2.JPG) + +Once again this is saved as a temporary file which you now can save to disk. + +The final step is now to generate the land mass for Liberation as well as the actual ocean. Remember, we want to keep this data as lightweight as possible so we will first simplify the data. Use Vector->Geometry tools->Simplify and try different values + +![Simplify](https://user-images.githubusercontent.com/20801481/191523064-c2a99d11-6e8e-4006-9e90-d4fd17fbce98.JPG) + +A tolerance value of 250 is probably fine at this stage but you can go more aggressive if you want to. +After we simplified the data now is the time to generate land data and ocean data. To make sure we get some margins so you cant accidentally move the carrier right to the beach or spawn units in the sea I want to use a buffer zone from the shore inland for the land map and a buffer zone from the shore out towards the sea. In the South Atlantic map I elected for a 750m buffer inland and a 1500m buffer out to sea. The 1500m buffer out to sea means a lot of the smaller sounds and bays will be eliminated, further simplifying our data. + +![Buffer](https://user-images.githubusercontent.com/20801481/191524446-24c970f2-21da-4127-90eb-320d7e5b47f8.JPG) + + From 5f6f77b4da67b42bae85810e5319860d8f4f7ff3 Mon Sep 17 00:00:00 2001 From: Starfire13 <72491792+Starfire13@users.noreply.github.com> Date: Sun, 30 Oct 2022 22:11:05 +1100 Subject: [PATCH 655/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index 2df7a94..229d59b 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -65,7 +65,7 @@ In DCS Liberation 5 campaigns define the starting squadron configuration for eac ``` * `BASE_NAME_OR_ID`: The name of the base (in the case of a FOB, LHA, or CV) as defined by the group in the campaign miz file, or the ID number of the airfield as defined by pydcs. For example, [the ID of Anapa-Vityazevo is 12](https://github.com/pydcs/dcs/blob/master/dcs/terrain/caucasus/caucasus.py). Refer to the pydcs source for airbase ID numbers. -* `PRIMARY_TASK`: Defines the primary task type for the squadron. If none of the preferred aircraft are available, a squadron will be generated using an aircraft that is capable of at least the primary task type. The allowed values here are the same as the values of the task types in `FlightType` found in https://github.com/dcs-liberation/dcs_liberation/blob/develop/gen/flights/flight.py (the same as the name of the mission type shown in the Liberation UI). +* `PRIMARY_TASK`: Defines the primary task type for the squadron. If none of the preferred aircraft are available, a squadron will be generated using an aircraft that is capable of at least the primary task type. The allowed values here are the same as the values of the task types in `FlightType` found in https://github.com/dcs-liberation/dcs_liberation/blob/develop/game/ato/flighttype.py (the same as the name of the mission type shown in the Liberation UI). * `SECONDARY_TASKS`: Defines secondary tasks that the squadron will be allowed to perform if the squadron is capable of them. This can be either the literal strings `any`, `air-to-air`, or `air-to-ground`, or a list of specific task types. This property is optional. If not specified the auto-planner will only assign those squadrons to the primary task type. * `PREFERRED_AIRCRAFT`: A list of either aircraft type names (using the same names as [custom factions](https://github.com/dcs-liberation/dcs_liberation/wiki/Custom-Factions)), or a list of squadron names. Each name will be tried in order and the first option valid for the coalition will be selected. If no preferred aircraft are compatible with the coalition, a squadron will be automatically generated based on `PRIMARY_TASK`. From bad2cfea4a5a7d9416068aca159ac38effb3917c Mon Sep 17 00:00:00 2001 From: RndName Date: Wed, 2 Nov 2022 14:00:37 +0100 Subject: [PATCH 656/704] Updated Mission planning (markdown) --- Mission-planning.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Mission-planning.md b/Mission-planning.md index 5bc4668..f158c75 100644 --- a/Mission-planning.md +++ b/Mission-planning.md @@ -45,7 +45,7 @@ _This mission will be introduced with Liberation 6.0.0_ ### Airlift (Transport) An Airlift is a transport mission for a unit transfer and can be created from the Unit transfer dialog. It will also be automatically created for transfers if there is no other transport route (convoy, ship) available. To enforce an airlift the user has to choose Airlift as the requested transport type within the unit transfer dialog. -When the CTLD plugin is enabled liberation will automatically create the necessary pickup and drop off zones as well as a special logisitc unit which allows to spawn crates which can then be sling loaded. It is important to check the actual position of the Pickup and Drop off Waypoint as the CTLD zones will be placed at these locations. The actual result of this mission will not have any effect on the transfer within liberation. +When the CTLD plugin is enabled liberation will automatically create the necessary pickup and drop off zones as well as a special logisitc unit which allows to spawn crates which can then be sling loaded. It is important to check the actual position of the Pickup and Drop off Waypoint as the CTLD zones will be placed at these locations. These zones will only be generated for player flights. The AI will not use the CTLD specific logic. _The option to enforce an airlift from the Unit Transfer dialog will be introduced with Liberation 6.0.0_ From f6d8d9c0e85e07821ed6d8854e8dbfc724366ec0 Mon Sep 17 00:00:00 2001 From: RndName Date: Tue, 8 Nov 2022 18:48:29 +0100 Subject: [PATCH 657/704] be more precise about the iads_config in the campaign yaml --- Custom-campaigns.md | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index 229d59b..cd82e3c 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -81,7 +81,29 @@ A best practice to follow is to set up one base per side as a transit hub. This _Will be available in DCS Liberation 6.0 with Campaign Version 10.2_\ Liberation can automatically generate the IADS network for you but if you want to have more control about the network and which assets are connected with each other it is possible to define the whole IADS network in the campaign.yaml. The iads configuration will only be used when the campaign supports the advanced iads (set `advanced_iads` to true) and the checkbox to use the Advanced mode is checked during campaign generation. -To define the iads network in the campaign.yaml one has to add all connections to the `iads_config` property. Every primary node (SAM, EWR, Command Center, Naval Unit) which should participate to the network has to be added to the list with the exact Group Name used in the campaign.miz. AWACs should not be added to this list!. Every primary node can have 0..N connections (Comms, Power Source, Point Defense) which have to be added as a list to the primary node with the exact group name used in the campaign.miz. If no connections are added to a primary node it will participate to the IADS Network without requiring Comms or Power (equal to the functionality of the Basic mode). +To define the iads network in the campaign.yaml one has to add all connections to the `iads_config` property. Every primary node which should participate to the network has to be added to the list with the exact Group Name used in the campaign.miz. + +Primary nodes are: +* SAM +* EWR +* Command Center +* Naval Unit (Carrier) + +What should **not** be added to that list as primary node: +* AWACS +* Connection Nodes +* Power Sources +* Point Defense + +These nodes (except AWACS which will be added automatically) will be added to the connected primary Nodes. Example of such a connection where `SAM1` has a connection to `CN1` and `PS1`: +```yaml +iads_config: + - SAM1: # Group name of the SAM, EWR or Command Center used in the campaign.miz + - CN1 # All connected nodes (Comms, Power, PointDefense) + - PS1 # Exact name of the connected group used in the campaign.miz +``` + +Every primary node can have 0..N connections (Comms, Power Source, Point Defense) which have to be added as a list to the primary node with the exact group name used in the campaign.miz. If no connections are added to a primary node it will participate to the IADS Network without requiring Comms or Power (equal to the functionality of the Basic mode). It is not possible to connect two Connection Nodes with each other. Every connection has to be between one Primary Node (see above) and a non-Primary Node. Example of the IADS Configuration used in the Golan Heights campaign: ```yaml From 0c3094ad6f342fd4fe908ebe87424d28ae664aa6 Mon Sep 17 00:00:00 2001 From: RndName Date: Tue, 8 Nov 2022 19:19:48 +0100 Subject: [PATCH 658/704] continue iads_config clarification --- Custom-campaigns.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index cd82e3c..6e3d020 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -89,18 +89,18 @@ Primary nodes are: * Command Center * Naval Unit (Carrier) -What should **not** be added to that list as primary node: -* AWACS +AWACs are not required to be defined. They are added automatically. + +Secondary nodes which should **not** be added to that list as primary node: * Connection Nodes * Power Sources -* Point Defense -These nodes (except AWACS which will be added automatically) will be added to the connected primary Nodes. Example of such a connection where `SAM1` has a connection to `CN1` and `PS1`: +These secondary nodes will be added as a list to the primary node which they are connected to. Example of such a connection where the primary node `SAM1` has a connection to the secondary nodes `ConnectionNode1` and `PowerSource1`: ```yaml iads_config: - - SAM1: # Group name of the SAM, EWR or Command Center used in the campaign.miz - - CN1 # All connected nodes (Comms, Power, PointDefense) - - PS1 # Exact name of the connected group used in the campaign.miz + - SAM1: # Group name of the primary Node (SAM, EWR or Command Center) used in the campaign.miz + - ConnectionNode1 # All connected secondary nodes (Comms, Power) as list + - PowerSource1 # Exact name of the group used in the campaign.miz otherwise it will not be recognized ``` Every primary node can have 0..N connections (Comms, Power Source, Point Defense) which have to be added as a list to the primary node with the exact group name used in the campaign.miz. If no connections are added to a primary node it will participate to the IADS Network without requiring Comms or Power (equal to the functionality of the Basic mode). It is not possible to connect two Connection Nodes with each other. Every connection has to be between one Primary Node (see above) and a non-Primary Node. From 64b98a2db625860bb558bbf5c678431c8231a790 Mon Sep 17 00:00:00 2001 From: FinCenturion Date: Fri, 18 Nov 2022 21:40:04 +0200 Subject: [PATCH 659/704] Updated Creating shape files in QGIS for map data (markdown) --- Creating-shape-files-in-QGIS-for-map-data.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Creating-shape-files-in-QGIS-for-map-data.md b/Creating-shape-files-in-QGIS-for-map-data.md index 597fb24..3e5260d 100644 --- a/Creating-shape-files-in-QGIS-for-map-data.md +++ b/Creating-shape-files-in-QGIS-for-map-data.md @@ -2,10 +2,21 @@ This guide will enable you to create data that the developers can use to enable support for a new map. We will use QGIS, an open-source GIS program to generate this data from various open sources. You need to have QGIS installed, preferably a 3.x+ version with GRASS processing toolbox. https://www.qgis.org/en/site/forusers/download.html +Here is some basic information about what a .SHP shapefile is: +https://en.wikipedia.org/wiki/Shapefile + +**The support of shapefiles is new for version 6.0 and enables you to use a dedicated GIS program to create data where the game should and should not allow frontline units and ships to be. QGIS is a very powerful program and you can arrive at the end product in a near infinite number of ways. In this guide one possible workflow is outlined that tries to take as many factors into account for problem free spawning. It will still be up to the campaign designer to use judgement where to place the frontlines to avoid troublesome behaviour.** + Here are the basic steps you need to take ## 1) Map projection +Some basic concepts about map projections can be learned here: +https://en.wikipedia.org/wiki/Map_projection + +For DCS you need to know that the DCS maps use a UTM projection (meaning coordinates is measured in meters as opposed to degrees, basically), and we need to find out the UTM tile for the map we are working on. +https://en.wikipedia.org/wiki/Universal_Transverse_Mercator_coordinate_system + Find the correct projection for the map. We already have the center meridian meaning we can figure out the proper UTM projection (https://github.com/pydcs/dcs/blob/master/tools/export_map_projection.py). `CENTRAL_MERIDIANS = { From e18052e010f2adc54b4aeed710e66e507463bb71 Mon Sep 17 00:00:00 2001 From: FinCenturion Date: Fri, 18 Nov 2022 21:46:03 +0200 Subject: [PATCH 660/704] Updated Creating shape files in QGIS for map data (markdown) --- Creating-shape-files-in-QGIS-for-map-data.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Creating-shape-files-in-QGIS-for-map-data.md b/Creating-shape-files-in-QGIS-for-map-data.md index 3e5260d..e92e647 100644 --- a/Creating-shape-files-in-QGIS-for-map-data.md +++ b/Creating-shape-files-in-QGIS-for-map-data.md @@ -17,7 +17,8 @@ https://en.wikipedia.org/wiki/Map_projection For DCS you need to know that the DCS maps use a UTM projection (meaning coordinates is measured in meters as opposed to degrees, basically), and we need to find out the UTM tile for the map we are working on. https://en.wikipedia.org/wiki/Universal_Transverse_Mercator_coordinate_system -Find the correct projection for the map. We already have the center meridian meaning we can figure out the proper UTM projection (https://github.com/pydcs/dcs/blob/master/tools/export_map_projection.py). +### 1.1 Find the correct projection for the map +Through PyDCS we already have the center meridian of the map, meaning we can figure out the proper UTM projection (https://github.com/pydcs/dcs/blob/master/tools/export_map_projection.py). `CENTRAL_MERIDIANS = { "caucasus": 33, @@ -30,7 +31,11 @@ Find the correct projection for the map. We already have the center meridian mea "marianaislands": 147, }` -We can use this [map](https://www.arcgis.com/apps/View/index.html?appid=7fa64a25efd0420896c3336dc2238475) to check out different UTM zones. Then it is a matter of making a new project in QGIS and setting the project CRS to be this. +We can use this [map](https://www.arcgis.com/apps/View/index.html?appid=7fa64a25efd0420896c3336dc2238475) to check out different UTM zones. By clicking on the UTM tile you see the central projection. The map central projection is not necessarily in the center of the map. In the case of South Atlantic it begun as only the Falklands islands so the projection for the whole map is UTM 21S (S for South hemisphere) +![FindProjection](https://user-images.githubusercontent.com/20801481/202789407-6471dbd5-7b59-4cc6-8ab6-08d004b6ddad.jpg) + + +Then it is a matter of making a new project in QGIS and setting the project CRS to be this. ![Projection](https://user-images.githubusercontent.com/20801481/189474094-89e78347-23b5-440a-b4b5-44862b472276.JPG) You can add XYZ tiles from this python script to add in a bunch of online satmap tile layers you can use: https://raw.githubusercontent.com/klakar/QGIS_resources/master/collections/Geosupportsystem/python/qgis_basemaps.py From e35e5d6a54d1f9537252b8feee91171ac4d35462 Mon Sep 17 00:00:00 2001 From: FinCenturion Date: Fri, 18 Nov 2022 21:50:21 +0200 Subject: [PATCH 661/704] Updated Creating shape files in QGIS for map data (markdown) --- Creating-shape-files-in-QGIS-for-map-data.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Creating-shape-files-in-QGIS-for-map-data.md b/Creating-shape-files-in-QGIS-for-map-data.md index e92e647..f39aae6 100644 --- a/Creating-shape-files-in-QGIS-for-map-data.md +++ b/Creating-shape-files-in-QGIS-for-map-data.md @@ -34,10 +34,11 @@ Through PyDCS we already have the center meridian of the map, meaning we can fig We can use this [map](https://www.arcgis.com/apps/View/index.html?appid=7fa64a25efd0420896c3336dc2238475) to check out different UTM zones. By clicking on the UTM tile you see the central projection. The map central projection is not necessarily in the center of the map. In the case of South Atlantic it begun as only the Falklands islands so the projection for the whole map is UTM 21S (S for South hemisphere) ![FindProjection](https://user-images.githubusercontent.com/20801481/202789407-6471dbd5-7b59-4cc6-8ab6-08d004b6ddad.jpg) - +### 1.2 Set up your QGIS project Then it is a matter of making a new project in QGIS and setting the project CRS to be this. ![Projection](https://user-images.githubusercontent.com/20801481/189474094-89e78347-23b5-440a-b4b5-44862b472276.JPG) +### 1.3 Visualizing your map by using tiles for satmaps or OpenStreetMaps live view You can add XYZ tiles from this python script to add in a bunch of online satmap tile layers you can use: https://raw.githubusercontent.com/klakar/QGIS_resources/master/collections/Geosupportsystem/python/qgis_basemaps.py ## 2) Outlining the game area @@ -51,7 +52,7 @@ Make sure you use the project CRS (projection) and that it is a polygon. Also ma ## 3) Oceans -For the ocean I downloaded the OSM Ocean Polygon files (source https://osmdata.openstreetmap.de/data/water-polygons.html). These are WGS84 chunck of ocean. Select all the vector objects that are relevant to the map, and use the Vector->Geoprocessing->Dissolve command to merge the cells into one object. This will output a new temporary layer (can be slow to do). This layer we can now save and reproject it to the relevant UTM projection, like UTM 21S for the Falklands map. Be sure to reproject only after dissolve or you will potentially get gaps in the ocean file. +For the ocean I downloaded the OSM Ocean Polygon files (source https://osmdata.openstreetmap.de/data/water-polygons.html). These are WGS84-projected chunks of ocean. Select all the vector objects that are relevant to the map, and use the Vector->Geoprocessing->Dissolve command to merge the cells into one object. This will output a new temporary layer (can be slow to do). This layer we can now save and reproject it to the relevant UTM projection, like UTM 21S for the Falklands map. Be sure to reproject only after dissolve or you will potentially get gaps in the ocean file. Once you have the ocean file dissolved and projected to the correct UTM projection you can clip it to the game area overlay (Vector -> Geoprocessing -> Clip). From 64c702a47a69ddafd244c06cbc1fa42837740a7f Mon Sep 17 00:00:00 2001 From: FinCenturion Date: Fri, 18 Nov 2022 23:18:20 +0200 Subject: [PATCH 662/704] Updated Creating shape files in QGIS for map data (markdown) --- Creating-shape-files-in-QGIS-for-map-data.md | 67 +++++++++++++++++++- 1 file changed, 65 insertions(+), 2 deletions(-) diff --git a/Creating-shape-files-in-QGIS-for-map-data.md b/Creating-shape-files-in-QGIS-for-map-data.md index f39aae6..c42746d 100644 --- a/Creating-shape-files-in-QGIS-for-map-data.md +++ b/Creating-shape-files-in-QGIS-for-map-data.md @@ -52,7 +52,11 @@ Make sure you use the project CRS (projection) and that it is a polygon. Also ma ## 3) Oceans -For the ocean I downloaded the OSM Ocean Polygon files (source https://osmdata.openstreetmap.de/data/water-polygons.html). These are WGS84-projected chunks of ocean. Select all the vector objects that are relevant to the map, and use the Vector->Geoprocessing->Dissolve command to merge the cells into one object. This will output a new temporary layer (can be slow to do). This layer we can now save and reproject it to the relevant UTM projection, like UTM 21S for the Falklands map. Be sure to reproject only after dissolve or you will potentially get gaps in the ocean file. + +### 3.1 Getting the source data and processing it +For the ocean I downloaded the OSM Ocean Polygon files (source https://osmdata.openstreetmap.de/data/water-polygons.html). These are WGS84-projected chunks of ocean. Select all the vector objects that are relevant to the map, and use the Vector->Geoprocessing->Dissolve command to merge the cells into one object. This will output a new temporary layer (can be slow to do). This layer we can now save and reproject it to the relevant UTM projection, like UTM 21S for the Falklands map. Right click on the temporary output layer and select Export -> Save Feature As... Be sure to reproject only after dissolve or you will potentially get gaps in the ocean file. +![image](https://user-images.githubusercontent.com/20801481/202793894-95c1c32e-fc72-4edf-ac21-1f0be10f1016.png) + Once you have the ocean file dissolved and projected to the correct UTM projection you can clip it to the game area overlay (Vector -> Geoprocessing -> Clip). @@ -60,13 +64,72 @@ Once you have the ocean file dissolved and projected to the correct UTM projecti Once again this is saved as a temporary file which you now can save to disk. +### 3.2 Generating Liberation-usable land and sea data. The final step is now to generate the land mass for Liberation as well as the actual ocean. Remember, we want to keep this data as lightweight as possible so we will first simplify the data. Use Vector->Geometry tools->Simplify and try different values ![Simplify](https://user-images.githubusercontent.com/20801481/191523064-c2a99d11-6e8e-4006-9e90-d4fd17fbce98.JPG) A tolerance value of 250 is probably fine at this stage but you can go more aggressive if you want to. -After we simplified the data now is the time to generate land data and ocean data. To make sure we get some margins so you cant accidentally move the carrier right to the beach or spawn units in the sea I want to use a buffer zone from the shore inland for the land map and a buffer zone from the shore out towards the sea. In the South Atlantic map I elected for a 750m buffer inland and a 1500m buffer out to sea. The 1500m buffer out to sea means a lot of the smaller sounds and bays will be eliminated, further simplifying our data. +After we simplified the data now is the time to generate land data and ocean data. We will use the basic, simplified ocean to generate both the land and sea area. To make sure we get some margins so you cant accidentally move the carrier right to the beach or spawn units in the sea I want to use a buffer zone from the shore inland for the land map and a buffer zone from the shore out towards the sea. In the South Atlantic map I elected for a 750m buffer inland and a 1500m buffer out to sea. The 1500m buffer out to sea means a lot of the smaller sounds and bays will be eliminated, further simplifying our data. ![Buffer](https://user-images.githubusercontent.com/20801481/191524446-24c970f2-21da-4127-90eb-320d7e5b47f8.JPG) +![image](https://user-images.githubusercontent.com/20801481/202790839-50c00420-ba95-484c-b680-f7dfa6308dee.png) +Here we can see our ocean that is buffered outwards from the shore 1500m + +To actually get land area as opposed to a sea that reaches inland 750m we need to use the difference command (Vector -> Geoprocessing -> Difference) +![image](https://user-images.githubusercontent.com/20801481/202793193-1f9c069a-6f59-43b3-8d1c-eb1ebb2d5be0.png) + +Make sure you have the Game area as input layer and the buffered sea as overlay. + +You should now have something like this: + +![image](https://user-images.githubusercontent.com/20801481/202793331-76950224-4a3e-4326-9de6-cc371a3e72ed.png) + +**Congratulations, you now have the land and sea data!** + +## 4. Exclusion data +Naturally, not all of the landmass is suitable to have warring armies on them. We should at least make lakes and rivers off-limits, and big cities too. We need to get source data to work with, process this data to make it as light-weight as possible. + +### 4.1 Downloading OSM vector source data +From the link below you can find collections of OSM source data that you can download and add to your QGIS project. +https://download.geofabrik.de/index.html + +The easiest way is to download the SHP files for individual countries. In this case I downloaded Argentina and Chile and added the layers I thought necessary to the map: water, waterways and landuse. + +### 4.1.1 Processing the data + +Once we have all the files, we need to do the following: +* Resave the files in proper projection +* Clip the files to only encompass the game area +* Simplify the data +* Buffer lakes and rivers slightly + +This can be done using the same techniques we learned in section 3. + +### 4.2 Downloading DEM data for slope analysis. +This step is potentially optional, but if the map contains many mountains and steep terrain like the South Atlantic map does it can be worthwhile to do. + +https://search.earthdata.nasa.gov/search/granules?p=C1546314043-LPDAAC_ECS&pg[0][v]=f&pg[0][gsk]=-start_date&q=nasadem&sb[0]=-71.22656%2C-51.47764%2C-68.23828%2C-49.30728&tl=1662388101!3!!&lat=-50.901136037047934&long=-73.1337890625&zoom=6 + +We will NASAs EarthDataSearch portal to find DEM data. I have used the NASADEM Merged DEM Global 1 arc second V001 dataset since it is reasonably high-resolution and free to use. You will need to register for the service, log-in, search the site for the correct dataset, and then draw an outline of the area you want to create a download link. + +![image](https://user-images.githubusercontent.com/20801481/202798042-3b9a1d61-1b6a-47ea-9539-411ccb41c9e6.png) + +### 4.2.1 Processing the DEM files. +To make editing easier, you will want to merge all your cells into one file using Raster->Miscellaneous->Merge. It can still be useful to retain one or two cells for testing commands on a smaller dataset so you are sure you get what you want. + +Now that we have the DEM file, we need to visualize the data. At this point, you should probably have an instance of DCS open so you can cross-reference the ingame view to better judge what slopes are fine and what are excessive. + +We will use the Raster -> Analysis -> Slope tool to make a slope map + +![image](https://user-images.githubusercontent.com/20801481/202802845-300c2cac-2009-4e01-a3c4-0fccbe6f474e.png) + +The slope mape can be visualized by right clicking on the layer and selecting properties, and selecting the Symbology tab. Here we will select "Singleband Pseudocolor" and play around with the values to find what slope value should be the cutoff, values above which are considered impassable. + +![image](https://user-images.githubusercontent.com/20801481/202803476-32ca60dc-2d30-40e1-a88d-078f89e67b0c.png) + +![image](https://user-images.githubusercontent.com/20801481/202803996-38d2dd8b-4daf-4d3d-82fb-0e04defe0151.png) + +By zooming out and changing color palettes and values of various colors you can probably find a value that seems reasonable. In the image above the red-value areas are probably bad for ground units while the other colors are passable. From c52a98a99e75877c9a385491896cbf696f106aff Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sat, 19 Nov 2022 18:33:19 -0800 Subject: [PATCH 663/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index 6e3d020..733c602 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -34,7 +34,7 @@ This json file should contain a json object, with the following parameters : If `version` is not set or is `"0"`, the campaign is from an unknown version of the game and will be marked as incompatible in the new game wizard. * `recommended_player_faction`: (Optional) The recommended player faction (will be automatically selected by default on the faction selection page) * `recommended_enemy_faction`: (Optional) The recommended enemy faction (will be automatically selected by default on the faction selection page) -* `recommended_start_date`: (Optional) The recommended start date for the campaign in YYYY-MM-DD format. (since campaign version 9.1) +* `recommended_start_date`: (Optional) The recommended start date for the campaign in YYYY-MM-DD format. This field can optionally include a start time to set the time for turn 1. E.g. `2004-01-07 06:00:00`. If the time is omitted, the campaign will start at a random hour in the middle of the day. (since campaign version 10.3) * `recommended_player_money`: (Optional) The recommended player budget as integer. Default=2000. (since campaign version 10.1) * `recommended_enemy_money`: (Optional) The recommended enemy budget as integer. Default=2000. (since campaign version 10.1) * `recommended_player_income_multiplier`: (Optional) The recommended player income multiplier as float. Default=1.0. (since campaign version 10.1) From 50fe8ff26e68ad5a49c160f0257a4c9469353163 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sun, 20 Nov 2022 11:57:37 -0800 Subject: [PATCH 664/704] Updated Campaign maintenance (markdown) --- Campaign-maintenance.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Campaign-maintenance.md b/Campaign-maintenance.md index 68f2479..ff5056e 100644 --- a/Campaign-maintenance.md +++ b/Campaign-maintenance.md @@ -13,6 +13,7 @@ Caucasus | Multi-Part Russia | @docofmur Caucasus | Northern Russia | @RoleplayingPleb Caucasus | Operation Vectron's Claw | @Starfire13 Caucasus | From Mozdok to Maykop | @Khopa +Caucasus | Up the Coast | @HolyOrangeJuice Normandy | From Caen to Evreux | @MetalStormGhost NTTR | Exercise Vegas Nerve | @Starfire13 NTTR | Nevada Limited Air | @docofmur From 7e95163bad5fb8ee6b6f8c1a8669ba9e5db966f0 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sun, 20 Nov 2022 11:57:51 -0800 Subject: [PATCH 665/704] Updated Campaign maintenance (markdown) --- Campaign-maintenance.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Campaign-maintenance.md b/Campaign-maintenance.md index ff5056e..ebcfbe2 100644 --- a/Campaign-maintenance.md +++ b/Campaign-maintenance.md @@ -13,7 +13,7 @@ Caucasus | Multi-Part Russia | @docofmur Caucasus | Northern Russia | @RoleplayingPleb Caucasus | Operation Vectron's Claw | @Starfire13 Caucasus | From Mozdok to Maykop | @Khopa -Caucasus | Up the Coast | @HolyOrangeJuice +Caucasus | Up the Coast | @holyorangejuice Normandy | From Caen to Evreux | @MetalStormGhost NTTR | Exercise Vegas Nerve | @Starfire13 NTTR | Nevada Limited Air | @docofmur From e8e16fe26aaeb37d34a300c378b3da3986e5e1fa Mon Sep 17 00:00:00 2001 From: Starfire13 <72491792+Starfire13@users.noreply.github.com> Date: Mon, 21 Nov 2022 07:27:01 +1100 Subject: [PATCH 666/704] Updated Campaign maintenance (markdown) --- Campaign-maintenance.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Campaign-maintenance.md b/Campaign-maintenance.md index ebcfbe2..ecf8881 100644 --- a/Campaign-maintenance.md +++ b/Campaign-maintenance.md @@ -14,6 +14,7 @@ Caucasus | Northern Russia | @RoleplayingPleb Caucasus | Operation Vectron's Claw | @Starfire13 Caucasus | From Mozdok to Maykop | @Khopa Caucasus | Up the Coast | @holyorangejuice +Falklands | Operation Grabthar's Hammer | @Starfire13 Normandy | From Caen to Evreux | @MetalStormGhost NTTR | Exercise Vegas Nerve | @Starfire13 NTTR | Nevada Limited Air | @docofmur From 8cb237ee0273be081e3b83cb2668d4c2e849a410 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sun, 20 Nov 2022 12:53:35 -0800 Subject: [PATCH 667/704] Updated Preview builds (markdown) --- Preview-builds.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Preview-builds.md b/Preview-builds.md index 26c9912..775f884 100644 --- a/Preview-builds.md +++ b/Preview-builds.md @@ -2,4 +2,4 @@ The latest build of the development branch can be found [here](https://github.co **This is a development branch. Sometimes we break things, and plenty of things will be works in progress. Save games may not work across builds, and you should back up any save games you don't want to lose before loading them with a development build.** -The latest builds of the 5.2 release can be found [here](https://github.com/dcs-liberation/dcs_liberation/actions/workflows/build.yml?query=branch%3Adevelop-5.2+event%3Apush). Unlike the main branch, saves _should_ remain compatible with saves from prior versions of 5.x. However, check the date of the build before downloading, as the build on this page may be older than the released version. \ No newline at end of file +The latest builds of the 6.0 release can be found [here](https://github.com/dcs-liberation/dcs_liberation/actions/workflows/build.yml?query=branch%3Adevelop-6.0+event%3Apush). Unlike the main branch, saves _should_ remain compatible with saves from prior versions of 6.x. However, check the date of the build before downloading, as the build on this page may be older than the released version. \ No newline at end of file From 196cdc13ebbe3c79586e5198c3815b062da88259 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sat, 26 Nov 2022 12:57:20 -0800 Subject: [PATCH 668/704] Updated Campaign maintenance (markdown) --- Campaign-maintenance.md | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/Campaign-maintenance.md b/Campaign-maintenance.md index ecf8881..f27dbae 100644 --- a/Campaign-maintenance.md +++ b/Campaign-maintenance.md @@ -7,29 +7,20 @@ These campaigns have owners that will to keep them up to date for each release o Map | Name | Owner (GitHub user name) --- | --- | --- Caucasus | Black Sea | @DanAlbert -Caucasus | Full | @docofmur -Caucasus | Multi-Part Georgia | @docofmur -Caucasus | Multi-Part Russia | @docofmur Caucasus | Northern Russia | @RoleplayingPleb Caucasus | Operation Vectron's Claw | @Starfire13 -Caucasus | From Mozdok to Maykop | @Khopa Caucasus | Up the Coast | @holyorangejuice Falklands | Operation Grabthar's Hammer | @Starfire13 Normandy | From Caen to Evreux | @MetalStormGhost NTTR | Exercise Vegas Nerve | @Starfire13 -NTTR | Nevada Limited Air | @docofmur Persian Gulf | Battle of Abu Dhabi | @DanAlbert -Persian Gulf | Battle for the UAE | @Mustang-25 -Persian Gulf | Road to Dubai | @docofmur Syria | Battle for Golan Heights | @Khopa Syria | Full Map | @RoleplayingPleb Syria | Operation Allied Sword | @sgtfuzzle17 Syria | Operation Black Ball | @sgtfuzzle17 -Syria | Operation Mole Cricket 2010 | @Mustang-25 Syria | Operation Peace Spring | @Starfire13 The Channel | Operation Dynamo | @Khopa - ### Unsupported campaigns Every other campaign has no owner. **When they break they will be removed from Liberation**. If you don't want to see those campaigns disappear from Liberation, you can volunteer to maintain them. @@ -38,12 +29,20 @@ Every other campaign has no owner. **When they break they will be removed from L These campaigns are broken and have no owner to fix them, so they have been removed. If you want to revive them, you can volunteer to maintain them. -Map | Name | Last included in ---- | --- | --- -Syria | Humble Helper | 4.1.1 -Syria | Inherent Resolve | 3.0.0 -Syria | Operation Atilla | 4.0.0 -Syria | Russian Intervention | 4.0.0 +Map | Name | Last included in +--- | --- | --- +Caucasus | Full | 5.2.1 +Caucasus | Multi-Part Georgia | 5.2.1 +Caucasus | Multi-Part Russia | 5.2.1 +Caucasus | From Mozdok to Maykop | 5.2.1 +NTTR | Nevada Limited Air | 4.1.1 +Persian Gulf | Road to Dubai | 4.1.1 +Persian Gulf | Battle for the UAE | 4.1.1 +Syria | Humble Helper | 4.1.1 +Syria | Inherent Resolve | 3.0.0 +Syria | Operation Atilla | 4.0.0 +Syria | Russian Intervention | 4.0.0 +Syria | Operation Mole Cricket 2010 | 4.1.1 ## Becoming a campaign maintainer From d2450b337999345fd091117abdc10b324b51eb75 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sat, 26 Nov 2022 12:58:44 -0800 Subject: [PATCH 669/704] Updated Mission planning (markdown) --- Mission-planning.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/Mission-planning.md b/Mission-planning.md index f158c75..9307753 100644 --- a/Mission-planning.md +++ b/Mission-planning.md @@ -39,16 +39,13 @@ Below is a list of all the currently available task types for flights. More will ### Air Assault An Air Assault mission is a special helo mission which can be planned against enemy control points to extract troops and capture the point. The flights will fly to the pickup point to load troops and continue to the drop off location where they will extract the units. The units will then head to the center of the Zone created by the Assault Waypoint. It is important that the drop off waypoint is within the boundary of this assault waypoint zone. Otherwise the troops will not head to the target zone. When this mission is tasked from a carrier then there will be no pick up needed as the troops can be loaded directly from the deck of the carrier. -This mission type is only available when the CTLD plugin is enabled as it is required for the troop loading and extracting.\ -_This mission will be introduced with Liberation 6.0.0_ +This mission type is only available when the CTLD plugin is enabled as it is required for the troop loading and extracting. ### Airlift (Transport) An Airlift is a transport mission for a unit transfer and can be created from the Unit transfer dialog. It will also be automatically created for transfers if there is no other transport route (convoy, ship) available. To enforce an airlift the user has to choose Airlift as the requested transport type within the unit transfer dialog. When the CTLD plugin is enabled liberation will automatically create the necessary pickup and drop off zones as well as a special logisitc unit which allows to spawn crates which can then be sling loaded. It is important to check the actual position of the Pickup and Drop off Waypoint as the CTLD zones will be placed at these locations. These zones will only be generated for player flights. The AI will not use the CTLD specific logic. -_The option to enforce an airlift from the Unit Transfer dialog will be introduced with Liberation 6.0.0_ - ### Anti-ship An anti-ship mission can be planned against enemy ships. The flight will rendezvous with the rest of its package and proceed to its ingress point, where it will fire its weapons at the enemy naval group. AI flights targeting a group of ships may split their weapons across multiple ships. After firing, the flight will RTB. From e5ec0d0439d8ee901e64699a6da0c562a4e6e2e4 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sat, 26 Nov 2022 12:59:40 -0800 Subject: [PATCH 670/704] Updated Performance Options (markdown) --- Performance-Options.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/Performance-Options.md b/Performance-Options.md index d6b8f13..ac00740 100644 --- a/Performance-Options.md +++ b/Performance-Options.md @@ -4,8 +4,6 @@ Given the wide amount of differences between systems, it will take some trial an # Distant Unit Culling -**Note:** Prior to DCS Liberation 2.3 culling was much more aggressive, which often resulted in player flights being removed. The information below describes the behavior for 2.3+. - Enabling "Culling of distant units" in the Mission Generator settings can improve performance by removing some distant units from the game. ![Picture of culling options](https://i.imgur.com/sDfpF5f.jpg) From b7c58adc63ce0b5065d778773b75dadad84a9664 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sat, 26 Nov 2022 13:00:09 -0800 Subject: [PATCH 671/704] Updated Auto purchase options (markdown) --- Auto-purchase-options.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/Auto-purchase-options.md b/Auto-purchase-options.md index 2be1b4b..d5a381a 100644 --- a/Auto-purchase-options.md +++ b/Auto-purchase-options.md @@ -20,8 +20,6 @@ Up to half of the budget remaining after repairing runways will be spent on unit Reinforcements will first be purchased at control points with active front lines that have fewer than 30 units. Once all active front lines have at least 30 units, additional units will be assigned to all control points at random. -**Changes in DCS Liberation 3.0**: The proportion of the budget allocated to ground units scales based on the investment balance of existing air and ground units. E.g. if ground units are over-invested, more of the funds for the turn will be allocated for air units. - ## Aircraft reinforcement Any remaining budget will be used to purchase aircraft. From f0e3f1040dd5acfc5d29f371eae63c9cc5c04dba Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sat, 26 Nov 2022 13:00:19 -0800 Subject: [PATCH 672/704] Updated Auto purchase options (markdown) --- Auto-purchase-options.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/Auto-purchase-options.md b/Auto-purchase-options.md index d5a381a..06c0474 100644 --- a/Auto-purchase-options.md +++ b/Auto-purchase-options.md @@ -32,8 +32,6 @@ Aircraft are selected to fit the unfulfilled missions. Liberation maintains a pr If no capable aircraft in range can be purchased, the remaining budget will roll over to the next turn. -**New in 3.0** Transport aircraft will be purchased to support airlift missions at every control point with a factory to a minimum of four aircraft. - ### Changes in DCS Liberation 2.4 Airbases outside the enemy's threat zone will be preferred. This will result in more regular, safer, albeit longer flight plans. From b5dc457aa27c622573448cc2cf6b1bc12c4027a8 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sat, 26 Nov 2022 13:06:11 -0800 Subject: [PATCH 673/704] Updated Auto purchase options (markdown) --- Auto-purchase-options.md | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/Auto-purchase-options.md b/Auto-purchase-options.md index 06c0474..7085c4d 100644 --- a/Auto-purchase-options.md +++ b/Auto-purchase-options.md @@ -24,18 +24,10 @@ Reinforcements will first be purchased at control points with active front lines Any remaining budget will be used to purchase aircraft. -Aircraft will be purchased to fulfill any missions that could not be planned due to lack of aircraft. This occurs in the order specified by the mission planner. +Aircraft will be purchased to fulfill any missions that could not be planned due to lack of aircraft. This occurs in the order specified by the mission planner. The best aircraft for the job will be purchased, with a random change of making a suboptimal decision to maintain unit variety. The preferences for each task type are defined in https://github.com/dcs-liberation/dcs_liberation/blob/develop/gen/flights/ai_flight_planner_db.py. -When attempting to fulfill an order for a mission, the purchase will be attempted at the airfield in range if the target, with parking available, closest to the mission target. +When attempting to fulfill an order for a mission, the purchase will be attempted at the airfield in range if the target, with parking available, closest to the mission target. Airbases outside the enemy's threat zone will be preferred. This will result in more regular, safer, albeit longer flight plans. Aircraft are selected to fit the unfulfilled missions. Liberation maintains a preferred list of aircraft for each mission type as well as a list of all capable aircraft. A random selection will be made from the preferred list first, but if empty or too expensive the capable list will be used. -If no capable aircraft in range can be purchased, the remaining budget will roll over to the next turn. - -### Changes in DCS Liberation 2.4 - -Airbases outside the enemy's threat zone will be preferred. This will result in more regular, safer, albeit longer flight plans. - -The best aircraft for the job will be purchased, with a random change of making a suboptimal decision to maintain unit variety. The preferences for each task type are defined in https://github.com/dcs-liberation/dcs_liberation/blob/develop/gen/flights/ai_flight_planner_db.py. - -(Work in progress) A reserve of aircraft for airbase defense BARCAP and CAS missions will be maintained before aircraft are purchased for other missions. The reserves will remain at the airbase. This ensures that even if every planned flight is destroyed the critical missions can still be deployed on the next turn. \ No newline at end of file +If no capable aircraft in range can be purchased, the remaining budget will roll over to the next turn. \ No newline at end of file From f9368e2582d26484db9dcbb623049e4c63af3d8e Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sat, 26 Nov 2022 13:06:46 -0800 Subject: [PATCH 674/704] Updated Auto purchase options (markdown) --- Auto-purchase-options.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Auto-purchase-options.md b/Auto-purchase-options.md index 7085c4d..e7be2f0 100644 --- a/Auto-purchase-options.md +++ b/Auto-purchase-options.md @@ -1,4 +1,4 @@ -DCS Liberation 2.3 adds automatic procurement options for players. There are three aspects which can each be enabled individually: +Auto-purchase options are available for players. There are three aspects which can each be enabled individually: * Runway repair * Front line reinforcement From 3fbade00318751f46e9b3fd4646c6f2dc34b52d4 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sat, 26 Nov 2022 13:07:39 -0800 Subject: [PATCH 675/704] Updated Unit Transfers (markdown) --- Unit-Transfers.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Unit-Transfers.md b/Unit-Transfers.md index f2d5be2..b875e0f 100644 --- a/Unit-Transfers.md +++ b/Unit-Transfers.md @@ -1,6 +1,6 @@ # Transferring Air Units -Squadrons can be transferred through the Air Wing pane by double-clicking on a squadron. For those used to the old method (4.x and prior) of transferring individual flights piecemeal by diverting them, this is no longer available now that persistent squadrons have been implemented. You will have to transfer the squadron itself, not individual aircraft. +Squadrons can be transferred through the Air Wing pane by double-clicking on a squadron. You will have to transfer the squadron itself, not individual aircraft. ![](https://i.imgur.com/a4KU76h.jpg) @@ -56,6 +56,6 @@ Ground units can be moved between bases by opening a base's menu and clicking th Note that manual creation of transfers is only needed when redeploying existing units. Transfer orders for purchased units will automatically be created to move them from the factory to their destination. -Further work that's planned for 3.0: +Further work that's planned: * Redeployment of reserves from non-front line bases: https://github.com/dcs-liberation/dcs_liberation/issues/823 * Transfer via rail for alternate ground transportation networks: https://github.com/dcs-liberation/dcs_liberation/issues/826 \ No newline at end of file From 9c46cf58bcb5442266afe1f88ee19e998a637d3d Mon Sep 17 00:00:00 2001 From: MetalStormGhost <89945461+MetalStormGhost@users.noreply.github.com> Date: Sat, 3 Dec 2022 17:19:11 +0200 Subject: [PATCH 676/704] Removed modified Caucasus landmap from the list. --- Community-campaigns.md | 1 - 1 file changed, 1 deletion(-) diff --git a/Community-campaigns.md b/Community-campaigns.md index cb3aaf6..2481d9c 100644 --- a/Community-campaigns.md +++ b/Community-campaigns.md @@ -17,7 +17,6 @@ Caucasus | Operation Lighthouse | 5.0 | Sith1144 | Large Caucasus campaign attac Syria | Cyprus East | 5.0 | Bat1 | Syrian forces supported by Russian Federation have taken eastern Cyprus and a US and Uk force retain land to the west. Re-enforce Cyprus. Suits both fast jet and helicopter Ops. | [Cyprus East](https://github.com/dcs-liberation/dcs_liberation/files/7613716/CyprusEast.zip) Syria | The Falcon went over the mountain | 5.0 | Sith1144 | "Limited scope" (I am bad at this) Syria campaign. Invade syria from incirlik, with a large wall of SAMs across the Taurus mountains and the Iskanderun bay. As the name suggests I made it for the F-16, but theres carriers and stuff too. | [The Falcon Went Over The Mountain](https://github.com/dcs-liberation/dcs_liberation/files/7676503/TheFalconWentOverTheMountain.zip) Persian Gulf | The Valley of Rotary | 5.0 | Sith1144 | Helicopter counterinsurgency ops in Southern Iran. | [The Valley Of Rotary](https://github.com/dcs-liberation/dcs_liberation/files/7676516/TheValleyOfRotary.zip) -Caucasus (Landmap) | Forested region landmap | 5.1 | Ghosti | Alternate landmap for campaigns set in the forested regions of Caucasus. There are corridors for ground forces from Apsheronsk to Tuapse and from Maykop to Sochi. | [caulandmap.zip](https://github.com/dcs-liberation/dcs_liberation/files/8078820/caulandmap.zip) You can (with some effort) use GitHub for file uploads: From ab3de6c330dc65822e36e4ec25166935133777aa Mon Sep 17 00:00:00 2001 From: Starfire13 <72491792+Starfire13@users.noreply.github.com> Date: Sun, 4 Dec 2022 08:10:37 +1100 Subject: [PATCH 677/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index 733c602..b9e0dbc 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -375,7 +375,7 @@ To define a map object strike target, right click the building in the mission ed Create new _circular_ trigger zone through the Mission Editor's sidebar, and give it the color of blue (`0 Red`, `0 Green`, `255 Blue`; there is a shortcut button that is blue in case you do not want to type the RGB numbers in manually). Place this trigger zone such that it encloses each of the centers of the objective's white trigger zones. This defines the objective area (named, targetable group of buildings), whereas the white zones define the individual buildings of the objective location. Each group zone must have a unique name. -Create a property for the objective definition with the value field set to any of the entries listed in `game/db.py : REWARDS` (listed below for convenience, but may be out of date). **This must be the first property in the group zone.** This field defines the category (objective type) of the group, which impacts income generation per building. +Create a property for the objective definition with the value field set to any of the entries listed in `game/config.py : REWARDS`. **This must be the first property in the group zone.** This field defines the category (objective type) of the group, which impacts income generation per building. * `power` * `ware` From 7ae127e25429e05aa9d951e8e388108c60f5d344 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Wed, 21 Dec 2022 13:26:11 -0800 Subject: [PATCH 678/704] Updated Preview builds (markdown) --- Preview-builds.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Preview-builds.md b/Preview-builds.md index 775f884..47159d3 100644 --- a/Preview-builds.md +++ b/Preview-builds.md @@ -2,4 +2,4 @@ The latest build of the development branch can be found [here](https://github.co **This is a development branch. Sometimes we break things, and plenty of things will be works in progress. Save games may not work across builds, and you should back up any save games you don't want to lose before loading them with a development build.** -The latest builds of the 6.0 release can be found [here](https://github.com/dcs-liberation/dcs_liberation/actions/workflows/build.yml?query=branch%3Adevelop-6.0+event%3Apush). Unlike the main branch, saves _should_ remain compatible with saves from prior versions of 6.x. However, check the date of the build before downloading, as the build on this page may be older than the released version. \ No newline at end of file +The latest builds of the 6.1 release can be found [here](https://github.com/dcs-liberation/dcs_liberation/actions/workflows/build.yml?query=branch%3Adevelop-6.1+event%3Apush). Saves from 6.x are compatible. However, check the date of the build before downloading, as the build on this page may be older than the released version. \ No newline at end of file From b1e17e5dc3d764f9bf9edbdb339f4e9ebd5678a2 Mon Sep 17 00:00:00 2001 From: ColonelAkirNakesh <93631947+ColonelAkirNakesh@users.noreply.github.com> Date: Thu, 29 Dec 2022 17:01:40 -0800 Subject: [PATCH 679/704] fixed link to aircraft purchase priority page --- Auto-purchase-options.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Auto-purchase-options.md b/Auto-purchase-options.md index e7be2f0..6e2de6c 100644 --- a/Auto-purchase-options.md +++ b/Auto-purchase-options.md @@ -24,7 +24,7 @@ Reinforcements will first be purchased at control points with active front lines Any remaining budget will be used to purchase aircraft. -Aircraft will be purchased to fulfill any missions that could not be planned due to lack of aircraft. This occurs in the order specified by the mission planner. The best aircraft for the job will be purchased, with a random change of making a suboptimal decision to maintain unit variety. The preferences for each task type are defined in https://github.com/dcs-liberation/dcs_liberation/blob/develop/gen/flights/ai_flight_planner_db.py. +Aircraft will be purchased to fulfill any missions that could not be planned due to lack of aircraft. This occurs in the order specified by the mission planner. The best aircraft for the job will be purchased, with a random change of making a suboptimal decision to maintain unit variety. The preferences for each task type are defined in https://github.com/dcs-liberation/dcs_liberation/blob/develop/game/ato/ai_flight_planner_db.py. When attempting to fulfill an order for a mission, the purchase will be attempted at the airfield in range if the target, with parking available, closest to the mission target. Airbases outside the enemy's threat zone will be preferred. This will result in more regular, safer, albeit longer flight plans. From 9131921e932de5936886149aacf52d540231a3aa Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sun, 5 Feb 2023 14:54:52 -0800 Subject: [PATCH 680/704] Updated Release process (markdown) --- Release-process.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Release-process.md b/Release-process.md index 4630e5f..5674594 100644 --- a/Release-process.md +++ b/Release-process.md @@ -2,7 +2,7 @@ To release a new version of DCS Liberation: 1. Make sure the version number and changelog are up to date in the release branch. If the changelog needs to be updated, fix it in develop first and cherry-pick the updates to the release branch so they stay in sync. 2. Announce a preview build in #:loudspeaker:preview with the link to the GitHub Action for the specifc branch before creating the Release and wait some time. This allows to get some feedback on the build -3. When everything is ready for release tag the corresponding release branch. Format for release tags is `$MAJOR.$MINOR.$PATCH`. **Do not create a release.** A release will be created automatically by the GitHub action from the tag. +3. When everything is ready for release tag the corresponding release branch. Format for release tags is `$MAJOR.$MINOR.$PATCH`. **Do not create a release.** A release will be created automatically by the GitHub action from the tag. `git tag 6.1.1 && git push --tags`, for example. 4. Smoke test the tagged build 5. Update the bug templates in .github to allow reporting bugs against the new release. Old versions should be removed. 6. In [Releases](https://github.com/dcs-liberation/dcs_liberation/releases), promote the tagged build to a release. The description should be pre-filled with the changelog. From 36537ed7aa909ce7def3528fe0deb93ca6a599cb Mon Sep 17 00:00:00 2001 From: dimkzr Date: Tue, 7 Feb 2023 03:59:15 +0300 Subject: [PATCH 681/704] Clarified where to find the name of a custom livery. --- Custom-Factions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Custom-Factions.md b/Custom-Factions.md index be63055..9394b04 100644 --- a/Custom-Factions.md +++ b/Custom-Factions.md @@ -43,7 +43,7 @@ This json file should contain a json object, with the following parameters : * **jtac_unit** : Type of unit to use as JTAC. * **doctrine** : Either "modern" for modern doctrine, "coldwar" for coldwar doctrine, or "ww2" for WW2 doctrine. Doctrine controls the altitude of flights and other flight planner AI parameters. * **building_set** : Either "default" for default set, "ww2ally" for WW2 ally buildings, "ww2germany" for WW2 german building or "ww2free" for a ww2 building set that does not require the WW2 asset pack. -* **liveries_overrides** : List of aircraft and liveries to set. It is possible to have multiple liveries for aircraft, and Liberation will pick one out of the list randomly. The livery must be available to the country set in order to appear. If the livery doesn't show up in Mission Editor for that country, it won't show up in your Liberation mission either. +* **liveries_overrides** : List of aircraft and liveries to set. It is possible to have multiple liveries for aircraft, and Liberation will pick one out of the list randomly. The livery must be available to the country set in order to appear. If the livery doesn't show up in Mission Editor for that country, it won't show up in your Liberation mission either. The name of the livery can be found in its description.lua (if it's not there, then use the exact name of the livery's folder). * **unrestricted_satnav** : Enable this option to allow unrestricted SATNAV in the mission. This will allow the use of GPS by non-US countries, e.g. non-US F/A-18s will be able to use GPS for alignment. This value is optional and may be either `true` or `false`. If not set this defaults to `false`. **Note :** From a9dc0ab9772289b195ead05ef489ff6d022bfcb3 Mon Sep 17 00:00:00 2001 From: Starfire13 <72491792+Starfire13@users.noreply.github.com> Date: Thu, 16 Mar 2023 07:44:46 +1100 Subject: [PATCH 682/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index b9e0dbc..c2a5058 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -71,7 +71,9 @@ In DCS Liberation 5 campaigns define the starting squadron configuration for eac For a complete example, see the [Black Sea campaign description](https://github.com/dcs-liberation/dcs_liberation/blob/develop/resources/campaigns/black_sea.yaml). -When choosing preferred aircraft, although the property is optional, it is best to pick at list at least one aircraft that is valid for the default faction configuration of your campaign to ensure that your campaign's out-of-the-box behavior works as you expect. You can list *any* aircraft here if you want to cater to non-default factions. For example, if your default faction for the player is USA 2005 but you want to provide good defaults for Russia, you can use `"aircraft": ["F-15C Eagle", "Su-27 Flanker-B"]` and the squadron will fly F-15s when the US is chosen and Su-27s when Russia is chosen. +When choosing preferred aircraft, although the property is optional, it is best to pick at list at least one aircraft that is valid for the default faction configuration of your campaign to ensure that your campaign's out-of-the-box behavior works as you expect. You can list *any* aircraft here if you want to cater to non-default factions. For example, if your default faction for the player is USA 2005 but you want to provide good defaults for Russia, format the squadron info in the following format. You can see in the picture how the two squadrons both have an alternate aircraft defined. The first aircraft on the list is always tried first, followed by the rest in order. You can define more than 2 if you wish to. + +![Screenshot 2023-03-16 074259](https://user-images.githubusercontent.com/72491792/225437442-0948720c-093e-4afd-8c55-1dd5987b5547.jpg) **Not every airbase needs squadrons.** Use the positioning, quantity, and roles of each squadron to control the size and pace of your campaign. You don't need to provide a squadron for every aircraft type, but in general you should ensure that a squadron is capable of the major task types (BARCAP, CAS, SEAD, Transport, AEW&C, and Refueling). Players can customize their squadrons at game start (note: it currently is not possible to *add* squadrons or change aircraft types, but squadrons can be removed at game start and task preferences may be changed at will), so it is most important that you set up your default squadrons the way that makes the most sense for your campaign. From 0e0b63e8e8d185b4c20a4c7f71412d2c7d32f65f Mon Sep 17 00:00:00 2001 From: eerturk Date: Tue, 4 Apr 2023 23:36:25 -0400 Subject: [PATCH 683/704] Updated Community campaigns (markdown) --- Community-campaigns.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Community-campaigns.md b/Community-campaigns.md index 2481d9c..b8c6cf5 100644 --- a/Community-campaigns.md +++ b/Community-campaigns.md @@ -4,7 +4,7 @@ Map | Campaign name | Liberation version | Author | Description | Download link --- | --- | --- | --- | --- | --- --- | --- | --- | --- | --- | --- Caucasus | Some campaign | 2.5 | Someone | Describe your campaign. Include a screenshot if you want. Is it large or small? What part of the map does it take place on? | Upload your mission to a file sharing service and share the link here -Syria | Cyprus - Alice Goes to Vacation | 6.0 | E. Erturk | Greeks takes over the Turkish Republic of Northern Cyprus. Turks is to respond. | [Alice Goes On A Vacation](https://drive.google.com/file/d/1NRq_89jzOZETo033QodNOGaxfMarxwGq/view?usp=sharing) +Syria | Cyprus - Alice Goes to Vacation | 6.0 | E. Erturk | Greeks take over the Turkish Republic of Northern Cyprus. Turks are to respond. | [Alice Goes On A Vacation](https://drive.google.com/file/d/1NRq_89jzOZETo033QodNOGaxfMarxwGq/view?usp=sharing) Syria | Invasion of Israel | 5.1 | Dank Williams | Syrian invasion of Israel during the Yom Kippur War. Inversion not supported. | [invasion_of_israel_5.1.zip](https://github.com/dcs-liberation/dcs_liberation/files/7852621/invasion_of_israel_5.1.zip) Syria | Golan Invasion | 5.0 | Kea | THIS CAMPAIGN IS DESIGNED FOR THE IDF PROJECT F-16I SUFA MOD!!! Israeli forces scramble to respond when a joint Syrian-Iranian exercise doesn't end and instead culminates in a full invasion of the Golan Heights. | https://drive.google.com/drive/folders/14eoM_mQhZsRjMMMxK_mQ89nHM4_-8j6m?usp=sharing Marianas | Pacific Dragon | 5.0 | Kea | THIS CAMPAIGN IS DESIGNED FOR THE CJS SUPERHORNET MOD!!! Following a lightning defeat of Taiwan, Chinese naval forces sweep across the Pacific, bombing Guam and seizing the northern Mariana Islands. The USS Abraham Lincoln arrives to help what USAF and Australian forces survived the initial attack. | https://drive.google.com/drive/folders/18SPCco87Ym5Co4LlWsZBisXUQq619BD4?usp=sharing From b5689648662ff866e08f62debf85d952d98bdc05 Mon Sep 17 00:00:00 2001 From: Pekka Kiviniemi Date: Tue, 11 Apr 2023 22:33:11 +0300 Subject: [PATCH 684/704] Created Fast forward (markdown) --- Fast-forward.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 Fast-forward.md diff --git a/Fast-forward.md b/Fast-forward.md new file mode 100644 index 0000000..b1ba66a --- /dev/null +++ b/Fast-forward.md @@ -0,0 +1,25 @@ +# Using Fast Forward + +Fast forward is a useful feature that moves clock ahead so players don't have to wait until take-off time. Fast forward continues until it hits a defined end condition. These can be: + +* first contact +* startup +* taxi time +* takeoff + +Fast forward (FF) happens when you push take-off button. You can see effects of FF when you look at mission time in `Turn` section of main GUI. Map view will also show friendly flights. You cannot change any settings after `Take off` has been pushed. If you want to make changes, you must reload game state. + +## Turning Fast forward on + +Fast forward can be found in Settings / Mission Generator menu. To turn on FF, select `Fast forward mission to first contact`. + +## Player interruptions + +It is possible that player startup time happens before first contact. If you want to startup, taxi or take-off your plane, you must select corresponding option in `Player missions interrupt fast forward` + +## Auto-resolve combat + +If your take-off time is later than first contact, FF stops before your take-off time. If you start mission, you must wait until your take-off time. When you select `Auto-resolve combat during fast-forward (WIP)`, Liberation simulates combat and mission starts at your take-off time. + +**Warning** If you have checked this option and set `Never` to `Player missions interrupt fast forward`, FF never stops. + From 24b505b3586955ec74b9c51f9149422574352d50 Mon Sep 17 00:00:00 2001 From: Pekka Kiviniemi Date: Tue, 11 Apr 2023 22:34:25 +0300 Subject: [PATCH 685/704] Add link to fast forward page --- _Sidebar.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/_Sidebar.md b/_Sidebar.md index 61bec55..4a208d4 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -23,6 +23,8 @@ [Auto purchase options](Auto-purchase-options) +[Fast forward](Fast forward) + [Unit Transfers](Unit-Transfers) [Squadrons and pilots](Squadrons-and-pilots) From 205b1d7d94f3669b81e812bd240cdea1a74f399a Mon Sep 17 00:00:00 2001 From: Pekka Kiviniemi Date: Tue, 11 Apr 2023 22:35:36 +0300 Subject: [PATCH 686/704] Updated _Sidebar (markdown) --- _Sidebar.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_Sidebar.md b/_Sidebar.md index 4a208d4..87d7df9 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -23,7 +23,7 @@ [Auto purchase options](Auto-purchase-options) -[Fast forward](Fast forward) +[Fast forward](Fast-forward) [Unit Transfers](Unit-Transfers) From 873aa41b92fe8f290c39ace9ac6cac400558b427 Mon Sep 17 00:00:00 2001 From: Starfire13 <72491792+Starfire13@users.noreply.github.com> Date: Sat, 15 Apr 2023 01:27:38 +1000 Subject: [PATCH 687/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index c2a5058..2ffc72a 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -519,7 +519,7 @@ Currently the only two long range SAM systems are the Patriot and the SA-10 (S-3 To define a long range SAM location, place a CJTF Red unit of any of the following types: -* SAM Patriot LN M901 +* SAM Patriot LN * SAM SA-10 S-300PS LN 5P85C * SAM SA-10 S-300PS LN 5P85D From 167fc2a80398d9f4d9d74460bea35ab6804e4626 Mon Sep 17 00:00:00 2001 From: Starfire13 <72491792+Starfire13@users.noreply.github.com> Date: Sat, 15 Apr 2023 09:21:43 +1000 Subject: [PATCH 688/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index 2ffc72a..2eeeb99 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -64,7 +64,7 @@ In DCS Liberation 5 campaigns define the starting squadron configuration for eac } ``` -* `BASE_NAME_OR_ID`: The name of the base (in the case of a FOB, LHA, or CV) as defined by the group in the campaign miz file, or the ID number of the airfield as defined by pydcs. For example, [the ID of Anapa-Vityazevo is 12](https://github.com/pydcs/dcs/blob/master/dcs/terrain/caucasus/caucasus.py). Refer to the pydcs source for airbase ID numbers. +* `BASE_NAME_OR_ID`: The name of the base (in the case of a FOB, LHA, or CV) as defined by the group in the campaign miz file, or the ID number of the airfield as defined by pydcs. For example, [the ID of Anapa-Vityazevo is 12](https://github.com/pydcs/dcs/blob/master/dcs/terrain/caucasus/airports.py). Refer to the pydcs source for airbase ID numbers. * `PRIMARY_TASK`: Defines the primary task type for the squadron. If none of the preferred aircraft are available, a squadron will be generated using an aircraft that is capable of at least the primary task type. The allowed values here are the same as the values of the task types in `FlightType` found in https://github.com/dcs-liberation/dcs_liberation/blob/develop/game/ato/flighttype.py (the same as the name of the mission type shown in the Liberation UI). * `SECONDARY_TASKS`: Defines secondary tasks that the squadron will be allowed to perform if the squadron is capable of them. This can be either the literal strings `any`, `air-to-air`, or `air-to-ground`, or a list of specific task types. This property is optional. If not specified the auto-planner will only assign those squadrons to the primary task type. * `PREFERRED_AIRCRAFT`: A list of either aircraft type names (using the same names as [custom factions](https://github.com/dcs-liberation/dcs_liberation/wiki/Custom-Factions)), or a list of squadron names. Each name will be tried in order and the first option valid for the coalition will be selected. If no preferred aircraft are compatible with the coalition, a squadron will be automatically generated based on `PRIMARY_TASK`. From 3e94be7f0c9dbe0456ac34d95f8fc57d3e0a04fc Mon Sep 17 00:00:00 2001 From: Starfire13 <72491792+Starfire13@users.noreply.github.com> Date: Sun, 16 Apr 2023 01:37:02 +1000 Subject: [PATCH 689/704] Updated Developer's Guide (markdown) --- Developer's-Guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Developer's-Guide.md b/Developer's-Guide.md index d3d3427..2753cda 100644 --- a/Developer's-Guide.md +++ b/Developer's-Guide.md @@ -122,7 +122,7 @@ The type checker is **not** run as part of pre-commit, since that makes it harde ## Pull requests -Please make a new branch from either develop or master, and make your pull requests to khopa/develop. +Please make a new branch from either develop or master, and make your pull requests to dcs-liberation/develop. We can only merge/revert whole PRs, which means you should try and keep the size of each individual PR as small as possible. Ideally, one PR for one feature/bugfix/change. Also, review latency doesn't scale linearly with review time, and review time doesn't scale linearly with PR complexity. **Smaller PRs will likely get reviewed sooner and faster.** In addition, it's not possible for the testers to isolate bugs on a sub-build level. From 51ac688a5fcf180daa99467c6b77636938c25e26 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Mon, 17 Apr 2023 21:35:11 -0700 Subject: [PATCH 690/704] Clean up a bunch of "new in ancient version of liberation" cruft, correct a few inaccuracies. --- Custom-campaigns.md | 104 ++++++++++++++++++-------------------------- 1 file changed, 43 insertions(+), 61 deletions(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index 2eeeb99..89a9a8c 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -1,15 +1,12 @@ -**For DCS Liberation 5.0 the campaign version is 9.1.**\ -**For DCS Liberation 6.0 the campaign version is 10.2.** +**For DCS Liberation 6.0 the campaign version is 10.5.** -Campaigns in DCS Liberation can be modified using the mission editor. Each campaign is defined by a JSON file to provide metadata, and a DCS mission file (`.miz` file) to set up the theater. +Campaigns in DCS Liberation can be modified using the mission editor. Each campaign is defined by a YAML file to provide metadata, and a DCS mission file (`.miz` file) to set up the theater. The included campaigns can be modified, or new campaigns can be added to the `resources/campaigns` directory of the Liberation install. -![Campaign data directory tree](https://imgur.com/3FDs2Ut.png) - DCS Liberation must be restarted after campaign changes are made. Campaign changes only affect new games; ongoing campaigns will not be affected by changes to the campaign data. -If the campaign does not appear in the New Game wizard, there is likely an issue in the JSON file. Check the console window for errors. +If the campaign does not appear in the New Game wizard, there is likely an issue in the YAML file. Check the console window or log file for errors. ### Campaign changes in the dev branch @@ -17,11 +14,9 @@ Breaking campaign changes to do not get documented on the wiki immediately, but ## Descriptor file -The campaign uses a JSON file to describe some metadata. To create a new campaign, add a JSON file (such as `mycampaign.json`) to `resources\campaigns`. +The campaign uses a YAML file to describe some metadata. To create a new campaign, add a YAML file (such as `mycampaign.yaml`) to `resources\campaigns`. -**Note:** as of DCS Liberation 5 the campaign descriptor file may also be written in YAML with the same structure. - -This json file should contain a json object, with the following parameters : +This YAML file defines the following fields (unless otherwise stated, fields are required): * `name`: The name of the campaign that will be shown in the New Game wizard. * `theater`: The map for the campaign (either: `Caucasus`, `Persian Gulf`, `Nevada`, `Normandy`, `Syria` or `The Channel`). @@ -29,16 +24,16 @@ This json file should contain a json object, with the following parameters : * `description`: A description of the campaign that will be shown in the New Game wizard. * `version`: The version of the campaign format this campaign was built for. This supports a UI hint in the new game wizard to warn users about campaigns that were built for an incompatible version of the game. - Note that this field is **not** the DCS Liberation version, but the version of the campaign file format. The latest version is defined by `CAMPAIGN_FORMAT_VERSION` in [game/version.py](https://github.com/Khopa/dcs_liberation/blob/develop/game/version.py). **For DCS Liberation 4.1 the campaign version is 8.0.** + Note that this field is **not** the DCS Liberation version, but the version of the campaign file format. The latest version is defined by `CAMPAIGN_FORMAT_VERSION` in [game/version.py](https://github.com/dcs-liberation/dcs_liberation/blob/develop/game/version.py). See the top of this guide for the format version appropriate for current releases of Liberation. If `version` is not set or is `"0"`, the campaign is from an unknown version of the game and will be marked as incompatible in the new game wizard. * `recommended_player_faction`: (Optional) The recommended player faction (will be automatically selected by default on the faction selection page) * `recommended_enemy_faction`: (Optional) The recommended enemy faction (will be automatically selected by default on the faction selection page) -* `recommended_start_date`: (Optional) The recommended start date for the campaign in YYYY-MM-DD format. This field can optionally include a start time to set the time for turn 1. E.g. `2004-01-07 06:00:00`. If the time is omitted, the campaign will start at a random hour in the middle of the day. (since campaign version 10.3) -* `recommended_player_money`: (Optional) The recommended player budget as integer. Default=2000. (since campaign version 10.1) -* `recommended_enemy_money`: (Optional) The recommended enemy budget as integer. Default=2000. (since campaign version 10.1) -* `recommended_player_income_multiplier`: (Optional) The recommended player income multiplier as float. Default=1.0. (since campaign version 10.1) -* `recommended_enemy_income_multiplier`: (Optional) The recommended enemy income multiplier as float. Default=1.0. (since campaign version 10.1) +* `recommended_start_date`: (Optional) The recommended start date for the campaign in YYYY-MM-DD format. This field can optionally include a start time to set the time for turn 1. E.g. `2004-01-07 06:00:00`. If the time is omitted, the campaign will start at a random hour in the middle of the day. +* `recommended_player_money`: (Optional) The recommended player budget as integer. Default=2000. +* `recommended_enemy_money`: (Optional) The recommended enemy budget as integer. Default=2000. +* `recommended_player_income_multiplier`: (Optional) The recommended player income multiplier as float. Default=1.0. +* `recommended_enemy_income_multiplier`: (Optional) The recommended enemy income multiplier as float. Default=1.0. * `miz`: The name of the miz file (in the same `resources\campaigns` directory) that describes the campaign. * `performance`: How much performance your campaign need to run smoothly (3 for biggest scenarios that will have huge impact on game performance, 0 for the smallest, performance-friendly scenarios) * `squadrons`: Defines the default squadron configuration at the beginning of the campaign. Explained in the next section. @@ -47,21 +42,19 @@ This json file should contain a json object, with the following parameters : ### Squadron configuration -**This feature is new in DCS Liberation 5 with campaign version 9.0** - In DCS Liberation 5 campaigns define the starting squadron configuration for each coalition using the `squadrons` field of their campaign description. This field has the following format: -``` -"squadrons": { - BASE_NAME_OR_ID: [ - { - "primary": PRIMARY_TASK, - "secondary": SECONDARY_TASKS, - "aircraft": PREFERRED_AIRCRAFT - }, +```yaml +squadrons: + BASE_NAME_OR_ID: + - primary: PRIMARY_TASK + secondary: SECONDARY_TASKS + aircraft: + - PREFERRED_AIRCRAFT_1 + - PREFERRED_AIRCRAFT_2 + ... ... - ] -} + ... ``` * `BASE_NAME_OR_ID`: The name of the base (in the case of a FOB, LHA, or CV) as defined by the group in the campaign miz file, or the ID number of the airfield as defined by pydcs. For example, [the ID of Anapa-Vityazevo is 12](https://github.com/pydcs/dcs/blob/master/dcs/terrain/caucasus/airports.py). Refer to the pydcs source for airbase ID numbers. @@ -75,12 +68,12 @@ When choosing preferred aircraft, although the property is optional, it is best ![Screenshot 2023-03-16 074259](https://user-images.githubusercontent.com/72491792/225437442-0948720c-093e-4afd-8c55-1dd5987b5547.jpg) -**Not every airbase needs squadrons.** Use the positioning, quantity, and roles of each squadron to control the size and pace of your campaign. You don't need to provide a squadron for every aircraft type, but in general you should ensure that a squadron is capable of the major task types (BARCAP, CAS, SEAD, Transport, AEW&C, and Refueling). Players can customize their squadrons at game start (note: it currently is not possible to *add* squadrons or change aircraft types, but squadrons can be removed at game start and task preferences may be changed at will), so it is most important that you set up your default squadrons the way that makes the most sense for your campaign. +**Not every airbase needs squadrons.** Use the positioning, quantity, and roles of each squadron to control the size and pace of your campaign. You don't need to provide a squadron for every aircraft type, but in general you should ensure that a squadron is capable of the major task types (BARCAP, CAS, SEAD, Transport, AEW&C, and Refueling). Players can customize their squadrons at game start, so it is most important that you set up your default squadrons the way that makes the most sense for your campaign. A best practice to follow is to set up one base per side as a transit hub. This is preferably a large airfield near the rear of the conflict (not easily captured or destroyed), that has the ability to produce ground units (has a factory), has a cargo aircraft squadron, and optionally has a port. Depending on the location of this base it may also be a good home for AEW&C and refueling squadrons (and a BARCAP squadron to defend those other squadrons). ### IADS configuration -_Will be available in DCS Liberation 6.0 with Campaign Version 10.2_\ + Liberation can automatically generate the IADS network for you but if you want to have more control about the network and which assets are connected with each other it is possible to define the whole IADS network in the campaign.yaml. The iads configuration will only be used when the campaign supports the advanced iads (set `advanced_iads` to true) and the checkbox to use the Advanced mode is checked during campaign generation. To define the iads network in the campaign.yaml one has to add all connections to the `iads_config` property. Every primary node which should participate to the network has to be added to the list with the exact Group Name used in the campaign.miz. @@ -275,7 +268,7 @@ To create an LHA, follow the same process but place an LHA-1. Note that the presence of the carrier or LHA in the game will depend on the player's options and the faction's navy. -**New in DCS Liberation 5:** Campaign version 9.0 uses the carrier or LHA's group name to determine which squadrons should be located at the base by default. See the earlier section about squadron presets for more information. +The carrier or LHA's group name is used to determine which squadrons should be located at the base. See the earlier section about squadron presets for more information. # #### Off-map spawns @@ -316,34 +309,26 @@ Supply routes are defined by placing a CJTF Blue M-113 at an airfield and defini The supply route will follow the _waypoints_ of the vehicle group (not the path, so using on-road waypoints will not cause the front line to follow roads automatically), so waypoints should be placed at each location that the front line should turn to avoid terrain. The route beginning and end points will be used as the origin and destination endpoints for convoys, so each end point of the route should be placed on a road. The beginning and ending waypoints will associate with the nearest airfields when the campaign is generated. -**New in DCS Liberation 3.0:** The begin and end waypoints of the path defining the front line route define the origin and destination for convoy routes. Endpoints of the route should be placed on or near roads so that convoys can get moving quickly. If far from a road, units will move from their location off-road to the road one at a time until they have all reached the road. +The begin and end waypoints of the path defining the front line route define the origin and destination for convoy routes. Endpoints of the route should be placed on or near roads so that convoys can get moving quickly. If far from a road, units will move from their location off-road to the road one at a time until they have all reached the road. **Important:** Care should be taken to route the frontline around exclusion zones. If the center of the frontline location lies in an exclusion zones, frontline units may not spawn correctly. You can view the exclusion zones in the Liberation UI by clicking on the "3 stacked sheets" icon below the ruler icon in the top left corner of the map window. Frontlines can jump smaller exclusion zones but using these can cause frontlines to render on both sides of the gap, or cause the frontline to render far from the intended line. **Work in Progress** Exclusion zones are being updated to try and allow frontlines to follow or at least be in the general area of convoy routes. Frontlines need to follow the center of these Exclusion zone corridors. The frontline will shrink down to a small area, based on the size of the corridor and the frontline. (# of units) The frontline might not render correctly if the line is to large, (# of units) limiting the ammo depots (explained below) on these frontlines will help limit this issue. -# ### Shipping lanes -**New in DCS Liberation 3.0:** Shipping lanes define routes for transporting units between control points via cargo ships. +Shipping lanes define routes for transporting units between control points via cargo ships. To define a shipping lane, place a CJTF Blue Bulker Handy Wind. Shipping lanes should begin in port areas that are navigable by ships and have a route to another port area. DCS ships *will not* avoid driving into islands, so ensure that their waypoints plot a navigable route. -# -### Base defenses - -**New in DCS Liberation 3.0:** Random base defense generation is being removed. Replace the old base defense spawn locations with the desired number of fixed IADS and armor groups. These fixed groups do not follow exclusion zones, the placement of these is up to the campaign designer to insure they had enough room to spawn correctly. Testing should be done with largest possible group to ensure proper clearance with all factions. - -# ### Objective locations -**New in DCS Liberation 3.0:** Random objective locations should no longer be used. The instructions below describe how to place fixed objectives. The contents below have changed significantly since 2.5 and should be read in full when converting campaigns. These fixed groups do not follow exclusion zones, the placement of these is up to the campaign designer to insure they had enough room to spawn correctly. +Objective locations define the various locations for ground objectives in the campaign. Objective locations are automatically associated with their closest control point. -Objective locations are automatically associated with their closest control point. +These fixed groups do not follow exclusion zones, the placement of these is up to the campaign designer to insure they had enough room to spawn correctly. -**New in DCS Liberation 6.0:** The heading of the unit placed as spawn location will be maintained in the generated mission if the heading is not 0. In case the heading is 0 then Liberation will calculate the final heading during campaign generation so that the group will head directly to the center of the conflict. This new feature allows the campaign designer to fine tune the orientation of all the objectives to the campaign needs. -This automatic calculation will only be used for Anti Air, Missile, Coastal and Vehicle Groups. In previous versions of Liberation the orientation of these objects was always random. +The heading of the unit placed as spawn location will be maintained in the generated mission if the heading is not 0. In case the heading is 0 then Liberation will calculate the final heading during campaign generation so that the group will head directly to the center of the conflict. This new feature allows the campaign designer to fine tune the orientation of all the objectives to the campaign needs. Automatic orientation will only be used for Anti Air, Missile, Coastal and Vehicle Groups. #### Strike targets @@ -357,27 +342,27 @@ FARPs | 1 Oil derricks | 10 Bunkers | 2 Villages | 0,25 -Army camps | 0,5 +Army camps | 0.5 + +Note: The values above are subject to change. The `REWARDS` defined in https://github.com/dcs-liberation/dcs_liberation/blob/develop/game/config.py are the source of truth. To define a strike target location, place a Tech Combine structure. The unit may be either red or blue (the only difference is currently readability of the mission editor, but in the future will determine which coalition owns the objective). -# #### Offshore strike targets Offshore strike targets generate income for the owning coalition. - To define an offshore strike target, place a CJTF Red Oil Platform. -# #### Map objects Arbitrary map objects may be used as strike targets. These are the buildings/trees/scenery that are placed by the map developer (Eagle Dynamics, etc). Liberation uses trigger zones to define scenery as a strike target. To define a map object strike target, right click the building in the mission editor and select "assign as...". This will create a trigger zone around the building. The name of this trigger zone will be used to identify the building in the Liberation UI. Do not modify the color (white) or the properties. This creates the individual building that will be a part of the objective group. -Create new _circular_ trigger zone through the Mission Editor's sidebar, and give it the color of blue (`0 Red`, `0 Green`, `255 Blue`; there is a shortcut button that is blue in case you do not want to type the RGB numbers in manually). Place this trigger zone such that it encloses each of the centers of the objective's white trigger zones. This defines the objective area (named, targetable group of buildings), whereas the white zones define the individual buildings of the objective location. Each group zone must have a unique name. +Create new trigger zone through the Mission Editor's sidebar, and give it the color of blue (`0 Red`, `0 Green`, `255 Blue`; there is a shortcut button that is blue in case you do not want to type the RGB numbers in manually). Place this trigger zone such that it encloses each of the centers of the objective's white trigger zones. This defines the objective area (named, targetable group of buildings), whereas the white zones define the individual buildings of the objective location. Each group zone must have a unique name. -Create a property for the objective definition with the value field set to any of the entries listed in `game/config.py : REWARDS`. **This must be the first property in the group zone.** This field defines the category (objective type) of the group, which impacts income generation per building. +Create a property for the objective definition with the value field set to any of the entries listed in the `REWARDS` defined in https://github.com/dcs-liberation/dcs_liberation/blob/develop/game/config.py. **This must be the first property in the group zone.** This field defines the category (objective type) of the group, which impacts income generation per building. * `power` * `ware` @@ -401,7 +386,6 @@ Note that `factory` and `ammo` have different behavior. See the documentation on * No images for the various buildings in the Liberation UI, briefing, or kneeboard. Target identification will be difficult. * Every blue trigger zone must have a unique name. -# #### Factories Factories are ground unit producing structures. Ground units may only originate from control points that have factories, so it is essential that each coalition have access to them. Units will form convoys to move between control points, and convoys may be interdicted to interrupt reinforcements. Destroyed factories will stop producing units. When a control point loses its last factory, it will no longer be a source for ground units. @@ -418,59 +402,55 @@ Recommendations for factory placement: Note that map objects (defined in the previous section) may be used as factories. Use the `factory` category. -# #### Ammunition Depots + Ammunition Depots provide control over how many ground units are available to be deployed to the front line from it's closest control point. This directly effects how many ground units may be deployed on a front line. -Each control point has a free `15` deploy-able ground units available to it before ammunition depot buildings are required to raise the limit of how many ground units may be deployed. Each additional ammunition depot building raises the limit by `12` units. +Each control point has a free `15` deployable ground units available to it before ammunition depot buildings are required to raise the limit of how many ground units may be deployed. Each additional ammunition depot building raises the limit by `12` units. Ammunition Depots are placed in a campaign using the `Ammunition Depot` warehouse object to spawn the default template of one `Ammunition Depot` and two `Hangar B`s. Each ammunition depot template will raise the front line ground unit limit by `36` units. Alternatively, scenery objectives may be used with the `ammo` category to define an ammunition depot objective. Recommendations for Ammunition Depot placement: + * Defend your ammunition depots with IADS and ground units. -# #### Ships Ships can be generated at airbases, carriers, and LHAs (but not off-map spawns). Ships will not be spawned if the player has disabled either player or enemy navies in the campaign generation options, or if the faction does not have naval units defined. - To define a ship location place a CJTF Red Arleigh Burke IIa. -# #### Missile sites Missile sites (scuds, V-2s, etc) can be generated at airbases and FOBs. Missile sites will only be spawned if the faction has them defined. - To define a missile site place a CJTF Red SSM SS-1C Scud-B. -# #### Coastal defenses Coastal defenses (silkworms) can be generated at airbases and FOBs. Coastal defenses will only be spawned if the faction has them defined. - To define a missile site place a CJTF Red AShM SS-N-2 Silkworm. -# #### Armor groups Armor groups are ground units that defend the assigned location. These groups will not move. - To define potential locations for garrison groups, place a (red or blue) MBT M1A2 Abrams. -# ### IADS - Integrated Air Defence System DCS Liberation will create Air Defence Assets like SAM Systems, Point Defense, EWRs, Power Sources, Connection Nodes and Command Centers during campaign generation and connects them with each other to build an IADS Network of participating assets. This IADS Network will be used in the generated mission by the [Skynet Plugin](https://github.com/walder/Skynet-IADS) created by Walder which improves the overall handling of the AI with the Anti Air units as well as bringing in more realistic options like Connection Nodes, Power Sources and Command Centers. #### IADS Network + The IADS Network can be implemented and used in two different ways: + - Basic Mode - Advanced Mode -_The Advanced Mode will be available in DCS Liberation 6.0_ - In Basic Mode the IADS locations are automatically associated with the control point closest to them and participate to the IADS Network without using communication nodes or power sources. Participating Assets are MERAD and LORAD SAM Sites, EWRs, Naval Units (Ships, Carriers), AWACS flights and Command Centers. This mode will automatically be used if the campaign designer has not placed the advanced units in the campaign and set the advanced_iads property in the campaign yaml to true. The basic mode is used as default mode. If the campaign supports the advanced mode there are two possible ways to use it: @@ -482,9 +462,11 @@ If no iads_config is defined in the campaign.yaml the "by range" option will be The advanced assets like Comms, Power and C2 can be placed like any other ground object using the placeholder unit defined in this table [Unit Type Quick Reference](#unit-type-quick-reference-1) or via a [Map Object](#map-objects). When Map objects are used the system will generate a static dummy M4 Soldier next to the object. This is required so that skynet has a unit to control and track the alive/death state of it. This unit does not serve any purpose beside this. The kill of a map object is strill tracked by destroying the object and not the soldier. #### Skynet Plugin + Liberation adds the [Skynet Plugin](https://github.com/walder/Skynet-IADS) to the created dcs mission if the user enables the plugin in the campaign settings. This plugin is enabled by default in Liberation V6.0 as it is heavily integrated into the Liberation system which created the IADS Network. Skynet allows to set specific options for SAM Systems which can be overwritten in the unit.yaml for the Search Radar of the SAM Systems. Which SAM Systems are supported by Skynet and which Search Radar is used for wich SAM system can be found in this file: [skynet-iads-supported-types.lua](https://github.com/walder/Skynet-IADS/blob/develop/skynet-iads-source/skynet-iads-supported-types.lua) To overwrite specific skynet properties the following options can be set in the unit.yaml of the Search Radar (Patriot SR as example): + ```yaml class: SearchRadar price: 22 @@ -498,17 +480,17 @@ skynet_properties: # Override skynet default properties engagement_zone: SkynetIADSAbstractRadarElement.GO_LIVE_WHEN_IN_KILL_ZONE # https://github.com/walder/Skynet-IADS/tree/develop#engagement-zone autonomous_behaviour: SkynetIADSAbstractRadarElement.AUTONOMOUS_STATE_DCS_AI # https://github.com/walder/Skynet-IADS/tree/develop#autonomous-mode-behaviour ``` + Documentation about each setting can be found at the Skynet GitHub page which is linked above. #### Anti Air GroundObjects + SAM locations are split into four types: long range, medium range, short range, and AAA. Each type of position will prefer to be filled by its exact type, but if the faction has no air defenses of that type available the generator will continue to downgrade the site until it finds a match. For example, a medium range SAM may be used in place of a long range SAM. _Upgrades_ are not allowed. Note that the exact type of SAM or EWR that will be placed depends on the faction definition (SAM/EWR generators). However, when designing a campaign with specific factions in mind (such as Syria defending on the Syria map), this allows the designer to see the coverage of the SAMs used by the intended faction. This way the designer can be sure that sufficient coverage will be present in the campaign when a faction using a specific type of SAM is used. -_New with DCS Liberation 6.0:_\ The heading set for the unit placed in the mission will be maintained in the generated mission if the heading is not 0. If the heading is 0 then Liberation will calculate the heading during campaign generation so that the group will head directly to the center of the conflict. This allows the campaign designer to fine tune the orientation of the SAM System or EWR to the campaign needs. - #### Early Warning Radars To define an EWR location, place a CJTF Red EWR 1L13. From 239207896d813f705adf69f0c303a72364493bdb Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Mon, 17 Apr 2023 21:37:42 -0700 Subject: [PATCH 691/704] Updated Squadrons and pilots (markdown) --- Squadrons-and-pilots.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Squadrons-and-pilots.md b/Squadrons-and-pilots.md index e11adeb..9bc48ba 100644 --- a/Squadrons-and-pilots.md +++ b/Squadrons-and-pilots.md @@ -117,6 +117,8 @@ The `role` field is currently non-functional. The `role` field will later be sho The `mission_types` field determines which mission types to assign to the squadron. The spelling of each entry in `mission_types` should match the spelling of the mission that is used in the Liberation UI. If the squadron specifies a mission type that the aircraft is not capable of, an error will be emitted in the log and the incompatible mission type will not be used for the squadron. +Note: The `mission_types` field is no longer used as of DCS Liberation 7. All squadrons will be capable of all mission types the airframe is capable of, and the auto-assignable mission types are defined by the campaign. + The `livery` field, if set, will be the livery used by all aircraft of this squadron. Default liveries included in DCS should match the quoted portion of the livery name in https://github.com/pydcs/dcs/blob/master/dcs/planes.py. For example, the name for the HAF 330 Thunder livery for a Greek F-16 is `HAF_ 330_Thunder` **Note:** You can also use any custom liveries that you have downloaded to your Saved Games folder. In this case, the `livery` field should match the folder name (NOT the file name) of your selected livery. From 065c20ec200412e123f15863cca2829762436006 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Mon, 17 Apr 2023 23:42:11 -0700 Subject: [PATCH 692/704] Updated Custom Factions (markdown) --- Custom-Factions.md | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/Custom-Factions.md b/Custom-Factions.md index 9394b04..ecba964 100644 --- a/Custom-Factions.md +++ b/Custom-Factions.md @@ -3,25 +3,22 @@ Frustrated that your home country is not a possible choice in DCS Liberation, or annoyed that an aircraft is missing in your favorite faction? Good news, you can now mod factions in liberation! -And these custom factions can be created easily with a text editor as a json file. +And these custom factions can be created easily with a text editor as a yaml or json file (prefer yaml for new factions). You can find the default factions included in Liberation in the **\resources\factions\\** folder within the Liberation install directory. If you have created your own custom faction files and wish to place them in a more permanent location, you have the option of placing them instead in the DCS folder itself, by creating a folder call "Factions" (Liberation will read faction files from either location). This would be the same location that is listed as your "DCS Saved Game Directory" under File > Preferences in Liberation. As an example, if you are running Openbeta, it would likely be **C:\users\\\\\Saved Games\DCS.openbeta\Liberation\Factions\\**. ![](https://imgur.com/hiqrYEh.png) -Then restart DCS Liberation to have the faction loaded. +Note that until DCS Liberation 7, you will need to restart Liberation for new or updated factions to be detected. If there is no error, your custom faction will appear in the New Game Wizard. Please note that factions saved in your DCS saved games folder will appear at the bottom of the list and not in alphabetical order. -If there is an error with the file it will not appear, please check the content of the console output, it might contain hints about the error. First, please verify the json syntax is valid. +If there is an error with the file it will not appear, please check the content of the console output, it might contain hints about the error. First, please verify the yanl/json syntax is valid. # File format -**The file format changed with DCS Liberation 6.0**\ -For Version 5.1.X you can find the documentation here [Custom Factions](https://github.com/dcs-liberation/dcs_liberation/wiki/Custom-Factions/591260356de497450fce073bb5baf20c035a768e) - -This json file should contain a json object, with the following parameters : +This yaml or json file should contain the following fields: * **country** : The country to be used in DCS. Careful, if it is not a valid country name in DCS, the mission generation will not work. * **name** : Name of the faction in DCS Liberation UI @@ -46,7 +43,7 @@ This json file should contain a json object, with the following parameters : * **liveries_overrides** : List of aircraft and liveries to set. It is possible to have multiple liveries for aircraft, and Liberation will pick one out of the list randomly. The livery must be available to the country set in order to appear. If the livery doesn't show up in Mission Editor for that country, it won't show up in your Liberation mission either. The name of the livery can be found in its description.lua (if it's not there, then use the exact name of the livery's folder). * **unrestricted_satnav** : Enable this option to allow unrestricted SATNAV in the mission. This will allow the use of GPS by non-US countries, e.g. non-US F/A-18s will be able to use GPS for alignment. This value is optional and may be either `true` or `false`. If not set this defaults to `false`. -**Note :** +**Note:** *I highly recommend you look at the default files provided in DCS Liberation for examples.* All parameters have default values, so you do not have to set them all up necessarily. @@ -57,11 +54,7 @@ It is recommended, that your faction has access to all unit types, e.g. at least ## Aircraft, ground unit und naval names -**New in DCS Liberation 4.0** - -_Since DCS Liberation 6.0 this also includes naval units_ - -Ground, naval and air units are now named by the name of the unit in Liberation rather than the name in DCS. This was done so DCS updates no longer break custom factions. Previously, if ED improved the name of a unit in DCS it would require an update to custom factions. Instead the faction files now use the Liberation names so we can prevent breakages from occurring. +Ground, naval, and air units in the faction file use the name of the unit in Liberation rather than the name in DCS. The names used are taken from the `variants` section of the unit info files in the `resources/units` directory. For example, `units/aircraft/FA-18C_hornet.yaml` contains the following: @@ -78,9 +71,7 @@ Ground units use the same format, but are located in `resources/units/ground_uni ## Preset Groups -**New in DCS Liberation 6.0** - -With Liberation 6.0 the ground objects were reworked and the generators were migrated to a layout system. Therefore it is not necassary to define generators in the faction file. Instead you can now define so called Preset Groups in the Faction file. All available preset groups are located in `resources/groups`. They can be added to the faction by adding the name from the preset group in the list `preset_groups`. All units from the preset group will then be available to the faction. A more detailed description of the preset groups and the new layout system can be found in the corresponding wiki page. +Ground and naval objectives (as opposed to front-line units) are defined using preset groups.. All available preset groups are located in `resources/groups`. They can be added to the faction by adding the name from the preset group in the list `preset_groups`. All units from the preset group will then be available to the faction. A more detailed description of the preset groups and the new layout system can be found in the corresponding wiki page. ```yaml name: Patriot # This name will be placed in the faction json @@ -202,6 +193,8 @@ Below is an example of a factions file : ## Annex - Possible Aircraft +Warning: this list is probably incomplete and wrong. It is not kept up to date when Liberation changes. If you want the truth you have to look at the YAML files shipped with the version of Liberation you're using. + * *A-4E Skyhawk* * *A-10A Thunderbolt II* * *A-10C Thunderbolt II (Suite 7)* From d677d4f6aaabe2f23ea098cbe175127a707e36b4 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Mon, 17 Apr 2023 23:53:36 -0700 Subject: [PATCH 693/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index 89a9a8c..cbb798b 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -27,8 +27,8 @@ This YAML file defines the following fields (unless otherwise stated, fields are Note that this field is **not** the DCS Liberation version, but the version of the campaign file format. The latest version is defined by `CAMPAIGN_FORMAT_VERSION` in [game/version.py](https://github.com/dcs-liberation/dcs_liberation/blob/develop/game/version.py). See the top of this guide for the format version appropriate for current releases of Liberation. If `version` is not set or is `"0"`, the campaign is from an unknown version of the game and will be marked as incompatible in the new game wizard. -* `recommended_player_faction`: (Optional) The recommended player faction (will be automatically selected by default on the faction selection page) -* `recommended_enemy_faction`: (Optional) The recommended enemy faction (will be automatically selected by default on the faction selection page) +* `recommended_player_faction`: (Optional) The recommended player faction (will be automatically selected by default on the faction selection page). As of campaign version 10.6 this can also include an in-line definition of a campaign-specific faction. See [Operation Allied Sword](https://github.com/dcs-liberation/dcs_liberation/blob/dca256364aa677cdea2e73bf0701acbb6bf6f17e/resources/campaigns/operation_allied_sword.yaml#L5) for an example. +* `recommended_enemy_faction`: (Optional) The recommended enemy faction (will be automatically selected by default on the faction selection page). As with the player faction, this can also be an in-line definition of a campaign-specific faction. * `recommended_start_date`: (Optional) The recommended start date for the campaign in YYYY-MM-DD format. This field can optionally include a start time to set the time for turn 1. E.g. `2004-01-07 06:00:00`. If the time is omitted, the campaign will start at a random hour in the middle of the day. * `recommended_player_money`: (Optional) The recommended player budget as integer. Default=2000. * `recommended_enemy_money`: (Optional) The recommended enemy budget as integer. Default=2000. From e44aa20a90e52cdd31a8d348c8e0d3bcb36f78d6 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sat, 22 Apr 2023 10:46:56 -0700 Subject: [PATCH 694/704] Updated Auto purchase options (markdown) --- Auto-purchase-options.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Auto-purchase-options.md b/Auto-purchase-options.md index 6e2de6c..bca2242 100644 --- a/Auto-purchase-options.md +++ b/Auto-purchase-options.md @@ -24,9 +24,9 @@ Reinforcements will first be purchased at control points with active front lines Any remaining budget will be used to purchase aircraft. -Aircraft will be purchased to fulfill any missions that could not be planned due to lack of aircraft. This occurs in the order specified by the mission planner. The best aircraft for the job will be purchased, with a random change of making a suboptimal decision to maintain unit variety. The preferences for each task type are defined in https://github.com/dcs-liberation/dcs_liberation/blob/develop/game/ato/ai_flight_planner_db.py. +Aircraft will be purchased to fulfill any missions that could not be planned due to lack of aircraft. This occurs in the order specified by the mission planner. The best aircraft for the job will be purchased. The preferences for each task type are defined in https://github.com/dcs-liberation/dcs_liberation/blob/develop/game/ato/ai_flight_planner_db.py. -When attempting to fulfill an order for a mission, the purchase will be attempted at the airfield in range if the target, with parking available, closest to the mission target. Airbases outside the enemy's threat zone will be preferred. This will result in more regular, safer, albeit longer flight plans. +When attempting to fulfill an order for a mission, the purchase will be attempted at the airfield in range of the target, with parking available, closest to the mission target. Airbases outside the enemy's threat zone will be preferred. This will result in more regular, safer, albeit longer flight plans. Aircraft are selected to fit the unfulfilled missions. Liberation maintains a preferred list of aircraft for each mission type as well as a list of all capable aircraft. A random selection will be made from the preferred list first, but if empty or too expensive the capable list will be used. From f96480010faff160348192c960429efb00ba9efe Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Thu, 4 May 2023 18:21:58 -0700 Subject: [PATCH 695/704] Document aircraft modding changes in 7. --- Modded-Aircraft-Support.md | 53 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 51 insertions(+), 2 deletions(-) diff --git a/Modded-Aircraft-Support.md b/Modded-Aircraft-Support.md index 337ad55..1cb9dc6 100644 --- a/Modded-Aircraft-Support.md +++ b/Modded-Aircraft-Support.md @@ -141,11 +141,60 @@ For campaign start setup and mod settings support, add your plane to the files [ modLayout.addWidget(frenchpack, 6, 1) ``` -## Step 3 : Liberation flight planner database setup : +## Step 3 : Liberation flight planner database setup: + +### DCS Liberation 7 + +The aircraft preferences per task are kept in each aircraft's yaml file in `resources/units/aircraft/*.yaml`. Each task is assigned a weight describing the aircraft's relative strength at the given task. Aircraft with a higher weight for a given task will be preferred over those with a lower weight. If a task is omitted from the yaml file, the aircraft will not be capable of performing that mission type. For example: + +```yaml +# From FA-18C_hornet.yaml +tasks: + Anti-ship: 150 + BAI: 740 + BARCAP: 450 + CAS: 740 + DEAD: 440 + Escort: 450 + Fighter sweep: 450 + Intercept: 450 + OCA/Aircraft: 740 + OCA/Runway: 600 + SEAD: 160 + SEAD Escort: 160 + Strike: 600 + TARCAP: 450 +``` + +```yaml +# From F-16C_50.yaml +tasks: + BAI: 750 + BARCAP: 460 + CAS: 750 + DEAD: 450 + Escort: 460 + Fighter sweep: 460 + Intercept: 460 + OCA/Aircraft: 750 + OCA/Runway: 610 + SEAD: 170 + SEAD Escort: 170 + Strike: 610 + TARCAP: 460 +``` + +The hornet has a BAI weight of 740 while the viper has a BAI weight of 750. Liberation will prefer choosing vipers to hornets when deciding which aircraft is better suited to BAI. + +Aircraft can have identical weights for a task. When multiple aircraft have the same weight for a task, they are treated as equal by Liberation. Selection criteria vary by many factors; one may be chosen randomly from the set of equal aircraft, one may be chosen arbitrarily, or a different but similar aircraft may be chosen. **These weights are only guidelines.** Use them to give Liberation hints about which aircraft are better at each task. + +For an overview of all tasks and weights in Liberation, run `dcs_liberation.exe dump-task-priorities` (from the command line). That will dump `Liberation/Debug/priorities.yaml` to your DCS Saved Games directory. + +### DCS Liberation 6 Open [ai_flight_planner_db.py](https://github.com/dcs-liberation/dcs_liberation/blob/develop/gen/flights/ai_flight_planner_db.py) -Add your plane to the lists it needs to be in, so DCS Liberation is aware of its capabilities : +Add your plane to the lists it needs to be in, so DCS Liberation is aware of its capabilities. **These lists are in priority order**: **Example:** From 9bea39c1263d1594b9ad5cb590889b3bc93420f5 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Thu, 11 May 2023 00:10:48 -0700 Subject: [PATCH 696/704] Updated _Sidebar (markdown) --- _Sidebar.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_Sidebar.md b/_Sidebar.md index 87d7df9..39aaf51 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -47,7 +47,7 @@ [Custom factions](Custom-Factions) -[Layouts (WIP)](Layouts-(WIP)) +[Layouts (WIP)](https://dcs-liberation.readthedocs.io/en/latest/modding/layouts.html) [Lua Plugins](Lua-Plugins) From 2a47023173cedb98efaec98814e89c470a03c84a Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Thu, 11 May 2023 00:12:05 -0700 Subject: [PATCH 697/704] Updated Layouts (WIP) (markdown) --- Layouts-(WIP).md | 177 +---------------------------------------------- 1 file changed, 1 insertion(+), 176 deletions(-) diff --git a/Layouts-(WIP).md b/Layouts-(WIP).md index d9af64a..ee2d5d3 100644 --- a/Layouts-(WIP).md +++ b/Layouts-(WIP).md @@ -1,176 +1 @@ -# The Layout System - -**New with DCS Liberation 6.0** - -**Note: The documentation of the layout system is still WIP and not complete as the development of this feature involves a major refactoring of the base code. Therefore this documentation is currently used for development purpose primarly. The documentation will be updated soon. Any help in updating this wiki page is appreciated!** - - -The Layout System is a new way of defining how ground objects like SAM Sites or other Vehicle / Ship Groups will be generated (which type of units, how many units, alignment and orientation). It is a complete rework of the previous generator-based logic which was written in python code. The new system allows to define layouts with easy to write yaml code and the use of the DCS Mission Editor for easier placement of the units. The layout system also introduced a new logical grouping of Units and layouts for them, the Armed Forces, which will allow major improvements to the Ground Warfare in upcoming features. - -**Armed Forces**\ -The Armed Forces is a new system introduced with the layout system which will allow to identitfy and group possible units from the faction together with available layouts for these groups. It is comparable to the AirWing and Squadron implementation but just for Ground and Naval Forces. All possible Force Groups (grouping of 1 or more units and and the available layouts for them) will be generated during campaign initialization and will be used later by many different systems. A Force Group can also include static objects which was not possible before the introduction of the layout system. It is also possible to define presets of these Force Groups within the faction file which is handy for more complex groups like a SA-10 Battery or similar. Example: [SA-10/S-300PS](/dcs-liberation/dcs_liberation/blob/develop/resources/groups/SA-10.yaml) which includes all the units like SR, TR, LN and has the layout of a [S-300 Battery](/dcs-liberation/dcs_liberation/blob/develop/resources/layouts/anti_air/S-300_Site.yaml) - -**The Layout System**\ -In the previous system the generator which created the ground object was written in python which made modifications and reusability very complicated. To allow easier handling of the layouts and decoupling of alignment of units and the actual unit type (for example Ural-375) the layout system was introduced. Previously we had a generator for every different SAM Site, now we can just reuse the alignemnt (e.g. 6 Launchers in a circle alignment) for multiple SAM Systems and introduce more variety. - -This new System allows Users and Designers to easily create or modify layouts as the new alginment and orientation of units is defined with the DCS Mission editor. An additional .yaml file allows the configuration of the layout with settings like allow unit types or random amounts of units. In total the new system reduces the complexity and allows to precisely align / orient units as needed and create realistic looking ground units. - -As the whole ground unit generation and handling was reworked it is now also possible to add static units to a ground object, so even Fortifcation or similar can be added to templates in the future. - -### General Concept - - -![Overview](/dcs-liberation/dcs_liberation/blob/develop/doc/layouts/layouts.png) - - -All possible Force Groups will be generated during campaign initialization by checking all possible units for the specific faction and all available layouts. The code will automatically match general layouts with available units. It is also possible to define preset groups within the faction files which group many units and the prefered layouts for the group. This is especially handy for unique layouts which are not defined as `global`. For example complex sam sites like the S-300 or Patriot which have very specific alignment of the different units. - -Layouts will be matched to units based on the special definition given in the corresponding yaml file. For example a layout which is defined as global and allows the unit_class SHORAD will automatically be used for all available SHORAD units which are defined in the faction file. - -TODO Describe the optional flag. - -All these generated ForceGroups will be managed by the ArmedForces class of the specific coalition. This class will be used by other parts of the system like the start_generator or the BuyMenu. The ArmedForces class will then generate the TheaterGroundObject which will be used by liberation. - -Example for a customized Ground Object Buy Menu which makes use of Templates and UnitGroups: - -![ground_object_buy_menu.png](/dcs-liberation/dcs_liberation/blob/develop/doc/layouts/ground_object_buy_menu.png) - - -## How to modify or add layouts - -A layout consists of two special files: - -- layout.miz which defines the actual positioning and alignment of the groups / units -- layout.yaml which defines the necessary information like amount of units, possible types or classes. - -To add a new template a new yaml has to be created as every yaml can only define exact one template. Best practice is to copy paste an existing template which is similar to the one to be created as starting point. The next step is to create a new .miz file and align Units and statics to the wishes. Even if existing ones can be reused, best practice is to always create a fresh one to prevent side effects. -The most important part is to use a new Group for every different Unit Type. It is not possible to mix Unit Types in one group within a template. For example it is not possible to have a logistic truck and a AAA in the same group. The miz file will only be used to get the exact position and orientation of the units, therefore it is irrelevant which type of unit will be used. The unit type will be later defined inside the yaml file. -For the next step all Group names have to be added to the yaml file. Take care to that these names match exactly! Assign the unit_types or unit_classes properties to math the needs. - -**Important**: Whenever changes were made to layouts they have to be re-imported into Liberation. See [Import Layouts](#import-layouts-into-liberation). - - -### The Layout miz - -The miz file is used to define the positioning and orientation of the different units for the template. The actual unit which is used is irrelevant. It is important to use a unique and meaningful name for the groups as this will be used in the yaml file as well. The information which will be extracted from the miz file are just the coordinates and heading of the units. - -*Important*: Every different unit type has to be in a separate Group for the template to work. You can not add units of different types to the same group. They can get merged back together during generation by setting the group property. In the example below both groups `AAA Site 0` and `AAA Site 1` have the group = 1 which means that they will be in the same dcs group during generation. - -*Important*: Liberation expects every template to be designed with an orientation of heading 0 (North) in mind. The complete GroundObject will during the campaign generation process be rotated to match the orientation defined by the campaign designer. If the layout was not created with an orientation of heading 0 the later generated GroundObject will likely be misaligned and not work properly. - -TODO max amount of possible units is defined from the miz. Example if later the group should have 6 units than there have to be 6 defined in the miz. - -![template_miz_example.png](/dcs-liberation/dcs_liberation/blob/develop/doc/layouts/layout_miz_example.png) - -### The Layout configuration file - -TODO Description about the layout yaml file.\ - -Possible Information: - -| Property | Type | Required | Description | Example | -|---------------|-----------------------|----------|----------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------| -| Name | (str) | Yes | A name to identify the template | `name: Armor Group` | -| Tasks | (list of GroupTask) | Yes | A list of tasks which the template can fullfill | `tasks: - AAA - SHORAD` | -| Generic | (bool, default False) | No | If this is true this template will be used to create general unitGroups | | -| Description | (str) | No | Short description of the template | | -| Groups | (list of Groups) | Yes | see below for definition of a group | | -| layout_file | (str) | No | the .miz file which has the groups / units of the layout included. Only needed if the file has a different name than the yaml file | `layout_file: resources/layouts/naval/legacy_naval_templates.miz` | - -TODO Group and SubGroup - -A group has 1..N sub groups. The name of the Group will be used later within the DCS group name. - -All SubGroups will be merged into one DCS Group - -Every unit type has to be defined as a sub group as following: - -| Property | Type | Required | Description | Example | -|--------------|------------------------|----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------| -| name | (str) | Yes | The group name used in the .miz. Must match exactly! | | -| optional | (bool, default: false) | No | Defines wether the layout can be used without this group if the faction has no access to the unit type or the user wants to disable this group | | -| fill | (bool, default: true) | No | If the group is optional the layout is used from a PresetGroup this property tells the system if it should use any possible faction accessible unit to fill up this slot if no capable one was defined in the preset yaml. | | -| unit_count | (list of int) | No | Amount of units to be generated for this group. Can be fixed or a range where it will be picked randomly | | -| unit_types | (list dcs unit types) | No | Specific unit_types for ground units. Complete list from pydcs: [Vehicles.py](https://github.com/pydcs/dcs/blob/master/dcs/vehicles.py). This list is extended by all supported mods! | | -| unit_classes | (list unit classes) | No | Unit_classes of supported units. Defined in [UnitClass](/dcs-liberation/dcs_liberation/blob/develop/game/data/units.py) | | -| statics | (list static types) | No | Specific unit_types of statics. Complete list from pydcs: [Statics.py](https://github.com/pydcs/dcs/blob/master/dcs/statics.py) | | - -Complete example of a generic template for an Aircraft Carrier group: - -```yaml -name: Carrier Group -generic: true -tasks: - - AircraftCarrier -groups: - - Carrier: # Group Name of the DCS Group - - name: Carrier Group 0 # Sub Group used in the layout.miz - unit_count: - - 1 - unit_classes: - - AircraftCarrier - - Escort: # Group name of the 2nd Group - - name: Carrier Group 1 - unit_count: - - 4 - unit_classes: - - Destroyer -layout_file: resources/layouts/naval/legacy_naval_templates.miz -``` - -### Import Layouts into Liberation -For performance improvements all layouts are serialized to a so called pickle file inside the save folder defined in the liberation preferences. Every time changes are made to the layouts this file has to be recreated. It can be recreated by either deleting the layouts.p file manually or using the special option in the Liberation Toolbar (Developer Tools -> Import Layouts). It will also be recreated after each Liberation update as it will check the Version Number and recreate it when changes are recognized. - - -## Migration from Generators -The previous generators were migrated using a script which build a group using the generator. All of these groups were save into one .miz file [original_generator_layouts.miz](/dcs-liberation/dcs_liberation/blob/develop/resources/layouts/original_generator_layouts.miz). -This miz file can be used to verify the templates and to generalize similar templates to decouple the layout from the actual units. As this is a time-consuming and sphisticated task this will be done over time. -With the first step the technical requirements will be fulfilled so that the generalization can happen afterwards the technical pr gets merged. - - -### Updates for Factions - -With the rework there were also some changes to the faction file definitions. Older faction files can not be loaded anymore and have to be adopted to the new changes. -During migration all default factions were automatically updated, so they will work out of the box. - -You can find more detailed information about how to customize the faction file in [Custom Faction](Custom-Factions) - -What was changed: -- Removed the `ewrs` list. All EWRs are now defined in the list "air_defense_units". -- Added the `air_defense_units` list. All units with the Role AntiAir can be defined here as [GroundUnitType](/dcs-liberation/dcs_liberation/blob/develop/game/dcs/groundunittype.py). All possible units are defined in [/dcs-liberation/dcs_liberation/blob/develop/resources/units/ground_units](/dcs-liberation/dcs_liberation/blob/develop/resources/units/ground_units) -- Added `preset_groups`. This list allows to define Preset Groups (described above) like SAM Systems consisting of Launcher, SR, TR and so on instead of adding them each to "air_defense_units". The presets are defined in [/dcs-liberation/dcs_liberation/blob/develop/resources/groups](/dcs-liberation/dcs_liberation/blob/develop/resources/groups) -- Migrated `air_defenses` to air_defense_units and preset_sets. -- `Missiles` are migrated to GroundUnitTypes instead of Generator names (see air_defense_units for how to use) -- Removed `cruisers`, `destroyers` and `naval_generators`. Migrated them to naval_units and preset_groups -- added `naval_units` with the correct ship name found here [resources/units/ships](/dcs-liberation/dcs_liberation/blob/develop/resources/units/ships) -- `aircraft_carrier` and `helicopter_carrier` were moved to `naval_units` as well. - -## Preset Groups - -Instead of adding the exact name of the previous generator to add complex groups like SAM sites or similar to the faction it is now possible to add preset groups to the faction file. As described earlier such a preset group (Force Group) can be defined very easy with a yaml file. This file allows to define the name, tasking, units, statics and the prefered layouts. The first task defines the primary role of the ForceGroup which gets generated from the preset. - -Example: - -```yaml -name: SA-10/S-300PS # The name of the group -tasks: # Define at least 1 task - - LORAD # The task(s) the Group can fulfill -units: # Define at least 1 unit - - SAM SA-10 S-300 "Grumble" Clam Shell SR - - SAM SA-10 S-300 "Grumble" Big Bird SR - - SAM SA-10 S-300 "Grumble" C2 - - SAM SA-10 S-300 "Grumble" Flap Lid TR - - SAM SA-10 S-300 "Grumble" TEL D - - SAM SA-10 S-300 "Grumble" TEL C -statics: # Optional - - # Add some statics here -layouts: # Define at least one layout - - S-300 Site # prefered layouts for these groups - ``` - -Resources: -- A list of all available preset groups can be found here: [/resources/groups](/dcs-liberation/dcs_liberation/blob/develop/resources/groups) -- All possible tasks can be found in the [/game/data/groups.py](/dcs-liberation/dcs_liberation/blob/develop/game/data/groups.py) -- Units are defined with the variant name found in [/resources/units](/dcs-liberation/dcs_liberation/blob/develop/resources/units) - - +Moved to https://dcs-liberation.readthedocs.io/en/latest/modding/layouts.html \ No newline at end of file From 5089421dccb12bb9bb210c0823ec31f8c7a1341c Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Thu, 18 May 2023 22:32:13 -0700 Subject: [PATCH 698/704] Updated Preview builds (markdown) --- Preview-builds.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Preview-builds.md b/Preview-builds.md index 47159d3..4834eb8 100644 --- a/Preview-builds.md +++ b/Preview-builds.md @@ -2,4 +2,4 @@ The latest build of the development branch can be found [here](https://github.co **This is a development branch. Sometimes we break things, and plenty of things will be works in progress. Save games may not work across builds, and you should back up any save games you don't want to lose before loading them with a development build.** -The latest builds of the 6.1 release can be found [here](https://github.com/dcs-liberation/dcs_liberation/actions/workflows/build.yml?query=branch%3Adevelop-6.1+event%3Apush). Saves from 6.x are compatible. However, check the date of the build before downloading, as the build on this page may be older than the released version. \ No newline at end of file +The latest builds of the 7.0 release can be found [here](https://github.com/dcs-liberation/dcs_liberation/actions/workflows/build.yml?query=branch%3Adevelop-7.0+event%3Apush). Saves from 6.x are not compatible, and 7.x saves may still break before 7.0.0 is released. However, check the date of the build before downloading, as the build on this page may be older than the released version. \ No newline at end of file From 54fec4af0a09636757f50de8a44b7d03947e2cc8 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Wed, 31 May 2023 00:00:53 -0700 Subject: [PATCH 699/704] Updated Preview builds (markdown) --- Preview-builds.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Preview-builds.md b/Preview-builds.md index 4834eb8..338155d 100644 --- a/Preview-builds.md +++ b/Preview-builds.md @@ -2,4 +2,4 @@ The latest build of the development branch can be found [here](https://github.co **This is a development branch. Sometimes we break things, and plenty of things will be works in progress. Save games may not work across builds, and you should back up any save games you don't want to lose before loading them with a development build.** -The latest builds of the 7.0 release can be found [here](https://github.com/dcs-liberation/dcs_liberation/actions/workflows/build.yml?query=branch%3Adevelop-7.0+event%3Apush). Saves from 6.x are not compatible, and 7.x saves may still break before 7.0.0 is released. However, check the date of the build before downloading, as the build on this page may be older than the released version. \ No newline at end of file +The latest builds of the 7.1 release can be found [here](https://github.com/dcs-liberation/dcs_liberation/actions/workflows/build.yml?query=branch%3Adevelop-7.1+event%3Apush). Saves from 6.x are not compatible, but saves from 7.0.0 are. However, check the date of the build before downloading, as the build on this page may be older than the released version. \ No newline at end of file From 65fecf323cfe1a5a9aaef0008230281f7d9685fb Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Wed, 31 May 2023 00:02:00 -0700 Subject: [PATCH 700/704] Updated Preview builds (markdown) --- Preview-builds.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Preview-builds.md b/Preview-builds.md index 338155d..16005e9 100644 --- a/Preview-builds.md +++ b/Preview-builds.md @@ -2,4 +2,4 @@ The latest build of the development branch can be found [here](https://github.co **This is a development branch. Sometimes we break things, and plenty of things will be works in progress. Save games may not work across builds, and you should back up any save games you don't want to lose before loading them with a development build.** -The latest builds of the 7.1 release can be found [here](https://github.com/dcs-liberation/dcs_liberation/actions/workflows/build.yml?query=branch%3Adevelop-7.1+event%3Apush). Saves from 6.x are not compatible, but saves from 7.0.0 are. However, check the date of the build before downloading, as the build on this page may be older than the released version. \ No newline at end of file +The latest builds of the 7.1 release can be found [here](https://github.com/dcs-liberation/dcs_liberation/actions/workflows/build.yml?query=branch%3Adevelop-7.1+event%3Apush). Saves from 6.x are not compatible, but saves from 7.0.0 are (if you find they aren't, please file a bug!). However, check the date of the build before downloading, as the build on this page may be older than the released version. \ No newline at end of file From 4c03f559fd6a271fcdb0588025a44cfbf94d5e52 Mon Sep 17 00:00:00 2001 From: Emdub01 <135866057+Emdub01@users.noreply.github.com> Date: Fri, 9 Jun 2023 14:18:14 -0500 Subject: [PATCH 701/704] Corrected "extract" to "insert" in the verbiage of the first line in Air Assault. --- Mission-planning.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Mission-planning.md b/Mission-planning.md index 9307753..32f5cea 100644 --- a/Mission-planning.md +++ b/Mission-planning.md @@ -37,7 +37,7 @@ A split point is added after the egress point. This is where flights will split Below is a list of all the currently available task types for flights. More will be added in future updates. Subscribe to [Issue 277](https://github.com/dcs-liberation/dcs_liberation/issues/277) for updates. ### Air Assault -An Air Assault mission is a special helo mission which can be planned against enemy control points to extract troops and capture the point. The flights will fly to the pickup point to load troops and continue to the drop off location where they will extract the units. The units will then head to the center of the Zone created by the Assault Waypoint. It is important that the drop off waypoint is within the boundary of this assault waypoint zone. Otherwise the troops will not head to the target zone. When this mission is tasked from a carrier then there will be no pick up needed as the troops can be loaded directly from the deck of the carrier. +An Air Assault mission is a special helo mission which can be planned against enemy control points to insert troops and capture the point. The flights will fly to the pickup point to load troops and continue to the drop off location where they will extract the units. The units will then head to the center of the Zone created by the Assault Waypoint. It is important that the drop off waypoint is within the boundary of this assault waypoint zone. Otherwise the troops will not head to the target zone. When this mission is tasked from a carrier then there will be no pick up needed as the troops can be loaded directly from the deck of the carrier. This mission type is only available when the CTLD plugin is enabled as it is required for the troop loading and extracting. From abdd2d4047cfd1e4b29c44233d9ed2dffb87dffc Mon Sep 17 00:00:00 2001 From: Emdub01 <135866057+Emdub01@users.noreply.github.com> Date: Fri, 9 Jun 2023 14:19:02 -0500 Subject: [PATCH 702/704] Updated Mission planning (markdown) --- Mission-planning.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Mission-planning.md b/Mission-planning.md index 32f5cea..0ba8083 100644 --- a/Mission-planning.md +++ b/Mission-planning.md @@ -37,7 +37,7 @@ A split point is added after the egress point. This is where flights will split Below is a list of all the currently available task types for flights. More will be added in future updates. Subscribe to [Issue 277](https://github.com/dcs-liberation/dcs_liberation/issues/277) for updates. ### Air Assault -An Air Assault mission is a special helo mission which can be planned against enemy control points to insert troops and capture the point. The flights will fly to the pickup point to load troops and continue to the drop off location where they will extract the units. The units will then head to the center of the Zone created by the Assault Waypoint. It is important that the drop off waypoint is within the boundary of this assault waypoint zone. Otherwise the troops will not head to the target zone. When this mission is tasked from a carrier then there will be no pick up needed as the troops can be loaded directly from the deck of the carrier. +An Air Assault mission is a special helo mission which can be planned against enemy control points to insert troops and capture the point. The flights will fly to the pickup point to load troops and continue to the drop off location where they will insert the units. The units will then head to the center of the Zone created by the Assault Waypoint. It is important that the drop off waypoint is within the boundary of this assault waypoint zone. Otherwise the troops will not head to the target zone. When this mission is tasked from a carrier then there will be no pick up needed as the troops can be loaded directly from the deck of the carrier. This mission type is only available when the CTLD plugin is enabled as it is required for the troop loading and extracting. From 6bed2be1ad4b95297d57b88931a8ef18f16d75ad Mon Sep 17 00:00:00 2001 From: Starfire13 <72491792+Starfire13@users.noreply.github.com> Date: Tue, 13 Jun 2023 08:58:40 +1000 Subject: [PATCH 703/704] Updated Custom campaigns (markdown) --- Custom-campaigns.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Custom-campaigns.md b/Custom-campaigns.md index cbb798b..49c6edd 100644 --- a/Custom-campaigns.md +++ b/Custom-campaigns.md @@ -1,4 +1,4 @@ -**For DCS Liberation 6.0 the campaign version is 10.5.** +**Please see [version.py](https://github.com/dcs-liberation/dcs_liberation/blob/develop/game/version.py) for the correct campaign version number when creating/updating campaigns.** Campaigns in DCS Liberation can be modified using the mission editor. Each campaign is defined by a YAML file to provide metadata, and a DCS mission file (`.miz` file) to set up the theater. From 29eeb0fd65dd77942ff51e228ff9ffa6cc30bbcd Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 16 Jun 2023 22:28:00 -0700 Subject: [PATCH 704/704] Updated Preview builds (markdown) --- Preview-builds.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Preview-builds.md b/Preview-builds.md index 16005e9..f1d4266 100644 --- a/Preview-builds.md +++ b/Preview-builds.md @@ -2,4 +2,4 @@ The latest build of the development branch can be found [here](https://github.co **This is a development branch. Sometimes we break things, and plenty of things will be works in progress. Save games may not work across builds, and you should back up any save games you don't want to lose before loading them with a development build.** -The latest builds of the 7.1 release can be found [here](https://github.com/dcs-liberation/dcs_liberation/actions/workflows/build.yml?query=branch%3Adevelop-7.1+event%3Apush). Saves from 6.x are not compatible, but saves from 7.0.0 are (if you find they aren't, please file a bug!). However, check the date of the build before downloading, as the build on this page may be older than the released version. \ No newline at end of file +The latest builds of the 8.0 release can be found [here](https://github.com/dcs-liberation/dcs_liberation/actions/workflows/build.yml?query=branch%3Adevelop+event%3Apush). Saves from 7.x are not compatible. However, check the date of the build before downloading, as the build on this page may be older than the released version. \ No newline at end of file