Escalade de phases
Un compteur de difficulté global au serveur démarre au premier tick après le chargement du
monde, à partir de son âge, sans rapport avec le cycle jour/nuit. Il monte tout seul, ne redescend jamais,
et survit aux redémarrages du serveur. Il s'arrête à 1000000, et l'option phaseLoopEnabled
(désactivée par défaut) le renvoie au palier 1 quand il atteint le maximum configuré. Chaque avancée est annoncée en chat
(☠ Phase N). Plus le palier est élevé, plus les zombies qui apparaissent encaissent,
mais leur puissance, elle, est bornée.
Comportement du timer
Le chronomètre repose sur l'âge du monde de l'overworld
(ServerLevel.getGameTime()) : persisté et partagé, un serveur multi-monde ne tient
qu'une seule progression globale, pas une par dimension. L'intervalle par défaut est de 36000 ticks
(30 minutes), avec un battement de ±3600 ticks (±3 minutes), recalculé à chaque avancée de palier. La commande
/lethalphase consigne le palier courant. Un opérateur peut sauter directement à un palier
avec /lethalphase <n> : le changement est enregistré dans le monde et
annoncé en chat, comme une avancée naturelle.
Ce qui scale avec la phase
Chaque zombie qui apparaît tire ses statistiques dans les plages du palier courant :
- Vie, dégâts, vitesse : multiplicateurs appliqués aux attributs vanilla.
- Effets de potion bénéfiques : chance, nombre d'effets, amplificateur maximum.
Les zombies ne portent aucun équipement (ni arme, ni outil, ni armure) : leur montée en puissance passe uniquement par les statistiques et les effets. Jusqu'au palier 15 les courbes sont accélérantes ; au-delà elles se courbent sur un plafond qu'elles approchent sans jamais l'atteindre. Les paliers 30, 50 et 100 restent donc distincts : un simple écrêtage les aurait rendus identiques.
Palier 15. Vie ×3.0 à 4.5, dégâts ×2.5 à 3.2, plus des effets de potion bénéfiques. Les paliers jusqu'à 15 sont inchangés au bit près depuis l'introduction des plafonds. Le palier 1 applique déjà un scaling minimal ; le palier 0, lui, ne laisse survivre aucun hostile au chargement, toutes catégories confondues.
Deux plafonds, pas un
Borner la courbe ne suffit pas. Un effet de Force tiré par un zombie s'ajoute à sa base d'attaque avant que le multiplicateur de palier ne s'applique : le multiplicateur l'amplifie donc, et la valeur finale refranchit n'importe quel plafond posé sur la seule courbe. Le mod borne les deux étages séparément.
| Grandeur | Plafond du multiplicateur | Sans plafond, au palier 100 |
|---|---|---|
| Dégâts | ×6.0 | ×32.3 |
| Vie | ×8.0 | ×73.8 |
| Vitesse | ×2.2 | ×5.0 |
| Densité de zombies | ×30.0 | ×144 |
| Fréquence d'apparition | ×24.0 | ×107 |
| Attribut | Plafond absolu | Ce que ça garantit |
|---|---|---|
| Dégâts d'attaque | 18.9 | Trois coups minimum pour abattre une armure complète de la meilleure matière, sans enchantement. |
| Vie maximale | 200 | Un adversaire coriace, jamais un mur. |
| Vitesse de déplacement | 0.45 | Environ le double d'un zombie vanilla : menaçant, sans course-poursuite ingagnable. |
Ces trois plafonds sont réimposés à chaque activation, et pas seulement à son apparition : le jeu de base attribue à certains zombies un bonus de meneur après leur création, et il le réattribue en cours de partie lorsqu'un zombie appelle des renforts.
Aucun coup fatal instantané. Quel que soit le palier (100, 1000, jusqu'au maximum de 1000000), aucun zombie ne peut abattre d'un seul coup un sujet en armure complète à pleine intégrité. Le plafond de dégâts est la seule garantie du mod qui ne dépende d'aucun réglage de difficulté.
Configuration
| Champ | Description | Défaut |
|---|---|---|
| phaseSystemEnabled | Active le système de phases. Si désactivé, un roll d'effet "legacy" plat prend le relais indépendamment des phases. | true |
| phaseIntervalTicks | Intervalle de base entre deux avancées de phase. | 36000 (30 min) |
| phaseJitterTicks | Variation aléatoire ± autour de l'intervalle. | 3600 (±3 min) |
| phaseDmgCeiling | Plafond du multiplicateur de dégâts. | 6.0 |
| phaseHpCeiling | Plafond du multiplicateur de vie. | 8.0 |
| phaseSpdCeiling | Plafond du multiplicateur de vitesse. | 2.2 |
| phaseMobcapCeiling | Plafond du multiplicateur de densité de zombies. | 30.0 |
| phaseFrequencyCeiling | Plafond du multiplicateur de fréquence d'apparition. | 24.0 |
| phaseDamageCap | Plafond dur des dégâts d'attaque, effets compris. | 18.9 |
| phaseHealthCap | Plafond dur de la vie maximale, effets compris. | 200.0 |
| phaseSpeedCap | Plafond dur de la vitesse de déplacement, effets compris. | 0.45 |