Massive Damage incoming. Over 9000. (#1419)

This commit is contained in:
Nikhil Nagarajan 2025-12-13 10:38:07 -05:00 committed by GitHub
parent 315f1ef8e0
commit d5b8431f88
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 26 additions and 2 deletions

View file

@ -1801,6 +1801,7 @@
"plural": "Costs"
},
"Damage": {
"massive": "Massive",
"severe": "Severe",
"major": "Major",
"minor": "Minor",
@ -2522,6 +2523,10 @@
"actionTokens": {
"enabled": { "label": "Enabled" },
"tokens": { "label": "Tokens" }
},
"massiveDamage":{
"title":"Massive Damage",
"enabled": { "label": "Enabled" }
}
}
},

View file

@ -39,6 +39,13 @@ export default class DhVariantRules extends foundry.abstract.DataModel {
label: 'DAGGERHEART.CONFIG.Range.close.name'
}),
far: new fields.NumberField({ required: true, initial: 60, label: 'DAGGERHEART.CONFIG.Range.far.name' })
}),
massiveDamage: new fields.SchemaField({
enabled: new fields.BooleanField({
required: true,
initial: false,
label: 'DAGGERHEART.SETTINGS.VariantRules.FIELDS.massiveDamage.enabled.label'
})
})
};
}

View file

@ -765,6 +765,10 @@ export default class DhpActor extends Actor {
}
convertDamageToThreshold(damage) {
const massiveDamageEnabled=game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.variantRules).massiveDamage.enabled;
if (massiveDamageEnabled && damage >= (this.system.damageThresholds.severe * 2)) {
return 4;
}
return damage >= this.system.damageThresholds.severe ? 3 : damage >= this.system.damageThresholds.major ? 2 : 1;
}

View file

@ -198,7 +198,7 @@ foundry.dice.terms.Die.prototype.selfCorrecting = function (modifier) {
};
export const getDamageKey = damage => {
return ['none', 'minor', 'major', 'severe', 'any'][damage];
return ['none', 'minor', 'major', 'severe', 'massive','any'][damage];
};
export const getDamageLabel = damage => {
@ -211,7 +211,8 @@ export const damageKeyToNumber = key => {
minor: 1,
major: 2,
severe: 3,
any: 4
massive: 4,
any: 5
}[key];
};

View file

@ -22,6 +22,13 @@
</div>
</div>
<div class="form-group">
<label>{{localize "DAGGERHEART.SETTINGS.VariantRules.FIELDS.massiveDamage.title"}}</label>
<div class="form-fields">
{{formGroup settingFields.schema.fields.massiveDamage.fields.enabled value=settingFields._source.massiveDamage.enabled localize=true}}
</div>
</div>
<footer class="form-footer">
<button data-action="reset">
<i class="fa-solid fa-arrow-rotate-left"></i>