Skip to content

Commit 99e140c

Browse files
committed
Add submenu for resetting HP to current max or max
1 parent 333f3d2 commit 99e140c

File tree

1 file changed

+28
-8
lines changed

1 file changed

+28
-8
lines changed

src/tracker/ui/creatures/CreatureControls.svelte

Lines changed: 28 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -35,16 +35,36 @@
3535
tracker.setUpdate(creature, e);
3636
});
3737
});
38-
if (creature.hp != creature.current_max) {
39-
menu.addItem((item) => {
40-
item.setIcon("undo")
41-
.setTitle("Reset HP")
42-
.onClick((e: MouseEvent) => {
43-
creature.hp = creature.current_max;
44-
tracker.updateAndSave();
45-
})
38+
if (creature.hp != creature.current_max || creature.current_max != creature.max) {
39+
const resetHpItem = menu.addItem((item) => {
40+
item.setTitle("Reset HP").setIcon("undo");
41+
42+
const resetHpMenu = item.setSubmenu();
43+
44+
if (creature.hp != creature.current_max) {
45+
resetHpMenu.addItem((item) => {
46+
item.setIcon("fold-vertical")
47+
.setTitle("Reset HP to current max")
48+
.onClick((e: MouseEvent) => {
49+
creature.hp = creature.current_max;
50+
tracker.updateAndSave();
51+
})
52+
});
53+
}
54+
if (creature.current_max != creature.max) {
55+
resetHpMenu.addItem((item) => {
56+
item.setIcon("tent")
57+
.setTitle("Reset max HP")
58+
.onClick((e: MouseEvent) => {
59+
creature.current_max = creature.max;
60+
creature.hp = creature.max;
61+
tracker.updateAndSave();
62+
})
63+
});
64+
}
4665
});
4766
}
67+
4868
if (creature.current_ac != creature.ac) {
4969
menu.addItem((item) => {
5070
item.setIcon("undo")

0 commit comments

Comments
 (0)