Merge branch 'v1.2' of gitlab.com:LeRatierBretonnien/foundryvtt-reve-de-dragon into v1.2

This commit is contained in:
2021-01-09 09:54:14 +01:00
25 changed files with 543 additions and 595 deletions

View File

@ -46,13 +46,13 @@ export class RdDActor extends Actor {
}
// If the created actor has items (only applicable to duplicated actors) bypass the new actor creation logic
if (data.items) {
let actor = super.create(data, options);
if (data.type == "personnage") {
await RdDActor.checkMonnaiePresence( data.items );
await actor.checkMonnaiePresence( data.items );
}
return super.create(data, options);
return actor;
}
data.items = [];
let compendiumName = "";
if (data.type == "personnage") {
compendiumName = "foundryvtt-reve-de-dragon.competences";
@ -61,16 +61,7 @@ export class RdDActor extends Actor {
} else if (data.type == "entite") {
compendiumName = "foundryvtt-reve-de-dragon.competences-entites";
}
let competences = [];
const pack = game.packs.get(compendiumName);
await pack.getIndex().then(index => competences = index);
for (let comp of competences)
{
let compItem = undefined;
await pack.getEntity(comp._id).then(skill => compItem = skill);
data.items.push(compItem);
}
data.items = RdDUtility.loadCompendium(compendiumName);
// Ajout monnaie
if (data.type == "personnage" ) {
await RdDActor.ajouterMonnaie( data.items );
@ -207,12 +198,12 @@ export class RdDActor extends Actor {
return this.data.data.compteurs?.surenc?.value ?? 0;
}
/* -------------------------------------------- */
getCompetenceList() {
loadCompendiumNames() {
return this.data.items.filter( (item) => item.type == 'competence');
}
/* -------------------------------------------- */
getCompetence(compName) {
return RdDUtility.findCompetence(this.data.items, compName);
return RdDItemCompetence.findCompetence(this.data.items, compName);
}
/* -------------------------------------------- */
getTache( id ) {
@ -1428,9 +1419,9 @@ export class RdDActor extends Actor {
/* -------------------------------------------- */
async checkCompetenceXP( compName ) {
let competence = RdDUtility.findCompetence( this.data.items, compName);
let competence = RdDItemCompetence.findCompetence( this.data.items, compName);
if ( competence && competence.data.xp > 0) {
let xpNeeded = RdDUtility.getCompetenceNextXp( competence.data.niveau );
let xpNeeded = RdDItemCompetence.getCompetenceNextXp( competence.data.niveau );
if ( competence.data.xp >= xpNeeded ) {
competence.data.xp -= xpNeeded;
competence.data.niveau += 1;
@ -1952,7 +1943,7 @@ export class RdDActor extends Actor {
/* -------------------------------------------- */
async ajouteNombreAstral( data ) {
// Gestion expérience (si existante)
data.competence = RdDUtility.findCompetence( this.data.items, "astrologie");
data.competence = RdDItemCompetence.findCompetence( this.data.items, "astrologie");
data.selectedCarac = this.data.data.carac["vue"];
this._appliquerAjoutExperience( data );