#92 Armes à 2 mains gérées dans le HUD

This commit is contained in:
2021-01-01 23:20:27 +01:00
parent dc57058465
commit 65d5b1c45e
4 changed files with 18 additions and 3 deletions

View File

@ -443,21 +443,30 @@ export class RdDUtility {
let comp = competenceList.find(c => c.name == arme.data.competence);
arme.data.initiative = RdDUtility.calculInitiative(arme.data.niveau, carac[comp.data.defaut_carac].value);
// Dupliquer les armes pouvant être à 1 main et 2 mains en patchant la compétence
if (arme.data.unemain && arme.data.deuxmains) {
if (arme.data.unemain && !arme.data.deuxmains ) {
arme.data.mainInfo = "(1m)";
} else if ( !arme.data.unemain && arme.data.deuxmains ) {
arme.data.mainInfo = "(2m)";
} else if (arme.data.unemain && arme.data.deuxmains) {
arme.data.mainInfo = "(1m)";
let arme2main = duplicate(arme);
arme2main.data.mainInfo = "(2m)";
arme2main.data.dommages = arme2main.data.dommages.split("/")[1]; // Existence temporaire uniquement dans la liste des armes, donc OK
arme2main.data.competence = arme2main.data.competence.replace(" 1 main", " 2 mains"); // Replace !
let comp = competenceList.find(c => c.name == arme2main.data.competence);
arme2main.data.niveau = comp.data.niveau;
arme2main.data.initiative = RdDUtility.calculInitiative(arme2main.data.niveau, carac[comp.data.defaut_carac].value);
arme2mains.push(arme2main);
} else {
}
}
armeList = armeList.concat(arme2mains); // Merge all cases
armeList = armeList.sort((a, b) => { if ( a.name > b.name) return 1; else return -1; } );
return armeList
}
/* -------------------------------------------- */
static calculInitiative(niveau, caracValue) {
let base = niveau + Math.floor(caracValue/2);
return "1d6" + (base >= 0 ? "+" : "") + base;
@ -816,6 +825,7 @@ export class RdDUtility {
// Recupération des items 'arme'
let itemsByType = RdDUtility.buildItemsClassification( combatant.actor.data.items );
armesList = itemsByType['arme'];
armesList = this.finalizeArmeList( armesList, itemsByType['competence'], actor.data.data.carac );
// Force corps à corps et Draconic
let cc = RdDUtility.findCompetence( combatant.actor.data.items, "Corps à corps");
armesList.push( { name: "Corps à corps", data: { niveau: cc.data.niveau, description: "", force: 6, competence: "Corps à corps", dommages: combatant.actor.data.data.attributs.plusdom.value } } );