fix: retours review - validation de phase, drop de véhicule et dés de Réserve

- resetPhaseLimits ne touche plus au compteur de phase (seul le
  dialogue d'attribution du MJ l'avance) : évite le double-incrément
  quand joueur et MJ valident la même phase.
- _onDropActor : import d'une copie monde pour un véhicule déposé
  depuis un compendium, confirmation avant de transférer un véhicule
  déjà rattaché à un autre Groupe, try/catch avec retour utilisateur.
- #onClickRadioHexa : garde isEditable (pas d'erreur de permission
  pour un utilisateur non éditeur).
This commit is contained in:
2026-08-05 21:24:33 +02:00
parent 282fb2794a
commit c96e8d69d7
6 changed files with 56 additions and 14 deletions
+6 -8
View File
@@ -215,24 +215,22 @@ export class VermineExperience {
}
/**
* Valide la phase d'Expérience courante : passe à la phase suivante et
* réinitialise toutes les limites d'apprentissage (learned.*), pour un
* personnage ou un Groupe.
* Réinitialise les limites d'apprentissage (learned.*) de la phase
* courante, pour un personnage ou un Groupe, sans toucher au compteur
* de phase (avancé uniquement par le dialogue d'attribution du MJ).
* @param {foundry.abstract.Document} actor personnage ou Groupe
* @returns {Promise<void>}
*/
static async completePhase(actor) {
static async resetPhaseLimits(actor) {
const ex = actor.system?.experience
if (!ex) return
const phase = (ex.phase || 0) + 1
const update = { "system.experience.phase": phase }
const update = {}
if (ex.learned && typeof ex.learned === "object") {
update["system.experience.learned.phase"] = phase
for (const key of Object.keys(ex.learned)) {
if (key === "phase") continue
update[`system.experience.learned.${key}`] = false
}
}
await actor.update(update)
if (Object.keys(update).length) await actor.update(update)
}
}