Closed Mythacri closed 1 year ago
A 'rune' could either be a new consumable subtype or a new item type. The former is a one-line addition to the system config.
Consumable subtype makes it easy to show the item on the actor sheet. New 'rune' item type means having to provide some different means of showing the item on the actor sheet; this is doable but would need subclassing the actor sheet. Subclassing the actor sheet would of course provide additional benefits (easier customization, for one).
Applying the rune to an item by 'using' the rune through the actor sheet, as with any other items, would easily be done with a consumable item; simply cancelling the normal usage and implementing a small dialog to choose a target item for the rune would be easily doable. With a new 'rune' item type and an actor sheet override, the same small dialog could be implemented even more easily. Neither option here is harder than the other.
With release 11.3 of Build-a-Bonus, a bab can have arbitrary flags
data same as any other document. This would allow them to be easily 'tagged' as being from a rune. This becomes convenient for the tiny UI needed to handle toggling runes.
A marker for whether an item (when viewed on the actor sheet) has runes / is socketable is an easy injection of a Font Awesome icon, same as the attunement icon. This icon should have an event listener to prompt the socketing UI mentioned.
Toggling whether an item is 'socketable' should be done through the item's own sheet. However, there is no shared property each item type can use. Weapons have weapon properties, equipment does not have any properties, consumables have a subset of weapon properties, and so on. What are the item types that can be socketable? The straight-forward solution is likely to add a flags
property, a numeric value to determine the max number of runes applied to the item. This could be gated behind an additional flags
property, a simple boolean (socketable
), which could easily be read by the actor sheet itself to determine whether the runecrafting icon should show on the item (this may be overkill and lead to user error; for example what if this property is disabled while there are runes on the item? Thoughts needed).
Once runes are created through crafting their applicable BaB's need to be transferred to items like weapons and armor.
BaB's from Runes need to be able to be toggled exclusively an amount of times based on the object. I.E. 2 runes active of a maximum of 5 runes total on a sword. Prefereable this should be a UI element on the item itself or the actor sheet.
On the actor sheet an item should be marked that it has runes on it.
A UI component is also needed to show the maximum number of runes an item has. Possibly a weapon property?