mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-01-12 03:31:07 +01:00
Refactor/84 data models structure (#131)
* - Move all DataModel item files to a new 'items' subfolder for better organization - Add _module.mjs file to simplify imports - Update all import paths - Rename class for use the new acronym DH * FIX: remove unnecessary import * FEAT: BaseDataItem class add TODO comments for future improvements FIX: Remove effect field on template FIX: remove unused DhpEffects file * FEAT: new FormulaField class FEAT: add getRollData on BaseDataItem Class FEAT: weapon FIX: remove inventoryWeapon field on Weapon Data Model * FEAT: add class prepareBaseData for domains * FEAT: new ForeignDocumentUUIDField FIX: Remove unnecessary fields FEAT: use ForeignDocumentUUIDField in the Item Class DataModel * FIX: remove wrong option in String Field * FIX: remove unused import * FIX: ADD htmlFields description in manifest * FIX: minor fixes * REFACTOR: rename folder `data/items` -> `data/item` REFACTOR: rename folder `data/messages` -> `data/chat-message`. * FIX: imports FIX: items sheet new paths FIX: ItemDataModelMetadata type jsdoc * FEAT: formatting code FIX: fix fields used FEAT: add jsdoc * 110 - Class Data Model (#111) * Added PreCreate/Create/Delete logic for Class/Subclass and set it as foreignUUID fields in PC * Moved methods into TypedModelData * Simplified Subclass * Fixed up data model and a basic placeholder template (#117) * 118 - adversary data model (#119) * Fixed datamodel and set up basic template in new style * Added in a temp attack button, because why not * Restored HitPoints counting up * 113 - Character Data Model (#114) * Improved Character datamodel * Removed additional unneccessary getters * Preliminary cleanup in the class sheet * Cleanup of 'pc' references * Corrected Duality rolling from Character * Fix to damage roll * Added a basic BaseDataActor data model * Gathered exports * getRollData recursion fix * Feature/112 items use action datamodel (#127) * Create new actions classes * actions types - attack roll * fixes before merge * First PR * Add daggerheart.css to gitignore * Update ToDo * Remove console log * Fixed chat /dr roll * Remove jQuery * Fixed so the different chat themes work again * Fixed duality roll buttons * Fix to advantage/disadvantage shortcut * Extand action to other item types * Roll fixes * Fixes to adversary rolls * resources * Fixed adversary dice --------- Co-authored-by: WBHarry <williambjrklund@gmail.com> * Feature/116-implementation-of-pseudo-documents (#125) * FEAT: add baseDataModel logic * FEAT: new PseudoDocumentsField FIX: BasePseudoDocument 's getEmbeddedDocument * FEAT: PseudoDocument class * FEAT: add TypedPseudoDocument REFACTOR: PreudoDocument FIX: Typos Bug * FIX: CONFIG types * FEAT: basic PseudoDocumentSheet * FIX: remove schema ADD: input of example --------- Co-authored-by: Joaquin Pereyra <joaquinpereyra98@users.noreply.github.com> Co-authored-by: WBHarry <williambjrklund@gmail.com> * Levelup Followup (#126) * Levelup applies bonuses to character * Added visualisation of domain card levels * Fixed domaincard level max for selections in a tier * A trait can now only be level up once within the same tier --------- Co-authored-by: Joaquin Pereyra <joaquinpereyra98@users.noreply.github.com> Co-authored-by: joaquinpereyra98 <24190917+joaquinpereyra98@users.noreply.github.com> Co-authored-by: Dapoulp <74197441+Dapoulp@users.noreply.github.com>
This commit is contained in:
parent
90bc2dc488
commit
187ee3e1bd
153 changed files with 5481 additions and 4829 deletions
|
|
@ -1,7 +1,43 @@
|
|||
export const actionTypes = {
|
||||
attack: {
|
||||
id: 'attack',
|
||||
name: 'DAGGERHEART.Actions.Types.Attack.Name',
|
||||
icon: 'fa-swords'
|
||||
},
|
||||
spellcast: {
|
||||
id: 'spellcast',
|
||||
name: 'DAGGERHEART.Actions.Types.Spellcast.Name',
|
||||
icon: 'fa-book-sparkles'
|
||||
},
|
||||
healing: {
|
||||
id: 'healing',
|
||||
name: 'DAGGERHEART.Actions.Types.Healing.Name',
|
||||
icon: 'fa-kit-medical'
|
||||
},
|
||||
resource: {
|
||||
id: 'resource',
|
||||
name: 'DAGGERHEART.Actions.Types.Resource.Name',
|
||||
icon: 'fa-honey-pot'
|
||||
},
|
||||
damage: {
|
||||
id: 'damage',
|
||||
name: 'DAGGERHEART.Effects.Types.Health.Name'
|
||||
name: 'DAGGERHEART.Actions.Types.Damage.Name',
|
||||
icon: 'fa-bone-break'
|
||||
},
|
||||
summon: {
|
||||
id: 'summon',
|
||||
name: 'DAGGERHEART.Actions.Types.Summon.Name',
|
||||
icon: 'fa-ghost'
|
||||
},
|
||||
effect: {
|
||||
id: 'effect',
|
||||
name: 'DAGGERHEART.Actions.Types.Effect.Name',
|
||||
icon: 'fa-person-rays'
|
||||
},
|
||||
macro: {
|
||||
id: 'macro',
|
||||
name: 'DAGGERHEART.Actions.Types.Macro.Name',
|
||||
icon: 'fa-scroll'
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -76,53 +76,82 @@ export const featureProperties = {
|
|||
},
|
||||
spellcastingTrait: {
|
||||
name: 'DAGGERHEART.FeatureProperty.SpellcastingTrait',
|
||||
path: actor => actor.system.traits[actor.system.subclass.system.spellcastingTrait].data.value
|
||||
path: actor => actor.system.traits[actor.system.class.subclass.system.spellcastingTrait].data.value
|
||||
}
|
||||
};
|
||||
|
||||
export const adversaryTypes = {
|
||||
bruiser: {
|
||||
name: 'DAGGERHEART.Adversary.Bruiser.Name',
|
||||
id: 'bruiser',
|
||||
label: 'DAGGERHEART.Adversary.Type.Bruiser.label',
|
||||
description: 'DAGGERHEART.Adversary.Bruiser.Description'
|
||||
},
|
||||
horde: {
|
||||
name: 'DAGGERHEART.Adversary.Horde.Name',
|
||||
id: 'horde',
|
||||
label: 'DAGGERHEART.Adversary.Type.Horde.label',
|
||||
description: 'DAGGERHEART.Adversary.Horde.Description'
|
||||
},
|
||||
leader: {
|
||||
name: 'DAGGERHEART.Adversary.Leader.Name',
|
||||
id: 'leader',
|
||||
label: 'DAGGERHEART.Adversary.Type.Leader.label',
|
||||
description: 'DAGGERHEART.Adversary.Leader.Description'
|
||||
},
|
||||
minion: {
|
||||
name: 'DAGGERHEART.Adversary.Minion.Name',
|
||||
id: 'minion',
|
||||
label: 'DAGGERHEART.Adversary.Type.Minion.label',
|
||||
description: 'DAGGERHEART.Adversary.Minion.Description'
|
||||
},
|
||||
ranged: {
|
||||
name: 'DAGGERHEART.Adversary.Ranged.Name',
|
||||
id: 'ranged',
|
||||
label: 'DAGGERHEART.Adversary.Type.Ranged.label',
|
||||
description: 'DAGGERHEART.Adversary.Ranged.Description'
|
||||
},
|
||||
skulker: {
|
||||
name: 'DAGGERHEART.Adversary.Skulker.Name',
|
||||
description: 'DAGGERHEART.Adversary.Skulker.Description'
|
||||
skulk: {
|
||||
id: 'skulk',
|
||||
label: 'DAGGERHEART.Adversary.Type.Skulk.label',
|
||||
description: 'DAGGERHEART.Adversary.Skulk.Description'
|
||||
},
|
||||
social: {
|
||||
name: 'DAGGERHEART.Adversary.Social.Name',
|
||||
id: 'social',
|
||||
label: 'DAGGERHEART.Adversary.Type.Social.label',
|
||||
description: 'DAGGERHEART.Adversary.Social.Description'
|
||||
},
|
||||
solo: {
|
||||
name: 'DAGGERHEART.Adversary.Solo.Name',
|
||||
id: 'solo',
|
||||
label: 'DAGGERHEART.Adversary.Type.Solo.label',
|
||||
description: 'DAGGERHEART.Adversary.Solo.Description'
|
||||
},
|
||||
standard: {
|
||||
name: 'DAGGERHEART.Adversary.Standard.Name',
|
||||
id: 'standard',
|
||||
label: 'DAGGERHEART.Adversary.Type.Standard.label',
|
||||
description: 'DAGGERHEART.Adversary.Standard.Description'
|
||||
},
|
||||
support: {
|
||||
name: 'DAGGERHEART.Adversary.Support.Name',
|
||||
id: 'support',
|
||||
label: 'DAGGERHEART.Adversary.Type.Support.label',
|
||||
description: 'DAGGERHEART.Adversary.Support.Description'
|
||||
}
|
||||
};
|
||||
|
||||
export const environmentTypes = {
|
||||
exploration: {
|
||||
label: 'DAGGERHEART.Environment.Type.Exploration.label',
|
||||
description: 'DAGGERHEART.Environment.Type.Exploration.description'
|
||||
},
|
||||
social: {
|
||||
label: 'DAGGERHEART.Environment.Type.Social.label',
|
||||
description: 'DAGGERHEART.Environment.Type.Social.description'
|
||||
},
|
||||
traversal: {
|
||||
label: 'DAGGERHEART.Environment.Type.Traversal.label',
|
||||
description: 'DAGGERHEART.Environment.Type.Traversal.description'
|
||||
},
|
||||
event: {
|
||||
label: 'DAGGERHEART.Environment.Type.Event.label',
|
||||
description: 'DAGGERHEART.Environment.Type.Event.description'
|
||||
}
|
||||
};
|
||||
|
||||
export const adversaryTraits = {
|
||||
relentless: {
|
||||
name: 'DAGGERHEART.Adversary.Trait..Name',
|
||||
|
|
@ -380,3 +409,9 @@ export const levelupData = {
|
|||
}
|
||||
}
|
||||
};
|
||||
|
||||
export const subclassFeatureLabels = {
|
||||
1: 'DAGGERHEART.Sheets.PC.DomainCard.FoundationTitle',
|
||||
2: 'DAGGERHEART.Sheets.PC.DomainCard.SpecializationTitle',
|
||||
3: 'DAGGERHEART.Sheets.PC.DomainCard.MasteryTitle'
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,56 +1,56 @@
|
|||
export const domains = {
|
||||
arcana: {
|
||||
id: 'arcana',
|
||||
label: 'Arcana',
|
||||
label: 'DAGGERHEART.Domains.Arcana.label',
|
||||
src: 'icons/magic/symbols/circled-gem-pink.webp',
|
||||
description: 'DAGGERHEART.Domains.Arcana'
|
||||
},
|
||||
blade: {
|
||||
id: 'blade',
|
||||
label: 'Blade',
|
||||
label: 'DAGGERHEART.Domains.Blade.label',
|
||||
src: 'icons/weapons/swords/sword-broad-crystal-paired.webp',
|
||||
description: 'DAGGERHEART.Domains.Blade'
|
||||
},
|
||||
bone: {
|
||||
id: 'bone',
|
||||
label: 'Bone',
|
||||
label: 'DAGGERHEART.Domains.Bone.label',
|
||||
src: 'icons/skills/wounds/bone-broken-marrow-red.webp',
|
||||
description: 'DAGGERHEART.Domains.Bone'
|
||||
},
|
||||
codex: {
|
||||
id: 'codex',
|
||||
label: 'Codex',
|
||||
label: 'DAGGERHEART.Domains.Codex.label',
|
||||
src: 'icons/sundries/books/book-embossed-jewel-gold-purple.webp',
|
||||
description: 'DAGGERHEART.Domains.Codex'
|
||||
},
|
||||
grace: {
|
||||
id: 'grace',
|
||||
label: 'Grace',
|
||||
label: 'DAGGERHEART.Domains.Grace.label',
|
||||
src: 'icons/skills/movement/feet-winged-boots-glowing-yellow.webp',
|
||||
description: 'DAGGERHEART.Domains.Grace'
|
||||
},
|
||||
midnight: {
|
||||
id: 'midnight',
|
||||
label: 'Midnight',
|
||||
label: 'DAGGERHEART.Domains.Midnight.label',
|
||||
src: 'icons/environment/settlement/watchtower-castle-night.webp',
|
||||
background: 'systems/daggerheart/assets/backgrounds/MidnightBackground.webp',
|
||||
description: 'DAGGERHEART.Domains.Midnight'
|
||||
},
|
||||
sage: {
|
||||
id: 'sage',
|
||||
label: 'Sage',
|
||||
label: 'DAGGERHEART.Domains.Sage.label',
|
||||
src: 'icons/sundries/misc/pipe-wooden-straight-brown.webp',
|
||||
description: 'DAGGERHEART.Domains.Sage'
|
||||
},
|
||||
splendor: {
|
||||
id: 'splendor',
|
||||
label: 'Splendor',
|
||||
label: 'DAGGERHEART.Domains.Splendor.label',
|
||||
src: 'icons/magic/control/control-influence-crown-gold.webp',
|
||||
description: 'DAGGERHEART.Domains.Splendor'
|
||||
},
|
||||
valor: {
|
||||
id: 'valor',
|
||||
label: 'Valor',
|
||||
label: 'DAGGERHEART.Domains.Valor.label',
|
||||
src: 'icons/magic/control/control-influence-rally-purple.webp',
|
||||
description: 'DAGGERHEART.Domains.Valor'
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,25 +1,35 @@
|
|||
export const range = {
|
||||
self: {
|
||||
label: 'DAGGERHEART.Range.self.name',
|
||||
description: 'DAGGERHEART.Range.self.description',
|
||||
distance: 0
|
||||
},
|
||||
melee: {
|
||||
id: 'melee',
|
||||
label: 'DAGGERHEART.Range.melee.name',
|
||||
description: 'DAGGERHEART.Range.melee.description',
|
||||
distance: 1
|
||||
},
|
||||
veryClose: {
|
||||
id: 'veryClose',
|
||||
label: 'DAGGERHEART.Range.veryClose.name',
|
||||
description: 'DAGGERHEART.Range.veryClose.description',
|
||||
distance: 3
|
||||
},
|
||||
close: {
|
||||
id: 'close',
|
||||
label: 'DAGGERHEART.Range.close.name',
|
||||
description: 'DAGGERHEART.Range.close.description',
|
||||
distance: 10
|
||||
},
|
||||
far: {
|
||||
id: 'far',
|
||||
label: 'DAGGERHEART.Range.far.name',
|
||||
description: 'DAGGERHEART.Range.far.description',
|
||||
distance: 20
|
||||
},
|
||||
veryFar: {
|
||||
id: 'veryFar',
|
||||
label: 'DAGGERHEART.Range.veryFar.name',
|
||||
description: 'DAGGERHEART.Range.veryFar.description',
|
||||
distance: 30
|
||||
|
|
@ -175,31 +185,27 @@ export const deathMoves = {
|
|||
};
|
||||
|
||||
export const tiers = {
|
||||
0: {
|
||||
key: 0,
|
||||
id: 'tier0',
|
||||
name: 'DAGGERHEART.General.Tier.0'
|
||||
},
|
||||
1: {
|
||||
key: 1,
|
||||
tier1: {
|
||||
id: 'tier1',
|
||||
name: 'DAGGERHEART.General.Tier.1'
|
||||
label: 'DAGGERHEART.Tiers.tier1'
|
||||
},
|
||||
2: {
|
||||
key: 2,
|
||||
tier2: {
|
||||
id: 'tier2',
|
||||
name: 'DAGGERHEART.General.Tier.2'
|
||||
label: 'DAGGERHEART.Tiers.tier2'
|
||||
},
|
||||
3: {
|
||||
key: 3,
|
||||
tier3: {
|
||||
id: 'tier3',
|
||||
name: 'DAGGERHEART.General.Tier.3'
|
||||
label: 'DAGGERHEART.Tiers.tier3'
|
||||
},
|
||||
tier4: {
|
||||
id: 'tier4',
|
||||
label: 'DAGGERHEART.Tiers.tier4'
|
||||
}
|
||||
};
|
||||
|
||||
export const objectTypes = {
|
||||
pc: {
|
||||
name: 'TYPES.Actor.pc'
|
||||
character: {
|
||||
name: 'TYPES.Actor.character'
|
||||
},
|
||||
npc: {
|
||||
name: 'TYPES.Actor.npc'
|
||||
|
|
@ -247,6 +253,11 @@ export const diceTypes = {
|
|||
d20: 'd20'
|
||||
};
|
||||
|
||||
export const multiplierTypes = {
|
||||
proficiency: 'Proficiency',
|
||||
spellcast: 'Spellcast'
|
||||
};
|
||||
|
||||
export const getDiceSoNicePresets = () => {
|
||||
const { diceSoNice } = game.settings.get(SYSTEM.id, SYSTEM.SETTINGS.gameSettings.appearance);
|
||||
|
||||
|
|
@ -311,3 +322,18 @@ export const abilityCosts = {
|
|||
label: 'Stress'
|
||||
}
|
||||
};
|
||||
|
||||
export const rollTypes = {
|
||||
weapon: {
|
||||
id: 'weapon',
|
||||
label: 'DAGGERHEART.RollTypes.weapon.name'
|
||||
},
|
||||
spellcast: {
|
||||
id: 'spellcast',
|
||||
label: 'DAGGERHEART.RollTypes.spellcast.name'
|
||||
},
|
||||
ability: {
|
||||
id: 'ability',
|
||||
label: 'DAGGERHEART.RollTypes.ability.name'
|
||||
}
|
||||
};
|
||||
|
|
|
|||
17
module/config/pseudoConfig.mjs
Normal file
17
module/config/pseudoConfig.mjs
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
import { pseudoDocuments } from "../data/_module.mjs";
|
||||
import { pseudoDocumentSheet } from "../applications/_module.mjs";
|
||||
|
||||
//CONFIG.daggerheart.pseudoDocuments
|
||||
export default {
|
||||
sheetClass: pseudoDocumentSheet.PseudoDocumentSheet,
|
||||
feature: {
|
||||
label: "DAGGERHEART.Feature.Label",
|
||||
documentClass: pseudoDocuments.feature.BaseFeatureData,
|
||||
types: {
|
||||
weapon: {
|
||||
label: "DAGGERHEART.Feature.Weapon.Label",
|
||||
documentClass: pseudoDocuments.feature.WeaponFeature,
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
@ -5,6 +5,7 @@ import * as ITEM from './itemConfig.mjs';
|
|||
import * as SETTINGS from './settingsConfig.mjs';
|
||||
import * as EFFECTS from './effectConfig.mjs';
|
||||
import * as ACTIONS from './actionConfig.mjs';
|
||||
import pseudoDocuments from "./pseudoConfig.mjs";
|
||||
|
||||
export const SYSTEM_ID = 'daggerheart';
|
||||
|
||||
|
|
@ -16,5 +17,6 @@ export const SYSTEM = {
|
|||
ITEM,
|
||||
SETTINGS,
|
||||
EFFECTS,
|
||||
ACTIONS
|
||||
ACTIONS,
|
||||
pseudoDocuments
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue