diff --git a/CHANGELOG.md b/CHANGELOG.md index 8bbe800..2cd776c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,8 @@ ### **Features:** - [#211](https://github.com/deltagreen-foundryvtt/delta-green-foundry-vtt-system/issues/211) - Move macros to System macros folder in compendium. +- [#283](https://github.com/deltagreen-foundryvtt/delta-green-foundry-vtt-system/issues/283) - Added new actor sheet with left hand Sidebar RFC +- [#291](https://github.com/deltagreen-foundryvtt/delta-green-foundry-vtt-system/issues/291) - Moving Luck button from three dots to left hand panel ## Version 1.6.3 - 2025-12-12 diff --git a/css/deltagreen.css b/css/deltagreen.css index a094028..c182e1b 100644 --- a/css/deltagreen.css +++ b/css/deltagreen.css @@ -90,6 +90,7 @@ .old-paper-background { background: url("../assets/img/StainedPlainPaper10.webp") !important; } + .default-parchment-background { background: url("/ui/parchment.jpg") repeat !important; } @@ -209,7 +210,7 @@ input.breaking-point-hit { grid-template-columns: repeat(12, minmax(0, 1fr)); } -/* If the user wishes to sort skills by column, we need to +/* If the user wishes to sort skills by column, we need to explicitly define a number of rows, rather than columns. */ .grid-13row { grid-template-rows: repeat(13, minmax(0, auto)) !important; @@ -352,6 +353,7 @@ explicitly define a number of rows, rather than columns. */ border-bottom: transparent !important; border-top: transparent !important; } + .deltagreen .tabs { height: 1.5rem; line-height: 1.5rem; @@ -367,7 +369,7 @@ explicitly define a number of rows, rather than columns. */ vertical-align: middle !important; height: inherit; line-height: inherit; - padding-inline: 10px; + padding-inline: 5px; border-radius: 5px 5px 0px 0px; border-color: #000; border: gray; @@ -1091,7 +1093,7 @@ input.item-sheet-short-input { padding-right: 5px; } -/* +/* Tome Item Sheet */ @@ -1306,3 +1308,74 @@ body:not(.no-theme) #interface:not(.theme-light) #action-bar .slot.full:hover { .strike { text-decoration: line-through; } + +.actor-sheet-v2 { + .window-content { + display: grid; + grid-template-columns: 220px 1fr; + grid-template-rows: auto; + width: 100%; + height: 100%; + } + + .left-bar { + grid-column: 1; + grid-row: 1 / -1; + padding: 10px; + } + + .window-content > :not(.left-bar) { + grid-column: 2; + grid-row: 1; + width: 100%; + box-sizing: border-box; + padding-right: 0; + margin-right: 0; + } + + .profile-img { + width: 100%; + height: auto; + } + + .physical-stats-outer-grid-3col { + display: contents; + } + + .physical-stats-outer-grid-3col, + .resources { + font-size: 12px; + } + + .resource-inner-grid-3col input { + padding: 1px; + } + + .tab.active { + padding-top: 20px; + } + + .breaking-point { + justify-content: space-between; + display: flex; + align-items: center; + + input { + width: 40px; + } + } + + .stats { + input { + margin: 1px; + } + } + + .luck { + margin-top: 5px; + } + + .horizontal-bar-section-divider.skills-header { + display: flex; + } +} diff --git a/module/deltagreen.js b/module/deltagreen.js index 78f7716..9d3f03a 100644 --- a/module/deltagreen.js +++ b/module/deltagreen.js @@ -20,6 +20,7 @@ import { handleInlineActions } from "./other/inline.js"; import DGNPCSheet from "./sheets/npc-sheet.js"; import DGUnnaturalSheet from "./sheets/unnatural-sheet.js"; import DGVehicleSheet from "./sheets/vehicle-sheet.js"; +import DGAgentSheetV2 from "./sheets/agent-sheet-v2.js"; import AgentData from "./data/actor/agent.js"; import UnnaturalData from "./data/actor/unnatural.js"; import NPCData from "./data/actor/npc.js"; @@ -85,6 +86,13 @@ Hooks.once("init", async () => { }); }); + Actors.registerSheet(DG.ID, DGAgentSheetV2, { + makeDefault: false, + themes: null, + label: `Agent Sheet V2`, + types: ["agent"], + }); + // Register item sheet. Items.registerSheet(DG.ID, DeltaGreenItemSheet, { makeDefault: true, diff --git a/module/sheets/agent-sheet-v2.js b/module/sheets/agent-sheet-v2.js new file mode 100644 index 0000000..47951ed --- /dev/null +++ b/module/sheets/agent-sheet-v2.js @@ -0,0 +1,32 @@ +import DGAgentSheet from "./agent-sheet.js"; + +/** @extends {DGAgentSheet} */ +export default class DGAgentSheetV2 extends DGAgentSheet { + static DEFAULT_OPTIONS = /** @type {const} */ ({ + classes: ["actor-sheet-v2"], + position: { width: 950, height: 665 }, + }); + + /** @override */ + static PARTS = /** @type {const} */ ({ + leftBar: { + template: `${this.TEMPLATE_PATH}/parts/left-bar.html`, + templates: [`${this.TEMPLATE_PATH}/partials/sanity-partial.html`], + }, + rightBar: { + template: `${this.TEMPLATE_PATH}/parts/right-bar.html`, + templates: [ + `${this.TEMPLATE_PATH}/parts/skills-tab.html`, + `${this.TEMPLATE_PATH}/parts/physical-tab-v2.html`, + `${this.TEMPLATE_PATH}/parts/motivations-tab-v2.html`, + `${this.TEMPLATE_PATH}/parts/gear-tab.html`, + `${this.TEMPLATE_PATH}/parts/bio-tab-v2.html`, + `${this.TEMPLATE_PATH}/parts/bonds-tab.html`, + `${this.TEMPLATE_PATH}/parts/about-tab.html`, + `${this.TEMPLATE_PATH}/partials/custom-skills-partial.html`, + `${this.TEMPLATE_PATH}/partials/notes-partial.html`, + ], + }, + tabs: this.BASE_PARTS.tabs, + }); +} diff --git a/templates/actor/parts/bio-tab-v2.html b/templates/actor/parts/bio-tab-v2.html new file mode 100644 index 0000000..44611af --- /dev/null +++ b/templates/actor/parts/bio-tab-v2.html @@ -0,0 +1,91 @@ +{{!-- djlint:off H020 --}} + +{{!-- PERSONAL (Biography) Tab --}} +
+
+ {{localize "DG.Sheet.BlockHeaders.PersonalInfoCV"}} +
+
+ {{localize 'DG.CV.Sex'}} + + +
+ +
+ + {{localize 'DG.CV.Employer'}} + + + {{localize 'DG.CV.Nationality'}} + + +
+ +
+ {{localize 'DG.CV.Education'}} + +
+ + {{#if (showImpossibleLandscapesContent) }} + +
+ {{localize 'DG.ImpossibleLanscapes.IHaveSeenThe'}} + + {{localize 'DG.ImpossibleLanscapes.YellowSign'}} + + + {{localize 'DG.ImpossibleLanscapes.CorruptionFirstHalf'}} + {{localize 'DG.ImpossibleLanscapes.CorruptionSecondHalf'}} + + +
+ +
+ {{localize 'DG.ImpossibleLanscapes.Gift'}} + + + {{localize 'DG.ImpossibleLanscapes.Insight'}} + +
+ + {{/if}} + + {{> "systems/deltagreen/templates/actor/partials/notes-partial.html"}} +
diff --git a/templates/actor/parts/left-bar.html b/templates/actor/parts/left-bar.html new file mode 100644 index 0000000..f8b98ba --- /dev/null +++ b/templates/actor/parts/left-bar.html @@ -0,0 +1,128 @@ +
+
+ +
+ + + +
+
+ +
+ {{#each actor.system.statistics as |statistic key| }} +
+
+
+ + +
+
+ +
+
+
+ {{/each}} +
+ +
+ +
+ {{!-- HP --}} +
+ +
+ + / +
+
{{numberFormat actor.system.health.max decimals=0 sign=false}}
+
+
+
+ {{#if (ne actor.type "vehicle") }} + {{!-- WP --}} +
+ +
+ + / +
+
{{numberFormat actor.system.wp.max decimals=0 sign=false}}
+
+
+
+ {{!-- Sanity --}} + {{> "systems/deltagreen/templates/actor/partials/sanity-partial.html" }} + {{/if}} +
+ +
+ +
+ + + +
+ +
+ + +
+ +
diff --git a/templates/actor/parts/motivations-tab-v2.html b/templates/actor/parts/motivations-tab-v2.html new file mode 100644 index 0000000..1572866 --- /dev/null +++ b/templates/actor/parts/motivations-tab-v2.html @@ -0,0 +1,122 @@ +{{!-- Psychological Tab (formerly 'Mental', formerly 'Motivations') --}} +
+
+ {{localize "DG.Sheet.BlockHeaders.BreakingPointAndAdaptations"}} +
+
+
+ +
+ + + + + + + + + + + + + + + +
+
+
+ +
+ {{localize "DG.Sheet.BlockHeaders.MotivationsAndDisorders"}} +
+ +
+
    + +
  1. +
    {{localize 'DG.Mental.Motivations'}}
    +
    {{localize 'DG.Mental.Disorders'}}
    + +
  2. + + {{#each actor.items as |item id| }} + {{#if_eq item.type 'motivation' }} + +
  3. + + {{item.name}} + + + {{#if item.system.crossedOut }} + {{item.system.disorder}} + {{/if}} + + +
  4. + + {{/if_eq}} + {{/each}} +
+
+
diff --git a/templates/actor/parts/physical-tab-v2.html b/templates/actor/parts/physical-tab-v2.html new file mode 100644 index 0000000..60757bc --- /dev/null +++ b/templates/actor/parts/physical-tab-v2.html @@ -0,0 +1,59 @@ +{{!-- Physical Statistics like STR, CON, etc. --}} +
+ +
+ {{localize "DG.Sheet.BlockHeaders.Injuries"}} +
+ +
+
+ + +
+
+ + + + + {{#if actor.system.physical.exhausted }} + + + + + {{/if}} +
+
+ + + + +
+
+
diff --git a/templates/actor/parts/right-bar.html b/templates/actor/parts/right-bar.html new file mode 100644 index 0000000..301c144 --- /dev/null +++ b/templates/actor/parts/right-bar.html @@ -0,0 +1,9 @@ +
+ {{> "systems/deltagreen/templates/actor/parts/skills-tab.html" }} + {{> "systems/deltagreen/templates/actor/parts/physical-tab-v2.html" }} + {{> "systems/deltagreen/templates/actor/parts/motivations-tab-v2.html" }} + {{> "systems/deltagreen/templates/actor/parts/gear-tab.html" }} + {{> "systems/deltagreen/templates/actor/parts/bio-tab-v2.html" }} + {{> "systems/deltagreen/templates/actor/parts/bonds-tab.html" }} + {{> "systems/deltagreen/templates/actor/parts/about-tab.html" }} +