Commit Graph

73 Commits

Author SHA1 Message Date
MetalStormGhost
c7ec3283bd Added configuration constants for flights generated for Pretense. Fixed a bug which caused only one squadron per CP to be generated. Will now not generate Pretense cargo flights from Retribution off-map spawns, but instead will generate own air spawn points for them. Added a helper function initialize_pretense_data_structures(). 2024-02-06 10:58:33 +02:00
MetalStormGhost
f4c5c96fba Fixed a type assignment in pretensecargo.py 2024-02-06 10:58:31 +02:00
MetalStormGhost
b73a18b7b9 Implemented spawning of Pretense cargo aircraft. To support that, implemented a separate flight plan called PretenseCargoFlightPlan. Also, will now automatically generate transport squadrons for factions which don't have pre-defined squadrons for it, but have access to transport aircraft. 2024-02-06 10:58:29 +02:00
Raffson
0edcd31367 Fix desync wrt off-map flights 2024-01-28 19:20:34 +01:00
Raffson
dad5e7c146 Fix TOT-offset issues 2024-01-28 17:39:46 +01:00
Raffson
7d347eee94 Fix traveltime & offsets 2023-10-15 13:32:11 +02:00
Raffson
bcdf2ad887 Fix wrong logic wrt hold WPT & air-assault 2023-10-15 12:57:28 +02:00
Dan Albert
a2e98f485c Remove bingo estimates from FlightPlan.
This doesn't need to be a part of FlightPlan, and it's easier to test if
it isn't. Move it out and add the tests.

It's pretty misleading to allow this in the core of the flight plan code
anything. This is an extremely unreliable estimate for most aircraft so
it should be more clearly just for briefing purposes.
2023-10-07 23:08:25 +02:00
Raffson
ea726bbf06 Streamlining 2023-10-07 21:43:27 +02:00
Dan Albert
59673e7911 Convert TOTs to datetime.
https://github.com/dcs-liberation/dcs_liberation/issues/1680
2023-10-07 21:09:25 +02:00
Dan Albert
14d3e743d4 Remove useless TravelTime class.
This is only called for real in one spot. The other callers should have
been deferring to the one real caller.
2023-10-07 20:55:08 +02:00
Dan Albert
dcaee350cf Remove dead code. 2023-10-07 19:11:40 +02:00
Raffson
62a40db9ea Streamlining 2023-10-07 18:53:42 +02:00
Dan Albert
75498fe061 Differentiate total time and travel time.
There's an ugly special case in flight simulation to handle hold points
because we don't differentiate between the total time between two
waypoints (which can include delays from actions like holding) and
travel time. Split those up and remove the special case.
2023-10-07 18:42:59 +02:00
Raffson
03d8448def Streamlining 2023-10-07 18:13:55 +02:00
Dan Albert
a2630fc75f Add a real CAS ingress point.
Putting the ingress point directly on one end of the FLOT means that AI
flights won't start searching and engaging targets until they reach that
point. If the front line has advanced toward the flight's departure
airfield, it might overfly targets on its way to the IP.

Instead, place an IP for CAS the same way we place any other IP. The AI
will fly to that and start searching from there.

This also:

* Removes the midpoint waypoint, since it didn't serve any real purpose
* Names the FLOT boundary waypoints for what they actually are

Fixes https://github.com/dcs-liberation/dcs_liberation/issues/2231.
2023-10-07 18:00:07 +02:00
Raffson
c50dcaaafb Streamlining 2023-10-07 18:00:07 +02:00
Dan Albert
97ee6ba19f Force dumping debug info on recreate.
We need a way to debug successful solvers that's still targeting to a
specific flight. This will do for now.
2023-10-07 17:07:57 +02:00
Dan Albert
8b04dd878d Migrate IP placement to WaypointSolver. 2023-10-07 17:07:32 +02:00
Dan Albert
e25aac774f Handle TOT offsets for patrolling flight plans.
https://github.com/dcs-liberation/dcs_liberation/issues/3107
2023-10-07 14:33:04 +02:00
MetalStormGhost
54777a9045 Helicopter waypoint altitude configurable (#207)
* Helicopter waypoint altitude configurable

Added a new option in Settings: Helicopter waypoint altitude (feet AGL).
It sets the waypoint altitude for helicopters in feet AGL. In campaigns in more mountainous areas, you might want to increase this setting to avoid the AI flying into the terrain.

* black?

* Distinguish cruise/combat altitudes for helicopters

Also includes a refactor for WaypointBuilder so it doesn't need a coalition. It can already reference the coalition from the flight.

* Update changelog.md

---------

Co-authored-by: Raffson <Raffson@users.noreply.github.com>
2023-10-02 18:54:21 +02:00
Dan Albert
f89ac52bf3 Clean up remaining Flight.from_cp users.
The preferred API for this has been `Flight.departure` for a while.
2023-10-01 19:26:20 +02:00
Raffson
3024bd6479 Fix Hercules AirAssault exception 2023-09-30 19:37:16 +02:00
Raffson
ea74471307 Avoid refuel waypoint if air wing can't plan refuel flight 2023-09-23 17:25:12 +02:00
Raffson
66d741d0b3 Allow user to add navigation waypoints where possible 2023-08-27 21:11:10 +02:00
Raffson
9b9905c5a3 Tweaking helicopter stuff 2023-08-19 21:10:26 +02:00
Raffson
789806637c Improve escort logic for helicopters
Babysteps #88
2023-08-15 21:50:20 +02:00
MetalStormGhost
c51fa5c1df CAS engagement range
New option in Settings: CAS engagement range (nmi)
2023-08-02 19:22:15 +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
2ec187bc9c Fixing OCA-bug against FOBs
OCA Aircraft should be properly allowed against FOBs given Ghosti's roadbases
2023-07-05 23:29:48 +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
aecb171b8f SEAD Sweep threat buffer distance
Added a new option in settings: SEAD Sweep threat buffer distance (nmi).
2023-07-04 23:19:47 +02:00
Raffson
6c210c9d15 Fine-tuning stuff for 'SEAD Sweep' 2023-07-03 00:38:50 +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
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
5818367f2e Fine-tune SEAD search point 2023-06-17 21:28:33 +02:00
Raffson
c559d6e2be Follow-up on flight TOT offset 2023-06-04 01:50:46 +02:00
Dan Albert
7a57bd3ee0 Save the TOT offset in the flight plan.
Prep work for exposing this to the UI.
2023-06-04 00:31:38 +02:00
Raffson
bbf8e69659 Split Anti-Ship from BAI 2023-06-03 19:04:37 +02:00
Raffson
198ff7d8a3 Allow deletion of certain types of waypoints
Resolves #60
NAV/REFUEL/DIVERT waypoints should have no effect on the timings.
2023-05-29 00:11:27 +02:00
Raffson
fad48ebaed Improve AI SEAD capabilities 2023-04-15 20:44:57 +02: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
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
a98c9ffe8d When using 'isinstance', TYPE_CHECKING is NOT ENOUGH!!! 2023-02-02 21:33:54 +01:00
Raffson
e87621576d Add CTLD zones to AOD campaign + version bump 2023-01-23 19:31:28 +01:00
Raffson
531625ff08 Designated CTLD zones for ControlPoints (AB/FOB/FARP)
Resolves #46
2023-01-21 00:24:42 +01:00
MetalStormGhost
48ba8ff255 Fixed a FrontLine import bug in flightplanbuilder.py (#72)
Restored the default patrol duration handling in PackageRefuelingFlightPlan. Desired tanker on-station time will now only apply to TheaterRefuelingFlightPlan.
2023-01-07 13:54:30 +01:00
MetalStormGhost
01ee24c8cf Configurable tanker on-station time (#69) 2023-01-06 20:11:24 +01:00
Raffson
df642fe7a1 Set altitude for assault waypoint if Hercules 2023-01-02 18:58:45 +01:00
Raffson
c37c56c879 Air Assault for C-130 mod
Resolves #49
2022-12-27 21:51:14 +01:00