mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-01-11 19:25:21 +01:00
Compare commits
7 commits
6deadea437
...
e6973fabd0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e6973fabd0 | ||
|
|
4e18ed8270 | ||
|
|
e7cf6594b6 | ||
|
|
bbe8fb953e | ||
|
|
6cebccd958 | ||
|
|
248f7b41e7 | ||
|
|
c6bdc846ab |
32 changed files with 3512 additions and 49 deletions
|
|
@ -226,6 +226,7 @@
|
|||
"confirmText": "Would you like to level up your companion {name} by {levelChange} levels at this time? (You can do it manually later)"
|
||||
},
|
||||
"viewLevelups": "View Levelups",
|
||||
"viewParty": "View Party",
|
||||
"InvalidOldCharacterImportTitle": "Old Character Import",
|
||||
"InvalidOldCharacterImportText": "Character data exported prior to system version 1.1 will not generate a complete character. Do you wish to continue?",
|
||||
"cancelBeastform": "Cancel Beastform"
|
||||
|
|
|
|||
|
|
@ -104,7 +104,7 @@ export default class D20RollDialog extends HandlebarsApplicationMixin(Applicatio
|
|||
context.roll = this.roll;
|
||||
context.rollType = this.roll?.constructor.name;
|
||||
context.rallyDie = this.roll.rallyChoices;
|
||||
const experiences = this.config.data?.system.experiences || {};
|
||||
const experiences = this.config.data?.system?.experiences || {};
|
||||
context.experiences = Object.keys(experiences).map(id => ({
|
||||
id,
|
||||
...experiences[id]
|
||||
|
|
|
|||
|
|
@ -32,7 +32,8 @@ export default class CharacterSheet extends DHBaseActorSheet {
|
|||
handleResourceDice: CharacterSheet.#handleResourceDice,
|
||||
advanceResourceDie: CharacterSheet.#advanceResourceDie,
|
||||
cancelBeastform: CharacterSheet.#cancelBeastform,
|
||||
useDowntime: this.useDowntime
|
||||
useDowntime: this.useDowntime,
|
||||
viewParty: CharacterSheet.#viewParty,
|
||||
},
|
||||
window: {
|
||||
resizable: true,
|
||||
|
|
@ -892,6 +893,41 @@ export default class CharacterSheet extends DHBaseActorSheet {
|
|||
game.system.api.fields.ActionFields.BeastformField.handleActiveTransformations.call(item);
|
||||
}
|
||||
|
||||
static async #viewParty(_, target) {
|
||||
const parties = this.document.parties;
|
||||
if (parties.size <= 1) {
|
||||
parties.first()?.sheet.render({ force: true });
|
||||
return;
|
||||
}
|
||||
|
||||
const buttons = parties.map((p) => {
|
||||
const button = document.createElement("button");
|
||||
button.type = "button";
|
||||
button.classList.add("plain");
|
||||
const img = document.createElement("img");
|
||||
img.src = p.img;
|
||||
button.append(img);
|
||||
const name = document.createElement("span");
|
||||
name.textContent = p.name;
|
||||
button.append(name);
|
||||
button.addEventListener("click", () => {
|
||||
p.sheet?.render({ force: true });
|
||||
game.tooltip.dismissLockedTooltips();
|
||||
});
|
||||
return button;
|
||||
});
|
||||
|
||||
const html = document.createElement("div");
|
||||
html.classList.add("party-list");
|
||||
html.append(...buttons);
|
||||
|
||||
game.tooltip.dismissLockedTooltips();
|
||||
game.tooltip.activate(target, {
|
||||
html,
|
||||
locked: true,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* Open the downtime application.
|
||||
* @type {ApplicationClickAction}
|
||||
|
|
|
|||
|
|
@ -435,7 +435,8 @@ export const armorFeatures = {
|
|||
{
|
||||
key: 'system.resistance.magical.reduction',
|
||||
mode: 2,
|
||||
value: '@system.armorScore'
|
||||
value: '@system.armorScore',
|
||||
priority: 21
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -709,7 +710,8 @@ export const weaponFeatures = {
|
|||
{
|
||||
key: 'system.evasion',
|
||||
mode: 2,
|
||||
value: '@system.armorScore'
|
||||
value: '@system.armorScore',
|
||||
priority: 21
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1324,7 +1326,8 @@ export const weaponFeatures = {
|
|||
{
|
||||
key: 'system.bonuses.damage.primaryWeapon.bonus',
|
||||
mode: 2,
|
||||
value: '@system.traits.agility.value'
|
||||
value: '@system.traits.agility.value',
|
||||
priority: 21
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1416,9 +1419,9 @@ export const orderedWeaponFeatures = () => {
|
|||
};
|
||||
|
||||
export const featureForm = {
|
||||
passive: "DAGGERHEART.CONFIG.FeatureForm.passive",
|
||||
action: "DAGGERHEART.CONFIG.FeatureForm.action",
|
||||
reaction: "DAGGERHEART.CONFIG.FeatureForm.reaction"
|
||||
passive: 'DAGGERHEART.CONFIG.FeatureForm.passive',
|
||||
action: 'DAGGERHEART.CONFIG.FeatureForm.action',
|
||||
reaction: 'DAGGERHEART.CONFIG.FeatureForm.reaction'
|
||||
};
|
||||
|
||||
export const featureTypes = {
|
||||
|
|
|
|||
|
|
@ -1,3 +1,17 @@
|
|||
/** -- Changes Type Priorities --
|
||||
* - Base Number -
|
||||
* Custom: 0
|
||||
* Multiply: 10
|
||||
* Add: 20
|
||||
* Downgrade: 30
|
||||
* Upgrade: 40
|
||||
* Override: 50
|
||||
*
|
||||
* - Changes Value Priorities -
|
||||
* Standard: +0
|
||||
* "Anything that uses another data model value as its value": +1 - Effects that increase traits have to be calculated first at Base priority. (EX: Raise evasion by half your agility)
|
||||
*/
|
||||
|
||||
export default class BaseEffect extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
|
|
|
|||
|
|
@ -272,12 +272,17 @@ export function ActionMixin(Base) {
|
|||
itemOrigin: this.item,
|
||||
description: this.description || (this.item instanceof Item ? this.item.system.description : '')
|
||||
};
|
||||
|
||||
const speaker = cls.getSpeaker();
|
||||
const msg = {
|
||||
type: 'abilityUse',
|
||||
user: game.user.id,
|
||||
actor: { name: this.actor.name, img: this.actor.img },
|
||||
author: this.author,
|
||||
speaker: cls.getSpeaker(),
|
||||
speaker: {
|
||||
speaker,
|
||||
actor: speaker.actor ?? this.actor
|
||||
},
|
||||
title: game.i18n.localize('DAGGERHEART.UI.Chat.action.title'),
|
||||
system: systemData,
|
||||
content: await foundry.applications.handlebars.renderTemplate(
|
||||
|
|
|
|||
|
|
@ -119,7 +119,7 @@ export const tagifyElement = (element, baseOptions, onChange, tagifyOptions = {}
|
|||
spellcheck='false'
|
||||
tabIndex="${this.settings.a11y.focusableTags ? 0 : -1}"
|
||||
class="${this.settings.classNames.tag} ${tagData.class ? tagData.class : ''}"
|
||||
data-tooltip="${tagData.description || tagData.name}"
|
||||
data-tooltip="${tagData.description ? htmlToText(tagData.description) : tagData.name}"
|
||||
${this.getAttributes(tagData)}>
|
||||
<x class="${this.settings.classNames.tagX}" role='button' aria-label='remove tag'></x>
|
||||
<div>
|
||||
|
|
@ -198,7 +198,7 @@ foundry.dice.terms.Die.prototype.selfCorrecting = function (modifier) {
|
|||
};
|
||||
|
||||
export const getDamageKey = damage => {
|
||||
return ['none', 'minor', 'major', 'severe', 'massive','any'][damage];
|
||||
return ['none', 'minor', 'major', 'severe', 'massive', 'any'][damage];
|
||||
};
|
||||
|
||||
export const getDamageLabel = damage => {
|
||||
|
|
@ -474,3 +474,10 @@ export async function getCritDamageBonus(formula) {
|
|||
const critRoll = new Roll(formula);
|
||||
return critRoll.dice.reduce((acc, dice) => acc + dice.faces * dice.number, 0);
|
||||
}
|
||||
|
||||
export function htmlToText(html) {
|
||||
var tempDivElement = document.createElement('div');
|
||||
tempDivElement.innerHTML = html;
|
||||
|
||||
return tempDivElement.textContent || tempDivElement.innerText || '';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -284,7 +284,7 @@
|
|||
"key": "system.bonuses.roll.attack.bonus",
|
||||
"mode": 2,
|
||||
"value": "ITEM.@system.resource.value",
|
||||
"priority": null
|
||||
"priority": 21
|
||||
}
|
||||
],
|
||||
"disabled": false,
|
||||
|
|
|
|||
|
|
@ -36,13 +36,13 @@
|
|||
"key": "system.damageThresholds.major",
|
||||
"mode": 2,
|
||||
"value": "@prof",
|
||||
"priority": null
|
||||
"priority": 21
|
||||
},
|
||||
{
|
||||
"key": "system.damageThresholds.severe",
|
||||
"mode": 2,
|
||||
"value": "@prof",
|
||||
"priority": null
|
||||
"priority": 21
|
||||
}
|
||||
],
|
||||
"disabled": false,
|
||||
|
|
|
|||
|
|
@ -100,7 +100,7 @@
|
|||
"key": "system.resistance.physical.reduction",
|
||||
"mode": 2,
|
||||
"value": "@system.armorScore",
|
||||
"priority": null
|
||||
"priority": 21
|
||||
}
|
||||
],
|
||||
"disabled": false,
|
||||
|
|
|
|||
|
|
@ -38,13 +38,13 @@
|
|||
"key": "system.bonuses.damage.primaryWeapon.bonus",
|
||||
"mode": 2,
|
||||
"value": "@system.traits.strength.value",
|
||||
"priority": null
|
||||
"priority": 21
|
||||
},
|
||||
{
|
||||
"key": "system.bonuses.damage.secondaryWeapon.bonus",
|
||||
"mode": 2,
|
||||
"value": "@system.traits.strength.value",
|
||||
"priority": null
|
||||
"priority": 21
|
||||
}
|
||||
],
|
||||
"disabled": false,
|
||||
|
|
@ -57,7 +57,7 @@
|
|||
"startRound": null,
|
||||
"startTurn": null
|
||||
},
|
||||
"description": "<p><span style=\"color:rgb(239, 230, 216);font-family:Montserrat, sans-serif;font-size:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:start;text-indent:0px;text-transform:none;widows:2;word-spacing:0px;-webkit-text-stroke-width:0px;white-space:normal;background-color:rgba(24, 22, 46, 0.376);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;display:inline !important;float:none\">On a successful attack using a weapon with a </span><span class=\"tooltip-convert\" style=\"box-sizing:border-box;scrollbar-width:thin;scrollbar-color:rgb(93, 20, 43) rgba(0, 0, 0, 0);color:rgb(239, 230, 216);font-family:Montserrat, sans-serif;font-size:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:start;text-indent:0px;text-transform:none;widows:2;word-spacing:0px;-webkit-text-stroke-width:0px;white-space:normal;background-color:rgba(24, 22, 46, 0.376);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial\">Melee</span><span style=\"color:rgb(239, 230, 216);font-family:Montserrat, sans-serif;font-size:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:start;text-indent:0px;text-transform:none;widows:2;word-spacing:0px;-webkit-text-stroke-width:0px;white-space:normal;background-color:rgba(24, 22, 46, 0.376);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;display:inline !important;float:none\"> range, gain a bonus to your damage roll equal to your </span><span class=\"tooltip-convert\" style=\"box-sizing:border-box;scrollbar-width:thin;scrollbar-color:rgb(93, 20, 43) rgba(0, 0, 0, 0);color:rgb(239, 230, 216);font-family:Montserrat, sans-serif;font-size:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:start;text-indent:0px;text-transform:none;widows:2;word-spacing:0px;-webkit-text-stroke-width:0px;white-space:normal;background-color:rgba(24, 22, 46, 0.376);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial\">Strength</span><span style=\"color:rgb(239, 230, 216);font-family:Montserrat, sans-serif;font-size:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:start;text-indent:0px;text-transform:none;widows:2;word-spacing:0px;-webkit-text-stroke-width:0px;white-space:normal;background-color:rgba(24, 22, 46, 0.376);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;display:inline !important;float:none\">.</p>",
|
||||
"description": "<p><span style=\"color:rgb(239, 230, 216);font-family:Montserrat, sans-serif;font-size:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:start;text-indent:0px;text-transform:none;widows:2;word-spacing:0px;-webkit-text-stroke-width:0px;white-space:normal;background-color:rgba(24, 22, 46, 0.376);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;display:inline !important;float:none\">On a successful attack using a weapon with a </span><span class=\"tooltip-convert\" style=\"box-sizing:border-box;scrollbar-width:thin;scrollbar-color:rgb(93, 20, 43) rgba(0, 0, 0, 0);color:rgb(239, 230, 216);font-family:Montserrat, sans-serif;font-size:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:start;text-indent:0px;text-transform:none;widows:2;word-spacing:0px;-webkit-text-stroke-width:0px;white-space:normal;background-color:rgba(24, 22, 46, 0.376);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial\">Melee</span><span style=\"color:rgb(239, 230, 216);font-family:Montserrat, sans-serif;font-size:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:start;text-indent:0px;text-transform:none;widows:2;word-spacing:0px;-webkit-text-stroke-width:0px;white-space:normal;background-color:rgba(24, 22, 46, 0.376);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;display:inline !important;float:none\"> range, gain a bonus to your damage roll equal to your </span><span class=\"tooltip-convert\" style=\"box-sizing:border-box;scrollbar-width:thin;scrollbar-color:rgb(93, 20, 43) rgba(0, 0, 0, 0);color:rgb(239, 230, 216);font-family:Montserrat, sans-serif;font-size:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:start;text-indent:0px;text-transform:none;widows:2;word-spacing:0px;-webkit-text-stroke-width:0px;white-space:normal;background-color:rgba(24, 22, 46, 0.376);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial\">Strength</span><span style=\"color:rgb(239, 230, 216);font-family:Montserrat, sans-serif;font-size:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:start;text-indent:0px;text-transform:none;widows:2;word-spacing:0px;-webkit-text-stroke-width:0px;white-space:normal;background-color:rgba(24, 22, 46, 0.376);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;display:inline !important;float:none\">.</span></p>",
|
||||
"origin": null,
|
||||
"tint": "#ffffff",
|
||||
"transfer": true,
|
||||
|
|
|
|||
|
|
@ -37,13 +37,13 @@
|
|||
"key": "system.bonuses.damage.primaryWeapon.bonus",
|
||||
"mode": 2,
|
||||
"value": "@system.traits.agility.value",
|
||||
"priority": null
|
||||
"priority": 21
|
||||
},
|
||||
{
|
||||
"key": "system.bonuses.damage.secondaryWeapon.bonus",
|
||||
"mode": 2,
|
||||
"value": "@system.traits.agility.value",
|
||||
"priority": null
|
||||
"priority": 21
|
||||
}
|
||||
],
|
||||
"disabled": true,
|
||||
|
|
|
|||
|
|
@ -101,7 +101,7 @@
|
|||
"key": "system.traits.presence.value",
|
||||
"mode": 5,
|
||||
"value": "@cast",
|
||||
"priority": null
|
||||
"priority": 51
|
||||
}
|
||||
],
|
||||
"disabled": false,
|
||||
|
|
|
|||
|
|
@ -113,13 +113,13 @@
|
|||
"key": "system.bonuses.damage.magical.bonus",
|
||||
"mode": 2,
|
||||
"value": "2*@system.traits.strength.value",
|
||||
"priority": null
|
||||
"priority": 21
|
||||
},
|
||||
{
|
||||
"key": "system.bonuses.damage.physical.bonus",
|
||||
"mode": 2,
|
||||
"value": "2*@system.traits.strength.value",
|
||||
"priority": null
|
||||
"priority": 21
|
||||
}
|
||||
],
|
||||
"disabled": false,
|
||||
|
|
@ -162,13 +162,13 @@
|
|||
"key": "system.bonuses.damage.magical.bonus",
|
||||
"mode": 2,
|
||||
"value": "4*@system.traits.strength.value",
|
||||
"priority": null
|
||||
"priority": 21
|
||||
},
|
||||
{
|
||||
"key": "system.bonuses.damage.physical.bonus",
|
||||
"mode": 2,
|
||||
"value": "4*@system.traits.strength.value",
|
||||
"priority": null
|
||||
"priority": 21
|
||||
}
|
||||
],
|
||||
"disabled": false,
|
||||
|
|
|
|||
|
|
@ -106,7 +106,7 @@
|
|||
"key": "system.damageThresholds.severe",
|
||||
"mode": 2,
|
||||
"value": "@system.proficiency",
|
||||
"priority": null
|
||||
"priority": 21
|
||||
}
|
||||
],
|
||||
"disabled": false,
|
||||
|
|
@ -119,7 +119,7 @@
|
|||
"startRound": null,
|
||||
"startTurn": null
|
||||
},
|
||||
"description": "<p><span style=\"color:rgb(239, 230, 216);font-family:Montserrat, sans-serif;font-size:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:start;text-indent:0px;text-transform:none;widows:2;word-spacing:0px;-webkit-text-stroke-width:0px;white-space:normal;background-color:rgba(24, 22, 46, 0.376);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;display:inline !important;float:none\">Gain a bonus to your </span><span class=\"tooltip-convert\" style=\"box-sizing:border-box;scrollbar-width:thin;scrollbar-color:rgb(93, 20, 43) rgba(0, 0, 0, 0);color:rgb(239, 230, 216);font-family:Montserrat, sans-serif;font-size:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:start;text-indent:0px;text-transform:none;widows:2;word-spacing:0px;-webkit-text-stroke-width:0px;white-space:normal;background-color:rgba(24, 22, 46, 0.376);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial\">Severe </span><span style=\"color:rgb(239, 230, 216);font-family:Montserrat, sans-serif;font-size:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:start;text-indent:0px;text-transform:none;widows:2;word-spacing:0px;-webkit-text-stroke-width:0px;white-space:normal;background-color:rgba(24, 22, 46, 0.376);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;display:inline !important;float:none\">threshold equal to your </span><span class=\"tooltip-convert\" style=\"box-sizing:border-box;scrollbar-width:thin;scrollbar-color:rgb(93, 20, 43) rgba(0, 0, 0, 0);color:rgb(239, 230, 216);font-family:Montserrat, sans-serif;font-size:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:start;text-indent:0px;text-transform:none;widows:2;word-spacing:0px;-webkit-text-stroke-width:0px;white-space:normal;background-color:rgba(24, 22, 46, 0.376);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial\">Proficiency</span><span style=\"color:rgb(239, 230, 216);font-family:Montserrat, sans-serif;font-size:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:start;text-indent:0px;text-transform:none;widows:2;word-spacing:0px;-webkit-text-stroke-width:0px;white-space:normal;background-color:rgba(24, 22, 46, 0.376);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;display:inline !important;float:none\">.</p>",
|
||||
"description": "<p><span style=\"color:rgb(239, 230, 216);font-family:Montserrat, sans-serif;font-size:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:start;text-indent:0px;text-transform:none;widows:2;word-spacing:0px;-webkit-text-stroke-width:0px;white-space:normal;background-color:rgba(24, 22, 46, 0.376);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;display:inline !important;float:none\">Gain a bonus to your </span><span class=\"tooltip-convert\" style=\"box-sizing:border-box;scrollbar-width:thin;scrollbar-color:rgb(93, 20, 43) rgba(0, 0, 0, 0);color:rgb(239, 230, 216);font-family:Montserrat, sans-serif;font-size:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:start;text-indent:0px;text-transform:none;widows:2;word-spacing:0px;-webkit-text-stroke-width:0px;white-space:normal;background-color:rgba(24, 22, 46, 0.376);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial\">Severe </span><span style=\"color:rgb(239, 230, 216);font-family:Montserrat, sans-serif;font-size:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:start;text-indent:0px;text-transform:none;widows:2;word-spacing:0px;-webkit-text-stroke-width:0px;white-space:normal;background-color:rgba(24, 22, 46, 0.376);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;display:inline !important;float:none\">threshold equal to your </span><span class=\"tooltip-convert\" style=\"box-sizing:border-box;scrollbar-width:thin;scrollbar-color:rgb(93, 20, 43) rgba(0, 0, 0, 0);color:rgb(239, 230, 216);font-family:Montserrat, sans-serif;font-size:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:start;text-indent:0px;text-transform:none;widows:2;word-spacing:0px;-webkit-text-stroke-width:0px;white-space:normal;background-color:rgba(24, 22, 46, 0.376);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial\">Proficiency</span><span style=\"color:rgb(239, 230, 216);font-family:Montserrat, sans-serif;font-size:14px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:start;text-indent:0px;text-transform:none;widows:2;word-spacing:0px;-webkit-text-stroke-width:0px;white-space:normal;background-color:rgba(24, 22, 46, 0.376);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;display:inline !important;float:none\">.</span></p>",
|
||||
"origin": null,
|
||||
"tint": "#ffffff",
|
||||
"transfer": true,
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@
|
|||
"key": "system.evasion",
|
||||
"mode": 2,
|
||||
"value": "ceil(@system.traits.agility.value / 2)",
|
||||
"priority": null
|
||||
"priority": 21
|
||||
}
|
||||
],
|
||||
"disabled": false,
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
"type": "domainCard",
|
||||
"folder": "OwsbTSWzKq2WJmQN",
|
||||
"system": {
|
||||
"description": "<p class=\"Body-Foundation\">Make a <strong>Spellcast Roll (16)</strong>. Once per long rest on a success, choose a point within Far range and create a visible zone of protection there for all allies within Very Close range of that point. When you do, place a <strong>d6</strong> on this card with the 1 value facing up. When an ally in this zone takes damage, they reduce it by the die’s value. You then increase the die’s value by one. When the die’s value would exceed 6, this effect ends.</p><p><span style=\"color:oklab(0.952331 0.000418991 -0.00125992);font-family:'gg mono', 'Source Code Pro', Consolas, 'Andale Mono WT', 'Andale Mono', 'Lucida Console', 'Lucida Sans Typewriter', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Liberation Mono', 'Nimbus Mono L', Monaco, 'Courier New', Courier, monospace;font-size:13.6px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:left;text-indent:0px;text-transform:none;widows:2;word-spacing:0px;-webkit-text-stroke-width:0px;white-space:pre-wrap;background-color:oklab(0.57738 0.0140701 -0.208587 / 0.0784314);text-decoration-thickness:initial;text-decoration-style:initial;text-decoration-color:initial;display:inline !important;float:none\">@Template[type:emanation|range:vc]</p>",
|
||||
"description": "<p class=\"Body-Foundation\">Make a <strong>Spellcast Roll (16)</strong>. Once per long rest on a success, choose a point within Far range and create a visible zone of protection there for all allies within Very Close range of that point. When you do, place a <strong>d6</strong> on this card with the 1 value facing up. When an ally in this zone takes damage, they reduce it by the die’s value. You then increase the die’s value by one. When the die’s value would exceed 6, this effect ends.</p><p>@Template[type:emanation|range:vc]</p>",
|
||||
"domain": "splendor",
|
||||
"recallCost": 2,
|
||||
"level": 6,
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@
|
|||
"key": "system.armorScore",
|
||||
"mode": 2,
|
||||
"value": "@system.traits.strength.value",
|
||||
"priority": null
|
||||
"priority": 21
|
||||
}
|
||||
],
|
||||
"disabled": false,
|
||||
|
|
|
|||
|
|
@ -42,7 +42,8 @@
|
|||
{
|
||||
"key": "system.resistance.magical.reduction",
|
||||
"mode": 2,
|
||||
"value": "@system.armorScore"
|
||||
"value": "@system.armorScore",
|
||||
"priority": 21
|
||||
}
|
||||
],
|
||||
"_id": "xGxqTCO8MjNq5Cw6",
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
"_id": "y4c1jrlHrf0wBWOq",
|
||||
"img": "icons/magic/light/projectiles-star-purple.webp",
|
||||
"system": {
|
||||
"description": "<p>You can use this stardrop to summon a hailstorm of comets that deals 8d20 physical damage to all targets within Very Far range.</p><p>@Template[type:emanation|range:vf]</p>",
|
||||
"description": "<p>You can use this stardrop to summon a hailstorm of comets that deals 8d20 physical damage to all targets within Very Far range.</p>",
|
||||
"quantity": 1,
|
||||
"actions": {
|
||||
"pt5U6hlyx4T7MUOa": {
|
||||
|
|
|
|||
|
|
@ -155,7 +155,8 @@
|
|||
{
|
||||
"key": "system.evasion",
|
||||
"mode": 2,
|
||||
"value": "@system.armorScore"
|
||||
"value": "@system.armorScore",
|
||||
"priority": 21
|
||||
}
|
||||
],
|
||||
"transfer": false,
|
||||
|
|
|
|||
|
|
@ -117,7 +117,8 @@
|
|||
{
|
||||
"key": "system.bonuses.damage.primaryWeapon.bonus",
|
||||
"mode": 2,
|
||||
"value": "@system.traits.agility.value"
|
||||
"value": "@system.traits.agility.value",
|
||||
"priority": 21
|
||||
}
|
||||
],
|
||||
"_id": "jMIrOhpPUncn7dWg",
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
1519
src/packs/rolltables/tables_Consumables_tF04P02yVN1YDVel.json
Normal file
1519
src/packs/rolltables/tables_Consumables_tF04P02yVN1YDVel.json
Normal file
File diff suppressed because it is too large
Load diff
1519
src/packs/rolltables/tables_Loot_S61Shlt2I5CbLRjz.json
Normal file
1519
src/packs/rolltables/tables_Loot_S61Shlt2I5CbLRjz.json
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,319 @@
|
|||
{
|
||||
"name": "Table of Random Objectives",
|
||||
"img": "icons/sundries/documents/document-torn-diagram-tan.webp",
|
||||
"description": "<p>Layering Goals Other than Attrition into Combat</p>",
|
||||
"results": [
|
||||
{
|
||||
"type": "text",
|
||||
"weight": 1,
|
||||
"range": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"_id": "LDuVbmdvhJiEOe7U",
|
||||
"name": "",
|
||||
"img": "icons/svg/d12-grey.svg",
|
||||
"description": "<p>Acquire (obtain or steal) an important item or items.</p>",
|
||||
"drawn": false,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.351",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.4.4",
|
||||
"lastModifiedBy": null
|
||||
},
|
||||
"documentUuid": null,
|
||||
"_key": "!tables.results!I5L1dlgxXTNrCCkL.LDuVbmdvhJiEOe7U"
|
||||
},
|
||||
{
|
||||
"type": "text",
|
||||
"weight": 1,
|
||||
"range": [
|
||||
2,
|
||||
2
|
||||
],
|
||||
"_id": "FxYpST4nQUTBp1mN",
|
||||
"name": "",
|
||||
"img": "icons/svg/d12-grey.svg",
|
||||
"description": "<p>Capture one or more of the opponents.</p>",
|
||||
"drawn": false,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.351",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.4.4",
|
||||
"lastModifiedBy": null
|
||||
},
|
||||
"documentUuid": null,
|
||||
"_key": "!tables.results!I5L1dlgxXTNrCCkL.FxYpST4nQUTBp1mN"
|
||||
},
|
||||
{
|
||||
"type": "text",
|
||||
"weight": 1,
|
||||
"range": [
|
||||
3,
|
||||
3
|
||||
],
|
||||
"_id": "bTkZgxqEr4lNxzeK",
|
||||
"name": "",
|
||||
"img": "icons/svg/d12-grey.svg",
|
||||
"description": "<p>Activate a magical device.</p>",
|
||||
"drawn": false,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.351",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.4.4",
|
||||
"lastModifiedBy": null
|
||||
},
|
||||
"documentUuid": null,
|
||||
"_key": "!tables.results!I5L1dlgxXTNrCCkL.bTkZgxqEr4lNxzeK"
|
||||
},
|
||||
{
|
||||
"type": "text",
|
||||
"weight": 1,
|
||||
"range": [
|
||||
4,
|
||||
4
|
||||
],
|
||||
"_id": "T39LgOL1cw5AIY59",
|
||||
"name": "",
|
||||
"img": "icons/svg/d12-grey.svg",
|
||||
"description": "<p>Frame a character or tarnish their reputation.</p>",
|
||||
"drawn": false,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.351",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.4.4",
|
||||
"lastModifiedBy": null
|
||||
},
|
||||
"documentUuid": null,
|
||||
"_key": "!tables.results!I5L1dlgxXTNrCCkL.T39LgOL1cw5AIY59"
|
||||
},
|
||||
{
|
||||
"type": "text",
|
||||
"weight": 1,
|
||||
"range": [
|
||||
5,
|
||||
5
|
||||
],
|
||||
"_id": "MHgv8dlrwA3ZmBKq",
|
||||
"name": "",
|
||||
"img": "icons/svg/d12-grey.svg",
|
||||
"description": "<p>Drive the opponent into a corner or ambush point.</p>",
|
||||
"drawn": false,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.351",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.4.4",
|
||||
"lastModifiedBy": null
|
||||
},
|
||||
"documentUuid": null,
|
||||
"_key": "!tables.results!I5L1dlgxXTNrCCkL.MHgv8dlrwA3ZmBKq"
|
||||
},
|
||||
{
|
||||
"type": "text",
|
||||
"weight": 1,
|
||||
"range": [
|
||||
6,
|
||||
6
|
||||
],
|
||||
"_id": "4USCNNavzVvBqldn",
|
||||
"name": "",
|
||||
"img": "icons/svg/d12-grey.svg",
|
||||
"description": "<p>Stop a magical ritual, legal ceremony, or time-sensitive spell.</p>",
|
||||
"drawn": false,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.351",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.4.4",
|
||||
"lastModifiedBy": null
|
||||
},
|
||||
"documentUuid": null,
|
||||
"_key": "!tables.results!I5L1dlgxXTNrCCkL.4USCNNavzVvBqldn"
|
||||
},
|
||||
{
|
||||
"type": "text",
|
||||
"weight": 1,
|
||||
"range": [
|
||||
7,
|
||||
7
|
||||
],
|
||||
"_id": "gwZnWTauHsbb6rsr",
|
||||
"name": "",
|
||||
"img": "icons/svg/d12-grey.svg",
|
||||
"description": "<p>Hold the line—keep the enemy from reaching a specific area or group.</p>",
|
||||
"drawn": false,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.351",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.4.4",
|
||||
"lastModifiedBy": null
|
||||
},
|
||||
"documentUuid": null,
|
||||
"_key": "!tables.results!I5L1dlgxXTNrCCkL.gwZnWTauHsbb6rsr"
|
||||
},
|
||||
{
|
||||
"type": "text",
|
||||
"weight": 1,
|
||||
"range": [
|
||||
8,
|
||||
8
|
||||
],
|
||||
"_id": "beDIxxPyCCVa8nlE",
|
||||
"name": "",
|
||||
"img": "icons/svg/d12-grey.svg",
|
||||
"description": "<p>Plant evidence or a tracking device on a target.</p>",
|
||||
"drawn": false,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.351",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.4.4",
|
||||
"lastModifiedBy": null
|
||||
},
|
||||
"documentUuid": null,
|
||||
"_key": "!tables.results!I5L1dlgxXTNrCCkL.beDIxxPyCCVa8nlE"
|
||||
},
|
||||
{
|
||||
"type": "text",
|
||||
"weight": 1,
|
||||
"range": [
|
||||
9,
|
||||
9
|
||||
],
|
||||
"_id": "C70V6prVmZd5VRV8",
|
||||
"name": "",
|
||||
"img": "icons/svg/d12-grey.svg",
|
||||
"description": "<p>Secure a specific location ahead of another group’s arrival.</p>",
|
||||
"drawn": false,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.351",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.4.4",
|
||||
"lastModifiedBy": null
|
||||
},
|
||||
"documentUuid": null,
|
||||
"_key": "!tables.results!I5L1dlgxXTNrCCkL.C70V6prVmZd5VRV8"
|
||||
},
|
||||
{
|
||||
"type": "text",
|
||||
"weight": 1,
|
||||
"range": [
|
||||
10,
|
||||
10
|
||||
],
|
||||
"_id": "i02rh05CvhHlKJCN",
|
||||
"name": "",
|
||||
"img": "icons/svg/d12-grey.svg",
|
||||
"description": "<p>Harass the opponent to deplete their resources or keep them occupied.</p>",
|
||||
"drawn": false,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.351",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.4.4",
|
||||
"lastModifiedBy": null
|
||||
},
|
||||
"documentUuid": null,
|
||||
"_key": "!tables.results!I5L1dlgxXTNrCCkL.i02rh05CvhHlKJCN"
|
||||
},
|
||||
{
|
||||
"type": "text",
|
||||
"weight": 1,
|
||||
"range": [
|
||||
11,
|
||||
11
|
||||
],
|
||||
"_id": "AbNgD5GCbWuui9oP",
|
||||
"name": "",
|
||||
"img": "icons/svg/d12-grey.svg",
|
||||
"description": "<p>Destroy a piece of architecture, a statue, a shrine, or a weapon.</p>",
|
||||
"drawn": false,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.351",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.4.4",
|
||||
"lastModifiedBy": null
|
||||
},
|
||||
"documentUuid": null,
|
||||
"_key": "!tables.results!I5L1dlgxXTNrCCkL.AbNgD5GCbWuui9oP"
|
||||
},
|
||||
{
|
||||
"type": "text",
|
||||
"weight": 1,
|
||||
"range": [
|
||||
12,
|
||||
12
|
||||
],
|
||||
"_id": "TCrdyh3qhl2vtQxO",
|
||||
"name": "",
|
||||
"img": "icons/svg/d12-grey.svg",
|
||||
"description": "<p>Investigate a situation to confirm or deny existing information.</p>",
|
||||
"drawn": false,
|
||||
"flags": {},
|
||||
"_stats": {
|
||||
"compendiumSource": null,
|
||||
"duplicateSource": null,
|
||||
"exportSource": null,
|
||||
"coreVersion": "13.351",
|
||||
"systemId": "daggerheart",
|
||||
"systemVersion": "1.4.4",
|
||||
"lastModifiedBy": null
|
||||
},
|
||||
"documentUuid": null,
|
||||
"_key": "!tables.results!I5L1dlgxXTNrCCkL.TCrdyh3qhl2vtQxO"
|
||||
}
|
||||
],
|
||||
"replacement": true,
|
||||
"displayRoll": true,
|
||||
"folder": null,
|
||||
"ownership": {
|
||||
"default": 0,
|
||||
"Bgvu4A6AMkRFOTGR": 3
|
||||
},
|
||||
"flags": {},
|
||||
"formula": "1d12",
|
||||
"_id": "I5L1dlgxXTNrCCkL",
|
||||
"sort": 400000,
|
||||
"_key": "!tables!I5L1dlgxXTNrCCkL"
|
||||
}
|
||||
|
|
@ -35,7 +35,7 @@
|
|||
"key": "system.evasion",
|
||||
"mode": 2,
|
||||
"value": "@system.proficiency",
|
||||
"priority": null
|
||||
"priority": 21
|
||||
}
|
||||
],
|
||||
"disabled": false,
|
||||
|
|
|
|||
|
|
@ -255,13 +255,13 @@
|
|||
"key": "system.damageThresholds.major",
|
||||
"mode": 2,
|
||||
"value": "@system.proficiency",
|
||||
"priority": null
|
||||
"priority": 21
|
||||
},
|
||||
{
|
||||
"key": "system.damageThresholds.severe",
|
||||
"mode": 2,
|
||||
"value": "@system.proficiency",
|
||||
"priority": null
|
||||
"priority": 21
|
||||
}
|
||||
],
|
||||
"disabled": false,
|
||||
|
|
|
|||
|
|
@ -145,6 +145,11 @@
|
|||
|
||||
button {
|
||||
flex: 1;
|
||||
padding: 0 0.375rem;
|
||||
}
|
||||
|
||||
button[data-action=viewParty] {
|
||||
margin-right: 6px;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -344,4 +344,20 @@ aside[role='tooltip'].locked-tooltip:has(div.daggerheart.dh-style.tooltip.card-s
|
|||
margin-bottom: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
.party-list {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
button {
|
||||
width: 100%;
|
||||
align-items: center;
|
||||
justify-content: start;
|
||||
img {
|
||||
border: none;
|
||||
width: 1rem;
|
||||
height: 1rem;
|
||||
object-fit: contain;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
13
system.json
13
system.json
|
|
@ -2,7 +2,7 @@
|
|||
"id": "daggerheart",
|
||||
"title": "Daggerheart",
|
||||
"description": "An unofficial implementation of the Daggerheart system",
|
||||
"version": "1.4.4",
|
||||
"version": "1.4.5",
|
||||
"compatibility": {
|
||||
"minimum": "13.346",
|
||||
"verified": "13.351",
|
||||
|
|
@ -173,6 +173,15 @@
|
|||
"private": false,
|
||||
"flags": {}
|
||||
},
|
||||
{
|
||||
"name": "rolltables",
|
||||
"label": "Rolltables",
|
||||
"system": "daggerheart",
|
||||
"path": "packs/rolltables.db",
|
||||
"type": "RollTable",
|
||||
"private": false,
|
||||
"flags": {}
|
||||
},
|
||||
{
|
||||
"name": "beastforms",
|
||||
"label": "Beastforms",
|
||||
|
|
@ -188,7 +197,7 @@
|
|||
"name": "Daggerheart SRD",
|
||||
"sorting": "m",
|
||||
"color": "#08718c",
|
||||
"packs": ["adversaries", "environments", "journals"],
|
||||
"packs": ["adversaries", "environments", "journals", "rolltables"],
|
||||
"folders": [
|
||||
{
|
||||
"name": "Character Options",
|
||||
|
|
|
|||
|
|
@ -87,11 +87,16 @@
|
|||
</div>
|
||||
{{/if}}
|
||||
<div class="downtime-section">
|
||||
<button type="button" data-action="useDowntime" data-type="shortRest" data-tooltip="{{localize "DAGGERHEART.APPLICATIONS.Downtime.shortRest.title"}}">
|
||||
<i class="fa-solid fa-utensils"></i>
|
||||
{{#if document.parties.size}}
|
||||
<button type="button" data-action="viewParty" data-tooltip="DAGGERHEART.ACTORS.Character.viewParty">
|
||||
<i class="fa-solid fa-fw fa-users"></i>
|
||||
</button>
|
||||
<button type="button" data-action="useDowntime" data-type="longRest" data-tooltip="{{localize "DAGGERHEART.APPLICATIONS.Downtime.longRest.title"}}">
|
||||
<i class="fa-solid fa-bed"></i>
|
||||
{{/if}}
|
||||
<button type="button" data-action="useDowntime" data-type="shortRest" data-tooltip="DAGGERHEART.APPLICATIONS.Downtime.shortRest.title">
|
||||
<i class="fa-solid fa-fw fa-utensils"></i>
|
||||
</button>
|
||||
<button type="button" data-action="useDowntime" data-type="longRest" data-tooltip="DAGGERHEART.APPLICATIONS.Downtime.longRest.title">
|
||||
<i class="fa-solid fa-fw fa-bed"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue