diff --git a/BESM4eExtras/BESM4eExtras.html b/BESM4eExtras/BESM4eExtras.html
index 39bbfb69e4..73b68170d2 100644
--- a/BESM4eExtras/BESM4eExtras.html
+++ b/BESM4eExtras/BESM4eExtras.html
@@ -30,7 +30,7 @@
Sheet Version
-
+
Sheet Type
@@ -9233,11 +9233,32 @@
base = cv;
break;
case 'dcv':
- cv = getCV(debug, value, attrdb, setObj, sourceAttr, 'dcv');
+ const defensetype =
+ parseInt(setObj.static_button_movement_defense) ?
+ 'movement' :
+ parseInt(setObj.static_button_personal_defense) ?
+ 'personal' :
+ parseInt(value.static_button_movement_defense) ?
+ 'movement' :
+ parseInt(value.static_button_personal_defense) ?
+ 'personal' :
+ '';
+ console.log(`[setCombatRoll(TEST)] defensetype = ${defensetype}`);
+
+ const bonus = defensetype != '' ?
+ getSumOfActiveAttrLevels(attrdb, 'rangeddefense', defensetype) * 2 :
+ 0;
+ console.log(`[setCombatRoll(TEST)] bonus = ${bonus}`);
+
+ cv = getCV(debug, value, attrdb, setObj, sourceAttr, 'dcv') + bonus;
+ console.log(`[setCombatRoll(TEST)] cv = ${cv}`);
+
type = '{{dcvroll=1}}';
title = '{{title=Roll DCV}}';
stat = `{{dcv=${cv}}}`;
base = cv;
+ console.log(`[setCombatRoll(TEST)] base = ${base}`);
+
result = `${result} ${buildProtectionsString(debug, value)}`;
break;
case 'initiative':