Added attribution to environments

This commit is contained in:
WBHarry 2025-08-17 02:19:22 +02:00
parent 54da1e1872
commit c73f6202bd
26 changed files with 280 additions and 145 deletions

View file

@ -8,7 +8,7 @@ export default class DhpEnvironment extends DHBaseActorSheet {
classes: ['environment'],
position: {
width: 500,
height: 725
height: 740
},
window: {
resizable: true,
@ -49,6 +49,10 @@ export default class DhpEnvironment extends DHBaseActorSheet {
switch (partId) {
case 'header':
await this._prepareHeaderContext(context, options);
const { source, page } = this.document.system.attribution;
const attribution = [source, page ? `pg ${page}.` : null].filter(x => x).join('. ');
context.attributionLabel = attribution;
break;
case 'notes':
await this._prepareNotesContext(context, options);

View file

@ -130,7 +130,8 @@ export default function DHApplicationMixin(Base) {
async _renderFrame(options) {
const frame = await super._renderFrame(options);
if (this.document.system.metadata.hasAttribution) {
const headerAttribution = !['environment'].includes(this.document.type);
if (this.document.system.metadata.hasAttribution && headerAttribution) {
const { source, page } = this.document.system.attribution;
const attribution = [source, page ? `pg ${page}.` : null].filter(x => x).join('. ');
const element = `<label class="attribution-header-label">${attribution}</label>`;
@ -144,7 +145,8 @@ export default function DHApplicationMixin(Base) {
* Refresh the custom parts of the application frame
*/
refreshFrame() {
if (this.document.system.metadata.hasAttribution) {
const headerAttribution = !['environment'].includes(this.document.type);
if (this.document.system.metadata.hasAttribution && headerAttribution) {
const { source, page } = this.document.system.attribution;
const attribution = [source, page ? `pg ${page}.` : null].filter(x => x).join('. ');

View file

@ -1,6 +1,6 @@
{
"name": "Abandoned Grove",
"img": "icons/svg/mystery-man.svg",
"img": "systems/daggerheart/assets/icons/documents/actors/forest.svg",
"type": "environment",
"folder": "GQ0VnOLrKBIHR6Us",
"system": {
@ -27,19 +27,24 @@
"tier": 1,
"description": "<p>A former druidic grove lying fallow and fully reclaimed by nature.</p>",
"type": "exploration",
"impulses": "Draw in the curious, echo the past"
"impulses": "Draw in the curious, echo the past",
"attribution": {
"source": "Daggerheart SRD",
"page": 103,
"artist": ""
}
},
"flags": {},
"_stats": {
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"systemVersion": "1.0.5",
"createdTime": 1753922784553,
"modifiedTime": 1754208922163,
"lastModifiedBy": "MQSznptE5yLT7kj8"
"modifiedTime": 1755389890228,
"lastModifiedBy": "VZIeX2YDvX338Zvr"
},
"_id": "pGEdzdLkqYtBhxnG",
"sort": 3400000,
@ -55,7 +60,7 @@
"width": 1,
"height": 1,
"texture": {
"src": "icons/svg/mystery-man.svg",
"src": "AbominationVaults.webp",
"anchorX": 0.5,
"anchorY": 0.5,
"offsetX": 0,

View file

@ -1,6 +1,6 @@
{
"name": "Ambushed",
"img": "icons/svg/mystery-man.svg",
"img": "systems/daggerheart/assets/icons/documents/actors/forest.svg",
"type": "environment",
"folder": "GQ0VnOLrKBIHR6Us",
"system": {
@ -10,19 +10,24 @@
"tier": 1,
"description": "<p>An ambush is set to catch an unsuspecting party off-guard.</p>",
"type": "event",
"impulses": "Overwhelm, scatter, surround"
"impulses": "Overwhelm, scatter, surround",
"attribution": {
"source": "Daggerheart SRD",
"page": 103,
"artist": ""
}
},
"flags": {},
"_stats": {
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"systemVersion": "1.0.5",
"createdTime": 1753922784553,
"modifiedTime": 1754211171895,
"lastModifiedBy": "MQSznptE5yLT7kj8"
"modifiedTime": 1755389890231,
"lastModifiedBy": "VZIeX2YDvX338Zvr"
},
"_id": "uGEdNYERCTJBEjc5",
"sort": 3400000,
@ -38,7 +43,7 @@
"width": 1,
"height": 1,
"texture": {
"src": "icons/svg/mystery-man.svg",
"src": "systems/daggerheart/assets/icons/documents/actors/forest.svg",
"anchorX": 0.5,
"anchorY": 0.5,
"offsetX": 0,

View file

@ -1,6 +1,6 @@
{
"name": "Ambushers",
"img": "icons/svg/mystery-man.svg",
"img": "systems/daggerheart/assets/icons/documents/actors/forest.svg",
"type": "environment",
"folder": "GQ0VnOLrKBIHR6Us",
"system": {
@ -10,19 +10,24 @@
"tier": 1,
"description": "<p>An ambush is set by the PCs to catch unsuspecting adversaries off-guard.</p>",
"type": "event",
"impulses": "Escape, group up, protect the most vulnerable"
"impulses": "Escape, group up, protect the most vulnerable",
"attribution": {
"source": "Daggerheart SRD",
"page": 103,
"artist": ""
}
},
"flags": {},
"_stats": {
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"systemVersion": "1.0.5",
"createdTime": 1753922784554,
"modifiedTime": 1754211550898,
"lastModifiedBy": "MQSznptE5yLT7kj8"
"modifiedTime": 1755389890234,
"lastModifiedBy": "VZIeX2YDvX338Zvr"
},
"_id": "uXZpebPR77YQ1oXI",
"sort": 3400000,
@ -38,7 +43,7 @@
"width": 1,
"height": 1,
"texture": {
"src": "icons/svg/mystery-man.svg",
"src": "systems/daggerheart/assets/icons/documents/actors/forest.svg",
"anchorX": 0.5,
"anchorY": 0.5,
"offsetX": 0,

View file

@ -1,6 +1,6 @@
{
"name": "Burning Heart of the Woods",
"img": "icons/svg/mystery-man.svg",
"img": "systems/daggerheart/assets/icons/documents/actors/forest.svg",
"type": "environment",
"folder": "MfrIkJK12PAEfbPL",
"system": {
@ -32,19 +32,24 @@
"tier": 3,
"description": "<p>Thick indigo ash fills the air around a towering moss-covered tree that burns eternally with flames a sickly shade of blue.</p>",
"type": "exploration",
"impulses": "Beat out an uncanny rhythm for all to follow, corrupt the woods"
"impulses": "Beat out an uncanny rhythm for all to follow, corrupt the woods",
"attribution": {
"source": "Daggerheart SRD",
"page": 108,
"artist": ""
}
},
"flags": {},
"_stats": {
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"systemVersion": "1.0.5",
"createdTime": 1753922784554,
"modifiedTime": 1754218065764,
"lastModifiedBy": "MQSznptE5yLT7kj8"
"modifiedTime": 1755389890258,
"lastModifiedBy": "VZIeX2YDvX338Zvr"
},
"_id": "oY69NN4rYxoRE4hl",
"sort": 3400000,
@ -60,7 +65,7 @@
"width": 1,
"height": 1,
"texture": {
"src": "icons/svg/mystery-man.svg",
"src": "systems/daggerheart/assets/icons/documents/actors/forest.svg",
"anchorX": 0.5,
"anchorY": 0.5,
"offsetX": 0,

View file

@ -1,6 +1,6 @@
{
"name": "Bustling Marketplace",
"img": "icons/svg/mystery-man.svg",
"img": "systems/daggerheart/assets/icons/documents/actors/forest.svg",
"type": "environment",
"folder": "GQ0VnOLrKBIHR6Us",
"system": {
@ -25,19 +25,24 @@
"tier": 1,
"description": "<p>The economic heart of the settlement, with local artisans, traveling merchants, and patrons across social classes.</p>",
"type": "social",
"impulses": "Buy low, and sell high, tempt and tantalize with wares from near and far"
"impulses": "Buy low, and sell high, tempt and tantalize with wares from near and far",
"attribution": {
"source": "Daggerheart SRD",
"page": 104,
"artist": ""
}
},
"flags": {},
"_stats": {
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"systemVersion": "1.0.5",
"createdTime": 1753922784554,
"modifiedTime": 1754212085334,
"lastModifiedBy": "MQSznptE5yLT7kj8"
"modifiedTime": 1755389890236,
"lastModifiedBy": "VZIeX2YDvX338Zvr"
},
"_id": "HZKA7hkej7JJY503",
"sort": 3400000,
@ -53,7 +58,7 @@
"width": 1,
"height": 1,
"texture": {
"src": "icons/svg/mystery-man.svg",
"src": "systems/daggerheart/assets/icons/documents/actors/forest.svg",
"anchorX": 0.5,
"anchorY": 0.5,
"offsetX": 0,

View file

@ -1,6 +1,6 @@
{
"name": "Castle Siege",
"img": "icons/svg/mystery-man.svg",
"img": "systems/daggerheart/assets/icons/documents/actors/forest.svg",
"type": "environment",
"folder": "MfrIkJK12PAEfbPL",
"system": {
@ -29,19 +29,24 @@
"tier": 3,
"description": "<p>An active siege with an attacking force fighting to gain entry to a fortified castle.</p>",
"type": "event",
"impulses": "Bleed out the will to fi ght, breach the walls, build tension"
"impulses": "Bleed out the will to fi ght, breach the walls, build tension",
"attribution": {
"source": "Daggerheart SRD",
"page": 109,
"artist": ""
}
},
"flags": {},
"_stats": {
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"systemVersion": "1.0.5",
"createdTime": 1753922784555,
"modifiedTime": 1754218654354,
"lastModifiedBy": "MQSznptE5yLT7kj8"
"modifiedTime": 1755389890261,
"lastModifiedBy": "VZIeX2YDvX338Zvr"
},
"_id": "1eZ32Esq7rfZOjlu",
"sort": 3400000,
@ -57,7 +62,7 @@
"width": 1,
"height": 1,
"texture": {
"src": "icons/svg/mystery-man.svg",
"src": "systems/daggerheart/assets/icons/documents/actors/forest.svg",
"anchorX": 0.5,
"anchorY": 0.5,
"offsetX": 0,

View file

@ -1,6 +1,6 @@
{
"name": "Chaos Realm",
"img": "icons/svg/mystery-man.svg",
"img": "systems/daggerheart/assets/icons/documents/actors/forest.svg",
"type": "environment",
"folder": "IKumu5HTLqONLYqb",
"system": {
@ -19,19 +19,24 @@
"tier": 4,
"description": "<p>An otherworldly space where the laws of reality are unstable and dangerous.</p>",
"type": "traversal",
"impulses": "Annihilate certainty, consume power, defy logic"
"impulses": "Annihilate certainty, consume power, defy logic",
"attribution": {
"source": "Daggerheart SRD",
"page": 110,
"artist": ""
}
},
"flags": {},
"_stats": {
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"systemVersion": "1.0.5",
"createdTime": 1753922784556,
"modifiedTime": 1754219630584,
"lastModifiedBy": "MQSznptE5yLT7kj8"
"modifiedTime": 1755389890266,
"lastModifiedBy": "VZIeX2YDvX338Zvr"
},
"_id": "2Z1mKc65LxNk2PqR",
"sort": 3400000,
@ -47,7 +52,7 @@
"width": 1,
"height": 1,
"texture": {
"src": "icons/svg/mystery-man.svg",
"src": "systems/daggerheart/assets/icons/documents/actors/forest.svg",
"anchorX": 0.5,
"anchorY": 0.5,
"offsetX": 0,

View file

@ -1,6 +1,6 @@
{
"name": "Cliffside Ascent",
"img": "icons/svg/mystery-man.svg",
"img": "systems/daggerheart/assets/icons/documents/actors/forest.svg",
"type": "environment",
"folder": "GQ0VnOLrKBIHR6Us",
"system": {
@ -20,19 +20,24 @@
"tier": 1,
"description": "<p>A steep, rocky cliffside tall enough to make traversal dangerous.</p>",
"type": "traversal",
"impulses": "Cast the unready down to a rocky doom, draw people in with promise of what lies at the top"
"impulses": "Cast the unready down to a rocky doom, draw people in with promise of what lies at the top",
"attribution": {
"source": "Daggerheart SRD",
"page": 104,
"artist": ""
}
},
"flags": {},
"_stats": {
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"systemVersion": "1.0.5",
"createdTime": 1753922784557,
"modifiedTime": 1754212638870,
"lastModifiedBy": "MQSznptE5yLT7kj8"
"modifiedTime": 1755389890238,
"lastModifiedBy": "VZIeX2YDvX338Zvr"
},
"_id": "LPpfdlNKqiZIl04w",
"sort": 3400000,
@ -48,7 +53,7 @@
"width": 1,
"height": 1,
"texture": {
"src": "icons/svg/mystery-man.svg",
"src": "systems/daggerheart/assets/icons/documents/actors/forest.svg",
"anchorX": 0.5,
"anchorY": 0.5,
"offsetX": 0,

View file

@ -1,6 +1,6 @@
{
"name": "Cult Ritual",
"img": "icons/svg/mystery-man.svg",
"img": "systems/daggerheart/assets/icons/documents/actors/forest.svg",
"type": "environment",
"folder": "XMeecO3IRvu5ck6F",
"system": {
@ -20,19 +20,24 @@
"tier": 2,
"description": "<p>A Fallen cult assembles around a sigil of the defeated gods and a bonfire that burns a sickly shade of green.</p>",
"type": "event",
"impulses": "Profane the land, unite the Mortal Realm with the Circles Below"
"impulses": "Profane the land, unite the Mortal Realm with the Circles Below",
"attribution": {
"source": "Daggerheart SRD",
"page": 106,
"artist": ""
}
},
"flags": {},
"_stats": {
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"systemVersion": "1.0.5",
"createdTime": 1753922784557,
"modifiedTime": 1754215595854,
"lastModifiedBy": "MQSznptE5yLT7kj8"
"modifiedTime": 1755389890248,
"lastModifiedBy": "VZIeX2YDvX338Zvr"
},
"_id": "QAXXiOKBDmCTauHD",
"sort": 3400000,
@ -48,7 +53,7 @@
"width": 1,
"height": 1,
"texture": {
"src": "icons/svg/mystery-man.svg",
"src": "systems/daggerheart/assets/icons/documents/actors/forest.svg",
"anchorX": 0.5,
"anchorY": 0.5,
"offsetX": 0,

View file

@ -1,6 +1,6 @@
{
"name": "Divine Usurpation",
"img": "icons/svg/mystery-man.svg",
"img": "systems/daggerheart/assets/icons/documents/actors/forest.svg",
"type": "environment",
"folder": "IKumu5HTLqONLYqb",
"system": {
@ -21,19 +21,24 @@
"tier": 4,
"description": "<p>A massive ritual designed to breach the gates of the Hallows Above and unseat the New Gods themselves.</p>",
"type": "event",
"impulses": "Collect power, overawe, silence dissent"
"impulses": "Collect power, overawe, silence dissent",
"attribution": {
"source": "Daggerheart SRD",
"page": 110,
"artist": ""
}
},
"flags": {},
"_stats": {
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"systemVersion": "1.0.5",
"createdTime": 1753922784558,
"modifiedTime": 1754220432059,
"lastModifiedBy": "MQSznptE5yLT7kj8"
"modifiedTime": 1755389890271,
"lastModifiedBy": "VZIeX2YDvX338Zvr"
},
"_id": "4DLYez7VbMCFDAuZ",
"sort": 3400000,
@ -49,7 +54,7 @@
"width": 1,
"height": 1,
"texture": {
"src": "icons/svg/mystery-man.svg",
"src": "systems/daggerheart/assets/icons/documents/actors/forest.svg",
"anchorX": 0.5,
"anchorY": 0.5,
"offsetX": 0,

View file

@ -1,6 +1,6 @@
{
"name": "Hallowed Temple",
"img": "icons/svg/mystery-man.svg",
"img": "systems/daggerheart/assets/icons/documents/actors/forest.svg",
"type": "environment",
"folder": "XMeecO3IRvu5ck6F",
"system": {
@ -19,19 +19,24 @@
"tier": 2,
"description": "<p>A bustling but well-kept temple that provides healing and hosts regular services, overseen by a priest or seraph.</p>",
"type": "social",
"impulses": "Connect the Mortal Realm with the Hallows Above, display the power of the divine, provide aid and succor to the faithful"
"impulses": "Connect the Mortal Realm with the Hallows Above, display the power of the divine, provide aid and succor to the faithful",
"attribution": {
"source": "Daggerheart SRD",
"page": 107,
"artist": ""
}
},
"flags": {},
"_stats": {
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"systemVersion": "1.0.5",
"createdTime": 1753922784558,
"modifiedTime": 1754216032747,
"lastModifiedBy": "MQSznptE5yLT7kj8"
"modifiedTime": 1755389890251,
"lastModifiedBy": "VZIeX2YDvX338Zvr"
},
"_id": "dsA6j69AnaJhUyqH",
"sort": 3400000,
@ -47,7 +52,7 @@
"width": 1,
"height": 1,
"texture": {
"src": "icons/svg/mystery-man.svg",
"src": "systems/daggerheart/assets/icons/documents/actors/forest.svg",
"anchorX": 0.5,
"anchorY": 0.5,
"offsetX": 0,

View file

@ -1,6 +1,6 @@
{
"name": "Haunted City",
"img": "icons/svg/mystery-man.svg",
"img": "systems/daggerheart/assets/icons/documents/actors/forest.svg",
"type": "environment",
"folder": "XMeecO3IRvu5ck6F",
"system": {
@ -19,19 +19,24 @@
"tier": 2,
"description": "<p>An abandoned city populated by the restless spirits of eras past.</p>",
"type": "exploration",
"impulses": "Misdirect and disorient, replay apocalypses both public and personal"
"impulses": "Misdirect and disorient, replay apocalypses both public and personal",
"attribution": {
"source": "Daggerheart SRD",
"page": 107,
"artist": ""
}
},
"flags": {},
"_stats": {
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"systemVersion": "1.0.5",
"createdTime": 1753922784559,
"modifiedTime": 1754216926766,
"lastModifiedBy": "MQSznptE5yLT7kj8"
"modifiedTime": 1755389890253,
"lastModifiedBy": "VZIeX2YDvX338Zvr"
},
"_id": "OzYbizKraK92FDiI",
"sort": 3400000,
@ -47,7 +52,7 @@
"width": 1,
"height": 1,
"texture": {
"src": "icons/svg/mystery-man.svg",
"src": "systems/daggerheart/assets/icons/documents/actors/forest.svg",
"anchorX": 0.5,
"anchorY": 0.5,
"offsetX": 0,

View file

@ -1,6 +1,6 @@
{
"name": "Imperial Court",
"img": "icons/svg/mystery-man.svg",
"img": "systems/daggerheart/assets/icons/documents/actors/forest.svg",
"type": "environment",
"folder": "IKumu5HTLqONLYqb",
"system": {
@ -21,19 +21,24 @@
"tier": 4,
"description": "<p>The majestic domain of a powerful empire, lavishly appointed with stolen treasures.</p>",
"type": "social",
"impulses": "Justify and perpetuate imperial rule, seduce rivals with promises of power and comfort"
"impulses": "Justify and perpetuate imperial rule, seduce rivals with promises of power and comfort",
"attribution": {
"source": "Daggerheart SRD",
"page": 111,
"artist": ""
}
},
"flags": {},
"_stats": {
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"systemVersion": "1.0.5",
"createdTime": 1753922784559,
"modifiedTime": 1754220962410,
"lastModifiedBy": "MQSznptE5yLT7kj8"
"modifiedTime": 1755389890268,
"lastModifiedBy": "VZIeX2YDvX338Zvr"
},
"_id": "jr1xAoXzVwVblzxI",
"sort": 3400000,
@ -49,7 +54,7 @@
"width": 1,
"height": 1,
"texture": {
"src": "icons/svg/mystery-man.svg",
"src": "systems/daggerheart/assets/icons/documents/actors/forest.svg",
"anchorX": 0.5,
"anchorY": 0.5,
"offsetX": 0,

View file

@ -1,6 +1,6 @@
{
"name": "Local Tavern",
"img": "icons/svg/mystery-man.svg",
"img": "systems/daggerheart/assets/icons/documents/actors/forest.svg",
"type": "environment",
"folder": "GQ0VnOLrKBIHR6Us",
"system": {
@ -33,19 +33,24 @@
"tier": 1,
"description": "<p>A lively tavern that serves as the social hub for its town.</p>",
"type": "social",
"impulses": "Provide opportunities for adventurers, nurture community"
"impulses": "Provide opportunities for adventurers, nurture community",
"attribution": {
"source": "Daggerheart SRD",
"page": 105,
"artist": ""
}
},
"flags": {},
"_stats": {
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"systemVersion": "1.0.5",
"createdTime": 1753922784561,
"modifiedTime": 1754213299544,
"lastModifiedBy": "MQSznptE5yLT7kj8"
"modifiedTime": 1755389890240,
"lastModifiedBy": "VZIeX2YDvX338Zvr"
},
"_id": "cM4X81DOyvxNIi52",
"sort": 3400000,
@ -61,7 +66,7 @@
"width": 1,
"height": 1,
"texture": {
"src": "icons/svg/mystery-man.svg",
"src": "systems/daggerheart/assets/icons/documents/actors/forest.svg",
"anchorX": 0.5,
"anchorY": 0.5,
"offsetX": 0,

View file

@ -1,6 +1,6 @@
{
"name": "Mountain Pass",
"img": "icons/svg/mystery-man.svg",
"img": "systems/daggerheart/assets/icons/documents/actors/forest.svg",
"type": "environment",
"folder": "XMeecO3IRvu5ck6F",
"system": {
@ -27,19 +27,24 @@
"tier": 2,
"description": "<p>Stony peaks that pierce the clouds, with a twisting path winding its way up and over through many switchbacks.</p>",
"type": "traversal",
"impulses": "Exact a chilling toll in supplies and stamina, reveal magical tampering, slow down travel"
"impulses": "Exact a chilling toll in supplies and stamina, reveal magical tampering, slow down travel",
"attribution": {
"source": "Daggerheart SRD",
"page": 108,
"artist": ""
}
},
"flags": {},
"_stats": {
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"systemVersion": "1.0.5",
"createdTime": 1753922784562,
"modifiedTime": 1754217303533,
"lastModifiedBy": "MQSznptE5yLT7kj8"
"modifiedTime": 1755389890256,
"lastModifiedBy": "VZIeX2YDvX338Zvr"
},
"_id": "acMu9wJrMZZzLSTJ",
"sort": 3400000,
@ -55,7 +60,7 @@
"width": 1,
"height": 1,
"texture": {
"src": "icons/svg/mystery-man.svg",
"src": "systems/daggerheart/assets/icons/documents/actors/forest.svg",
"anchorX": 0.5,
"anchorY": 0.5,
"offsetX": 0,

View file

@ -1,6 +1,6 @@
{
"name": "Necromancers Ossuary",
"img": "icons/svg/mystery-man.svg",
"img": "systems/daggerheart/assets/icons/documents/actors/forest.svg",
"type": "environment",
"folder": "IKumu5HTLqONLYqb",
"system": {
@ -18,19 +18,24 @@
"tier": 4,
"description": "<p>A dusty crypt with a library, twisting corridors, and abundant sarcophagi, spattered with the blood of ill-fated invaders.</p>",
"type": "exploration",
"impulses": "Confound intruders, delve into secrets best left buried, manifest unlife, unleash a tide of undead"
"impulses": "Confound intruders, delve into secrets best left buried, manifest unlife, unleash a tide of undead",
"attribution": {
"source": "Daggerheart SRD",
"page": 111,
"artist": ""
}
},
"flags": {},
"_stats": {
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"systemVersion": "1.0.5",
"createdTime": 1753922784563,
"modifiedTime": 1754221404218,
"lastModifiedBy": "MQSznptE5yLT7kj8"
"modifiedTime": 1755389890275,
"lastModifiedBy": "VZIeX2YDvX338Zvr"
},
"_id": "h3KyRL7AshhLAmcH",
"sort": 3400000,
@ -46,7 +51,7 @@
"width": 1,
"height": 1,
"texture": {
"src": "icons/svg/mystery-man.svg",
"src": "systems/daggerheart/assets/icons/documents/actors/forest.svg",
"anchorX": 0.5,
"anchorY": 0.5,
"offsetX": 0,

View file

@ -1,6 +1,6 @@
{
"name": "Outpost Town",
"img": "icons/svg/mystery-man.svg",
"img": "systems/daggerheart/assets/icons/documents/actors/forest.svg",
"type": "environment",
"folder": "GQ0VnOLrKBIHR6Us",
"system": {
@ -29,19 +29,24 @@
"tier": 1,
"description": "<p>A small town on the outskirts of a nation or region, close to a dungeon, tombs, or other adventuring destinations.</p>",
"type": "social",
"impulses": "Drive the desperate to certain doom, profi t off of ragged hope"
"impulses": "Drive the desperate to certain doom, profi t off of ragged hope",
"attribution": {
"source": "Daggerheart SRD",
"page": 105,
"artist": ""
}
},
"flags": {},
"_stats": {
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"systemVersion": "1.0.5",
"createdTime": 1753922784564,
"modifiedTime": 1754213845896,
"lastModifiedBy": "MQSznptE5yLT7kj8"
"modifiedTime": 1755389890243,
"lastModifiedBy": "VZIeX2YDvX338Zvr"
},
"_id": "YezryR32uo39xRxW",
"sort": 3400000,
@ -57,7 +62,7 @@
"width": 1,
"height": 1,
"texture": {
"src": "icons/svg/mystery-man.svg",
"src": "systems/daggerheart/assets/icons/documents/actors/forest.svg",
"anchorX": 0.5,
"anchorY": 0.5,
"offsetX": 0,

View file

@ -1,6 +1,6 @@
{
"name": "Pitched Battle",
"img": "icons/svg/mystery-man.svg",
"img": "systems/daggerheart/assets/icons/documents/actors/forest.svg",
"type": "environment",
"folder": "MfrIkJK12PAEfbPL",
"system": {
@ -29,19 +29,24 @@
"tier": 3,
"description": "<p>A massive combat between two large groups of armed combatants.</p>",
"type": "event",
"impulses": "Seize people, land, and wealth, spill blood for greed and glory"
"impulses": "Seize people, land, and wealth, spill blood for greed and glory",
"attribution": {
"source": "Daggerheart SRD",
"page": 109,
"artist": ""
}
},
"flags": {},
"_stats": {
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"systemVersion": "1.0.5",
"createdTime": 1753922784565,
"modifiedTime": 1754219040722,
"lastModifiedBy": "MQSznptE5yLT7kj8"
"modifiedTime": 1755389890264,
"lastModifiedBy": "VZIeX2YDvX338Zvr"
},
"_id": "EWD3ZsLoK6VMVOf7",
"sort": 3400000,
@ -57,7 +62,7 @@
"width": 1,
"height": 1,
"texture": {
"src": "icons/svg/mystery-man.svg",
"src": "systems/daggerheart/assets/icons/documents/actors/forest.svg",
"anchorX": 0.5,
"anchorY": 0.5,
"offsetX": 0,

View file

@ -1,6 +1,6 @@
{
"name": "Raging River",
"img": "icons/svg/mystery-man.svg",
"img": "systems/daggerheart/assets/icons/documents/actors/forest.svg",
"type": "environment",
"folder": "GQ0VnOLrKBIHR6Us",
"system": {
@ -29,19 +29,24 @@
"tier": 1,
"description": "<p>A swift-moving river without a bridge crossing, deep enough to sweep away most people.</p>",
"type": "traversal",
"impulses": "Bar crossing, carry away the unready, divide the land"
"impulses": "Bar crossing, carry away the unready, divide the land",
"attribution": {
"source": "Daggerheart SRD",
"page": 106,
"artist": ""
}
},
"flags": {},
"_stats": {
"compendiumSource": null,
"duplicateSource": null,
"exportSource": null,
"coreVersion": "13.346",
"coreVersion": "13.347",
"systemId": "daggerheart",
"systemVersion": "0.0.1",
"systemVersion": "1.0.5",
"createdTime": 1753922784565,
"modifiedTime": 1754214189395,
"lastModifiedBy": "MQSznptE5yLT7kj8"
"modifiedTime": 1755389890245,
"lastModifiedBy": "VZIeX2YDvX338Zvr"
},
"_id": "t4cdqTfzcqP3H1vJ",
"sort": 3400000,
@ -57,7 +62,7 @@
"width": 1,
"height": 1,
"texture": {
"src": "icons/svg/mystery-man.svg",
"src": "systems/daggerheart/assets/icons/documents/actors/forest.svg",
"anchorX": 0.5,
"anchorY": 0.5,
"offsetX": 0,

View file

@ -6,6 +6,12 @@
object-position: top center;
}
&.minimized {
.attribution-header-label {
display: none;
}
}
.attribution-header-label {
font-style: italic;
font-family: @font-body;

View file

@ -55,6 +55,13 @@
font-size: 12px;
}
}
.attribution-header-label {
text-align: left;
position: relative;
top: 4px;
margin-bottom: -6px;
}
}
.status-number {

View file

@ -5,6 +5,10 @@
.appTheme({
&.environment {
background-image: url('../assets/parchments/dh-parchment-dark.png');
.attribution-header-label {
background-image: url('../assets/parchments/dh-parchment-dark.png');
}
}
}, {
&.environment {
@ -18,5 +22,11 @@
overflow-y: auto;
scrollbar-width: thin;
scrollbar-color: light-dark(@dark-blue, @golden) transparent;
&.active {
overflow: hidden;
display: flex;
flex-direction: column;
}
}
}

View file

@ -1,4 +1,10 @@
.application.sheet.daggerheart.dh-style.item {
&.minimized {
.attribution-header-label {
display: none;
}
}
.attribution-header-label {
font-style: italic;
font-family: @font-body;

View file

@ -3,6 +3,7 @@
<div class='item-container'>
<div class="item-info">
<h1 class='item-name'><input type='text' name='name' value='{{source.name}}' /></h1>
<div class="flexcol">
<div class="tags">
<div class="tag">
<span>
@ -17,6 +18,10 @@
</div>
{{/if}}
</div>
{{#if document.system.attribution.source}}
<label class="attribution-header-label">{{attributionLabel}}</label>
{{/if}}
</div>
</div>
<div class="status-number">
<div class='status-value armor-slots'>