Files
fvtt-les-oublies/modules/applications/sheets/creature-sheet.mjs
T
uberwald 552731bc3b
Release Creation / build (release) Successful in 3m58s
Divers petits fixs
2026-05-04 20:39:43 +02:00

60 lines
1.9 KiB
JavaScript

import LesOubliesActorSheet from "./base-actor-sheet.mjs"
export default class LesOubliesCreatureSheet extends LesOubliesActorSheet {
static DEFAULT_OPTIONS = {
...super.DEFAULT_OPTIONS,
classes: [...super.DEFAULT_OPTIONS.classes, "creature"],
actions: {
...super.DEFAULT_OPTIONS.actions,
switchTab: LesOubliesCreatureSheet.#onSwitchTab,
},
window: {
...super.DEFAULT_OPTIONS.window,
title: "TYPES.Actor.creature",
},
}
static PARTS = {
sheet: {
template: "systems/fvtt-les-oublies/templates/actor-creature-sheet-v5.hbs",
},
}
_activeTab = "overview"
#getTabs() {
const tabs = {
overview: { id: "overview", label: "Aperçu", icon: "fa-solid fa-dragon" },
aptitudes: { id: "aptitudes", label: "Aptitudes", icon: "fa-solid fa-book-open" },
combat: { id: "combat", label: "Combat & équipement", icon: "fa-solid fa-shield-halved" },
notes: { id: "notes", label: "Notes", icon: "fa-solid fa-feather-pointed" },
}
for (const tab of Object.values(tabs)) {
tab.active = this._activeTab === tab.id
tab.cssClass = tab.active ? "active" : ""
}
return tabs
}
async _prepareContext() {
const context = await super._prepareContext()
context.tabs = this.#getTabs()
context.derived = this.document.getDerivedOverview()
context.skillGroups = this.document.getGroupedCompetences()
context.spells = this.document.getEmbeddedItems("sortilege")
context.weapons = this._prepareWeaponEntries(this.document.getEmbeddedItems("arme"))
context.armors = this.document.getEmbeddedItems("armure")
context.equipment = this.document.getEmbeddedItems("equipement")
return context
}
static #onSwitchTab(event, target) {
const tab = target.dataset.tab
if (!tab || this._activeTab === tab) return
this._activeTab = tab
this.render()
}
}