diff --git a/app/imports/api/engine/computation/computeComputation/computeByType/computeVariable/computeVariableAsAttribute.js b/app/imports/api/engine/computation/computeComputation/computeByType/computeVariable/computeVariableAsAttribute.js index 2e518127..395619a9 100644 --- a/app/imports/api/engine/computation/computeComputation/computeByType/computeVariable/computeVariableAsAttribute.js +++ b/app/imports/api/engine/computation/computeComputation/computeByType/computeVariable/computeVariableAsAttribute.js @@ -4,6 +4,18 @@ export default function computeVariableAsAttribute(computation, node, prop) { let result = getAggregatorResult(node) || 0; prop.total = result; + + // Apply damage in a way that respects the damage rules, modifying damage if need be + // Bound the damage + if (!prop.ignoreLowerLimit && prop.damage > prop.total) { + console.log(`reducing damage from ${prop.damage} to ${prop.total}`); + prop.damage = prop.total; + } + if (!prop.ignoreUpperLimit && prop.damage < 0) { + console.log(`increasing damage from ${prop.damage} to 0`); + prop.damage = 0; + } + // Apply damage prop.value = prop.total - (prop.damage || 0); // Proficiency