From 0560cc5778db1f87a04f90f10bd72a821ea452f6 Mon Sep 17 00:00:00 2001 From: Mike Bloy Date: Tue, 3 Jun 2025 21:18:59 -0500 Subject: [PATCH] partial summon power update --- src/lang/en.json | 4 ++-- src/module/api.js | 11 +++++------ src/module/globals.js | 2 +- src/module/powers/balefulPolymorph.js | 4 ---- src/module/powers/shapeChange.js | 4 ---- src/module/powers/summon.js | 10 +++++----- src/module/powers/summonSupport.js | 10 +++++----- src/module/settings.js | 6 +++--- 8 files changed, 21 insertions(+), 30 deletions(-) diff --git a/src/lang/en.json b/src/lang/en.json index 883bccb..b6e7cfb 100644 --- a/src/lang/en.json +++ b/src/lang/en.json @@ -3,6 +3,6 @@ "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.summonablesJournalName": "Summonables Journal Entry", - "mbhelpers.settings.summonablesJournalHint": "UUID of a journal entry that lists the costs of all summonables. There should be a page named identically to every available spell name" + "mbhelpers.settings.powersJournalName": "Powers Journal", + "mbhelpers.settings.powersJournalHint": "UUID of a helper journal for actor-based powers (summonables and morphables)." } diff --git a/src/module/api.js b/src/module/api.js index 73a9dde..53d301e 100644 --- a/src/module/api.js +++ b/src/module/api.js @@ -1,24 +1,23 @@ import { log, moduleHelpers, settingKeys } from './globals.js'; import { requestFearRollFromTokens, requestRollFromTokens } from './helpers.js'; -import { powers, powerEffectsMenu } from './powers/powers.js'; +import { powers, PowerClasses, powerEffectsMenu } from './powers/powers.js'; import { setSummonCosts } from './powers/summonSupport.js'; export class api { static registerFunctions() { log('SWADE MB Helpers initialized'); - api.globals(); - } - - static globals() { const moduleName = 'swade-mb-helpers'; - game.modules.get(moduleName).api = { + const mbSwadeApi = { fearTable: moduleHelpers.fearTableHelper, powerEffects: powers, + PowerClasses, powerEffectsMenu, requestFearRollFromTokens, requestRollFromTokens, rulesVersion: moduleHelpers.rulesVersion, setSummonCosts, }; + game.modules.get(moduleName).api = mbSwadeApi; + game.mbSwade = mbSwadeApi; } } diff --git a/src/module/globals.js b/src/module/globals.js index 44dce9e..1a5ae13 100644 --- a/src/module/globals.js +++ b/src/module/globals.js @@ -2,8 +2,8 @@ export const moduleName = 'swade-mb-helpers'; export const settingKeys = { summonablesCompendium: 'summonablesCompendium', - summonablesJournal: 'summonablesJournal', morphablesCompendium: 'morphablesCompendium', + powersJournal: 'powersJournal', }; export function log(...args) { diff --git a/src/module/powers/balefulPolymorph.js b/src/module/powers/balefulPolymorph.js index 7debc02..f857fe2 100644 --- a/src/module/powers/balefulPolymorph.js +++ b/src/module/powers/balefulPolymorph.js @@ -35,10 +35,6 @@ export class BalefulPolymorphEffect extends ActorFolderEffect { return false; } - get actorFolderBase() { - return 'Morphables'; - } - actorValue(actor) { const size = actor.system.stats.size; const targetSize = this.targets[0].actor.system.stats.size; diff --git a/src/module/powers/shapeChange.js b/src/module/powers/shapeChange.js index b42c4bf..7565590 100644 --- a/src/module/powers/shapeChange.js +++ b/src/module/powers/shapeChange.js @@ -35,10 +35,6 @@ export class ShapeChangeEffect extends ActorFolderEffect { return false; } - get actorFolderBase() { - return 'Morphables'; - } - actorValue(actor) { const size = actor.system.stats.size; let value = 3; diff --git a/src/module/powers/summon.js b/src/module/powers/summon.js index a59cb91..b7dd5f7 100644 --- a/src/module/powers/summon.js +++ b/src/module/powers/summon.js @@ -3,7 +3,7 @@ import { BaseSummonEffect } from './summonSupport.js'; class BaseAllyEffect extends BaseSummonEffect { get actorFolder() { - return `${this.actorFolderBase}/Creatures`; + return 'Creatures'; } get basePowerPoints() { @@ -244,14 +244,14 @@ export class SummonAllyEffect extends BaseAllyEffect { return 'Summon Ally'; } - get actorFolder() { - return `${this.actorFolderBase}/${this.name}`; - } - get commonActorPool() { return false; } + get actorFolder() { + return this.name; + } + get icon() { return 'icons/magic/control/silhouette-hold-beam-blue.webp'; } diff --git a/src/module/powers/summonSupport.js b/src/module/powers/summonSupport.js index d4401c7..cfea1bc 100644 --- a/src/module/powers/summonSupport.js +++ b/src/module/powers/summonSupport.js @@ -1,15 +1,15 @@ /* globals Sequencer */ -import { log, moduleHelpers, moduleName } from '../globals.js'; +import { log, moduleHelpers, moduleName, settingKeys } from '../globals.js'; import { templates } from '../preloadTemplates.js'; import { ActorFolderEffect } from './basePowers.js'; export class BaseSummonEffect extends ActorFolderEffect { - get name() { - return 'Base Summon'; + get actorFolderPackId() { + return moduleHelpers.getSetting(settingKeys.summonablesCompendium); } - get actorFolderBase() { - return 'Summonables'; + get name() { + return 'Base Summon'; } get summonCount() { diff --git a/src/module/settings.js b/src/module/settings.js index 2a0d007..3576a4f 100644 --- a/src/module/settings.js +++ b/src/module/settings.js @@ -1,8 +1,8 @@ import { moduleName, moduleHelpers, settingKeys } from './globals.js'; export function registerSettings() { - moduleHelpers.registerSetting(settingKeys.summonablesJournal, { - name: 'mbhelpers.settings.summonablesJournalName', - hint: 'mbhelpers.settings.summonablesJournalHint', + moduleHelpers.registerSetting(settingKeys.powersJournal, { + name: 'mbhelpers.settings.powersJournalName', + hint: 'mbhelpers.settings.powersJournalHint', scope: 'world', config: true, requiresReload: false,