Table de rencontre sur une TMR
Au lieu de passer le type de TMR, passer la TMR {type, coordonnées} Ce qui permettra de créer une rencontre avec les coordonnées si disponible
This commit is contained in:
parent
dc07b60acf
commit
2106e6ebef
@ -552,7 +552,7 @@ export class RdDTMRDialog extends Dialog {
|
|||||||
let rencontre = TMRUtility.utiliseForceRencontre() ??
|
let rencontre = TMRUtility.utiliseForceRencontre() ??
|
||||||
(isMauvaise
|
(isMauvaise
|
||||||
? await TMRRencontres.getMauvaiseRencontre()
|
? await TMRRencontres.getMauvaiseRencontre()
|
||||||
: await TMRRencontres.getRencontreAleatoire(tmr.type));
|
: await TMRRencontres.getRencontreAleatoire(tmr));
|
||||||
rencontre.coord = tmr.coord;
|
rencontre.coord = tmr.coord;
|
||||||
rencontre.date = game.system.rdd.calendrier.getDateFromIndex();
|
rencontre.date = game.system.rdd.calendrier.getDateFromIndex();
|
||||||
rencontre.heure = game.system.rdd.calendrier.getCurrentHeure();
|
rencontre.heure = game.system.rdd.calendrier.getCurrentHeure();
|
||||||
|
@ -331,13 +331,21 @@ export class TMRRencontres {
|
|||||||
*/
|
*/
|
||||||
static async rollRencontre(terrain, roll = undefined) {
|
static async rollRencontre(terrain, roll = undefined) {
|
||||||
if (!terrain) {
|
if (!terrain) {
|
||||||
ChatMessage.create({ content: "Un type de case doit être indiqué (par exemple sanctuaire, desert ou cité)" });
|
ChatMessage.create({
|
||||||
|
user: game.user.id,
|
||||||
|
whisper: [game.user.id],
|
||||||
|
content: "Un type de case doit être indiqué (par exemple sanctuaire, desert ou cité)"
|
||||||
|
});
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
TMRRencontres.selectRencontre(terrain);
|
||||||
|
const codeTerrain = Grammar.toLowerCaseNoAccent(terrain);
|
||||||
|
|
||||||
if (!roll || roll <= 0 || roll > 100) {
|
if (!roll || roll <= 0 || roll > 100) {
|
||||||
roll = await RdDDice.rollTotal("1d100");
|
roll = await RdDDice.rollTotal("1d100");
|
||||||
}
|
}
|
||||||
let rencontre = await TMRRencontres.getRencontreAleatoire(terrain, roll);
|
|
||||||
|
let rencontre = await TMRRencontres.getRencontreAleatoire({type: codeTerrain, coord:''}, roll);
|
||||||
ChatMessage.create({
|
ChatMessage.create({
|
||||||
user: game.user.id,
|
user: game.user.id,
|
||||||
whisper: [game.user.id],
|
whisper: [game.user.id],
|
||||||
@ -365,12 +373,12 @@ export class TMRRencontres {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static async getRencontreAleatoire(terrain, roll = undefined) {
|
static async getRencontreAleatoire(tmr, roll = undefined) {
|
||||||
if (!roll || roll <= 0 || roll > 100) {
|
if (!roll || roll <= 0 || roll > 100) {
|
||||||
roll = await RdDDice.rollTotal("1d100");
|
roll = await RdDDice.rollTotal("1d100");
|
||||||
}
|
}
|
||||||
terrain = Grammar.toLowerCaseNoAccent(terrain);
|
const codeTerrain = Grammar.toLowerCaseNoAccent(tmr.type);
|
||||||
const code = tableRencontres[terrain].find(it => it.range[0] <= roll && roll <= it.range[1]).code;
|
const code = tableRencontres[codeTerrain].find(it => it.range[0] <= roll && roll <= it.range[1]).code;
|
||||||
const rencontre = duplicate(rencontresStandard.find(it => it.code == code));
|
const rencontre = duplicate(rencontresStandard.find(it => it.code == code));
|
||||||
rencontre.roll = roll;
|
rencontre.roll = roll;
|
||||||
await TMRRencontres.evaluerForceRencontre(rencontre);
|
await TMRRencontres.evaluerForceRencontre(rencontre);
|
||||||
@ -390,7 +398,7 @@ export class TMRRencontres {
|
|||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static async evaluerForceRencontre(rencontre) {
|
static async evaluerForceRencontre(rencontre) {
|
||||||
const rollForce = new Roll(rencontre.force);
|
const rollForce = new Roll(rencontre.force);
|
||||||
await rollForce.evaluate();
|
await rollForce.evaluate({ async: true });
|
||||||
rencontre.force = rollForce.total;
|
rencontre.force = rollForce.total;
|
||||||
return rencontre.force;
|
return rencontre.force;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user