move to single compendium for actors

Changes to update summon ally.
This commit is contained in:
Mike Bloy 2025-06-08 15:21:38 -05:00
parent 469fad5ba5
commit 03787ee314
10 changed files with 38 additions and 39 deletions

View File

@ -1,8 +1,6 @@
{
"mbhelpers.settings.morphablesCompendiumName": "Morphables Compendium",
"mbhelpers.settings.morphablesCompendiumHint": "UUID of a Compendium that holds all the morphables.",
"mbhelpers.settings.summonablesCompendiumName": "Summonables Compendium",
"mbhelpers.settings.summonablesCompendiumHint": "UUID of a Compendium that holds all the summonables.",
"mbhelpers.settings.powerActorsCompendiumName": "Power Actors Compendium",
"mbhelpers.settings.powerActorsCompendiumHint": "Identifier of a compendium that holds all the actor helpers for powers. See the documentation for details on the structure of this compendium.",
"mbhelpers.settings.powersJournalName": "Powers Journal",
"mbhelpers.settings.powersJournalHint": "UUID of a helper journal for actor-based powers (summonables and morphables)."
}

View File

@ -1,4 +1,4 @@
import { log, moduleHelpers, settingKeys } from './globals.js';
import { log, moduleHelpers } from './globals.js';
import { requestFearRollFromTokens, requestRollFromTokens } from './helpers.js';
import { powers, PowerClasses, powerEffectsMenu } from './powers/powers.js';
import { setSummonCosts } from './powers/summonSupport.js';

View File

@ -1,9 +1,7 @@
export const moduleName = 'swade-mb-helpers';
export const settingKeys = {
summonablesCompendium: 'summonablesCompendium',
morphablesCompendium: 'morphablesCompendium',
powersJournal: 'powersJournal',
powerActorsCompendium: 'powerActorsCompendium',
};
export function log(...args) {

View File

@ -3,6 +3,10 @@ import { firstOwner, updateOwnedToken } from '../helpers.js';
import { ActorFolderEffect } from './basePowers.js';
export class BalefulPolymorphEffect extends ActorFolderEffect {
get actorFolderBase() {
return 'Morphables';
}
get name() {
return 'Baleful Polymorph';
}

View File

@ -1,4 +1,4 @@
import { moduleName, moduleHelpers, log } from '../globals.js';
import { moduleName, moduleHelpers, log, settingKeys } from '../globals.js';
import { firstOwner, addActiveEffectsToToken } from '../helpers.js';
import { templates } from '../preloadTemplates.js';
@ -157,6 +157,7 @@ export class PowerFormApplication extends HandlebarsApplicationMixin(Application
data.recipients.epic = this.powerEffect.additionalRecipientsIsEpic;
data.recipients.text = this.powerEffect.additionalRecipientText;
}
log('DATA', data);
return data;
}
@ -791,7 +792,7 @@ export class ActorFolderEffect extends PowerEffect {
}
get actorFolderPackId() {
return 'no.compendium.needs.override';
return moduleHelpers.getSetting(settingKeys.powerActorsCompendium);
}
get actorFolderBase() {
@ -809,7 +810,7 @@ export class ActorFolderEffect extends PowerEffect {
}
get actorFolder() {
return `${this.name}`;
return `${this.actorFolderBase}/${this.name}`;
}
getPackFolderByPath(path) {

View File

@ -3,6 +3,10 @@ import { firstOwner, updateOwnedToken } from '../helpers.js';
import { ActorFolderEffect } from './basePowers.js';
export class ShapeChangeEffect extends ActorFolderEffect {
get actorFolderBase() {
return 'Morphables';
}
get name() {
return 'Shape Change';
}

View File

@ -258,7 +258,7 @@ export class SummonAllyEffect extends BaseAllyEffect {
}
get actorFolder() {
return this.name;
return `${this.actorFolderBase}/${this.name}`;
}
get icon() {
@ -318,6 +318,7 @@ export class SummonAllyEffect extends BaseAllyEffect {
const { choices, effects, values } = this._edges;
for (let i = 1; i <= 3; i++) {
mods.push({
sortOrder: i,
type: 'select',
name: `Combat Edge #${i}`,
id: `combatEdge${i}`,

View File

@ -1,17 +1,17 @@
/* globals Sequencer */
import { log, moduleHelpers, moduleName, settingKeys } from '../globals.js';
import { log, moduleHelpers, moduleName } from '../globals.js';
import { templates } from '../preloadTemplates.js';
import { ActorFolderEffect } from './basePowers.js';
export class BaseSummonEffect extends ActorFolderEffect {
get actorFolderPackId() {
return moduleHelpers.getSetting(settingKeys.summonablesCompendium);
}
get name() {
return 'Base Summon';
}
get actorFolderBase() {
return 'Summonables';
}
get summonCount() {
return 0;
}

View File

@ -1,6 +1,16 @@
import { BaseSummonEffect } from './summonSupport.js';
export class ZombieEffect extends BaseSummonEffect {
async init() {
await super.init();
this.data.templates = {};
for (let tplName of ['armed_template']) {
if (tplName in this.data.actors) {
this.data.templates[tplName] = await foundry.utils.fromUuid(this.data.actors[tplName].uuid);
}
}
}
get name() {
return 'Zombie';
}

View File

@ -1,26 +1,9 @@
import { moduleName, moduleHelpers, settingKeys } from './globals.js';
import { moduleHelpers, settingKeys } from './globals.js';
export function registerSettings() {
moduleHelpers.registerSetting(settingKeys.powersJournal, {
name: 'mbhelpers.settings.powersJournalName',
hint: 'mbhelpers.settings.powersJournalHint',
scope: 'world',
config: true,
requiresReload: false,
type: String,
});
moduleHelpers.registerSetting(settingKeys.summonablesCompendium, {
name: 'mbhelpers.settings.summonablesCompendiumName',
hint: 'mbhelpers.settings.summonablesCompendiumHint',
scope: 'world',
config: true,
requiresReload: false,
type: String,
});
moduleHelpers.registerSetting(settingKeys.morphablesCompendium, {
name: 'mbhelpers.settings.morphablesCompendiumName',
hint: 'mbhelpers.settings.morphablesCompendiumHint',
moduleHelpers.registerSetting(settingKeys.powerActorsCompendium, {
name: 'mbhelpers.settings.powerActorsCompendiumName',
hint: 'mbhelpers.settings.powerActorsCompendiumHint',
scope: 'world',
config: true,
requiresReload: false,