refactor to enum
typing and many other fixes
fix tests
attempt to fix some typescript
more typescript fixes
more typescript test fixes
revert all API changes
update to pydcs
mypy fixes
Use properties to check if player is blue/red/neutral
update requirements.txt
black -_-
bump pydcs and fix mypy
add opponent property
bump pydcs
Fixes an infinite loop in case a connection to the same CP is made in the template miz file of the campaign. It's basically wrong input, but suppose we'd have a use-case for it in the future, it would still make sense to have ground units retreat to a CP that's different from their origin...
* vietnamwarvessels first batch
* Ship YAMLs
* aircraft yamls initial version, need more work
* initial helicopter yamls
* update aircraft yamls
* Added DDs Fletcher and Sullivans
* ship icons
* aircraft banners and icons
* no huts
* update py files to VWV v0.9.0
* update aircraft yamls, add vigilante
* added 2 ships for VWV v0.9.0
* mig-21mf yaml
* icons and banners additional units v0.9.0
* added VWV units to USA_1970 and Vietnam_1970 JSONs
* Revert "added VWV units to USA_1970 and Vietnam_1970 JSONs"
This reverts commit ed0b28dc36c0d9c1a45a10689a3c419bd23ff258.
* A-1H yaml update
* mig-17 yaml update
* update helicopter yamls
* extension init
* weapon injections
* icon filenames _24 added
* removed tasks 0 from yamls
* hh2d yaml fix
* added VWV v0.9.0 to factions USA and Vietnam
* added max_range to aircraft yamls
* housekeeping
* Flyable to False - not available in mod version
* minor edits
* ignore test campaign
* deleted tasks
* weapon luas blue air
* added task numbers from task.py
* weapon luas red air
* task id numbers in comment
* switched weapon lua from aim-9J to aim-9D
* removed test campaigns
* update payload luas with payload names from flighttype.py
* Changed AIM-9D to 9B, 9D does not work
* removed air assault task for HH-2D
* Cva_31 added to runway_is_operational()
* CVA-31 added to naval_units in faction jsons
* add strike and cas tasks to ra-5c
* correct typo
* Added Armed Recon as task and payload to most a/c
* ignore pre-commit-config.yaml
* pre-commit-config
* black reformat controlpoint.py
* Added tasks to Vigilante (next to Recon) containing attack subtasks, which allow it to be scheduled for missions
* added ships to UNITS_WITH_RADAR
* remove pre-commit-config from gitignore
* added red aircraft to nva_1970 faction
* fixed black's complaint (two empty lines, should be one)
* fix conflict
* squash bugs and reuse patrol layout
* fix tanker tacan and formatting
* fix unlimited fuel option
* update pretense for tanker changes
* reuse refueling flight plan and bugfix for sunken carrier
changelog
* remove unitmap dependency
* formatting and more unit map removal
* more formatting
* typing and black
* keep tanker out of clouds
* fix if there are no clouds
* better cloud handling
* groundwork for recovery task
* remove changes to game/commander
* Finishing up recovery tankers
---------
Co-authored-by: Raffson <Raffson@users.noreply.github.com>
* Large aircraft ground spawns
Added the ability to add separate ground spawns for C-130 and other large aircraft to campaigns. Implemented on @holyorangejuice 's request.
Large aircraft ground spawns are added to the campaign by placing a C-130 on the ramp, just like an A-10 or AJS37 previously. Note: use the stock DCS C-130, so the campaign miz can be safely opened without the C-130 mod (or any other mod) installed. Not the C-130J player-flyable transport, not the KC-130J tanker included in the UH-60L mod etc.
Large planes (wingspan more than 40 meters, such as the C-130):
- First try spawning on large ground spawns
- Then try the regular airfield ramp spawns
Below 40 meter wingspan aircraft:
- First try spawning on regular or roadbase ground spawns
- Then try the regular airfield ramp spawns
- Then, if both of the above fail, use the large ground spawns
* Specify explicit black version 23.9.1 to fix lint error.
* Update lint.yml
---------
Co-authored-by: Raffson <Raffson@users.noreply.github.com>
Includes an Argentina 1982 faction for testing purposes, although it's
sparse because of a lack of assets in DCS.
Note that the carrier is mispelled as the Vienticinco in the game.
Includes prerequisite pydcs update.
Fixes https://github.com/dcs-liberation/dcs_liberation/issues/3123.
yaml to json
* 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>
- Unit yamls for several ships and added some new ones to uk_1990.json
- 2 new layouts: Aircraft Carrier / LHA with Frigate escorts
- Add "HMS Invincible" as Control Point
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.
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.