mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
F4U-1D support except banner & payloads
This commit is contained in:
parent
5592a834c9
commit
3086f64e98
@ -41,6 +41,8 @@ from game.radio.channels import (
|
|||||||
WarthogChannelNamer,
|
WarthogChannelNamer,
|
||||||
PhantomChannelNamer,
|
PhantomChannelNamer,
|
||||||
KiowaChannelNamer,
|
KiowaChannelNamer,
|
||||||
|
ARC5RadioChannelAllocator,
|
||||||
|
ARC5ChannelNamer,
|
||||||
)
|
)
|
||||||
from game.utils import (
|
from game.utils import (
|
||||||
Distance,
|
Distance,
|
||||||
@ -94,6 +96,7 @@ class RadioConfig:
|
|||||||
return None
|
return None
|
||||||
allocator_type: Type[RadioChannelAllocator] = {
|
allocator_type: Type[RadioChannelAllocator] = {
|
||||||
"SCR-522": SCR522RadioChannelAllocator,
|
"SCR-522": SCR522RadioChannelAllocator,
|
||||||
|
"ARC-5": ARC5RadioChannelAllocator,
|
||||||
"common": CommonRadioChannelAllocator,
|
"common": CommonRadioChannelAllocator,
|
||||||
"farmer": FarmerRadioChannelAllocator,
|
"farmer": FarmerRadioChannelAllocator,
|
||||||
"noop": NoOpChannelAllocator,
|
"noop": NoOpChannelAllocator,
|
||||||
@ -105,6 +108,7 @@ class RadioConfig:
|
|||||||
def make_namer(cls, config: dict[str, Any]) -> Type[ChannelNamer]:
|
def make_namer(cls, config: dict[str, Any]) -> Type[ChannelNamer]:
|
||||||
return {
|
return {
|
||||||
"SCR-522": SCR522ChannelNamer,
|
"SCR-522": SCR522ChannelNamer,
|
||||||
|
"ARC-5": ARC5ChannelNamer,
|
||||||
"default": ChannelNamer,
|
"default": ChannelNamer,
|
||||||
"huey": HueyChannelNamer,
|
"huey": HueyChannelNamer,
|
||||||
"mirage": MirageChannelNamer,
|
"mirage": MirageChannelNamer,
|
||||||
|
|||||||
@ -219,6 +219,27 @@ class SCR522RadioChannelAllocator(RadioChannelAllocator):
|
|||||||
return "SCR-522"
|
return "SCR-522"
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass(frozen=True)
|
||||||
|
class ARC5RadioChannelAllocator(RadioChannelAllocator):
|
||||||
|
"""Preset channel allocator for the ARC-5 WW2 radios. (4 channels)"""
|
||||||
|
|
||||||
|
def assign_channels_for_flight(
|
||||||
|
self, flight: FlightData, mission_data: MissionData
|
||||||
|
) -> None:
|
||||||
|
radio_id = 1
|
||||||
|
flight.assign_channel(radio_id, 1, flight.intra_flight_channel)
|
||||||
|
if flight.departure.atc is not None:
|
||||||
|
flight.assign_channel(radio_id, 2, flight.departure.atc)
|
||||||
|
if flight.arrival.atc is not None:
|
||||||
|
flight.assign_channel(radio_id, 3, flight.arrival.atc)
|
||||||
|
|
||||||
|
# TODO : Some GCI on Channel 4 ?
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def name(cls) -> str:
|
||||||
|
return "ARC-5"
|
||||||
|
|
||||||
|
|
||||||
class ChannelNamer:
|
class ChannelNamer:
|
||||||
"""Base class allowing channel name customization per-aircraft.
|
"""Base class allowing channel name customization per-aircraft.
|
||||||
|
|
||||||
@ -376,6 +397,23 @@ class SCR522ChannelNamer(ChannelNamer):
|
|||||||
return "SCR-522"
|
return "SCR-522"
|
||||||
|
|
||||||
|
|
||||||
|
class ARC5ChannelNamer(ChannelNamer):
|
||||||
|
"""
|
||||||
|
Channel namer for F4U-1D Corsair
|
||||||
|
"""
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def channel_name(radio_id: int, channel_id: int) -> str:
|
||||||
|
if channel_id > 3:
|
||||||
|
return "?"
|
||||||
|
else:
|
||||||
|
return f"Channel " + "1234"[channel_id - 1]
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def name(cls) -> str:
|
||||||
|
return "ARC-5"
|
||||||
|
|
||||||
|
|
||||||
class LegacyWarthogChannelNamer(ChannelNamer):
|
class LegacyWarthogChannelNamer(ChannelNamer):
|
||||||
"""Channel namer for the legacy A-10C."""
|
"""Channel namer for the legacy A-10C."""
|
||||||
|
|
||||||
|
|||||||
@ -231,6 +231,15 @@ RADIOS: List[Radio] = [
|
|||||||
# P-51 / P-47 Radio
|
# P-51 / P-47 Radio
|
||||||
# 4 preset channels (A/B/C/D)
|
# 4 preset channels (A/B/C/D)
|
||||||
Radio("SCR522", (RadioRange(MHz(100), MHz(156), kHz(25), Modulation.AM),)),
|
Radio("SCR522", (RadioRange(MHz(100), MHz(156), kHz(25), Modulation.AM),)),
|
||||||
|
# F4U-1D Radio
|
||||||
|
# 4 preset channels (1/2/3/4)
|
||||||
|
Radio(
|
||||||
|
"ARC-5",
|
||||||
|
(
|
||||||
|
RadioRange(MHz(100), MHz(150), kHz(25), Modulation.AM),
|
||||||
|
RadioRange(MHz(220), MHz(390), kHz(25), Modulation.AM),
|
||||||
|
),
|
||||||
|
),
|
||||||
# JF-17 Radios should use AM
|
# JF-17 Radios should use AM
|
||||||
Radio("R&S M3AR VHF", (RadioRange(MHz(120), MHz(174), kHz(25), Modulation.AM),)),
|
Radio("R&S M3AR VHF", (RadioRange(MHz(120), MHz(174), kHz(25), Modulation.AM),)),
|
||||||
Radio("R&S M3AR UHF", (RadioRange(MHz(225), MHz(400), kHz(25), Modulation.AM),)),
|
Radio("R&S M3AR UHF", (RadioRange(MHz(225), MHz(400), kHz(25), Modulation.AM),)),
|
||||||
|
|||||||
@ -7,6 +7,7 @@
|
|||||||
"A-20G Havoc",
|
"A-20G Havoc",
|
||||||
"B-17G Flying Fortress",
|
"B-17G Flying Fortress",
|
||||||
"C-47 Skytrain",
|
"C-47 Skytrain",
|
||||||
|
"F4U-1D Corsair",
|
||||||
"P-47D-30 Thunderbolt (Early)",
|
"P-47D-30 Thunderbolt (Early)",
|
||||||
"P-47D-30 Thunderbolt (Late)",
|
"P-47D-30 Thunderbolt (Late)",
|
||||||
"P-47D-40 Thunderbolt",
|
"P-47D-40 Thunderbolt",
|
||||||
|
|||||||
BIN
resources/ui/units/aircrafts/icons/F4U-1D_24.jpg
Normal file
BIN
resources/ui/units/aircrafts/icons/F4U-1D_24.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.6 KiB |
39
resources/units/aircraft/F4U-1D.yaml
Normal file
39
resources/units/aircraft/F4U-1D.yaml
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
always_keeps_gun: true
|
||||||
|
description: # From Wikipedia, the free encyclopedia
|
||||||
|
The Vought F4U Corsair is an American fighter aircraft that saw service primarily in World War II and the Korean War.
|
||||||
|
Designed and initially manufactured by Chance Vought, the Corsair was soon in great demand;
|
||||||
|
additional production contracts were given to Goodyear, whose Corsairs were designated FG, and Brewster, designated F3A.
|
||||||
|
The Corsair was designed and principally operated as a carrier-based aircraft, and entered service in large numbers
|
||||||
|
with the U.S. Navy and Marines in World War II. It quickly became one of the most capable carrier-based fighter-bombers
|
||||||
|
of the war.[3] Some Japanese pilots regarded it as the most formidable American fighter and U.S. naval aviators
|
||||||
|
achieved an 11:1 kill ratio.[4][5] Early problems with carrier landings and logistics led to it being eclipsed
|
||||||
|
as the dominant carrier-based fighter by the Grumman F6F Hellcat, powered by the same Double Wasp engine first
|
||||||
|
flown on the Corsair's initial prototype in 1940.[6] The Corsair's early deployment was to land-based squadrons
|
||||||
|
of the U.S. Marine Corps and U.S. Navy.
|
||||||
|
introduced: 1942
|
||||||
|
manufacturer: Chance Vought
|
||||||
|
origin: USA
|
||||||
|
price: 6
|
||||||
|
role: Carrier Based Fighter-Bomber
|
||||||
|
gunfighter: true
|
||||||
|
variants:
|
||||||
|
F4U-1D Corsair: {}
|
||||||
|
radios:
|
||||||
|
intra_flight: ARC-5
|
||||||
|
inter_flight: ARC-5
|
||||||
|
channels:
|
||||||
|
type: ARC-5
|
||||||
|
namer: ARC-5
|
||||||
|
kneeboard_units: "imperial"
|
||||||
|
tasks:
|
||||||
|
BAI: 100
|
||||||
|
BARCAP: 100
|
||||||
|
CAS: 100
|
||||||
|
Anti-ship: 100
|
||||||
|
Escort: 100
|
||||||
|
Fighter sweep: 100
|
||||||
|
Intercept: 100
|
||||||
|
OCA/Aircraft: 100
|
||||||
|
OCA/Runway: 60
|
||||||
|
Strike: 60
|
||||||
|
TARCAP: 100
|
||||||
Loading…
x
Reference in New Issue
Block a user