236 Commits

Author SHA1 Message Date
Raffson
9b9905c5a3
Tweaking helicopter stuff 2023-08-19 21:10:26 +02:00
Raffson
4901443b7a
Avoid zero-division exception 2023-08-16 19:08:04 +02:00
Raffson
789806637c
Improve escort logic for helicopters
Babysteps #88
2023-08-15 21:50:20 +02:00
Raffson
7baba78bca
Allow radio-presets to be defined in squadron files 2023-08-13 13:16:43 +02:00
MetalStormGhost
115bd8b22a Convert OPFOR untasked flights into Client slots
Added a new option in settings: Convert untasked OPFOR aircraft into client slots. This option will essentially convert the campaign into a sort of team vs. team engagement. There is still no way to plan the OPFOR missions, and there are no guarantees that there even will be any untasked aircraft available for players.

Split the Disable idle aircraft at airfields setting into Disable untasked BLUFOR aircraft at airfields and Disable untasked OPFOR aircraft at airfields.
2023-08-06 12:43:34 +02:00
MetalStormGhost
c51fa5c1df CAS engagement range
New option in Settings: CAS engagement range (nmi)
2023-08-02 19:22:15 +02:00
Raffson
0bc645edeb
Have DEAD flights fire all their HARMs first 2023-07-23 00:06:35 +02:00
Raffson
9d63bcbf69
Improve STRIKE where possible
- Plan number of aircraft more accurately
- Fine-tuning ingress waypoint tasks
- Add lineup waypoint for STRIKE flights, 10NM in front of ingress on the same heading as the target
2023-07-16 18:22:29 +02:00
Raffson
009debd4e8
Follow-up on dependency updates 2023-07-15 17:55:55 +02:00
Raffson
63898ead87
Use group-attack for Anti-ship ingress 2023-07-15 13:44:58 +02:00
Raffson
e86fc60b41
Spawn idle aircraft at helipads
Applicable for helicopters at airbases & both helicopters and LHA-capable aircraft at FOBs
2023-07-09 15:14:46 +02:00
Raffson
6734b80684
Follow-up on package refueler
Fixing some bugs that were caused by missing 'mission data' for package-refueling tankers
2023-07-07 21:56:29 +02:00
MetalStormGhost
be31a97c71 Added new option in settings: SEAD Sweep engagement range (nmi).
Renamed SEAD Sweep threat buffer distance (nmi) to SEAD Escort/Sweep threat buffer distance (nmi) since it also applies to SEAD Escort flights.
2023-07-04 23:19:47 +02:00
MetalStormGhost
aafc832e24 Settings option: Generate SCENERY REMOVE OBJECTS ZONE triggers at roadbase
Implemented an option in settings to disable or enable the SCENERY REMOVE OBJECTS ZONE triggers generated at roadbases (at the first waypoint).
2023-07-03 21:09:25 +02:00
Raffson
db038ecdea
Add SEAD Sweep flight plan
Reintroduce legacy SEAD Escort flight plan, but under a separate type because it didn't really escort the primary flight...
2023-07-02 16:53:55 +02:00
Raffson
9c6b070dbd
Force 'Nothing' task for ferry flights
pydcs doesn't export this task, although every aircraft is capable of doing 'Nothing' 😂
2023-07-02 12:52:19 +02:00
MetalStormGhost
861ed584df Restored TheaterGroundObject handling in antishipingress.py
Restores handling of TheaterGroundObject targets in antishipingress.py
This is needed when anti-ship missions are planned against other ship groups than NavalControlPoints (carrier groups or LHA strike groups).
2023-07-02 12:12:57 +02:00
MetalStormGhost
6e37cadb84
Settings doctrine page + streamlining (#156)
* Added a separate Doctrine page in settings with the following new options:
- Minimum number of aircraft for autoplanner to plan OCA packages against
- Airbase threat range (nmi)
- TARCAP threat buffer distance (nmi)
- AEW&C threat buffer distance (nmi)
- Theater tanker threat buffer distance (nmi)

Implemented handling for the OPFOR autoplanner aggressiveness in objectivefinder.py vulnerable_control_points().

* * Added three new options in Settings:
- Autoplanner plans refueling flights for Strike packages
- Autoplanner plans refueling flights for OCA packages
- Autoplanner plans refueling flights for DEAD packages

Fixed a bug in faction.py where F-16Ds were not correctly removed from the faction when the F-16I/F-16D mod was not selected.

* Renamed Maximum frontline length -> Maximum frontline width.
2023-07-01 23:54:27 +02:00
Raffson
9e42f7f255
Execute EWRJ triggers after EWRJ script has initialized 2023-07-01 15:27:11 +02:00
Raffson
57a0231699
Move LuaGenerator back to its original location
I can't even remember why I moved this line, but that's the one that broke CTLD...
2023-06-25 17:07:55 +02:00
Raffson
5368c06650
Only use 'Player' skill as flight-lead 2023-06-25 13:43:59 +02:00
Raffson
51fc0215d6
Link landing wpt to pad in flightgroupspawner
Fixes a bug where helipads would try to pop from an empty list
2023-06-25 03:21:58 +02:00
MetalStormGhost
e273e93012
Roadbase and ground spawn support (#132)
* Roadbase and ground spawn support

Implemented support for roadbases and ground spawn slots at airfields and FOBs. The ground spawn slots can be inserted in campaigns by placing either an A-10A or an AJS37 at a runway or ramp. This will cause an invisible FARP, an ammo dump and a fuel dump to be placed (behind the slot in case of A-10A, to the side in case of AJS37) in the generated campaigns. The ground spawn slot can be used by human controlled aircraft in generated missions. Also allowed the use of the four-slot FARP and the single helipad in campaigns, in addition to the invisible FARP. The first waypoint of the placed aircraft will be the center of a Remove Statics trigger zone (which might or might not work in multiplayer due to a DCS limitation).

Also implemented three new options in settings:
 - AI fixed-wing aircraft can use roadbases / bases with only ground spawns
   - This setting will allow the AI to use the roadbases for flights and transfers. AI flights will air-start from these bases, since the AI in DCS is not currently able to take off from ground spawns.
 - Spawn trucks at ground spawns in airbases instead of FARP statics
 - Spawn trucks at ground spawns in roadbases instead of FARP statics
   - These settings will replace the FARP statics with refueler and ammo trucks at roadbases. Enabling them might have a negative performance impact.

* Modified calculate_parking_slots() so it now takes into account also helicopter slots on FARPs and also ground start slots (but only if the aircraft is flyable or the "AI fixed-wing aircraft can use roadbases / bases with only ground spawns" option is enabled in settings).

* Improved the way parking slots are communicated on the basemenu window.

* Refactored helipad and ground spawn appends to static methods _add_helipad and _add_ground_spawn in mizcampaignloader.py
Added missing changelog entries.
Fixed tgogenerator.py imports.
Cleaned up ParkingType() construction.

* Added test_control_point_parking for testing that the correct number of parking slots are returned for control point in test_controlpoint.py

* Added test_parking_type_from_squadron to test the correct ParkingType object is returned for a squadron of Viggens in test_controlpoint.py

* Added test_parking_type_from_aircraft to test the correct ParkingType object is returned for Viggen aircraft type in test_controlpoint.py

---------

Co-authored-by: Raffson <Raffson@users.noreply.github.com>
2023-06-19 00:02:08 +03:00
Raffson
d3069bdaad
Bold font for waypoint table in kneeboard 2023-06-17 21:28:02 +02:00
Raffson
ce3e358f8c
Fix map objects not being registered when killed 2023-06-16 22:42:55 +02:00
Raffson
018a4b4718
Remove forgotten print-statement 2023-06-16 22:42:54 +02:00
Raffson
e677a1e910
Add EWR Jammer plugin 2023-06-16 22:42:53 +02:00
Raffson
8c29071d04
Fix AI RTB immediately with forced air-start 2023-06-15 03:49:32 +02:00
Raffson
45b8757593
Support for convoy "spawn-route" in campaign design
Resolves #91

'Assault On Damascus' was revamped using this new technique
2023-06-15 01:47:08 +02:00
Raffson
a31017e05a
Add AFAC as fallback for CAS/BAI 2023-06-12 01:20:58 +02:00
Raffson
9c1be534c7
Fix bugs reported in Discord
- Fixes ferry flights causing errors when "Nothing" is not available
- Logs a warning when a frontline stance is suddenly no longer available and uses defense stance as fallback which used to be the default. An investigation is still required to determine the cause of this...
2023-06-09 19:28:18 +02:00
Dan Albert
5600257442
Add performance option to prevent missile tasks.
Fixes https://github.com/dcs-liberation/dcs_liberation/issues/2508.
2023-06-04 12:57:16 +02:00
Raffson
2251018de2
Revert attempt at improving convoy spawning
Unfortunately this quick fix didn't do the trick, we'll probably have to stick with #91
2023-06-04 12:39:58 +02:00
Raffson
e018ef7f11
Formatting + typing 2023-06-03 19:27:50 +02:00
Raffson
b318bc4941
Tweak ingress waypoint tasks for OCA-Runway, STRIKE & FighterSweep 2023-06-03 19:04:38 +02:00
Raffson
962c64d065
Refine DCS tasks for different mission types 2023-06-03 19:04:37 +02:00
Raffson
bbf8e69659
Split Anti-Ship from BAI 2023-06-03 19:04:37 +02:00
MetalStormGhost
54a471fe82 Improved convoy form-up behaviour
Adds one waypoint with PointAction.Cone and then orders convoys on road. This is done to make convoys start to move immediately, instead of waiting (potentially) a long time for them to form up and actually start moving.

Credit to Farrago for suggesting this.
2023-05-30 21:12:05 +02:00
MetalStormGhost
1540b2cf31 Use SEAD task for stock Tornado SEAD/DEAD
The stock Tornado is capable of the SEAD task in DCS, but not the CAS task, so use SEAD for Tornadoes when flying SEAD or DEAD missions. Also, feel free to add to the list if other airframes should use SEAD as well for cosmetic reasons (would show SEAD task in the mission editor and F10 map in-game).
2023-05-29 12:20:04 +02:00
SnappyComebacks
8363a7e8fa
Set units on the frontline to Hidden On MFD. (#2669)
All groups (friendly and enemy) that are part of the front line are set
to `Hidden On MFD`. This is a group level filter, and can not be applied
on a per unit basis.
2023-05-28 21:20:12 +02:00
Raffson
7582040d41
Allow harriers to operate from FOBs/FARPs
Resolve #109
2023-05-28 21:05:17 +02:00
Raffson
5eee136189
Fix final country-refactor related issues? 2023-05-20 01:41:37 +02:00
Raffson
978e3e4de2
Formatting + type annotations 2023-05-18 16:29:20 +02:00
Raffson
da109146c9
Fixing issues after using actual Country in Faction 2023-05-18 16:24:49 +02:00
Dan Albert
8ed843a9cf
Move and split up weather.py.
This is getting out of hand, and I'm about to make it worse.
2023-05-18 13:31:26 +02:00
Raffson
785beffee0
Cleanup after cherry-picking... 2023-05-14 21:37:24 +02:00
Dan Albert
0608089eb0
Use the actual Country type instead of the name.
We want other pieces of country information (in particular the short
names). This cleans up a lot of code anyway.

As an added bonus, this now catches squadrons that used invalid names
which would previously be passed through to pydcs and... then I don't
know what would happen.
2023-05-14 21:04:09 +02:00
Raffson
711d102425
Only use bold font on kneeboard
Should fix an issue where letters seem transparent in VR
2023-05-14 16:54:48 +02:00
Raffson
df4a071a0f
Adjust Strike formation before and after bombing task 2023-05-06 17:08:48 +02:00
Raffson
2ce63abf04
Use Courier font for kneeboard 2023-05-01 18:15:58 +02:00