Fix for v12

This commit is contained in:
LeRatierBretonnien 2024-05-31 21:48:19 +02:00
parent db2ca2453e
commit e19577eab2
14 changed files with 51 additions and 35 deletions

4
icons/heures/.directory Normal file
View File

@ -0,0 +1,4 @@
[Dolphin]
Timestamp=2024,5,29,20,57,41.954
Version=4
VisibleRoles=Details_text,Details_size,Details_modificationtime,Details_creationtime,CustomizedDetails

View File

@ -902,7 +902,7 @@ export class RdDActor extends RdDBaseActorSang {
async ajouterRefoulement(value = 1, refouler) { async ajouterRefoulement(value = 1, refouler) {
let refoulement = this.system.reve.refoulement.value + value; let refoulement = this.system.reve.refoulement.value + value;
const roll = new Roll("1d20"); const roll = new Roll("1d20");
await roll.evaluate({ async: true }); await roll.evaluate();
await roll.toMessage({ flavor: `${this.name} refoule ${refouler} pour ${value} points de refoulement (total: ${refoulement})` }); await roll.toMessage({ flavor: `${this.name} refoule ${refouler} pour ${value} points de refoulement (total: ${refoulement})` });
if (roll.total <= refoulement) { if (roll.total <= refoulement) {
refoulement = 0; refoulement = 0;

View File

@ -117,8 +117,8 @@ export class RdDCoeur {
} }
ChatUtility.removeChatMessageId(infoCoeur.chatMessageId) ChatUtility.removeChatMessageId(infoCoeur.chatMessageId)
infoCoeur.target.jetTendre = (await (new Roll('1d6').evaluate({ async: true }))).total infoCoeur.target.jetTendre = (await (new Roll('1d6').evaluate())).total
infoCoeur.source.jetTendre = (await (new Roll('1d6').evaluate({ async: true }))).total infoCoeur.source.jetTendre = (await (new Roll('1d6').evaluate())).total
const diff = Math.abs(infoCoeur.source.jetTendre - infoCoeur.target.jetTendre) const diff = Math.abs(infoCoeur.source.jetTendre - infoCoeur.target.jetTendre)
for (let amoureux of [infoCoeur.source, infoCoeur.target]) { for (let amoureux of [infoCoeur.source, infoCoeur.target]) {
const actorAmoureux = game.actors.get(amoureux.actor.id); const actorAmoureux = game.actors.get(amoureux.actor.id);

View File

@ -29,5 +29,25 @@ export const RDD_CONFIG = {
"incarne": "Incarnée", "incarne": "Incarnée",
"nonincarne": "Non Incarnée", "nonincarne": "Non Incarnée",
"blurette": "Blurette" "blurette": "Blurette"
} },
heuresRdD : [
{value : "vaisseau", label: "Vaisseau", img: "modules/foundryvtt-reve-de-dragon/icons/heures/hd01.webp"},
{value : "sirene", label: "Sirène", img: "modules/foundryvtt-reve-de-dragon/icons/heures/hd02.webp"},
{value : "faucon", label: "Faucon", img: "modules/foundryvtt-reve-de-dragon/icons/heures/hd03.webp"},
{value : "couronne", label: "Couronne", img: "modules/foundryvtt-reve-de-dragon/icons/heures/hd04.webp"},
{value : "dragon", label: "Dragon", img: "modules/foundryvtt-reve-de-dragon/icons/heures/hd05.webp"},
{value : "epees", label: "Epées", img: "modules/foundryvtt-reve-de-dragon/icons/heures/hd06.webp"},
{value : "lyre", label: "Lyre", img: "modules/foundryvtt-reve-de-dragon/icons/heures/hd07.webp"},
{value : "serpent", label: "Serpent", img: "modules/foundryvtt-reve-de-dragon/icons/heures/hd08.webp"},
{value : "poissonacrobate", label: "Poisson Acrobate", img: "modules/foundryvtt-reve-de-dragon/icons/heures/hd09.webp"},
{value : "araignee", label: "Araignée", img: "modules/foundryvtt-reve-de-dragon/icons/heures/hd10.webp"},
{value : "roseau", label: "Roseau", img: "modules/foundryvtt-reve-de-dragon/icons/heures/hd11.webp"},
{value : "chateaudormant", label: "Chateau Dormant", img: "modules/foundryvtt-reve-de-dragon/icons/heures/hd12.webp"}
],
raretes: [
{value: "Commune", label: "Commune"},
{value: "Frequente", label: "Fréquente"},
{value: "Rare", label: "Rare"},
{value: "Rarissime", label: "Rarissime"}
]
} }

View File

@ -48,7 +48,7 @@ export class RdDItemBlessure extends RdDItem {
let lostEndurance = 0 let lostEndurance = 0
let lostVie = 0 let lostVie = 0
if (definition.endurance) { if (definition.endurance) {
lostEndurance = new Roll(definition.endurance).roll({async: false}).total; lostEndurance = await new Roll(definition.endurance).roll().total;
actor.santeIncDec("endurance", -Number(lostEndurance)); actor.santeIncDec("endurance", -Number(lostEndurance));
} }
if (definition.vie) { if (definition.vie) {

View File

@ -119,7 +119,7 @@ export class RdDCombatManager extends Combat {
//console.log("Combatat", c); //console.log("Combatat", c);
const roll = combatant.getInitiativeRoll(rollFormula); const roll = combatant.getInitiativeRoll(rollFormula);
if (!roll.total) { if (!roll.total) {
roll.evaluate({ async: false }); await roll.evaluate();
} }
const total = Math.max(roll.total, 0.00); const total = Math.max(roll.total, 0.00);
console.log("Compute init for", rollFormula, roll, total, combatant); console.log("Compute init for", rollFormula, roll, total, combatant);

View File

@ -138,7 +138,7 @@ export class RdDDice {
static async roll(formula, options = { showDice: SHOW_DICE, rollMode: undefined }) { static async roll(formula, options = { showDice: SHOW_DICE, rollMode: undefined }) {
const roll = new Roll(RdDDice._formulaOrFake(formula, options)); const roll = new Roll(RdDDice._formulaOrFake(formula, options));
await roll.evaluate({ async: true }); await roll.evaluate();
await this.showDiceSoNice(roll, options); await this.showDiceSoNice(roll, options);
return roll; return roll;
} }
@ -216,7 +216,7 @@ export class RdDDice {
static async fakeD10(faces) { static async fakeD10(faces) {
let roll = new Roll(`1d${faces}`); let roll = new Roll(`1d${faces}`);
await roll.evaluate({ async: true }); await roll.evaluate();
return roll.total; return roll.total;
} }

View File

@ -56,7 +56,7 @@ const temperatures = [
export class RdDMeteo { export class RdDMeteo {
static async getForce() { static async getForce() {
const roll = new Roll(`1dr`); const roll = new Roll(`1dr`);
await roll.evaluate({ async: true }); await roll.evaluate();
return roll.total; return roll.total;
} }
@ -67,14 +67,14 @@ export class RdDMeteo {
static async getTemperature() { static async getTemperature() {
const degre = await RdDMeteo.getForce(); const degre = await RdDMeteo.getForce();
const rollChaudFroid = new Roll('1d2'); const rollChaudFroid = new Roll('1d2');
await rollChaudFroid.evaluate({ async: true }); await rollChaudFroid.evaluate();
const chaudFroid = rollChaudFroid.total == 1; const chaudFroid = rollChaudFroid.total == 1;
return chaudFroid.total ? degre : -degre; return chaudFroid.total ? degre : -degre;
} }
static async getDirection(direction) { static async getDirection(direction) {
const roll = new Roll(`1d16`); const roll = new Roll(`1d16`);
await roll.evaluate({ async: true }); await roll.evaluate();
switch (roll.total % 16) { switch (roll.total % 16) {
case 0: return 'Nord'; case 0: return 'Nord';
case 1: return 'Nord Nord Est'; case 1: return 'Nord Nord Est';

View File

@ -300,6 +300,14 @@ export class RdDUtility {
Handlebars.registerHelper('plusMoins', diff => (diff > 0 ? '+' : '') + Math.round(diff)) Handlebars.registerHelper('plusMoins', diff => (diff > 0 ? '+' : '') + Math.round(diff))
Handlebars.registerHelper('experienceLog-topic', topic => ExperienceLog.labelTopic(topic)); Handlebars.registerHelper('experienceLog-topic', topic => ExperienceLog.labelTopic(topic));
// Handle v12 removal of this helper
Handlebars.registerHelper('select', function (selected, options) {
const escapedValue = RegExp.escape(Handlebars.escapeExpression(selected));
const rgx = new RegExp(' value=[\"\']' + escapedValue + '[\"\']');
const html = options.fn(this);
return html.replace(rgx, "$& selected");
});
return loadTemplates(templatePaths); return loadTemplates(templatePaths);
} }
@ -624,7 +632,7 @@ export class RdDUtility {
/* -------------------------------------------- */ /* -------------------------------------------- */
static async _evaluatePerte(formula, over20) { static async _evaluatePerte(formula, over20) {
let perte = new Roll(formula, { over20: over20 }); let perte = new Roll(formula, { over20: over20 });
await perte.evaluate({ async: true }); await perte.evaluate();
return perte.total; return perte.total;
} }

View File

@ -2,8 +2,6 @@
<div class="flexrow"> <div class="flexrow">
<input type="number" name="{{path}}.nombre" value="{{nombre}}" data-dtype="Number"/> <input type="number" name="{{path}}.nombre" value="{{nombre}}" data-dtype="Number"/>
<select name="{{path}}.unite" data-dtype="String" > <select name="{{path}}.unite" data-dtype="String" >
{{#select unite}} {{selectOptions (timestamp-formulesPeriode) selected=unite labelAttr="label" nameAttr="code" valueAttr="code"}}
{{>"systems/foundryvtt-reve-de-dragon/templates/enum-periode.html"}}
{{/select}}
</select> </select>
</div> </div>

View File

@ -6,9 +6,7 @@
type="number" data-dtype="Number" min="1" max="28" type="number" data-dtype="Number" min="1" max="28"
name="{{path}}.jourDuMois" value="{{jourDuMois}}" /> name="{{path}}.jourDuMois" value="{{jourDuMois}}" />
<select {{#if disabled}}{{disabled}}{{/if}} name="{{path}}.mois" class="calendar-signe-heure" data-dtype="String"> <select {{#if disabled}}{{disabled}}{{/if}} name="{{path}}.mois" class="calendar-signe-heure" data-dtype="String">
{{#select mois.key}} {{select config.heuresRdD selected=mois.key labelAttr="label" nameAttr="value" valueAttr="value"}}
{{>"systems/foundryvtt-reve-de-dragon/templates/enum-heures.html"}}
{{/select}}
</select> </select>
{{timestamp-imgSigne mois}} {{timestamp-imgSigne mois}}
<input {{#if disabled}}{{disabled}}{{/if}} type="number" class="number-x2" name="{{path}}.annee" value="{{annee}}" data-dtype="Number"/> <input {{#if disabled}}{{disabled}}{{/if}} type="number" class="number-x2" name="{{path}}.annee" value="{{annee}}" data-dtype="Number"/>
@ -17,9 +15,7 @@
<label></label> <label></label>
<label>heure</label> <label>heure</label>
<select {{#if disabled}}{{disabled}}{{/if}} name="{{path}}.heure" class="calendar-signe-heure" data-dtype="String"> <select {{#if disabled}}{{disabled}}{{/if}} name="{{path}}.heure" class="calendar-signe-heure" data-dtype="String">
{{#select heure.key}} {{select config.heuresRdD selected=heure.key labelAttr="label" nameAttr="value" valueAttr="value"}}
{{>"systems/foundryvtt-reve-de-dragon/templates/enum-heures.html"}}
{{/select}}
</select> </select>
{{timestamp-imgSigne heure}} {{timestamp-imgSigne heure}}
<input {{#if disabled}}{{disabled}}{{/if}} type="number" class="number-x2" name="{{path}}.minute" value="{{minute}}" data-dtype="Number"/> <input {{#if disabled}}{{disabled}}{{/if}} type="number" class="number-x2" name="{{path}}.minute" value="{{minute}}" data-dtype="Number"/>

View File

@ -26,9 +26,7 @@
</label> </label>
<span class="flexrow"> <span class="flexrow">
<select name="milieu-{{key}}-rarete" class="environnement-rarete flex-shrink" data-dtype="String"> <select name="milieu-{{key}}-rarete" class="environnement-rarete flex-shrink" data-dtype="String">
{{#select env.rarete}} {{selectOptions config.rarete selected=env.rarete labelAttr="label" valueAttr="value" nameAttr="value"}}
{{>"systems/foundryvtt-reve-de-dragon/templates/enum-rarete.html"}}
{{/select}}
</select> </select>
{{rangePicker name="milieu-{{key}}-frequence" value=env.frequence min=(rarete-getChamp env.rarete 'min') max=(rarete-getChamp env.rarete 'max') step=1}} {{rangePicker name="milieu-{{key}}-frequence" value=env.frequence min=(rarete-getChamp env.rarete 'min') max=(rarete-getChamp env.rarete 'max') step=1}}
<label>[{{rarete-getChamp env.rarete 'min'}}-{{rarete-getChamp env.rarete 'max'}}]</label> <label>[{{rarete-getChamp env.rarete 'min'}}-{{rarete-getChamp env.rarete 'max'}}]</label>

View File

@ -3,7 +3,7 @@
{{#each systemCompendiums as |definition key|}} {{#each systemCompendiums as |definition key|}}
<li class="flexrow"> <li class="flexrow">
<label>{{definition.label}}</label> <label>{{definition.label}}</label>
<select data-dtype="String" class="system-compendium-setting flex-grow-2" data-compendium="{{definition.compendium}}" > <select data-dtype="String" class="system-compendium-setting flex-grow-2" data-compendium="{{definition.compendium}}" >
{{#select definition.value}} {{#select definition.value}}
{{#each @root.availableCompendiums as |available key|}} {{#each @root.availableCompendiums as |available key|}}
{{#if (eq available.type definition.type)}} {{#if (eq available.type definition.type)}}

View File

@ -1,19 +1,11 @@
<div> <div>
<label>Conditions</label> <label>Conditions</label>
<select name="diffConditions" data-dtype="Number"> <select name="diffConditions" data-dtype="Number">
{{#select '0'}} {{selectOptions actorAstrologie.ajustements selected='0'}}
{{#each actorAstrologie.ajustements as |ajustement|}}
<option value={{ajustement}}>{{ajustement}}</option>
{{/each}}
{{/select}}
</select> </select>
<label>&nbsp;&nbsp;Jours</label> <label>&nbsp;&nbsp;Jours</label>
<select name="joursAstrologie" data-dtype="Number"> <select name="joursAstrologie" data-dtype="Number">
{{#select ''}} {{selectOptions dates selected='' labelAttr='label' valueAttr='index' nameAttr='index'}}
{{#each dates as |date|}}
<option value={{date.index}}>{{date.label}}</option>
{{/each}}
{{/select}}
</select> </select>
<label> <label>
&nbsp;&nbsp;Etat Général: {{actorAstrologie.etat}} &nbsp;&nbsp;Etat Général: {{actorAstrologie.etat}}