Files
sanctuary-beta/docs/spawn-eggs-v2-beta032.md
2026-09-15 09:29:11 +02:00

114 lines
6.7 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.
# FAM-CORE-01 à FAM-CATALOG-06 — refonte des 88 familiers
Le contrat des attaques et du Slime est remplacé en beta.044 : [audit](spawn-eggs-audit-beta044.md).
Branche `codex/spawn-eggs-v2-prototypes`. Les 88 œufs du document
[de conception](spawn-eggs-refonte-v2.md) sont inclus selon la réponse du créateur.
Le [catalogue chiffré](spawn-eggs-v2-catalogue-beta032.md) fixe les valeurs manquantes.
Lacquisition, les rangs et Anomaly restent des tickets suivants. État : livré localement dans beta.032, prêt pour les essais en partie.
## Contrat de migration additive
La demande d'implémentation porte sur les pouvoirs. Aucun terrain ni fichier de
monde existant n'est ouvert ou réécrit par les outils de développement.
À l'utilisation du mod, l'attachement joueur `sanctuary:companion_powers` reste
strictement au schéma 1 : achats, consentement, notes et échéances sont conservés.
Les anciennes échéances soin/air sont honorées jusqu'à leur expiration.
Un nouvel attachement indépendant `sanctuary:companion_budgets_v2` (schéma 1)
conserve les dépenses récentes par bénéficiaire et l'enveloppe de déplacement.
Il se crée paresseusement. Mort, prestige, reconnexion et changement d'œuf ne
remettent pas ce budget à zéro. Un état invalide bloque les pouvoirs concernés,
sans effacer les octets d'origine. Seul le bouton opérateur de préparation peut
réinitialiser explicitement ces budgets pour les essais.
Les fenêtres utilisent l'horloge serveur réelle comme la recharge existante.
Les dépenses sont regroupées par quarts de seconde, expirant à la fin du
quart : la borne est conservatrice, avec au plus 250 ms de délai supplémentaire.
Les soins sont débités à leur livraison effective ; les interruptions ne
facturent pas les soins non reçus. Les points d'air réellement économisés ou
rendus sont débités. Les plafonds suivent la capacité personnelle actuelle.
Un retour de l'horloge ne raccourcit pas les dépenses encore enregistrées.
Les configurations existantes restent schéma 1. Les anciennes valeurs de
recharge **encore identiques à leurs valeurs par défaut** sont remplacées par
les nouvelles ; les personnalisations, raretés et désactivations restent intactes.
Une copie `.pre-v2` précède cette écriture atomique. Un marqueur de migration
empêche de répéter l'opération : une valeur personnalisée ultérieure, même égale
à l'ancien défaut, reste respectée. Un fichier invalide reste intact.
Un retour vers un ancien binaire ne connaît pas les nouveaux budgets : sauvegarder
le monde avant mise à jour et restaurer cette sauvegarde pour un retour arrière.
Ne pas compter sur un aller-retour de binaires pour conserver ces nouveaux champs.
## Résultat jouable
Les 88 passifs, actifs, recharges et descriptions FR/EN sont repris dans le
catalogue chiffré. Les familles utilisent les mêmes règles de soin, dair, de
garde et de déplacement par bénéficiaire, même en combinant plusieurs œufs.
Les variantes natives et certains petits effets secondaires historiques restent
compatibles ; le tableau décrit le pouvoir principal de chaque espèce.
Le coussin de laine apparaît au sol ; les brumes et poussières se déplacent
avec le souffle du Breeze sans renouveler leur durée ou leur contenu. La brume
de sorcière consomme une vraie potion et donne une dose native à une seule
personne. Les appuis et passages demandent de maintenir Maj pour accepter le
déplacement. Les potions, armes, outils, graines et stocks utilisés restent réels.
Les gestes de visée principaux montrent un aperçu de zone, le coût et les refus
serveur aux opérateurs et aux joueurs ayant étudié les familiers. Les effets
sarrêtent au retrait de l’œuf, sauf la potion réelle déjà reçue. La touche G
agit une fois par pression ; maintenir la touche ne relance pas automatiquement.
Pour essayer : équiper un œuf dans la case Compagnon, acheter le Lien actif,
attendre les 10 secondes de stabilisation, puis utiliser G. L’Étude des familiers
révèle les explications ; loutillage opérateur permet de préparer les essais.
Les recharges affichées suivent la configuration reçue du serveur.
Client et serveur doivent tous deux utiliser beta.032 : une capacité réseau v2
explicite évite quun ancien client rejoigne avec des règles incompatibles.
La génération, les identifiants des œufs et les autres formats restent inchangés.
## Vérifications et limites
`./gradlew check build assemblePack` avec la sélection native
`refonte,companions,familiar,carry,inventory,cycle` réussit : **85/85 tests serveur**,
dont 20 cas de refonte. Le contrôle couvre notamment la sauvegarde/relecture
native, la mort, le vrai New Game+, les délais hérités, la migration de configuration,
les budgets fractionnaires, les doses de potion, les 4 bénéficiaires distincts,
les gardes avec Résistance native, la résistance aux contrôles, labeille avec
sa graine et sa houe, le souffle dun autre joueur et les transferts sans pertes.
Les 88 chemins daction sont vérifiés : une action préparée ou un refus contextuel.
Cela ne constitue pas un essai positif exhaustif des 88 usages dans toutes les situations.
Le parcours `:sanctuary:runClientGameTest` avec `sanctuaryClientTests=true` et
`sanctuaryRefonteClientTests=true` réussit dans une nouvelle partie native :
touche G, réseau, coussin payé en laine, brume payée par une potion complète,
flacon rendu, bond du lapin sous Vitesse native et résolution des textes des
88 espèces en FR et EN. Les captures finales ont été relues dans
`build/refonte032-evidence/`. Le catalogue FR et les 88 recharges correspondent
aux ressources et constantes du binaire.
Une simulation pure de 30 bénéficiaires pendant 60 secondes de jeu valide les
plafonds et la taille bornée des journaux (129 ms dans cette exécution). Elle
ne simule pas 30 clients graphiques. Les essais ne remplacent pas une séance
d’équilibrage de 20 minutes en solo puis à 24 joueurs.
Lacquisition des œufs en survie, les rangs IIII et Anomaly restent à concevoir.
Aucun test de FPS avec 30 clients connectés nest revendiqué.
## Artefact local
[Sanctuary-beta.032.mrpack](../build/Sanctuary-beta.032.mrpack), 4871119 octets.
SHA-256 : `5ca10e29b07a68926f518d71072d8d56b61e26c0182fadc2c508ef1fc79bcac5`.
Reçu : `build/refonte032-artifact.json`. Logs : `build/refonte032-check-final.log`
et `build/refonte032-client-final.log`.
Archive ZIP, versions internes, JAR embarqué et **1 303 classes compilées**
vérifiés. Comparaison avec beta.031 : seules les classes des familiers et leur
admission réseau changent ; autres ressources, classes Demeure et JAR JEI conservés.
Lancien MRpack beta.031 conserve son empreinte. Aucun déploiement, canal packwiz
publié ou instance Prism personnelle modifié.