mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-01-17 15:39:02 +01:00
Relocate Damage Reduction
This commit is contained in:
parent
7b24cc01eb
commit
081ebf5bb3
4 changed files with 6 additions and 9 deletions
|
|
@ -395,7 +395,7 @@ export const armorFeatures = {
|
|||
img: 'icons/magic/defensive/barrier-shield-dome-pink.webp',
|
||||
changes: [
|
||||
{
|
||||
key: 'system.bonuses.damageReduction.magical',
|
||||
key: 'system.resistance.magical.reduction',
|
||||
mode: 2,
|
||||
value: '@system.armorScore'
|
||||
}
|
||||
|
|
|
|||
|
|
@ -41,7 +41,8 @@ export default class BaseDataActor extends foundry.abstract.TypeDataModel {
|
|||
if(this.metadata.hasResistances)
|
||||
schema.resistance = new fields.SchemaField({
|
||||
physical: resistanceField(),
|
||||
magical: resistanceField()
|
||||
magical: resistanceField(),
|
||||
resistance: new fields.NumberField({ integer: true, initial: 0 })
|
||||
})
|
||||
return schema;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -101,10 +101,6 @@ export default class DhCharacter extends BaseDataActor {
|
|||
levelData: new fields.EmbeddedDataField(DhLevelData),
|
||||
bonuses: new fields.SchemaField({
|
||||
armorScore: new fields.NumberField({ integer: true, initial: 0 }),
|
||||
damageReduction: new fields.SchemaField({
|
||||
physical: new fields.NumberField({ integer: true, initial: 0 }),
|
||||
magical: new fields.NumberField({ integer: true, initial: 0 })
|
||||
}),
|
||||
damageThresholds: new fields.SchemaField({
|
||||
severe: new fields.NumberField({ integer: true, initial: 0 }),
|
||||
major: new fields.NumberField({ integer: true, initial: 0 })
|
||||
|
|
|
|||
|
|
@ -510,10 +510,10 @@ export default class DhpActor extends Actor {
|
|||
calculateDamage(baseDamage, type) {
|
||||
if (Hooks.call(`${CONFIG.DH.id}.preCalculateDamage`, this, baseDamage, type) === false) return null;
|
||||
|
||||
if(this.system.resistance[type].immunity) return 0;
|
||||
if(this.system.resistance[type].resistance) baseDamage = Math.ceil(baseDamage / 2);
|
||||
if(this.system.resistance[type]?.immunity) return 0;
|
||||
if(this.system.resistance[type]?.resistance) baseDamage = Math.ceil(baseDamage / 2);
|
||||
|
||||
const flatReduction = this.system.bonuses.damageReduction[type];
|
||||
const flatReduction = this.system.resistance[type].reduction;
|
||||
const damage = Math.max(baseDamage - (flatReduction ?? 0), 0);
|
||||
const hpDamage = this.convertDamageToThreshold(damage);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue