partial summon power update

This commit is contained in:
Mike Bloy 2025-06-03 21:18:59 -05:00
parent f396636713
commit 0560cc5778
8 changed files with 21 additions and 30 deletions

View File

@ -3,6 +3,6 @@
"mbhelpers.settings.morphablesCompendiumHint": "UUID of a Compendium that holds all the morphables.", "mbhelpers.settings.morphablesCompendiumHint": "UUID of a Compendium that holds all the morphables.",
"mbhelpers.settings.summonablesCompendiumName": "Summonables Compendium", "mbhelpers.settings.summonablesCompendiumName": "Summonables Compendium",
"mbhelpers.settings.summonablesCompendiumHint": "UUID of a Compendium that holds all the summonables.", "mbhelpers.settings.summonablesCompendiumHint": "UUID of a Compendium that holds all the summonables.",
"mbhelpers.settings.summonablesJournalName": "Summonables Journal Entry", "mbhelpers.settings.powersJournalName": "Powers Journal",
"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.powersJournalHint": "UUID of a helper journal for actor-based powers (summonables and morphables)."
} }

View File

@ -1,24 +1,23 @@
import { log, moduleHelpers, settingKeys } from './globals.js'; import { log, moduleHelpers, settingKeys } from './globals.js';
import { requestFearRollFromTokens, requestRollFromTokens } from './helpers.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'; import { setSummonCosts } from './powers/summonSupport.js';
export class api { export class api {
static registerFunctions() { static registerFunctions() {
log('SWADE MB Helpers initialized'); log('SWADE MB Helpers initialized');
api.globals();
}
static globals() {
const moduleName = 'swade-mb-helpers'; const moduleName = 'swade-mb-helpers';
game.modules.get(moduleName).api = { const mbSwadeApi = {
fearTable: moduleHelpers.fearTableHelper, fearTable: moduleHelpers.fearTableHelper,
powerEffects: powers, powerEffects: powers,
PowerClasses,
powerEffectsMenu, powerEffectsMenu,
requestFearRollFromTokens, requestFearRollFromTokens,
requestRollFromTokens, requestRollFromTokens,
rulesVersion: moduleHelpers.rulesVersion, rulesVersion: moduleHelpers.rulesVersion,
setSummonCosts, setSummonCosts,
}; };
game.modules.get(moduleName).api = mbSwadeApi;
game.mbSwade = mbSwadeApi;
} }
} }

View File

@ -2,8 +2,8 @@ export const moduleName = 'swade-mb-helpers';
export const settingKeys = { export const settingKeys = {
summonablesCompendium: 'summonablesCompendium', summonablesCompendium: 'summonablesCompendium',
summonablesJournal: 'summonablesJournal',
morphablesCompendium: 'morphablesCompendium', morphablesCompendium: 'morphablesCompendium',
powersJournal: 'powersJournal',
}; };
export function log(...args) { export function log(...args) {

View File

@ -35,10 +35,6 @@ export class BalefulPolymorphEffect extends ActorFolderEffect {
return false; return false;
} }
get actorFolderBase() {
return 'Morphables';
}
actorValue(actor) { actorValue(actor) {
const size = actor.system.stats.size; const size = actor.system.stats.size;
const targetSize = this.targets[0].actor.system.stats.size; const targetSize = this.targets[0].actor.system.stats.size;

View File

@ -35,10 +35,6 @@ export class ShapeChangeEffect extends ActorFolderEffect {
return false; return false;
} }
get actorFolderBase() {
return 'Morphables';
}
actorValue(actor) { actorValue(actor) {
const size = actor.system.stats.size; const size = actor.system.stats.size;
let value = 3; let value = 3;

View File

@ -3,7 +3,7 @@ import { BaseSummonEffect } from './summonSupport.js';
class BaseAllyEffect extends BaseSummonEffect { class BaseAllyEffect extends BaseSummonEffect {
get actorFolder() { get actorFolder() {
return `${this.actorFolderBase}/Creatures`; return 'Creatures';
} }
get basePowerPoints() { get basePowerPoints() {
@ -244,14 +244,14 @@ export class SummonAllyEffect extends BaseAllyEffect {
return 'Summon Ally'; return 'Summon Ally';
} }
get actorFolder() {
return `${this.actorFolderBase}/${this.name}`;
}
get commonActorPool() { get commonActorPool() {
return false; return false;
} }
get actorFolder() {
return this.name;
}
get icon() { get icon() {
return 'icons/magic/control/silhouette-hold-beam-blue.webp'; return 'icons/magic/control/silhouette-hold-beam-blue.webp';
} }

View File

@ -1,15 +1,15 @@
/* globals Sequencer */ /* globals Sequencer */
import { log, moduleHelpers, moduleName } from '../globals.js'; import { log, moduleHelpers, moduleName, settingKeys } 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 name() { get actorFolderPackId() {
return 'Base Summon'; return moduleHelpers.getSetting(settingKeys.summonablesCompendium);
} }
get actorFolderBase() { get name() {
return 'Summonables'; return 'Base Summon';
} }
get summonCount() { get summonCount() {

View File

@ -1,8 +1,8 @@
import { moduleName, moduleHelpers, settingKeys } from './globals.js'; import { moduleName, moduleHelpers, settingKeys } from './globals.js';
export function registerSettings() { export function registerSettings() {
moduleHelpers.registerSetting(settingKeys.summonablesJournal, { moduleHelpers.registerSetting(settingKeys.powersJournal, {
name: 'mbhelpers.settings.summonablesJournalName', name: 'mbhelpers.settings.powersJournalName',
hint: 'mbhelpers.settings.summonablesJournalHint', hint: 'mbhelpers.settings.powersJournalHint',
scope: 'world', scope: 'world',
config: true, config: true,
requiresReload: false, requiresReload: false,