mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-07-23 10:59:54 +02:00
.
This commit is contained in:
parent
da44ff2510
commit
5d78ffb3f1
9 changed files with 67 additions and 18 deletions
|
|
@ -390,7 +390,7 @@ const updateActorsRangeDependentEffects = async token => {
|
||||||
).rangeMeasurement;
|
).rangeMeasurement;
|
||||||
|
|
||||||
for (let effect of token.actor?.allApplicableEffects() ?? []) {
|
for (let effect of token.actor?.allApplicableEffects() ?? []) {
|
||||||
if (!effect.system.rangeDependence || effect.system.rangeDependence.enabled === false) continue;
|
if (!effect.system.rangeDependence) continue;
|
||||||
const { target, range, type } = effect.system.rangeDependence;
|
const { target, range, type } = effect.system.rangeDependence;
|
||||||
|
|
||||||
// If there are no targets, assume false. Otherwise, start with the effect enabled.
|
// If there are no targets, assume false. Otherwise, start with the effect enabled.
|
||||||
|
|
|
||||||
|
|
@ -233,7 +233,6 @@ export default class DhActiveEffectConfig extends foundry.applications.sheets.Ac
|
||||||
const systemData = {
|
const systemData = {
|
||||||
rangeDependence: event.target.checked
|
rangeDependence: event.target.checked
|
||||||
? {
|
? {
|
||||||
enabled: true, // Temporary while the onMove handling is still in
|
|
||||||
type: rangeFields.type.initial,
|
type: rangeFields.type.initial,
|
||||||
target: rangeFields.target.initial,
|
target: rangeFields.target.initial,
|
||||||
range: rangeFields.range.initial
|
range: rangeFields.range.initial
|
||||||
|
|
|
||||||
|
|
@ -791,13 +791,21 @@ export const weaponFeatures = {
|
||||||
name: 'DAGGERHEART.CONFIG.WeaponFeature.doubleDuty.effects.doubleDuty.name',
|
name: 'DAGGERHEART.CONFIG.WeaponFeature.doubleDuty.effects.doubleDuty.name',
|
||||||
description: 'DAGGERHEART.CONFIG.WeaponFeature.doubleDuty.effects.doubleDuty.description',
|
description: 'DAGGERHEART.CONFIG.WeaponFeature.doubleDuty.effects.doubleDuty.description',
|
||||||
img: 'icons/skills/melee/sword-shield-stylized-white.webp',
|
img: 'icons/skills/melee/sword-shield-stylized-white.webp',
|
||||||
changes: [
|
system: {
|
||||||
{
|
changes: [
|
||||||
key: 'system.bonuses.damage.primaryWeapon.bonus',
|
{
|
||||||
mode: 2,
|
key: 'system.bonuses.damage.primaryWeapon.bonus',
|
||||||
value: '1'
|
mode: 2,
|
||||||
|
value: '1'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
rangeDependence: {
|
||||||
|
enabled: true,
|
||||||
|
range: 'melee',
|
||||||
|
target: 'hostile',
|
||||||
|
type: 'withinRange'
|
||||||
}
|
}
|
||||||
]
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'DAGGERHEART.CONFIG.WeaponFeature.doubleDuty.effects.doubleDuty.name',
|
name: 'DAGGERHEART.CONFIG.WeaponFeature.doubleDuty.effects.doubleDuty.name',
|
||||||
|
|
@ -1095,13 +1103,21 @@ export const weaponFeatures = {
|
||||||
name: 'DAGGERHEART.CONFIG.WeaponFeature.paired.effects.paired.name',
|
name: 'DAGGERHEART.CONFIG.WeaponFeature.paired.effects.paired.name',
|
||||||
description: 'DAGGERHEART.CONFIG.WeaponFeature.paired.effects.paired.description',
|
description: 'DAGGERHEART.CONFIG.WeaponFeature.paired.effects.paired.description',
|
||||||
img: 'icons/skills/melee/weapons-crossed-swords-yellow-teal.webp',
|
img: 'icons/skills/melee/weapons-crossed-swords-yellow-teal.webp',
|
||||||
changes: [
|
system: {
|
||||||
{
|
changes: [
|
||||||
key: 'system.bonuses.damage.primaryWeapon.bonus',
|
{
|
||||||
mode: 2,
|
key: 'system.bonuses.damage.primaryWeapon.bonus',
|
||||||
value: 'ITEM.@system.tier + 1'
|
mode: 2,
|
||||||
|
value: 'ITEM.@system.tier + 1'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
rangeDependence: {
|
||||||
|
enabled: true,
|
||||||
|
range: 'melee',
|
||||||
|
target: 'hostile',
|
||||||
|
type: 'withinRange'
|
||||||
}
|
}
|
||||||
]
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -57,10 +57,6 @@ export default class BaseEffect extends foundry.data.ActiveEffectTypeDataModel {
|
||||||
description: new fields.HTMLField({ label: 'DAGGERHEART.GENERAL.description' })
|
description: new fields.HTMLField({ label: 'DAGGERHEART.GENERAL.description' })
|
||||||
}),
|
}),
|
||||||
rangeDependence: new fields.SchemaField({
|
rangeDependence: new fields.SchemaField({
|
||||||
enabled: new fields.BooleanField({ // Temporary for the remaining onMove logic
|
|
||||||
initial: false,
|
|
||||||
label: 'DAGGERHEART.GENERAL.enabled'
|
|
||||||
}),
|
|
||||||
type: new fields.StringField({
|
type: new fields.StringField({
|
||||||
required: true,
|
required: true,
|
||||||
choices: CONFIG.DH.GENERAL.rangeInclusion,
|
choices: CONFIG.DH.GENERAL.rangeInclusion,
|
||||||
|
|
@ -176,4 +172,12 @@ export default class BaseEffect extends foundry.data.ActiveEffectTypeDataModel {
|
||||||
if (this.parent.actor && options.scrollingTextData)
|
if (this.parent.actor && options.scrollingTextData)
|
||||||
this.parent.actor.queueScrollText(options.scrollingTextData);
|
this.parent.actor.queueScrollText(options.scrollingTextData);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static migrateData(source) {
|
||||||
|
if (source.rangeDependence?.enabled === false) {
|
||||||
|
source.rangeDependence = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return super.migrateData(source);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -114,6 +114,12 @@
|
||||||
"description": "Add this Secondary Weapon's tier + 1 to your primary weapon against targets within Melee range",
|
"description": "Add this Secondary Weapon's tier + 1 to your primary weapon against targets within Melee range",
|
||||||
"img": "icons/skills/melee/weapons-crossed-swords-yellow-teal.webp",
|
"img": "icons/skills/melee/weapons-crossed-swords-yellow-teal.webp",
|
||||||
"system": {
|
"system": {
|
||||||
|
"rangeDependence": {
|
||||||
|
"enabled": true,
|
||||||
|
"range": "melee",
|
||||||
|
"target": "hostile",
|
||||||
|
"type": "withinRange"
|
||||||
|
},
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.bonuses.damage.primaryWeapon.bonus",
|
"key": "system.bonuses.damage.primaryWeapon.bonus",
|
||||||
|
|
|
||||||
|
|
@ -114,6 +114,12 @@
|
||||||
"description": "Add this Secondary Weapon's tier + 1 to your primary weapon against targets within Melee range",
|
"description": "Add this Secondary Weapon's tier + 1 to your primary weapon against targets within Melee range",
|
||||||
"img": "icons/skills/melee/weapons-crossed-swords-yellow-teal.webp",
|
"img": "icons/skills/melee/weapons-crossed-swords-yellow-teal.webp",
|
||||||
"system": {
|
"system": {
|
||||||
|
"rangeDependence": {
|
||||||
|
"enabled": true,
|
||||||
|
"range": "melee",
|
||||||
|
"target": "hostile",
|
||||||
|
"type": "withinRange"
|
||||||
|
},
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.bonuses.damage.primaryWeapon.bonus",
|
"key": "system.bonuses.damage.primaryWeapon.bonus",
|
||||||
|
|
|
||||||
|
|
@ -114,6 +114,12 @@
|
||||||
"description": "Add this Secondary Weapon's tier + 1 to your primary weapon against targets within Melee range",
|
"description": "Add this Secondary Weapon's tier + 1 to your primary weapon against targets within Melee range",
|
||||||
"img": "icons/skills/melee/weapons-crossed-swords-yellow-teal.webp",
|
"img": "icons/skills/melee/weapons-crossed-swords-yellow-teal.webp",
|
||||||
"system": {
|
"system": {
|
||||||
|
"rangeDependence": {
|
||||||
|
"enabled": true,
|
||||||
|
"range": "melee",
|
||||||
|
"target": "hostile",
|
||||||
|
"type": "withinRange"
|
||||||
|
},
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.bonuses.damage.primaryWeapon.bonus",
|
"key": "system.bonuses.damage.primaryWeapon.bonus",
|
||||||
|
|
|
||||||
|
|
@ -114,6 +114,12 @@
|
||||||
"description": "<p>Add this Secondary Weapon's tier + 1 to your primary weapon against targets within Melee range</p>",
|
"description": "<p>Add this Secondary Weapon's tier + 1 to your primary weapon against targets within Melee range</p>",
|
||||||
"img": "icons/skills/melee/weapons-crossed-swords-yellow-teal.webp",
|
"img": "icons/skills/melee/weapons-crossed-swords-yellow-teal.webp",
|
||||||
"system": {
|
"system": {
|
||||||
|
"rangeDependence": {
|
||||||
|
"enabled": true,
|
||||||
|
"range": "melee",
|
||||||
|
"target": "hostile",
|
||||||
|
"type": "withinRange"
|
||||||
|
},
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.bonuses.damage.primaryWeapon.bonus",
|
"key": "system.bonuses.damage.primaryWeapon.bonus",
|
||||||
|
|
|
||||||
|
|
@ -114,6 +114,12 @@
|
||||||
"description": "+1 to Armor Score; +1 to primary weapon damage within Melee range",
|
"description": "+1 to Armor Score; +1 to primary weapon damage within Melee range",
|
||||||
"img": "icons/skills/melee/sword-shield-stylized-white.webp",
|
"img": "icons/skills/melee/sword-shield-stylized-white.webp",
|
||||||
"system": {
|
"system": {
|
||||||
|
"rangeDependence": {
|
||||||
|
"enabled": true,
|
||||||
|
"range": "melee",
|
||||||
|
"target": "hostile",
|
||||||
|
"type": "withinRange"
|
||||||
|
},
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
{
|
||||||
"key": "system.bonuses.damage.primaryWeapon.bonus",
|
"key": "system.bonuses.damage.primaryWeapon.bonus",
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue