Actor sheet, step 1
This commit is contained in:
@@ -66,8 +66,7 @@ export default class HellbornActorSheet extends HandlebarsApplicationMixin(found
|
||||
actor: this.document,
|
||||
system: this.document.system,
|
||||
source: this.document.toObject(),
|
||||
isEncumbered: this.document.system.isEncumbered(),
|
||||
enrichedDescription: await TextEditor.enrichHTML(this.document.system.description, { async: true }),
|
||||
enrichedBackstory: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.document.system.backstory, { async: true }),
|
||||
isEditMode: this.isEditMode,
|
||||
isPlayMode: this.isPlayMode,
|
||||
isEditable: this.isEditable,
|
||||
@@ -99,7 +98,7 @@ export default class HellbornActorSheet extends HandlebarsApplicationMixin(found
|
||||
dragover: this._onDragOver.bind(this),
|
||||
drop: this._onDrop.bind(this),
|
||||
}
|
||||
return new DragDrop(d)
|
||||
return new foundry.applications.ux.DragDrop.implementation(d)
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@@ -15,11 +15,9 @@ export default class HellbornCharacterSheet extends HellbornActorSheet {
|
||||
createEquipment: HellbornCharacterSheet.#onCreateEquipment,
|
||||
createArmor: HellbornCharacterSheet.#onCreateArmor,
|
||||
createWeapon: HellbornCharacterSheet.#onCreateWeapon,
|
||||
createTalent: HellbornCharacterSheet.#onCreateTalent,
|
||||
createImplant: HellbornCharacterSheet.#onCreateImplant,
|
||||
createPsionic: HellbornCharacterSheet.#onCreatePsionic,
|
||||
createLanguage: HellbornCharacterSheet.#onCreateLanguage
|
||||
|
||||
createDeal: HellbornCharacterSheet.#onCreateDeal,
|
||||
createMalefica: HellbornCharacterSheet.#onCreateMalefica,
|
||||
createRitual: HellbornCharacterSheet.#onCreateRitual,
|
||||
},
|
||||
}
|
||||
|
||||
@@ -31,8 +29,11 @@ export default class HellbornCharacterSheet extends HellbornActorSheet {
|
||||
tabs: {
|
||||
template: "templates/generic/tab-navigation.hbs",
|
||||
},
|
||||
talents: {
|
||||
template: "systems/fvtt-hellborn/templates/character-talents.hbs",
|
||||
status: {
|
||||
template: "systems/fvtt-hellborn/templates/character-status.hbs",
|
||||
},
|
||||
maleficas: {
|
||||
template: "systems/fvtt-hellborn/templates/character-maleficas.hbs",
|
||||
},
|
||||
equipment: {
|
||||
template: "systems/fvtt-hellborn/templates/character-equipment.hbs",
|
||||
@@ -44,7 +45,7 @@ export default class HellbornCharacterSheet extends HellbornActorSheet {
|
||||
|
||||
/** @override */
|
||||
tabGroups = {
|
||||
sheet: "talents",
|
||||
sheet: "status",
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -53,7 +54,8 @@ export default class HellbornCharacterSheet extends HellbornActorSheet {
|
||||
*/
|
||||
#getTabs() {
|
||||
const tabs = {
|
||||
talents: { id: "talents", group: "sheet", icon: "fa-solid fa-compass", label: "HELLBORN.Label.talents" },
|
||||
status: { id: "status", group: "sheet", icon: "fa-solid fa-compass", label: "HELLBORN.Label.status" },
|
||||
maleficas: { id: "maleficas", group: "sheet", icon: "fa-solid fa-compass", label: "HELLBORN.Label.maleficas" },
|
||||
equipment: { id: "equipment", group: "sheet", icon: "fa-solid fa-shapes", label: "HELLBORN.Label.equipment" },
|
||||
biography: { id: "biography", group: "sheet", icon: "fa-solid fa-book", label: "HELLBORN.Label.biography" },
|
||||
}
|
||||
@@ -69,28 +71,27 @@ export default class HellbornCharacterSheet extends HellbornActorSheet {
|
||||
const context = await super._prepareContext()
|
||||
context.tabs = this.#getTabs()
|
||||
|
||||
context.enrichedDescription = await TextEditor.enrichHTML(this.document.system.description, { async: true })
|
||||
context.enrichedNotes = await TextEditor.enrichHTML(this.document.system.notes, { async: true })
|
||||
|
||||
return context
|
||||
}
|
||||
|
||||
/** @override */
|
||||
async _preparePartContext(partId, context) {
|
||||
const doc = this.document
|
||||
context.systemFields = this.document.system.schema.fields
|
||||
switch (partId) {
|
||||
case "main":
|
||||
break
|
||||
case "talents":
|
||||
context.tab = context.tabs.talents
|
||||
context.talents = doc.itemTypes.talent
|
||||
context.talents.sort((a, b) => a.name.localeCompare(b.name))
|
||||
context.implants = doc.itemTypes.implant
|
||||
context.implants.sort((a, b) => a.name.localeCompare(b.name))
|
||||
context.psionics = doc.itemTypes.psionic
|
||||
context.psionics.sort((a, b) => a.name.localeCompare(b.name))
|
||||
context.languages = doc.itemTypes.language
|
||||
context.languages.sort((a, b) => a.name.localeCompare(b.name))
|
||||
case "status":
|
||||
context.tab = context.tabs.status
|
||||
context.perks = doc.itemTypes.perk
|
||||
context.perks.sort((a, b) => a.name.localeCompare(b.name))
|
||||
break;
|
||||
case "maleficas":
|
||||
context.tab = context.tabs.maleficas
|
||||
context.maleficas = doc.itemTypes.malefica
|
||||
context.maleficas.sort((a, b) => a.name.localeCompare(b.name))
|
||||
context.rituals = doc.itemTypes.ritual
|
||||
context.rituals.sort((a, b) => a.name.localeCompare(b.name))
|
||||
break
|
||||
case "equipment":
|
||||
context.tab = context.tabs.equipment
|
||||
@@ -103,8 +104,21 @@ export default class HellbornCharacterSheet extends HellbornActorSheet {
|
||||
break
|
||||
case "biography":
|
||||
context.tab = context.tabs.biography
|
||||
context.enrichedDescription = await TextEditor.enrichHTML(doc.system.description, { async: true })
|
||||
context.enrichedNotes = await TextEditor.enrichHTML(doc.system.notes, { async: true })
|
||||
context.deals = doc.itemTypes.deal
|
||||
context.deals.sort((a, b) => a.name.localeCompare(b.name))
|
||||
context.tarot = doc.itemTypes.tarot
|
||||
context.enrichedBackstory = await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.document.system.backstory, { async: true })
|
||||
context.enrichedAppearance = await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.document.system.appearance, { async: true })
|
||||
context.enrichedScars = await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.document.system.scars, { async: true })
|
||||
context.enrichedLikes = await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.document.system.likes, { async: true })
|
||||
context.enrichedDislikes = await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.document.system.dislikes, { async: true })
|
||||
context.enrichedFears = await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.document.system.fears, { async: true })
|
||||
context.enrichedVices = await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.document.system.vices, { async: true })
|
||||
context.enrichedGoals = await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.document.system.goals, { async: true })
|
||||
context.enrichedAmbitions = await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.document.system.ambitions, { async: true })
|
||||
context.enrichedValues = await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.document.system.values, { async: true })
|
||||
context.enrichedBonds = await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.document.system.bonds, { async: true })
|
||||
context.enrichedNotes = await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.document.system.notes, { async: true })
|
||||
break
|
||||
}
|
||||
return context
|
||||
@@ -115,6 +129,18 @@ export default class HellbornCharacterSheet extends HellbornActorSheet {
|
||||
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("HELLBORN.Label.newEquipment"), type: "equipment" }])
|
||||
}
|
||||
|
||||
static #onCreateDeal(event, target) {
|
||||
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("HELLBORN.Label.newDeal"), type: "deal" }])
|
||||
}
|
||||
|
||||
static #onCreateMalefica(event, target) {
|
||||
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("HELLBORN.Label.newMalefica"), type: "malefica" }])
|
||||
}
|
||||
|
||||
static #onCreateRitual(event, target) {
|
||||
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("HELLBORN.Label.newRitual"), type: "ritual" }])
|
||||
}
|
||||
|
||||
static #onCreateWeapon(event, target) {
|
||||
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("HELLBORN.Label.newWeapon"), type: "weapon" }])
|
||||
}
|
||||
@@ -123,21 +149,6 @@ export default class HellbornCharacterSheet extends HellbornActorSheet {
|
||||
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("HELLBORN.Label.newArmor"), type: "armor" }])
|
||||
}
|
||||
|
||||
static #onCreateTalent(event, target) {
|
||||
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("HELLBORN.Label.newTalent"), type: "talent" }])
|
||||
}
|
||||
|
||||
static #onCreateImplant(event, target) {
|
||||
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("HELLBORN.Label.newImplant"), type: "implant" }])
|
||||
}
|
||||
|
||||
static #onCreatePsionic(event, target) {
|
||||
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("HELLBORN.Label.newPsionic"), type: "psionic" }])
|
||||
}
|
||||
|
||||
static #onCreateLanguage(event, target) {
|
||||
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("HELLBORN.Label.newLanguage"), type: "language" }])
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
@@ -158,10 +169,11 @@ export default class HellbornCharacterSheet extends HellbornActorSheet {
|
||||
const rollType = $(event.currentTarget).data("roll-type")
|
||||
let item
|
||||
let li
|
||||
let statKey
|
||||
switch (rollType) {
|
||||
case "skill":
|
||||
let skillId = $(event.currentTarget).data("skill-id");
|
||||
item = this.actor.system.skills[skillId];
|
||||
case "stat":
|
||||
statKey = $(event.currentTarget).data("stat-id");
|
||||
item = this.actor.system.stats[statKey];
|
||||
break
|
||||
case "weapon":
|
||||
case "damage":
|
||||
|
||||
28
module/applications/sheets/deal-sheet.mjs
Normal file
28
module/applications/sheets/deal-sheet.mjs
Normal file
@@ -0,0 +1,28 @@
|
||||
import HellbornItemSheet from "./base-item-sheet.mjs"
|
||||
|
||||
export default class HellbornDealSheet extends HellbornItemSheet {
|
||||
/** @override */
|
||||
static DEFAULT_OPTIONS = {
|
||||
classes: ["deal"],
|
||||
position: {
|
||||
width: 600,
|
||||
},
|
||||
window: {
|
||||
contentClasses: ["deal-content"],
|
||||
},
|
||||
}
|
||||
|
||||
/** @override */
|
||||
static PARTS = {
|
||||
main: {
|
||||
template: "systems/fvtt-hellborn/templates/deal.hbs",
|
||||
},
|
||||
}
|
||||
|
||||
/** @override */
|
||||
async _prepareContext() {
|
||||
const context = await super._prepareContext()
|
||||
context.enrichedDescription = await TextEditor.enrichHTML(this.document.system.description, { async: true })
|
||||
return context
|
||||
}
|
||||
}
|
||||
30
module/applications/sheets/tarot-sheet.mjs
Normal file
30
module/applications/sheets/tarot-sheet.mjs
Normal file
@@ -0,0 +1,30 @@
|
||||
import HellbornItemSheet from "./base-item-sheet.mjs"
|
||||
|
||||
export default class HellbornTarotSheet extends HellbornItemSheet {
|
||||
/** @override */
|
||||
static DEFAULT_OPTIONS = {
|
||||
classes: ["tarot"],
|
||||
position: {
|
||||
width: 800,
|
||||
height: 640
|
||||
},
|
||||
window: {
|
||||
contentClasses: ["tarot-content"],
|
||||
},
|
||||
}
|
||||
|
||||
/** @override */
|
||||
static PARTS = {
|
||||
main: {
|
||||
template: "systems/fvtt-hellborn/templates/tarot.hbs",
|
||||
},
|
||||
}
|
||||
|
||||
/** @override */
|
||||
async _prepareContext() {
|
||||
const context = await super._prepareContext()
|
||||
context.enrichedPositiveEffect = await TextEditor.enrichHTML(this.document.system.positiveEffect, { async: true })
|
||||
context.enrichedNegativeEffect = await TextEditor.enrichHTML(this.document.system.negativeEffect, { async: true })
|
||||
return context
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user