Compare commits

..

31 Commits

Author SHA1 Message Date
zhexu14
2d8efa5a7a Add NASAMs to MERAD unit list for campaign template (#3406) (#3410)
Adds NASAM launcher B and C to the list of units that can be placed in a
campaign template to define a MERAD spawn location.

This is needed to maintain compatibility with the new versions of my
campaigns.

Pull requests should be made against the `develop` branch. Any backports
necessary will be handled by the development team.

Pull requests should be focused on one task. Multiple bug fixes should
be
multiple PRs. We cannot merge half a PR, and combined PRs are much more
difficult to review. PRs that do not adhere to this will have their
review
delayed.

Prefer rebase to merge, and squash commits as needed to preserve a
readable
commit history. This project maintains linear history in the develop
branch, so
we will either rebase or squash your PR when merging. It is much easier
for us
if your branch already has a readable commit history (ensure that your
commit
subject lines are clear enough to identify the patch in the git log). An
exception to this is made for large PRs that are likely to require
multiple
rounds of review; in that case it's easier if you **don't** do this
(GitHub
does not preserve the history of old commits, so we cannot filter a PR
for only
new changes if a branch is force pushed) and we will squash it when
merging.

New features and bug fixes are usually worth mentioning in the
changelog.
Exceptions are fixes for bugs that never shipped (were only present in a
canary
build), and changes with no intended user observable behavior, such as a
refactor. If you're comfortable writing the note yourself, add it to
`changelog.md` in the root of the project in the section for the
upcoming
release.

Co-authored-by: Starfire13 <72491792+Starfire13@users.noreply.github.com>
2024-06-19 20:38:09 +10:00
zhexu14
524125b455 Add Starfire13's OH-58D resources (#3404)
Authored by: Starfire13

Adds OH-58 payloads and squadrons.
2024-06-07 20:40:15 +10:00
zhexu14
1be87ec16b Update README.md (#3403)
Remove reference to DCS Stable and Open Beta as they are now merged.
2024-06-06 23:20:04 +10:00
zhexu14
9066fafcb1 DCS 55918 (#3401)
This PR adds support for DCS 2.9.5.55918. Some limited support for the
Kiowa Warrior is also implemented.
2024-06-06 22:41:08 +10:00
zhexu14
fd8632a71d Add radio setup for F-5E, Mi-8, Mi-24 and F-86 (#3400) 2024-06-05 20:59:02 +10:00
ColonelAkirNakesh
352216bb5e Create FuSe-65.yaml (#3398)
Adds Wurzburg-Riese EWR to yamls
2024-06-05 20:44:14 +10:00
zhexu14
271ddf4503 Add contributors (#3396)
Add new contributors.
2024-06-05 20:41:10 +10:00
ColonelAkirNakesh
cef81c16c3 Update germany_1944.yaml (#3397)
Adds missing artillery pieces and U-boat to Germany '44 faction
2024-06-05 20:40:56 +10:00
tmz42
4e2c3dbc51 Allied Sword update (#3399)
Modified Allied Sword for F-4E
Included expansion to the North
2024-06-05 20:40:25 +10:00
zhexu14
d905f0cf7f Dcs 2.9.5 (#3393)
DCS 2.9.5 Support (including F-4)

---------

Co-authored-by: Raffson <Raffson@users.noreply.github.com>
Co-authored-by: Starfire13 <72491792+Starfire13@users.noreply.github.com>
2024-06-02 22:18:11 +10:00
dependabot[bot]
99bbdc3e77 Bump jinja2 from 3.1.3 to 3.1.4 (#3387)
Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.3 to 3.1.4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pallets/jinja/releases">jinja2's
releases</a>.</em></p>
<blockquote>
<h2>3.1.4</h2>
<p>This is the Jinja 3.1.4 security release, which fixes security issues
and bugs but does not otherwise change behavior and should not result in
breaking changes.</p>
<p>PyPI: <a
href="https://pypi.org/project/Jinja2/3.1.4/">https://pypi.org/project/Jinja2/3.1.4/</a>
Changes: <a
href="https://jinja.palletsprojects.com/en/3.1.x/changes/#version-3-1-4">https://jinja.palletsprojects.com/en/3.1.x/changes/#version-3-1-4</a></p>
<ul>
<li>The <code>xmlattr</code> filter does not allow keys with
<code>/</code> solidus, <code>&gt;</code> greater-than sign, or
<code>=</code> equals sign, in addition to disallowing spaces.
Regardless of any validation done by Jinja, user input should never be
used as keys to this filter, or must be separately validated first.
GHSA-h75v-3vvj-5mfj</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pallets/jinja/blob/main/CHANGES.rst">jinja2's
changelog</a>.</em></p>
<blockquote>
<h2>Version 3.1.4</h2>
<p>Released 2024-05-05</p>
<ul>
<li>The <code>xmlattr</code> filter does not allow keys with
<code>/</code> solidus, <code>&gt;</code>
greater-than sign, or <code>=</code> equals sign, in addition to
disallowing spaces.
Regardless of any validation done by Jinja, user input should never be
used
as keys to this filter, or must be separately validated first.
:ghsa:<code>h75v-3vvj-5mfj</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="dd4a8b5466"><code>dd4a8b5</code></a>
release version 3.1.4</li>
<li><a
href="0668239dc6"><code>0668239</code></a>
Merge pull request from GHSA-h75v-3vvj-5mfj</li>
<li><a
href="d655030770"><code>d655030</code></a>
disallow invalid characters in keys to xmlattr filter</li>
<li><a
href="a7863ba9d3"><code>a7863ba</code></a>
add ghsa links</li>
<li><a
href="b5c98e78c2"><code>b5c98e7</code></a>
start version 3.1.4</li>
<li><a
href="da3a9f0b80"><code>da3a9f0</code></a>
update project files (<a
href="https://redirect.github.com/pallets/jinja/issues/1968">#1968</a>)</li>
<li><a
href="0ee5eb41d1"><code>0ee5eb4</code></a>
satisfy formatter, linter, and strict mypy</li>
<li><a
href="20477c6357"><code>20477c6</code></a>
update project files (<a
href="https://redirect.github.com/pallets/jinja/issues/5457">#5457</a>)</li>
<li><a
href="e491223739"><code>e491223</code></a>
update pyyaml dev dependency</li>
<li><a
href="36f98854c7"><code>36f9885</code></a>
fix pr link</li>
<li>Additional commits viewable in <a
href="https://github.com/pallets/jinja/compare/3.1.3...3.1.4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=jinja2&package-manager=pip&previous-version=3.1.3&new-version=3.1.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/dcs-liberation/dcs_liberation/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-29 22:40:40 +10:00
DillieKoe
4040f50d8a Update peru_1995.yaml (#3392)
Added 3 missing units.
2024-05-29 22:40:22 +10:00
zhexu14
11304542bd Wrap getLife with pcall to handle error where unit is lost (#3390) 2024-05-25 15:09:18 +10:00
Starfire13
cbf5f5ed90 Update Black Sea from 2/3 to 3/3 performance (#3391)
I think this campaign is really not performance friendly and should be
marked as a 3/3. It is the first campaign on the list and quite a few
new players pick it as their first one and then struggle with
performance issues. Framerate on this campaign is quite a bit lower than
on many of the other 2/3 campaigns, on account of the large number of
aircraft and very heavy SAM coverage.
2024-05-25 15:09:01 +10:00
zhexu14
6433d3159e Make window size of NGW consistent so position does not move around (#3386) 2024-05-04 16:10:20 +10:00
dependabot[bot]
b376ab135f Bump ejs from 3.1.7 to 3.1.10 in /client (#3385)
Bumps [ejs](https://github.com/mde/ejs) from 3.1.7 to 3.1.10.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/mde/ejs/releases">ejs's
releases</a>.</em></p>
<blockquote>
<h2>v3.1.10</h2>
<p>Version 3.1.10</p>
<h2>v3.1.9</h2>
<p>Version 3.1.9</p>
<h2>v3.1.8</h2>
<p>Version 3.1.8</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d3f807dea9"><code>d3f807d</code></a>
Version 3.1.10</li>
<li><a
href="9ee26dde5d"><code>9ee26dd</code></a>
Mocha TDD</li>
<li><a
href="e469741dca"><code>e469741</code></a>
Basic pollution protection</li>
<li><a
href="715e9507fa"><code>715e950</code></a>
Merge pull request <a
href="https://redirect.github.com/mde/ejs/issues/756">#756</a> from
Jeffrey-mu/main</li>
<li><a
href="cabe3146ad"><code>cabe314</code></a>
Include advanced usage examples</li>
<li><a
href="29b076cdbb"><code>29b076c</code></a>
Added header</li>
<li><a
href="11503c79af"><code>11503c7</code></a>
Merge branch 'main' of github.com:mde/ejs into main</li>
<li><a
href="7690404e2f"><code>7690404</code></a>
Added security banner to README</li>
<li><a
href="f47d7aedd5"><code>f47d7ae</code></a>
Update SECURITY.md</li>
<li><a
href="828cea1687"><code>828cea1</code></a>
Update SECURITY.md</li>
<li>Additional commits viewable in <a
href="https://github.com/mde/ejs/compare/v3.1.7...v3.1.10">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=ejs&package-manager=npm_and_yarn&previous-version=3.1.7&new-version=3.1.10)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/dcs-liberation/dcs_liberation/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-04 15:58:31 +10:00
zhexu14
99089cc3d0 Fix waypoints list width (#3383)
Fix width of Flight Waypoints List. The vertical header width was
returning 0 so the table width was under estimated leading to the table
being too narrow. Used sizeHint to get vertical header width to work
around this issue.
2024-04-24 07:55:29 +10:00
zhexu14
13ff69c4df Set next version as 11.1 (#3382)
This PR sets versions & changelog to a 11.1 bugfix release.
2024-04-22 22:55:39 +10:00
zhexu14
55c77ed7c3 Lock python version to 3.11.4 as 3.11.5 introduces a change that brea… (#3380)
3.11.5 introduces a change that breaks unpickling of save files that
leads to #3379. This PR introduces a short term fix by locking the
python version used in the build until the root cause can be found and
fixed.
2024-04-18 07:55:04 +10:00
zhexu14
4c5d968dd7 Issue 3232: Clean up Air Wing Configuration Dialogue Box (#3377)
Set default size of Air Wing Configuration Dialogue Box so that a whole
squadron can be seen, addressing #3232

Make some UI elements smaller so that the Dialogue Box does not take too
much screen real estate and works on smaller monitors.
2024-04-15 20:49:42 +10:00
zhexu14
dc3d1b0b5b Make theater refuelling flight plan on-station time configurable based on the desired mission duration (#3375)
This PR 
- Addresses #1511 by setting the tanker on-station time to the desired
mission duration + 30 minutes
- Elaborate on what the desired mission duration setting does in the
Settings UI.
2024-04-14 21:58:30 +10:00
Chilli
75f904275c CJS Super hornet mod support update (#3376)
In this PR:

- Added EA-18G payload (made by @sgtfuzzle17)
- Added FA-18E payload (made by @sgtfuzzle17)
- Added FA-18F payload (made by @sgtfuzzle17)
- Corrected typo on my name
- Added SEAD Escort task to EA-18G.yaml
2024-04-14 21:58:15 +10:00
zhexu14
f59051c9f8 Issue 2778 (#3374)
This PR addresses #2778 by:
- Updating the logic for how redeployment of front line units works to
handle "out of order" captures e.g. for control points A->B->C, where A
starts friendly and B, C starts as enemy-controlled, the player captures
C first, typically using air assault.
- Updating the cheat logic so that capturing CPs using cheats behaves
the same way as capturing CPs normally.
2024-04-13 21:55:44 +10:00
zhexu14
c8c78d0b2a Stop naval control points from being moved onto land (#3373)
This PR fixes #3243 by checking whether the destination point is in the
sea for naval control points before permitting the movement.
2024-04-13 15:04:41 +10:00
dependabot[bot]
0ade5b9861 Bump idna from 3.6 to 3.7 (#3372)
Bumps [idna](https://github.com/kjd/idna) from 3.6 to 3.7.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/kjd/idna/releases">idna's
releases</a>.</em></p>
<blockquote>
<h2>v3.7</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix issue where specially crafted inputs to encode() could take
exceptionally long amount of time to process. [CVE-2024-3651]</li>
</ul>
<p>Thanks to Guido Vranken for reporting the issue.</p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/kjd/idna/compare/v3.6...v3.7">https://github.com/kjd/idna/compare/v3.6...v3.7</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/kjd/idna/blob/master/HISTORY.rst">idna's
changelog</a>.</em></p>
<blockquote>
<p>3.7 (2024-04-11)
++++++++++++++++</p>
<ul>
<li>Fix issue where specially crafted inputs to encode() could
take exceptionally long amount of time to process. [CVE-2024-3651]</li>
</ul>
<p>Thanks to Guido Vranken for reporting the issue.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="1d365e17e1"><code>1d365e1</code></a>
Release v3.7</li>
<li><a
href="c1b3154939"><code>c1b3154</code></a>
Merge pull request <a
href="https://redirect.github.com/kjd/idna/issues/172">#172</a> from
kjd/optimize-contextj</li>
<li><a
href="0394ec76ff"><code>0394ec7</code></a>
Merge branch 'master' into optimize-contextj</li>
<li><a
href="cd58a23173"><code>cd58a23</code></a>
Merge pull request <a
href="https://redirect.github.com/kjd/idna/issues/152">#152</a> from
elliotwutingfeng/dev</li>
<li><a
href="5beb28b9dd"><code>5beb28b</code></a>
More efficient resolution of joiner contexts</li>
<li><a
href="1b121483ed"><code>1b12148</code></a>
Update ossf/scorecard-action to v2.3.1</li>
<li><a
href="d516b874c3"><code>d516b87</code></a>
Update Github actions/checkout to v4</li>
<li><a
href="c095c75943"><code>c095c75</code></a>
Merge branch 'master' into dev</li>
<li><a
href="60a0a4cb61"><code>60a0a4c</code></a>
Fix typo in GitHub Actions workflow key</li>
<li><a
href="5918a0ef80"><code>5918a0e</code></a>
Merge branch 'master' into dev</li>
<li>Additional commits viewable in <a
href="https://github.com/kjd/idna/compare/v3.6...v3.7">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=idna&package-manager=pip&previous-version=3.6&new-version=3.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/dcs-liberation/dcs_liberation/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-12 21:21:17 +10:00
zhexu14
9611c01b93 Add mechanism to prevent double counting of damage induced kills when… (#3371)
… DCS reports multiple hits

This PR fixes a bug introduced when tracking OCA/Aircraft kills that
results in double counting when DCS reports multiple hits, typically
when guns are used.
2024-04-10 16:28:21 +10:00
dependabot[bot]
3234a2b28a Bump axios from 0.25.0 to 1.6.8 in /client (#3369)
Bumps [axios](https://github.com/axios/axios) from 0.25.0 to 1.6.8.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/axios/axios/releases">axios's
releases</a>.</em></p>
<blockquote>
<h2>Release v1.6.8</h2>
<h2>Release notes:</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>AxiosHeaders:</strong> fix AxiosHeaders conversion to an
object during config merging (<a
href="https://redirect.github.com/axios/axios/issues/6243">#6243</a>)
(<a
href="2656612bc1">2656612</a>)</li>
<li><strong>import:</strong> use named export for EventEmitter; (<a
href="7320430aef">7320430</a>)</li>
<li><strong>vulnerability:</strong> update follow-redirects to 1.15.6
(<a
href="https://redirect.github.com/axios/axios/issues/6300">#6300</a>)
(<a
href="8786e0ff55">8786e0f</a>)</li>
</ul>
<h3>Contributors to this release</h3>
<ul>
<li><!-- raw HTML omitted --> <a href="https://github.com/jasonsaayman"
title="+4572/-3446 ([#6238](https://github.com/axios/axios/issues/6238)
)">Jay</a></li>
<li><!-- raw HTML omitted --> <a
href="https://github.com/DigitalBrainJS" title="+30/-0
([#6231](https://github.com/axios/axios/issues/6231) )">Dmitriy
Mozgovoy</a></li>
<li><!-- raw HTML omitted --> <a href="https://github.com/Creaous"
title="+9/-9 ([#6300](https://github.com/axios/axios/issues/6300)
)">Mitchell</a></li>
<li><!-- raw HTML omitted --> <a href="https://github.com/mannoeu"
title="+2/-2 ([#6196](https://github.com/axios/axios/issues/6196)
)">Emmanuel</a></li>
<li><!-- raw HTML omitted --> <a href="https://github.com/ljkeller"
title="+3/-0 ([#6194](https://github.com/axios/axios/issues/6194)
)">Lucas Keller</a></li>
<li><!-- raw HTML omitted --> <a href="https://github.com/ADITYA-176"
title="+1/-1 ()">Aditya Mogili</a></li>
<li><!-- raw HTML omitted --> <a
href="https://github.com/petrovmiroslav" title="+1/-1
([#6243](https://github.com/axios/axios/issues/6243) )">Miroslav
Petrov</a></li>
</ul>
<h2>Release v1.6.7</h2>
<h2>Release notes:</h2>
<h3>Bug Fixes</h3>
<ul>
<li>capture async stack only for rejections with native error objects;
(<a
href="https://redirect.github.com/axios/axios/issues/6203">#6203</a>)
(<a
href="1a08f90f40">1a08f90</a>)</li>
</ul>
<h3>Contributors to this release</h3>
<ul>
<li><!-- raw HTML omitted --> <a
href="https://github.com/DigitalBrainJS" title="+30/-26
([#6203](https://github.com/axios/axios/issues/6203) )">Dmitriy
Mozgovoy</a></li>
<li><!-- raw HTML omitted --> <a href="https://github.com/zh-lx"
title="+0/-3 ([#6186](https://github.com/axios/axios/issues/6186)
)">zhoulixiang</a></li>
</ul>
<h2>Release v1.6.6</h2>
<h2>Release notes:</h2>
<h3>Bug Fixes</h3>
<ul>
<li>fixed missed dispatchBeforeRedirect argument (<a
href="https://redirect.github.com/axios/axios/issues/5778">#5778</a>)
(<a
href="a1938ff073">a1938ff</a>)</li>
<li>wrap errors to improve async stack trace (<a
href="https://redirect.github.com/axios/axios/issues/5987">#5987</a>)
(<a
href="123f354b92">123f354</a>)</li>
</ul>
<h3>Contributors to this release</h3>
<ul>
<li><!-- raw HTML omitted --> <a href="https://github.com/ikonst"
title="+91/-8 ([#5987](https://github.com/axios/axios/issues/5987)
)">Ilya Priven</a></li>
<li><!-- raw HTML omitted --> <a href="https://github.com/zaosoula"
title="+6/-6 ([#5778](https://github.com/axios/axios/issues/5778) )">Zao
Soula</a></li>
</ul>
<h2>Release v1.6.5</h2>
<h2>Release notes:</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>ci:</strong> refactor notify action as a job of publish
action; (<a
href="https://redirect.github.com/axios/axios/issues/6176">#6176</a>)
(<a
href="0736f95ce8">0736f95</a>)</li>
<li><strong>dns:</strong> fixed lookup error handling; (<a
href="https://redirect.github.com/axios/axios/issues/6175">#6175</a>)
(<a
href="f4f2b039dd">f4f2b03</a>)</li>
</ul>
<h3>Contributors to this release</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/axios/axios/blob/v1.x/CHANGELOG.md">axios's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/axios/axios/compare/v1.6.7...v1.6.8">1.6.8</a>
(2024-03-15)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>AxiosHeaders:</strong> fix AxiosHeaders conversion to an
object during config merging (<a
href="https://redirect.github.com/axios/axios/issues/6243">#6243</a>)
(<a
href="2656612bc1">2656612</a>)</li>
<li><strong>import:</strong> use named export for EventEmitter; (<a
href="7320430aef">7320430</a>)</li>
<li><strong>vulnerability:</strong> update follow-redirects to 1.15.6
(<a
href="https://redirect.github.com/axios/axios/issues/6300">#6300</a>)
(<a
href="8786e0ff55">8786e0f</a>)</li>
</ul>
<h3>Contributors to this release</h3>
<ul>
<li><!-- raw HTML omitted --> <a href="https://github.com/jasonsaayman"
title="+4572/-3446 ([#6238](https://github.com/axios/axios/issues/6238)
)">Jay</a></li>
<li><!-- raw HTML omitted --> <a
href="https://github.com/DigitalBrainJS" title="+30/-0
([#6231](https://github.com/axios/axios/issues/6231) )">Dmitriy
Mozgovoy</a></li>
<li><!-- raw HTML omitted --> <a href="https://github.com/Creaous"
title="+9/-9 ([#6300](https://github.com/axios/axios/issues/6300)
)">Mitchell</a></li>
<li><!-- raw HTML omitted --> <a href="https://github.com/mannoeu"
title="+2/-2 ([#6196](https://github.com/axios/axios/issues/6196)
)">Emmanuel</a></li>
<li><!-- raw HTML omitted --> <a href="https://github.com/ljkeller"
title="+3/-0 ([#6194](https://github.com/axios/axios/issues/6194)
)">Lucas Keller</a></li>
<li><!-- raw HTML omitted --> <a href="https://github.com/ADITYA-176"
title="+1/-1 ()">Aditya Mogili</a></li>
<li><!-- raw HTML omitted --> <a
href="https://github.com/petrovmiroslav" title="+1/-1
([#6243](https://github.com/axios/axios/issues/6243) )">Miroslav
Petrov</a></li>
</ul>
<h2><a
href="https://github.com/axios/axios/compare/v1.6.6...v1.6.7">1.6.7</a>
(2024-01-25)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>capture async stack only for rejections with native error objects;
(<a
href="https://redirect.github.com/axios/axios/issues/6203">#6203</a>)
(<a
href="1a08f90f40">1a08f90</a>)</li>
</ul>
<h3>Contributors to this release</h3>
<ul>
<li><!-- raw HTML omitted --> <a
href="https://github.com/DigitalBrainJS" title="+30/-26
([#6203](https://github.com/axios/axios/issues/6203) )">Dmitriy
Mozgovoy</a></li>
<li><!-- raw HTML omitted --> <a href="https://github.com/zh-lx"
title="+0/-3 ([#6186](https://github.com/axios/axios/issues/6186)
)">zhoulixiang</a></li>
</ul>
<h2><a
href="https://github.com/axios/axios/compare/v1.6.5...v1.6.6">1.6.6</a>
(2024-01-24)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>fixed missed dispatchBeforeRedirect argument (<a
href="https://redirect.github.com/axios/axios/issues/5778">#5778</a>)
(<a
href="a1938ff073">a1938ff</a>)</li>
<li>wrap errors to improve async stack trace (<a
href="https://redirect.github.com/axios/axios/issues/5987">#5987</a>)
(<a
href="123f354b92">123f354</a>)</li>
</ul>
<h3>Contributors to this release</h3>
<ul>
<li><!-- raw HTML omitted --> <a href="https://github.com/ikonst"
title="+91/-8 ([#5987](https://github.com/axios/axios/issues/5987)
)">Ilya Priven</a></li>
<li><!-- raw HTML omitted --> <a href="https://github.com/zaosoula"
title="+6/-6 ([#5778](https://github.com/axios/axios/issues/5778) )">Zao
Soula</a></li>
</ul>
<h2><a
href="https://github.com/axios/axios/compare/v1.6.4...v1.6.5">1.6.5</a>
(2024-01-05)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>ci:</strong> refactor notify action as a job of publish
action; (<a
href="https://redirect.github.com/axios/axios/issues/6176">#6176</a>)
(<a
href="0736f95ce8">0736f95</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="ab3f0f9a94"><code>ab3f0f9</code></a>
chore(release): v1.6.8 (<a
href="https://redirect.github.com/axios/axios/issues/6303">#6303</a>)</li>
<li><a
href="2656612bc1"><code>2656612</code></a>
fix(AxiosHeaders): fix AxiosHeaders conversion to an object during
config mer...</li>
<li><a
href="7320430aef"><code>7320430</code></a>
fix(import): use named export for EventEmitter;</li>
<li><a
href="8786e0ff55"><code>8786e0f</code></a>
fix(vulnerability): update follow-redirects to 1.15.6 (<a
href="https://redirect.github.com/axios/axios/issues/6300">#6300</a>)</li>
<li><a
href="d844227411"><code>d844227</code></a>
chore: update and bump deps (<a
href="https://redirect.github.com/axios/axios/issues/6238">#6238</a>)</li>
<li><a
href="caa0625201"><code>caa0625</code></a>
docs: update README responseEncoding types (<a
href="https://redirect.github.com/axios/axios/issues/6194">#6194</a>)</li>
<li><a
href="41c4584a41"><code>41c4584</code></a>
docs: Update README.md to point to current axios version in CDN links
(<a
href="https://redirect.github.com/axios/axios/issues/6196">#6196</a>)</li>
<li><a
href="bf6974f16a"><code>bf6974f</code></a>
chore(ci): add npm tag action; (<a
href="https://redirect.github.com/axios/axios/issues/6231">#6231</a>)</li>
<li><a
href="a52e4d9af5"><code>a52e4d9</code></a>
chore(release): v1.6.7 (<a
href="https://redirect.github.com/axios/axios/issues/6204">#6204</a>)</li>
<li><a
href="2b69888dd5"><code>2b69888</code></a>
chore: remove unnecessary check (<a
href="https://redirect.github.com/axios/axios/issues/6186">#6186</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/axios/axios/compare/v0.25.0...v1.6.8">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=axios&package-manager=npm_and_yarn&previous-version=0.25.0&new-version=1.6.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/dcs-liberation/dcs_liberation/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-10 12:56:54 +10:00
zhexu14
8aa38a83ff Bump version to 12 (#3370)
Bump changelog, bug reports and version.py to appropriate values now
that 11 is released.
2024-04-10 12:54:26 +10:00
dependabot[bot]
7d5bb0356f Bump pillow from 10.2.0 to 10.3.0 (#3366)
Bumps [pillow](https://github.com/python-pillow/Pillow) from 10.2.0 to
10.3.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/python-pillow/Pillow/releases">pillow's
releases</a>.</em></p>
<blockquote>
<h2>10.3.0</h2>
<p><a
href="https://pillow.readthedocs.io/en/stable/releasenotes/10.3.0.html">https://pillow.readthedocs.io/en/stable/releasenotes/10.3.0.html</a></p>
<h2>Changes</h2>
<ul>
<li>CVE-2024-28219: Use strncpy to avoid buffer overflow <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7928">#7928</a>
[<a href="https://github.com/hugovk"><code>@​hugovk</code></a>]</li>
<li>Use <code>functools.lru_cache</code> for <code>hopper()</code> <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7912">#7912</a>
[<a href="https://github.com/hugovk"><code>@​hugovk</code></a>]</li>
<li>Raise ValueError if seeking to greater than offset-sized integer in
TIFF <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7883">#7883</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Improve speed of loading QOI images <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7925">#7925</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Added RGB to I;16N conversion <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7920">#7920</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Add --report argument to <strong>main</strong>.py to omit supported
formats <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7818">#7818</a>
[<a href="https://github.com/nulano"><code>@​nulano</code></a>]</li>
<li>Added RGB to I;16, I;16L and I;16B conversion <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7918">#7918</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Fix editable installation with custom build backend and
configuration options <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7658">#7658</a>
[<a href="https://github.com/nulano"><code>@​nulano</code></a>]</li>
<li>Fix putdata() for I;16N on big-endian <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7209">#7209</a>
[<a href="https://github.com/Yay295"><code>@​Yay295</code></a>]</li>
<li>Determine MPO size from markers, not EXIF data <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7884">#7884</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Improved conversion from RGB to RGBa, LA and La <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7888">#7888</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Support FITS images with GZIP_1 compression <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7894">#7894</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Use I;16 mode for 9-bit JPEG 2000 images <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7900">#7900</a>
[<a
href="https://github.com/scaramallion"><code>@​scaramallion</code></a>]</li>
<li>Raise ValueError if kmeans is negative <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7891">#7891</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Remove TIFF tag OSUBFILETYPE when saving using libtiff <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7893">#7893</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Raise ValueError for negative values when loading P1-P3 PPM images
<a
href="https://redirect.github.com/python-pillow/Pillow/issues/7882">#7882</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Added reading of JPEG2000 palettes <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7870">#7870</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Added alpha_quality argument when saving WebP images <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7872">#7872</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Fixed joined corners for ImageDraw rounded_rectangle() non-integer
dimensions <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7881">#7881</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Removed Python and NumPy pinning on Cygwin <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7880">#7880</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Update UnidentifiedImageError and <strong>version</strong> imports
<a
href="https://redirect.github.com/python-pillow/Pillow/issues/7644">#7644</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Stop reading EPS image at EOF marker <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7753">#7753</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>PSD layer co-ordinates may be negative <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7706">#7706</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Use subprocess with CREATE_NO_WINDOW flag in ImageShow WindowsViewer
<a
href="https://redirect.github.com/python-pillow/Pillow/issues/7791">#7791</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>When saving GIF frame that restores to background color, do not fill
identical pixels <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7788">#7788</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Fixed reading PNG iCCP compression method <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7823">#7823</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Allow writing IFDRational to UNDEFINED tag <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7840">#7840</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Fix logged tag name when loading Exif data <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7842">#7842</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Use maximum frame size in IHDR chunk when saving APNG images <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7821">#7821</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Prevent opening P TGA images without a palette <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7797">#7797</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Use palette when loading ICO images <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7798">#7798</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Use consistent arguments for load_read and load_seek <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7713">#7713</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Turn off nullability warnings for macOS SDK <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7827">#7827</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Fix shift-sign issue in Convert.c <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7838">#7838</a>
[<a href="https://github.com/r-barnes"><code>@​r-barnes</code></a>]</li>
<li>winbuild: Refactor dependency versions into constants <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7843">#7843</a>
[<a href="https://github.com/hugovk"><code>@​hugovk</code></a>]</li>
<li>Build macOS arm64 wheels natively <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7852">#7852</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Fixed typo <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7855">#7855</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Open 16-bit grayscale PNGs as I;16 <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7849">#7849</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Handle truncated chunks at the end of PNG images <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7709">#7709</a>
[<a href="https://github.com/lajiyuan"><code>@​lajiyuan</code></a>]</li>
<li>Match mask size to pasted image size in GifImagePlugin <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7779">#7779</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Changed SupportsGetMesh protocol to be public <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7841">#7841</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Release GIL while calling <code>WebPAnimDecoderGetNext</code> <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7782">#7782</a>
[<a
href="https://github.com/evanmiller"><code>@​evanmiller</code></a>]</li>
<li>Fixed reading FLI/FLC images with a prefix chunk <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7804">#7804</a>
[<a href="https://github.com/twolife"><code>@​twolife</code></a>]</li>
<li>Updated package name for Tidelift <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7810">#7810</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Removed unused code <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7744">#7744</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst">pillow's
changelog</a>.</em></p>
<blockquote>
<h2>10.3.0 (2024-04-01)</h2>
<ul>
<li>
<p>CVE-2024-28219: Use <code>strncpy</code> to avoid buffer overflow <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7928">#7928</a>
[radarhere, hugovk]</p>
</li>
<li>
<p>Deprecate <code>eval()</code>, replacing it with
<code>lambda_eval()</code> and <code>unsafe_eval()</code> <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7927">#7927</a>
[radarhere, hugovk]</p>
</li>
<li>
<p>Raise <code>ValueError</code> if seeking to greater than offset-sized
integer in TIFF <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7883">#7883</a>
[radarhere]</p>
</li>
<li>
<p>Add <code>--report</code> argument to <code>__main__.py</code> to
omit supported formats <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7818">#7818</a>
[nulano, radarhere, hugovk]</p>
</li>
<li>
<p>Added RGB to I;16, I;16L, I;16B and I;16N conversion <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7918">#7918</a>,
<a
href="https://redirect.github.com/python-pillow/Pillow/issues/7920">#7920</a>
[radarhere]</p>
</li>
<li>
<p>Fix editable installation with custom build backend and configuration
options <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7658">#7658</a>
[nulano, radarhere]</p>
</li>
<li>
<p>Fix putdata() for I;16N on big-endian <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7209">#7209</a>
[Yay295, hugovk, radarhere]</p>
</li>
<li>
<p>Determine MPO size from markers, not EXIF data <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7884">#7884</a>
[radarhere]</p>
</li>
<li>
<p>Improved conversion from RGB to RGBa, LA and La <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7888">#7888</a>
[radarhere]</p>
</li>
<li>
<p>Support FITS images with GZIP_1 compression <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7894">#7894</a>
[radarhere]</p>
</li>
<li>
<p>Use I;16 mode for 9-bit JPEG 2000 images <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7900">#7900</a>
[scaramallion, radarhere]</p>
</li>
<li>
<p>Raise ValueError if kmeans is negative <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7891">#7891</a>
[radarhere]</p>
</li>
<li>
<p>Remove TIFF tag OSUBFILETYPE when saving using libtiff <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7893">#7893</a>
[radarhere]</p>
</li>
<li>
<p>Raise ValueError for negative values when loading P1-P3 PPM images <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7882">#7882</a>
[radarhere]</p>
</li>
<li>
<p>Added reading of JPEG2000 palettes <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7870">#7870</a>
[radarhere]</p>
</li>
<li>
<p>Added alpha_quality argument when saving WebP images <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7872">#7872</a>
[radarhere]</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="5c89d88eee"><code>5c89d88</code></a>
10.3.0 version bump</li>
<li><a
href="63cbfcfdea"><code>63cbfcf</code></a>
Update CHANGES.rst [ci skip]</li>
<li><a
href="2776126aa9"><code>2776126</code></a>
Merge pull request <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7928">#7928</a>
from python-pillow/lcms</li>
<li><a
href="aeb51cbb16"><code>aeb51cb</code></a>
Merge branch 'main' into lcms</li>
<li><a
href="5beb0b6664"><code>5beb0b6</code></a>
Update CHANGES.rst [ci skip]</li>
<li><a
href="cac6ffa7b3"><code>cac6ffa</code></a>
Merge pull request <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7927">#7927</a>
from python-pillow/imagemath</li>
<li><a
href="f5eeeacf75"><code>f5eeeac</code></a>
Name as 'options' in lambda_eval and unsafe_eval, but '_dict' in
deprecated eval</li>
<li><a
href="facf3af93d"><code>facf3af</code></a>
Added release notes</li>
<li><a
href="2a93aba5cf"><code>2a93aba</code></a>
Use strncpy to avoid buffer overflow</li>
<li><a
href="a670597bc3"><code>a670597</code></a>
Update CHANGES.rst [ci skip]</li>
<li>Additional commits viewable in <a
href="https://github.com/python-pillow/Pillow/compare/10.2.0...10.3.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pillow&package-manager=pip&previous-version=10.2.0&new-version=10.3.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/dcs-liberation/dcs_liberation/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-10 12:42:45 +10:00
dependabot[bot]
143b775639 Bump express from 4.17.3 to 4.19.2 in /client (#3365)
Bumps [express](https://github.com/expressjs/express) from 4.17.3 to
4.19.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/expressjs/express/releases">express's
releases</a>.</em></p>
<blockquote>
<h2>4.19.2</h2>
<h2>What's Changed</h2>
<ul>
<li><a
href="0b746953c4">Improved
fix for open redirect allow list bypass</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/expressjs/express/compare/4.19.1...4.19.2">https://github.com/expressjs/express/compare/4.19.1...4.19.2</a></p>
<h2>4.19.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix ci after location patch by <a
href="https://github.com/wesleytodd"><code>@​wesleytodd</code></a> in <a
href="https://redirect.github.com/expressjs/express/pull/5552">expressjs/express#5552</a></li>
<li>fixed un-edited version in history.md for 4.19.0 by <a
href="https://github.com/wesleytodd"><code>@​wesleytodd</code></a> in <a
href="https://redirect.github.com/expressjs/express/pull/5556">expressjs/express#5556</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/expressjs/express/compare/4.19.0...4.19.1">https://github.com/expressjs/express/compare/4.19.0...4.19.1</a></p>
<h2>4.19.0</h2>
<h2>What's Changed</h2>
<ul>
<li>fix typo in release date by <a
href="https://github.com/UlisesGascon"><code>@​UlisesGascon</code></a>
in <a
href="https://redirect.github.com/expressjs/express/pull/5527">expressjs/express#5527</a></li>
<li>docs: nominating <a
href="https://github.com/wesleytodd"><code>@​wesleytodd</code></a> to be
project captian by <a
href="https://github.com/wesleytodd"><code>@​wesleytodd</code></a> in <a
href="https://redirect.github.com/expressjs/express/pull/5511">expressjs/express#5511</a></li>
<li>docs: loosen TC activity rules by <a
href="https://github.com/wesleytodd"><code>@​wesleytodd</code></a> in <a
href="https://redirect.github.com/expressjs/express/pull/5510">expressjs/express#5510</a></li>
<li>Add note on how to update docs for new release by <a
href="https://github.com/crandmck"><code>@​crandmck</code></a> in <a
href="https://redirect.github.com/expressjs/express/pull/5541">expressjs/express#5541</a></li>
<li><a
href="660ccf5fa3">Prevent
open redirect allow list bypass due to encodeurl</a></li>
<li>Release 4.19.0 by <a
href="https://github.com/wesleytodd"><code>@​wesleytodd</code></a> in <a
href="https://redirect.github.com/expressjs/express/pull/5551">expressjs/express#5551</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/crandmck"><code>@​crandmck</code></a>
made their first contribution in <a
href="https://redirect.github.com/expressjs/express/pull/5541">expressjs/express#5541</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/expressjs/express/compare/4.18.3...4.19.0">https://github.com/expressjs/express/compare/4.18.3...4.19.0</a></p>
<h2>4.18.3</h2>
<h2>Main Changes</h2>
<ul>
<li>Fix routing requests without method</li>
<li>deps: body-parser@1.20.2
<ul>
<li>Fix strict json error message on Node.js 19+</li>
<li>deps: content-type@~1.0.5</li>
<li>deps: raw-body@2.5.2</li>
</ul>
</li>
</ul>
<h2>Other Changes</h2>
<ul>
<li>Use https: protocol instead of deprecated git: protocol by <a
href="https://github.com/vcsjones"><code>@​vcsjones</code></a> in <a
href="https://redirect.github.com/expressjs/express/pull/5032">expressjs/express#5032</a></li>
<li>build: Node.js@16.18 and Node.js@18.12 by <a
href="https://github.com/abenhamdine"><code>@​abenhamdine</code></a> in
<a
href="https://redirect.github.com/expressjs/express/pull/5034">expressjs/express#5034</a></li>
<li>ci: update actions/checkout to v3 by <a
href="https://github.com/armujahid"><code>@​armujahid</code></a> in <a
href="https://redirect.github.com/expressjs/express/pull/5027">expressjs/express#5027</a></li>
<li>test: remove unused function arguments in params by <a
href="https://github.com/raksbisht"><code>@​raksbisht</code></a> in <a
href="https://redirect.github.com/expressjs/express/pull/5124">expressjs/express#5124</a></li>
<li>Remove unused originalIndex from acceptParams by <a
href="https://github.com/raksbisht"><code>@​raksbisht</code></a> in <a
href="https://redirect.github.com/expressjs/express/pull/5119">expressjs/express#5119</a></li>
<li>Fixed typos by <a
href="https://github.com/raksbisht"><code>@​raksbisht</code></a> in <a
href="https://redirect.github.com/expressjs/express/pull/5117">expressjs/express#5117</a></li>
<li>examples: remove unused params by <a
href="https://github.com/raksbisht"><code>@​raksbisht</code></a> in <a
href="https://redirect.github.com/expressjs/express/pull/5113">expressjs/express#5113</a></li>
<li>fix: parameter str is not described in JSDoc by <a
href="https://github.com/raksbisht"><code>@​raksbisht</code></a> in <a
href="https://redirect.github.com/expressjs/express/pull/5130">expressjs/express#5130</a></li>
<li>fix: typos in History.md by <a
href="https://github.com/raksbisht"><code>@​raksbisht</code></a> in <a
href="https://redirect.github.com/expressjs/express/pull/5131">expressjs/express#5131</a></li>
<li>build : add Node.js@19.7 by <a
href="https://github.com/abenhamdine"><code>@​abenhamdine</code></a> in
<a
href="https://redirect.github.com/expressjs/express/pull/5028">expressjs/express#5028</a></li>
<li>test: remove unused function arguments in params by <a
href="https://github.com/raksbisht"><code>@​raksbisht</code></a> in <a
href="https://redirect.github.com/expressjs/express/pull/5137">expressjs/express#5137</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/expressjs/express/blob/master/History.md">express's
changelog</a>.</em></p>
<blockquote>
<h1>4.19.2 / 2024-03-25</h1>
<ul>
<li>Improved fix for open redirect allow list bypass</li>
</ul>
<h1>4.19.1 / 2024-03-20</h1>
<ul>
<li>Allow passing non-strings to res.location with new encoding handling
checks</li>
</ul>
<h1>4.19.0 / 2024-03-20</h1>
<ul>
<li>Prevent open redirect allow list bypass due to encodeurl</li>
<li>deps: cookie@0.6.0</li>
</ul>
<h1>4.18.3 / 2024-02-29</h1>
<ul>
<li>Fix routing requests without method</li>
<li>deps: body-parser@1.20.2
<ul>
<li>Fix strict json error message on Node.js 19+</li>
<li>deps: content-type@~1.0.5</li>
<li>deps: raw-body@2.5.2</li>
</ul>
</li>
<li>deps: cookie@0.6.0
<ul>
<li>Add <code>partitioned</code> option</li>
</ul>
</li>
</ul>
<h1>4.18.2 / 2022-10-08</h1>
<ul>
<li>Fix regression routing a large stack in a single route</li>
<li>deps: body-parser@1.20.1
<ul>
<li>deps: qs@6.11.0</li>
<li>perf: remove unnecessary object clone</li>
</ul>
</li>
<li>deps: qs@6.11.0</li>
</ul>
<h1>4.18.1 / 2022-04-29</h1>
<ul>
<li>Fix hanging on large stack of sync routes</li>
</ul>
<h1>4.18.0 / 2022-04-25</h1>
<ul>
<li>Add &quot;root&quot; option to <code>res.download</code></li>
<li>Allow <code>options</code> without <code>filename</code> in
<code>res.download</code></li>
<li>Deprecate string and non-integer arguments to
<code>res.status</code></li>
<li>Fix behavior of <code>null</code>/<code>undefined</code> as
<code>maxAge</code> in <code>res.cookie</code></li>
<li>Fix handling very large stacks of sync middleware</li>
<li>Ignore <code>Object.prototype</code> values in settings through
<code>app.set</code>/<code>app.get</code></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="04bc62787b"><code>04bc627</code></a>
4.19.2</li>
<li><a
href="da4d763ff6"><code>da4d763</code></a>
Improved fix for open redirect allow list bypass</li>
<li><a
href="4f0f6cc67d"><code>4f0f6cc</code></a>
4.19.1</li>
<li><a
href="a003cfab03"><code>a003cfa</code></a>
Allow passing non-strings to res.location with new encoding handling
checks f...</li>
<li><a
href="a1fa90fcea"><code>a1fa90f</code></a>
fixed un-edited version in history.md for 4.19.0</li>
<li><a
href="11f2b1db22"><code>11f2b1d</code></a>
build: fix build due to inconsistent supertest behavior in older
versions</li>
<li><a
href="084e36506a"><code>084e365</code></a>
4.19.0</li>
<li><a
href="0867302ddb"><code>0867302</code></a>
Prevent open redirect allow list bypass due to encodeurl</li>
<li><a
href="567c9c665d"><code>567c9c6</code></a>
Add note on how to update docs for new release (<a
href="https://redirect.github.com/expressjs/express/issues/5541">#5541</a>)</li>
<li><a
href="69a4cf2819"><code>69a4cf2</code></a>
deps: cookie@0.6.0</li>
<li>Additional commits viewable in <a
href="https://github.com/expressjs/express/compare/4.17.3...4.19.2">compare
view</a></li>
</ul>
</details>
<details>
<summary>Maintainer changes</summary>
<p>This version was pushed to npm by <a
href="https://www.npmjs.com/~wesleytodd">wesleytodd</a>, a new releaser
for express since your current version.</p>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=express&package-manager=npm_and_yarn&previous-version=4.17.3&new-version=4.19.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/dcs-liberation/dcs_liberation/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-29 22:44:03 +01:00
dependabot[bot]
f296925c22 Bump webpack-dev-middleware from 5.3.1 to 5.3.4 in /client (#3363)
Bumps
[webpack-dev-middleware](https://github.com/webpack/webpack-dev-middleware)
from 5.3.1 to 5.3.4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/webpack/webpack-dev-middleware/releases">webpack-dev-middleware's
releases</a>.</em></p>
<blockquote>
<h2>v5.3.4</h2>
<h3><a
href="https://github.com/webpack/webpack-dev-middleware/compare/v5.3.3...v5.3.4">5.3.4</a>
(2024-03-20)</h3>
<h3>Bug Fixes</h3>
<ul>
<li><strong>security:</strong> do not allow to read files above (<a
href="https://redirect.github.com/webpack/webpack-dev-middleware/issues/1779">#1779</a>)
(<a
href="189c4ac7d2">189c4ac</a>)</li>
</ul>
<h2>v5.3.3</h2>
<h3><a
href="https://github.com/webpack/webpack-dev-middleware/compare/v5.3.2...v5.3.3">5.3.3</a>
(2022-05-18)</h3>
<h3>Bug Fixes</h3>
<ul>
<li>types for <code>Request</code> and <code>Response</code> (<a
href="https://redirect.github.com/webpack/webpack-dev-middleware/issues/1271">#1271</a>)
(<a
href="eeb8aa8b11">eeb8aa8</a>)</li>
</ul>
<h2>v5.3.2</h2>
<h3><a
href="https://github.com/webpack/webpack-dev-middleware/compare/v5.3.1...v5.3.2">5.3.2</a>
(2022-05-17)</h3>
<h3>Bug Fixes</h3>
<ul>
<li>node types (<a
href="https://redirect.github.com/webpack/webpack-dev-middleware/issues/1195">#1195</a>)
(<a
href="d68ab3607a">d68ab36</a>)</li>
<li>compatibility with Node.js 18</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/webpack/webpack-dev-middleware/blob/v5.3.4/CHANGELOG.md">webpack-dev-middleware's
changelog</a>.</em></p>
<blockquote>
<h3><a
href="https://github.com/webpack/webpack-dev-middleware/compare/v5.3.3...v5.3.4">5.3.4</a>
(2024-03-20)</h3>
<h3>Bug Fixes</h3>
<ul>
<li><strong>security:</strong> do not allow to read files above (<a
href="https://redirect.github.com/webpack/webpack-dev-middleware/issues/1779">#1779</a>)
(<a
href="189c4ac7d2">189c4ac</a>)</li>
</ul>
<h3><a
href="https://github.com/webpack/webpack-dev-middleware/compare/v5.3.2...v5.3.3">5.3.3</a>
(2022-05-18)</h3>
<h3>Bug Fixes</h3>
<ul>
<li>types for <code>Request</code> and <code>Response</code> (<a
href="https://redirect.github.com/webpack/webpack-dev-middleware/issues/1271">#1271</a>)
(<a
href="eeb8aa8b11">eeb8aa8</a>)</li>
</ul>
<h3><a
href="https://github.com/webpack/webpack-dev-middleware/compare/v5.3.1...v5.3.2">5.3.2</a>
(2022-05-17)</h3>
<h3>Bug Fixes</h3>
<ul>
<li>node types (<a
href="https://redirect.github.com/webpack/webpack-dev-middleware/issues/1195">#1195</a>)
(<a
href="d68ab3607a">d68ab36</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="86071ead69"><code>86071ea</code></a>
chore(release): 5.3.4</li>
<li><a
href="189c4ac7d2"><code>189c4ac</code></a>
fix(security): do not allow to read files above (<a
href="https://redirect.github.com/webpack/webpack-dev-middleware/issues/1779">#1779</a>)</li>
<li><a
href="f3c62b8176"><code>f3c62b8</code></a>
chore(release): 5.3.3</li>
<li><a
href="eeb8aa8b11"><code>eeb8aa8</code></a>
fix: types for <code>Request</code> and <code>Response</code> (<a
href="https://redirect.github.com/webpack/webpack-dev-middleware/issues/1271">#1271</a>)</li>
<li><a
href="1a45388bcf"><code>1a45388</code></a>
chore(release): 5.3.2</li>
<li><a
href="b8fb945b1b"><code>b8fb945</code></a>
chore(deps): memfs force update (<a
href="https://redirect.github.com/webpack/webpack-dev-middleware/issues/1269">#1269</a>)</li>
<li><a
href="f88067d31f"><code>f88067d</code></a>
chore: update deps and ci (<a
href="https://redirect.github.com/webpack/webpack-dev-middleware/issues/1260">#1260</a>)</li>
<li><a
href="71863189d8"><code>7186318</code></a>
chore(deps-dev): bump <code>@​commitlint/cli</code></li>
<li><a
href="57c50ef1b6"><code>57c50ef</code></a>
ci: update <code>checkout</code>, <code>setup-node</code>, and
<code>codecov</code> actions (<a
href="https://redirect.github.com/webpack/webpack-dev-middleware/issues/1267">#1267</a>)</li>
<li><a
href="840146a501"><code>840146a</code></a>
chore(deps-dev): bump <code>@​babel/preset-env</code></li>
<li>Additional commits viewable in <a
href="https://github.com/webpack/webpack-dev-middleware/compare/v5.3.1...v5.3.4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=webpack-dev-middleware&package-manager=npm_and_yarn&previous-version=5.3.1&new-version=5.3.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/dcs-liberation/dcs_liberation/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-29 22:42:27 +01:00
120 changed files with 3660 additions and 261 deletions

View File

@@ -31,7 +31,7 @@ body:
If the bug was found in a development build, select "Development build"
and provide a link to the build in the field below.
options:
- 10.0.0
- 11.0.0
- Development build
- type: textarea
attributes:

View File

@@ -39,7 +39,7 @@ body:
If the bug was found in a development build, select "Development build"
and provide a link to the build in the field below.
options:
- 10.0.0
- 11.0.0
- Development build
- type: textarea
attributes:

View File

@@ -6,7 +6,7 @@ runs:
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: "3.11"
python-version: "3.11.4"
cache: pip
- name: Install environment

View File

@@ -17,11 +17,6 @@
DCS Liberation is a [DCS World](https://www.digitalcombatsimulator.com/en/products/world/) turn based single-player or co-op dynamic campaign.
It is an external program that generates full and complex DCS missions and manage a persistent combat environment.
**Note that DCS Liberation does not support the stable release of DCS. We can
only guarantee compatibility with either the open beta or the stable release,
and more people play the open beta. DCS stable _might_ work sometimes, but it's
untested, and we will be unable to fix any bugs unique to stable DCS.**
![Screenshot](https://user-images.githubusercontent.com/315852/120939254-0b4a9f80-c6cc-11eb-82f5-ce3f8d714bfe.png)
## Downloads

View File

@@ -1,3 +1,27 @@
# 11.1.0
Saves from 11.0.0 are compatible with 11.1.0. See Known Issues section for exceptions.
## Features/Improvements
* **[Engine]** Support for DCS 2.9.5.55918 including Heatblur F-4E and Polychop OH-58D Kiowa Warrior support.
## Fixes
* **[Campaign]** Fixed double counting of parked aircraft kills when DCS reports multiple kill events.
* **[Campaign]** Fixed error where frontline units are not re-deployed when multiple control points were captured in one turn or when control points are captured "out of order" using air-assault missions.
* **[Cheat Menu]** Re-deploy frontline units when using cheats to capture control points, so that cheats behave the same way as capturing a control point in-mission.
* **[Data]** Added FuSe-65 Early Warning Radar.
* **[Data]** Updated Peru 1995 and Germany 1944 factions.
* **[Flight Planning]** Theater refuelling flight plans (those not tied to a particular package) will remain on station for a longer period, specifically the desired mission duration + 30 minutes. By default, this increases the on-station time from 1 hour to 1.5 hours.
* **[Mission Generation]** Patched bug where Liberation crashed when aborting a turn when Fighter Sweep missions were planned.
* **[Radios]** Added radio setup for F-5E, F-86, Mi-8 and Mi-24.
* **[UI]** Naval control points (carriers, LHAs) can no longer be moved onto land.
## Known Issues
* When loading saves from 11.0, loadouts with AGM-45B (Imp), typically on A-4E-C mod, will have the AGM-45B replaced with an empty pylon due to changes in DCS for this weapon. The AGM-45A is not affected by this issue.
# 11.0.0
Saves from 10.x are not compatible with 11.0.0.

510
client/package-lock.json generated
View File

@@ -6097,11 +6097,11 @@
}
},
"node_modules/axios": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/axios/-/axios-1.6.0.tgz",
"integrity": "sha512-EZ1DYihju9pwVB+jg67ogm+Tmqc6JmhamRN6I4Zt8DfZu5lbcQGw3ozH9lFejSJgs/ibaef3A9PMXPLeefFGJg==",
"version": "1.6.8",
"resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz",
"integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==",
"dependencies": {
"follow-redirects": "^1.15.0",
"follow-redirects": "^1.15.6",
"form-data": "^4.0.0",
"proxy-from-env": "^1.1.0"
}
@@ -6544,24 +6544,27 @@
"dev": true
},
"node_modules/body-parser": {
"version": "1.19.2",
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.2.tgz",
"integrity": "sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==",
"version": "1.20.2",
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz",
"integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==",
"dev": true,
"dependencies": {
"bytes": "3.1.2",
"content-type": "~1.0.4",
"content-type": "~1.0.5",
"debug": "2.6.9",
"depd": "~1.1.2",
"http-errors": "1.8.1",
"depd": "2.0.0",
"destroy": "1.2.0",
"http-errors": "2.0.0",
"iconv-lite": "0.4.24",
"on-finished": "~2.3.0",
"qs": "6.9.7",
"raw-body": "2.4.3",
"type-is": "~1.6.18"
"on-finished": "2.4.1",
"qs": "6.11.0",
"raw-body": "2.5.2",
"type-is": "~1.6.18",
"unpipe": "1.0.0"
},
"engines": {
"node": ">= 0.8"
"node": ">= 0.8",
"npm": "1.2.8000 || >= 1.4.16"
}
},
"node_modules/body-parser/node_modules/bytes": {
@@ -6582,6 +6585,15 @@
"ms": "2.0.0"
}
},
"node_modules/body-parser/node_modules/depd": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
"integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
"dev": true,
"engines": {
"node": ">= 0.8"
}
},
"node_modules/body-parser/node_modules/iconv-lite": {
"version": "0.4.24",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
@@ -6597,7 +6609,7 @@
"node_modules/body-parser/node_modules/ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
"dev": true
},
"node_modules/bonjour": {
@@ -7278,9 +7290,9 @@
]
},
"node_modules/content-type": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
"integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
"integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
"dev": true,
"engines": {
"node": ">= 0.6"
@@ -8041,10 +8053,14 @@
}
},
"node_modules/destroy": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
"integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
"dev": true
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
"integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
"dev": true,
"engines": {
"node": ">= 0.8",
"npm": "1.2.8000 || >= 1.4.16"
}
},
"node_modules/detect-newline": {
"version": "3.1.0",
@@ -8329,13 +8345,13 @@
"node_modules/ee-first": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
"integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
"dev": true
},
"node_modules/ejs": {
"version": "3.1.7",
"resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.7.tgz",
"integrity": "sha512-BIar7R6abbUxDA3bfXrO4DSgwo8I+fB5/1zgujl3HLLjwd6+9iOnrT+t3grn2qbk9vOgBubXOFwX2m9axoFaGw==",
"version": "3.1.10",
"resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz",
"integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==",
"dev": true,
"dependencies": {
"jake": "^10.8.5"
@@ -8436,7 +8452,7 @@
"node_modules/encodeurl": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
"integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
"integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
"dev": true,
"engines": {
"node": ">= 0.8"
@@ -9398,7 +9414,7 @@
"node_modules/etag": {
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
"integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
"integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
"dev": true,
"engines": {
"node": ">= 0.6"
@@ -9467,38 +9483,39 @@
}
},
"node_modules/express": {
"version": "4.17.3",
"resolved": "https://registry.npmjs.org/express/-/express-4.17.3.tgz",
"integrity": "sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==",
"version": "4.19.2",
"resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz",
"integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==",
"dev": true,
"dependencies": {
"accepts": "~1.3.8",
"array-flatten": "1.1.1",
"body-parser": "1.19.2",
"body-parser": "1.20.2",
"content-disposition": "0.5.4",
"content-type": "~1.0.4",
"cookie": "0.4.2",
"cookie": "0.6.0",
"cookie-signature": "1.0.6",
"debug": "2.6.9",
"depd": "~1.1.2",
"depd": "2.0.0",
"encodeurl": "~1.0.2",
"escape-html": "~1.0.3",
"etag": "~1.8.1",
"finalhandler": "~1.1.2",
"finalhandler": "1.2.0",
"fresh": "0.5.2",
"http-errors": "2.0.0",
"merge-descriptors": "1.0.1",
"methods": "~1.1.2",
"on-finished": "~2.3.0",
"on-finished": "2.4.1",
"parseurl": "~1.3.3",
"path-to-regexp": "0.1.7",
"proxy-addr": "~2.0.7",
"qs": "6.9.7",
"qs": "6.11.0",
"range-parser": "~1.2.1",
"safe-buffer": "5.2.1",
"send": "0.17.2",
"serve-static": "1.14.2",
"send": "0.18.0",
"serve-static": "1.15.0",
"setprototypeof": "1.2.0",
"statuses": "~1.5.0",
"statuses": "2.0.1",
"type-is": "~1.6.18",
"utils-merge": "1.0.1",
"vary": "~1.1.2"
@@ -9513,6 +9530,15 @@
"integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=",
"dev": true
},
"node_modules/express/node_modules/cookie": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz",
"integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==",
"dev": true,
"engines": {
"node": ">= 0.6"
}
},
"node_modules/express/node_modules/debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
@@ -9522,6 +9548,15 @@
"ms": "2.0.0"
}
},
"node_modules/express/node_modules/depd": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
"integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
"dev": true,
"engines": {
"node": ">= 0.8"
}
},
"node_modules/express/node_modules/ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
@@ -9548,6 +9583,15 @@
}
]
},
"node_modules/express/node_modules/statuses": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
"integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
"dev": true,
"engines": {
"node": ">= 0.8"
}
},
"node_modules/external-editor": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
@@ -9798,17 +9842,17 @@
}
},
"node_modules/finalhandler": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
"integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
"integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
"dev": true,
"dependencies": {
"debug": "2.6.9",
"encodeurl": "~1.0.2",
"escape-html": "~1.0.3",
"on-finished": "~2.3.0",
"on-finished": "2.4.1",
"parseurl": "~1.3.3",
"statuses": "~1.5.0",
"statuses": "2.0.1",
"unpipe": "~1.0.0"
},
"engines": {
@@ -9827,9 +9871,18 @@
"node_modules/finalhandler/node_modules/ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
"dev": true
},
"node_modules/finalhandler/node_modules/statuses": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
"integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
"dev": true,
"engines": {
"node": ">= 0.8"
}
},
"node_modules/find-cache-dir": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz",
@@ -10116,7 +10169,7 @@
"node_modules/fresh": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
"integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
"integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
"dev": true,
"engines": {
"node": ">= 0.6"
@@ -10137,9 +10190,9 @@
}
},
"node_modules/fs-monkey": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz",
"integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==",
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz",
"integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==",
"dev": true
},
"node_modules/fs.realpath": {
@@ -10774,19 +10827,37 @@
"dev": true
},
"node_modules/http-errors": {
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz",
"integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==",
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
"integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
"dev": true,
"dependencies": {
"depd": "~1.1.2",
"depd": "2.0.0",
"inherits": "2.0.4",
"setprototypeof": "1.2.0",
"statuses": ">= 1.5.0 < 2",
"statuses": "2.0.1",
"toidentifier": "1.0.1"
},
"engines": {
"node": ">= 0.6"
"node": ">= 0.8"
}
},
"node_modules/http-errors/node_modules/depd": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
"integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
"dev": true,
"engines": {
"node": ">= 0.8"
}
},
"node_modules/http-errors/node_modules/statuses": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
"integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
"dev": true,
"engines": {
"node": ">= 0.8"
}
},
"node_modules/http-parser-js": {
@@ -14300,19 +14371,19 @@
"node_modules/media-typer": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
"integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
"integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
"dev": true,
"engines": {
"node": ">= 0.6"
}
},
"node_modules/memfs": {
"version": "3.4.1",
"resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.1.tgz",
"integrity": "sha512-1c9VPVvW5P7I85c35zAdEr1TD5+F11IToIHIlrVIcflfnzPkJa0ZoYEoEdYDP8KgPFoSZ/opDrUsAoZWym3mtw==",
"version": "3.5.3",
"resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz",
"integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==",
"dev": true,
"dependencies": {
"fs-monkey": "1.0.3"
"fs-monkey": "^1.0.4"
},
"engines": {
"node": ">= 4.0.0"
@@ -15233,9 +15304,9 @@
"dev": true
},
"node_modules/on-finished": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
"integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
"integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
"dev": true,
"dependencies": {
"ee-first": "1.1.1"
@@ -17161,10 +17232,13 @@
}
},
"node_modules/qs": {
"version": "6.9.7",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz",
"integrity": "sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==",
"version": "6.11.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
"integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
"dev": true,
"dependencies": {
"side-channel": "^1.0.4"
},
"engines": {
"node": ">=0.6"
},
@@ -17244,13 +17318,13 @@
}
},
"node_modules/raw-body": {
"version": "2.4.3",
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.3.tgz",
"integrity": "sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==",
"version": "2.5.2",
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz",
"integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==",
"dev": true,
"dependencies": {
"bytes": "3.1.2",
"http-errors": "1.8.1",
"http-errors": "2.0.0",
"iconv-lite": "0.4.24",
"unpipe": "1.0.0"
},
@@ -18392,24 +18466,24 @@
"optional": true
},
"node_modules/send": {
"version": "0.17.2",
"resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz",
"integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==",
"version": "0.18.0",
"resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
"integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
"dev": true,
"dependencies": {
"debug": "2.6.9",
"depd": "~1.1.2",
"destroy": "~1.0.4",
"depd": "2.0.0",
"destroy": "1.2.0",
"encodeurl": "~1.0.2",
"escape-html": "~1.0.3",
"etag": "~1.8.1",
"fresh": "0.5.2",
"http-errors": "1.8.1",
"http-errors": "2.0.0",
"mime": "1.6.0",
"ms": "2.1.3",
"on-finished": "~2.3.0",
"on-finished": "2.4.1",
"range-parser": "~1.2.1",
"statuses": "~1.5.0"
"statuses": "2.0.1"
},
"engines": {
"node": ">= 0.8.0"
@@ -18427,15 +18501,33 @@
"node_modules/send/node_modules/debug/node_modules/ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
"dev": true
},
"node_modules/send/node_modules/depd": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
"integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
"dev": true,
"engines": {
"node": ">= 0.8"
}
},
"node_modules/send/node_modules/ms": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"dev": true
},
"node_modules/send/node_modules/statuses": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
"integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
"dev": true,
"engines": {
"node": ">= 0.8"
}
},
"node_modules/serialize-error": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz",
@@ -18535,15 +18627,15 @@
"dev": true
},
"node_modules/serve-static": {
"version": "1.14.2",
"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz",
"integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==",
"version": "1.15.0",
"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
"integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
"dev": true,
"dependencies": {
"encodeurl": "~1.0.2",
"escape-html": "~1.0.3",
"parseurl": "~1.3.3",
"send": "0.17.2"
"send": "0.18.0"
},
"engines": {
"node": ">= 0.8.0"
@@ -20034,7 +20126,7 @@
"node_modules/unpipe": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
"integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
"integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
"dev": true,
"engines": {
"node": ">= 0.8"
@@ -20396,13 +20488,13 @@
}
},
"node_modules/webpack-dev-middleware": {
"version": "5.3.1",
"resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.1.tgz",
"integrity": "sha512-81EujCKkyles2wphtdrnPg/QqegC/AtqNH//mQkBYSMqwFVCQrxM6ktB2O/SPlZy7LqeEfTbV3cZARGQz6umhg==",
"version": "5.3.4",
"resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz",
"integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==",
"dev": true,
"dependencies": {
"colorette": "^2.0.10",
"memfs": "^3.4.1",
"memfs": "^3.4.3",
"mime-types": "^2.1.31",
"range-parser": "^1.2.1",
"schema-utils": "^4.0.0"
@@ -25862,11 +25954,11 @@
"dev": true
},
"axios": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/axios/-/axios-1.6.0.tgz",
"integrity": "sha512-EZ1DYihju9pwVB+jg67ogm+Tmqc6JmhamRN6I4Zt8DfZu5lbcQGw3ozH9lFejSJgs/ibaef3A9PMXPLeefFGJg==",
"version": "1.6.8",
"resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz",
"integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==",
"requires": {
"follow-redirects": "^1.15.0",
"follow-redirects": "^1.15.6",
"form-data": "^4.0.0",
"proxy-from-env": "^1.1.0"
},
@@ -26211,21 +26303,23 @@
"dev": true
},
"body-parser": {
"version": "1.19.2",
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.2.tgz",
"integrity": "sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==",
"version": "1.20.2",
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz",
"integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==",
"dev": true,
"requires": {
"bytes": "3.1.2",
"content-type": "~1.0.4",
"content-type": "~1.0.5",
"debug": "2.6.9",
"depd": "~1.1.2",
"http-errors": "1.8.1",
"depd": "2.0.0",
"destroy": "1.2.0",
"http-errors": "2.0.0",
"iconv-lite": "0.4.24",
"on-finished": "~2.3.0",
"qs": "6.9.7",
"raw-body": "2.4.3",
"type-is": "~1.6.18"
"on-finished": "2.4.1",
"qs": "6.11.0",
"raw-body": "2.5.2",
"type-is": "~1.6.18",
"unpipe": "1.0.0"
},
"dependencies": {
"bytes": {
@@ -26243,6 +26337,12 @@
"ms": "2.0.0"
}
},
"depd": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
"integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
"dev": true
},
"iconv-lite": {
"version": "0.4.24",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
@@ -26255,7 +26355,7 @@
"ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
"dev": true
}
}
@@ -26771,9 +26871,9 @@
}
},
"content-type": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
"integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
"integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
"dev": true
},
"convert-source-map": {
@@ -27319,9 +27419,9 @@
"dev": true
},
"destroy": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
"integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
"integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
"dev": true
},
"detect-newline": {
@@ -27556,13 +27656,13 @@
"ee-first": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
"integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
"dev": true
},
"ejs": {
"version": "3.1.7",
"resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.7.tgz",
"integrity": "sha512-BIar7R6abbUxDA3bfXrO4DSgwo8I+fB5/1zgujl3HLLjwd6+9iOnrT+t3grn2qbk9vOgBubXOFwX2m9axoFaGw==",
"version": "3.1.10",
"resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz",
"integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==",
"dev": true,
"requires": {
"jake": "^10.8.5"
@@ -27639,7 +27739,7 @@
"encodeurl": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
"integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
"integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
"dev": true
},
"end-of-stream": {
@@ -28356,7 +28456,7 @@
"etag": {
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
"integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
"integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
"dev": true
},
"eventemitter3": {
@@ -28407,38 +28507,39 @@
}
},
"express": {
"version": "4.17.3",
"resolved": "https://registry.npmjs.org/express/-/express-4.17.3.tgz",
"integrity": "sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==",
"version": "4.19.2",
"resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz",
"integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==",
"dev": true,
"requires": {
"accepts": "~1.3.8",
"array-flatten": "1.1.1",
"body-parser": "1.19.2",
"body-parser": "1.20.2",
"content-disposition": "0.5.4",
"content-type": "~1.0.4",
"cookie": "0.4.2",
"cookie": "0.6.0",
"cookie-signature": "1.0.6",
"debug": "2.6.9",
"depd": "~1.1.2",
"depd": "2.0.0",
"encodeurl": "~1.0.2",
"escape-html": "~1.0.3",
"etag": "~1.8.1",
"finalhandler": "~1.1.2",
"finalhandler": "1.2.0",
"fresh": "0.5.2",
"http-errors": "2.0.0",
"merge-descriptors": "1.0.1",
"methods": "~1.1.2",
"on-finished": "~2.3.0",
"on-finished": "2.4.1",
"parseurl": "~1.3.3",
"path-to-regexp": "0.1.7",
"proxy-addr": "~2.0.7",
"qs": "6.9.7",
"qs": "6.11.0",
"range-parser": "~1.2.1",
"safe-buffer": "5.2.1",
"send": "0.17.2",
"serve-static": "1.14.2",
"send": "0.18.0",
"serve-static": "1.15.0",
"setprototypeof": "1.2.0",
"statuses": "~1.5.0",
"statuses": "2.0.1",
"type-is": "~1.6.18",
"utils-merge": "1.0.1",
"vary": "~1.1.2"
@@ -28450,6 +28551,12 @@
"integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=",
"dev": true
},
"cookie": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz",
"integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==",
"dev": true
},
"debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
@@ -28459,6 +28566,12 @@
"ms": "2.0.0"
}
},
"depd": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
"integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
"dev": true
},
"ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
@@ -28470,6 +28583,12 @@
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
"dev": true
},
"statuses": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
"integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
"dev": true
}
}
},
@@ -28674,17 +28793,17 @@
}
},
"finalhandler": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
"integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
"integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
"dev": true,
"requires": {
"debug": "2.6.9",
"encodeurl": "~1.0.2",
"escape-html": "~1.0.3",
"on-finished": "~2.3.0",
"on-finished": "2.4.1",
"parseurl": "~1.3.3",
"statuses": "~1.5.0",
"statuses": "2.0.1",
"unpipe": "~1.0.0"
},
"dependencies": {
@@ -28700,7 +28819,13 @@
"ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
"dev": true
},
"statuses": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
"integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
"dev": true
}
}
@@ -28896,7 +29021,7 @@
"fresh": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
"integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
"integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
"dev": true
},
"fs-extra": {
@@ -28911,9 +29036,9 @@
}
},
"fs-monkey": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz",
"integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==",
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz",
"integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==",
"dev": true
},
"fs.realpath": {
@@ -29401,16 +29526,30 @@
"dev": true
},
"http-errors": {
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz",
"integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==",
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
"integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
"dev": true,
"requires": {
"depd": "~1.1.2",
"depd": "2.0.0",
"inherits": "2.0.4",
"setprototypeof": "1.2.0",
"statuses": ">= 1.5.0 < 2",
"statuses": "2.0.1",
"toidentifier": "1.0.1"
},
"dependencies": {
"depd": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
"integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
"dev": true
},
"statuses": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
"integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
"dev": true
}
}
},
"http-parser-js": {
@@ -32027,16 +32166,16 @@
"media-typer": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
"integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
"integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
"dev": true
},
"memfs": {
"version": "3.4.1",
"resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.1.tgz",
"integrity": "sha512-1c9VPVvW5P7I85c35zAdEr1TD5+F11IToIHIlrVIcflfnzPkJa0ZoYEoEdYDP8KgPFoSZ/opDrUsAoZWym3mtw==",
"version": "3.5.3",
"resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz",
"integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==",
"dev": true,
"requires": {
"fs-monkey": "1.0.3"
"fs-monkey": "^1.0.4"
}
},
"merge-descriptors": {
@@ -32724,9 +32863,9 @@
"dev": true
},
"on-finished": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
"integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
"integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
"dev": true,
"requires": {
"ee-first": "1.1.1"
@@ -34049,10 +34188,13 @@
"dev": true
},
"qs": {
"version": "6.9.7",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz",
"integrity": "sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==",
"dev": true
"version": "6.11.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
"integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
"dev": true,
"requires": {
"side-channel": "^1.0.4"
}
},
"querystringify": {
"version": "2.2.0",
@@ -34103,13 +34245,13 @@
"dev": true
},
"raw-body": {
"version": "2.4.3",
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.3.tgz",
"integrity": "sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==",
"version": "2.5.2",
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz",
"integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==",
"dev": true,
"requires": {
"bytes": "3.1.2",
"http-errors": "1.8.1",
"http-errors": "2.0.0",
"iconv-lite": "0.4.24",
"unpipe": "1.0.0"
},
@@ -34951,24 +35093,24 @@
"optional": true
},
"send": {
"version": "0.17.2",
"resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz",
"integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==",
"version": "0.18.0",
"resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
"integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
"dev": true,
"requires": {
"debug": "2.6.9",
"depd": "~1.1.2",
"destroy": "~1.0.4",
"depd": "2.0.0",
"destroy": "1.2.0",
"encodeurl": "~1.0.2",
"escape-html": "~1.0.3",
"etag": "~1.8.1",
"fresh": "0.5.2",
"http-errors": "1.8.1",
"http-errors": "2.0.0",
"mime": "1.6.0",
"ms": "2.1.3",
"on-finished": "~2.3.0",
"on-finished": "2.4.1",
"range-parser": "~1.2.1",
"statuses": "~1.5.0"
"statuses": "2.0.1"
},
"dependencies": {
"debug": {
@@ -34983,16 +35125,28 @@
"ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
"dev": true
}
}
},
"depd": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
"integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
"dev": true
},
"ms": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"dev": true
},
"statuses": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
"integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
"dev": true
}
}
},
@@ -35081,15 +35235,15 @@
}
},
"serve-static": {
"version": "1.14.2",
"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz",
"integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==",
"version": "1.15.0",
"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
"integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
"dev": true,
"requires": {
"encodeurl": "~1.0.2",
"escape-html": "~1.0.3",
"parseurl": "~1.3.3",
"send": "0.17.2"
"send": "0.18.0"
}
},
"set-cookie-parser": {
@@ -36251,7 +36405,7 @@
"unpipe": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
"integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
"integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
"dev": true
},
"unquote": {
@@ -36560,13 +36714,13 @@
}
},
"webpack-dev-middleware": {
"version": "5.3.1",
"resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.1.tgz",
"integrity": "sha512-81EujCKkyles2wphtdrnPg/QqegC/AtqNH//mQkBYSMqwFVCQrxM6ktB2O/SPlZy7LqeEfTbV3cZARGQz6umhg==",
"version": "5.3.4",
"resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz",
"integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==",
"dev": true,
"requires": {
"colorette": "^2.0.10",
"memfs": "^3.4.1",
"memfs": "^3.4.3",
"mime-types": "^2.1.31",
"range-parser": "^1.2.1",
"schema-utils": "^4.0.0"

View File

@@ -7,9 +7,9 @@
# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
project = "DCS Liberation"
copyright = "2023, DCS Liberation Team"
copyright = "2024, DCS Liberation Team"
author = "DCS Liberation Team"
release = "11.0.0"
release = "11.1.0"
# -- General configuration ---------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration

View File

@@ -17,7 +17,13 @@ class TheaterRefuelingFlightPlan(RefuelingFlightPlan):
@property
def patrol_duration(self) -> timedelta:
return timedelta(hours=1)
# Add 30 minutes to desired_player_mission_duration as TOTs for flights
# can sit up to this time. This extension means the tanker remains on
# station for the flights' return.
return (
self.flight.coalition.game.settings.desired_player_mission_duration
+ timedelta(minutes=30)
)
class Builder(IBuilder[TheaterRefuelingFlightPlan, PatrollingLayout]):

View File

@@ -61,6 +61,8 @@ class MizCampaignLoader:
AirDefence.Hawk_ln.id,
AirDefence.S_75M_Volhov.id,
AirDefence.X_5p73_s_125_ln.id,
AirDefence.NASAMS_LN_B.id,
AirDefence.NASAMS_LN_C.id,
}
SHORT_RANGE_SAM_UNIT_TYPES = {

View File

@@ -34,6 +34,10 @@ from game.radio.channels import (
ViggenRadioChannelAllocator,
ViperChannelNamer,
WarthogChannelNamer,
PhantomChannelNamer,
HindChannelNamer,
HipChannelNamer,
KiowaChannelNamer,
)
from game.utils import (
Distance,
@@ -110,6 +114,10 @@ class RadioConfig:
"apache": ApacheChannelNamer,
"a10c-legacy": LegacyWarthogChannelNamer,
"a10c-ii": WarthogChannelNamer,
"phantom": PhantomChannelNamer,
"hind": HindChannelNamer,
"hip": HipChannelNamer,
"kiowa": KiowaChannelNamer,
}[config.get("namer", "default")]
@@ -498,9 +506,11 @@ class AircraftType(UnitType[Type[FlyingType]]):
patrol_altitude=patrol_config.altitude,
patrol_speed=patrol_config.speed,
max_mission_range=mission_range,
cruise_speed=knots(data["cruise_speed_kt_indicated"])
if "cruise_speed_kt_indicated" in data
else None,
cruise_speed=(
knots(data["cruise_speed_kt_indicated"])
if "cruise_speed_kt_indicated" in data
else None
),
fuel_consumption=fuel_consumption,
default_livery=data.get("default_livery"),
intra_flight_radio=radio_config.intra_flight,

View File

@@ -391,6 +391,9 @@ class Debriefing:
else:
enemy_losses.append(aircraft)
# Keep track of damaged units that are counted as killed so we don't double count
# when DCS reports damage multiple times.
units_killed_by_damage = set()
for unit_data in self.state_data.unit_hit_point_updates:
damaged_unit = FlyingUnitHitPointUpdate.from_json(unit_data, self.unit_map)
if damaged_unit is None:
@@ -399,6 +402,9 @@ class Debriefing:
# If unit already killed, nothing to do.
if unit_data["name"] in self.state_data.killed_aircraft:
continue
if unit_data["name"] in units_killed_by_damage:
continue
units_killed_by_damage.add(unit_data["name"])
if damaged_unit.is_friendly(to_player=True):
player_losses.append(damaged_unit.unit)
else:

View File

@@ -389,3 +389,64 @@ class WarthogChannelNamer(ChannelNamer):
@classmethod
def name(cls) -> str:
return "a10c-ii"
class PhantomChannelNamer(ChannelNamer):
"""Channel namer for the F4-E."""
@staticmethod
def channel_name(radio_id: int, channel_id: int) -> str:
radio_name = [
"COMM", # AN/ARC-164 COMM
"AUX", # AN/ARC-164 AUX
][radio_id - 1]
return f"{radio_name} Ch {channel_id}"
@classmethod
def name(cls) -> str:
return "phantom"
class HindChannelNamer(ChannelNamer):
"""Channel namer for Mi-24 Hind"""
@staticmethod
def channel_name(radio_id: int, channel_id: int) -> str:
radio_name = [
"R863",
"R828",
][radio_id - 1]
return f"{radio_name} Ch {channel_id-1}"
@classmethod
def name(cls) -> str:
return "hind"
class HipChannelNamer(ChannelNamer):
"""Channel namer for Mi-8 Hip"""
@staticmethod
def channel_name(radio_id: int, channel_id: int) -> str:
radio_name = [
"R863",
"R828",
][radio_id - 1]
return f"{radio_name} Ch {channel_id}"
@classmethod
def name(cls) -> str:
return "hip"
class KiowaChannelNamer(ChannelNamer):
"""Channel namer for OH58D Kiowa Warrior"""
@staticmethod
def channel_name(radio_id: int, channel_id: int) -> str:
radio_name = ["UHF AM", "VHF AM", "VHF FM1", "VHF FM2"][radio_id - 1]
return f"{radio_name} Ch {channel_id}"
@classmethod
def name(cls) -> str:
return "kiowa"

View File

@@ -1,4 +1,5 @@
"""Radio frequency types and allocators."""
from __future__ import annotations
import itertools
@@ -159,6 +160,7 @@ RADIOS: List[Radio] = [
Radio("AN/ARC-164", (RadioRange(MHz(225), MHz(400), MHz(1), Modulation.AM),)),
Radio("AN/ARC-186(V) AM", (RadioRange(MHz(116), MHz(152), MHz(1), Modulation.AM),)),
Radio("AN/ARC-186(V) FM", (RadioRange(MHz(30), MHz(76), MHz(1), Modulation.FM),)),
Radio("AN/ARC-201", (RadioRange(MHz(30), MHz(88), kHz(25), Modulation.FM),)),
Radio(
"AN/ARC-210",
(
@@ -185,6 +187,7 @@ RADIOS: List[Radio] = [
),
),
Radio("AN/ARC-222", (RadioRange(MHz(116), MHz(152), MHz(1), Modulation.AM),)),
Radio("AN/ARC-27", (RadioRange(MHz(225), MHz(400), kHz(100), Modulation.AM),)),
Radio("SCR-522", (RadioRange(MHz(100), MHz(156), MHz(1), Modulation.AM),)),
Radio("A.R.I. 1063", (RadioRange(MHz(100), MHz(156), MHz(1), Modulation.AM),)),
Radio("BC-1206", (RadioRange(kHz(200), kHz(400), kHz(10), Modulation.AM),)),
@@ -292,6 +295,9 @@ RADIOS: List[Radio] = [
),
),
),
# Mi-8/Mi-24
Radio("R863", (RadioRange(MHz(220), MHz(400), kHz(25), Modulation.AM),)),
Radio("R828", (RadioRange(MHz(20), MHz(60), kHz(25), Modulation.FM),)),
]

View File

@@ -89,6 +89,11 @@ def set_destination(
detail=f"Cannot move {cp} more than "
f"{cp.max_move_distance.nautical_miles}nm.",
)
if cp.is_fleet and not game.theater.is_in_sea(point):
raise HTTPException(
status.HTTP_400_BAD_REQUEST,
detail=f"Cannot move naval control point {cp} onto land.",
)
cp.target_position = point
from .. import EventStream

View File

@@ -467,6 +467,12 @@ class Settings:
default=timedelta(minutes=60),
min=30,
max=150,
detail=(
"Period of time after the start of a turn where "
"there is coverage by one or more CAP flight(s), "
"refuelling flights not tied to a specific package are on station, "
"and other flights have their TOTs."
),
)
# Performance

View File

@@ -320,38 +320,40 @@ class MissionResultsProcessor:
""" "
Auto redeploy units to newly captured base
"""
# Find the set of friendly CPs that can either contribute or receive frontline units
all_ally_connected_cps = cp.transitive_connected_friendly_points() + [cp]
ally_connected_cps = [
ocp for ocp in cp.connected_points if cp.captured == ocp.captured
]
enemy_connected_cps = [
ocp for ocp in cp.connected_points if cp.captured != ocp.captured
]
# Split into frontline CPs that are connected to enemy CPs and should receive units
# vs. non-frontline CPs that are not connected to enemy CPs and should send units.
frontline_cps = []
non_frontline_cps = []
for cp in all_ally_connected_cps:
is_frontline = False
for ocp in cp.connected_points:
if not ocp.captured:
is_frontline = True
break
if is_frontline:
frontline_cps.append(cp)
else:
non_frontline_cps.append(cp)
# If the newly captured cp does not have enemy connected cp,
# then it is not necessary to redeploy frontline units there.
if len(enemy_connected_cps) == 0:
# If there are no frontline CPs, then nothing to do.
if len(frontline_cps) == 0:
return
# From each ally cp, send reinforcements
for ally_cp in ally_connected_cps:
self.redeploy_between(cp, ally_cp)
# Equally split between all frontline CPs
move_factor = 1.0 / len(frontline_cps)
for non_frontline_cp in non_frontline_cps:
for frontline_cp in frontline_cps:
self.redeploy_between(frontline_cp, non_frontline_cp, move_factor)
def redeploy_between(self, destination: ControlPoint, source: ControlPoint) -> None:
def redeploy_between(
self, destination: ControlPoint, source: ControlPoint, move_factor: float
) -> None:
total_units_redeployed = 0
moved_units = {}
if source.has_active_frontline or not destination.captured:
# If there are still active front lines to defend at the
# transferring CP we should not transfer all units.
#
# Opfor also does not transfer all of their units.
# TODO: Balance the CPs rather than moving half from everywhere.
move_factor = 0.5
else:
# Otherwise we can move everything.
move_factor = 1
for frontline_unit, count in source.base.armor.items():
moved_units[frontline_unit] = int(count * move_factor)
total_units_redeployed = total_units_redeployed + int(count * move_factor)

View File

@@ -2,7 +2,7 @@ from pathlib import Path
MAJOR_VERSION = 11
MINOR_VERSION = 0
MINOR_VERSION = 1
MICRO_VERSION = 0
VERSION_NUMBER = ".".join(str(v) for v in (MAJOR_VERSION, MINOR_VERSION, MICRO_VERSION))

View File

@@ -1004,7 +1004,7 @@ class A_4E_C(PlaneType):
LAU3_WP156 = (1, Weapons.LAU3_WP156)
LAU3_HE151 = (1, Weapons.LAU3_HE151)
AGM_45A_Shrike_ARM = (1, Weapons.AGM_45A_Shrike_ARM)
AGM_45B_Shrike_ARM__Imp_ = (1, Weapons.AGM_45B_Shrike_ARM__Imp_)
AGM_45B_Shrike_ARM = (1, Weapons.AGM_45B_Shrike_ARM)
Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets = (
1,
Weapons.Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets,
@@ -1213,7 +1213,7 @@ class A_4E_C(PlaneType):
WeaponsA4EC._2_x_LAU_3_pod___19_x_2_75_Hydra__UnGd_Rkts_WTU_1_B__Practice__TER__,
)
AGM_45A_Shrike_ARM = (2, Weapons.AGM_45A_Shrike_ARM)
AGM_45B_Shrike_ARM__Imp_ = (2, Weapons.AGM_45B_Shrike_ARM__Imp_)
AGM_45B_Shrike_ARM = (2, Weapons.AGM_45B_Shrike_ARM)
Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets = (
2,
Weapons.Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets,
@@ -1850,7 +1850,7 @@ class A_4E_C(PlaneType):
WeaponsA4EC._2_x_LAU_3_pod___19_x_2_75_Hydra__UnGd_Rkts_WTU_1_B__Practice__TER___,
)
AGM_45A_Shrike_ARM = (4, Weapons.AGM_45A_Shrike_ARM)
AGM_45B_Shrike_ARM__Imp_ = (4, Weapons.AGM_45B_Shrike_ARM__Imp_)
AGM_45B_Shrike_ARM = (4, Weapons.AGM_45B_Shrike_ARM)
Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets = (
4,
Weapons.Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets,
@@ -2048,7 +2048,7 @@ class A_4E_C(PlaneType):
LAU3_WP156 = (5, Weapons.LAU3_WP156)
LAU3_HE151 = (5, Weapons.LAU3_HE151)
AGM_45A_Shrike_ARM = (5, Weapons.AGM_45A_Shrike_ARM)
AGM_45B_Shrike_ARM__Imp_ = (5, Weapons.AGM_45B_Shrike_ARM__Imp_)
AGM_45B_Shrike_ARM = (5, Weapons.AGM_45B_Shrike_ARM)
Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets = (
5,
Weapons.Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets,

View File

@@ -542,7 +542,7 @@ class VSN_F4C(PlaneType):
Weapons.BRU_42_with_3_x_Mk_82___500lb_GP_Bombs_LD,
)
Mk_84___2000lb_GP_Bomb_LD = (3, Weapons.Mk_84___2000lb_GP_Bomb_LD)
AGM_45B_Shrike_ARM__Imp_ = (3, Weapons.AGM_45B_Shrike_ARM__Imp_)
AGM_45B_Shrike_ARM = (3, Weapons.AGM_45B_Shrike_ARM)
AGM_45A_Shrike_ARM = (3, Weapons.AGM_45A_Shrike_ARM)
LAU_10_pod___4_x_127mm_ZUNI__UnGd_Rkts_Mk71__HE_FRAG = (
3,
@@ -653,7 +653,7 @@ class VSN_F4C(PlaneType):
Weapons.BRU_42_with_3_x_Mk_82___500lb_GP_Bombs_LD,
)
Mk_84___2000lb_GP_Bomb_LD = (9, Weapons.Mk_84___2000lb_GP_Bomb_LD)
AGM_45B_Shrike_ARM__Imp_ = (9, Weapons.AGM_45B_Shrike_ARM__Imp_)
AGM_45B_Shrike_ARM = (9, Weapons.AGM_45B_Shrike_ARM)
AGM_45A_Shrike_ARM = (9, Weapons.AGM_45A_Shrike_ARM)
LAU_10_pod___4_x_127mm_ZUNI__UnGd_Rkts_Mk71__HE_FRAG = (
9,

View File

@@ -285,6 +285,7 @@ class SquadronConfigurationBox(QGroupBox):
)
self.player_list.setAcceptRichText(False)
self.player_list.setEnabled(squadron.player and squadron.aircraft.flyable)
self.player_list.setMaximumHeight(125)
left_column.addWidget(self.player_list)
button_row = QHBoxLayout()
@@ -664,7 +665,7 @@ class OverfullAirbasesDisplay(QGroupBox):
parent: QWidget | None = None,
) -> None:
super().__init__("Overfull airbases", parent)
self.setMaximumHeight(200)
self.setMaximumHeight(125)
self.parking_tracker = parking_tracker
self.parking_tracker.allocation_changed.connect(self.on_allocation_changed)
@@ -790,7 +791,7 @@ class AirWingConfigurationDialog(QDialog):
self.game = game
self.parking_tracker = AirWingConfigParkingTracker(game)
self.setMinimumSize(1024, 768)
self.resize(1024, 900)
self.setWindowTitle(f"Air Wing Configuration")
# TODO: self.setWindowIcon()

View File

@@ -494,6 +494,7 @@ class QLiberationWindow(QMainWindow):
"Nosajthedevil",
"kivipe",
"Chilli935",
"DillieKoe",
]
text = (
"<h3>DCS Liberation "

View File

@@ -16,6 +16,7 @@ from game import Game
from game.ato.flighttype import FlightType
from game.config import RUNWAY_REPAIR_COST
from game.server import EventStream
from game.sim.missionresultsprocessor import MissionResultsProcessor
from game.theater import (
AMMO_DEPOT_FRONTLINE_UNIT_CONTRIBUTION,
ControlPoint,
@@ -156,6 +157,9 @@ class QBaseMenu2(QDialog):
self.cp.capture(
self.game_model.game, events, for_player=not self.cp.captured
)
# Redeploy frontline units, as if the CP capture was done in mission.
results_processor = MissionResultsProcessor(self.game_model.game)
results_processor.redeploy_units(self.cp)
self.close()
@property

View File

@@ -127,6 +127,12 @@ class QFlightPayloadTab(QFrame):
scrolling_layout.addWidget(docsText)
self.setLayout(layout)
# Increase width of tab when there are long loadout names. Add 50px to loadout selector
# to account for padding around the selector.
width = max(
self.sizeHint().width(), self.loadout_selector.sizeHint().width() + 50
)
self.setMinimumWidth(width)
def resize_for_flight(self) -> None:
self.member_selector.setMaximum(self.flight.count - 1)

View File

@@ -83,7 +83,7 @@ class QFlightWaypointList(QTableView):
self.model.index(current_index, 0), QItemSelectionModel.Select
)
self.resizeColumnsToContents()
total_column_width = self.verticalHeader().width() + self.lineWidth()
total_column_width = self.verticalHeader().sizeHint().width() + self.lineWidth()
for i in range(0, self.model.columnCount()):
total_column_width += self.columnWidth(i) + self.lineWidth()
self.setFixedWidth(total_column_width)

View File

@@ -142,6 +142,10 @@ class NewGameWizard(QtWidgets.QWizard):
self.setWindowTitle("New Game")
# Resize wizard to the size of the largest page to keep size and position
# consistent.
self.resize(self.theater_page.sizeHint())
def accept(self):
logging.info("New Game Wizard accept")
logging.info("======================")

View File

@@ -18,9 +18,9 @@ future==0.18.3
h11==0.14.0
httptools==0.6.1
identify==2.5.32
idna==3.6
idna==3.7
iniconfig==2.0.0
Jinja2==3.1.3
Jinja2==3.1.4
MarkupSafe==2.1.3
mypy==1.7.1
mypy-extensions==1.0.0
@@ -29,14 +29,14 @@ numpy==1.26.2
packaging==23.2
pathspec==0.11.2
pefile==2023.2.7
Pillow==10.2.0
Pillow==10.3.0
platformdirs==4.0.0
pluggy==1.3.0
pre-commit==3.5.0
pydantic==2.5.2
pydantic-settings==2.1.0
pydantic_core==2.14.5
pydcs @ git+https://github.com/zhexu14/dcs@bb41fa849e718fee1b97d5d7a7c2e417f78de3d8
pydcs @ git+https://github.com/dcs-liberation/dcs@58b4cc91bfb068e094f684e4747190d1dcd57232
pyinstaller==5.13.1
pyinstaller-hooks-contrib==2023.6
pyproj==3.6.1

View File

@@ -8,7 +8,7 @@ recommended_player_faction: USA 2005
recommended_enemy_faction: Russia 2010
recommended_start_date: 2004-01-07
miz: black_sea.miz
performance: 2
performance: 3
version: "11.0"
squadrons:
# Anapa-Vityazevo

View File

@@ -13,6 +13,7 @@ recommended_player_faction:
- en_US
aircrafts:
- F-4E Phantom II
- F-4E-45MC Phantom II
- F-15C Eagle
- F-15E Strike Eagle
- F-15E Strike Eagle (Suite 4+)
@@ -100,7 +101,6 @@ recommended_enemy_faction:
assets. Designed for use with the Allied Sword scenario.</p>
aircrafts:
- MiG-23ML Flogger-G
- MiG-25RBT Foxbat-B
- MiG-29A Fulcrum-A
- Su-17M4 Fitter-K
- Su-24M Fencer-D
@@ -110,7 +110,6 @@ recommended_enemy_faction:
- Tu-22M3 Backfire-C
- Mi-24V Hind-E
- Mi-8MTV2 Hip
- SA 342M Gazelle
- SA 342L Gazelle
- IL-76MD
awacs:
@@ -263,7 +262,9 @@ squadrons:
- primary: SEAD
secondary: any
aircraft:
- F-4E-45MC Phantom II
- 201th Squadron
size: 16
- primary: Refueling
aircraft:
- VMGR-352
@@ -272,12 +273,12 @@ squadrons:
secondary: any
aircraft:
- 69th Squadron
size: 8
size: 12
- primary: BAI
secondary: any
aircraft:
- 110th Squadron
size: 8
size: 16
# Damascus
7:
- primary: TARCAP
@@ -315,20 +316,21 @@ squadrons:
- primary: CAS
secondary: air-to-ground
aircraft:
- SA 342M Gazelle
- SA 342L Gazelle
size: 6
# OPFOR Second inland FOB
FOB Homs:
- primary: CAS
secondary: air-to-ground
aircraft:
- SA 342M Gazelle
- SA 342L Gazelle
size: 6
# Palmyra
28:
- primary: BARCAP
secondary: air-to-air
aircraft:
- MiG-21bis Fishbed-N
- MiG-29A Fulcrum-A
size: 12
- primary: Strike
@@ -365,7 +367,7 @@ squadrons:
- primary: CAS
secondary: air-to-ground
aircraft:
- SA 342M Gazelle
- SA 342L Gazelle
# OPFOR Second inland FOB
FOB Ithriyah:
- primary: CAS
@@ -385,6 +387,7 @@ squadrons:
- primary: BARCAP
secondary: air-to-air
aircraft:
- MiG-23MLD Flogger-K
- Su-30 Flanker-C
- primary: CAS
secondary: air-to-ground
@@ -396,6 +399,7 @@ squadrons:
- primary: TARCAP
secondary: air-to-air
aircraft:
- MiG-25PD Foxbat-E
- MiG-23ML Flogger-G
- primary: BARCAP
secondary: any
@@ -405,6 +409,7 @@ squadrons:
- primary: Strike
secondary: air-to-ground
aircraft:
- Su-24M Fencer-D
- Su-34 Fullback
- primary: Transport
secondary: air-to-ground

View File

@@ -178,15 +178,15 @@ local unitPayloads = {
["name"] = "Liberation SEAD",
["pylons"] = {
[1] = {
["CLSID"] = "{3E6B632D-65EB-44D2-9501-1C2D04515404}",
["CLSID"] = "{AGM_45A}",
["num"] = 5,
},
[2] = {
["CLSID"] = "{3E6B632D-65EB-44D2-9501-1C2D04515404}",
["CLSID"] = "{AGM_45A}",
["num"] = 1,
},
[3] = {
["CLSID"] = "{3E6B632D-65EB-44D2-9501-1C2D04515404}",
["CLSID"] = "{AGM_45A}",
["num"] = 4,
},
[4] = {
@@ -194,7 +194,7 @@ local unitPayloads = {
["num"] = 3,
},
[5] = {
["CLSID"] = "{3E6B632D-65EB-44D2-9501-1C2D04515404}",
["CLSID"] = "{AGM_45A}",
["num"] = 2,
},
},
@@ -265,15 +265,15 @@ local unitPayloads = {
["name"] = "Liberation SEAD Escort",
["pylons"] = {
[1] = {
["CLSID"] = "{3E6B632D-65EB-44D2-9501-1C2D04515404}",
["CLSID"] = "{AGM_45A}",
["num"] = 5,
},
[2] = {
["CLSID"] = "{3E6B632D-65EB-44D2-9501-1C2D04515404}",
["CLSID"] = "{AGM_45A}",
["num"] = 1,
},
[3] = {
["CLSID"] = "{3E6B632D-65EB-44D2-9501-1C2D04515404}",
["CLSID"] = "{AGM_45A}",
["num"] = 4,
},
[4] = {
@@ -281,7 +281,7 @@ local unitPayloads = {
["num"] = 3,
},
[5] = {
["CLSID"] = "{3E6B632D-65EB-44D2-9501-1C2D04515404}",
["CLSID"] = "{AGM_45A}",
["num"] = 2,
},
},
@@ -352,11 +352,11 @@ local unitPayloads = {
["name"] = "Liberation DEAD",
["pylons"] = {
[1] = {
["CLSID"] = "{3E6B632D-65EB-44D2-9501-1C2D04515404}",
["CLSID"] = "{AGM_45A}",
["num"] = 5,
},
[2] = {
["CLSID"] = "{3E6B632D-65EB-44D2-9501-1C2D04515404}",
["CLSID"] = "{AGM_45A}",
["num"] = 1,
},
[3] = {

View File

@@ -0,0 +1,53 @@
local unitPayloads = {
["name"] = "EA-18G",
["payloads"] = {
[1] = {
["name"] = "Retribution SEAD",
["pylons"] = {
[1] = {
["CLSID"] = "{FPU_12_FUEL_TANKHighVis}",
["num"] = 9,
},
[2] = {
["CLSID"] = "{ALQ-99Wing}",
["num"] = 8,
},
[3] = {
["CLSID"] = "{B06DD79A-F21E-4EB9-BD9D-AB3844618C93}",
["num"] = 7,
},
[4] = {
["CLSID"] = "{40EF17B7-F508-45de-8566-6FFECC0C1AB8}",
["num"] = 6,
},
[5] = {
["CLSID"] = "{ALQ-99Center}",
["num"] = 5,
},
[6] = {
["CLSID"] = "{40EF17B7-F508-45de-8566-6FFECC0C1AB8}",
["num"] = 4,
},
[7] = {
["CLSID"] = "{B06DD79A-F21E-4EB9-BD9D-AB3844618C93}",
["num"] = 3,
},
[8] = {
["CLSID"] = "{ALQ-99Wing}",
["num"] = 2,
},
[9] = {
["CLSID"] = "{FPU_12_FUEL_TANKHighVis}",
["num"] = 1,
},
},
["tasks"] = {
[1] = 11,
},
},
},
["tasks"] = {
},
["unitType"] = "EA-18G",
}
return unitPayloads

View File

@@ -0,0 +1,973 @@
local unitPayloads = {
["name"] = "F-4E-45MC",
["payloads"] = {
[1] = {
["displayName"] = "Liberation SEAD Escort",
["name"] = "Liberation SEAD Escort",
["pylons"] = {
[1] = {
["CLSID"] = "{HB_ALE_40_30_60}",
["num"] = 14,
},
[2] = {
["CLSID"] = "{AGM_12B}",
["num"] = 13,
},
[3] = {
["CLSID"] = "<CLEAN>",
["num"] = 12,
["settings"] = {
["EAS_bypass_ctrl"] = 1,
["NFP_rfgu_type"] = 1,
["rf_lower_limit_ctrl_Mk22Mod2"] = 4800000000,
["rf_upper_limit_ctrl_Mk22Mod2"] = 5200000000,
},
},
[4] = {
["CLSID"] = "<CLEAN>",
["num"] = 10,
["settings"] = {
["EAS_bypass_ctrl"] = 1,
["NFP_rfgu_type"] = 1,
["rf_lower_limit_ctrl_Mk22Mod2"] = 4800000000,
["rf_upper_limit_ctrl_Mk22Mod2"] = 5200000000,
},
},
[5] = {
["CLSID"] = "{HB_ALQ-131_ON_ADAPTER_IN_AERO7}",
["num"] = 6,
},
[6] = {
["CLSID"] = "<CLEAN>",
["num"] = 2,
["settings"] = {
["EAS_bypass_ctrl"] = 1,
["NFP_rfgu_type"] = 1,
["rf_lower_limit_ctrl_Mk22Mod2"] = 4800000000,
["rf_upper_limit_ctrl_Mk22Mod2"] = 5200000000,
},
},
[7] = {
["CLSID"] = "<CLEAN>",
["num"] = 4,
["settings"] = {
["EAS_bypass_ctrl"] = 1,
["NFP_rfgu_type"] = 1,
["rf_lower_limit_ctrl_Mk22Mod2"] = 4800000000,
["rf_upper_limit_ctrl_Mk22Mod2"] = 5200000000,
},
},
[8] = {
["CLSID"] = "{AGM_12B}",
["num"] = 1,
},
[9] = {
["CLSID"] = "{HB_F4E_AIM-7M}",
["num"] = 5,
},
[10] = {
["CLSID"] = "{HB_F4E_AIM-7M}",
["num"] = 8,
},
[11] = {
["CLSID"] = "{HB_F4E_AIM-7M}",
["num"] = 9,
},
[12] = {
["CLSID"] = "{F4_SARGENT_TANK_600_GAL}",
["num"] = 7,
},
[13] = {
["CLSID"] = "{AGM_12B}",
["num"] = 11,
},
[14] = {
["CLSID"] = "{AGM_12B}",
["num"] = 3,
},
},
["tasks"] = {
},
},
[2] = {
["name"] = "Liberation Anti-ship",
["pylons"] = {
[1] = {
["CLSID"] = "{HB_ALE_40_30_60}",
["num"] = 14,
},
[2] = {
["CLSID"] = "{F4_SARGENT_TANK_370_GAL_R}",
["num"] = 13,
},
[3] = {
["CLSID"] = "{C40A1E3A-DD05-40D9-85A4-217729E37FAE}",
["num"] = 11,
},
[4] = {
["CLSID"] = "<CLEAN>",
["num"] = 10,
},
[5] = {
["CLSID"] = "<CLEAN>",
["num"] = 12,
},
[6] = {
["CLSID"] = "{HB_F4E_AIM-7M}",
["num"] = 9,
},
[7] = {
["CLSID"] = "{HB_F4E_AIM-7M}",
["num"] = 8,
},
[8] = {
["CLSID"] = "{HB_ALQ-131_ON_ADAPTER_IN_AERO7}",
["num"] = 6,
},
[9] = {
["CLSID"] = "{HB_F4E_AIM-7M}",
["num"] = 5,
},
[10] = {
["CLSID"] = "{C40A1E3A-DD05-40D9-85A4-217729E37FAE}",
["num"] = 3,
},
[11] = {
["CLSID"] = "<CLEAN>",
["num"] = 2,
},
[12] = {
["CLSID"] = "<CLEAN>",
["num"] = 4,
},
[13] = {
["CLSID"] = "{F4_SARGENT_TANK_370_GAL}",
["num"] = 1,
},
},
["tasks"] = {
},
},
[3] = {
["name"] = "Liberation BARCAP",
["pylons"] = {
[1] = {
["CLSID"] = "{HB_ALE_40_30_60}",
["num"] = 14,
},
[2] = {
["CLSID"] = "{F4_SARGENT_TANK_370_GAL_R}",
["num"] = 13,
},
[3] = {
["CLSID"] = "{AIM-9M}",
["num"] = 12,
},
[4] = {
["CLSID"] = "{AIM-9M}",
["num"] = 10,
},
[5] = {
["CLSID"] = "{HB_F4E_AIM-7M}",
["num"] = 6,
},
[6] = {
["CLSID"] = "{AIM-9M}",
["num"] = 2,
},
[7] = {
["CLSID"] = "{AIM-9M}",
["num"] = 4,
},
[8] = {
["CLSID"] = "{F4_SARGENT_TANK_370_GAL}",
["num"] = 1,
},
[9] = {
["CLSID"] = "{HB_F4E_AIM-7M}",
["num"] = 5,
},
[10] = {
["CLSID"] = "{HB_F4E_AIM-7M}",
["num"] = 8,
},
[11] = {
["CLSID"] = "{HB_F4E_AIM-7M}",
["num"] = 9,
},
},
["tasks"] = {
},
},
[4] = {
["displayName"] = "Liberation Escort",
["name"] = "Liberation Escort",
["pylons"] = {
[1] = {
["CLSID"] = "{HB_ALE_40_30_60}",
["num"] = 14,
},
[2] = {
["CLSID"] = "{F4_SARGENT_TANK_370_GAL_R}",
["num"] = 13,
},
[3] = {
["CLSID"] = "{AIM-9M}",
["num"] = 12,
},
[4] = {
["CLSID"] = "{AIM-9M}",
["num"] = 10,
},
[5] = {
["CLSID"] = "{HB_F4E_AIM-7M}",
["num"] = 6,
},
[6] = {
["CLSID"] = "{AIM-9M}",
["num"] = 2,
},
[7] = {
["CLSID"] = "{AIM-9M}",
["num"] = 4,
},
[8] = {
["CLSID"] = "{F4_SARGENT_TANK_370_GAL}",
["num"] = 1,
},
[9] = {
["CLSID"] = "{HB_F4E_AIM-7M}",
["num"] = 5,
},
[10] = {
["CLSID"] = "{HB_F4E_AIM-7M}",
["num"] = 8,
},
[11] = {
["CLSID"] = "{HB_F4E_AIM-7M}",
["num"] = 9,
},
},
["tasks"] = {
},
},
[5] = {
["displayName"] = "Liberation BAI",
["name"] = "Liberation BAI",
["pylons"] = {
[1] = {
["CLSID"] = "{HB_ALE_40_30_60}",
["num"] = 14,
},
[2] = {
["CLSID"] = "{AGM_62_I}",
["num"] = 13,
},
[3] = {
["CLSID"] = "<CLEAN>",
["num"] = 12,
["settings"] = {
["EAS_bypass_ctrl"] = 1,
["NFP_rfgu_type"] = 1,
["rf_lower_limit_ctrl_Mk22Mod2"] = 4800000000,
["rf_upper_limit_ctrl_Mk22Mod2"] = 5200000000,
},
},
[4] = {
["CLSID"] = "<CLEAN>",
["num"] = 10,
["settings"] = {
["EAS_bypass_ctrl"] = 1,
["NFP_rfgu_type"] = 1,
["rf_lower_limit_ctrl_Mk22Mod2"] = 4800000000,
["rf_upper_limit_ctrl_Mk22Mod2"] = 5200000000,
},
},
[5] = {
["CLSID"] = "{HB_ALQ-131_ON_ADAPTER_IN_AERO7}",
["num"] = 6,
},
[6] = {
["CLSID"] = "<CLEAN>",
["num"] = 2,
["settings"] = {
["EAS_bypass_ctrl"] = 1,
["NFP_rfgu_type"] = 1,
["rf_lower_limit_ctrl_Mk22Mod2"] = 4800000000,
["rf_upper_limit_ctrl_Mk22Mod2"] = 5200000000,
},
},
[7] = {
["CLSID"] = "<CLEAN>",
["num"] = 4,
["settings"] = {
["EAS_bypass_ctrl"] = 1,
["NFP_rfgu_type"] = 1,
["rf_lower_limit_ctrl_Mk22Mod2"] = 4800000000,
["rf_upper_limit_ctrl_Mk22Mod2"] = 5200000000,
},
},
[8] = {
["CLSID"] = "{AGM_62_I}",
["num"] = 1,
},
[9] = {
["CLSID"] = "{HB_F4E_AIM-7M}",
["num"] = 5,
},
[10] = {
["CLSID"] = "{HB_F4E_AIM-7M}",
["num"] = 8,
},
[11] = {
["CLSID"] = "{HB_F4E_AIM-7M}",
["num"] = 9,
},
[12] = {
["CLSID"] = "{F4_SARGENT_TANK_600_GAL}",
["num"] = 7,
},
[13] = {
["CLSID"] = "{AGM_62_I}",
["num"] = 11,
},
[14] = {
["CLSID"] = "{AGM_62_I}",
["num"] = 3,
},
},
["tasks"] = {
},
},
[6] = {
["displayName"] = "Liberation CAS",
["name"] = "Liberation CAS",
["pylons"] = {
[1] = {
["CLSID"] = "{HB_ALE_40_30_60}",
["num"] = 14,
},
[2] = {
["CLSID"] = "{AGM_62_I}",
["num"] = 13,
},
[3] = {
["CLSID"] = "<CLEAN>",
["num"] = 12,
["settings"] = {
["EAS_bypass_ctrl"] = 1,
["NFP_rfgu_type"] = 1,
["rf_lower_limit_ctrl_Mk22Mod2"] = 4800000000,
["rf_upper_limit_ctrl_Mk22Mod2"] = 5200000000,
},
},
[4] = {
["CLSID"] = "<CLEAN>",
["num"] = 10,
["settings"] = {
["EAS_bypass_ctrl"] = 1,
["NFP_rfgu_type"] = 1,
["rf_lower_limit_ctrl_Mk22Mod2"] = 4800000000,
["rf_upper_limit_ctrl_Mk22Mod2"] = 5200000000,
},
},
[5] = {
["CLSID"] = "{HB_ALQ-131_ON_ADAPTER_IN_AERO7}",
["num"] = 6,
},
[6] = {
["CLSID"] = "<CLEAN>",
["num"] = 2,
["settings"] = {
["EAS_bypass_ctrl"] = 1,
["NFP_rfgu_type"] = 1,
["rf_lower_limit_ctrl_Mk22Mod2"] = 4800000000,
["rf_upper_limit_ctrl_Mk22Mod2"] = 5200000000,
},
},
[7] = {
["CLSID"] = "<CLEAN>",
["num"] = 4,
["settings"] = {
["EAS_bypass_ctrl"] = 1,
["NFP_rfgu_type"] = 1,
["rf_lower_limit_ctrl_Mk22Mod2"] = 4800000000,
["rf_upper_limit_ctrl_Mk22Mod2"] = 5200000000,
},
},
[8] = {
["CLSID"] = "{AGM_62_I}",
["num"] = 1,
},
[9] = {
["CLSID"] = "{HB_F4E_AIM-7M}",
["num"] = 5,
},
[10] = {
["CLSID"] = "{HB_F4E_AIM-7M}",
["num"] = 8,
},
[11] = {
["CLSID"] = "{HB_F4E_AIM-7M}",
["num"] = 9,
},
[12] = {
["CLSID"] = "{F4_SARGENT_TANK_600_GAL}",
["num"] = 7,
},
[13] = {
["CLSID"] = "{AGM_62_I}",
["num"] = 11,
},
[14] = {
["CLSID"] = "{AGM_62_I}",
["num"] = 3,
},
},
["tasks"] = {
},
},
[7] = {
["displayName"] = "Liberation SEAD",
["name"] = "Liberation SEAD",
["pylons"] = {
[1] = {
["CLSID"] = "{HB_ALE_40_30_60}",
["num"] = 14,
},
[2] = {
["CLSID"] = "{LAU_34_AGM_45A}",
["num"] = 13,
["settings"] = {
["EAS_bypass_ctrl"] = 1,
["NFP_rfgu_type"] = 1,
["rf_lower_limit_ctrl_Mk22Mod2"] = 4800000000,
["rf_upper_limit_ctrl_Mk22Mod2"] = 5200000000,
},
},
[3] = {
["CLSID"] = "<CLEAN>",
["num"] = 12,
["settings"] = {
["EAS_bypass_ctrl"] = 1,
["NFP_rfgu_type"] = 1,
["rf_lower_limit_ctrl_Mk22Mod2"] = 4800000000,
["rf_upper_limit_ctrl_Mk22Mod2"] = 5200000000,
},
},
[4] = {
["CLSID"] = "<CLEAN>",
["num"] = 10,
["settings"] = {
["EAS_bypass_ctrl"] = 1,
["NFP_rfgu_type"] = 1,
["rf_lower_limit_ctrl_Mk22Mod2"] = 4800000000,
["rf_upper_limit_ctrl_Mk22Mod2"] = 5200000000,
},
},
[5] = {
["CLSID"] = "{HB_ALQ-131_ON_ADAPTER_IN_AERO7}",
["num"] = 6,
},
[6] = {
["CLSID"] = "<CLEAN>",
["num"] = 2,
["settings"] = {
["EAS_bypass_ctrl"] = 1,
["NFP_rfgu_type"] = 1,
["rf_lower_limit_ctrl_Mk22Mod2"] = 4800000000,
["rf_upper_limit_ctrl_Mk22Mod2"] = 5200000000,
},
},
[7] = {
["CLSID"] = "<CLEAN>",
["num"] = 4,
["settings"] = {
["EAS_bypass_ctrl"] = 1,
["NFP_rfgu_type"] = 1,
["rf_lower_limit_ctrl_Mk22Mod2"] = 4800000000,
["rf_upper_limit_ctrl_Mk22Mod2"] = 5200000000,
},
},
[8] = {
["CLSID"] = "{LAU_34_AGM_45A}",
["num"] = 1,
["settings"] = {
["EAS_bypass_ctrl"] = 1,
["NFP_rfgu_type"] = 1,
["rf_lower_limit_ctrl_Mk22Mod2"] = 4800000000,
["rf_upper_limit_ctrl_Mk22Mod2"] = 5200000000,
},
},
[9] = {
["CLSID"] = "{HB_F4E_AIM-7M}",
["num"] = 5,
},
[10] = {
["CLSID"] = "{HB_F4E_AIM-7M}",
["num"] = 8,
},
[11] = {
["CLSID"] = "{HB_F4E_AIM-7M}",
["num"] = 9,
},
[12] = {
["CLSID"] = "{F4_SARGENT_TANK_600_GAL}",
["num"] = 7,
},
[13] = {
["CLSID"] = "{LAU_34_AGM_45A}",
["num"] = 11,
["settings"] = {
["EAS_bypass_ctrl"] = 1,
["NFP_rfgu_type"] = 1,
["rf_lower_limit_ctrl_Mk22Mod2"] = 4800000000,
["rf_upper_limit_ctrl_Mk22Mod2"] = 5200000000,
},
},
[14] = {
["CLSID"] = "{LAU_34_AGM_45A}",
["num"] = 3,
["settings"] = {
["EAS_bypass_ctrl"] = 1,
["NFP_rfgu_type"] = 1,
["rf_lower_limit_ctrl_Mk22Mod2"] = 4800000000,
["rf_upper_limit_ctrl_Mk22Mod2"] = 5200000000,
},
},
},
["tasks"] = {
},
},
[8] = {
["displayName"] = "Liberation Strike",
["name"] = "Liberation Strike",
["pylons"] = {
[1] = {
["CLSID"] = "{HB_ALE_40_30_60}",
["num"] = 14,
},
[2] = {
["CLSID"] = "{AB8B8299-F1CC-4359-89B5-2172E0CF4A5A}",
["num"] = 13,
["settings"] = {
["NFP_VIS_DrawArgNo_57"] = 0,
["NFP_fuze_type_nose"] = "M904E4",
["NFP_fuze_type_tail"] = "M905",
["arm_delay_ctrl_M904E4"] = 2,
["arm_delay_ctrl_M905"] = 4,
["function_delay_ctrl_M904E4"] = 0,
["function_delay_ctrl_M905"] = 0,
},
},
[3] = {
["CLSID"] = "{AIM-9M}",
["num"] = 12,
},
[4] = {
["CLSID"] = "{AIM-9M}",
["num"] = 10,
},
[5] = {
["CLSID"] = "{HB_ALQ-131_ON_ADAPTER_IN_AERO7}",
["num"] = 6,
},
[6] = {
["CLSID"] = "{AIM-9M}",
["num"] = 2,
},
[7] = {
["CLSID"] = "{AIM-9M}",
["num"] = 4,
},
[8] = {
["CLSID"] = "{AB8B8299-F1CC-4359-89B5-2172E0CF4A5A}",
["num"] = 1,
["settings"] = {
["NFP_VIS_DrawArgNo_57"] = 0,
["NFP_fuze_type_nose"] = "M904E4",
["NFP_fuze_type_tail"] = "M905",
["arm_delay_ctrl_M904E4"] = 2,
["arm_delay_ctrl_M905"] = 4,
["function_delay_ctrl_M904E4"] = 0,
["function_delay_ctrl_M905"] = 0,
},
},
[9] = {
["CLSID"] = "{HB_F4E_AIM-7M}",
["num"] = 5,
},
[10] = {
["CLSID"] = "{HB_F4E_AIM-7M}",
["num"] = 8,
},
[11] = {
["CLSID"] = "{HB_F4E_AIM-7M}",
["num"] = 9,
},
[12] = {
["CLSID"] = "{F4_SARGENT_TANK_600_GAL}",
["num"] = 7,
},
},
["tasks"] = {
},
},
[9] = {
["displayName"] = "Liberation TARCAP",
["name"] = "Liberation TARCAP",
["pylons"] = {
[1] = {
["CLSID"] = "{HB_ALE_40_30_60}",
["num"] = 14,
},
[2] = {
["CLSID"] = "{F4_SARGENT_TANK_370_GAL_R}",
["num"] = 13,
},
[3] = {
["CLSID"] = "{AIM-9M}",
["num"] = 12,
},
[4] = {
["CLSID"] = "{AIM-9M}",
["num"] = 10,
},
[5] = {
["CLSID"] = "{HB_F4E_AIM-7M}",
["num"] = 6,
},
[6] = {
["CLSID"] = "{AIM-9M}",
["num"] = 2,
},
[7] = {
["CLSID"] = "{AIM-9M}",
["num"] = 4,
},
[8] = {
["CLSID"] = "{F4_SARGENT_TANK_370_GAL}",
["num"] = 1,
},
[9] = {
["CLSID"] = "{HB_F4E_AIM-7M}",
["num"] = 5,
},
[10] = {
["CLSID"] = "{HB_F4E_AIM-7M}",
["num"] = 8,
},
[11] = {
["CLSID"] = "{HB_F4E_AIM-7M}",
["num"] = 9,
},
},
["tasks"] = {
},
},
[10] = {
["displayName"] = "Liberation DEAD",
["name"] = "Liberation DEAD",
["pylons"] = {
[1] = {
["CLSID"] = "{HB_ALE_40_30_60}",
["num"] = 14,
},
[2] = {
["CLSID"] = "{AGM_12B}",
["num"] = 13,
},
[3] = {
["CLSID"] = "<CLEAN>",
["num"] = 12,
["settings"] = {
["EAS_bypass_ctrl"] = 1,
["NFP_rfgu_type"] = 1,
["rf_lower_limit_ctrl_Mk22Mod2"] = 4800000000,
["rf_upper_limit_ctrl_Mk22Mod2"] = 5200000000,
},
},
[4] = {
["CLSID"] = "<CLEAN>",
["num"] = 10,
["settings"] = {
["EAS_bypass_ctrl"] = 1,
["NFP_rfgu_type"] = 1,
["rf_lower_limit_ctrl_Mk22Mod2"] = 4800000000,
["rf_upper_limit_ctrl_Mk22Mod2"] = 5200000000,
},
},
[5] = {
["CLSID"] = "{HB_ALQ-131_ON_ADAPTER_IN_AERO7}",
["num"] = 6,
},
[6] = {
["CLSID"] = "<CLEAN>",
["num"] = 2,
["settings"] = {
["EAS_bypass_ctrl"] = 1,
["NFP_rfgu_type"] = 1,
["rf_lower_limit_ctrl_Mk22Mod2"] = 4800000000,
["rf_upper_limit_ctrl_Mk22Mod2"] = 5200000000,
},
},
[7] = {
["CLSID"] = "<CLEAN>",
["num"] = 4,
["settings"] = {
["EAS_bypass_ctrl"] = 1,
["NFP_rfgu_type"] = 1,
["rf_lower_limit_ctrl_Mk22Mod2"] = 4800000000,
["rf_upper_limit_ctrl_Mk22Mod2"] = 5200000000,
},
},
[8] = {
["CLSID"] = "{AGM_12B}",
["num"] = 1,
},
[9] = {
["CLSID"] = "{HB_F4E_AIM-7M}",
["num"] = 5,
},
[10] = {
["CLSID"] = "{HB_F4E_AIM-7M}",
["num"] = 8,
},
[11] = {
["CLSID"] = "{HB_F4E_AIM-7M}",
["num"] = 9,
},
[12] = {
["CLSID"] = "{F4_SARGENT_TANK_600_GAL}",
["num"] = 7,
},
[13] = {
["CLSID"] = "{AGM_12B}",
["num"] = 11,
},
[14] = {
["CLSID"] = "{AGM_12B}",
["num"] = 3,
},
},
["tasks"] = {
},
},
[11] = {
["displayName"] = "Liberation OCA/Runway",
["name"] = "Liberation OCA/Runway",
["pylons"] = {
[1] = {
["CLSID"] = "{HB_ALE_40_30_60}",
["num"] = 14,
},
[2] = {
["CLSID"] = "{F4_SARGENT_TANK_370_GAL_R}",
["num"] = 13,
},
[3] = {
["CLSID"] = "<CLEAN>",
["num"] = 12,
["settings"] = {
["EAS_bypass_ctrl"] = 1,
["NFP_rfgu_type"] = 1,
["rf_lower_limit_ctrl_Mk22Mod2"] = 4800000000,
["rf_upper_limit_ctrl_Mk22Mod2"] = 5200000000,
},
},
[4] = {
["CLSID"] = "<CLEAN>",
["num"] = 10,
["settings"] = {
["EAS_bypass_ctrl"] = 1,
["NFP_rfgu_type"] = 1,
["rf_lower_limit_ctrl_Mk22Mod2"] = 4800000000,
["rf_upper_limit_ctrl_Mk22Mod2"] = 5200000000,
},
},
[5] = {
["CLSID"] = "{HB_ALQ-131_ON_ADAPTER_IN_AERO7}",
["num"] = 6,
},
[6] = {
["CLSID"] = "<CLEAN>",
["num"] = 2,
["settings"] = {
["EAS_bypass_ctrl"] = 1,
["NFP_rfgu_type"] = 1,
["rf_lower_limit_ctrl_Mk22Mod2"] = 4800000000,
["rf_upper_limit_ctrl_Mk22Mod2"] = 5200000000,
},
},
[7] = {
["CLSID"] = "<CLEAN>",
["num"] = 4,
["settings"] = {
["EAS_bypass_ctrl"] = 1,
["NFP_rfgu_type"] = 1,
["rf_lower_limit_ctrl_Mk22Mod2"] = 4800000000,
["rf_upper_limit_ctrl_Mk22Mod2"] = 5200000000,
},
},
[8] = {
["CLSID"] = "{F4_SARGENT_TANK_370_GAL}",
["num"] = 1,
},
[9] = {
["CLSID"] = "{HB_F4E_AIM-7M}",
["num"] = 5,
},
[10] = {
["CLSID"] = "{HB_F4E_AIM-7M}",
["num"] = 8,
},
[11] = {
["CLSID"] = "{HB_F4E_AIM-7M}",
["num"] = 9,
},
[12] = {
["CLSID"] = "{HB_F4E_BLU-107B_6x}",
["num"] = 7,
},
[13] = {
["CLSID"] = "{HB_F4E_BLU-107B_3x}",
["num"] = 11,
},
[14] = {
["CLSID"] = "{HB_F4E_BLU-107B_3x}",
["num"] = 3,
},
},
["tasks"] = {
},
},
[12] = {
["displayName"] = "Liberation OCA/Aircraft",
["name"] = "Liberation OCA/Aircraft",
["pylons"] = {
[1] = {
["CLSID"] = "{HB_ALE_40_30_60}",
["num"] = 14,
},
[2] = {
["CLSID"] = "{HB_F4E_MK-82_Snakeye_6x}",
["num"] = 13,
["settings"] = {
["NFP_VIS_DrawArgNo_57"] = 0,
["NFP_fuze_type_nose"] = "M904E4",
["NFP_fuze_type_tail"] = "M905",
["arm_delay_ctrl_M904E4"] = 2,
["arm_delay_ctrl_M905"] = 4,
["function_delay_ctrl_M904E4"] = 0,
["function_delay_ctrl_M905"] = 0,
},
},
[3] = {
["CLSID"] = "<CLEAN>",
["num"] = 12,
["settings"] = {
["EAS_bypass_ctrl"] = 1,
["NFP_rfgu_type"] = 1,
["rf_lower_limit_ctrl_Mk22Mod2"] = 4800000000,
["rf_upper_limit_ctrl_Mk22Mod2"] = 5200000000,
},
},
[4] = {
["CLSID"] = "<CLEAN>",
["num"] = 10,
["settings"] = {
["EAS_bypass_ctrl"] = 1,
["NFP_rfgu_type"] = 1,
["rf_lower_limit_ctrl_Mk22Mod2"] = 4800000000,
["rf_upper_limit_ctrl_Mk22Mod2"] = 5200000000,
},
},
[5] = {
["CLSID"] = "{HB_ALQ-131_ON_ADAPTER_IN_AERO7}",
["num"] = 6,
},
[6] = {
["CLSID"] = "<CLEAN>",
["num"] = 2,
["settings"] = {
["EAS_bypass_ctrl"] = 1,
["NFP_rfgu_type"] = 1,
["rf_lower_limit_ctrl_Mk22Mod2"] = 4800000000,
["rf_upper_limit_ctrl_Mk22Mod2"] = 5200000000,
},
},
[7] = {
["CLSID"] = "<CLEAN>",
["num"] = 4,
["settings"] = {
["EAS_bypass_ctrl"] = 1,
["NFP_rfgu_type"] = 1,
["rf_lower_limit_ctrl_Mk22Mod2"] = 4800000000,
["rf_upper_limit_ctrl_Mk22Mod2"] = 5200000000,
},
},
[8] = {
["CLSID"] = "{HB_F4E_MK-82_Snakeye_6x}",
["num"] = 1,
["settings"] = {
["NFP_VIS_DrawArgNo_57"] = 0,
["NFP_fuze_type_nose"] = "M904E4",
["NFP_fuze_type_tail"] = "M905",
["arm_delay_ctrl_M904E4"] = 2,
["arm_delay_ctrl_M905"] = 4,
["function_delay_ctrl_M904E4"] = 0,
["function_delay_ctrl_M905"] = 0,
},
},
[9] = {
["CLSID"] = "{HB_F4E_AIM-7M}",
["num"] = 5,
},
[10] = {
["CLSID"] = "{HB_F4E_AIM-7M}",
["num"] = 8,
},
[11] = {
["CLSID"] = "{HB_F4E_AIM-7M}",
["num"] = 9,
},
[12] = {
["CLSID"] = "{F4_SARGENT_TANK_600_GAL}",
["num"] = 7,
},
[13] = {
["CLSID"] = "{HB_F4E_MK-82_Snakeye_3x}",
["num"] = 11,
["settings"] = {
["NFP_VIS_DrawArgNo_57"] = 0,
["NFP_fuze_type_nose"] = "M904E4",
["NFP_fuze_type_tail"] = "M905",
["arm_delay_ctrl_M904E4"] = 2,
["arm_delay_ctrl_M905"] = 4,
["function_delay_ctrl_M904E4"] = 0,
["function_delay_ctrl_M905"] = 0,
},
},
[14] = {
["CLSID"] = "{HB_F4E_MK-82_Snakeye_3x}",
["num"] = 3,
["settings"] = {
["NFP_VIS_DrawArgNo_57"] = 0,
["NFP_fuze_type_nose"] = "M904E4",
["NFP_fuze_type_tail"] = "M905",
["arm_delay_ctrl_M904E4"] = 2,
["arm_delay_ctrl_M905"] = 4,
["function_delay_ctrl_M904E4"] = 0,
["function_delay_ctrl_M905"] = 0,
},
},
},
["tasks"] = {
},
},
},
["tasks"] = {
},
["unitType"] = "F-4E-45MC",
}
return unitPayloads

View File

@@ -0,0 +1,463 @@
local unitPayloads = {
["name"] = "FA-18E",
["payloads"] = {
[1] = {
["displayName"] = "Retribution SEAD",
["name"] = "Retribution SEAD",
["pylons"] = {
[1] = {
["CLSID"] = "{5CE2FF2A-645A-4197-B48D-8720AC69394F}",
["num"] = 9,
},
[2] = {
["CLSID"] = "{40EF17B7-F508-45de-8566-6FFECC0C1AB8}",
["num"] = 8,
},
[3] = {
["CLSID"] = "{B06DD79A-F21E-4EB9-BD9D-AB3844618C93}",
["num"] = 7,
},
[4] = {
["CLSID"] = "{FPU_12_FUEL_TANK}",
["num"] = 6,
},
[5] = {
["CLSID"] = "{AN_ASQ_228}",
["num"] = 4,
},
[6] = {
["CLSID"] = "{B06DD79A-F21E-4EB9-BD9D-AB3844618C93}",
["num"] = 3,
},
[7] = {
["CLSID"] = "{FPU_12_FUEL_TANK}",
["num"] = 5,
},
[8] = {
["CLSID"] = "{40EF17B7-F508-45de-8566-6FFECC0C1AB8}",
["num"] = 2,
},
[9] = {
["CLSID"] = "{5CE2FF2A-645A-4197-B48D-8720AC69394F}",
["num"] = 1,
},
},
["tasks"] = {
[1] = 11,
},
},
[2] = {
["displayName"] = "Retribution BARCAP",
["name"] = "Retribution BARCAP",
["pylons"] = {
[1] = {
["CLSID"] = "{5CE2FF2A-645A-4197-B48D-8720AC69394F}",
["num"] = 9,
},
[2] = {
["CLSID"] = "{40EF17B7-F508-45de-8566-6FFECC0C1AB8}",
["num"] = 8,
},
[3] = {
["CLSID"] = "LAU-115_2*LAU-127_AIM-120C",
["num"] = 7,
},
[4] = {
["CLSID"] = "<CLEAN>",
["num"] = 6,
},
[5] = {
["CLSID"] = "{AN_ASQ_228}",
["num"] = 4,
},
[6] = {
["CLSID"] = "LAU-115_2*LAU-127_AIM-120C",
["num"] = 3,
},
[7] = {
["CLSID"] = "<CLEAN>",
["num"] = 5,
},
[8] = {
["CLSID"] = "{40EF17B7-F508-45de-8566-6FFECC0C1AB8}",
["num"] = 2,
},
[9] = {
["CLSID"] = "{5CE2FF2A-645A-4197-B48D-8720AC69394F}",
["num"] = 1,
},
[10] = {
["CLSID"] = "{FPU_12_FUEL_TANK}",
["num"] = 10,
},
},
["tasks"] = {
[1] = 11,
},
},
[3] = {
["displayName"] = "Retribution TARCAP/Escort",
["name"] = "Retribution TARCAP/Escort",
["pylons"] = {
[1] = {
["CLSID"] = "{5CE2FF2A-645A-4197-B48D-8720AC69394F}",
["num"] = 9,
},
[2] = {
["CLSID"] = "{40EF17B7-F508-45de-8566-6FFECC0C1AB8}",
["num"] = 8,
},
[3] = {
["CLSID"] = "LAU-115_2*LAU-127_AIM-120C",
["num"] = 7,
},
[4] = {
["CLSID"] = "{FPU_12_FUEL_TANK}",
["num"] = 6,
},
[5] = {
["CLSID"] = "{AN_ASQ_228}",
["num"] = 4,
},
[6] = {
["CLSID"] = "LAU-115_2*LAU-127_AIM-120C",
["num"] = 3,
},
[7] = {
["CLSID"] = "{FPU_12_FUEL_TANK}",
["num"] = 5,
},
[8] = {
["CLSID"] = "{40EF17B7-F508-45de-8566-6FFECC0C1AB8}",
["num"] = 2,
},
[9] = {
["CLSID"] = "{5CE2FF2A-645A-4197-B48D-8720AC69394F}",
["num"] = 1,
},
},
["tasks"] = {
[1] = 11,
},
},
[4] = {
["displayName"] = "Retribution Anti-ship",
["name"] = "Retribution Anti-ship",
["pylons"] = {
[1] = {
["CLSID"] = "{5CE2FF2A-645A-4197-B48D-8720AC69394F}",
["num"] = 9,
},
[2] = {
["CLSID"] = "{40EF17B7-F508-45de-8566-6FFECC0C1AB8}",
["num"] = 8,
},
[3] = {
["CLSID"] = "{AGM_84D}",
["num"] = 7,
},
[4] = {
["CLSID"] = "{FPU_12_FUEL_TANK}",
["num"] = 6,
},
[5] = {
["CLSID"] = "{AN_ASQ_228}",
["num"] = 4,
},
[6] = {
["CLSID"] = "{AGM_84D}",
["num"] = 3,
},
[7] = {
["CLSID"] = "{FPU_12_FUEL_TANK}",
["num"] = 5,
},
[8] = {
["CLSID"] = "{40EF17B7-F508-45de-8566-6FFECC0C1AB8}",
["num"] = 2,
},
[9] = {
["CLSID"] = "{5CE2FF2A-645A-4197-B48D-8720AC69394F}",
["num"] = 1,
},
},
["tasks"] = {
[1] = 11,
},
},
[5] = {
["displayName"] = "Retribution BAI",
["name"] = "Retribution BAI",
["pylons"] = {
[1] = {
["CLSID"] = "{5CE2FF2A-645A-4197-B48D-8720AC69394F}",
["num"] = 9,
},
[2] = {
["CLSID"] = "LAU_117_AGM_65F",
["num"] = 8,
},
[3] = {
["CLSID"] = "LAU_117_AGM_65F",
["num"] = 7,
},
[4] = {
["CLSID"] = "{FPU_12_FUEL_TANK}",
["num"] = 6,
},
[5] = {
["CLSID"] = "{AN_ASQ_228}",
["num"] = 4,
},
[6] = {
["CLSID"] = "LAU_117_AGM_65F",
["num"] = 3,
},
[7] = {
["CLSID"] = "{FPU_12_FUEL_TANK}",
["num"] = 5,
},
[8] = {
["CLSID"] = "LAU_117_AGM_65F",
["num"] = 2,
},
[9] = {
["CLSID"] = "{5CE2FF2A-645A-4197-B48D-8720AC69394F}",
["num"] = 1,
},
},
["tasks"] = {
[1] = 11,
},
},
[6] = {
["displayName"] = "Retribution CAS",
["name"] = "Retribution CAS",
["pylons"] = {
[1] = {
["CLSID"] = "{5CE2FF2A-645A-4197-B48D-8720AC69394F}",
["num"] = 9,
},
[2] = {
["CLSID"] = "LAU_117_AGM_65F",
["num"] = 8,
},
[3] = {
["CLSID"] = "{GBU_32_V_2B}",
["num"] = 7,
},
[4] = {
["CLSID"] = "{FPU_12_FUEL_TANK}",
["num"] = 6,
},
[5] = {
["CLSID"] = "{AN_ASQ_228}",
["num"] = 4,
},
[6] = {
["CLSID"] = "{GBU_32_V_2B}",
["num"] = 3,
},
[7] = {
["CLSID"] = "{FPU_12_FUEL_TANK}",
["num"] = 5,
},
[8] = {
["CLSID"] = "LAU_117_AGM_65F",
["num"] = 2,
},
[9] = {
["CLSID"] = "{5CE2FF2A-645A-4197-B48D-8720AC69394F}",
["num"] = 1,
},
},
["tasks"] = {
[1] = 11,
},
},
[7] = {
["displayName"] = "Retribution OCA/Runway",
["name"] = "Retribution OCA/Runway",
["pylons"] = {
[1] = {
["CLSID"] = "{5CE2FF2A-645A-4197-B48D-8720AC69394F}",
["num"] = 9,
},
[2] = {
["CLSID"] = "{40EF17B7-F508-45de-8566-6FFECC0C1AB8}",
["num"] = 8,
},
[3] = {
["CLSID"] = "{GBU_31_V_4B}",
["num"] = 7,
},
[4] = {
["CLSID"] = "{FPU_12_FUEL_TANK}",
["num"] = 6,
},
[5] = {
["CLSID"] = "{AN_ASQ_228}",
["num"] = 4,
},
[6] = {
["CLSID"] = "{GBU_31_V_4B}",
["num"] = 3,
},
[7] = {
["CLSID"] = "{FPU_12_FUEL_TANK}",
["num"] = 5,
},
[8] = {
["CLSID"] = "{40EF17B7-F508-45de-8566-6FFECC0C1AB8}",
["num"] = 2,
},
[9] = {
["CLSID"] = "{5CE2FF2A-645A-4197-B48D-8720AC69394F}",
["num"] = 1,
},
},
["tasks"] = {
[1] = 11,
},
},
[8] = {
["displayName"] = "Retribution DEAD",
["name"] = "Retribution DEAD",
["pylons"] = {
[1] = {
["CLSID"] = "{5CE2FF2A-645A-4197-B48D-8720AC69394F}",
["num"] = 9,
},
[2] = {
["CLSID"] = "{AGM-154A}",
["num"] = 8,
},
[3] = {
["CLSID"] = "{AGM-154A}",
["num"] = 7,
},
[4] = {
["CLSID"] = "{FPU_12_FUEL_TANK}",
["num"] = 6,
},
[5] = {
["CLSID"] = "{AN_ASQ_228}",
["num"] = 4,
},
[6] = {
["CLSID"] = "{AGM-154A}",
["num"] = 3,
},
[7] = {
["CLSID"] = "{FPU_12_FUEL_TANK}",
["num"] = 5,
},
[8] = {
["CLSID"] = "{AGM-154A}",
["num"] = 2,
},
[9] = {
["CLSID"] = "{5CE2FF2A-645A-4197-B48D-8720AC69394F}",
["num"] = 1,
},
},
["tasks"] = {
[1] = 11,
},
},
[9] = {
["displayName"] = "Retribution Strike",
["name"] = "Retribution Strike",
["pylons"] = {
[1] = {
["CLSID"] = "{5CE2FF2A-645A-4197-B48D-8720AC69394F}",
["num"] = 9,
},
[2] = {
["CLSID"] = "{GBU_32_V_2B}",
["num"] = 8,
},
[3] = {
["CLSID"] = "{GBU_32_V_2B}",
["num"] = 7,
},
[4] = {
["CLSID"] = "{FPU_12_FUEL_TANK}",
["num"] = 6,
},
[5] = {
["CLSID"] = "{AN_ASQ_228}",
["num"] = 4,
},
[6] = {
["CLSID"] = "{GBU_32_V_2B}",
["num"] = 3,
},
[7] = {
["CLSID"] = "{FPU_12_FUEL_TANK}",
["num"] = 5,
},
[8] = {
["CLSID"] = "{GBU_32_V_2B}",
["num"] = 2,
},
[9] = {
["CLSID"] = "{5CE2FF2A-645A-4197-B48D-8720AC69394F}",
["num"] = 1,
},
},
["tasks"] = {
[1] = 11,
},
},
[10] = {
["displayName"] = "Retribution OCA/aircraft",
["name"] = "Retribution OCA/aircraft",
["pylons"] = {
[1] = {
["CLSID"] = "{5CE2FF2A-645A-4197-B48D-8720AC69394F}",
["num"] = 9,
},
[2] = {
["CLSID"] = "{40EF17B7-F508-45de-8566-6FFECC0C1AB8}",
["num"] = 8,
},
[3] = {
["CLSID"] = "{BRU33_2X_CBU-99}",
["num"] = 7,
},
[4] = {
["CLSID"] = "{FPU_12_FUEL_TANK}",
["num"] = 6,
},
[5] = {
["CLSID"] = "{AN_ASQ_228}",
["num"] = 4,
},
[6] = {
["CLSID"] = "{BRU33_2X_CBU-99}",
["num"] = 3,
},
[7] = {
["CLSID"] = "{FPU_12_FUEL_TANK}",
["num"] = 5,
},
[8] = {
["CLSID"] = "{40EF17B7-F508-45de-8566-6FFECC0C1AB8}",
["num"] = 2,
},
[9] = {
["CLSID"] = "{5CE2FF2A-645A-4197-B48D-8720AC69394F}",
["num"] = 1,
},
},
["tasks"] = {
[1] = 11,
},
},
},
["tasks"] = {
},
["unitType"] = "FA-18E",
}
return unitPayloads

View File

@@ -0,0 +1,463 @@
local unitPayloads = {
["name"] = "FA-18F",
["payloads"] = {
[1] = {
["displayName"] = "Retribution SEAD",
["name"] = "Retribution SEAD",
["pylons"] = {
[1] = {
["CLSID"] = "{5CE2FF2A-645A-4197-B48D-8720AC69394F}",
["num"] = 9,
},
[2] = {
["CLSID"] = "{40EF17B7-F508-45de-8566-6FFECC0C1AB8}",
["num"] = 8,
},
[3] = {
["CLSID"] = "{B06DD79A-F21E-4EB9-BD9D-AB3844618C93}",
["num"] = 7,
},
[4] = {
["CLSID"] = "{FPU_12_FUEL_TANK}",
["num"] = 6,
},
[5] = {
["CLSID"] = "{AN_ASQ_228}",
["num"] = 4,
},
[6] = {
["CLSID"] = "{B06DD79A-F21E-4EB9-BD9D-AB3844618C93}",
["num"] = 3,
},
[7] = {
["CLSID"] = "{FPU_12_FUEL_TANK}",
["num"] = 5,
},
[8] = {
["CLSID"] = "{40EF17B7-F508-45de-8566-6FFECC0C1AB8}",
["num"] = 2,
},
[9] = {
["CLSID"] = "{5CE2FF2A-645A-4197-B48D-8720AC69394F}",
["num"] = 1,
},
},
["tasks"] = {
[1] = 11,
},
},
[2] = {
["displayName"] = "Retribution BARCAP",
["name"] = "Retribution BARCAP",
["pylons"] = {
[1] = {
["CLSID"] = "{5CE2FF2A-645A-4197-B48D-8720AC69394F}",
["num"] = 9,
},
[2] = {
["CLSID"] = "{40EF17B7-F508-45de-8566-6FFECC0C1AB8}",
["num"] = 8,
},
[3] = {
["CLSID"] = "LAU-115_2*LAU-127_AIM-120C",
["num"] = 7,
},
[4] = {
["CLSID"] = "<CLEAN>",
["num"] = 6,
},
[5] = {
["CLSID"] = "{AN_ASQ_228}",
["num"] = 4,
},
[6] = {
["CLSID"] = "LAU-115_2*LAU-127_AIM-120C",
["num"] = 3,
},
[7] = {
["CLSID"] = "<CLEAN>",
["num"] = 5,
},
[8] = {
["CLSID"] = "{40EF17B7-F508-45de-8566-6FFECC0C1AB8}",
["num"] = 2,
},
[9] = {
["CLSID"] = "{5CE2FF2A-645A-4197-B48D-8720AC69394F}",
["num"] = 1,
},
[10] = {
["CLSID"] = "{FPU_12_FUEL_TANK}",
["num"] = 10,
},
},
["tasks"] = {
[1] = 11,
},
},
[3] = {
["displayName"] = "Retribution TARCAP/Escort",
["name"] = "Retribution TARCAP/Escort",
["pylons"] = {
[1] = {
["CLSID"] = "{5CE2FF2A-645A-4197-B48D-8720AC69394F}",
["num"] = 9,
},
[2] = {
["CLSID"] = "{40EF17B7-F508-45de-8566-6FFECC0C1AB8}",
["num"] = 8,
},
[3] = {
["CLSID"] = "LAU-115_2*LAU-127_AIM-120C",
["num"] = 7,
},
[4] = {
["CLSID"] = "{FPU_12_FUEL_TANK}",
["num"] = 6,
},
[5] = {
["CLSID"] = "{AN_ASQ_228}",
["num"] = 4,
},
[6] = {
["CLSID"] = "LAU-115_2*LAU-127_AIM-120C",
["num"] = 3,
},
[7] = {
["CLSID"] = "{FPU_12_FUEL_TANK}",
["num"] = 5,
},
[8] = {
["CLSID"] = "{40EF17B7-F508-45de-8566-6FFECC0C1AB8}",
["num"] = 2,
},
[9] = {
["CLSID"] = "{5CE2FF2A-645A-4197-B48D-8720AC69394F}",
["num"] = 1,
},
},
["tasks"] = {
[1] = 11,
},
},
[4] = {
["displayName"] = "Retribution Anti-ship",
["name"] = "Retribution Anti-ship",
["pylons"] = {
[1] = {
["CLSID"] = "{5CE2FF2A-645A-4197-B48D-8720AC69394F}",
["num"] = 9,
},
[2] = {
["CLSID"] = "{40EF17B7-F508-45de-8566-6FFECC0C1AB8}",
["num"] = 8,
},
[3] = {
["CLSID"] = "{AGM_84D}",
["num"] = 7,
},
[4] = {
["CLSID"] = "{FPU_12_FUEL_TANK}",
["num"] = 6,
},
[5] = {
["CLSID"] = "{AN_ASQ_228}",
["num"] = 4,
},
[6] = {
["CLSID"] = "{AGM_84D}",
["num"] = 3,
},
[7] = {
["CLSID"] = "{FPU_12_FUEL_TANK}",
["num"] = 5,
},
[8] = {
["CLSID"] = "{40EF17B7-F508-45de-8566-6FFECC0C1AB8}",
["num"] = 2,
},
[9] = {
["CLSID"] = "{5CE2FF2A-645A-4197-B48D-8720AC69394F}",
["num"] = 1,
},
},
["tasks"] = {
[1] = 11,
},
},
[5] = {
["displayName"] = "Retribution BAI",
["name"] = "Retribution BAI",
["pylons"] = {
[1] = {
["CLSID"] = "{5CE2FF2A-645A-4197-B48D-8720AC69394F}",
["num"] = 9,
},
[2] = {
["CLSID"] = "LAU_117_AGM_65F",
["num"] = 8,
},
[3] = {
["CLSID"] = "LAU_117_AGM_65F",
["num"] = 7,
},
[4] = {
["CLSID"] = "{FPU_12_FUEL_TANK}",
["num"] = 6,
},
[5] = {
["CLSID"] = "{AN_ASQ_228}",
["num"] = 4,
},
[6] = {
["CLSID"] = "LAU_117_AGM_65F",
["num"] = 3,
},
[7] = {
["CLSID"] = "{FPU_12_FUEL_TANK}",
["num"] = 5,
},
[8] = {
["CLSID"] = "LAU_117_AGM_65F",
["num"] = 2,
},
[9] = {
["CLSID"] = "{5CE2FF2A-645A-4197-B48D-8720AC69394F}",
["num"] = 1,
},
},
["tasks"] = {
[1] = 11,
},
},
[6] = {
["displayName"] = "Retribution CAS",
["name"] = "Retribution CAS",
["pylons"] = {
[1] = {
["CLSID"] = "{5CE2FF2A-645A-4197-B48D-8720AC69394F}",
["num"] = 9,
},
[2] = {
["CLSID"] = "LAU_117_AGM_65F",
["num"] = 8,
},
[3] = {
["CLSID"] = "{GBU_32_V_2B}",
["num"] = 7,
},
[4] = {
["CLSID"] = "{FPU_12_FUEL_TANK}",
["num"] = 6,
},
[5] = {
["CLSID"] = "{AN_ASQ_228}",
["num"] = 4,
},
[6] = {
["CLSID"] = "{GBU_32_V_2B}",
["num"] = 3,
},
[7] = {
["CLSID"] = "{FPU_12_FUEL_TANK}",
["num"] = 5,
},
[8] = {
["CLSID"] = "LAU_117_AGM_65F",
["num"] = 2,
},
[9] = {
["CLSID"] = "{5CE2FF2A-645A-4197-B48D-8720AC69394F}",
["num"] = 1,
},
},
["tasks"] = {
[1] = 11,
},
},
[7] = {
["displayName"] = "Retribution OCA/Runway",
["name"] = "Retribution OCA/Runway",
["pylons"] = {
[1] = {
["CLSID"] = "{5CE2FF2A-645A-4197-B48D-8720AC69394F}",
["num"] = 9,
},
[2] = {
["CLSID"] = "{40EF17B7-F508-45de-8566-6FFECC0C1AB8}",
["num"] = 8,
},
[3] = {
["CLSID"] = "{GBU_31_V_4B}",
["num"] = 7,
},
[4] = {
["CLSID"] = "{FPU_12_FUEL_TANK}",
["num"] = 6,
},
[5] = {
["CLSID"] = "{AN_ASQ_228}",
["num"] = 4,
},
[6] = {
["CLSID"] = "{GBU_31_V_4B}",
["num"] = 3,
},
[7] = {
["CLSID"] = "{FPU_12_FUEL_TANK}",
["num"] = 5,
},
[8] = {
["CLSID"] = "{40EF17B7-F508-45de-8566-6FFECC0C1AB8}",
["num"] = 2,
},
[9] = {
["CLSID"] = "{5CE2FF2A-645A-4197-B48D-8720AC69394F}",
["num"] = 1,
},
},
["tasks"] = {
[1] = 11,
},
},
[8] = {
["displayName"] = "Retribution DEAD",
["name"] = "Retribution DEAD",
["pylons"] = {
[1] = {
["CLSID"] = "{5CE2FF2A-645A-4197-B48D-8720AC69394F}",
["num"] = 9,
},
[2] = {
["CLSID"] = "{AGM-154A}",
["num"] = 8,
},
[3] = {
["CLSID"] = "{AGM-154A}",
["num"] = 7,
},
[4] = {
["CLSID"] = "{FPU_12_FUEL_TANK}",
["num"] = 6,
},
[5] = {
["CLSID"] = "{AN_ASQ_228}",
["num"] = 4,
},
[6] = {
["CLSID"] = "{AGM-154A}",
["num"] = 3,
},
[7] = {
["CLSID"] = "{FPU_12_FUEL_TANK}",
["num"] = 5,
},
[8] = {
["CLSID"] = "{AGM-154A}",
["num"] = 2,
},
[9] = {
["CLSID"] = "{5CE2FF2A-645A-4197-B48D-8720AC69394F}",
["num"] = 1,
},
},
["tasks"] = {
[1] = 11,
},
},
[9] = {
["displayName"] = "Retribution Strike",
["name"] = "Retribution Strike",
["pylons"] = {
[1] = {
["CLSID"] = "{5CE2FF2A-645A-4197-B48D-8720AC69394F}",
["num"] = 9,
},
[2] = {
["CLSID"] = "{GBU_32_V_2B}",
["num"] = 8,
},
[3] = {
["CLSID"] = "{GBU_32_V_2B}",
["num"] = 7,
},
[4] = {
["CLSID"] = "{FPU_12_FUEL_TANK}",
["num"] = 6,
},
[5] = {
["CLSID"] = "{AN_ASQ_228}",
["num"] = 4,
},
[6] = {
["CLSID"] = "{GBU_32_V_2B}",
["num"] = 3,
},
[7] = {
["CLSID"] = "{FPU_12_FUEL_TANK}",
["num"] = 5,
},
[8] = {
["CLSID"] = "{GBU_32_V_2B}",
["num"] = 2,
},
[9] = {
["CLSID"] = "{5CE2FF2A-645A-4197-B48D-8720AC69394F}",
["num"] = 1,
},
},
["tasks"] = {
[1] = 11,
},
},
[10] = {
["displayName"] = "Retribution OCA/aircraft",
["name"] = "Retribution OCA/aircraft",
["pylons"] = {
[1] = {
["CLSID"] = "{5CE2FF2A-645A-4197-B48D-8720AC69394F}",
["num"] = 9,
},
[2] = {
["CLSID"] = "{40EF17B7-F508-45de-8566-6FFECC0C1AB8}",
["num"] = 8,
},
[3] = {
["CLSID"] = "{BRU33_2X_CBU-99}",
["num"] = 7,
},
[4] = {
["CLSID"] = "{FPU_12_FUEL_TANK}",
["num"] = 6,
},
[5] = {
["CLSID"] = "{AN_ASQ_228}",
["num"] = 4,
},
[6] = {
["CLSID"] = "{BRU33_2X_CBU-99}",
["num"] = 3,
},
[7] = {
["CLSID"] = "{FPU_12_FUEL_TANK}",
["num"] = 5,
},
[8] = {
["CLSID"] = "{40EF17B7-F508-45de-8566-6FFECC0C1AB8}",
["num"] = 2,
},
[9] = {
["CLSID"] = "{5CE2FF2A-645A-4197-B48D-8720AC69394F}",
["num"] = 1,
},
},
["tasks"] = {
[1] = 11,
},
},
},
["tasks"] = {
},
["unitType"] = "FA-18F",
}
return unitPayloads

View File

@@ -0,0 +1,101 @@
local unitPayloads = {
["name"] = "OH58D",
["payloads"] = {
[1] = {
["name"] = "Liberation CAS",
["pylons"] = {
[1] = {
["CLSID"] = "OH58D_AGM_114_R",
["num"] = 5,
},
[2] = {
["CLSID"] = "OH58D_M3P_L500",
["num"] = 1,
},
},
["tasks"] = {
[1] = 16,
},
},
[2] = {
["displayName"] = "Liberation DEAD",
["name"] = "Liberation DEAD",
["pylons"] = {
[1] = {
["CLSID"] = "OH58D_AGM_114_R",
["num"] = 5,
},
[2] = {
["CLSID"] = "OH58D_AGM_114_L",
["num"] = 1,
},
},
["tasks"] = {
[1] = 16,
},
},
[3] = {
["displayName"] = "Liberation BAI",
["name"] = "Liberation BAI",
["pylons"] = {
[1] = {
["CLSID"] = "OH58D_AGM_114_R",
["num"] = 5,
},
[2] = {
["CLSID"] = "{M260_APKWS_M151}",
["num"] = 1,
},
},
["tasks"] = {
[1] = 16,
},
},
[4] = {
["displayName"] = "Liberation OCA/Aircraft",
["name"] = "Liberation OCA/Aircraft",
["pylons"] = {
[1] = {
["CLSID"] = "{M260_APKWS_M151}",
["num"] = 5,
},
[2] = {
["CLSID"] = "{M260_APKWS_M151}",
["num"] = 1,
},
},
["tasks"] = {
[1] = 16,
},
},
[5] = {
["displayName"] = "Liberation Escort",
["name"] = "Liberation Escort",
["pylons"] = {
[1] = {
["CLSID"] = "OH58D_AGM_114_R",
["num"] = 5,
},
[2] = {
["CLSID"] = "OH58D_FIM_92_L",
["num"] = 1,
},
},
["tasks"] = {
[1] = 16,
},
},
},
["tasks"] = {
[1] = 11,
[2] = 31,
[3] = 32,
[4] = 16,
[5] = 18,
[6] = 35,
[7] = 30,
[8] = 17,
},
["unitType"] = "OH58D",
}
return unitPayloads

View File

@@ -91,11 +91,11 @@ local unitPayloads = {
["name"] = "SEAD",
["pylons"] = {
[1] = {
["CLSID"] = "{3E6B632D-65EB-44D2-9501-1C2D04515404}",
["CLSID"] = "{AGM_45A}",
["num"] = 9,
},
[2] = {
["CLSID"] = "{3E6B632D-65EB-44D2-9501-1C2D04515404}",
["CLSID"] = "{AGM_45A}",
["num"] = 3,
},
[3] = {

View File

@@ -21,9 +21,11 @@ aircrafts:
- F-15E Strike Eagle (Suite 4+)
- F-16CM Fighting Falcon (Block 50)
- F-4E Phantom II
- F-4E-45MC Phantom II
- F/A-18C Hornet (Lot 20)
- Mirage 2000C
- OH-58D Kiowa Warrior
- OH-58D(R) Kiowa Warrior
- S-3B Viking
- SA 342L Gazelle
- SA 342M Gazelle

View File

@@ -25,6 +25,7 @@ aircrafts:
- F/A-18C Hornet (Lot 20)
- Mirage 2000C
- OH-58D Kiowa Warrior
- OH-58D(R) Kiowa Warrior
- S-3B Viking
- SA 342L Gazelle
- SA 342M Gazelle

View File

@@ -13,6 +13,7 @@ aircrafts:
- F-14A Tomcat (Block 135-GR Late)
- F-14B Tomcat
- F-4E Phantom II
- F-4E-45MC Phantom II
- F-5E Tiger II
- Mirage-F1B
- Mirage-F1BE

View File

@@ -45,6 +45,7 @@ aircrafts:
- Mi-24P Hind-F
- Mi-8MTV2 Hip
- MiG-29S Fulcrum-C
- OH-58D(R) Kiowa Warrior
- SA 342L Gazelle
- SA 342M Gazelle
- Su-25T Frogfoot

View File

@@ -10,6 +10,7 @@ aircrafts:
- MiG-21bis Fishbed-N
- Mirage 2000C
- F-4E Phantom II
- F-4E-45MC Phantom II
- F-16CM Fighting Falcon (Block 50)
- IL-76MD
- C-130

View File

@@ -27,7 +27,10 @@ frontline_units:
- "Sturmgesch\xFCtz III Ausf. G"
- "Sturmgesch\xFCtz IV"
- "Sturmpanzer IV Brummb\xE4r"
artillery_units: []
artillery_units:
- FH Pak 40 75mm
- FH LeFH-18 105mm
- SPH Sd.Kfz.124 Wespe 105mm
logistics_units:
- LUV Kettenrad
- LUV Kubelwagen 82
@@ -41,6 +44,7 @@ preset_groups:
- Freya
naval_units:
- Boat Schnellboot type S130
- U-boat VIIC U-flak
requirements:
WW2 Asset Pack: https://www.digitalcombatsimulator.com/en/products/other/wwii_assets_pack/
carrier_names: []

View File

@@ -11,6 +11,7 @@ aircrafts:
- C-130J-30 Super Hercules
- F-16CM Fighting Falcon (Block 50)
- F-4E Phantom II
- F-4E-45MC Phantom II
- Mirage 2000-5
- Mirage 2000C
- UH-1H Iroquois

View File

@@ -9,6 +9,7 @@ aircrafts:
- AH-1J SeaCobra
- F-14A Tomcat (Block 135-GR Late)
- F-4E Phantom II
- F-4E-45MC Phantom II
- F-5E Tiger II
- MiG-21bis Fishbed-N
awacs:

View File

@@ -8,6 +8,7 @@ locales:
aircrafts:
- F-14A Tomcat (Block 135-GR Late)
- F-4E Phantom II
- F-4E-45MC Phantom II
- F-5E Tiger II
- IL-76MD
- Mi-24V Hind-E

View File

@@ -8,6 +8,7 @@ locales:
aircrafts:
- A-4E Skyhawk
- F-4E Phantom II
- F-4E-45MC Phantom II
- UH-1H Iroquois
awacs:
- E-2C Hawkeye

View File

@@ -12,6 +12,7 @@ aircrafts:
- F-16A
- F-16CM Fighting Falcon (Block 50)
- F-4E Phantom II
- F-4E-45MC Phantom II
- UH-1H Iroquois
awacs:
- E-2C Hawkeye

View File

@@ -16,6 +16,7 @@ aircrafts:
- F-15E Strike Eagle (Suite 4+)
- F-16CM Fighting Falcon (Block 50)
- F-4E Phantom II
- F-4E-45MC Phantom II
- UH-1H Iroquois
- UH-60L
awacs:

View File

@@ -17,6 +17,7 @@ aircrafts:
- F-15J Eagle
- F-2A
- F-4EJ Kai Phantom II
- F-4E-45MC Phantom II
awacs:
- E-2C Hawkeye
tankers:

View File

@@ -11,12 +11,15 @@ aircrafts:
- Mi-8MTV2 Hip
- MB-339A
- Su-22M4 Fitter-K
frontline_units:
- T-55A
- M113
- UH-1H Iroquois
frontline_units:
- AMX-13 75mm
- BRDM-2
- BTR-80
- BTR-80
- T-55A
- M1043 HMMWV (M2 HMG)
- M113
- M2A1 Half-Track
- ZSU-23-4 Shilka
artillery_units:
- BM-21 Grad

View File

@@ -11,7 +11,9 @@ aircrafts:
- CH-47D
- F-16CM Fighting Falcon (Block 50)
- F-4E Phantom II
- F-4E-45MC Phantom II
- OH-58D Kiowa Warrior
- OH-58D(R) Kiowa Warrior
- UH-1H Iroquois
- UH-60A
- UH-60L

View File

@@ -10,6 +10,7 @@ aircrafts:
- C-130
- CH-47D
- F-4E Phantom II
- F-4E-45MC Phantom II
- F-4B Phantom II
- F-4C Phantom II
- F-5E Tiger II

View File

@@ -10,6 +10,7 @@ aircrafts:
- F-4C Phantom II
- F-4B Phantom II
- F-4E Phantom II
- F-4E-45MC Phantom II
- F-5E Tiger II
- A-4E Skyhawk
- OV-10A Bronco

View File

@@ -12,6 +12,7 @@ aircrafts:
- CH-53E
- F-14A Tomcat (Block 135-GR Late)
- F-4E Phantom II
- F-4E-45MC Phantom II
- F-4B Phantom II
- F-4C Phantom II
- F-5E Tiger II

View File

@@ -23,6 +23,7 @@ aircrafts:
- F-15E Strike Eagle (Suite 4+)
- F-16CM Fighting Falcon (Block 50)
- F/A-18C Hornet (Lot 20)
- OH-58D(R) Kiowa Warrior
- S-3B Viking
- SH-60B Seahawk
- UH-1H Iroquois

View File

@@ -26,6 +26,7 @@ aircrafts:
- F-16CM Fighting Falcon (Block 50)
- F-22A Raptor
- F/A-18C Hornet (Lot 20)
- OH-58D(R) Kiowa Warrior
- S-3B Viking
- SH-60B Seahawk
- UH-1H Iroquois

View File

@@ -12,6 +12,7 @@ aircrafts:
- F-14B Tomcat
- F-4B Phantom II
- F-4E Phantom II
- F-4E-45MC Phantom II
- S-3B Viking
- SH-60B Seahawk
- UH-1H Iroquois

View File

@@ -1,6 +1,6 @@
country: USA
name: US Navy 2009
authors: Fuzzle, Chili
authors: Fuzzle, Chilli
description: <p>A modern representation of the US Navy/Marine Corps.</p>
locales:
- en_US

View File

@@ -151,9 +151,11 @@ end
function update_hit_points(event)
local update = {}
update.name = event.target:getName()
update.hit_points = event.target:getLife()
unit_hit_point_updates[#unit_hit_point_updates + 1] = update
write_state()
get_life_success, update.hit_points = pcall(event.target.getLife, event.target)
if get_life_success then
unit_hit_point_updates[#unit_hit_point_updates + 1] = update
write_state()
end
end
activeWeapons = {}

View File

@@ -0,0 +1,22 @@
---
name: EAF 222nd TFB
nickname: Pharaoh's Ghosts
country: Egypt
role: Fighter Bomber
aircraft: F-4E-45MC Phantom II
livery: EAF-60366_Ghost
mission_types:
- Anti-ship
- BAI
- BARCAP
- CAS
- DEAD
- Escort
- Intercept
- OCA/Aircraft
- OCA/Runway
- SEAD
- SEAD Escort
- Strike
- Fighter sweep
- TARCAP

View File

@@ -0,0 +1,22 @@
---
name: EAF 222nd TFB SEA
nickname: Pharaoh's Ghosts
country: Egypt
role: Fighter Bomber
aircraft: F-4E-45MC Phantom II
livery: EAF-70373_SEAW
mission_types:
- Anti-ship
- BAI
- BARCAP
- CAS
- DEAD
- Escort
- Intercept
- OCA/Aircraft
- OCA/Runway
- SEAD
- SEAD Escort
- Strike
- Fighter sweep
- TARCAP

View File

@@ -0,0 +1,22 @@
---
name: GAF JG 72
nickname: Westphalen
country: Germany
role: Fighter Bomber
aircraft: F-4E-45MC Phantom II
livery: 37+24_N81B_JG72
mission_types:
- Anti-ship
- BAI
- BARCAP
- CAS
- DEAD
- Escort
- Intercept
- OCA/Aircraft
- OCA/Runway
- SEAD
- SEAD Escort
- Strike
- Fighter sweep
- TARCAP

View File

@@ -0,0 +1,22 @@
---
name: GAF JG 74
nickname: Moelders
country: Germany
role: Fighter Bomber
aircraft: F-4E-45MC Phantom II
livery: 37+36_N72_JG74
mission_types:
- Anti-ship
- BAI
- BARCAP
- CAS
- DEAD
- Escort
- Intercept
- OCA/Aircraft
- OCA/Runway
- SEAD
- SEAD Escort
- Strike
- Fighter sweep
- TARCAP

View File

@@ -0,0 +1,22 @@
---
name: HAF 338rd FS
nickname: Ares
country: Greece
role: Fighter Bomber
aircraft: F-4E-45MC Phantom II
livery: HAF-01507_AG
mission_types:
- Anti-ship
- BAI
- BARCAP
- CAS
- DEAD
- Escort
- Intercept
- OCA/Aircraft
- OCA/Runway
- SEAD
- SEAD Escort
- Strike
- Fighter sweep
- TARCAP

View File

@@ -0,0 +1,22 @@
---
name: IAF 119 FS
nickname: Bat Squadron
country: Israel
role: Fighter Bomber
aircraft: F-4E-45MC Phantom II
livery: IAF-Kurnass-114-119SQN
mission_types:
- Anti-ship
- BAI
- BARCAP
- CAS
- DEAD
- Escort
- Intercept
- OCA/Aircraft
- OCA/Runway
- SEAD
- SEAD Escort
- Strike
- Fighter sweep
- TARCAP

View File

@@ -0,0 +1,22 @@
---
name: IAF 69 FS
nickname: Hammers
country: Israel
role: Fighter Bomber
aircraft: F-4E-45MC Phantom II
livery: IAF-Kurnass-175-69SQN
mission_types:
- Anti-ship
- BAI
- BARCAP
- CAS
- DEAD
- Escort
- Intercept
- OCA/Aircraft
- OCA/Runway
- SEAD
- SEAD Escort
- Strike
- Fighter sweep
- TARCAP

View File

@@ -0,0 +1,22 @@
---
name: IRIAF 61st TFS
nickname: Panthers
country: Iran
role: Fighter Bomber
aircraft: F-4E-45MC Phantom II
livery: IRIAF-3-6643
mission_types:
- Anti-ship
- BAI
- BARCAP
- CAS
- DEAD
- Escort
- Intercept
- OCA/Aircraft
- OCA/Runway
- SEAD
- SEAD Escort
- Strike
- Fighter sweep
- TARCAP

View File

@@ -0,0 +1,22 @@
---
name: JASDF 8th TFS
nickname: Black Panthers
country: Japan
role: Fighter Bomber
aircraft: F-4E-45MC Phantom II
livery: JASDF-87-8312-3WG
mission_types:
- Anti-ship
- BAI
- BARCAP
- CAS
- DEAD
- Escort
- Intercept
- OCA/Aircraft
- OCA/Runway
- SEAD
- SEAD Escort
- Strike
- Fighter sweep
- TARCAP

View File

@@ -0,0 +1,22 @@
---
name: RAAF No. 1 SQN
nickname: Fighting First
country: Australia
role: Fighter Bomber
aircraft: F-4E-45MC Phantom II
livery: RAAF-97203_SEA
mission_types:
- Anti-ship
- BAI
- BARCAP
- CAS
- DEAD
- Escort
- Intercept
- OCA/Aircraft
- OCA/Runway
- SEAD
- SEAD Escort
- Strike
- Fighter sweep
- TARCAP

View File

@@ -0,0 +1,22 @@
---
name: RAF No. 43 SQN
nickname: Fighting Cocks
country: UK
role: Fighter Bomber
aircraft: F-4E-45MC Phantom II
livery: RAF-43-Sqn-FG.1
mission_types:
- Anti-ship
- BAI
- BARCAP
- CAS
- DEAD
- Escort
- Intercept
- OCA/Aircraft
- OCA/Runway
- SEAD
- SEAD Escort
- Strike
- Fighter sweep
- TARCAP

View File

@@ -0,0 +1,22 @@
---
name: ROKAF 153rd FS
nickname: 153rd Fighter Squadron
country: South Korea
role: Fighter Bomber
aircraft: F-4E-45MC Phantom II
livery: ROKAF-80470-CG-153FS
mission_types:
- Anti-ship
- BAI
- BARCAP
- CAS
- DEAD
- Escort
- Intercept
- OCA/Aircraft
- OCA/Runway
- SEAD
- SEAD Escort
- Strike
- Fighter sweep
- TARCAP

View File

@@ -0,0 +1,22 @@
---
name: TuAF 111 Filo
nickname: Panter
country: Turkey
role: Fighter Bomber
aircraft: F-4E-45MC Phantom II
livery: TUAF-67-0268-H2
mission_types:
- Anti-ship
- BAI
- BARCAP
- CAS
- DEAD
- Escort
- Intercept
- OCA/Aircraft
- OCA/Runway
- SEAD
- SEAD Escort
- Strike
- Fighter sweep
- TARCAP

View File

@@ -0,0 +1,22 @@
---
name: USAF 110th ANG BS
nickname: Lindbergh's Own
country: USA
role: Fighter Bomber
aircraft: F-4E-45MC Phantom II
livery: SL68-303_H1_110ANG
mission_types:
- Anti-ship
- BAI
- BARCAP
- CAS
- DEAD
- Escort
- Intercept
- OCA/Aircraft
- OCA/Runway
- SEAD
- SEAD Escort
- Strike
- Fighter sweep
- TARCAP

View File

@@ -0,0 +1,22 @@
---
name: USAF 141st TFS
nickname: Tigers
country: USA
role: Fighter Bomber
aircraft: F-4E-45MC Phantom II
livery: NJ68-357_H1_141TFS
mission_types:
- Anti-ship
- BAI
- BARCAP
- CAS
- DEAD
- Escort
- Intercept
- OCA/Aircraft
- OCA/Runway
- SEAD
- SEAD Escort
- Strike
- Fighter sweep
- TARCAP

View File

@@ -0,0 +1,22 @@
---
name: USAF 163rd TFG
nickname: Grizzlys
country: USA
role: Fighter Bomber
aircraft: F-4E-45MC Phantom II
livery: CA68-426_H2_163tfg
mission_types:
- Anti-ship
- BAI
- BARCAP
- CAS
- DEAD
- Escort
- Intercept
- OCA/Aircraft
- OCA/Runway
- SEAD
- SEAD Escort
- Strike
- Fighter sweep
- TARCAP

View File

@@ -0,0 +1,22 @@
---
name: USAF 20th FS
nickname: Silver Lobos
country: USA
role: Fighter Bomber
aircraft: F-4E-45MC Phantom II
livery: default
mission_types:
- Anti-ship
- BAI
- BARCAP
- CAS
- DEAD
- Escort
- Intercept
- OCA/Aircraft
- OCA/Runway
- SEAD
- SEAD Escort
- Strike
- Fighter sweep
- TARCAP

View File

@@ -0,0 +1,22 @@
---
name: USAF 36th TFS
nickname: The Flying Fiends
country: USA
role: Fighter Bomber
aircraft: F-4E-45MC Phantom II
livery: OS68-349_SEAW_36TFS
mission_types:
- Anti-ship
- BAI
- BARCAP
- CAS
- DEAD
- Escort
- Intercept
- OCA/Aircraft
- OCA/Runway
- SEAD
- SEAD Escort
- Strike
- Fighter sweep
- TARCAP

View File

@@ -0,0 +1,22 @@
---
name: USAF 457th ANG FS
nickname: Spads
country: USA
role: Fighter Bomber
aircraft: F-4E-45MC Phantom II
livery: TH68-450_H1_457FS
mission_types:
- Anti-ship
- BAI
- BARCAP
- CAS
- DEAD
- Escort
- Intercept
- OCA/Aircraft
- OCA/Runway
- SEAD
- SEAD Escort
- Strike
- Fighter sweep
- TARCAP

View File

@@ -0,0 +1,22 @@
---
name: USAF 469th FTS
nickname: Fighting Bulls
country: USA
role: Fighter Bomber
aircraft: F-4E-45MC Phantom II
livery: JV67-288_SEAW_469TFS
mission_types:
- Anti-ship
- BAI
- BARCAP
- CAS
- DEAD
- Escort
- Intercept
- OCA/Aircraft
- OCA/Runway
- SEAD
- SEAD Escort
- Strike
- Fighter sweep
- TARCAP

View File

@@ -0,0 +1,22 @@
---
name: USAF 512th TFS
nickname: Dragons
country: USA
role: Fighter Bomber
aircraft: F-4E-45MC Phantom II
livery: RS68-480_SEA_512TFS
mission_types:
- Anti-ship
- BAI
- BARCAP
- CAS
- DEAD
- Escort
- Intercept
- OCA/Aircraft
- OCA/Runway
- SEAD
- SEAD Escort
- Strike
- Fighter sweep
- TARCAP

View File

@@ -0,0 +1,22 @@
---
name: USAF 526th TFS
nickname: Black Knights
country: USA
role: Fighter Bomber
aircraft: F-4E-45MC Phantom II
livery: RS68-381_E1_526TFS
mission_types:
- Anti-ship
- BAI
- BARCAP
- CAS
- DEAD
- Escort
- Intercept
- OCA/Aircraft
- OCA/Runway
- SEAD
- SEAD Escort
- Strike
- Fighter sweep
- TARCAP

View File

@@ -0,0 +1,22 @@
---
name: USAF 57th FIS
nickname: Black Knights
country: USA
role: Fighter Bomber
aircraft: F-4E-45MC Phantom II
livery: ADC AF66-300
mission_types:
- Anti-ship
- BAI
- BARCAP
- CAS
- DEAD
- Escort
- Intercept
- OCA/Aircraft
- OCA/Runway
- SEAD
- SEAD Escort
- Strike
- Fighter sweep
- TARCAP

View File

@@ -0,0 +1,22 @@
---
name: USAF 68th FS
nickname: Lightning Lancers
country: USA
role: Fighter Bomber
aircraft: F-4E-45MC Phantom II
livery: MY68-328_E1_68FS
mission_types:
- Anti-ship
- BAI
- BARCAP
- CAS
- DEAD
- Escort
- Intercept
- OCA/Aircraft
- OCA/Runway
- SEAD
- SEAD Escort
- Strike
- Fighter sweep
- TARCAP

View File

@@ -0,0 +1,13 @@
---
name: Australian Army
country: Australia
role: Light Attack and Scout Helicopter
aircraft: OH-58D(R) Kiowa Warrior
livery:
- AUS Army Fictional
mission_types:
- BAI
- CAS
- DEAD
- Escort
- OCA/Aircraft

View File

@@ -0,0 +1,13 @@
---
name: German Army
country: Germany
role: Light Attack and Scout Helicopter
aircraft: OH-58D(R) Kiowa Warrior
livery:
- DE Army Fictional
mission_types:
- BAI
- CAS
- DEAD
- Escort
- OCA/Aircraft

View File

@@ -0,0 +1,13 @@
---
name: Spanish Army
country: Spain
role: Light Attack and Scout Helicopter
aircraft: OH-58D(R) Kiowa Warrior
livery:
- ES Army Fictional
mission_types:
- BAI
- CAS
- DEAD
- Escort
- OCA/Aircraft

View File

@@ -0,0 +1,13 @@
---
name: French Army
country: France
role: Light Attack and Scout Helicopter
aircraft: OH-58D(R) Kiowa Warrior
livery:
- FR Army Fictional
mission_types:
- BAI
- CAS
- DEAD
- Escort
- OCA/Aircraft

View File

@@ -0,0 +1,13 @@
---
name: Greek Army
country: Greece
role: Light Attack and Scout Helicopter
aircraft: OH-58D(R) Kiowa Warrior
livery:
- GR Army Fictional
mission_types:
- BAI
- CAS
- DEAD
- Escort
- OCA/Aircraft

View File

@@ -0,0 +1,29 @@
---
name: Croatian Air Force 393rd Helicopter Squadron
nickname: Night Owls
country: Croatia
role: Light Attack and Scout Helicopter
aircraft: OH-58D(R) Kiowa Warrior
livery_set:
- HR 393EH 321
- HR 393EH 322
- HR 393EH 323
- HR 393EH 324
- HR 393EH 325
- HR 393EH 326
- HR 393EH 327
- HR 393EH 328
- HR 393EH 329
- HR 393EH 330
- HR 393EH 331
- HR 393EH 332
- HR 393EH 333
- HR 393EH 334
- HR 393EH 335
- HR 393EH 336
mission_types:
- BAI
- CAS
- DEAD
- Escort
- OCA/Aircraft

View File

@@ -0,0 +1,13 @@
---
name: Israeli Army
country: Israel
role: Light Attack and Scout Helicopter
aircraft: OH-58D(R) Kiowa Warrior
livery:
- ISR Army Fictional
mission_types:
- BAI
- CAS
- DEAD
- Escort
- OCA/Aircraft

View File

@@ -0,0 +1,13 @@
---
name: Japanese Army
country: Japan
role: Light Attack and Scout Helicopter
aircraft: OH-58D(R) Kiowa Warrior
livery:
- JPN Army Fictional
mission_types:
- BAI
- CAS
- DEAD
- Escort
- OCA/Aircraft

View File

@@ -0,0 +1,13 @@
---
name: Dutch Army
country: Netherlands
role: Light Attack and Scout Helicopter
aircraft: OH-58D(R) Kiowa Warrior
livery:
- NL Army Fictional
mission_types:
- BAI
- CAS
- DEAD
- Escort
- OCA/Aircraft

View File

@@ -0,0 +1,13 @@
---
name: Polish Army
country: Poland
role: Light Attack and Scout Helicopter
aircraft: OH-58D(R) Kiowa Warrior
livery:
- PL Army Fictional
mission_types:
- BAI
- CAS
- DEAD
- Escort
- OCA/Aircraft

View File

@@ -0,0 +1,13 @@
---
name: Russian Army
country: Russia
role: Light Attack and Scout Helicopter
aircraft: OH-58D(R) Kiowa Warrior
livery:
- RU Army Fictional
mission_types:
- BAI
- CAS
- DEAD
- Escort
- OCA/Aircraft

View File

@@ -0,0 +1,16 @@
---
name: Tennessee National Guard 1-230th Air Cavalry Squadron
nickname: Pink Fuzzy Bunnies of Death
female_pilot_percentage: 10
country: USA
role: Light Attack and Scout Helicopter
aircraft: OH-58D(R) Kiowa Warrior
livery_set:
- US Tennessee ANG 1-230 113
- US Tennessee ANG 1-230 152
mission_types:
- BAI
- CAS
- DEAD
- Escort
- OCA/Aircraft

View File

@@ -0,0 +1,13 @@
---
name: Tunisian Army
country: Tunisia
role: Light Attack and Scout Helicopter
aircraft: OH-58D(R) Kiowa Warrior
livery:
- TUN Army
mission_types:
- BAI
- CAS
- DEAD
- Escort
- OCA/Aircraft

View File

@@ -0,0 +1,13 @@
---
name: Taiwanese Army
country: Taiwan
role: Light Attack and Scout Helicopter
aircraft: OH-58D(R) Kiowa Warrior
livery:
- TWN Army Fictional
mission_types:
- BAI
- CAS
- DEAD
- Escort
- OCA/Aircraft

View File

@@ -0,0 +1,13 @@
---
name: British Army Air Corps Desert
country: UK
role: Light Attack and Scout Helicopter
aircraft: OH-58D(R) Kiowa Warrior
livery:
- UK Army Fictional Desert
mission_types:
- BAI
- CAS
- DEAD
- Escort
- OCA/Aircraft

View File

@@ -0,0 +1,13 @@
---
name: British Army Air Corps
country: UK
role: Light Attack and Scout Helicopter
aircraft: OH-58D(R) Kiowa Warrior
livery:
- UK Army Fictional
mission_types:
- BAI
- CAS
- DEAD
- Escort
- OCA/Aircraft

View File

@@ -0,0 +1,18 @@
---
name: US Army 17th Cavalry Regiment 3rd Squadron Troop C
nickname: Crazy Horse
female_pilot_percentage: 10
country: USA
role: Light Attack and Scout Helicopter
aircraft: OH-58D(R) Kiowa Warrior
livery_set:
- US 3-17 C 001 Jasmine
- US 3-17 C 179 Presley Marie
- US 3-17 C 561 Ariel
- US 3-17 C 976 Jenny
mission_types:
- BAI
- CAS
- DEAD
- Escort
- OCA/Aircraft

Some files were not shown because too many files have changed in this diff Show More