Files
sanctuary-beta/docs/player-stacks-beta027.md
2026-09-15 09:29:11 +02:00

59 lines
3.4 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.
# beta.027 — piles de joueurs
## Résultat attendu
**Maj + clic droit sur un joueur** permet de monter sur sa tête, même lorsquil
est lui-même assis sur un autre joueur. Chaque tête garde une seule place :
pour agrandir la pile, viser une tête libre, à portée normale.
Un porteur peut aussi grimper sur un autre joueur avec son groupe déjà porté.
Chaque personne ou animal au-dessus multiplie la vitesse du porteur par **0,75**,
avec un plancher de **25 %** de sa vitesse habituelle. Une personne au-dessus :
75 % ; deux : 56,25 % ; trois : 42,19 % ; quatre : 31,64 % ; cinq ou plus : 25 %.
Le calcul sapplique à tous les porteurs de la pile. Les autres effets de vitesse
continuent de sappliquer. La pénalité se recalcule immédiatement à chaque montée
ou descente et disparaît dès que le porteur est libre.
Relâcher Maj après être monté, puis appuyer à nouveau pour descendre.
**Maj + clic droit sans viser un joueur extérieur à la pile** dépose le groupe porté.
Viser un joueur extérieur à la pile permet de grimper avec son groupe.
Les coups entre tous les membres dune même pile sont refusés.
## Limites et données
Le serveur refuse les cycles, les têtes occupées, les montures ordinaires,
les porteurs endormis/allongés/en vol plané et un plafond trop bas pour lensemble
du groupe. Il vérifie aussi la bordure, la hauteur et les chunks déjà chargés.
Une dépose cherche une place pour tout le groupe supérieur. Les passagers de ce
groupe restent ensemble ; la disparition dun joueur au milieu sépare les parties
survivantes. Les contrôles de collision continuent pendant le déplacement.
Les relations utilisent les passagers natifs et lattachement temporaire existant
`sanctuary:carried`. Aucun nouveau format de sauvegarde, aucune migration et
aucune modification des inventaires, aptitudes ou règles de progression.
Les animaux gardent leur identité native et les joueurs ne sont pas enregistrés
dans la sauvegarde dun autre joueur. Client et serveur beta.027 ensemble.
## Vérifications
**27 tests serveur natifs réussis**, dont 8 nouveaux tests de portage : pile de
huit joueurs, maintien sur 20 ticks, portée et siège unique, refus des cycles et
des montures ordinaires, plafond du groupe complet, cumul des vitesses, retrait
immédiat de la pénalité, coexistence avec les autres modificateurs, coups entre
membres éloignés, dépose dune pile, mort au milieu, déchargement, absence de
passagers enregistrés dans les joueurs et identité de lanimal porté. Les
régressions des familiers et mouvements passent dans la même suite.
Validation finale et assemblage **réussis** (3 min 41 s) :
`./gradlew check build assemblePack -PsanctuaryFocusedTests=carry,familiar,movement`.
La session macOS est verrouillée : lobservation graphique reste à confirmer.
Export local vérifié : [Sanctuary-beta.027.mrpack](../build/Sanctuary-beta.027.mrpack).
Les 1 253 classes du JAR correspondent à la compilation. Seuls `CarryService`
(et ses classes internes) et `CarryDropMixin` diffèrent de beta.026. La carte,
Demeure et JEI gardent leur code précédent. Les JAR imbriqués correspondent aux
modules construits ; lexport beta.026 est intact. Aucun déploiement effectué.
SHA-256 MRpack : `13afddafca072151ba2b69ad5b3d7ee8de6f4f3841f3ace0cf598b87806e14f1`.
Reçu : `build/carry027-artifact.json` ; vérificateur : `build/verify-carry027.py`.