From 2c11ae1acb3f64bb923e6d96d9959014b7f9ea13 Mon Sep 17 00:00:00 2001 From: JimCanE <6275508-jimcane@users.noreply.gitlab.com> Date: Fri, 23 May 2025 21:03:50 +0200 Subject: [PATCH 1/4] feat(equipmentFeatures): update and add weapons and armore features --- lang/en.json | 452 ++++++++++++++++++++++++--------------------------- 1 file changed, 216 insertions(+), 236 deletions(-) diff --git a/lang/en.json b/lang/en.json index 691afd13..31883fd6 100644 --- a/lang/en.json +++ b/lang/en.json @@ -406,291 +406,271 @@ } }, "ArmorFeature": { - "Light": { - "Name": "Light", - "Description": "+1 to Evasion." - }, - "Heavy": { - "Name": "Heavy", - "Description": "-1 to Evasion." - }, - "VeryHeavy": { - "Name": "Very Heavy", - "Description": "-2 to Evasion and -1 to Agility." - }, - "Reinforced": { - "Name": "Reinforced", - "Description": "Increase your armor score by the number of unmarked armor slots you have." - }, - "Sturdy": { - "Name": "Sturdy", - "Description": "Before you mark your last armor slot, roll your armor die. On a 6, you use the armor without marking the slot." - }, - "Warded": { - "Name": "Warded", - "Description": "Each armor slot is worth an extra 2d4 against magic damage." - }, - "Resistant": { - "Name": "Resistant", - "Description": "Mark 2 armor slots to make yourself resistant to the incoming damage instead of reducing it by your armor score." - }, - "Quiet": { - "Name": "Quiet", - "Description": "+2 to any rolls you make to move without being heard." - }, - "Hopeful": { - "Name": "Hopeful", - "Description": "Anytime you need to spend Hope, you may mark an Armor Slot instead." - }, - "Impenetrable": { - "Name": "Impenetrable", - "Description": "When you mark an armor slot, you cannot fill your last hit point as the result of physical damage." - }, - "Painful": { - "Name": "Painful", - "Description": "Mark stress every time you use one or more armor slots on an attack." - }, - "Gilded": { - "Name": "Gilded", - "Description": "When you mark an armor slot, you may spend any amount of Hope to also reduce the incoming damage by an amount equal to your proficiency per Hope spent." - }, - "Physical": { - "Name": "Physical", - "Description": "You cannot use this armor against Magic damage." - }, - "Magic": { - "Name": "Magic", - "Description": "You cannot use this armor against Physical damage." - }, - "Sharp": { - "Name": "Sharp", - "Description": "Add 1d4 to any damage rolls you make on a successful Melee attack." - }, "Burning": { "Name": "Burning", - "Description": "When an enemy strikes you in Melee, they immediately mark a stress." - }, - "Timeslowing": { - "Name": "Timeslowing", - "Description": "On any incoming attacks, roll 1d4 and add its value to your Evasion score." - }, - "Truthseeking": { - "Name": "Truthseeking", - "Description": "This armor glows when anyone within close range tells a lie." + "Description": "When an adversary attacks you within Melee range, they mark a Stress." }, "Channeling": { "Name": "Channeling", - "Description": "While this armor is equipped, take +1 to all Spellcast rolls." + "Description": "+1 to Spellcast Rolls" }, "Difficult": { "Name": "Difficult", - "Description": "-1 to all Character Traits." + "Description": "-1 to all character traits and Evasion" }, - "Variable": { - "Name": "Variable", - "Description": "Add +1 to your armor score for every range beyond Melee the damage is coming from." - } - }, - "WeaponFeature": { - "Light": { - "Name": "Light", - "Description": "+1 to Agility." + "Flexible": { + "Name": "Flexible", + "Description": "+1 to Evasion" + }, + "Fortified": { + "Name": "Fortified", + "Description": "When you mark an Armor Slot, you reduce the severity of an attack by two thresholds instead of one." + }, + "Gilded": { + "Name": "Gilded", + "Description": "+1 to Presence" }, "Heavy": { "Name": "Heavy", - "Description": "-1 to Agility." + "Description": "-1 to Evasion" }, - "Massive": { - "Name": "Massive", - "Description": "-1 Agility, roll one extra Damage die and drop the lowest." + "Hopeful": { + "Name": "Hopeful", + "Description": "When you would spend a Hope, you can mark an Armor Slot instead." }, - "Reliable": { - "Name": "Reliable", - "Description": "+1 to attack rolls with this weapon." + "Impenetrable": { + "Name": "Impenetrable", + "Description": "Once per short rest, when you would mark your last Hit Point, you can instead mark a Stress." }, - "Quick": { - "Name": "Quick", - "Description": "Mark stress to attack an additional target in range." - }, - "Cumbersome": { - "Name": "Cumbersome", - "Description": "-1 to Evasion." - }, - "Versatile": { - "Name": "Versatile", - "Description": "Presence Melee - d10" - }, - "Powerful": { - "Name": "Powerful", - "Description": "Roll one extra damage die and drop the lowest." - }, - "Scary": { - "Name": "Scary", - "Description": "Successful attacks also deal +1 stress." - }, - "Brutal": { - "Name": "Brutal", - "Description": "For every 8 rolled on a damage die, roll an additional d8 of damage." - }, - "Reloading": { - "Name": "Reloading", - "Description": "If any of your damage dice land on a 10, you must mark stress to reload this weapon before it can be shot again." - }, - "Eruptive": { - "Name": "Eruptive", - "Description": "When you hit a creature in Melee, each Very Close enemy must make a React (5) roll or take half damage as well." - }, - "Persuasive": { - "Name": "Persuasive", - "Description": "Mark stress before rolling Presence to add +2 to the result." - }, - "Pompous": { - "Name": "Pompous", - "Description": "Must have a Presence score of 0 or less to use this weapon." - }, - "Invigorating": { - "Name": "Invigorating", - "Description": "When you make a successful attack, roll a d4. On a 4, clear a stress." - }, - "Dense": { - "Name": "Dense", - "Description": "-1 to Agility & +3 to Severe Damage Threshold." - }, - "Soulswift": { - "Name": "Soulswift", - "Description": "You may re-roll any damage die that rolls a value lower than your Agility. You must use the new result" - }, - "Protective": { - "Name": "Protective", - "Description": "Add +1 to your Armor score." - }, - "Devastating": { - "Name": "Devastating", - "Description": "Mark stress before your attack roll to use d20s as your damage dice instead." - }, - "Retractable": { - "Name": "Retractable", - "Description": "Blade can be hidden in hilt to avoid recognition as a weapon." - }, - "Burn": { - "Name": "Burn", - "Description": "For every damage dice that rolls an 8, deal stress." + "Magic": { + "Name": "Magic", + "Description": "You can't mark an Armor Slot to reduce physical damage." }, "Painful": { "Name": "Painful", - "Description": "Mark stress every time you roll damage on an attack with this weapon." + "Description": "Each time you mark an Armor Slot, you must mark a Stress." }, - "Otherwordly": { - "Name": "Otherwordly", - "Description": "You can choose whether to do Physical or Magic damage." + "Physical": { + "Name": "Physical", + "Description": "You can't mark an Armor Slot to reduce magic damage." }, - "Lucky": { - "Name": "Lucky", - "Description": "Spend stress on a failure to reroll your attack and take the new result." + "Quiet": { + "Name": "Quiet", + "Description": "You gain a +2 bonus to rolls you make to move silently." }, - "SelfCorrecting": { - "Name": "Self Correcting", - "Description": "Any 1’s rolled on the damage dice may be treated as 8’s instead." + "Reinforced": { + "Name": "Reinforced", + "Description": "When you mark your last Armor Slot, increase your damage thresholds by +2 until you clear at least 1 Armor Slot." }, - "Healing": { - "Name": "Healing", - "Description": "During downtime, automatically heal 1 hit point." + "Resilient": { + "Name": "Resilient", + "Description": "Before you mark your last Armor Slot, roll a d6. On a result of 6, reduce the severity by one threshold without marking an Armor Slot." }, - "Timebender": { - "Name": "Timebender", - "Description": "You may choose the target of your attack after making your attack roll." + "Sharp": { + "Name": "Sharp", + "Description": "On a successful attack against a target within Melee range, add a d4 to the damage roll." }, - "Enchanted": { - "Name": "Enchanted", - "Description": "This weapon returns to its owner’s hand after being thrown." + "Shifting": { + "Name": "Shifting", + "Description": "When you are targeted for an attack, you can mark an Armor Slot to give the attack roll against you disadvantage." }, - "Serrated": { - "Name": "Serrated", - "Description": "Any 1’s rolled on the damage dice count as 11 points of damage." + "Timeslowing": { + "Name": "Timeslowing", + "Description": "Mark an Armor Slot to roll a d4 and add its result as a bonus to your Evasion against an incoming attack." }, - "Grappling": { - "Name": "Grappling", - "Description": "Spend Hope on a successful attack to temporarily keep the target in place, or pull them into Melee with you." + "Truthseeking": { + "Name": "Truthseeking", + "Description": "This armor glows when another creature within Close range tells a lie." }, - "Long": { - "Name": "Long", - "Description": "Can target all enemies in a line within range with your attack." + "VeryHeavy": { + "Name": "Very Heavy", + "Description": "-2 to Evasion; -1 to Agility" }, - "Destructive": { - "Name": "Destructive", - "Description": "−1 to Agility, all Very Close enemies mark stress on a successful attack." - }, - "Concussive": { - "Name": "Concussive", - "Description": "Spend Hope on a successful attack to launch the target into far range." - }, - "Bouncing": { - "Name": "Bouncing", - "Description": "Spend any amount of stress to hit that many targets in range with the attack." - }, - "Penetrating": { - "Name": "Penetrating", - "Description": "Cuts through solid material." - }, - "Lifestealing": { - "Name": "Lifestealing", - "Description": "On a successful hit, roll a d6. On a 6, heal a hit point or clear a stress." - }, - "Greedy": { - "Name": "Greedy", - "Description": "You may spend one handful of gold to increase your proficiency by +1 on a damage roll." + "Warded": { + "Name": "Warded", + "Description": "You reduce incoming magic damage by your Armor Score before applying it to your damage thresholds." + } + }, + "WeaponFeature": { + "Barrier": { + "Name": "Barrier", + "Description": "+{armorBonus} to Armor Score; -1 to Evasion" }, "Bonded": { "Name": "Bonded", - "Description": "Add your Level to the damage result." + "Description": "Gain a bonus to your damage rolls equal to your level." }, - "Barrier": { - "Name": "Barrier", - "Description": "Add +4 to your armor score, -2 to Evasion." + "Bouncing": { + "Name": "Bouncing", + "Description": "Mark 1 or more Stress to hit that many targets in range of the attack." }, - "Paired": { - "Name": "Paired", - "Description": "+2 to Primary Weapon damage in Melee." + "Brave": { + "Name": "Brave", + "Description": "-1 to Evasion; +3 to Severe damage threshold" }, - "Whipcrack": { - "Name": "Whipcrack", - "Description": "Mark stress to scatter enemies in Melee into close range." + "Brutal": { + "Name": "Brutal", + "Description": "When you roll the maximum value on a damage die, roll an additional damage die." }, - "Hook": { - "Name": "Hook", - "Description": "On a successful attack, you may also pull the target into Melee with you." + "Charged": { + "Name": "Charged", + "Description": "Mark a Stress to gain a +1 bonus to your Proficiency on a primary weapon attack." }, - "DoubleDuty": { - "Name": "Double Duty", - "Description": "+2 to Armor score, +1 to Primary Weapon damage in Melee." + "Concussive": { + "Name": "Concussive", + "Description": "On a successful attack, you can spend a Hope to knock the target back to Far range." }, - "Parry": { - "Name": "Parry", - "Description": "On an attack against you, roll this weapon’s damage dice. If any match the attacker’s, they are removed before damage is totalled." + "Cumbersome": { + "Name": "Cumbersome", + "Description": "-1 to Finesse" }, - "Retrieve": { - "Name": "Retrieve", - "Description": "Must be retrieved once thrown before using again." + "Deadly": { + "Name": "Deadly", + "Description": "When you deal Severe damage, the target must mark an additional HP." }, "Deflecting": { "Name": "Deflecting", - "Description": "On an incoming attack, you may spend an armor slot to boost your Evasion score by your Armor score." + "Description": "When you are attacked, you can mark an Armor Slot to gain a bonus to your Evasion equal to your Armor Score against the attack." }, - "ChargedAttack": { - "Name": "Charged Attack", - "Description": "Mark stress to increase proficiency by +1 on Primary Weapon attack." + "Destructive": { + "Name": "Destructive", + "Description": "-1 to Agility; on a successful attack, all adversaries within Very Close range must mark a Stress." }, - "Sheltering": { - "Name": "Sheltering", - "Description": "Using an armor slot reduces damage for you and all allies in Melee with you." + "Devastating": { + "Name": "Devastating", + "Description": "Before you make an attack roll, you can mark a Stress to use a d20 as your damage die." + }, + "DoubleDuty": { + "Name": "Double Duty", + "Description": "+1 to Armor Score; +1 to primary weapon damage within Melee range" }, "DoubledUp": { "Name": "Doubled Up", - "Description": "When you make an attack with your Primary Weapon, you also apply that roll to another enemy in range of this weapon." + "Description": "When you make an attack with your primary weapon, you can deal damage to another target within Melee range." + }, + "Dueling": { + "Name": "Dueling", + "Description": "When there are no other creatures within Close range of the target, gain advantage on your attack roll against them." + }, + "Eruptive": { + "Name": "Eruptive", + "Description": "On a successful attack against a target within Melee range, all other adversaries within Very Close range must succeed on a reaction roll (14) or take half damage." + }, + "Grappling": { + "Name": "Grappling", + "Description": "On a successful attack, you can spend a Hope to Restrain the target or pull them into Melee range with you." + }, + "Greedy": { + "Name": "Greedy", + "Description": "Spend a handful of gold to gain a +1 bonus to your Proficiency on a damage roll." + }, + "Heavy": { + "Name": "Heavy", + "Description": "-1 to Evasion" + }, + "Hooked": { + "Name": "Hooked", + "Description": "On a successful attack, you can pull the target into Melee range." + }, + "Hot": { + "Name": "Hot", + "Description": "This weapon cuts through solid material." + }, + "Invigorating": { + "Name": "Invigorating", + "Description": "On a successful attack, roll a d4. On a result of 4, clear a Stress." + }, + "Lifestealing": { + "Name": "Lifestealing", + "Description": "On a successful attack, roll a d6. On a result of 6, clear a Hit Point or clear a Stress." }, "LockedOn": { "Name": "Locked On", - "Description": "On a successful attack with this weapon against a target, the next hit with your Primary Weapon automatically hits that target." + "Description": "On a successful attack, your next attack against the same target with your primary weapon automatically succeeds." + }, + "Long": { + "Name": "Long", + "Description": "This weapon's attack targets all adversaries in a line within range." + }, + "Massive": { + "Name": "Massive", + "Description": "-1 to Evasion; on a successful attack, roll an additional damage die and discard the lowest result." + }, + "Painful": { + "Name": "Painful", + "Description": "Each time you make a successful attack, you must mark a Stress." + }, + "Paired": { + "Name": "Paired", + "Description": "+{bonusDamage} to primary weapon damage to targets within Melee range" + }, + "Parry": { + "Name": "Parry", + "Description": "When you are attacked, roll this weapon's damage dice. If any of the attacker's damage dice rolled the same value as your dice, the matching results are discarded from the attacker's damage dice before the damage you take is totaled." + }, + "Persuasive": { + "Name": "Persuasive", + "Description": "Before you make a Presence Roll, you can mark a Stress to gain a +2 bonus to the result." + }, + "Pompous": { + "Name": "Pompous", + "Description": "You must have a Presence of 0 or lower to use this weapon." + }, + "Powerful": { + "Name": "Powerful", + "Description": "On a successful attack, roll an additional damage die and discard the lowest result." + }, + "Protective": { + "Name": "Protective", + "Description": "+{armorBonus} to Armor Score" + }, + "Quick": { + "Name": "Quick", + "Description": "When you make an attack, you can mark a Stress to target another creature within range." + }, + "Reliable": { + "Name": "Reliable", + "Description": "+1 to attack rolls" + }, + "Reloading": { + "Name": "Reloading", + "Description": "After you make an attack, roll a d6. On a result of 1, you must mark a Stress to reload this weapon before you can fire it again." + }, + "Retractable": { + "Name": "Retractable", + "Description": "The blade can be hidden in the hilt to avoid detection." + }, + "Returning": { + "Name": "Returning", + "Description": "When this weapon is thrown within its range, it appears in your hand immediately after the attack." + }, + "Scary": { + "Name": "Scary", + "Description": "On a successful attack, the target must mark a Stress." + }, + "Serrated": { + "Name": "Serrated", + "Description": "When you roll a 1 on a damage die, it deals 8 damage instead." + }, + "Sharpwing": { + "Name": "Sharpwing", + "Description": "Gain a bonus to your damage rolls equal to your Agility." + }, + "Sheltering": { + "Name": "Sheltering", + "Description": "When you mark an Armor Slot, it reduces damage for you and all allies within Melee range of you who took the same damage." + }, + "Startling": { + "Name": "Startling", + "Description": "Mark a Stress to crack the whip and force all adversaries within Melee range back to Close range." + }, + "Timebending": { + "Name": "Timebending", + "Description": "You can choose the target of your attack after making your attack roll." + }, + "Versatile": { + "Name": "Versatile", + "Description": "This weapon can also be used with these statistics—{charactherTrait}, {range}, {damage}." } }, "Feature": { From 504e2ca0f2ee73dde6b313683cff67b644876748 Mon Sep 17 00:00:00 2001 From: Emilio Jimenez <19908114+emiliojc@users.noreply.github.com> Date: Fri, 23 May 2025 21:45:25 +0200 Subject: [PATCH 2/4] feat(equipmentFeatures): update itemConfig (#26) Co-authored-by: JimCanE <6275508-jimcane@users.noreply.gitlab.com> --- lang/en.json | 2 +- module/config/itemConfig.mjs | 501 +++++++++++++++++------------------ package-lock.json | 8 +- 3 files changed, 252 insertions(+), 259 deletions(-) diff --git a/lang/en.json b/lang/en.json index 31883fd6..b5c6dd91 100644 --- a/lang/en.json +++ b/lang/en.json @@ -670,7 +670,7 @@ }, "Versatile": { "Name": "Versatile", - "Description": "This weapon can also be used with these statistics—{charactherTrait}, {range}, {damage}." + "Description": "This weapon can also be used with these statistics—{characterTrait}, {range}, {damage}." } }, "Feature": { diff --git a/module/config/itemConfig.mjs b/module/config/itemConfig.mjs index 490d6d6f..0048e6c0 100644 --- a/module/config/itemConfig.mjs +++ b/module/config/itemConfig.mjs @@ -1,76 +1,8 @@ export const armorFeatures = { - light: { - label: 'DAGGERHEART.ArmorFeature.Light.Name', - description: 'DAGGERHEART.ArmorFeature.Light.Description' - }, - heavy: { - label: 'DAGGERHEART.ArmorFeature.Heavy.Name', - description: 'DAGGERHEART.ArmorFeature.Heavy.Description' - }, - veryHeavy: { - label: 'DAGGERHEART.ArmorFeature.VeryHeavy.Name', - description: 'DAGGERHEART.ArmorFeature.VeryHeavy.Description' - }, - reinforced: { - label: 'DAGGERHEART.ArmorFeature.Reinforced.Name', - description: 'DAGGERHEART.ArmorFeature.Reinforced.Description' - }, - sturdy: { - label: 'DAGGERHEART.ArmorFeature.Sturdy.Name', - description: 'DAGGERHEART.ArmorFeature.Sturdy.Description' - }, - warded: { - label: 'DAGGERHEART.ArmorFeature.Warded.Name', - description: 'DAGGERHEART.ArmorFeature.Warded.Description' - }, - resistant: { - label: 'DAGGERHEART.ArmorFeature.Resistant.Name', - description: 'DAGGERHEART.ArmorFeature.Resistant.Description' - }, - quiet: { - label: 'DAGGERHEART.ArmorFeature.Quiet.Name', - description: 'DAGGERHEART.ArmorFeature.Quiet.Description' - }, - hopeful: { - label: 'DAGGERHEART.ArmorFeature.Hopeful.Name', - description: 'DAGGERHEART.ArmorFeature.Hopeful.Description' - }, - impenetrable: { - label: 'DAGGERHEART.ArmorFeature.Impenetrable.Name', - description: 'DAGGERHEART.ArmorFeature.Impenetrable.Description' - }, - painful: { - label: 'DAGGERHEART.ArmorFeature.Painful.Name', - description: 'DAGGERHEART.ArmorFeature.Painful.Description' - }, - gilded: { - label: 'DAGGERHEART.ArmorFeature.Gilded.Name', - description: 'DAGGERHEART.ArmorFeature.Gilded.Description' - }, - physical: { - label: 'DAGGERHEART.ArmorFeature.Physical.Name', - description: 'DAGGERHEART.ArmorFeature.Physical.Description' - }, - magic: { - label: 'DAGGERHEART.ArmorFeature.Magic.Name', - description: 'DAGGERHEART.ArmorFeature.Magic.Description' - }, - sharp: { - label: 'DAGGERHEART.ArmorFeature.Sharp.Name', - description: 'DAGGERHEART.ArmorFeature.Sharp.Description' - }, burning: { label: 'DAGGERHEART.ArmorFeature.Burning.Name', description: 'DAGGERHEART.ArmorFeature.Burning.Description' }, - timeslowing: { - label: 'DAGGERHEART.ArmorFeature.Timeslowing.Name', - description: 'DAGGERHEART.ArmorFeature.Timeslowing.Description' - }, - truthseeking: { - label: 'DAGGERHEART.ArmorFeature.Truthseeking.Name', - description: 'DAGGERHEART.ArmorFeature.Truthseeking.Description' - }, channeling: { label: 'DAGGERHEART.ArmorFeature.Channeling.Name', description: 'DAGGERHEART.ArmorFeature.Channeling.Description' @@ -79,215 +11,274 @@ export const armorFeatures = { label: 'DAGGERHEART.ArmorFeature.Difficult.Name', description: 'DAGGERHEART.ArmorFeature.Difficult.Description' }, - variable: { - label: 'DAGGERHEART.ArmorFeature.Variable.Name', - description: 'DAGGERHEART.ArmorFeature.Variable.Description' + flexible: { + label: 'DAGGERHEART.ArmorFeature.Flexible.Name', + description: 'DAGGERHEART.ArmorFeature.Flexible.Description' + }, + fortified: { + label: 'DAGGERHEART.ArmorFeature.Fortified.Name', + description: 'DAGGERHEART.ArmorFeature.Fortified.Description' + }, + gilded: { + label: 'DAGGERHEART.ArmorFeature.Gilded.Name', + description: 'DAGGERHEART.ArmorFeature.Gilded.Description' + }, + heavy: { + label: 'DAGGERHEART.ArmorFeature.Heavy.Name', + description: 'DAGGERHEART.ArmorFeature.Heavy.Description' + }, + hopeful: { + label: 'DAGGERHEART.ArmorFeature.Hopeful.Name', + description: 'DAGGERHEART.ArmorFeature.Hopeful.Description' + }, + impenetrable: { + label: 'DAGGERHEART.ArmorFeature.Impenetrable.Name', + description: 'DAGGERHEART.ArmorFeature.Impenetrable.Description' + }, + magic: { + label: 'DAGGERHEART.ArmorFeature.Magic.Name', + description: 'DAGGERHEART.ArmorFeature.Magic.Description' + }, + painful: { + label: 'DAGGERHEART.ArmorFeature.Painful.Name', + description: 'DAGGERHEART.ArmorFeature.Painful.Description' + }, + physical: { + label: 'DAGGERHEART.ArmorFeature.Physical.Name', + description: 'DAGGERHEART.ArmorFeature.Physical.Description' + }, + quiet: { + label: 'DAGGERHEART.ArmorFeature.Quiet.Name', + description: 'DAGGERHEART.ArmorFeature.Quiet.Description' + }, + reinforced: { + label: 'DAGGERHEART.ArmorFeature.Reinforced.Name', + description: 'DAGGERHEART.ArmorFeature.Reinforced.Description' + }, + resilient: { + label: 'DAGGERHEART.ArmorFeature.Resilient.Name', + description: 'DAGGERHEART.ArmorFeature.Resilient.Description' + }, + sharp: { + label: 'DAGGERHEART.ArmorFeature.Sharp.Name', + description: 'DAGGERHEART.ArmorFeature.Sharp.Description' + }, + shifting: { + label: 'DAGGERHEART.ArmorFeature.Shifting.Name', + description: 'DAGGERHEART.ArmorFeature.Shifting.Description' + }, + timeslowing: { + label: 'DAGGERHEART.ArmorFeature.Timeslowing.Name', + description: 'DAGGERHEART.ArmorFeature.Timeslowing.Description' + }, + truthseeking: { + label: 'DAGGERHEART.ArmorFeature.Truthseeking.Name', + description: 'DAGGERHEART.ArmorFeature.Truthseeking.Description' + }, + veryheavy: { + label: 'DAGGERHEART.ArmorFeature.VeryHeavy.Name', + description: 'DAGGERHEART.ArmorFeature.VeryHeavy.Description' + }, + warded: { + label: 'DAGGERHEART.ArmorFeature.Warded.Name', + description: 'DAGGERHEART.ArmorFeature.Warded.Description' } }; export const weaponFeatures = { - light: { - label: 'DAGGERHEART.WeaponFeature.Light.Name', - description: 'DAGGERHEART.WeaponFeature.Light.Description' - }, - heavy: { - label: 'DAGGERHEART.WeaponFeature.Heavy.Name', - description: 'DAGGERHEART.WeaponFeature.Heavy.Description' - }, - massive: { - label: 'DAGGERHEART.WeaponFeature.Massive.Name', - description: 'DAGGERHEART.WeaponFeature.Massive.Description' - }, - reliable: { - label: 'DAGGERHEART.WeaponFeature.Reliable.Name', - description: 'DAGGERHEART.WeaponFeature.Reliable.Description' - }, - quick: { - label: 'DAGGERHEART.WeaponFeature.Quick.Name', - description: 'DAGGERHEART.WeaponFeature.Quick.Description' - }, - cumbersome: { - label: 'DAGGERHEART.WeaponFeature.Cumbersome.Name', - description: 'DAGGERHEART.WeaponFeature.Cumbersome.Description' - }, - versatile: { - label: 'DAGGERHEART.WeaponFeature.Versatile.Name', - description: 'DAGGERHEART.WeaponFeature.Versatile.Description', + barrier: { + label: 'DAGGERHEART.ArmorFeature.Barrier.Name', + description: 'DAGGERHEART.ArmorFeature.Barrier.Description', override: { - damage: '' + armorBonus: 1 } }, - powerful: { - label: 'DAGGERHEART.WeaponFeature.Powerful.Name', - description: 'DAGGERHEART.WeaponFeature.Powerful.Description' - }, - scary: { - label: 'DAGGERHEART.WeaponFeature.Scary.Name', - description: 'DAGGERHEART.WeaponFeature.Scary.Description' - }, - brutal: { - label: 'DAGGERHEART.WeaponFeature.Brutal.Name', - description: 'DAGGERHEART.WeaponFeature.Brutal.Description' - }, - reloading: { - label: 'DAGGERHEART.WeaponFeature.Reloading.Name', - description: 'DAGGERHEART.WeaponFeature.Reloading.Description' - }, - eruptive: { - label: 'DAGGERHEART.WeaponFeature.Eruptive.Name', - description: 'DAGGERHEART.WeaponFeature.Eruptive.Description' - }, - persuasive: { - label: 'DAGGERHEART.WeaponFeature.Persuasive.Name', - description: 'DAGGERHEART.WeaponFeature.Persuasive.Description' - }, - pompous: { - label: 'DAGGERHEART.WeaponFeature.Pompous.Name', - description: 'DAGGERHEART.WeaponFeature.Pompous.Description' - }, - invigorating: { - label: 'DAGGERHEART.WeaponFeature.Invigorating.Name', - description: 'DAGGERHEART.WeaponFeature.Invigorating.Description' - }, - dense: { - label: 'DAGGERHEART.WeaponFeature.Dense.Name', - description: 'DAGGERHEART.WeaponFeature.Dense.Description' - }, - soulswift: { - label: 'DAGGERHEART.WeaponFeature.Soulswift.Name', - description: 'DAGGERHEART.WeaponFeature.Soulswift.Description' - }, - protective: { - label: 'DAGGERHEART.WeaponFeature.Protective.Name', - description: 'DAGGERHEART.WeaponFeature.Protective.Description' - }, - devastating: { - label: 'DAGGERHEART.WeaponFeature.Devastating.Name', - description: 'DAGGERHEART.WeaponFeature.Devastating.Description' - }, - retractable: { - label: 'DAGGERHEART.WeaponFeature.Retractable.Name', - description: 'DAGGERHEART.WeaponFeature.Retractable.Description' - }, - burn: { - label: 'DAGGERHEART.WeaponFeature.Burn.Name', - description: 'DAGGERHEART.WeaponFeature.Burn.Description' - }, - painful: { - label: 'DAGGERHEART.WeaponFeature.Painful.Name', - description: 'DAGGERHEART.WeaponFeature.Painful.Description' - }, - otherwordly: { - label: 'DAGGERHEART.WeaponFeature.Otherwordly.Name', - description: 'DAGGERHEART.WeaponFeature.Otherwordly.Description' - }, - lucky: { - label: 'DAGGERHEART.WeaponFeature.Lucky.Name', - description: 'DAGGERHEART.WeaponFeature.Lucky.Description' - }, - selfCorrecting: { - label: 'DAGGERHEART.WeaponFeature.SelfCorrecting.Name', - description: 'DAGGERHEART.WeaponFeature.SelfCorrecting.Description' - }, - healing: { - label: 'DAGGERHEART.WeaponFeature.Healing.Name', - description: 'DAGGERHEART.WeaponFeature.Healing.Description' - }, - timebender: { - label: 'DAGGERHEART.WeaponFeature.Timebender.Name', - description: 'DAGGERHEART.WeaponFeature.Timebender.Description' - }, - enchanted: { - label: 'DAGGERHEART.WeaponFeature.Enchanted.Name', - description: 'DAGGERHEART.WeaponFeature.Enchanted.Description' - }, - serrated: { - label: 'DAGGERHEART.WeaponFeature.Serrated.Name', - description: 'DAGGERHEART.WeaponFeature.Serrated.Description' - }, - grappling: { - label: 'DAGGERHEART.WeaponFeature.Grappling.Name', - description: 'DAGGERHEART.WeaponFeature.Grappling.Description' - }, - long: { - label: 'DAGGERHEART.WeaponFeature.Long.Name', - description: 'DAGGERHEART.WeaponFeature.Long.Description' - }, - destructive: { - label: 'DAGGERHEART.WeaponFeature.Destructive.Name', - description: 'DAGGERHEART.WeaponFeature.Destructive.Description' - }, - concussive: { - label: 'DAGGERHEART.WeaponFeature.Concussive.Name', - description: 'DAGGERHEART.WeaponFeature.Concussive.Description' + bonded: { + label: 'DAGGERHEART.ArmorFeature.Bonded.Name', + description: 'DAGGERHEART.ArmorFeature.Bonded.Description' }, bouncing: { - label: 'DAGGERHEART.WeaponFeature.Bouncing.Name', - description: 'DAGGERHEART.WeaponFeature.Bouncing.Description' + label: 'DAGGERHEART.ArmorFeature.Bouncing.Name', + description: 'DAGGERHEART.ArmorFeature.Bouncing.Description' }, - penetrating: { - label: 'DAGGERHEART.WeaponFeature.Penetrating.Name', - description: 'DAGGERHEART.WeaponFeature.Penetrating.Description' + brave: { + label: 'DAGGERHEART.ArmorFeature.Brave.Name', + description: 'DAGGERHEART.ArmorFeature.Brave.Description' }, - lifestealing: { - label: 'DAGGERHEART.WeaponFeature.Lifestealing.Name', - description: 'DAGGERHEART.WeaponFeature.Lifestealing.Description' + brutal: { + label: 'DAGGERHEART.ArmorFeature.Brutal.Name', + description: 'DAGGERHEART.ArmorFeature.Brutal.Description' }, - greedy: { - label: 'DAGGERHEART.WeaponFeature.Greedy.Name', - description: 'DAGGERHEART.WeaponFeature.Greedy.Description' + charged: { + label: 'DAGGERHEART.ArmorFeature.Charged.Name', + description: 'DAGGERHEART.ArmorFeature.Charged.Description' }, - bonded: { - label: 'DAGGERHEART.WeaponFeature.Bonded.Name', - description: 'DAGGERHEART.WeaponFeature.Bonded.Description' + concussive: { + label: 'DAGGERHEART.ArmorFeature.Concussive.Name', + description: 'DAGGERHEART.ArmorFeature.Concussive.Description' }, - barrier: { - label: 'DAGGERHEART.WeaponFeature.Barrier.Name', - description: 'DAGGERHEART.WeaponFeature.Barrier.Description' + cumbersome: { + label: 'DAGGERHEART.ArmorFeature.Cumbersome.Name', + description: 'DAGGERHEART.ArmorFeature.Cumbersome.Description' }, - paired: { - label: 'DAGGERHEART.WeaponFeature.Paired.Name', - description: 'DAGGERHEART.WeaponFeature.Paired.Description' - }, - whipcrack: { - label: 'DAGGERHEART.WeaponFeature.Whipcrack.Name', - description: 'DAGGERHEART.WeaponFeature.Whipcrack.Description' - }, - hook: { - label: 'DAGGERHEART.WeaponFeature.Hook.Name', - description: 'DAGGERHEART.WeaponFeature.Hook.Description' - }, - doubleDuty: { - label: 'DAGGERHEART.WeaponFeature.DoubleDuty.Name', - description: 'DAGGERHEART.WeaponFeature.DoubleDuty.Description' - }, - parry: { - label: 'DAGGERHEART.WeaponFeature.Parry.Name', - description: 'DAGGERHEART.WeaponFeature.Parry.Description' - }, - retrieve: { - label: 'DAGGERHEART.WeaponFeature.Retrieve.Name', - description: 'DAGGERHEART.WeaponFeature.Retrieve.Description' + deadly: { + label: 'DAGGERHEART.ArmorFeature.Deadly.Name', + description: 'DAGGERHEART.ArmorFeature.Deadly.Description' }, deflecting: { - label: 'DAGGERHEART.WeaponFeature.Deflecting.Name', - description: 'DAGGERHEART.WeaponFeature.Deflecting.Description' + label: 'DAGGERHEART.ArmorFeature.Deflecting.Name', + description: 'DAGGERHEART.ArmorFeature.Deflecting.Description' }, - chargedAttack: { - label: 'DAGGERHEART.WeaponFeature.ChargedAttack.Name', - description: 'DAGGERHEART.WeaponFeature.ChargedAttack.Description' + destructive: { + label: 'DAGGERHEART.ArmorFeature.Destructive.Name', + description: 'DAGGERHEART.ArmorFeature.Destructive.Description' + }, + devastating: { + label: 'DAGGERHEART.ArmorFeature.Devastating.Name', + description: 'DAGGERHEART.ArmorFeature.Devastating.Description' + }, + doubleduty: { + label: 'DAGGERHEART.ArmorFeature.DoubleDuty.Name', + description: 'DAGGERHEART.ArmorFeature.DoubleDuty.Description' + }, + doubledup: { + label: 'DAGGERHEART.ArmorFeature.DoubledUp.Name', + description: 'DAGGERHEART.ArmorFeature.DoubledUp.Description' + }, + dueling: { + label: 'DAGGERHEART.ArmorFeature.Dueling.Name', + description: 'DAGGERHEART.ArmorFeature.Dueling.Description' + }, + eruptive: { + label: 'DAGGERHEART.ArmorFeature.Eruptive.Name', + description: 'DAGGERHEART.ArmorFeature.Eruptive.Description' + }, + grappling: { + label: 'DAGGERHEART.ArmorFeature.Grappling.Name', + description: 'DAGGERHEART.ArmorFeature.Grappling.Description' + }, + greedy: { + label: 'DAGGERHEART.ArmorFeature.Greedy.Name', + description: 'DAGGERHEART.ArmorFeature.Greedy.Description' + }, + heavy: { + label: 'DAGGERHEART.ArmorFeature.Heavy.Name', + description: 'DAGGERHEART.ArmorFeature.Heavy.Description' + }, + hooked: { + label: 'DAGGERHEART.ArmorFeature.Hooked.Name', + description: 'DAGGERHEART.ArmorFeature.Hooked.Description' + }, + hot: { + label: 'DAGGERHEART.ArmorFeature.Hot.Name', + description: 'DAGGERHEART.ArmorFeature.Hot.Description' + }, + invigorating: { + label: 'DAGGERHEART.ArmorFeature.Invigorating.Name', + description: 'DAGGERHEART.ArmorFeature.Invigorating.Description' + }, + lifestealing: { + label: 'DAGGERHEART.ArmorFeature.Lifestealing.Name', + description: 'DAGGERHEART.ArmorFeature.Lifestealing.Description' + }, + lockedon: { + label: 'DAGGERHEART.ArmorFeature.LockedOn.Name', + description: 'DAGGERHEART.ArmorFeature.LockedOn.Description' + }, + long: { + label: 'DAGGERHEART.ArmorFeature.Long.Name', + description: 'DAGGERHEART.ArmorFeature.Long.Description' + }, + massive: { + label: 'DAGGERHEART.ArmorFeature.Massive.Name', + description: 'DAGGERHEART.ArmorFeature.Massive.Description' + }, + painful: { + label: 'DAGGERHEART.ArmorFeature.Painful.Name', + description: 'DAGGERHEART.ArmorFeature.Painful.Description' + }, + paired: { + label: 'DAGGERHEART.ArmorFeature.Paired.Name', + description: 'DAGGERHEART.ArmorFeature.Paired.Description', + override: { + bonusDamage: 1 + } + }, + parry: { + label: 'DAGGERHEART.ArmorFeature.Parry.Name', + description: 'DAGGERHEART.ArmorFeature.Parry.Description' + }, + persuasive: { + label: 'DAGGERHEART.ArmorFeature.Persuasive.Name', + description: 'DAGGERHEART.ArmorFeature.Persuasive.Description' + }, + pompous: { + label: 'DAGGERHEART.ArmorFeature.Pompous.Name', + description: 'DAGGERHEART.ArmorFeature.Pompous.Description' + }, + powerful: { + label: 'DAGGERHEART.ArmorFeature.Powerful.Name', + description: 'DAGGERHEART.ArmorFeature.Powerful.Description' + }, + protective: { + label: 'DAGGERHEART.ArmorFeature.Protective.Name', + description: 'DAGGERHEART.ArmorFeature.Protective.Description', + override: { + armorBonus: 1 + } + }, + quick: { + label: 'DAGGERHEART.ArmorFeature.Quick.Name', + description: 'DAGGERHEART.ArmorFeature.Quick.Description' + }, + reliable: { + label: 'DAGGERHEART.ArmorFeature.Reliable.Name', + description: 'DAGGERHEART.ArmorFeature.Reliable.Description' + }, + reloading: { + label: 'DAGGERHEART.ArmorFeature.Reloading.Name', + description: 'DAGGERHEART.ArmorFeature.Reloading.Description' + }, + retractable: { + label: 'DAGGERHEART.ArmorFeature.Retractable.Name', + description: 'DAGGERHEART.ArmorFeature.Retractable.Description' + }, + returning: { + label: 'DAGGERHEART.ArmorFeature.Returning.Name', + description: 'DAGGERHEART.ArmorFeature.Returning.Description' + }, + scary: { + label: 'DAGGERHEART.ArmorFeature.Scary.Name', + description: 'DAGGERHEART.ArmorFeature.Scary.Description' + }, + serrated: { + label: 'DAGGERHEART.ArmorFeature.Serrated.Name', + description: 'DAGGERHEART.ArmorFeature.Serrated.Description' + }, + sharpwing: { + label: 'DAGGERHEART.ArmorFeature.Sharpwing.Name', + description: 'DAGGERHEART.ArmorFeature.Sharpwing.Description' }, sheltering: { - label: 'DAGGERHEART.WeaponFeature.Sheltering.Name', - description: 'DAGGERHEART.WeaponFeature.Sheltering.Description' + label: 'DAGGERHEART.ArmorFeature.Sheltering.Name', + description: 'DAGGERHEART.ArmorFeature.Sheltering.Description' }, - doubledUp: { - label: 'DAGGERHEART.WeaponFeature.DoubledUp.Name', - description: 'DAGGERHEART.WeaponFeature.DoubledUp.Description' + startling: { + label: 'DAGGERHEART.ArmorFeature.Startling.Name', + description: 'DAGGERHEART.ArmorFeature.Startling.Description' }, - lockedOn: { - label: 'DAGGERHEART.WeaponFeature.LockedOn.Name', - description: 'DAGGERHEART.WeaponFeature.LockedOn.Description' + timebending: { + label: 'DAGGERHEART.ArmorFeature.Timebending.Name', + description: 'DAGGERHEART.ArmorFeature.Timebending.Description' + }, + versatile: { + label: 'DAGGERHEART.ArmorFeature.Versatile.Name', + description: 'DAGGERHEART.ArmorFeature.Versatile.Description', + versatile: { + characterTrait: '', + range: '', + damage: '' + } } }; diff --git a/package-lock.json b/package-lock.json index a26d608f..1e543065 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,6 +4,7 @@ "requires": true, "packages": { "": { + "name": "daggerheart", "dependencies": { "@yaireo/tagify": "^4.17.9", "gulp": "^5.0.0", @@ -2882,9 +2883,9 @@ } }, "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", "dev": true, "funding": [ { @@ -2892,6 +2893,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, From 2d832e74d49e776ed65874027eca9c96138414f5 Mon Sep 17 00:00:00 2001 From: IrkTheImp <41175833+IrkTheImp@users.noreply.github.com> Date: Fri, 23 May 2025 18:19:37 -0500 Subject: [PATCH 3/4] modify ruler and token ruler to show distance ranges (#40) --- daggerheart.mjs | 2 ++ module/applications/settings.mjs | 2 +- module/ui/ruler.mjs | 15 +++++++++----- module/ui/tokenRuler.mjs | 34 ++++++++++++++++++++++++++++++++ 4 files changed, 47 insertions(+), 6 deletions(-) create mode 100644 module/ui/tokenRuler.mjs diff --git a/daggerheart.mjs b/daggerheart.mjs index de8cbe4f..dfe8902b 100644 --- a/daggerheart.mjs +++ b/daggerheart.mjs @@ -9,6 +9,7 @@ import { registerDHPSettings } from './module/applications/settings.mjs'; import DhpChatLog from './module/ui/chatLog.mjs'; import DhpPlayers from './module/ui/players.mjs'; import DhpRuler from './module/ui/ruler.mjs'; +import DhpTokenRuler from './module/ui/tokenRuler.mjs'; globalThis.SYSTEM = SYSTEM; @@ -83,6 +84,7 @@ Hooks.once('init', () => { CONFIG.ui.combat = DhpCombatTracker; CONFIG.ui.chat = DhpChatLog; CONFIG.ui.players = DhpPlayers; + CONFIG.Token.rulerClass = DhpTokenRuler; game.socket.on(`system.${SYSTEM.id}`, handleSocketEvent); diff --git a/module/applications/settings.mjs b/module/applications/settings.mjs index 1c2613f1..d66a2460 100644 --- a/module/applications/settings.mjs +++ b/module/applications/settings.mjs @@ -204,7 +204,7 @@ export const registerDHPSettings = () => { config: false, type: Object, default: { - enabled: false, + enabled: true, melee: 5, veryClose: 15, close: 30, diff --git a/module/ui/ruler.mjs b/module/ui/ruler.mjs index a12f3616..2c6848d2 100644 --- a/module/ui/ruler.mjs +++ b/module/ui/ruler.mjs @@ -1,12 +1,17 @@ export default class DhpRuler extends foundry.canvas.interaction.Ruler { - _getSegmentLabel(segment, totalDistance) { + _getWaypointLabelContext(waypoint, state) { + const context = super._getWaypointLabelContext(waypoint, state); + if (!context) return; + const range = game.settings.get(SYSTEM.id, SYSTEM.SETTINGS.gameSettings.General.RangeMeasurement); - if (!range.enabled) return super._getSegmentLabel(segment, totalDistance); - const segmentDistance = Math.round(segment.distance * 100) / 100; - const totalDistanceValue = Math.round(totalDistance * 100) / 100; + if (range.enabled) { + const distance = this.#getRangeLabel(waypoint.measurement.distance.toNearest(0.01), range); + context.cost = { total: distance, units: null }; + context.distance = { total: distance, units: null }; + } - return `${this.#getRangeLabel(segmentDistance, range)} [${this.#getRangeLabel(totalDistanceValue, range)}]`; + return context; } #getRangeLabel(distance, settings) { diff --git a/module/ui/tokenRuler.mjs b/module/ui/tokenRuler.mjs new file mode 100644 index 00000000..4faa516e --- /dev/null +++ b/module/ui/tokenRuler.mjs @@ -0,0 +1,34 @@ +export default class DhpTokenRuler extends foundry.canvas.placeables.tokens.TokenRuler { + _getWaypointLabelContext(waypoint, state) { + const context = super._getWaypointLabelContext(waypoint, state); + if (!context) return; + + const range = game.settings.get(SYSTEM.id, SYSTEM.SETTINGS.gameSettings.General.RangeMeasurement); + + if (range.enabled) { + const distance = this.#getRangeLabel(waypoint.measurement.distance.toNearest(0.01), range); + context.cost = { total: distance, units: null }; + context.distance = { total: distance, units: null }; + } + + return context; + } + + #getRangeLabel(distance, settings) { + if (distance <= settings.melee) { + return game.i18n.localize('DAGGERHEART.Range.Melee.Name'); + } + if (distance <= settings.veryClose) { + return game.i18n.localize('DAGGERHEART.Range.VeryClose.Name'); + } + if (distance <= settings.close) { + return game.i18n.localize('DAGGERHEART.Range.Close.Name'); + } + if (distance <= settings.far) { + return game.i18n.localize('DAGGERHEART.Range.Far.Name'); + } + if (distance <= settings.veryFar) { + return game.i18n.localize('DAGGERHEART.Range.VeryFar.Name'); + } + } +} From 2599d1287dd2188baf6326450b17364dbba6d9ef Mon Sep 17 00:00:00 2001 From: CPTN_Cosmo Date: Sat, 24 May 2025 10:27:45 +0200 Subject: [PATCH 4/4] added T4 equipment and class features (#39) --- .../primary/tier_4/magical/thistlebow.png | Bin 0 -> 44844 bytes .../tier_4/physical/extended_polearm.png | Bin 0 -> 59355 bytes .../ancestry_Clank_AzKMOIpXnCSLLDEB.json | 56 +- ...feature_Arcane_Sense_D5HUGwdizhBVZ0RW.json | 44 + ...ttack_of_Opportunity_VfUbJwGU4Cka0xLP.json | 44 + .../feature_Beastform_NkSKDXGNNiOUlFqm.json | 44 + ...re_Channel_Raw_Power_ovxuqhl01XZSwx2n.json | 46 + .../feature_Cloaked_TpaoHSJ3npjWiBOf.json | 44 + ...ture_Combat_Training_elb6ZVertgu6OdKA.json | 44 + ...eature_Combo_Strikes_RNC8NT8F6x73gRZi.json | 44 + .../feature_Evolution_bZxfyPTZ6rsakyA2.json | 44 + ...ature_Frontline_Tank_ftUZznLFJ5xbcxcu.json | 44 + ...eature_Hold_Them_Off_FSx2ojskU0pRE72g.json | 44 + ...ture_I_Am_The_Weapon_ihtvQaH18eG56RWY.json | 44 + ...feature_Life_Support_UZ9UjZArSJh6UHXG.json | 44 + ...feature_Make_a_Scene_Ddk0PAgwM4VLRbyY.json | 82 +- ...ature_Minor_Illusion_qFq7kynAZhbWTbT5.json | 44 + .../feature_No_Mercy_t3tLoq4h9wgQD7E9.json | 44 + ...eature_Not_This_Time_5msGbQyFwdwdFdYs.json | 44 + .../feature_Prayer_Dice_jXfGnLnU8PswJYJd.json | 47 + ...ure_Prestidigitation_ofBmJIn6NWxA0wPz.json | 44 + .../feature_Rally_8uORDWrXtNFzA00U.json | 86 +- ...ature_Ranger_s_Focus_b4O4r2HPbWU8s59q.json | 44 + ...eature_Rogue_s_Dodge_fPGn9JNV24nt1G9d.json | 44 + ...feature_Sneak_Attack_PhHOmsoYUDC42by6.json | 44 + ...re_Staggering_Strike_xC0ZG862KrjHGHlx.json | 44 + ...ure_Strange_Patterns_ONtJ7r2g6tN5q6Ga.json | 44 + .../feature_Unstoppable_rlpNYKW18FX4Hw7t.json | 46 + ...ature_Volatile_Magic_J3TdB5ZsmyJ68rxZ.json | 44 + .../feature_Wildtouch_Dy0lco20C0Nk6yQo.json | 44 + .../classes/class_Bard_yKicceU4LesCgKwF.json | 187 +- .../classes/class_Druid_HEh27jDQCJmnPsXH.json | 150 +- .../class_Fighter_HPzaWaZBc6RvElKd.json | 150 +- .../class_Guardian_hyfigmrAoLxFPOW2.json | 145 +- .../class_Ranger_XoUsU9sCxEq8t3We.json | 145 +- .../classes/class_Rogue_V1a5AKCLe8qtoPlA.json | 150 +- .../class_Seraph_qW7yLIe87vd5bbto.json | 145 +- .../class_Sorcerer_aacMxI9mOTmLO4cj.json | 155 +- .../class_Warlock_kSSIqmgxFTm1Xr9s.json | 122 +- .../class_Warrior_ishqAXCT8xLgEbBp.json | 150 +- .../class_Wizard_uhj2mZPOC8nbIMTy.json | 150 +- .../community_Highborne_8AcV556QwoIzkkea.json | 68 +- .../community_Loreborne_fgJHuCdoyXX4Q84O.json | 68 +- ...community_Orderborne_Cg39GoSa6lxhXndW.json | 68 +- ...community_Ridgeborne_DAQoNvVlc9w7NmZd.json | 68 +- .../community_Seaborne_ivrXToGxyuVdqZtG.json | 68 +- .../community_Slyborne_rwsUCLenOkE9CS7v.json | 68 +- ...community_Underborne_CXQN2zcQUIjUOx1i.json | 68 +- ...ommunity_Wanderborne_DHB5uSzbBeJCJuvC.json | 68 +- .../community_Wildborne_jUzXIVyBx0mlIFWa.json | 68 +- .../feature_Dedicated_ZiBpJxtDSsh6wY3h.json | 86 +- ...eature_Know_the_Tide_0mdoYz7uZNWCcK5Z.json | 84 +- .../feature_Lightfoot_LY9c4DCgMcB1uEiv.json | 84 +- ...ure_Low_Light_Living_hX85YvTQcMzc25hW.json | 84 +- ...feature_Nomadic_Pack_o3Q88Rws9Eb5ae5D.json | 84 +- .../feature_Privilege_AgJiUvad5tgeam57.json | 84 +- .../feature_Scoundrel_5BUCiSPswsiB0RDW.json | 84 +- .../feature_Steady_Oky51ziMZp6bbuUQ.json | 84 +- .../feature_Well_Read_n2RA9iZNiVbGlxco.json | 86 +- .../subclass_Troubadour_T1iBO8i0xRF5c8Q2.json | 122 +- .../subclass_Wordsmith_FXT65YDVWFy85EI0.json | 84 +- styles/daggerheart.css | 3807 +++++++---------- 62 files changed, 4645 insertions(+), 3720 deletions(-) create mode 100644 assets/icons/weapons/primary/tier_4/magical/thistlebow.png create mode 100644 assets/icons/weapons/primary/tier_4/physical/extended_polearm.png create mode 100644 src/packs/class-features/feature_Arcane_Sense_D5HUGwdizhBVZ0RW.json create mode 100644 src/packs/class-features/feature_Attack_of_Opportunity_VfUbJwGU4Cka0xLP.json create mode 100644 src/packs/class-features/feature_Beastform_NkSKDXGNNiOUlFqm.json create mode 100644 src/packs/class-features/feature_Channel_Raw_Power_ovxuqhl01XZSwx2n.json create mode 100644 src/packs/class-features/feature_Cloaked_TpaoHSJ3npjWiBOf.json create mode 100644 src/packs/class-features/feature_Combat_Training_elb6ZVertgu6OdKA.json create mode 100644 src/packs/class-features/feature_Combo_Strikes_RNC8NT8F6x73gRZi.json create mode 100644 src/packs/class-features/feature_Evolution_bZxfyPTZ6rsakyA2.json create mode 100644 src/packs/class-features/feature_Frontline_Tank_ftUZznLFJ5xbcxcu.json create mode 100644 src/packs/class-features/feature_Hold_Them_Off_FSx2ojskU0pRE72g.json create mode 100644 src/packs/class-features/feature_I_Am_The_Weapon_ihtvQaH18eG56RWY.json create mode 100644 src/packs/class-features/feature_Life_Support_UZ9UjZArSJh6UHXG.json create mode 100644 src/packs/class-features/feature_Minor_Illusion_qFq7kynAZhbWTbT5.json create mode 100644 src/packs/class-features/feature_No_Mercy_t3tLoq4h9wgQD7E9.json create mode 100644 src/packs/class-features/feature_Not_This_Time_5msGbQyFwdwdFdYs.json create mode 100644 src/packs/class-features/feature_Prayer_Dice_jXfGnLnU8PswJYJd.json create mode 100644 src/packs/class-features/feature_Prestidigitation_ofBmJIn6NWxA0wPz.json create mode 100644 src/packs/class-features/feature_Ranger_s_Focus_b4O4r2HPbWU8s59q.json create mode 100644 src/packs/class-features/feature_Rogue_s_Dodge_fPGn9JNV24nt1G9d.json create mode 100644 src/packs/class-features/feature_Sneak_Attack_PhHOmsoYUDC42by6.json create mode 100644 src/packs/class-features/feature_Staggering_Strike_xC0ZG862KrjHGHlx.json create mode 100644 src/packs/class-features/feature_Strange_Patterns_ONtJ7r2g6tN5q6Ga.json create mode 100644 src/packs/class-features/feature_Unstoppable_rlpNYKW18FX4Hw7t.json create mode 100644 src/packs/class-features/feature_Volatile_Magic_J3TdB5ZsmyJ68rxZ.json create mode 100644 src/packs/class-features/feature_Wildtouch_Dy0lco20C0Nk6yQo.json diff --git a/assets/icons/weapons/primary/tier_4/magical/thistlebow.png b/assets/icons/weapons/primary/tier_4/magical/thistlebow.png new file mode 100644 index 0000000000000000000000000000000000000000..769e55661ef17bf9e46689b7e76d8b6cf9cd2680 GIT binary patch literal 44844 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 LNkvXXu0mjfm_d_q literal 0 HcmV?d00001 diff --git a/assets/icons/weapons/primary/tier_4/physical/extended_polearm.png b/assets/icons/weapons/primary/tier_4/physical/extended_polearm.png new file mode 100644 index 0000000000000000000000000000000000000000..02e6553b00094fd699b9cb7c91a44943c4a59a0b GIT binary patch literal 59355 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 Design: Decide who made you and for what purpose. At character creation, choose one of your Experiences that best aligns with this purpose and gain a permanent +1 bonus to it.

Efficient: When you take a short rest, you can choose a long rest move instead of a short rest move.

", - "abilities": [] - }, - "effects": [], - "folder": null, - "sort": 100000, - "ownership": { - "default": 0, - "NqO2eQGMjrvUO6v9": 3 - }, - "flags": {}, - "_stats": { - "compendiumSource": null, - "duplicateSource": null, - "exportSource": null, - "coreVersion": "13.344", - "systemId": "daggerheart", - "systemVersion": "0.0.1", - "createdTime": 1747990113503, - "modifiedTime": 1747999445342, - "lastModifiedBy": "NqO2eQGMjrvUO6v9" - }, - "_key": "!items!AzKMOIpXnCSLLDEB" + "name": "Clank", + "type": "ancestry", + "_id": "AzKMOIpXnCSLLDEB", + "img": "icons/svg/item-bag.svg", + "system": { + "description": "

Purposeful Design: Decide who made you and for what purpose. At character creation, choose one of your Experiences that best aligns with this purpose and gain a permanent +1 bonus to it.

Efficient: When you take a short rest, you can choose a long rest move instead of a short rest move.

", + "abilities": [] + }, + "effects": [], + "folder": null, + "sort": 100000, + "ownership": { + "default": 0, + "NqO2eQGMjrvUO6v9": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1747990113503, + "modifiedTime": 1747999445342, + "lastModifiedBy": "NqO2eQGMjrvUO6v9" + }, + "_key": "!items!AzKMOIpXnCSLLDEB" } diff --git a/src/packs/class-features/feature_Arcane_Sense_D5HUGwdizhBVZ0RW.json b/src/packs/class-features/feature_Arcane_Sense_D5HUGwdizhBVZ0RW.json new file mode 100644 index 00000000..84f958b0 --- /dev/null +++ b/src/packs/class-features/feature_Arcane_Sense_D5HUGwdizhBVZ0RW.json @@ -0,0 +1,44 @@ +{ + "name": "Arcane Sense", + "type": "feature", + "_id": "D5HUGwdizhBVZ0RW", + "img": "icons/svg/item-bag.svg", + "system": { + "actionType": "action", + "featureType": { + "type": "normal", + "data": { + "property": "spellcastingTrait", + "max": 1, + "numbers": {} + } + }, + "refreshData": null, + "multiclass": null, + "disabled": false, + "description": "

You can sense the presence of magical people and objects within Close range.

", + "effects": {}, + "actions": [], + "type": "class" + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "ei8OkswTzyDp4IGC": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1748033779155, + "modifiedTime": 1748033799399, + "lastModifiedBy": "ei8OkswTzyDp4IGC" + }, + "_key": "!items!D5HUGwdizhBVZ0RW" +} diff --git a/src/packs/class-features/feature_Attack_of_Opportunity_VfUbJwGU4Cka0xLP.json b/src/packs/class-features/feature_Attack_of_Opportunity_VfUbJwGU4Cka0xLP.json new file mode 100644 index 00000000..6e700787 --- /dev/null +++ b/src/packs/class-features/feature_Attack_of_Opportunity_VfUbJwGU4Cka0xLP.json @@ -0,0 +1,44 @@ +{ + "name": "Attack of Opportunity", + "type": "feature", + "_id": "VfUbJwGU4Cka0xLP", + "img": "icons/svg/item-bag.svg", + "system": { + "actionType": "action", + "featureType": { + "type": "normal", + "data": { + "property": "spellcastingTrait", + "max": 1, + "numbers": {} + } + }, + "refreshData": null, + "multiclass": null, + "disabled": false, + "description": "

When an adversary within Melee range attempts to leave that range, make a reaction roll using a trait of your choice against their Difficulty. Choose one effect on a success, or two if you critically succeed:

• They can’t move from where they are.

• You deal damage to them equal to your primary weapon’s damage.

• You move with them.

", + "effects": {}, + "actions": [], + "type": "class" + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "ei8OkswTzyDp4IGC": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1748034185325, + "modifiedTime": 1748034212853, + "lastModifiedBy": "ei8OkswTzyDp4IGC" + }, + "_key": "!items!VfUbJwGU4Cka0xLP" +} diff --git a/src/packs/class-features/feature_Beastform_NkSKDXGNNiOUlFqm.json b/src/packs/class-features/feature_Beastform_NkSKDXGNNiOUlFqm.json new file mode 100644 index 00000000..7412a42a --- /dev/null +++ b/src/packs/class-features/feature_Beastform_NkSKDXGNNiOUlFqm.json @@ -0,0 +1,44 @@ +{ + "name": "Beastform", + "type": "feature", + "_id": "NkSKDXGNNiOUlFqm", + "img": "icons/svg/item-bag.svg", + "system": { + "actionType": "action", + "featureType": { + "type": "normal", + "data": { + "property": "spellcastingTrait", + "max": 1, + "numbers": {} + } + }, + "refreshData": null, + "multiclass": null, + "disabled": false, + "description": "

Mark a Stress to magically transform into a creature of your tier or lower from the Beastform list. You can drop out of this form at any time. While transformed, you can’t use weapons or cast spells from domain cards, but you can still use other features or abilities you have access to. Spells you cast before you transform stay active and last for their normal duration, and you can talk and communicate as normal. Additionally, you gain the Beastform’s features, add their Evasion bonus to your Evasion, and use the trait specified in their statistics for your attack. While you’re in a Beastform, your armor becomes part of your body and you mark Armor Slots as usual; when you drop out of a Beastform, those marked Armor Slots remain marked. If you mark your last Hit Point, you automatically drop out of this form.

", + "effects": {}, + "actions": [], + "type": "class" + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "ei8OkswTzyDp4IGC": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1748028817729, + "modifiedTime": 1748028856597, + "lastModifiedBy": "ei8OkswTzyDp4IGC" + }, + "_key": "!items!NkSKDXGNNiOUlFqm" +} diff --git a/src/packs/class-features/feature_Channel_Raw_Power_ovxuqhl01XZSwx2n.json b/src/packs/class-features/feature_Channel_Raw_Power_ovxuqhl01XZSwx2n.json new file mode 100644 index 00000000..561ff17b --- /dev/null +++ b/src/packs/class-features/feature_Channel_Raw_Power_ovxuqhl01XZSwx2n.json @@ -0,0 +1,46 @@ +{ + "name": "Channel Raw Power", + "type": "feature", + "_id": "ovxuqhl01XZSwx2n", + "img": "icons/svg/item-bag.svg", + "system": { + "actionType": "action", + "featureType": { + "type": "normal", + "data": { + "property": "spellcastingTrait", + "max": 1, + "numbers": {} + } + }, + "refreshData": { + "type": "longRest" + }, + "multiclass": null, + "disabled": false, + "description": "

Once per long rest, you can place a domain card from your loadout into your vault and choose to either:

• Gain Hope equal to the level of the card.

• Enhance a spell that deals damage, gaining a bonus to your damage roll equal to twice the level of the card.

", + "effects": {}, + "actions": [], + "type": "class" + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "ei8OkswTzyDp4IGC": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1748033854379, + "modifiedTime": 1748033877334, + "lastModifiedBy": "ei8OkswTzyDp4IGC" + }, + "_key": "!items!ovxuqhl01XZSwx2n" +} diff --git a/src/packs/class-features/feature_Cloaked_TpaoHSJ3npjWiBOf.json b/src/packs/class-features/feature_Cloaked_TpaoHSJ3npjWiBOf.json new file mode 100644 index 00000000..37af654f --- /dev/null +++ b/src/packs/class-features/feature_Cloaked_TpaoHSJ3npjWiBOf.json @@ -0,0 +1,44 @@ +{ + "name": "Cloaked", + "type": "feature", + "_id": "TpaoHSJ3npjWiBOf", + "img": "icons/svg/item-bag.svg", + "system": { + "actionType": "action", + "featureType": { + "type": "normal", + "data": { + "property": "spellcastingTrait", + "max": 1, + "numbers": {} + } + }, + "refreshData": null, + "multiclass": null, + "disabled": false, + "description": "

Any time you would be Hidden, you are instead Cloaked. In addition to the benefits of the Hidden condition, while Cloaked you remain unseen if you are stationary when an adversary moves to where they would normally see you. After you make an attack or end a move within line of sight of an adversary, you are no longer Cloaked.

", + "effects": {}, + "actions": [], + "type": "class" + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "ei8OkswTzyDp4IGC": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1748032226905, + "modifiedTime": 1748032258303, + "lastModifiedBy": "ei8OkswTzyDp4IGC" + }, + "_key": "!items!TpaoHSJ3npjWiBOf" +} diff --git a/src/packs/class-features/feature_Combat_Training_elb6ZVertgu6OdKA.json b/src/packs/class-features/feature_Combat_Training_elb6ZVertgu6OdKA.json new file mode 100644 index 00000000..c8b39914 --- /dev/null +++ b/src/packs/class-features/feature_Combat_Training_elb6ZVertgu6OdKA.json @@ -0,0 +1,44 @@ +{ + "name": "Combat Training", + "type": "feature", + "_id": "elb6ZVertgu6OdKA", + "img": "icons/svg/item-bag.svg", + "system": { + "actionType": "passive", + "featureType": { + "type": "normal", + "data": { + "property": "spellcastingTrait", + "max": 1, + "numbers": {} + } + }, + "refreshData": null, + "multiclass": null, + "disabled": false, + "description": "

You ignore burden when equipping weapons. When you deal physical damage, you gain a bonus to your damage roll equal to your level.

", + "effects": {}, + "actions": [], + "type": "class" + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "ei8OkswTzyDp4IGC": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1748034225886, + "modifiedTime": 1748034251807, + "lastModifiedBy": "ei8OkswTzyDp4IGC" + }, + "_key": "!items!elb6ZVertgu6OdKA" +} diff --git a/src/packs/class-features/feature_Combo_Strikes_RNC8NT8F6x73gRZi.json b/src/packs/class-features/feature_Combo_Strikes_RNC8NT8F6x73gRZi.json new file mode 100644 index 00000000..312d847a --- /dev/null +++ b/src/packs/class-features/feature_Combo_Strikes_RNC8NT8F6x73gRZi.json @@ -0,0 +1,44 @@ +{ + "name": "Combo Strikes", + "type": "feature", + "_id": "RNC8NT8F6x73gRZi", + "img": "icons/svg/item-bag.svg", + "system": { + "actionType": "action", + "featureType": { + "type": "normal", + "data": { + "property": "spellcastingTrait", + "max": 1, + "numbers": {} + } + }, + "refreshData": null, + "multiclass": null, + "disabled": false, + "description": "

After making a damage roll with a Melee weapon but before dealing that damage to the target, mark a Stress to start a combo strike.

When you do, roll a Combo Die and note its value. Then, roll another Combo Die. If the value of the second die is equal to or greater than your first Combo Die, continue rolling additional dice until the latest Combo Die’s value is less than the roll that preceeded it. Total all rolled Combo Dice and add the value to your weapon’s damage.

Your Combo Die starts as a d4. When you level up, once per tier you may use one of your advancement options to increase your Combo Die instead.

", + "effects": {}, + "actions": [], + "type": "class" + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "ei8OkswTzyDp4IGC": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1748031102847, + "modifiedTime": 1748031132259, + "lastModifiedBy": "ei8OkswTzyDp4IGC" + }, + "_key": "!items!RNC8NT8F6x73gRZi" +} diff --git a/src/packs/class-features/feature_Evolution_bZxfyPTZ6rsakyA2.json b/src/packs/class-features/feature_Evolution_bZxfyPTZ6rsakyA2.json new file mode 100644 index 00000000..780b028c --- /dev/null +++ b/src/packs/class-features/feature_Evolution_bZxfyPTZ6rsakyA2.json @@ -0,0 +1,44 @@ +{ + "name": "Evolution", + "type": "feature", + "_id": "bZxfyPTZ6rsakyA2", + "img": "icons/svg/item-bag.svg", + "system": { + "actionType": "action", + "featureType": { + "type": "normal", + "data": { + "property": "spellcastingTrait", + "max": 1, + "numbers": {} + } + }, + "refreshData": null, + "multiclass": null, + "disabled": false, + "description": "

Spend 3 Hope to transform into a Beastform without marking a Stress. When you do, choose one trait to raise by +1 until you drop out of that Beastform.

", + "effects": {}, + "actions": [], + "type": "class" + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "ei8OkswTzyDp4IGC": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1748028774087, + "modifiedTime": 1748028862047, + "lastModifiedBy": "ei8OkswTzyDp4IGC" + }, + "_key": "!items!bZxfyPTZ6rsakyA2" +} diff --git a/src/packs/class-features/feature_Frontline_Tank_ftUZznLFJ5xbcxcu.json b/src/packs/class-features/feature_Frontline_Tank_ftUZznLFJ5xbcxcu.json new file mode 100644 index 00000000..3e0f06e4 --- /dev/null +++ b/src/packs/class-features/feature_Frontline_Tank_ftUZznLFJ5xbcxcu.json @@ -0,0 +1,44 @@ +{ + "name": "Frontline Tank", + "type": "feature", + "_id": "ftUZznLFJ5xbcxcu", + "img": "icons/svg/item-bag.svg", + "system": { + "actionType": "action", + "featureType": { + "type": "normal", + "data": { + "property": "spellcastingTrait", + "max": 1, + "numbers": {} + } + }, + "refreshData": null, + "multiclass": null, + "disabled": false, + "description": "

Spend 3 Hope to clear 2 Armor Slots

", + "effects": {}, + "actions": [], + "type": "class" + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "ei8OkswTzyDp4IGC": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1748030942761, + "modifiedTime": 1748030954992, + "lastModifiedBy": "ei8OkswTzyDp4IGC" + }, + "_key": "!items!ftUZznLFJ5xbcxcu" +} diff --git a/src/packs/class-features/feature_Hold_Them_Off_FSx2ojskU0pRE72g.json b/src/packs/class-features/feature_Hold_Them_Off_FSx2ojskU0pRE72g.json new file mode 100644 index 00000000..a52aac6c --- /dev/null +++ b/src/packs/class-features/feature_Hold_Them_Off_FSx2ojskU0pRE72g.json @@ -0,0 +1,44 @@ +{ + "name": "Hold Them Off", + "type": "feature", + "_id": "FSx2ojskU0pRE72g", + "img": "icons/svg/item-bag.svg", + "system": { + "actionType": "action", + "featureType": { + "type": "normal", + "data": { + "property": "spellcastingTrait", + "max": 1, + "numbers": {} + } + }, + "refreshData": null, + "multiclass": null, + "disabled": false, + "description": "

Spend 3 Hope when you succeed on an attack with a weapon to use that same roll against two additional adversaries within range of the attack

", + "effects": {}, + "actions": [], + "type": "class" + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "ei8OkswTzyDp4IGC": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1748030888304, + "modifiedTime": 1748030905059, + "lastModifiedBy": "ei8OkswTzyDp4IGC" + }, + "_key": "!items!FSx2ojskU0pRE72g" +} diff --git a/src/packs/class-features/feature_I_Am_The_Weapon_ihtvQaH18eG56RWY.json b/src/packs/class-features/feature_I_Am_The_Weapon_ihtvQaH18eG56RWY.json new file mode 100644 index 00000000..32da8c74 --- /dev/null +++ b/src/packs/class-features/feature_I_Am_The_Weapon_ihtvQaH18eG56RWY.json @@ -0,0 +1,44 @@ +{ + "name": "I Am The Weapon", + "type": "feature", + "_id": "ihtvQaH18eG56RWY", + "img": "icons/svg/item-bag.svg", + "system": { + "actionType": "passive", + "featureType": { + "type": "normal", + "data": { + "property": "spellcastingTrait", + "max": 1, + "numbers": {} + } + }, + "refreshData": null, + "multiclass": null, + "disabled": false, + "description": "

While you don’t have any equipped weapons, your evasion has a +1 bonus. Your unarmed strikes are considered a Melee weapon, use the trait of your choice, and deal d10+your tier phy damage.

", + "effects": {}, + "actions": [], + "type": "class" + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "ei8OkswTzyDp4IGC": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1748031035883, + "modifiedTime": 1748031085182, + "lastModifiedBy": "ei8OkswTzyDp4IGC" + }, + "_key": "!items!ihtvQaH18eG56RWY" +} diff --git a/src/packs/class-features/feature_Life_Support_UZ9UjZArSJh6UHXG.json b/src/packs/class-features/feature_Life_Support_UZ9UjZArSJh6UHXG.json new file mode 100644 index 00000000..2a9c66ab --- /dev/null +++ b/src/packs/class-features/feature_Life_Support_UZ9UjZArSJh6UHXG.json @@ -0,0 +1,44 @@ +{ + "name": "Life Support", + "type": "feature", + "_id": "UZ9UjZArSJh6UHXG", + "img": "icons/svg/item-bag.svg", + "system": { + "actionType": "action", + "featureType": { + "type": "normal", + "data": { + "property": "spellcastingTrait", + "max": 1, + "numbers": {} + } + }, + "refreshData": null, + "multiclass": null, + "disabled": false, + "description": "

Spend 3 Hope to clear a Hit Point on an ally within Close range.

", + "effects": {}, + "actions": [], + "type": "class" + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "ei8OkswTzyDp4IGC": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1748033044907, + "modifiedTime": 1748033065659, + "lastModifiedBy": "ei8OkswTzyDp4IGC" + }, + "_key": "!items!UZ9UjZArSJh6UHXG" +} diff --git a/src/packs/class-features/feature_Make_a_Scene_Ddk0PAgwM4VLRbyY.json b/src/packs/class-features/feature_Make_a_Scene_Ddk0PAgwM4VLRbyY.json index 3b060c22..b878085e 100644 --- a/src/packs/class-features/feature_Make_a_Scene_Ddk0PAgwM4VLRbyY.json +++ b/src/packs/class-features/feature_Make_a_Scene_Ddk0PAgwM4VLRbyY.json @@ -1,44 +1,44 @@ { - "name": "Make a Scene", - "type": "feature", - "_id": "Ddk0PAgwM4VLRbyY", - "img": "icons/svg/item-bag.svg", - "system": { - "actionType": "action", - "featureType": { - "type": "normal", - "data": { - "property": "spellcastingTrait", - "max": 1, - "numbers": {} - } - }, - "refreshData": null, - "multiclass": null, - "disabled": false, - "description": "

Spend 3 Hope to temporarily Distract a target within Close range, giving them a -2 penalty to their Difficulty.

", - "effects": {}, - "actions": [], - "type": "class" + "name": "Make a Scene", + "type": "feature", + "_id": "Ddk0PAgwM4VLRbyY", + "img": "icons/svg/item-bag.svg", + "system": { + "actionType": "action", + "featureType": { + "type": "normal", + "data": { + "property": "spellcastingTrait", + "max": 1, + "numbers": {} + } }, - "effects": [], - "folder": null, - "sort": 0, - "ownership": { - "default": 0, - "NqO2eQGMjrvUO6v9": 3 - }, - "flags": {}, - "_stats": { - "compendiumSource": null, - "duplicateSource": null, - "exportSource": null, - "coreVersion": "13.344", - "systemId": "daggerheart", - "systemVersion": "0.0.1", - "createdTime": 1747991384366, - "modifiedTime": 1747991421484, - "lastModifiedBy": "NqO2eQGMjrvUO6v9" - }, - "_key": "!items!Ddk0PAgwM4VLRbyY" + "refreshData": null, + "multiclass": null, + "disabled": false, + "description": "

Spend 3 Hope to temporarily Distract a target within Close range, giving them a -2 penalty to their Difficulty.

", + "effects": {}, + "actions": [], + "type": "class" + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "NqO2eQGMjrvUO6v9": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1747991384366, + "modifiedTime": 1747991421484, + "lastModifiedBy": "NqO2eQGMjrvUO6v9" + }, + "_key": "!items!Ddk0PAgwM4VLRbyY" } diff --git a/src/packs/class-features/feature_Minor_Illusion_qFq7kynAZhbWTbT5.json b/src/packs/class-features/feature_Minor_Illusion_qFq7kynAZhbWTbT5.json new file mode 100644 index 00000000..49c46d46 --- /dev/null +++ b/src/packs/class-features/feature_Minor_Illusion_qFq7kynAZhbWTbT5.json @@ -0,0 +1,44 @@ +{ + "name": "Minor Illusion", + "type": "feature", + "_id": "qFq7kynAZhbWTbT5", + "img": "icons/svg/item-bag.svg", + "system": { + "actionType": "action", + "featureType": { + "type": "normal", + "data": { + "property": "spellcastingTrait", + "max": 1, + "numbers": {} + } + }, + "refreshData": null, + "multiclass": null, + "disabled": false, + "description": "

Make a Spellcast Roll (10). On a success, you create a minor visual illusion no larger than yourself within Close range. This illusion is convincing to anyone at Close range or farther.

", + "effects": {}, + "actions": [], + "type": "class" + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "ei8OkswTzyDp4IGC": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1748033817443, + "modifiedTime": 1748033834348, + "lastModifiedBy": "ei8OkswTzyDp4IGC" + }, + "_key": "!items!qFq7kynAZhbWTbT5" +} diff --git a/src/packs/class-features/feature_No_Mercy_t3tLoq4h9wgQD7E9.json b/src/packs/class-features/feature_No_Mercy_t3tLoq4h9wgQD7E9.json new file mode 100644 index 00000000..0e539323 --- /dev/null +++ b/src/packs/class-features/feature_No_Mercy_t3tLoq4h9wgQD7E9.json @@ -0,0 +1,44 @@ +{ + "name": "No Mercy", + "type": "feature", + "_id": "t3tLoq4h9wgQD7E9", + "img": "icons/svg/item-bag.svg", + "system": { + "actionType": "action", + "featureType": { + "type": "normal", + "data": { + "property": "spellcastingTrait", + "max": 1, + "numbers": {} + } + }, + "refreshData": null, + "multiclass": null, + "disabled": false, + "description": "

Spend 3 Hope to gain a +1 bonus to your attack rolls until your next rest.

", + "effects": {}, + "actions": [], + "type": "class" + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "ei8OkswTzyDp4IGC": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1748034146678, + "modifiedTime": 1748034158455, + "lastModifiedBy": "ei8OkswTzyDp4IGC" + }, + "_key": "!items!t3tLoq4h9wgQD7E9" +} diff --git a/src/packs/class-features/feature_Not_This_Time_5msGbQyFwdwdFdYs.json b/src/packs/class-features/feature_Not_This_Time_5msGbQyFwdwdFdYs.json new file mode 100644 index 00000000..a263d76d --- /dev/null +++ b/src/packs/class-features/feature_Not_This_Time_5msGbQyFwdwdFdYs.json @@ -0,0 +1,44 @@ +{ + "name": "Not This Time", + "type": "feature", + "_id": "5msGbQyFwdwdFdYs", + "img": "icons/svg/item-bag.svg", + "system": { + "actionType": "reaction", + "featureType": { + "type": "normal", + "data": { + "property": "spellcastingTrait", + "max": 1, + "numbers": {} + } + }, + "refreshData": null, + "multiclass": null, + "disabled": false, + "description": "

Spend 3 Hope to force an adversary within Far range to reroll an attack or damage roll

", + "effects": {}, + "actions": [], + "type": "class" + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "ei8OkswTzyDp4IGC": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1748034883014, + "modifiedTime": 1748034907509, + "lastModifiedBy": "ei8OkswTzyDp4IGC" + }, + "_key": "!items!5msGbQyFwdwdFdYs" +} diff --git a/src/packs/class-features/feature_Prayer_Dice_jXfGnLnU8PswJYJd.json b/src/packs/class-features/feature_Prayer_Dice_jXfGnLnU8PswJYJd.json new file mode 100644 index 00000000..6cf18da4 --- /dev/null +++ b/src/packs/class-features/feature_Prayer_Dice_jXfGnLnU8PswJYJd.json @@ -0,0 +1,47 @@ +{ + "name": "Prayer Dice", + "type": "feature", + "_id": "jXfGnLnU8PswJYJd", + "img": "icons/svg/item-bag.svg", + "system": { + "actionType": "action", + "featureType": { + "type": "normal", + "data": { + "property": "spellcastingTrait", + "max": 6, + "numbers": {}, + "value": "d4" + } + }, + "refreshData": { + "type": "session" + }, + "multiclass": null, + "disabled": false, + "description": "

At the beginning of each session, roll a number of d4s equal to your subclass’s Spellcast trait and place them on this sheet in the space provided. These are your Prayer Dice. You can spend any number of Prayer Dice to aid yourself or an ally within Far range. You can use a spent die’s value to reduce incoming damage, add to a roll’s result after the roll is made, or gain Hope equal to the result. At the end of each session, clear all unspent Prayer Dice.

", + "effects": {}, + "actions": [], + "type": "class" + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "ei8OkswTzyDp4IGC": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1748033372327, + "modifiedTime": 1748033499150, + "lastModifiedBy": "ei8OkswTzyDp4IGC" + }, + "_key": "!items!jXfGnLnU8PswJYJd" +} diff --git a/src/packs/class-features/feature_Prestidigitation_ofBmJIn6NWxA0wPz.json b/src/packs/class-features/feature_Prestidigitation_ofBmJIn6NWxA0wPz.json new file mode 100644 index 00000000..716cd906 --- /dev/null +++ b/src/packs/class-features/feature_Prestidigitation_ofBmJIn6NWxA0wPz.json @@ -0,0 +1,44 @@ +{ + "name": "Prestidigitation", + "type": "feature", + "_id": "ofBmJIn6NWxA0wPz", + "img": "icons/svg/item-bag.svg", + "system": { + "actionType": "action", + "featureType": { + "type": "normal", + "data": { + "property": "spellcastingTrait", + "max": 1, + "numbers": {} + } + }, + "refreshData": null, + "multiclass": null, + "disabled": false, + "description": "

You can perform harmless, subtle magical effects at will. For example, you can change an object’s color, create a smell, light a candle, cause a tiny object to float, illuminate a room, or repair a small object.

", + "effects": {}, + "actions": [], + "type": "class" + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "ei8OkswTzyDp4IGC": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1748034934147, + "modifiedTime": 1748034955883, + "lastModifiedBy": "ei8OkswTzyDp4IGC" + }, + "_key": "!items!ofBmJIn6NWxA0wPz" +} diff --git a/src/packs/class-features/feature_Rally_8uORDWrXtNFzA00U.json b/src/packs/class-features/feature_Rally_8uORDWrXtNFzA00U.json index 177ee282..d07fef13 100644 --- a/src/packs/class-features/feature_Rally_8uORDWrXtNFzA00U.json +++ b/src/packs/class-features/feature_Rally_8uORDWrXtNFzA00U.json @@ -1,47 +1,47 @@ { - "name": "Rally", - "type": "feature", - "_id": "8uORDWrXtNFzA00U", - "img": "icons/svg/item-bag.svg", - "system": { - "actionType": "action", - "featureType": { - "type": "normal", - "data": { - "property": "spellcastingTrait", - "max": 1, - "numbers": {}, - "value": "d6" - } - }, - "refreshData": { - "type": "session" - }, - "multiclass": null, - "disabled": false, - "description": "

Once per session, describe how you rally the party and give yourself and each of your allies a Rally Die. At level 1, your Rally Die is a d6. A PC can spend their Rally Die to roll it, adding the result to their action roll, reaction roll, damage roll, or to clear a number of Stress equal to the result. At the end of each session, clear all unspent Rally Dice.

At level 5, your Rally Die increases to a d8.

", - "effects": {}, - "actions": [], - "type": "class" + "name": "Rally", + "type": "feature", + "_id": "8uORDWrXtNFzA00U", + "img": "icons/svg/item-bag.svg", + "system": { + "actionType": "action", + "featureType": { + "type": "normal", + "data": { + "property": "spellcastingTrait", + "max": 1, + "numbers": {}, + "value": "d6" + } }, - "effects": [], - "folder": null, - "sort": 0, - "ownership": { - "default": 0, - "NqO2eQGMjrvUO6v9": 3 + "refreshData": { + "type": "session" }, - "flags": {}, - "_stats": { - "compendiumSource": null, - "duplicateSource": null, - "exportSource": null, - "coreVersion": "13.344", - "systemId": "daggerheart", - "systemVersion": "0.0.1", - "createdTime": 1747991484460, - "modifiedTime": 1747991546148, - "lastModifiedBy": "NqO2eQGMjrvUO6v9" - }, - "_key": "!items!8uORDWrXtNFzA00U" + "multiclass": null, + "disabled": false, + "description": "

Once per session, describe how you rally the party and give yourself and each of your allies a Rally Die. At level 1, your Rally Die is a d6. A PC can spend their Rally Die to roll it, adding the result to their action roll, reaction roll, damage roll, or to clear a number of Stress equal to the result. At the end of each session, clear all unspent Rally Dice.

At level 5, your Rally Die increases to a d8.

", + "effects": {}, + "actions": [], + "type": "class" + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "NqO2eQGMjrvUO6v9": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1747991484460, + "modifiedTime": 1747991546148, + "lastModifiedBy": "NqO2eQGMjrvUO6v9" + }, + "_key": "!items!8uORDWrXtNFzA00U" } diff --git a/src/packs/class-features/feature_Ranger_s_Focus_b4O4r2HPbWU8s59q.json b/src/packs/class-features/feature_Ranger_s_Focus_b4O4r2HPbWU8s59q.json new file mode 100644 index 00000000..222d5b99 --- /dev/null +++ b/src/packs/class-features/feature_Ranger_s_Focus_b4O4r2HPbWU8s59q.json @@ -0,0 +1,44 @@ +{ + "name": "Ranger's Focus", + "type": "feature", + "_id": "b4O4r2HPbWU8s59q", + "img": "icons/svg/item-bag.svg", + "system": { + "actionType": "action", + "featureType": { + "type": "normal", + "data": { + "property": "spellcastingTrait", + "max": 1, + "numbers": {} + } + }, + "refreshData": null, + "multiclass": null, + "disabled": false, + "description": "

Spend a Hope and make an attack against a target. On a success, deal your attack’s normal damage and temporarily make the attack’s target your Focus. Until this feature ends or you make a different creature yourFocus, you gain the following benefits against your Focus:

• You know precisely what direction they are in.

• When you deal damage to them, they must mark a Stress.

• When you fail an attack against them, you can end your Ranger’s Focus feature to reroll your Duality Dice.

", + "effects": {}, + "actions": [], + "type": "class" + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "ei8OkswTzyDp4IGC": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1748030780267, + "modifiedTime": 1748030834985, + "lastModifiedBy": "ei8OkswTzyDp4IGC" + }, + "_key": "!items!b4O4r2HPbWU8s59q" +} diff --git a/src/packs/class-features/feature_Rogue_s_Dodge_fPGn9JNV24nt1G9d.json b/src/packs/class-features/feature_Rogue_s_Dodge_fPGn9JNV24nt1G9d.json new file mode 100644 index 00000000..5c017fcf --- /dev/null +++ b/src/packs/class-features/feature_Rogue_s_Dodge_fPGn9JNV24nt1G9d.json @@ -0,0 +1,44 @@ +{ + "name": "Rogue’s Dodge", + "type": "feature", + "_id": "fPGn9JNV24nt1G9d", + "img": "icons/svg/item-bag.svg", + "system": { + "actionType": "action", + "featureType": { + "type": "normal", + "data": { + "property": "spellcastingTrait", + "max": 1, + "numbers": {} + } + }, + "refreshData": null, + "multiclass": null, + "disabled": false, + "description": "

Spend 3 Hope to gain a +2 bonus to your Evasion until the next time an attack succeeds against you. Otherwise, this bonus lasts until your next rest.

", + "effects": {}, + "actions": [], + "type": "class" + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "ei8OkswTzyDp4IGC": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1748032185608, + "modifiedTime": 1748032213243, + "lastModifiedBy": "ei8OkswTzyDp4IGC" + }, + "_key": "!items!fPGn9JNV24nt1G9d" +} diff --git a/src/packs/class-features/feature_Sneak_Attack_PhHOmsoYUDC42by6.json b/src/packs/class-features/feature_Sneak_Attack_PhHOmsoYUDC42by6.json new file mode 100644 index 00000000..eb92680f --- /dev/null +++ b/src/packs/class-features/feature_Sneak_Attack_PhHOmsoYUDC42by6.json @@ -0,0 +1,44 @@ +{ + "name": "Sneak Attack", + "type": "feature", + "_id": "PhHOmsoYUDC42by6", + "img": "icons/svg/item-bag.svg", + "system": { + "actionType": "action", + "featureType": { + "type": "normal", + "data": { + "property": "spellcastingTrait", + "max": 1, + "numbers": {} + } + }, + "refreshData": null, + "multiclass": null, + "disabled": false, + "description": "

When you succeed on an attack while Cloaked or while an ally is within Melee range of your target, add a number of d6s equal to your tier to your damage roll.

Level 1 is Tier 1

Levels 2–4 are Tier 2

Levels 5–7 are Tier 3

Levels 8–10 are Tier 4

", + "effects": {}, + "actions": [], + "type": "class" + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "ei8OkswTzyDp4IGC": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1748032274441, + "modifiedTime": 1748032300923, + "lastModifiedBy": "ei8OkswTzyDp4IGC" + }, + "_key": "!items!PhHOmsoYUDC42by6" +} diff --git a/src/packs/class-features/feature_Staggering_Strike_xC0ZG862KrjHGHlx.json b/src/packs/class-features/feature_Staggering_Strike_xC0ZG862KrjHGHlx.json new file mode 100644 index 00000000..9873a102 --- /dev/null +++ b/src/packs/class-features/feature_Staggering_Strike_xC0ZG862KrjHGHlx.json @@ -0,0 +1,44 @@ +{ + "name": "Staggering Strike", + "type": "feature", + "_id": "xC0ZG862KrjHGHlx", + "img": "icons/svg/item-bag.svg", + "system": { + "actionType": "action", + "featureType": { + "type": "normal", + "data": { + "property": "spellcastingTrait", + "max": 1, + "numbers": {} + } + }, + "refreshData": null, + "multiclass": null, + "disabled": false, + "description": "

Spend 3 Hope when you hit an adversary to also deal them a Stress and make them temporarily Staggered.

While Staggered, all attack rolls they make are at disadvantage.

", + "effects": {}, + "actions": [], + "type": "class" + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "ei8OkswTzyDp4IGC": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1748030990710, + "modifiedTime": 1748031014128, + "lastModifiedBy": "ei8OkswTzyDp4IGC" + }, + "_key": "!items!xC0ZG862KrjHGHlx" +} diff --git a/src/packs/class-features/feature_Strange_Patterns_ONtJ7r2g6tN5q6Ga.json b/src/packs/class-features/feature_Strange_Patterns_ONtJ7r2g6tN5q6Ga.json new file mode 100644 index 00000000..b4c4fa28 --- /dev/null +++ b/src/packs/class-features/feature_Strange_Patterns_ONtJ7r2g6tN5q6Ga.json @@ -0,0 +1,44 @@ +{ + "name": "Strange Patterns", + "type": "feature", + "_id": "ONtJ7r2g6tN5q6Ga", + "img": "icons/svg/item-bag.svg", + "system": { + "actionType": "action", + "featureType": { + "type": "normal", + "data": { + "property": "spellcastingTrait", + "max": 1, + "numbers": {} + } + }, + "refreshData": null, + "multiclass": null, + "disabled": false, + "description": "

Choose a number between 1 and 12. When you roll that number on a Duality Die, gain a Hope or clear a Stress. You can change this number when you take a long rest.

", + "effects": {}, + "actions": [], + "type": "class" + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "ei8OkswTzyDp4IGC": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1748034976746, + "modifiedTime": 1748034998077, + "lastModifiedBy": "ei8OkswTzyDp4IGC" + }, + "_key": "!items!ONtJ7r2g6tN5q6Ga" +} diff --git a/src/packs/class-features/feature_Unstoppable_rlpNYKW18FX4Hw7t.json b/src/packs/class-features/feature_Unstoppable_rlpNYKW18FX4Hw7t.json new file mode 100644 index 00000000..db614e70 --- /dev/null +++ b/src/packs/class-features/feature_Unstoppable_rlpNYKW18FX4Hw7t.json @@ -0,0 +1,46 @@ +{ + "name": "Unstoppable", + "type": "feature", + "_id": "rlpNYKW18FX4Hw7t", + "img": "icons/svg/item-bag.svg", + "system": { + "actionType": "action", + "featureType": { + "type": "normal", + "data": { + "property": "spellcastingTrait", + "max": 1, + "numbers": {} + } + }, + "refreshData": { + "type": "longRest" + }, + "multiclass": null, + "disabled": false, + "description": "

Once per long rest, you can become Unstoppable.

You gain an Unstoppable Die. At level 1, your Unstoppable Die is a [[d4]]. Place it on this sheet in the space provided, starting with the 1 value facing up. After you make a damage roll that deals 1 or more Hit Points to a target, increase the Unstoppable Die value by one. When the die’s value would exceed its maximum value or when the scene ends, remove the die and drop out of Unstoppable. At level 5, your Unstoppable Die increases to a d6.

While Unstoppable, you gain the following benefits:

• You reduce the severity of physical damage by one threshold (Severe to Major, Major to Minor, Minor to None).

• You add the current value of the Unstoppable Die to your damage roll.

• You can’t be Restrained or Vulnerable.

", + "effects": {}, + "actions": [], + "type": "class" + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "ei8OkswTzyDp4IGC": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1748030398960, + "modifiedTime": 1748030576414, + "lastModifiedBy": "ei8OkswTzyDp4IGC" + }, + "_key": "!items!rlpNYKW18FX4Hw7t" +} diff --git a/src/packs/class-features/feature_Volatile_Magic_J3TdB5ZsmyJ68rxZ.json b/src/packs/class-features/feature_Volatile_Magic_J3TdB5ZsmyJ68rxZ.json new file mode 100644 index 00000000..4812bccf --- /dev/null +++ b/src/packs/class-features/feature_Volatile_Magic_J3TdB5ZsmyJ68rxZ.json @@ -0,0 +1,44 @@ +{ + "name": "Volatile Magic", + "type": "feature", + "_id": "J3TdB5ZsmyJ68rxZ", + "img": "icons/svg/item-bag.svg", + "system": { + "actionType": "action", + "featureType": { + "type": "normal", + "data": { + "property": "spellcastingTrait", + "max": 1, + "numbers": {} + } + }, + "refreshData": null, + "multiclass": null, + "disabled": false, + "description": "

Spend 3 Hope to reroll any number of your damage dice on an attack that deals magic damage.

", + "effects": {}, + "actions": [], + "type": "class" + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "ei8OkswTzyDp4IGC": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1748033750328, + "modifiedTime": 1748033766963, + "lastModifiedBy": "ei8OkswTzyDp4IGC" + }, + "_key": "!items!J3TdB5ZsmyJ68rxZ" +} diff --git a/src/packs/class-features/feature_Wildtouch_Dy0lco20C0Nk6yQo.json b/src/packs/class-features/feature_Wildtouch_Dy0lco20C0Nk6yQo.json new file mode 100644 index 00000000..ce95b251 --- /dev/null +++ b/src/packs/class-features/feature_Wildtouch_Dy0lco20C0Nk6yQo.json @@ -0,0 +1,44 @@ +{ + "name": "Wildtouch", + "type": "feature", + "_id": "Dy0lco20C0Nk6yQo", + "img": "icons/svg/item-bag.svg", + "system": { + "actionType": "action", + "featureType": { + "type": "normal", + "data": { + "property": "spellcastingTrait", + "max": 1, + "numbers": {} + } + }, + "refreshData": null, + "multiclass": null, + "disabled": false, + "description": "

You can perform harmless, subtle effects that involve nature—such as causing a flower to rapidly grow, summoning a slight gust of wind, or starting a campfire—at will.

", + "effects": {}, + "actions": [], + "type": "class" + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "ei8OkswTzyDp4IGC": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1748028880107, + "modifiedTime": 1748028893170, + "lastModifiedBy": "ei8OkswTzyDp4IGC" + }, + "_key": "!items!Dy0lco20C0Nk6yQo" +} diff --git a/src/packs/classes/class_Bard_yKicceU4LesCgKwF.json b/src/packs/classes/class_Bard_yKicceU4LesCgKwF.json index 24e62064..da5d8bfe 100644 --- a/src/packs/classes/class_Bard_yKicceU4LesCgKwF.json +++ b/src/packs/classes/class_Bard_yKicceU4LesCgKwF.json @@ -1,93 +1,104 @@ { - "name": "Bard", - "type": "class", - "_id": "yKicceU4LesCgKwF", - "img": "systems/daggerheart/assets/icons/classes/bard.png", - "system": { - "domains": ["grace", "codex"], - "classItems": [], - "damageThresholds": { - "minor": 0, - "major": 0, - "severe": 0 - }, - "evasion": 10, - "features": [ - { - "name": "Make a Scene", - "img": "icons/svg/item-bag.svg", - "uuid": "Compendium.daggerheart.class-features.Item.Ddk0PAgwM4VLRbyY" - }, - { - "img": "icons/svg/item-bag.svg", - "name": "Rally", - "uuid": "Compendium.daggerheart.class-features.Item.8uORDWrXtNFzA00U" - } - ], - "subclasses": [ - { - "name": "Troubadour", - "img": "icons/svg/item-bag.svg", - "uuid": "Compendium.daggerheart.subclasses.Item.T1iBO8i0xRF5c8Q2" - }, - { - "img": "icons/svg/item-bag.svg", - "name": "Wordsmith", - "uuid": "Compendium.daggerheart.subclasses.Item.FXT65YDVWFy85EI0" - } - ], - "inventory": { - "take": [], - "choiceA": [], - "choiceB": [], - "extra": { - "title": "", - "description": "" - } - }, - "characterGuide": { - "suggestedTraits": { - "agility": 0, - "strength": 0, - "finesse": 0, - "instinct": 0, - "presence": 0, - "knowledge": 0 - }, - "suggestedPrimaryWeapon": null, - "suggestedSecondaryWeapon": null, - "suggestedArmor": null, - "characterDescription": { - "clothes": "", - "eyes": "", - "body": "", - "color": "", - "attitude": "" - }, - "backgroundQuestions": ["", "", ""], - "connections": ["", "", ""] - }, - "multiclass": null, + "name": "Bard", + "type": "class", + "_id": "yKicceU4LesCgKwF", + "img": "systems/daggerheart/assets/icons/classes/bard.png", + "system": { + "domains": [ + "grace", + "codex" + ], + "classItems": [], + "damageThresholds": { + "minor": 0, + "major": 0, + "severe": 0 + }, + "evasion": 10, + "features": [ + { + "name": "Make a Scene", + "img": "icons/svg/item-bag.svg", + "uuid": "Compendium.daggerheart.class-features.Item.Ddk0PAgwM4VLRbyY" + }, + { + "img": "icons/svg/item-bag.svg", + "name": "Rally", + "uuid": "Compendium.daggerheart.class-features.Item.8uORDWrXtNFzA00U" + } + ], + "subclasses": [ + { + "name": "Troubadour", + "img": "icons/svg/item-bag.svg", + "uuid": "Compendium.daggerheart.subclasses.Item.T1iBO8i0xRF5c8Q2" + }, + { + "img": "icons/svg/item-bag.svg", + "name": "Wordsmith", + "uuid": "Compendium.daggerheart.subclasses.Item.FXT65YDVWFy85EI0" + } + ], + "inventory": { + "take": [], + "choiceA": [], + "choiceB": [], + "extra": { + "title": "", "description": "" + } }, - "effects": [], - "folder": null, - "sort": 0, - "ownership": { - "default": 0, - "NqO2eQGMjrvUO6v9": 3 + "characterGuide": { + "suggestedTraits": { + "agility": 0, + "strength": -1, + "finesse": 1, + "instinct": 0, + "presence": 2, + "knowledge": 1 + }, + "suggestedPrimaryWeapon": null, + "suggestedSecondaryWeapon": null, + "suggestedArmor": null, + "characterDescription": { + "clothes": "", + "eyes": "", + "body": "", + "color": "", + "attitude": "" + }, + "backgroundQuestions": [ + "Who from your community taught you to have such confidence in yourself?", + "You were in love once. Who did you adore, and how did they hurt you?", + "You’ve always looked up to another bard. Who are they, and why do you idolize them?" + ], + "connections": [ + "What made you realize we were going to be such good friends?", + "What do I do that annoys you?", + "Why do you grab my hand at night?" + ] }, - "flags": {}, - "_stats": { - "compendiumSource": null, - "duplicateSource": null, - "exportSource": null, - "coreVersion": "13.344", - "systemId": "daggerheart", - "systemVersion": "0.0.1", - "createdTime": 1747946810798, - "modifiedTime": 1747991996135, - "lastModifiedBy": "NqO2eQGMjrvUO6v9" - }, - "_key": "!items!yKicceU4LesCgKwF" + "multiclass": null, + "description": "" + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "NqO2eQGMjrvUO6v9": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1747946810798, + "modifiedTime": 1748029620943, + "lastModifiedBy": "ei8OkswTzyDp4IGC" + }, + "_key": "!items!yKicceU4LesCgKwF" } diff --git a/src/packs/classes/class_Druid_HEh27jDQCJmnPsXH.json b/src/packs/classes/class_Druid_HEh27jDQCJmnPsXH.json index 9fe99cf5..5470f091 100644 --- a/src/packs/classes/class_Druid_HEh27jDQCJmnPsXH.json +++ b/src/packs/classes/class_Druid_HEh27jDQCJmnPsXH.json @@ -1,62 +1,98 @@ { - "name": "Druid", - "type": "class", - "_id": "HEh27jDQCJmnPsXH", - "img": "systems/daggerheart/assets/icons/classes/druid.png", - "system": { - "domains": [], - "classItems": [], - "damageThresholds": { - "minor": 0, - "major": 0, - "severe": 0 - }, - "evasion": 0, - "features": [], - "subclasses": [], - "inventory": { - "take": [], - "choiceA": [], - "choiceB": [], - "extra": null - }, - "characterGuide": { - "suggestedTraits": { - "agility": 0, - "strength": 0, - "finesse": 0, - "instinct": 0, - "presence": 0, - "knowledge": 0 - }, - "suggestedPrimaryWeapon": null, - "suggestedSecondaryWeapon": null, - "suggestedArmor": null, - "characterDescription": {}, - "backgroundQuestions": ["", "", ""], - "connections": ["", "", ""] - }, - "multiclass": null, + "name": "Druid", + "type": "class", + "_id": "HEh27jDQCJmnPsXH", + "img": "systems/daggerheart/assets/icons/classes/druid.png", + "system": { + "domains": [ + "sage", + "arcana" + ], + "classItems": [], + "damageThresholds": { + "minor": 0, + "major": 0, + "severe": 0 + }, + "evasion": 10, + "features": [ + { + "name": "Evolution", + "img": "icons/svg/item-bag.svg", + "uuid": "Compendium.daggerheart.class-features.Item.bZxfyPTZ6rsakyA2" + }, + { + "name": "Beastform", + "img": "icons/svg/item-bag.svg", + "uuid": "Compendium.daggerheart.class-features.Item.NkSKDXGNNiOUlFqm" + }, + { + "img": "icons/svg/item-bag.svg", + "name": "Wildtouch", + "uuid": "Compendium.daggerheart.class-features.Item.Dy0lco20C0Nk6yQo" + } + ], + "subclasses": [], + "inventory": { + "take": [], + "choiceA": [], + "choiceB": [], + "extra": { + "title": "", "description": "" + } }, - "effects": [], - "folder": null, - "sort": 0, - "ownership": { - "default": 0, - "NqO2eQGMjrvUO6v9": 3 + "characterGuide": { + "suggestedTraits": { + "agility": 1, + "strength": 0, + "finesse": 1, + "instinct": 2, + "presence": -1, + "knowledge": 0 + }, + "suggestedPrimaryWeapon": null, + "suggestedSecondaryWeapon": null, + "suggestedArmor": null, + "characterDescription": { + "clothes": "", + "eyes": "", + "body": "", + "color": "", + "attitude": "" + }, + "backgroundQuestions": [ + "Why was the community you grew up in so reliant on nature and its creatures?", + "Who was the first wild animal you bonded with? Why did your bond end?", + "Who has been trying to hunt you down? What do they want from you?" + ], + "connections": [ + "What did you confide in me that makes me leap into danger for you every time?", + "What animal do I say you remind me of?", + "What affectionate nickname have you given me?" + ] }, - "flags": {}, - "_stats": { - "compendiumSource": null, - "duplicateSource": null, - "exportSource": null, - "coreVersion": "13.344", - "systemId": "daggerheart", - "systemVersion": "0.0.1", - "createdTime": 1747946822837, - "modifiedTime": 1747946826150, - "lastModifiedBy": "NqO2eQGMjrvUO6v9" - }, - "_key": "!items!HEh27jDQCJmnPsXH" + "multiclass": null, + "description": "" + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "NqO2eQGMjrvUO6v9": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1747946822837, + "modifiedTime": 1748029712119, + "lastModifiedBy": "ei8OkswTzyDp4IGC" + }, + "_key": "!items!HEh27jDQCJmnPsXH" } diff --git a/src/packs/classes/class_Fighter_HPzaWaZBc6RvElKd.json b/src/packs/classes/class_Fighter_HPzaWaZBc6RvElKd.json index 87d12a25..2373bedd 100644 --- a/src/packs/classes/class_Fighter_HPzaWaZBc6RvElKd.json +++ b/src/packs/classes/class_Fighter_HPzaWaZBc6RvElKd.json @@ -1,62 +1,98 @@ { - "name": "Fighter", - "type": "class", - "_id": "HPzaWaZBc6RvElKd", - "img": "systems/daggerheart/assets/icons/classes/fighter.png", - "system": { - "domains": [], - "classItems": [], - "damageThresholds": { - "minor": 0, - "major": 0, - "severe": 0 - }, - "evasion": 0, - "features": [], - "subclasses": [], - "inventory": { - "take": [], - "choiceA": [], - "choiceB": [], - "extra": null - }, - "characterGuide": { - "suggestedTraits": { - "agility": 0, - "strength": 0, - "finesse": 0, - "instinct": 0, - "presence": 0, - "knowledge": 0 - }, - "suggestedPrimaryWeapon": null, - "suggestedSecondaryWeapon": null, - "suggestedArmor": null, - "characterDescription": {}, - "backgroundQuestions": ["", "", ""], - "connections": ["", "", ""] - }, - "multiclass": null, + "name": "Fighter", + "type": "class", + "_id": "HPzaWaZBc6RvElKd", + "img": "systems/daggerheart/assets/icons/classes/fighter.png", + "system": { + "domains": [ + "bone", + "valor" + ], + "classItems": [], + "damageThresholds": { + "minor": 0, + "major": 0, + "severe": 0 + }, + "evasion": 11, + "features": [ + { + "name": "Staggering Strike", + "img": "icons/svg/item-bag.svg", + "uuid": "Compendium.daggerheart.class-features.Item.xC0ZG862KrjHGHlx" + }, + { + "name": "I Am The Weapon", + "img": "icons/svg/item-bag.svg", + "uuid": "Compendium.daggerheart.class-features.Item.ihtvQaH18eG56RWY" + }, + { + "img": "icons/svg/item-bag.svg", + "name": "Combo Strikes", + "uuid": "Compendium.daggerheart.class-features.Item.RNC8NT8F6x73gRZi" + } + ], + "subclasses": [], + "inventory": { + "take": [], + "choiceA": [], + "choiceB": [], + "extra": { + "title": "", "description": "" + } }, - "effects": [], - "folder": null, - "sort": 0, - "ownership": { - "default": 0, - "NqO2eQGMjrvUO6v9": 3 + "characterGuide": { + "suggestedTraits": { + "agility": 1, + "strength": 1, + "finesse": 0, + "instinct": 2, + "presence": 10, + "knowledge": -1 + }, + "suggestedPrimaryWeapon": null, + "suggestedSecondaryWeapon": null, + "suggestedArmor": null, + "characterDescription": { + "clothes": "", + "eyes": "", + "body": "", + "color": "", + "attitude": "" + }, + "backgroundQuestions": [ + "Where did you spend time during your formative years that taught you, directly or indirectly, how to fight in the style you use?", + "What group or organization that has always had your back, and how did you get in their good graces?", + "Who did you lose to long ago that you are desperate for a rematch against?" + ], + "connections": [ + "What is one thing we’re both afraid of?", + "I rely on your for something important during our travels together. What is it and how do you feel about it?", + "I still haven't forgiven you for something you said to me. What was it and why did you say it?" + ] }, - "flags": {}, - "_stats": { - "compendiumSource": null, - "duplicateSource": null, - "exportSource": null, - "coreVersion": "13.344", - "systemId": "daggerheart", - "systemVersion": "0.0.1", - "createdTime": 1747946839346, - "modifiedTime": 1747946842033, - "lastModifiedBy": "NqO2eQGMjrvUO6v9" - }, - "_key": "!items!HPzaWaZBc6RvElKd" + "multiclass": null, + "description": "" + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "NqO2eQGMjrvUO6v9": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1747946839346, + "modifiedTime": 1748031139229, + "lastModifiedBy": "ei8OkswTzyDp4IGC" + }, + "_key": "!items!HPzaWaZBc6RvElKd" } diff --git a/src/packs/classes/class_Guardian_hyfigmrAoLxFPOW2.json b/src/packs/classes/class_Guardian_hyfigmrAoLxFPOW2.json index a600f7cf..6e1aacc6 100644 --- a/src/packs/classes/class_Guardian_hyfigmrAoLxFPOW2.json +++ b/src/packs/classes/class_Guardian_hyfigmrAoLxFPOW2.json @@ -1,62 +1,93 @@ { - "name": "Guardian", - "type": "class", - "_id": "hyfigmrAoLxFPOW2", - "img": "systems/daggerheart/assets/icons/classes/guardian.png", - "system": { - "domains": [], - "classItems": [], - "damageThresholds": { - "minor": 0, - "major": 0, - "severe": 0 - }, - "evasion": 0, - "features": [], - "subclasses": [], - "inventory": { - "take": [], - "choiceA": [], - "choiceB": [], - "extra": null - }, - "characterGuide": { - "suggestedTraits": { - "agility": 0, - "strength": 0, - "finesse": 0, - "instinct": 0, - "presence": 0, - "knowledge": 0 - }, - "suggestedPrimaryWeapon": null, - "suggestedSecondaryWeapon": null, - "suggestedArmor": null, - "characterDescription": {}, - "backgroundQuestions": ["", "", ""], - "connections": ["", "", ""] - }, - "multiclass": null, + "name": "Guardian", + "type": "class", + "_id": "hyfigmrAoLxFPOW2", + "img": "systems/daggerheart/assets/icons/classes/guardian.png", + "system": { + "domains": [ + "valor", + "blade" + ], + "classItems": [], + "damageThresholds": { + "minor": 0, + "major": 0, + "severe": 0 + }, + "evasion": 9, + "features": [ + { + "name": "Frontline Tank", + "img": "icons/svg/item-bag.svg", + "uuid": "Compendium.daggerheart.class-features.Item.ftUZznLFJ5xbcxcu" + }, + { + "img": "icons/svg/item-bag.svg", + "name": "Unstoppable", + "uuid": "Compendium.daggerheart.class-features.Item.rlpNYKW18FX4Hw7t" + } + ], + "subclasses": [], + "inventory": { + "take": [], + "choiceA": [], + "choiceB": [], + "extra": { + "title": "", "description": "" + } }, - "effects": [], - "folder": null, - "sort": 0, - "ownership": { - "default": 0, - "NqO2eQGMjrvUO6v9": 3 + "characterGuide": { + "suggestedTraits": { + "agility": 1, + "strength": 2, + "finesse": -1, + "instinct": 0, + "presence": 1, + "knowledge": 0 + }, + "suggestedPrimaryWeapon": null, + "suggestedSecondaryWeapon": null, + "suggestedArmor": null, + "characterDescription": { + "clothes": "", + "eyes": "", + "body": "", + "color": "", + "attitude": "" + }, + "backgroundQuestions": [ + "Who from your community did you fail to protect, and why do you still think of them?", + "You’ve been tasked with protecting something important and delivering it somewhere dangerous. What is it, and where does it need to go?", + "You consider an aspect of yourself to be a weakness. What is it, and how has it affected you?" + ], + "connections": [ + "How did I save your life the first time we met", + "What small gift did you give me that you notice I always carry with me?", + "What lie have you told me about yourself that I absolutely believe?" + ] }, - "flags": {}, - "_stats": { - "compendiumSource": null, - "duplicateSource": null, - "exportSource": null, - "coreVersion": "13.344", - "systemId": "daggerheart", - "systemVersion": "0.0.1", - "createdTime": 1747946853583, - "modifiedTime": 1747946858579, - "lastModifiedBy": "NqO2eQGMjrvUO6v9" - }, - "_key": "!items!hyfigmrAoLxFPOW2" + "multiclass": null, + "description": "" + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "NqO2eQGMjrvUO6v9": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1747946853583, + "modifiedTime": 1748030966166, + "lastModifiedBy": "ei8OkswTzyDp4IGC" + }, + "_key": "!items!hyfigmrAoLxFPOW2" } diff --git a/src/packs/classes/class_Ranger_XoUsU9sCxEq8t3We.json b/src/packs/classes/class_Ranger_XoUsU9sCxEq8t3We.json index 7be391e0..a620d4f8 100644 --- a/src/packs/classes/class_Ranger_XoUsU9sCxEq8t3We.json +++ b/src/packs/classes/class_Ranger_XoUsU9sCxEq8t3We.json @@ -1,62 +1,93 @@ { - "name": "Ranger", - "type": "class", - "_id": "XoUsU9sCxEq8t3We", - "img": "systems/daggerheart/assets/icons/classes/ranger.png", - "system": { - "domains": [], - "classItems": [], - "damageThresholds": { - "minor": 0, - "major": 0, - "severe": 0 - }, - "evasion": 0, - "features": [], - "subclasses": [], - "inventory": { - "take": [], - "choiceA": [], - "choiceB": [], - "extra": null - }, - "characterGuide": { - "suggestedTraits": { - "agility": 0, - "strength": 0, - "finesse": 0, - "instinct": 0, - "presence": 0, - "knowledge": 0 - }, - "suggestedPrimaryWeapon": null, - "suggestedSecondaryWeapon": null, - "suggestedArmor": null, - "characterDescription": {}, - "backgroundQuestions": ["", "", ""], - "connections": ["", "", ""] - }, - "multiclass": null, + "name": "Ranger", + "type": "class", + "_id": "XoUsU9sCxEq8t3We", + "img": "systems/daggerheart/assets/icons/classes/ranger.png", + "system": { + "domains": [ + "bone", + "sage" + ], + "classItems": [], + "damageThresholds": { + "minor": 0, + "major": 0, + "severe": 0 + }, + "evasion": 12, + "features": [ + { + "name": "Hold Them Off", + "img": "icons/svg/item-bag.svg", + "uuid": "Compendium.daggerheart.class-features.Item.FSx2ojskU0pRE72g" + }, + { + "img": "icons/svg/item-bag.svg", + "name": "Ranger's Focus", + "uuid": "Compendium.daggerheart.class-features.Item.b4O4r2HPbWU8s59q" + } + ], + "subclasses": [], + "inventory": { + "take": [], + "choiceA": [], + "choiceB": [], + "extra": { + "title": "", "description": "" + } }, - "effects": [], - "folder": null, - "sort": 0, - "ownership": { - "default": 0, - "NqO2eQGMjrvUO6v9": 3 + "characterGuide": { + "suggestedTraits": { + "agility": 2, + "strength": 0, + "finesse": 1, + "instinct": 1, + "presence": -1, + "knowledge": 0 + }, + "suggestedPrimaryWeapon": null, + "suggestedSecondaryWeapon": null, + "suggestedArmor": null, + "characterDescription": { + "clothes": "", + "eyes": "", + "body": "", + "color": "", + "attitude": "" + }, + "backgroundQuestions": [ + "A terrible creature hurt your community, and you’ve vowed to hunt them down. What are they, and what unique trail or sign do they leave behind?", + "Your first kill almost killed you, too. What was it, and what part of you was never the same after that event?", + "You’ve traveled many dangerous lands, but what is the one place you refuse to go?" + ], + "connections": [ + "What friendly competition do we have?", + "Why do you act differently when we’re alone than when others are around?", + "What threat have you asked me to watch for, and why are you worried about it?" + ] }, - "flags": {}, - "_stats": { - "compendiumSource": null, - "duplicateSource": null, - "exportSource": null, - "coreVersion": "13.344", - "systemId": "daggerheart", - "systemVersion": "0.0.1", - "createdTime": 1747946878680, - "modifiedTime": 1747946882593, - "lastModifiedBy": "NqO2eQGMjrvUO6v9" - }, - "_key": "!items!XoUsU9sCxEq8t3We" + "multiclass": null, + "description": "" + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "NqO2eQGMjrvUO6v9": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1747946878680, + "modifiedTime": 1748030921142, + "lastModifiedBy": "ei8OkswTzyDp4IGC" + }, + "_key": "!items!XoUsU9sCxEq8t3We" } diff --git a/src/packs/classes/class_Rogue_V1a5AKCLe8qtoPlA.json b/src/packs/classes/class_Rogue_V1a5AKCLe8qtoPlA.json index a4414e57..6a3021ca 100644 --- a/src/packs/classes/class_Rogue_V1a5AKCLe8qtoPlA.json +++ b/src/packs/classes/class_Rogue_V1a5AKCLe8qtoPlA.json @@ -1,62 +1,98 @@ { - "name": "Rogue", - "type": "class", - "_id": "V1a5AKCLe8qtoPlA", - "img": "systems/daggerheart/assets/icons/classes/rogue.png", - "system": { - "domains": [], - "classItems": [], - "damageThresholds": { - "minor": 0, - "major": 0, - "severe": 0 - }, - "evasion": 0, - "features": [], - "subclasses": [], - "inventory": { - "take": [], - "choiceA": [], - "choiceB": [], - "extra": null - }, - "characterGuide": { - "suggestedTraits": { - "agility": 0, - "strength": 0, - "finesse": 0, - "instinct": 0, - "presence": 0, - "knowledge": 0 - }, - "suggestedPrimaryWeapon": null, - "suggestedSecondaryWeapon": null, - "suggestedArmor": null, - "characterDescription": {}, - "backgroundQuestions": ["", "", ""], - "connections": ["", "", ""] - }, - "multiclass": null, + "name": "Rogue", + "type": "class", + "_id": "V1a5AKCLe8qtoPlA", + "img": "systems/daggerheart/assets/icons/classes/rogue.png", + "system": { + "domains": [ + "midnight", + "grace" + ], + "classItems": [], + "damageThresholds": { + "minor": 0, + "major": 0, + "severe": 0 + }, + "evasion": 12, + "features": [ + { + "name": "Rogue’s Dodge", + "img": "icons/svg/item-bag.svg", + "uuid": "Compendium.daggerheart.class-features.Item.fPGn9JNV24nt1G9d" + }, + { + "name": "Cloaked", + "img": "icons/svg/item-bag.svg", + "uuid": "Compendium.daggerheart.class-features.Item.TpaoHSJ3npjWiBOf" + }, + { + "img": "icons/svg/item-bag.svg", + "name": "Sneak Attack", + "uuid": "Compendium.daggerheart.class-features.Item.PhHOmsoYUDC42by6" + } + ], + "subclasses": [], + "inventory": { + "take": [], + "choiceA": [], + "choiceB": [], + "extra": { + "title": "", "description": "" + } }, - "effects": [], - "folder": null, - "sort": 0, - "ownership": { - "default": 0, - "NqO2eQGMjrvUO6v9": 3 + "characterGuide": { + "suggestedTraits": { + "agility": 1, + "strength": -1, + "finesse": 2, + "instinct": 0, + "presence": 1, + "knowledge": 0 + }, + "suggestedPrimaryWeapon": null, + "suggestedSecondaryWeapon": null, + "suggestedArmor": null, + "characterDescription": { + "clothes": "", + "eyes": "", + "body": "", + "color": "", + "attitude": "" + }, + "backgroundQuestions": [ + "What did you get caught doing that got you exiled from your home community?", + "You used to have a different life, but you’ve tried to leave it behind. Who from your past is still chasing you?", + "Who from your past were you most sad to say goodbye to?" + ], + "connections": [ + "What did I recently convince you to do that got us both in trouble?", + "What have I discovered about your past that I hold secret from the others?", + "Who do you know from my past, and how have they influenced your feelings about me?" + ] }, - "flags": {}, - "_stats": { - "compendiumSource": null, - "duplicateSource": null, - "exportSource": null, - "coreVersion": "13.344", - "systemId": "daggerheart", - "systemVersion": "0.0.1", - "createdTime": 1747946902620, - "modifiedTime": 1747946906032, - "lastModifiedBy": "NqO2eQGMjrvUO6v9" - }, - "_key": "!items!V1a5AKCLe8qtoPlA" + "multiclass": null, + "description": "" + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "NqO2eQGMjrvUO6v9": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1747946902620, + "modifiedTime": 1748032307699, + "lastModifiedBy": "ei8OkswTzyDp4IGC" + }, + "_key": "!items!V1a5AKCLe8qtoPlA" } diff --git a/src/packs/classes/class_Seraph_qW7yLIe87vd5bbto.json b/src/packs/classes/class_Seraph_qW7yLIe87vd5bbto.json index 4b14c456..c16b086c 100644 --- a/src/packs/classes/class_Seraph_qW7yLIe87vd5bbto.json +++ b/src/packs/classes/class_Seraph_qW7yLIe87vd5bbto.json @@ -1,62 +1,93 @@ { - "name": "Seraph", - "type": "class", - "_id": "qW7yLIe87vd5bbto", - "img": "systems/daggerheart/assets/icons/classes/seraph.png", - "system": { - "domains": [], - "classItems": [], - "damageThresholds": { - "minor": 0, - "major": 0, - "severe": 0 - }, - "evasion": 0, - "features": [], - "subclasses": [], - "inventory": { - "take": [], - "choiceA": [], - "choiceB": [], - "extra": null - }, - "characterGuide": { - "suggestedTraits": { - "agility": 0, - "strength": 0, - "finesse": 0, - "instinct": 0, - "presence": 0, - "knowledge": 0 - }, - "suggestedPrimaryWeapon": null, - "suggestedSecondaryWeapon": null, - "suggestedArmor": null, - "characterDescription": {}, - "backgroundQuestions": ["", "", ""], - "connections": ["", "", ""] - }, - "multiclass": null, + "name": "Seraph", + "type": "class", + "_id": "qW7yLIe87vd5bbto", + "img": "systems/daggerheart/assets/icons/classes/seraph.png", + "system": { + "domains": [ + "splendor", + "valor" + ], + "classItems": [], + "damageThresholds": { + "minor": 0, + "major": 0, + "severe": 0 + }, + "evasion": 9, + "features": [ + { + "name": "Life Support", + "img": "icons/svg/item-bag.svg", + "uuid": "Compendium.daggerheart.class-features.Item.UZ9UjZArSJh6UHXG" + }, + { + "img": "icons/svg/item-bag.svg", + "name": "Prayer Dice", + "uuid": "Compendium.daggerheart.class-features.Item.jXfGnLnU8PswJYJd" + } + ], + "subclasses": [], + "inventory": { + "take": [], + "choiceA": [], + "choiceB": [], + "extra": { + "title": "", "description": "" + } }, - "effects": [], - "folder": null, - "sort": 0, - "ownership": { - "default": 0, - "NqO2eQGMjrvUO6v9": 3 + "characterGuide": { + "suggestedTraits": { + "agility": 0, + "strength": 2, + "finesse": 0, + "instinct": 1, + "presence": 1, + "knowledge": -1 + }, + "suggestedPrimaryWeapon": null, + "suggestedSecondaryWeapon": null, + "suggestedArmor": null, + "characterDescription": { + "clothes": "", + "eyes": "", + "body": "", + "color": "", + "attitude": "" + }, + "backgroundQuestions": [ + "Which god did you devote yourself to? What incredible feat did they perform for you in a moment of desperation?", + "How did your appearance change after taking your oath?", + "In what strange or unique way do you communicate with your god?" + ], + "connections": [ + "What promise did you make me agree to, should you die on the battlefield?", + "Why do you ask me so many questions about my god?", + "You’ve told me to protect one member of our party above all others, even yourself. Who are they and why?" + ] }, - "flags": {}, - "_stats": { - "compendiumSource": null, - "duplicateSource": null, - "exportSource": null, - "coreVersion": "13.344", - "systemId": "daggerheart", - "systemVersion": "0.0.1", - "createdTime": 1747946916585, - "modifiedTime": 1747946919635, - "lastModifiedBy": "NqO2eQGMjrvUO6v9" - }, - "_key": "!items!qW7yLIe87vd5bbto" + "multiclass": null, + "description": "" + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "NqO2eQGMjrvUO6v9": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1747946916585, + "modifiedTime": 1748033639820, + "lastModifiedBy": "ei8OkswTzyDp4IGC" + }, + "_key": "!items!qW7yLIe87vd5bbto" } diff --git a/src/packs/classes/class_Sorcerer_aacMxI9mOTmLO4cj.json b/src/packs/classes/class_Sorcerer_aacMxI9mOTmLO4cj.json index f4dbe534..4ff8cc29 100644 --- a/src/packs/classes/class_Sorcerer_aacMxI9mOTmLO4cj.json +++ b/src/packs/classes/class_Sorcerer_aacMxI9mOTmLO4cj.json @@ -1,62 +1,103 @@ { - "name": "Sorcerer", - "type": "class", - "_id": "aacMxI9mOTmLO4cj", - "img": "systems/daggerheart/assets/icons/classes/sorcerer.png", - "system": { - "domains": [], - "classItems": [], - "damageThresholds": { - "minor": 0, - "major": 0, - "severe": 0 - }, - "evasion": 0, - "features": [], - "subclasses": [], - "inventory": { - "take": [], - "choiceA": [], - "choiceB": [], - "extra": null - }, - "characterGuide": { - "suggestedTraits": { - "agility": 0, - "strength": 0, - "finesse": 0, - "instinct": 0, - "presence": 0, - "knowledge": 0 - }, - "suggestedPrimaryWeapon": null, - "suggestedSecondaryWeapon": null, - "suggestedArmor": null, - "characterDescription": {}, - "backgroundQuestions": ["", "", ""], - "connections": ["", "", ""] - }, - "multiclass": null, + "name": "Sorcerer", + "type": "class", + "_id": "aacMxI9mOTmLO4cj", + "img": "systems/daggerheart/assets/icons/classes/sorcerer.png", + "system": { + "domains": [ + "arcana", + "midnight" + ], + "classItems": [], + "damageThresholds": { + "minor": 0, + "major": 0, + "severe": 0 + }, + "evasion": 10, + "features": [ + { + "name": "Volatile Magic", + "img": "icons/svg/item-bag.svg", + "uuid": "Compendium.daggerheart.class-features.Item.J3TdB5ZsmyJ68rxZ" + }, + { + "name": "Arcane Sense", + "img": "icons/svg/item-bag.svg", + "uuid": "Compendium.daggerheart.class-features.Item.D5HUGwdizhBVZ0RW" + }, + { + "name": "Minor Illusion", + "img": "icons/svg/item-bag.svg", + "uuid": "Compendium.daggerheart.class-features.Item.qFq7kynAZhbWTbT5" + }, + { + "img": "icons/svg/item-bag.svg", + "name": "Channel Raw Power", + "uuid": "Compendium.daggerheart.class-features.Item.ovxuqhl01XZSwx2n" + } + ], + "subclasses": [], + "inventory": { + "take": [], + "choiceA": [], + "choiceB": [], + "extra": { + "title": "", "description": "" + } }, - "effects": [], - "folder": null, - "sort": 0, - "ownership": { - "default": 0, - "NqO2eQGMjrvUO6v9": 3 + "characterGuide": { + "suggestedTraits": { + "agility": 0, + "strength": -1, + "finesse": 1, + "instinct": 2, + "presence": 1, + "knowledge": 0 + }, + "suggestedPrimaryWeapon": null, + "suggestedSecondaryWeapon": null, + "suggestedArmor": null, + "characterDescription": { + "clothes": "", + "eyes": "", + "body": "", + "color": "", + "attitude": "" + }, + "backgroundQuestions": [ + "What did you do that made the people in your community wary of you?", + "What mentor taught you to control your untamed magic, and why are they no longer able to guide you?", + "You have a deep fear you hide from everyone. What is it, and why does it scare you?" + ], + "connections": [ + "Why do you trust me so deeply?", + "What did I do that makes you cautious around me?", + "Why do we keep our shared past a secret?" + ] }, - "flags": {}, - "_stats": { - "compendiumSource": null, - "duplicateSource": null, - "exportSource": null, - "coreVersion": "13.344", - "systemId": "daggerheart", - "systemVersion": "0.0.1", - "createdTime": 1747946940010, - "modifiedTime": 1747946943869, - "lastModifiedBy": "NqO2eQGMjrvUO6v9" - }, - "_key": "!items!aacMxI9mOTmLO4cj" + "multiclass": null, + "description": "" + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "NqO2eQGMjrvUO6v9": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1747946940010, + "modifiedTime": 1748033881134, + "lastModifiedBy": "ei8OkswTzyDp4IGC" + }, + "_key": "!items!aacMxI9mOTmLO4cj" } diff --git a/src/packs/classes/class_Warlock_kSSIqmgxFTm1Xr9s.json b/src/packs/classes/class_Warlock_kSSIqmgxFTm1Xr9s.json index 7efe26f8..0f4cd617 100644 --- a/src/packs/classes/class_Warlock_kSSIqmgxFTm1Xr9s.json +++ b/src/packs/classes/class_Warlock_kSSIqmgxFTm1Xr9s.json @@ -1,62 +1,70 @@ { - "name": "Warlock", - "type": "class", - "_id": "kSSIqmgxFTm1Xr9s", - "img": "systems/daggerheart/assets/icons/classes/warlock.png", - "system": { - "domains": [], - "classItems": [], - "damageThresholds": { - "minor": 0, - "major": 0, - "severe": 0 - }, - "evasion": 0, - "features": [], - "subclasses": [], - "inventory": { - "take": [], - "choiceA": [], - "choiceB": [], - "extra": null - }, - "characterGuide": { - "suggestedTraits": { - "agility": 0, - "strength": 0, - "finesse": 0, - "instinct": 0, - "presence": 0, - "knowledge": 0 - }, - "suggestedPrimaryWeapon": null, - "suggestedSecondaryWeapon": null, - "suggestedArmor": null, - "characterDescription": {}, - "backgroundQuestions": ["", "", ""], - "connections": ["", "", ""] - }, - "multiclass": null, - "description": "" + "name": "Warlock", + "type": "class", + "_id": "kSSIqmgxFTm1Xr9s", + "img": "systems/daggerheart/assets/icons/classes/warlock.png", + "system": { + "domains": [], + "classItems": [], + "damageThresholds": { + "minor": 0, + "major": 0, + "severe": 0 }, - "effects": [], - "folder": null, - "sort": 0, - "ownership": { - "default": 0, - "NqO2eQGMjrvUO6v9": 3 + "evasion": 0, + "features": [], + "subclasses": [], + "inventory": { + "take": [], + "choiceA": [], + "choiceB": [], + "extra": null }, - "flags": {}, - "_stats": { - "compendiumSource": null, - "duplicateSource": null, - "exportSource": null, - "coreVersion": "13.344", - "systemId": "daggerheart", - "systemVersion": "0.0.1", - "createdTime": 1747946952119, - "modifiedTime": 1747946955843, - "lastModifiedBy": "NqO2eQGMjrvUO6v9" + "characterGuide": { + "suggestedTraits": { + "agility": 0, + "strength": 0, + "finesse": 0, + "instinct": 0, + "presence": 0, + "knowledge": 0 + }, + "suggestedPrimaryWeapon": null, + "suggestedSecondaryWeapon": null, + "suggestedArmor": null, + "characterDescription": {}, + "backgroundQuestions": [ + "", + "", + "" + ], + "connections": [ + "", + "", + "" + ] }, - "_key": "!items!kSSIqmgxFTm1Xr9s" + "multiclass": null, + "description": "" + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "NqO2eQGMjrvUO6v9": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1747946952119, + "modifiedTime": 1747946955843, + "lastModifiedBy": "NqO2eQGMjrvUO6v9" + }, + "_key": "!items!kSSIqmgxFTm1Xr9s" } diff --git a/src/packs/classes/class_Warrior_ishqAXCT8xLgEbBp.json b/src/packs/classes/class_Warrior_ishqAXCT8xLgEbBp.json index 0a727140..ef801938 100644 --- a/src/packs/classes/class_Warrior_ishqAXCT8xLgEbBp.json +++ b/src/packs/classes/class_Warrior_ishqAXCT8xLgEbBp.json @@ -1,62 +1,98 @@ { - "name": "Warrior", - "type": "class", - "_id": "ishqAXCT8xLgEbBp", - "img": "systems/daggerheart/assets/icons/classes/warrior.png", - "system": { - "domains": [], - "classItems": [], - "damageThresholds": { - "minor": 0, - "major": 0, - "severe": 0 - }, - "evasion": 0, - "features": [], - "subclasses": [], - "inventory": { - "take": [], - "choiceA": [], - "choiceB": [], - "extra": null - }, - "characterGuide": { - "suggestedTraits": { - "agility": 0, - "strength": 0, - "finesse": 0, - "instinct": 0, - "presence": 0, - "knowledge": 0 - }, - "suggestedPrimaryWeapon": null, - "suggestedSecondaryWeapon": null, - "suggestedArmor": null, - "characterDescription": {}, - "backgroundQuestions": ["", "", ""], - "connections": ["", "", ""] - }, - "multiclass": null, + "name": "Warrior", + "type": "class", + "_id": "ishqAXCT8xLgEbBp", + "img": "systems/daggerheart/assets/icons/classes/warrior.png", + "system": { + "domains": [ + "blade", + "bone" + ], + "classItems": [], + "damageThresholds": { + "minor": 0, + "major": 0, + "severe": 0 + }, + "evasion": 11, + "features": [ + { + "name": "No Mercy", + "img": "icons/svg/item-bag.svg", + "uuid": "Compendium.daggerheart.class-features.Item.t3tLoq4h9wgQD7E9" + }, + { + "name": "Attack of Opportunity", + "img": "icons/svg/item-bag.svg", + "uuid": "Compendium.daggerheart.class-features.Item.VfUbJwGU4Cka0xLP" + }, + { + "img": "icons/svg/item-bag.svg", + "name": "Combat Training", + "uuid": "Compendium.daggerheart.class-features.Item.elb6ZVertgu6OdKA" + } + ], + "subclasses": [], + "inventory": { + "take": [], + "choiceA": [], + "choiceB": [], + "extra": { + "title": "", "description": "" + } }, - "effects": [], - "folder": null, - "sort": 0, - "ownership": { - "default": 0, - "NqO2eQGMjrvUO6v9": 3 + "characterGuide": { + "suggestedTraits": { + "agility": 2, + "strength": 1, + "finesse": 0, + "instinct": 1, + "presence": -1, + "knowledge": 0 + }, + "suggestedPrimaryWeapon": null, + "suggestedSecondaryWeapon": null, + "suggestedArmor": null, + "characterDescription": { + "clothes": "", + "eyes": "", + "body": "", + "color": "", + "attitude": "" + }, + "backgroundQuestions": [ + "Who taught you to fight, and why did they stay behind when you left home?", + "Somebody defeated you in battle years ago and left you to die. Who was it, and how did they betray you?", + "What legendary place have you always wanted to visit, and why is it so special?" + ], + "connections": [ + "We knew each other long before this party came together. How?", + "What mundane task do you usually help me with off the battlefield", + "What fear am I helping you overcome?" + ] }, - "flags": {}, - "_stats": { - "compendiumSource": null, - "duplicateSource": null, - "exportSource": null, - "coreVersion": "13.344", - "systemId": "daggerheart", - "systemVersion": "0.0.1", - "createdTime": 1747946965065, - "modifiedTime": 1747946967544, - "lastModifiedBy": "NqO2eQGMjrvUO6v9" - }, - "_key": "!items!ishqAXCT8xLgEbBp" + "multiclass": null, + "description": "" + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "NqO2eQGMjrvUO6v9": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1747946965065, + "modifiedTime": 1748034254542, + "lastModifiedBy": "ei8OkswTzyDp4IGC" + }, + "_key": "!items!ishqAXCT8xLgEbBp" } diff --git a/src/packs/classes/class_Wizard_uhj2mZPOC8nbIMTy.json b/src/packs/classes/class_Wizard_uhj2mZPOC8nbIMTy.json index 01366b68..c784eaae 100644 --- a/src/packs/classes/class_Wizard_uhj2mZPOC8nbIMTy.json +++ b/src/packs/classes/class_Wizard_uhj2mZPOC8nbIMTy.json @@ -1,62 +1,98 @@ { - "name": "Wizard", - "type": "class", - "_id": "uhj2mZPOC8nbIMTy", - "img": "systems/daggerheart/assets/icons/classes/wizard.png", - "system": { - "domains": [], - "classItems": [], - "damageThresholds": { - "minor": 0, - "major": 0, - "severe": 0 - }, - "evasion": 0, - "features": [], - "subclasses": [], - "inventory": { - "take": [], - "choiceA": [], - "choiceB": [], - "extra": null - }, - "characterGuide": { - "suggestedTraits": { - "agility": 0, - "strength": 0, - "finesse": 0, - "instinct": 0, - "presence": 0, - "knowledge": 0 - }, - "suggestedPrimaryWeapon": null, - "suggestedSecondaryWeapon": null, - "suggestedArmor": null, - "characterDescription": {}, - "backgroundQuestions": ["", "", ""], - "connections": ["", "", ""] - }, - "multiclass": null, + "name": "Wizard", + "type": "class", + "_id": "uhj2mZPOC8nbIMTy", + "img": "systems/daggerheart/assets/icons/classes/wizard.png", + "system": { + "domains": [ + "codex", + "splendor" + ], + "classItems": [], + "damageThresholds": { + "minor": 0, + "major": 0, + "severe": 0 + }, + "evasion": 11, + "features": [ + { + "name": "Not This Time", + "img": "icons/svg/item-bag.svg", + "uuid": "Compendium.daggerheart.class-features.Item.5msGbQyFwdwdFdYs" + }, + { + "name": "Prestidigitation", + "img": "icons/svg/item-bag.svg", + "uuid": "Compendium.daggerheart.class-features.Item.ofBmJIn6NWxA0wPz" + }, + { + "img": "icons/svg/item-bag.svg", + "name": "Strange Patterns", + "uuid": "Compendium.daggerheart.class-features.Item.ONtJ7r2g6tN5q6Ga" + } + ], + "subclasses": [], + "inventory": { + "take": [], + "choiceA": [], + "choiceB": [], + "extra": { + "title": "", "description": "" + } }, - "effects": [], - "folder": null, - "sort": 0, - "ownership": { - "default": 0, - "NqO2eQGMjrvUO6v9": 3 + "characterGuide": { + "suggestedTraits": { + "agility": -1, + "strength": 0, + "finesse": 0, + "instinct": 1, + "presence": 1, + "knowledge": 2 + }, + "suggestedPrimaryWeapon": null, + "suggestedSecondaryWeapon": null, + "suggestedArmor": null, + "characterDescription": { + "clothes": "", + "eyes": "", + "body": "", + "color": "", + "attitude": "" + }, + "backgroundQuestions": [ + "What responsibilities did your community once count on you for? How did you let them down?", + "You’ve spent your life searching for a book or object of great significance. What is it, and why is it so important to you", + "You have a powerful rival. Who are they, and why are you so determined to defeat them?" + ], + "connections": [ + "What favor have I asked of you that you’re not sure you can fulfill?", + "What weird hobby or strange fascination do we both share?", + "What secret about yourself have you entrusted only to me?" + ] }, - "flags": {}, - "_stats": { - "compendiumSource": null, - "duplicateSource": null, - "exportSource": null, - "coreVersion": "13.344", - "systemId": "daggerheart", - "systemVersion": "0.0.1", - "createdTime": 1747946791380, - "modifiedTime": 1747946799247, - "lastModifiedBy": "NqO2eQGMjrvUO6v9" - }, - "_key": "!items!uhj2mZPOC8nbIMTy" + "multiclass": null, + "description": "" + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "NqO2eQGMjrvUO6v9": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1747946791380, + "modifiedTime": 1748035008107, + "lastModifiedBy": "ei8OkswTzyDp4IGC" + }, + "_key": "!items!uhj2mZPOC8nbIMTy" } diff --git a/src/packs/communities/community_Highborne_8AcV556QwoIzkkea.json b/src/packs/communities/community_Highborne_8AcV556QwoIzkkea.json index 252ccdbf..f37d81f5 100644 --- a/src/packs/communities/community_Highborne_8AcV556QwoIzkkea.json +++ b/src/packs/communities/community_Highborne_8AcV556QwoIzkkea.json @@ -1,36 +1,36 @@ { - "name": "Highborne", - "type": "community", - "_id": "8AcV556QwoIzkkea", - "img": "systems/daggerheart/assets/icons/communities/highborne.png", - "system": { - "description": "

Being part of a highborne community means you're accustomed to life of elegance, opulence, and prestige within the upper echelons of society. Traditionally, members of a highborne community possess incredible material wealth. While this can take a variety of forms depending on the community—including gold and other minerals, land, or controlling the means of production—this status always comes with power and influence. Highborne place great value on titles and possessions, and there is little social mobility within their ranks. Members of a highborne community often control the political and economic status of the areas in which they live due to their ability to influence people and the economy with their substantial wealth. The health and safety of the less affluent people who live in these locations often hinges on the ability of this highborne ruling class to prioritize the well-being of their subjects over profit.

Highborne are often amiable, candid, conniving, enterprising, ostentatious, and unflappable.

", - "abilities": [ - { - "img": "icons/svg/item-bag.svg", - "name": "Privilege", - "uuid": "Compendium.world.community-features.Item.WoMZCTnDcK8GPSh1" - } - ] - }, - "effects": [], - "folder": null, - "sort": 0, - "ownership": { - "default": 0, - "NqO2eQGMjrvUO6v9": 3 - }, - "flags": {}, - "_stats": { - "compendiumSource": null, - "duplicateSource": null, - "exportSource": null, - "coreVersion": "13.344", - "systemId": "daggerheart", - "systemVersion": "0.0.1", - "createdTime": 1747940320728, - "modifiedTime": 1747990568291, - "lastModifiedBy": "NqO2eQGMjrvUO6v9" - }, - "_key": "!items!8AcV556QwoIzkkea" + "name": "Highborne", + "type": "community", + "_id": "8AcV556QwoIzkkea", + "img": "systems/daggerheart/assets/icons/communities/highborne.png", + "system": { + "description": "

Being part of a highborne community means you're accustomed to life of elegance, opulence, and prestige within the upper echelons of society. Traditionally, members of a highborne community possess incredible material wealth. While this can take a variety of forms depending on the community—including gold and other minerals, land, or controlling the means of production—this status always comes with power and influence. Highborne place great value on titles and possessions, and there is little social mobility within their ranks. Members of a highborne community often control the political and economic status of the areas in which they live due to their ability to influence people and the economy with their substantial wealth. The health and safety of the less affluent people who live in these locations often hinges on the ability of this highborne ruling class to prioritize the well-being of their subjects over profit.

Highborne are often amiable, candid, conniving, enterprising, ostentatious, and unflappable.

", + "abilities": [ + { + "img": "icons/svg/item-bag.svg", + "name": "Privilege", + "uuid": "Compendium.world.community-features.Item.WoMZCTnDcK8GPSh1" + } + ] + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "NqO2eQGMjrvUO6v9": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1747940320728, + "modifiedTime": 1747990568291, + "lastModifiedBy": "NqO2eQGMjrvUO6v9" + }, + "_key": "!items!8AcV556QwoIzkkea" } diff --git a/src/packs/communities/community_Loreborne_fgJHuCdoyXX4Q84O.json b/src/packs/communities/community_Loreborne_fgJHuCdoyXX4Q84O.json index eeceb3b3..b6132b3f 100644 --- a/src/packs/communities/community_Loreborne_fgJHuCdoyXX4Q84O.json +++ b/src/packs/communities/community_Loreborne_fgJHuCdoyXX4Q84O.json @@ -1,36 +1,36 @@ { - "name": "Loreborne", - "type": "community", - "_id": "fgJHuCdoyXX4Q84O", - "img": "systems/daggerheart/assets/icons/communities/loreborne.png", - "system": { - "description": "

Being part of a loreborne community means you’re from a society that favors strong academic or political prowess. Loreborne communities highly value knowledge, frequently in the form of historical preservation, political advancement, scientific study, skill development, or lore and mythology compilation. Most members of these communities research in institutions built in bastions of civilization, while some eclectic few thrive in gathering information from the natural world. Some may be isolationists, operating in smaller enclaves, schools, or guilds and following their own unique ethos. Others still wield their knowledge on a larger scale, making deft political maneuvers across governmental landscapes.

Loreborne are often direct, eloquent, inquisitive, patient,

rhapsodic, and witty.

", - "abilities": [ - { - "img": "icons/svg/item-bag.svg", - "name": "Well-Read", - "uuid": "Compendium.world.community-features.Item.MUfVlf8hoJ3HZidv" - } - ] - }, - "effects": [], - "folder": null, - "sort": 0, - "ownership": { - "default": 0, - "NqO2eQGMjrvUO6v9": 3 - }, - "flags": {}, - "_stats": { - "compendiumSource": null, - "duplicateSource": null, - "exportSource": null, - "coreVersion": "13.344", - "systemId": "daggerheart", - "systemVersion": "0.0.1", - "createdTime": 1747940300210, - "modifiedTime": 1747990671092, - "lastModifiedBy": "NqO2eQGMjrvUO6v9" - }, - "_key": "!items!fgJHuCdoyXX4Q84O" + "name": "Loreborne", + "type": "community", + "_id": "fgJHuCdoyXX4Q84O", + "img": "systems/daggerheart/assets/icons/communities/loreborne.png", + "system": { + "description": "

Being part of a loreborne community means you’re from a society that favors strong academic or political prowess. Loreborne communities highly value knowledge, frequently in the form of historical preservation, political advancement, scientific study, skill development, or lore and mythology compilation. Most members of these communities research in institutions built in bastions of civilization, while some eclectic few thrive in gathering information from the natural world. Some may be isolationists, operating in smaller enclaves, schools, or guilds and following their own unique ethos. Others still wield their knowledge on a larger scale, making deft political maneuvers across governmental landscapes.

Loreborne are often direct, eloquent, inquisitive, patient,

rhapsodic, and witty.

", + "abilities": [ + { + "img": "icons/svg/item-bag.svg", + "name": "Well-Read", + "uuid": "Compendium.world.community-features.Item.MUfVlf8hoJ3HZidv" + } + ] + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "NqO2eQGMjrvUO6v9": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1747940300210, + "modifiedTime": 1747990671092, + "lastModifiedBy": "NqO2eQGMjrvUO6v9" + }, + "_key": "!items!fgJHuCdoyXX4Q84O" } diff --git a/src/packs/communities/community_Orderborne_Cg39GoSa6lxhXndW.json b/src/packs/communities/community_Orderborne_Cg39GoSa6lxhXndW.json index 5d0011d2..01936248 100644 --- a/src/packs/communities/community_Orderborne_Cg39GoSa6lxhXndW.json +++ b/src/packs/communities/community_Orderborne_Cg39GoSa6lxhXndW.json @@ -1,36 +1,36 @@ { - "name": "Orderborne", - "type": "community", - "_id": "Cg39GoSa6lxhXndW", - "img": "systems/daggerheart/assets/icons/communities/orderborne.png", - "system": { - "description": "

Being part of an orderborne community means you’re from a collective that focuses on discipline or faith, and you uphold a set of principles that reflect your experience there. Orderborne are frequently some of the most powerful among the surrounding communities.

By aligning the members of their society around a common value or goal, such as a god, doctrine, ethos, or even a shared business or trade, the ruling bodies of these enclaves are able to mobilize larger populations with less effort.

While orderborne communities take a variety of forms—some even profoundly pacifistic—perhaps the most feared are those that structure themselves around military prowess. In such a case, it’s not uncommon for orderborne to provide soldiers for hire to other cities or countries.

Orderborne are often ambitious, benevolent, pensive, prudent, sardonic, and stoic.

", - "abilities": [ - { - "img": "icons/svg/item-bag.svg", - "name": "Dedicated", - "uuid": "Compendium.world.community-features.Item.b7LmL7ti1gL5kfGq" - } - ] - }, - "effects": [], - "folder": null, - "sort": 0, - "ownership": { - "default": 0, - "NqO2eQGMjrvUO6v9": 3 - }, - "flags": {}, - "_stats": { - "compendiumSource": null, - "duplicateSource": null, - "exportSource": null, - "coreVersion": "13.344", - "systemId": "daggerheart", - "systemVersion": "0.0.1", - "createdTime": 1747940332147, - "modifiedTime": 1747990820386, - "lastModifiedBy": "NqO2eQGMjrvUO6v9" - }, - "_key": "!items!Cg39GoSa6lxhXndW" + "name": "Orderborne", + "type": "community", + "_id": "Cg39GoSa6lxhXndW", + "img": "systems/daggerheart/assets/icons/communities/orderborne.png", + "system": { + "description": "

Being part of an orderborne community means you’re from a collective that focuses on discipline or faith, and you uphold a set of principles that reflect your experience there. Orderborne are frequently some of the most powerful among the surrounding communities.

By aligning the members of their society around a common value or goal, such as a god, doctrine, ethos, or even a shared business or trade, the ruling bodies of these enclaves are able to mobilize larger populations with less effort.

While orderborne communities take a variety of forms—some even profoundly pacifistic—perhaps the most feared are those that structure themselves around military prowess. In such a case, it’s not uncommon for orderborne to provide soldiers for hire to other cities or countries.

Orderborne are often ambitious, benevolent, pensive, prudent, sardonic, and stoic.

", + "abilities": [ + { + "img": "icons/svg/item-bag.svg", + "name": "Dedicated", + "uuid": "Compendium.world.community-features.Item.b7LmL7ti1gL5kfGq" + } + ] + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "NqO2eQGMjrvUO6v9": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1747940332147, + "modifiedTime": 1747990820386, + "lastModifiedBy": "NqO2eQGMjrvUO6v9" + }, + "_key": "!items!Cg39GoSa6lxhXndW" } diff --git a/src/packs/communities/community_Ridgeborne_DAQoNvVlc9w7NmZd.json b/src/packs/communities/community_Ridgeborne_DAQoNvVlc9w7NmZd.json index a3e5e769..39ef2693 100644 --- a/src/packs/communities/community_Ridgeborne_DAQoNvVlc9w7NmZd.json +++ b/src/packs/communities/community_Ridgeborne_DAQoNvVlc9w7NmZd.json @@ -1,36 +1,36 @@ { - "name": "Ridgeborne", - "type": "community", - "_id": "DAQoNvVlc9w7NmZd", - "img": "systems/daggerheart/assets/icons/communities/ridgeborne.png", - "system": { - "description": "

Being part of a ridgeborne community means you’ve called the rocky peaks and sharp cliffs of the mountainside home. Those who’ve lived in the mountains often consider themselves hardier than most because they’ve thrived among the most dangerous terrain many continents have to offer. These groups are adept at adaptation, developing unique technologies and equipment to move both people and products across difficult terrain. As such, ridgeborne grow up scrambling and climbing, making them sturdy and strong-willed. Ridgeborne localities appear in a variety of forms—some cities carve out entire cliff faces, others construct castles of stone, and still more live in small homes on windblown peaks. Outside forces often struggle to attack ridgeborne groups, as the small militias and large military forces of the mountains are adept at utilizing their high-ground advantage.

Ridgeborne are often bold, hardy, indomitable, loyal, reserved, and stubborn.

", - "abilities": [ - { - "img": "icons/svg/item-bag.svg", - "name": "Steady", - "uuid": "Compendium.world.community-features.Item.hKGv54dst9crq3Sw" - } - ] - }, - "effects": [], - "folder": null, - "sort": 0, - "ownership": { - "default": 0, - "NqO2eQGMjrvUO6v9": 3 - }, - "flags": {}, - "_stats": { - "compendiumSource": null, - "duplicateSource": null, - "exportSource": null, - "coreVersion": "13.344", - "systemId": "daggerheart", - "systemVersion": "0.0.1", - "createdTime": 1747940346633, - "modifiedTime": 1747990891669, - "lastModifiedBy": "NqO2eQGMjrvUO6v9" - }, - "_key": "!items!DAQoNvVlc9w7NmZd" + "name": "Ridgeborne", + "type": "community", + "_id": "DAQoNvVlc9w7NmZd", + "img": "systems/daggerheart/assets/icons/communities/ridgeborne.png", + "system": { + "description": "

Being part of a ridgeborne community means you’ve called the rocky peaks and sharp cliffs of the mountainside home. Those who’ve lived in the mountains often consider themselves hardier than most because they’ve thrived among the most dangerous terrain many continents have to offer. These groups are adept at adaptation, developing unique technologies and equipment to move both people and products across difficult terrain. As such, ridgeborne grow up scrambling and climbing, making them sturdy and strong-willed. Ridgeborne localities appear in a variety of forms—some cities carve out entire cliff faces, others construct castles of stone, and still more live in small homes on windblown peaks. Outside forces often struggle to attack ridgeborne groups, as the small militias and large military forces of the mountains are adept at utilizing their high-ground advantage.

Ridgeborne are often bold, hardy, indomitable, loyal, reserved, and stubborn.

", + "abilities": [ + { + "img": "icons/svg/item-bag.svg", + "name": "Steady", + "uuid": "Compendium.world.community-features.Item.hKGv54dst9crq3Sw" + } + ] + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "NqO2eQGMjrvUO6v9": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1747940346633, + "modifiedTime": 1747990891669, + "lastModifiedBy": "NqO2eQGMjrvUO6v9" + }, + "_key": "!items!DAQoNvVlc9w7NmZd" } diff --git a/src/packs/communities/community_Seaborne_ivrXToGxyuVdqZtG.json b/src/packs/communities/community_Seaborne_ivrXToGxyuVdqZtG.json index ebebca78..a2c10f39 100644 --- a/src/packs/communities/community_Seaborne_ivrXToGxyuVdqZtG.json +++ b/src/packs/communities/community_Seaborne_ivrXToGxyuVdqZtG.json @@ -1,36 +1,36 @@ { - "name": "Seaborne", - "type": "community", - "_id": "ivrXToGxyuVdqZtG", - "img": "systems/daggerheart/assets/icons/communities/seaborne.png", - "system": { - "description": "

Being part of a seaborne community means you lived on or near a large body of water. Seaborne communities are built, both physically and culturally, around the specific waters they call home.

Some of these groups live along the shore, constructing ports for locals and travelers alike. These harbors function as centers of commerce, tourist attractions, or even just a safe place to lay down one’s head after weeks of travel. Other seaborne live on the water in small boats or large ships, with the idea of “home” comprising a ship and its crew, rather than any one landmass.

No matter their exact location, seaborne communities are closely tied to the ocean tides and the creatures who inhabit them. Seaborne learn to fish at a young age, and train from birth to hold their breath and swim in even the most tumultuous waters. Individuals from these groups are highly sought after for their sailing skills, and many become captains of vessels, whether within their own community, working for another, or even at the helm of a powerful naval operation.

Seaborne are often candid, cooperative, exuberant, fierce, resolute, and weathered.

", - "abilities": [ - { - "img": "icons/svg/item-bag.svg", - "name": "Know the Tide", - "uuid": "Compendium.world.community-features.Item.coBcBEFpXgtxD1Jt" - } - ] - }, - "effects": [], - "folder": null, - "sort": 0, - "ownership": { - "default": 0, - "NqO2eQGMjrvUO6v9": 3 - }, - "flags": {}, - "_stats": { - "compendiumSource": null, - "duplicateSource": null, - "exportSource": null, - "coreVersion": "13.344", - "systemId": "daggerheart", - "systemVersion": "0.0.1", - "createdTime": 1747940375520, - "modifiedTime": 1747990980804, - "lastModifiedBy": "NqO2eQGMjrvUO6v9" - }, - "_key": "!items!ivrXToGxyuVdqZtG" + "name": "Seaborne", + "type": "community", + "_id": "ivrXToGxyuVdqZtG", + "img": "systems/daggerheart/assets/icons/communities/seaborne.png", + "system": { + "description": "

Being part of a seaborne community means you lived on or near a large body of water. Seaborne communities are built, both physically and culturally, around the specific waters they call home.

Some of these groups live along the shore, constructing ports for locals and travelers alike. These harbors function as centers of commerce, tourist attractions, or even just a safe place to lay down one’s head after weeks of travel. Other seaborne live on the water in small boats or large ships, with the idea of “home” comprising a ship and its crew, rather than any one landmass.

No matter their exact location, seaborne communities are closely tied to the ocean tides and the creatures who inhabit them. Seaborne learn to fish at a young age, and train from birth to hold their breath and swim in even the most tumultuous waters. Individuals from these groups are highly sought after for their sailing skills, and many become captains of vessels, whether within their own community, working for another, or even at the helm of a powerful naval operation.

Seaborne are often candid, cooperative, exuberant, fierce, resolute, and weathered.

", + "abilities": [ + { + "img": "icons/svg/item-bag.svg", + "name": "Know the Tide", + "uuid": "Compendium.world.community-features.Item.coBcBEFpXgtxD1Jt" + } + ] + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "NqO2eQGMjrvUO6v9": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1747940375520, + "modifiedTime": 1747990980804, + "lastModifiedBy": "NqO2eQGMjrvUO6v9" + }, + "_key": "!items!ivrXToGxyuVdqZtG" } diff --git a/src/packs/communities/community_Slyborne_rwsUCLenOkE9CS7v.json b/src/packs/communities/community_Slyborne_rwsUCLenOkE9CS7v.json index 6f03ed3f..ae65ceed 100644 --- a/src/packs/communities/community_Slyborne_rwsUCLenOkE9CS7v.json +++ b/src/packs/communities/community_Slyborne_rwsUCLenOkE9CS7v.json @@ -1,36 +1,36 @@ { - "name": "Slyborne", - "type": "community", - "_id": "rwsUCLenOkE9CS7v", - "img": "systems/daggerheart/assets/icons/communities/slyborne.png", - "system": { - "description": "

Being part of a slyborne community means you come from a group that operates outside the law, including all manner of criminals, grifters, and con artists. Members of slyborne communities are brought together by their disreputable goals and their clever means of achieving them. Many people in these communities have an array of unscrupulous skills: forging, thievery, smuggling, and violence. People of any social class can be slyborne, from those who have garnered vast wealth and influence to those without a coin to their name. To the outside eye, slyborne might appear to be ruffians with no loyalty, but these communities possess some of the strictest codes of honor which, when broken, can result in a terrifying end for the transgressor.

Slyborne are often calculating, clever, formidable, perceptive, shrewd, and tenacious.

", - "abilities": [ - { - "img": "icons/svg/item-bag.svg", - "name": "Scoundrel", - "uuid": "Compendium.world.community-features.Item.p2PipVUiMt0Cy0ws" - } - ] - }, - "effects": [], - "folder": null, - "sort": 0, - "ownership": { - "default": 0, - "NqO2eQGMjrvUO6v9": 3 - }, - "flags": {}, - "_stats": { - "compendiumSource": null, - "duplicateSource": null, - "exportSource": null, - "coreVersion": "13.344", - "systemId": "daggerheart", - "systemVersion": "0.0.1", - "createdTime": 1747940388725, - "modifiedTime": 1747991089836, - "lastModifiedBy": "NqO2eQGMjrvUO6v9" - }, - "_key": "!items!rwsUCLenOkE9CS7v" + "name": "Slyborne", + "type": "community", + "_id": "rwsUCLenOkE9CS7v", + "img": "systems/daggerheart/assets/icons/communities/slyborne.png", + "system": { + "description": "

Being part of a slyborne community means you come from a group that operates outside the law, including all manner of criminals, grifters, and con artists. Members of slyborne communities are brought together by their disreputable goals and their clever means of achieving them. Many people in these communities have an array of unscrupulous skills: forging, thievery, smuggling, and violence. People of any social class can be slyborne, from those who have garnered vast wealth and influence to those without a coin to their name. To the outside eye, slyborne might appear to be ruffians with no loyalty, but these communities possess some of the strictest codes of honor which, when broken, can result in a terrifying end for the transgressor.

Slyborne are often calculating, clever, formidable, perceptive, shrewd, and tenacious.

", + "abilities": [ + { + "img": "icons/svg/item-bag.svg", + "name": "Scoundrel", + "uuid": "Compendium.world.community-features.Item.p2PipVUiMt0Cy0ws" + } + ] + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "NqO2eQGMjrvUO6v9": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1747940388725, + "modifiedTime": 1747991089836, + "lastModifiedBy": "NqO2eQGMjrvUO6v9" + }, + "_key": "!items!rwsUCLenOkE9CS7v" } diff --git a/src/packs/communities/community_Underborne_CXQN2zcQUIjUOx1i.json b/src/packs/communities/community_Underborne_CXQN2zcQUIjUOx1i.json index a0f99f40..ab2f3b19 100644 --- a/src/packs/communities/community_Underborne_CXQN2zcQUIjUOx1i.json +++ b/src/packs/communities/community_Underborne_CXQN2zcQUIjUOx1i.json @@ -1,36 +1,36 @@ { - "name": "Underborne", - "type": "community", - "_id": "CXQN2zcQUIjUOx1i", - "img": "systems/daggerheart/assets/icons/communities/underborne.png", - "system": { - "description": "

Being part of an underborne community means you’re from a subterranean society. Many underborne live right beneath the cities and villages of other collectives, while some live much deeper. These communities range from small family groups in burrows to massive metropolises in caverns of stone. In many locales, underborne are recognized for their incredible boldness and skill that enable great feats of architecture and engineering. Underborne are regularly hired for their bravery, as even the least daring among them has likely encountered formidable belowground beasts, and learning to dispatch such creatures is common practice amongst these societies.

Because of the dangers of their environment, many underborne communities develop unique nonverbal languages that prove equally useful on the surface.

Underborne are often composed, elusive, indomitable, innovative, resourceful, and unpretentious.

", - "abilities": [ - { - "img": "icons/svg/item-bag.svg", - "name": "Low-Light Living", - "uuid": "Compendium.world.community-features.Item.p12Le1M3DPWXa0vh" - } - ] - }, - "effects": [], - "folder": null, - "sort": 0, - "ownership": { - "default": 0, - "NqO2eQGMjrvUO6v9": 3 - }, - "flags": {}, - "_stats": { - "compendiumSource": null, - "duplicateSource": null, - "exportSource": null, - "coreVersion": "13.344", - "systemId": "daggerheart", - "systemVersion": "0.0.1", - "createdTime": 1747940403160, - "modifiedTime": 1747991158174, - "lastModifiedBy": "NqO2eQGMjrvUO6v9" - }, - "_key": "!items!CXQN2zcQUIjUOx1i" + "name": "Underborne", + "type": "community", + "_id": "CXQN2zcQUIjUOx1i", + "img": "systems/daggerheart/assets/icons/communities/underborne.png", + "system": { + "description": "

Being part of an underborne community means you’re from a subterranean society. Many underborne live right beneath the cities and villages of other collectives, while some live much deeper. These communities range from small family groups in burrows to massive metropolises in caverns of stone. In many locales, underborne are recognized for their incredible boldness and skill that enable great feats of architecture and engineering. Underborne are regularly hired for their bravery, as even the least daring among them has likely encountered formidable belowground beasts, and learning to dispatch such creatures is common practice amongst these societies.

Because of the dangers of their environment, many underborne communities develop unique nonverbal languages that prove equally useful on the surface.

Underborne are often composed, elusive, indomitable, innovative, resourceful, and unpretentious.

", + "abilities": [ + { + "img": "icons/svg/item-bag.svg", + "name": "Low-Light Living", + "uuid": "Compendium.world.community-features.Item.p12Le1M3DPWXa0vh" + } + ] + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "NqO2eQGMjrvUO6v9": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1747940403160, + "modifiedTime": 1747991158174, + "lastModifiedBy": "NqO2eQGMjrvUO6v9" + }, + "_key": "!items!CXQN2zcQUIjUOx1i" } diff --git a/src/packs/communities/community_Wanderborne_DHB5uSzbBeJCJuvC.json b/src/packs/communities/community_Wanderborne_DHB5uSzbBeJCJuvC.json index b5407762..0e73f066 100644 --- a/src/packs/communities/community_Wanderborne_DHB5uSzbBeJCJuvC.json +++ b/src/packs/communities/community_Wanderborne_DHB5uSzbBeJCJuvC.json @@ -1,36 +1,36 @@ { - "name": "Wanderborne", - "type": "community", - "_id": "DHB5uSzbBeJCJuvC", - "img": "systems/daggerheart/assets/icons/communities/wanderborne.png", - "system": { - "description": "

Being part of a wanderborne community means you’ve lived as a nomad, forgoing a permanent home and experiencing a wide variety of cultures. Unlike many communities that are defined by their locale, wanderborne are defined by their traveling lifestyle. Because of their frequent migration, wanderborne put less value on the accumulation of material possessions in favor of acquiring information, skills, and connections. While some wanderborne are allied by a common ethos, such as a religion or a set of political or economic values, others come together after shared tragedy, such as the loss of their home or land. No matter the reason, the dangers posed by life on the road and the choice to continue down that road together mean that wanderborne are known for their unwavering loyalty.

Wanderborne are often inscrutable, magnanimous, mirthful, reliable, savvy, and unorthodox.

", - "abilities": [ - { - "img": "icons/svg/item-bag.svg", - "name": "Nomadic Pack", - "uuid": "Compendium.world.community-features.Item.NeuBdFDpV0HTzOIM" - } - ] - }, - "effects": [], - "folder": null, - "sort": 0, - "ownership": { - "default": 0, - "NqO2eQGMjrvUO6v9": 3 - }, - "flags": {}, - "_stats": { - "compendiumSource": null, - "duplicateSource": null, - "exportSource": null, - "coreVersion": "13.344", - "systemId": "daggerheart", - "systemVersion": "0.0.1", - "createdTime": 1747940414913, - "modifiedTime": 1747991238462, - "lastModifiedBy": "NqO2eQGMjrvUO6v9" - }, - "_key": "!items!DHB5uSzbBeJCJuvC" + "name": "Wanderborne", + "type": "community", + "_id": "DHB5uSzbBeJCJuvC", + "img": "systems/daggerheart/assets/icons/communities/wanderborne.png", + "system": { + "description": "

Being part of a wanderborne community means you’ve lived as a nomad, forgoing a permanent home and experiencing a wide variety of cultures. Unlike many communities that are defined by their locale, wanderborne are defined by their traveling lifestyle. Because of their frequent migration, wanderborne put less value on the accumulation of material possessions in favor of acquiring information, skills, and connections. While some wanderborne are allied by a common ethos, such as a religion or a set of political or economic values, others come together after shared tragedy, such as the loss of their home or land. No matter the reason, the dangers posed by life on the road and the choice to continue down that road together mean that wanderborne are known for their unwavering loyalty.

Wanderborne are often inscrutable, magnanimous, mirthful, reliable, savvy, and unorthodox.

", + "abilities": [ + { + "img": "icons/svg/item-bag.svg", + "name": "Nomadic Pack", + "uuid": "Compendium.world.community-features.Item.NeuBdFDpV0HTzOIM" + } + ] + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "NqO2eQGMjrvUO6v9": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1747940414913, + "modifiedTime": 1747991238462, + "lastModifiedBy": "NqO2eQGMjrvUO6v9" + }, + "_key": "!items!DHB5uSzbBeJCJuvC" } diff --git a/src/packs/communities/community_Wildborne_jUzXIVyBx0mlIFWa.json b/src/packs/communities/community_Wildborne_jUzXIVyBx0mlIFWa.json index 5ca65c1c..a481b5a4 100644 --- a/src/packs/communities/community_Wildborne_jUzXIVyBx0mlIFWa.json +++ b/src/packs/communities/community_Wildborne_jUzXIVyBx0mlIFWa.json @@ -1,36 +1,36 @@ { - "name": "Wildborne", - "type": "community", - "_id": "jUzXIVyBx0mlIFWa", - "img": "systems/daggerheart/assets/icons/communities/wildborne.png", - "system": { - "description": "

Being part of a wildborne community means you lived deep within the forest. Wildborne communities are defined by their dedication to the conservation of their homelands, and many have strong religious or cultural ties to the fauna they live among.

This results in unique architectural and technological advancements that favor sustainability over short-term, high-yield results.

It is a hallmark of wildborne societies to integrate their villages and cities with the natural environment and avoid disturbing the lives of the plants and animals. While some construct their lodgings high in the branches of trees, others establish their homes on the ground beneath the forest canopy. It’s not uncommon for wildborne to remain reclusive and hidden within their woodland homes.

Wildborne are often hardy, loyal, nurturing, reclusive, sagacious, and vibrant.

", - "abilities": [ - { - "img": "icons/svg/item-bag.svg", - "name": "Lightfoot", - "uuid": "Compendium.world.community-features.Item.4VaugxNAouI7SKKz" - } - ] - }, - "effects": [], - "folder": null, - "sort": 0, - "ownership": { - "default": 0, - "NqO2eQGMjrvUO6v9": 3 - }, - "flags": {}, - "_stats": { - "compendiumSource": null, - "duplicateSource": null, - "exportSource": null, - "coreVersion": "13.344", - "systemId": "daggerheart", - "systemVersion": "0.0.1", - "createdTime": 1747940432585, - "modifiedTime": 1747991300734, - "lastModifiedBy": "NqO2eQGMjrvUO6v9" - }, - "_key": "!items!jUzXIVyBx0mlIFWa" + "name": "Wildborne", + "type": "community", + "_id": "jUzXIVyBx0mlIFWa", + "img": "systems/daggerheart/assets/icons/communities/wildborne.png", + "system": { + "description": "

Being part of a wildborne community means you lived deep within the forest. Wildborne communities are defined by their dedication to the conservation of their homelands, and many have strong religious or cultural ties to the fauna they live among.

This results in unique architectural and technological advancements that favor sustainability over short-term, high-yield results.

It is a hallmark of wildborne societies to integrate their villages and cities with the natural environment and avoid disturbing the lives of the plants and animals. While some construct their lodgings high in the branches of trees, others establish their homes on the ground beneath the forest canopy. It’s not uncommon for wildborne to remain reclusive and hidden within their woodland homes.

Wildborne are often hardy, loyal, nurturing, reclusive, sagacious, and vibrant.

", + "abilities": [ + { + "img": "icons/svg/item-bag.svg", + "name": "Lightfoot", + "uuid": "Compendium.world.community-features.Item.4VaugxNAouI7SKKz" + } + ] + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "NqO2eQGMjrvUO6v9": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1747940432585, + "modifiedTime": 1747991300734, + "lastModifiedBy": "NqO2eQGMjrvUO6v9" + }, + "_key": "!items!jUzXIVyBx0mlIFWa" } diff --git a/src/packs/community-features/feature_Dedicated_ZiBpJxtDSsh6wY3h.json b/src/packs/community-features/feature_Dedicated_ZiBpJxtDSsh6wY3h.json index 54c15b84..0655c73e 100644 --- a/src/packs/community-features/feature_Dedicated_ZiBpJxtDSsh6wY3h.json +++ b/src/packs/community-features/feature_Dedicated_ZiBpJxtDSsh6wY3h.json @@ -1,46 +1,46 @@ { - "name": "Dedicated", - "type": "feature", - "img": "icons/svg/item-bag.svg", - "system": { - "actionType": "action", - "featureType": { - "type": "input", - "data": { - "property": "spellcastingTrait", - "max": 1, - "numbers": {}, - "value": "d20" - } - }, - "refreshData": null, - "multiclass": null, - "disabled": false, - "description": "

Record three sayings or values your upbringing instilled in you. Once per rest, when you describe how you’re embodying one of these principles through your current action, you can roll a d20 as your Hope Die.

", - "effects": {}, - "actions": [], - "type": "community" + "name": "Dedicated", + "type": "feature", + "img": "icons/svg/item-bag.svg", + "system": { + "actionType": "action", + "featureType": { + "type": "input", + "data": { + "property": "spellcastingTrait", + "max": 1, + "numbers": {}, + "value": "d20" + } }, - "effects": [], - "folder": null, - "ownership": { - "default": 0, - "NqO2eQGMjrvUO6v9": 3, - "JKaKJsbixtjbUa07": 3 - }, - "flags": {}, - "_stats": { - "compendiumSource": null, - "duplicateSource": null, - "exportSource": null, - "coreVersion": "13.344", - "systemId": "daggerheart", - "systemVersion": "0.0.1", - "createdTime": 1748008847578, - "modifiedTime": 1748008847578, - "lastModifiedBy": "JKaKJsbixtjbUa07" - }, - "_id": "ZiBpJxtDSsh6wY3h", - "sort": 0, - "_key": "!items!ZiBpJxtDSsh6wY3h" + "refreshData": null, + "multiclass": null, + "disabled": false, + "description": "

Record three sayings or values your upbringing instilled in you. Once per rest, when you describe how you’re embodying one of these principles through your current action, you can roll a d20 as your Hope Die.

", + "effects": {}, + "actions": [], + "type": "community" + }, + "effects": [], + "folder": null, + "ownership": { + "default": 0, + "NqO2eQGMjrvUO6v9": 3, + "JKaKJsbixtjbUa07": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1748008847578, + "modifiedTime": 1748008847578, + "lastModifiedBy": "JKaKJsbixtjbUa07" + }, + "_id": "ZiBpJxtDSsh6wY3h", + "sort": 0, + "_key": "!items!ZiBpJxtDSsh6wY3h" } diff --git a/src/packs/community-features/feature_Know_the_Tide_0mdoYz7uZNWCcK5Z.json b/src/packs/community-features/feature_Know_the_Tide_0mdoYz7uZNWCcK5Z.json index 846c955c..a23aaa00 100644 --- a/src/packs/community-features/feature_Know_the_Tide_0mdoYz7uZNWCcK5Z.json +++ b/src/packs/community-features/feature_Know_the_Tide_0mdoYz7uZNWCcK5Z.json @@ -1,45 +1,45 @@ { - "name": "Know the Tide", - "type": "feature", - "img": "icons/svg/item-bag.svg", - "system": { - "actionType": "passive", - "featureType": { - "type": "normal", - "data": { - "property": "spellcastingTrait", - "max": 1, - "numbers": {} - } - }, - "refreshData": null, - "multiclass": null, - "disabled": false, - "description": "

You can sense the ebb and flow of life. When you roll with Fear, place a token on your community card. You can hold a number of tokens equal to your level. Before you make an action roll, you can spend any number of these tokens to gain a +1 bonus to the roll for each token spent. At the end of each session, clear all unspent tokens.

", - "effects": {}, - "actions": [], - "type": "community" + "name": "Know the Tide", + "type": "feature", + "img": "icons/svg/item-bag.svg", + "system": { + "actionType": "passive", + "featureType": { + "type": "normal", + "data": { + "property": "spellcastingTrait", + "max": 1, + "numbers": {} + } }, - "effects": [], - "folder": null, - "ownership": { - "default": 0, - "NqO2eQGMjrvUO6v9": 3, - "JKaKJsbixtjbUa07": 3 - }, - "flags": {}, - "_stats": { - "compendiumSource": null, - "duplicateSource": null, - "exportSource": null, - "coreVersion": "13.344", - "systemId": "daggerheart", - "systemVersion": "0.0.1", - "createdTime": 1748008848585, - "modifiedTime": 1748008848585, - "lastModifiedBy": "JKaKJsbixtjbUa07" - }, - "_id": "0mdoYz7uZNWCcK5Z", - "sort": 0, - "_key": "!items!0mdoYz7uZNWCcK5Z" + "refreshData": null, + "multiclass": null, + "disabled": false, + "description": "

You can sense the ebb and flow of life. When you roll with Fear, place a token on your community card. You can hold a number of tokens equal to your level. Before you make an action roll, you can spend any number of these tokens to gain a +1 bonus to the roll for each token spent. At the end of each session, clear all unspent tokens.

", + "effects": {}, + "actions": [], + "type": "community" + }, + "effects": [], + "folder": null, + "ownership": { + "default": 0, + "NqO2eQGMjrvUO6v9": 3, + "JKaKJsbixtjbUa07": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1748008848585, + "modifiedTime": 1748008848585, + "lastModifiedBy": "JKaKJsbixtjbUa07" + }, + "_id": "0mdoYz7uZNWCcK5Z", + "sort": 0, + "_key": "!items!0mdoYz7uZNWCcK5Z" } diff --git a/src/packs/community-features/feature_Lightfoot_LY9c4DCgMcB1uEiv.json b/src/packs/community-features/feature_Lightfoot_LY9c4DCgMcB1uEiv.json index 1b1d5684..faffa9fe 100644 --- a/src/packs/community-features/feature_Lightfoot_LY9c4DCgMcB1uEiv.json +++ b/src/packs/community-features/feature_Lightfoot_LY9c4DCgMcB1uEiv.json @@ -1,45 +1,45 @@ { - "name": "Lightfoot", - "type": "feature", - "img": "icons/svg/item-bag.svg", - "system": { - "actionType": "passive", - "featureType": { - "type": "normal", - "data": { - "property": "spellcastingTrait", - "max": 1, - "numbers": {} - } - }, - "refreshData": null, - "multiclass": null, - "disabled": false, - "description": "

Your movement is naturally silent. You have advantage on rolls to move without being heard.

", - "effects": {}, - "actions": [], - "type": "community" + "name": "Lightfoot", + "type": "feature", + "img": "icons/svg/item-bag.svg", + "system": { + "actionType": "passive", + "featureType": { + "type": "normal", + "data": { + "property": "spellcastingTrait", + "max": 1, + "numbers": {} + } }, - "effects": [], - "folder": null, - "ownership": { - "default": 0, - "NqO2eQGMjrvUO6v9": 3, - "JKaKJsbixtjbUa07": 3 - }, - "flags": {}, - "_stats": { - "compendiumSource": null, - "duplicateSource": null, - "exportSource": null, - "coreVersion": "13.344", - "systemId": "daggerheart", - "systemVersion": "0.0.1", - "createdTime": 1748008849798, - "modifiedTime": 1748008849798, - "lastModifiedBy": "JKaKJsbixtjbUa07" - }, - "_id": "LY9c4DCgMcB1uEiv", - "sort": 0, - "_key": "!items!LY9c4DCgMcB1uEiv" + "refreshData": null, + "multiclass": null, + "disabled": false, + "description": "

Your movement is naturally silent. You have advantage on rolls to move without being heard.

", + "effects": {}, + "actions": [], + "type": "community" + }, + "effects": [], + "folder": null, + "ownership": { + "default": 0, + "NqO2eQGMjrvUO6v9": 3, + "JKaKJsbixtjbUa07": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1748008849798, + "modifiedTime": 1748008849798, + "lastModifiedBy": "JKaKJsbixtjbUa07" + }, + "_id": "LY9c4DCgMcB1uEiv", + "sort": 0, + "_key": "!items!LY9c4DCgMcB1uEiv" } diff --git a/src/packs/community-features/feature_Low_Light_Living_hX85YvTQcMzc25hW.json b/src/packs/community-features/feature_Low_Light_Living_hX85YvTQcMzc25hW.json index 1dec67fc..6d5bb2d7 100644 --- a/src/packs/community-features/feature_Low_Light_Living_hX85YvTQcMzc25hW.json +++ b/src/packs/community-features/feature_Low_Light_Living_hX85YvTQcMzc25hW.json @@ -1,45 +1,45 @@ { - "name": "Low-Light Living", - "type": "feature", - "img": "icons/svg/item-bag.svg", - "system": { - "actionType": "passive", - "featureType": { - "type": "normal", - "data": { - "property": "spellcastingTrait", - "max": 1, - "numbers": {} - } - }, - "refreshData": null, - "multiclass": null, - "disabled": false, - "description": "

When you’re in an area with low light or heavy shadow, you have advantage on rolls to hide, investigate, or perceive details within that area.

", - "effects": {}, - "actions": [], - "type": "community" + "name": "Low-Light Living", + "type": "feature", + "img": "icons/svg/item-bag.svg", + "system": { + "actionType": "passive", + "featureType": { + "type": "normal", + "data": { + "property": "spellcastingTrait", + "max": 1, + "numbers": {} + } }, - "effects": [], - "folder": null, - "ownership": { - "default": 0, - "NqO2eQGMjrvUO6v9": 3, - "JKaKJsbixtjbUa07": 3 - }, - "flags": {}, - "_stats": { - "compendiumSource": null, - "duplicateSource": null, - "exportSource": null, - "coreVersion": "13.344", - "systemId": "daggerheart", - "systemVersion": "0.0.1", - "createdTime": 1748008850934, - "modifiedTime": 1748008850934, - "lastModifiedBy": "JKaKJsbixtjbUa07" - }, - "_id": "hX85YvTQcMzc25hW", - "sort": 0, - "_key": "!items!hX85YvTQcMzc25hW" + "refreshData": null, + "multiclass": null, + "disabled": false, + "description": "

When you’re in an area with low light or heavy shadow, you have advantage on rolls to hide, investigate, or perceive details within that area.

", + "effects": {}, + "actions": [], + "type": "community" + }, + "effects": [], + "folder": null, + "ownership": { + "default": 0, + "NqO2eQGMjrvUO6v9": 3, + "JKaKJsbixtjbUa07": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1748008850934, + "modifiedTime": 1748008850934, + "lastModifiedBy": "JKaKJsbixtjbUa07" + }, + "_id": "hX85YvTQcMzc25hW", + "sort": 0, + "_key": "!items!hX85YvTQcMzc25hW" } diff --git a/src/packs/community-features/feature_Nomadic_Pack_o3Q88Rws9Eb5ae5D.json b/src/packs/community-features/feature_Nomadic_Pack_o3Q88Rws9Eb5ae5D.json index bcf78f86..2af9f177 100644 --- a/src/packs/community-features/feature_Nomadic_Pack_o3Q88Rws9Eb5ae5D.json +++ b/src/packs/community-features/feature_Nomadic_Pack_o3Q88Rws9Eb5ae5D.json @@ -1,45 +1,45 @@ { - "name": "Nomadic Pack", - "type": "feature", - "img": "icons/svg/item-bag.svg", - "system": { - "actionType": "passive", - "featureType": { - "type": "normal", - "data": { - "property": "spellcastingTrait", - "max": 1, - "numbers": {} - } - }, - "refreshData": null, - "multiclass": null, - "disabled": false, - "description": "

Add a Nomadic Pack to your inventory. Once per session, you can spend a Hope to reach into this pack and pull out a mundane item that’s useful to your situation. Work with the GM to figure out what item you take out.

", - "effects": {}, - "actions": [], - "type": "community" + "name": "Nomadic Pack", + "type": "feature", + "img": "icons/svg/item-bag.svg", + "system": { + "actionType": "passive", + "featureType": { + "type": "normal", + "data": { + "property": "spellcastingTrait", + "max": 1, + "numbers": {} + } }, - "effects": [], - "folder": null, - "ownership": { - "default": 0, - "NqO2eQGMjrvUO6v9": 3, - "JKaKJsbixtjbUa07": 3 - }, - "flags": {}, - "_stats": { - "compendiumSource": null, - "duplicateSource": null, - "exportSource": null, - "coreVersion": "13.344", - "systemId": "daggerheart", - "systemVersion": "0.0.1", - "createdTime": 1748008852219, - "modifiedTime": 1748008852219, - "lastModifiedBy": "JKaKJsbixtjbUa07" - }, - "_id": "o3Q88Rws9Eb5ae5D", - "sort": 0, - "_key": "!items!o3Q88Rws9Eb5ae5D" + "refreshData": null, + "multiclass": null, + "disabled": false, + "description": "

Add a Nomadic Pack to your inventory. Once per session, you can spend a Hope to reach into this pack and pull out a mundane item that’s useful to your situation. Work with the GM to figure out what item you take out.

", + "effects": {}, + "actions": [], + "type": "community" + }, + "effects": [], + "folder": null, + "ownership": { + "default": 0, + "NqO2eQGMjrvUO6v9": 3, + "JKaKJsbixtjbUa07": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1748008852219, + "modifiedTime": 1748008852219, + "lastModifiedBy": "JKaKJsbixtjbUa07" + }, + "_id": "o3Q88Rws9Eb5ae5D", + "sort": 0, + "_key": "!items!o3Q88Rws9Eb5ae5D" } diff --git a/src/packs/community-features/feature_Privilege_AgJiUvad5tgeam57.json b/src/packs/community-features/feature_Privilege_AgJiUvad5tgeam57.json index 504dd1fb..200ccb61 100644 --- a/src/packs/community-features/feature_Privilege_AgJiUvad5tgeam57.json +++ b/src/packs/community-features/feature_Privilege_AgJiUvad5tgeam57.json @@ -1,45 +1,45 @@ { - "name": "Privilege", - "type": "feature", - "img": "icons/svg/item-bag.svg", - "system": { - "actionType": "passive", - "featureType": { - "type": "normal", - "data": { - "property": "spellcastingTrait", - "max": 1, - "numbers": {} - } - }, - "refreshData": null, - "multiclass": null, - "disabled": false, - "description": "

You have advantage on rolls to consort with nobles, negotiate prices, or leverage your reputation to get what you want.

", - "effects": {}, - "actions": [], - "type": "community" + "name": "Privilege", + "type": "feature", + "img": "icons/svg/item-bag.svg", + "system": { + "actionType": "passive", + "featureType": { + "type": "normal", + "data": { + "property": "spellcastingTrait", + "max": 1, + "numbers": {} + } }, - "effects": [], - "folder": null, - "flags": {}, - "_stats": { - "compendiumSource": null, - "duplicateSource": null, - "exportSource": null, - "coreVersion": "13.344", - "systemId": "daggerheart", - "systemVersion": "0.0.1", - "createdTime": 1748008853598, - "modifiedTime": 1748008853598, - "lastModifiedBy": "JKaKJsbixtjbUa07" - }, - "ownership": { - "default": 0, - "NqO2eQGMjrvUO6v9": 3, - "JKaKJsbixtjbUa07": 3 - }, - "_id": "AgJiUvad5tgeam57", - "sort": 0, - "_key": "!items!AgJiUvad5tgeam57" + "refreshData": null, + "multiclass": null, + "disabled": false, + "description": "

You have advantage on rolls to consort with nobles, negotiate prices, or leverage your reputation to get what you want.

", + "effects": {}, + "actions": [], + "type": "community" + }, + "effects": [], + "folder": null, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1748008853598, + "modifiedTime": 1748008853598, + "lastModifiedBy": "JKaKJsbixtjbUa07" + }, + "ownership": { + "default": 0, + "NqO2eQGMjrvUO6v9": 3, + "JKaKJsbixtjbUa07": 3 + }, + "_id": "AgJiUvad5tgeam57", + "sort": 0, + "_key": "!items!AgJiUvad5tgeam57" } diff --git a/src/packs/community-features/feature_Scoundrel_5BUCiSPswsiB0RDW.json b/src/packs/community-features/feature_Scoundrel_5BUCiSPswsiB0RDW.json index ee22fb4d..13eb1e52 100644 --- a/src/packs/community-features/feature_Scoundrel_5BUCiSPswsiB0RDW.json +++ b/src/packs/community-features/feature_Scoundrel_5BUCiSPswsiB0RDW.json @@ -1,45 +1,45 @@ { - "name": "Scoundrel", - "type": "feature", - "img": "icons/svg/item-bag.svg", - "system": { - "actionType": "passive", - "featureType": { - "type": "normal", - "data": { - "property": "spellcastingTrait", - "max": 1, - "numbers": {} - } - }, - "refreshData": null, - "multiclass": null, - "disabled": false, - "description": "

You have advantage on rolls to negotiate with criminals, detect lies, or find a safe place to hide.

", - "effects": {}, - "actions": [], - "type": "community" + "name": "Scoundrel", + "type": "feature", + "img": "icons/svg/item-bag.svg", + "system": { + "actionType": "passive", + "featureType": { + "type": "normal", + "data": { + "property": "spellcastingTrait", + "max": 1, + "numbers": {} + } }, - "effects": [], - "folder": null, - "ownership": { - "default": 0, - "NqO2eQGMjrvUO6v9": 3, - "JKaKJsbixtjbUa07": 3 - }, - "flags": {}, - "_stats": { - "compendiumSource": null, - "duplicateSource": null, - "exportSource": null, - "coreVersion": "13.344", - "systemId": "daggerheart", - "systemVersion": "0.0.1", - "createdTime": 1748008855001, - "modifiedTime": 1748008855001, - "lastModifiedBy": "JKaKJsbixtjbUa07" - }, - "_id": "5BUCiSPswsiB0RDW", - "sort": 0, - "_key": "!items!5BUCiSPswsiB0RDW" + "refreshData": null, + "multiclass": null, + "disabled": false, + "description": "

You have advantage on rolls to negotiate with criminals, detect lies, or find a safe place to hide.

", + "effects": {}, + "actions": [], + "type": "community" + }, + "effects": [], + "folder": null, + "ownership": { + "default": 0, + "NqO2eQGMjrvUO6v9": 3, + "JKaKJsbixtjbUa07": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1748008855001, + "modifiedTime": 1748008855001, + "lastModifiedBy": "JKaKJsbixtjbUa07" + }, + "_id": "5BUCiSPswsiB0RDW", + "sort": 0, + "_key": "!items!5BUCiSPswsiB0RDW" } diff --git a/src/packs/community-features/feature_Steady_Oky51ziMZp6bbuUQ.json b/src/packs/community-features/feature_Steady_Oky51ziMZp6bbuUQ.json index 7074b134..70f4c783 100644 --- a/src/packs/community-features/feature_Steady_Oky51ziMZp6bbuUQ.json +++ b/src/packs/community-features/feature_Steady_Oky51ziMZp6bbuUQ.json @@ -1,45 +1,45 @@ { - "name": "Steady", - "type": "feature", - "img": "icons/svg/item-bag.svg", - "system": { - "actionType": "passive", - "featureType": { - "type": "normal", - "data": { - "property": "spellcastingTrait", - "max": 1, - "numbers": {} - } - }, - "refreshData": null, - "multiclass": null, - "disabled": false, - "description": "

You have advantage on rolls to traverse dangerous cliffs and ledges, navigate harsh environments, and use your survival knowledge.

", - "effects": {}, - "actions": [], - "type": "community" + "name": "Steady", + "type": "feature", + "img": "icons/svg/item-bag.svg", + "system": { + "actionType": "passive", + "featureType": { + "type": "normal", + "data": { + "property": "spellcastingTrait", + "max": 1, + "numbers": {} + } }, - "effects": [], - "folder": null, - "ownership": { - "default": 0, - "NqO2eQGMjrvUO6v9": 3, - "JKaKJsbixtjbUa07": 3 - }, - "flags": {}, - "_stats": { - "compendiumSource": null, - "duplicateSource": null, - "exportSource": null, - "coreVersion": "13.344", - "systemId": "daggerheart", - "systemVersion": "0.0.1", - "createdTime": 1748008856287, - "modifiedTime": 1748008856287, - "lastModifiedBy": "JKaKJsbixtjbUa07" - }, - "_id": "Oky51ziMZp6bbuUQ", - "sort": 0, - "_key": "!items!Oky51ziMZp6bbuUQ" + "refreshData": null, + "multiclass": null, + "disabled": false, + "description": "

You have advantage on rolls to traverse dangerous cliffs and ledges, navigate harsh environments, and use your survival knowledge.

", + "effects": {}, + "actions": [], + "type": "community" + }, + "effects": [], + "folder": null, + "ownership": { + "default": 0, + "NqO2eQGMjrvUO6v9": 3, + "JKaKJsbixtjbUa07": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1748008856287, + "modifiedTime": 1748008856287, + "lastModifiedBy": "JKaKJsbixtjbUa07" + }, + "_id": "Oky51ziMZp6bbuUQ", + "sort": 0, + "_key": "!items!Oky51ziMZp6bbuUQ" } diff --git a/src/packs/community-features/feature_Well_Read_n2RA9iZNiVbGlxco.json b/src/packs/community-features/feature_Well_Read_n2RA9iZNiVbGlxco.json index bfa879b4..db3e79e8 100644 --- a/src/packs/community-features/feature_Well_Read_n2RA9iZNiVbGlxco.json +++ b/src/packs/community-features/feature_Well_Read_n2RA9iZNiVbGlxco.json @@ -1,46 +1,46 @@ { - "name": "Well-Read", - "type": "feature", - "img": "icons/svg/item-bag.svg", - "system": { - "actionType": "passive", - "featureType": { - "type": "normal", - "data": { - "property": "spellcastingTrait", - "max": 1, - "numbers": {}, - "value": "d4" - } - }, - "refreshData": null, - "multiclass": null, - "disabled": false, - "description": "

You have advantage on rolls that involve the history, culture, or politics of a prominent person or place.

", - "effects": {}, - "actions": [], - "type": "community" + "name": "Well-Read", + "type": "feature", + "img": "icons/svg/item-bag.svg", + "system": { + "actionType": "passive", + "featureType": { + "type": "normal", + "data": { + "property": "spellcastingTrait", + "max": 1, + "numbers": {}, + "value": "d4" + } }, - "effects": [], - "folder": null, - "ownership": { - "default": 0, - "NqO2eQGMjrvUO6v9": 3, - "JKaKJsbixtjbUa07": 3 - }, - "flags": {}, - "_stats": { - "compendiumSource": null, - "duplicateSource": null, - "exportSource": null, - "coreVersion": "13.344", - "systemId": "daggerheart", - "systemVersion": "0.0.1", - "createdTime": 1748008857389, - "modifiedTime": 1748008857389, - "lastModifiedBy": "JKaKJsbixtjbUa07" - }, - "_id": "n2RA9iZNiVbGlxco", - "sort": 0, - "_key": "!items!n2RA9iZNiVbGlxco" + "refreshData": null, + "multiclass": null, + "disabled": false, + "description": "

You have advantage on rolls that involve the history, culture, or politics of a prominent person or place.

", + "effects": {}, + "actions": [], + "type": "community" + }, + "effects": [], + "folder": null, + "ownership": { + "default": 0, + "NqO2eQGMjrvUO6v9": 3, + "JKaKJsbixtjbUa07": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1748008857389, + "modifiedTime": 1748008857389, + "lastModifiedBy": "JKaKJsbixtjbUa07" + }, + "_id": "n2RA9iZNiVbGlxco", + "sort": 0, + "_key": "!items!n2RA9iZNiVbGlxco" } diff --git a/src/packs/subclasses/subclass_Troubadour_T1iBO8i0xRF5c8Q2.json b/src/packs/subclasses/subclass_Troubadour_T1iBO8i0xRF5c8Q2.json index df5ba598..e32a615f 100644 --- a/src/packs/subclasses/subclass_Troubadour_T1iBO8i0xRF5c8Q2.json +++ b/src/packs/subclasses/subclass_Troubadour_T1iBO8i0xRF5c8Q2.json @@ -1,66 +1,66 @@ { - "name": "Troubadour", - "type": "subclass", - "_id": "T1iBO8i0xRF5c8Q2", - "img": "icons/svg/item-bag.svg", - "system": { - "description": "

Play the Troubadour if you want to play music to bolster your allies.

", - "spellcastingTrait": "presence", - "foundationFeature": { - "description": "

Gifted Performer: Describe how you perform for others. You can play each song once per long rest:

Relaxing Song: You and all allies within Close range clear a Hit Point.

Epic Song: Make a target within Close range temporarily Vulnerable.

Heartbreaking Song: You and all allies within Close range gain a Hope.

", - "abilities": [ - { - "actionType": "passive", - "featureType": { - "type": "normal", - "data": { - "property": "spellcastingTrait", - "max": 1, - "numbers": {} - } - }, - "refreshData": null, - "multiclass": null, - "disabled": false, - "description": "

You are among the greatest of your craft and your skill is boundless. You can perform each of your “Gifted Performer” feature’s songs twice instead of once per long rest.

", - "effects": {}, - "actions": [], - "type": "subclass" - } - ] - }, - "specializationFeature": { - "unlocked": false, - "tier": null, - "description": "", - "abilities": [] - }, - "masteryFeature": { - "unlocked": false, - "tier": null, - "description": "", - "abilities": [] - }, - "multiclass": null + "name": "Troubadour", + "type": "subclass", + "_id": "T1iBO8i0xRF5c8Q2", + "img": "icons/svg/item-bag.svg", + "system": { + "description": "

Play the Troubadour if you want to play music to bolster your allies.

", + "spellcastingTrait": "presence", + "foundationFeature": { + "description": "

Gifted Performer: Describe how you perform for others. You can play each song once per long rest:

Relaxing Song: You and all allies within Close range clear a Hit Point.

Epic Song: Make a target within Close range temporarily Vulnerable.

Heartbreaking Song: You and all allies within Close range gain a Hope.

", + "abilities": [ + { + "actionType": "passive", + "featureType": { + "type": "normal", + "data": { + "property": "spellcastingTrait", + "max": 1, + "numbers": {} + } + }, + "refreshData": null, + "multiclass": null, + "disabled": false, + "description": "

You are among the greatest of your craft and your skill is boundless. You can perform each of your “Gifted Performer” feature’s songs twice instead of once per long rest.

", + "effects": {}, + "actions": [], + "type": "subclass" + } + ] }, - "effects": [], - "folder": null, - "sort": 0, - "ownership": { - "default": 0, - "NqO2eQGMjrvUO6v9": 3 + "specializationFeature": { + "unlocked": false, + "tier": null, + "description": "", + "abilities": [] }, - "flags": {}, - "_stats": { - "compendiumSource": null, - "duplicateSource": null, - "exportSource": null, - "coreVersion": "13.344", - "systemId": "daggerheart", - "systemVersion": "0.0.1", - "createdTime": 1747991594334, - "modifiedTime": 1747991866434, - "lastModifiedBy": "NqO2eQGMjrvUO6v9" + "masteryFeature": { + "unlocked": false, + "tier": null, + "description": "", + "abilities": [] }, - "_key": "!items!T1iBO8i0xRF5c8Q2" + "multiclass": null + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "NqO2eQGMjrvUO6v9": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1747991594334, + "modifiedTime": 1747991866434, + "lastModifiedBy": "NqO2eQGMjrvUO6v9" + }, + "_key": "!items!T1iBO8i0xRF5c8Q2" } diff --git a/src/packs/subclasses/subclass_Wordsmith_FXT65YDVWFy85EI0.json b/src/packs/subclasses/subclass_Wordsmith_FXT65YDVWFy85EI0.json index e9317c05..e0b7f70b 100644 --- a/src/packs/subclasses/subclass_Wordsmith_FXT65YDVWFy85EI0.json +++ b/src/packs/subclasses/subclass_Wordsmith_FXT65YDVWFy85EI0.json @@ -1,47 +1,47 @@ { - "name": "Wordsmith", - "type": "subclass", - "_id": "FXT65YDVWFy85EI0", - "img": "icons/svg/item-bag.svg", - "system": { - "description": "

Play the Wordsmith if you want to use clever wordplay and captivate crowds.

", - "spellcastingTrait": "presence", - "foundationFeature": { - "description": "", - "abilities": [] - }, - "specializationFeature": { - "unlocked": false, - "tier": null, - "description": "", - "abilities": [] - }, - "masteryFeature": { - "unlocked": false, - "tier": null, - "description": "", - "abilities": [] - }, - "multiclass": null + "name": "Wordsmith", + "type": "subclass", + "_id": "FXT65YDVWFy85EI0", + "img": "icons/svg/item-bag.svg", + "system": { + "description": "

Play the Wordsmith if you want to use clever wordplay and captivate crowds.

", + "spellcastingTrait": "presence", + "foundationFeature": { + "description": "", + "abilities": [] }, - "effects": [], - "folder": null, - "sort": 0, - "ownership": { - "default": 0, - "NqO2eQGMjrvUO6v9": 3 + "specializationFeature": { + "unlocked": false, + "tier": null, + "description": "", + "abilities": [] }, - "flags": {}, - "_stats": { - "compendiumSource": null, - "duplicateSource": null, - "exportSource": null, - "coreVersion": "13.344", - "systemId": "daggerheart", - "systemVersion": "0.0.1", - "createdTime": 1747991988842, - "modifiedTime": 1747992014955, - "lastModifiedBy": "NqO2eQGMjrvUO6v9" + "masteryFeature": { + "unlocked": false, + "tier": null, + "description": "", + "abilities": [] }, - "_key": "!items!FXT65YDVWFy85EI0" + "multiclass": null + }, + "effects": [], + "folder": null, + "sort": 0, + "ownership": { + "default": 0, + "NqO2eQGMjrvUO6v9": 3 + }, + "flags": {}, + "_stats": { + "compendiumSource": null, + "duplicateSource": null, + "exportSource": null, + "coreVersion": "13.344", + "systemId": "daggerheart", + "systemVersion": "0.0.1", + "createdTime": 1747991988842, + "modifiedTime": 1747992014955, + "lastModifiedBy": "NqO2eQGMjrvUO6v9" + }, + "_key": "!items!FXT65YDVWFy85EI0" } diff --git a/styles/daggerheart.css b/styles/daggerheart.css index a1b1f200..027e8acb 100644 --- a/styles/daggerheart.css +++ b/styles/daggerheart.css @@ -8,3121 +8,2606 @@ /* Inputs */ @import '../node_modules/@yaireo/tagify/dist/tagify.css'; .daggerheart.sheet.class .editor { - height: 500px; + height: 500px; } .daggerheart.sheet.pc { - width: 810px !important; + width: 810px !important; } .daggerheart.sheet.pc div[data-application-part] { - display: flex; - flex-direction: column; + display: flex; + flex-direction: column; } .daggerheart.sheet.pc div[data-application-part] .pc-sheet-header { - display: flex; - gap: 4px; - height: 120px; - margin-bottom: 4px; + display: flex; + gap: 4px; + height: 120px; + margin-bottom: 4px; } .daggerheart.sheet.pc div[data-application-part] .pc-sheet-header .portrait { - border: 0; - border-right: 1px solid var(--color-underline-header); + border: 0; + border-right: 1px solid var(--color-underline-header); } .daggerheart.sheet.pc div[data-application-part] .pc-sheet-header .class-info { - flex: 1; - background: #778899; + flex: 1; + background: #778899; } .daggerheart.sheet.pc div[data-application-part] .pc-sheet-header .class-info .portrait { - max-width: 120px; + max-width: 120px; } .daggerheart.sheet.pc div[data-application-part] .pc-sheet-header .class-info .class-title { - text-align: center; - display: flex; - justify-content: space-between; + text-align: center; + display: flex; + justify-content: space-between; } .daggerheart.sheet.pc div[data-application-part] .pc-sheet-header .class-info .class-title span:hover { - filter: drop-shadow(0px 0px 3px red); - cursor: pointer; + filter: drop-shadow(0px 0px 3px red); + cursor: pointer; } .daggerheart.sheet.pc div[data-application-part] .pc-sheet-header .class-info .class-title .domain-container { - margin-left: 4px; + margin-left: 4px; } .daggerheart.sheet.pc div[data-application-part] .pc-sheet-header .class-info .class-add-container { - display: flex; - align-items: center; - justify-content: center; - width: 100%; - flex: 0; + display: flex; + align-items: center; + justify-content: center; + width: 100%; + flex: 0; } .daggerheart.sheet.pc div[data-application-part] .pc-sheet-header .class-info .class-add-container button { - height: 22px; - width: 22px; - border-radius: 50%; - display: flex; - align-items: center; - justify-content: center; - margin-left: 4px; - background: #778899; + height: 22px; + width: 22px; + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + margin-left: 4px; + background: #778899; } .daggerheart.sheet.pc div[data-application-part] .pc-sheet-header .class-info .domain-title { - text-transform: uppercase; - display: flex; - flex-direction: column; - align-items: center; - line-height: 23px; - font-weight: bold; - font-style: italic; + text-transform: uppercase; + display: flex; + flex-direction: column; + align-items: center; + line-height: 23px; + font-weight: bold; + font-style: italic; } .daggerheart.sheet.pc div[data-application-part] .pc-sheet-header .class-info .domain-image { - height: 30px; - flex: 0; + height: 30px; + flex: 0; } .daggerheart.sheet.pc div[data-application-part] .pc-sheet-header .general-info { - flex: 2; - display: flex; - flex-direction: column; - justify-content: space-between; + flex: 2; + display: flex; + flex-direction: column; + justify-content: space-between; } .daggerheart.sheet.pc div[data-application-part] .pc-sheet-header .general-info .general-input { - position: relative; + position: relative; } .daggerheart.sheet.pc div[data-application-part] .pc-sheet-header .general-info .general-input .general-title { - position: absolute; - left: 4px; - text-align: center; - font-weight: bold; - text-transform: uppercase; + position: absolute; + left: 4px; + text-align: center; + font-weight: bold; + text-transform: uppercase; } .daggerheart.sheet.pc div[data-application-part] .pc-sheet-header .general-info .pc-tabs { - flex: 1; - margin: 0; + flex: 1; + margin: 0; } .daggerheart.sheet.pc div[data-application-part] .pc-sheet-header .general-info .rest-container { - flex-wrap: nowrap; - display: flex; - height: var(--form-field-height); - flex: 0; + flex-wrap: nowrap; + display: flex; + height: var(--form-field-height); + flex: 0; } .daggerheart.sheet.pc div[data-application-part] .pc-sheet-header .general-info .rest-container button { - display: flex; - align-items: center; - justify-content: center; - border-radius: 50%; - width: var(--form-field-height); + display: flex; + align-items: center; + justify-content: center; + border-radius: 50%; + width: var(--form-field-height); } .daggerheart.sheet.pc div[data-application-part] .pc-sheet-header .general-info .rest-container button i { - font-size: 13px; + font-size: 13px; } .daggerheart.sheet.pc div[data-application-part] .pc-sheet-header .general-info .level-container { - position: relative; - bottom: 4px; - flex: none; - width: 40px; - border: none; - outline: none; - margin-left: 8px; + position: relative; + bottom: 4px; + flex: none; + width: 40px; + border: none; + outline: none; + margin-left: 8px; } .daggerheart.sheet.pc div[data-application-part] .pc-sheet-header .general-info .level-container.levelup { - filter: drop-shadow(0px 0px 3px gold); + filter: drop-shadow(0px 0px 3px gold); } .daggerheart.sheet.pc div[data-application-part] .pc-sheet-header .general-info .level-container img { - height: 40px; - width: 40px; - border: none; + height: 40px; + width: 40px; + border: none; } -.daggerheart.sheet.pc - div[data-application-part] - .pc-sheet-header - .general-info - .level-container - .level-value-container { - width: 48px; - position: absolute; - top: calc(50% - 17px); - left: calc(50% - 23px); +.daggerheart.sheet.pc div[data-application-part] .pc-sheet-header .general-info .level-container .level-value-container { + width: 48px; + position: absolute; + top: calc(50% - 17px); + left: calc(50% - 23px); } -.daggerheart.sheet.pc - div[data-application-part] - .pc-sheet-header - .general-info - .level-container - .level-value-container - .level-value { - font-weight: bold; - font-size: 20px; - text-align: center; +.daggerheart.sheet.pc div[data-application-part] .pc-sheet-header .general-info .level-container .level-value-container .level-value { + font-weight: bold; + font-size: 20px; + text-align: center; } -.daggerheart.sheet.pc - div[data-application-part] - .pc-sheet-header - .general-info - .level-container - .level-value-container - .level-value:not(:hover), -.daggerheart.sheet.pc - div[data-application-part] - .pc-sheet-header - .general-info - .level-container - .level-value-container - .level-value:not(:focus) { - border: none; +.daggerheart.sheet.pc div[data-application-part] .pc-sheet-header .general-info .level-container .level-value-container .level-value:not(:hover), +.daggerheart.sheet.pc div[data-application-part] .pc-sheet-header .general-info .level-container .level-value-container .level-value:not(:focus) { + border: none; } -.daggerheart.sheet.pc - div[data-application-part] - .pc-sheet-header - .general-info - .level-container - .level-value-container - .levelup-marker { - position: absolute; - top: 0; - right: calc(50% - 12px); - color: gold; - filter: drop-shadow(0px 0px 3px black); +.daggerheart.sheet.pc div[data-application-part] .pc-sheet-header .general-info .level-container .level-value-container .levelup-marker { + position: absolute; + top: 0; + right: calc(50% - 12px); + color: gold; + filter: drop-shadow(0px 0px 3px black); } -.daggerheart.sheet.pc - div[data-application-part] - .pc-sheet-header - .general-info - .level-container - .level-value-container - .levelup-marker.double-digit { - right: calc(50% - 20px); +.daggerheart.sheet.pc div[data-application-part] .pc-sheet-header .general-info .level-container .level-value-container .levelup-marker.double-digit { + right: calc(50% - 20px); } .daggerheart.sheet.pc div[data-application-part] .pc-sheet-header .general-info .level-container .level-title { - position: absolute; - bottom: 2px; - width: 42px; - background-color: black; - color: white; - left: calc(50% - 21px); - text-align: center; - border-radius: 5px; - font-size: 12px; + position: absolute; + bottom: 2px; + width: 42px; + background-color: black; + color: white; + left: calc(50% - 21px); + text-align: center; + border-radius: 5px; + font-size: 12px; } .daggerheart.sheet.pc div[data-application-part] .pc-sheet-header .general-info .level-container .level-title.levelup { - color: gold; - filter: drop-shadow(0px 0px 3px orange); - font-weight: bold; - cursor: pointer; + color: gold; + filter: drop-shadow(0px 0px 3px orange); + font-weight: bold; + cursor: pointer; } -.daggerheart.sheet.pc - div[data-application-part] - .pc-sheet-header - .general-info - .level-container - .level-title.levelup:hover { - background-color: aliceblue; +.daggerheart.sheet.pc div[data-application-part] .pc-sheet-header .general-info .level-container .level-title.levelup:hover { + background-color: aliceblue; } .daggerheart.sheet.pc div[data-application-part] .sheet-body { - display: flex; - flex-direction: column; - flex: 1; + display: flex; + flex-direction: column; + flex: 1; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .tab-container { - height: 100%; - display: flex; - flex-direction: column; + height: 100%; + display: flex; + flex-direction: column; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .tab-container .tab-inner-container { - flex: 1; + flex: 1; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .tab-container .tab-inner-container .body-section { - display: flex; - flex-direction: column; + display: flex; + flex-direction: column; } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .tab-container - .tab-inner-container - .body-section - fieldset { - flex: 0; +.daggerheart.sheet.pc div[data-application-part] .sheet-body .tab-container .tab-inner-container .body-section fieldset { + flex: 0; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .system-info { - font-size: 12px; - font-style: italic; - font-weight: bold; - margin-top: -4px; - flex: 0; + font-size: 12px; + font-style: italic; + font-weight: bold; + margin-top: -4px; + flex: 0; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .feature-sheet-body { - gap: 4px; + gap: 4px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .abilities-container { - position: relative; - display: flex; - flex-wrap: wrap; - border-radius: 6px; - padding-left: 0; + position: relative; + display: flex; + flex-wrap: wrap; + border-radius: 6px; + padding-left: 0; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .abilities-container legend { - margin-left: auto; - margin-right: auto; - font-weight: bold; - text-transform: uppercase; - padding: 0 8px; - position: relative; + margin-left: auto; + margin-right: auto; + font-weight: bold; + text-transform: uppercase; + padding: 0 8px; + position: relative; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .abilities-container .attributes-menu { - position: absolute; - bottom: calc(50% - 12px); - font-size: 24px; - left: -8px; + position: absolute; + bottom: calc(50% - 12px); + font-size: 24px; + left: -8px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .abilities-container .attribute { - position: relative; - padding: 0 0 4px; - display: flex; - flex-direction: column; - align-items: center; - flex-basis: 33.33%; + position: relative; + padding: 0 0 4px; + display: flex; + flex-direction: column; + align-items: center; + flex-basis: 33.33%; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .abilities-container .attribute .attribute-banner { - position: relative; - top: 8px; - z-index: 2; - background: black; - color: white; - text-transform: uppercase; - padding: 2px; - border-radius: 6px; - display: flex; - align-items: center; - overflow: hidden; - min-width: 96px; + position: relative; + top: 8px; + z-index: 2; + background: black; + color: white; + text-transform: uppercase; + padding: 2px; + border-radius: 6px; + display: flex; + align-items: center; + overflow: hidden; + min-width: 96px; } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .abilities-container - .attribute - .attribute-banner - .attribute-roll { - position: absolute; - width: 16px; - transition: transform 0.2s; +.daggerheart.sheet.pc div[data-application-part] .sheet-body .abilities-container .attribute .attribute-banner .attribute-roll { + position: absolute; + width: 16px; + transition: transform 0.2s; } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .abilities-container - .attribute - .attribute-banner - .attribute-roll:hover { - transform: rotate(30deg); - filter: drop-shadow(0px 0px 3px red); - cursor: pointer; +.daggerheart.sheet.pc div[data-application-part] .sheet-body .abilities-container .attribute .attribute-banner .attribute-roll:hover { + transform: rotate(30deg); + filter: drop-shadow(0px 0px 3px red); + cursor: pointer; } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .abilities-container - .attribute - .attribute-banner - .attribute-text { - width: 100%; - margin-left: 16px; - font-size: 12px; +.daggerheart.sheet.pc div[data-application-part] .sheet-body .abilities-container .attribute .attribute-banner .attribute-text { + width: 100%; + margin-left: 16px; + font-size: 12px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .abilities-container .attribute .attribute-mark { - height: 23px; - width: 23px; - position: absolute; - right: -5px; - top: 6px; - border: 2px solid black; - border-radius: 50%; - background: white; - z-index: 2; - display: flex; - align-items: center; - justify-content: center; + height: 23px; + width: 23px; + position: absolute; + right: -5px; + top: 6px; + border: 2px solid black; + border-radius: 50%; + background: white; + z-index: 2; + display: flex; + align-items: center; + justify-content: center; } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .abilities-container - .attribute - .attribute-mark.selectable { - border-color: gold; - filter: drop-shadow(0 0 3px black); +.daggerheart.sheet.pc div[data-application-part] .sheet-body .abilities-container .attribute .attribute-mark.selectable { + border-color: gold; + filter: drop-shadow(0 0 3px black); } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .abilities-container - .attribute - .attribute-mark.selectable:hover - i { - opacity: 0.3; +.daggerheart.sheet.pc div[data-application-part] .sheet-body .abilities-container .attribute .attribute-mark.selectable:hover i { + opacity: 0.3; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .abilities-container .attribute .attribute-mark i.selected, -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .abilities-container - .attribute - .attribute-mark:hover - i.selected { - color: green; - opacity: 1; +.daggerheart.sheet.pc div[data-application-part] .sheet-body .abilities-container .attribute .attribute-mark:hover i.selected { + color: green; + opacity: 1; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .abilities-container .attribute .attribute-mark i { - color: black; - font-size: 17px; - opacity: 0; + color: black; + font-size: 17px; + opacity: 0; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .abilities-container .attribute .attribute-image { - position: relative; - width: fit-content; - display: flex; + position: relative; + width: fit-content; + display: flex; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .abilities-container .attribute .attribute-image img { - height: 80px; - width: 80px; - border: none; + height: 80px; + width: 80px; + border: none; } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .abilities-container - .attribute - .attribute-image - .attribute-value { - width: 55px; - padding-right: 10px; - position: absolute; - top: calc(50% - 18px); - left: calc(50% - 24px); - font-weight: bold; - font-size: 30px; - line-height: 30px; - text-align: center; - border: none; - appearance: none; - -moz-appearance: none; - -webkit-appearance: none; +.daggerheart.sheet.pc div[data-application-part] .sheet-body .abilities-container .attribute .attribute-image .attribute-value { + width: 55px; + padding-right: 10px; + position: absolute; + top: calc(50% - 18px); + left: calc(50% - 24px); + font-weight: bold; + font-size: 30px; + line-height: 30px; + text-align: center; + border: none; + appearance: none; + -moz-appearance: none; + -webkit-appearance: none; } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .abilities-container - .attribute - .attribute-image - .attribute-value.negative { - left: calc(50% - 29px); +.daggerheart.sheet.pc div[data-application-part] .sheet-body .abilities-container .attribute .attribute-image .attribute-value.negative { + left: calc(50% - 29px); } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .abilities-container - .attribute - .attribute-image - .attribute-value.unselected { - filter: drop-shadow(0 0 3px gold); +.daggerheart.sheet.pc div[data-application-part] .sheet-body .abilities-container .attribute .attribute-image .attribute-value.unselected { + filter: drop-shadow(0 0 3px gold); } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .abilities-container - .attribute - .attribute-image - .attribute-text { - width: 47px; - position: absolute; - top: calc(50% - 22px); - left: calc(50% - 24px); - font-weight: bold; - font-size: 30px; - text-align: center; +.daggerheart.sheet.pc div[data-application-part] .sheet-body .abilities-container .attribute .attribute-image .attribute-text { + width: 47px; + position: absolute; + top: calc(50% - 22px); + left: calc(50% - 24px); + font-weight: bold; + font-size: 30px; + text-align: center; } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .abilities-container - .attribute - .attribute-image - .attribute-text.negative { - left: calc(50% - 29px); +.daggerheart.sheet.pc div[data-application-part] .sheet-body .abilities-container .attribute .attribute-image .attribute-text.negative { + left: calc(50% - 29px); } .daggerheart.sheet.pc div[data-application-part] .sheet-body .abilities-container .attribute .attribute-verb { - font-variant: petite-caps; + font-variant: petite-caps; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .defense-row { - height: 100%; - width: 100%; - display: flex; - align-items: baseline; - justify-content: space-evenly; + height: 100%; + width: 100%; + display: flex; + align-items: baseline; + justify-content: space-evenly; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .defense-row .defense-section { - display: flex; - align-items: center; - margin-right: 8px; + display: flex; + align-items: center; + margin-right: 8px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .defense-row .defense-section .defense-container { - position: relative; - padding: 4px; - max-width: 100px; + position: relative; + padding: 4px; + max-width: 100px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .defense-row .defense-section .defense-container img { - border: none; - max-width: 80px; + border: none; + max-width: 80px; } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .defense-row - .defense-section - .defense-container - .defense-value { - width: 47px; - position: absolute; - top: calc(50% - 22px); - left: calc(50% - 24px); - font-weight: bold; - font-size: 30px; - text-align: center; +.daggerheart.sheet.pc div[data-application-part] .sheet-body .defense-row .defense-section .defense-container .defense-value { + width: 47px; + position: absolute; + top: calc(50% - 22px); + left: calc(50% - 24px); + font-weight: bold; + font-size: 30px; + text-align: center; } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .defense-row - .defense-section - .defense-container - .defense-value:not(:hover), -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .defense-row - .defense-section - .defense-container - .defense-value:not(:focus) { - border: none; +.daggerheart.sheet.pc div[data-application-part] .sheet-body .defense-row .defense-section .defense-container .defense-value:not(:hover), +.daggerheart.sheet.pc div[data-application-part] .sheet-body .defense-row .defense-section .defense-container .defense-value:not(:focus) { + border: none; } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .defense-row - .defense-section - .defense-container - .defense-banner { - position: absolute; - bottom: 20px; - left: calc(50% - 42px); - z-index: 2; - background-color: black; - color: white; - width: 84px; - text-align: center; +.daggerheart.sheet.pc div[data-application-part] .sheet-body .defense-row .defense-section .defense-container .defense-banner { + position: absolute; + bottom: 20px; + left: calc(50% - 42px); + z-index: 2; + background-color: black; + color: white; + width: 84px; + text-align: center; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .defense-row .armor-marks { - max-width: 67px; - padding: 4px; - align-self: end; - margin-left: 4px; + max-width: 67px; + padding: 4px; + align-self: end; + margin-left: 4px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .defense-row .armor-marks .mark { - width: 16px; - height: 16px; - margin: 0px; + width: 16px; + height: 16px; + margin: 0px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .defense-row .armor-marks .disabled-mark { - opacity: 0.6; + opacity: 0.6; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .left-main-container { - position: relative; - display: flex; - flex-direction: column; - align-items: flex-start; - border-radius: 6px; + position: relative; + display: flex; + flex-direction: column; + align-items: flex-start; + border-radius: 6px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .left-main-container .legend { - margin-left: auto; - margin-right: auto; - font-weight: bold; - text-transform: uppercase; - padding: 0 4px; - position: relative; + margin-left: auto; + margin-right: auto; + font-weight: bold; + text-transform: uppercase; + padding: 0 4px; + position: relative; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .weapon-section { - padding-top: 8px; + padding-top: 8px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .threshold-container { - position: relative; - display: flex; - align-items: center; - align-self: center; + position: relative; + display: flex; + align-items: center; + align-self: center; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .threshold-container .threshold-box { - position: relative; - width: 30px; - height: 30px; - border: 2px solid black; - display: flex; - align-items: center; - justify-content: center; - font-size: 20px; - font-weight: bold; + position: relative; + width: 30px; + height: 30px; + border: 2px solid black; + display: flex; + align-items: center; + justify-content: center; + font-size: 20px; + font-weight: bold; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .threshold-container .threshold-spacer { - position: relative; - z-index: 2; - width: 70px; - height: 18px; - background-color: darkgray; - color: white; - display: flex; - justify-content: center; - align-items: center; + position: relative; + z-index: 2; + width: 70px; + height: 18px; + background-color: darkgray; + color: white; + display: flex; + justify-content: center; + align-items: center; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .resource-label { - text-transform: uppercase; - font-weight: bold; + text-transform: uppercase; + font-weight: bold; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .death-save { - position: absolute; - right: -22px; + position: absolute; + right: -22px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .death-save:hover:not(.disabled) { - filter: drop-shadow(0 0 3px red); - cursor: pointer; + filter: drop-shadow(0 0 3px red); + cursor: pointer; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .death-save.disabled { - opacity: 0.4; + opacity: 0.4; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .resource-box { - width: 20px; - height: 12px; + width: 20px; + height: 12px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .resource-box.stress:nth-child(even) { - position: relative; - right: 1px; + position: relative; + right: 1px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .resource-box .disabled { - opacity: 0.6; + opacity: 0.6; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .hope-text { - font-size: 11.7px; - margin-right: 6px; + font-size: 11.7px; + margin-right: 6px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .hope-container { - background: darkgray; - border-radius: 6px; - display: flex; - padding: 2px 0px; + background: darkgray; + border-radius: 6px; + display: flex; + padding: 2px 0px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .hope-container .vertical-separator { - border-left: 2px solid white; - height: auto; - margin: 4px 0; - flex: 0; + border-left: 2px solid white; + height: auto; + margin: 4px 0; + flex: 0; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .hope-container .hope-inner-container { - position: relative; + position: relative; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .hope-container .hope-inner-container .hope-value { - width: 16px; - height: 16px; + width: 16px; + height: 16px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .hope-container .hope-inner-container .hope-scar { - position: absolute; - top: calc(50% - 6px); - left: calc(50% - 7px); - opacity: 0.4; - font-size: 12px; - -webkit-transform: scaleX(-1); - transform: scaleX(-1); + position: absolute; + top: calc(50% - 6px); + left: calc(50% - 7px); + opacity: 0.4; + font-size: 12px; + -webkit-transform: scaleX(-1); + transform: scaleX(-1); } .daggerheart.sheet.pc div[data-application-part] .sheet-body .experience-row { - width: 100%; - display: flex; - align-items: flex-end; + width: 100%; + display: flex; + align-items: flex-end; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .experience-row .experience-selector { - font-size: 18px; - cursor: pointer; - margin-right: 4px; - opacity: 0.5; + font-size: 18px; + cursor: pointer; + margin-right: 4px; + opacity: 0.5; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .experience-row .experience-selector:hover:not(.selected) { - filter: drop-shadow(0 0 3px gold); + filter: drop-shadow(0 0 3px gold); } .daggerheart.sheet.pc div[data-application-part] .sheet-body .experience-row .experience-selector.selected { - filter: drop-shadow(0 0 3px gold); - opacity: 1; + filter: drop-shadow(0 0 3px gold); + opacity: 1; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .experience-row .experience-value { - margin-left: 8px; - width: 30px; - border-bottom: 2px solid black; - border-radius: 4px; - text-align: center; - font-weight: bold; + margin-left: 8px; + width: 30px; + border-bottom: 2px solid black; + border-radius: 4px; + text-align: center; + font-weight: bold; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .experience-row .experience-value.empty { - border: 0; + border: 0; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .experience-row .disabled-experience { - border: 1px solid #7a7971; - background: rgba(0, 0, 0, 0.2); + border: 1px solid #7a7971; + background: rgba(0, 0, 0, 0.2); } .daggerheart.sheet.pc div[data-application-part] .sheet-body .gold-section { - width: calc(100% - 8px); - display: flex; - justify-content: space-between; + width: calc(100% - 8px); + display: flex; + justify-content: space-between; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .gold-section fieldset.gold-fieldset { - padding-right: 0; - padding-left: 0; - padding-bottom: 4px; + padding-right: 0; + padding-left: 0; + padding-bottom: 4px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .gold-section fieldset.gold-fieldset legend { - margin-left: auto; - margin-right: auto; - font-size: 15px; - font-variant: all-petite-caps; - font-weight: bold; + margin-left: auto; + margin-right: auto; + font-size: 15px; + font-variant: all-petite-caps; + font-weight: bold; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .gold-section fieldset.gold-fieldset .gold-column { - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - height: 100%; - gap: 4px; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + height: 100%; + gap: 4px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .gold-section fieldset.gold-fieldset .gold-row { - display: flex; - align-items: center; - justify-content: center; - padding: 0 4px; - gap: 2px; + display: flex; + align-items: center; + justify-content: center; + padding: 0 4px; + gap: 2px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .gold-section fieldset.gold-fieldset .gold-row img, .daggerheart.sheet.pc div[data-application-part] .sheet-body .gold-section fieldset.gold-fieldset .gold-column img { - min-width: 14px; - min-height: 14px; - height: 14px; - border: 0; - filter: invert(0%) sepia(100%) saturate(0%) hue-rotate(21deg) brightness(17%) contrast(103%); + min-width: 14px; + min-height: 14px; + height: 14px; + border: 0; + filter: invert(0%) sepia(100%) saturate(0%) hue-rotate(21deg) brightness(17%) contrast(103%); } .daggerheart.sheet.pc div[data-application-part] .sheet-body .gold-section fieldset.gold-fieldset .gold-row img:hover, -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .gold-section - fieldset.gold-fieldset - .gold-column - img:hover { - cursor: pointer; - filter: invert(0%) sepia(100%) saturate(0%) hue-rotate(21deg) brightness(17%) contrast(103%) - drop-shadow(0 0 3px red); +.daggerheart.sheet.pc div[data-application-part] .sheet-body .gold-section fieldset.gold-fieldset .gold-column img:hover { + cursor: pointer; + filter: invert(0%) sepia(100%) saturate(0%) hue-rotate(21deg) brightness(17%) contrast(103%) drop-shadow(0 0 3px red); } .daggerheart.sheet.pc div[data-application-part] .sheet-body .gold-section fieldset.gold-fieldset .gold-row i:hover, .daggerheart.sheet.pc div[data-application-part] .sheet-body .gold-section fieldset.gold-fieldset .gold-column i:hover { - cursor: pointer; - filter: drop-shadow(0 0 3px red); + cursor: pointer; + filter: drop-shadow(0 0 3px red); } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .gold-section - fieldset.gold-fieldset - .gold-row - img:not(.owned), -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .gold-section - fieldset.gold-fieldset - .gold-column - img:not(.owned), -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .gold-section - fieldset.gold-fieldset - .gold-row - i:not(.owned), -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .gold-section - fieldset.gold-fieldset - .gold-column - i:not(.owned) { - opacity: 0.4; +.daggerheart.sheet.pc div[data-application-part] .sheet-body .gold-section fieldset.gold-fieldset .gold-row img:not(.owned), +.daggerheart.sheet.pc div[data-application-part] .sheet-body .gold-section fieldset.gold-fieldset .gold-column img:not(.owned), +.daggerheart.sheet.pc div[data-application-part] .sheet-body .gold-section fieldset.gold-fieldset .gold-row i:not(.owned), +.daggerheart.sheet.pc div[data-application-part] .sheet-body .gold-section fieldset.gold-fieldset .gold-column i:not(.owned) { + opacity: 0.4; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .health-category { - text-transform: uppercase; + text-transform: uppercase; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .class-feature-selectable { - cursor: pointer; + cursor: pointer; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .class-feature-selectable:hover { - filter: drop-shadow(0 0 3px red); + filter: drop-shadow(0 0 3px red); } .daggerheart.sheet.pc div[data-application-part] .sheet-body .class-feature-selectable.inactive { - opacity: 0.5; + opacity: 0.5; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .features-container { - width: 100%; - min-height: 136px; + width: 100%; + min-height: 136px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .features-container .feature-container { - display: flex; - align-items: center; - justify-content: space-between; - padding: 4px; - margin-bottom: 0; + display: flex; + align-items: center; + justify-content: space-between; + padding: 4px; + margin-bottom: 0; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .features-container .feature-container .feature-img { - max-width: 42px; + max-width: 42px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .features-container .feature-container .feature-label { - font-weight: bold; - font-size: 30px; + font-weight: bold; + font-size: 30px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .features-container .feature-container button { - flex: 0; + flex: 0; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .features-container .feature-tick-container { - flex: 0; - min-width: 56px; - display: flex; - flex-wrap: wrap; - gap: 8px; - margin: 0 24px; + flex: 0; + min-width: 56px; + display: flex; + flex-wrap: wrap; + gap: 8px; + margin: 0 24px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .features-container .feature-tick-container .feature-tick { - position: relative; - border: 2px solid #7a7971; - height: 24px; - border-radius: 50%; - width: 24px; - background: rgba(0, 0, 0, 0.05); - display: flex; - justify-content: center; + position: relative; + border: 2px solid #7a7971; + height: 24px; + border-radius: 50%; + width: 24px; + background: rgba(0, 0, 0, 0.05); + display: flex; + justify-content: center; } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .features-container - .feature-tick-container - .feature-tick:hover:not(.disabled):not(.used) { - cursor: pointer; - filter: drop-shadow(0 0 3px red); +.daggerheart.sheet.pc div[data-application-part] .sheet-body .features-container .feature-tick-container .feature-tick:hover:not(.disabled):not(.used) { + cursor: pointer; + filter: drop-shadow(0 0 3px red); } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .features-container - .feature-tick-container - .feature-tick.disabled { - opacity: 0.3; +.daggerheart.sheet.pc div[data-application-part] .sheet-body .features-container .feature-tick-container .feature-tick.disabled { + opacity: 0.3; } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .features-container - .feature-tick-container - .feature-tick - img { - border: 0; - width: 24px; - height: 24px; - filter: invert(17%) sepia(0%) saturate(0%) hue-rotate(19deg) brightness(102%) contrast(84%); +.daggerheart.sheet.pc div[data-application-part] .sheet-body .features-container .feature-tick-container .feature-tick img { + border: 0; + width: 24px; + height: 24px; + filter: invert(17%) sepia(0%) saturate(0%) hue-rotate(19deg) brightness(102%) contrast(84%); } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .features-container - .feature-tick-container - .feature-tick - .feature-dice-value { - font-size: 18px; - align-self: center; +.daggerheart.sheet.pc div[data-application-part] .sheet-body .features-container .feature-tick-container .feature-tick .feature-dice-value { + font-size: 18px; + align-self: center; } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .features-container - .feature-tick-container - .feature-tick.used::after { - position: absolute; - content: '/'; - color: #7a7971; - font-weight: 700; - font-size: 1.7em; - left: 4px; - top: -5px; - transform: rotate(25deg); - font-size: 24.5px; +.daggerheart.sheet.pc div[data-application-part] .sheet-body .features-container .feature-tick-container .feature-tick.used::after { + position: absolute; + content: '/'; + color: #7a7971; + font-weight: 700; + font-size: 1.7em; + left: 4px; + top: -5px; + transform: rotate(25deg); + font-size: 24.5px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .feature-input { - border: 0; - border-bottom: 1px solid #7a7971; - text-align: center; - height: min-content; - background: inherit; - font-size: 20px; - position: relative; - bottom: 3px; + border: 0; + border-bottom: 1px solid #7a7971; + text-align: center; + height: min-content; + background: inherit; + font-size: 20px; + position: relative; + bottom: 3px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .editor { - height: 400px; - width: 100%; + height: 400px; + width: 100%; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .weapons-title { - position: relative; - display: flex; - flex-direction: column; - align-items: center; + position: relative; + display: flex; + flex-direction: column; + align-items: center; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .weapons-title .proficiency-container { - width: 176px; - height: 20px; - position: absolute; - bottom: -15px; - left: calc(50% - 88px); - text-transform: uppercase; - display: flex; - align-items: center; - justify-content: center; - z-index: 1; - clip-path: polygon(11% 100%, 89% 100%, 100% 0%, 0% 0%); - font-size: 10px; + width: 176px; + height: 20px; + position: absolute; + bottom: -15px; + left: calc(50% - 88px); + text-transform: uppercase; + display: flex; + align-items: center; + justify-content: center; + z-index: 1; + clip-path: polygon(11% 100%, 89% 100%, 100% 0%, 0% 0%); + font-size: 10px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .weapons-title .proficiency-container span { - margin-right: 2px; + margin-right: 2px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .weapons-title .proficiency-container .proficiency-dot { - background: white; - color: white; - font-size: 10px; - padding: 1px; - border-radius: 50%; + background: white; + color: white; + font-size: 10px; + padding: 1px; + border-radius: 50%; } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .weapons-title - .proficiency-container - .proficiency-dot.marked { - color: black; +.daggerheart.sheet.pc div[data-application-part] .sheet-body .weapons-title .proficiency-container .proficiency-dot.marked { + color: black; } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .weapons-title - .proficiency-container - .proficiency-dot:not(:last-of-type) { - margin-right: 2px; +.daggerheart.sheet.pc div[data-application-part] .sheet-body .weapons-title .proficiency-container .proficiency-dot:not(:last-of-type) { + margin-right: 2px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .weapons-burden { - position: absolute; - top: -4px; - right: -56px; - display: flex; - align-items: center; + position: absolute; + top: -4px; + right: -56px; + display: flex; + align-items: center; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .weapons-burden .weapons-burden-icon { - color: white; - font-size: 22px; - -webkit-text-stroke-width: 1px; - -webkit-text-stroke-color: black; + color: white; + font-size: 22px; + -webkit-text-stroke-width: 1px; + -webkit-text-stroke-color: black; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .weapons-burden .weapons-burden-icon.active { - -webkit-text-stroke-color: rgba(0, 0, 0, 0.05); - color: black; + -webkit-text-stroke-color: rgba(0, 0, 0, 0.05); + color: black; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .weapons-burden .weapons-burden-icon.left { - -webkit-transform: scaleX(-1) rotate(20deg); - transform: scaleX(-1) rotate(20deg); - margin-right: 4px; + -webkit-transform: scaleX(-1) rotate(20deg); + transform: scaleX(-1) rotate(20deg); + margin-right: 4px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .weapons-burden .weapons-burden-icon.right { - transform: rotate(20deg); + transform: rotate(20deg); } .daggerheart.sheet.pc div[data-application-part] .sheet-body .armor-container { - display: flex; - align-items: center; + display: flex; + align-items: center; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .armor-container .active-item-label-chip { - margin-left: 4px; + margin-left: 4px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .item-section .active-item-container { - display: flex; - flex-direction: column; - width: 100%; - padding: 2px 0px; + display: flex; + flex-direction: column; + width: 100%; + padding: 2px 0px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .item-section .active-item-container .weapons-label-row { - display: flex; - align-items: center; + display: flex; + align-items: center; } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .item-section - .active-item-container - .weapons-label-row - .damage-roll { - width: 24px; - border: none; - margin-left: 4px; - transition: transform 0.2s; +.daggerheart.sheet.pc div[data-application-part] .sheet-body .item-section .active-item-container .weapons-label-row .damage-roll { + width: 24px; + border: none; + margin-left: 4px; + transition: transform 0.2s; } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .item-section - .active-item-container - .weapons-label-row - .damage-roll:hover { - transform: rotate(30deg); - filter: drop-shadow(0px 0px 3px red); - cursor: pointer; +.daggerheart.sheet.pc div[data-application-part] .sheet-body .item-section .active-item-container .weapons-label-row .damage-roll:hover { + transform: rotate(30deg); + filter: drop-shadow(0px 0px 3px red); + cursor: pointer; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .item-section .active-item-label-chip { - width: 62px; - border: 2px solid black; - border-radius: 6px; - background-color: #778899; - display: flex; - align-items: center; - justify-content: space-around; - margin-left: 4px; + width: 62px; + border: 2px solid black; + border-radius: 6px; + background-color: #778899; + display: flex; + align-items: center; + justify-content: space-around; + margin-left: 4px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .item-section .active-item-label-chip img { - height: 20px; + height: 20px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .item-section .active-item-label-chip button { - height: 17px; - width: 17px; - border-radius: 50%; - display: flex; - align-items: center; - justify-content: center; - background: #7a7971; - border-color: black; - margin: 0; + height: 17px; + width: 17px; + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + background: #7a7971; + border-color: black; + margin: 0; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .item-section .active-item-label-chip button:hover { - background: red; + background: red; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .item-section .active-item-label-chip button i { - font-size: 10px; - color: black; + font-size: 10px; + color: black; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .inventory-armor-section, .daggerheart.sheet.pc div[data-application-part] .sheet-body .inventory-weapon-section { - width: 100%; - margin-bottom: 8px; - text-transform: uppercase; + width: 100%; + margin-bottom: 8px; + text-transform: uppercase; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .inventory-armor-section h2, .daggerheart.sheet.pc div[data-application-part] .sheet-body .inventory-weapon-section h2 { - width: 100%; - display: flex; - align-items: center; + width: 100%; + display: flex; + align-items: center; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .inventory-legend { - display: flex; - align-items: center; - margin-bottom: 4px; + display: flex; + align-items: center; + margin-bottom: 4px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .inventory-legend .page-selector { - margin-left: 4px; - display: flex; - align-items: center; + margin-left: 4px; + display: flex; + align-items: center; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .inventory-legend .page-selector i:hover:not(.disabled) { - cursor: pointer; - filter: drop-shadow(0px 0px 3px red); + cursor: pointer; + filter: drop-shadow(0px 0px 3px red); } .daggerheart.sheet.pc div[data-application-part] .sheet-body .inventory-legend .page-selector i.disabled { - opacity: 0.4; + opacity: 0.4; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .inventory-add-button { - position: absolute; - border-radius: 50%; - height: 15px; - width: 15px; - top: -20px; - background: grey; - border-color: black; - right: 6px; - display: flex; - font-size: 13px; - align-items: center; - justify-content: center; + position: absolute; + border-radius: 50%; + height: 15px; + width: 15px; + top: -20px; + background: grey; + border-color: black; + right: 6px; + display: flex; + font-size: 13px; + align-items: center; + justify-content: center; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .inventory { - width: 100%; + width: 100%; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .inventory .inventory-row { - height: 26px; - border-bottom: 1px solid #7a7971; - display: flex; - margin-bottom: 8px; - border-radius: 8px; + height: 26px; + border-bottom: 1px solid #7a7971; + display: flex; + margin-bottom: 8px; + border-radius: 8px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .inventory .inventory-row .item-container { - flex-basis: 25%; - margin: 0 4px 8px; - display: flex; - justify-content: center; - align-items: center; - cursor: pointer; + flex-basis: 25%; + margin: 0 4px 8px; + display: flex; + justify-content: center; + align-items: center; + cursor: pointer; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .inventory .inventory-row .item-container:hover { - filter: drop-shadow(0px 0px 3px red); + filter: drop-shadow(0px 0px 3px red); } .daggerheart.sheet.pc div[data-application-part] .sheet-body .inventory .inventory-row .item-container .inventory-item { - background: #778899; - padding: 4px; - border: 1px solid black; - border-radius: 6px; - display: flex; - align-items: center; + background: #778899; + padding: 4px; + border: 1px solid black; + border-radius: 6px; + display: flex; + align-items: center; } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .inventory - .inventory-row - .item-container - .inventory-item - .inventory-item-text { - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; - flex: 1; +.daggerheart.sheet.pc div[data-application-part] .sheet-body .inventory .inventory-row .item-container .inventory-item .inventory-item-text { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + flex: 1; } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .inventory - .inventory-row - .item-container - .inventory-item - button { - height: 16px; - width: 16px; - border-radius: 50%; - display: flex; - align-items: center; - justify-content: center; - flex: 0; - background: #7a7971; - border-color: black; - margin-left: 4px; +.daggerheart.sheet.pc div[data-application-part] .sheet-body .inventory .inventory-row .item-container .inventory-item button { + height: 16px; + width: 16px; + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + flex: 0; + background: #7a7971; + border-color: black; + margin-left: 4px; } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .inventory - .inventory-row - .item-container - .inventory-item - button - i { - font-size: 12px; +.daggerheart.sheet.pc div[data-application-part] .sheet-body .inventory .inventory-row .item-container .inventory-item button i { + font-size: 12px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .inventory .editor { - height: 100px; + height: 100px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .inventory-items { - width: 100%; - flex: 1; - display: flex; - flex-direction: column; - justify-content: space-between; + width: 100%; + flex: 1; + display: flex; + flex-direction: column; + justify-content: space-between; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .domain-card-tab { - flex: 1; + flex: 1; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .domain-card-tab .domain-card-body { - height: 100%; - width: 100%; - padding: 8px; - display: flex; - flex-direction: column; + height: 100%; + width: 100%; + padding: 8px; + display: flex; + flex-direction: column; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .domain-card-tab .domain-card-body .card-row { - flex: 1; - display: flex; + flex: 1; + display: flex; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .domain-card-tab .domain-card-body .domain-card { - flex: 0; - flex-basis: 33.33%; - margin: 8px; + flex: 0; + flex-basis: 33.33%; + margin: 8px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .domain-card-tab .domain-card-body .loadout-body { - flex: 1; + flex: 1; } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .domain-card-tab - .domain-card-body - .loadout-body - .loadout-container { - height: 100%; - display: flex; - flex-direction: column; - gap: 8px; +.daggerheart.sheet.pc div[data-application-part] .sheet-body .domain-card-tab .domain-card-body .loadout-body .loadout-container { + height: 100%; + display: flex; + flex-direction: column; + gap: 8px; } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .domain-card-tab - .domain-card-body - .loadout-body - .loadout-container - .top-card-row { - flex: 1; - display: flex; - justify-content: space-around; +.daggerheart.sheet.pc div[data-application-part] .sheet-body .domain-card-tab .domain-card-body .loadout-body .loadout-container .top-card-row { + flex: 1; + display: flex; + justify-content: space-around; } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .domain-card-tab - .domain-card-body - .loadout-body - .loadout-container - .domain-card.outlined { - border: 2px dotted black; - padding: 0; - margin: 8px; - height: calc(100% - 16px); - display: flex; - flex-direction: column; - align-items: center; - justify-content: space-evenly; +.daggerheart.sheet.pc div[data-application-part] .sheet-body .domain-card-tab .domain-card-body .loadout-body .loadout-container .domain-card.outlined { + border: 2px dotted black; + padding: 0; + margin: 8px; + height: calc(100% - 16px); + display: flex; + flex-direction: column; + align-items: center; + justify-content: space-evenly; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .domain-card-tab .domain-card-body .vault-container { - display: flex; - flex-wrap: wrap; - overflow-y: auto; - height: 100%; + display: flex; + flex-wrap: wrap; + overflow-y: auto; + height: 100%; } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .domain-card-tab - .domain-card-body - .vault-container - .vault-card { - flex: 0; - flex-basis: calc(33.33% - 16px); - margin: 8px; - height: calc(50% - 16px); - min-height: calc(50% - 16px); +.daggerheart.sheet.pc div[data-application-part] .sheet-body .domain-card-tab .domain-card-body .vault-container .vault-card { + flex: 0; + flex-basis: calc(33.33% - 16px); + margin: 8px; + height: calc(50% - 16px); + min-height: calc(50% - 16px); } .daggerheart.sheet.pc div[data-application-part] .sheet-body .domain-card-tab .domain-card-body .domain-card-menu { - flex: 0; - width: 120px; - height: 100%; - border-width: 2px 0 2px 2px; - border-color: black; - border-style: solid; + flex: 0; + width: 120px; + height: 100%; + border-width: 2px 0 2px 2px; + border-color: black; + border-style: solid; } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .domain-card-tab - .domain-card-body - .domain-card-menu - button { - margin-bottom: 2px; +.daggerheart.sheet.pc div[data-application-part] .sheet-body .domain-card-tab .domain-card-body .domain-card-menu button { + margin-bottom: 2px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .loadout-tabs { - border-top: 1px solid #b5b3a4; - border-bottom: 1px solid #b5b3a4; + border-top: 1px solid #b5b3a4; + border-bottom: 1px solid #b5b3a4; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .abilities-card { - position: relative; - border: 4px solid #708090; - border-radius: 6px; - display: flex; - flex-direction: column; - height: 100%; - font-size: 14px; + position: relative; + border: 4px solid #708090; + border-radius: 6px; + display: flex; + flex-direction: column; + height: 100%; + font-size: 14px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .abilities-card .abilities-card-image-container { - position: relative; + position: relative; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .abilities-card .abilities-card-image { - width: 100%; - height: 100%; - aspect-ratio: 2; + width: 100%; + height: 100%; + aspect-ratio: 2; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .abilities-card .abilities-text-container { - flex: 1; - position: relative; - height: 50%; - display: flex; - flex-direction: column; - overflow-y: auto; - padding: 12px 4px 4px; + flex: 1; + position: relative; + height: 50%; + display: flex; + flex-direction: column; + overflow-y: auto; + padding: 12px 4px 4px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .abilities-card .abilities-card-level { - position: absolute; - top: 0; - left: 12px; - color: black; - height: 60px; - border: 2px solid orange; - border-top-width: 0; - width: 30px; - display: flex; - flex-direction: column; - align-items: center; - justify-content: space-evenly; - background: grey; - font-size: 20px; - font-weight: bold; + position: absolute; + top: 0; + left: 12px; + color: black; + height: 60px; + border: 2px solid orange; + border-top-width: 0; + width: 30px; + display: flex; + flex-direction: column; + align-items: center; + justify-content: space-evenly; + background: grey; + font-size: 20px; + font-weight: bold; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .abilities-card .abilities-card-level img { - border: 0; - width: 20px; + border: 0; + width: 20px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .abilities-card .abilities-card-refresh-cost { - position: absolute; - top: 12px; - right: 12px; - color: white; - width: 30px; - height: 30px; - border: 2px solid orange; - border-radius: 50%; - display: flex; - align-items: center; - justify-content: center; - background: black; - font-size: 14px; + position: absolute; + top: 12px; + right: 12px; + color: white; + width: 30px; + height: 30px; + border: 2px solid orange; + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + background: black; + font-size: 14px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .abilities-card .abilities-card-refresh-cost i { - font-size: 11px; + font-size: 11px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .abilities-card .abilities-card-type { - flex: 0; - display: flex; - justify-content: center; - align-items: center; - font-weight: bold; - position: absolute; - left: 0; - text-align: center; - width: 100%; - bottom: -9px; - z-index: 1; + flex: 0; + display: flex; + justify-content: center; + align-items: center; + font-weight: bold; + position: absolute; + left: 0; + text-align: center; + width: 100%; + bottom: -9px; + z-index: 1; } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .abilities-card - .abilities-card-type - .abilities-card-type-text { - padding: 0px 4px; - border: 1px solid black; - border-radius: 6px; - background: gold; +.daggerheart.sheet.pc div[data-application-part] .sheet-body .abilities-card .abilities-card-type .abilities-card-type-text { + padding: 0px 4px; + border: 1px solid black; + border-radius: 6px; + background: gold; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .abilities-card .abilities-card-title { - flex: 0; - display: flex; - justify-content: center; - align-items: center; - font-weight: bold; - font-size: 18px; + flex: 0; + display: flex; + justify-content: center; + align-items: center; + font-weight: bold; + font-size: 18px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .abilities-card .abilities-card-sub-title { - flex: 0; - display: flex; - justify-content: center; - align-items: center; - font-style: italic; - font-size: 12px; + flex: 0; + display: flex; + justify-content: center; + align-items: center; + font-style: italic; + font-size: 12px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .abilities-card .abilities-card-spellcast { - flex: 0; - display: flex; - justify-content: center; - align-items: center; - text-transform: uppercase; - font-size: 12px; + flex: 0; + display: flex; + justify-content: center; + align-items: center; + text-transform: uppercase; + font-size: 12px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .abilities-card .abilities-card-spellcast .title { - font-weight: bold; + font-weight: bold; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .abilities-card .abilities-card-description { - flex: 0; - font-size: 12px; - margin-bottom: 4px; + flex: 0; + font-size: 12px; + margin-bottom: 4px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .abilities-card .abilities-card-effect { - cursor: pointer; + cursor: pointer; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .abilities-card .abilities-card-effect:hover { - background: rgba(47, 79, 79, 0.25); + background: rgba(47, 79, 79, 0.25); } .daggerheart.sheet.pc div[data-application-part] .sheet-body .abilities-card .abilities-card-effect > * { - margin-top: 0; - margin-bottom: 0; + margin-top: 0; + margin-bottom: 0; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .abilities-card .abilities-card-abilities { - flex: 1; - display: flex; - flex-direction: column; - gap: 4px; + flex: 1; + display: flex; + flex-direction: column; + gap: 4px; } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .abilities-card - .abilities-card-abilities - .abilities-card-ability { - font-size: 12px; - cursor: pointer; +.daggerheart.sheet.pc div[data-application-part] .sheet-body .abilities-card .abilities-card-abilities .abilities-card-ability { + font-size: 12px; + cursor: pointer; } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .abilities-card - .abilities-card-abilities - .abilities-card-ability:hover { - background: rgba(47, 79, 79, 0.25); +.daggerheart.sheet.pc div[data-application-part] .sheet-body .abilities-card .abilities-card-abilities .abilities-card-ability:hover { + background: rgba(47, 79, 79, 0.25); } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .abilities-card - .abilities-card-abilities - .abilities-card-ability - > * { - margin: 0; +.daggerheart.sheet.pc div[data-application-part] .sheet-body .abilities-card .abilities-card-abilities .abilities-card-ability > * { + margin: 0; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .abilities-card:hover .abilities-card-menu { - height: 40px; - left: 0px; + height: 40px; + left: 0px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .abilities-card .abilities-card-menu { - display: flex; - justify-content: center; - align-items: center; - height: 0; - transition: height 0.2s; - overflow: hidden; - position: absolute; - bottom: 0; - z-index: 2; - width: 100%; - background: grey; + display: flex; + justify-content: center; + align-items: center; + height: 0; + transition: height 0.2s; + overflow: hidden; + position: absolute; + bottom: 0; + z-index: 2; + width: 100%; + background: grey; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .abilities-card .abilities-card-menu button { - font-weight: bold; + font-weight: bold; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .heritage-container { - height: 100%; - display: flex; - flex-direction: column; - gap: 8px; + height: 100%; + display: flex; + flex-direction: column; + gap: 8px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .heritage-container .card-row { - height: 50%; - display: flex; - justify-content: space-around; + height: 50%; + display: flex; + justify-content: space-around; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .heritage-container .heritage-card { - flex-basis: 33.33%; - margin: 8px; - display: flex; - align-items: center; - justify-content: center; + flex-basis: 33.33%; + margin: 8px; + display: flex; + align-items: center; + justify-content: center; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .heritage-container .heritage-card.outlined { - border: 2px dotted black; - font-size: 25px; + border: 2px dotted black; + font-size: 25px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .empty-ability-container { - height: 100%; - display: flex; - flex-direction: column; - align-items: center; - font-size: 25px; - opacity: 0.7; + height: 100%; + display: flex; + flex-direction: column; + align-items: center; + font-size: 25px; + opacity: 0.7; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .empty-ability-container .empty-ability-inner-container { - flex: 1; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; + flex: 1; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .empty-ability-container .empty-ability-inner-container i { - font-size: 48px; + font-size: 48px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .story-container { - gap: 16px; + gap: 16px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .story-container .story-fieldset { - border-radius: 6px; + border-radius: 6px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .story-container .story-legend { - margin-left: auto; - margin-right: auto; - padding: 0 8px; - font-size: 30px; - font-weight: bold; + margin-left: auto; + margin-right: auto; + padding: 0 8px; + font-size: 30px; + font-weight: bold; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .story-container .scars-container .editor { - height: 240px; + height: 240px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .inventory-container { - height: 100%; - overflow: auto; + height: 100%; + overflow: auto; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .inventory-container .inventory-item-list { - list-style-type: none; - padding: 0 8px; - margin-top: 0; + list-style-type: none; + padding: 0 8px; + margin-top: 0; } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .inventory-container - .inventory-item-list.inventory-item-header { - margin-bottom: 0; +.daggerheart.sheet.pc div[data-application-part] .sheet-body .inventory-container .inventory-item-list.inventory-item-header { + margin-bottom: 0; } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .inventory-container - .inventory-item-list - .inventory-title-row-container { - display: flex; - align-items: center; - width: 100%; - border-bottom: 4px ridge slategrey; +.daggerheart.sheet.pc div[data-application-part] .sheet-body .inventory-container .inventory-item-list .inventory-title-row-container { + display: flex; + align-items: center; + width: 100%; + border-bottom: 4px ridge slategrey; } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .inventory-container - .inventory-item-list - .inventory-title-row-container - .inventory-title-row { - justify-content: space-between; - flex: 1; +.daggerheart.sheet.pc div[data-application-part] .sheet-body .inventory-container .inventory-item-list .inventory-title-row-container .inventory-title-row { + justify-content: space-between; + flex: 1; } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .inventory-container - .inventory-item-list - .inventory-title-row-container - .inventory-item-title-container { - flex: 1; - display: flex; - align-items: center; - justify-content: flex-start; +.daggerheart.sheet.pc div[data-application-part] .sheet-body .inventory-container .inventory-item-list .inventory-title-row-container .inventory-item-title-container { + flex: 1; + display: flex; + align-items: center; + justify-content: flex-start; } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .inventory-container - .inventory-item-list - .inventory-title-row-container - .inventory-item-quantity { - width: 48px; - display: flex; - align-items: center; - margin-right: 96px; +.daggerheart.sheet.pc div[data-application-part] .sheet-body .inventory-container .inventory-item-list .inventory-title-row-container .inventory-item-quantity { + width: 48px; + display: flex; + align-items: center; + margin-right: 96px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .inventory-container .inventory-item-list .inventory-item { - background: crimson; + background: crimson; } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .inventory-container - .inventory-item-list - .inventory-item:not(:last-of-type) { - border-bottom: 2px ridge slategrey; +.daggerheart.sheet.pc div[data-application-part] .sheet-body .inventory-container .inventory-item-list .inventory-item:not(:last-of-type) { + border-bottom: 2px ridge slategrey; } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .inventory-container - .inventory-item-list - .inventory-item - .inventory-item-title-container { - flex: 1; - display: flex; - align-items: center; - justify-content: flex-start; +.daggerheart.sheet.pc div[data-application-part] .sheet-body .inventory-container .inventory-item-list .inventory-item .inventory-item-title-container { + flex: 1; + display: flex; + align-items: center; + justify-content: flex-start; } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .inventory-container - .inventory-item-list - .inventory-item - .inventory-item-title-container - .inventory-item-title { - display: flex; - align-items: center; - cursor: pointer; +.daggerheart.sheet.pc div[data-application-part] .sheet-body .inventory-container .inventory-item-list .inventory-item .inventory-item-title-container .inventory-item-title { + display: flex; + align-items: center; + cursor: pointer; } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .inventory-container - .inventory-item-list - .inventory-item - .inventory-item-title-container - .inventory-item-title:hover { - filter: drop-shadow(0 0 3px gold); +.daggerheart.sheet.pc div[data-application-part] .sheet-body .inventory-container .inventory-item-list .inventory-item .inventory-item-title-container .inventory-item-title:hover { + filter: drop-shadow(0 0 3px gold); } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .inventory-container - .inventory-item-list - .inventory-item - .inventory-item-quantity { - width: 48px; - display: flex; - align-items: center; +.daggerheart.sheet.pc div[data-application-part] .sheet-body .inventory-container .inventory-item-list .inventory-item .inventory-item-quantity { + width: 48px; + display: flex; + align-items: center; } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .inventory-container - .inventory-item-list - .inventory-item - .inventory-item-quantity.spaced { - margin-right: 56px; +.daggerheart.sheet.pc div[data-application-part] .sheet-body .inventory-container .inventory-item-list .inventory-item .inventory-item-quantity.spaced { + margin-right: 56px; } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .inventory-container - .inventory-item-list - .inventory-item - .inventory-item-quantity - input { - margin: 0 2px; - border: 0; - border-bottom: 2px solid black; +.daggerheart.sheet.pc div[data-application-part] .sheet-body .inventory-container .inventory-item-list .inventory-item .inventory-item-quantity input { + margin: 0 2px; + border: 0; + border-bottom: 2px solid black; } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .inventory-container - .inventory-item-list - .inventory-item - .inventory-item-quantity - i { - font-size: 20px; +.daggerheart.sheet.pc div[data-application-part] .sheet-body .inventory-container .inventory-item-list .inventory-item .inventory-item-quantity i { + font-size: 20px; } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .inventory-container - .inventory-item-list - .inventory-title-row { - font-size: 20px; - font-weight: bold; - display: flex; - align-items: center; - padding: 0 4px; +.daggerheart.sheet.pc div[data-application-part] .sheet-body .inventory-container .inventory-item-list .inventory-title-row { + font-size: 20px; + font-weight: bold; + display: flex; + align-items: center; + padding: 0 4px; } .daggerheart.sheet.pc div[data-application-part] .sheet-body .inventory-container .inventory-item-list .inventory-row { - display: flex; - align-items: center; - padding: 4px; - font-size: 24px; + display: flex; + align-items: center; + padding: 4px; + font-size: 24px; } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .inventory-container - .inventory-item-list - .inventory-row - .row-icon { - margin-left: 4px; +.daggerheart.sheet.pc div[data-application-part] .sheet-body .inventory-container .inventory-item-list .inventory-row .row-icon { + margin-left: 4px; } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .inventory-container - .inventory-item-list - .inventory-row - .active-item { - position: absolute; - font-size: 16px; - left: calc(50% - 8px); - top: calc(50% - 8px); - margin-left: 2px; - color: crimson; +.daggerheart.sheet.pc div[data-application-part] .sheet-body .inventory-container .inventory-item-list .inventory-row .active-item { + position: absolute; + font-size: 16px; + left: calc(50% - 8px); + top: calc(50% - 8px); + margin-left: 2px; + color: crimson; } -.daggerheart.sheet.pc - div[data-application-part] - .sheet-body - .inventory-container - .inventory-item-list - .inventory-row - img { - width: 32px; +.daggerheart.sheet.pc div[data-application-part] .sheet-body .inventory-container .inventory-item-list .inventory-row img { + width: 32px; } .combat-sidebar .encounter-gm-resources { - flex: 0; - display: flex; - justify-content: center; - padding: 8px 0; + flex: 0; + display: flex; + justify-content: center; + padding: 8px 0; } .combat-sidebar .encounter-gm-resources .gm-resource-controls { - display: flex; - flex-direction: column; - align-items: center; - padding: 0 4px; - justify-content: center; + display: flex; + flex-direction: column; + align-items: center; + padding: 0 4px; + justify-content: center; } .combat-sidebar .encounter-gm-resources .gm-resource-tools { - display: flex; - flex-direction: column; - justify-content: center; - padding: 0 5px 0 4px; + display: flex; + flex-direction: column; + justify-content: center; + padding: 0 5px 0 4px; } .combat-sidebar .encounter-gm-resources .gm-resource-tools i { - margin: 0 2px; - font-size: 16px; + margin: 0 2px; + font-size: 16px; } .combat-sidebar .encounter-gm-resources .gm-resource-tools i.disabled { - opacity: 0.6; + opacity: 0.6; } .combat-sidebar .encounter-gm-resources .gm-resource-tools i:hover:not(.disabled) { - cursor: pointer; - filter: drop-shadow(0 0 3px red); + cursor: pointer; + filter: drop-shadow(0 0 3px red); } .combat-sidebar .encounter-gm-resources .gm-resource { - background: rgba(255, 255, 255, 0.1); - padding: 4px; - border-radius: 8px; - border: 2px solid black; - font-size: 20px; + background: rgba(255, 255, 255, 0.1); + padding: 4px; + border-radius: 8px; + border: 2px solid black; + font-size: 20px; } .combat-sidebar .token-action-tokens { - flex: 0 0 48px; - text-align: center; + flex: 0 0 48px; + text-align: center; } .combat-sidebar .token-action-tokens .use-action-token.disabled { - opacity: 0.6; + opacity: 0.6; } .combat-sidebar .icon-button.spaced { - margin-left: 4px; + margin-left: 4px; } .combat-sidebar .icon-button.disabled { - opacity: 0.6; + opacity: 0.6; } .combat-sidebar .icon-button:hover:not(.disabled) { - cursor: pointer; - filter: drop-shadow(0 0 3px red); + cursor: pointer; + filter: drop-shadow(0 0 3px red); } .daggerheart.chat.downtime { - display: flex; - flex-direction: column; - align-items: center; + display: flex; + flex-direction: column; + align-items: center; } .daggerheart.chat.downtime .downtime-title-container { - display: flex; - flex-direction: column; - align-items: center; + display: flex; + flex-direction: column; + align-items: center; } .daggerheart.chat.downtime .downtime-title-container .downtime-subtitle { - font-size: 17px; + font-size: 17px; } .daggerheart.chat.downtime .downtime-image { - width: 80px; + width: 80px; } .daggerheart.chat.downtime .downtime-refresh-container { - margin-top: 8px; - width: 100%; + margin-top: 8px; + width: 100%; } .daggerheart.chat.downtime .downtime-refresh-container .refresh-title { - font-weight: bold; + font-weight: bold; } .daggerheart.chat.roll .dice-tooltip .dice-rolls { - display: flex; - align-items: center; - justify-content: space-around; + display: flex; + align-items: center; + justify-content: space-around; } .daggerheart.chat.roll .dice-tooltip .dice-rolls .dice-hope-container { - display: flex; + display: flex; } .daggerheart.chat.roll .dice-tooltip .dice-rolls .dice-hope-container .roll.die:not(:last-of-type) { - margin-right: 8px; + margin-right: 8px; } .daggerheart.chat.roll .dice-tooltip .dice-rolls .modifiers-container { - display: flex; + display: flex; } .daggerheart.chat.roll .dice-tooltip .dice-rolls .modifiers-container .modifier-value:not(:last-of-type) { - margin-right: 8px; + margin-right: 8px; } .daggerheart.chat.roll .dice-tooltip .dice-rolls .roll.die.hope { - color: white; - -webkit-text-stroke-color: #008080; - -webkit-text-stroke-width: 1.5px; - font-weight: 400; + color: white; + -webkit-text-stroke-color: #008080; + -webkit-text-stroke-width: 1.5px; + font-weight: 400; } .daggerheart.chat.roll .dice-tooltip .dice-rolls .roll.die.fear { - color: white; - -webkit-text-stroke-color: #430070; - -webkit-text-stroke-width: 1.5px; - font-weight: 400; + color: white; + -webkit-text-stroke-color: #430070; + -webkit-text-stroke-width: 1.5px; + font-weight: 400; } .daggerheart.chat.roll .dice-tooltip .dice-rolls .roll.die.disadvantage { - color: white; - -webkit-text-stroke-color: #b30000; - -webkit-text-stroke-width: 1.5px; - font-weight: 400; + color: white; + -webkit-text-stroke-color: #b30000; + -webkit-text-stroke-width: 1.5px; + font-weight: 400; } .daggerheart.chat.roll .dice-tooltip .dice-rolls .roll.die.advantage { - color: white; - -webkit-text-stroke-color: green; - -webkit-text-stroke-width: 1.5px; - font-weight: 400; + color: white; + -webkit-text-stroke-color: green; + -webkit-text-stroke-width: 1.5px; + font-weight: 400; } .daggerheart.chat.roll .dice-tooltip .dice-rolls .roll.die.unused { - opacity: 0.3; + opacity: 0.3; } .daggerheart.chat.roll .dice-tooltip .dice-rolls .modifier-value { - text-align: center; - font-weight: bold; - font-size: 16px; + text-align: center; + font-weight: bold; + font-size: 16px; } .daggerheart.chat.roll .dice-total .dice-total-value .hope { - color: #008080; + color: #008080; } .daggerheart.chat.roll .dice-total .dice-total-value .fear { - color: #430070; + color: #430070; } .daggerheart.chat.roll .dice-total .dice-total-value .critical { - color: #ffd700; + color: #ffd700; } .daggerheart.chat.roll .dice-total-label { - font-size: 12px; - font-weight: bold; - font-variant: all-small-caps; - margin: -8px 0; + font-size: 12px; + font-weight: bold; + font-variant: all-small-caps; + margin: -8px 0; } .daggerheart.chat.roll .target-section { - margin-top: 5px; + margin-top: 5px; } .daggerheart.chat.roll .target-section .target-container { - display: flex; - transition: all 0.2s ease-in-out; + display: flex; + transition: all 0.2s ease-in-out; } .daggerheart.chat.roll .target-section .target-container:hover { - filter: drop-shadow(0 0 3px gold); - border-color: gold; + filter: drop-shadow(0 0 3px gold); + border-color: gold; } .daggerheart.chat.roll .target-section .target-container.hidden { - display: none; - border: 0; + display: none; + border: 0; } .daggerheart.chat.roll .target-section .target-container.hit { - background: #008000; + background: #008000; } .daggerheart.chat.roll .target-section .target-container.miss { - background: #ff0000; + background: #ff0000; } .daggerheart.chat.roll .target-section .target-container img { - flex: 0; - width: 22px; - height: 22px; - margin-left: 8px; - align-self: center; - border-color: transparent; + flex: 0; + width: 22px; + height: 22px; + margin-left: 8px; + align-self: center; + border-color: transparent; } .daggerheart.chat.roll .target-section .target-container .target-inner-container { - flex: 1; - display: flex; - justify-content: center; - margin-right: 32px; + flex: 1; + display: flex; + justify-content: center; + margin-right: 32px; } .daggerheart.chat.roll .roll-damage-button { - margin-top: 5px; + margin-top: 5px; } .daggerheart.chat.domain-card { - display: flex; - flex-direction: column; - align-items: center; + display: flex; + flex-direction: column; + align-items: center; } .daggerheart.chat.domain-card .domain-card-title { - width: 100%; - display: flex; - flex-direction: column; - align-items: center; + width: 100%; + display: flex; + flex-direction: column; + align-items: center; } .daggerheart.chat.domain-card .domain-card-title div { - font-size: 20px; - font-variant: small-caps; - font-weight: bold; + font-size: 20px; + font-variant: small-caps; + font-weight: bold; } .daggerheart.chat.domain-card .domain-card-title h2 { - width: 100%; - text-align: center; + width: 100%; + text-align: center; } .daggerheart.chat.domain-card .ability-card-footer { - display: flex; - width: 100%; - margin-top: 8px; - flex-wrap: wrap; + display: flex; + width: 100%; + margin-top: 8px; + flex-wrap: wrap; } .daggerheart.chat.domain-card .ability-card-footer button { - border-radius: 6px; - background: #699969; - border-color: black; - flex-basis: calc(50% - 2px); + border-radius: 6px; + background: #699969; + border-color: black; + flex-basis: calc(50% - 2px); } .daggerheart.chat.domain-card .ability-card-footer button:nth-of-type(n + 3) { - margin-top: 2px; + margin-top: 2px; } .daggerheart.chat.domain-card img { - width: 80px; + width: 80px; } .daggerheart.sheet.feature { - background-color: red; + background-color: red; } .daggerheart.sheet.feature .editable { - display: flex; - flex-direction: column; + display: flex; + flex-direction: column; } .daggerheart.sheet.feature .sheet-body { - flex: 1; - display: flex; - flex-direction: column; + flex: 1; + display: flex; + flex-direction: column; } .daggerheart.sheet.feature .feature-description { - flex: 1; - display: flex; - flex-direction: column; + flex: 1; + display: flex; + flex-direction: column; } .daggerheart.sheet.class .class-feature { - display: flex; + display: flex; } .daggerheart.sheet.class .class-feature img { - width: 40px; + width: 40px; } .daggerheart.sheet.class .class-feature button { - width: 40px; + width: 40px; } .daggerheart.sheet .domain-card-description .editor { - height: 300px; + height: 300px; } .daggerheart.sheet .item-container { - margin-top: 4px; - gap: 4px; - align-items: baseline; + margin-top: 4px; + gap: 4px; + align-items: baseline; } .daggerheart.sheet .item-sidebar { - border-right: 1px groove darkgray; - min-width: 160px; - flex: 0; - padding: 4px; + border-right: 1px groove darkgray; + min-width: 160px; + flex: 0; + padding: 4px; } .daggerheart.sheet .item-sidebar label { - margin-right: 8px; - font-weight: bold; + margin-right: 8px; + font-weight: bold; } .daggerheart.sheet .item-sidebar input[type='checkbox'] { - margin: 0; + margin: 0; } form.daggerheart.views.downtime { - height: auto !important; + height: auto !important; } div.daggerheart.views.death-move { - height: auto !important; + height: auto !important; } div.daggerheart.views.multiclass { - height: auto !important; + height: auto !important; } .daggerheart.views.levelup .levelup-title-container { - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - font-size: 32px; - margin-bottom: 4px; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + font-size: 32px; + margin-bottom: 4px; } .daggerheart.views.levelup .levelup-title-container .level-title { - text-decoration: underline; + text-decoration: underline; } .daggerheart.views.levelup .levelup-title-container .level-display { - display: flex; - align-items: center; + display: flex; + align-items: center; } .daggerheart.views.levelup .levelup-title-container .level-display i { - margin: 0 4px; + margin: 0 4px; } .daggerheart.views.levelup .levelup-section { - display: flex; - align-items: flex-start; - margin-bottom: 8px; - font-size: 11px; + display: flex; + align-items: flex-start; + margin-bottom: 8px; + font-size: 11px; } .daggerheart.views.levelup .levelup-section .levelup-container { - flex: 1; + flex: 1; } .daggerheart.views.levelup .levelup-section .levelup-container:nth-of-type(2) { - padding: 0 4px; + padding: 0 4px; } .daggerheart.views.levelup .levelup-section .levelup-container.disabled { - opacity: 0.2; + opacity: 0.2; } .daggerheart.views.levelup .levelup-section .levelup-container .levelup-inner-container { - height: 700px; - padding: 24px 58px 0; - display: flex; - flex-direction: column; - align-items: center; - position: relative; + height: 700px; + padding: 24px 58px 0; + display: flex; + flex-direction: column; + align-items: center; + position: relative; } .daggerheart.views.levelup .levelup-section .levelup-container .levelup-inner-container .levelup-legend { - margin-left: auto; - margin-right: auto; - font-weight: bold; - z-index: 1; + margin-left: auto; + margin-right: auto; + font-weight: bold; + z-index: 1; } .daggerheart.views.levelup .levelup-section .levelup-container .levelup-inner-container .levelup-info { - background: #778899; - width: 100%; - text-align: center; - position: absolute; - top: -6px; - padding: 8px 0; + background: #778899; + width: 100%; + text-align: center; + position: absolute; + top: -6px; + padding: 8px 0; } .daggerheart.views.levelup .levelup-section .levelup-container .levelup-inner-container .levelup-pretext { - padding: 8px 0; + padding: 8px 0; } .daggerheart.views.levelup .levelup-section .levelup-container .levelup-inner-container .levelup-body { - display: flex; - flex-direction: column; + display: flex; + flex-direction: column; } -.daggerheart.views.levelup - .levelup-section - .levelup-container - .levelup-inner-container - .levelup-body - .levelup-choice-row { - display: flex; - align-items: center; - padding: 4px; +.daggerheart.views.levelup .levelup-section .levelup-container .levelup-inner-container .levelup-body .levelup-choice-row { + display: flex; + align-items: center; + padding: 4px; } -.daggerheart.views.levelup - .levelup-section - .levelup-container - .levelup-inner-container - .levelup-body - .levelup-choice-row - .levelup-choice-row-inner { - display: flex; - align-items: center; +.daggerheart.views.levelup .levelup-section .levelup-container .levelup-inner-container .levelup-body .levelup-choice-row .levelup-choice-row-inner { + display: flex; + align-items: center; } -.daggerheart.views.levelup - .levelup-section - .levelup-container - .levelup-inner-container - .levelup-body - .levelup-choice-row - .levelup-choice-input-container { - position: relative; - display: flex; - align-items: center; +.daggerheart.views.levelup .levelup-section .levelup-container .levelup-inner-container .levelup-body .levelup-choice-row .levelup-choice-input-container { + position: relative; + display: flex; + align-items: center; } -.daggerheart.views.levelup - .levelup-section - .levelup-container - .levelup-inner-container - .levelup-body - .levelup-choice-row - .levelup-choice-input-container - input:disabled:checked::before { - opacity: 0.4; - color: var(--color-warm-1); +.daggerheart.views.levelup .levelup-section .levelup-container .levelup-inner-container .levelup-body .levelup-choice-row .levelup-choice-input-container input:disabled:checked::before { + opacity: 0.4; + color: var(--color-warm-1); } -.daggerheart.views.levelup - .levelup-section - .levelup-container - .levelup-inner-container - .levelup-body - .levelup-choice-row - .levelup-choice-input-container - i.fa-link { - transform: rotate(45deg); - position: relative; - top: 2px; - margin: 0 -3px; +.daggerheart.views.levelup .levelup-section .levelup-container .levelup-inner-container .levelup-body .levelup-choice-row .levelup-choice-input-container i.fa-link { + transform: rotate(45deg); + position: relative; + top: 2px; + margin: 0 -3px; } -.daggerheart.views.levelup - .levelup-section - .levelup-container - .levelup-inner-container - .levelup-body - .levelup-choice-row - .levelup-choice-input-container - i.fa-lock { - position: absolute; - top: 0; - left: 0; - font-size: 8px; +.daggerheart.views.levelup .levelup-section .levelup-container .levelup-inner-container .levelup-body .levelup-choice-row .levelup-choice-input-container i.fa-lock { + position: absolute; + top: 0; + left: 0; + font-size: 8px; } .daggerheart.views.levelup .levelup-section .levelup-container .levelup-inner-container .levelup-posttext { - padding: 8px 0; + padding: 8px 0; } .daggerheart.views .downtime-container .activity-container { - display: flex; - align-items: center; - padding: 8px; + display: flex; + align-items: center; + padding: 8px; } .daggerheart.views .downtime-container .activity-container .activity-title { - flex: 1; - display: flex; - align-items: center; + flex: 1; + display: flex; + align-items: center; } .daggerheart.views .downtime-container .activity-container .activity-title .activity-title-text { - font-size: 24px; - font-weight: bold; + font-size: 24px; + font-weight: bold; } .daggerheart.views .downtime-container .activity-container .activity-title .activity-image { - width: 120px; - border: 2px solid black; - border-radius: 50%; - margin-right: 8px; - cursor: pointer; + width: 120px; + border: 2px solid black; + border-radius: 50%; + margin-right: 8px; + cursor: pointer; } .daggerheart.views .downtime-container .activity-container .activity-title .activity-image:hover, .daggerheart.views .downtime-container .activity-container .activity-title .activity-image.selected { - filter: drop-shadow(0 0 6px gold); + filter: drop-shadow(0 0 6px gold); } .daggerheart.views .downtime-container .activity-container .activity-title .custom-name-input { - font-size: 24px; - font-weight: bold; - padding: 0; - background: transparent; - color: #efe6d8; + font-size: 24px; + font-weight: bold; + padding: 0; + background: transparent; + color: #efe6d8; } .daggerheart.views .downtime-container .activity-container .activity-body { - flex: 1; - font-style: italic; + flex: 1; + font-style: italic; } .daggerheart.views.downtime .activity-text-area { - resize: none; + resize: none; } .daggerheart.views .range-reset { - flex: 0; - width: 21px; - height: 21px; - margin: 3px 4px; - border: 1px solid black; - display: flex; - align-items: center; - justify-content: center; + flex: 0; + width: 21px; + height: 21px; + margin: 3px 4px; + border: 1px solid black; + display: flex; + align-items: center; + justify-content: center; } .daggerheart.views.roll-selection .roll-selection-container i { - filter: invert(0%) sepia(100%) saturate(0%) hue-rotate(21deg) brightness(17%) contrast(103%); + filter: invert(0%) sepia(100%) saturate(0%) hue-rotate(21deg) brightness(17%) contrast(103%); } .daggerheart.views.roll-selection .roll-dialog-container .disadvantage, .daggerheart.views.roll-selection .roll-dialog-container .advantage { - border: 2px solid #708090; - border-radius: 6px; - display: flex; - align-items: center; - padding: 4px; - margin-bottom: 6px; + border: 2px solid #708090; + border-radius: 6px; + display: flex; + align-items: center; + padding: 4px; + margin-bottom: 6px; } .daggerheart.views.roll-selection .roll-dialog-container .disadvantage.selected, .daggerheart.views.roll-selection .roll-dialog-container .advantage.selected { - filter: drop-shadow(0px 0px 3px red); + filter: drop-shadow(0px 0px 3px red); } .daggerheart.views.roll-selection .roll-dialog-container .disadvantage input, .daggerheart.views.roll-selection .roll-dialog-container .advantage input { - border: 0; + border: 0; } .daggerheart.views.roll-selection .roll-dialog-container .disadvantage button, .daggerheart.views.roll-selection .roll-dialog-container .advantage button { - flex: 0; - border-radius: 50%; - height: 20px; - width: 20px; - display: flex; - align-items: center; - justify-content: center; - margin: 2px 0 2px 4px; - padding: 12px; + flex: 0; + border-radius: 50%; + height: 20px; + width: 20px; + display: flex; + align-items: center; + justify-content: center; + margin: 2px 0 2px 4px; + padding: 12px; } .daggerheart.views.roll-selection .roll-dialog-container .disadvantage button i, .daggerheart.views.roll-selection .roll-dialog-container .advantage button i { - margin: 0; + margin: 0; } .daggerheart.views.roll-selection .roll-dialog-container .roll-dialog-experience-container { - display: flex; - align-items: center; - flex-wrap: wrap; - gap: 4px; + display: flex; + align-items: center; + flex-wrap: wrap; + gap: 4px; } .daggerheart.views.roll-selection .roll-dialog-container .roll-dialog-experience-container .roll-dialog-chip { - border: 1px solid black; - border-radius: 6px; - min-width: calc(33% - 2px); - flex: 1; - display: flex; - align-items: center; - justify-content: center; - gap: 4px; - cursor: pointer; - padding: 4px; - background: grey; - overflow: hidden; - font-weight: bold; + border: 1px solid black; + border-radius: 6px; + min-width: calc(33% - 2px); + flex: 1; + display: flex; + align-items: center; + justify-content: center; + gap: 4px; + cursor: pointer; + padding: 4px; + background: grey; + overflow: hidden; + font-weight: bold; } .daggerheart.views.roll-selection .roll-dialog-container .roll-dialog-experience-container .roll-dialog-chip.hover { - filter: drop-shadow(0 0 3px red); + filter: drop-shadow(0 0 3px red); } .daggerheart.views.roll-selection .roll-dialog-container .roll-dialog-experience-container .roll-dialog-chip span { - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; } .daggerheart.views.roll-selection .roll-dialog-container .roll-dialog-experience-container .roll-dialog-chip.selected { - background: green; + background: green; } -.daggerheart.views.roll-selection - .roll-dialog-container - .roll-dialog-experience-container - .roll-dialog-chip.selected - span { - filter: drop-shadow(0 0 3px gold); +.daggerheart.views.roll-selection .roll-dialog-container .roll-dialog-experience-container .roll-dialog-chip.selected span { + filter: drop-shadow(0 0 3px gold); } .daggerheart.views.roll-selection .roll-dialog-container .hope-container { - display: flex; - gap: 8px; - align-items: center; - font-size: 18px; + display: flex; + gap: 8px; + align-items: center; + font-size: 18px; } .daggerheart.views.npc-roll-selection .npc-roll-dialog-container { - display: flex; - flex-direction: column; + display: flex; + flex-direction: column; } .daggerheart.views.npc-roll-selection .npc-roll-dialog-container .selection-container { - display: flex; - align-items: center; - margin-bottom: 8px; + display: flex; + align-items: center; + margin-bottom: 8px; } .daggerheart.views.npc-roll-selection .npc-roll-dialog-container .selection-container .dice-container { - display: flex; - align-items: center; - flex: 1; + display: flex; + align-items: center; + flex: 1; } -.daggerheart.views.npc-roll-selection - .npc-roll-dialog-container - .selection-container - .dice-container - .dice-inner-container { - position: relative; - display: flex; - align-items: center; +.daggerheart.views.npc-roll-selection .npc-roll-dialog-container .selection-container .dice-container .dice-inner-container { + position: relative; + display: flex; + align-items: center; } -.daggerheart.views.npc-roll-selection - .npc-roll-dialog-container - .selection-container - .dice-container - .dice-inner-container - i { - font-size: 18px; +.daggerheart.views.npc-roll-selection .npc-roll-dialog-container .selection-container .dice-container .dice-inner-container i { + font-size: 18px; } -.daggerheart.views.npc-roll-selection - .npc-roll-dialog-container - .selection-container - .dice-container - .dice-inner-container - img { - border: 0; - position: relative; - left: 1px; +.daggerheart.views.npc-roll-selection .npc-roll-dialog-container .selection-container .dice-container .dice-inner-container img { + border: 0; + position: relative; + left: 1px; } -.daggerheart.views.npc-roll-selection - .npc-roll-dialog-container - .selection-container - .dice-container - .dice-inner-container - .dice-number { - position: absolute; - top: calc(50% - 14px); - left: calc(50% - 7px); - font-size: 24px; - font-weight: bold; +.daggerheart.views.npc-roll-selection .npc-roll-dialog-container .selection-container .dice-container .dice-inner-container .dice-number { + position: absolute; + top: calc(50% - 14px); + left: calc(50% - 7px); + font-size: 24px; + font-weight: bold; } .daggerheart.views.npc-roll-selection .npc-roll-dialog-container .roll-dialog-experience-container { - display: flex; - align-items: flex-start; - flex-wrap: wrap; - gap: 4px; - flex: 2; - height: 100%; + display: flex; + align-items: flex-start; + flex-wrap: wrap; + gap: 4px; + flex: 2; + height: 100%; } .daggerheart.views.npc-roll-selection .npc-roll-dialog-container .roll-dialog-experience-container .roll-dialog-chip { - border: 1px solid black; - border-radius: 6px; - flex-basis: calc(50% - 2px); - display: flex; - align-items: center; - justify-content: space-between; - cursor: pointer; - padding: 4px; - background: grey; - overflow: hidden; + border: 1px solid black; + border-radius: 6px; + flex-basis: calc(50% - 2px); + display: flex; + align-items: center; + justify-content: space-between; + cursor: pointer; + padding: 4px; + background: grey; + overflow: hidden; } -.daggerheart.views.npc-roll-selection - .npc-roll-dialog-container - .roll-dialog-experience-container - .roll-dialog-chip.hover { - filter: drop-shadow(0 0 3px red); +.daggerheart.views.npc-roll-selection .npc-roll-dialog-container .roll-dialog-experience-container .roll-dialog-chip.hover { + filter: drop-shadow(0 0 3px red); } -.daggerheart.views.npc-roll-selection - .npc-roll-dialog-container - .roll-dialog-experience-container - .roll-dialog-chip - span { - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; +.daggerheart.views.npc-roll-selection .npc-roll-dialog-container .roll-dialog-experience-container .roll-dialog-chip span { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; } -.daggerheart.views.npc-roll-selection - .npc-roll-dialog-container - .roll-dialog-experience-container - .roll-dialog-chip.selected - i { - color: green; +.daggerheart.views.npc-roll-selection .npc-roll-dialog-container .roll-dialog-experience-container .roll-dialog-chip.selected i { + color: green; } .daggerheart.views.multiclass .multiclass-container { - margin-bottom: 16px; + margin-bottom: 16px; } .daggerheart.views.multiclass .multiclass-container .multiclass-category-title { - margin-top: 16px; + margin-top: 16px; } .daggerheart.views.multiclass .multiclass-container .multiclass-class-choices { - display: flex; - width: 100%; - height: 100%; - flex-wrap: wrap; + display: flex; + width: 100%; + height: 100%; + flex-wrap: wrap; } .daggerheart.views.multiclass .multiclass-container .multiclass-spaced-choices { - display: flex; - justify-content: space-around; - width: 100%; - height: 100%; + display: flex; + justify-content: space-around; + width: 100%; + height: 100%; } .daggerheart.views.multiclass .multiclass-container .multiclass-class-choice { - display: flex; - align-items: center; - flex-basis: 33.33%; - font-weight: bold; - font-size: 24px; - cursor: pointer; + display: flex; + align-items: center; + flex-basis: 33.33%; + font-weight: bold; + font-size: 24px; + cursor: pointer; } .daggerheart.views.multiclass .multiclass-container .multiclass-class-choice.selected:not(.disabled), .daggerheart.views.multiclass .multiclass-container .multiclass-class-choice:hover:not(.disabled) { - filter: drop-shadow(0 0 3px gold); + filter: drop-shadow(0 0 3px gold); } .daggerheart.views.multiclass .multiclass-container .multiclass-class-choice.inactive, .daggerheart.views.multiclass .multiclass-container .multiclass-class-choice.disabled { - cursor: initial; - opacity: 0.4; + cursor: initial; + opacity: 0.4; } .daggerheart.views.multiclass .multiclass-container .multiclass-class-choice img { - width: 80px; - height: 80px; - margin-right: 16px; + width: 80px; + height: 80px; + margin-right: 16px; } .daggerheart.views.damage-selection .hope-container { - display: flex; - gap: 8px; - align-items: center; - font-size: 18px; + display: flex; + gap: 8px; + align-items: center; + font-size: 18px; } .daggerheart.views.action .action-category { - display: flex; - flex-direction: column; + display: flex; + flex-direction: column; } .daggerheart.views.action .action-category .action-category-label { - display: flex; - align-items: center; - justify-content: space-between; - border-radius: 6px; - cursor: pointer; - padding: 0 4px; - margin: 0 auto 4px; + display: flex; + align-items: center; + justify-content: space-between; + border-radius: 6px; + cursor: pointer; + padding: 0 4px; + margin: 0 auto 4px; } .daggerheart.views.action .action-category .action-category-label:hover { - background-color: darkgray; + background-color: darkgray; } .daggerheart.views.action .action-category .action-category-data { - max-height: 0; - transition: max-height 0.2s ease-in-out; - overflow: hidden; + max-height: 0; + transition: max-height 0.2s ease-in-out; + overflow: hidden; } .daggerheart.views.action .action-category .action-category-data.open { - max-height: initial; + max-height: initial; } .daggerheart.views.ancestry-selection .ancestry-section { - display: flex; - flex-direction: column; - align-items: center; - margin-bottom: 8px; + display: flex; + flex-direction: column; + align-items: center; + margin-bottom: 8px; } .daggerheart.views.ancestry-selection .ancestry-section .ancestry-container { - width: 100%; - display: flex; - flex-wrap: wrap; + width: 100%; + display: flex; + flex-wrap: wrap; } .daggerheart.views.ancestry-selection .ancestry-section .ancestry-container .ancestry-inner-container { - flex-basis: 25%; - display: flex; - flex-direction: column; - align-items: center; + flex-basis: 25%; + display: flex; + flex-direction: column; + align-items: center; } -.daggerheart.views.ancestry-selection - .ancestry-section - .ancestry-container - .ancestry-inner-container - .image-container - img { - width: 120px; - border: 4px solid black; - border-radius: 50%; +.daggerheart.views.ancestry-selection .ancestry-section .ancestry-container .ancestry-inner-container .image-container img { + width: 120px; + border: 4px solid black; + border-radius: 50%; } -.daggerheart.views.ancestry-selection - .ancestry-section - .ancestry-container - .ancestry-inner-container - .image-container - img.selected { - border-color: gold; +.daggerheart.views.ancestry-selection .ancestry-section .ancestry-container .ancestry-inner-container .image-container img.selected { + border-color: gold; } -.daggerheart.views.ancestry-selection - .ancestry-section - .ancestry-container - .ancestry-inner-container - .image-container - img:hover:not(.selected) { - filter: drop-shadow(0 0 3px gold); +.daggerheart.views.ancestry-selection .ancestry-section .ancestry-container .ancestry-inner-container .image-container img:hover:not(.selected) { + filter: drop-shadow(0 0 3px gold); } -.daggerheart.views.ancestry-selection - .ancestry-section - .ancestry-container - .ancestry-inner-container - .image-container - img.disabled { - opacity: 0.3; +.daggerheart.views.ancestry-selection .ancestry-section .ancestry-container .ancestry-inner-container .image-container img.disabled { + opacity: 0.3; } -.daggerheart.views.ancestry-selection - .ancestry-section - .ancestry-container - .ancestry-inner-container - .name-container - div { - font-size: 18px; - font-weight: bold; - cursor: help; +.daggerheart.views.ancestry-selection .ancestry-section .ancestry-container .ancestry-inner-container .name-container div { + font-size: 18px; + font-weight: bold; + cursor: help; } .daggerheart.views.ancestry-selection .ancestry-section .mixed-ancestry-container { - width: 100%; - display: flex; - gap: 8px; + width: 100%; + display: flex; + gap: 8px; } .daggerheart.views.ancestry-selection .ancestry-section .mixed-ancestry-container > div { - flex: 1; + flex: 1; } .daggerheart.views.ancestry-selection .ancestry-section .mixed-ancestry-container .mixed-ancestry-name { - text-align: center; + text-align: center; } .daggerheart.views.ancestry-selection .ancestry-section .mixed-ancestry-container .mixed-ancestry-name div { - font-size: 24px; + font-size: 24px; } .daggerheart.views.ancestry-selection .ancestry-section .mixed-ancestry-container .mixed-ancestry-images { - display: flex; - align-items: center; - gap: 4px; + display: flex; + align-items: center; + gap: 4px; } -.daggerheart.views.ancestry-selection - .ancestry-section - .mixed-ancestry-container - .mixed-ancestry-images - .mixed-ancestry-image { - position: relative; - max-width: 33%; +.daggerheart.views.ancestry-selection .ancestry-section .mixed-ancestry-container .mixed-ancestry-images .mixed-ancestry-image { + position: relative; + max-width: 33%; } -.daggerheart.views.ancestry-selection - .ancestry-section - .mixed-ancestry-container - .mixed-ancestry-images - .mixed-ancestry-image:hover - i { - opacity: 1; +.daggerheart.views.ancestry-selection .ancestry-section .mixed-ancestry-container .mixed-ancestry-images .mixed-ancestry-image:hover i { + opacity: 1; } -.daggerheart.views.ancestry-selection - .ancestry-section - .mixed-ancestry-container - .mixed-ancestry-images - .mixed-ancestry-image - i { - position: absolute; - font-size: 32px; - top: calc(50% - 20px); - left: calc(50% - 20px); - padding: 4px; - background-color: grey; - opacity: 0; - cursor: pointer; +.daggerheart.views.ancestry-selection .ancestry-section .mixed-ancestry-container .mixed-ancestry-images .mixed-ancestry-image i { + position: absolute; + font-size: 32px; + top: calc(50% - 20px); + left: calc(50% - 20px); + padding: 4px; + background-color: grey; + opacity: 0; + cursor: pointer; } -.daggerheart.views.ancestry-selection - .ancestry-section - .mixed-ancestry-container - .mixed-ancestry-images - .mixed-ancestry-image - i:hover { - filter: drop-shadow(0 0 3px gold); +.daggerheart.views.ancestry-selection .ancestry-section .mixed-ancestry-container .mixed-ancestry-images .mixed-ancestry-image i:hover { + filter: drop-shadow(0 0 3px gold); } -.daggerheart.views.ancestry-selection - .ancestry-section - .mixed-ancestry-container - .mixed-ancestry-images - .mixed-ancestry-image - img { - max-width: 100%; +.daggerheart.views.ancestry-selection .ancestry-section .mixed-ancestry-container .mixed-ancestry-images .mixed-ancestry-image img { + max-width: 100%; } .daggerheart.views.ancestry-selection .ancestry-section .mixed-ancestry-container .mixed-ancestry-images img { - max-width: 33%; - border: 4px solid black; - border-radius: 50%; + max-width: 33%; + border: 4px solid black; + border-radius: 50%; } .daggerheart.views.ancestry-selection .ancestry-section .mixed-ancestry-container .mixed-ancestry-images img.selected { - border-color: gold; + border-color: gold; } .daggerheart.sheet.heritage .editor { - height: 200px; + height: 200px; } .daggerheart.sheet.class .guide .guide-section { - gap: 8px; + gap: 8px; } .daggerheart.sheet.class .guide .drop-section { - width: 100%; + width: 100%; } .daggerheart.sheet.class .guide .drop-section legend { - margin-left: auto; - margin-right: auto; - font-size: 12px; + margin-left: auto; + margin-right: auto; + font-size: 12px; } .daggerheart.sheet.class .guide .drop-section .drop-section-body { - min-height: 40px; - display: flex; - flex-direction: column; - align-items: center; + min-height: 40px; + display: flex; + flex-direction: column; + align-items: center; } .daggerheart.sheet.class .guide .trait-input { - text-align: center; - min-width: 24px; + text-align: center; + min-width: 24px; } .daggerheart.sheet.class .guide .suggested-item { - padding: 2px 4px; - border-radius: 6px; - border: 1px solid black; - background: #778899; - display: flex; - justify-content: space-between; - align-items: center; - width: 100%; + padding: 2px 4px; + border-radius: 6px; + border: 1px solid black; + background: #778899; + display: flex; + justify-content: space-between; + align-items: center; + width: 100%; } .daggerheart.sheet.class .guide .suggested-item:not(:last-child) { - margin: 4px; + margin: 4px; } .daggerheart.sheet.class .guide .suggested-item img { - width: 30px; + width: 30px; } .daggerheart.sheet.class .guide .suggested-item div { - text-align: center; + text-align: center; } .daggerheart.sheet.class .guide .suggested-item i { - border-radius: 50%; - margin-right: 4px; - font-size: 11px; + border-radius: 50%; + margin-right: 4px; + font-size: 11px; } .daggerheart.sheet.class .guide .extra-section { - display: flex; - flex-direction: column; - align-items: center; + display: flex; + flex-direction: column; + align-items: center; } .daggerheart.sheet.class .guide .extra-section .extra-title { - font-size: 14px; - font-weight: bold; + font-size: 14px; + font-weight: bold; } .daggerheart.sheet.class .guide .extra-section .extra-input { - margin-bottom: 4px; + margin-bottom: 4px; } .daggerheart.sheet.class .guide-section-title-centered { - font-weight: bold; - font-size: 18px; + font-weight: bold; + font-size: 18px; } .daggerheart.sheet.class .inventory-section { - width: 100%; - border: 2px solid black; - border-style: dotted; - min-height: 80px; + width: 100%; + border: 2px solid black; + border-style: dotted; + min-height: 80px; } .daggerheart.sheet.class .inventory-section .inventory-title { - font-weight: bold; - font-size: 14px; - text-align: center; + font-weight: bold; + font-size: 14px; + text-align: center; } .daggerheart.sheet.class .tagify { - background: var(--color-light-1); - border: 1px solid var(--color-border); - height: 34px; - width: 100%; - border-radius: 3px; - margin-right: 1px; + background: var(--color-light-1); + border: 1px solid var(--color-border); + height: 34px; + width: 100%; + border-radius: 3px; + margin-right: 1px; } .daggerheart.sheet.class .tagify tag div { - display: flex; - justify-content: space-between; - align-items: center; - height: 22px; + display: flex; + justify-content: space-between; + align-items: center; + height: 22px; } .daggerheart.sheet.class .tagify tag div span { - font-weight: 400; + font-weight: 400; } .daggerheart.sheet.class .tagify tag div img { - margin-left: 8px; - height: 20px; - width: 20px; + margin-left: 8px; + height: 20px; + width: 20px; } .daggerheart.sheet.adversary .adversary-header-container { - position: relative; - background-color: grey; - display: flex; + position: relative; + background-color: grey; + display: flex; } .daggerheart.sheet.adversary .adversary-header-container .adversary-header { - flex: 1; + flex: 1; } .daggerheart.sheet.adversary .adversary-header-container .adversary-header img { - height: 60px; - width: 60px; + height: 60px; + width: 60px; } .daggerheart.sheet.adversary .adversary-header-container .adversary-header .adversary-title { - display: flex; - align-items: center; - text-align: center; - font-size: 28px; + display: flex; + align-items: center; + text-align: center; + font-size: 28px; } .daggerheart.sheet.adversary .adversary-header-container .adversary-header .adversary-title .title-text { - width: 100%; + width: 100%; } .daggerheart.sheet.adversary .adversary-header-container .adversary-header .adversary-title input { - font-size: 28px; - border: 0; - height: 100%; + font-size: 28px; + border: 0; + height: 100%; } .daggerheart.sheet.adversary .adversary-header-container .adversary-toggle { - position: absolute; - top: 0; - right: 0; - background-color: white; - color: black; - flex: 0; + position: absolute; + top: 0; + right: 0; + background-color: white; + color: black; + flex: 0; } .daggerheart.sheet.adversary .motive-container { - background: lightgrey; - margin-bottom: 8px; - padding-bottom: 4px; + background: lightgrey; + margin-bottom: 8px; + padding-bottom: 4px; } .daggerheart.sheet.adversary .motive-container .motive-title { - display: flex; - align-items: center; - justify-content: center; - flex-wrap: wrap; + display: flex; + align-items: center; + justify-content: center; + flex-wrap: wrap; } .daggerheart.sheet.adversary .motive-container .motive-title .motive-title-base { - font-size: 21px; + font-size: 21px; } .daggerheart.sheet.adversary .motive-container .motive-title .motive-title-value { - font-style: italic; - position: relative; - top: 2px; + font-style: italic; + position: relative; + top: 2px; } .daggerheart.sheet.adversary .motive-container .motive-title i { - margin-left: 4px; - cursor: pointer; + margin-left: 4px; + cursor: pointer; } .daggerheart.sheet.adversary .motive-container .motive-title i:hover { - filter: drop-shadow(0 0 3px red); + filter: drop-shadow(0 0 3px red); } .daggerheart.sheet.adversary .adversary-content-container { - display: flex; - align-items: baseline; + display: flex; + align-items: baseline; } .daggerheart.sheet.adversary .adversary-statistics-container { - flex: 1; - margin-right: 24px; - display: flex; - flex-direction: column; - gap: 12px; + flex: 1; + margin-right: 24px; + display: flex; + flex-direction: column; + gap: 12px; } .daggerheart.sheet.adversary .adversary-statistics-container .statistic-title { - flex: 0; - white-space: nowrap; - font-weight: bold; + flex: 0; + white-space: nowrap; + font-weight: bold; } .daggerheart.sheet.adversary .adversary-statistics-container .statistic-row { - display: flex; - align-items: center; + display: flex; + align-items: center; } .daggerheart.sheet.adversary .adversary-statistics-container .statistic-row .statistic-value { - flex: 0; - white-space: nowrap; - margin-left: 4px; + flex: 0; + white-space: nowrap; + margin-left: 4px; } .daggerheart.sheet.adversary .adversary-statistics-container .statistic-row .adversary-roll { - border: 0; - width: 16px; - margin-left: 4px; - align-self: baseline; - transition: transform 0.2s; + border: 0; + width: 16px; + margin-left: 4px; + align-self: baseline; + transition: transform 0.2s; } .daggerheart.sheet.adversary .adversary-statistics-container .statistic-row .adversary-roll:hover { - transform: rotate(30deg); - filter: drop-shadow(0px 0px 3px red); - cursor: pointer; + transform: rotate(30deg); + filter: drop-shadow(0px 0px 3px red); + cursor: pointer; } .daggerheart.sheet.adversary .adversary-statistics-container .statistic-resource-container { - display: flex; - align-items: center; + display: flex; + align-items: center; } .daggerheart.sheet.adversary .adversary-statistics-container .statistic-resource-container label { - min-width: 44px; + min-width: 44px; } -.daggerheart.sheet.adversary - .adversary-statistics-container - .statistic-resource-container - .statistic-resource-inner-container { - display: flex; - align-items: center; - flex-wrap: wrap; - gap: 4px; +.daggerheart.sheet.adversary .adversary-statistics-container .statistic-resource-container .statistic-resource-inner-container { + display: flex; + align-items: center; + flex-wrap: wrap; + gap: 4px; } .daggerheart.sheet.adversary .adversary-statistics-container .statistic-resource-container .resource-title { - align-self: center; - font-weight: bold; + align-self: center; + font-weight: bold; } .daggerheart.sheet.adversary .adversary-statistics-container .statistic-resource-container .statistic-resource-input { - margin: 0; - flex: 0; - min-width: 16px; + margin: 0; + flex: 0; + min-width: 16px; } .daggerheart.sheet.adversary .adversary-statistics-container .attack-container { - border: 1px solid black dotted; + border: 1px solid black dotted; } .daggerheart.sheet.adversary .adversary-statistics-container .experience-row { - display: flex; + display: flex; } .daggerheart.sheet.adversary .adversary-statistics-container .experience-row * { - flex: 0; - white-space: nowrap; + flex: 0; + white-space: nowrap; } .daggerheart.sheet.adversary .adversary-statistics-container .experience-container i { - margin-left: 4px; - cursor: pointer; + margin-left: 4px; + cursor: pointer; } .daggerheart.sheet.adversary .adversary-statistics-container .experience-container i:hover { - filter: drop-shadow(0 0 3px red); + filter: drop-shadow(0 0 3px red); } .daggerheart.sheet.adversary .adversary-statistics-container .experience-chip { - border: 2px solid #708090; - border-radius: 6px; - display: flex; - align-items: center; - padding: 4px; - margin-bottom: 6px; + border: 2px solid #708090; + border-radius: 6px; + display: flex; + align-items: center; + padding: 4px; + margin-bottom: 6px; } .daggerheart.sheet.adversary .adversary-statistics-container .experience-chip .experience-text { - flex: 1; + flex: 1; } .daggerheart.sheet.adversary .adversary-statistics-container .experience-chip .experience-value { - flex: 0; - min-width: 26px; - margin: 0 4px; + flex: 0; + min-width: 26px; + margin: 0 4px; } .daggerheart.sheet.adversary .adversary-statistics-container .experience-chip .experience-button { - flex: 0; - border-radius: 50%; - height: 20px; - width: 20px; - display: flex; - align-items: center; - justify-content: center; - padding: 12px; + flex: 0; + border-radius: 50%; + height: 20px; + width: 20px; + display: flex; + align-items: center; + justify-content: center; + padding: 12px; } .daggerheart.sheet.adversary .adversary-damage-threshold-container input { - min-width: 26px; + min-width: 26px; } .daggerheart.sheet.adversary .adversary-moves-container { - flex: 2.5; + flex: 2.5; } .daggerheart.sheet.adversary .adversary-moves-container .moves-title { - text-decoration: underline; - font-weight: bold; + text-decoration: underline; + font-weight: bold; } .daggerheart.sheet.adversary .adversary-moves-container .move-container { - cursor: pointer; + cursor: pointer; } .daggerheart.sheet.adversary .adversary-moves-container .move-container:hover { - background: #2f4f4f40; + background: #2f4f4f40; } .daggerheart.sheet.adversary .adversary-moves-container .move-container .moves-name { - font-weight: bold; - text-decoration: none; + font-weight: bold; + text-decoration: none; } .daggerheart.sheet.adversary .adversary-moves-container .move-container .move-description p { - margin-top: 0; + margin-top: 0; } .daggerheart.sheet.adversary .adversary-moves-container .moves-edit-container i { - margin-left: 4px; - cursor: pointer; + margin-left: 4px; + cursor: pointer; } .daggerheart.sheet.adversary .adversary-moves-container .moves-edit-container i:hover { - filter: drop-shadow(0 0 3px red); + filter: drop-shadow(0 0 3px red); } .daggerheart.sheet.adversary .chip-container { - display: flex; - align-items: center; - justify-content: space-between; - background: #778899; - padding: 8px; - border: 2px solid black; - border-radius: 6px; + display: flex; + align-items: center; + justify-content: space-between; + background: #778899; + padding: 8px; + border: 2px solid black; + border-radius: 6px; } .daggerheart.sheet.adversary .chip-container:not(:last-child) { - margin-bottom: 8px; + margin-bottom: 8px; } .daggerheart.sheet.adversary .chip-container .chip-inner-container { - display: flex; - align-items: center; + display: flex; + align-items: center; } .daggerheart.sheet.adversary .chip-container .chip-inner-container img { - height: 40px; - width: 40px; - margin-right: 8px; + height: 40px; + width: 40px; + margin-right: 8px; } .daggerheart.sheet.adversary .chip-container .chip-inner-container .chip-title { - font-size: 22px; - font-weight: bold; - font-style: italic; + font-size: 22px; + font-weight: bold; + font-style: italic; } .daggerheart.sheet.adversary .chip-container button { - height: 40px; - width: 40px; - background: white; + height: 40px; + width: 40px; + background: white; } .daggerheart.sheet .title-container { - display: flex; - gap: 8px; + display: flex; + gap: 8px; } .daggerheart.sheet .title-container div { - flex: 1; - align-items: baseline; + flex: 1; + align-items: baseline; } .daggerheart.sheet .editor-form-group { - display: flex; - flex-direction: column; + display: flex; + flex-direction: column; } .daggerheart.sheet .editor-form-group label { - font-weight: bold; - text-align: center; + font-weight: bold; + text-align: center; } .daggerheart.sheet .option-select { - position: absolute; - top: calc(50% - 10px); - right: 8px; - height: 20px; - width: 20px; - border-radius: 50%; - display: flex; - align-items: center; - justify-content: center; - padding: 8px; + position: absolute; + top: calc(50% - 10px); + right: 8px; + height: 20px; + width: 20px; + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + padding: 8px; } .daggerheart.sheet .option-select.deeper { - right: 32px; + right: 32px; } .daggerheart.sheet .option-select:hover:not(:disabled) { - filter: drop-shadow(0px 0px 3px red); - cursor: pointer; + filter: drop-shadow(0px 0px 3px red); + cursor: pointer; } .daggerheart.sheet .option-select i { - margin: 0; - font-size: 11px; + margin: 0; + font-size: 11px; } .daggerheart.sheet .ability-title { - width: 100%; - display: flex; + width: 100%; + display: flex; } .daggerheart.sheet .ability-title h2 { - flex: 1; + flex: 1; } .daggerheart.sheet .ability-title i { - cursor: pointer; + cursor: pointer; } .daggerheart.sheet .ability-title i:hover { - filter: drop-shadow(0px 0px 3px red); + filter: drop-shadow(0px 0px 3px red); } .daggerheart.sheet .ability-choices { - display: flex; - align-items: center; - flex-wrap: wrap; + display: flex; + align-items: center; + flex-wrap: wrap; } .daggerheart.sheet .ability-chip { - border: 2px solid #708090; - border-radius: 6px; - display: flex; - align-items: center; - padding: 4px; - margin-bottom: 6px; - flex: calc(33% - 4px); - max-width: calc(33% - 4px); + border: 2px solid #708090; + border-radius: 6px; + display: flex; + align-items: center; + padding: 4px; + margin-bottom: 6px; + flex: calc(33% - 4px); + max-width: calc(33% - 4px); } .daggerheart.sheet .ability-chip.selected { - filter: drop-shadow(0px 0px 3px red); + filter: drop-shadow(0px 0px 3px red); } .daggerheart.sheet .ability-chip:nth-of-type(3n-1) { - margin-left: 6px; - margin-right: 6px; + margin-left: 6px; + margin-right: 6px; } .daggerheart.sheet .ability-chip input { - border: 0; + border: 0; } .daggerheart.sheet .ability-chip button { - flex: 0; - border-radius: 50%; - height: 20px; - width: 20px; - display: flex; - align-items: center; - justify-content: center; - margin: 2px 0 2px 4px; - padding: 12px; + flex: 0; + border-radius: 50%; + height: 20px; + width: 20px; + display: flex; + align-items: center; + justify-content: center; + margin: 2px 0 2px 4px; + padding: 12px; } .daggerheart.sheet .ability-chip button i { - margin: 0; + margin: 0; } .daggerheart.sheet .object-select-display { - position: relative; - width: calc(100% - 2px); - background: rgba(0, 0, 0, 0.05); - height: var(--form-field-height); - display: flex; - border: 1px solid #7a7971; - border-radius: 3px; + position: relative; + width: calc(100% - 2px); + background: rgba(0, 0, 0, 0.05); + height: var(--form-field-height); + display: flex; + border: 1px solid #7a7971; + border-radius: 3px; } .daggerheart.sheet .object-select-display .object-select-title { - position: absolute; - left: 4px; - text-align: center; - font-weight: bold; - text-transform: uppercase; + position: absolute; + left: 4px; + text-align: center; + font-weight: bold; + text-transform: uppercase; } .daggerheart.sheet .object-select-display .object-select-text { - align-self: center; + align-self: center; } .daggerheart.sheet .object-select-display .object-select-item { - cursor: pointer; + cursor: pointer; } .daggerheart.sheet .object-select-display .object-select-item:hover { - filter: drop-shadow(0px 0px 3px red); + filter: drop-shadow(0px 0px 3px red); } .daggerheart.sheet .feature-container { - display: flex; - align-items: center; - justify-content: space-between; - background: #778899; - padding: 8px; - border: 2px solid black; - border-radius: 6px; + display: flex; + align-items: center; + justify-content: space-between; + background: #778899; + padding: 8px; + border: 2px solid black; + border-radius: 6px; } .daggerheart.sheet .feature-container:not(:last-child) { - margin-bottom: 8px; + margin-bottom: 8px; } .daggerheart.sheet .feature-container .feature-inner-container { - display: flex; - align-items: center; + display: flex; + align-items: center; } .daggerheart.sheet .feature-container .feature-inner-container img { - height: 40px; - width: 40px; - margin-right: 8px; + height: 40px; + width: 40px; + margin-right: 8px; } .daggerheart.sheet .feature-container .feature-inner-container .feature-title { - font-size: 22px; - font-weight: bold; - font-style: italic; + font-size: 22px; + font-weight: bold; + font-style: italic; } .daggerheart.sheet .feature-container button { - height: 40px; - width: 40px; - background: inherit; - border: 0; + height: 40px; + width: 40px; + background: inherit; + border: 0; } .slider-container { - position: relative; - background: lightslategray; + position: relative; + background: lightslategray; } .slider-container .slider-inner-container { - position: absolute; - top: 1px; - left: -60px; - background-color: inherit; - color: inherit; - border-radius: 30px; - cursor: pointer; - display: flex; - align-items: center; - height: 20px; - width: 40px; - padding: 0 4px; - border: 1px solid black; + position: absolute; + top: 1px; + left: -60px; + background-color: inherit; + color: inherit; + border-radius: 30px; + cursor: pointer; + display: flex; + align-items: center; + height: 20px; + width: 40px; + padding: 0 4px; + border: 1px solid black; } .slider-container .slider-inner-container:hover { - filter: drop-shadow(0 0 3px red); + filter: drop-shadow(0 0 3px red); } .slider-container .slider-inner-container input:checked { - opacity: 0; - width: 0; - height: 0; + opacity: 0; + width: 0; + height: 0; } .slider-container .slider-inner-container input:checked + .slider-icon { - transform: translateX(17px); - transition: 1s; + transform: translateX(17px); + transition: 1s; } .slider-container .slider-inner-container .slider-icon { - position: absolute; - left: 4px; - height: 15px; - width: 15px; - border-radius: 50%; - transition: 1s; - transform: translateX(0); + position: absolute; + left: 4px; + height: 15px; + width: 15px; + border-radius: 50%; + transition: 1s; + transform: translateX(0); } .item-button.checked { - background: green; + background: green; } .item-button .item-icon { - opacity: 0; - transition: opacity 0.2s; + opacity: 0; + transition: opacity 0.2s; } .item-button .item-icon.checked { - opacity: 1; + opacity: 1; } #logo { - content: url(../assets/DaggerheartLogo.webp); - height: 50px; - width: 50px; - position: relative; - left: 25px; + content: url(../assets/DaggerheartLogo.webp); + height: 50px; + width: 50px; + position: relative; + left: 25px; } .daggerheart { - /* Flex */ - /****/ + /* Flex */ + /****/ } .daggerheart .vertical-separator { - border-left: 2px solid black; - height: 56px; - flex: 0; - align-self: center; + border-left: 2px solid black; + height: 56px; + flex: 0; + align-self: center; } .daggerheart .flex-centered { - display: flex; - align-items: center; - justify-content: center; + display: flex; + align-items: center; + justify-content: center; } .daggerheart .flex-col-centered { - display: flex; - flex-direction: column; - align-items: center; + display: flex; + flex-direction: column; + align-items: center; } .daggerheart .flex-spaced { - display: flex; - justify-content: space-between; - align-items: center; - width: 100%; + display: flex; + justify-content: space-between; + align-items: center; + width: 100%; } .daggerheart .flex-min { - display: flex; - flex: 0; + display: flex; + flex: 0; } .daggerheart img[data-edit='img'] { - min-width: 64px; - min-height: 64px; + min-width: 64px; + min-height: 64px; } .daggerheart .editor { - height: 200px; + height: 200px; } .daggerheart button i { - margin: 0; + margin: 0; } .daggerheart .icon-button.spaced { - margin-left: 4px; + margin-left: 4px; } .daggerheart .icon-button.active { - filter: drop-shadow(0 0 3px red); + filter: drop-shadow(0 0 3px red); } .daggerheart .icon-button.active.secondary { - filter: drop-shadow(0 0 3px gold); + filter: drop-shadow(0 0 3px gold); } .daggerheart .icon-button.disabled { - opacity: 0.6; + opacity: 0.6; } .daggerheart .icon-button:hover:not(.disabled) { - cursor: pointer; - filter: drop-shadow(0 0 3px red); + cursor: pointer; + filter: drop-shadow(0 0 3px red); } .daggerheart .icon-button:hover:not(.disabled).secondary { - filter: drop-shadow(0 0 3px gold); + filter: drop-shadow(0 0 3px gold); } #players h3 { - display: flex; - align-items: center; - justify-content: space-between; - flex-wrap: nowrap; + display: flex; + align-items: center; + justify-content: space-between; + flex-wrap: nowrap; } #players h3 .players-container { - display: flex; - align-items: center; + display: flex; + align-items: center; } #players h3 .fear-control { - font-size: 10px; + font-size: 10px; } #players h3 .fear-control.disabled { - opacity: 0.4; + opacity: 0.4; } #players h3 .fear-control:hover:not(.disabled) { - cursor: pointer; - filter: drop-shadow(0 0 3px red); + cursor: pointer; + filter: drop-shadow(0 0 3px red); }