REFACTOR:make more legible _preCreate

This commit is contained in:
Joaquin Pereyra 2025-07-05 13:54:25 -03:00
parent fe864f402a
commit 7785dea7fa

View file

@ -55,23 +55,28 @@ export default class BaseDataItem extends foundry.abstract.TypeDataModel {
return data; return data;
} }
/**@inheritdoc */
async _preCreate(data, options, user) { async _preCreate(data, options, user) {
// Skip if no initial action is required or actions already exist
if (!this.constructor.metadata.hasInitialAction || !foundry.utils.isEmpty(this.actions)) return; if (!this.constructor.metadata.hasInitialAction || !foundry.utils.isEmpty(this.actions)) return;
const actionType = {
weapon: 'attack' const metadataType = this.constructor.metadata.type;
}[this.constructor.metadata.type], const actionType = { weapon: "attack" }[metadataType];
cls = actionsTypes[actionType] const ActionClass = actionsTypes[actionType];
action = new cls(
const action = new ActionClass(
{ {
_id: foundry.utils.randomID(), _id: foundry.utils.randomID(),
type: actionType, type: actionType,
name: game.i18n.localize(CONFIG.DH.ACTIONS.actionTypes[actionType].name), name: game.i18n.localize(CONFIG.DH.ACTIONS.actionTypes[actionType].name),
...cls.getSourceConfig(this.parent) ...ActionClass.getSourceConfig(this.parent)
}, },
{ {
parent: this.parent parent: this.parent
} }
); );
this.updateSource({ actions: [action] }); this.updateSource({ actions: [action] });
} }
} }