Files
sanctuary-beta/docs/familiar-controls-beta067.md
2026-09-16 11:41:27 +02:00

81 lines
4.3 KiB
Markdown

# beta.067 — touche du familier et dragon volant
Branche `codex/familiar-controls-beta067`.
## Contrat
La touche des ordres du familier passe de H à F. La touche G de technique
reste indépendante. Le réglage H hérité est déplacé une seule fois vers F
au démarrage ; les autres touches personnalisées restent conservées. Un
marqueur local `config/sanctuary-familiar-key-v1.txt` permet ensuite de choisir
à nouveau H sans être remappé au démarrage suivant. L'action reste configurable.
Pendant le jeu Sanctuary, ouvrir les ordres avec F ne déclenche plus l'échange
des objets des deux mains. Le raccourci natif garde son comportement dans les
inventaires et hors Sanctuary ; réassigner les ordres libère également F.
Le modèle natif du dragon utilise un axe avant opposé aux modèles vivants
ordinaires. Son historique de vol reçoit cette correction d'orientation ;
la direction physique du familier et des attaques reste inchangée.
Le petit dragon porté utilise le planeur existant : descente bornée à
0,12 bloc par tick, distance de chute accumulée effacée. Le grand dragon porté
(taille existante > 1 200 et < 2 500 millièmes) permet une montée maintenue avec
la touche de saut, bornée à 0,18 bloc par tick. Relâcher reprend la descente
planée. Le seuil colossal de 2 500 reste une monture sur laquelle le joueur
s'assoit ; il ne peut pas être porté sur la tête. Seul le dragon reçoit la
montée lorsqu'il est porté ; les autres petits animaux volants gardent leur
plané et les montures colossales leur pilotage existant.
La physique du joueur reste native avec collisions. Le serveur n'exempte du
contrôle d'immobilité aérienne que la montée réellement soutenue par un grand
dragon porté et la touche de saut reçue. Retrait du familier, immersion,
déconnexion et perte du portage interrompent l'assistance. Les règles
existantes de collision du passager s'appliquent au dragon sur la tête.
Aucun changement du format des œufs, des sauvegardes ou de la génération.
Les indications de montée dans l'infobulle utilisent la touche de saut
configurée, avec libellés FR/EN.
## Vérification
`Familiar067ClientChecks` réussit en 55 secondes sur un monde plat de
développement avec serveur intégré :
- F ouvre réellement les ordres sans changer les objets des deux mains ; H
ne les ouvre plus. Réassigner sur K fonctionne et libère l'échange natif F.
- La position de la tête dans le modèle de dragon soumis au rendu est devant
le corps pour quatre directions cardinales, pas derrière.
- Dragons de tailles 350 et 650 : Maj + clic droit natif, passager synchronisé,
descente bornée côté client, distance de chute effacée des deux côtés ;
Espace ne permet pas de monter avec ces petits.
- Taille 1 500 : montée de plus de huit blocs en maintenant Espace pendant
cent ticks, connexion maintenue, reprise du plané au relâchement, collision
au plafond sans traversée du joueur.
- Taille 3 500 : le joueur monte sur le dragon, puis décolle avec Espace.
Le plané des petits existait déjà : le parcours le confirme sur le dragon.
Le nouveau comportement de montée concerne la catégorie « grand » portée.
La transparence de proximité existante reste conservée.
Journaux : `build/familiar067-client.log` et `build/familiar067-check.log`.
L'attente initiale de tous les chunks du rayon échouait dans le parcours ;
le test attend désormais la partie jouable et utilise sa zone de test locale.
`./gradlew check build assemblePack assembleTestPack` réussit en 2 min 12 s
avec `-x :sanctuary:runGameTest -PsanctuaryClientTests=true
-PsanctuaryQuickTests=true`. Le parcours natif est lancé séparément avec
`-PsanctuaryFamiliar067ClientTests=true -PsanctuaryClientNoVsync=true`.
Les deux MRpacks contiennent les 1 646 classes compilées et leurs ressources
vérifiées. Les différences avec beta.066 se limitent aux cinq classes du
correctif, au mixin enregistré, à l'indication FR/EN et aux versions des mods.
JEI, les textures, les données de génération et les archives beta.066 restent
identiques. Reçu : `build/familiar067-artifact.json`.
[Pack normal](../build/Sanctuary-beta.067.mrpack) ·
[Monde plat rapide](../build/Sanctuary-Test-beta.067.mrpack).
Validation en client natif avec serveur intégré, sans serveur dédié ni essai
à plusieurs clients distants. Aucun canal publié, instance personnelle ou
monde existant modifié.