mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-06-06 04:44:16 +02:00
Compare commits
No commits in common. "6cb31ac3b7ec91859c9752bae9ac4d71c7949d9c" and "505cc634d356e903f2057c993d5fde5282dba584" have entirely different histories.
6cb31ac3b7
...
505cc634d3
64 changed files with 381 additions and 311 deletions
|
|
@ -358,6 +358,8 @@ export default class GroupRollDialog extends HandlebarsApplicationMixin(Applicat
|
||||||
});
|
});
|
||||||
|
|
||||||
if (!result) return;
|
if (!result) return;
|
||||||
|
// todo: move logic to actor.rollTrait() or actor.diceRoll()
|
||||||
|
if (!game.modules.get('dice-so-nice')?.active) foundry.audio.AudioHelper.play({ src: CONFIG.sounds.dice });
|
||||||
|
|
||||||
const rollData = result.messageRoll.toJSON();
|
const rollData = result.messageRoll.toJSON();
|
||||||
delete rollData.options.messageRoll;
|
delete rollData.options.messageRoll;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
import { itemAbleRollParse, triggerChatRollFx } from '../../helpers/utils.mjs';
|
import { itemAbleRollParse } from '../../helpers/utils.mjs';
|
||||||
|
|
||||||
const { ApplicationV2, HandlebarsApplicationMixin } = foundry.applications.api;
|
const { ApplicationV2, HandlebarsApplicationMixin } = foundry.applications.api;
|
||||||
|
|
||||||
|
|
@ -69,7 +69,7 @@ export default class ResourceDiceDialog extends HandlebarsApplicationMixin(Appli
|
||||||
const max = itemAbleRollParse(this.item.system.resource.max, this.actor, this.item);
|
const max = itemAbleRollParse(this.item.system.resource.max, this.actor, this.item);
|
||||||
const diceFormula = `${max}${this.item.system.resource.dieFaces}`;
|
const diceFormula = `${max}${this.item.system.resource.dieFaces}`;
|
||||||
const roll = await new Roll(diceFormula).evaluate();
|
const roll = await new Roll(diceFormula).evaluate();
|
||||||
await triggerChatRollFx([roll]);
|
if (game.modules.get('dice-so-nice')?.active) await game.dice3d.showForRoll(roll, game.user, true);
|
||||||
this.rollValues = roll.terms[0].results.map(x => ({ value: x.result, used: false }));
|
this.rollValues = roll.terms[0].results.map(x => ({ value: x.result, used: false }));
|
||||||
this.resetUsed = true;
|
this.resetUsed = true;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -434,6 +434,8 @@ export default class TagTeamDialog extends HandlebarsApplicationMixin(Applicatio
|
||||||
|
|
||||||
if (!result) return;
|
if (!result) return;
|
||||||
|
|
||||||
|
if (!game.modules.get('dice-so-nice')?.active) foundry.audio.AudioHelper.play({ src: CONFIG.sounds.dice });
|
||||||
|
|
||||||
const rollData = result.messageRoll.toJSON();
|
const rollData = result.messageRoll.toJSON();
|
||||||
delete rollData.options.messageRoll;
|
delete rollData.options.messageRoll;
|
||||||
this.updatePartyData(
|
this.updatePartyData(
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,3 @@
|
||||||
import { triggerChatRollFx } from '../../helpers/utils.mjs';
|
|
||||||
|
|
||||||
const fields = foundry.data.fields;
|
const fields = foundry.data.fields;
|
||||||
|
|
||||||
const targetsField = () =>
|
const targetsField = () =>
|
||||||
|
|
@ -156,7 +154,13 @@ export default class DHActorRoll extends foundry.abstract.TypeDataModel {
|
||||||
partData.roll = rerolled.toJSON();
|
partData.roll = rerolled.toJSON();
|
||||||
}
|
}
|
||||||
|
|
||||||
await triggerChatRollFx(rerolls);
|
if (game.modules.get('dice-so-nice')?.active) {
|
||||||
|
for (const roll of rerolls) {
|
||||||
|
await game.dice3d.showForRoll(roll, game.user, true);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
foundry.audio.AudioHelper.play({ src: CONFIG.sounds.dice });
|
||||||
|
}
|
||||||
|
|
||||||
return update;
|
return update;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -72,6 +72,9 @@ export default class DamageField extends fields.SchemaField {
|
||||||
damageConfig.source.message = messageId;
|
damageConfig.source.message = messageId;
|
||||||
damageConfig.directDamage = !!damageConfig.source?.message;
|
damageConfig.directDamage = !!damageConfig.source?.message;
|
||||||
|
|
||||||
|
// if(damageConfig.source?.message && game.modules.get('dice-so-nice')?.active)
|
||||||
|
// await game.dice3d.waitFor3DAnimationByMessageID(damageConfig.source.message);
|
||||||
|
|
||||||
const damageResult = await CONFIG.Dice.daggerheart.DamageRoll.build(damageConfig);
|
const damageResult = await CONFIG.Dice.daggerheart.DamageRoll.build(damageConfig);
|
||||||
if (!damageResult) return false;
|
if (!damageResult) return false;
|
||||||
if (damageResult.actionChatMessageHandled) config.actionChatMessageHandled = true;
|
if (damageResult.actionChatMessageHandled) config.actionChatMessageHandled = true;
|
||||||
|
|
|
||||||
|
|
@ -78,24 +78,6 @@ export class DHActionRollData extends foundry.abstract.DataModel {
|
||||||
return formula;
|
return formula;
|
||||||
}
|
}
|
||||||
|
|
||||||
getModifier() {
|
|
||||||
const modifiers = [];
|
|
||||||
if (!this.parent?.actor) return modifiers;
|
|
||||||
switch (this.parent.actor.type) {
|
|
||||||
case 'companion':
|
|
||||||
case 'adversary':
|
|
||||||
if (this.type === CONFIG.DH.GENERAL.rollTypes.attack.id)
|
|
||||||
modifiers.push({
|
|
||||||
label: 'Bonus to Hit',
|
|
||||||
value: this.bonus ?? this.parent.actor.system.attack.roll.bonus ?? 0
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return modifiers;
|
|
||||||
}
|
|
||||||
|
|
||||||
get rollTrait() {
|
get rollTrait() {
|
||||||
if (this.parent?.actor?.type !== 'character') return null;
|
if (this.parent?.actor?.type !== 'character') return null;
|
||||||
switch (this.type) {
|
switch (this.type) {
|
||||||
|
|
@ -145,7 +127,6 @@ export default class RollField extends fields.EmbeddedDataField {
|
||||||
config.dialog.configure = RollField.getAutomation() ? !config.dialog.configure : config.dialog.configure;
|
config.dialog.configure = RollField.getAutomation() ? !config.dialog.configure : config.dialog.configure;
|
||||||
|
|
||||||
const roll = {
|
const roll = {
|
||||||
baseModifiers: this.roll.getModifier(),
|
|
||||||
label: 'Attack',
|
label: 'Attack',
|
||||||
type: this.roll?.type,
|
type: this.roll?.type,
|
||||||
trait: this.roll?.rollTrait,
|
trait: this.roll?.rollTrait,
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
import { itemAbleRollParse, triggerChatRollFx } from '../../../helpers/utils.mjs';
|
import { itemAbleRollParse } from '../../../helpers/utils.mjs';
|
||||||
import FormulaField from '../formulaField.mjs';
|
import FormulaField from '../formulaField.mjs';
|
||||||
|
|
||||||
const fields = foundry.data.fields;
|
const fields = foundry.data.fields;
|
||||||
|
|
@ -40,7 +40,7 @@ export default class DHSummonField extends fields.ArrayField {
|
||||||
const roll = new Roll(itemAbleRollParse(summon.count, this.actor, this.item));
|
const roll = new Roll(itemAbleRollParse(summon.count, this.actor, this.item));
|
||||||
await roll.evaluate();
|
await roll.evaluate();
|
||||||
const count = roll.total;
|
const count = roll.total;
|
||||||
if (!roll.isDeterministic) rolls.push(roll);
|
if (!roll.isDeterministic && game.modules.get('dice-so-nice')?.active) rolls.push(roll);
|
||||||
|
|
||||||
const actor = await DHSummonField.getWorldActor(await foundry.utils.fromUuid(summon.actorUUID));
|
const actor = await DHSummonField.getWorldActor(await foundry.utils.fromUuid(summon.actorUUID));
|
||||||
/* Extending summon data in memory so it's available in actionField.toChat. Think it's harmless, but ugly. Could maybe find a better way. */
|
/* Extending summon data in memory so it's available in actionField.toChat. Think it's harmless, but ugly. Could maybe find a better way. */
|
||||||
|
|
@ -56,7 +56,7 @@ export default class DHSummonField extends fields.ArrayField {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rolls.length) await triggerChatRollFx(rolls);
|
if (rolls.length) await Promise.all(rolls.map(roll => game.dice3d.showForRoll(roll, game.user, true)));
|
||||||
|
|
||||||
this.actor.sheet?.minimize();
|
this.actor.sheet?.minimize();
|
||||||
DHSummonField.handleSummon(summonData, this.actor);
|
DHSummonField.handleSummon(summonData, this.actor);
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
import D20RollDialog from '../applications/dialogs/d20RollDialog.mjs';
|
import D20RollDialog from '../applications/dialogs/d20RollDialog.mjs';
|
||||||
import { triggerChatRollFx } from '../helpers/utils.mjs';
|
|
||||||
import DHRoll from './dhRoll.mjs';
|
import DHRoll from './dhRoll.mjs';
|
||||||
|
|
||||||
export default class D20Roll extends DHRoll {
|
export default class D20Roll extends DHRoll {
|
||||||
|
|
@ -129,8 +128,30 @@ export default class D20Roll extends DHRoll {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getBaseModifiers() {
|
||||||
|
const modifiers = [];
|
||||||
|
const actor = foundry.utils.fromUuidSync(this.options.source.actor);
|
||||||
|
if (!actor) return modifiers;
|
||||||
|
switch (actor.type) {
|
||||||
|
case 'companion':
|
||||||
|
case 'adversary':
|
||||||
|
if (
|
||||||
|
this.options.roll.type === CONFIG.DH.GENERAL.rollTypes.attack.id ||
|
||||||
|
this.options.source.action === actor.system.attack.id
|
||||||
|
)
|
||||||
|
modifiers.push({
|
||||||
|
label: 'Bonus to Hit',
|
||||||
|
value: this.data.attack.roll.bonus ?? 0
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return modifiers;
|
||||||
|
}
|
||||||
|
|
||||||
applyBaseBonus() {
|
applyBaseBonus() {
|
||||||
const modifiers = foundry.utils.deepClone(this.options.roll.baseModifiers) ?? [];
|
const modifiers = this.getBaseModifiers();
|
||||||
|
|
||||||
modifiers.push(
|
modifiers.push(
|
||||||
...this.getBonus(
|
...this.getBonus(
|
||||||
|
|
@ -231,7 +252,11 @@ export default class D20Roll extends DHRoll {
|
||||||
if (this instanceof game.system.api.dice.DualityRoll) return result;
|
if (this instanceof game.system.api.dice.DualityRoll) return result;
|
||||||
|
|
||||||
if (options?.liveRoll) {
|
if (options?.liveRoll) {
|
||||||
await triggerChatRollFx([result]);
|
if (game.modules.get('dice-so-nice')?.active) {
|
||||||
|
await game.dice3d.showForRoll(result, game.user, true);
|
||||||
|
} else {
|
||||||
|
foundry.audio.AudioHelper.play({ src: CONFIG.sounds.dice });
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
import DamageDialog from '../applications/dialogs/damageDialog.mjs';
|
import DamageDialog from '../applications/dialogs/damageDialog.mjs';
|
||||||
import { parseRallyDice, triggerChatRollFx } from '../helpers/utils.mjs';
|
import { parseRallyDice } from '../helpers/utils.mjs';
|
||||||
import DHRoll from './dhRoll.mjs';
|
import DHRoll from './dhRoll.mjs';
|
||||||
|
|
||||||
export default class DamageRoll extends DHRoll {
|
export default class DamageRoll extends DHRoll {
|
||||||
|
|
@ -43,24 +43,25 @@ export default class DamageRoll extends DHRoll {
|
||||||
const chatMessage = config.source?.message
|
const chatMessage = config.source?.message
|
||||||
? ui.chat.collection.get(config.source.message)
|
? ui.chat.collection.get(config.source.message)
|
||||||
: getDocumentClass('ChatMessage').applyMode({}, config.rollMode ?? 'public');
|
: getDocumentClass('ChatMessage').applyMode({}, config.rollMode ?? 'public');
|
||||||
|
|
||||||
const diceRolls = [];
|
|
||||||
if (game.modules.get('dice-so-nice')?.active) {
|
if (game.modules.get('dice-so-nice')?.active) {
|
||||||
config.mute = true;
|
|
||||||
const pool = foundry.dice.terms.PoolTerm.fromRolls(
|
const pool = foundry.dice.terms.PoolTerm.fromRolls(
|
||||||
Object.values(config.damage).flatMap(r => r.parts.map(p => p.roll))
|
Object.values(config.damage).flatMap(r => r.parts.map(p => p.roll))
|
||||||
|
),
|
||||||
|
diceRoll = Roll.fromTerms([pool]);
|
||||||
|
await game.dice3d.showForRoll(
|
||||||
|
diceRoll,
|
||||||
|
game.user,
|
||||||
|
true,
|
||||||
|
chatMessage.whisper?.length > 0 ? chatMessage.whisper : null,
|
||||||
|
chatMessage.blind
|
||||||
);
|
);
|
||||||
diceRolls.push(Roll.fromTerms([pool]));
|
config.mute = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
await triggerChatRollFx(diceRolls, {
|
|
||||||
whisper: chatMessage.whisper?.length > 0 ? chatMessage.whisper : null,
|
|
||||||
blind: chatMessage.blind
|
|
||||||
});
|
|
||||||
await super.buildPost(roll, config, message);
|
await super.buildPost(roll, config, message);
|
||||||
|
|
||||||
if (config.source?.message) {
|
if (config.source?.message) {
|
||||||
chatMessage.update({ 'system.damage': config.damage });
|
chatMessage.update({ 'system.damage': config.damage });
|
||||||
|
|
||||||
|
if (!game.modules.get('dice-so-nice')?.active) foundry.audio.AudioHelper.play({ src: CONFIG.sounds.dice });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -323,10 +324,9 @@ export default class DamageRoll extends DHRoll {
|
||||||
const newIndex = parsedDiceTerms[dice].results.length;
|
const newIndex = parsedDiceTerms[dice].results.length;
|
||||||
await term.reroll(`/r1=${termResult.result}`);
|
await term.reroll(`/r1=${termResult.result}`);
|
||||||
|
|
||||||
const diceRolls = [];
|
|
||||||
if (game.modules.get('dice-so-nice')?.active) {
|
if (game.modules.get('dice-so-nice')?.active) {
|
||||||
const newResult = parsedDiceTerms[dice].results[newIndex];
|
const newResult = parsedDiceTerms[dice].results[newIndex];
|
||||||
diceRolls.push({
|
const diceSoNiceRoll = {
|
||||||
_evaluated: true,
|
_evaluated: true,
|
||||||
dice: [
|
dice: [
|
||||||
new foundry.dice.terms.Die({
|
new foundry.dice.terms.Die({
|
||||||
|
|
@ -337,10 +337,11 @@ export default class DamageRoll extends DHRoll {
|
||||||
})
|
})
|
||||||
],
|
],
|
||||||
options: { appearance: {} }
|
options: { appearance: {} }
|
||||||
});
|
};
|
||||||
|
|
||||||
|
await game.dice3d.showForRoll(diceSoNiceRoll, game.user, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
await triggerChatRollFx(diceRolls);
|
|
||||||
await parsedRoll.evaluate();
|
await parsedRoll.evaluate();
|
||||||
|
|
||||||
const results = parsedRoll.dice[dice].results.map(result => ({
|
const results = parsedRoll.dice[dice].results.map(result => ({
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
import D20RollDialog from '../applications/dialogs/d20RollDialog.mjs';
|
import D20RollDialog from '../applications/dialogs/d20RollDialog.mjs';
|
||||||
import { triggerChatRollFx } from '../helpers/utils.mjs';
|
|
||||||
|
|
||||||
export default class DHRoll extends Roll {
|
export default class DHRoll extends Roll {
|
||||||
baseTerms = [];
|
baseTerms = [];
|
||||||
|
|
@ -76,7 +75,9 @@ export default class DHRoll extends Roll {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (config.skips?.createMessage) {
|
if (config.skips?.createMessage) {
|
||||||
await triggerChatRollFx([roll]);
|
if (game.modules.get('dice-so-nice')?.active) {
|
||||||
|
await game.dice3d.showForRoll(roll, game.user, true);
|
||||||
|
}
|
||||||
} else if (!config.source?.message) {
|
} else if (!config.source?.message) {
|
||||||
config.message = await this.toMessage(roll, config);
|
config.message = await this.toMessage(roll, config);
|
||||||
}
|
}
|
||||||
|
|
@ -84,7 +85,6 @@ export default class DHRoll extends Roll {
|
||||||
|
|
||||||
static postEvaluate(roll, config = {}) {
|
static postEvaluate(roll, config = {}) {
|
||||||
return {
|
return {
|
||||||
...roll.options.roll,
|
|
||||||
total: roll.total,
|
total: roll.total,
|
||||||
formula: roll.formula,
|
formula: roll.formula,
|
||||||
dice: roll.dice.map(d => ({
|
dice: roll.dice.map(d => ({
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
import { updateResourcesForDualityReroll } from '../helpers.mjs';
|
import { ResourceUpdateMap } from '../../data/action/baseAction.mjs';
|
||||||
|
import DualityRoll from '../dualityRoll.mjs';
|
||||||
|
|
||||||
export default class DualityDie extends foundry.dice.terms.Die {
|
export default class DualityDie extends foundry.dice.terms.Die {
|
||||||
constructor(options) {
|
constructor(options) {
|
||||||
|
|
@ -39,7 +40,7 @@ export default class DualityDie extends foundry.dice.terms.Die {
|
||||||
if (options.liveRoll.isReaction) return;
|
if (options.liveRoll.isReaction) return;
|
||||||
|
|
||||||
const newDuality = this.#getDualityState(options.liveRoll.roll);
|
const newDuality = this.#getDualityState(options.liveRoll.roll);
|
||||||
updateResourcesForDualityReroll(oldDuality, newDuality, options.liveRoll.actor);
|
DualityRoll.updateResources(oldDuality, newDuality, options.liveRoll.actor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ import D20RollDialog from '../applications/dialogs/d20RollDialog.mjs';
|
||||||
import D20Roll from './d20Roll.mjs';
|
import D20Roll from './d20Roll.mjs';
|
||||||
import { parseRallyDice, setDiceSoNiceForDualityRoll } from '../helpers/utils.mjs';
|
import { parseRallyDice, setDiceSoNiceForDualityRoll } from '../helpers/utils.mjs';
|
||||||
import { getDiceSoNicePresets } from '../config/generalConfig.mjs';
|
import { getDiceSoNicePresets } from '../config/generalConfig.mjs';
|
||||||
import { updateResourcesForDualityReroll } from './helpers.mjs';
|
import { ResourceUpdateMap } from '../data/action/baseAction.mjs';
|
||||||
|
|
||||||
export default class DualityRoll extends D20Roll {
|
export default class DualityRoll extends D20Roll {
|
||||||
_advantageNumber = 1;
|
_advantageNumber = 1;
|
||||||
|
|
@ -132,7 +132,13 @@ export default class DualityRoll extends D20Roll {
|
||||||
}
|
}
|
||||||
|
|
||||||
createBaseDice() {
|
createBaseDice() {
|
||||||
|
if (
|
||||||
|
this.dice[0] instanceof game.system.api.dice.diceTypes.HopeDie &&
|
||||||
|
this.dice[1] instanceof game.system.api.dice.diceTypes.FearDie
|
||||||
|
) {
|
||||||
this.terms = [this.terms[0], this.terms[1], this.terms[2]];
|
this.terms = [this.terms[0], this.terms[1], this.terms[2]];
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
this.terms[0] = new game.system.api.dice.diceTypes.HopeDie({
|
this.terms[0] = new game.system.api.dice.diceTypes.HopeDie({
|
||||||
faces: this.data.rules.dualityRoll?.defaultHopeDice ?? 12
|
faces: this.data.rules.dualityRoll?.defaultHopeDice ?? 12
|
||||||
|
|
@ -385,6 +391,24 @@ export default class DualityRoll extends D20Roll {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static updateResources(oldDuality, newDuality, actor) {
|
||||||
|
const { hopeFear } = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.Automation);
|
||||||
|
if (game.user.isGM ? !hopeFear.gm : !hopeFear.players) return;
|
||||||
|
|
||||||
|
const updates = [];
|
||||||
|
const hope = (newDuality >= 0 ? 1 : 0) - (oldDuality >= 0 ? 1 : 0);
|
||||||
|
const stress = (newDuality === 0 ? 1 : 0) - (oldDuality === 0 ? 1 : 0);
|
||||||
|
const fear = (newDuality === -1 ? 1 : 0) - (oldDuality === -1 ? 1 : 0);
|
||||||
|
|
||||||
|
if (hope !== 0) updates.push({ key: 'hope', value: hope, total: -1 * hope, enabled: true });
|
||||||
|
if (stress !== 0) updates.push({ key: 'stress', value: -1 * stress, total: stress, enabled: true });
|
||||||
|
if (fear !== 0) updates.push({ key: 'fear', value: fear, total: -1 * fear, enabled: true });
|
||||||
|
|
||||||
|
const resourceUpdates = new ResourceUpdateMap(actor);
|
||||||
|
resourceUpdates.addResources(updates);
|
||||||
|
resourceUpdates.updateResources();
|
||||||
|
}
|
||||||
|
|
||||||
async reroll(options) {
|
async reroll(options) {
|
||||||
const oldDuality = this.withHope ? 1 : this.withFear ? -1 : 0;
|
const oldDuality = this.withHope ? 1 : this.withFear ? -1 : 0;
|
||||||
const rerolled = DualityRoll.fromData((await super.reroll(options)).toJSON());
|
const rerolled = DualityRoll.fromData((await super.reroll(options)).toJSON());
|
||||||
|
|
@ -411,7 +435,7 @@ export default class DualityRoll extends D20Roll {
|
||||||
|
|
||||||
const newDuality = rerolled.withHope ? 1 : rerolled.withFear ? -1 : 0;
|
const newDuality = rerolled.withHope ? 1 : rerolled.withFear ? -1 : 0;
|
||||||
const actor = await foundry.utils.fromUuid(this.options.source.actor);
|
const actor = await foundry.utils.fromUuid(this.options.source.actor);
|
||||||
updateResourcesForDualityReroll(oldDuality, newDuality, actor);
|
DualityRoll.updateResources(oldDuality, newDuality, actor);
|
||||||
}
|
}
|
||||||
|
|
||||||
return rerolled;
|
return rerolled;
|
||||||
|
|
|
||||||
|
|
@ -1,17 +0,0 @@
|
||||||
export function updateResourcesForDualityReroll(oldDuality, newDuality, actor) {
|
|
||||||
const { hopeFear } = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.Automation);
|
|
||||||
if (game.user.isGM ? !hopeFear.gm : !hopeFear.players) return;
|
|
||||||
|
|
||||||
const updates = [];
|
|
||||||
const hope = (newDuality >= 0 ? 1 : 0) - (oldDuality >= 0 ? 1 : 0);
|
|
||||||
const stress = (newDuality === 0 ? 1 : 0) - (oldDuality === 0 ? 1 : 0);
|
|
||||||
const fear = (newDuality === -1 ? 1 : 0) - (oldDuality === -1 ? 1 : 0);
|
|
||||||
|
|
||||||
if (hope !== 0) updates.push({ key: 'hope', value: hope, total: -1 * hope, enabled: true });
|
|
||||||
if (stress !== 0) updates.push({ key: 'stress', value: -1 * stress, total: stress, enabled: true });
|
|
||||||
if (fear !== 0) updates.push({ key: 'fear', value: fear, total: -1 * fear, enabled: true });
|
|
||||||
|
|
||||||
const resourceUpdates = new ResourceUpdateMap(actor);
|
|
||||||
resourceUpdates.addResources(updates);
|
|
||||||
resourceUpdates.updateResources();
|
|
||||||
}
|
|
||||||
|
|
@ -864,18 +864,3 @@ export function camelize(str) {
|
||||||
})
|
})
|
||||||
.replace(/\s+/g, '');
|
.replace(/\s+/g, '');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Triggers DiceSoNice rolls or dice roll audio for rolls. Not used for duality rolls.
|
|
||||||
* @param { Roll[] } rolls
|
|
||||||
* @return { void }
|
|
||||||
*/
|
|
||||||
export async function triggerChatRollFx(rolls, options = { whisper: false, blind: false }) {
|
|
||||||
const { whisper, blind } = options;
|
|
||||||
if (game.modules.get('dice-so-nice')?.active) {
|
|
||||||
const rerollPromises = rolls.map(roll => game.dice3d.showForRoll(roll, game.user, true, whisper, blind));
|
|
||||||
await Promise.allSettled(rerollPromises);
|
|
||||||
} else {
|
|
||||||
foundry.audio.AudioHelper.play({ src: CONFIG.sounds.dice });
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: var(--font-size-16);
|
font-size: var(--font-size-16);
|
||||||
margin: 0 4px;
|
margin: 0 4px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
color: light-dark(@dark, @beige);
|
color: light-dark(@dark, @beige);
|
||||||
background-image: url('../assets/parchments/dh-parchment-dark.png');
|
background-image: url('../assets/parchments/dh-parchment-dark.png');
|
||||||
|
|
@ -58,7 +58,7 @@
|
||||||
position: relative;
|
position: relative;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
width: 120px;
|
width: 120px;
|
||||||
|
|
@ -164,7 +164,7 @@
|
||||||
|
|
||||||
.hybrid-data {
|
.hybrid-data {
|
||||||
padding: 0 2px;
|
padding: 0 2px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
color: light-dark(@dark, @beige);
|
color: light-dark(@dark, @beige);
|
||||||
background-image: url('../assets/parchments/dh-parchment-dark.png');
|
background-image: url('../assets/parchments/dh-parchment-dark.png');
|
||||||
|
|
@ -191,7 +191,7 @@
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
gap: 4px;
|
gap: 4px;
|
||||||
padding: 0 4px;
|
padding: 0 4px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
color: light-dark(@dark, @beige);
|
color: light-dark(@dark, @beige);
|
||||||
background-image: url('../assets/parchments/dh-parchment-dark.png');
|
background-image: url('../assets/parchments/dh-parchment-dark.png');
|
||||||
|
|
@ -226,7 +226,7 @@
|
||||||
gap: 4px;
|
gap: 4px;
|
||||||
|
|
||||||
.trait-card {
|
.trait-card {
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
padding: 2px;
|
padding: 2px;
|
||||||
opacity: 0.4;
|
opacity: 0.4;
|
||||||
|
|
|
||||||
|
|
@ -79,7 +79,7 @@
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
padding: 0 2px;
|
padding: 0 2px;
|
||||||
background-image: url(../assets/parchments/dh-parchment-light.png);
|
background-image: url(../assets/parchments/dh-parchment-light.png);
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
color: light-dark(@beige, @dark);
|
color: light-dark(@beige, @dark);
|
||||||
opacity: 0.4;
|
opacity: 0.4;
|
||||||
|
|
@ -203,7 +203,7 @@
|
||||||
height: 16px;
|
height: 16px;
|
||||||
width: 110px;
|
width: 110px;
|
||||||
min-height: unset;
|
min-height: unset;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
color: light-dark(@beige, @beige);
|
color: light-dark(@beige, @beige);
|
||||||
background-color: light-dark(var(--color-warm-3), var(--color-warm-3));
|
background-color: light-dark(var(--color-warm-3), var(--color-warm-3));
|
||||||
|
|
||||||
|
|
@ -230,7 +230,7 @@
|
||||||
.suggested-trait-container {
|
.suggested-trait-container {
|
||||||
width: 56px;
|
width: 56px;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
color: light-dark(@beige, @dark);
|
color: light-dark(@beige, @dark);
|
||||||
background-image: url('../assets/parchments/dh-parchment-light.png');
|
background-image: url('../assets/parchments/dh-parchment-light.png');
|
||||||
|
|
@ -345,7 +345,7 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
position: relative;
|
position: relative;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
|
|
||||||
.nav-section-text {
|
.nav-section-text {
|
||||||
|
|
@ -383,7 +383,7 @@
|
||||||
width: 56px;
|
width: 56px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
color: light-dark(@beige, @dark);
|
color: light-dark(@beige, @dark);
|
||||||
background-image: url(../assets/parchments/dh-parchment-light.png);
|
background-image: url(../assets/parchments/dh-parchment-light.png);
|
||||||
|
|
@ -447,7 +447,7 @@
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
|
||||||
.simple-equipment {
|
.simple-equipment {
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
position: relative;
|
position: relative;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
@ -466,7 +466,7 @@
|
||||||
top: -8px;
|
top: -8px;
|
||||||
font-size: var(--font-size-12);
|
font-size: var(--font-size-12);
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
color: @dark;
|
color: @dark;
|
||||||
background-image: url('../assets/parchments/dh-parchment-light.png');
|
background-image: url('../assets/parchments/dh-parchment-light.png');
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@
|
||||||
border-top: 0;
|
border-top: 0;
|
||||||
|
|
||||||
a {
|
a {
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
|
|
||||||
&[disabled] {
|
&[disabled] {
|
||||||
opacity: 0.4;
|
opacity: 0.4;
|
||||||
|
|
|
||||||
|
|
@ -67,6 +67,7 @@
|
||||||
|
|
||||||
i {
|
i {
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
|
// color: light-dark(@dark-blue, @golden);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -81,7 +81,7 @@
|
||||||
|
|
||||||
.mark-container {
|
.mark-container {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
height: 26px;
|
height: 26px;
|
||||||
padding: 0 1px;
|
padding: 0 1px;
|
||||||
|
|
@ -126,7 +126,7 @@
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|
||||||
.chip-inner-container {
|
.chip-inner-container {
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
height: 26px;
|
height: 26px;
|
||||||
padding: 0 4px;
|
padding: 0 4px;
|
||||||
|
|
|
||||||
|
|
@ -56,7 +56,7 @@
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
background: light-dark(@dark-blue-10, @golden-10);
|
background: light-dark(@dark-blue-10, @golden-10);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
|
|
||||||
.label {
|
.label {
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
|
|
@ -129,7 +129,7 @@
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
background: light-dark(@dark-blue-10, @golden-10);
|
background: light-dark(@dark-blue-10, @golden-10);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
|
|
||||||
.label {
|
.label {
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@
|
||||||
.activity-marker {
|
.activity-marker {
|
||||||
font-size: 0.5rem;
|
font-size: 0.5rem;
|
||||||
flex: none;
|
flex: none;
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
margin-right: 4px;
|
margin-right: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -55,7 +55,7 @@
|
||||||
|
|
||||||
.activity-selected-marker {
|
.activity-selected-marker {
|
||||||
font-size: var(--font-size-14);
|
font-size: var(--font-size-14);
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
color: light-dark(@dark, @beige);
|
color: light-dark(@dark, @beige);
|
||||||
background-image: url(../assets/parchments/dh-parchment-dark.png);
|
background-image: url(../assets/parchments/dh-parchment-dark.png);
|
||||||
|
|
@ -78,7 +78,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.refreshable-container {
|
.refreshable-container {
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
color: light-dark(@dark, @beige);
|
color: light-dark(@dark, @beige);
|
||||||
background-image: url('../assets/parchments/dh-parchment-dark.png');
|
background-image: url('../assets/parchments/dh-parchment-dark.png');
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
h1 {
|
h1 {
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
font: 700 var(--font-size-24) var(--dh-font-subtitle);
|
font: 700 var(--font-size-24) var(--dh-font-subtitle);
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -110,7 +110,7 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
button {
|
button {
|
||||||
--button-text-color: @color-text-primary;
|
--button-text-color: var(--color-text-primary);
|
||||||
--button-size: 1.5em;
|
--button-size: 1.5em;
|
||||||
padding: 0 var(--spacer-4);
|
padding: 0 var(--spacer-4);
|
||||||
img {
|
img {
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@
|
||||||
img {
|
img {
|
||||||
width: 136px;
|
width: 136px;
|
||||||
height: 136px;
|
height: 136px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
opacity: 0.4;
|
opacity: 0.4;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@
|
||||||
|
|
||||||
a,
|
a,
|
||||||
span {
|
span {
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@
|
||||||
width: 120px;
|
width: 120px;
|
||||||
height: 120px;
|
height: 120px;
|
||||||
background: light-dark(@dark-blue-10, @golden-10);
|
background: light-dark(@dark-blue-10, @golden-10);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
|
|
||||||
&.selected {
|
&.selected {
|
||||||
background: light-dark(@dark-blue-40, @golden-40);
|
background: light-dark(@dark-blue-40, @golden-40);
|
||||||
|
|
@ -57,7 +57,7 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
padding: 4px 4px;
|
padding: 4px 4px;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@
|
||||||
align-items: stretch;
|
align-items: stretch;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
height: 11.5rem;
|
height: 11.5rem;
|
||||||
width: 122px;
|
width: 122px;
|
||||||
|
|
@ -62,7 +62,7 @@
|
||||||
padding: 5rem 4px var(--spacer-8) 4px;
|
padding: 5rem 4px var(--spacer-8) 4px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
|
||||||
color: @color-text-primary;
|
color: var(--color-text-primary);
|
||||||
text-shadow: 1px 1px 2px var(--shadow-color), 0 0 10px var(--shadow-color);
|
text-shadow: 1px 1px 2px var(--shadow-color), 0 0 10px var(--shadow-color);
|
||||||
.smooth-gradient-ease-in-out(background-image, to bottom, var(--shadow-color), 100%);
|
.smooth-gradient-ease-in-out(background-image, to bottom, var(--shadow-color), 100%);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
.daggerheart.dialog.dh-style.views.tag-team-dialog .window-content {
|
.daggerheart.dialog.dh-style.views.tag-team-dialog .window-content {
|
||||||
h1 {
|
h1 {
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
font: 700 var(--font-size-24) var(--dh-font-subtitle);
|
font: 700 var(--font-size-24) var(--dh-font-subtitle);
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
@ -42,7 +42,7 @@
|
||||||
img {
|
img {
|
||||||
height: 64px;
|
height: 64px;
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
}
|
}
|
||||||
|
|
||||||
.member-name {
|
.member-name {
|
||||||
|
|
@ -64,7 +64,7 @@
|
||||||
.roll-title {
|
.roll-title {
|
||||||
font-size: var(--font-size-20);
|
font-size: var(--font-size-20);
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
text-align: center;
|
text-align: center;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
@ -72,7 +72,7 @@
|
||||||
|
|
||||||
&::before,
|
&::before,
|
||||||
&::after {
|
&::after {
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
content: '';
|
content: '';
|
||||||
flex: 1;
|
flex: 1;
|
||||||
height: 2px;
|
height: 2px;
|
||||||
|
|
@ -202,7 +202,7 @@
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
|
||||||
i {
|
i {
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
font-size: 48px;
|
font-size: 48px;
|
||||||
|
|
||||||
&.inactive {
|
&.inactive {
|
||||||
|
|
|
||||||
|
|
@ -36,8 +36,8 @@
|
||||||
padding: 0;
|
padding: 0;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -81,7 +81,7 @@
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
background: light-dark(@dark-blue-10, @golden-10);
|
background: light-dark(@dark-blue-10, @golden-10);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
|
|
||||||
.label {
|
.label {
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@
|
||||||
@import '../utils/fonts.less';
|
@import '../utils/fonts.less';
|
||||||
|
|
||||||
.dh-style {
|
.dh-style {
|
||||||
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
|
|
||||||
input[type='text'],
|
input[type='text'],
|
||||||
input[type='number'],
|
input[type='number'],
|
||||||
textarea,
|
textarea,
|
||||||
|
|
@ -12,12 +14,12 @@
|
||||||
box-shadow: 0 4px 30px @soft-shadow;
|
box-shadow: 0 4px 30px @soft-shadow;
|
||||||
backdrop-filter: blur(9.5px);
|
backdrop-filter: blur(9.5px);
|
||||||
outline: 2px solid transparent;
|
outline: 2px solid transparent;
|
||||||
color: @input-color-text;
|
color: light-dark(@dark-blue, @golden);
|
||||||
border: 1px solid @input-color-border;
|
border: 1px solid light-dark(@dark, @beige);
|
||||||
transition: all 0.3s ease;
|
transition: all 0.3s ease;
|
||||||
|
|
||||||
&::placeholder {
|
&::placeholder {
|
||||||
color: @color-text-subtle;
|
color: light-dark(@dark-40, @beige-50);
|
||||||
}
|
}
|
||||||
|
|
||||||
&:hover,
|
&:hover,
|
||||||
|
|
@ -28,7 +30,7 @@
|
||||||
&:focus[type='number'] {
|
&:focus[type='number'] {
|
||||||
background: light-dark(@soft-shadow, @semi-transparent-dark-blue);
|
background: light-dark(@soft-shadow, @semi-transparent-dark-blue);
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
outline: 2px solid @input-color-border;
|
outline: 2px solid light-dark(@dark, @beige);
|
||||||
}
|
}
|
||||||
|
|
||||||
&:disabled[type='text'],
|
&:disabled[type='text'],
|
||||||
|
|
@ -45,7 +47,7 @@
|
||||||
.input[contenteditable] {
|
.input[contenteditable] {
|
||||||
cursor: var(--cursor-text);
|
cursor: var(--cursor-text);
|
||||||
&:empty:before {
|
&:empty:before {
|
||||||
color: @color-text-subtle;
|
color: light-dark(@dark-40, @beige-50);
|
||||||
content: attr(placeholder);
|
content: attr(placeholder);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -105,7 +107,7 @@
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
background: light-dark(@light-black, @dark-blue);
|
background: light-dark(@light-black, @dark-blue);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
}
|
}
|
||||||
|
|
||||||
&.glow {
|
&.glow {
|
||||||
|
|
@ -126,7 +128,7 @@
|
||||||
|
|
||||||
&.reverted {
|
&.reverted {
|
||||||
background: light-dark(@dark-blue-10, @golden-10);
|
background: light-dark(@dark-blue-10, @golden-10);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
border: 1px solid light-dark(@dark, transparent);
|
border: 1px solid light-dark(@dark, transparent);
|
||||||
&:hover {
|
&:hover {
|
||||||
background: light-dark(transparent, @golden);
|
background: light-dark(transparent, @golden);
|
||||||
|
|
@ -173,7 +175,7 @@
|
||||||
height: inherit;
|
height: inherit;
|
||||||
.tag {
|
.tag {
|
||||||
padding: 0.3rem 0.5rem;
|
padding: 0.3rem 0.5rem;
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
background-color: light-dark(@dark-blue-10, @golden-40);
|
background-color: light-dark(@dark-blue-10, @golden-40);
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
transition: 0.13s ease-out;
|
transition: 0.13s ease-out;
|
||||||
|
|
@ -263,7 +265,7 @@
|
||||||
align-items: center;
|
align-items: center;
|
||||||
margin-top: 5px;
|
margin-top: 5px;
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
border-color: @color-fieldset-border;
|
border-color: light-dark(@dark-blue, @golden);
|
||||||
|
|
||||||
&.glassy {
|
&.glassy {
|
||||||
background-color: light-dark(@dark-blue-10, @golden-10);
|
background-color: light-dark(@dark-blue-10, @golden-10);
|
||||||
|
|
@ -272,7 +274,7 @@
|
||||||
legend {
|
legend {
|
||||||
padding: 2px 12px;
|
padding: 2px 12px;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
background-color: @color-fieldset-border;
|
background-color: light-dark(@dark-blue, @golden);
|
||||||
color: light-dark(@beige, @dark-blue);
|
color: light-dark(@beige, @dark-blue);
|
||||||
margin-bottom: var(--spacer-4);
|
margin-bottom: var(--spacer-4);
|
||||||
}
|
}
|
||||||
|
|
@ -351,7 +353,7 @@
|
||||||
|
|
||||||
legend {
|
legend {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
|
|
||||||
&.with-icon {
|
&.with-icon {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
@ -363,6 +365,18 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
input[type='text'],
|
||||||
|
input[type='number'] {
|
||||||
|
color: light-dark(@dark, @beige);
|
||||||
|
transition: all 0.3s ease;
|
||||||
|
outline: 2px solid transparent;
|
||||||
|
|
||||||
|
&:focus,
|
||||||
|
&:hover {
|
||||||
|
outline: 2px solid light-dark(@dark, @beige);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
&[disabled],
|
&[disabled],
|
||||||
&.child-disabled .form-group,
|
&.child-disabled .form-group,
|
||||||
select[disabled],
|
select[disabled],
|
||||||
|
|
@ -500,7 +514,7 @@
|
||||||
display: block;
|
display: block;
|
||||||
height: 1px;
|
height: 1px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
border-bottom: 1px solid @color-border;
|
border-bottom: 1px solid light-dark(@dark-blue, @golden);
|
||||||
mask-image: linear-gradient(270deg, transparent 0%, black 50%, transparent 100%);
|
mask-image: linear-gradient(270deg, transparent 0%, black 50%, transparent 100%);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -508,7 +522,7 @@
|
||||||
display: block;
|
display: block;
|
||||||
height: 1px;
|
height: 1px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
border-bottom: 1px solid @color-border;
|
border-bottom: 1px solid light-dark(@dark-blue, @golden);
|
||||||
mask-image: linear-gradient(270deg, transparent 0%, black 100%);
|
mask-image: linear-gradient(270deg, transparent 0%, black 100%);
|
||||||
|
|
||||||
&.invert {
|
&.invert {
|
||||||
|
|
@ -557,7 +571,7 @@
|
||||||
border: 0;
|
border: 0;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
}
|
}
|
||||||
|
|
||||||
&:not(:first-child) {
|
&:not(:first-child) {
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@
|
||||||
|
|
||||||
legend {
|
legend {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
font-size: var(--font-size-12);
|
font-size: var(--font-size-12);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -25,7 +25,7 @@
|
||||||
|
|
||||||
button {
|
button {
|
||||||
background: light-dark(@light-black, @dark-blue);
|
background: light-dark(@light-black, @dark-blue);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
outline: none;
|
outline: none;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
border: 1px solid light-dark(@dark-blue, @dark-blue);
|
border: 1px solid light-dark(@dark-blue, @dark-blue);
|
||||||
|
|
|
||||||
|
|
@ -287,7 +287,7 @@
|
||||||
position: relative;
|
position: relative;
|
||||||
height: 120px;
|
height: 120px;
|
||||||
width: 98px;
|
width: 98px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -50,16 +50,16 @@
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
gap: 5px;
|
gap: 5px;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
width: fit-content;
|
width: fit-content;
|
||||||
|
|
||||||
.slot {
|
.slot {
|
||||||
width: 15px;
|
width: 15px;
|
||||||
height: 10px;
|
height: 10px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
background: light-dark(@dark-blue-10, @golden-10);
|
background: light-dark(@dark-blue-10, @golden-10);
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
transition: all 0.3s ease;
|
transition: all 0.3s ease;
|
||||||
|
|
@ -148,7 +148,7 @@
|
||||||
appearance: none;
|
appearance: none;
|
||||||
width: 100px;
|
width: 100px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
background: @dark-blue;
|
background: @dark-blue;
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
// Theme handling
|
// Theme handling
|
||||||
.appTheme({
|
.appTheme({
|
||||||
background: @dark-blue-c0;
|
background: @dark-blue-d0;
|
||||||
backdrop-filter: blur(7px);
|
backdrop-filter: blur(7px);
|
||||||
}, {
|
}, {
|
||||||
background: url('../assets/parchments/dh-parchment-light.png') no-repeat center;
|
background: url('../assets/parchments/dh-parchment-light.png') no-repeat center;
|
||||||
|
|
@ -43,7 +43,7 @@ body.game:is(.performance-low, .noblur) {
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
border-color: light-dark(@dark-blue, @golden);
|
border-color: light-dark(@dark-blue, @golden);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
|
|
||||||
a {
|
a {
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@
|
||||||
.palette-category-title {
|
.palette-category-title {
|
||||||
grid-column: span var(--effect-columns);
|
grid-column: span var(--effect-columns);
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
@import '../../utils/colors.less';
|
@import '../../utils/colors.less';
|
||||||
|
|
||||||
.appTheme({}, {
|
.theme-light .application.daggerheart.dh-style.dialog {
|
||||||
&.dialog.character-settings {
|
|
||||||
.tab.details {
|
.tab.details {
|
||||||
.traits-inner-container .trait-container {
|
.traits-inner-container .trait-container {
|
||||||
background: url('../assets/svg/trait-shield-light.svg') no-repeat;
|
background: url('../assets/svg/trait-shield-light.svg') no-repeat;
|
||||||
|
|
@ -12,8 +11,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
|
||||||
|
|
||||||
.application.daggerheart.dh-style.dialog {
|
.application.daggerheart.dh-style.dialog {
|
||||||
.tab.details {
|
.tab.details {
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@
|
||||||
font-size: var(--font-size-24);
|
font-size: var(--font-size-24);
|
||||||
margin: 0;
|
margin: 0;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -127,7 +127,7 @@
|
||||||
.title-name {
|
.title-name {
|
||||||
text-align: start;
|
text-align: start;
|
||||||
font-size: var(--font-size-28);
|
font-size: var(--font-size-28);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -180,9 +180,9 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
gap: 10px;
|
gap: 10px;
|
||||||
background-color: light-dark(transparent, @dark-blue);
|
background-color: light-dark(transparent, @dark-blue);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
padding: 5px 10px;
|
padding: 5px 10px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
width: fit-content;
|
width: fit-content;
|
||||||
|
|
@ -194,7 +194,7 @@
|
||||||
font-size: var(--font-size-14);
|
font-size: var(--font-size-14);
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
}
|
}
|
||||||
|
|
||||||
.domain {
|
.domain {
|
||||||
|
|
@ -206,7 +206,7 @@
|
||||||
font-size: var(--font-size-14);
|
font-size: var(--font-size-14);
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
}
|
}
|
||||||
|
|
||||||
img {
|
img {
|
||||||
|
|
@ -230,7 +230,7 @@
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
min-width: 90px;
|
min-width: 90px;
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
background-color: light-dark(@dark-blue-10, @golden-40);
|
background-color: light-dark(@dark-blue-10, @golden-40);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -65,9 +65,9 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
gap: 10px;
|
gap: 10px;
|
||||||
background-color: light-dark(transparent, @dark-blue);
|
background-color: light-dark(transparent, @dark-blue);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
padding: 5px 10px;
|
padding: 5px 10px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
width: fit-content;
|
width: fit-content;
|
||||||
|
|
@ -77,7 +77,7 @@
|
||||||
font-size: var(--font-size-14);
|
font-size: var(--font-size-14);
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
|
|
||||||
&.threshold-value {
|
&.threshold-value {
|
||||||
color: light-dark(@dark, @beige);
|
color: light-dark(@dark, @beige);
|
||||||
|
|
@ -191,7 +191,7 @@
|
||||||
appearance: none;
|
appearance: none;
|
||||||
width: 100px;
|
width: 100px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
background: @dark-blue;
|
background: @dark-blue;
|
||||||
|
|
@ -237,7 +237,7 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
width: 50px;
|
width: 50px;
|
||||||
height: 30px;
|
height: 30px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-bottom: none;
|
border-bottom: none;
|
||||||
border-radius: 6px 6px 0 0;
|
border-radius: 6px 6px 0 0;
|
||||||
padding: 0 6px;
|
padding: 0 6px;
|
||||||
|
|
|
||||||
|
|
@ -103,7 +103,7 @@
|
||||||
padding: 5px 0;
|
padding: 5px 0;
|
||||||
margin-bottom: 8px;
|
margin-bottom: 8px;
|
||||||
font-size: var(--font-size-12);
|
font-size: var(--font-size-12);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
|
|
||||||
.missing-header-feature {
|
.missing-header-feature {
|
||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
|
|
@ -170,9 +170,9 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
gap: 4px;
|
gap: 4px;
|
||||||
background-color: light-dark(transparent, @dark-blue);
|
background-color: light-dark(transparent, @dark-blue);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
padding: 5px 10px;
|
padding: 5px 10px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
width: fit-content;
|
width: fit-content;
|
||||||
|
|
@ -182,7 +182,7 @@
|
||||||
font-size: var(--font-size-14);
|
font-size: var(--font-size-14);
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
margin-right: 4px;
|
margin-right: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -195,7 +195,7 @@
|
||||||
font-size: var(--font-size-14);
|
font-size: var(--font-size-14);
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
}
|
}
|
||||||
|
|
||||||
img {
|
img {
|
||||||
|
|
@ -226,6 +226,7 @@
|
||||||
padding-left: 0.5rem;
|
padding-left: 0.5rem;
|
||||||
|
|
||||||
.trait {
|
.trait {
|
||||||
|
--color-border: light-dark(@semi-transparent-dark-blue, @golden-60);
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
|
|
@ -237,10 +238,10 @@
|
||||||
|
|
||||||
.trait-name {
|
.trait-name {
|
||||||
position: relative;
|
position: relative;
|
||||||
background-color: @trait-color-bg;
|
background-color: light-dark(@semi-transparent-dark-blue, @golden-40);
|
||||||
border: 1px solid @trait-color-border;
|
border: 1px solid var(--color-border);
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
color: @color-text-emphatic;
|
color: light-dark(var(--color-light-1), @golden);
|
||||||
font-size: var(--font-size-12);
|
font-size: var(--font-size-12);
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
height: 1rem;
|
height: 1rem;
|
||||||
|
|
@ -249,7 +250,7 @@
|
||||||
width: 100%;
|
width: 100%;
|
||||||
padding: 0 0.1876px 0 0.375rem;
|
padding: 0 0.1876px 0 0.375rem;
|
||||||
margin-right: 0.125rem; /* makes it center SLIGHTLY */
|
margin-right: 0.125rem; /* makes it center SLIGHTLY */
|
||||||
text-shadow: 1px 1px 3px @color-text-shadow-contrast;
|
text-shadow: 1px 1px 2px @light-black;
|
||||||
|
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
@ -258,7 +259,7 @@
|
||||||
.tier-mark {
|
.tier-mark {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
background-color: @dark-blue;
|
background-color: @dark-blue;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
width: 1rem;
|
width: 1rem;
|
||||||
height: 1rem;
|
height: 1rem;
|
||||||
|
|
@ -278,7 +279,6 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.trait-value-area {
|
.trait-value-area {
|
||||||
--color-border: @trait-color-border;
|
|
||||||
--background: light-dark(#e8e6e3, @dark-blue);
|
--background: light-dark(#e8e6e3, @dark-blue);
|
||||||
display: flex;
|
display: flex;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
@ -298,7 +298,7 @@
|
||||||
|
|
||||||
.spellcasting-mark {
|
.spellcasting-mark {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
color: @golden;
|
color: @golden;
|
||||||
left: 0;
|
left: 0;
|
||||||
right: 0;
|
right: 0;
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,7 @@
|
||||||
|
|
||||||
.btn-toggle-view {
|
.btn-toggle-view {
|
||||||
background: light-dark(@dark-blue-10, @dark-blue);
|
background: light-dark(@dark-blue-10, @dark-blue);
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 15px;
|
border-radius: 15px;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
gap: 0;
|
gap: 0;
|
||||||
|
|
@ -54,7 +54,7 @@
|
||||||
span {
|
span {
|
||||||
margin: 1px;
|
margin: 1px;
|
||||||
width: 26px;
|
width: 26px;
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
|
|
||||||
&.list-icon {
|
&.list-icon {
|
||||||
i {
|
i {
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,7 @@
|
||||||
.application.sheet.dh-style .character-sidebar-sheet {
|
.application.sheet.dh-style .character-sidebar-sheet {
|
||||||
width: 275px;
|
width: 275px;
|
||||||
min-width: 275px;
|
min-width: 275px;
|
||||||
border-right: 1px solid @color-border;
|
border-right: 1px solid light-dark(@dark-blue, @golden);
|
||||||
|
|
||||||
.portrait {
|
.portrait {
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
@ -168,7 +168,7 @@
|
||||||
appearance: none;
|
appearance: none;
|
||||||
width: 100px;
|
width: 100px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
background: @dark-blue;
|
background: @dark-blue;
|
||||||
|
|
@ -282,11 +282,11 @@
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
background: light-dark(@light-black, @dark-blue);
|
background: light-dark(@light-black, @dark-blue);
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
|
|
||||||
h4,
|
h4,
|
||||||
i {
|
i {
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -309,12 +309,12 @@
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
gap: 4px;
|
gap: 4px;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
background: @dark-blue;
|
background: @dark-blue;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
|
|
||||||
.armor-slot {
|
.armor-slot {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|
@ -343,12 +343,12 @@
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
background: light-dark(@light-black, @dark-blue);
|
background: light-dark(@light-black, @dark-blue);
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
|
|
||||||
.label,
|
.label,
|
||||||
.value,
|
.value,
|
||||||
i {
|
i {
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -375,7 +375,7 @@
|
||||||
text-align: center;
|
text-align: center;
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
color: light-dark(@dark-blue, @beige);
|
color: light-dark(@dark-blue, @beige);
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-bottom: none;
|
border-bottom: none;
|
||||||
border-radius: 6px 6px 0 0;
|
border-radius: 6px 6px 0 0;
|
||||||
|
|
||||||
|
|
@ -411,7 +411,7 @@
|
||||||
appearance: none;
|
appearance: none;
|
||||||
width: 80px;
|
width: 80px;
|
||||||
height: 30px;
|
height: 30px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
background: light-dark(transparent, @dark-blue);
|
background: light-dark(transparent, @dark-blue);
|
||||||
|
|
@ -450,7 +450,7 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
width: 50px;
|
width: 50px;
|
||||||
height: 30px;
|
height: 30px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-bottom: none;
|
border-bottom: none;
|
||||||
border-radius: 6px 6px 0 0;
|
border-radius: 6px 6px 0 0;
|
||||||
padding: 0 6px;
|
padding: 0 6px;
|
||||||
|
|
@ -513,9 +513,9 @@
|
||||||
align-self: center;
|
align-self: center;
|
||||||
gap: 10px;
|
gap: 10px;
|
||||||
background-color: light-dark(transparent, @dark-blue);
|
background-color: light-dark(transparent, @dark-blue);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
padding: 5px 10px;
|
padding: 5px 10px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
width: fit-content;
|
width: fit-content;
|
||||||
|
|
@ -525,7 +525,7 @@
|
||||||
font-size: var(--font-size-14);
|
font-size: var(--font-size-14);
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
|
|
||||||
&.threshold-value {
|
&.threshold-value {
|
||||||
color: light-dark(@dark, @beige);
|
color: light-dark(@dark, @beige);
|
||||||
|
|
|
||||||
|
|
@ -30,14 +30,14 @@
|
||||||
font-size: var(--font-size-24);
|
font-size: var(--font-size-24);
|
||||||
outline: 2px solid transparent;
|
outline: 2px solid transparent;
|
||||||
box-shadow: unset;
|
box-shadow: unset;
|
||||||
text-shadow: 0 0 4px @color-text-shadow-contrast, 0 0 8px @color-text-shadow-contrast, 0 0 14px @color-text-shadow-contrast;
|
text-shadow: 0 0 4px light-dark(white, @dark-80), 0 0 8px light-dark(white, @dark-80), 0 0 14px light-dark(white, @dark-80);
|
||||||
|
|
||||||
height: 2rem;
|
height: 2rem;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
transition: all 0.3s ease;
|
transition: all 0.3s ease;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
outline: 2px solid @color-border;
|
outline: 2px solid light-dark(@dark, @golden);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -68,7 +68,7 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
width: 50px;
|
width: 50px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-bottom: none;
|
border-bottom: none;
|
||||||
border-radius: 6px 6px 0 0;
|
border-radius: 6px 6px 0 0;
|
||||||
padding: 0 6px;
|
padding: 0 6px;
|
||||||
|
|
@ -100,6 +100,104 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// .status-bar {
|
||||||
|
// display: flex;
|
||||||
|
// justify-content: center;
|
||||||
|
// position: relative;
|
||||||
|
// width: 100px;
|
||||||
|
// height: 40px;
|
||||||
|
|
||||||
|
// .status-label {
|
||||||
|
// position: relative;
|
||||||
|
// top: 40px;
|
||||||
|
// height: 22px;
|
||||||
|
// width: 79px;
|
||||||
|
// clip-path: path('M0 0H79L74 16.5L39 22L4 16.5L0 0Z');
|
||||||
|
// background: light-dark(@dark-blue, @golden);
|
||||||
|
|
||||||
|
// h4 {
|
||||||
|
// font-weight: bold;
|
||||||
|
// text-align: center;
|
||||||
|
// line-height: 18px;
|
||||||
|
// color: light-dark(@beige, @dark-blue);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// .status-value {
|
||||||
|
// position: absolute;
|
||||||
|
// display: flex;
|
||||||
|
// padding: 0 6px;
|
||||||
|
// font-size: 1.5rem;
|
||||||
|
// align-items: center;
|
||||||
|
// width: 100px;
|
||||||
|
// height: 40px;
|
||||||
|
// justify-content: center;
|
||||||
|
// text-align: center;
|
||||||
|
// z-index: 2;
|
||||||
|
// color: @beige;
|
||||||
|
|
||||||
|
// input[type='number'] {
|
||||||
|
// background: transparent;
|
||||||
|
// font-size: 1.5rem;
|
||||||
|
// width: 40px;
|
||||||
|
// height: 30px;
|
||||||
|
// text-align: center;
|
||||||
|
// border: none;
|
||||||
|
// outline: 2px solid transparent;
|
||||||
|
// color: @beige;
|
||||||
|
|
||||||
|
// &.bar-input {
|
||||||
|
// padding: 0;
|
||||||
|
// color: @beige;
|
||||||
|
// backdrop-filter: none;
|
||||||
|
// background: transparent;
|
||||||
|
// transition: all 0.3s ease;
|
||||||
|
|
||||||
|
// &:hover,
|
||||||
|
// &:focus {
|
||||||
|
// background: @semi-transparent-dark-blue;
|
||||||
|
// backdrop-filter: blur(9.5px);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
// .bar-label {
|
||||||
|
// width: 40px;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// .progress-bar {
|
||||||
|
// position: absolute;
|
||||||
|
// appearance: none;
|
||||||
|
// width: 100px;
|
||||||
|
// height: 40px;
|
||||||
|
// border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
|
// border-radius: 6px;
|
||||||
|
// z-index: 1;
|
||||||
|
// background: @dark-blue;
|
||||||
|
|
||||||
|
// &::-webkit-progress-bar {
|
||||||
|
// border: none;
|
||||||
|
// background: @dark-blue;
|
||||||
|
// border-radius: 6px;
|
||||||
|
// }
|
||||||
|
// &::-webkit-progress-value {
|
||||||
|
// background: @gradient-hp;
|
||||||
|
// border-radius: 6px;
|
||||||
|
// }
|
||||||
|
// &.stress-color::-webkit-progress-value {
|
||||||
|
// background: @gradient-stress;
|
||||||
|
// border-radius: 6px;
|
||||||
|
// }
|
||||||
|
// &::-moz-progress-bar {
|
||||||
|
// background: @gradient-hp;
|
||||||
|
// border-radius: 6px;
|
||||||
|
// }
|
||||||
|
// &.stress-color::-moz-progress-bar {
|
||||||
|
// background: @gradient-stress;
|
||||||
|
// border-radius: 6px;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
.level-div {
|
.level-div {
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
|
||||||
|
|
@ -36,14 +36,15 @@
|
||||||
transition: all 0.3s ease;
|
transition: all 0.3s ease;
|
||||||
outline: 2px solid transparent;
|
outline: 2px solid transparent;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
text-shadow: 0 0 4px @color-text-shadow-contrast, 0 0 8px @color-text-shadow-contrast, 0 0 14px @color-text-shadow-contrast;
|
text-shadow: 0 0 4px light-dark(white, @dark-80), 0 0 8px light-dark(white, @dark-80), 0 0 14px light-dark(white, @dark-80);
|
||||||
|
|
||||||
padding-left: 0;
|
padding-left: 0;
|
||||||
height: 2.625rem;
|
height: 2.625rem;
|
||||||
|
|
||||||
&:hover[type='text'],
|
&:hover[type='text'],
|
||||||
&:focus[type='text'] {
|
&:focus[type='text'] {
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
outline: 2px solid @color-border;
|
outline: 2px solid light-dark(@dark-blue, @golden);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -97,7 +98,7 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
width: 50px;
|
width: 50px;
|
||||||
height: 30px;
|
height: 30px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-bottom: none;
|
border-bottom: none;
|
||||||
border-radius: 6px 6px 0 0;
|
border-radius: 6px 6px 0 0;
|
||||||
padding: 0 6px;
|
padding: 0 6px;
|
||||||
|
|
|
||||||
|
|
@ -20,12 +20,11 @@
|
||||||
input.item-name[type='text'] {
|
input.item-name[type='text'] {
|
||||||
backdrop-filter: none;
|
backdrop-filter: none;
|
||||||
border: none;
|
border: none;
|
||||||
color: @color-text-emphatic;
|
|
||||||
font-family: @font-title;
|
font-family: @font-title;
|
||||||
font-size: var(--font-size-32);
|
font-size: var(--font-size-32);
|
||||||
outline: 2px solid transparent;
|
outline: 2px solid transparent;
|
||||||
box-shadow: unset;
|
box-shadow: unset;
|
||||||
text-shadow: 0 0 4px @color-text-shadow-contrast, 0 0 8px @color-text-shadow-contrast, 0 0 14px @color-text-shadow-contrast;
|
text-shadow: 0 0 4px light-dark(white, @dark-80), 0 0 8px light-dark(white, @dark-80), 0 0 14px light-dark(white, @dark-80);
|
||||||
|
|
||||||
text-align: center;
|
text-align: center;
|
||||||
transition: all 0.3s ease;
|
transition: all 0.3s ease;
|
||||||
|
|
@ -34,7 +33,7 @@
|
||||||
|
|
||||||
&:hover[type='text'],
|
&:hover[type='text'],
|
||||||
&:focus[type='text'] {
|
&:focus[type='text'] {
|
||||||
outline: 2px solid @color-border;
|
outline: 2px solid light-dark(@dark-blue, @golden);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,7 @@
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
width: 24px;
|
width: 24px;
|
||||||
height: 24px;
|
height: 24px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
object-fit: cover;
|
object-fit: cover;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -79,9 +79,9 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
gap: 4px;
|
gap: 4px;
|
||||||
background-color: light-dark(var(--color-light-1), @dark-blue);
|
background-color: light-dark(var(--color-light-1), @dark-blue);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
padding: 4px 6px;
|
padding: 4px 6px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
align-items: baseline;
|
align-items: baseline;
|
||||||
width: fit-content;
|
width: fit-content;
|
||||||
|
|
@ -93,7 +93,7 @@
|
||||||
|
|
||||||
&.threshold-label {
|
&.threshold-label {
|
||||||
font-size: var(--font-size-10);
|
font-size: var(--font-size-10);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
}
|
}
|
||||||
|
|
||||||
&.threshold-value {
|
&.threshold-value {
|
||||||
|
|
@ -116,7 +116,7 @@
|
||||||
width: 100%;
|
width: 100%;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
font-size: var(--font-size-20);
|
font-size: var(--font-size-20);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -132,9 +132,9 @@
|
||||||
.hope-section {
|
.hope-section {
|
||||||
display: flex;
|
display: flex;
|
||||||
background-color: light-dark(transparent, @dark-blue);
|
background-color: light-dark(transparent, @dark-blue);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
padding: 3px 6px;
|
padding: 3px 6px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
width: fit-content;
|
width: fit-content;
|
||||||
|
|
@ -144,7 +144,7 @@
|
||||||
font-size: var(--font-size-12);
|
font-size: var(--font-size-12);
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
margin-right: 3px;
|
margin-right: 3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -212,9 +212,9 @@
|
||||||
gap: 4px;
|
gap: 4px;
|
||||||
|
|
||||||
background-color: light-dark(@dark-blue-10, @dark-blue);
|
background-color: light-dark(@dark-blue-10, @dark-blue);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
padding: 2px 5px;
|
padding: 2px 5px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 0 6px 6px 0;
|
border-radius: 0 6px 6px 0;
|
||||||
width: fit-content;
|
width: fit-content;
|
||||||
min-height: 22px;
|
min-height: 22px;
|
||||||
|
|
@ -232,7 +232,7 @@
|
||||||
.slot {
|
.slot {
|
||||||
width: 16px;
|
width: 16px;
|
||||||
height: 10px;
|
height: 10px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
background: light-dark(@dark-blue-10, @golden-10);
|
background: light-dark(@dark-blue-10, @golden-10);
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
transition: all 0.3s ease;
|
transition: all 0.3s ease;
|
||||||
|
|
@ -248,7 +248,7 @@
|
||||||
|
|
||||||
.traits {
|
.traits {
|
||||||
background-color: light-dark(@dark-blue-10, @dark-blue);
|
background-color: light-dark(@dark-blue-10, @dark-blue);
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: 1fr 1fr;
|
grid-template-columns: 1fr 1fr;
|
||||||
|
|
@ -260,7 +260,7 @@
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
gap: 3px;
|
gap: 3px;
|
||||||
.label {
|
.label {
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
}
|
}
|
||||||
.value {
|
.value {
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
i {
|
i {
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -71,7 +71,7 @@
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
gap: 10px;
|
gap: 10px;
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
|
|
||||||
.main-value {
|
.main-value {
|
||||||
font-size: var(--font-size-24);
|
font-size: var(--font-size-24);
|
||||||
|
|
@ -153,7 +153,7 @@
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
background: light-dark(@dark-blue-10, @golden-10);
|
background: light-dark(@dark-blue-10, @golden-10);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
|
|
||||||
&.finished {
|
&.finished {
|
||||||
background-color: initial;
|
background-color: initial;
|
||||||
|
|
|
||||||
|
|
@ -93,7 +93,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
a[href] {
|
a[href] {
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
}
|
}
|
||||||
|
|
||||||
a[href]:hover,
|
a[href]:hover,
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@
|
||||||
position: relative;
|
position: relative;
|
||||||
border: 0;
|
border: 0;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
color: @color-text-primary;
|
color: var(--color-text-primary);
|
||||||
width: 300px;
|
width: 300px;
|
||||||
pointer-events: all;
|
pointer-events: all;
|
||||||
align-self: flex-end;
|
align-self: flex-end;
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@
|
||||||
.effect-container {
|
.effect-container {
|
||||||
position: relative;
|
position: relative;
|
||||||
pointer-events: all;
|
pointer-events: all;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
|
|
||||||
img {
|
img {
|
||||||
|
|
|
||||||
|
|
@ -200,7 +200,7 @@
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
background-color: light-dark(@dark-blue-40, @golden-40);
|
background-color: light-dark(@dark-blue-40, @golden-40);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
}
|
}
|
||||||
|
|
||||||
.subfolder-list {
|
.subfolder-list {
|
||||||
|
|
@ -218,7 +218,7 @@
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
background-color: light-dark(@dark-blue-10, @golden-10);
|
background-color: light-dark(@dark-blue-10, @golden-10);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
}
|
}
|
||||||
|
|
||||||
.wrapper {
|
.wrapper {
|
||||||
|
|
@ -265,8 +265,8 @@
|
||||||
.item-list-header {
|
.item-list-header {
|
||||||
align-items: center;
|
align-items: center;
|
||||||
background-color: light-dark(@dark-15, @dark-golden-80);
|
background-color: light-dark(@dark-15, @dark-golden-80);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
min-height: 30px;
|
min-height: 30px;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
|
|
|
||||||
|
|
@ -60,7 +60,7 @@
|
||||||
position: relative;
|
position: relative;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
|
|
||||||
&.selectable {
|
&.selectable {
|
||||||
|
|
@ -76,7 +76,7 @@
|
||||||
.domain-label {
|
.domain-label {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 4px;
|
top: 4px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
padding: 0 2px;
|
padding: 0 2px;
|
||||||
color: light-dark(@dark, @beige);
|
color: light-dark(@dark, @beige);
|
||||||
|
|
|
||||||
|
|
@ -61,7 +61,7 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
gap: 4px;
|
gap: 4px;
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
|
|
||||||
i {
|
i {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@
|
||||||
border: 1px solid;
|
border: 1px solid;
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
padding: 0 8px;
|
padding: 0 8px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
color: light-dark(@dark, @beige);
|
color: light-dark(@dark, @beige);
|
||||||
background-image: url('../assets/parchments/dh-parchment-dark.png');
|
background-image: url('../assets/parchments/dh-parchment-dark.png');
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
@import '../../utils/colors.less';
|
@import '../../utils/colors.less';
|
||||||
|
|
||||||
.daggerheart.dh-style.setting {
|
.daggerheart.dh-style.setting {
|
||||||
--color-form-label: @color-text-primary;
|
--color-form-label: var(--color-text-primary);
|
||||||
|
|
||||||
h2,
|
h2,
|
||||||
h3,
|
h3,
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
background: light-dark(@dark-blue-10, @golden-10);
|
background: light-dark(@dark-blue-10, @golden-10);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
|
|
||||||
.label {
|
.label {
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
|
|
|
||||||
|
|
@ -51,7 +51,7 @@
|
||||||
--dark-blue-50: #18162e50;
|
--dark-blue-50: #18162e50;
|
||||||
--dark-blue-60: #18162e60;
|
--dark-blue-60: #18162e60;
|
||||||
--dark-blue-90: #18162e90;
|
--dark-blue-90: #18162e90;
|
||||||
--dark-blue-c0: #18162ec0;
|
--dark-blue-d0: #18162ed0;
|
||||||
--semi-transparent-dark-blue: rgba(24, 22, 46, 0.33);
|
--semi-transparent-dark-blue: rgba(24, 22, 46, 0.33);
|
||||||
|
|
||||||
--dark: #222222;
|
--dark: #222222;
|
||||||
|
|
@ -71,7 +71,6 @@
|
||||||
--beige-filter: brightness(0) saturate(100%) invert(87%) sepia(25%) saturate(164%) hue-rotate(339deg) brightness(106%) contrast(87%);
|
--beige-filter: brightness(0) saturate(100%) invert(87%) sepia(25%) saturate(164%) hue-rotate(339deg) brightness(106%) contrast(87%);
|
||||||
--bright-beige-filter: brightness(0) saturate(100%) invert(87%) sepia(15%) saturate(343%) hue-rotate(333deg) brightness(110%) contrast(87%);
|
--bright-beige-filter: brightness(0) saturate(100%) invert(87%) sepia(15%) saturate(343%) hue-rotate(333deg) brightness(110%) contrast(87%);
|
||||||
|
|
||||||
--light-white: rgba(255, 255, 255, 0.3);
|
|
||||||
--soft-white-shadow: rgba(255, 255, 255, 0.05);
|
--soft-white-shadow: rgba(255, 255, 255, 0.05);
|
||||||
|
|
||||||
--light-black: rgba(0, 0, 0, 0.3);
|
--light-black: rgba(0, 0, 0, 0.3);
|
||||||
|
|
@ -84,47 +83,8 @@
|
||||||
--gradient-stress: linear-gradient(15deg, rgb(130, 59, 1) 0%, rgb(252, 142, 69) 65%, rgb(190, 0, 0) 100%);
|
--gradient-stress: linear-gradient(15deg, rgb(130, 59, 1) 0%, rgb(252, 142, 69) 65%, rgb(190, 0, 0) 100%);
|
||||||
|
|
||||||
--primary-color-fear: rgba(9, 71, 179, 0.75);
|
--primary-color-fear: rgba(9, 71, 179, 0.75);
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
--dh-color-text-subtle: light-dark(#555, #a29086);
|
||||||
* Override core foundry color variables in theme scopes, and add some new theme specific variants.
|
|
||||||
* These are intended to be more representative of its use case, so avoid naming these after the color.
|
|
||||||
* Some foundry variables are heavily scoped and we need to redefine them (https://github.com/foundryvtt/foundryvtt/issues/12893)
|
|
||||||
* Convention for the redefined ones is --dh-{element}-color-{thing}
|
|
||||||
*/
|
|
||||||
@scope (.theme-light) to (.themed) {
|
|
||||||
.dh-style :scope,
|
|
||||||
:scope.dh-style,
|
|
||||||
.dh-style,
|
|
||||||
.duality {
|
|
||||||
--color-border: @dark-blue;
|
|
||||||
--color-fieldset-border: @dark-blue;
|
|
||||||
--color-text-emphatic: @dark-blue;
|
|
||||||
--color-text-subtle: #555;
|
|
||||||
|
|
||||||
--dh-color-text-shadow-contrast: #ffffffa0;
|
|
||||||
--dh-input-color-border: @dark;
|
|
||||||
--dh-input-color-text: @dark;
|
|
||||||
--dh-trait-color-bg: #b1afb6;
|
|
||||||
--dh-trait-color-border: #8e8d96;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@scope (.theme-dark) to (.themed) {
|
|
||||||
.dh-style :scope,
|
|
||||||
:scope.dh-style,
|
|
||||||
.dh-style,
|
|
||||||
.duality {
|
|
||||||
--color-border: @golden;
|
|
||||||
--color-fieldset-border: @golden;
|
|
||||||
--color-text-emphatic: @golden;
|
|
||||||
--color-text-subtle: #a29086;
|
|
||||||
|
|
||||||
--dh-color-text-shadow-contrast: @dark-80;
|
|
||||||
--dh-input-color-border: @beige;
|
|
||||||
--dh-input-color-text: @beige;
|
|
||||||
--dh-trait-color-bg: #50433F;
|
|
||||||
--dh-trait-color-border: #927952;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@primary-blue: var(--primary-blue, #1488cc);
|
@primary-blue: var(--primary-blue, #1488cc);
|
||||||
|
|
@ -179,7 +139,7 @@
|
||||||
@dark-blue-50: var(--dark-blue-50, #18162e50);
|
@dark-blue-50: var(--dark-blue-50, #18162e50);
|
||||||
@dark-blue-60: var(--dark-blue-60, #18162e60);
|
@dark-blue-60: var(--dark-blue-60, #18162e60);
|
||||||
@dark-blue-90: var(--dark-blue-90, #18162e90);
|
@dark-blue-90: var(--dark-blue-90, #18162e90);
|
||||||
@dark-blue-c0: var(--dark-blue-c0, #18162ec0);
|
@dark-blue-d0: var(--dark-blue-d0, #18162ed0);
|
||||||
@semi-transparent-dark-blue: var(--semi-transparent-dark-blue, rgba(24, 22, 46, 0.33));
|
@semi-transparent-dark-blue: var(--semi-transparent-dark-blue, rgba(24, 22, 46, 0.33));
|
||||||
|
|
||||||
@dark: var(--dark, #222222);
|
@dark: var(--dark, #222222);
|
||||||
|
|
@ -201,7 +161,6 @@
|
||||||
|
|
||||||
@soft-white-shadow: var(--soft-white-shadow, rgba(255, 255, 255, 0.05));
|
@soft-white-shadow: var(--soft-white-shadow, rgba(255, 255, 255, 0.05));
|
||||||
|
|
||||||
@light-white: var(--light-white, rgba(255, 255, 255, 0.3));
|
|
||||||
@light-black: var(--light-black, rgba(0, 0, 0, 0.3));
|
@light-black: var(--light-black, rgba(0, 0, 0, 0.3));
|
||||||
@soft-shadow: var(--soft-shadow, rgba(0, 0, 0, 0.05));
|
@soft-shadow: var(--soft-shadow, rgba(0, 0, 0, 0.05));
|
||||||
|
|
||||||
|
|
@ -234,14 +193,4 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// LESS variable versions of core foundry color variables
|
@color-text-subtle: var(--dh-color-text-subtle);
|
||||||
@color-border: var(--color-border);
|
|
||||||
@color-fieldset-border: var(--color-fieldset-border);
|
|
||||||
@color-text-emphatic: var(--color-text-emphatic);
|
|
||||||
@color-text-primary: var(--color-text-primary);
|
|
||||||
@color-text-subtle: var(--color-text-subtle);
|
|
||||||
@color-text-shadow-contrast: var(--dh-color-text-shadow-contrast);
|
|
||||||
@input-color-border: var(--dh-input-color-border);
|
|
||||||
@input-color-text: var(--dh-input-color-text);
|
|
||||||
@trait-color-bg: var(--dh-trait-color-bg);
|
|
||||||
@trait-color-border: var(--dh-trait-color-border);
|
|
||||||
|
|
@ -5,16 +5,16 @@
|
||||||
*/
|
*/
|
||||||
.appTheme(@darkRules, @lightRules) {
|
.appTheme(@darkRules, @lightRules) {
|
||||||
// Dark theme selectors
|
// Dark theme selectors
|
||||||
.themed.theme-dark .application.daggerheart.dh-style,
|
.themed.theme-dark .application.daggerheart.sheet.dh-style,
|
||||||
.themed.theme-dark.application.daggerheart.dh-style,
|
.themed.theme-dark.application.daggerheart.sheet.dh-style,
|
||||||
body.theme-dark .application.daggerheart,
|
body.theme-dark .application.daggerheart,
|
||||||
body.theme-dark.application.daggerheart {
|
body.theme-dark.application.daggerheart {
|
||||||
@darkRules();
|
@darkRules();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Light theme selectors
|
// Light theme selectors
|
||||||
.themed.theme-light .application.daggerheart.dh-style,
|
.themed.theme-light .application.daggerheart.sheet.dh-style,
|
||||||
.themed.theme-light.application.daggerheart.dh-style,
|
.themed.theme-light.application.daggerheart.sheet.dh-style,
|
||||||
body.theme-light .application.daggerheart,
|
body.theme-light .application.daggerheart,
|
||||||
body.theme-light.application.daggerheart {
|
body.theme-light.application.daggerheart {
|
||||||
@lightRules();
|
@lightRules();
|
||||||
|
|
@ -50,15 +50,14 @@
|
||||||
*/
|
*/
|
||||||
.dh-typography() {
|
.dh-typography() {
|
||||||
h1 {
|
h1 {
|
||||||
--dh-input-color-text: @color-text-emphatic;
|
|
||||||
font-family: @font-title;
|
font-family: @font-title;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
border: none;
|
border: none;
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
input[type='text'],
|
|
||||||
.input[contenteditable] {
|
|
||||||
font-family: @font-title;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
h1 input[type='text'] {
|
||||||
|
font-family: @font-title;
|
||||||
}
|
}
|
||||||
|
|
||||||
h2,
|
h2,
|
||||||
|
|
|
||||||
|
|
@ -83,7 +83,7 @@
|
||||||
appearance: none;
|
appearance: none;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 30px;
|
height: 30px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
background: @dark-blue;
|
background: @dark-blue;
|
||||||
|
|
@ -118,13 +118,13 @@
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
gap: 4px;
|
gap: 4px;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
background: @dark-blue;
|
background: @dark-blue;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
min-height: 30px;
|
min-height: 30px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,9 +9,9 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
gap: 10px;
|
gap: 10px;
|
||||||
background-color: light-dark(transparent, @dark-blue);
|
background-color: light-dark(transparent, @dark-blue);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
padding: 5px 10px;
|
padding: 5px 10px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
width: fit-content;
|
width: fit-content;
|
||||||
|
|
@ -22,7 +22,7 @@
|
||||||
font-size: var(--font-size-14);
|
font-size: var(--font-size-14);
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ aside[role='tooltip']:has(div.daggerheart.dh-style.tooltip),
|
||||||
#tooltip.bordered-tooltip {
|
#tooltip.bordered-tooltip {
|
||||||
.tooltip-title {
|
.tooltip-title {
|
||||||
font-size: var(--font-size-20);
|
font-size: var(--font-size-20);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -132,7 +132,7 @@ aside[role='tooltip']:has(div.daggerheart.dh-style.tooltip.card-style) {
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
padding: 3px;
|
padding: 3px;
|
||||||
background: light-dark(@dark-blue-60, @rustic-brown-80);
|
background: light-dark(@dark-blue-60, @rustic-brown-80);
|
||||||
color: @color-text-emphatic;
|
color: light-dark(@dark-blue, @golden);
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
}
|
}
|
||||||
|
|
@ -238,7 +238,7 @@ aside[role='tooltip'].locked-tooltip:has(div.daggerheart.dh-style.tooltip.card-s
|
||||||
.tooltip-chip {
|
.tooltip-chip {
|
||||||
font-size: var(--font-size-18);
|
font-size: var(--font-size-18);
|
||||||
padding: 2px 4px;
|
padding: 2px 4px;
|
||||||
border: 1px solid @color-border;
|
border: 1px solid light-dark(@dark-blue, @golden);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
color: light-dark(@dark, @beige);
|
color: light-dark(@dark, @beige);
|
||||||
background-image: url(../assets/parchments/dh-parchment-dark.png);
|
background-image: url(../assets/parchments/dh-parchment-dark.png);
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
"id": "daggerheart",
|
"id": "daggerheart",
|
||||||
"title": "Daggerheart",
|
"title": "Daggerheart",
|
||||||
"description": "An unofficial implementation of the Daggerheart system",
|
"description": "An unofficial implementation of the Daggerheart system",
|
||||||
"version": "2.2.7",
|
"version": "2.2.6",
|
||||||
"compatibility": {
|
"compatibility": {
|
||||||
"minimum": "14.361",
|
"minimum": "14.361",
|
||||||
"verified": "14.363",
|
"verified": "14.363",
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
},
|
},
|
||||||
"url": "https://github.com/Foundryborne/daggerheart",
|
"url": "https://github.com/Foundryborne/daggerheart",
|
||||||
"manifest": "https://raw.githubusercontent.com/Foundryborne/daggerheart/v14/system.json",
|
"manifest": "https://raw.githubusercontent.com/Foundryborne/daggerheart/v14/system.json",
|
||||||
"download": "https://github.com/Foundryborne/daggerheart/releases/download/2.2.7/system.zip",
|
"download": "https://github.com/Foundryborne/daggerheart/releases/download/2.2.6/system.zip",
|
||||||
"authors": [
|
"authors": [
|
||||||
{
|
{
|
||||||
"name": "WBHarry"
|
"name": "WBHarry"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue