Upgrade to v9
This commit is contained in:
@@ -46,48 +46,48 @@ export class VadentisActor extends Actor {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getCompetences() {
|
||||
return this.data.items.filter( item => item.type == 'competence');
|
||||
return duplicate( this.data.items.filter( item => item.type == 'competence') || [] );
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getDonnees() {
|
||||
return this.data.items.filter( item => item.type == 'donnee');
|
||||
return duplicate( this.data.items.filter( item => item.type == 'donnee')|| [] );
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getEglises() {
|
||||
return this.data.items.filter( item => item.type == 'eglise');
|
||||
return duplicate( this.data.items.filter( item => item.type == 'eglise')|| [] );
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getSorts() {
|
||||
return this.data.items.filter( item => item.type == 'sort');
|
||||
return duplicate( this.data.items.filter( item => item.type == 'sort')|| [] );
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getAttributs() {
|
||||
return this.data.items.filter( item => item.type == 'attribut');
|
||||
return duplicate( this.data.items.filter( item => item.type == 'attribut')|| [] );
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getTechniques() {
|
||||
return this.data.items.filter( item => item.type == 'technique');
|
||||
return duplicate( this.data.items.filter( item => item.type == 'technique') || [] );
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getDevotions() {
|
||||
return this.data.items.filter( item => item.type == 'devotion');
|
||||
return duplicate(this.data.items.filter( item => item.type == 'devotion')|| [] );
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getEquipements() {
|
||||
return this.data.items.filter( item => item.type == 'equipement' );
|
||||
return duplicate(this.data.items.filter( item => item.type == 'equipement' ) || [] );
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getArmes() {
|
||||
return this.data.items.filter( item => item.type == 'armecc' || item.type == 'tir' );
|
||||
return duplicate(this.data.items.filter( item => item.type == 'armecc' || item.type == 'tir' ) || [] );
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getArmures() {
|
||||
return this.data.items.filter( item => item.type == 'armurebouclier' );
|
||||
return duplicate(this.data.items.filter( item => item.type == 'armurebouclier' ) || [] );
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getMonnaies() {
|
||||
return this.data.items.filter( item => item.type == 'monnaie' );
|
||||
return duplicate(this.data.items.filter( item => item.type == 'monnaie' ) || [] );
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@@ -95,16 +95,16 @@ export class VadentisActor extends Actor {
|
||||
let competence = this.data.items.find( item => item.type == 'competence' && item.name == name);
|
||||
if (competence) {
|
||||
let dataPath = 'data.'+field;
|
||||
await this.updateOwnedItem( { _id: competence._id, [dataPath]:value });
|
||||
await this.updateEmbeddedDocuments( "Item", [{ _id: competence.id, [dataPath]:value }] );
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async equiperObject( equipementId ) {
|
||||
let item = this.getOwnedItem(equipementId);
|
||||
if (item && item.data.data) {
|
||||
let update = { _id: item._id, "data.equipee": !item.data.data.equipee };
|
||||
await this.updateEmbeddedEntity("OwnedItem", update);
|
||||
let item = this.items.get(equipementId)
|
||||
if (item) {
|
||||
let update = { _id: item.id, "data.equipee": !item.data.data.equipee };
|
||||
await this.updateEmbeddedDocuments("Item", [ update ] );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -289,31 +289,34 @@ export class VadentisActor extends Actor {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async rollSort( sortId ) {
|
||||
let sort = this.data.items.find( item => item.type == 'sort' && item._id == sortId );
|
||||
let sort = this.data.items.get( sortId );
|
||||
if ( sort ) {
|
||||
sort = duplicate(sort)
|
||||
this.processSortDevotion( "sort", sort);
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async rollDevotion( devotionId ) {
|
||||
let devotion = this.data.items.find( item => item.type == 'devotion' && item._id == devotionId );
|
||||
let devotion = this.data.items.get( devotionId );
|
||||
if ( devotion ) {
|
||||
devotion = duplicate(devotion)
|
||||
this.processSortDevotion( "devotion", devotion);
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
rollSortOuDevotion( sortId ) {
|
||||
let sort = this.data.items.find( item => item._id == sortId );
|
||||
let sort = this.data.items.get( sortId );
|
||||
this.processSortDevotion( sort.type, sort);
|
||||
}
|
||||
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async rollTechnique( techniqueId ) {
|
||||
let technique = this.data.items.find( item => item.type == 'technique' && item._id == techniqueId );
|
||||
let technique = this.data.items.get( techniqueId )
|
||||
if (technique) {
|
||||
technique = duplicate(technique)
|
||||
let msgData = {
|
||||
alias: this.name,
|
||||
img: technique.img,
|
||||
@@ -338,8 +341,10 @@ export class VadentisActor extends Actor {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async rollCompetence( competenceId ) {
|
||||
let competence = this.data.items.find( item => item.type == 'competence' && item._id == competenceId);
|
||||
console.log(competenceId)
|
||||
let competence = this.data.items.get( competenceId);
|
||||
if ( competence) {
|
||||
competence = duplicate(competence)
|
||||
let msgData = {
|
||||
alias: this.name,
|
||||
img: competence.img,
|
||||
@@ -351,12 +356,13 @@ export class VadentisActor extends Actor {
|
||||
let formulaFull = this.buildTexteFormula( competence.data );
|
||||
let myRoll = await VadentisUtility.processRoll("1d20+"+statValue, msgData.rollMode );
|
||||
msgData.msg = `${formulaFull} => <strong>${myRoll.total}</strong>`;
|
||||
|
||||
if (myRoll.results[0] == 1 ) { // Critique ?
|
||||
console.log(formulaFull, myRoll)
|
||||
|
||||
if (myRoll.dice[0].results[0].result == 1 ) { // Critique ?
|
||||
msgData.img = 'systems/foundryvtt-vadentis/images/icons/tchat_échec_critique.webp';
|
||||
msgData.msg += `<br>C'est un <strong>échec critique</strong> !`;
|
||||
}
|
||||
if (myRoll.results[0] == 20 ) { // Critique ?
|
||||
if (myRoll.dice[0].results[0].result == 20 ) { // Critique ?
|
||||
msgData.img = 'systems/foundryvtt-vadentis/images/icons/tchat_réussite_critique.webp';
|
||||
msgData.msg += `<br>C'est une <strong>réussite critique</strong> !`;
|
||||
}
|
||||
@@ -378,8 +384,7 @@ export class VadentisActor extends Actor {
|
||||
async genericRoll( stat, key ) {
|
||||
let statValue = this._getCombatValue( stat );
|
||||
let formulaFull = this.buildTexteFormula( stat );
|
||||
|
||||
|
||||
|
||||
let myRoll = await VadentisUtility.processRoll("1d20+"+statValue );
|
||||
let msgData = {
|
||||
alias: this.name,
|
||||
@@ -419,17 +424,19 @@ export class VadentisActor extends Actor {
|
||||
async incrementeArgent( arme ) {
|
||||
let monnaie = this.data.items.find( item => item.type == 'monnaie' && item.name == arme.name);
|
||||
if (monnaie) {
|
||||
monnaie = duplicate(monnaie)
|
||||
let newValeur = monnaie.data.nombre + 1;
|
||||
await this.updateOwnedItem( { _id: monnaie._id, 'data.nombre': newValeur } );
|
||||
await this.updateEmbeddedDocuments( 'Item', [{ _id: monnaie._id, 'data.nombre': newValeur }] );
|
||||
}
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
async decrementeArgent( arme ) {
|
||||
let monnaie = this.data.items.find( item => item.type == 'monnaie' && item.name == arme.name);
|
||||
if (monnaie) {
|
||||
monnaie = duplicate(monnaie)
|
||||
let newValeur = monnaie.data.nombre - 1;
|
||||
newValeur = (newValeur <= 0) ? 0 : newValeur;
|
||||
await this.updateOwnedItem( { _id: monnaie._id, 'data.nombre': newValeur } );
|
||||
await this.updateEmbeddedDocuments( "Item", [{ _id: monnaie._id, 'data.nombre': newValeur }] );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -437,17 +444,19 @@ export class VadentisActor extends Actor {
|
||||
async incrementeMunition( arme ) {
|
||||
let armeTir = this.data.items.find( item => item.type == 'tir' && item.name == arme.name);
|
||||
if (armeTir) {
|
||||
armeTir = duplicate(armeTir)
|
||||
let newMunition = armeTir.data.munition + 1;
|
||||
await this.updateOwnedItem( { _id: armeTir._id, 'data.munition': newMunition } );
|
||||
await this.updateEmbeddedDocuments( "Item", [{ _id: armeTir._id, 'data.munition': newMunition }] );
|
||||
}
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
async decrementeMunition( arme ) {
|
||||
let armeTir = this.data.items.find( item => item.type == 'tir' && item.name == arme.name);
|
||||
if (armeTir) {
|
||||
armeTir = duplicate(armeTir)
|
||||
let newMunition = armeTir.data.munition - 1;
|
||||
newMunition = (newMunition <= 0) ? 0 : newMunition;
|
||||
await this.updateOwnedItem( { _id: armeTir._id, 'data.munition': newMunition } );
|
||||
await this.updateEmbeddedDocuments( "Item", [{ _id: armeTir._id, 'data.munition': newMunition } ]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -455,8 +464,9 @@ export class VadentisActor extends Actor {
|
||||
async incrementeQuantite( objet ) {
|
||||
let objetQ = this.data.items.find( item => item._id == objet._id );
|
||||
if (objetQ) {
|
||||
objetQ = duplicate(objetQ)
|
||||
let newQ = objetQ.data.quantite + 1;
|
||||
await this.updateOwnedItem( { _id: objetQ._id, 'data.quantite': newQ } );
|
||||
await this.updateEmbeddedDocuments( "Item", [{ _id: objetQ._id, 'data.quantite': newQ } ] );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -464,9 +474,10 @@ export class VadentisActor extends Actor {
|
||||
async decrementeQuantite( objet ) {
|
||||
let objetQ = this.data.items.find( item => item._id == objet._id );
|
||||
if (objetQ) {
|
||||
objetQ = duplicate(objetQ)
|
||||
let newQ = objetQ.data.quantite - 1;
|
||||
newQ = (newQ <= 0) ? 0 : newQ;
|
||||
await this.updateOwnedItem( { _id: objetQ._id, 'data.quantite': newQ } );
|
||||
await this.updateEmbeddedDocuments( "Item", [{ _id: objetQ._id, 'data.quantite': newQ } ]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -477,6 +488,7 @@ export class VadentisActor extends Actor {
|
||||
if ( target ) {
|
||||
let arme = this.data.items.find( item => (item.type == 'armecc' || item.type == 'tir') && item._id == armeId);
|
||||
if (arme) {
|
||||
arme = duplicate(arme)
|
||||
if ( arme.type == 'tir' && arme.data.munition <= 0 ) {
|
||||
ui.notifications.warn("Vous n'avez plus de munitions avec cette arme.");
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user