mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-01-17 15:39:02 +01:00
Added Homebrew maxDomains
This commit is contained in:
parent
397053dcb3
commit
c340f084b3
6 changed files with 29 additions and 5 deletions
|
|
@ -2086,7 +2086,11 @@
|
|||
"FIELDS": {
|
||||
"maxFear": { "label": "Max Fear" },
|
||||
"traitArray": { "label": "Initial Trait Modifiers" },
|
||||
"maxLoadout": { "label": "Max Cards in Loadout", "hint": "Set to blank or 0 for unlimited maximum" }
|
||||
"maxLoadout": {
|
||||
"label": "Max Cards in Loadout",
|
||||
"hint": "Set to blank or 0 for unlimited maximum"
|
||||
},
|
||||
"maxDomains": { "label": "Max Class Domains", "hint": "Max domains you can set on a class" }
|
||||
},
|
||||
"currency": {
|
||||
"enabled": "Enable Overrides",
|
||||
|
|
@ -2276,7 +2280,8 @@
|
|||
"beastformToManyAdvantages": "You cannot select any more advantages.",
|
||||
"beastformToManyFeatures": "You cannot select any more features.",
|
||||
"beastformEquipWeapon": "You cannot use weapons while in a Beastform.",
|
||||
"loadoutMaxReached": "You've reached maximum loadout. Move atleast one domain card to the vault.",
|
||||
"loadoutMaxReached": "You've reached maximum loadout. Move atleast one domain card to the vault, or increase the limit in homebrew settings if desired.",
|
||||
"domainMaxReached": "You've reached the maximum domains for the class. Increase the limit in homebrew settings if desired.",
|
||||
"insufficientResources": "You have insufficient resources",
|
||||
"multiclassAlreadyPresent": "You already have a class and multiclass",
|
||||
"subclassesAlreadyPresent": "You already have a class and multiclass subclass"
|
||||
|
|
|
|||
|
|
@ -15,7 +15,10 @@ export default class ClassSheet extends DHBaseItemSheet {
|
|||
{
|
||||
selector: '.domain-input',
|
||||
options: () => CONFIG.DH.DOMAIN.domains,
|
||||
callback: ClassSheet.#onDomainSelect
|
||||
callback: ClassSheet.#onDomainSelect,
|
||||
tagifyOptions: {
|
||||
maxTags: () => game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.Homebrew).maxDomains
|
||||
}
|
||||
}
|
||||
],
|
||||
dragDrop: [
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ export default class DHClass extends BaseDataItem {
|
|||
const fields = foundry.data.fields;
|
||||
return {
|
||||
...super.defineSchema(),
|
||||
domains: new fields.ArrayField(new fields.StringField(), { max: 2 }),
|
||||
domains: new fields.ArrayField(new fields.StringField()),
|
||||
classItems: new ForeignDocumentUUIDArrayField({ type: 'Item', required: false }),
|
||||
hitPoints: new fields.NumberField({
|
||||
required: true,
|
||||
|
|
@ -123,6 +123,14 @@ export default class DHClass extends BaseDataItem {
|
|||
const allowed = await super._preUpdate(changed, options, userId);
|
||||
if (allowed === false) return false;
|
||||
|
||||
if (changed.system?.domains) {
|
||||
const maxDomains = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.Homebrew).maxDomains;
|
||||
if (changed.system.domains.length > maxDomains) {
|
||||
ui.notifications.warn(game.i18n.localize('DAGGERHEART.UI.Notifications.domainMaxReached'));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
const paths = [
|
||||
'subclasses',
|
||||
'characterGuide.suggestedPrimaryWeapon',
|
||||
|
|
|
|||
|
|
@ -21,6 +21,13 @@ export default class DhHomebrew extends foundry.abstract.DataModel {
|
|||
initial: 5,
|
||||
label: 'DAGGERHEART.SETTINGS.Homebrew.FIELDS.maxLoadout.label'
|
||||
}),
|
||||
maxDomains: new fields.NumberField({
|
||||
required: true,
|
||||
integer: true,
|
||||
min: 1,
|
||||
initial: 2,
|
||||
label: 'DAGGERHEART.SETTINGS.Homebrew.FIELDS.maxDomains.label'
|
||||
}),
|
||||
traitArray: new fields.ArrayField(new fields.NumberField({ required: true, integer: true }), {
|
||||
initial: () => [2, 1, 1, 0, 0, -1]
|
||||
}),
|
||||
|
|
|
|||
|
|
@ -97,7 +97,7 @@ export const tagifyElement = (element, options, onChange, tagifyOptions = {}) =>
|
|||
description: option.description
|
||||
};
|
||||
}),
|
||||
maxTags: maxTags,
|
||||
maxTags: typeof maxTags === 'function' ? maxTags() : maxTags,
|
||||
dropdown: {
|
||||
mapValueTo: 'name',
|
||||
searchKeys: ['name'],
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
<h1>{{localize 'DAGGERHEART.SETTINGS.Menu.homebrew.name'}}</h1>
|
||||
</header>
|
||||
{{formGroup settingFields.schema.fields.maxFear value=settingFields._source.maxFear localize=true}}
|
||||
{{formGroup settingFields.schema.fields.maxDomains value=settingFields._source.maxDomains localize=true}}
|
||||
{{formGroup settingFields.schema.fields.maxLoadout value=settingFields._source.maxLoadout localize=true}}
|
||||
<div class="settings-hint"><label>{{localize "DAGGERHEART.SETTINGS.Homebrew.FIELDS.maxLoadout.hint"}}</label></div>
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue