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" "plural": "Costs"
}, },
"Damage": { "Damage": {
"massive": "Massive",
"severe": "Severe", "severe": "Severe",
"major": "Major", "major": "Major",
"minor": "Minor", "minor": "Minor",
@ -2522,6 +2523,10 @@
"actionTokens": { "actionTokens": {
"enabled": { "label": "Enabled" }, "enabled": { "label": "Enabled" },
"tokens": { "label": "Tokens" } "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' label: 'DAGGERHEART.CONFIG.Range.close.name'
}), }),
far: new fields.NumberField({ required: true, initial: 60, label: 'DAGGERHEART.CONFIG.Range.far.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) { 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; 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 => { export const getDamageKey = damage => {
return ['none', 'minor', 'major', 'severe', 'any'][damage]; return ['none', 'minor', 'major', 'severe', 'massive','any'][damage];
}; };
export const getDamageLabel = damage => { export const getDamageLabel = damage => {
@ -211,7 +211,8 @@ export const damageKeyToNumber = key => {
minor: 1, minor: 1,
major: 2, major: 2,
severe: 3, severe: 3,
any: 4 massive: 4,
any: 5
}[key]; }[key];
}; };

View file

@ -22,6 +22,13 @@
</div> </div>
</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"> <footer class="form-footer">
<button data-action="reset"> <button data-action="reset">
<i class="fa-solid fa-arrow-rotate-left"></i> <i class="fa-solid fa-arrow-rotate-left"></i>