diff --git a/langs/en-ca.json b/langs/en-ca.json index 71427b8..8c883de 100644 --- a/langs/en-ca.json +++ b/langs/en-ca.json @@ -75,6 +75,11 @@ "dotdungeon.actor.pc.skill.explosives": "Explosives", "dotdungeon.actor.pc.skill.piloting": "Piloting", + "dotdungeon.actor.pc.aspect.name.placeholder": "Name...", + "dotdungeon.actor.pc.aspect.used": "Used", + "dotdungeon.actor.pc.aspect.duration": "Duration", + "dotdungeon.actor.pc.aspect.description.placeholder": "Description...", + "dotdungeon.actor.pc.respawns.header": "Respawns", "dotdungeon.actor.pc.sync.header": "Sync", diff --git a/module/handlebars.mjs b/module/handlebars.mjs index 14902c6..6d3e0fd 100644 --- a/module/handlebars.mjs +++ b/module/handlebars.mjs @@ -6,6 +6,18 @@ export const partials = [ `actors/char-sheet-mvp/partials/skill.hbs`, `partials/panel.hbs`, `items/aspect.hbs`, + + // All of the partials for the PC sheet panels + `actors/char-sheet-mvp/panels/aspect.pc.hbs`, + `actors/char-sheet-mvp/panels/backpack.pc.hbs`, + `actors/char-sheet-mvp/panels/mounts.pc.hbs`, + `actors/char-sheet-mvp/panels/profile.pc.hbs`, + `actors/char-sheet-mvp/panels/roles.pc.hbs`, + `actors/char-sheet-mvp/panels/spells.pc.hbs`, + `actors/char-sheet-mvp/panels/storage.pc.hbs`, + `actors/char-sheet-mvp/panels/summons.pc.hbs`, + `actors/char-sheet-mvp/panels/sync.pc.hbs`, + `actors/char-sheet-mvp/panels/weapons.pc.hbs`, ]; export async function registerHandlebarsHelpers() { @@ -21,7 +33,18 @@ export async function preloadHandlebarsTemplates() { for ( const partial of partials ) { console.debug(`Loading partial: ${partial}`); const path = `${pathPrefix}${partial}`; - paths[`dotdungeon.${partial.split(`/`).pop().replace(`.hbs`, ``)}`] = path; + /* + Converts a path/to/template.pc.hbs into a "pc.template" alias for + ease of use in partial referencing + */ + const alias = partial + .split(`/`) + .pop() + .split(`.`) + .slice(0, -1) + .reverse() + .join(`.`); + paths[`dotdungeon.${alias}`] = path; }; console.debug(`Loaded ${partials.length} partials`); diff --git a/templates/actors/char-sheet-mvp/panels/aspect.pc.hbs b/templates/actors/char-sheet-mvp/panels/aspect.pc.hbs new file mode 100644 index 0000000..2846c75 --- /dev/null +++ b/templates/actors/char-sheet-mvp/panels/aspect.pc.hbs @@ -0,0 +1,37 @@ +{{#> dotdungeon.panel class="aspect" title="dotdungeon.actor.pc.panel.aspect"}} + + + + + {{/ dotdungeon.panel}} \ No newline at end of file diff --git a/templates/actors/char-sheet-mvp/panels/backpack.pc.hbs b/templates/actors/char-sheet-mvp/panels/backpack.pc.hbs new file mode 100644 index 0000000..1ba1125 --- /dev/null +++ b/templates/actors/char-sheet-mvp/panels/backpack.pc.hbs @@ -0,0 +1,65 @@ +{{#> dotdungeon.panel class="backpack" title="dotdungeon.actor.pc.panel.backpack"}} + + + + +{{/ dotdungeon.panel}} \ No newline at end of file diff --git a/templates/actors/char-sheet-mvp/panels/mounts.pc.hbs b/templates/actors/char-sheet-mvp/panels/mounts.pc.hbs new file mode 100644 index 0000000..9d283c5 --- /dev/null +++ b/templates/actors/char-sheet-mvp/panels/mounts.pc.hbs @@ -0,0 +1,3 @@ +{{#> dotdungeon.panel class="mounts" title="dotdungeon.actor.pc.panel.mounts"}} + Mounts +{{/ dotdungeon.panel}} \ No newline at end of file diff --git a/templates/actors/char-sheet-mvp/panels/profile.pc.hbs b/templates/actors/char-sheet-mvp/panels/profile.pc.hbs new file mode 100644 index 0000000..562b044 --- /dev/null +++ b/templates/actors/char-sheet-mvp/panels/profile.pc.hbs @@ -0,0 +1,43 @@ +{{#> dotdungeon.panel class="profile" title="dotdungeon.actor.pc.panel.profile"}} + {{#if settings.showAvatarOnSheet}} + + {{else}} + + {{/if}} + {{#if settings.devMode}} +
+ Image URL: {{actor.img}} +
+ {{/if}} + + {{#if computed.canChangeGroup}} + + {{/if}} +{{/ dotdungeon.panel}} \ No newline at end of file diff --git a/templates/actors/char-sheet-mvp/panels/roles.pc.hbs b/templates/actors/char-sheet-mvp/panels/roles.pc.hbs new file mode 100644 index 0000000..fd00288 --- /dev/null +++ b/templates/actors/char-sheet-mvp/panels/roles.pc.hbs @@ -0,0 +1,7 @@ +{{#> dotdungeon.panel class="roles" title="dotdungeon.actor.pc.panel.roles"}} + {{#each system.roles}} + + {{/each}} +{{/ dotdungeon.panel}} \ No newline at end of file diff --git a/templates/actors/char-sheet-mvp/panels/spells.pc.hbs b/templates/actors/char-sheet-mvp/panels/spells.pc.hbs new file mode 100644 index 0000000..2ef7ea6 --- /dev/null +++ b/templates/actors/char-sheet-mvp/panels/spells.pc.hbs @@ -0,0 +1,3 @@ +{{#> dotdungeon.panel class="spells" title="dotdungeon.actor.pc.panel.spells"}} + Spells +{{/ dotdungeon.panel}} \ No newline at end of file diff --git a/templates/actors/char-sheet-mvp/panels/storage.pc.hbs b/templates/actors/char-sheet-mvp/panels/storage.pc.hbs new file mode 100644 index 0000000..9cf8a15 --- /dev/null +++ b/templates/actors/char-sheet-mvp/panels/storage.pc.hbs @@ -0,0 +1,3 @@ +{{#> dotdungeon.panel class="storage" title="dotdungeon.actor.pc.panel.storage"}} + Storage +{{/ dotdungeon.panel}} \ No newline at end of file diff --git a/templates/actors/char-sheet-mvp/panels/summons.pc.hbs b/templates/actors/char-sheet-mvp/panels/summons.pc.hbs new file mode 100644 index 0000000..afeafb4 --- /dev/null +++ b/templates/actors/char-sheet-mvp/panels/summons.pc.hbs @@ -0,0 +1,3 @@ +{{#> dotdungeon.panel class="summons" title="dotdungeon.actor.pc.panel.summons"}} + Summons +{{/ dotdungeon.panel}} \ No newline at end of file diff --git a/templates/actors/char-sheet-mvp/panels/sync.pc.hbs b/templates/actors/char-sheet-mvp/panels/sync.pc.hbs new file mode 100644 index 0000000..54d8ad1 --- /dev/null +++ b/templates/actors/char-sheet-mvp/panels/sync.pc.hbs @@ -0,0 +1,35 @@ +{{#> dotdungeon.panel class="sync" title="dotdungeon.actor.pc.panel.health"}} + {{!-- + NOTE: This would be neat to get working at some point, but isn't my highest + priority to do. + +
+

+ {{localize "dotdungeon.actor.pc.sync.header"}} + {{#if settings.devMode}} + + ({{system.syncDelta}}) + + {{/if}} +

+ +
+ --}} +
+

+ {{localize "dotdungeon.actor.pc.respawns.header"}} +

+ {{#each system.respawns}} + + {{/each}} +
+{{/ dotdungeon.panel}} \ No newline at end of file diff --git a/templates/actors/char-sheet-mvp/panels/weapons.pc.hbs b/templates/actors/char-sheet-mvp/panels/weapons.pc.hbs new file mode 100644 index 0000000..37c44a5 --- /dev/null +++ b/templates/actors/char-sheet-mvp/panels/weapons.pc.hbs @@ -0,0 +1,112 @@ +{{#> dotdungeon.panel class="weapons" title="dotdungeon.actor.pc.panel.weapons"}} +
+ + {{localize "dotdungeon.actor.pc.weapon.main-hand"}} + +
+ + + + {{#if system.weapon.mainHand.ranged}} + + +
+ {{/if}} +
+
+ + {{localize "dotdungeon.actor.pc.weapon.off-hand"}} + + + + + {{#if system.weapon.offHand.ranged}} + + + {{/if}} +
+{{/ dotdungeon.panel}} \ No newline at end of file diff --git a/templates/actors/char-sheet-mvp/sheet.hbs b/templates/actors/char-sheet-mvp/sheet.hbs index b50d463..cfe87da 100644 --- a/templates/actors/char-sheet-mvp/sheet.hbs +++ b/templates/actors/char-sheet-mvp/sheet.hbs @@ -1,47 +1,5 @@
- {{#> dotdungeon.panel class="profile" title="dotdungeon.actor.pc.panel.profile"}} - {{#if settings.showAvatarOnSheet}} - - {{else}} - - {{/if}} - {{#if settings.devMode}} -
- Image URL: {{actor.img}} -
- {{/if}} - - {{#if computed.canChangeGroup}} - - {{/if}} - {{/ dotdungeon.panel}} + {{> dotdungeon.pc.profile }} {{#> dotdungeon.panel class="stats" title="dotdungeon.actor.pc.panel.statistics"}} @@ -63,288 +21,23 @@ {{/ dotdungeon.panel}} - {{#> dotdungeon.panel class="backpack" title="dotdungeon.actor.pc.panel.backpack"}} - - - - - {{/ dotdungeon.panel}} + {{> dotdungeon.pc.backpack }} + {{> dotdungeon.pc.sync }} - {{#> dotdungeon.panel class="sync" title="dotdungeon.actor.pc.panel.health"}} - {{!-- - NOTE: This would be neat to get working at some point, but isn't my highest - priority to do. + {{> dotdungeon.pc.aspect }} -
-

- {{localize "dotdungeon.actor.pc.sync.header"}} - {{#if settings.devMode}} - - ({{system.syncDelta}}) - - {{/if}} -

- -
- --}} -
-

- {{localize "dotdungeon.actor.pc.respawns.header"}} -

- {{#each system.respawns}} - - {{/each}} -
- {{/ dotdungeon.panel}} + {{> dotdungeon.pc.weapons }} + {{> dotdungeon.pc.spells }} - {{#> dotdungeon.panel class="aspect" title="dotdungeon.actor.pc.panel.aspect"}} - - - - - {{/ dotdungeon.panel}} + {{> dotdungeon.pc.roles}} + {{> dotdungeon.pc.mounts}} - {{#> dotdungeon.panel class="weapons" title="dotdungeon.actor.pc.panel.weapons"}} -
- - {{localize "dotdungeon.actor.pc.weapon.main-hand"}} - -
- - - - {{#if system.weapon.mainHand.ranged}} - - -
- {{/if}} -
-
- - {{localize "dotdungeon.actor.pc.weapon.off-hand"}} - - - - - {{#if system.weapon.offHand.ranged}} - - - {{/if}} -
- {{/ dotdungeon.panel}} + {{> dotdungeon.pc.summons }} - - {{#> dotdungeon.panel class="spells" title="dotdungeon.actor.pc.panel.spells"}} - Spells - {{/ dotdungeon.panel}} - - - {{#> dotdungeon.panel class="roles" title="dotdungeon.actor.pc.panel.roles"}} - {{#each system.roles}} - - {{/each}} - {{/ dotdungeon.panel}} - - - {{#> dotdungeon.panel class="mounts" title="dotdungeon.actor.pc.panel.mounts"}} - Mounts - {{/ dotdungeon.panel}} - - - {{#> dotdungeon.panel class="summons" title="dotdungeon.actor.pc.panel.summons"}} - Summons - {{/ dotdungeon.panel}} - - - {{#> dotdungeon.panel class="storage" title="dotdungeon.actor.pc.panel.storage"}} - Storage - {{/ dotdungeon.panel}} + {{> dotdungeon.pc.storage}} {{#if settings.devMode}}