diff --git a/assets/icons/dice/adv/d10.svg b/assets/icons/dice/adv/d10.svg new file mode 100644 index 00000000..4dc6a6f9 --- /dev/null +++ b/assets/icons/dice/adv/d10.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/assets/icons/dice/adv/d12.svg b/assets/icons/dice/adv/d12.svg new file mode 100644 index 00000000..f9cf1301 --- /dev/null +++ b/assets/icons/dice/adv/d12.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/icons/dice/adv/d20.svg b/assets/icons/dice/adv/d20.svg new file mode 100644 index 00000000..098d3131 --- /dev/null +++ b/assets/icons/dice/adv/d20.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/assets/icons/dice/adv/d4.svg b/assets/icons/dice/adv/d4.svg new file mode 100644 index 00000000..e52c5f46 --- /dev/null +++ b/assets/icons/dice/adv/d4.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/icons/dice/adv/d6.svg b/assets/icons/dice/adv/d6.svg new file mode 100644 index 00000000..5ea7ebc1 --- /dev/null +++ b/assets/icons/dice/adv/d6.svg @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/assets/icons/dice/adv/d8.svg b/assets/icons/dice/adv/d8.svg new file mode 100644 index 00000000..aa733008 --- /dev/null +++ b/assets/icons/dice/adv/d8.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/assets/icons/dice/default/d10.svg b/assets/icons/dice/default/d10.svg new file mode 100644 index 00000000..cdca9728 --- /dev/null +++ b/assets/icons/dice/default/d10.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/dice/default/d12.svg b/assets/icons/dice/default/d12.svg new file mode 100644 index 00000000..e6271a75 --- /dev/null +++ b/assets/icons/dice/default/d12.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/dice/default/d20.svg b/assets/icons/dice/default/d20.svg new file mode 100644 index 00000000..4d3ac16e --- /dev/null +++ b/assets/icons/dice/default/d20.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/assets/icons/dice/default/d4.svg b/assets/icons/dice/default/d4.svg new file mode 100644 index 00000000..db5ad410 --- /dev/null +++ b/assets/icons/dice/default/d4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/dice/default/d6.svg b/assets/icons/dice/default/d6.svg new file mode 100644 index 00000000..6bc98c66 --- /dev/null +++ b/assets/icons/dice/default/d6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/dice/default/d8.svg b/assets/icons/dice/default/d8.svg new file mode 100644 index 00000000..edf35cff --- /dev/null +++ b/assets/icons/dice/default/d8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/dice/disadv/d10.svg b/assets/icons/dice/disadv/d10.svg new file mode 100644 index 00000000..af4d0d19 --- /dev/null +++ b/assets/icons/dice/disadv/d10.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/assets/icons/dice/disadv/d12.svg b/assets/icons/dice/disadv/d12.svg new file mode 100644 index 00000000..75a7073c --- /dev/null +++ b/assets/icons/dice/disadv/d12.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/icons/dice/disadv/d20.svg b/assets/icons/dice/disadv/d20.svg new file mode 100644 index 00000000..e4130440 --- /dev/null +++ b/assets/icons/dice/disadv/d20.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/assets/icons/dice/disadv/d4.svg b/assets/icons/dice/disadv/d4.svg new file mode 100644 index 00000000..3ec74176 --- /dev/null +++ b/assets/icons/dice/disadv/d4.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/icons/dice/disadv/d6.svg b/assets/icons/dice/disadv/d6.svg new file mode 100644 index 00000000..7e79e2ed --- /dev/null +++ b/assets/icons/dice/disadv/d6.svg @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/assets/icons/dice/disadv/d8.svg b/assets/icons/dice/disadv/d8.svg new file mode 100644 index 00000000..999d818f --- /dev/null +++ b/assets/icons/dice/disadv/d8.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/assets/icons/dice/fear/d10.svg b/assets/icons/dice/fear/d10.svg new file mode 100644 index 00000000..80236173 --- /dev/null +++ b/assets/icons/dice/fear/d10.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + diff --git a/assets/icons/dice/fear/d12.svg b/assets/icons/dice/fear/d12.svg new file mode 100644 index 00000000..08841af4 --- /dev/null +++ b/assets/icons/dice/fear/d12.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/icons/dice/fear/d20.svg b/assets/icons/dice/fear/d20.svg new file mode 100644 index 00000000..bd4e12a8 --- /dev/null +++ b/assets/icons/dice/fear/d20.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/assets/icons/dice/fear/d4.svg b/assets/icons/dice/fear/d4.svg new file mode 100644 index 00000000..b641d519 --- /dev/null +++ b/assets/icons/dice/fear/d4.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/icons/dice/fear/d6.svg b/assets/icons/dice/fear/d6.svg new file mode 100644 index 00000000..bcc3fac2 --- /dev/null +++ b/assets/icons/dice/fear/d6.svg @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/assets/icons/dice/fear/d8.svg b/assets/icons/dice/fear/d8.svg new file mode 100644 index 00000000..9a706322 --- /dev/null +++ b/assets/icons/dice/fear/d8.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/assets/icons/dice/hope/d10.svg b/assets/icons/dice/hope/d10.svg new file mode 100644 index 00000000..e5566c21 --- /dev/null +++ b/assets/icons/dice/hope/d10.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + diff --git a/assets/icons/dice/hope/d12.svg b/assets/icons/dice/hope/d12.svg new file mode 100644 index 00000000..a93766fe --- /dev/null +++ b/assets/icons/dice/hope/d12.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/icons/dice/hope/d20.svg b/assets/icons/dice/hope/d20.svg new file mode 100644 index 00000000..bb87a31e --- /dev/null +++ b/assets/icons/dice/hope/d20.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/assets/icons/dice/hope/d4.svg b/assets/icons/dice/hope/d4.svg new file mode 100644 index 00000000..ab238828 --- /dev/null +++ b/assets/icons/dice/hope/d4.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/icons/dice/hope/d6.svg b/assets/icons/dice/hope/d6.svg new file mode 100644 index 00000000..26ea78ea --- /dev/null +++ b/assets/icons/dice/hope/d6.svg @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/assets/icons/dice/hope/d8.svg b/assets/icons/dice/hope/d8.svg new file mode 100644 index 00000000..584b0fdc --- /dev/null +++ b/assets/icons/dice/hope/d8.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/lang/en.json b/lang/en.json index 4c374458..500c032a 100755 --- a/lang/en.json +++ b/lang/en.json @@ -245,7 +245,8 @@ "potentialAdversaries": "Potential Adversaries", "adversaries": "Adversaries" }, - "basics": "Basics" + "basics": "Basics", + "dualityRoll": "Duality Roll" }, "ActionType": { "passive": "Passive", diff --git a/module/applications/dialogs/costSelectionDialog.mjs b/module/applications/dialogs/costSelectionDialog.mjs index cab0d36d..026aac46 100644 --- a/module/applications/dialogs/costSelectionDialog.mjs +++ b/module/applications/dialogs/costSelectionDialog.mjs @@ -30,7 +30,7 @@ export default class CostSelectionDialog extends HandlebarsApplicationMixin(Appl static PARTS = { costSelection: { id: 'costSelection', - template: 'systems/daggerheart/templates/dialogs/costSelection.hbs' + template: 'systems/daggerheart/templates/dialogs/dice-roll/costSelection.hbs' } }; diff --git a/module/applications/dialogs/d20RollDialog.mjs b/module/applications/dialogs/d20RollDialog.mjs index cf620e43..7eaeacb3 100644 --- a/module/applications/dialogs/d20RollDialog.mjs +++ b/module/applications/dialogs/d20RollDialog.mjs @@ -20,10 +20,12 @@ export default class D20RollDialog extends HandlebarsApplicationMixin(Applicatio static DEFAULT_OPTIONS = { tag: 'form', id: 'roll-selection', - classes: ['daggerheart', 'views', 'roll-selection'], + classes: ['daggerheart', 'dialog', 'dh-style', 'views', 'roll-selection'], position: { - width: 400, - height: 'auto' + width: 550 + }, + window: { + icon: 'fa-solid fa-dice' }, actions: { updateIsAdvantage: this.updateIsAdvantage, @@ -37,20 +39,29 @@ export default class D20RollDialog extends HandlebarsApplicationMixin(Applicatio } }; + get title() { + return this.config.title; + } + /** @override */ static PARTS = { - costSelection: { - id: 'costSelection', - template: 'systems/daggerheart/templates/dialogs/costSelection.hbs' + header: { + id: 'header', + template: 'systems/daggerheart/templates/dialogs/dice-roll/header.hbs' }, rollSelection: { id: 'rollSelection', - template: 'systems/daggerheart/templates/dialogs/rollSelection.hbs' + template: 'systems/daggerheart/templates/dialogs/dice-roll/rollSelection.hbs' + }, + costSelection: { + id: 'costSelection', + template: 'systems/daggerheart/templates/dialogs/dice-roll/costSelection.hbs' } }; async _prepareContext(_options) { const context = await super._prepareContext(_options); + context.rollConfig = this.config; context.hasRoll = !!this.config.roll; context.roll = this.roll; context.rollType = this.roll?.constructor.name; @@ -60,6 +71,7 @@ export default class D20RollDialog extends HandlebarsApplicationMixin(Applicatio })); context.selectedExperiences = this.config.experiences; context.advantage = this.config.roll?.advantage; + context.disadvantage = this.config.roll?.disadvantage; context.diceOptions = CONFIG.DH.GENERAL.diceTypes; context.canRoll = true; context.isLite = this.config.roll?.lite; @@ -75,7 +87,6 @@ export default class D20RollDialog extends HandlebarsApplicationMixin(Applicatio } context.extraFormula = this.config.extraFormula; context.formula = this.roll.constructFormula(this.config); - return context; } @@ -96,6 +107,9 @@ export default class D20RollDialog extends HandlebarsApplicationMixin(Applicatio static updateIsAdvantage(_, button) { const advantage = Number(button.dataset.advantage); + this.advantage = advantage === 1; + this.disadvantage = advantage === -1; + this.config.roll.advantage = this.config.roll.advantage === advantage ? 0 : advantage; this.render(); } diff --git a/module/applications/dialogs/damageDialog.mjs b/module/applications/dialogs/damageDialog.mjs index 84709251..442a1491 100644 --- a/module/applications/dialogs/damageDialog.mjs +++ b/module/applications/dialogs/damageDialog.mjs @@ -30,7 +30,7 @@ export default class DamageDialog extends HandlebarsApplicationMixin(Application static PARTS = { damageSelection: { id: 'damageSelection', - template: 'systems/daggerheart/templates/dialogs/damageSelection.hbs' + template: 'systems/daggerheart/templates/dialogs/dice-roll/damageSelection.hbs' } }; diff --git a/module/applications/dialogs/damageSelectionDialog.mjs b/module/applications/dialogs/damageSelectionDialog.mjs index f4f44bc8..5248e81d 100644 --- a/module/applications/dialogs/damageSelectionDialog.mjs +++ b/module/applications/dialogs/damageSelectionDialog.mjs @@ -44,7 +44,7 @@ export default class DamageSelectionDialog extends HandlebarsApplicationMixin(Ap static PARTS = { damageSelection: { id: 'damageSelection', - template: 'systems/daggerheart/templates/dialogs/damageSelection.hbs' + template: 'systems/daggerheart/templates/dialogs/dice-roll/damageSelection.hbs' } }; diff --git a/module/applications/sheets/actors/adversary.mjs b/module/applications/sheets/actors/adversary.mjs index a48c1fa4..c12775b1 100644 --- a/module/applications/sheets/actors/adversary.mjs +++ b/module/applications/sheets/actors/adversary.mjs @@ -85,7 +85,8 @@ export default class AdversarySheet extends DaggerheartSheet(ActorSheetV2) { static async reactionRoll(event) { const config = { event: event, - title: `${this.actor.name} - Reaction Roll`, + title: `Reaction Roll: ${this.actor.name}`, + headerTitle: 'Adversary Reaction Roll', roll: { // modifier: null, type: 'reaction' diff --git a/module/applications/sheets/actors/character.mjs b/module/applications/sheets/actors/character.mjs index e3fa7367..c74455b0 100644 --- a/module/applications/sheets/actors/character.mjs +++ b/module/applications/sheets/actors/character.mjs @@ -490,6 +490,19 @@ export default class CharacterSheet extends DaggerheartSheet(ActorSheetV2) { } } + static async rollAttribute(event, button) { + const abilityLabel = game.i18n.localize(abilities[button.dataset.attribute].label); + const config = { + event: event, + title: `${game.i18n.localize('DAGGERHEART.General.dualityRoll')}: ${this.actor.name}`, + headerTitle: game.i18n.format('DAGGERHEART.Chat.DualityRoll.AbilityCheckTitle', { ability: abilityLabel }), + roll: { + trait: button.dataset.attribute + } + }; + this.document.diceRoll(config); + } + /* -------------------------------------------- */ /* Filter Menus */ /* -------------------------------------------- */ diff --git a/module/data/action/baseAction.mjs b/module/data/action/baseAction.mjs index e752421c..b9faecc4 100644 --- a/module/data/action/baseAction.mjs +++ b/module/data/action/baseAction.mjs @@ -244,7 +244,6 @@ export default class DHBaseAction extends foundry.abstract.DataModel { } if (this.hasRoll) { - console.log(config); const rollConfig = this.prepareRoll(config); config.roll = rollConfig; config = await this.actor.diceRoll(config); diff --git a/styles/application.less b/styles/application.less index 24b6a7d4..412d41e7 100644 --- a/styles/application.less +++ b/styles/application.less @@ -233,81 +233,6 @@ div.daggerheart.views.multiclass { } .roll-dialog-container { - .disadvantage, - .advantage { - border: 2px solid @secondaryAccent; - border-radius: 6px; - display: flex; - align-items: center; - padding: 4px; - margin-bottom: 6px; - - &.selected { - filter: drop-shadow(0px 0px 3px @mainShadow); - } - - input { - border: 0; - } - - button { - flex: 0; - border-radius: 50%; - height: 20px; - width: 20px; - display: flex; - align-items: center; - justify-content: center; - margin: 2px 0 2px 4px; - padding: 12px; - - i { - margin: 0; - } - } - } - - .roll-dialog-experience-container { - display: flex; - align-items: center; - flex-wrap: wrap; - gap: @halfMargin; - - .roll-dialog-chip { - border: @thinBorder solid black; - border-radius: 6px; - min-width: calc(33% - 2px); - flex: 1; - display: flex; - align-items: center; - justify-content: center; - gap: @halfMargin; - cursor: pointer; - padding: @fullPadding; - background: grey; - overflow: hidden; - font-weight: bold; - - &.hover { - filter: drop-shadow(0 0 3px @mainShadow); - } - - span { - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; - } - - &.selected { - background: green; - - span { - filter: drop-shadow(0 0 3px @secondaryShadow); - } - } - } - } - .hope-container { display: flex; gap: @fullMargin; @@ -371,28 +296,6 @@ div.daggerheart.views.multiclass { } } } - - .roll-dialog-experience-container { - display: flex; - align-items: flex-start; - flex-wrap: wrap; - gap: @halfMargin; - flex: 1; - height: 100%; - - .experience-chip { - opacity: 0.6; - border-radius: 16px; - width: calc(50% - 4px); - white-space: nowrap; - - &.active, - &:hover { - opacity: 1; - background: var(--button-hover-background-color); - } - } - } } } diff --git a/styles/daggerheart.less b/styles/daggerheart.less index 38654759..c6d43ae8 100755 --- a/styles/daggerheart.less +++ b/styles/daggerheart.less @@ -53,6 +53,8 @@ @import './less/items/domainCard.less'; @import './less/items/class.less'; +@import './less/dialog/dice-roll/roll-selection.less'; + @import './less/utils/colors.less'; @import './less/utils/fonts.less'; diff --git a/styles/less/dialog/dice-roll/roll-selection.less b/styles/less/dialog/dice-roll/roll-selection.less new file mode 100644 index 00000000..1f7653d7 --- /dev/null +++ b/styles/less/dialog/dice-roll/roll-selection.less @@ -0,0 +1,128 @@ +@import '../../utils/colors.less'; +@import '../../utils/fonts.less'; + +.application.daggerheart.dialog.dh-style.views.roll-selection { + .roll-dialog-container { + display: flex; + flex-direction: column; + gap: 12px; + + .dices-section { + display: flex; + gap: 60px; + justify-content: center; + + .dice-option { + display: flex; + flex-direction: column; + align-items: center; + gap: 10px; + width: 120px; + + .dice-icon { + width: 70px; + height: 70px; + object-fit: contain; + } + .dice-select { + display: flex; + align-items: center; + gap: 10px; + height: 32px; + + .label { + font-family: @font-subtitle; + font-style: normal; + font-weight: 700; + font-size: 16px; + line-height: 19px; + + color: light-dark(@dark, @beige); + } + } + } + } + + .experience-container { + display: flex; + gap: 10px; + flex-wrap: wrap; + + .experience-chip { + display: flex; + align-items: center; + border-radius: 5px; + width: fit-content; + gap: 5px; + cursor: pointer; + padding: 5px; + background: light-dark(@dark-blue-10, @golden-10); + color: light-dark(@dark-blue, @golden); + + .label { + font-family: @font-body; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 17px; + } + + &.selected { + background: light-dark(@dark-blue-40, @golden-40); + } + } + } + + .modifier-container { + .advantage-chip, + .disadvantage-chip { + display: flex; + align-items: center; + border-radius: 5px; + width: fit-content; + gap: 5px; + cursor: pointer; + padding: 5px; + transition: all 0.3s ease; + + .label { + font-family: @font-body; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 17px; + } + } + + .advantage-chip { + background: @green-10; + color: @green; + + &.selected { + color: @beige; + background: @gradient-green; + } + } + + .disadvantage-chip { + background: @red-10; + color: @red; + + &.selected { + color: @beige; + background: @gradient-red; + } + } + } + + .formula-label { + font-family: @font-body; + font-style: normal; + font-weight: 500; + font-size: 14px; + line-height: 17px; + + color: light-dark(@dark, @beige); + } + } +} diff --git a/styles/less/utils/colors.less b/styles/less/utils/colors.less index 7ac572b9..57a6b018 100755 --- a/styles/less/utils/colors.less +++ b/styles/less/utils/colors.less @@ -1,22 +1,47 @@ @primary-blue: #1488cc; @secondary-blue: #2b32b2; + @golden: #f3c267; -@golden-40: #f3c26740; -@dark-blue-40: #18162e40; @golden-10: #f3c26710; -@dark-blue-10: #18162e10; -@dark-blue-50: #18162e50; +@golden-40: #f3c26740; + +@red: #e54e4e; +@red-10: #e54e4e10; +@red-40: #e54e4e40; + +@dark-red: #3c0000; +@dark-red-10: #3c000010; +@dark-red-40: #3c000040; + +@green: #40a640; +@green-10: #40a64010; +@green-40: #40a64040; + +@dark-green: #011b01; +@dark-green-10: #011b0110; +@dark-green-40: #011b0140; + @dark-blue: #18162e; +@dark-blue-10: #18162e10; +@dark-blue-40: #18162e40; +@dark-blue-50: #18162e50; +@semi-transparent-dark-blue: rgba(24, 22, 46, 0.33); + +@dark: #222; +@dark-15: #22222215; + @deep-black: #0e0d15; + @beige: #efe6d8; @beige-15: #efe6d815; @beige-50: #efe6d850; -@dark-blue: rgb(24, 22, 46); -@semi-transparent-dark-blue: rgba(24, 22, 46, 0.33); -@dark: #222; -@dark-15: #22222215; + @light-black: rgba(0, 0, 0, 0.3); @soft-shadow: rgba(0, 0, 0, 0.05); + +@gradient-green: linear-gradient(151.21deg, @green 7.21%, @dark-green 92.79%); +@gradient-red: linear-gradient(151.21deg, @red 7.21%, @dark-red 92.79%); + @gradient-hp: linear-gradient(15deg, rgb(70, 20, 10) 0%, rgb(190, 0, 0) 42%, rgb(252, 176, 69) 100%); @gradient-stress: linear-gradient(15deg, rgb(130, 59, 1) 0%, rgb(252, 142, 69) 65%, rgb(190, 0, 0) 100%); diff --git a/styles/less/utils/mixin.less b/styles/less/utils/mixin.less index c30a5535..39c2bee0 100644 --- a/styles/less/utils/mixin.less +++ b/styles/less/utils/mixin.less @@ -5,18 +5,18 @@ */ .appTheme(@darkRules, @lightRules) { // Dark theme selectors - .themed.theme-dark .application.sheet.dh-style, - .themed.theme-dark.application.sheet.dh-style, - body.theme-dark .application, - body.theme-dark.application { + .themed.theme-dark .application.daggerheart.sheet.dh-style, + .themed.theme-dark.application.daggerheart.sheet.dh-style, + body.theme-dark .application.daggerheart, + body.theme-dark.application.daggerheart { @darkRules(); } // Light theme selectors - .themed.theme-light .application.sheet.dh-style, - .themed.theme-light.application.sheet.dh-style, - body.theme-light .application, - body.theme-light.application { + .themed.theme-light .application.daggerheart.sheet.dh-style, + .themed.theme-light.application.daggerheart.sheet.dh-style, + body.theme-light .application.daggerheart, + body.theme-light.application.daggerheart { @lightRules(); } } diff --git a/templates/dialogs/costSelection.hbs b/templates/dialogs/dice-roll/costSelection.hbs similarity index 100% rename from templates/dialogs/costSelection.hbs rename to templates/dialogs/dice-roll/costSelection.hbs diff --git a/templates/dialogs/damageSelection.hbs b/templates/dialogs/dice-roll/damageSelection.hbs similarity index 100% rename from templates/dialogs/damageSelection.hbs rename to templates/dialogs/dice-roll/damageSelection.hbs diff --git a/templates/dialogs/dice-roll/header.hbs b/templates/dialogs/dice-roll/header.hbs new file mode 100644 index 00000000..462408f6 --- /dev/null +++ b/templates/dialogs/dice-roll/header.hbs @@ -0,0 +1,7 @@ +
+ {{#if rollConfig.headerTitle}} +

{{rollConfig.headerTitle}}

+ {{else}} +

{{rollConfig.title}}

+ {{/if}} +
\ No newline at end of file diff --git a/templates/dialogs/dice-roll/rollSelection.hbs b/templates/dialogs/dice-roll/rollSelection.hbs new file mode 100644 index 00000000..fb0b2074 --- /dev/null +++ b/templates/dialogs/dice-roll/rollSelection.hbs @@ -0,0 +1,126 @@ +
+ {{#if @root.hasRoll}} +
+ {{#unless @root.isLite}} +
+ {{#if (eq @root.rollType 'D20Roll')}} +
+ +
+ +
+
+ {{#if @root.advantage}} + {{#if (eq @root.advantage 1)}} +
+ +
+ Advantage +
+
+ {{else if (eq @root.advantage -1)}} +
+ +
+ Disdvantage +
+
+ {{/if}} + {{/if}} + {{/if}} + {{#if (eq @root.rollType 'DualityRoll')}} +
+ +
+ Hope + +
+
+
+ +
+ Fear + +
+
+ {{#if @root.advantage}} + {{#if (eq @root.advantage 1)}} +
+ +
+ Advantage +
+
+ {{else if (eq @root.advantage -1)}} +
+ +
+ Disdvantage +
+
+ {{/if}} + {{/if}} + {{/if}} +
+ +
+ Experiences + {{#each experiences}} + {{#if name}} +
+ {{#if (includes ../selectedExperiences id)}} + + {{else}} + + {{/if}} + {{#if (eq @root.rollType 'D20Roll')}} + {{name}} +{{modifier}} + {{else}} + {{name}} +{{value}} + {{/if}} +
+ {{/if}} + {{/each}} +
+
+ Modifiers +
+ + + {{#unless (eq @root.rollType 'D20Roll')}} + + {{/unless}} +
+ +
+ {{/unless}} + Formula: {{@root.formula}} + +
+ {{/if}} +
\ No newline at end of file diff --git a/templates/dialogs/npcRollSelection.hbs b/templates/dialogs/npcRollSelection.hbs deleted file mode 100644 index 02f5238b..00000000 --- a/templates/dialogs/npcRollSelection.hbs +++ /dev/null @@ -1,23 +0,0 @@ - -
-
-
-
- -
d20
-
-
- - -
-
-
- {{#each this.experiences as |experience|}} - - {{/each}} -
-
- -
\ No newline at end of file diff --git a/templates/dialogs/rollSelection.hbs b/templates/dialogs/rollSelection.hbs deleted file mode 100644 index 98b6c91b..00000000 --- a/templates/dialogs/rollSelection.hbs +++ /dev/null @@ -1,81 +0,0 @@ -
- {{#if @root.hasRoll}} -
-
-
- {{!-- --}} -
{{@root.formula}}
-
- {{#unless @root.isLite}} -
- {{#each experiences}} - {{#if name}} -
- {{name}} - +{{value}} -
- {{/if}} - {{/each}} -
-
- - -
- {{#if (eq @root.rollType 'D20Roll')}} -
- -
- {{/if}} - {{#if (eq @root.rollType 'DualityRoll')}} -
-
Hope Dice
- -
-
-
Fear Dice
- -
- {{#if roll.advantage}} -
-
Adv/Disadv Dice
- -
- {{/if}} - {{/if}} -
- -
- {{/unless}} - {{!-- {{#if (not isNpc)}} --}} - {{!--
- -
- -
-
-
- -
- -
-
--}} - {{!-- {{/if}} --}} -
-
- {{/if}} - -
\ No newline at end of file diff --git a/tools/create-symlink.mjs b/tools/create-symlink.mjs index 0c8804c6..fd828c73 100644 --- a/tools/create-symlink.mjs +++ b/tools/create-symlink.mjs @@ -2,8 +2,6 @@ import fs from 'fs'; import path from 'path'; import readline from 'readline'; -console.log('Reforging Symlinks'); - const askQuestion = question => { const rl = readline.createInterface({ input: process.stdin,