Ajout de la commande /voyage et grosse MAJK de la commande /auberge
This commit is contained in:
44
scripts/Fu8DTvSgLufcB5mr.js
Normal file
44
scripts/Fu8DTvSgLufcB5mr.js
Normal file
@@ -0,0 +1,44 @@
|
||||
async function rollTable(characteristics, formula, name) {
|
||||
const roll = new Roll(formula);
|
||||
await roll.toMessage({flavor: name});
|
||||
|
||||
const values = roll.dice[0].values;
|
||||
|
||||
for (const value of values) {
|
||||
let characteristic;
|
||||
switch (value) {
|
||||
case 1: case 2: characteristic = "ws"; break;
|
||||
case 3: case 4: characteristic = "i"; break;
|
||||
case 5: case 6: characteristic = "int"; break;
|
||||
case 7: case 8: characteristic = "fel"; break;
|
||||
case 9: case 10: characteristic = "*"; break;
|
||||
default: continue;
|
||||
}
|
||||
|
||||
if (characteristics.has(characteristic)) {
|
||||
await rollTable(characteristics, "1d10", name);
|
||||
} else {
|
||||
characteristics.add(characteristic);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const characteristics = new Set();
|
||||
await rollTable(characteristics, "2d10", this.effet.name)
|
||||
|
||||
if (characteristics.has("*")) {
|
||||
characteristics.delete("*");
|
||||
const availableChoices = foundry.utils.duplicate(game.wfrp4e.config.characteristics);
|
||||
|
||||
for (const ch of characteristics) delete availableChoices[ch];
|
||||
|
||||
const result = warhammer.apps.ValueDialog.create({
|
||||
text: "Choisissez une caractéristique",
|
||||
}, "", availableChoices);
|
||||
|
||||
if (!result) return;
|
||||
|
||||
characteristics.add(result);
|
||||
}
|
||||
|
||||
this.effet.setFlag("wfrp4e", "characteristicsToSwap", Array.from(characteristics));
|
||||
Reference in New Issue
Block a user