veafCarrierOperations — Gestion des récupérations sur porte-avions¶
Module ID: CARRIER | Fichier: veafCarrierOperations.lua
Voir en jeu : étape 16 « Porte-avions Stennis et Roosevelt » de la mission de démo.
Objectif¶
Gère les opérations de récupération sur porte-avions. Quand les joueurs déclenchent une récupération, le porte-avions tourne automatiquement face au vent pour atteindre la vitesse de vent sur pont souhaitée, maintient ce cap pendant la période de récupération, puis reprend sa route d'origine. Affiche les informations BRC, TACAN, ICLS et radio.
Dépendances¶
veafRadio— menu F10veafRemote— expose une commande distantecarrier
Activation¶
veafCarrierOperations.initialize()
Il n'existe pas d'API d'enregistrement par porte-avions. À l'initialize(), le module parcourt tous les groupes de la mission et enregistre automatiquement tout groupe contenant un type d'unité porte-avions connu (voir Types de porte-avions supportés). Sa route initiale, son camp et ses données ATC (TACAN/ICLS/LINK4/ACLS/tour, lues dans les tâches programmées du porte-avions) sont capturés à ce moment-là. Il suffit de placer un groupe porte-avions dans l'éditeur de mission — aucun appel de script n'est nécessaire.
Le module gère aussi deux groupes de soutien optionnels (hélicoptère de sauvetage et ravitailleur de récupération), eux aussi détectés par leur nom — voir Pedro et ravitailleur S3B.
Configuration (mission.yaml)¶
Les opérations de porte-avions sont activées via l'ID de module CARRIER. Les porte-avions eux-mêmes ne sont pas déclarés dans mission.yaml : ils sont détectés automatiquement à partir des groupes porte-avions présents dans la mission (voir Activation).
modules:
CARRIER:
enabled: true # défaut : true
logLevel: info # surcharge optionnelle du niveau de log
init:
include_carrier_operations_radio: true # ajouter le menu carrier au F10 (défaut : true)
operations_scheduler: true # lancer la boucle VEAF des opérations, toutes les 60 s (défaut : true)
| Champ | Type | Défaut | Requis | Description |
|---|---|---|---|---|
enabled |
booléen | true |
Non | Activer ou désactiver le module |
logLevel |
string | (global) | Non | Surcharge du niveau de log par module |
init.include_carrier_operations_radio |
booléen | true |
Non | Ajouter le menu des opérations porte-avions au menu radio F10 |
init.operations_scheduler |
booléen | true |
Non | false initialise les porte-avions et leur menu sans lancer la boucle VEAF qui relance leurs opérations toutes les 60 s : pour une mission qui pilote ses porte-avions elle-même |
Exemple minimal¶
modules:
CARRIER:
enabled: true
Constantes de configuration clés¶
| Constante | Valeur par défaut | Description |
|---|---|---|
veafCarrierOperations.MAX_OPERATIONS_DURATION |
45 |
Arrêt automatique après N minutes |
veafCarrierOperations.ALIGNMENT_MANOEUVER_SPEED |
20 nœuds | Vitesse du porte-avions pendant le virage face au vent |
veafCarrierOperations.MIN_WINDSPEED_FOR_CHANGING_HEADING |
4 nœuds | Vitesse de vent minimale justifiant un virage |
veafCarrierOperations.MIN_CARRIER_SPEED |
4 nœuds | Vitesse minimale du porte-avions |
veafCarrierOperations.DisableSecurity |
false |
Si vrai, tout le monde peut démarrer/arrêter une récupération |
Types de porte-avions supportés¶
Le module connaît l'offset de pont incliné pour tous les porte-avions DCS standard :
| Type DCS | Offset pont incliné | Vent sur pont |
|---|---|---|
Stennis, CVN_71/72/73/75, Forrestal |
9,05° | 25 nœuds |
KUZNECOW, CV_1143_5 |
9° | 25 nœuds |
LHA_Tarawa |
−1° (pont droit) | 20 nœuds |
Pedro et ravitailleur S3B¶
En plus du porte-avions lui-même, le module gère automatiquement deux groupes de soutien, détectés par leur nom — aucun appel de script, aucune entrée mission.yaml. Il suffit de les placer dans l'éditeur de mission en respectant la convention de nommage.
| Groupe | Nom attendu | Rôle | Positionnement automatique |
|---|---|---|---|
| Pedro | <nom unité porte-avions> Pedro |
Hélicoptère de sauvetage (SH-60B) | 250 ft, 1 nm sur tribord, accompagne le porte-avions à la même vitesse et au même cap |
| Ravitailleur S3B | <nom unité porte-avions> S3B-Tanker |
Ravitailleur de récupération d'urgence (S-3B Tanker) | 8000 ft, 10 nm en arrière et 4 nm sur tribord, ravitaillement sur le BRC |
<nom unité porte-avions> est le nom de l'unité porte-avions (identique au nom du groupe pour un porte-avions seul dans son groupe, le cas courant). Exemple : pour une unité porte-avions nommée CVN-73, placez les groupes CVN-73 Pedro et CVN-73 S3B-Tanker.
Une fois nommés correctement, les deux groupes sont, à chaque cycle d'opérations :
- détectés automatiquement ;
- respawnés lorsqu'ils sont détruits ;
- routés automatiquement, leur trajectoire étant (re)calculée pour rester en formation avec le porte-avions.
Si un groupe est absent, le module l'ignore et journalise un avertissement — No Pedro group named <nom> ou No Tanker group named <nom> — sans bloquer les opérations.
Éclairage du pont¶
Au démarrage des opérations aériennes, le module passe l'éclairage du porte-avions en mode récupération (AC RECOVERY de l'éditeur) ; à leur arrêt, il le rend à DCS (AUTO).
Il passe par l'action de déclencheur de l'éditeur SET CARRIER LIGHTING MODE, que les scripts de mission n'ont pas : elle n'est joignable que par net.dostring_in.
Sur un serveur dont le MissionScripting.lua retire net, l'éclairage reste celui de DCS, un avertissement le dit dans dcs.log, et les opérations se déroulent comme avant.
Menu radio F10¶
Le menu de premier niveau CARRIER OPS contient un sous-menu CARRIER OPS - BLUE et un sous-menu CARRIER OPS - RED, chacun avec un sous-menu par porte-avions (nommé d'après le groupe porte-avions). Lorsque les opérations sont arrêtées, chaque sous-menu de porte-avions propose :
- Start carrier air operations for 45 minutes — virage face au vent et ouverture d'une fenêtre de récupération de 45 minutes
- Start carrier air operations for 90 minutes — idem, pour 90 minutes (
MAX_OPERATIONS_DURATION× 2) - ATC - Request informations — TACAN, ICLS, LINK 4 / ACLS, tour, BRC et temps restant, plus la navigation courante et la météo
Pendant les opérations, les deux items Start sont remplacés par :
- End air operations — arrête la récupération et renvoie le porte-avions sur sa route initiale
Par défaut les items Start/End sont sécurisés : le groupe agit au niveau de son occupant le moins gradé (voir veafSecurity). Positionnez
veafCarrierOperations.DisableSecurity = truepour les rendre accessibles à tous.
Chaque camp ne voit que son propre sous-menu. Un pilote rouge ne voit pas CARRIER OPS - BLUE, et réciproquement. Avant la 6.15.10, les deux sous-menus étaient visibles de tous : un rouge pouvait démarrer et arrêter les opérations du porte-avions bleu. Le menu CARRIER OPS de premier niveau reste commun, parce qu'il porte l'aide.
Voir aussi¶
- Référence API Lua — API complète de
veafCarrierOperations