diff --git a/.styles/root.css b/.styles/root.css index fe3b0c1..c0a4a1a 100644 --- a/.styles/root.css +++ b/.styles/root.css @@ -74,7 +74,6 @@ display: flex; flex-direction: column; justify-content: center; - margin-bottom: 8px; gap: 4px; } .dotdungeon .skill-group h3 { @@ -114,6 +113,9 @@ width: 20px; aspect-ratio: 1/1; } +.dotdungeon .panel__content { + padding: 8px; +} @container (max-width: 400px) { .dotdungeon .panel__header .icon { @@ -125,7 +127,7 @@ display: grid; grid-template-areas: "avatar stats stats" "avatar skills skills" "backpack skills skills" "backpack sync aspect" "backpack weapons aspect" "backpack weapons spells" "backpack roles spells" "summons roles mounts" "summons roles storage"; grid-template-columns: repeat(3, minmax(0, 1fr)); - grid-template-rows: min-content repeat(8, minmax(0, 1fr)); + grid-template-rows: min-content repeat(2, minmax(0, 1fr)) min-content repeat(5, minmax(0, 1fr)); padding: 4px; gap: 4px; } @@ -147,6 +149,7 @@ } .dotdungeon .actor--pc .panel--skills .panel__content { display: grid; + row-gap: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, min-content)); } @@ -156,6 +159,21 @@ .dotdungeon .actor--pc .panel--sync { grid-area: sync; } +.dotdungeon .actor--pc .panel--sync .panel__content { + display: flex; + flex-direction: column; + gap: 4px; +} +.dotdungeon .actor--pc .panel--sync .respawns, +.dotdungeon .actor--pc .panel--sync .sync { + display: flex; + flex-direction: row; + align-items: center; +} +.dotdungeon .actor--pc .panel--sync .respawns__header, +.dotdungeon .actor--pc .panel--sync .sync__header { + flex-grow: 1; +} .dotdungeon .actor--pc .panel--aspect { grid-area: aspect; } @@ -164,7 +182,6 @@ grid-template-rows: min-content min-content min-content 1fr; height: 100%; gap: 4px; - padding: 8px; } .dotdungeon .actor--pc .panel--weapons { grid-area: weapons; @@ -225,4 +242,4 @@ resize: vertical; } -/*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%22../styles/root.scss%22,%22../styles/mixins/_foundry.scss%22,%22../styles/_vars.scss%22,%22../styles/mixins/_partials.scss%22,%22../styles/sheets/partials/stat.scss%22,%22../styles/sheets/partials/skill.scss%22,%22../styles/sheets/partials/panel.scss%22,%22../styles/mixins/_breakpoints.scss%22,%22../styles/sheets/actor/mvp.scss%22,%22../styles/sheets/items/aspect.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AAIQ;AAKP;EACC;;AAED;EACC;;AAGD;ECfA;EACA;EACA;EDeC;EACA,aEnBW;EFoBX;;AAGD;EACC;EACA;;AAGD;EC3BA;EACA;EACA;ED2BC;EACA;;AAGD;AAAA;AAAA;ECjCA;EACA;EACA;EDmCC;EGnCD;EACA;EACA;EACA;EACA;EACA,aDPW;;ACSX;AAAA;AAAA;AAAA;AAAA;EAEC;;AH8BD;EACC;;;AAKF;EACC;;AAEA;EACC;EACA,YElDW;;;AEHb;EACC;EACA;EACA;;ACHD;EACC;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;;;ACfH;EACC;EACA;EAEA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;ELpBD;EACA;EACA;EKoBE;EACA;EACA,aJzBU;EI0BV;;AAGD;EAEC,QADO;EAEP,OAFO;EAGP;;;AC1BF;EDgCA;IACC;IACA;;;AEtCF;EACC;EACA,qBACC;EASD;EACA;EACA;EACA;;AAGC;EACC;;AAED;EACC;;AACA;EACC;EACA;EACA;EACA;EACA;;AAGF;EACC;;AAEA;EACC;EACA;EACA;;AAGF;EACC;;AAED;EACC;;AAED;EACC;;AACA;EACC;EACA;EACA;EACA;EACA;;AAGF;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;;;AD1EF;ECkFC;IACC;IACA;IACA,qBACC;;EAgBD;IACC;;EAGC;IACC;;EAKD;IACC;IACA;;;AD5GL;ECsHC;IACC;IACA;IACA,qBACC;;EAeC;IACC;;;AC/IN;EACC;;AAEA;EACC;EACA;EACA;;AAGD;EACC;EACA%22,%22file%22:%22root.css%22%7D */ +/*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%22../styles/root.scss%22,%22../styles/mixins/_foundry.scss%22,%22../styles/_vars.scss%22,%22../styles/mixins/_partials.scss%22,%22../styles/sheets/partials/stat.scss%22,%22../styles/sheets/partials/skill.scss%22,%22../styles/sheets/partials/panel.scss%22,%22../styles/mixins/_breakpoints.scss%22,%22../styles/sheets/actor/mvp.scss%22,%22../styles/sheets/items/aspect.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AAIQ;AAKP;EACC;;AAED;EACC;;AAGD;ECfA;EACA;EACA;EDeC;EACA,aEnBW;EFoBX;;AAGD;EACC;EACA;;AAGD;EC3BA;EACA;EACA;ED2BC;EACA;;AAGD;AAAA;AAAA;ECjCA;EACA;EACA;EDmCC;EGnCD;EACA;EACA;EACA;EACA;EACA,aDPW;;ACSX;AAAA;AAAA;AAAA;AAAA;EAEC;;AH8BD;EACC;;;AAKF;EACC;;AAEA;EACC;EACA,YElDW;;;AEHb;EACC;EACA;EACA;;ACHD;EACC;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;;;ACdH;EACC;EACA;EAEA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;ELpBD;EACA;EACA;EKoBE;EACA;EACA,aJzBU;EI0BV;;AAGD;EAEC,QADO;EAEP,OAFO;EAGP;;AAIF;EACC;;;AC/BD;EDoCA;IACC;IACA;;;AE1CF;EACC;EACA,qBACC;EASD;EACA;EACA;EACA;;AAGC;EACC;;AAED;EACC;;AACA;EACC;EACA;EACA;EACA;EACA;;AAGF;EACC;;AAEA;EACC;EACA;EACA;EACA;;AAGF;EACC;;AAED;EACC;;AAEA;EACC;EACA;EACA;;AAGD;AAAA;EAEC;EACA;EACA;;AAEA;AAAA;EACC;;AAIH;EACC;;AACA;EACC;EACA;EACA;EACA;;AAGF;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;;;AD3FF;ECmGC;IACC;IACA;IACA,qBACC;;EAgBD;IACC;;EAGC;IACC;;EAKD;IACC;IACA;;;AD7HL;ECuIC;IACC;IACA;IACA,qBACC;;EAeC;IACC;;;AChKN;EACC;;AAEA;EACC;EACA;EACA;;AAGD;EACC;EACA%22,%22file%22:%22root.css%22%7D */ diff --git a/.styles/sheets/actor/mvp.css b/.styles/sheets/actor/mvp.css index 7b6746b..d5cbe5f 100644 --- a/.styles/sheets/actor/mvp.css +++ b/.styles/sheets/actor/mvp.css @@ -2,7 +2,7 @@ display: grid; grid-template-areas: "avatar stats stats" "avatar skills skills" "backpack skills skills" "backpack sync aspect" "backpack weapons aspect" "backpack weapons spells" "backpack roles spells" "summons roles mounts" "summons roles storage"; grid-template-columns: repeat(3, minmax(0, 1fr)); - grid-template-rows: min-content repeat(8, minmax(0, 1fr)); + grid-template-rows: min-content repeat(2, minmax(0, 1fr)) min-content repeat(5, minmax(0, 1fr)); padding: 4px; gap: 4px; } @@ -24,6 +24,7 @@ } .dotdungeon .actor--pc .panel--skills .panel__content { display: grid; + row-gap: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, min-content)); } @@ -33,6 +34,21 @@ .dotdungeon .actor--pc .panel--sync { grid-area: sync; } +.dotdungeon .actor--pc .panel--sync .panel__content { + display: flex; + flex-direction: column; + gap: 4px; +} +.dotdungeon .actor--pc .panel--sync .respawns, +.dotdungeon .actor--pc .panel--sync .sync { + display: flex; + flex-direction: row; + align-items: center; +} +.dotdungeon .actor--pc .panel--sync .respawns__header, +.dotdungeon .actor--pc .panel--sync .sync__header { + flex-grow: 1; +} .dotdungeon .actor--pc .panel--aspect { grid-area: aspect; } @@ -41,7 +57,6 @@ grid-template-rows: min-content min-content min-content 1fr; height: 100%; gap: 4px; - padding: 8px; } .dotdungeon .actor--pc .panel--weapons { grid-area: weapons; @@ -90,4 +105,4 @@ } } -/*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%22../../../styles/sheets/actor/mvp.scss%22,%22../../../styles/mixins/_breakpoints.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AAGA;EACC;EACA,qBACC;EASD;EACA;EACA;EACA;;AAGC;EACC;;AAED;EACC;;AACA;EACC;EACA;EACA;EACA;EACA;;AAGF;EACC;;AAEA;EACC;EACA;EACA;;AAGF;EACC;;AAED;EACC;;AAED;EACC;;AACA;EACC;EACA;EACA;EACA;EACA;;AAGF;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;;;AC1EF;EDkFC;IACC;IACA;IACA,qBACC;;EAgBD;IACC;;EAGC;IACC;;EAKD;IACC;IACA;;;AC5GL;EDsHC;IACC;IACA;IACA,qBACC;;EAeC;IACC%22,%22file%22:%22mvp.css%22%7D */ +/*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%22../../../styles/sheets/actor/mvp.scss%22,%22../../../styles/mixins/_breakpoints.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AAGA;EACC;EACA,qBACC;EASD;EACA;EACA;EACA;;AAGC;EACC;;AAED;EACC;;AACA;EACC;EACA;EACA;EACA;EACA;;AAGF;EACC;;AAEA;EACC;EACA;EACA;EACA;;AAGF;EACC;;AAED;EACC;;AAEA;EACC;EACA;EACA;;AAGD;AAAA;EAEC;EACA;EACA;;AAEA;AAAA;EACC;;AAIH;EACC;;AACA;EACC;EACA;EACA;EACA;;AAGF;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;;;AC3FF;EDmGC;IACC;IACA;IACA,qBACC;;EAgBD;IACC;;EAGC;IACC;;EAKD;IACC;IACA;;;AC7HL;EDuIC;IACC;IACA;IACA,qBACC;;EAeC;IACC%22,%22file%22:%22mvp.css%22%7D */ diff --git a/.styles/sheets/partials/panel.css b/.styles/sheets/partials/panel.css index 0c2782d..d7dad46 100644 --- a/.styles/sheets/partials/panel.css +++ b/.styles/sheets/partials/panel.css @@ -28,6 +28,9 @@ width: 20px; aspect-ratio: 1/1; } +.dotdungeon .panel__content { + padding: 8px; +} @container (max-width: 400px) { .dotdungeon .panel__header .icon { @@ -36,4 +39,4 @@ } } -/*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%22../../../styles/sheets/partials/panel.scss%22,%22../../../styles/mixins/_foundry.scss%22,%22../../../styles/_vars.scss%22,%22../../../styles/mixins/_breakpoints.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AAIA;EACC;EACA;EAEA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;ECpBD;EACA;EACA;EDoBE;EACA;EACA,aEzBU;EF0BV;;AAGD;EAEC,QADO;EAEP,OAFO;EAGP;;;AG1BF;EHgCA;IACC;IACA%22,%22file%22:%22panel.css%22%7D */ +/*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%22../../../styles/sheets/partials/panel.scss%22,%22../../../styles/mixins/_foundry.scss%22,%22../../../styles/_vars.scss%22,%22../../../styles/mixins/_breakpoints.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AAIA;EACC;EACA;EAEA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;ECpBD;EACA;EACA;EDoBE;EACA;EACA,aEzBU;EF0BV;;AAGD;EAEC,QADO;EAEP,OAFO;EAGP;;AAIF;EACC;;;AG/BD;EHoCA;IACC;IACA%22,%22file%22:%22panel.css%22%7D */ diff --git a/.styles/sheets/partials/skill.css b/.styles/sheets/partials/skill.css index 900ccd4..3d34727 100644 --- a/.styles/sheets/partials/skill.css +++ b/.styles/sheets/partials/skill.css @@ -10,7 +10,6 @@ display: flex; flex-direction: column; justify-content: center; - margin-bottom: 8px; gap: 4px; } .dotdungeon .skill-group h3 { @@ -20,4 +19,4 @@ text-align: center; } -/*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%22../../../styles/sheets/partials/skill.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AAAA;EACC;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA%22,%22file%22:%22skill.css%22%7D */ +/*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%22../../../styles/sheets/partials/skill.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AAAA;EACC;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA%22,%22file%22:%22skill.css%22%7D */ diff --git a/langs/en-ca.json b/langs/en-ca.json index fc123e7..b11a301 100644 --- a/langs/en-ca.json +++ b/langs/en-ca.json @@ -63,6 +63,8 @@ "dotdungeon.actor.pc.skill.explosives": "Explosives", "dotdungeon.actor.pc.skill.piloting": "Piloting", + "dotdungeon.actor.pc.respawns.header": "Respawns", + "dotdungeon.item.aspect.name": "Name", "dotdungeon.item.aspect.duration": "Duration (seconds)", diff --git a/module/models/PlayerData.mjs b/module/models/PlayerData.mjs index 1a79d51..c7f1777 100644 --- a/module/models/PlayerData.mjs +++ b/module/models/PlayerData.mjs @@ -96,6 +96,11 @@ export class PlayerData extends foundry.abstract.DataModel { info: new fields.HTMLField(), }) ), + respawns: new fields.SchemaField({ + r1: new fields.BooleanField(), + r2: new fields.BooleanField(), + r3: new fields.BooleanField(), + }), }; }; }; \ No newline at end of file diff --git a/module/sheets/PlayerSheet.mjs b/module/sheets/PlayerSheet.mjs index 845da1a..2bbe868 100644 --- a/module/sheets/PlayerSheet.mjs +++ b/module/sheets/PlayerSheet.mjs @@ -17,8 +17,7 @@ export class PlayerSheet extends ActorSheet { if (!this.isEditable) return; console.debug(`.dungeon | Adding event listeners for Actor: ${this.id}`); - // Modal openings - // html.find(`button.stat-prompt`).on("click", () => {}); + // html.find(`input.sync__input`).on("blur", ($e) => {}); }; getData() { @@ -28,6 +27,10 @@ export class PlayerSheet extends ActorSheet { ctx.system = actor.system; ctx.flags = actor.flags; + ctx.computed = { + syncTotal: 0 + }; + console.groupCollapsed(`PlayerSheet.getData`); console.log(`ctx`, ctx); console.log(`actor`, actor); diff --git a/styles/sheets/actor/mvp.scss b/styles/sheets/actor/mvp.scss index 0bdefaf..0747434 100644 --- a/styles/sheets/actor/mvp.scss +++ b/styles/sheets/actor/mvp.scss @@ -14,7 +14,7 @@ "summons roles mounts" "summons roles storage"; grid-template-columns: repeat(3, minmax(0, 1fr)); - grid-template-rows: min-content repeat(8, minmax(0, 1fr)); + grid-template-rows: min-content repeat(2, minmax(0, 1fr)) min-content repeat(5, minmax(0, 1fr)); padding: 4px; gap: 4px; @@ -37,6 +37,7 @@ .panel__content { display: grid; + row-gap: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, min-content)); } @@ -46,6 +47,23 @@ } &--sync { grid-area: sync; + + .panel__content { + display: flex; + flex-direction: column; + gap: 4px; + } + + .respawns, + .sync { + display: flex; + flex-direction: row; + align-items: center; + + &__header { + flex-grow: 1; + } + } } &--aspect { grid-area: aspect; @@ -54,7 +72,6 @@ grid-template-rows: min-content min-content min-content 1fr; height: 100%; gap: 4px; - padding: 8px; } } &--weapons { diff --git a/styles/sheets/partials/panel.scss b/styles/sheets/partials/panel.scss index 677a4c4..ee8d682 100644 --- a/styles/sheets/partials/panel.scss +++ b/styles/sheets/partials/panel.scss @@ -34,6 +34,10 @@ aspect-ratio: 1/1; } } + + &__content { + padding: 8px; + } } @include bp-s { diff --git a/styles/sheets/partials/skill.scss b/styles/sheets/partials/skill.scss index e664c30..40b43de 100644 --- a/styles/sheets/partials/skill.scss +++ b/styles/sheets/partials/skill.scss @@ -10,7 +10,6 @@ display: flex; flex-direction: column; justify-content: center; - margin-bottom: 8px; gap: 4px; h3 { diff --git a/templates/actors/char-sheet-mvp/sheet.hbs b/templates/actors/char-sheet-mvp/sheet.hbs index a2055c0..b87918f 100644 --- a/templates/actors/char-sheet-mvp/sheet.hbs +++ b/templates/actors/char-sheet-mvp/sheet.hbs @@ -1,12 +1,33 @@