SnappyComebacks bb1a066ff7
Let map objects be Strike targets.
This PR allows campaign creators to incorporate map objects (referred to as Scenery in the code) into their Liberation campaign.

Map objects are defined using white trigger zones created by right clicking on scenery and clicking `assign as...`.   Objective groups are defined by creating a blue TriggerZone surrounding the centers of the white trigger zones.  The type of objective is determined by the campaign creator, assigning the value of the first property of the blue TriggerZone with the objective type.

Map objects maintain their visually dead state by assigning a `Mission Start` `Scenery Object Dead` trigger to the trigger zone.  It is important for the Liberation generated TriggerZone to be as small as possible so that no other scenery is marked dead by DCS.

TriggerZones are hidden during gameplay (DCS behavior.  I don't know if it's possible to turn that off.)  TriggerZones are visible in the mission editor and mission planner however.  If a player is using an older plane, it is important for them to remember where the target is.

In the mission planner, the trigger zones' will be blue or red depending on which faction the map objects belong to.

Inherent Resolve campaign has been modified to integrate scenery objects.

### **Limitations:**
- Objective definitions (Any Blue TriggerZones) in campaign definition cannot overlap.
- Map object deaths in `state.json` is tracking integers.  You won't know what died until debriefing.
- No images for the various buildings.  In theory it can be done, but an unreasonable amount of work.
- Every blue trigger zone must have a unique name.  (If you let DCS auto increment the names this is not a concern.
- No output to screen when scenery object is dead.  You can see the building drawn as dead in the F10 map though.


### **Pictures:**

An objective:
![CampaignCreation](https://user-images.githubusercontent.com/74509817/117526797-c294af00-af84-11eb-9fb7-3940db64c5d8.png)

How the objective looks once in the mission planner/editor.  This objective belongs to the enemy faction:
![MissionPlanner](https://user-images.githubusercontent.com/74509817/117526819-ece66c80-af84-11eb-9db0-64000dedcf89.png)
2021-05-14 17:18:03 -07:00
2020-10-30 13:51:18 -07:00
2021-05-14 17:18:03 -07:00
2021-05-14 17:18:03 -07:00
2021-05-07 19:13:45 -07:00
2021-04-17 02:15:49 +02:00
2020-12-19 20:57:55 +01:00
2020-12-19 11:56:13 -08:00
2020-12-12 02:31:43 +01:00
2021-05-01 11:06:01 -07:00

Logo

Patreon

Download

Discord

GitHub pull requests GitHub issues GitHub stars

About DCS Liberation

DCS Liberation is a DCS World turn based single-player or co-op dynamic campaign. It is an external program that generates full and complex DCS missions and manage a persistent combat environment.

Logo

Downloads

Latest release is available here : https://github.com/dcs-liberation/dcs_liberation/releases

To download preview builds of the next version of DCS Liberation, see https://github.com/dcs-liberation/dcs_liberation/wiki/Preview-builds.

Bugs and feature requests

If you need to report a bug or want to suggest a new feature, you can do this on our bug tracker. In either case, please use the search bar at the top of the page to see if it has already been reported. Note that you may need to remove the filter for open bugs if it's something we've recently fixed.

Roadmap

Our plans for future releases can be found on our Projects page. Each planned release has a Project, and the page for that project has columns for to do, in progress, and done. Items in the Done column are in the preview build for that release. Items in the To do column are planned to be added to that release.

Resources

Tutorials, contributors and developer's guides are available in the project's Wiki

Special Thanks

First, a big thanks to shdwp, for starting the original DCS Liberation project.

Then, DCS Liberation uses pydcs for mission generation, and nothing would be possible without this. It also uses the popular Mist lua framework for mission scripting.

Excellent lua scripts DCS Liberation uses as plugins:

  • For the JTAC feature, DCS Liberation embeds Ciribob's JTAC Autolase script.
  • Walder's Skynet-IADS is used for Integrated Air Defense System.

Please also show some support to these projects !

Description
Dynamic campaign mission generator for DCS World
Readme 386 MiB
Languages
Lua 60.2%
Python 38.3%
TypeScript 1.1%
Jinja 0.2%
CSS 0.2%