if (!this.item.name.includes("(") || this.item.system.Tests.value.includes("Terrain") || this.item.system.Tests.value.toLowerCase().includes("(any)")) { let Tests = this.item.system.Tests.value let name = this.item.name // If name already specifies, make sure Tests value reflects that if (name.includes("(") && !name.toLowerCase().includes("(any)")) { let terrain = name.split("(")[1].split(")")[0] tests = tests.replace("the Terrain", terrain) } else // If no sense specified, provide dialog choice { let choice = await ItemDialog.create(ItemDialog.objectToArray({ coastal : "Littoral", deserts : "Déserts", marshes : "Marécages", rocky : "Rocailleux", tundra : "Toundra", woodlands : "Régions boisées" }, this.item.img), 1, "Choisissez un Terrain"); if (choice[0]) { name = `${name.split("(")[0].trim()} (${choice[0].name})` tests = tests.replace("Terrain", choice[0].name + " Terrain") } } this.effet.updateSource({name}) this.item.updateSource({name, "system.tests.value" : tests}) }