A module of our own for Fabula Ultima campaigns
Find a file
trotFunky cc7db632d1 Borders: Fix borders on active combat change
A scene can have multiple combat encounters, but only one
can be active at a time.
Changing from one to the other does not trigger any of the regular
combat hooks, but it can be detected using a combat /document/ hook.

Register on the combat document update hook and update the borders
when the active state of the encounter is changed.

Both the previous and new active combats produce an update, and
the previous combat becoming inactive always comes first.
This means that we can safely set all token borders from the
previous document to the default border and they will be
updated accordingly by the new combat becoming active.

Update the comment of the data member for
`combat_hook_update_token_borders()`, as we re-use it for
the combat switch and we didn't use the `turn` member anymore.
2025-06-02 22:26:21 +01:00
assets/default-borders Initial commit - v0.1.0 2025-05-12 22:55:13 +01:00
lang Implement Token UI adjustments 2025-06-01 18:37:22 +01:00
packs/macros v0.2.0: Add setting to disable dynamic borders 2025-05-28 18:55:08 +01:00
scripts Borders: Fix borders on active combat change 2025-06-02 22:26:21 +01:00
.gitattributes Initial commit - v0.1.0 2025-05-12 22:55:13 +01:00
.gitignore Initial commit - v0.1.0 2025-05-12 22:55:13 +01:00
LICENSE Initial commit - v0.1.0 2025-05-12 22:55:13 +01:00
module.json module: Add compendium folder 2025-06-01 20:26:08 +01:00
README.md Borders: Fix borders on active combat change 2025-06-02 22:26:21 +01:00

The Mill's Fabula - v0.3.0

This little FoundryVTT module is a collection of compendiums and functionalities to power our Fabula Ultima campaigns.

Compatibility

This is only compatible with Foundry v12 currently.

Installation

Currently, this can only be installed via manifest file, using the following URL :

https://git.tfk-astrodome.net/trotFunky/TheMillsFabula/raw/branch/release/module.json

Features

This module is an aggregate of different things that are useful for us or that the GM wanted to play with, so they don't necessarily connect with each other and can be disabled if wanted.

They are described below in their own sections.

Combat border

This part of the module adds a dynamic border around player tokens, which changes during combat.

The border is always visible, but after a player has taken their turn it will switch to a different border, highlighting the tokens that have played for this combat turn.

The module supports going back and forth in the combat rounds, as well as going back in the turn order. (Though because of limitations of the Fabula Ultima system, does not allow going forward in the turn order.)

Settings

  • An image to use for the default/idle border
  • An image to use for the took turn/played/inactive border

Token UI adjustments

Given that we add a border on the tokens, it conflicts with the base attribute bars which are drawn over the token's square.
The token UI adjustments move the two attribute bars below the token, outside its space, first HP then mana.
As this is where the nameplate of the token should be, move it above the token instead.

Limitations

  • The token's detailed UI when right-clicking will overlap the bars in their new positions (it already overlapped the name)
  • The current implementation relies on monkey patching, which make it vulnerable to compatibility issues with other modules manipulating the same methods.

Compendia

  • The only thing in the compendium pack is a macro automating the tinkerer's alchemy potions, allowing to choose how many PIs to spend, how to allocate the results, previews and a final chat message with the results.

Dependencies

Modules:

  • socketlib

System:

  • Fabula Ultima

License

The code present in this repository is licensed under the Mozilla Public License 2.0.

Assets that we created in this repository are licensed under CC-BY-SA 4.0, unless otherwise specified.