Files
sanctuary-beta/docs/faction-two-slots-beta046.md
2026-09-15 09:29:11 +02:00

47 lines
2.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# FACTION-046 — deux places dès la fondation
Branche `codex/sky-flight-zoom-beta046`, à partir de beta.045.
## Contrat
Une nouvelle faction coûte toujours dix niveaux par défaut, sans prestige.
Elle dispose de deux places : le fondateur responsable et un invité, qui rejoint
sans payer et sans prestige. La troisième place et les suivantes demandent une
charge de prestige chacune par défaut. Le serveur revalide la capacité à chaque
acceptation : deux invitations simultanées ne permettent pas de dépasser la limite.
## Migration
La configuration `config/sanctuary/cycle-factions.json` passe au schéma 3.
Les schémas 1 et 2 sont lus puis convertis une seule fois au chargement :
`initialCapacity` devient 2 ; un ancien `maxMembers: 1` devient 2. Les prix,
récompenses, autres plafonds et le réglage de conservation d'XP sont préservés
(la conversion historique de `creationCost` vers dix niveaux reste applicable
au schéma 1). Cette règle vaut uniquement pour les fondations futures.
Le journal `data/sanctuary-cycle-factions.json` accepte les schémas 1, 2 et 3.
La lecture ne réécrit pas les anciens événements : capacités, membres, dépenses,
charges et prestiges existants restent identiques. La prochaine mutation écrit
le schéma 3 avec l'historique conservé. Les créations anciennes à une place
restent valides, les nouvelles créations en proposent deux. Les identifiants
d'événements et de sauvegarde ne changent pas. Ne pas faire relire un journal
schéma 3 par un ancien binaire ; restaurer ensemble journal et joueurs pour
revenir en arrière. Aucun monde personnel n'est modifié pendant ce ticket.
Le marqueur réseau additif `sanctuary:faction_founding_pair_v1` évite qu'un
ancien client lise une configuration qu'il ne reconnaît pas. Les libellés FR/EN
présentent les deux places, dont une pour le fondateur.
## Vérifications et livraison
Le test de contrat `cycle011Smoke` passe : conversion des configurations
schémas 1/2, idempotence, conservation dune ancienne faction à une place,
fondation à deux places, invitation immédiate et écritures interrompues.
Les scénarios natifs font partie des 20 GameTests serveur ciblés réussis :
un invité rejoint sans prestige, un troisième membre est refusé jusquau
financement dune place, puis peut rejoindre. Les nouveaux instantanés client
reflètent la capacité et les dépenses exactes.
Build, exports et parcours client sont décrits dans
[le ticket beta.046](sky-flight-zoom-beta046.md) et [Distribution](packwiz.md).