127 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
Raffson
7582040d41 Allow harriers to operate from FOBs/FARPs
Resolve #109
2023-05-28 21:05:17 +02:00
Raffson
da109146c9 Fixing issues after using actual Country in Faction 2023-05-18 16:24:49 +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
df4a071a0f Adjust Strike formation before and after bombing task 2023-05-06 17:08:48 +02:00
Raffson
b4b19d3ad5 Avoid claiming unused aircraft
Probably the final Fix #97
Unused aircraft (assigned upon takeoff) would get claimed but since it's not possible to delete those flights after aborting, these flights wouldn't get released anymore. This should fix that issue, including a migrator change to correct the number of claimed aircraft per squadron.
2023-05-01 18:12:17 +02:00
Raffson
fad48ebaed Improve AI SEAD capabilities 2023-04-15 20:44:57 +02:00
Raffson
6517dc0de8 Set ECM as first task for SEAD ingress 2023-04-14 22:46:11 +02:00
Raffson
845888bc75 Set ECM option as first task for DEAD-ingress 2023-04-14 22:46:10 +02:00
Raffson
c0406e7c3c Refactor ingress altitude 2023-04-14 22:46:09 +02:00
Raffson
2746636119 Force usage of Decoys before ARMs 2023-04-11 20:09:58 +02:00
Raffson
5b7ff8bdd6 Add fuel quantity selector to EditFlight's payload tab
Resolves #99
2023-04-10 17:11:30 +02:00
Raffson
efd2c40cfc Avoid generating/planning flights without an operational runway 2023-04-10 14:38:06 +02:00
Raffson
23038671b3 Disable altitude restriction for DEAD
This is automatically being set by pydcs as soon as you set the altitude
2023-03-18 21:19:45 +01:00
Raffson
e682176040 Polish DEAD strike ingress tasking 2023-03-17 23:41:17 +01:00
Raffson
8bea0c5cf8 Polishing CarpetBombing task 2023-03-17 23:41:17 +01:00
Raffson
497fd56efc Add ST wpt to F-14A 2023-03-12 22:15:34 +01:00
Raffson
cebcee8d32 Tweak STRIKE ingress tasks
Use carpet-bombing instead, combine all tasks to better support guided/unguided attacks
2023-03-12 14:47:35 +01:00
Raffson
218e783bb1 Force DEAD strike attack run direction 2023-03-10 23:50:45 +01:00
Raffson
5c7a87dbfd Tweak DEAD Ingress WPT-tasks 2023-03-05 23:46:07 +01:00
Raffson
5b19e0fdcd formatting 2023-03-05 23:44:47 +01:00
Raffson
648fad33d8 Force minimum altitude for launching decoys 2023-03-05 23:44:30 +01:00
Raffson
843bb30b99 Improve (SEAD) Escort tasking
- Always use holding point when it's a formation attack FP
- More accurate index for SPLIT wpt in triggered action

cleanup
2023-03-05 23:44:30 +01:00
Raffson
0f093d5f54 Fix winchester RTB when AI uses devoys 2023-03-05 14:34:47 +01:00
Raffson
1793703e47 Fix F-14s not using AGM-141 during SEAD 2023-03-05 00:53:54 +01:00
Raffson
f979a0c23d Fix heli spawn/landing at FOB/FARP
Resolves #45
2023-02-05 23:32:36 +01:00
Raffson
29d88fd61d Add TOT/TOS to kneeboard for AWACS & Tankers 2023-02-04 23:57:51 +01:00
Raffson
763dbebf13 Increase random horizontal separation for escort flights 2023-02-04 17:06:40 +01:00
Raffson
d410f9d3c4 Formatting... 2023-02-02 21:41:01 +01:00
Raffson
5d506ca97e Fixes for Tanker TACAN
- Y band was not having range info
- Callsign number was missing
2023-02-02 21:28:17 +01:00
Raffson
5c8e783980 Fix AAR TCN on Yankee band 2023-01-29 22:26:51 +01:00
Raffson
b7d95819c1 Don't strip all digits from air support's callsign 2023-01-29 22:26:50 +01:00
Raffson
88f984b0a8 Configurable RF/TCN/ICLS/LINK4 with UI feedback
Resolves #70

Freq/Channel will turn orange when double booked.
Freq will turn red if GUARD freq was assigned.
2023-01-17 18:32:20 +01:00