forked from public/foundryvtt-reve-de-dragon
Gestion des créatures
This commit is contained in:
@ -27,25 +27,21 @@ export class RdDActor extends Actor {
|
||||
if (data.items) {
|
||||
return super.create(data, options);
|
||||
}
|
||||
|
||||
|
||||
data.items = [];
|
||||
let compendiumName = "";
|
||||
if (data.type == "personnage")
|
||||
{
|
||||
this.push_competence( data, "foundryvtt-reve-de-dragon.competences" );
|
||||
compendiumName = "foundryvtt-reve-de-dragon.competences";
|
||||
}
|
||||
if (data.type == "humanoide")
|
||||
{
|
||||
this.push_competence( data, "foundryvtt-reve-de-dragon.competences-humanoide" );
|
||||
compendiumName = "foundryvtt-reve-de-dragon.competences-humanoide";
|
||||
}
|
||||
if (data.type == "creature")
|
||||
{
|
||||
this.push_competence( data, "foundryvtt-reve-de-dragon.competences-creature" );
|
||||
compendiumName = "foundryvtt-reve-de-dragon.competences-creatures";
|
||||
}
|
||||
super.create(data, options);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async push_competence( data, compendiumName ) {
|
||||
let competences = [];
|
||||
const pack = game.packs.get(compendiumName);
|
||||
await pack.getIndex().then(index => competences = index);
|
||||
@ -55,7 +51,12 @@ export class RdDActor extends Actor {
|
||||
await pack.getEntity(comp._id).then(skill => compItem = skill);
|
||||
data.items.push(compItem);
|
||||
}
|
||||
|
||||
super.create(data, options);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
||||
|
||||
/* -------------------------------------------- */
|
||||
prepareData() {
|
||||
@ -302,6 +303,22 @@ export class RdDActor extends Actor {
|
||||
this.update( { caracpath: caracValue } );
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async updateCreatureCompetence( compName, fieldName, compValue )
|
||||
{
|
||||
let comp = RdDUtility.findCompetence( this.data.items, compName);
|
||||
if ( comp ) {
|
||||
const update = {_id: comp._id }
|
||||
if (fieldName == "niveau")
|
||||
update['data.niveau']= compValue;
|
||||
else if (fieldName == "dommages")
|
||||
update['data.dommages']= compValue;
|
||||
else
|
||||
update['data.cacac-value']= compValue;
|
||||
const updated = await this.updateEmbeddedEntity("OwnedItem", update); // Updates one EmbeddedEntity
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async updateCompetence( compName, compValue )
|
||||
{
|
||||
@ -701,6 +718,13 @@ export class RdDActor extends Actor {
|
||||
this.rollCompetence( armeName ); //Bypass mode!
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
rollCreatureCompetence( compName )
|
||||
{
|
||||
let compItem = RdDUtility.findCompetence( this.data.items, compName);
|
||||
//TODO !!!!
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async rollCompetence( compName, armeItem=undefined, attackerRoll=undefined )
|
||||
{
|
||||
|
Reference in New Issue
Block a user