First roll
This commit is contained in:
@ -29,7 +29,8 @@ export class VadentisActorSheet extends ActorSheet {
|
||||
data.combat = this.actor.combat;
|
||||
data.magie = this.actor.magie;
|
||||
data.editScore = this.options.editScore;
|
||||
console.log("Edit : ", data.editScore);
|
||||
data.donnees = this.actor.getDonnees();
|
||||
data.competences = this.actor.getCompetences();
|
||||
data.isGM = game.user.isGM;
|
||||
|
||||
return data;
|
||||
@ -63,27 +64,34 @@ export class VadentisActorSheet extends ActorSheet {
|
||||
// Delete Inventory Item
|
||||
html.find('.item-delete').click(ev => {
|
||||
const li = $(ev.currentTarget).parents(".item");
|
||||
SoSUtility.confirmDelete(this, li);
|
||||
VadentisUtility.confirmDelete(this, li);
|
||||
});
|
||||
|
||||
html.find('.stat-label a').click((event) => {
|
||||
let statName = event.currentTarget.attributes.name.value;
|
||||
this.actor.rollStat(statName);
|
||||
html.find('.combat-label a').click((event) => {
|
||||
let combatName = event.currentTarget.attributes.name.value;
|
||||
this.actor.rollCombat(combatName);
|
||||
});
|
||||
html.find('.skill-label a').click((event) => {
|
||||
html.find('.competence-label a').click((event) => {
|
||||
const li = $(event.currentTarget).parents(".item");
|
||||
const skill = this.actor.getOwnedItem(li.data("item-id"));
|
||||
this.actor.rollSkill(skill);
|
||||
const competenceId = li.data("item-id");
|
||||
this.actor.rollCompetence(competenceId);
|
||||
});
|
||||
html.find('.weapon-label a').click((event) => {
|
||||
const li = $(event.currentTarget).parents(".item");
|
||||
const weapon = this.actor.getOwnedItem(li.data("item-id"));
|
||||
this.actor.rollWeapon(weapon);
|
||||
});
|
||||
html.find('.skill-value').change((event) => {
|
||||
html.find('.competence-base').change((event) => {
|
||||
let skillName = event.currentTarget.attributes.skillname.value;
|
||||
//console.log("Competence changed :", skillName);
|
||||
this.actor.updateSkill(skillName, parseInt(event.target.value));
|
||||
this.actor.updateCompetence(skillName, "base", parseInt(event.target.value));
|
||||
});
|
||||
html.find('.competence-bonus').change((event) => {
|
||||
let skillName = event.currentTarget.attributes.skillname.value;
|
||||
this.actor.updateCompetence(skillName, "bonus", parseInt(event.target.value));
|
||||
});
|
||||
html.find('.competence-malus').change((event) => {
|
||||
let skillName = event.currentTarget.attributes.skillname.value;
|
||||
this.actor.updateCompetence(skillName, "malus", parseInt(event.target.value));
|
||||
});
|
||||
html.find('.skill-xp').change((event) => {
|
||||
let skillName = event.currentTarget.attributes.skillname.value;
|
||||
|
@ -45,8 +45,49 @@ export class VadentisActor extends Actor {
|
||||
/* -------------------------------------------- */
|
||||
async prepareData() {
|
||||
super.prepareData();
|
||||
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getCompetences() {
|
||||
return this.data.items.filter( item => item.type == 'competence');
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getDonnees() {
|
||||
return this.data.items.filter( item => item.type == 'donnee');
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async updateCompetence( name, field, value) {
|
||||
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 });
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
rollCompetence( competenceId ) {
|
||||
console.log("HERE !!!!", competenceId);
|
||||
let competence = this.data.items.find( item => item.type == 'competence' && item._id == competenceId);
|
||||
if ( competence) {
|
||||
let statValue = competence.data.base + competence.data.malus + competence.data.bonus;
|
||||
let formulaFull = `1d20+${competence.data.base}+${competence.data.malus}+${competence.data.bonus}`;
|
||||
let myRoll = new Roll("1d20+"+statValue);
|
||||
myRoll.evaluate();
|
||||
myRoll.toMessage( { flavor: `Jet de compétence : ${competence.name} (${formulaFull})` } );
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
rollCombat( combatName ) {
|
||||
let stat = this.data.data.combat[combatName];
|
||||
let statValue = stat.base + stat.malus + stat.bonus;
|
||||
let formulaFull = `1d20+${stat.base}+${stat.malus}+${stat.bonus}`;
|
||||
let myRoll = new Roll("1d20+"+statValue);
|
||||
myRoll.evaluate();
|
||||
myRoll.toMessage( { flavor: `Jet de ${stat.label} (${formulaFull})` } );
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -61,4 +61,33 @@ export class VadentisUtility extends Entity {
|
||||
return list;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static async confirmDelete(actorSheet, li) {
|
||||
let itemId = li.data("item-id");
|
||||
let objet = actorSheet.actor.items.find(item => item._id == itemId);
|
||||
let msgTxt = "<p>Etes vous certain de souhaiter supprimer cet item ?";
|
||||
let buttons = {
|
||||
delete: {
|
||||
icon: '<i class="fas fa-check"></i>',
|
||||
label: "Oui, à supprimer",
|
||||
callback: () => {
|
||||
actorSheet.actor.deleteOwnedItem(itemId);
|
||||
li.slideUp(200, () => actorSheet.render(false));
|
||||
}
|
||||
},
|
||||
cancel: {
|
||||
icon: '<i class="fas fa-times"></i>',
|
||||
label: "Annuler"
|
||||
}
|
||||
}
|
||||
msgTxt += "</p>";
|
||||
let d = new Dialog({
|
||||
title: "Confirmer la suppression",
|
||||
content: msgTxt,
|
||||
buttons: buttons,
|
||||
default: "cancel"
|
||||
});
|
||||
d.render(true);
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user