Release Creation / build (release) Failing after 1m24s
- véhicule : fiabilité 1-10, type véhicule/monture, distance, vitesse (croisière/pointe), entretien, réserve d'effort - nettoyage du tableau d'entretien à la soumission - fiche de groupe : section capacités de totem (création type totem + liste)
96 lines
6.4 KiB
JavaScript
96 lines
6.4 KiB
JavaScript
import { VermineBaseItemSheet } from "./base-item-sheet.mjs"
|
|
|
|
// ── Item générique ────────────────────────────────────────────────────
|
|
export class VermineItemSheetV2 extends VermineBaseItemSheet {
|
|
static DEFAULT_OPTIONS = { classes: ["item-gear"], position: { width: 520 } }
|
|
static PARTS = { main: { template: "systems/vermine2047/templates/item/item-item-sheet.hbs", scrollable: [""] } }
|
|
}
|
|
|
|
// ── Arme ──────────────────────────────────────────────────────────────
|
|
export class VermineWeaponSheetV2 extends VermineBaseItemSheet {
|
|
static DEFAULT_OPTIONS = { classes: ["weapon"], position: { width: 520 } }
|
|
static PARTS = { main: { template: "systems/vermine2047/templates/item/item-weapon-sheet.hbs", scrollable: [""] } }
|
|
}
|
|
|
|
// ── Défense ───────────────────────────────────────────────────────────
|
|
export class VermineDefenseSheetV2 extends VermineBaseItemSheet {
|
|
static DEFAULT_OPTIONS = { classes: ["defense"], position: { width: 520 } }
|
|
static PARTS = { main: { template: "systems/vermine2047/templates/item/item-defense-sheet.hbs", scrollable: [""] } }
|
|
}
|
|
|
|
// ── Véhicule ──────────────────────────────────────────────────────────
|
|
export class VermineVehicleSheetV2 extends VermineBaseItemSheet {
|
|
static DEFAULT_OPTIONS = { classes: ["vehicle"], position: { width: 520 } }
|
|
static PARTS = { main: { template: "systems/vermine2047/templates/item/item-vehicle-sheet.hbs", scrollable: [""] } }
|
|
|
|
async _prepareContext() {
|
|
const context = await super._prepareContext()
|
|
// Compétences d'Entretien possibles (mécanique, technologie, artisanat, animalisme…)
|
|
const maintenanceKeys = ["mecanical", "technology", "crafting", "animalism", "environment", "wildlife", "flora", "repulsion", "toxics"]
|
|
const current = this.document.system.maintenance || []
|
|
context.maintenanceSkills = maintenanceKeys.map(key => ({
|
|
key,
|
|
label: game.i18n.localize("SKILLS." + key + ".name"),
|
|
checked: current.includes(key)
|
|
}))
|
|
return context
|
|
}
|
|
|
|
/** @override - nettoie le tableau d'Entretien (retire les cases non cochées). */
|
|
_prepareSubmitData(event, form, formData, updateData) {
|
|
const result = super._prepareSubmitData(event, form, formData, updateData)
|
|
if (Array.isArray(result?.system?.maintenance)) {
|
|
result.system.maintenance = result.system.maintenance.filter(v => typeof v === "string" && v.trim() !== "")
|
|
}
|
|
return result
|
|
}
|
|
}
|
|
|
|
// ── Capacité ──────────────────────────────────────────────────────────
|
|
export class VermineAbilitySheetV2 extends VermineBaseItemSheet {
|
|
static DEFAULT_OPTIONS = { classes: ["ability"], position: { width: 560 } }
|
|
static PARTS = { main: { template: "systems/vermine2047/templates/item/item-ability-sheet.hbs", scrollable: [""] } }
|
|
}
|
|
|
|
// ── Spécialité ────────────────────────────────────────────────────────
|
|
export class VermineSpecialtySheetV2 extends VermineBaseItemSheet {
|
|
static DEFAULT_OPTIONS = { classes: ["specialty"], position: { width: 400 } }
|
|
static PARTS = { main: { template: "systems/vermine2047/templates/item/item-specialty-sheet.hbs", scrollable: [""] } }
|
|
}
|
|
|
|
// ── Historique ────────────────────────────────────────────────────────
|
|
export class VermineBackgroundSheetV2 extends VermineBaseItemSheet {
|
|
static DEFAULT_OPTIONS = { classes: ["background"], position: { width: 520 } }
|
|
static PARTS = { main: { template: "systems/vermine2047/templates/item/item-background-sheet.hbs", scrollable: [""] } }
|
|
}
|
|
|
|
// ── Traumatisme ───────────────────────────────────────────────────────
|
|
export class VermineTraumaSheetV2 extends VermineBaseItemSheet {
|
|
static DEFAULT_OPTIONS = { classes: ["trauma"], position: { width: 520 } }
|
|
static PARTS = { main: { template: "systems/vermine2047/templates/item/item-trauma-sheet.hbs", scrollable: [""] } }
|
|
}
|
|
|
|
// ── Évolution ─────────────────────────────────────────────────────────
|
|
export class VermineEvolutionSheetV2 extends VermineBaseItemSheet {
|
|
static DEFAULT_OPTIONS = { classes: ["evolution"], position: { width: 520 } }
|
|
static PARTS = { main: { template: "systems/vermine2047/templates/item/item-evolution-sheet.hbs", scrollable: [""] } }
|
|
}
|
|
|
|
// ── Rumeur ────────────────────────────────────────────────────────────
|
|
export class VermineRumorSheetV2 extends VermineBaseItemSheet {
|
|
static DEFAULT_OPTIONS = { classes: ["rumor"], position: { width: 520 } }
|
|
static PARTS = { main: { template: "systems/vermine2047/templates/item/item-rumor-sheet.hbs", scrollable: [""] } }
|
|
}
|
|
|
|
// ── Cible ─────────────────────────────────────────────────────────────
|
|
export class VermineTargetSheetV2 extends VermineBaseItemSheet {
|
|
static DEFAULT_OPTIONS = { classes: ["target"], position: { width: 520 } }
|
|
static PARTS = { main: { template: "systems/vermine2047/templates/item/item-target-sheet.hbs", scrollable: [""] } }
|
|
}
|
|
|
|
// ── Rite ──────────────────────────────────────────────────────────────
|
|
export class VermineRiteSheetV2 extends VermineBaseItemSheet {
|
|
static DEFAULT_OPTIONS = { classes: ["rite"], position: { width: 520 } }
|
|
static PARTS = { main: { template: "systems/vermine2047/templates/item/item-rite-sheet.hbs", scrollable: [""] } }
|
|
}
|