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.powerActorsCompendiumName": "Power Actors Compendium",
"mbhelpers.settings.morphablesCompendiumHint": "UUID of a Compendium that holds all the morphables.", "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.summonablesCompendiumName": "Summonables Compendium",
"mbhelpers.settings.summonablesCompendiumHint": "UUID of a Compendium that holds all the summonables.",
"mbhelpers.settings.powersJournalName": "Powers Journal", "mbhelpers.settings.powersJournalName": "Powers Journal",
"mbhelpers.settings.powersJournalHint": "UUID of a helper journal for actor-based powers (summonables and morphables)." "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 { requestFearRollFromTokens, requestRollFromTokens } from './helpers.js';
import { powers, PowerClasses, powerEffectsMenu } from './powers/powers.js'; import { powers, PowerClasses, powerEffectsMenu } from './powers/powers.js';
import { setSummonCosts } from './powers/summonSupport.js'; import { setSummonCosts } from './powers/summonSupport.js';

View File

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

View File

@ -3,6 +3,10 @@ import { firstOwner, updateOwnedToken } from '../helpers.js';
import { ActorFolderEffect } from './basePowers.js'; import { ActorFolderEffect } from './basePowers.js';
export class BalefulPolymorphEffect extends ActorFolderEffect { export class BalefulPolymorphEffect extends ActorFolderEffect {
get actorFolderBase() {
return 'Morphables';
}
get name() { get name() {
return 'Baleful Polymorph'; 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 { firstOwner, addActiveEffectsToToken } from '../helpers.js';
import { templates } from '../preloadTemplates.js'; import { templates } from '../preloadTemplates.js';
@ -157,6 +157,7 @@ export class PowerFormApplication extends HandlebarsApplicationMixin(Application
data.recipients.epic = this.powerEffect.additionalRecipientsIsEpic; data.recipients.epic = this.powerEffect.additionalRecipientsIsEpic;
data.recipients.text = this.powerEffect.additionalRecipientText; data.recipients.text = this.powerEffect.additionalRecipientText;
} }
log('DATA', data);
return data; return data;
} }
@ -791,7 +792,7 @@ export class ActorFolderEffect extends PowerEffect {
} }
get actorFolderPackId() { get actorFolderPackId() {
return 'no.compendium.needs.override'; return moduleHelpers.getSetting(settingKeys.powerActorsCompendium);
} }
get actorFolderBase() { get actorFolderBase() {
@ -809,7 +810,7 @@ export class ActorFolderEffect extends PowerEffect {
} }
get actorFolder() { get actorFolder() {
return `${this.name}`; return `${this.actorFolderBase}/${this.name}`;
} }
getPackFolderByPath(path) { getPackFolderByPath(path) {

View File

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

View File

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

View File

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

View File

@ -1,6 +1,16 @@
import { BaseSummonEffect } from './summonSupport.js'; import { BaseSummonEffect } from './summonSupport.js';
export class ZombieEffect extends BaseSummonEffect { 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() { get name() {
return 'Zombie'; return 'Zombie';
} }

View File

@ -1,26 +1,9 @@
import { moduleName, moduleHelpers, settingKeys } from './globals.js'; import { moduleHelpers, settingKeys } from './globals.js';
export function registerSettings() { export function registerSettings() {
moduleHelpers.registerSetting(settingKeys.powersJournal, { moduleHelpers.registerSetting(settingKeys.powerActorsCompendium, {
name: 'mbhelpers.settings.powersJournalName', name: 'mbhelpers.settings.powerActorsCompendiumName',
hint: 'mbhelpers.settings.powersJournalHint', hint: 'mbhelpers.settings.powerActorsCompendiumHint',
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',
scope: 'world', scope: 'world',
config: true, config: true,
requiresReload: false, requiresReload: false,