Wiki en construction. De nombreux concepts décrits ici viennent de l'alpha 0.2 et peuvent encore changer. Le wiki sera finalisé pour la version 1.0 — pour l'instant il sert à aider les testeurs fermés puis, plus tard, les joueurs de l'accès anticipé à s'y retrouver. Pour les informations les plus à jour et les plus fiables, rejoignez le Discord — c'est là que les changements sont annoncés en premier et que vous pouvez poser vos questions directement.

Rejoindre le Discord pour les dernières infos

PFS Mail

La boîte de réception de la carrière et sa file d'actions — courriers d'action, courriers décisionnels, et le verrou qui bloque la course suivante.

En cours de rédaction. Le premier jet est en ligne, mais le contenu peut évoluer et les captures d'écran sont encore en cours d'ajout. Vous avez repéré une erreur ? Dites-le-nous sur Discord.
Sur cette page

PFS Mail est la boîte de réception de la carrière et, plus important encore, sa file d’actions. Confirmations de contrat, pièces livrées, rapports de recrutement, comparatifs de conception, changements de calendrier et offres de prêt atterrissent tous ici — et deux types de courrier peuvent activement vous empêcher de démarrer un week-end de course tant que vous ne les avez pas traités. Cette page couvre les dossiers, les marqueurs, les courriers interactifs et la purge annuelle.

Comment l’ouvrir

  • Barre latérale → Courrier (l’entrée est suffixée (N) quand il y a du courrier non lu).
  • Hub → le bouton Voir du panneau BOÎTE DE RÉCEPTION, ou cliquer n’importe quelle ligne de courrier pour ouvrir le Courrier sur ce message.
  • Automatiquement par un lien direct : plusieurs courriers comportent des boutons qui sautent vers une autre application et reviennent.
  • Échap ferme l’application (ou, si le champ de recherche a le focus, se contente de le lui retirer).

Dossiers

Huit entrées sur la gauche. Sept sont de vraies catégories ; une est calculée.

DossierContenu
TousTout
ImportantVue calculée — tout courrier dont email_needs_action est vrai. Pas une catégorie
RéceptionCourrier général de la Commission PFS / de la direction
CourseRapports de week-end
SponsorsNégociations de sponsoring, déblocages, expirations
PilotesContrats, retraites, recrutement, prêts d’académie
FournisseursAccords fournisseurs, contrats d’urgence, expirations
CalendrierAnnonces de rounds, changements de site

Chaque dossier affiche son nombre total, un astérisque quand il contient du courrier non lu, et passe en bleu marine dans ce cas. Changer de dossier réinitialise la sélection et le défilement.

La liste fait 8 lignes de haut et défile à la molette (la liste de balisage n’est pas tronquée, une fenêtre plus haute déborderait donc sur le volet d’aperçu du dessous). Un champ de recherche filtre sur l’expéditeur et l’objet uniquement — pas sur le corps du texte — et s’applique par-dessus le filtre de dossier.

Lire les marqueurs de la liste

Chaque ligne porte un indicateur devant l’objet. Ordre de priorité :

MarqueurCouleurSignification
(vide)Cette ligne est sélectionnée
vertUn courrier décisionnel auquel vous avez répondu — l’offre reste comme trace
!rougeAction requise — persiste même après lecture
*rougeNon lu
(vide)Lu, rien en attente

Les lignes non lues sont en gras bleu marine ; la ligne sélectionnée est en blanc sur bleu foncé. Une petite pastille de phase colorée à droite indique la phase durant laquelle le courrier est arrivé (phase 1 ambre, 2 cyan, 3 vert, 4 orange, 5 violet, en saison rouge).

email_needs_action couvre exactement trois cas :

  1. Le corps commence par @rdx — une reconception corrigeant un trait est prête à être fabriquée et montée.
  2. Le corps contient email_goto_inventory — une pièce a été livrée et attend d’être montée.
  3. Le courrier est une décision en attente (ci-dessous).

Courriers ACTION

Ils ne bloquent rien, mais le ! rouge persiste jusqu’à ce que vous agissiez, et le panneau boîte de réception du Hub le reflète.

Pièce livrée

Comporte un bouton dans le corps qui saute directement à R&D → Inventaire, où vous montez la pièce sur une voiture. Laisser une pièce non montée, c’est exactement ce que le verrou de préparation à la course du GP suivant attrapera : une pièce montée détruite signifie DNS, et une voiture sans pièce de rechange ne peut pas être réparée sur le circuit.

Reconception corrigeant un trait (@rdx)

La première ligne du corps est @rdx <type> <ancien-niveau> <nouveau-niveau|solved>. Elle est retirée avant affichage et rendue à la place sous forme de paire de pastilles de trait avant → après — les mêmes icônes que celles de l’application Voiture — pour que vous voyiez d’un coup d’œil si la reconception a atténué le défaut ou l’a supprimé complètement (solved n’affiche que la pastille « avant »). Son bouton ouvre R&D → Production pour fabriquer la pièce corrigée. Voir Traits de la voiture.

Les autres boutons intégrés au corps

Cible du boutonOuvre
email_goto_productionR&D → Production
email_goto_inventoryR&D → Inventaire
email_goto_scoutingRecrutement → Missions
email_goto_financeFinances
email_goto_academyAcadémie de pilotes
email_goto_marketing_missionsMarketing → Missions

Courriers DÉCISION et le verrou du GP suivant

Un courrier décisionnel est un courrier dont le corps commence par un marqueur enregistré. Aujourd’hui il en existe exactement un :

DECISION_MARKERS = ["@loan"]

Tout le reste découle automatiquement de cette liste : le ! dans la boîte, le symbole ↩ après réponse, le retrait du marqueur à l’affichage, et le verrou du GP suivant.

L’offre de prêt d’académie

Tirée une fois par GP dans la passe d’après-course, avec 25 % de chance quand votre Académie de pilotes compte au moins un espoir qui n’est pas déjà en prêt. Un espoir éligible au hasard (dont l’âge tombe dans la tranche age_min..age_max d’une série de développement) est associé à une écurie au hasard de cette série, et la redevance est calculée ainsi :

redevance = note_pondérée × (600 si PF2 sinon 250)     $ par Grand Prix

Le corps porte la charge utile @loan <code> <série> <redevance> <nom d'écurie> — le nom d’écurie en dernier, car il contient des espaces — suivie du texte de l’offre et de deux boutons : Accepter le prêt (vert) / Refuser (rouge). L’argumentaire est honnête sur l’avantage : « La course réelle est la meilleure des écoles : un espoir qui a un baquet progresse nettement plus vite (+5 %). »

Accepter installe l’espoir dans cette écurie de développement — en prenant un baquet libre s’il y en a un, sinon en reléguant le titulaire le plus faible au rang de réserviste —, l’ajoute au classement de la série, et enregistre le prêt pour que la redevance soit créditée après chaque Grand Prix. income_per_gp() inclut les redevances de prêt actives, si bien que le Hub et les projections de Finances la voient immédiatement.

Les deux réponses se résolvent sur place. Le marqueur bascule en @loan_done yes|no, le bloc de boutons est retiré du corps, et une ligne de résultat est ajoutée :

  • Accepté → « ↩ Vous avez accepté — court pour <écurie> pour le reste de la saison de <série>. La contribution de $ tombe après chaque Grand Prix. Suivez la saison dans Données mondiales → Championnats. »
  • Refusé → « ↩ Vous avez refusé l’offre — reste dans votre académie. »

Le courrier reste dans la boîte comme trace, marqué comme lu, et sa ligne affiche le symbole ↩ vert. Il n’y a pas d’annulation.

Le verrou

Quand vous appuyez sur GP suivant, le jeu rassemble tous les courriers dont email_pending_decision est vrai et, s’il en existe, refuse l’avancement et affiche leurs objets. C’est vérifié avant l’avertissement de préparation à la course (DNS) précisément pour que les deux fenêtres ne se superposent jamais. Vous pouvez confirmer et partir quand même — la confirmation vaut une seule fois, le verrou revient donc le week-end suivant si le courrier reste sans réponse.

Le volet d’aperçu

Le volet de droite affiche l’expéditeur, l’objet, la pastille de phase et le corps. Les corps sont interprétés en HTML quand ils s’ouvrent par une vraie balise de bloc (<p, <div, <table, <span, <h, <img, <ul, <b>) ; tout le reste est traité comme du texte brut et chaque ligne est enveloppée dans un paragraphe. Cette heuristique est délibérément étroite pour qu’un < ou > isolé dans de la prose (« marge <5 % >objectif ») ne la fasse pas basculer vers du balisage cassé.

Les marqueurs de tête sont analysés et retirés dans cet ordre : @rdx@loan@<type>_done@cal@circ. Vous ne les voyez jamais.

Widgets intégrés

WidgetDéclencheurCe qu’il dessine
Icône de traitl’objet ou le corps nomme un trait connuL’icône du trait à côté de l’objet, avec une infobulle au survol
Pastilles avant → après@rdxDeux pastilles de trait montrant l’effet de la reconception
Mini-carte de circuit@cal <gp>Le tracé de ce round, retrouvé au calendrier par numéro de GP
Mini-carte de circuit@circ <virages> <distance_m> <graine>Un tracé dessiné à partir de la charge utile elle-même
Icône de pièce<img src="picon_N">L’icône d’objet du composant dans les courriers de comparatif de conception
Fiche portrait de pilotedriver_portrait_<code>La silhouette complète visage+combinaison, composée en direct, cliquableProfil de pilote
Casque / drapeauhelmet_<code> / flag_<code>Petites images d’en-tête à côté du nom d’un pilote

La variante @circ existe pour une raison bien précise : le courrier de revue de contrat (la Commission refusant de renouveler un site) parle d’un round encore occupé par le site sortant jusqu’au passage de saison. Une recherche par numéro de GP dessinerait la mauvaise piste — et un circuit encore dans le vivier mondial n’a aucun numéro de round — donc ce courrier transporte la géométrie avec lui. Voir Profil de circuit.

Les portraits de pilotes sont construits paresseusement, et seulement quand le courrier ouvert y fait réellement référence. Vos propres pilotes portent la combinaison de l’écurie avec les sponsors incrustés ; les pilotes du vivier et des rivaux portent une combinaison unie à leurs couleurs ; les espoirs de l’académie portent la tenue de l’écurie.

Barre d’outils

BoutonEffet
Supprimer (ou la touche Suppr)Retire définitivement le courrier sélectionné
Marquer comme luMarque le courrier sélectionné comme lu
Tout marquer comme luNe marque comme lus que les courriers du dossier/filtre courant, pas toute la boîte

Haut/Bas naviguent et marquent comme lu au passage. La barre d’état indique N messages, M non lus | Haut/Bas : naviguer | Suppr : supprimer | Échap : retour.

La purge annuelle

Au passage de saison, toute la boîte de réception est vidée — lus et non lus, courriers d’action compris — avant que les courriers de bilan et de résumé de la nouvelle saison ne soient poussés. La raison : toute fenêtre d’action à laquelle un courrier fait référence est de toute façon limitée à la saison, et le pipeline de sauvegarde réécrit la table des e-mails depuis cette liste à chaque sauvegarde, si bien que la purge atteint la base à la prochaine sauvegarde de transition.

Deux conséquences à anticiper :

  • Rien ne survit au passage de saison. Si un courrier contient une information que vous voulez garder (les termes exacts d’un contrat, un rapport de recrutement, un avis de changement de site), lisez-le avant le dernier GP ou recopiez les chiffres quelque part.
  • Le fil d’actualités est élagué selon la même règle d’un an mais n’est pas effacé, si bien que les articles de calendrier et de transferts datés de la nouvelle saison survivent. Voir Actualités.

Pour aller plus loin

  • Le ! survit à la lecture. Marquer un courrier comme lu n’efface pas un marqueur d’action — seul le fait de monter la pièce ou de répondre à l’offre le fait. Utilisez le dossier Important comme liste de tâches.
  • Tout marquer comme lu se limite au dossier. Le faire depuis « Sponsors » laisse tout le reste non lu. C’est intentionnel, et c’est la façon rapide de nettoyer une catégorie bruyante.
  • La recherche ne lit pas les corps. Chercher le courrier qui mentionnait une pièce précise échouera si la pièce n’est pas dans l’objet.
  • Un courrier décisionnel auquel on a répondu n’est pas sûr à supprimer. Le supprimer efface la trace de ce que vous avez accepté ; le prêt lui-même survit (il vit dans la sauvegarde, pas dans le courrier), mais les termes disparaissent.
  • Ajouter un nouveau type de décision tient en une ligne de registre. La convention est : le corps d’une offre commence par @<type> <charge utile>, répondre le bascule en @<type>_done yes|no. Enregistrer le marqueur dans DECISION_MARKERS câble automatiquement le ! de la boîte, le symbole ↩, le retrait à l’affichage et le verrou du GP suivant. Utile à savoir quand on lit le courrier d’un mod.
  • La confirmation du verrou vaut pour une pression. Choisir « partir quand même » n’écarte pas définitivement le courrier ; il bloque à nouveau le week-end suivant.
  • Les redevances de prêt comptent dans les projections. income_per_gp() additionne academy_loans[].fee_per_gp, si bien qu’un prêt accepté fait visiblement bouger le net/GP du Hub et la projection de Finances.
  • Les contrats fournisseurs d’urgence arrivent par courrier, pas par fenêtre. Si vous laissez la fenêtre de négociation se fermer sans accord moteur, pneus ou carburant, la direction signe la pire option disponible à votre place et vous l’annonce ici.

Erreurs fréquentes

  • Prendre le ! rouge pour une décoration. C’est la seule surface qui vous dit qu’une pièce livrée est encore dans sa caisse — et le verrou DNS sera moins poli.
  • Appuyer sur GP suivant avec une offre de prêt sans réponse. Cela bloque durement. Répondez (dans un sens ou dans l’autre) ou confirmez l’avertissement.
  • Croire que Refuser est réversible. Les deux réponses sont définitives et réécrivent le courrier sur place.
  • Filtrer par dossier puis se demander où est passé un courrier. « Important » est une vue calculée à travers les catégories : un courrier peut y être visible ainsi que dans Sponsors, mais nulle part ailleurs où vous cherchiez.
  • Se servir de la boîte de réception comme d’une archive. Elle est intégralement vidée à chaque passage de saison.
  • Chercher du texte de corps. Seuls l’expéditeur et l’objet sont comparés.

Voir aussi