mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-01-12 03:31:07 +01:00
Feature/enhance style applications (#390)
* enhance settings style applications * enhance beastform application and fix action selection style * Start-aligned downtime move fieldsets * requested changes * fixing continue button style * fixing double scroll bars in char sheet * set currency above item list * fix experience not appearing in sidebar --------- Co-authored-by: WBHarry <williambjrklund@gmail.com>
This commit is contained in:
parent
3d723e7d8c
commit
2721dfe417
33 changed files with 823 additions and 154 deletions
|
|
@ -756,7 +756,7 @@
|
|||
},
|
||||
"SelectAction": {
|
||||
"selectType": "Select Action Type",
|
||||
"selectAction": "Select Action"
|
||||
"selectAction": "Action Selection"
|
||||
},
|
||||
"Traits": {
|
||||
"agility": {
|
||||
|
|
@ -1519,6 +1519,7 @@
|
|||
}
|
||||
},
|
||||
"Menu": {
|
||||
"title": "Daggerheart Game Settings",
|
||||
"automation": {
|
||||
"name": "Automation Settings",
|
||||
"label": "Configure Automation",
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
export { default as BeastformDialog } from './beastformDialog.mjs';
|
||||
export { default as costSelectionDialog } from './costSelectionDialog.mjs';
|
||||
export { default as d20RollDialog } from './d20RollDialog.mjs';
|
||||
export { default as DamageDialog } from './damageDialog.mjs';
|
||||
export { default as DamageReductionDialog } from './damageReductionDialog.mjs';
|
||||
|
|
|
|||
|
|
@ -1,9 +1,11 @@
|
|||
const { ApplicationV2, HandlebarsApplicationMixin } = foundry.applications.api;
|
||||
|
||||
export default class BeastformDialog extends HandlebarsApplicationMixin(ApplicationV2) {
|
||||
constructor(configData) {
|
||||
constructor(configData, item) {
|
||||
super();
|
||||
|
||||
this.item = item;
|
||||
|
||||
this.configData = configData;
|
||||
this.selected = null;
|
||||
this.evolved = { form: null };
|
||||
|
|
@ -14,11 +16,14 @@ export default class BeastformDialog extends HandlebarsApplicationMixin(Applicat
|
|||
|
||||
static DEFAULT_OPTIONS = {
|
||||
tag: 'form',
|
||||
classes: ['daggerheart', 'views', 'dh-style', 'beastform-selection'],
|
||||
classes: ['daggerheart', 'views', 'dialog', 'dh-style', 'beastform-selection'],
|
||||
position: {
|
||||
width: 600,
|
||||
height: 'auto'
|
||||
},
|
||||
window: {
|
||||
icon: 'fa-solid fa-paw'
|
||||
},
|
||||
actions: {
|
||||
selectBeastform: this.selectBeastform,
|
||||
toggleHybridFeature: this.toggleHybridFeature,
|
||||
|
|
@ -34,11 +39,12 @@ export default class BeastformDialog extends HandlebarsApplicationMixin(Applicat
|
|||
};
|
||||
|
||||
get title() {
|
||||
return game.i18n.localize('DAGGERHEART.ITEMS.Beastform.dialogTitle');
|
||||
return this.item.name;
|
||||
}
|
||||
|
||||
/** @override */
|
||||
static PARTS = {
|
||||
header: { template: 'systems/daggerheart/templates/dialogs/beastform/header.hbs' },
|
||||
tabs: { template: 'systems/daggerheart/templates/dialogs/beastform/tabs.hbs' },
|
||||
beastformTier: { template: 'systems/daggerheart/templates/dialogs/beastform/beastformTier.hbs' },
|
||||
advanced: { template: 'systems/daggerheart/templates/dialogs/beastform/advanced.hbs' },
|
||||
|
|
@ -262,12 +268,13 @@ export default class BeastformDialog extends HandlebarsApplicationMixin(Applicat
|
|||
if (!options.submitted) this.selected = null;
|
||||
}
|
||||
|
||||
static async configure(configData) {
|
||||
static async configure(configData, item) {
|
||||
return new Promise(resolve => {
|
||||
const app = new this(configData);
|
||||
const app = new this(configData, item);
|
||||
const featureItem = item;
|
||||
app.addEventListener(
|
||||
'close',
|
||||
() => resolve({ selected: app.selected, evolved: app.evolved, hybrid: app.hybrid }),
|
||||
() => resolve({ selected: app.selected, evolved: app.evolved, hybrid: app.hybrid, item: featureItem }),
|
||||
{ once: true }
|
||||
);
|
||||
app.render({ force: true });
|
||||
|
|
|
|||
|
|
@ -1,66 +0,0 @@
|
|||
const { ApplicationV2, HandlebarsApplicationMixin } = foundry.applications.api;
|
||||
|
||||
export default class CostSelectionDialog extends HandlebarsApplicationMixin(ApplicationV2) {
|
||||
constructor(costs, uses, action, resolve) {
|
||||
super({});
|
||||
this.costs = costs;
|
||||
this.uses = uses;
|
||||
this.action = action;
|
||||
this.resolve = resolve;
|
||||
}
|
||||
|
||||
static DEFAULT_OPTIONS = {
|
||||
tag: 'form',
|
||||
classes: ['daggerheart', 'dialog', 'dh-style', 'views', 'damage-selection'],
|
||||
position: {
|
||||
width: 400,
|
||||
height: 'auto'
|
||||
},
|
||||
actions: {
|
||||
sendCost: this.sendCost
|
||||
},
|
||||
form: {
|
||||
handler: this.updateForm,
|
||||
submitOnChange: true,
|
||||
closeOnSubmit: false
|
||||
}
|
||||
};
|
||||
|
||||
/** @override */
|
||||
static PARTS = {
|
||||
costSelection: {
|
||||
id: 'costSelection',
|
||||
template: 'systems/daggerheart/templates/dialogs/dice-roll/costSelection.hbs'
|
||||
}
|
||||
};
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
||||
/** @inheritDoc */
|
||||
get title() {
|
||||
return `Cost Options`;
|
||||
}
|
||||
|
||||
async _prepareContext(_options) {
|
||||
const updatedCosts = this.action.calcCosts(this.costs),
|
||||
updatedUses = this.action.calcUses(this.uses);
|
||||
return {
|
||||
costs: updatedCosts,
|
||||
uses: updatedUses,
|
||||
canUse: this.action.hasCost(updatedCosts) && this.action.hasUses(updatedUses)
|
||||
};
|
||||
}
|
||||
|
||||
static async updateForm(event, _, formData) {
|
||||
const data = foundry.utils.expandObject(formData.object);
|
||||
this.costs = foundry.utils.mergeObject(this.costs, data.costs);
|
||||
this.uses = foundry.utils.mergeObject(this.uses, data.uses);
|
||||
this.render(true);
|
||||
}
|
||||
|
||||
static sendCost(event) {
|
||||
event.preventDefault();
|
||||
this.resolve({ costs: this.action.getRealCosts(this.costs), uses: this.uses });
|
||||
this.close();
|
||||
}
|
||||
}
|
||||
|
|
@ -22,7 +22,7 @@ export default class D20RollDialog extends HandlebarsApplicationMixin(Applicatio
|
|||
id: 'roll-selection',
|
||||
classes: ['daggerheart', 'dialog', 'dh-style', 'views', 'roll-selection'],
|
||||
position: {
|
||||
width: 550
|
||||
width: 'auto'
|
||||
},
|
||||
window: {
|
||||
icon: 'fa-solid fa-dice'
|
||||
|
|
@ -52,10 +52,6 @@ export default class D20RollDialog extends HandlebarsApplicationMixin(Applicatio
|
|||
rollSelection: {
|
||||
id: 'rollSelection',
|
||||
template: 'systems/daggerheart/templates/dialogs/dice-roll/rollSelection.hbs'
|
||||
},
|
||||
costSelection: {
|
||||
id: 'costSelection',
|
||||
template: 'systems/daggerheart/templates/dialogs/dice-roll/costSelection.hbs'
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -12,14 +12,17 @@ export default class DHAppearanceSettings extends HandlebarsApplicationMixin(App
|
|||
}
|
||||
|
||||
get title() {
|
||||
return game.i18n.localize('DAGGERHEART.SETTINGS.Menu.appearance.name');
|
||||
return game.i18n.localize('DAGGERHEART.SETTINGS.Menu.title');
|
||||
}
|
||||
|
||||
static DEFAULT_OPTIONS = {
|
||||
tag: 'form',
|
||||
id: 'daggerheart-appearance-settings',
|
||||
classes: ['daggerheart', 'setting', 'dh-style'],
|
||||
classes: ['daggerheart', 'dialog', 'dh-style', 'setting'],
|
||||
position: { width: '600', height: 'auto' },
|
||||
window: {
|
||||
icon: 'fa-solid fa-gears'
|
||||
},
|
||||
actions: {
|
||||
reset: this.reset,
|
||||
save: this.save
|
||||
|
|
|
|||
|
|
@ -12,14 +12,17 @@ export default class DhAutomationSettings extends HandlebarsApplicationMixin(App
|
|||
}
|
||||
|
||||
get title() {
|
||||
return game.i18n.localize('DAGGERHEART.SETTINGS.Menu.automation.name');
|
||||
return game.i18n.localize('DAGGERHEART.SETTINGS.Menu.title');
|
||||
}
|
||||
|
||||
static DEFAULT_OPTIONS = {
|
||||
tag: 'form',
|
||||
id: 'daggerheart-automation-settings',
|
||||
classes: ['daggerheart', 'setting', 'dh-style'],
|
||||
classes: ['daggerheart', 'dh-style', 'dialog', 'setting'],
|
||||
position: { width: '600', height: 'auto' },
|
||||
window: {
|
||||
icon: 'fa-solid fa-gears'
|
||||
},
|
||||
actions: {
|
||||
reset: this.reset,
|
||||
save: this.save
|
||||
|
|
|
|||
|
|
@ -13,14 +13,17 @@ export default class DhHomebrewSettings extends HandlebarsApplicationMixin(Appli
|
|||
}
|
||||
|
||||
get title() {
|
||||
return game.i18n.localize('DAGGERHEART.SETTINGS.Menu.homebrew.name');
|
||||
return game.i18n.localize('DAGGERHEART.SETTINGS.Menu.title');
|
||||
}
|
||||
|
||||
static DEFAULT_OPTIONS = {
|
||||
tag: 'form',
|
||||
id: 'daggerheart-homebrew-settings',
|
||||
classes: ['daggerheart', 'setting', 'dh-style'],
|
||||
classes: ['daggerheart', 'dh-style', 'dialog', 'setting'],
|
||||
position: { width: '600', height: 'auto' },
|
||||
window: {
|
||||
icon: 'fa-solid fa-gears'
|
||||
},
|
||||
actions: {
|
||||
addItem: this.addItem,
|
||||
editItem: this.editItem,
|
||||
|
|
|
|||
|
|
@ -12,14 +12,17 @@ export default class DhRangeMeasurementSettings extends HandlebarsApplicationMix
|
|||
}
|
||||
|
||||
get title() {
|
||||
return game.i18n.localize('DAGGERHEART.SETTINGS.Menu.automation.name');
|
||||
return game.i18n.localize('DAGGERHEART.SETTINGS.Menu.title');
|
||||
}
|
||||
|
||||
static DEFAULT_OPTIONS = {
|
||||
tag: 'form',
|
||||
id: 'daggerheart-automation-settings',
|
||||
classes: ['daggerheart', 'setting', 'dh-style'],
|
||||
classes: ['daggerheart', 'dialog', 'dh-style', 'setting'],
|
||||
position: { width: '600', height: 'auto' },
|
||||
window: {
|
||||
icon: 'fa-solid fa-gears'
|
||||
},
|
||||
actions: {
|
||||
reset: this.reset,
|
||||
save: this.save
|
||||
|
|
|
|||
|
|
@ -12,14 +12,17 @@ export default class DHVariantRuleSettings extends HandlebarsApplicationMixin(Ap
|
|||
}
|
||||
|
||||
get title() {
|
||||
return game.i18n.localize('DAGGERHEART.SETTINGS.Menu.variantRules.name');
|
||||
return game.i18n.localize('DAGGERHEART.SETTINGS.Menu.title');
|
||||
}
|
||||
|
||||
static DEFAULT_OPTIONS = {
|
||||
tag: 'form',
|
||||
id: 'daggerheart-appearance-settings',
|
||||
classes: ['daggerheart', 'setting', 'dh-style'],
|
||||
classes: ['daggerheart', 'dialog', 'dh-style', 'setting'],
|
||||
position: { width: '600', height: 'auto' },
|
||||
window: {
|
||||
icon: 'fa-solid fa-gears'
|
||||
},
|
||||
actions: {
|
||||
reset: this.reset,
|
||||
save: this.save
|
||||
|
|
|
|||
|
|
@ -441,9 +441,13 @@ export default function DHApplicationMixin(Base) {
|
|||
const { type: actionType } =
|
||||
(await foundry.applications.api.DialogV2.input({
|
||||
window: { title: 'Select Action Type' },
|
||||
classes: ['daggerheart', 'dh-style'],
|
||||
content: await foundry.applications.handlebars.renderTemplate(
|
||||
'systems/daggerheart/templates/actionTypes/actionType.hbs',
|
||||
{ types: CONFIG.DH.ACTIONS.actionTypes }
|
||||
{
|
||||
types: CONFIG.DH.ACTIONS.actionTypes,
|
||||
itemName: game.i18n.localize('DAGGERHEART.CONFIG.SelectAction.selectAction')
|
||||
}
|
||||
),
|
||||
ok: {
|
||||
label: game.i18n.format('DOCUMENT.Create', {
|
||||
|
|
@ -581,7 +585,7 @@ export default function DHApplicationMixin(Base) {
|
|||
const { actionId } = target.closest('[data-action-id]').dataset;
|
||||
const { actions, attack } = doc.system;
|
||||
const action = attack?.id === actionId ? attack : actions?.find(a => a.id === actionId);
|
||||
await action.use(event);
|
||||
await action.use(event, doc);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -10,7 +10,9 @@ export default class DhBeastformAction extends DHBaseAction {
|
|||
const abort = await this.handleActiveTransformations();
|
||||
if (abort) return;
|
||||
|
||||
const { selected, evolved, hybrid } = await BeastformDialog.configure(beastformConfig);
|
||||
const item = args[0];
|
||||
|
||||
const { selected, evolved, hybrid } = await BeastformDialog.configure(beastformConfig, item);
|
||||
if (!selected) return;
|
||||
|
||||
await this.transform(selected, evolved, hybrid);
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ export const preloadHandlebarsTemplates = async function () {
|
|||
'systems/daggerheart/templates/ui/chat/parts/target-chat.hbs',
|
||||
'systems/daggerheart/templates/ui/tooltip/parts/tooltipChips.hbs',
|
||||
'systems/daggerheart/templates/ui/tooltip/parts/tooltipTags.hbs',
|
||||
'systems/daggerheart/templates/dialogs/downtime/activities.hbs'
|
||||
'systems/daggerheart/templates/dialogs/downtime/activities.hbs',
|
||||
'systems/daggerheart/templates/dialogs/dice-roll/costSelection.hbs'
|
||||
]);
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
@import '../../utils/colors.less';
|
||||
@import '../../utils/mixin.less';
|
||||
@import '../../utils/fonts.less';
|
||||
|
||||
.theme-light .application.daggerheart.dh-style.views.beastform-selection .beastforms-outer-container {
|
||||
.beastform-title {
|
||||
|
|
@ -209,6 +210,9 @@
|
|||
|
||||
button {
|
||||
flex: 1;
|
||||
font-family: @font-body;
|
||||
font-weight: bold;
|
||||
height: 40px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@
|
|||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 12px;
|
||||
max-width: 550px;
|
||||
|
||||
.dices-section {
|
||||
display: flex;
|
||||
|
|
@ -141,6 +142,7 @@
|
|||
button {
|
||||
flex: 1;
|
||||
height: 100%;
|
||||
font-weight: bold;
|
||||
font-family: @font-body;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
607
styles/less/global/elements.css
Normal file
607
styles/less/global/elements.css
Normal file
|
|
@ -0,0 +1,607 @@
|
|||
@keyframes glow {
|
||||
0% {
|
||||
box-shadow: 0 0 1px 1px #f3c267;
|
||||
}
|
||||
100% {
|
||||
box-shadow: 0 0 2px 2px #f3c267;
|
||||
}
|
||||
}
|
||||
@keyframes glow-dark {
|
||||
0% {
|
||||
box-shadow: 0 0 1px 1px #18162e;
|
||||
}
|
||||
100% {
|
||||
box-shadow: 0 0 2px 2px #18162e;
|
||||
}
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Cinzel';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url(https://fonts.gstatic.com/s/cinzel/v25/8vIU7ww63mVu7gtR-kwKxNvkNOjw-tbnTYo.ttf) format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Cinzel';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url(https://fonts.gstatic.com/s/cinzel/v25/8vIU7ww63mVu7gtR-kwKxNvkNOjw-jHgTYo.ttf) format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Cinzel Decorative';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url(https://fonts.gstatic.com/s/cinzeldecorative/v18/daaHSScvJGqLYhG8nNt8KPPswUAPniZoaelD.ttf) format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Montserrat';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url(https://fonts.gstatic.com/s/montserrat/v30/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCtr6Ew-.ttf) format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Montserrat';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-display: swap;
|
||||
src: url(https://fonts.gstatic.com/s/montserrat/v30/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCu170w-.ttf) format('truetype');
|
||||
}
|
||||
.application.sheet.daggerheart.dh-style h1 {
|
||||
font-family: 'Cinzel Decorative', serif;
|
||||
margin: 0;
|
||||
border: none;
|
||||
font-weight: normal;
|
||||
}
|
||||
.application.sheet.daggerheart.dh-style h2,
|
||||
.application.sheet.daggerheart.dh-style h3 {
|
||||
font-family: 'Cinzel', serif;
|
||||
margin: 0;
|
||||
border: none;
|
||||
font-weight: normal;
|
||||
}
|
||||
.application.sheet.daggerheart.dh-style h4 {
|
||||
font-family: 'Montserrat', sans-serif;
|
||||
font-size: 14px;
|
||||
border: none;
|
||||
font-weight: 700;
|
||||
margin: 0;
|
||||
text-shadow: none;
|
||||
color: #f3c267;
|
||||
font-weight: normal;
|
||||
}
|
||||
.application.sheet.daggerheart.dh-style h5 {
|
||||
font-size: 14px;
|
||||
color: #f3c267;
|
||||
margin: 0;
|
||||
font-weight: normal;
|
||||
}
|
||||
.application.sheet.daggerheart.dh-style p,
|
||||
.application.sheet.daggerheart.dh-style span {
|
||||
font-family: 'Montserrat', sans-serif;
|
||||
}
|
||||
.application.sheet.daggerheart.dh-style small {
|
||||
font-family: 'Montserrat', sans-serif;
|
||||
opacity: 0.8;
|
||||
}
|
||||
.application.dh-style {
|
||||
border: 1px solid light-dark(#18162e, #f3c267);
|
||||
}
|
||||
.application.dh-style input[type='text'],
|
||||
.application.dh-style input[type='number'] {
|
||||
background: light-dark(transparent, transparent);
|
||||
border-radius: 6px;
|
||||
box-shadow: 0 4px 30px rgba(0, 0, 0, 0.05);
|
||||
backdrop-filter: blur(9.5px);
|
||||
-webkit-backdrop-filter: blur(9.5px);
|
||||
outline: none;
|
||||
color: light-dark(#18162e, #f3c267);
|
||||
border: 1px solid light-dark(#222, #efe6d8);
|
||||
}
|
||||
.application.dh-style input[type='text']:hover[type='text'],
|
||||
.application.dh-style input[type='number']:hover[type='text'],
|
||||
.application.dh-style input[type='text']:hover[type='number'],
|
||||
.application.dh-style input[type='number']:hover[type='number'],
|
||||
.application.dh-style input[type='text']:focus[type='text'],
|
||||
.application.dh-style input[type='number']:focus[type='text'],
|
||||
.application.dh-style input[type='text']:focus[type='number'],
|
||||
.application.dh-style input[type='number']:focus[type='number'] {
|
||||
background: light-dark(rgba(0, 0, 0, 0.05), rgba(24, 22, 46, 0.33));
|
||||
box-shadow: none;
|
||||
outline: 2px solid light-dark(#222, #efe6d8);
|
||||
}
|
||||
.application.dh-style input[type='text']:disabled[type='text'],
|
||||
.application.dh-style input[type='number']:disabled[type='text'],
|
||||
.application.dh-style input[type='text']:disabled[type='number'],
|
||||
.application.dh-style input[type='number']:disabled[type='number'] {
|
||||
outline: 2px solid transparent;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
.application.dh-style input[type='text']:disabled[type='text']:hover,
|
||||
.application.dh-style input[type='number']:disabled[type='text']:hover,
|
||||
.application.dh-style input[type='text']:disabled[type='number']:hover,
|
||||
.application.dh-style input[type='number']:disabled[type='number']:hover {
|
||||
background: transparent;
|
||||
}
|
||||
.application.dh-style input[type='checkbox']:checked::after,
|
||||
.application.dh-style input[type='radio']:checked::after {
|
||||
color: light-dark(#222, #f3c267);
|
||||
}
|
||||
.application.dh-style input[type='checkbox']:checked::before,
|
||||
.application.dh-style input[type='radio']:checked::before {
|
||||
color: light-dark(#22222240, #f3c26740);
|
||||
}
|
||||
.application.dh-style input[type='checkbox']::before,
|
||||
.application.dh-style input[type='radio']::before {
|
||||
color: light-dark(#22222240, #f3c26740);
|
||||
}
|
||||
.application.dh-style button {
|
||||
background: light-dark(transparent, #f3c267);
|
||||
border: 1px solid light-dark(#18162e, #18162e);
|
||||
color: light-dark(#18162e, #18162e);
|
||||
outline: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
.application.dh-style button:hover {
|
||||
background: light-dark(rgba(0, 0, 0, 0.3), #18162e);
|
||||
color: light-dark(#18162e, #f3c267);
|
||||
}
|
||||
.application.dh-style button.glow {
|
||||
animation: glow 0.75s infinite alternate;
|
||||
}
|
||||
.application.dh-style button:disabled {
|
||||
background: light-dark(transparent, #f3c267);
|
||||
color: light-dark(#18162e, #18162e);
|
||||
opacity: 0.6;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
.application.dh-style button:disabled:hover {
|
||||
background: light-dark(transparent, #f3c267);
|
||||
color: light-dark(#18162e, #18162e);
|
||||
}
|
||||
.application.dh-style select {
|
||||
background: light-dark(transparent, transparent);
|
||||
color: light-dark(#222, #efe6d8);
|
||||
font-family: 'Montserrat', sans-serif;
|
||||
outline: 2px solid transparent;
|
||||
border: 1px solid light-dark(#222, #efe6d8);
|
||||
}
|
||||
.application.dh-style select:focus,
|
||||
.application.dh-style select:hover {
|
||||
outline: 2px solid light-dark(#222, #efe6d8);
|
||||
box-shadow: none;
|
||||
}
|
||||
.application.dh-style select option,
|
||||
.application.dh-style select optgroup {
|
||||
color: #efe6d8;
|
||||
background-color: #18162e;
|
||||
border-radius: 6px;
|
||||
}
|
||||
.application.dh-style select:disabled {
|
||||
opacity: 0.6;
|
||||
outline: 2px solid transparent;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
.application.dh-style multi-select {
|
||||
position: relative;
|
||||
height: 34px;
|
||||
}
|
||||
.application.dh-style multi-select .tags {
|
||||
justify-content: flex-start;
|
||||
margin: 4px;
|
||||
height: inherit;
|
||||
}
|
||||
.application.dh-style multi-select .tags .tag {
|
||||
padding: 0.3rem 0.5rem;
|
||||
color: light-dark(#18162e, #f3c267);
|
||||
background-color: light-dark(#18162e10, #f3c26740);
|
||||
font-family: 'Montserrat', sans-serif;
|
||||
border-radius: 3px;
|
||||
transition: 0.13s ease-out;
|
||||
gap: 0.5rem;
|
||||
z-index: 1;
|
||||
}
|
||||
.application.dh-style multi-select .tags .tag .remove {
|
||||
font-size: 10px;
|
||||
}
|
||||
.application.dh-style multi-select select {
|
||||
position: absolute;
|
||||
height: inherit;
|
||||
outline: initial;
|
||||
}
|
||||
.application.dh-style p {
|
||||
margin: 0;
|
||||
}
|
||||
.application.dh-style ul {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
}
|
||||
.application.dh-style li {
|
||||
margin: 0;
|
||||
}
|
||||
.application.dh-style a:hover,
|
||||
.application.dh-style a.active {
|
||||
font-weight: bold;
|
||||
text-shadow: 0 0 8px light-dark(#18162e, #f3c267);
|
||||
}
|
||||
.application.dh-style fieldset {
|
||||
align-items: center;
|
||||
margin-top: 5px;
|
||||
border-radius: 6px;
|
||||
border-color: light-dark(#18162e, #f3c267);
|
||||
}
|
||||
.application.dh-style fieldset.glassy {
|
||||
background-color: light-dark(#18162e10, #f3c26710);
|
||||
border-color: transparent;
|
||||
}
|
||||
.application.dh-style fieldset.glassy legend {
|
||||
padding: 2px 12px;
|
||||
border-radius: 3px;
|
||||
background-color: light-dark(#18162e, #f3c267);
|
||||
color: light-dark(#efe6d8, #18162e);
|
||||
}
|
||||
.application.dh-style fieldset.fit-height {
|
||||
height: 95%;
|
||||
}
|
||||
.application.dh-style fieldset.flex {
|
||||
display: flex;
|
||||
gap: 20px;
|
||||
}
|
||||
.application.dh-style fieldset.flex.wrap {
|
||||
flex-wrap: wrap;
|
||||
gap: 10px 20px;
|
||||
}
|
||||
.application.dh-style fieldset.flex .inline-child {
|
||||
flex: 1;
|
||||
}
|
||||
.application.dh-style fieldset .list-w-img {
|
||||
padding: 5px;
|
||||
}
|
||||
.application.dh-style fieldset .list-w-img label {
|
||||
flex: 1;
|
||||
}
|
||||
.application.dh-style fieldset .list-w-img img {
|
||||
width: 2rem;
|
||||
height: 2rem;
|
||||
}
|
||||
.application.dh-style fieldset.one-column {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: start;
|
||||
gap: 10px;
|
||||
min-height: 64px;
|
||||
flex: 1;
|
||||
}
|
||||
.application.dh-style fieldset.one-column > .one-column {
|
||||
width: 100%;
|
||||
}
|
||||
.application.dh-style fieldset.two-columns {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 2fr;
|
||||
gap: 10px;
|
||||
}
|
||||
.application.dh-style fieldset.two-columns.even {
|
||||
grid-template-columns: 1fr 1fr;
|
||||
}
|
||||
.application.dh-style fieldset.two-columns .full-width {
|
||||
grid-column: span 2;
|
||||
}
|
||||
.application.dh-style fieldset legend {
|
||||
font-family: 'Montserrat', sans-serif;
|
||||
font-weight: bold;
|
||||
color: light-dark(#18162e, #f3c267);
|
||||
}
|
||||
.application.dh-style fieldset input[type='text'],
|
||||
.application.dh-style fieldset input[type='number'] {
|
||||
color: light-dark(#222, #efe6d8);
|
||||
font-family: 'Montserrat', sans-serif;
|
||||
transition: all 0.3s ease;
|
||||
outline: 2px solid transparent;
|
||||
}
|
||||
.application.dh-style fieldset input[type='text']:focus,
|
||||
.application.dh-style fieldset input[type='number']:focus,
|
||||
.application.dh-style fieldset input[type='text']:hover,
|
||||
.application.dh-style fieldset input[type='number']:hover {
|
||||
outline: 2px solid light-dark(#222, #efe6d8);
|
||||
}
|
||||
.application.dh-style fieldset[disabled],
|
||||
.application.dh-style fieldset.child-disabled .form-group,
|
||||
.application.dh-style fieldset select[disabled],
|
||||
.application.dh-style fieldset input[disabled] {
|
||||
opacity: 0.5;
|
||||
}
|
||||
.application.dh-style fieldset.child-disabled .form-group {
|
||||
pointer-events: none;
|
||||
}
|
||||
.application.dh-style fieldset .nest-inputs {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
gap: 5px;
|
||||
}
|
||||
.application.dh-style fieldset .nest-inputs .btn {
|
||||
padding-top: 15px;
|
||||
}
|
||||
.application.dh-style fieldset .nest-inputs .image {
|
||||
height: 40px;
|
||||
width: 40px;
|
||||
object-fit: cover;
|
||||
border-radius: 6px;
|
||||
border: none;
|
||||
}
|
||||
.application.dh-style fieldset .nest-inputs > .checkbox {
|
||||
align-self: end;
|
||||
}
|
||||
.application.dh-style fieldset .form-group {
|
||||
width: 100%;
|
||||
}
|
||||
.application.dh-style fieldset .form-group label {
|
||||
font-family: 'Montserrat', sans-serif;
|
||||
font-weight: bold;
|
||||
font-size: smaller;
|
||||
}
|
||||
.application.dh-style fieldset .form-group.checkbox {
|
||||
width: fit-content;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.application.dh-style fieldset .form-group.checkbox .form-fields {
|
||||
height: 32px;
|
||||
align-content: center;
|
||||
}
|
||||
.application.dh-style fieldset:has(.list-w-img) {
|
||||
gap: 0;
|
||||
}
|
||||
.application.dh-style .two-columns {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 2fr;
|
||||
gap: 10px;
|
||||
}
|
||||
.application.dh-style .two-columns.even {
|
||||
grid-template-columns: 1fr 1fr;
|
||||
}
|
||||
.application.dh-style line-div {
|
||||
display: block;
|
||||
height: 1px;
|
||||
width: 100%;
|
||||
border-bottom: 1px solid light-dark(#18162e, #f3c267);
|
||||
mask-image: linear-gradient(270deg, transparent 0%, black 50%, transparent 100%);
|
||||
}
|
||||
.application.dh-style side-line-div {
|
||||
display: block;
|
||||
height: 1px;
|
||||
width: 100%;
|
||||
border-bottom: 1px solid light-dark(#18162e, #f3c267);
|
||||
mask-image: linear-gradient(270deg, transparent 0%, black 100%);
|
||||
}
|
||||
.application.dh-style side-line-div.invert {
|
||||
mask-image: linear-gradient(270deg, black 0%, transparent 100%);
|
||||
}
|
||||
.application.dh-style .item-description {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
grid-column: 1/-1;
|
||||
transition: opacity 0.3s ease-out, transform 0.3s ease-out;
|
||||
}
|
||||
.application.dh-style .item-description.invisible {
|
||||
height: 0;
|
||||
opacity: 0;
|
||||
overflow: hidden;
|
||||
transform: translateY(-20px);
|
||||
transform-origin: top;
|
||||
}
|
||||
.application.dh-style .item-buttons {
|
||||
grid-column: span 3;
|
||||
display: flex;
|
||||
gap: 8px;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
.application.dh-style .item-buttons button {
|
||||
white-space: nowrap;
|
||||
}
|
||||
.application.setting.dh-style fieldset h2,
|
||||
.application.setting.dh-style fieldset h3,
|
||||
.application.setting.dh-style fieldset h4 {
|
||||
margin: 8px 0 4px;
|
||||
text-align: center;
|
||||
}
|
||||
.application.setting.dh-style fieldset .title-hint {
|
||||
font-size: 12px;
|
||||
font-variant: small-caps;
|
||||
text-align: center;
|
||||
}
|
||||
.application.setting.dh-style fieldset .field-section .split-section {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
gap: 10px;
|
||||
}
|
||||
.application.setting.dh-style fieldset .label-container {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
gap: 10px;
|
||||
}
|
||||
.application.setting.dh-style fieldset .label-container label {
|
||||
align-self: center;
|
||||
text-align: center;
|
||||
}
|
||||
.application.setting.dh-style footer {
|
||||
margin-top: 8px;
|
||||
display: flex;
|
||||
gap: 8px;
|
||||
}
|
||||
.application.setting.dh-style footer button {
|
||||
flex: 1;
|
||||
}
|
||||
.application.setting.dh-style .form-group {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
.application.setting.dh-style .form-group label {
|
||||
font-size: 16px;
|
||||
font-family: 'Montserrat', sans-serif;
|
||||
}
|
||||
.application.setting.dh-style .form-group .form-fields {
|
||||
display: flex;
|
||||
gap: 4px;
|
||||
align-items: center;
|
||||
}
|
||||
.system-daggerheart .tagify {
|
||||
background: light-dark(transparent, transparent);
|
||||
border: 1px solid light-dark(#222, #efe6d8);
|
||||
height: 34px;
|
||||
--tags-disabled-bg: none;
|
||||
--tags-border-color: none;
|
||||
--tags-hover-border-color: none;
|
||||
--tags-focus-border-color: none;
|
||||
--tag-border-radius: 3px;
|
||||
--tag-bg: light-dark(#18162e, #f3c267);
|
||||
--tag-remove-btn-color: light-dark(#18162e, #f3c267);
|
||||
--tag-hover: light-dark(#18162e, #f3c267);
|
||||
--tag-text-color: light-dark(#efe6d8, #222);
|
||||
--tag-text-color--edit: light-dark(#efe6d8, #222);
|
||||
--tag-pad: 0.3em 0.5em;
|
||||
--tag-inset-shadow-size: 1.2em;
|
||||
--tag-invalid-color: #d39494;
|
||||
--tag-invalid-bg: rgba(211, 148, 148, 0.5);
|
||||
--tag--min-width: 1ch;
|
||||
--tag--max-width: 100%;
|
||||
--tag-hide-transition: 0.3s;
|
||||
--tag-remove-bg: light-dark(#18162e40, #f3c26740);
|
||||
--tag-remove-btn-color: light-dark(#efe6d8, #222);
|
||||
--tag-remove-btn-bg: none;
|
||||
--tag-remove-btn-bg--hover: light-dark(#efe6d8, #222);
|
||||
--input-color: inherit;
|
||||
--placeholder-color: light-dark(#efe6d815, #22222215);
|
||||
--placeholder-color-focus: light-dark(#efe6d815, #22222215);
|
||||
--loader-size: 0.8em;
|
||||
--readonly-striped: 1;
|
||||
border-radius: 3px;
|
||||
margin-right: 1px;
|
||||
}
|
||||
.system-daggerheart .tagify tag div {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
height: 22px;
|
||||
}
|
||||
.system-daggerheart .tagify tag div span {
|
||||
font-weight: 400;
|
||||
}
|
||||
.system-daggerheart .tagify tag div img {
|
||||
margin-left: 8px;
|
||||
height: 20px;
|
||||
width: 20px;
|
||||
}
|
||||
.system-daggerheart .tagify__dropdown {
|
||||
border: 1px solid light-dark(#222, #efe6d8) !important;
|
||||
font-family: 'Montserrat', sans-serif;
|
||||
color: light-dark(#222, #efe6d8);
|
||||
}
|
||||
.system-daggerheart .tagify__dropdown .tagify__dropdown__wrapper {
|
||||
background-image: url(../assets/parchments/dh-parchment-dark.png);
|
||||
background-color: transparent;
|
||||
border: 0;
|
||||
color: light-dark(#222, #efe6d8);
|
||||
}
|
||||
.system-daggerheart .tagify__dropdown .tagify__dropdown__wrapper .tagify__dropdown__item--active {
|
||||
background-color: light-dark(#222, #efe6d8);
|
||||
color: light-dark(#efe6d8, #222);
|
||||
}
|
||||
.system-daggerheart.theme-light .tagify__dropdown .tagify__dropdown__wrapper {
|
||||
background-image: url(../assets/parchments/dh-parchment-light.png);
|
||||
}
|
||||
.theme-light .application.sheet.dh-style button.glow {
|
||||
animation: glow-dark 0.75s infinite alternate;
|
||||
}
|
||||
.theme-light .application .component.dh-style.card-preview-container {
|
||||
background-image: url('../assets/parchments/dh-parchment-light.png');
|
||||
}
|
||||
.theme-light .application .component.dh-style.card-preview-container .preview-text-container {
|
||||
background-image: url(../assets/parchments/dh-parchment-dark.png);
|
||||
}
|
||||
.theme-light .application .component.dh-style.card-preview-container .preview-selected-icon-container {
|
||||
background-image: url(../assets/parchments/dh-parchment-dark.png);
|
||||
color: var(--color-light-5);
|
||||
}
|
||||
.application .component.dh-style.card-preview-container {
|
||||
position: relative;
|
||||
border-radius: 6px;
|
||||
border: 2px solid var(--color-tabs-border);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
aspect-ratio: 0.75;
|
||||
background-image: url('../assets/parchments/dh-parchment-dark.png');
|
||||
}
|
||||
.application .component.dh-style.card-preview-container.selectable {
|
||||
cursor: pointer;
|
||||
}
|
||||
.application .component.dh-style.card-preview-container.disabled {
|
||||
pointer-events: none;
|
||||
opacity: 0.4;
|
||||
}
|
||||
.application .component.dh-style.card-preview-container .preview-image-outer-container {
|
||||
position: relative;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
.application .component.dh-style.card-preview-container .preview-image-container {
|
||||
flex: 1;
|
||||
border-radius: 4px 4px 0 0;
|
||||
}
|
||||
.application .component.dh-style.card-preview-container .preview-text-container {
|
||||
flex: 1;
|
||||
border-radius: 0 0 4px 4px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 18px;
|
||||
text-align: center;
|
||||
color: var(--color-text-selection-bg);
|
||||
background-image: url(../assets/parchments/dh-parchment-light.png);
|
||||
}
|
||||
.application .component.dh-style.card-preview-container .preview-empty-container {
|
||||
pointer-events: none;
|
||||
position: relative;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
flex: 1;
|
||||
}
|
||||
.application .component.dh-style.card-preview-container .preview-empty-container .preview-empty-inner-container {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
.application .component.dh-style.card-preview-container .preview-empty-container .preview-empty-inner-container .preview-add-icon {
|
||||
font-size: 48px;
|
||||
}
|
||||
.application .component.dh-style.card-preview-container .preview-empty-container .preview-empty-inner-container .preview-empty-subtext {
|
||||
position: absolute;
|
||||
top: 10%;
|
||||
font-size: 18px;
|
||||
font-variant: small-caps;
|
||||
text-align: center;
|
||||
}
|
||||
.application .component.dh-style.card-preview-container .preview-selected-icon-container {
|
||||
position: absolute;
|
||||
height: 54px;
|
||||
width: 54px;
|
||||
border-radius: 50%;
|
||||
border: 2px solid;
|
||||
font-size: 48px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background-image: url(../assets/parchments/dh-parchment-light.png);
|
||||
color: var(--color-dark-5);
|
||||
}
|
||||
.application .component.dh-style.card-preview-container .preview-selected-icon-container i {
|
||||
position: relative;
|
||||
right: 2px;
|
||||
}
|
||||
|
|
@ -15,6 +15,10 @@
|
|||
color: light-dark(@dark-blue, @golden);
|
||||
border: 1px solid light-dark(@dark, @beige);
|
||||
|
||||
&::placeholder {
|
||||
color: light-dark(@dark-40, @beige-50);
|
||||
}
|
||||
|
||||
&:hover[type='text'],
|
||||
&:hover[type='number'],
|
||||
&:focus[type='text'],
|
||||
|
|
@ -48,6 +52,24 @@
|
|||
}
|
||||
}
|
||||
|
||||
input[type='range'] {
|
||||
&::-webkit-slider-runnable-track {
|
||||
background: light-dark(@dark-blue-40, @golden-40);
|
||||
}
|
||||
&::-moz-range-track {
|
||||
background: light-dark(@dark-blue-40, @golden-40);
|
||||
}
|
||||
&::-webkit-slider-thumb {
|
||||
background: light-dark(@dark-blue, @golden);
|
||||
border: none;
|
||||
border-radius: 50%;
|
||||
|
||||
&:hover {
|
||||
box-shadow: 0 0 8px light-dark(@dark-blue, @golden);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
button {
|
||||
background: light-dark(transparent, @golden);
|
||||
border: 1px solid light-dark(@dark-blue, @dark-blue);
|
||||
|
|
@ -296,6 +318,31 @@
|
|||
}
|
||||
}
|
||||
|
||||
.scalable-input {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: 10px;
|
||||
|
||||
.form-group {
|
||||
width: fit-content;
|
||||
.nest-inputs {
|
||||
width: fit-content;
|
||||
}
|
||||
}
|
||||
|
||||
label {
|
||||
font-family: @font-body;
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
|
||||
&.modifier-label {
|
||||
width: 6ch;
|
||||
text-align: end;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&:has(.list-w-img) {
|
||||
gap: 0;
|
||||
}
|
||||
|
|
@ -413,6 +460,7 @@
|
|||
|
||||
label {
|
||||
font-size: 16px;
|
||||
font-family: @font-body;
|
||||
}
|
||||
|
||||
.form-fields {
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
mask-image: linear-gradient(0deg, transparent 0%, black 5%, black 95%, transparent 100%);
|
||||
padding: 20px 0;
|
||||
padding-top: 10px;
|
||||
height: 95%;
|
||||
height: 84%;
|
||||
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: light-dark(@dark-blue, @golden) transparent;
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@
|
|||
overflow-y: auto;
|
||||
mask-image: linear-gradient(0deg, transparent 0%, black 5%, black 95%, transparent 100%);
|
||||
padding: 20px 0;
|
||||
height: 80%;
|
||||
height: 73%;
|
||||
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: light-dark(@dark-blue, @golden) transparent;
|
||||
|
|
@ -65,6 +65,11 @@
|
|||
.currency-section {
|
||||
display: flex;
|
||||
gap: 10px;
|
||||
padding: 10px 10px 0;
|
||||
|
||||
input {
|
||||
color: light-dark(@dark, @beige);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -97,7 +97,7 @@
|
|||
overflow-y: auto;
|
||||
mask-image: linear-gradient(0deg, transparent 0%, black 10%, black 98%, transparent 100%);
|
||||
padding: 20px 0;
|
||||
height: 90%;
|
||||
height: 84%;
|
||||
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: light-dark(@dark-blue, @golden) transparent;
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
height: 100%;
|
||||
width: 100%;
|
||||
padding-bottom: 0;
|
||||
overflow: auto;
|
||||
overflow-x: auto;
|
||||
|
||||
.character-sidebar-sheet {
|
||||
grid-row: 1 / span 2;
|
||||
|
|
|
|||
|
|
@ -15,6 +15,10 @@
|
|||
grid-template-columns: 1fr 1fr;
|
||||
}
|
||||
}
|
||||
|
||||
&.start-align {
|
||||
align-self: flex-start;
|
||||
}
|
||||
}
|
||||
|
||||
.setting-group-field {
|
||||
|
|
|
|||
3
templates/dialogs/beastform/header.hbs
Normal file
3
templates/dialogs/beastform/header.hbs
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
<header class="dialog-header">
|
||||
<h1>{{localize 'DAGGERHEART.ITEMS.Beastform.dialogTitle'}}</h1>
|
||||
</header>
|
||||
|
|
@ -1,11 +1,15 @@
|
|||
<section class='tab-navigation'>
|
||||
<div class='navigation-container beastform-nav'>
|
||||
<nav class='feature-tab sheet-tabs tabs' data-group='primary'>
|
||||
{{#each tabs as |tab|}}
|
||||
<a class='{{tab.id}} {{tab.cssClass}}' data-action='tab' data-group='{{tab.group}}' data-tab='{{tab.id}}'>
|
||||
{{localize tab.label}}
|
||||
</a>
|
||||
{{/each}}
|
||||
</nav>
|
||||
<div class="navigation-inner-container">
|
||||
<line-div></line-div>
|
||||
<nav class='feature-tab sheet-tabs tabs' data-group='primary'>
|
||||
{{#each tabs as |tab|}}
|
||||
<a class='{{tab.id}} {{tab.cssClass}}' data-action='tab' data-group='{{tab.group}}' data-tab='{{tab.id}}'>
|
||||
{{localize tab.label}}
|
||||
</a>
|
||||
{{/each}}
|
||||
</nav>
|
||||
<line-div></line-div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
|
@ -1,21 +1,30 @@
|
|||
<div>
|
||||
{{#if uses}}
|
||||
<div class="form-group">
|
||||
<div class="form-fields">
|
||||
<label for="uses.enabled">Uses: {{uses.value}}/{{uses.max}}</label>
|
||||
<input name="uses.enabled" type="checkbox"{{#if uses.enabled}} checked{{/if}}>
|
||||
<fieldset class="one-column">
|
||||
<legend>{{localize 'DAGGERHEART.GENERAL.Cost.single'}}</legend>
|
||||
<ul>
|
||||
{{#if uses}}
|
||||
<li class="scalable-input">
|
||||
<div class="form-group">
|
||||
<div class="form-fields nest-inputs">
|
||||
<input name="uses.enabled" type="checkbox"{{#if uses.enabled}} checked{{/if}}>
|
||||
<label for="uses.enabled">Uses</label>
|
||||
</div>
|
||||
</div>
|
||||
<label class="modifier-label">{{uses.value}}/{{uses.max}}</label>
|
||||
</li>
|
||||
{{/if}}
|
||||
{{#each costs as | cost index |}}
|
||||
<li class="scalable-input">
|
||||
<div class="form-group">
|
||||
<div class="form-fields nest-inputs">
|
||||
<input name="costs.{{index}}.enabled" type="checkbox"{{#if enabled}} checked{{/if}}>
|
||||
<label>{{label}}</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{#each costs as | cost index |}}
|
||||
<div class="form-group">
|
||||
<div class="form-fields">
|
||||
<label>{{label}}: {{total}}</label>
|
||||
<input name="costs.{{index}}.enabled" type="checkbox"{{#if enabled}} checked{{/if}}>
|
||||
{{#if scalable}}
|
||||
<input type="range" value="{{scale}}" min="1" max="10" step="{{step}}" name="costs.{{index}}.scale">
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
{{#if scalable}}
|
||||
<input type="range" value="{{scale}}" min="1" max="10" step="{{step}}" name="costs.{{index}}.scale">
|
||||
{{/if}}
|
||||
<label class="modifier-label">{{total}}/10</label>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</fieldset>
|
||||
|
|
@ -135,6 +135,9 @@
|
|||
{{#if (eq @root.rollType 'DualityRoll')}}<span class="formula-label">{{localize "DAGGERHEART.GENERAL.situationalBonus"}}</span>{{/if}}
|
||||
<input type="text" value="{{extraFormula}}" name="extraFormula" placeholder="{{#if (eq @root.rollType 'DualityRoll')}}Ex: 1d6 + 5{{else}}Situational Bonus{{/if}}">
|
||||
</fieldset>
|
||||
{{#if (or costs uses)}}
|
||||
{{> 'systems/daggerheart/templates/dialogs/dice-roll/costSelection.hbs'}}
|
||||
{{/if}}
|
||||
{{/unless}}
|
||||
|
||||
<span class="formula-label"><b>{{localize "DAGGERHEART.GENERAL.formula"}}:</b> {{@root.formula}}</span>
|
||||
|
|
@ -155,9 +158,14 @@
|
|||
</button>
|
||||
</div>
|
||||
{{else}}
|
||||
<button class="sunmit-btn" data-action="submitRoll"{{#unless canRoll}} disabled{{/unless}}>
|
||||
<span class="label">{{localize "DAGGERHEART.GENERAL.continue"}}</span>
|
||||
</button>
|
||||
{{#if (or costs uses)}}
|
||||
{{> 'systems/daggerheart/templates/dialogs/dice-roll/costSelection.hbs'}}
|
||||
{{/if}}
|
||||
<div class="roll-dialog-controls">
|
||||
<button class="sunmit-btn" data-action="submitRoll"{{#unless canRoll}} disabled{{/unless}}>
|
||||
<span class="label">{{localize "DAGGERHEART.GENERAL.continue"}}</span>
|
||||
</button>
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -1,4 +1,7 @@
|
|||
<div>
|
||||
<header class="dialog-header">
|
||||
<h1>{{localize 'DAGGERHEART.SETTINGS.Menu.appearance.name'}}</h1>
|
||||
</header>
|
||||
{{formGroup settingFields.schema.fields.displayFear value=settingFields._source.displayFear localize=true}}
|
||||
{{formGroup settingFields.schema.fields.showGenericStatusEffects value=settingFields._source.showGenericStatusEffects localize=true}}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,7 @@
|
|||
<div>
|
||||
<header class="dialog-header">
|
||||
<h1>{{localize 'DAGGERHEART.SETTINGS.Menu.automation.name'}}</h1>
|
||||
</header>
|
||||
<div class="form-group">
|
||||
<label>{{localize "DAGGERHEART.SETTINGS.Automation.FIELDS.hopeFear.label"}}</label>
|
||||
{{formGroup settingFields.schema.fields.hopeFear.fields.gm value=settingFields._source.hopeFear.gm localize=true}}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,7 @@
|
|||
<div class="scrollable">
|
||||
<header class="dialog-header">
|
||||
<h1>{{localize 'DAGGERHEART.SETTINGS.Menu.homebrew.name'}}</h1>
|
||||
</header>
|
||||
{{formGroup settingFields.schema.fields.maxFear value=settingFields._source.maxFear localize=true}}
|
||||
|
||||
<h4>{{localize "DAGGERHEART.SETTINGS.Homebrew.FIELDS.traitArray.label"}}</h4>
|
||||
|
|
@ -27,7 +30,7 @@
|
|||
<fieldset class="two-columns even">
|
||||
<legend>{{localize "DAGGERHEART.SETTINGS.Homebrew.downtimeMoves"}}</legend>
|
||||
|
||||
<fieldset>
|
||||
<fieldset class="start-align">
|
||||
<legend>
|
||||
{{localize "DAGGERHEART.APPLICATIONS.Downtime.longRest.title"}}
|
||||
<a data-action="addItem" data-type="longRest"><i class="fa-solid fa-plus"></i></a>
|
||||
|
|
@ -48,7 +51,7 @@
|
|||
</div>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<fieldset class="start-align">
|
||||
<legend>
|
||||
{{localize "DAGGERHEART.APPLICATIONS.Downtime.shortRest.title"}}
|
||||
<a data-action="addItem" data-type="shortRest"><i class="fa-solid fa-plus"></i></a>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,7 @@
|
|||
<div>
|
||||
<header class="dialog-header">
|
||||
<h1>{{localize 'DAGGERHEART.SETTINGS.Menu.range.name'}}</h1>
|
||||
</header>
|
||||
<div class="settings-col">
|
||||
{{formGroup settingFields.schema.fields.enabled value=settingFields._source.enabled localize=true}}
|
||||
{{formGroup settingFields.schema.fields.melee value=settingFields._source.melee localize=true}}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,8 @@
|
|||
<div>
|
||||
<header class="dialog-header">
|
||||
<h1>{{localize 'DAGGERHEART.SETTINGS.Menu.variantRules.name'}}</h1>
|
||||
</header>
|
||||
|
||||
<div class="form-group">
|
||||
<label>{{localize "DAGGERHEART.SETTINGS.Menu.variantRules.actionTokens"}}</label>
|
||||
|
||||
|
|
|
|||
|
|
@ -12,6 +12,30 @@
|
|||
</a>
|
||||
</div>
|
||||
|
||||
<div class="currency-section">
|
||||
<div class="input">
|
||||
<span>{{localize this.inventory.currency.coins}}</span>
|
||||
{{formInput systemFields.gold.fields.coins value=source.system.gold.coins enriched=source.system.gold.coins
|
||||
localize=true toggled=true}}
|
||||
</div>
|
||||
<div class="input">
|
||||
<span>{{localize this.inventory.currency.handfulls}}</span>
|
||||
{{formInput systemFields.gold.fields.handfulls value=source.system.gold.handfulls
|
||||
enriched=source.system.gold.handfulls localize=true toggled=true}}
|
||||
</div>
|
||||
<div class="input">
|
||||
<span>{{localize this.inventory.currency.bags}}</span>
|
||||
{{formInput systemFields.gold.fields.bags value=source.system.gold.bags enriched=source.system.gold.bags
|
||||
localize=true toggled=true}}
|
||||
</div>
|
||||
<div class="input">
|
||||
<span>{{localize this.inventory.currency.chests}}</span>
|
||||
{{formInput systemFields.gold.fields.chests value=source.system.gold.chests
|
||||
enriched=source.system.gold.chests localize=true toggled=true}}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="items-section">
|
||||
{{> 'daggerheart.inventory-items'
|
||||
title='TYPES.Item.weapon'
|
||||
|
|
@ -44,28 +68,4 @@
|
|||
canCreate=true
|
||||
}}
|
||||
</div>
|
||||
|
||||
<div class="currency-section">
|
||||
<div class="input">
|
||||
<span>{{localize this.inventory.currency.coins}}</span>
|
||||
{{formInput systemFields.gold.fields.coins value=source.system.gold.coins enriched=source.system.gold.coins
|
||||
localize=true toggled=true}}
|
||||
</div>
|
||||
<div class="input">
|
||||
<span>{{localize this.inventory.currency.handfulls}}</span>
|
||||
{{formInput systemFields.gold.fields.handfulls value=source.system.gold.handfulls
|
||||
enriched=source.system.gold.handfulls localize=true toggled=true}}
|
||||
</div>
|
||||
<div class="input">
|
||||
<span>{{localize this.inventory.currency.bags}}</span>
|
||||
{{formInput systemFields.gold.fields.bags value=source.system.gold.bags enriched=source.system.gold.bags
|
||||
localize=true toggled=true}}
|
||||
</div>
|
||||
<div class="input">
|
||||
<span>{{localize this.inventory.currency.chests}}</span>
|
||||
{{formInput systemFields.gold.fields.chests value=source.system.gold.chests
|
||||
enriched=source.system.gold.chests localize=true toggled=true}}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
|
|
@ -142,7 +142,7 @@
|
|||
{{#each document.system.experiences as |experience id|}}
|
||||
<div class="experience-row">
|
||||
<div class="experience-value">
|
||||
+{{experience.total}}
|
||||
+{{experience.value}}
|
||||
</div>
|
||||
<input name="system.experiences.{{id}}.name" data-experience={{id}}
|
||||
value="{{experience.name}}" type="text" />
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue