- CDELoksyuApp: standalone HandlebarsApplicationMixin(ApplicationV2) app - 5-element Wu Xing grid with yin/yang inputs per element - Per-element reset buttons + global reset-all - Auto-refresh via updateActor hook - CDETinjiApp: standalone AppV2 for the collective Tin Ji dice pool - Large neon counter with +/- buttons and direct input - Spend button sends a chat message with remaining count - singletons.js: shared utilities - getSingletonActor: find or auto-create singleton actor - updateLoksyuFromRoll: compute lokAspect from Wu Xing cycle, update yin/yang - updateTinjiFromRoll: add tinji face count to value - rolling.js: auto-update both singletons after every dice roll (weapon path + main roll path) - system.js: renderChatLog hook injects Loksyu/TinJi footer buttons in the chat sidebar - loksyu.js / tinji.js: actor sheets redirect to standalone apps when opened via the sidebar - CSS: .cde-loksyu-standalone, .cde-tinji-standalone, .cde-chat-app-buttons, .cde-tinji-spend-msg styles added - i18n: new keys in fr-cde.json and en-cde.json for all new UI strings (LoksyuNotFound, TinjiNotFound, Reset, ResetAll, SpendTinji, etc.) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
22 lines
641 B
JavaScript
22 lines
641 B
JavaScript
import { CDEBaseActorSheet } from "./base.js"
|
|
import { CDELoksyuApp } from "../../apps/loksyu-app.js"
|
|
|
|
export class CDELoksyuSheet extends CDEBaseActorSheet {
|
|
static DEFAULT_OPTIONS = {
|
|
classes: ["loksyu"],
|
|
}
|
|
|
|
static PARTS = {
|
|
main: { template: "systems/fvtt-chroniques-de-l-etrange/templates/actor/cde-loksyu-sheet.html" },
|
|
}
|
|
|
|
tabGroups = { primary: "loksyu" }
|
|
|
|
/** Redirect any direct actor-sheet open to the standalone app instead */
|
|
async _onFirstRender(context, options) {
|
|
// Close this actor sheet immediately and open the standalone app
|
|
await this.close({ animate: false })
|
|
CDELoksyuApp.open()
|
|
}
|
|
}
|