From 516f7ac82608a4c3aaa998b6df9ca83a0b0fc563 Mon Sep 17 00:00:00 2001 From: Oliver-Akins Date: Wed, 10 Jan 2024 22:18:18 -0700 Subject: [PATCH] Work towards using pop-out item sheets instead of inline-editing because inline-editing is annoying and kinda ugly TBH --- .styles/generic.css | 5 +- .styles/root.css | 8 +- .styles/sheets/actor/mvp.css | 5 +- langs/en-ca.json | 54 +++++++++++-- module/config.mjs | 28 ++++++- module/helpers/index.mjs | 3 +- module/models/Item/Spell.mjs | 9 +-- module/sheets/GenericItemSheet.mjs | 5 +- module/sheets/SpellSheet.mjs | 12 ++- styles/generic.scss | 4 + styles/sheets/actor/mvp.scss | 4 + .../char-sheet-mvp/panels/spells.pc.hbs | 75 ++++++++----------- templates/items/spell.hbs | 11 +++ 13 files changed, 150 insertions(+), 73 deletions(-) diff --git a/.styles/generic.css b/.styles/generic.css index f14a4f6..b7e854d 100644 --- a/.styles/generic.css +++ b/.styles/generic.css @@ -43,6 +43,9 @@ .dotdungeon > .window-content textarea:active { border-color: rgb(0, 0, 0); } +.dotdungeon > .window-content textarea { + resize: vertical; +} .dotdungeon > .window-content select, .dotdungeon > .window-content select:hover { cursor: pointer; } @@ -63,4 +66,4 @@ word-break: break-all; } -/*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%22../styles/generic.scss%22,%22../styles/mixins/_foundry.scss%22,%22../styles/_vars.scss%22,%22../styles/mixins/_partials.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AAIQ;AAKP;EACC;;AAED;EACC;;AAGD;ECfA;EACA;EACA;EDeC,aEhBW;EFiBX;;AAGD;EACC;;AAGD;ECzBA;EACA;EACA;EDyBC;EACA;;AAEA;EACC;;AAIF;AAAA;AAAA;EAGC;EGpCD;EACA;EACA;EACA;EACA;EACA,aDLW;;ACOX;AAAA;AAAA;AAAA;AAAA;EAEC;;AH+BD;EACC;;AAEA;EACC;;;AAMH;EACC;;AAEA;EACC;EACA,YErDW;;AFuDX;EACC;EACA,aE3DS;EF4DT%22,%22file%22:%22generic.css%22%7D */ +/*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%22../styles/generic.scss%22,%22../styles/mixins/_foundry.scss%22,%22../styles/_vars.scss%22,%22../styles/mixins/_partials.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AAIQ;AAKP;EACC;;AAED;EACC;;AAGD;ECfA;EACA;EACA;EDeC,aEhBW;EFiBX;;AAGD;EACC;;AAGD;ECzBA;EACA;EACA;EDyBC;EACA;;AAEA;EACC;;AAIF;AAAA;AAAA;EAGC;EGpCD;EACA;EACA;EACA;EACA;EACA,aDLW;;ACOX;AAAA;AAAA;AAAA;AAAA;EAEC;;AH+BD;EACC;;AAGD;EACC;;AAEA;EACC;;;AAMH;EACC;;AAEA;EACC;EACA,YEzDW;;AF2DX;EACC;EACA,aE/DS;EFgET%22,%22file%22:%22generic.css%22%7D */ diff --git a/.styles/root.css b/.styles/root.css index 96f8571..4a8b0a4 100644 --- a/.styles/root.css +++ b/.styles/root.css @@ -43,6 +43,9 @@ .dotdungeon > .window-content textarea:active { border-color: rgb(0, 0, 0); } +.dotdungeon > .window-content textarea { + resize: vertical; +} .dotdungeon > .window-content select, .dotdungeon > .window-content select:hover { cursor: pointer; } @@ -379,6 +382,9 @@ flex-direction: column; gap: 4px; } +.dotdungeon .actor--pc .panel--spells .spell .placeholder { + opacity: 75%; +} .dotdungeon .actor--pc .panel--spells .spell__actions { display: flex; flex-direction: row; @@ -476,4 +482,4 @@ resize: vertical; } -/*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%22../styles/generic.scss%22,%22../styles/mixins/_foundry.scss%22,%22../styles/_vars.scss%22,%22../styles/mixins/_partials.scss%22,%22../styles/global/icons.scss%22,%22../styles/global/buttons.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/actor/sync/basic.scss%22,%22../styles/sheets/items/aspect.scss%22,%22../styles/sheets/items/spell.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AAIQ;AAKP;EACC;;AAED;EACC;;AAGD;ECfA;EACA;EACA;EDeC,aEhBW;EFiBX;;AAGD;EACC;;AAGD;ECzBA;EACA;EACA;EDyBC;EACA;;AAEA;EACC;;AAIF;AAAA;AAAA;EAGC;EGpCD;EACA;EACA;EACA;EACA;EACA,aDLW;;ACOX;AAAA;AAAA;AAAA;AAAA;EAEC;;AH+BD;EACC;;AAEA;EACC;;;AAMH;EACC;;AAEA;EACC;EACA,YErDW;;AFuDX;EACC;EACA,aE3DS;EF4DT;;;AI5DF;EACC;EACA;EACA;;AAIC;EACC;EACA;;AAFD;EACC;EACA;;AAFD;EACC;EACA;;AAFD;EACC;EACA;;AAFD;EACC;EACA;;AAFD;EACC;EACA;;AAFD;EACC;EACA;;;ACTH;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC,YHXc;EGYd,OHXe;;AGYf;EACC;EACA,OHfa;EGgBb,cHhBa;;AGoBf;EACC,YHlBc;EGmBd,OHlBe;;AGmBf;EACC;EACA,OHtBa;EGuBb,cHvBa;;AG2Bf;EACC,YHzBa;EG0Bb,OHzBc;;AG0Bd;EACC;EACA,OH7BY;EG8BZ,cH9BY;;AGkCd;EACC;;AAID;EACC;;AACA;EACC;;;ACvDJ;EACC;EACA;EACA;;ACHD;EACC;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;;;ACdH;EACC;EACA;EAEA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EPlBD;EACA;EACA;EOkBE;EACA;EACA,aNrBU;EMsBV;;AAGD;EAEC,QADO;EAEP,OAFO;EAGP;;AAIF;EACC;;;AC7BD;EDkCA;IACC;IACA;;;AExCF;EACC;EACA,qBACC;EASD;EACA,oBACC;EAGD;EACA;;AAEA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAIA;EACC;;AAMF;EACC;;AACA;EACC;EACA;;AAGD;EACC;;AAGF;EACC;;AACA;EACC;EACA;EACA;EACA;EACA;EACA;;AAGF;EACC;;AAEA;EACC;EACA;EACA;EACA;;AAGF;EACC;;AAEA;EACC;EACA;EACA;;AAED;EACC;EACA;;AAED;EACC;;AAGD;EACC;EACA;EACA;;AAGD;AAAA;AAAA;EAGC;EACA;;AAGD;EACC;;AAGF;EACC;;AAEA;EACC;EACA;EACA;;AAGD;AAAA;EAEC;EACA;EACA;;AAEA;AAAA;EACC;;AAIF;EACC;EACA;;AAGF;EACC;;AACA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAIH;EACC;;AAEA;EACC;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAGF;EACC;EACA;EACA;;AAED;EACC;EACA;EACA;;AAED;EACC;EACA;EACA;EACA;;AAIH;EACC;;AACA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAIH;EACC;;AAEA;EACC;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;;AAIH;EACC;;AAED;EACC;;AAED;EACC;;;ADxNF;ECgOC;IACC;IACA;IACA,qBACC;;EAkBC;IACC;;EAKD;IACC;IACA;;;ADxPL;ECkQC;IACC;IACA;IACA,qBACC;;EAeC;IACC;;;AC1RL;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;;AAGD;EACC;EACA;;AAGD;EACC;EACA;;AAMA;EACC;EACA;;;AFlBH;EE4BG;IACC;IACA;;;ACzCL;EACC;;AAEA;EACC;EACA;EACA;;AAGD;EACC;EACA;;;ACXF;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/generic.scss%22,%22../styles/mixins/_foundry.scss%22,%22../styles/_vars.scss%22,%22../styles/mixins/_partials.scss%22,%22../styles/global/icons.scss%22,%22../styles/global/buttons.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/actor/sync/basic.scss%22,%22../styles/sheets/items/aspect.scss%22,%22../styles/sheets/items/spell.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AAIQ;AAKP;EACC;;AAED;EACC;;AAGD;ECfA;EACA;EACA;EDeC,aEhBW;EFiBX;;AAGD;EACC;;AAGD;ECzBA;EACA;EACA;EDyBC;EACA;;AAEA;EACC;;AAIF;AAAA;AAAA;EAGC;EGpCD;EACA;EACA;EACA;EACA;EACA,aDLW;;ACOX;AAAA;AAAA;AAAA;AAAA;EAEC;;AH+BD;EACC;;AAGD;EACC;;AAEA;EACC;;;AAMH;EACC;;AAEA;EACC;EACA,YEzDW;;AF2DX;EACC;EACA,aE/DS;EFgET;;;AIhEF;EACC;EACA;EACA;;AAIC;EACC;EACA;;AAFD;EACC;EACA;;AAFD;EACC;EACA;;AAFD;EACC;EACA;;AAFD;EACC;EACA;;AAFD;EACC;EACA;;AAFD;EACC;EACA;;;ACTH;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC,YHXc;EGYd,OHXe;;AGYf;EACC;EACA,OHfa;EGgBb,cHhBa;;AGoBf;EACC,YHlBc;EGmBd,OHlBe;;AGmBf;EACC;EACA,OHtBa;EGuBb,cHvBa;;AG2Bf;EACC,YHzBa;EG0Bb,OHzBc;;AG0Bd;EACC;EACA,OH7BY;EG8BZ,cH9BY;;AGkCd;EACC;;AAID;EACC;;AACA;EACC;;;ACvDJ;EACC;EACA;EACA;;ACHD;EACC;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;;;ACdH;EACC;EACA;EAEA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EPlBD;EACA;EACA;EOkBE;EACA;EACA,aNrBU;EMsBV;;AAGD;EAEC,QADO;EAEP,OAFO;EAGP;;AAIF;EACC;;;AC7BD;EDkCA;IACC;IACA;;;AExCF;EACC;EACA,qBACC;EASD;EACA,oBACC;EAGD;EACA;;AAEA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAIA;EACC;;AAMF;EACC;;AACA;EACC;EACA;;AAGD;EACC;;AAGF;EACC;;AACA;EACC;EACA;EACA;EACA;EACA;EACA;;AAGF;EACC;;AAEA;EACC;EACA;EACA;EACA;;AAGF;EACC;;AAEA;EACC;EACA;EACA;;AAED;EACC;EACA;;AAED;EACC;;AAGD;EACC;EACA;EACA;;AAGD;AAAA;AAAA;EAGC;EACA;;AAGD;EACC;;AAGF;EACC;;AAEA;EACC;EACA;EACA;;AAGD;AAAA;EAEC;EACA;EACA;;AAEA;AAAA;EACC;;AAIF;EACC;EACA;;AAGF;EACC;;AACA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAIH;EACC;;AAEA;EACC;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAGF;EACC;EACA;EACA;;AAED;EACC;EACA;EACA;;AAED;EACC;EACA;EACA;EACA;;AAIH;EACC;;AACA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAIH;EACC;;AAEA;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;EACA;EACA;EACA;;AAIH;EACC;;AAED;EACC;;AAED;EACC;;;AD5NF;ECoOC;IACC;IACA;IACA,qBACC;;EAkBC;IACC;;EAKD;IACC;IACA;;;AD5PL;ECsQC;IACC;IACA;IACA,qBACC;;EAeC;IACC;;;AC9RL;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;;AAGD;EACC;EACA;;AAGD;EACC;EACA;;AAMA;EACC;EACA;;;AFlBH;EE4BG;IACC;IACA;;;ACzCL;EACC;;AAEA;EACC;EACA;EACA;;AAGD;EACC;EACA;;;ACXF;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 aeec88d..7cbea4b 100644 --- a/.styles/sheets/actor/mvp.css +++ b/.styles/sheets/actor/mvp.css @@ -165,6 +165,9 @@ flex-direction: column; gap: 4px; } +.dotdungeon .actor--pc .panel--spells .spell .placeholder { + opacity: 75%; +} .dotdungeon .actor--pc .panel--spells .spell__actions { display: flex; flex-direction: row; @@ -206,4 +209,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,oBACC;EAGD;EACA;;AAEA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAIA;EACC;;AAMF;EACC;;AACA;EACC;EACA;;AAGD;EACC;;AAGF;EACC;;AACA;EACC;EACA;EACA;EACA;EACA;EACA;;AAGF;EACC;;AAEA;EACC;EACA;EACA;EACA;;AAGF;EACC;;AAEA;EACC;EACA;EACA;;AAED;EACC;EACA;;AAED;EACC;;AAGD;EACC;EACA;EACA;;AAGD;AAAA;AAAA;EAGC;EACA;;AAGD;EACC;;AAGF;EACC;;AAEA;EACC;EACA;EACA;;AAGD;AAAA;EAEC;EACA;EACA;;AAEA;AAAA;EACC;;AAIF;EACC;EACA;;AAGF;EACC;;AACA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAIH;EACC;;AAEA;EACC;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAGF;EACC;EACA;EACA;;AAED;EACC;EACA;EACA;;AAED;EACC;EACA;EACA;EACA;;AAIH;EACC;;AACA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAIH;EACC;;AAEA;EACC;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;;AAIH;EACC;;AAED;EACC;;AAED;EACC;;;ACxNF;EDgOC;IACC;IACA;IACA,qBACC;;EAkBC;IACC;;EAKD;IACC;IACA;;;ACxPL;EDkQC;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,oBACC;EAGD;EACA;;AAEA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAIA;EACC;;AAMF;EACC;;AACA;EACC;EACA;;AAGD;EACC;;AAGF;EACC;;AACA;EACC;EACA;EACA;EACA;EACA;EACA;;AAGF;EACC;;AAEA;EACC;EACA;EACA;EACA;;AAGF;EACC;;AAEA;EACC;EACA;EACA;;AAED;EACC;EACA;;AAED;EACC;;AAGD;EACC;EACA;EACA;;AAGD;AAAA;AAAA;EAGC;EACA;;AAGD;EACC;;AAGF;EACC;;AAEA;EACC;EACA;EACA;;AAGD;AAAA;EAEC;EACA;EACA;;AAEA;AAAA;EACC;;AAIF;EACC;EACA;;AAGF;EACC;;AACA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAIH;EACC;;AAEA;EACC;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAGF;EACC;EACA;EACA;;AAED;EACC;EACA;EACA;;AAED;EACC;EACA;EACA;EACA;;AAIH;EACC;;AACA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAIH;EACC;;AAEA;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;EACA;EACA;EACA;;AAIH;EACC;;AAED;EACC;;AAED;EACC;;;AC5NF;EDoOC;IACC;IACA;IACA,qBACC;;EAkBC;IACC;;EAKD;IACC;IACA;;;AC5PL;EDsQC;IACC;IACA;IACA,qBACC;;EAeC;IACC%22,%22file%22:%22mvp.css%22%7D */ diff --git a/langs/en-ca.json b/langs/en-ca.json index fcd290d..a4574ab 100644 --- a/langs/en-ca.json +++ b/langs/en-ca.json @@ -175,15 +175,17 @@ "empty": "You have no spells yet", "title.cost": "(Cost: {cost})", "name.label": "Name", - "cost": { - "label": "Cost", - "placeholder": "Bytes per spell cast..." - }, + "skill.label": "Spell Skill: {skill}", "description": { - "label": "Description", - "placeholder": "This spell does..." + "label": "Description:", + "placeholder": "There's no description for this spell yet..." }, - "add.label": "Add Spell" + "add.label": "Add Spell", + "aria": { + "edit": "", + "delete": "Delete spell", + "chat": "Send spell information to chat" + } } }, "sync": { @@ -204,6 +206,10 @@ "name.placeholder": "Name...", "cost.label": "Cost", "description.label": "Description", + "skill.label": "Spell Skill", + "options": { + "no-skill": "No Skill" + }, "aria": { "name": "The spell's name", "cost": "The amount of bytes it takes to cast the spell", @@ -221,9 +227,41 @@ "spell": { "delete": { "title": "Confirm Spell Deletion", - "content": "Are you sure you would like to delete the spell: {name}

This action cannot be reversed." + "content": "Are you sure you would like to delete the spell: {name}

This action cannot be undone." } } + }, + "keyword": { + "stat": { + "build": "Build", + "meta": "Meta", + "presence": "Presence", + "hands": "Hands", + "tilt": "Tilt", + "rng": "RNG" + }, + "skill": { + "defense": "Defense", + "magic": "Magic", + "melee": "Melee", + "platforming": "Platforming", + "strength": "Strength", + "alchemy": "Alchemy", + "arcanum": "Arcanum", + "dreams": "Dream", + "lore": "Lore", + "navigation": "Navigation", + "animal_handling": "Animal Handling", + "perception": "Perception", + "sneak": "Sneak", + "speech": "Speech", + "vibes": "Vibes", + "accuracy": "Accuracy", + "crafting": "Crafting", + "engineering": "Engineering", + "explosives": "Explosives", + "piloting": "Piloting" + } } }, diff --git a/module/config.mjs b/module/config.mjs index ef03bf8..5fb1c18 100644 --- a/module/config.mjs +++ b/module/config.mjs @@ -6,17 +6,37 @@ const damageTypes = [ `slashing`, `piercing`, `smashing`, `gun`, `neon`, `shadow const ammoTypes = [`quivers`, `mags`, `cells`]; +const stats = [ `build`, `meta`, `presence`, `hands`, `tilt`, `rng` ]; + +const buildSkills = [ "defense", "magic", "melee", "platforming", "strength", ]; +const metaSkills = [ "alchemy", "arcanum", "dreams", "lore", "navigation", ]; +const presenceSkills = [ "animal_handling", "perception", "sneak", "speech", "vibes", ]; +const handsSkills = [ "accuracy", "crafting", "engineering", "explosives", "piloting", ]; + +const allSkills = [ + ...buildSkills, + ...metaSkills, + ...presenceSkills, + ...handsSkills, +]; + const skills = { - build: [ "defense", "magic", "melee", "platforming", "strength", ], - meta: [ "alchemy", "arcanum", "dreams", "lore", "navigation", ], - presence: [ "animal_handling", "perception", "sneak", "speech", "vibes", ], - hands: [ "accuracy", "crafting", "engineering", "explosives", "piloting", ] + build: buildSkills, + meta: metaSkills, + presence: presenceSkills, + hands: handsSkills, }; export default { + stats, statDice, trainingLevels, damageTypes, ammoTypes, + buildSkills, + metaSkills, + presenceSkills, + handsSkills, + allSkills, skills, }; \ No newline at end of file diff --git a/module/helpers/index.mjs b/module/helpers/index.mjs index 0279f6f..202a4f4 100644 --- a/module/helpers/index.mjs +++ b/module/helpers/index.mjs @@ -25,5 +25,6 @@ export default { "nor": (a, b) => !(a || b), "nand": (a, b) => !(a && b), "xor": (a, b) => (a || b) && !(a && b), - "xnor": (a, b) => !((a || b) && !(a && b)) + "xnor": (a, b) => !((a || b) && !(a && b)), + "defined": v => v != null }; \ No newline at end of file diff --git a/module/models/Item/Spell.mjs b/module/models/Item/Spell.mjs index b69138b..00bab71 100644 --- a/module/models/Item/Spell.mjs +++ b/module/models/Item/Spell.mjs @@ -10,11 +10,10 @@ export class SpellItemData extends DescribedItemData { blank: true, trim: true, options() { - let skills = [ `` ]; - for (const group in DOTDUNGEON.skills) { - skills.push(...skills[group]); - }; - return skills; + return [ + ``, + ...DOTDUNGEON.allSkills + ]; }, }), }); diff --git a/module/sheets/GenericItemSheet.mjs b/module/sheets/GenericItemSheet.mjs index 04015af..25735ea 100644 --- a/module/sheets/GenericItemSheet.mjs +++ b/module/sheets/GenericItemSheet.mjs @@ -1,3 +1,4 @@ +import DOTDUNGEON from "../config.mjs"; import { preloadIcons } from "../handlebars.mjs"; export class GenericItemSheet extends ItemSheet { @@ -20,7 +21,6 @@ export class GenericItemSheet extends ItemSheet { async getData() { const ctx = {}; - const item = this.item.toObject(false); // Send all of the settings that sheets need into their context ctx.settings = {}; @@ -32,9 +32,10 @@ export class GenericItemSheet extends ItemSheet { ctx.meta = { expanded: this._expanded, - idp: this.actor.uuid, + idp: this.item.uuid, }; + ctx.config = DOTDUNGEON; ctx.icons = await preloadIcons(); return ctx; diff --git a/module/sheets/SpellSheet.mjs b/module/sheets/SpellSheet.mjs index c16078b..724cc58 100644 --- a/module/sheets/SpellSheet.mjs +++ b/module/sheets/SpellSheet.mjs @@ -23,14 +23,12 @@ export class SpellSheet extends GenericItemSheet { }; async getData() { - const ctx = {}; - const item = this.item.toObject(false); - - ctx.name = super.name; - ctx.item = item; - ctx.system = item.system; - ctx.flags = item.flags; + const ctx = await super.getData(); + ctx.item = this.item; + ctx.system = this.item.system; + ctx.flags = this.item.flags; + console.log(ctx) return ctx; }; }; diff --git a/styles/generic.scss b/styles/generic.scss index 4d6295a..0f7ecec 100644 --- a/styles/generic.scss +++ b/styles/generic.scss @@ -41,6 +41,10 @@ @include input-generic; } + textarea { + resize: vertical; + } + select, select:hover { cursor: pointer; diff --git a/styles/sheets/actor/mvp.scss b/styles/sheets/actor/mvp.scss index 5f3eee6..eb16b4f 100644 --- a/styles/sheets/actor/mvp.scss +++ b/styles/sheets/actor/mvp.scss @@ -200,6 +200,10 @@ flex-direction: column; gap: 4px; + .placeholder { + opacity: 75%; + } + &__actions { display: flex; flex-direction: row; diff --git a/templates/actors/char-sheet-mvp/panels/spells.pc.hbs b/templates/actors/char-sheet-mvp/panels/spells.pc.hbs index 257c0d9..e3d30a5 100644 --- a/templates/actors/char-sheet-mvp/panels/spells.pc.hbs +++ b/templates/actors/char-sheet-mvp/panels/spells.pc.hbs @@ -4,71 +4,60 @@ {{spell.name}} - {{localize "dotdungeon.actor.pc.spells.title.cost" cost=spell.system.cost}} + {{#if (defined spell.system.cost)}} + {{localize "dotdungeon.actor.pc.spells.title.cost" cost=spell.system.cost}} + {{/if}}
-
- - -
-
- - -
- - + {{localize "dotdungeon.actor.pc.spells.description.label"}} +

+ {{#if spell.system.description}} + {{spell.system.description}} + {{else}} + {{localize "dotdungeon.actor.pc.spells.description.placeholder"}} + {{/if}} +

+ {{#if spell.system.skill}} +
+ {{localize + "dotdungeon.actor.pc.spells.skill.label" + skill=(localize (concat "dotdungeon.keyword.skill." spell.system.skill)) + }} +
+ {{/if}}
+
-
- {{spell.uuid}} - {{dd-stringify spell}} -
{{else}}

diff --git a/templates/items/spell.hbs b/templates/items/spell.hbs index 4c1c191..14ed97e 100644 --- a/templates/items/spell.hbs +++ b/templates/items/spell.hbs @@ -24,4 +24,15 @@ aria-description="{{localize "dotdungeon.item.spell.aria.description"}}" >{{system.description}} + + \ No newline at end of file