feat: add seedIkonisHomebrew function to automatically populate default augment blueprints into Daggerheart Homebrew settings
This commit is contained in:
parent
6cfadbc1ac
commit
e77007a29b
2 changed files with 49 additions and 3 deletions
|
|
@ -1,6 +1,47 @@
|
|||
export const DEFAULT_AUGMENTS = [
|
||||
{ id: "bonded", name: "Bonded", effect: "Primary module for Ikonis hardware synchronization.", cost: "Cost: None" },
|
||||
{ id: "force", name: "Kinetic Amplifier", effect: "+1 Damage on Melee attacks.", cost: "Cost: 2 Iron" },
|
||||
{ id: "fire", name: "Thermal Core", effect: "Deals Fire damage instead of Physical.", cost: "Cost: 1 Blaze Glass" },
|
||||
{ id: "shield", name: "Reactive Plating", effect: "+1 Armor while equipped.", cost: "Cost: 2 Steel" },
|
||||
{ id: "range", name: "Long-Range Optics", effect: "Increases Range by 1 step.", cost: "Cost: 1 Lens" }
|
||||
];
|
||||
|
||||
// Global caches for resolved features to keep getters fast
|
||||
const _featureCache = new Map();
|
||||
|
||||
/**
|
||||
* Seeds the Daggerheart Homebrew settings with Ikonis defaults if they don't exist.
|
||||
*/
|
||||
export async function seedIkonisHomebrew() {
|
||||
if (!game.user.isGM) return;
|
||||
|
||||
const homebrewKey = game.settings.settings.has('daggerheart.Homebrew') ? 'Homebrew' : 'homebrew';
|
||||
const homebrew = foundry.utils.deepClone(game.settings.get('daggerheart', homebrewKey) || {});
|
||||
|
||||
if (!homebrew.itemFeatures) homebrew.itemFeatures = { weaponFeatures: {}, armorFeatures: {} };
|
||||
if (!homebrew.itemFeatures.weaponFeatures) homebrew.itemFeatures.weaponFeatures = {};
|
||||
|
||||
let updates = false;
|
||||
for (const aug of DEFAULT_AUGMENTS) {
|
||||
const nativeId = `ikonis-${aug.id}`;
|
||||
if (!homebrew.itemFeatures.weaponFeatures[nativeId]) {
|
||||
homebrew.itemFeatures.weaponFeatures[nativeId] = {
|
||||
name: `Ikonis: ${aug.name}`,
|
||||
img: "systems/daggerheart/assets/icons/documents/items/chip.svg",
|
||||
description: `<p>${aug.effect}</p><p>${aug.cost}</p>`,
|
||||
actions: {},
|
||||
effects: []
|
||||
};
|
||||
updates = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (updates) {
|
||||
await game.settings.set('daggerheart', homebrewKey, homebrew);
|
||||
console.log("DH-Ikonis | Default blueprints seeded into Homebrew settings.");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Scans the Daggerheart system config for any weapon features starting with "Ikonis:".
|
||||
* These are treated as available augments for our slot system.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue