From e2de7113882dd2f8443d805b225fbc12e8f01c47 Mon Sep 17 00:00:00 2001 From: Oliver-Akins Date: Sun, 28 Jan 2024 16:04:13 -0700 Subject: [PATCH 001/232] Update the mob sheet CSS --- .styles/root.css | 7 +------ .styles/sheets/actor/mob.css | 7 +------ styles/sheets/actor/mob.scss | 6 ------ 3 files changed, 2 insertions(+), 18 deletions(-) diff --git a/.styles/root.css b/.styles/root.css index ec14fea..fd950aa 100644 --- a/.styles/root.css +++ b/.styles/root.css @@ -452,11 +452,6 @@ .dotdungeon .actor--mob { padding: 4px; } -.dotdungeon .actor--mob input[type=text] { - font-size: 1.5em; - height: 1.5em; - width: 100%; -} .dotdungeon .actor--mob textarea { width: 100%; resize: vertical; @@ -532,4 +527,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/mob.scss%22,%22../styles/sheets/actor/sync/basic.scss%22,%22../styles/sheets/items/aspect.scss%22,%22../styles/sheets/items/spell.scss%22,%22../styles/sheets/items/pet.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;;AAKD;EACC;EACA;EACA;;AAEA;EACC;;AAKJ;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;;AAIF;EACC;EACA;EACA;;AAGF;EACC;;AAED;EACC;;AAEA;EACC;EACA;EACA;;AAEA;EACC;;AAIH;EACC;;AAIF;EACC;EACA;EACA;EACA;;AAIA;EACC;;;AD9PF;ECsQC;IACC;IACA;IACA,qBACC;;EAkBC;IACC;;EAKD;IACC;IACA;;;AD9RL;ECwSC;IACC;IACA;IACA,qBACC;;EAeC;IACC;;;ACjUN;EACC;;AAEA;EACC;EACA;EACA;;AAGD;EACC;EACA;;;ACVD;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;;AAGD;EACC;EACA;;AAGD;EACC;EACA;;AAMA;EACC;EACA;;;AHlBH;EG4BG;IACC;IACA;;;ACzCL;EACC;;AAEA;EACC;EACA;EACA;;AAGD;EACC;EACA;;;ACXF;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/mob.scss%22,%22../styles/sheets/actor/sync/basic.scss%22,%22../styles/sheets/items/aspect.scss%22,%22../styles/sheets/items/spell.scss%22,%22../styles/sheets/items/pet.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;;AAKD;EACC;EACA;EACA;;AAEA;EACC;;AAKJ;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;;AAIF;EACC;EACA;EACA;;AAGF;EACC;;AAED;EACC;;AAEA;EACC;EACA;EACA;;AAEA;EACC;;AAIH;EACC;;AAIF;EACC;EACA;EACA;EACA;;AAIA;EACC;;;AD9PF;ECsQC;IACC;IACA;IACA,qBACC;;EAkBC;IACC;;EAKD;IACC;IACA;;;AD9RL;ECwSC;IACC;IACA;IACA,qBACC;;EAeC;IACC;;;ACjUN;EACC;;AAEA;EACC;EACA;;;ACJD;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;;AAGD;EACC;EACA;;AAGD;EACC;EACA;;AAMA;EACC;EACA;;;AHlBH;EG4BG;IACC;IACA;;;ACzCL;EACC;;AAEA;EACC;EACA;EACA;;AAGD;EACC;EACA;;;ACXF;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/mob.css b/.styles/sheets/actor/mob.css index 87e8f1f..0764af5 100644 --- a/.styles/sheets/actor/mob.css +++ b/.styles/sheets/actor/mob.css @@ -1,14 +1,9 @@ .dotdungeon .actor--mob { padding: 4px; } -.dotdungeon .actor--mob input[type=text] { - font-size: 1.5em; - height: 1.5em; - width: 100%; -} .dotdungeon .actor--mob textarea { width: 100%; resize: vertical; } -/*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%22../../../styles/sheets/actor/mob.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AAEA;EACC;;AAEA;EACC;EACA;EACA;;AAGD;EACC;EACA%22,%22file%22:%22mob.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/mob.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AAEA;EACC;;AAEA;EACC;EACA%22,%22file%22:%22mob.css%22%7D */ diff --git a/styles/sheets/actor/mob.scss b/styles/sheets/actor/mob.scss index b4773ee..79cd140 100644 --- a/styles/sheets/actor/mob.scss +++ b/styles/sheets/actor/mob.scss @@ -3,12 +3,6 @@ .dotdungeon .actor--mob { padding: 4px; - input[type=text] { - font-size: 1.5em; - height: 1.5em; - width: 100%; - } - textarea { width: 100%; resize: vertical; From 15aaf4edd096aea3be4ad82255291ecb10a1d5b5 Mon Sep 17 00:00:00 2001 From: Oliver-Akins Date: Sun, 28 Jan 2024 16:26:27 -0700 Subject: [PATCH 002/232] Add missing export --- module/documents/Actor/Mob.mjs | 1 + 1 file changed, 1 insertion(+) diff --git a/module/documents/Actor/Mob.mjs b/module/documents/Actor/Mob.mjs index e69de29..7c645e4 100644 --- a/module/documents/Actor/Mob.mjs +++ b/module/documents/Actor/Mob.mjs @@ -0,0 +1 @@ +export default {}; \ No newline at end of file From 7c521de4aae60d95235b14fea3734d0f6d5145a4 Mon Sep 17 00:00:00 2001 From: Oliver-Akins Date: Sun, 28 Jan 2024 20:03:10 -0700 Subject: [PATCH 003/232] Update the system.json --- system.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/system.json b/system.json index a6349c7..65ba293 100644 --- a/system.json +++ b/system.json @@ -2,7 +2,7 @@ "id": "dotdungeon", "title": ".dungeon", "description": "", - "version": "0.0.0", + "version": "0.0.1", "compatibility": { "minimum": 11, "verified": 11, @@ -15,6 +15,8 @@ } ], "url": "https://github.com/Oliver-Akins/foundry.dungeon", + "manifest": "https://raw.githubusercontent.com/Oliver-Akins/foundry.dungeon/main/system.json", + "download": "https://github.com/Oliver-Akins/foundry.dungeon/releases/download/untagged-fb28066f8c666cb29371/dotdungeon-v0.0.1.zip", "esmodules": [ "module/dotdungeon.mjs" ], From 9438233fb50976a12bd4792fe00ce7d54c4cfcd2 Mon Sep 17 00:00:00 2001 From: Oliver-Akins Date: Sun, 28 Jan 2024 20:11:34 -0700 Subject: [PATCH 004/232] Point to the latest releases in the repo system.json --- system.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/system.json b/system.json index 65ba293..f4cd6e6 100644 --- a/system.json +++ b/system.json @@ -15,8 +15,8 @@ } ], "url": "https://github.com/Oliver-Akins/foundry.dungeon", - "manifest": "https://raw.githubusercontent.com/Oliver-Akins/foundry.dungeon/main/system.json", - "download": "https://github.com/Oliver-Akins/foundry.dungeon/releases/download/untagged-fb28066f8c666cb29371/dotdungeon-v0.0.1.zip", + "manifest": "https://github.com/Oliver-Akins/foundry.dungeon/releases/latest/download/system.json", + "download": "https://github.com/Oliver-Akins/foundry.dungeon/releases/latest/download/dotdungeon.zip", "esmodules": [ "module/dotdungeon.mjs" ], From a19bce7e8a99eee72f75dc5e2c170d3cda40cf68 Mon Sep 17 00:00:00 2001 From: Oliver-Akins Date: Sun, 28 Jan 2024 20:18:57 -0700 Subject: [PATCH 005/232] Update the URL positioning in the system json --- system.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/system.json b/system.json index f4cd6e6..b663990 100644 --- a/system.json +++ b/system.json @@ -3,6 +3,9 @@ "title": ".dungeon", "description": "", "version": "0.0.1", + "download": "https://github.com/Oliver-Akins/foundry.dungeon/releases/download/v0.0.1/dotdungeon.zip", + "manifest": "https://github.com/Oliver-Akins/foundry.dungeon/releases/latest/download/system.json", + "url": "https://github.com/Oliver-Akins/foundry.dungeon", "compatibility": { "minimum": 11, "verified": 11, @@ -14,9 +17,6 @@ "url": "https://oliver.akins.me" } ], - "url": "https://github.com/Oliver-Akins/foundry.dungeon", - "manifest": "https://github.com/Oliver-Akins/foundry.dungeon/releases/latest/download/system.json", - "download": "https://github.com/Oliver-Akins/foundry.dungeon/releases/latest/download/dotdungeon.zip", "esmodules": [ "module/dotdungeon.mjs" ], From a8b054281fd9dd9897610415e26edc73576d4ce1 Mon Sep 17 00:00:00 2001 From: Oliver-Akins Date: Sun, 28 Jan 2024 20:25:21 -0700 Subject: [PATCH 006/232] Add a file for steps on how to release. --- How-to-release.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 How-to-release.md diff --git a/How-to-release.md b/How-to-release.md new file mode 100644 index 0000000..dceaddc --- /dev/null +++ b/How-to-release.md @@ -0,0 +1,7 @@ +1. Make sure that the `version` is the correct version number. +2. Copy the `system.json` in order to make the version-specific manifest +3. Update the `download` to point to the version-specific file from Github +4. Compress all of the necessary files and folders +5. Create the release on Github with the correct tag being created +6. Upload the compressed files and the version-specific manifest file +7. Save the release as draft, prerelease, or stable (pre-releases won't be caught in the `/latest` URL that is used to check for updates) \ No newline at end of file From 7b1fac733d12b4ffe5967a8f7722ce0c1d72f3d9 Mon Sep 17 00:00:00 2001 From: Oliver-Akins Date: Sun, 28 Jan 2024 20:26:24 -0700 Subject: [PATCH 007/232] Cleanup and add the mob as a valid actor type --- template.bak.json | 209 ---------------------------------------------- template.json | 3 +- 2 files changed, 2 insertions(+), 210 deletions(-) delete mode 100644 template.bak.json diff --git a/template.bak.json b/template.bak.json deleted file mode 100644 index 7a0b395..0000000 --- a/template.bak.json +++ /dev/null @@ -1,209 +0,0 @@ -{ - "Actor": { - "types": [ - "npc", - "pc", - "mob" - ], - "templates": { - "common": { - "bytes": { - "value": 0, - "min": 0 - } - }, - "sync":{ - "value": 100, - "max": 100, - "min": 0 - } - }, - "NPC": { - "templates": [ - "common" - ] - }, - "PC": { - "templates": [ - "common", - "sync" - ], - "stats": { - "build": "", - "meta": "", - "presence": "", - "hands": "", - "tilt": "", - "rng": "" - }, - "skills": { - "build": { - "defense": "untrained", - "magic": "untrained", - "melee": "untrained", - "platforming": "untrained", - "strength": "untrained" - }, - "meta": { - "alchemy": "untrained", - "arcanum": "untrained", - "dreams": "untrained", - "lore": "untrained", - "navigation": "untrained" - }, - "presence": { - "animalHandling": "untrained", - "perception": "untrained", - "sneak": "untrained", - "speech": "untrained", - "vibes": "untrained" - }, - "hands": { - "accuracy": "untrained", - "crafting": "untrained", - "engineering": "untrained", - "explosives": "untrained", - "piloting": "untrained" - } - }, - "aspect": { - "name": "", - "description": "" - }, - "roles": [ - { - "name": "", - "description": "" - }, - { - "name": "", - "description": "" - }, - { - "name": "", - "description": "" - }, - { - "name": "", - "description": "" - } - ], - "weapon": { - "name": "", - "damage": "", - "quivers": { - "value": 0, - "min": 0, - "max": 5 - }, - "mags": { - "value": 0, - "min": 0, - "max": 5 - }, - "cells": { - "value": 0, - "min": 0, - "max": 5 - } - }, - "inventory": { - "backpack": [], - "bytes": { - "value": 0, - "min": 0 - }, - "supplies": { - "value": 0, - "min": 0, - "max": 5 - }, - "materials": { - "value": 0, - "min": 0, - "max": 5 - }, - "pet": {}, - "transport": {}, - "spells": {} - } - }, - "Mob": { - "templates": [] - } - }, - "Item": { - "types": [ - "weapon", - "armour", - "equipment", - "foil", - "pet", - "transportation", - "structure", - "service", - "legendaryItem", - "spell" - ], - "templates": { - "common": { - "name": "", - "rarity": "simple", - "cost": { - "min": 0, - "value": 0 - } - } - }, - "weapon": { - "templates": [ - "common" - ] - }, - "Armor": { - "templates": [ - "common" - ] - }, - "Equipment": { - "templates": [ - "common" - ] - }, - "foil": { - "templates": [ - "common" - ] - }, - "pet": { - "templates": [ - "common" - ] - }, - "transportation": { - "templates": [ - "common" - ] - }, - "structure": { - "templates": [ - "common" - ] - }, - "service": { - "templates": [ - "common" - ] - }, - "legendaryItem": { - "templates": [ - "common" - ] - }, - "spell": { - "templates": [ - "common" - ] - } - } -} \ No newline at end of file diff --git a/template.json b/template.json index f4399fe..d385103 100644 --- a/template.json +++ b/template.json @@ -2,7 +2,8 @@ "Actor": { "types": [ "player", - "sync" + "sync", + "mob" ] }, "Item": { From a4bb96513dd7914529e529dff5bc8cfa1b4389d3 Mon Sep 17 00:00:00 2001 From: Oliver-Akins Date: Mon, 29 Jan 2024 23:02:54 -0700 Subject: [PATCH 008/232] Add yaml language-specific settings --- .vscode/settings.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.vscode/settings.json b/.vscode/settings.json index 7b333e9..82812b8 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -3,5 +3,9 @@ "editor.tabSize": 2, "[javascript]": { "editor.tabSize": 4 + }, + "[yaml,yml]": { + "editor.insertSpaces": true, + "editor.tabSize": 2 } } \ No newline at end of file From a2da4d9443750c2e3d8613e3b939324a58e3604c Mon Sep 17 00:00:00 2001 From: Oliver-Akins Date: Mon, 29 Jan 2024 23:03:16 -0700 Subject: [PATCH 009/232] Add a Github Action for building a release --- .github/workflows/draft-release.yml | 57 +++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 .github/workflows/draft-release.yml diff --git a/.github/workflows/draft-release.yml b/.github/workflows/draft-release.yml new file mode 100644 index 0000000..e3c2354 --- /dev/null +++ b/.github/workflows/draft-release.yml @@ -0,0 +1,57 @@ +name: Create Draft Release +on: [workflow_dispatch] +jobs: + everything: + runs-on: ubuntu-latest + steps: + # Checkout the repository + - uses: actions/checkout@v4 + + # Install node and NPM + - uses: actions/setup-node@v4 + with: + node-version: "19" + + # Install required packages + - run: npm install + + - name: Reading the system.json for the version + id: "version" + run: cat system.json | echo version=`jq -r ".version"` >> "$GITHUB_OUTPUT" + + # Check that tag doesn't exist + - uses: mukunku/tag-exists-action@v1.5.0 + id: check-tag + with: + tag: "v${{ steps.version.outputs.version }}" + + - name: "Ensure that the tag doesn't exist" + if: ${{ steps.check-tag.outputs.exists == 'true' }} + run: exit 1 + + - name: Ensure there are specific files to release + if: ${{ vars.files_to_release == '' }} + run: exit 1 + + # Compile the stuff that needs to be compiled + - run: npm run build + + - name: Create the zip + run: zip -r ${{ vars.zip_name || 'release' }}.zip ${{ vars.files_to_release }} + + - name: Move system.json to a temp file + id: manifest-move + run: mv system.json system.temp.json + + - name: Update the download property in the manifest + id: manifest-update + run: cat system.temp.json | jq -r --tab '.download = "https://github.com/${{ github.repository }}/releases/download/v${{ steps.version.outputs.version }}/${{ vars.zip_name }}.zip"' > system.json + + - name: Create the draft release + uses: ncipollo/release-action@v1 + with: + tag: "v${{ steps.version.outputs.version }}" + commit: ${{ github.ref }} + draft: true + generateReleaseNotes: true + artifacts: "${{vars.zip_name || 'release'}}.zip,system.json" From 85103c05682093e47ec7eeba92b044ee00cd4e0f Mon Sep 17 00:00:00 2001 From: Oliver-Akins Date: Mon, 29 Jan 2024 23:03:26 -0700 Subject: [PATCH 010/232] Version bump to 0.0.2 --- system.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system.json b/system.json index b663990..dbd4e82 100644 --- a/system.json +++ b/system.json @@ -2,7 +2,7 @@ "id": "dotdungeon", "title": ".dungeon", "description": "", - "version": "0.0.1", + "version": "0.0.2", "download": "https://github.com/Oliver-Akins/foundry.dungeon/releases/download/v0.0.1/dotdungeon.zip", "manifest": "https://github.com/Oliver-Akins/foundry.dungeon/releases/latest/download/system.json", "url": "https://github.com/Oliver-Akins/foundry.dungeon", From e5f0a1d5d6f78f47ecd42b10c2259ce0e96211d4 Mon Sep 17 00:00:00 2001 From: Oliver-Akins Date: Mon, 29 Jan 2024 23:07:52 -0700 Subject: [PATCH 011/232] Create the zip after updating the system.json --- .github/workflows/draft-release.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/draft-release.yml b/.github/workflows/draft-release.yml index e3c2354..62024ea 100644 --- a/.github/workflows/draft-release.yml +++ b/.github/workflows/draft-release.yml @@ -36,9 +36,6 @@ jobs: # Compile the stuff that needs to be compiled - run: npm run build - - name: Create the zip - run: zip -r ${{ vars.zip_name || 'release' }}.zip ${{ vars.files_to_release }} - - name: Move system.json to a temp file id: manifest-move run: mv system.json system.temp.json @@ -47,6 +44,9 @@ jobs: id: manifest-update run: cat system.temp.json | jq -r --tab '.download = "https://github.com/${{ github.repository }}/releases/download/v${{ steps.version.outputs.version }}/${{ vars.zip_name }}.zip"' > system.json + - name: Create the zip + run: zip -r ${{ vars.zip_name || 'release' }}.zip ${{ vars.files_to_release }} + - name: Create the draft release uses: ncipollo/release-action@v1 with: From f3a4604be9be8e4cdd3687a008d1ace9dc40f252 Mon Sep 17 00:00:00 2001 From: Oliver-Akins Date: Mon, 29 Jan 2024 23:08:05 -0700 Subject: [PATCH 012/232] Add the build script that I forgot to add for the github action --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index d2d932c..dd1e0cf 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,7 @@ { "scripts": { - "css": "sass --watch --embed-source-map --no-error-css styles/:.styles/" + "css": "sass --watch --embed-source-map --no-error-css styles/:.styles/", + "build": "sass --embed-source-map --no-error-css styles/:.styles/" }, "devDependencies": { "@league-of-foundry-developers/foundry-vtt-types": "^9.280.0", From b9ed3289dc2ec6ed24550e907d03031a011ed627 Mon Sep 17 00:00:00 2001 From: Oliver-Akins Date: Wed, 31 Jan 2024 18:17:41 -0700 Subject: [PATCH 013/232] Begin work on 0.0.3 --- system.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/system.json b/system.json index dbd4e82..f32c11b 100644 --- a/system.json +++ b/system.json @@ -2,8 +2,8 @@ "id": "dotdungeon", "title": ".dungeon", "description": "", - "version": "0.0.2", - "download": "https://github.com/Oliver-Akins/foundry.dungeon/releases/download/v0.0.1/dotdungeon.zip", + "version": "0.0.3", + "download": "https://github.com/Oliver-Akins/foundry.dungeon/releases/latest/download/dotdungeon.zip", "manifest": "https://github.com/Oliver-Akins/foundry.dungeon/releases/latest/download/system.json", "url": "https://github.com/Oliver-Akins/foundry.dungeon", "compatibility": { From a657b2e3e8ea236d6020454cfb96194b7a35c1d6 Mon Sep 17 00:00:00 2001 From: Oliver-Akins Date: Wed, 31 Jan 2024 18:34:24 -0700 Subject: [PATCH 014/232] Load icons during initial setup and allow hot-reloading icons --- module/dotdungeon.mjs | 8 +++- module/handlebars.mjs | 8 +--- module/hooks/hotReload.mjs | 67 ++++++++++++++++------------- module/sheets/GenericActorSheet.mjs | 3 +- module/sheets/GenericItemSheet.mjs | 3 +- system.json | 4 +- 6 files changed, 49 insertions(+), 44 deletions(-) diff --git a/module/dotdungeon.mjs b/module/dotdungeon.mjs index 49c6374..4784205 100644 --- a/module/dotdungeon.mjs +++ b/module/dotdungeon.mjs @@ -29,7 +29,7 @@ import loadSettings from "./settings/index.mjs"; import DOTDUNGEON from "./config.mjs"; -Hooks.once(`init`, () => { +Hooks.once(`init`, async () => { console.debug(`.dungeon | Initializing`); loadSettings(); @@ -76,10 +76,14 @@ Hooks.once(`init`, () => { makeDefault: true, types: ["pet"], lable: "dotdungeon.sheet-names.PetSheet" - }) + }); + hbs.registerHandlebarsHelpers(); hbs.preloadHandlebarsTemplates(); + + CONFIG.CACHE = {}; + CONFIG.CACHE.icons = await hbs.preloadIcons(); }); diff --git a/module/handlebars.mjs b/module/handlebars.mjs index 8cec531..32eec11 100644 --- a/module/handlebars.mjs +++ b/module/handlebars.mjs @@ -78,7 +78,6 @@ export async function preloadHandlebarsTemplates() { * displaying the icon */ export async function preloadIcons() { - console.groupCollapsed(`.dungeon | Loading icons for handlebars`); const pathPrefix = `systems/dotdungeon/assets/` const parsedIcons = {}; @@ -90,21 +89,18 @@ export async function preloadIcons() { if (response.status !== 200) { continue }; const svgData = await response.text(); parsedIcons[iconName] = svgData; - console.debug(`Loaded icon: ${icon}`); } catch { - console.error(`Failed to fetch/parse icon: ${icon}`); + console.error(`.dungeon | Failed to fetch/parse icon: ${icon}`); continue; }; } else if (icon.endsWith(`.png`)) { parsedIcons[iconName] = ``; - console.debug(`Loaded icon: ${icon}`); } else { - console.warn(`Icon "${icon}" failed to be handled by a loader`) + console.warn(`.dungeon | Icon "${icon}" failed to be handled by a loader`) }; }; - console.groupEnd(); return parsedIcons; }; \ No newline at end of file diff --git a/module/hooks/hotReload.mjs b/module/hooks/hotReload.mjs index ee4d283..c2370ee 100644 --- a/module/hooks/hotReload.mjs +++ b/module/hooks/hotReload.mjs @@ -1,34 +1,41 @@ import * as hbs from "../handlebars.mjs"; +const loaders = { + svg(data) { + const iconName = data.path.split(`/`).slice(-1)[0].slice(0, -4); + console.log(`.dungeon | hot-reloading icon: ${iconName}`); + CONFIG.CACHE.icons[iconName] = data.content; + }, + hbs(data) { + if (!hbs.partials.some(p => data.path.endsWith(p))) { + return true; + }; + + // Compile the new template data. + let template; + try { + template = Handlebars.compile(data.content); + } catch (err) { + return console.error(err); + }; + + // Re-register our new partial template & cache it. + const alias = data.path + .split(`/`) + .pop() + .split(`.`) + .slice(0, -1) + .reverse() + .join(`.`); + const templateName = `dotdungeon.${alias}`; + Handlebars.registerPartial(templateName, template); + _templateCache[templateName] = template; + + return false; + }, +}; + Hooks.on(`hotReload`, async (data) => { - if (data.extension !== 'hbs') { - return true; - }; - - if (!hbs.partials.some(p => data.path.endsWith(p))) { - return true; - }; - - - // Compile the new template data. - let template; - try { - template = Handlebars.compile(data.content); - } catch (err) { - return console.error(err); - }; - - // Re-register our new partial template & cache it. - const alias = data.path - .split(`/`) - .pop() - .split(`.`) - .slice(0, -1) - .reverse() - .join(`.`); - const templateName = `dotdungeon.${alias}`; - Handlebars.registerPartial(templateName, template); - _templateCache[templateName] = template; - - return false; + if (!loaders[data.extension]) return; + return loaders[data.extension](data); }); \ No newline at end of file diff --git a/module/sheets/GenericActorSheet.mjs b/module/sheets/GenericActorSheet.mjs index 1dcc4c8..80818d7 100644 --- a/module/sheets/GenericActorSheet.mjs +++ b/module/sheets/GenericActorSheet.mjs @@ -1,5 +1,4 @@ import DOTDUNGEON from "../config.mjs"; -import { preloadIcons } from "../handlebars.mjs"; export class GenericActorSheet extends ActorSheet { _expanded = new Set(); @@ -29,7 +28,7 @@ export class GenericActorSheet extends ActorSheet { ctx.actor = this.actor; ctx.config = DOTDUNGEON; - ctx.icons = await preloadIcons(); + ctx.icons = CONFIG.CACHE.icons; return ctx; }; diff --git a/module/sheets/GenericItemSheet.mjs b/module/sheets/GenericItemSheet.mjs index 7299004..098cc5b 100644 --- a/module/sheets/GenericItemSheet.mjs +++ b/module/sheets/GenericItemSheet.mjs @@ -1,5 +1,4 @@ import DOTDUNGEON from "../config.mjs"; -import { preloadIcons } from "../handlebars.mjs"; export class GenericItemSheet extends ItemSheet { _expanded = new Set(); @@ -35,7 +34,7 @@ export class GenericItemSheet extends ItemSheet { }; ctx.config = DOTDUNGEON; - ctx.icons = await preloadIcons(); + ctx.icons = CONFIG.CACHE.icons; return ctx; }; diff --git a/system.json b/system.json index f32c11b..df3a65a 100644 --- a/system.json +++ b/system.json @@ -32,8 +32,8 @@ ], "flags": { "hotReload": { - "extensions": ["css", "hbs", "json", "js", "mjs"], - "paths": ["templates", "langs", ".styles", "module"] + "extensions": ["css", "hbs", "json", "js", "mjs", "svg"], + "paths": ["templates", "langs", ".styles", "module", "assets"] } } } \ No newline at end of file From cdaaaef34d11c400c016dfdd924da1e97b9c861f Mon Sep 17 00:00:00 2001 From: Oliver-Akins Date: Wed, 31 Jan 2024 18:45:33 -0700 Subject: [PATCH 015/232] On to v0.0.4 --- system.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system.json b/system.json index df3a65a..d3756f6 100644 --- a/system.json +++ b/system.json @@ -2,7 +2,7 @@ "id": "dotdungeon", "title": ".dungeon", "description": "", - "version": "0.0.3", + "version": "0.0.4", "download": "https://github.com/Oliver-Akins/foundry.dungeon/releases/latest/download/dotdungeon.zip", "manifest": "https://github.com/Oliver-Akins/foundry.dungeon/releases/latest/download/system.json", "url": "https://github.com/Oliver-Akins/foundry.dungeon", From 3bb36cde58155d86ba8e98d40fa0e32482d1f05f Mon Sep 17 00:00:00 2001 From: Oliver-Akins Date: Thu, 1 Feb 2024 22:06:14 -0700 Subject: [PATCH 016/232] Improve design and layout of the mob sheet --- styles/root.scss | 2 +- styles/sheets/actor/mob.scss | 10 -- styles/sheets/actor/mob/avatar.scss | 4 + styles/sheets/actor/mob/mob.scss | 119 ++++++++++++++++++++++ templates/actors/mobs/main.hbs | 150 ++++++++++++++-------------- 5 files changed, 200 insertions(+), 85 deletions(-) delete mode 100644 styles/sheets/actor/mob.scss create mode 100644 styles/sheets/actor/mob/avatar.scss create mode 100644 styles/sheets/actor/mob/mob.scss diff --git a/styles/root.scss b/styles/root.scss index 9d91d69..ac65ff7 100644 --- a/styles/root.scss +++ b/styles/root.scss @@ -12,7 +12,7 @@ @use "./sheets/partials/panel.scss"; @use "./sheets/actor/mvp.scss"; -@use "./sheets/actor/mob.scss"; +@use "./sheets/actor/mob/mob.scss"; @use "./sheets/actor/sync/basic.scss"; @use "./sheets/items/aspect.scss"; @use "./sheets/items/spell.scss"; diff --git a/styles/sheets/actor/mob.scss b/styles/sheets/actor/mob.scss deleted file mode 100644 index 79cd140..0000000 --- a/styles/sheets/actor/mob.scss +++ /dev/null @@ -1,10 +0,0 @@ -@use "../../vars" as *; - -.dotdungeon .actor--mob { - padding: 4px; - - textarea { - width: 100%; - resize: vertical; - } -} \ No newline at end of file diff --git a/styles/sheets/actor/mob/avatar.scss b/styles/sheets/actor/mob/avatar.scss new file mode 100644 index 0000000..9863e1a --- /dev/null +++ b/styles/sheets/actor/mob/avatar.scss @@ -0,0 +1,4 @@ +@mixin avatar { + grid-area: avatar; + background: yellowgreen +} \ No newline at end of file diff --git a/styles/sheets/actor/mob/mob.scss b/styles/sheets/actor/mob/mob.scss new file mode 100644 index 0000000..62c1f3b --- /dev/null +++ b/styles/sheets/actor/mob/mob.scss @@ -0,0 +1,119 @@ +@use "../../../vars" as *; +@use "avatar" as *; + +.dotdungeon .actor--mob { + --gap: 8px; + --avatar-size: 80px; + --row-height: calc((var(--avatar-size) - var(--gap)) / 2); + padding: var(--gap); + display: grid; + grid-template-columns: var(--avatar-size) 1fr 1fr; + grid-template-rows: repeat(6, var(--row-height)) minmax(var(--row-height), 1fr); + gap: var(--gap); + grid-template-areas: + "avatar . ." + "avatar . ." + "dice . ." + "dice . ." + "dice . ." + "dice stunts stunts" + "dice stunts stunts"; + + label, .dice { + border: 2px solid black; + border-radius: 4px; + gap: 4px; + padding: 4px; + } + + input.masked { + border: 2px solid black; + background: none; + box-shadow: none; + &:focus { + transform: scale(102%); + } + } + + label.mask-input { + display: flex; + flex-direction: row; + align-items: center; + transition: all ease-in-out 50ms; + + &:focus-within { + transform: scale(102%); + } + + input { + text-align: right; + border: none; + background: none; + &:focus, &:focus-visible { + box-shadow: none; + } + } + + input.left { + text-align: left; + } + } + + .wide { + grid-column: span 2; + } + + +// Area-specific stylings + + .name { + height: 100%; + font-size: 1.5rem; + input { + height: 100%; + } + } + + .dice { + grid-area: dice; + display: flex; + flex-direction: column; + + .die { + display: flex; + flex-direction: row; + width: 100%; + border: 2px solid black; + border-radius: 4px; + + .formula { + flex-grow: 1; + align-self: center; + } + } + } + + .stunts { + grid-area: stunts; + display: flex; + flex-direction: column; + transition: all ease-in-out 50ms; + + &:focus-within { + transform: scale(102%); + } + + textarea { + flex-grow: 1; + resize: none; + border: none; + box-shadow: none; + background: none; + } + } + + .avatar { + @include avatar; + border-radius: 4px; + } +} \ No newline at end of file diff --git a/templates/actors/mobs/main.hbs b/templates/actors/mobs/main.hbs index 222318e..3dedb74 100644 --- a/templates/actors/mobs/main.hbs +++ b/templates/actors/mobs/main.hbs @@ -1,77 +1,79 @@
-

- - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- -
- -
- -
- -
- -
- - + class="name wide masked" + name="name" + value="{{actor.name}}" + > + + +
+ Dice: + + + +
+ +
+ + + + +
\ No newline at end of file From 47a34616801b6ae54b53a9bcd92490935284b46a Mon Sep 17 00:00:00 2001 From: Oliver-Akins Date: Thu, 1 Feb 2024 22:06:44 -0700 Subject: [PATCH 017/232] Purge the compiled CSS from the repo --- .styles/generic.css | 69 ---- .styles/global/buttons.css | 52 --- .styles/global/icons.css | 35 -- .styles/root.css | 530 ---------------------------- .styles/sheets/actor/mob.css | 9 - .styles/sheets/actor/mvp.css | 236 ------------- .styles/sheets/actor/sync.css | 19 - .styles/sheets/actor/sync/basic.css | 33 -- .styles/sheets/items/aspect.css | 14 - .styles/sheets/items/pet.css | 14 - .styles/sheets/items/spell.css | 14 - .styles/sheets/partials/panel.css | 40 --- .styles/sheets/partials/skill.css | 22 -- .styles/sheets/partials/stat.css | 7 - 14 files changed, 1094 deletions(-) delete mode 100644 .styles/generic.css delete mode 100644 .styles/global/buttons.css delete mode 100644 .styles/global/icons.css delete mode 100644 .styles/root.css delete mode 100644 .styles/sheets/actor/mob.css delete mode 100644 .styles/sheets/actor/mvp.css delete mode 100644 .styles/sheets/actor/sync.css delete mode 100644 .styles/sheets/actor/sync/basic.css delete mode 100644 .styles/sheets/items/aspect.css delete mode 100644 .styles/sheets/items/pet.css delete mode 100644 .styles/sheets/items/spell.css delete mode 100644 .styles/sheets/partials/panel.css delete mode 100644 .styles/sheets/partials/skill.css delete mode 100644 .styles/sheets/partials/stat.css diff --git a/.styles/generic.css b/.styles/generic.css deleted file mode 100644 index b7e854d..0000000 --- a/.styles/generic.css +++ /dev/null @@ -1,69 +0,0 @@ -@import url("https://fonts.googleapis.com/css2?family=Pixelify+Sans&display=swap"); -.dotdungeon > .window-content ::-webkit-scrollbar { - width: 10px; -} -.dotdungeon > .window-content ::-webkit-scrollbar-thumb { - border-radius: 5px; -} -.dotdungeon > .window-content h2, .dotdungeon > .window-content h3, .dotdungeon > .window-content h4, .dotdungeon > .window-content h5, .dotdungeon > .window-content h6 { - all: initial; - display: block; - box-sizing: border-box; - font-family: "Pixelify Sans", sans-serif; - margin: 0; -} -.dotdungeon > .window-content label { - cursor: pointer; -} -.dotdungeon > .window-content button, .dotdungeon > .window-content button:hover { - all: initial; - display: block; - box-sizing: border-box; - font-family: inherit; - cursor: pointer; -} -.dotdungeon > .window-content button:disabled, .dotdungeon > .window-content button:hover:disabled { - cursor: default; -} -.dotdungeon > .window-content input[type=text], -.dotdungeon > .window-content input[type=number], -.dotdungeon > .window-content textarea { - padding: 5px 7px; - border-width: 2px; - border-radius: 4px; - border-style: solid; - border-color: rgba(0, 0, 0, 0.4); - background-color: rgba(0, 0, 0, 0.1); - font-family: sans-serif; -} -.dotdungeon > .window-content input[type=text]:focus, .dotdungeon > .window-content input[type=text]:active, -.dotdungeon > .window-content input[type=number]:focus, -.dotdungeon > .window-content input[type=number]:active, -.dotdungeon > .window-content textarea:focus, -.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; -} -.dotdungeon > .window-content select :disabled, .dotdungeon > .window-content select:hover :disabled { - cursor: default; -} - -.dotdungeon.dotdungeon.dotdungeon.dotdungeon { - container-type: size; -} -.dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content { - padding: 0; - background: #f2f2f2; -} -.dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content .debug-data { - opacity: 60%; - font-family: sans-serif; - 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;;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/global/buttons.css b/.styles/global/buttons.css deleted file mode 100644 index 97e931c..0000000 --- a/.styles/global/buttons.css +++ /dev/null @@ -1,52 +0,0 @@ -.dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button { - border-radius: 4px; - box-sizing: border-box; - border-style: solid; - border-color: transparent; - border-width: 2px; - border-radius: 4px; - transition: 400ms; - padding: 4px 8px; - display: inline-flex; - justify-content: center; - align-items: center; - gap: 4px; -} -.dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.confirm { - background: #048A81; - color: white; -} -.dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.confirm:hover, .dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.confirm:focus-visible { - background: transparent; - color: #048A81; - border-color: #048A81; -} -.dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.neutral { - background: #007ACC; - color: white; -} -.dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.neutral:hover, .dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.neutral:focus-visible { - background: transparent; - color: #007ACC; - border-color: #007ACC; -} -.dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.danger { - background: #960200; - color: white; -} -.dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.danger:hover, .dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.danger:focus-visible { - background: transparent; - color: #960200; - border-color: #960200; -} -.dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.reduced-padding { - padding: 2px 4px; -} -.dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.equal-padding { - padding: 4px 4px; -} -.dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.equal-padding.reduced-padding { - padding: 2px 2px; -} - -/*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%22../../styles/global/buttons.scss%22,%22../../styles/_vars.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AAGC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC,YCXc;EDYd,OCXe;;ADYf;EACC;EACA,OCfa;EDgBb,cChBa;;ADoBf;EACC,YClBc;EDmBd,OClBe;;ADmBf;EACC;EACA,OCtBa;EDuBb,cCvBa;;AD2Bf;EACC,YCzBa;ED0Bb,OCzBc;;AD0Bd;EACC;EACA,OC7BY;ED8BZ,cC9BY;;ADkCd;EACC;;AAID;EACC;;AACA;EACC%22,%22file%22:%22buttons.css%22%7D */ diff --git a/.styles/global/icons.css b/.styles/global/icons.css deleted file mode 100644 index d71fbc5..0000000 --- a/.styles/global/icons.css +++ /dev/null @@ -1,35 +0,0 @@ -.dotdungeon.dotdungeon.dotdungeon.dotdungeon .icon { - display: inline-flex; - justify-content: center; - align-items: center; -} -.dotdungeon.dotdungeon.dotdungeon.dotdungeon .icon--12 { - height: 12px; - width: 12px; -} -.dotdungeon.dotdungeon.dotdungeon.dotdungeon .icon--14 { - height: 14px; - width: 14px; -} -.dotdungeon.dotdungeon.dotdungeon.dotdungeon .icon--16 { - height: 16px; - width: 16px; -} -.dotdungeon.dotdungeon.dotdungeon.dotdungeon .icon--18 { - height: 18px; - width: 18px; -} -.dotdungeon.dotdungeon.dotdungeon.dotdungeon .icon--20 { - height: 20px; - width: 20px; -} -.dotdungeon.dotdungeon.dotdungeon.dotdungeon .icon--22 { - height: 22px; - width: 22px; -} -.dotdungeon.dotdungeon.dotdungeon.dotdungeon .icon--24 { - height: 24px; - width: 24px; -} - -/*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%22../../styles/global/icons.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AAGC;EACC;EACA;EACA;;AAIC;EACC;EACA;;AAFD;EACC;EACA;;AAFD;EACC;EACA;;AAFD;EACC;EACA;;AAFD;EACC;EACA;;AAFD;EACC;EACA;;AAFD;EACC;EACA%22,%22file%22:%22icons.css%22%7D */ diff --git a/.styles/root.css b/.styles/root.css deleted file mode 100644 index fd950aa..0000000 --- a/.styles/root.css +++ /dev/null @@ -1,530 +0,0 @@ -@import url("https://fonts.googleapis.com/css2?family=Pixelify+Sans&display=swap"); -.dotdungeon > .window-content ::-webkit-scrollbar { - width: 10px; -} -.dotdungeon > .window-content ::-webkit-scrollbar-thumb { - border-radius: 5px; -} -.dotdungeon > .window-content h2, .dotdungeon > .window-content h3, .dotdungeon > .window-content h4, .dotdungeon > .window-content h5, .dotdungeon > .window-content h6 { - all: initial; - display: block; - box-sizing: border-box; - font-family: "Pixelify Sans", sans-serif; - margin: 0; -} -.dotdungeon > .window-content label { - cursor: pointer; -} -.dotdungeon > .window-content button, .dotdungeon > .window-content button:hover { - all: initial; - display: block; - box-sizing: border-box; - font-family: inherit; - cursor: pointer; -} -.dotdungeon > .window-content button:disabled, .dotdungeon > .window-content button:hover:disabled { - cursor: default; -} -.dotdungeon > .window-content input[type=text], -.dotdungeon > .window-content input[type=number], -.dotdungeon > .window-content textarea { - padding: 5px 7px; - border-width: 2px; - border-radius: 4px; - border-style: solid; - border-color: rgba(0, 0, 0, 0.4); - background-color: rgba(0, 0, 0, 0.1); - font-family: sans-serif; -} -.dotdungeon > .window-content input[type=text]:focus, .dotdungeon > .window-content input[type=text]:active, -.dotdungeon > .window-content input[type=number]:focus, -.dotdungeon > .window-content input[type=number]:active, -.dotdungeon > .window-content textarea:focus, -.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; -} -.dotdungeon > .window-content select :disabled, .dotdungeon > .window-content select:hover :disabled { - cursor: default; -} - -.dotdungeon.dotdungeon.dotdungeon.dotdungeon { - container-type: size; -} -.dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content { - padding: 0; - background: #f2f2f2; -} -.dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content .debug-data { - opacity: 60%; - font-family: sans-serif; - word-break: break-all; -} - -.dotdungeon.dotdungeon.dotdungeon.dotdungeon .icon { - display: inline-flex; - justify-content: center; - align-items: center; -} -.dotdungeon.dotdungeon.dotdungeon.dotdungeon .icon--12 { - height: 12px; - width: 12px; -} -.dotdungeon.dotdungeon.dotdungeon.dotdungeon .icon--14 { - height: 14px; - width: 14px; -} -.dotdungeon.dotdungeon.dotdungeon.dotdungeon .icon--16 { - height: 16px; - width: 16px; -} -.dotdungeon.dotdungeon.dotdungeon.dotdungeon .icon--18 { - height: 18px; - width: 18px; -} -.dotdungeon.dotdungeon.dotdungeon.dotdungeon .icon--20 { - height: 20px; - width: 20px; -} -.dotdungeon.dotdungeon.dotdungeon.dotdungeon .icon--22 { - height: 22px; - width: 22px; -} -.dotdungeon.dotdungeon.dotdungeon.dotdungeon .icon--24 { - height: 24px; - width: 24px; -} - -.dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button { - border-radius: 4px; - box-sizing: border-box; - border-style: solid; - border-color: transparent; - border-width: 2px; - border-radius: 4px; - transition: 400ms; - padding: 4px 8px; - display: inline-flex; - justify-content: center; - align-items: center; - gap: 4px; -} -.dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.confirm { - background: #048A81; - color: white; -} -.dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.confirm:hover, .dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.confirm:focus-visible { - background: transparent; - color: #048A81; - border-color: #048A81; -} -.dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.neutral { - background: #007ACC; - color: white; -} -.dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.neutral:hover, .dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.neutral:focus-visible { - background: transparent; - color: #007ACC; - border-color: #007ACC; -} -.dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.danger { - background: #960200; - color: white; -} -.dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.danger:hover, .dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.danger:focus-visible { - background: transparent; - color: #960200; - border-color: #960200; -} -.dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.reduced-padding { - padding: 2px 4px; -} -.dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.equal-padding { - padding: 4px 4px; -} -.dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.equal-padding.reduced-padding { - padding: 2px 2px; -} - -.dotdungeon .stat { - display: flex; - flex-direction: column; - align-items: center; -} -.dotdungeon .skill { - display: flex; - flex-direction: row; - justify-content: center; - align-items: center; - width: 100%; - gap: 8px; -} -.dotdungeon .skill-group { - display: flex; - flex-direction: column; - justify-content: center; - gap: 4px; -} -.dotdungeon .skill-group h3 { - margin-top: 8px; - font-size: 1.2em; - width: 100%; - text-align: center; -} - -.dotdungeon .panel { - display: grid; - grid-template-rows: min-content 1fr; - border: 2px solid black; -} -.dotdungeon .panel__header { - background: black; - display: flex; - flex-direction: row; - justify-content: center; - align-items: center; - gap: 4px; - padding: 0 4px; -} -.dotdungeon .panel__header h2 { - all: initial; - display: block; - box-sizing: border-box; - color: white; - flex-grow: 1; - font-family: "Pixelify Sans", sans-serif; - font-size: 20px; -} -.dotdungeon .panel__header .icon { - height: 20px; - width: 20px; - aspect-ratio: 1/1; -} -.dotdungeon .panel__content { - padding: 8px; -} - -@container (max-width: 400px) { - .dotdungeon .panel__header .icon { - display: none; - visibility: hidden; - } -} -.dotdungeon .actor--pc { - display: grid; - grid-template-areas: "profile stats stats" "profile skills skills" "sync skills skills" "spells weapons aspect" "spells weapons aspect" "backpack roles mounts" "backpack roles mounts" "pets storage storage" "pets storage storage"; - grid-template-columns: repeat(3, minmax(0, 1fr)); - grid-template-rows: min-content 1fr repeat(7, min-content); - padding: 4px; - gap: 4px; -} -.dotdungeon .actor--pc details { - border-radius: 4px; - background-color: rgba(0, 0, 0, 0.2); - padding: 4px; - margin-bottom: 8px; -} -.dotdungeon .actor--pc details summary { - cursor: pointer; -} -.dotdungeon .actor--pc details[open] .expanded-rotate { - transform: rotate(90deg); -} -.dotdungeon .actor--pc .panel--profile { - grid-area: profile; -} -.dotdungeon .actor--pc .panel--profile .avatar { - width: 100%; - aspect-ratio: 1/1; -} -.dotdungeon .actor--pc .panel--profile label, .dotdungeon .actor--pc .panel--profile input { - width: 100%; -} -.dotdungeon .actor--pc .panel--stats { - grid-area: stats; -} -.dotdungeon .actor--pc .panel--stats .panel__content { - display: flex; - flex-direction: row; - gap: 8px; - justify-content: space-evenly; - padding: 8px; - flex-wrap: wrap; -} -.dotdungeon .actor--pc .panel--skills { - grid-area: skills; -} -.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)); -} -.dotdungeon .actor--pc .panel--backpack { - grid-area: backpack; -} -.dotdungeon .actor--pc .panel--backpack .row { - display: flex; - flex-direction: row; - align-items: center; -} -.dotdungeon .actor--pc .panel--backpack .col { - display: flex; - flex-direction: column; -} -.dotdungeon .actor--pc .panel--backpack .grow { - flex-grow: 1; -} -.dotdungeon .actor--pc .panel--backpack .panel__content { - display: flex; - flex-direction: column; - gap: 4px; -} -.dotdungeon .actor--pc .panel--backpack .bytes-input, -.dotdungeon .actor--pc .panel--backpack .supplies-count, -.dotdungeon .actor--pc .panel--backpack .materials-count { - width: 25%; - text-align: center; -} -.dotdungeon .actor--pc .panel--backpack textarea { - resize: vertical; -} -.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--sync .sync__input { - width: 80px; - margin: 3px 5px; -} -.dotdungeon .actor--pc .panel--aspect { - grid-area: aspect; -} -.dotdungeon .actor--pc .panel--aspect .panel__content { - display: grid; - grid-template-rows: min-content min-content; - gap: 4px; - text-align: center; -} -.dotdungeon .actor--pc .panel--aspect .panel__content textarea { - resize: vertical; -} -.dotdungeon .actor--pc .panel--aspect .aspect__used { - display: flex; - align-items: center; - gap: 4px; -} -.dotdungeon .actor--pc .panel--aspect .aspect__used--input { - margin: 0; -} -.dotdungeon .actor--pc .panel--weapons { - grid-area: weapons; -} -.dotdungeon .actor--pc .panel--weapons .weapon { - margin-top: 4px; - display: flex; - flex-direction: column; - gap: 4px; -} -.dotdungeon .actor--pc .panel--weapons .weapon__name { - display: flex; - justify-content: center; - align-items: center; - flex-direction: column; -} -.dotdungeon .actor--pc .panel--weapons .weapon__name input { - width: 50%; -} -.dotdungeon .actor--pc .panel--weapons .weapon__group { - display: grid; - grid-template-columns: 1fr 1fr; - gap: 4px; -} -.dotdungeon .actor--pc .panel--weapons .weapon__ammo-type, .dotdungeon .actor--pc .panel--weapons .weapon__damage-type { - display: flex; - flex-direction: column; - align-items: center; -} -.dotdungeon .actor--pc .panel--weapons .weapon__is-scoped, .dotdungeon .actor--pc .panel--weapons .weapon__is-ranged { - display: flex; - flex-direction: row; - align-items: center; - justify-content: center; -} -.dotdungeon .actor--pc .panel--roles { - grid-area: roles; -} -.dotdungeon .actor--pc .panel--roles .panel__content { - display: grid; - grid-template-rows: repeat(4, min-content); - height: 100%; - gap: 4px; -} -.dotdungeon .actor--pc .panel--roles .panel__content textarea { - resize: vertical; -} -.dotdungeon .actor--pc .panel--spells { - grid-area: spells; -} -.dotdungeon .actor--pc .panel--spells .spell { - display: flex; - flex-direction: column; - gap: 4px; -} -.dotdungeon .actor--pc .panel--spells .spell .placeholder { - opacity: 75%; -} -.dotdungeon .actor--pc .panel--spells .panel__content { - display: flex; - gap: 4px; - flex-direction: column; -} -.dotdungeon .actor--pc .panel--mounts { - grid-area: mounts; -} -.dotdungeon .actor--pc .panel--pets { - grid-area: pets; -} -.dotdungeon .actor--pc .panel--pets .panel__content { - display: grid; - grid-template-rows: min-content min-content; - gap: 4px; -} -.dotdungeon .actor--pc .panel--pets .panel__content textarea { - resize: vertical; -} -.dotdungeon .actor--pc .panel--storage { - grid-area: storage; -} -.dotdungeon .actor--pc .actions { - display: flex; - flex-direction: row; - justify-content: end; - gap: 4px; -} -.dotdungeon .actor--pc .panel__content .center { - text-align: center; -} - -@container (max-width: 620px) { - .dotdungeon .actor--pc { - grid-template-columns: repeat(2, minmax(0, 1fr)); - grid-template-rows: repeat(15, min-content); - grid-template-areas: "profile stats" "profile skills" "sync skills" "weapons skills" "weapons skills" "backpack aspect" "backpack aspect" "backpack roles" "backpack roles" "backpack roles" "backpack spells" "pets spells" "pets storage" "mounts storage" "mounts storage"; - } - .dotdungeon .actor--pc .panel--stats .panel__content { - flex-wrap: wrap; - } - .dotdungeon .actor--pc .panel--skills .panel__content { - display: flex; - flex-direction: column; - } -} -@container (max-width: 400px) { - .dotdungeon .actor--pc { - grid-template-columns: 1fr; - grid-template-rows: repeat(12, min-content); - grid-template-areas: "profile" "stats" "sync" "skills" "aspect" "roles" "backpack" "weapons" "spells" "mounts" "pets" "storage"; - } - .dotdungeon .actor--pc .panel--skills .skill { - flex-direction: column; - } -} -.dotdungeon .actor--mob { - padding: 4px; -} -.dotdungeon .actor--mob textarea { - width: 100%; - resize: vertical; -} - -.dotdungeon .actor--basic-sync { - display: flex; - justify-content: center; - align-items: center; - flex-direction: column; - gap: 4px; -} -.dotdungeon .actor--basic-sync label { - display: flex; - flex-direction: column; - align-items: center; -} -.dotdungeon .actor--basic-sync .sync-input { - width: 30%; - text-align: center; -} -.dotdungeon .actor--basic-sync .name-input { - width: 60%; - text-align: center; -} -.dotdungeon--sync-sheet header .configure-token { - display: none; - visibility: hidden; -} - -@container (max-width: 300px) { - .dotdungeon--sync-sheet header .configure-sheet { - display: none; - visibility: hidden; - } -} -.dotdungeon .item--aspect { - padding: 4px; -} -.dotdungeon .item--aspect input[type=text] { - font-size: 1.5em; - height: 1.5em; - width: 100%; -} -.dotdungeon .item--aspect textarea { - width: 100%; - resize: vertical; -} - -.dotdungeon .item--spell { - padding: 4px; -} -.dotdungeon .item--spell input[type=text] { - font-size: 1.5em; - height: 1.5em; - width: 100%; -} -.dotdungeon .item--spell textarea { - width: 100%; - resize: vertical; -} - -.dotdungeon .item--pet { - padding: 4px; -} -.dotdungeon .item--pet input[type=text] { - font-size: 1.5em; - height: 1.5em; - width: 100%; -} -.dotdungeon .item--pet textarea { - width: 100%; - 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/mob.scss%22,%22../styles/sheets/actor/sync/basic.scss%22,%22../styles/sheets/items/aspect.scss%22,%22../styles/sheets/items/spell.scss%22,%22../styles/sheets/items/pet.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;;AAKD;EACC;EACA;EACA;;AAEA;EACC;;AAKJ;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;;AAIF;EACC;EACA;EACA;;AAGF;EACC;;AAED;EACC;;AAEA;EACC;EACA;EACA;;AAEA;EACC;;AAIH;EACC;;AAIF;EACC;EACA;EACA;EACA;;AAIA;EACC;;;AD9PF;ECsQC;IACC;IACA;IACA,qBACC;;EAkBC;IACC;;EAKD;IACC;IACA;;;AD9RL;ECwSC;IACC;IACA;IACA,qBACC;;EAeC;IACC;;;ACjUN;EACC;;AAEA;EACC;EACA;;;ACJD;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;;AAGD;EACC;EACA;;AAGD;EACC;EACA;;AAMA;EACC;EACA;;;AHlBH;EG4BG;IACC;IACA;;;ACzCL;EACC;;AAEA;EACC;EACA;EACA;;AAGD;EACC;EACA;;;ACXF;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/mob.css b/.styles/sheets/actor/mob.css deleted file mode 100644 index 0764af5..0000000 --- a/.styles/sheets/actor/mob.css +++ /dev/null @@ -1,9 +0,0 @@ -.dotdungeon .actor--mob { - padding: 4px; -} -.dotdungeon .actor--mob textarea { - width: 100%; - resize: vertical; -} - -/*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%22../../../styles/sheets/actor/mob.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AAEA;EACC;;AAEA;EACC;EACA%22,%22file%22:%22mob.css%22%7D */ diff --git a/.styles/sheets/actor/mvp.css b/.styles/sheets/actor/mvp.css deleted file mode 100644 index 0eedafc..0000000 --- a/.styles/sheets/actor/mvp.css +++ /dev/null @@ -1,236 +0,0 @@ -.dotdungeon .actor--pc { - display: grid; - grid-template-areas: "profile stats stats" "profile skills skills" "sync skills skills" "spells weapons aspect" "spells weapons aspect" "backpack roles mounts" "backpack roles mounts" "pets storage storage" "pets storage storage"; - grid-template-columns: repeat(3, minmax(0, 1fr)); - grid-template-rows: min-content 1fr repeat(7, min-content); - padding: 4px; - gap: 4px; -} -.dotdungeon .actor--pc details { - border-radius: 4px; - background-color: rgba(0, 0, 0, 0.2); - padding: 4px; - margin-bottom: 8px; -} -.dotdungeon .actor--pc details summary { - cursor: pointer; -} -.dotdungeon .actor--pc details[open] .expanded-rotate { - transform: rotate(90deg); -} -.dotdungeon .actor--pc .panel--profile { - grid-area: profile; -} -.dotdungeon .actor--pc .panel--profile .avatar { - width: 100%; - aspect-ratio: 1/1; -} -.dotdungeon .actor--pc .panel--profile label, .dotdungeon .actor--pc .panel--profile input { - width: 100%; -} -.dotdungeon .actor--pc .panel--stats { - grid-area: stats; -} -.dotdungeon .actor--pc .panel--stats .panel__content { - display: flex; - flex-direction: row; - gap: 8px; - justify-content: space-evenly; - padding: 8px; - flex-wrap: wrap; -} -.dotdungeon .actor--pc .panel--skills { - grid-area: skills; -} -.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)); -} -.dotdungeon .actor--pc .panel--backpack { - grid-area: backpack; -} -.dotdungeon .actor--pc .panel--backpack .row { - display: flex; - flex-direction: row; - align-items: center; -} -.dotdungeon .actor--pc .panel--backpack .col { - display: flex; - flex-direction: column; -} -.dotdungeon .actor--pc .panel--backpack .grow { - flex-grow: 1; -} -.dotdungeon .actor--pc .panel--backpack .panel__content { - display: flex; - flex-direction: column; - gap: 4px; -} -.dotdungeon .actor--pc .panel--backpack .bytes-input, -.dotdungeon .actor--pc .panel--backpack .supplies-count, -.dotdungeon .actor--pc .panel--backpack .materials-count { - width: 25%; - text-align: center; -} -.dotdungeon .actor--pc .panel--backpack textarea { - resize: vertical; -} -.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--sync .sync__input { - width: 80px; - margin: 3px 5px; -} -.dotdungeon .actor--pc .panel--aspect { - grid-area: aspect; -} -.dotdungeon .actor--pc .panel--aspect .panel__content { - display: grid; - grid-template-rows: min-content min-content; - gap: 4px; - text-align: center; -} -.dotdungeon .actor--pc .panel--aspect .panel__content textarea { - resize: vertical; -} -.dotdungeon .actor--pc .panel--aspect .aspect__used { - display: flex; - align-items: center; - gap: 4px; -} -.dotdungeon .actor--pc .panel--aspect .aspect__used--input { - margin: 0; -} -.dotdungeon .actor--pc .panel--weapons { - grid-area: weapons; -} -.dotdungeon .actor--pc .panel--weapons .weapon { - margin-top: 4px; - display: flex; - flex-direction: column; - gap: 4px; -} -.dotdungeon .actor--pc .panel--weapons .weapon__name { - display: flex; - justify-content: center; - align-items: center; - flex-direction: column; -} -.dotdungeon .actor--pc .panel--weapons .weapon__name input { - width: 50%; -} -.dotdungeon .actor--pc .panel--weapons .weapon__group { - display: grid; - grid-template-columns: 1fr 1fr; - gap: 4px; -} -.dotdungeon .actor--pc .panel--weapons .weapon__ammo-type, .dotdungeon .actor--pc .panel--weapons .weapon__damage-type { - display: flex; - flex-direction: column; - align-items: center; -} -.dotdungeon .actor--pc .panel--weapons .weapon__is-scoped, .dotdungeon .actor--pc .panel--weapons .weapon__is-ranged { - display: flex; - flex-direction: row; - align-items: center; - justify-content: center; -} -.dotdungeon .actor--pc .panel--roles { - grid-area: roles; -} -.dotdungeon .actor--pc .panel--roles .panel__content { - display: grid; - grid-template-rows: repeat(4, min-content); - height: 100%; - gap: 4px; -} -.dotdungeon .actor--pc .panel--roles .panel__content textarea { - resize: vertical; -} -.dotdungeon .actor--pc .panel--spells { - grid-area: spells; -} -.dotdungeon .actor--pc .panel--spells .spell { - display: flex; - flex-direction: column; - gap: 4px; -} -.dotdungeon .actor--pc .panel--spells .spell .placeholder { - opacity: 75%; -} -.dotdungeon .actor--pc .panel--spells .panel__content { - display: flex; - gap: 4px; - flex-direction: column; -} -.dotdungeon .actor--pc .panel--mounts { - grid-area: mounts; -} -.dotdungeon .actor--pc .panel--pets { - grid-area: pets; -} -.dotdungeon .actor--pc .panel--pets .panel__content { - display: grid; - grid-template-rows: min-content min-content; - gap: 4px; -} -.dotdungeon .actor--pc .panel--pets .panel__content textarea { - resize: vertical; -} -.dotdungeon .actor--pc .panel--storage { - grid-area: storage; -} -.dotdungeon .actor--pc .actions { - display: flex; - flex-direction: row; - justify-content: end; - gap: 4px; -} -.dotdungeon .actor--pc .panel__content .center { - text-align: center; -} - -@container (max-width: 620px) { - .dotdungeon .actor--pc { - grid-template-columns: repeat(2, minmax(0, 1fr)); - grid-template-rows: repeat(15, min-content); - grid-template-areas: "profile stats" "profile skills" "sync skills" "weapons skills" "weapons skills" "backpack aspect" "backpack aspect" "backpack roles" "backpack roles" "backpack roles" "backpack spells" "pets spells" "pets storage" "mounts storage" "mounts storage"; - } - .dotdungeon .actor--pc .panel--stats .panel__content { - flex-wrap: wrap; - } - .dotdungeon .actor--pc .panel--skills .panel__content { - display: flex; - flex-direction: column; - } -} -@container (max-width: 400px) { - .dotdungeon .actor--pc { - grid-template-columns: 1fr; - grid-template-rows: repeat(12, min-content); - grid-template-areas: "profile" "stats" "sync" "skills" "aspect" "roles" "backpack" "weapons" "spells" "mounts" "pets" "storage"; - } - .dotdungeon .actor--pc .panel--skills .skill { - flex-direction: column; - } -} - -/*# 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;;AAKD;EACC;EACA;EACA;;AAEA;EACC;;AAKJ;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;;AAIF;EACC;EACA;EACA;;AAGF;EACC;;AAED;EACC;;AAEA;EACC;EACA;EACA;;AAEA;EACC;;AAIH;EACC;;AAIF;EACC;EACA;EACA;EACA;;AAIA;EACC;;;AC9PF;EDsQC;IACC;IACA;IACA,qBACC;;EAkBC;IACC;;EAKD;IACC;IACA;;;AC9RL;EDwSC;IACC;IACA;IACA,qBACC;;EAeC;IACC%22,%22file%22:%22mvp.css%22%7D */ diff --git a/.styles/sheets/actor/sync.css b/.styles/sheets/actor/sync.css deleted file mode 100644 index 83ee62d..0000000 --- a/.styles/sheets/actor/sync.css +++ /dev/null @@ -1,19 +0,0 @@ -.dotdungeon .actor--sync { - display: flex; - justify-content: center; - align-items: center; - flex-direction: column; -} -.dotdungeon .actor--sync .sync-input { - width: 30%; - text-align: center; -} - -@container (max-width: 400px) { - .dotdungeon--sync-sheet header .configure-sheet, - .dotdungeon--sync-sheet header .configure-token { - display: none; - } -} - -/*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%22../../../styles/sheets/actor/sync.scss%22,%22../../../styles/mixins/_breakpoints.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AAGC;EACC;EACA;EACA;EACA;;AAEA;EACC;EACA;;;ACJF;EDaG;AAAA;IAEC%22,%22file%22:%22sync.css%22%7D */ diff --git a/.styles/sheets/actor/sync/basic.css b/.styles/sheets/actor/sync/basic.css deleted file mode 100644 index 297b16a..0000000 --- a/.styles/sheets/actor/sync/basic.css +++ /dev/null @@ -1,33 +0,0 @@ -.dotdungeon .actor--basic-sync { - display: flex; - justify-content: center; - align-items: center; - flex-direction: column; - gap: 4px; -} -.dotdungeon .actor--basic-sync label { - display: flex; - flex-direction: column; - align-items: center; -} -.dotdungeon .actor--basic-sync .sync-input { - width: 30%; - text-align: center; -} -.dotdungeon .actor--basic-sync .name-input { - width: 60%; - text-align: center; -} -.dotdungeon--sync-sheet header .configure-token { - display: none; - visibility: hidden; -} - -@container (max-width: 300px) { - .dotdungeon--sync-sheet header .configure-sheet { - display: none; - visibility: hidden; - } -} - -/*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%22../../../../styles/sheets/actor/sync/basic.scss%22,%22../../../../styles/mixins/_breakpoints.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AAGC;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;;AAGD;EACC;EACA;;AAGD;EACC;EACA;;AAMA;EACC;EACA;;;AClBH;ED4BG;IACC;IACA%22,%22file%22:%22basic.css%22%7D */ diff --git a/.styles/sheets/items/aspect.css b/.styles/sheets/items/aspect.css deleted file mode 100644 index 8572a97..0000000 --- a/.styles/sheets/items/aspect.css +++ /dev/null @@ -1,14 +0,0 @@ -.dotdungeon .item--aspect { - padding: 4px; -} -.dotdungeon .item--aspect input[type=text] { - font-size: 1.5em; - height: 1.5em; - width: 100%; -} -.dotdungeon .item--aspect textarea { - width: 100%; - resize: vertical; -} - -/*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%22../../../styles/sheets/items/aspect.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AAEA;EACC;;AAEA;EACC;EACA;EACA;;AAGD;EACC;EACA%22,%22file%22:%22aspect.css%22%7D */ diff --git a/.styles/sheets/items/pet.css b/.styles/sheets/items/pet.css deleted file mode 100644 index 6b0b96c..0000000 --- a/.styles/sheets/items/pet.css +++ /dev/null @@ -1,14 +0,0 @@ -.dotdungeon .item--pet { - padding: 4px; -} -.dotdungeon .item--pet input[type=text] { - font-size: 1.5em; - height: 1.5em; - width: 100%; -} -.dotdungeon .item--pet textarea { - width: 100%; - resize: vertical; -} - -/*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%22../../../styles/sheets/items/pet.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AAEA;EACC;;AAEA;EACC;EACA;EACA;;AAGD;EACC;EACA%22,%22file%22:%22pet.css%22%7D */ diff --git a/.styles/sheets/items/spell.css b/.styles/sheets/items/spell.css deleted file mode 100644 index 7747e6e..0000000 --- a/.styles/sheets/items/spell.css +++ /dev/null @@ -1,14 +0,0 @@ -.dotdungeon .item--spell { - padding: 4px; -} -.dotdungeon .item--spell input[type=text] { - font-size: 1.5em; - height: 1.5em; - width: 100%; -} -.dotdungeon .item--spell textarea { - width: 100%; - resize: vertical; -} - -/*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%22../../../styles/sheets/items/spell.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AAEA;EACC;;AAEA;EACC;EACA;EACA;;AAGD;EACC;EACA%22,%22file%22:%22spell.css%22%7D */ diff --git a/.styles/sheets/partials/panel.css b/.styles/sheets/partials/panel.css deleted file mode 100644 index 42aa311..0000000 --- a/.styles/sheets/partials/panel.css +++ /dev/null @@ -1,40 +0,0 @@ -.dotdungeon .panel { - display: grid; - grid-template-rows: min-content 1fr; - border: 2px solid black; -} -.dotdungeon .panel__header { - background: black; - display: flex; - flex-direction: row; - justify-content: center; - align-items: center; - gap: 4px; - padding: 0 4px; -} -.dotdungeon .panel__header h2 { - all: initial; - display: block; - box-sizing: border-box; - color: white; - flex-grow: 1; - font-family: "Pixelify Sans", sans-serif; - font-size: 20px; -} -.dotdungeon .panel__header .icon { - height: 20px; - width: 20px; - aspect-ratio: 1/1; -} -.dotdungeon .panel__content { - padding: 8px; -} - -@container (max-width: 400px) { - .dotdungeon .panel__header .icon { - display: none; - visibility: hidden; - } -} - -/*# 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;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EClBD;EACA;EACA;EDkBE;EACA;EACA,aErBU;EFsBV;;AAGD;EAEC,QADO;EAEP,OAFO;EAGP;;AAIF;EACC;;;AG7BD;EHkCA;IACC;IACA%22,%22file%22:%22panel.css%22%7D */ diff --git a/.styles/sheets/partials/skill.css b/.styles/sheets/partials/skill.css deleted file mode 100644 index 3d34727..0000000 --- a/.styles/sheets/partials/skill.css +++ /dev/null @@ -1,22 +0,0 @@ -.dotdungeon .skill { - display: flex; - flex-direction: row; - justify-content: center; - align-items: center; - width: 100%; - gap: 8px; -} -.dotdungeon .skill-group { - display: flex; - flex-direction: column; - justify-content: center; - gap: 4px; -} -.dotdungeon .skill-group h3 { - margin-top: 8px; - font-size: 1.2em; - width: 100%; - 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;;AAEA;EACC;EACA;EACA;EACA%22,%22file%22:%22skill.css%22%7D */ diff --git a/.styles/sheets/partials/stat.css b/.styles/sheets/partials/stat.css deleted file mode 100644 index 5973333..0000000 --- a/.styles/sheets/partials/stat.css +++ /dev/null @@ -1,7 +0,0 @@ -.dotdungeon .stat { - display: flex; - flex-direction: column; - align-items: center; -} - -/*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%22../../../styles/sheets/partials/stat.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AAAA;EACC;EACA;EACA%22,%22file%22:%22stat.css%22%7D */ From e858be6fa2f6efbecde15916c4f413dae2525b1f Mon Sep 17 00:00:00 2001 From: Oliver-Akins Date: Thu, 1 Feb 2024 22:07:08 -0700 Subject: [PATCH 018/232] Add the .styles folder to the gitignore --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index cf6fbe1..1c77558 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ node_modules/ *.tmp *.bak.* -references.txt \ No newline at end of file +references.txt +.styles/ \ No newline at end of file From dabbc4e85028296167afc828574f1b2a388ef0fb Mon Sep 17 00:00:00 2001 From: Oliver-Akins Date: Thu, 1 Feb 2024 22:08:25 -0700 Subject: [PATCH 019/232] Cleanup files --- How-to-release.md | 7 ------- System-Notes | 2 -- TODO | 29 ----------------------------- 3 files changed, 38 deletions(-) delete mode 100644 How-to-release.md delete mode 100644 System-Notes delete mode 100644 TODO diff --git a/How-to-release.md b/How-to-release.md deleted file mode 100644 index dceaddc..0000000 --- a/How-to-release.md +++ /dev/null @@ -1,7 +0,0 @@ -1. Make sure that the `version` is the correct version number. -2. Copy the `system.json` in order to make the version-specific manifest -3. Update the `download` to point to the version-specific file from Github -4. Compress all of the necessary files and folders -5. Create the release on Github with the correct tag being created -6. Upload the compressed files and the version-specific manifest file -7. Save the release as draft, prerelease, or stable (pre-releases won't be caught in the `/latest` URL that is used to check for updates) \ No newline at end of file diff --git a/System-Notes b/System-Notes deleted file mode 100644 index e61ae94..0000000 --- a/System-Notes +++ /dev/null @@ -1,2 +0,0 @@ -- "Resources" and "Supplies" are used interchangeably in the book -- \ No newline at end of file diff --git a/TODO b/TODO deleted file mode 100644 index be81a47..0000000 --- a/TODO +++ /dev/null @@ -1,29 +0,0 @@ -## MVP: -- Text-box PC Character sheet -- PC Data Structure -- Dice Rolling - -## Full Release -- Data Models: - - Actors: - - NPC - - PC - - Mob - - Items: - - Weapons - - Armour - - Equipment - - Foil - - Pet - - Transportation - - Structure - - Service - - Legendary Items - - Spells - - Aspects - - Status - - Roles -- Character Sheet: - - PC - - NPC - - Mob \ No newline at end of file From e8621656898df55fc6378c6bb97a88d0ceed8e3e Mon Sep 17 00:00:00 2001 From: Oliver-Akins Date: Fri, 2 Feb 2024 19:07:07 -0700 Subject: [PATCH 020/232] Tweak the design so that Drops and a Description can be fit into the sheet --- module/sheets/MobSheet.mjs | 6 ++- styles/sheets/actor/mob/mob.scss | 57 ++++++++++++++++------------- templates/actors/mobs/main.hbs | 63 ++++++++++++++++++++------------ 3 files changed, 75 insertions(+), 51 deletions(-) diff --git a/module/sheets/MobSheet.mjs b/module/sheets/MobSheet.mjs index 2b359df..e86cd5f 100644 --- a/module/sheets/MobSheet.mjs +++ b/module/sheets/MobSheet.mjs @@ -7,8 +7,8 @@ export class MobSheet extends GenericActorSheet { super.defaultOptions, { template: `systems/dotdungeon/templates/actors/mobs/main.hbs`, - width: 300, - height: 360, + width: 750, + height: 390, } ); opts.classes.push(`dotdungeon`); @@ -34,6 +34,8 @@ export class MobSheet extends GenericActorSheet { ctx.computed = {}; + // Compute rolls here + console.log(actor.uuid, `context:`, ctx) return ctx; }; diff --git a/styles/sheets/actor/mob/mob.scss b/styles/sheets/actor/mob/mob.scss index 62c1f3b..0a0f68c 100644 --- a/styles/sheets/actor/mob/mob.scss +++ b/styles/sheets/actor/mob/mob.scss @@ -3,21 +3,20 @@ .dotdungeon .actor--mob { --gap: 8px; - --avatar-size: 80px; + --avatar-size: 100px; --row-height: calc((var(--avatar-size) - var(--gap)) / 2); padding: var(--gap); display: grid; - grid-template-columns: var(--avatar-size) 1fr 1fr; - grid-template-rows: repeat(6, var(--row-height)) minmax(var(--row-height), 1fr); + grid-template-columns: var(--avatar-size) repeat(4, minmax(0, 1fr)); + grid-template-rows: repeat(5, var(--row-height)) minmax(var(--row-height), 1fr); gap: var(--gap); grid-template-areas: - "avatar . ." - "avatar . ." - "dice . ." - "dice . ." - "dice . ." - "dice stunts stunts" - "dice stunts stunts"; + "avatar . . . ." + "avatar . . . ." + "dice . . . ." + "dice description description stunts stunts" + "dice description description stunts stunts" + "dice description description stunts stunts"; label, .dice { border: 2px solid black; @@ -49,6 +48,8 @@ text-align: right; border: none; background: none; + border-radius: 0; + border-bottom: 1px solid black; &:focus, &:focus-visible { box-shadow: none; } @@ -63,6 +64,24 @@ grid-column: span 2; } + .mask-textarea { + display: flex; + flex-direction: column; + transition: all ease-in-out 50ms; + + &:focus-within { + transform: scale(102%); + } + + textarea { + flex-grow: 1; + resize: none; + border: none; + box-shadow: none; + background: none; + } + } + // Area-specific stylings @@ -95,21 +114,9 @@ .stunts { grid-area: stunts; - display: flex; - flex-direction: column; - transition: all ease-in-out 50ms; - - &:focus-within { - transform: scale(102%); - } - - textarea { - flex-grow: 1; - resize: none; - border: none; - box-shadow: none; - background: none; - } + } + .description { + grid-area: description; } .avatar { diff --git a/templates/actors/mobs/main.hbs b/templates/actors/mobs/main.hbs index 3dedb74..d5b7432 100644 --- a/templates/actors/mobs/main.hbs +++ b/templates/actors/mobs/main.hbs @@ -22,20 +22,15 @@ value="{{system.bytes}}" > -
- Dice: - - - -
- -
+ - -