kopparhavet/module/kh-hooks.js

41 lines
1.7 KiB
JavaScript
Raw Normal View History

2020-11-28 19:12:19 +01:00
export default class KHHooks {
static async onCreateActor(actor, options, userId) {
if (actor.data.type == "character") {
2020-11-30 06:23:35 +01:00
// Load Skills Compendium skills
let skillIndex;
let actorbaseSkills;
if(game.settings.get("kopparhavet", "gameSystem") === "hjaltarnas-tid") {
// Set currency name
actor.update({ "data.currency.shekel.label": "CURRENCY.SILVER" });
2020-11-30 06:23:35 +01:00
actorbaseSkills = CONFIG.KH.baseSkillsHT
skillIndex = await game.packs.get("kopparhavet.skills-ht").getDocuments();
2020-11-30 06:23:35 +01:00
} else {
actorbaseSkills = CONFIG.KH.baseSkills;
skillIndex = await game.packs.get("kopparhavet.skills").getDocuments();
2020-11-30 06:23:35 +01:00
}
2020-11-28 19:12:19 +01:00
// Check if skill already exists by some chance
const existingSkills = actor.items.filter((i) => i.type === ItemType.Skill).map((i) => i.name);
const skillsToAdd = actorbaseSkills.filter((s) => !existingSkills.includes(s));
// Filter skillIndex array to include only skills for Actor Type.
let _skillsList = skillIndex.filter((i) => skillsToAdd.includes(i.data.name));
let _sl = [];
_skillsList.forEach((s) => {
//s.data._source.data["creatureType"] = actor.data.type;
//s.data._source.data["coreSkill"] = true;
_sl.push(s.data);
});
await actor.createEmbeddedDocuments("Item", _sl);
//await actor.createEmbeddedDocuments("Item", [_skillsList.toObject()]);
2020-11-28 19:12:19 +01:00
} else {
setTimeout(async function () {
await actor.sheet.render(true);
}, 500);
}
}
}