170 lines
10 KiB
Markdown
170 lines
10 KiB
Markdown
# beta.071 — personnalité et engagement des familiers
|
||
|
||
Branche `codex/familiar-personality-beta071`.
|
||
|
||
## Comportement
|
||
|
||
Chaque œuf individualisé possède une personnalité de combat, visible dans
|
||
son infobulle et sa fiche de familier. Les ordres restent sur H, la technique
|
||
sur G et l’échange des mains sur F.
|
||
|
||
| Personnalité | Réaction spontanée | Poursuite | Cadence d’initiative |
|
||
| --- | --- | --- | --- |
|
||
| Agressif | Engage les monstres proches, accompagne les attaques et riposte | ×1,55 | délai ×0,90 |
|
||
| Protecteur | Accompagne les attaques et défend le joueur, l’allié protégé et lui-même | ×1,45 | délai habituel |
|
||
| Passif | Riposte seulement lorsqu’il est frappé | ×1,35 | délai ×1,05 |
|
||
| Pacifiste | S’éloigne du danger, sans attaque automatique | ×1,35 sur ordre | délai habituel |
|
||
|
||
**Tous obéissent à un ordre explicite d’attaque**, y compris le pacifiste.
|
||
Une autre menace ne remplace pas une cible désignée tant qu’elle reste valide.
|
||
Un Enderman ou un Piglin zombifié non engagé est laissé tranquille ; les
|
||
familiers et les joueurs ne déclenchent pas cette recherche de proximité. Le PvP conserve ses règles et les
|
||
duels leur consentement. Suivre suspend les réactions automatiques cinq
|
||
secondes ; Rappeler ou le mode travail interrompent l’engagement spontané.
|
||
|
||
Les vitesses sont des multiplicateurs de navigation : la poursuite utilisait
|
||
auparavant ×1,15. L’approche gagne donc environ 17 à 35 % selon le caractère,
|
||
sans changer la vitesse de promenade, celle des montures ni les dégâts.
|
||
Les attaques à distance gardent leur distance utile. Les feintes au contact
|
||
cessent suffisamment tôt pour entrer réellement à portée. Les préparations
|
||
d’attaque restent lisibles : leurs durées ne sont pas raccourcies.
|
||
|
||
Les espèces de soutien conservent leurs techniques signature. Un villageois
|
||
agressif, ou un soutien explicitement envoyé attaquer, dispose d’un coup au
|
||
contact (2 dégâts de base, préparation 0,25 s, intervalle 2 s), sans exiger un
|
||
bouclier dans l’inventaire du joueur. Les techniques offensives natives des
|
||
espèces restent utilisées.
|
||
|
||
## Individus et tendances
|
||
|
||
Le tirage utilise l’UUID déjà enregistré et l’identifiant d’espèce. Sa fonction
|
||
et son sel sont figés dans `FamiliarPersonality`. Il ne dépend ni du nom, ni
|
||
de la taille, ni de l’XP, ni du propriétaire ou de la reconnexion. Les anciens
|
||
œufs identifiés reçoivent donc un caractère stable sans conversion de fichier.
|
||
Un œuf sans identité le découvre à sa première individualisation habituelle.
|
||
|
||
| Tendance d’espèce | Agressif | Protecteur | Passif | Pacifiste |
|
||
| --- | --- | --- | --- | --- |
|
||
| Vindicateur et espèces farouches listées dans le code | 70 % | 20 % | 7 % | 3 % |
|
||
| Villageois et espèces paisibles listées dans le code | 5 % | 15 % | 25 % | 55 % |
|
||
| Autres espèces et futurs profils sans règle spécifique | 25 % | 40 % | 25 % | 10 % |
|
||
|
||
Toutes gardent des exceptions. Le tempérament historique hors combat
|
||
(curieux, calme, joueur), les souvenirs, les identifiants, les 88 profils et
|
||
les schémas de sauvegarde restent intacts. Changer ces seuils ultérieurement
|
||
changerait le caractère d’œufs existants : cela demanderait un contrat de
|
||
migration, pas une simple retouche d’équilibrage.
|
||
|
||
## Araignées
|
||
|
||
L’araignée et l’araignée venimeuse utilisent la navigation d’escalade native.
|
||
En monture colossale, avancer contre une paroi les fait grimper à environ
|
||
quatre blocs par seconde. Relâcher ou s’écarter permet de redescendre. La
|
||
vérification porte sur le corps de l’araignée : un plafond touché par le joueur
|
||
ne déclenche pas une ascension. Les collisions du corps et de la tête du
|
||
cavalier restent actives. Un espace vide n’autorise aucune montée.
|
||
|
||
L’éligibilité à la monte reste celle des familiers colossaux ; les petits
|
||
familiers se portent selon les règles existantes.
|
||
|
||
## Effets des montures natives
|
||
|
||
Audit du code de Minecraft **26.3-pre-2** : `AbstractHorse` et ses variantes,
|
||
`Camel`/`CamelHusk`, `Pig`, `Strider`, `HappyGhast` et
|
||
`AbstractNautilus`/`Nautilus`/`ZombieNautilus`. Les sources de comparaison
|
||
sont extraites du JAR utilisé par le build dans `build/native071-source/`.
|
||
|
||
| Espèces natives pouvant recevoir un cavalier | Effet transmis au cavalier | Trait de déplacement |
|
||
| --- | --- | --- |
|
||
| Cheval, âne, mule, cheval squelette, cheval zombie | Aucun effet d’état natif | Déplacement et saut terrestres |
|
||
| Lama, lama de marchand | Aucun | Montables, mais pas pilotables en vanilla |
|
||
| Dromadaire, dromadaire momifié | Aucun | Déplacement terrestre ; dash natif distinct d’un effet d’état |
|
||
| Cochon | Aucun | Direction à la carotte sur bâton en vanilla |
|
||
| Strider | Aucun bonus de résistance au feu au joueur | Appui à la surface de la lave |
|
||
| Ghast joyeux | Aucun | Vol |
|
||
| Nautilus, Nautilus zombie | **Souffle du Nautilus** | Nage et dash natifs |
|
||
|
||
Le Souffle du Nautilus est ajouté au moment de monter et entretenu tant que
|
||
le joueur reste sur son Nautilus colossal. Il utilise l’effet Minecraft
|
||
original : durée de 60 ticks, renouvellement toutes les 40 ticks, niveau zéro.
|
||
L’air restant est figé sous l’eau, sans être rempli comme avec une potion.
|
||
Après la descente, l’effet expire naturellement sous trois secondes ; il
|
||
n’est pas supprimé brutalement au risque d’effacer une autre source.
|
||
|
||
Il fonctionne pour les deux espèces, sur toute la plage colossale existante
|
||
(2 500 à 6 000 ‰, y compris les plus grands « titans »), sans achat de
|
||
technique ou condition de personnalité. Porter simplement l’œuf ou le petit
|
||
familier sur sa tête ne donne pas cet effet de **cavalier**.
|
||
|
||
Le Strider retrouve le support de collision de lave et la remontée natifs,
|
||
avec une infobulle dédiée. Il maintient son cavalier au-dessus de la surface ;
|
||
ce n’est pas une immunité personnelle à la lave après avoir sauté du Strider.
|
||
|
||
Les autres espèces n’appliquent pas de potion native à leur cavalier : aucune
|
||
n’a été inventée. Les commandes Sanctuary de ces montures restent communes,
|
||
comme demandé lors de leur introduction. Cet audit des traits ne porte pas
|
||
les selles, harnais, coffres d’équidés, sièges supplémentaires, charges de saut
|
||
ou commandes de dash propres aux interfaces natives. Les pouvoirs familiers
|
||
existants restent disponibles selon leurs règles.
|
||
|
||
## Coût et validation
|
||
|
||
La recherche agressive est locale, dans les entités déjà chargées à huit
|
||
blocs du propriétaire, une fois par seconde, décalée entre familiers. Aucun
|
||
chargement de chunk. La navigation reste limitée à une demande de chemin
|
||
par dix ticks. Les décisions et les dégâts font autorité côté serveur.
|
||
|
||
Le parcours `Familiar071ClientChecks` réussit en **2 min 23 s** dans un
|
||
nouveau monde plat de développement, avec le client et son serveur intégré :
|
||
|
||
- 352 000 UUID répartis entre les 88 espèces ; quatre caractères possibles,
|
||
tendances villageois/vindicateur, stabilité après changement d’XP et de souvenirs.
|
||
- Quatre personnalités de loups : réactions aux événements, ordre explicite,
|
||
navigation jusqu’à la cible et dégâts réels. Verrouillage de combat maintenu
|
||
même pour un familier qui refuse l’engagement spontané.
|
||
- Villageois agressif : initiative spontanée et dégâts sans bouclier ; la cible
|
||
manuelle garde sa priorité. Fiche FR/EN et nom du familier inspectés.
|
||
- Araignée et araignée venimeuse colossales : touches natives, ascension du mur,
|
||
collision du cavalier avec le plafond et absence de montée dans l’espace vide.
|
||
- Strider colossal : déplacement avec les touches natives à la surface d’un
|
||
bassin de lave, cavalier hors de la lave et sans potion de résistance au feu.
|
||
- Nautilus et Nautilus zombie : tailles 2 500 et 6 000 ‰, cavalier effectivement
|
||
immergé, air figé à 40 pendant 90 ticks, renouvellement de l’effet, expiration
|
||
et reprise de la consommation après la descente. Équiper l’œuf seul ne le donne pas.
|
||
- Fermeture puis réouverture réelle du monde : même UUID et même personnalité.
|
||
|
||
Les captures sont dans `build/familiar071-evidence/`, le journal dans
|
||
`build/familiar071-client.log`. La matrice de personnalité couvre les 88
|
||
profils ; elle ne constitue pas un nouveau playtest de toutes leurs techniques.
|
||
Pas de validation à deux clients distants ou sur serveur dédié dans cette passe.
|
||
|
||
La construction de la distribution est effectuée dans
|
||
`build/familiar071-workspace/` : les sources de la release beta.070, puis les
|
||
changements ciblés de la 71. Cette copie évite de compiler les fichiers de
|
||
statues de la beta.072 ajoutés simultanément dans le dossier partagé.
|
||
`build/familiar071-source-snapshot.json` fixe les empreintes de cette copie.
|
||
Les sources courantes du familier conservent les mêmes changements.
|
||
|
||
`check build assemblePack assembleTestPack` réussit en **5 min 50 s**,
|
||
124 tâches (108 exécutées, 16 à jour), dans cette copie isolée. Le serveur
|
||
dédié `:sanctuary:runGameTest` reste exclu conformément au refus d’accepter
|
||
son EULA ; le parcours natif utilise uniquement le serveur intégré du client.
|
||
|
||
Les deux exports MRpack sont vérifiés : version exacte, dépendances figées,
|
||
JAR comparé aux **1 651 classes compilées** et aux ressources traitées,
|
||
égalité normal/Test sauf module de test, absence de classes de test dans le
|
||
mod livré. Seuls les neuf fichiers Java prévus et douze libellés par langue
|
||
changent par rapport à beta.070 ; les schémas, le catalogue, JEI, le code de
|
||
Demeure et les 150 fichiers du resource pack restent identiques. Le manifeste
|
||
de Demeure suit seulement le nouveau numéro du pack.
|
||
|
||
Reçu et empreintes : `build/familiar071-artifact.json`.
|
||
|
||
- [Pack normal](../build/Sanctuary-beta.071.mrpack), 9 462 323 octets.
|
||
SHA-256 : `1ab36663fe24313597c5328170a3eb2ca2e33bfdfc4c6fbc85c1f5c03102628c`.
|
||
- [Monde plat rapide](../build/Sanctuary-Test-beta.071.mrpack), 9 481 258 octets.
|
||
SHA-256 : `06309f4cd382053fb42d80c3f131152932e07523ace799c50d1d899026029a92`.
|
||
|
||
Le resource pack demeure beta.070, actif par défaut et désactivable. Aucun
|
||
monde personnel, aucune instance Prism et aucun canal public ne sont modifiés.
|