roll dialog box

This commit is contained in:
François-Xavier Guillois
2023-08-29 17:19:11 +02:00
parent 9f760deee0
commit ef111392c2
7 changed files with 93 additions and 53 deletions
+12
View File
@@ -218,14 +218,26 @@ export class VermineCharacterSheet extends VermineActorSheet {
// Handle rolls that supply the formula directly.
if (dataset.label) {
dataset.rollType = dataset.type;
/*const label = game.i18n.localize(dataset.label) ? `[ability] ${game.i18n.localize(dataset.label)}` : '';
console.log($(element).attr('for'));
const NoD = this.actor.system.skills[$(element).attr('for').split('.')[2]]?.value || 0
return game.vermine2047.VermineRoll.roll(this.actor.id, label, NoD, 0, {});*/
let data = {
actorId: this.actor.id,
abilities: this.actor.system.abilities,
skills: this.actor.system.skills,
rollType: dataset.rollType,
labelKey: dataset.label,
abilityScore: 0,
skillScore: 0,
label: game.i18n.localize(dataset.label)
};
if (dataset.type == 'ability'){
data.abilityScore = this.actor.system.abilities[dataset.label].value;
} else if (dataset.type == 'skill'){
data.skillScore = this.actor.system.skills[dataset.label].value;
}
getRollBox(data);
return true;
}
-14
View File
@@ -22,20 +22,6 @@ VERMINE.DifficultyLevels = {
5:{ "label":"DIFFICULTY_LEVELS.impossible", "difficulty":10}
},
VERMINE.Instincts = {
1:{ "key":"architect"},
2:{ "key":"sword"},
3:{ "key":"flail"},
4:{ "key":"man"},
5:{ "key":"keeper"},
6:{ "key":"hand"},
7:{ "key":"mask"},
8:{ "key":"void"},
9:{ "key":"bone"},
0:{ "key":"traveller"}
}
VERMINE.abilityCategories = {
"physical": {
"label":"VERMINE.ability_category.physical"
+19 -10
View File
@@ -58,6 +58,7 @@
// difficulty
data.difficulty = (formData.difficulty != undefined) ? formData.difficulty : 7;
// maîtrise bonus
// TODO : utiliser la configuration des niveaux de compétences plutôt
if (formData.skill > 0 && formData.skill < 3){
NoD += 1;
} else if (formData.skill > 2 && formData.skill < 5){
@@ -95,17 +96,25 @@
label: game.i18n.localize('Close'),
callback: () => { }
}
},
},
render: function (h) {
h.find("#skills-radio input").change(function () {
let s = $(this).attr("data-skill");
h.find(".trait-list .hidden").removeClass("show");
let f = h.find(".trait-list ." + s);
f.addClass("show");
if (f.length == 0) {
h.find(".use-trait input").attr("disabled", "disabled").prop("checked", false);
} else
h.find(".use-trait input").attr("disabled", null);
h.find('select[name="skill"]').change((event) => {
if (data.rollType == 'skill' && event.target.value != undefined){
const skillScore = data.skills[event.target.value].value;
// on enregistre la valeur de la compétence
h.find('input[name="skillScore"]').val(skillScore);
// on met à jour les infos de niveaux de compétence
const skillLevel = CONFIG.VERMINE.SkillLevels[skillScore];
if (skillLevel != undefined){
h.find('#skillLevel').text(game.i18n.localize(skillLevel.label));
h.find('#skillDicePool').text(skillLevel.dicePool);
h.find('#skillReroll').text(skillLevel.reroll);
} else {
h.find('#skillLevel').text('Inconnu');
h.find('#skillDicePool').text(0);
h.find('#skillReroll').text(0);
}
}
});
}
});
+6 -2
View File
@@ -50,8 +50,12 @@ export const registerHandlebarsHelpers = function () {
Handlebars.registerHelper('skillLevel', function (property, level, options) {
if (level < 1 || level > 5)
return "";
let levelData = CONFIG.VERMINE.SkillLevels[level];
return (levelData !== undefined) ? levelData[property] : "";
let levelData = CONFIG.VERMINE.SkillLevels[level];
if (property == 'label'){
return (levelData !== undefined) ? game.i18n.localize(levelData[property]) : "";
} else {
return (levelData !== undefined) ? levelData[property] : "";
}
});
// return diff level information