@@ -22,7 +22,7 @@ import { FU, systemPath } from '../helpers/config.mjs';
2222/**
2323 * Displays a dialog to customize damage.
2424 *
25- * @param {TableDamageData } damage - The damage object containing type and total.
25+ * @param {DamageData } damage - The damage object containing type and total.
2626 * @param {FUActor[] } targets - The specified targets.
2727 * @param {DamageOverrideCallback } callback - The function to call when the user confirms.
2828 * @param {() => void } onCancel - The function to call when the user cancels.
@@ -31,7 +31,7 @@ export async function DamageCustomizer(damage, targets, callback, onCancel) {
3131 // Create and render the dialog
3232 const result = await foundry . applications . api . DialogV2 . input ( {
3333 window : {
34- title : game . i18n . localize ( 'FU.DamageCustomizer ' ) ,
34+ title : game . i18n . localize ( 'FU.AutomationApplyDamage ' ) ,
3535 } ,
3636 position : {
3737 width : 440 ,
@@ -40,6 +40,7 @@ export async function DamageCustomizer(damage, targets, callback, onCancel) {
4040 content : await foundry . applications . handlebars . renderTemplate ( systemPath ( 'templates/dialog/dialog-damage-customizer.hbs' ) , {
4141 FU ,
4242 damage,
43+ targets,
4344 } ) ,
4445 rejectClose : false ,
4546 ok : {
@@ -49,24 +50,32 @@ export async function DamageCustomizer(damage, targets, callback, onCancel) {
4950 render : ( event , dialog ) => {
5051 // Cache selectors
5152 const hrZeroCheckbox = dialog . element . querySelector ( '#hr-zero' ) ;
52- const totalDamageSpan = dialog . element . querySelector ( '#total-damage' ) ;
5353 const damageTypeSelect = dialog . element . querySelector ( '#damage-type' ) ;
5454 const extraDamageInput = dialog . element . querySelector ( '#extra-damage' ) ;
55- const totalDamageIcon = dialog . element . querySelector ( '#total-damage-icon' ) ;
5655 const checkAllButton = dialog . element . querySelector ( '#check-all' ) ;
5756 const checkNoneButton = dialog . element . querySelector ( '#check-none' ) ;
5857 const ignoreCheckboxes = dialog . element . querySelectorAll ( '.ignore' ) ;
5958
6059 // Function to update total damage and icons based on HR Zero status, and extra damage
60+ const totalDamageSection = dialog . element . querySelector ( '#total-damage' ) ;
61+ const baseDamageText = totalDamageSection . querySelector ( '#base' ) ;
62+ const hrDamageText = totalDamageSection . querySelector ( '#hr' ) ;
63+ const extraDamageText = totalDamageSection . querySelector ( '#extra' ) ;
64+ const totalDamageText = totalDamageSection . querySelector ( '#total' ) ;
65+ const damageTypeIcon = totalDamageSection . querySelector ( '#damage-type-icon' ) ;
66+
6167 function updateTotalDamage ( ) {
6268 const extraDamage = parseInt ( extraDamageInput . value , 10 ) || 0 ;
6369 const selectedDamageType = damageTypeSelect . value ;
64- const baseDamage = hrZeroCheckbox . checked ? damage . modifierTotal : damage . total ;
65- const totalDamage = baseDamage + extraDamage ;
70+ const baseDamage = damage . modifiers [ 0 ] . amount ;
71+ const hrDamage = hrZeroCheckbox . checked ? 0 : damage . hr ;
72+ const totalDamage = baseDamage + hrDamage + extraDamage ;
6673
67- totalDamageSpan . textContent = `${ baseDamage } (Base) + ${ extraDamage } (Extra Damage) = ${ totalDamage } ${ game . i18n . localize ( FU . damageTypes [ selectedDamageType ] ) } ` ;
68- // Update icons
69- totalDamageIcon . classList . value = `icon ${ FU . affIcon [ selectedDamageType ] } ` ;
74+ baseDamageText . textContent = baseDamage ;
75+ hrDamageText . textContent = hrDamage ;
76+ extraDamageText . textContent = extraDamage ;
77+ totalDamageText . textContent = totalDamage ;
78+ damageTypeIcon . classList . value = `fu-icon--sm glow ${ FU . affIcon [ selectedDamageType ] } ` ;
7079 }
7180
7281 // Initial update
0 commit comments