diff --git a/module/actor.js b/module/actor.js
index 2a833381..6fbcb975 100644
--- a/module/actor.js
+++ b/module/actor.js
@@ -2514,7 +2514,7 @@ export class RdDActor extends Actor {
       let competence = this.data.items.find(item => item.type == 'competence' && item.name.toLowerCase() == "alchimie");
       let diffAlchimie = RdDAlchimie.getDifficulte(alchimieData);
       let rollData = {
-        recetteName: recette.name,
+        recette: recette,
         competence: competence,
         diffLibre: diffAlchimie // Per default at startup
       }
@@ -2550,39 +2550,28 @@ export class RdDActor extends Actor {
 
   /* -------------------------------------------- */
   buildVehiculesList() {
-    if ( !this.data.data.subacteurs) return [];
-    let myArray = [];
-    for (let vehiculeLink of this.data.data.subacteurs.vehicules) {
-      let vehicule = game.actors.get( vehiculeLink.id );
-      myArray.push( { id: vehiculeLink.id, name: vehicule.data.name, categorie: vehicule.data.data.categorie, 
-        structure: vehicule.data.data.structure, img: vehicule.data.img } );
-      
-    }
-    return myArray;
+    return this._buildActorLinksList(
+      this.data.data.subacteurs?.vehicules??[],
+      vehicle => {return { id: vehicle.id, name: vehicle.data.name, categorie: vehicle.data.data.categorie, 
+        structure: vehicle.data.data.structure, img: vehicle.data.img } ;});
   }
 
   /* -------------------------------------------- */
   buildSuivantsList() {
-    if ( !this.data.data.subacteurs) return [];
-    let myArray = [];
-    for (let suivantLink of this.data.data.subacteurs.suivants) {
-      let suivant = game.actors.get( suivantLink.id );
-      myArray.push( { id: suivantLink.id, name: suivant.data.name, img: suivant.data.img } );      
-    }
-    return myArray;
+    return this._buildActorLinksList(this.data.data.subacteurs?.suivants ?? []);
   }
 
   /* -------------------------------------------- */
   buildMonturesList() {
-    if ( !this.data.data.subacteurs) return [];
-    let myArray = [];
-    for (let montureLink of this.data.data.subacteurs.montures) {
-      let monture = game.actors.get( montureLink.id );
-      myArray.push( { id: montureLink.id, name: monture.data.name, img: monture.data.img } );
-    }
-    return myArray;
+    return this._buildActorLinksList(this.data.data.subacteurs?.montures ?? []);
   }
-  
+
+  _buildActorLinksList(links, actorTransformation=it => { return { id: it.id, name: it.data.name, img: it.data.img }; }) {
+    return links.map(link => game.actors.get(link.id))
+      .filter(it => it != null)
+      .map(actorTransformation);
+  }
+
   /* -------------------------------------------- */
   async pushSubacteur( actor, dataArray, dataPath, dataName ) {
     let alreadyPresent = dataArray.find( attached => attached.id == actor.data._id);
diff --git a/module/rdd-commands.js b/module/rdd-commands.js
index a9ecde4d..6f1eac94 100644
--- a/module/rdd-commands.js
+++ b/module/rdd-commands.js
@@ -225,7 +225,8 @@ export class RdDCommands {
   /* -------------------------------------------- */
   async rollDeDraconique(msg) {
     let ddr = new DeDraconique().evaluate();
-    await RdDDice.show(ddr, rollMode);
+    ddr.showDice = true;
+    await RdDDice.show(ddr);
     RdDCommands._chatAnswer(msg, `Lancer d'un Dé draconique: ${ddr.total}`);
   }
 
diff --git a/module/rdd-main.js b/module/rdd-main.js
index 83ae02c2..85b6e2a4 100644
--- a/module/rdd-main.js
+++ b/module/rdd-main.js
@@ -220,7 +220,6 @@ Hooks.once("init", async function () {
   RdDCombat.init();
   RdDTokenHud.init();
   RdDActor.init();
-  StatusEffects.init();
 });
 
 /* -------------------------------------------- */
@@ -233,13 +232,16 @@ function messageDeBienvenue() {
       
Vous trouverez quelques informations pour démarrer dans ce document : @Compendium[foundryvtt-reve-de-dragon.rappel-des-regles.7uGrUHGdPu0EmIu2]{Documentation MJ/Joueurs}
       
La commande /aide dans le chat permet de voir les commandes spécifiques à Rêve de Dragon.
       ` });
-    }
+  }
 }
-
-/* -------------------------------------------- */
-/*  Foundry VTT Initialization                  */
-/* -------------------------------------------- */
+  
+  /* -------------------------------------------- */
+  /*  Foundry VTT Initialization                  */
+  /* -------------------------------------------- */
 Hooks.once("ready", function () {
+  
+  StatusEffects.onReady();
+
   /* -------------------------------------------- */
   /* Affiche/Init le calendrier */
   let calendrier = new RdDCalendrier();
diff --git a/module/status-effects.js b/module/status-effects.js
index 3e509e47..57d2b315 100644
--- a/module/status-effects.js
+++ b/module/status-effects.js
@@ -8,7 +8,7 @@ const statusDemiSurprise = new Set(['sonne', 'prone', 'restrain']);
 const statusSurpriseTotale = new Set(['unconscious', 'blind']);
 
 export class StatusEffects {
-  static init() {
+  static onReady() {
     StatusEffects.setCoreStatusId([demiReveStatusEffect]);
     StatusEffects.setCoreStatusId(rddStatusEffects);
     StatusEffects.setMandatoryRdd();
diff --git a/templates/chat-resultat-alchimie.html b/templates/chat-resultat-alchimie.html
index 49ea46fc..42373912 100644
--- a/templates/chat-resultat-alchimie.html
+++ b/templates/chat-resultat-alchimie.html
@@ -1,3 +1,4 @@
+