kgar / foundry-vtt-tidy-5e-sheets

D&D 5e sheet layouts for Foundry VTT, focused on a clean UI, user ergonomics, and extensibility.
https://kgar.github.io/foundry-vtt-tidy-5e-sheets/
MIT License
36 stars 14 forks source link

compatibility: Dungeons of Drakkenheim module #504

Closed kgar closed 1 month ago

kgar commented 5 months ago

Establish compatibility with the Dungeons of Drakkenheim module.

Reference: https://discord.com/channels/1167985253072257115/1219745417047052428

Silvestrae commented 1 month ago

Omg need this! Subscribed waiting for updates.

kgar commented 1 month ago

An update on this: A patron reached out to the Patreon quite a while back, but no one responded.

Silvestrae commented 1 month ago

What did you need to know? Perhaps I can help. The module creates a new flag on actors flags.drakkenheim.contamination which starts on zero and gets increased or decreased by 1 (between 0 and 6) the module itself handles all the automation when this flag is modified.

On legacy sheet it appears as a simple text box with a hover over tooltip for details. image

On the new D&D 3 actor sheet it appears as a tab of its own with 6 toggleable radio buttons, each tied to setting the flag as a value between 0 and 6. image

Currently with the help of Zhell (he did the work on the official module for Ghostfire Games), I'm using a macro that modifies the flag for a selected token on click (+1 to flag) and and shift+click (-1 to flag) so that we can make use of the modules automation and still use TidySheets.

const level = token.actor.flags.drakkenheim?.contamination ?? 0;
const delta = event.shiftKey ? -1 : 1;
const value = Math.clamped(level + delta, 0, 6);
await token.actor.update({"flags.drakkenheim.contamination": value});
await ChatMessage.implementation.create({
  content: `${token.actor.name}'s contamination level is now ${value}.`
});

I imagine the legacy option is probably the easiest, however a new tab using a theme similar to the drakkenheim tab would be the bees knees.

kgar commented 1 month ago

This is excellent information, thank you!

A custom tab sounds great for Tidy.

If the text is localized, I'll need localization keys so other languages will properly render.

I don't own the module, so after I get it working, I won't really be able to test it myself against the module. I am not sure how to handle that one, because I can't but them all and add compatibility.

kgar commented 1 month ago

Having access to the .hbs template for the fancy tab and the css would just be nice for helping me achieve the Tidy version of that look. I don't know how feasible that is, though.

kgar commented 1 month ago

Update on this, I was able to purchase the module and am underway with adding Tidy support.

kgar commented 1 month ago

Tidy v5.4.0 for dnd5e 3.3.x now has the official Tidy integration for Dungeons of Drakkenheim. I will be backporting this to dnd5e 3.2.x and 3.1.x versions of Tidy next.

Silvestrae commented 1 month ago

Legendary ✌️✌️

kgar commented 1 month ago

Tidy v.4.5.3 adds Tidy x Drakkenheim integration to dnd5e 3.2.x: https://github.com/kgar/foundry-vtt-tidy-5e-sheets/releases/tag/v4.5.3

One last port to Tidy V3 Land, and I'll be done.

kgar commented 1 month ago

Tidy v3.8.0 add Tidy x Drakkenheim integration to dnd5e 3.1.x: https://github.com/kgar/foundry-vtt-tidy-5e-sheets/releases/tag/v3.8.0

This is as far as the road will take us for this integration. I am closing out the issue, but if anyone has trouble with Tidy as it relates to Dungeons of Drakkenheim, let me know on a new github issue.