mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-07-22 02:19:54 +02:00
Compare commits
No commits in common. "870692bfa267fc8406449a99a995947659e338f3" and "54461a0d682fcea82c5bb21d83f863943296fd16" have entirely different histories.
870692bfa2
...
54461a0d68
256 changed files with 774 additions and 963 deletions
|
|
@ -315,15 +315,15 @@ export default class BeastformDialog extends HandlebarsApplicationMixin(Applicat
|
||||||
|
|
||||||
const beastformEffect = selected.effects.find(x => x.type === 'beastform');
|
const beastformEffect = selected.effects.find(x => x.type === 'beastform');
|
||||||
for (const traitBonus of app.modifications.traitBonuses) {
|
for (const traitBonus of app.modifications.traitBonuses) {
|
||||||
const existingChange = beastformEffect.system.changes.find(
|
const existingChange = beastformEffect.changes.find(
|
||||||
x => x.key === `system.traits.${traitBonus.trait}.value`
|
x => x.key === `system.traits.${traitBonus.trait}.value`
|
||||||
);
|
);
|
||||||
if (existingChange) {
|
if (existingChange) {
|
||||||
existingChange.value = Number.parseInt(existingChange.value) + traitBonus.bonus;
|
existingChange.value = Number.parseInt(existingChange.value) + traitBonus.bonus;
|
||||||
} else {
|
} else {
|
||||||
beastformEffect.system.changes.push({
|
beastformEffect.changes.push({
|
||||||
key: `system.traits.${traitBonus.trait}.value`,
|
key: `system.traits.${traitBonus.trait}.value`,
|
||||||
type: 'add',
|
mode: 2,
|
||||||
priority: null,
|
priority: null,
|
||||||
value: traitBonus.bonus
|
value: traitBonus.bonus
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -139,15 +139,13 @@ export default class DhDeathMove extends HandlebarsApplicationMixin(ApplicationV
|
||||||
name: game.i18n.localize('DAGGERHEART.CONFIG.DeathMoves.blazeOfGlory.name'),
|
name: game.i18n.localize('DAGGERHEART.CONFIG.DeathMoves.blazeOfGlory.name'),
|
||||||
description: game.i18n.localize('DAGGERHEART.CONFIG.DeathMoves.blazeOfGlory.description'),
|
description: game.i18n.localize('DAGGERHEART.CONFIG.DeathMoves.blazeOfGlory.description'),
|
||||||
img: CONFIG.DH.GENERAL.deathMoves.blazeOfGlory.img,
|
img: CONFIG.DH.GENERAL.deathMoves.blazeOfGlory.img,
|
||||||
system: {
|
changes: [
|
||||||
changes: [
|
{
|
||||||
{
|
key: 'system.rules.roll.guaranteedCritical',
|
||||||
key: 'system.rules.roll.guaranteedCritical',
|
mode: 2,
|
||||||
type: 'add',
|
value: 'true'
|
||||||
value: 'true'
|
}
|
||||||
}
|
]
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -90,20 +90,18 @@ export const BPModifiers = {
|
||||||
name: 'DAGGERHEART.CONFIG.BPModifiers.increaseDamage.effect.name',
|
name: 'DAGGERHEART.CONFIG.BPModifiers.increaseDamage.effect.name',
|
||||||
description: 'DAGGERHEART.CONFIG.BPModifiers.increaseDamage.effect.description',
|
description: 'DAGGERHEART.CONFIG.BPModifiers.increaseDamage.effect.description',
|
||||||
img: 'icons/magic/control/buff-flight-wings-red.webp',
|
img: 'icons/magic/control/buff-flight-wings-red.webp',
|
||||||
system: {
|
changes: [
|
||||||
changes: [
|
{
|
||||||
{
|
key: 'system.bonuses.damage.physical.dice',
|
||||||
key: 'system.bonuses.damage.physical.dice',
|
mode: 2,
|
||||||
type: 'add',
|
value: '1d4'
|
||||||
value: '1d4'
|
},
|
||||||
},
|
{
|
||||||
{
|
key: 'system.bonuses.damage.magical.dice',
|
||||||
key: 'system.bonuses.damage.magical.dice',
|
mode: 2,
|
||||||
type: 'add',
|
value: '1d4'
|
||||||
value: '1d4'
|
}
|
||||||
}
|
]
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -37,15 +37,13 @@ export const armorFeatures = {
|
||||||
name: 'DAGGERHEART.CONFIG.ArmorFeature.channeling.effects.channeling.name',
|
name: 'DAGGERHEART.CONFIG.ArmorFeature.channeling.effects.channeling.name',
|
||||||
description: 'DAGGERHEART.CONFIG.ArmorFeature.channeling.effects.channeling.description',
|
description: 'DAGGERHEART.CONFIG.ArmorFeature.channeling.effects.channeling.description',
|
||||||
img: 'icons/magic/symbols/rune-sigil-horned-blue.webp',
|
img: 'icons/magic/symbols/rune-sigil-horned-blue.webp',
|
||||||
system: {
|
changes: [
|
||||||
changes: [
|
{
|
||||||
{
|
key: 'system.bonuses.roll.spellcast',
|
||||||
key: 'system.bonuses.roll.spellcast',
|
mode: 2,
|
||||||
type: 'add',
|
value: '1'
|
||||||
value: '1'
|
}
|
||||||
}
|
]
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -57,45 +55,43 @@ export const armorFeatures = {
|
||||||
name: 'DAGGERHEART.CONFIG.ArmorFeature.difficult.effects.difficult.name',
|
name: 'DAGGERHEART.CONFIG.ArmorFeature.difficult.effects.difficult.name',
|
||||||
description: 'DAGGERHEART.CONFIG.ArmorFeature.difficult.effects.difficult.description',
|
description: 'DAGGERHEART.CONFIG.ArmorFeature.difficult.effects.difficult.description',
|
||||||
img: 'icons/magic/control/buff-flight-wings-red.webp',
|
img: 'icons/magic/control/buff-flight-wings-red.webp',
|
||||||
system: {
|
changes: [
|
||||||
changes: [
|
{
|
||||||
{
|
key: 'system.traits.agility.value',
|
||||||
key: 'system.traits.agility.value',
|
mode: 2,
|
||||||
type: 'add',
|
value: '-1'
|
||||||
value: '-1'
|
},
|
||||||
},
|
{
|
||||||
{
|
key: 'system.traits.strength.value',
|
||||||
key: 'system.traits.strength.value',
|
mode: 2,
|
||||||
type: 'add',
|
value: '-1'
|
||||||
value: '-1'
|
},
|
||||||
},
|
{
|
||||||
{
|
key: 'system.traits.finesse.value',
|
||||||
key: 'system.traits.finesse.value',
|
mode: 2,
|
||||||
type: 'add',
|
value: '-1'
|
||||||
value: '-1'
|
},
|
||||||
},
|
{
|
||||||
{
|
key: 'system.traits.instinct.value',
|
||||||
key: 'system.traits.instinct.value',
|
mode: 2,
|
||||||
type: 'add',
|
value: '-1'
|
||||||
value: '-1'
|
},
|
||||||
},
|
{
|
||||||
{
|
key: 'system.traits.presence.value',
|
||||||
key: 'system.traits.presence.value',
|
mode: 2,
|
||||||
type: 'add',
|
value: '-1'
|
||||||
value: '-1'
|
},
|
||||||
},
|
{
|
||||||
{
|
key: 'system.traits.knowledge.value',
|
||||||
key: 'system.traits.knowledge.value',
|
mode: 2,
|
||||||
type: 'add',
|
value: '-1'
|
||||||
value: '-1'
|
},
|
||||||
},
|
{
|
||||||
{
|
key: 'system.evasion',
|
||||||
key: 'system.evasion',
|
mode: 2,
|
||||||
type: 'add',
|
value: '-1'
|
||||||
value: '-1'
|
}
|
||||||
}
|
]
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -107,15 +103,13 @@ export const armorFeatures = {
|
||||||
name: 'DAGGERHEART.CONFIG.ArmorFeature.flexible.effects.flexible.name',
|
name: 'DAGGERHEART.CONFIG.ArmorFeature.flexible.effects.flexible.name',
|
||||||
description: 'DAGGERHEART.CONFIG.ArmorFeature.flexible.effects.flexible.description',
|
description: 'DAGGERHEART.CONFIG.ArmorFeature.flexible.effects.flexible.description',
|
||||||
img: 'icons/magic/movement/abstract-ribbons-red-orange.webp',
|
img: 'icons/magic/movement/abstract-ribbons-red-orange.webp',
|
||||||
system: {
|
changes: [
|
||||||
changes: [
|
{
|
||||||
{
|
key: 'system.evasion',
|
||||||
key: 'system.evasion',
|
mode: 2,
|
||||||
type: 'add',
|
value: '1'
|
||||||
value: '1'
|
}
|
||||||
}
|
]
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -127,15 +121,13 @@ export const armorFeatures = {
|
||||||
name: 'DAGGERHEART.CONFIG.ArmorFeature.fortified.effects.fortified.name',
|
name: 'DAGGERHEART.CONFIG.ArmorFeature.fortified.effects.fortified.name',
|
||||||
description: 'DAGGERHEART.CONFIG.ArmorFeature.fortified.effects.fortified.description',
|
description: 'DAGGERHEART.CONFIG.ArmorFeature.fortified.effects.fortified.description',
|
||||||
img: 'icons/magic/defensive/shield-barrier-glowing-blue.webp',
|
img: 'icons/magic/defensive/shield-barrier-glowing-blue.webp',
|
||||||
system: {
|
changes: [
|
||||||
changes: [
|
{
|
||||||
{
|
key: 'system.rules.damageReduction.increasePerArmorMark',
|
||||||
key: 'system.rules.damageReduction.increasePerArmorMark',
|
mode: 5,
|
||||||
type: 'override',
|
value: '2'
|
||||||
value: '2'
|
}
|
||||||
}
|
]
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -147,15 +139,13 @@ export const armorFeatures = {
|
||||||
name: 'DAGGERHEART.CONFIG.ArmorFeature.gilded.effects.gilded.name',
|
name: 'DAGGERHEART.CONFIG.ArmorFeature.gilded.effects.gilded.name',
|
||||||
description: 'DAGGERHEART.CONFIG.ArmorFeature.gilded.effects.gilded.description',
|
description: 'DAGGERHEART.CONFIG.ArmorFeature.gilded.effects.gilded.description',
|
||||||
img: 'icons/magic/control/control-influence-crown-gold.webp',
|
img: 'icons/magic/control/control-influence-crown-gold.webp',
|
||||||
system: {
|
changes: [
|
||||||
changes: [
|
{
|
||||||
{
|
key: 'system.traits.presence.value',
|
||||||
key: 'system.traits.presence.value',
|
mode: 2,
|
||||||
type: 'add',
|
value: '1'
|
||||||
value: '1'
|
}
|
||||||
}
|
]
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -167,15 +157,13 @@ export const armorFeatures = {
|
||||||
name: 'DAGGERHEART.CONFIG.ArmorFeature.heavy.effects.heavy.name',
|
name: 'DAGGERHEART.CONFIG.ArmorFeature.heavy.effects.heavy.name',
|
||||||
description: 'DAGGERHEART.CONFIG.ArmorFeature.heavy.effects.heavy.description',
|
description: 'DAGGERHEART.CONFIG.ArmorFeature.heavy.effects.heavy.description',
|
||||||
img: 'icons/commodities/metal/ingot-worn-iron.webp',
|
img: 'icons/commodities/metal/ingot-worn-iron.webp',
|
||||||
system: {
|
changes: [
|
||||||
changes: [
|
{
|
||||||
{
|
key: 'system.evasion',
|
||||||
key: 'system.evasion',
|
mode: 2,
|
||||||
type: 'add',
|
value: '-1'
|
||||||
value: '-1'
|
}
|
||||||
}
|
]
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -224,15 +212,13 @@ export const armorFeatures = {
|
||||||
name: 'DAGGERHEART.CONFIG.ArmorFeature.magical.effects.magical.name',
|
name: 'DAGGERHEART.CONFIG.ArmorFeature.magical.effects.magical.name',
|
||||||
description: 'DAGGERHEART.CONFIG.ArmorFeature.magical.effects.magical.description',
|
description: 'DAGGERHEART.CONFIG.ArmorFeature.magical.effects.magical.description',
|
||||||
img: 'icons/magic/defensive/barrier-shield-dome-blue-purple.webp',
|
img: 'icons/magic/defensive/barrier-shield-dome-blue-purple.webp',
|
||||||
system: {
|
changes: [
|
||||||
changes: [
|
{
|
||||||
{
|
key: 'system.rules.damageReduction.magical',
|
||||||
key: 'system.rules.damageReduction.magical',
|
mode: 5,
|
||||||
type: 'override',
|
value: 1
|
||||||
value: 1
|
}
|
||||||
}
|
]
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -263,15 +249,13 @@ export const armorFeatures = {
|
||||||
name: 'DAGGERHEART.CONFIG.ArmorFeature.physical.effects.physical.name',
|
name: 'DAGGERHEART.CONFIG.ArmorFeature.physical.effects.physical.name',
|
||||||
description: 'DAGGERHEART.CONFIG.ArmorFeature.physical.effects.physical.description',
|
description: 'DAGGERHEART.CONFIG.ArmorFeature.physical.effects.physical.description',
|
||||||
img: 'icons/commodities/stone/ore-pile-tan.webp',
|
img: 'icons/commodities/stone/ore-pile-tan.webp',
|
||||||
system: {
|
changes: [
|
||||||
changes: [
|
{
|
||||||
{
|
key: 'system.rules.damageReduction.physical',
|
||||||
key: 'system.rules.damageReduction.physical',
|
mode: 5,
|
||||||
type: 'override',
|
value: 1
|
||||||
value: 1
|
}
|
||||||
}
|
]
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -296,20 +280,18 @@ export const armorFeatures = {
|
||||||
name: 'DAGGERHEART.CONFIG.ArmorFeature.reinforced.effects.reinforced.name',
|
name: 'DAGGERHEART.CONFIG.ArmorFeature.reinforced.effects.reinforced.name',
|
||||||
description: 'DAGGERHEART.CONFIG.ArmorFeature.reinforced.effects.reinforced.description',
|
description: 'DAGGERHEART.CONFIG.ArmorFeature.reinforced.effects.reinforced.description',
|
||||||
img: 'icons/magic/defensive/shield-barrier-glowing-triangle-green.webp',
|
img: 'icons/magic/defensive/shield-barrier-glowing-triangle-green.webp',
|
||||||
system: {
|
changes: [
|
||||||
changes: [
|
{
|
||||||
{
|
key: 'system.bunuses.damageThresholds.major',
|
||||||
key: 'system.bunuses.damageThresholds.major',
|
mode: 2,
|
||||||
type: 'add',
|
value: '2'
|
||||||
value: '2'
|
},
|
||||||
},
|
{
|
||||||
{
|
key: 'system.bunuses.damageThresholds.severe',
|
||||||
key: 'system.bunuses.damageThresholds.severe',
|
mode: 2,
|
||||||
type: 'add',
|
value: '2'
|
||||||
value: '2'
|
}
|
||||||
}
|
]
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -344,20 +326,18 @@ export const armorFeatures = {
|
||||||
name: 'DAGGERHEART.CONFIG.ArmorFeature.sharp.effects.sharp.name',
|
name: 'DAGGERHEART.CONFIG.ArmorFeature.sharp.effects.sharp.name',
|
||||||
description: 'DAGGERHEART.CONFIG.ArmorFeature.sharp.effects.sharp.description',
|
description: 'DAGGERHEART.CONFIG.ArmorFeature.sharp.effects.sharp.description',
|
||||||
img: 'icons/magic/defensive/shield-barrier-glowing-triangle-green.webp',
|
img: 'icons/magic/defensive/shield-barrier-glowing-triangle-green.webp',
|
||||||
system: {
|
changes: [
|
||||||
changes: [
|
{
|
||||||
{
|
key: 'system.bonuses.damage.primaryWeapon.dice',
|
||||||
key: 'system.bonuses.damage.primaryWeapon.dice',
|
mode: 2,
|
||||||
type: 'add',
|
value: '1d4'
|
||||||
value: '1d4'
|
},
|
||||||
},
|
{
|
||||||
{
|
key: 'system.bonuses.damage.secondaryWeapon.dice',
|
||||||
key: 'system.bonuses.damage.secondaryWeapon.dice',
|
mode: 2,
|
||||||
type: 'add',
|
value: '1d4'
|
||||||
value: '1d4'
|
}
|
||||||
}
|
]
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -428,20 +408,18 @@ export const armorFeatures = {
|
||||||
name: 'DAGGERHEART.CONFIG.ArmorFeature.veryHeavy.effects.veryHeavy.name',
|
name: 'DAGGERHEART.CONFIG.ArmorFeature.veryHeavy.effects.veryHeavy.name',
|
||||||
description: 'DAGGERHEART.CONFIG.ArmorFeature.veryHeavy.effects.veryHeavy.description',
|
description: 'DAGGERHEART.CONFIG.ArmorFeature.veryHeavy.effects.veryHeavy.description',
|
||||||
img: 'icons/commodities/metal/ingot-stamped-steel.webp',
|
img: 'icons/commodities/metal/ingot-stamped-steel.webp',
|
||||||
system: {
|
changes: [
|
||||||
changes: [
|
{
|
||||||
{
|
key: 'system.evasion',
|
||||||
key: 'system.evasion',
|
mode: 2,
|
||||||
type: 'add',
|
value: '-2'
|
||||||
value: '-2'
|
},
|
||||||
},
|
{
|
||||||
{
|
key: 'system.traits.agility.value',
|
||||||
key: 'system.traits.agility.value',
|
mode: 2,
|
||||||
type: 'add',
|
value: '-1'
|
||||||
value: '-1'
|
}
|
||||||
}
|
]
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -453,16 +431,14 @@ export const armorFeatures = {
|
||||||
name: 'DAGGERHEART.CONFIG.ArmorFeature.warded.effects.warded.name',
|
name: 'DAGGERHEART.CONFIG.ArmorFeature.warded.effects.warded.name',
|
||||||
description: 'DAGGERHEART.CONFIG.ArmorFeature.warded.effects.warded.description',
|
description: 'DAGGERHEART.CONFIG.ArmorFeature.warded.effects.warded.description',
|
||||||
img: 'icons/magic/defensive/barrier-shield-dome-pink.webp',
|
img: 'icons/magic/defensive/barrier-shield-dome-pink.webp',
|
||||||
system: {
|
changes: [
|
||||||
changes: [
|
{
|
||||||
{
|
key: 'system.resistance.magical.reduction',
|
||||||
key: 'system.resistance.magical.reduction',
|
mode: 2,
|
||||||
type: 'add',
|
value: '@system.armorScore',
|
||||||
value: '@system.armorScore',
|
priority: 21
|
||||||
priority: 21
|
}
|
||||||
}
|
]
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -512,23 +488,21 @@ export const weaponFeatures = {
|
||||||
name: 'DAGGERHEART.CONFIG.WeaponFeature.barrier.effects.barrier.name',
|
name: 'DAGGERHEART.CONFIG.WeaponFeature.barrier.effects.barrier.name',
|
||||||
description: 'DAGGERHEART.CONFIG.WeaponFeature.barrier.effects.barrier.description',
|
description: 'DAGGERHEART.CONFIG.WeaponFeature.barrier.effects.barrier.description',
|
||||||
img: 'icons/skills/melee/shield-block-bash-blue.webp',
|
img: 'icons/skills/melee/shield-block-bash-blue.webp',
|
||||||
system: {
|
changes: [
|
||||||
changes: [
|
{
|
||||||
{
|
key: 'system.evasion',
|
||||||
key: 'system.evasion',
|
mode: 2,
|
||||||
type: 'add',
|
value: '-1'
|
||||||
value: '-1'
|
},
|
||||||
},
|
{
|
||||||
{
|
key: 'Armor',
|
||||||
key: 'Armor',
|
type: 'armor',
|
||||||
|
typeData: {
|
||||||
type: 'armor',
|
type: 'armor',
|
||||||
typeData: {
|
max: 'ITEM.@system.tier + 1'
|
||||||
type: 'armor',
|
|
||||||
max: 'ITEM.@system.tier + 1'
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
]
|
}
|
||||||
}
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -540,15 +514,13 @@ export const weaponFeatures = {
|
||||||
name: 'DAGGERHEART.CONFIG.WeaponFeature.bonded.effects.damage.name',
|
name: 'DAGGERHEART.CONFIG.WeaponFeature.bonded.effects.damage.name',
|
||||||
description: 'DAGGERHEART.CONFIG.WeaponFeature.bonded.effects.damage.description',
|
description: 'DAGGERHEART.CONFIG.WeaponFeature.bonded.effects.damage.description',
|
||||||
img: 'icons/magic/symbols/chevron-elipse-circle-blue.webp',
|
img: 'icons/magic/symbols/chevron-elipse-circle-blue.webp',
|
||||||
system: {
|
changes: [
|
||||||
changes: [
|
{
|
||||||
{
|
key: 'system.bonuses.damage.primaryWeapon.bonus',
|
||||||
key: 'system.bonuses.damage.primaryWeapon.bonus',
|
mode: 2,
|
||||||
type: 'add',
|
value: '@system.levelData.level.current'
|
||||||
value: '@system.levelData.level.current'
|
}
|
||||||
}
|
]
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -581,20 +553,18 @@ export const weaponFeatures = {
|
||||||
name: 'DAGGERHEART.CONFIG.WeaponFeature.brave.effects.brave.name',
|
name: 'DAGGERHEART.CONFIG.WeaponFeature.brave.effects.brave.name',
|
||||||
description: 'DAGGERHEART.CONFIG.WeaponFeature.brave.effects.brave.description',
|
description: 'DAGGERHEART.CONFIG.WeaponFeature.brave.effects.brave.description',
|
||||||
img: 'icons/magic/life/heart-cross-strong-flame-purple-orange.webp',
|
img: 'icons/magic/life/heart-cross-strong-flame-purple-orange.webp',
|
||||||
system: {
|
changes: [
|
||||||
changes: [
|
{
|
||||||
{
|
key: 'system.evasion',
|
||||||
key: 'system.evasion',
|
mode: 2,
|
||||||
type: 'add',
|
value: '-1'
|
||||||
value: '-1'
|
},
|
||||||
},
|
{
|
||||||
{
|
key: 'system.damageThresholds.severe',
|
||||||
key: 'system.damageThresholds.severe',
|
mode: 2,
|
||||||
type: 'add',
|
value: 'ITEM.@system.tier'
|
||||||
value: 'ITEM.@system.tier'
|
}
|
||||||
}
|
]
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -648,15 +618,13 @@ export const weaponFeatures = {
|
||||||
name: 'DAGGERHEART.CONFIG.WeaponFeature.charged.name',
|
name: 'DAGGERHEART.CONFIG.WeaponFeature.charged.name',
|
||||||
description: 'DAGGERHEART.CONFIG.WeaponFeature.charged.description',
|
description: 'DAGGERHEART.CONFIG.WeaponFeature.charged.description',
|
||||||
img: 'icons/magic/lightning/claws-unarmed-strike-teal.webp',
|
img: 'icons/magic/lightning/claws-unarmed-strike-teal.webp',
|
||||||
system: {
|
changes: [
|
||||||
changes: [
|
{
|
||||||
{
|
key: 'system.proficiency',
|
||||||
key: 'system.proficiency',
|
mode: 2,
|
||||||
type: 'add',
|
value: '1'
|
||||||
value: '1'
|
}
|
||||||
}
|
]
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -692,15 +660,13 @@ export const weaponFeatures = {
|
||||||
name: 'DAGGERHEART.CONFIG.WeaponFeature.cumbersome.effects.cumbersome.name',
|
name: 'DAGGERHEART.CONFIG.WeaponFeature.cumbersome.effects.cumbersome.name',
|
||||||
description: 'DAGGERHEART.CONFIG.WeaponFeature.cumbersome.effects.cumbersome.description',
|
description: 'DAGGERHEART.CONFIG.WeaponFeature.cumbersome.effects.cumbersome.description',
|
||||||
img: 'icons/commodities/metal/mail-plate-steel.webp',
|
img: 'icons/commodities/metal/mail-plate-steel.webp',
|
||||||
system: {
|
changes: [
|
||||||
changes: [
|
{
|
||||||
{
|
key: 'system.traits.finesse.value',
|
||||||
key: 'system.traits.finesse.value',
|
mode: 2,
|
||||||
type: 'add',
|
value: '-1'
|
||||||
value: '-1'
|
}
|
||||||
}
|
]
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -741,16 +707,14 @@ export const weaponFeatures = {
|
||||||
name: 'DAGGERHEART.CONFIG.WeaponFeature.deflecting.effects.deflecting.name',
|
name: 'DAGGERHEART.CONFIG.WeaponFeature.deflecting.effects.deflecting.name',
|
||||||
description: 'DAGGERHEART.CONFIG.WeaponFeature.deflecting.effects.deflecting.description',
|
description: 'DAGGERHEART.CONFIG.WeaponFeature.deflecting.effects.deflecting.description',
|
||||||
img: 'icons/skills/melee/hand-grip-sword-strike-orange.webp',
|
img: 'icons/skills/melee/hand-grip-sword-strike-orange.webp',
|
||||||
system: {
|
changes: [
|
||||||
changes: [
|
{
|
||||||
{
|
key: 'system.evasion',
|
||||||
key: 'system.evasion',
|
mode: 2,
|
||||||
type: 'add',
|
value: '@system.armorScore',
|
||||||
value: '@system.armorScore',
|
priority: 21
|
||||||
priority: 21
|
}
|
||||||
}
|
]
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -790,15 +754,13 @@ export const weaponFeatures = {
|
||||||
name: 'DAGGERHEART.CONFIG.WeaponFeature.destructive.name',
|
name: 'DAGGERHEART.CONFIG.WeaponFeature.destructive.name',
|
||||||
description: 'DAGGERHEART.CONFIG.WeaponFeature.destructive.effects.agility',
|
description: 'DAGGERHEART.CONFIG.WeaponFeature.destructive.effects.agility',
|
||||||
img: 'icons/skills/melee/strike-flail-spiked-pink.webp',
|
img: 'icons/skills/melee/strike-flail-spiked-pink.webp',
|
||||||
system: {
|
changes: [
|
||||||
changes: [
|
{
|
||||||
{
|
key: 'system.traits.agility.value',
|
||||||
key: 'system.traits.agility.value',
|
mode: 2,
|
||||||
type: 'add',
|
value: '-1'
|
||||||
value: '-1'
|
}
|
||||||
}
|
]
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -833,7 +795,7 @@ export const weaponFeatures = {
|
||||||
changes: [
|
changes: [
|
||||||
{
|
{
|
||||||
key: 'system.bonuses.damage.primaryWeapon.bonus',
|
key: 'system.bonuses.damage.primaryWeapon.bonus',
|
||||||
type: 'add',
|
mode: 2,
|
||||||
value: '1'
|
value: '1'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
@ -940,15 +902,13 @@ export const weaponFeatures = {
|
||||||
name: 'DAGGERHEART.CONFIG.WeaponFeature.greedy.actions.greed.name',
|
name: 'DAGGERHEART.CONFIG.WeaponFeature.greedy.actions.greed.name',
|
||||||
description: 'DAGGERHEART.CONFIG.WeaponFeature.greedy.actions.greed.description',
|
description: 'DAGGERHEART.CONFIG.WeaponFeature.greedy.actions.greed.description',
|
||||||
img: 'icons/commodities/currency/coins-crown-stack-gold.webp',
|
img: 'icons/commodities/currency/coins-crown-stack-gold.webp',
|
||||||
system: {
|
changes: [
|
||||||
changes: [
|
{
|
||||||
{
|
key: 'system.proficiency',
|
||||||
key: 'system.proficiency',
|
mode: 2,
|
||||||
type: 'add',
|
value: '1'
|
||||||
value: '1'
|
}
|
||||||
}
|
]
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -991,15 +951,13 @@ export const weaponFeatures = {
|
||||||
name: 'DAGGERHEART.CONFIG.WeaponFeature.heavy.effects.heavy.name',
|
name: 'DAGGERHEART.CONFIG.WeaponFeature.heavy.effects.heavy.name',
|
||||||
description: 'DAGGERHEART.CONFIG.WeaponFeature.heavy.effects.heavy.description',
|
description: 'DAGGERHEART.CONFIG.WeaponFeature.heavy.effects.heavy.description',
|
||||||
img: 'icons/commodities/metal/ingot-worn-iron.webp',
|
img: 'icons/commodities/metal/ingot-worn-iron.webp',
|
||||||
system: {
|
changes: [
|
||||||
changes: [
|
{
|
||||||
{
|
key: 'system.evasion',
|
||||||
key: 'system.evasion',
|
mode: 2,
|
||||||
type: 'add',
|
value: '-1'
|
||||||
value: '-1'
|
}
|
||||||
}
|
]
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -1108,15 +1066,13 @@ export const weaponFeatures = {
|
||||||
name: 'DAGGERHEART.CONFIG.WeaponFeature.massive.effects.massive.name',
|
name: 'DAGGERHEART.CONFIG.WeaponFeature.massive.effects.massive.name',
|
||||||
description: 'DAGGERHEART.CONFIG.WeaponFeature.massive.effects.massive.description',
|
description: 'DAGGERHEART.CONFIG.WeaponFeature.massive.effects.massive.description',
|
||||||
img: 'icons/skills/melee/strike-flail-destructive-yellow.webp',
|
img: 'icons/skills/melee/strike-flail-destructive-yellow.webp',
|
||||||
system: {
|
changes: [
|
||||||
changes: [
|
{
|
||||||
{
|
key: 'system.evasion',
|
||||||
key: 'system.evasion',
|
mode: 2,
|
||||||
type: 'add',
|
value: '-1'
|
||||||
value: '-1'
|
}
|
||||||
}
|
]
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -1151,7 +1107,7 @@ export const weaponFeatures = {
|
||||||
changes: [
|
changes: [
|
||||||
{
|
{
|
||||||
key: 'system.bonuses.damage.primaryWeapon.bonus',
|
key: 'system.bonuses.damage.primaryWeapon.bonus',
|
||||||
type: 'add',
|
mode: 2,
|
||||||
value: 'ITEM.@system.tier + 1'
|
value: 'ITEM.@system.tier + 1'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
@ -1202,15 +1158,13 @@ export const weaponFeatures = {
|
||||||
name: 'DAGGERHEART.CONFIG.WeaponFeature.persuasive.effects.persuasive.name',
|
name: 'DAGGERHEART.CONFIG.WeaponFeature.persuasive.effects.persuasive.name',
|
||||||
description: 'DAGGERHEART.CONFIG.WeaponFeature.persuasive.effects.persuasive.description',
|
description: 'DAGGERHEART.CONFIG.WeaponFeature.persuasive.effects.persuasive.description',
|
||||||
img: 'icons/magic/control/hypnosis-mesmerism-eye.webp',
|
img: 'icons/magic/control/hypnosis-mesmerism-eye.webp',
|
||||||
system: {
|
changes: [
|
||||||
changes: [
|
{
|
||||||
{
|
key: 'system.traits.presence.value',
|
||||||
key: 'system.traits.presence.value',
|
mode: 2,
|
||||||
type: 'add',
|
value: '2'
|
||||||
value: '2'
|
}
|
||||||
}
|
]
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -1249,20 +1203,17 @@ export const weaponFeatures = {
|
||||||
name: 'DAGGERHEART.CONFIG.WeaponFeature.protective.effects.protective.name',
|
name: 'DAGGERHEART.CONFIG.WeaponFeature.protective.effects.protective.name',
|
||||||
description: 'DAGGERHEART.CONFIG.WeaponFeature.protective.effects.protective.description',
|
description: 'DAGGERHEART.CONFIG.WeaponFeature.protective.effects.protective.description',
|
||||||
img: 'icons/skills/melee/shield-block-gray-orange.webp',
|
img: 'icons/skills/melee/shield-block-gray-orange.webp',
|
||||||
system: {
|
changes: [
|
||||||
changes: [
|
{
|
||||||
{
|
key: 'Armor',
|
||||||
key: 'Armor',
|
type: 'armor',
|
||||||
|
value: 0,
|
||||||
|
typeData: {
|
||||||
type: 'armor',
|
type: 'armor',
|
||||||
value: 0,
|
max: 'ITEM.@system.tier'
|
||||||
typeData: {
|
|
||||||
type: 'armor',
|
|
||||||
max: 'ITEM.@system.tier'
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
]
|
}
|
||||||
}
|
]
|
||||||
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -1293,15 +1244,13 @@ export const weaponFeatures = {
|
||||||
name: 'DAGGERHEART.CONFIG.WeaponFeature.reliable.effects.reliable.name',
|
name: 'DAGGERHEART.CONFIG.WeaponFeature.reliable.effects.reliable.name',
|
||||||
description: 'DAGGERHEART.CONFIG.WeaponFeature.reliable.effects.reliable.description',
|
description: 'DAGGERHEART.CONFIG.WeaponFeature.reliable.effects.reliable.description',
|
||||||
img: 'icons/skills/melee/strike-sword-slashing-red.webp',
|
img: 'icons/skills/melee/strike-sword-slashing-red.webp',
|
||||||
system: {
|
changes: [
|
||||||
changes: [
|
{
|
||||||
{
|
key: 'system.bonuses.roll.primaryWeapon.bonus',
|
||||||
key: 'system.bonuses.roll.primaryWeapon.bonus',
|
mode: 2,
|
||||||
type: 'add',
|
value: 1
|
||||||
value: 1
|
}
|
||||||
}
|
]
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
@ -1392,7 +1341,7 @@ export const weaponFeatures = {
|
||||||
changes: [
|
changes: [
|
||||||
{
|
{
|
||||||
key: 'system.bonuses.damage.primaryWeapon.bonus',
|
key: 'system.bonuses.damage.primaryWeapon.bonus',
|
||||||
type: 'add',
|
mode: 2,
|
||||||
value: '@system.traits.agility.value',
|
value: '@system.traits.agility.value',
|
||||||
priority: 21
|
priority: 21
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -185,10 +185,8 @@ export default class D20Roll extends DHRoll {
|
||||||
return changeKeys;
|
return changeKeys;
|
||||||
}
|
}
|
||||||
|
|
||||||
static async buildEvaluate(roll, config = {}, message = {}) {
|
static postEvaluate(roll, config = {}) {
|
||||||
await super.buildEvaluate(roll, config, message);
|
const data = super.postEvaluate(roll, config);
|
||||||
|
|
||||||
const data = config.roll;
|
|
||||||
data.type = config.actionType;
|
data.type = config.actionType;
|
||||||
data.difficulty = config.roll.difficulty;
|
data.difficulty = config.roll.difficulty;
|
||||||
if (config.targets?.length) {
|
if (config.targets?.length) {
|
||||||
|
|
@ -224,6 +222,7 @@ export default class D20Roll extends DHRoll {
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
data.modifierTotal = roll.modifierTotal;
|
data.modifierTotal = roll.modifierTotal;
|
||||||
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
resetFormula() {
|
resetFormula() {
|
||||||
|
|
|
||||||
|
|
@ -13,38 +13,32 @@ export default class DamageRoll extends DHRoll {
|
||||||
|
|
||||||
static DefaultDialog = DamageDialog;
|
static DefaultDialog = DamageDialog;
|
||||||
|
|
||||||
/** @inheritdoc */
|
|
||||||
static async buildEvaluate(roll, config = {}, message = {}) {
|
static async buildEvaluate(roll, config = {}, message = {}) {
|
||||||
if (config.dialog.configure === false) roll.constructFormula(config);
|
if (config.dialog.configure === false) roll.constructFormula(config);
|
||||||
for (const roll of config.roll) await roll.roll.evaluate();
|
if (config.evaluate !== false) for (const roll of config.roll) await roll.roll.evaluate();
|
||||||
|
|
||||||
roll._evaluated = true;
|
roll._evaluated = true;
|
||||||
|
|
||||||
const parts = [];
|
const parts = [];
|
||||||
for (const rollData of config.roll) {
|
for (const roll of config.roll) {
|
||||||
const roll = rollData.roll;
|
parts.push(this.postEvaluate(roll));
|
||||||
parts.push({
|
roll.roll = JSON.stringify(roll.roll.toJSON());
|
||||||
...rollData,
|
|
||||||
...roll.options.roll,
|
|
||||||
total: roll.total,
|
|
||||||
formula: roll.formula,
|
|
||||||
dice: roll.dice.map(d => ({
|
|
||||||
dice: d.denomination,
|
|
||||||
total: d.total,
|
|
||||||
formula: d.formula,
|
|
||||||
results: d.results
|
|
||||||
})),
|
|
||||||
damageTypes: [...(rollData.damageTypes ?? [])],
|
|
||||||
roll,
|
|
||||||
type: config.type,
|
|
||||||
modifierTotal: this.calculateTotalModifiers(roll)
|
|
||||||
});
|
|
||||||
rollData.roll = JSON.stringify(roll.toJSON());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
config.damage = this.unifyDamageRoll(parts);
|
config.damage = this.unifyDamageRoll(parts);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static postEvaluate(roll, config = {}) {
|
||||||
|
return {
|
||||||
|
...roll,
|
||||||
|
...super.postEvaluate(roll.roll, config),
|
||||||
|
damageTypes: [...(roll.damageTypes ?? [])],
|
||||||
|
roll: roll.roll,
|
||||||
|
type: config.type,
|
||||||
|
modifierTotal: this.calculateTotalModifiers(roll.roll)
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
static async buildPost(roll, config, message) {
|
static async buildPost(roll, config, message) {
|
||||||
const chatMessage = config.source?.message
|
const chatMessage = config.source?.message
|
||||||
? ui.chat.collection.get(config.source.message)
|
? ui.chat.collection.get(config.source.message)
|
||||||
|
|
|
||||||
|
|
@ -33,9 +33,7 @@ export default class DHRoll extends Roll {
|
||||||
|
|
||||||
if (config.skips?.createMessage) config.messageRoll = roll;
|
if (config.skips?.createMessage) config.messageRoll = roll;
|
||||||
|
|
||||||
if (config.evaluate !== false) {
|
await this.buildEvaluate(roll, config, (message = {}));
|
||||||
await this.buildEvaluate(roll, config, (message = {}));
|
|
||||||
}
|
|
||||||
await this.buildPost(roll, config, (message = {}));
|
await this.buildPost(roll, config, (message = {}));
|
||||||
return config;
|
return config;
|
||||||
}
|
}
|
||||||
|
|
@ -74,30 +72,13 @@ export default class DHRoll extends Roll {
|
||||||
return roll;
|
return roll;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Evaluates the roll and assigns roll data into the config.
|
|
||||||
* This is only called if config.evaluate is not set to false
|
|
||||||
* @protected
|
|
||||||
*/
|
|
||||||
static async buildEvaluate(roll, config = {}, message = {}) {
|
static async buildEvaluate(roll, config = {}, message = {}) {
|
||||||
await roll.evaluate();
|
if (config.evaluate !== false) {
|
||||||
config.roll = {
|
await roll.evaluate();
|
||||||
...roll.options.roll,
|
config.roll = this.postEvaluate(roll, config);
|
||||||
total: roll.total,
|
}
|
||||||
formula: roll.formula,
|
|
||||||
dice: roll.dice.map(d => ({
|
|
||||||
dice: d.denomination,
|
|
||||||
total: d.total,
|
|
||||||
formula: d.formula,
|
|
||||||
results: d.results
|
|
||||||
}))
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Runs any post configuration events that need to happen towards the end, such as hooks and dice so nice
|
|
||||||
* @protected
|
|
||||||
*/
|
|
||||||
static async buildPost(roll, config, message) {
|
static async buildPost(roll, config, message) {
|
||||||
for (const hook of config.hooks) {
|
for (const hook of config.hooks) {
|
||||||
if (Hooks.call(`${CONFIG.DH.id}.postRoll${hook.capitalize()}`, config, message) === false) return null;
|
if (Hooks.call(`${CONFIG.DH.id}.postRoll${hook.capitalize()}`, config, message) === false) return null;
|
||||||
|
|
@ -110,6 +91,20 @@ export default class DHRoll extends Roll {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static postEvaluate(roll, config = {}) {
|
||||||
|
return {
|
||||||
|
...roll.options.roll,
|
||||||
|
total: roll.total,
|
||||||
|
formula: roll.formula,
|
||||||
|
dice: roll.dice.map(d => ({
|
||||||
|
dice: d.denomination,
|
||||||
|
total: d.total,
|
||||||
|
formula: d.formula,
|
||||||
|
results: d.results
|
||||||
|
}))
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
static async toMessage(roll, config) {
|
static async toMessage(roll, config) {
|
||||||
const item = config.data.parent?.items?.get?.(config.source.item) ?? null;
|
const item = config.data.parent?.items?.get?.(config.source.item) ?? null;
|
||||||
const action = item ? item.system.actions.get(config.source.action) : null;
|
const action = item ? item.system.actions.get(config.source.action) : null;
|
||||||
|
|
|
||||||
|
|
@ -232,41 +232,9 @@ export default class DualityRoll extends D20Roll {
|
||||||
return changeKeys;
|
return changeKeys;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @inheritdoc */
|
|
||||||
static async buildEvaluate(roll, config = {}, message = {}) {
|
static async buildEvaluate(roll, config = {}, message = {}) {
|
||||||
await super.buildEvaluate(roll, config, message);
|
await super.buildEvaluate(roll, config, message);
|
||||||
config.roll.hope = {
|
|
||||||
dice: roll.dHope.denomination,
|
|
||||||
value: this.guaranteedCritical ? 0 : roll.dHope.total,
|
|
||||||
rerolled: {
|
|
||||||
any: roll.dHope.results.some(x => x.rerolled),
|
|
||||||
rerolls: roll.dHope.results.filter(x => x.rerolled)
|
|
||||||
}
|
|
||||||
};
|
|
||||||
config.roll.fear = {
|
|
||||||
dice: roll.dFear.denomination,
|
|
||||||
value: this.guaranteedCritical ? 0 : roll.dFear.total,
|
|
||||||
rerolled: {
|
|
||||||
any: roll.dFear.results.some(x => x.rerolled),
|
|
||||||
rerolls: roll.dFear.results.filter(x => x.rerolled)
|
|
||||||
}
|
|
||||||
};
|
|
||||||
config.roll.rally = {
|
|
||||||
dice: roll.dRally?.denomination,
|
|
||||||
value: roll.dRally?.total
|
|
||||||
};
|
|
||||||
config.roll.result = {
|
|
||||||
duality: roll.withHope ? 1 : roll.withFear ? -1 : 0,
|
|
||||||
total: this.guaranteedCritical ? 0 : roll.dHope.total + roll.dFear.total,
|
|
||||||
label: roll.totalLabel
|
|
||||||
};
|
|
||||||
|
|
||||||
if (roll._rallyIndex && roll.data?.parent)
|
|
||||||
roll.data.parent.deleteEmbeddedDocuments('ActiveEffect', [roll._rallyIndex]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/** @inheritdoc */
|
|
||||||
static async buildPost(roll, config, message) {
|
|
||||||
await setDiceSoNiceForDualityRoll(
|
await setDiceSoNiceForDualityRoll(
|
||||||
roll,
|
roll,
|
||||||
config.roll.advantage.type,
|
config.roll.advantage.type,
|
||||||
|
|
@ -274,7 +242,44 @@ export default class DualityRoll extends D20Roll {
|
||||||
config.roll.fear.dice,
|
config.roll.fear.dice,
|
||||||
config.roll.advantage.dice
|
config.roll.advantage.dice
|
||||||
);
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
static postEvaluate(roll, config = {}) {
|
||||||
|
const data = super.postEvaluate(roll, config);
|
||||||
|
|
||||||
|
data.hope = {
|
||||||
|
dice: roll.dHope.denomination,
|
||||||
|
value: this.guaranteedCritical ? 0 : roll.dHope.total,
|
||||||
|
rerolled: {
|
||||||
|
any: roll.dHope.results.some(x => x.rerolled),
|
||||||
|
rerolls: roll.dHope.results.filter(x => x.rerolled)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
data.fear = {
|
||||||
|
dice: roll.dFear.denomination,
|
||||||
|
value: this.guaranteedCritical ? 0 : roll.dFear.total,
|
||||||
|
rerolled: {
|
||||||
|
any: roll.dFear.results.some(x => x.rerolled),
|
||||||
|
rerolls: roll.dFear.results.filter(x => x.rerolled)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
data.rally = {
|
||||||
|
dice: roll.dRally?.denomination,
|
||||||
|
value: roll.dRally?.total
|
||||||
|
};
|
||||||
|
data.result = {
|
||||||
|
duality: roll.withHope ? 1 : roll.withFear ? -1 : 0,
|
||||||
|
total: this.guaranteedCritical ? 0 : roll.dHope.total + roll.dFear.total,
|
||||||
|
label: roll.totalLabel
|
||||||
|
};
|
||||||
|
|
||||||
|
if (roll._rallyIndex && roll.data?.parent)
|
||||||
|
roll.data.parent.deleteEmbeddedDocuments('ActiveEffect', [roll._rallyIndex]);
|
||||||
|
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
|
static async buildPost(roll, config, message) {
|
||||||
await super.buildPost(roll, config, message);
|
await super.buildPost(roll, config, message);
|
||||||
|
|
||||||
await DualityRoll.dualityUpdate(config);
|
await DualityRoll.dualityUpdate(config);
|
||||||
|
|
|
||||||
|
|
@ -75,23 +75,25 @@ export default class FateRoll extends D20Roll {
|
||||||
this.terms[0] = new foundry.dice.terms.Die({ faces: 12 });
|
this.terms[0] = new foundry.dice.terms.Die({ faces: 12 });
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @inheritdoc */
|
|
||||||
static async buildEvaluate(roll, config = {}, message = {}) {
|
static async buildEvaluate(roll, config = {}, message = {}) {
|
||||||
await super.buildEvaluate(roll, config, message);
|
await super.buildEvaluate(roll, config, message);
|
||||||
config.roll.fate = {
|
|
||||||
dice: roll.fateDie === 'Hope' ? roll.dHope.denomination : roll.dFear.denomination,
|
|
||||||
value: roll.fateDie === 'Hope' ? roll.dHope.total : roll.dFear.total,
|
|
||||||
fateDie: roll.fateDie
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
/** @inheritdoc */
|
|
||||||
static async buildPost(roll, config, message) {
|
|
||||||
if (roll.fateDie === 'Hope') {
|
if (roll.fateDie === 'Hope') {
|
||||||
await setDiceSoNiceForHopeFateRoll(roll, config.roll.fate.dice);
|
await setDiceSoNiceForHopeFateRoll(roll, config.roll.fate.dice);
|
||||||
} else {
|
} else {
|
||||||
await setDiceSoNiceForFearFateRoll(roll, config.roll.fate.dice);
|
await setDiceSoNiceForFearFateRoll(roll, config.roll.fate.dice);
|
||||||
}
|
}
|
||||||
return super.buildPost(roll, config, message);
|
}
|
||||||
|
|
||||||
|
static postEvaluate(roll, config = {}) {
|
||||||
|
const data = super.postEvaluate(roll, config);
|
||||||
|
|
||||||
|
data.fate = {
|
||||||
|
dice: roll.fateDie === 'Hope' ? roll.dHope.denomination : roll.dFear.denomination,
|
||||||
|
value: roll.fateDie === 'Hope' ? roll.dHope.total : roll.dFear.total,
|
||||||
|
fateDie: roll.fateDie
|
||||||
|
};
|
||||||
|
|
||||||
|
return data;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -58,7 +58,7 @@ export const renderMeasuredTemplate = async event => {
|
||||||
if (!type || !range || !game.canvas.scene) return;
|
if (!type || !range || !game.canvas.scene) return;
|
||||||
|
|
||||||
const shapeData = CONFIG.Canvas.layers.regions.layerClass.getTemplateShape({
|
const shapeData = CONFIG.Canvas.layers.regions.layerClass.getTemplateShape({
|
||||||
shapeType: type,
|
shapetype: type,
|
||||||
angle,
|
angle,
|
||||||
range,
|
range,
|
||||||
direction,
|
direction,
|
||||||
|
|
|
||||||
|
|
@ -35,24 +35,23 @@ export const enricherConfig = [
|
||||||
];
|
];
|
||||||
|
|
||||||
export const enricherRenderSetup = element => {
|
export const enricherRenderSetup = element => {
|
||||||
const clickWrapper = func => event => {
|
|
||||||
event.stopPropagation();
|
|
||||||
func(event);
|
|
||||||
};
|
|
||||||
|
|
||||||
element
|
element
|
||||||
.querySelectorAll('.enriched-damage-button')
|
.querySelectorAll('.enriched-damage-button')
|
||||||
.forEach(element => element.addEventListener('click', clickWrapper(renderDamageButton)));
|
.forEach(element => element.addEventListener('click', renderDamageButton));
|
||||||
|
|
||||||
element
|
element
|
||||||
.querySelectorAll('.duality-roll-button')
|
.querySelectorAll('.duality-roll-button')
|
||||||
.forEach(element => element.addEventListener('click', clickWrapper(renderDualityButton)));
|
.forEach(element => element.addEventListener('click', renderDualityButton));
|
||||||
|
|
||||||
element
|
element
|
||||||
.querySelectorAll('.fate-roll-button')
|
.querySelectorAll('.fate-roll-button')
|
||||||
.forEach(element => element.addEventListener('click', clickWrapper(renderFateButton)));
|
.forEach(element => element.addEventListener('click', renderFateButton));
|
||||||
|
|
||||||
element
|
element
|
||||||
.querySelectorAll('.measured-template-button')
|
.querySelectorAll('.measured-template-button')
|
||||||
.forEach(element => element.addEventListener('click', clickWrapper(renderMeasuredTemplate)));
|
.forEach(element => element.addEventListener('click', renderMeasuredTemplate));
|
||||||
|
|
||||||
|
// element
|
||||||
|
// .querySelectorAll('.enriched-effect')
|
||||||
|
// .forEach(element => element.addEventListener('dragstart', dragEnrichedEffect));
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,38 +0,0 @@
|
||||||
import { MigrationHandlerBase } from './base.mjs';
|
|
||||||
|
|
||||||
export class Migration_2_5_2 extends MigrationHandlerBase {
|
|
||||||
version = '2.5.2';
|
|
||||||
|
|
||||||
/** @inheritdoc */
|
|
||||||
async updateActiveEffectSource(effectSource, item) {
|
|
||||||
let shouldUpdate = false;
|
|
||||||
const newChanges = [];
|
|
||||||
const srdItem = item?._stats.compendiumSource ?
|
|
||||||
await foundry.utils.fromUuid(item?._stats.compendiumSource) :
|
|
||||||
null;
|
|
||||||
for (let i = 0; i < effectSource.system.changes.length; i++) {
|
|
||||||
const change = effectSource.system.changes[i];
|
|
||||||
const srdEffect = srdItem?.effects.find(x => x.name === effectSource.name);
|
|
||||||
if (change.type === 'custom') {
|
|
||||||
const srdChange = srdEffect ? srdEffect.system.changes[i] : null;
|
|
||||||
if (
|
|
||||||
change.key === srdChange.key &&
|
|
||||||
change.value === srdChange.value &&
|
|
||||||
change.type !== srdChange.type
|
|
||||||
) {
|
|
||||||
shouldUpdate = true;
|
|
||||||
newChanges.push(srdChange);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
newChanges.push(change);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (shouldUpdate) {
|
|
||||||
return {
|
|
||||||
_id: effectSource._id,
|
|
||||||
system: { changes: newChanges }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,77 +0,0 @@
|
||||||
/**
|
|
||||||
* @import DHItem from "../../documents/item.mjs";
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The base class of an async migration.
|
|
||||||
* These are generally run between versions for things that require compendiums or must be done in post.
|
|
||||||
* The migrate() functions calls the various updateXSource() functions.
|
|
||||||
* Generally a subclass will override the version and the updateXSource() functions.
|
|
||||||
*/
|
|
||||||
export class MigrationHandlerBase {
|
|
||||||
version = null;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets change data for an active effect's source, or null if no changes
|
|
||||||
* @param {object} effectSource
|
|
||||||
* @param {DHItem} item
|
|
||||||
* @returns {Promise<object>}
|
|
||||||
* @protected
|
|
||||||
*/
|
|
||||||
async updateActiveEffectSource(effectSource, item) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
async migrate() {
|
|
||||||
// todo: handle more than just migrating effects. Right now this can only migrate effects
|
|
||||||
// NOTE: the preload is hardcoded, we should not hardcode it
|
|
||||||
|
|
||||||
const numActors = game.actors.size;
|
|
||||||
const numItems = game.items.size;
|
|
||||||
const finalUpdateProgress = 5;
|
|
||||||
const DhProgress = game.system.api.applications.ui.DhProgress;
|
|
||||||
const preRunProgress = game.packs.size;
|
|
||||||
|
|
||||||
const progress = DhProgress.createMigrationProgress(
|
|
||||||
preRunProgress + numActors + numItems + finalUpdateProgress
|
|
||||||
);
|
|
||||||
|
|
||||||
// Preload. Avoid hardcoding in the future
|
|
||||||
for (const pack of game.packs) {
|
|
||||||
await pack.getDocuments();
|
|
||||||
progress.advance();
|
|
||||||
}
|
|
||||||
|
|
||||||
const batch = [];
|
|
||||||
|
|
||||||
const updateItem = async item => {
|
|
||||||
const itemUpdates = [];
|
|
||||||
for (const effect of item.effects) {
|
|
||||||
const changes = await this.updateActiveEffectSource(effect.toObject(), item);
|
|
||||||
if (changes) itemUpdates.push(changes);
|
|
||||||
}
|
|
||||||
if (itemUpdates.length) {
|
|
||||||
batch.push({
|
|
||||||
action: 'update',
|
|
||||||
documentName: 'ActiveEffect',
|
|
||||||
updates: itemUpdates,
|
|
||||||
parent: item
|
|
||||||
});
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
for (const actor of game.actors) {
|
|
||||||
for (const item of actor.items) {
|
|
||||||
await updateItem(item);
|
|
||||||
}
|
|
||||||
progress.advance();
|
|
||||||
}
|
|
||||||
for (const item of game.items) {
|
|
||||||
await updateItem(item);
|
|
||||||
progress.advance();
|
|
||||||
}
|
|
||||||
|
|
||||||
await foundry.documents.modifyBatch(batch);
|
|
||||||
progress.advance({ by: finalUpdateProgress });
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
import { defaultRestOptions } from '../config/generalConfig.mjs';
|
import { defaultRestOptions } from '../config/generalConfig.mjs';
|
||||||
import { Migration_2_5_2 } from './migration-handlers/2_5_2.mjs';
|
|
||||||
|
|
||||||
export async function runMigrations() {
|
export async function runMigrations() {
|
||||||
let lastMigrationVersion = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.LastMigrationVersion);
|
let lastMigrationVersion = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.LastMigrationVersion);
|
||||||
|
|
@ -321,19 +320,7 @@ export async function runMigrations() {
|
||||||
|
|
||||||
lastMigrationVersion = '2.1.0';
|
lastMigrationVersion = '2.1.0';
|
||||||
}
|
}
|
||||||
|
//#endregion
|
||||||
|
|
||||||
await game.settings.set(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.LastMigrationVersion, lastMigrationVersion);
|
await game.settings.set(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.LastMigrationVersion, lastMigrationVersion);
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
|
||||||
/* New Style migrations below this point */
|
|
||||||
/* -------------------------------------------- */
|
|
||||||
|
|
||||||
const migrations = [
|
|
||||||
new Migration_2_5_2()
|
|
||||||
].filter(m => m.version && foundry.utils.isNewerVersion(m.version, lastMigrationVersion));
|
|
||||||
|
|
||||||
for (const handler of migrations) {
|
|
||||||
await handler.migrate();
|
|
||||||
await game.settings.set(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.LastMigrationVersion, handler.version);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -325,7 +325,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.evasion",
|
"key": "system.evasion",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "@system.evasion / 2",
|
"value": "@system.evasion / 2",
|
||||||
"priority": 10
|
"priority": 10
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -328,7 +328,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.disadvantageSources",
|
"key": "system.disadvantageSources",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "Agility Rolls",
|
"value": "Agility Rolls",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -338,7 +338,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.advantageSources",
|
"key": "system.advantageSources",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "On attacks if they are Hidden.",
|
"value": "On attacks if they are Hidden.",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -235,7 +235,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.rules.conditionImmunities.restrained",
|
"key": "system.rules.conditionImmunities.restrained",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
@ -298,7 +298,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.resistance.magical.resistance",
|
"key": "system.resistance.magical.resistance",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -462,7 +462,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.bonuses.damage.physical.bonus",
|
"key": "system.bonuses.damage.physical.bonus",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "10",
|
"value": "10",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -273,7 +273,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.bonuses.roll.attack.bonus",
|
"key": "system.bonuses.roll.attack.bonus",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "ITEM.@system.resource.value",
|
"value": "ITEM.@system.resource.value",
|
||||||
"priority": 21
|
"priority": 21
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -241,7 +241,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.damage.hpDamageMultiplier",
|
"key": "system.rules.attack.damage.hpDamageMultiplier",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "2",
|
"value": "2",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -243,7 +243,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.resistance.physical.resistance",
|
"key": "system.resistance.physical.resistance",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
@ -306,7 +306,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.damage.hpDamageMultiplier",
|
"key": "system.rules.attack.damage.hpDamageMultiplier",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "2",
|
"value": "2",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -268,7 +268,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.difficulty",
|
"key": "system.difficulty",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "3",
|
"value": "3",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -272,7 +272,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.difficulty",
|
"key": "system.difficulty",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "2",
|
"value": "2",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -343,7 +343,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.resistance.physical.reduction",
|
"key": "system.resistance.physical.reduction",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "7",
|
"value": "7",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -326,7 +326,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.disadvantageSources",
|
"key": "system.disadvantageSources",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "Your next action",
|
"value": "Your next action",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -237,7 +237,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.damage.hpDamageMultiplier",
|
"key": "system.rules.attack.damage.hpDamageMultiplier",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "2",
|
"value": "2",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -378,7 +378,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.advantageSources",
|
"key": "system.advantageSources",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "Attacks made while Hidden",
|
"value": "Attacks made while Hidden",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -349,7 +349,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.evasion",
|
"key": "system.evasion",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "@system.evasion / 2",
|
"value": "@system.evasion / 2",
|
||||||
"priority": 10
|
"priority": 10
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -253,7 +253,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.difficulty",
|
"key": "system.difficulty",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "2",
|
"value": "2",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
@ -316,7 +316,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.resistance.physical.reduction",
|
"key": "system.resistance.physical.reduction",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "3",
|
"value": "3",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -238,7 +238,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.resistance.magical.resistance",
|
"key": "system.resistance.magical.resistance",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -316,7 +316,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.disadvantageSources",
|
"key": "system.disadvantageSources",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "On your next action roll.",
|
"value": "On your next action roll.",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -238,7 +238,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.damage.hpDamageMultiplier",
|
"key": "system.rules.attack.damage.hpDamageMultiplier",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "2",
|
"value": "2",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -240,7 +240,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.resistance.physical.resistance",
|
"key": "system.resistance.physical.resistance",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -273,7 +273,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.resistance.physical.resistance",
|
"key": "system.resistance.physical.resistance",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -273,7 +273,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.resistance.physical.resistance",
|
"key": "system.resistance.physical.resistance",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -273,7 +273,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.resistance.physical.resistance",
|
"key": "system.resistance.physical.resistance",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -300,7 +300,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.disadvantageSources",
|
"key": "system.disadvantageSources",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "On attack rolls while you're within Very Close range of the Sentinel",
|
"value": "On attack rolls while you're within Very Close range of the Sentinel",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -305,7 +305,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.evasion",
|
"key": "system.evasion",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "@system.evasion / 2",
|
"value": "@system.evasion / 2",
|
||||||
"priority": 10
|
"priority": 10
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -379,7 +379,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.difficulty",
|
"key": "system.difficulty",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -324,7 +324,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.difficulty",
|
"key": "system.difficulty",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "3",
|
"value": "3",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
@ -387,7 +387,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.resistance.physical.resistance",
|
"key": "system.resistance.physical.resistance",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -262,7 +262,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.resistance.physical.resistance",
|
"key": "system.resistance.physical.resistance",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,13 +27,13 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.bonuses.rest.shortRest.shortMoves",
|
"key": "system.bonuses.rest.shortRest.shortMoves",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.bonuses.rest.longRest.longMoves",
|
"key": "system.bonuses.rest.longRest.longMoves",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.advantageSources",
|
"key": "system.advantageSources",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "Dread Visage: Rolls to intimidate hostile creatures",
|
"value": "Dread Visage: Rolls to intimidate hostile creatures",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,13 +27,13 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.bonuses.rest.shortRest.longMoves",
|
"key": "system.bonuses.rest.shortRest.longMoves",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.bonuses.rest.shortRest.shortMoves",
|
"key": "system.bonuses.rest.shortRest.shortMoves",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "-1",
|
"value": "-1",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.resources.hitPoints.max",
|
"key": "system.resources.hitPoints.max",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.resources.stress.max",
|
"key": "system.resources.stress.max",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.advantageSources",
|
"key": "system.advantageSources",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "Agility Rolls that involve balancing and climbing",
|
"value": "Agility Rolls that involve balancing and climbing",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.evasion",
|
"key": "system.evasion",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.rules.damageReduction.stressDamageReduction.severe.cost",
|
"key": "system.rules.damageReduction.stressDamageReduction.severe.cost",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,13 +27,13 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.damageThresholds.major",
|
"key": "system.damageThresholds.major",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "@prof",
|
"value": "@prof",
|
||||||
"priority": 21
|
"priority": 21
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.damageThresholds.severe",
|
"key": "system.damageThresholds.severe",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "@prof",
|
"value": "@prof",
|
||||||
"priority": 21
|
"priority": 21
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.rules.damageReduction.stressDamageReduction.minor.cost",
|
"key": "system.rules.damageReduction.stressDamageReduction.minor.cost",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "2",
|
"value": "2",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -90,13 +90,13 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.bonuses.damage.physical.dice",
|
"key": "system.bonuses.damage.physical.dice",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "1d6",
|
"value": "1d6",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.bonuses.damage.magical.dice",
|
"key": "system.bonuses.damage.magical.dice",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "1d6",
|
"value": "1d6",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -57,7 +57,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.evasion",
|
"key": "system.evasion",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "2",
|
"value": "2",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -62,25 +62,25 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.traits.agility.value",
|
"key": "system.traits.agility.value",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.evasion",
|
"key": "system.evasion",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "2",
|
"value": "2",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.damage.diceIndex",
|
"key": "system.rules.attack.damage.diceIndex",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "0",
|
"value": "0",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.roll.trait",
|
"key": "system.rules.attack.roll.trait",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "agility",
|
"value": "agility",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -62,31 +62,31 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.traits.agility.value",
|
"key": "system.traits.agility.value",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "2",
|
"value": "2",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.evasion",
|
"key": "system.evasion",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "4",
|
"value": "4",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.damage.diceIndex",
|
"key": "system.rules.attack.damage.diceIndex",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "3",
|
"value": "3",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.damage.bonus",
|
"key": "system.rules.attack.damage.bonus",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "6",
|
"value": "6",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.roll.trait",
|
"key": "system.rules.attack.roll.trait",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "agility",
|
"value": "agility",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -62,25 +62,25 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.traits.agility.value",
|
"key": "system.traits.agility.value",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.evasion",
|
"key": "system.evasion",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "2",
|
"value": "2",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.damage.diceIndex",
|
"key": "system.rules.attack.damage.diceIndex",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "0",
|
"value": "0",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.roll.trait",
|
"key": "system.rules.attack.roll.trait",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "agility",
|
"value": "agility",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -62,31 +62,31 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.traits.strength.value",
|
"key": "system.traits.strength.value",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.evasion",
|
"key": "system.evasion",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.damage.diceIndex",
|
"key": "system.rules.attack.damage.diceIndex",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "2",
|
"value": "2",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.damage.bonus",
|
"key": "system.rules.attack.damage.bonus",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "2",
|
"value": "2",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.roll.trait",
|
"key": "system.rules.attack.roll.trait",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "strength",
|
"value": "strength",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -65,31 +65,31 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.traits.agility.value",
|
"key": "system.traits.agility.value",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "3",
|
"value": "3",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.evasion",
|
"key": "system.evasion",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "3",
|
"value": "3",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.damage.diceIndex",
|
"key": "system.rules.attack.damage.diceIndex",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "3",
|
"value": "3",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.damage.bonus",
|
"key": "system.rules.attack.damage.bonus",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "10",
|
"value": "10",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.roll.trait",
|
"key": "system.rules.attack.roll.trait",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "agility",
|
"value": "agility",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -62,31 +62,31 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.traits.strength.value",
|
"key": "system.traits.strength.value",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "2",
|
"value": "2",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.evasion",
|
"key": "system.evasion",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "2",
|
"value": "2",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.damage.diceIndex",
|
"key": "system.rules.attack.damage.diceIndex",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "4",
|
"value": "4",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.damage.bonus",
|
"key": "system.rules.attack.damage.bonus",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "8",
|
"value": "8",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.roll.trait",
|
"key": "system.rules.attack.roll.trait",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "strength",
|
"value": "strength",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -62,31 +62,31 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.traits.finesse.value",
|
"key": "system.traits.finesse.value",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "2",
|
"value": "2",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.evasion",
|
"key": "system.evasion",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "3",
|
"value": "3",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.damage.diceIndex",
|
"key": "system.rules.attack.damage.diceIndex",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "2",
|
"value": "2",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.damage.bonus",
|
"key": "system.rules.attack.damage.bonus",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "6",
|
"value": "6",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.roll.trait",
|
"key": "system.rules.attack.roll.trait",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "finesse",
|
"value": "finesse",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -62,25 +62,25 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.traits.instinct.value",
|
"key": "system.traits.instinct.value",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.evasion",
|
"key": "system.evasion",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "2",
|
"value": "2",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.damage.diceIndex",
|
"key": "system.rules.attack.damage.diceIndex",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.roll.trait",
|
"key": "system.rules.attack.roll.trait",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "instinct",
|
"value": "instinct",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -49,13 +49,13 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.bonuses.damage.physical.bonus",
|
"key": "system.bonuses.damage.physical.bonus",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "6",
|
"value": "6",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.evasion",
|
"key": "system.evasion",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "2",
|
"value": "2",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -49,31 +49,31 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.traits.strength.value",
|
"key": "system.traits.strength.value",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "2",
|
"value": "2",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.evasion",
|
"key": "system.evasion",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "3",
|
"value": "3",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.damage.diceIndex",
|
"key": "system.rules.attack.damage.diceIndex",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "3",
|
"value": "3",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.damage.bonus",
|
"key": "system.rules.attack.damage.bonus",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "8",
|
"value": "8",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.roll.trait",
|
"key": "system.rules.attack.roll.trait",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "strength",
|
"value": "strength",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -66,31 +66,31 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.traits.strength.value",
|
"key": "system.traits.strength.value",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "3",
|
"value": "3",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.evasion",
|
"key": "system.evasion",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.damage.diceIndex",
|
"key": "system.rules.attack.damage.diceIndex",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "4",
|
"value": "4",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.damage.bonus",
|
"key": "system.rules.attack.damage.bonus",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "12",
|
"value": "12",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.roll.trait",
|
"key": "system.rules.attack.roll.trait",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "strength",
|
"value": "strength",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -62,31 +62,31 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.traits.instinct.value",
|
"key": "system.traits.instinct.value",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "2",
|
"value": "2",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.evasion",
|
"key": "system.evasion",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.damage.diceIndex",
|
"key": "system.rules.attack.damage.diceIndex",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "3",
|
"value": "3",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.damage.bonus",
|
"key": "system.rules.attack.damage.bonus",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "7",
|
"value": "7",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.roll.trait",
|
"key": "system.rules.attack.roll.trait",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "instinct",
|
"value": "instinct",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -62,31 +62,31 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.traits.agility.value",
|
"key": "system.traits.agility.value",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.evasion",
|
"key": "system.evasion",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "2",
|
"value": "2",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.damage.diceIndex",
|
"key": "system.rules.attack.damage.diceIndex",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "2",
|
"value": "2",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.damage.bonus",
|
"key": "system.rules.attack.damage.bonus",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.roll.trait",
|
"key": "system.rules.attack.roll.trait",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "agility",
|
"value": "agility",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -65,31 +65,31 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.traits.finesse.value",
|
"key": "system.traits.finesse.value",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "3",
|
"value": "3",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.evasion",
|
"key": "system.evasion",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "4",
|
"value": "4",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.damage.diceIndex",
|
"key": "system.rules.attack.damage.diceIndex",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "3",
|
"value": "3",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.damage.bonus",
|
"key": "system.rules.attack.damage.bonus",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "11",
|
"value": "11",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.roll.trait",
|
"key": "system.rules.attack.roll.trait",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "finesse",
|
"value": "finesse",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -49,19 +49,19 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.bonuses.damage.physical.bonus",
|
"key": "system.bonuses.damage.physical.bonus",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "9",
|
"value": "9",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.evasion",
|
"key": "system.evasion",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "3",
|
"value": "3",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.damage.diceIndex",
|
"key": "system.rules.attack.damage.diceIndex",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"priority": 60
|
"priority": 60
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -49,31 +49,31 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.traits.strength.value",
|
"key": "system.traits.strength.value",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "3",
|
"value": "3",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.evasion",
|
"key": "system.evasion",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "2",
|
"value": "2",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.damage.diceIndex",
|
"key": "system.rules.attack.damage.diceIndex",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "4",
|
"value": "4",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.damage.bonus",
|
"key": "system.rules.attack.damage.bonus",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "10",
|
"value": "10",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.roll.trait",
|
"key": "system.rules.attack.roll.trait",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "strength",
|
"value": "strength",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -62,25 +62,25 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.traits.agility.value",
|
"key": "system.traits.agility.value",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.evasion",
|
"key": "system.evasion",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "3",
|
"value": "3",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.damage.diceIndex",
|
"key": "system.rules.attack.damage.diceIndex",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.roll.trait",
|
"key": "system.rules.attack.roll.trait",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "agility",
|
"value": "agility",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -62,31 +62,31 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.traits.strength.value",
|
"key": "system.traits.strength.value",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "2",
|
"value": "2",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.evasion",
|
"key": "system.evasion",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.damage.diceIndex",
|
"key": "system.rules.attack.damage.diceIndex",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "2",
|
"value": "2",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.damage.bonus",
|
"key": "system.rules.attack.damage.bonus",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "2",
|
"value": "2",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.roll.trait",
|
"key": "system.rules.attack.roll.trait",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "strength",
|
"value": "strength",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -62,31 +62,31 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.traits.instinct.value",
|
"key": "system.traits.instinct.value",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.evasion",
|
"key": "system.evasion",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "3",
|
"value": "3",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.damage.diceIndex",
|
"key": "system.rules.attack.damage.diceIndex",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "2",
|
"value": "2",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.damage.bonus",
|
"key": "system.rules.attack.damage.bonus",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "6",
|
"value": "6",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.roll.trait",
|
"key": "system.rules.attack.roll.trait",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "instinct",
|
"value": "instinct",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -62,31 +62,31 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.traits.strength.value",
|
"key": "system.traits.strength.value",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "3",
|
"value": "3",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.evasion",
|
"key": "system.evasion",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.damage.diceIndex",
|
"key": "system.rules.attack.damage.diceIndex",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "3",
|
"value": "3",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.damage.bonus",
|
"key": "system.rules.attack.damage.bonus",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "4",
|
"value": "4",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.roll.trait",
|
"key": "system.rules.attack.roll.trait",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "strength",
|
"value": "strength",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -62,31 +62,31 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.traits.finesse.value",
|
"key": "system.traits.finesse.value",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.evasion",
|
"key": "system.evasion",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "2",
|
"value": "2",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.damage.diceIndex",
|
"key": "system.rules.attack.damage.diceIndex",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.damage.bonus",
|
"key": "system.rules.attack.damage.bonus",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.roll.trait",
|
"key": "system.rules.attack.roll.trait",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "finesse",
|
"value": "finesse",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -62,31 +62,31 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.traits.finesse.value",
|
"key": "system.traits.finesse.value",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.evasion",
|
"key": "system.evasion",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "2",
|
"value": "2",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.damage.diceIndex",
|
"key": "system.rules.attack.damage.diceIndex",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "2",
|
"value": "2",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.damage.bonus",
|
"key": "system.rules.attack.damage.bonus",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "4",
|
"value": "4",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.roll.trait",
|
"key": "system.rules.attack.roll.trait",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "finesse",
|
"value": "finesse",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -65,31 +65,31 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.traits.strength.value",
|
"key": "system.traits.strength.value",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "3",
|
"value": "3",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.evasion",
|
"key": "system.evasion",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "2",
|
"value": "2",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.damage.diceIndex",
|
"key": "system.rules.attack.damage.diceIndex",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "4",
|
"value": "4",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.damage.bonus",
|
"key": "system.rules.attack.damage.bonus",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "10",
|
"value": "10",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.roll.trait",
|
"key": "system.rules.attack.roll.trait",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "strength",
|
"value": "strength",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -62,31 +62,31 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.traits.finesse.value",
|
"key": "system.traits.finesse.value",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.evasion",
|
"key": "system.evasion",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "3",
|
"value": "3",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.damage.diceIndex",
|
"key": "system.rules.attack.damage.diceIndex",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "0",
|
"value": "0",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.damage.bonus",
|
"key": "system.rules.attack.damage.bonus",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "2",
|
"value": "2",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.attack.roll.trait",
|
"key": "system.rules.attack.roll.trait",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "finesse",
|
"value": "finesse",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -60,7 +60,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.resistance.physical.resistance",
|
"key": "system.resistance.physical.resistance",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
@ -98,7 +98,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.resistance.physical.reduction",
|
"key": "system.resistance.physical.reduction",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "@system.armorScore",
|
"value": "@system.armorScore",
|
||||||
"priority": 21
|
"priority": 21
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -25,13 +25,13 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.damageThresholds.major",
|
"key": "system.damageThresholds.major",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "-2",
|
"value": "-2",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.damageThresholds.severe",
|
"key": "system.damageThresholds.severe",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "-2",
|
"value": "-2",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -25,13 +25,13 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.damageThresholds.major",
|
"key": "system.damageThresholds.major",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "3",
|
"value": "3",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.damageThresholds.severe",
|
"key": "system.damageThresholds.severe",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "3",
|
"value": "3",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -62,7 +62,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.proficiency",
|
"key": "system.proficiency",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -108,7 +108,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.proficiency",
|
"key": "system.proficiency",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "2",
|
"value": "2",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -25,13 +25,13 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.damageThresholds.major",
|
"key": "system.damageThresholds.major",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "2",
|
"value": "2",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.damageThresholds.severe",
|
"key": "system.damageThresholds.severe",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "2",
|
"value": "2",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -25,13 +25,13 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.damageThresholds.major",
|
"key": "system.damageThresholds.major",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "2",
|
"value": "2",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.damageThresholds.severe",
|
"key": "system.damageThresholds.severe",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "2",
|
"value": "2",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -24,13 +24,13 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.bonuses.damage.physical.bonus",
|
"key": "system.bonuses.damage.physical.bonus",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "@system.levelData.level.current",
|
"value": "@system.levelData.level.current",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.burden.ignore",
|
"key": "system.rules.burden.ignore",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.bonuses.rally",
|
"key": "system.bonuses.rally",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "6 + min((floor(@system.levelData.level.current / 5)*2), 2)",
|
"value": "6 + min((floor(@system.levelData.level.current / 5)*2), 2)",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -28,13 +28,13 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.bonuses.damage.physical.dice",
|
"key": "system.bonuses.damage.physical.dice",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "@tierd6",
|
"value": "@tierd6",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.bonuses.damage.magical.dice",
|
"key": "system.bonuses.damage.magical.dice",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "@tierd6",
|
"value": "@tierd6",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -65,31 +65,31 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.bonuses.damage.physical.bonus",
|
"key": "system.bonuses.damage.physical.bonus",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "ORIGIN.@item.resource.value",
|
"value": "ORIGIN.@item.resource.value",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.bonuses.damage.magical.bonus",
|
"key": "system.bonuses.damage.magical.bonus",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "ORIGIN.@item.resource.value",
|
"value": "ORIGIN.@item.resource.value",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.damageReduction.reduceSeverity.physical",
|
"key": "system.rules.damageReduction.reduceSeverity.physical",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.conditionImmunities.vulnerable",
|
"key": "system.rules.conditionImmunities.vulnerable",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.rules.conditionImmunities.restrained",
|
"key": "system.rules.conditionImmunities.restrained",
|
||||||
"type": "override",
|
"mode": 5,
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.advantageSources",
|
"key": "system.advantageSources",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "Move without being heard.",
|
"value": "Move without being heard.",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,19 +27,19 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.advantageSources",
|
"key": "system.advantageSources",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "Consort with nobles",
|
"value": "Consort with nobles",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.advantageSources",
|
"key": "system.advantageSources",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "Negotiate prices",
|
"value": "Negotiate prices",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.advantageSources",
|
"key": "system.advantageSources",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "Leverage your reputation to get what you want",
|
"value": "Leverage your reputation to get what you want",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,19 +27,19 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.advantageSources",
|
"key": "system.advantageSources",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "Negotiate with criminals",
|
"value": "Negotiate with criminals",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.advantageSources",
|
"key": "system.advantageSources",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "Detect lies",
|
"value": "Detect lies",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.advantageSources",
|
"key": "system.advantageSources",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "Find a safe place to hide",
|
"value": "Find a safe place to hide",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,19 +27,19 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.advantageSources",
|
"key": "system.advantageSources",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "Traverse dangerous cliffs and ledges",
|
"value": "Traverse dangerous cliffs and ledges",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.advantageSources",
|
"key": "system.advantageSources",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "Navigate harsh environment",
|
"value": "Navigate harsh environment",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.advantageSources",
|
"key": "system.advantageSources",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "Use your survival knowledge",
|
"value": "Use your survival knowledge",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.advantageSources",
|
"key": "system.advantageSources",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "History, culture, or politics of a prominent person or place",
|
"value": "History, culture, or politics of a prominent person or place",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -68,7 +68,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.bonuses.roll.spellcast.bonus",
|
"key": "system.bonuses.roll.spellcast.bonus",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "+1",
|
"value": "+1",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,13 +27,13 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.bonuses.roll.attack.bonus",
|
"key": "system.bonuses.roll.attack.bonus",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "2",
|
"value": "2",
|
||||||
"priority": null
|
"priority": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.damageThresholds.severe",
|
"key": "system.damageThresholds.severe",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "4",
|
"value": "4",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -35,13 +35,13 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.bonuses.damage.primaryWeapon.bonus",
|
"key": "system.bonuses.damage.primaryWeapon.bonus",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "@system.traits.strength.value",
|
"value": "@system.traits.strength.value",
|
||||||
"priority": 21
|
"priority": 21
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "system.bonuses.damage.secondaryWeapon.bonus",
|
"key": "system.bonuses.damage.secondaryWeapon.bonus",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "@system.traits.strength.value",
|
"value": "@system.traits.strength.value",
|
||||||
"priority": 21
|
"priority": 21
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -88,7 +88,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.traits.presence.value",
|
"key": "system.traits.presence.value",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "@system.traits.strength.value",
|
"value": "@system.traits.strength.value",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -60,7 +60,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.traits.agility.value",
|
"key": "system.traits.agility.value",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.rules.damageReduction.maxArmorMarked.stressExtra",
|
"key": "system.rules.damageReduction.maxArmorMarked.stressExtra",
|
||||||
"type": "add",
|
"mode": 2,
|
||||||
"value": "1",
|
"value": "1",
|
||||||
"priority": null
|
"priority": null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue