47 lines
2.5 KiB
Markdown
47 lines
2.5 KiB
Markdown
# 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 d’une 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é jusqu’au
|
||
financement d’une 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).
|