Gestion armures

This commit is contained in:
2020-06-23 23:34:12 +02:00
parent 30a9f08f73
commit d24be22c5e
14 changed files with 101 additions and 22 deletions

View File

@ -65,6 +65,9 @@ export class RdDActorSheet extends ActorSheet {
arme.data.niveau = melee.data.niveau
}
}
// To avoid armour and so on...
data.data.armes_seules = duplicate( this._checkNull(data.itemsByType['arme']));
if (data.competenceByCategory && data.competenceByCategory.melee) {
//Specific case for Esquive and Corps à Corps
@ -88,9 +91,9 @@ export class RdDActorSheet extends ActorSheet {
data.data.armures = this._checkNull(data.itemsByType['armure']);
data.data.livres = this._checkNull(data.itemsByType['livre']);
data.data.potions = this._checkNull(data.itemsByType['potions']);
data.data.herbes = this._checkNull(data.itemsByType['potions']);
data.data.herbes = this._checkNull(data.itemsByType['herbes']);
data.data.competenceByCategory = data.competenceByCategory;
data.data.armes = data.itemsByType.arme;
//data.data.armes = data.itemsByType.arme;
//console.log(">>>>> data update");
return data;
@ -119,6 +122,13 @@ export class RdDActorSheet extends ActorSheet {
li.slideUp(200, () => this.render(false));
});
// Equip Inventory Item
html.find('.item-equip').click(ev => {
const li = $(ev.currentTarget).parents(".item");
this.actor.equiperObjet(li.data("itemId"));
this.render(true);
});
// Roll Carac
html.find('.carac-label a').click((event) => {
let caracName = event.currentTarget.attributes.name.value;
@ -138,45 +148,45 @@ export class RdDActorSheet extends ActorSheet {
});
// On carac change
$(".carac-value").change((event) => {
html.find('.carac-value').change((event) => {
let caracName = event.currentTarget.name.replace(".value", "").replace("data.carac.", "");
//console.log("Value changed :", event, caracName);
this.actor.updateCarac( caracName, parseInt(event.target.value) );
} );
// On competence change
$(".competence-value").change((event) => {
html.find('.competence-value').change((event) => {
let compName = event.currentTarget.attributes.compname.value;
//console.log("Competence changed :", compName);
this.actor.updateCompetence( compName, parseInt(event.target.value) );
} );
// On competence change
$(".competence-xp").change((event) => {
html.find('.competence-xp').change((event) => {
let compName = event.currentTarget.attributes.compname.value;
this.actor.updateCompetenceXP( compName, parseInt(event.target.value) );
} );
$("#vie-plus").click((event) => {
html.find('#vie-plus').click((event) => {
this.actor.santeIncDec("vie", 1);
this.render(true);
});
$("#vie-moins").click((event) => {
html.find('#vie-moins').click((event) => {
this.actor.santeIncDec("vie", -1);
this.render(true);
});
$("#endurance-plus").click((event) => {
html.find('#endurance-plus').click((event) => {
this.actor.santeIncDec("endurance", 1);
this.render(true);
});
$("#endurance-moins").click((event) => {
html.find('#endurance-moins').click((event) => {
this.actor.santeIncDec("endurance", -1);
this.render(true);
});
$("#fatigue-plus").click((event) => {
html.find('#fatigue-plus').click((event) => {
this.actor.santeIncDec("fatigue", 1);
this.render(true);
});
$("#fatigue-moins").click((event) => {
html.find('#fatigue-moins').click((event) => {
this.actor.santeIncDec("fatigue", -1);
this.render(true);
});

View File

@ -394,11 +394,25 @@ export class RdDActor extends Actor {
}
}
/* -------------------------------------------- */
equiperObjet( itemID )
{
let item = this.getOwnedItem(itemID);
if ( item && item.data.data )
item.data.data.equipe = !item.data.data.equipe;
}
/* -------------------------------------------- */
computeArmure( locData )
{
/* TODO */
return 0;
let protection = 0;
for (const item of this.data.items) {
if (item.type == "armure" && item.data.equipe) {
protection += item.data.protection;
}
}
console.log("Final protect", protection);
return protection;
}
/* -------------------------------------------- */

View File

@ -93,12 +93,12 @@ export class RdDRollDialog extends Dialog {
});
// Update !
$('#bonusmalus').click((event) => {
html.find('#bonusmalus').click((event) => {
rollData.bmValue = event.currentTarget.value; // Update the selected bonus/malus
//console.log("BM CLICKED !!!", rollData.bmValue, rollData.competence.data.niveau, parseInt(rollData.competence.data.niveau) + parseInt(rollData.bmValue) );
updateRollResult(rollData);
});
$('#carac').click((event) => {
html.find('#carac').click((event) => {
let caracKey = event.currentTarget.value;
rollData.selectedCarac = rollData.carac[caracKey]; // Update the selectedCarac
//console.log("CARAC CLICKED !!!", rollData.selectedCarac, rollData.competence.data.niveau, rollData.bmValue);

View File

@ -77,6 +77,7 @@ export class RdDUtility {
//Items
'systems/foundryvtt-reve-de-dragon/templates/item-competence-sheet.html',
'systems/foundryvtt-reve-de-dragon/templates/item-arme-sheet.html',
'systems/foundryvtt-reve-de-dragon/templates/item-armure-sheet.html',
'systems/foundryvtt-reve-de-dragon/templates/competence-categorie.html',
'systems/foundryvtt-reve-de-dragon/templates/competence-carac-defaut.html',
'systems/foundryvtt-reve-de-dragon/templates/competence-base.html',