mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-03-07 06:26:13 +01:00
Fixed advantage/disadvantage sources for adversaries and companions (#1659)
This commit is contained in:
parent
472f876ea3
commit
b64a9002ea
6 changed files with 31 additions and 17 deletions
|
|
@ -252,7 +252,7 @@ Hooks.on('setup', () => {
|
||||||
);
|
);
|
||||||
const actorCommon = {
|
const actorCommon = {
|
||||||
bar: ['resources.stress'],
|
bar: ['resources.stress'],
|
||||||
value: [...resistance]
|
value: [...resistance, 'advantageSources', 'disadvantageSources']
|
||||||
};
|
};
|
||||||
CONFIG.Actor.trackableAttributes = {
|
CONFIG.Actor.trackableAttributes = {
|
||||||
character: {
|
character: {
|
||||||
|
|
@ -270,7 +270,7 @@ Hooks.on('setup', () => {
|
||||||
},
|
},
|
||||||
adversary: {
|
adversary: {
|
||||||
bar: [...actorCommon.bar, 'resources.hitPoints'],
|
bar: [...actorCommon.bar, 'resources.hitPoints'],
|
||||||
value: [...actorCommon.value, ...damageThresholds, 'criticalThreshold']
|
value: [...actorCommon.value, ...damageThresholds, 'criticalThreshold', 'difficulty']
|
||||||
},
|
},
|
||||||
companion: {
|
companion: {
|
||||||
bar: [...actorCommon.bar],
|
bar: [...actorCommon.bar],
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,12 @@
|
||||||
import DHAdversarySettings from '../../applications/sheets-configs/adversary-settings.mjs';
|
import DHAdversarySettings from '../../applications/sheets-configs/adversary-settings.mjs';
|
||||||
import { ActionField } from '../fields/actionField.mjs';
|
import { ActionField } from '../fields/actionField.mjs';
|
||||||
import BaseDataActor, { commonActorRules } from './base.mjs';
|
import { commonActorRules } from './base.mjs';
|
||||||
|
import DhCreature from './creature.mjs';
|
||||||
import { resourceField, bonusField } from '../fields/actorField.mjs';
|
import { resourceField, bonusField } from '../fields/actorField.mjs';
|
||||||
import { calculateExpectedValue, parseTermsFromSimpleFormula } from '../../helpers/utils.mjs';
|
import { calculateExpectedValue, parseTermsFromSimpleFormula } from '../../helpers/utils.mjs';
|
||||||
import { adversaryExpectedDamage, adversaryScalingData } from '../../config/actorConfig.mjs';
|
import { adversaryExpectedDamage, adversaryScalingData } from '../../config/actorConfig.mjs';
|
||||||
|
|
||||||
export default class DhpAdversary extends BaseDataActor {
|
export default class DhpAdversary extends DhCreature {
|
||||||
static LOCALIZATION_PREFIXES = ['DAGGERHEART.ACTORS.Adversary'];
|
static LOCALIZATION_PREFIXES = ['DAGGERHEART.ACTORS.Adversary'];
|
||||||
|
|
||||||
static get metadata() {
|
static get metadata() {
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,13 @@
|
||||||
import { burden } from '../../config/generalConfig.mjs';
|
import { burden } from '../../config/generalConfig.mjs';
|
||||||
import ForeignDocumentUUIDField from '../fields/foreignDocumentUUIDField.mjs';
|
import ForeignDocumentUUIDField from '../fields/foreignDocumentUUIDField.mjs';
|
||||||
import DhLevelData from '../levelData.mjs';
|
import DhLevelData from '../levelData.mjs';
|
||||||
import BaseDataActor, { commonActorRules } from './base.mjs';
|
import { commonActorRules } from './base.mjs';
|
||||||
|
import DhCreature from './creature.mjs';
|
||||||
import { attributeField, resourceField, stressDamageReductionRule, bonusField } from '../fields/actorField.mjs';
|
import { attributeField, resourceField, stressDamageReductionRule, bonusField } from '../fields/actorField.mjs';
|
||||||
import { ActionField } from '../fields/actionField.mjs';
|
import { ActionField } from '../fields/actionField.mjs';
|
||||||
import DHCharacterSettings from '../../applications/sheets-configs/character-settings.mjs';
|
import DHCharacterSettings from '../../applications/sheets-configs/character-settings.mjs';
|
||||||
|
|
||||||
export default class DhCharacter extends BaseDataActor {
|
export default class DhCharacter extends DhCreature {
|
||||||
/**@override */
|
/**@override */
|
||||||
static LOCALIZATION_PREFIXES = ['DAGGERHEART.ACTORS.Character'];
|
static LOCALIZATION_PREFIXES = ['DAGGERHEART.ACTORS.Character'];
|
||||||
|
|
||||||
|
|
@ -131,14 +132,6 @@ export default class DhCharacter extends BaseDataActor {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
advantageSources: new fields.ArrayField(new fields.StringField(), {
|
|
||||||
label: 'DAGGERHEART.ACTORS.Character.advantageSources.label',
|
|
||||||
hint: 'DAGGERHEART.ACTORS.Character.advantageSources.hint'
|
|
||||||
}),
|
|
||||||
disadvantageSources: new fields.ArrayField(new fields.StringField(), {
|
|
||||||
label: 'DAGGERHEART.ACTORS.Character.disadvantageSources.label',
|
|
||||||
hint: 'DAGGERHEART.ACTORS.Character.disadvantageSources.hint'
|
|
||||||
}),
|
|
||||||
levelData: new fields.EmbeddedDataField(DhLevelData),
|
levelData: new fields.EmbeddedDataField(DhLevelData),
|
||||||
bonuses: new fields.SchemaField({
|
bonuses: new fields.SchemaField({
|
||||||
roll: new fields.SchemaField({
|
roll: new fields.SchemaField({
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
import BaseDataActor from './base.mjs';
|
import DhCreature from './creature.mjs';
|
||||||
import DhLevelData from '../levelData.mjs';
|
import DhLevelData from '../levelData.mjs';
|
||||||
import ForeignDocumentUUIDField from '../fields/foreignDocumentUUIDField.mjs';
|
import ForeignDocumentUUIDField from '../fields/foreignDocumentUUIDField.mjs';
|
||||||
import { ActionField } from '../fields/actionField.mjs';
|
import { ActionField } from '../fields/actionField.mjs';
|
||||||
|
|
@ -6,7 +6,7 @@ import { adjustDice, adjustRange } from '../../helpers/utils.mjs';
|
||||||
import DHCompanionSettings from '../../applications/sheets-configs/companion-settings.mjs';
|
import DHCompanionSettings from '../../applications/sheets-configs/companion-settings.mjs';
|
||||||
import { resourceField, bonusField } from '../fields/actorField.mjs';
|
import { resourceField, bonusField } from '../fields/actorField.mjs';
|
||||||
|
|
||||||
export default class DhCompanion extends BaseDataActor {
|
export default class DhCompanion extends DhCreature {
|
||||||
static LOCALIZATION_PREFIXES = ['DAGGERHEART.ACTORS.Companion'];
|
static LOCALIZATION_PREFIXES = ['DAGGERHEART.ACTORS.Companion'];
|
||||||
|
|
||||||
/**@inheritdoc */
|
/**@inheritdoc */
|
||||||
|
|
|
||||||
20
module/data/actor/creature.mjs
Normal file
20
module/data/actor/creature.mjs
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
import BaseDataActor from './base.mjs';
|
||||||
|
|
||||||
|
export default class DhCreature extends BaseDataActor {
|
||||||
|
/**@inheritdoc */
|
||||||
|
static defineSchema() {
|
||||||
|
const fields = foundry.data.fields;
|
||||||
|
|
||||||
|
return {
|
||||||
|
...super.defineSchema(),
|
||||||
|
advantageSources: new fields.ArrayField(new fields.StringField(), {
|
||||||
|
label: 'DAGGERHEART.ACTORS.Character.advantageSources.label',
|
||||||
|
hint: 'DAGGERHEART.ACTORS.Character.advantageSources.hint'
|
||||||
|
}),
|
||||||
|
disadvantageSources: new fields.ArrayField(new fields.StringField(), {
|
||||||
|
label: 'DAGGERHEART.ACTORS.Character.disadvantageSources.label',
|
||||||
|
hint: 'DAGGERHEART.ACTORS.Character.disadvantageSources.hint'
|
||||||
|
})
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
"id": "daggerheart",
|
"id": "daggerheart",
|
||||||
"title": "Daggerheart",
|
"title": "Daggerheart",
|
||||||
"description": "An unofficial implementation of the Daggerheart system",
|
"description": "An unofficial implementation of the Daggerheart system",
|
||||||
"version": "1.7.1",
|
"version": "1.7.2",
|
||||||
"compatibility": {
|
"compatibility": {
|
||||||
"minimum": "13.346",
|
"minimum": "13.346",
|
||||||
"verified": "13.351",
|
"verified": "13.351",
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue