Commit Graph

351 Commits

Author SHA1 Message Date
Raffson
5896bdccc1 Fix IADS exception
Exception was caused by `skynet_nodes` trying to generate node for dead units, which would eventually be thrown by `dcs_name_for_group`
2022-11-04 19:30:11 +01:00
MetalStormGhost
b64a0f17eb F-16I mod v2.2 support (by IDF Mods Project) (#9) 2022-10-29 17:12:50 +02:00
Raffson
93328d4443 (Mod)Support for VSN A-6A Intruder v2.7.5.01
Co-Authored-By: HellAngelic <108198242+HellAngelic@users.noreply.github.com>
2022-10-27 20:36:38 +02:00
MetalStormGhost
07de598aec Enabled SEAD Escort missions to be tasked on Naval targets and OCA/Aircraft missions on FARPs. When SEAD Escorts are tasked on Naval groups, they will also target ships. 2022-10-25 19:16:21 +02:00
Raffson
a736bf9b09 "Optimize Imports" in game & qt-ui
Adjustments made by PyCharm
2022-10-24 18:54:41 +02:00
MetalStormGhost
515d28313d Support F-84G Thunderjet mod v2.5.7.01 (#8)
* Implemented support for the VSN F-84G Thunderjet version 2.5.7.01
2022-10-23 19:00:11 +02:00
Raffson
9ad92d26d4 Forgot check if advanced_iads is active 2022-10-16 14:49:13 +02:00
Dan Albert
9f3f9ad808 Don't allow helicopters at non-FARP FOBs.
Fixes https://github.com/dcs-liberation/dcs_liberation/issues/2378.
2022-10-16 12:51:18 +02:00
MetalStormGhost
04a5497f3b F-4B Phantom II mod support (#4) 2022-10-15 23:07:06 +02:00
MetalStormGhost
139e42dbed Support for the F-105 Thunderchief mod
v2.7.12.23x
2022-10-15 12:57:43 +02:00
MetalStormGhost
8c905f95e3 Implemented support for the F-100 Super Sabre mod versions v2.7.18.01 & 2.7.18.30765 and patches 30.09.22 & 09.10.22. 2022-10-15 10:55:26 +02:00
Dan Albert
7e8f734309 Load map icons directly from DCS.
If the user's DCS directory is not configured correctly this will
degrade by not showing an icon. Otherwise (and typically) we get nicer
looking icons for each theater, and we don't have to make these for each
new map.
2022-10-02 19:56:49 +02:00
MetalStormGhost
d14b964f1d Add fidelity for SIDC status of TGOs.
The new behavior is as follows for SAMs:

No damaged units: fully capable (green)
Damaged but still operational: present (no bar)
Not fully destroyed but inoperable: damaged (yellow)
Fully destroyed: destroyed (red)

And for all other TGOs:

Fully destroyed: destroyed (red)
Any missing units: damaged (yellow)
No missing units: present (no bar)

Fixes https://github.com/dcs-liberation/dcs_liberation/issues/2438.
2022-09-25 14:53:42 +02:00
Dan Albert
46ddd884a2 Rename confusing front line methods/members. 2022-09-17 14:35:14 +02:00
Dan Albert
4d9179d378 Add a GIS shapefile to landmap importer. 2022-09-17 14:35:08 +02:00
Dan Albert
38e2bf187f Fix DaytimeMap error with disabled night missions.
Fixes https://github.com/dcs-liberation/dcs_liberation/issues/2429
2022-09-17 14:35:08 +02:00
Dan Albert
cc9174cba4 Add a data linter with Markdown output.
Wildly incomplete, but it's a start.
2022-09-17 14:35:06 +02:00
Dan Albert
87375eb4b1 Clean up ConflictTheater constructor.
Now that all theaters are defined in YAML, we can lose some of the mess
in this class.
2022-09-17 14:35:05 +02:00
Dan Albert
c43d84bdae Migrate Falklands to YAML.
All theaters are now moddable.
2022-09-17 14:35:04 +02:00
Dan Albert
ac0f24f94f Migrate The Channel to YAML. 2022-09-17 14:35:04 +02:00
Dan Albert
1c66f18e3f Migrate Normandy to YAML. 2022-09-17 14:35:03 +02:00
Dan Albert
ede1a8c567 Migrate Nevada to YAML. 2022-09-17 14:35:03 +02:00
Dan Albert
f08955ae53 Migrate Marianas to YAML. 2022-09-17 14:35:03 +02:00
Dan Albert
06652cd063 Migrate Syria to yaml. 2022-09-17 14:35:02 +02:00
Dan Albert
f3f067830f Port Persian Gulf to yaml. 2022-09-17 14:35:02 +02:00
Dan Albert
401a0ae557 Make theater properties moddable.
Only the Caucasus has been migrated so far. Will follow up with the
others, and also will be adding beacon/airport data to this.
2022-09-17 14:35:01 +02:00
Dan Albert
c4fe3a31a7 Add a Falklands theater.
Not at all done yet, but loads.

https://github.com/dcs-liberation/dcs_liberation/issues/2242
2022-09-17 14:35:01 +02:00
MetalStormGhost
da04abf53a Fix zombie carrier
Fixed (zombie) carrier killed in state.json but always respawning in-game, issue #2405. GenericCarrierGenerator.generate() will now generate the ship group with an array that only contains alive ship units, just like GroundObjectGenerator.generate() has previously done.

Carrier groups will now also show up as destroyed/damaged on the map when the carrier is sunk.
2022-09-17 14:33:01 +02:00
MetalStormGhost
d08adc2842 Add new performance option: Maximum frontline unit supply per CP 2022-09-04 14:06:07 +02:00
Dan Albert
c5b50ceeae Add campaign property for campaign start time.
This field is optional. Omitting the field (or using only a date instead
of a full timestamp) will use the old behavior of picking a random
daylight hour to start the campaign.

This doesn't include any UI in the new game wizard yet. This is only a
campaign yaml option.

https://github.com/dcs-liberation/dcs_liberation/issues/2400
2022-09-03 19:13:20 +02:00
Dan Albert
b6da2d8e62 Turn the daytime map in theater into a real type.
No (intended) user visible effects, but this is the groundwork that will
support https://github.com/dcs-liberation/dcs_liberation/issues/2400.
2022-09-03 19:12:33 +02:00
Raffson
48938fc529 Dan's massive refactor
Squashing 8 commits by DanAlbert:

- Track theater in ControlPoint.
Simplifies finding the owning theater of a control point. Not used yet.

- Clean some cruft out of FlightPlanBuilder.
- Clean up silly some exception handling.
- Move FlightPlan instantiation into the builder.
I'm working on moving the builder to be owned by the Flight, which will simplify callers that need to create (or recreate) flight plans for a flight.

- Simplify IBuilder constructor.
We have access to the theater via the flight's departure airbase now.

- Move FlightPlan creation into Flight.
For now this is just a callsite cleanup. Later, this will make it easier
to separate unscheduled and scheduled flights into different classes without complicating the layout/scheduling.

- Remove superfluous constructors.
- Remove unused Package field.
2022-08-24 19:25:30 +02:00
Raffson
43e9a66afb Advanced IADS: recalculate connections if needed 2022-08-14 15:29:11 +02:00
Raffson
244415b721 PBO: IADS
Finishes/Fixes part of advanced IADS in back-end
2022-08-14 15:26:40 +02:00
Raffson
8dab64f4c3 Support for Su-30 mod 2022-08-14 14:45:25 +02:00
Raffson
0913b506f4 Support for F-15D 'Baz' mod 2022-08-14 14:44:50 +02:00
Raffson
ec425501cd Replace exceptions with 'if' statement 2022-07-06 11:32:22 -07:00
Raffson
2f97d948b8 Hotfix IADS (#2296)
fix for #2292
2022-07-04 16:02:22 +02:00
Raffson
27dff95df5 Handle IADS updates properly.
This adds the missing events in the backend, and handles them properly in the front end.
2022-06-29 18:58:49 -07:00
Raffson
5f071a6138 Add missing mission types for IADS targets. 2022-06-29 18:54:34 -07:00
Raffson
8c2c353071 Clean up IADS exception handling. 2022-06-28 20:30:17 -07:00
Raffson
da90a40bc4 Push full front line information in the event stream.
https://github.com/dcs-liberation/dcs_liberation/issues/2263
2022-06-25 14:13:10 -07:00
Raffson
7f05f6bc7d Don't send updates for CP TGOs.
Fixes https://github.com/dcs-liberation/dcs_liberation/issues/2139
2022-06-16 18:08:13 -07:00
RndName
aa77cfe4b9 Add AirAssault and Airlift mission types with CTLD support
- Add the new airassault mission type and special flightplans for it
- Add the mission type to airbase and FOB
- Add Layout for the UH-1H
- Add mission type to capable squadrons
- Allow the auto planner to task air assault missions when preconditions are met
- Improve Airlift mission type and improve the flightplan (Stopover and Helo landing)
- Allow Slingload and spawnable crates for airlift
- Rework airsupport to a general missiondata class
- Added Carrier Information to mission data
- Allow to define CTLD specific capabilities in the unit yaml
- Allow inflight preload and fixed wing support for air assault
2022-06-09 22:45:29 +02:00
RndName
a10e55cfd7 Calculate orientation of specific TGOs automatically
This will allow to automatically calculate the orientation of TGOs which are required to head to the conflict if the campaign designer has not defined a specific heading in the campaign miz. This is for example required for silkworm, scuds or some SAM systems like the SA-11.
Added the should_head_to_conflict property to the TGO
2022-05-06 17:34:16 +02:00
RndName
2d39fb496c Update heading and iads state of TGO after capture 2022-05-06 16:17:01 +02:00
RndName
9e3edd7208 Set correct unit name for carriers 2022-05-06 16:17:01 +02:00
RndName
5be92cd75e Cleanup threat and detection range calculation
- Moved logic from TGO to TheaterGroup and Unit, cleanup
- Fixed an issue with wrong radar threat zone calculation
- Correctly handle dead and alive units in threat calculation (dead units are no more threats...)
- Fixed wrong air_defenses threat zone used for planning (now uses aa-capable tgos instead of all tgos for the CP)
- Remove the might_have_aa property from TGOs and actually check if there is any aa-capable unit present (this is needed as with the recent tgo refactor all type of TGOs can also have anti air units if they have some defined in the layout)
2022-04-21 21:20:02 +02:00
RndName
004bcce58e Allow skynet properties override and improve dead unit handling
Now the user can override special skynet properties from the unit.yaml of the main Radar of the sam site. Which unit needs these overrides can be looked up over here: https://github.com/walder/Skynet-IADS/blob/develop/skynet-iads-source/skynet-iads-supported-types.lua

- fixed wrong exclusion of groups with the first unit dead but still able to participate
- added some exception handling in the lua script for groups which skynet is not able to control. preventing scripting errors
2022-04-19 10:41:16 +02:00
RndName
5cdfe62e2d Implement advanced skynet functions
- factor out own class for the iadsnetwork within the conflicttheater
- This class will handle all Skynet related things - no specific group_name handling necessary in future
- make iadsbuilding own TGO class because SAM & EWRs are Vehicle Groups. IADS Elements dont have any groups attached.
- added command center, connection node and power source as Ground objects which can be added by the campaign designer
- adjust lua generator to support new iads units
- parse the campaign yaml to get the iads network information
- use the range as fallback if no yaml information was found
- complete rewrite of the skynet lua script
- allow destruction of iads network to be persistent over all rounds
- modified the presetlocation handling: the wrapper PresetLocation for PointWithHeading now stores the original name from the campaign miz to have the ability to process campaign yaml configurations based on the ground unit
- Implementation of the UI representation for the IADS Network
- Give user the option to enable or disable advanced iads
- Extended the layout system: Implement Sub task handling to support PD
2022-04-19 10:41:16 +02:00