Ame/Ame max
This commit is contained in:
@@ -534,6 +534,71 @@ export class MournbladeCYD2Utility {
|
||||
return list
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static getAmeList(nbAme, ameMin = null) {
|
||||
// ameMin représente le meilleur état accessible (le minimum où l'âme peut remonter)
|
||||
// Si ameMin = 3 (Stressé 3), la liste commence à Stressé 3 et va jusqu'à Brisé
|
||||
// Si ameMin = 0 (Serein), tous les états sont disponibles
|
||||
let minEffectif = ameMin !== null && ameMin !== undefined ? Math.min(ameMin, nbAme) : 0
|
||||
|
||||
let list = []
|
||||
|
||||
// Ajouter Serein seulement si ameMin <= 0
|
||||
if (minEffectif <= 0) {
|
||||
list.push({ value: String(0), label: "Serein" })
|
||||
}
|
||||
|
||||
// Génération des états Stressé
|
||||
let nbStresseTotal = Math.max(0, nbAme - 3)
|
||||
for (let i = 1; i <= nbStresseTotal; i++) {
|
||||
if (i >= minEffectif) {
|
||||
list.push({ value: String(i), label: "Stressé " + i })
|
||||
}
|
||||
}
|
||||
|
||||
// Ajout des états finaux
|
||||
let traumatiseValue = nbAme - 2
|
||||
let tresTraumatiseValue = nbAme - 1
|
||||
let briseValue = nbAme
|
||||
|
||||
if (traumatiseValue >= minEffectif) {
|
||||
list.push({ value: String(traumatiseValue), label: "Traumatisé" })
|
||||
}
|
||||
if (tresTraumatiseValue >= minEffectif) {
|
||||
list.push({ value: String(tresTraumatiseValue), label: "Très Traumatisé" })
|
||||
}
|
||||
if (briseValue >= minEffectif) {
|
||||
list.push({ value: String(briseValue), label: "Brisé" })
|
||||
}
|
||||
|
||||
return list
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static getAmeMaxList(nbAme) {
|
||||
// Génère la liste complète des états d'âme pour le dropdown "Max"
|
||||
let list = [{ value: String(0), label: "Serein" }]
|
||||
|
||||
// Génération des états Stressé (de 1 à nbAme-3)
|
||||
let nbStresse = Math.max(0, nbAme - 3)
|
||||
for (let i = 1; i <= nbStresse; i++) {
|
||||
list.push({ value: String(i), label: "Stressé " + i })
|
||||
}
|
||||
|
||||
// Ajout des états finaux
|
||||
if (nbAme >= 3) {
|
||||
list.push({ value: String(nbAme - 2), label: "Traumatisé" })
|
||||
}
|
||||
if (nbAme >= 2) {
|
||||
list.push({ value: String(nbAme - 1), label: "Très Traumatisé" })
|
||||
}
|
||||
if (nbAme >= 1) {
|
||||
list.push({ value: String(nbAme), label: "Brisé" })
|
||||
}
|
||||
|
||||
return list
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static async bonusRollMournbladeCYD2(rollData) {
|
||||
rollData.bonusFormula = rollData.addedBonus
|
||||
|
||||
Reference in New Issue
Block a user