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(), {
type: actionType, _id: foundry.utils.randomID(),
name: game.i18n.localize(CONFIG.DH.ACTIONS.actionTypes[actionType].name), type: actionType,
...cls.getSourceConfig(this.parent) name: game.i18n.localize(CONFIG.DH.ACTIONS.actionTypes[actionType].name),
}, ...ActionClass.getSourceConfig(this.parent)
{ },
parent: this.parent {
} parent: this.parent
); }
);
this.updateSource({ actions: [action] }); this.updateSource({ actions: [action] });
} }
} }