diff --git a/lang/fr.json b/lang/fr.json index 27416c3..464131b 100644 --- a/lang/fr.json +++ b/lang/fr.json @@ -389,6 +389,8 @@ "BOL.chat.spell": "Sort", "BOL.chat.spellcost": "Cout en Points de Pouvoir", "BOL.chat.spellremaining": "Points de Pouvoir restants", + "BOL.chat.nodamagesummary": "Aucun dégats n'a été subi ....", + "BOL.chat.damageresume": "{name} a subi des blessures ...", "BOL.dialog.soeasy": "Inmanquable (+4)", "BOL.dialog.veryeasy": "Trés Facile (+2)", diff --git a/module/actor/actor.js b/module/actor/actor.js index bb8d56e..57e93d0 100644 --- a/module/actor/actor.js +++ b/module/actor/actor.js @@ -336,6 +336,7 @@ export class BoLActor extends Actor { let newPP = this.data.data.resources.power.value - ppCost newPP = (newPP < 0) ? 0 : newPP this.update({ 'data.resources.power.value': newPP }) + return newPP } /*-------------------------------------------- */ diff --git a/module/controllers/bol-rolls.js b/module/controllers/bol-rolls.js index 0ecfd6d..e695116 100644 --- a/module/controllers/bol-rolls.js +++ b/module/controllers/bol-rolls.js @@ -126,7 +126,7 @@ export class BoLRoll { ui.notifications.warn("Unable to find Alchemy !"); return; } - alchemy = dupicate(alchemy) + alchemy = duplicate(alchemy) let alchemyData = alchemy.data if (alchemyData.properties.pccurrent < alchemyData.properties.pccost) { ui.notifications.warn("Pas assez de Points de Cration investis dans la Préparation !") @@ -156,7 +156,6 @@ export class BoLRoll { /* -------------------------------------------- */ static spellCheckWithSpell( actor, spell ) { - let spellData = spell.data let spellDef = { mode: "spell", actorId: actor.id, @@ -168,14 +167,14 @@ export class BoLRoll { ppCurrent: Number(actor.data.data.resources.power.value), careerBonus: actor.getSorcererBonus(), ppCostArmor: actor.getPPCostArmor(), - ppCost: Number(spell.data.data.properties.ppcost), - mod: Number(spellData.properties.difficulty), + ppCost: Number(spell.data.properties.ppcost), + mod: Number(spell.data.properties.difficulty), armorAgiMalus: actor.getArmorAgiMalus(), armorInitMalus: actor.getArmorInitMalus(), label: spell.name, description: game.i18n.localize('BOL.ui.focusSpell') + " : " + spell.name, } - console.log("SPELL!", spellDef) + //console.log("SPELL!", spellDef) return this.displayRollDialog(spellDef) } @@ -464,10 +463,10 @@ export class BoLDefaultRoll { this.rollData.isFumble = false; } if (this.rollData.optionsId) { - $(`#${this.rollData.optionsId}`).hide() // Hide the options roll buttons + BoLUtility.cleanupButtons( this.rollData.optionsId) } if (this.rollData.applyId) { - $(`#${this.rollData.applyId}`).hide() // Hide the options roll buttons + BoLUtility.cleanupButtons( this.rollData.applyId) } this.rollData.optionsId = randomID(16) this.rollData.applyId = randomID(16) @@ -499,7 +498,7 @@ export class BoLDefaultRoll { actor.registerInit(r.total, this.rollData.isCritical, this.rollData.isFumble) } if (this.rollData.isSuccess && this.rollData.mode == "spell") { // PP cost management - actor.spendPowerPoint(this.rollData.ppCost + this.rollData.ppCostArmor) + this.rollData.remainingPP = actor.spendPowerPoint(this.rollData.ppCost + this.rollData.ppCostArmor) } if (this.rollData.mode == "alchemy") { // PP cost management actor.resetAlchemyStatus(this.rollData.alchemy._id) @@ -598,7 +597,6 @@ export class BoLDefaultRoll { if (this.rollData.damageMode == 'damage-plus-12') { bonusDmg = 12 } - console.log("ROLLWEAPON: ", this.rollData) let attrDamageValue = this.getDamageAttributeValue(this.rollData.weapon.data.properties.damageAttribute) let weaponFormula = BoLUtility.getDamageFormula(this.rollData.weapon.data, this.rollData.fightOption) @@ -611,7 +609,7 @@ export class BoLDefaultRoll { await this.rollData.damageRoll.roll({ "async": false }) this.rollData.damageTotal = this.rollData.damageRoll.total } - $(`#${this.rollData.optionsId}`).hide() // Hide the options roll buttons + BoLUtility.cleanupButtons(this.rollData.optionsId) this.sendDamageMessage() } } diff --git a/module/system/bol-utility.js b/module/system/bol-utility.js index a9747ad..5d9be6b 100644 --- a/module/system/bol-utility.js +++ b/module/system/bol-utility.js @@ -127,16 +127,16 @@ export class BoLUtility { return undefined; } /* -------------------------------------------- */ - static getOtherWhisperRecipients( name) { + static getOtherWhisperRecipients(name) { let users = [] - for( let user of game.users) { - if ( !user.isGM && user.name != name) { - users.push( user.data._id) + for (let user of game.users) { + if (!user.isGM && user.name != name) { + users.push(user.data._id) } } return users } - + /* -------------------------------------------- */ static getWhisperRecipientsAndGMs(name) { let recep1 = ChatMessage.getWhisperRecipients(name) || []; @@ -173,34 +173,39 @@ export class BoLUtility { //console.log("FOUND 1!!! ", actor) if (actor && actor.isOwner) return else if (game.user.isGM || data.author.id === game.user.id) return - + const divButtons = chatCard.find('.actions-section') - console.log("FOUND 2!! ", divButtons) divButtons.hide() } } - + /* -------------------------------------------- */ - static getRollDataFromMessage( event ) { + static getRollDataFromMessage(event) { let messageId = BoLUtility.findChatMessageId(event.currentTarget) let message = game.messages.get(messageId) - return message.getFlag("world", "bol-roll-data") + return message.getFlag("world", "bol-roll-data") + } + + /* -------------------------------------------- */ + static cleanupButtons(id) { + $(`#${id}`).hide() // Hide the options roll buttons + game.socket.emit("system.bol", { name: "msg_cleanup_buttons", data: { id: id } }) } /* -------------------------------------------- */ static async chatListeners(html) { - + // Damage handling html.on("click", '.chat-damage-apply', event => { let rollData = BoLUtility.getRollDataFromMessage(event) - console.log("DATA !!!", rollData) - $(`#${rollData.applyId}`).hide() + BoLUtility.cleanupButtons(rollData.applyId) BoLUtility.sendAttackSuccess(rollData) }); html.on("click", '.chat-damage-roll', event => { - event.preventDefault(); + event.preventDefault() let rollData = BoLUtility.getRollDataFromMessage(event) + rollData.damageMode = event.currentTarget.attributes['data-damage-mode'].value let bolRoll = new BoLDefaultRoll(rollData) bolRoll.rollDamage() }); @@ -208,7 +213,7 @@ export class BoLUtility { html.on("click", '.transform-legendary-roll', event => { event.preventDefault(); let rollData = BoLUtility.getRollDataFromMessage(event) - let actor = game.actors.get( rollData.actorId) + let actor = game.actors.get(rollData.actorId) actor.subHeroPoints(1) let r = new BoLDefaultRoll(rollData) r.upgradeToLegendary() @@ -217,7 +222,7 @@ export class BoLUtility { html.on("click", '.transform-heroic-roll', event => { event.preventDefault(); let rollData = BoLUtility.getRollDataFromMessage(event) - let actor = game.actors.get( rollData.actorId) + let actor = game.actors.get(rollData.actorId) actor.subHeroPoints(1) let r = new BoLDefaultRoll(rollData) r.upgradeToHeroic() @@ -226,7 +231,7 @@ export class BoLUtility { html.on("click", '.hero-reroll', event => { event.preventDefault(); let rollData = BoLUtility.getRollDataFromMessage(event) - let actor = game.actors.get( rollData.actorId) + let actor = game.actors.get(rollData.actorId) actor.subHeroPoints(1) rollData.reroll = false // Disable reroll option for second roll let r = new BoLDefaultRoll(rollData) @@ -238,24 +243,24 @@ export class BoLUtility { let attackId = event.currentTarget.attributes['data-attack-id'].value let defenseMode = event.currentTarget.attributes['data-defense-mode'].value let weaponId = (event.currentTarget.attributes['data-weapon-id']) ? event.currentTarget.attributes['data-weapon-id'].value : -1 + + // Remove message for all + let msgId = BoLUtility.findChatMessageId(event.currentTarget) if (game.user.isGM) { - console.log("Process handling !!! -> GM direct damage handling") - BoLUtility.processDamageHandling(event, attackId, defenseMode, weaponId) + BoLUtility.processDamageHandling(attackId, defenseMode, weaponId, msgId) } else { - console.log("Process handling !!! -> socket emit") - game.socket.emit("system.bol", { name: "msg_damage_handling", data: { event: event, attackId: attackId, defenseMode: defenseMode, weaponId: weaponId } }); + game.socket.emit("system.bol", { name: "msg_damage_handling", data: { msgId: msgId, attackId: attackId, defenseMode: defenseMode, weaponId: weaponId } }) } - }); + }) } /* -------------------------------------------- */ - static async processDamageHandling(event, attackId, defenseMode, weaponId = -1) { + static async processDamageHandling(attackId, defenseMode, weaponId = -1, msgId) { if (!game.user.isGM) { - return; + return } - BoLUtility.removeChatMessageId(BoLUtility.findChatMessageId(event.currentTarget)); - - console.log("Damage Handling", event, attackId, defenseMode, weaponId) + BoLUtility.removeChatMessageId( msgId ) + console.log("Damage Handling", attackId, defenseMode, weaponId) // Only GM process this let attackDef = this.attackStore[attackId] if (attackDef && attackDef.defenderId) { @@ -270,7 +275,7 @@ export class BoLUtility { if (defenseMode == 'damage-with-armor') { let armorFormula = defender.getArmorFormula() attackDef.rollArmor = new Roll(armorFormula) - attackDef.rollArmor.roll( { async: false } ) + attackDef.rollArmor.roll({ async: false }) attackDef.armorProtect = (attackDef.rollArmor.total < 0) ? 0 : attackDef.rollArmor.total attackDef.finalDamage = attackDef.damageTotal - attackDef.armorProtect attackDef.finalDamage = (attackDef.finalDamage < 0) ? 0 : attackDef.finalDamage @@ -298,21 +303,35 @@ export class BoLUtility { attackDef.weaponHero = defender.weapons.find(item => item._id == weaponId); defender.deleteEmbeddedDocuments("Item", [weaponId]); } + + let defenderUser + for (let user of game.users) { + if ( user.character && user.character.id == defender.id ) { + defenderUser = user + } + } + let damageResults = { + attackId: attackDef.id, + attacker: attackDef.attacker, + rollArmor: attackDef.rollArmor, + rollHero: attackDef.rollHero, + weaponHero: attackDef.weaponHero, + armorProtect: attackDef.armorProtect, + name: defender.name, + defender: defender, + defenseMode: attackDef.defenseMode, + finalDamage: attackDef.finalDamage + } ChatMessage.create({ alias: defender.name, whisper: BoLUtility.getWhisperRecipientsAndGMs(defender.name), - content: await renderTemplate('systems/bol/templates/chat/rolls/defense-result-card.hbs', { - attackId: attackDef.id, - attacker: attackDef.attacker, - rollArmor: attackDef.rollArmor, - rollHero: attackDef.rollHero, - weaponHero: attackDef.weaponHero, - armorProtect: attackDef.armorProtect, - name: defender.name, - defender: defender, - defenseMode: attackDef.defenseMode, - finalDamage: attackDef.finalDamage - }) + content: await renderTemplate('systems/bol/templates/chat/rolls/defense-result-card.hbs', damageResults) + }) + console.log("Defender data : ", defenderUser) + ChatMessage.create({ + alias: defender.name, + whisper: BoLUtility.getOtherWhisperRecipients(defenderUser?.name), + content: await renderTemplate('systems/bol/templates/chat/rolls/defense-summary-card.hbs', damageResults) }) } } @@ -417,8 +436,11 @@ export class BoLUtility { if (sockmsg.name == "msg_attack_success") { BoLUtility.processAttackSuccess(sockmsg.data) } + if (sockmsg.name == "msg_cleanup_buttons") { + $(`#${sockmsg.data.id}`).hide() // Hide the options roll buttons + } if (sockmsg.name == "msg_damage_handling") { - BoLUtility.processDamageHandling(sockmsg.data.event, sockmsg.data.attackId, sockmsg.data.defenseMode) + BoLUtility.processDamageHandling(sockmsg.data.attackId, sockmsg.data.defenseMode, sockmsg.data.weaponId, sockmsg.data.msgId) } } @@ -450,11 +472,11 @@ export class BoLUtility { let postForm = 'kh' + nbDice let modIndex = 3 // Upgrade damage if needed - if ( upgradeDamage && ( !res[3] || res[3]=="") ) { + if (upgradeDamage && (!res[3] || res[3] == "")) { res[3] = "B" // Upgrade to bonus } if (res[3]) { - if ( upgradeDamage && res[3] == 'M') { + if (upgradeDamage && res[3] == 'M') { res[3] = "" // Disable lamlus for upgradeDamage } if (res[3] == 'M') { diff --git a/packs/objets-alchimie.db b/packs/objets-alchimie.db new file mode 100644 index 0000000..1b046eb --- /dev/null +++ b/packs/objets-alchimie.db @@ -0,0 +1,42 @@ +{"name":"Serrure ou piège élaboré","type":"item","img":"icons/environment/traps/saw-steel.webp","data":{"category":"alchemy","subtype":"armor","description":"

-4 pour les crocheter/désamorcer ; un piège inflige d6+1 points de dégâts

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"scarce","difficulty":"-1","pccost":2,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"0Yhn3r8AFsKXEKeS"} +{"name":"Lance-éclair","type":"item","img":"icons/weapons/crossbows/handcrossbow-green.webp","data":{"category":"alchemy","subtype":"armor","description":"

une arme qui a vaguement la forme d’une arbalète et projette un éclair. Facteur de portée : 75 m ; d6 x2 points de dégâts ignorant les armure

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"legend","difficulty":"-2","pccost":4,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"1JMT3kjaWSP8umZ4"} +{"name":"Armure Mythique","type":"item","img":"icons/equipment/chest/breastplate-helmet-metal.webp","data":{"category":"alchemy","subtype":"armor","description":"

comme une armure légendaire, mais sans malus d’agilité ; un héros pourrait même nager en portant cette armure

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"mythic","difficulty":"-4","pccost":8,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"1VKW5IwOhopbnD70"} +{"name":"Horloge","type":"item","img":"icons/sundries/misc/hourglass-wood.webp","data":{"category":"alchemy","subtype":"armor","description":"","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"scarce","difficulty":"-1","pccost":2,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"2vB2YGtQUh2Uv1Fm"} +{"name":"Habitation intelligente","type":"item","img":"icons/environment/settlement/hut.webp","data":{"category":"alchemy","subtype":"armor","description":"","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"mythic","difficulty":"-4","pccost":8,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"4loLeFR0iwfUnPuK"} +{"name":"Création par croisement et hybridation de plantes ou d’animaux mortellement dangereux","type":"item","img":"icons/commodities/flowers/cornflower-gold.webp","data":{"category":"alchemy","subtype":"armor","description":"","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"legend","difficulty":"-2","pccost":4,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"4siOagfdWzjP5zH7"} +{"name":"Substance chimique luminescente","type":"item","img":"icons/consumables/potions/flask-corked-yellow-glow.webp","data":{"category":"alchemy","subtype":"armor","description":"

produit de la lumière pour une demi-journée

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"scarce","difficulty":"-1","pccost":2,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"4tw89CLuUKdEPTjP"} +{"name":"Ceinture d’allanium","type":"item","img":"icons/equipment/waist/belt-buckle-spiral-blue.webp","data":{"category":"alchemy","subtype":"armor","description":"

permet de flotter dans les airs

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"legend","difficulty":"-2","pccost":4,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"5mTphkODHSGq3nSQ"} +{"name":"Outil","type":"item","img":"icons/tools/hand/hammer-mason-white-grey.webp","data":{"category":"alchemy","subtype":"armor","description":"

Les armes et armures de cette qualité permettent, une fois par round, de relancer un 1 obtenu sur un jet de dégâts/de protection.

\n

En dehors des armes, les autres créations infligeant des dégâts ou soignant des blessures provoquent respectivement la perte ou la récupération de d3 points de vitalité.

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"common","difficulty":"0","pccost":1,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"9Q5RVK5vLFffDzbF"} +{"name":"Allume-feu","type":"item","img":"icons/tools/laboratory/bowl-liquid-orange.webp","data":{"category":"alchemy","subtype":"armor","description":"

permet d’allumer un feu facilement et rapidement

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"scarce","difficulty":"-1","pccost":2,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"BPWbng0g7yGicbo1"} +{"name":"Membre Artificiel","type":"item","img":"icons/commodities/biological/hand-yellow-red.webp","data":{"category":"alchemy","subtype":"armor","description":"

non articulé, mais bien plus élégant qu’un simple crochet

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"scarce","difficulty":"-1","pccost":2,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"IuRy0AzysqvPBitL"} +{"name":"Arme","type":"item","img":"icons/weapons/swords/greatsword-crossguard-engraved-green.webp","data":{"category":"alchemy","subtype":"armor","description":"

Les armes et armures de cette qualité permettent, une fois par round, de relancer un 1 obtenu sur un jet de dégâts/de protection.

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"common","difficulty":"0","pccost":1,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"J4dFYrwkmlm0Nmk3"} +{"name":"Arme dissimulée dans un Objet Courant","type":"item","img":"icons/weapons/fist/fist-katar-gold.webp","data":{"category":"alchemy","subtype":"armor","description":"

En dehors des armes, les autres créations infligeant des dégâts ou soignant des blessures provoquent respectivement la perte ou la récupération de d6 points de vitalité.

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"scarce","difficulty":"-1","pccost":2,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"JaB3ain6oqdYMHO5"} +{"name":"Création de formes de vie hybrides d’homme et d’animal","type":"item","img":"icons/creatures/magical/humanoid-silhouette-green.webp","data":{"category":"alchemy","subtype":"armor","description":"","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"mythic","difficulty":"-4","pccost":8,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"KNww1UqQ5xDsoipn"} +{"name":"Antirouille","type":"item","img":"icons/tools/laboratory/bowl-liquid-black.webp","data":{"category":"alchemy","subtype":"armor","description":"

quantité suffisante pour ôter la rouille d’une armure complète

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"scarce","difficulty":"-1","pccost":2,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"KlbAhlqMv2aYrVV6"} +{"name":"Cuve de clonage des individus","type":"item","img":"icons/creatures/magical/humanoid-silhouette-aliens-green.webp","data":{"category":"alchemy","subtype":"armor","description":"","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"mythic","difficulty":"-4","pccost":8,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"LDpAggSZbGqrXmlw"} +{"name":"Armure","type":"item","img":"icons/equipment/chest/breastplate-scale-grey.webp","data":{"category":"alchemy","subtype":"armor","description":"

Les armes et armures de cette qualité permettent, une fois par round, de relancer un 1 obtenu sur un jet de dégâts/de protection.

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"common","difficulty":"0","pccost":1,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"NOeeuqGt5sRZzjZW"} +{"name":"Huile Brulante","type":"item","img":"icons/tools/laboratory/bowl-powder-purple.webp","data":{"category":"alchemy","subtype":"armor","description":"

brûle au contact et inflige d6 points de dégâts

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"scarce","difficulty":"-1","pccost":2,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"NsWmlAIAiDgaOouM"} +{"name":"Ceinture d’invisibilité","type":"item","img":"icons/equipment/waist/belt-buckle-horned.webp","data":{"category":"alchemy","subtype":"armor","description":"

quand on la boucle, cette ceinture offre le même effet que la poudre d’invisibilité

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"legend","difficulty":"-2","pccost":4,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"RuW6v3YvbEE80rWv"} +{"name":"Armure Supérieure","type":"item","img":"icons/equipment/chest/breastplate-layered-leather-stitched.webp","data":{"category":"alchemy","subtype":"armor","description":"

offre une protection semblable à celle d’une armure de la catégorie supérieure – une armure légère apporte la même protection qu’une armure moyenne, et une armure lourde apporte une protection de d6. De plus, l’armure diminue de moitié les dégâts supplémentaires infligés par un succès héroïque ou légendaire

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"scarce","difficulty":"-1","pccost":2,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"WXGXDYvnGFqPznDW"} +{"name":"Arme Mythique","type":"item","img":"icons/weapons/swords/greatsword-evil-green.webp","data":{"category":"alchemy","subtype":"armor","description":"

comme une arme légendaire, mais elle est de plus considérée comme une arme favorite, cf. l’avantage du même nom

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"mythic","difficulty":"-4","pccost":8,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"XLTcm3ZrC5f2obak"} +{"name":"Instrument de musique au son parfait","type":"item","img":"icons/tools/instruments/harp-gold-glowing.webp","data":{"category":"alchemy","subtype":"armor","description":"

un dé de bonus pour en jouer

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"scarce","difficulty":"-1","pccost":2,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"YZ9Pd2jmxmEf7Bfr"} +{"name":"Arme Légendaire","type":"item","img":"icons/weapons/swords/sword-guard-flanged-purple.webp","data":{"category":"alchemy","subtype":"armor","description":"

ajoute un dé de bonus aux jets de dégâts et ignore les armures, à  l’exception de celles créées par un alchimiste. De plus, l’arme est incassable. Une arme aussi exceptionnelle se doit de recevoir un nom

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"legend","difficulty":"-2","pccost":4,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"Z16TTJJBk4gifNi4"} +{"name":"Serrure ou piège particulièrement ingénieux","type":"item","img":"icons/environment/traps/metal-spikes.webp","data":{"category":"alchemy","subtype":"armor","description":"

-6 pour les crocheter/désamorcer ; le piège inflige d6 x2 points de dégâts

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"legend","difficulty":"-2","pccost":4,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"cH4xnb61y15y0VB9"} +{"name":"Microscope","type":"item","img":"icons/tools/scribal/magnifying-glass.webp","data":{"category":"alchemy","subtype":"armor","description":"","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"scarce","difficulty":"-1","pccost":2,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"czeLiVAATVSJXurP"} +{"name":"Dague à lame creuse en verre","type":"item","img":"icons/weapons/daggers/dagger-blue.webp","data":{"category":"alchemy","subtype":"armor","description":"

remplie d’acide ou de poison

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"scarce","difficulty":"-1","pccost":2,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"dPjpAs6k4oJ1PBJY"} +{"name":"Serrure","type":"item","img":"icons/skills/trades/security-locksmith-key-gray.webp","data":{"category":"alchemy","subtype":"armor","description":"

malus de -2 pour la forcer

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"common","difficulty":"0","pccost":1,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"eyhRUXzKxs5USWn4"} +{"name":"Création de formes de vie en laboratoire","type":"item","img":"icons/environment/creatures/bug-worm-teeth-green.webp","data":{"category":"alchemy","subtype":"armor","description":"","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"mythic","difficulty":"-4","pccost":8,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"g0LHWZNu9sSppfS1"} +{"name":"Armure Légendaire","type":"item","img":"icons/equipment/chest/breastplate-pieced-black-02.webp","data":{"category":"alchemy","subtype":"armor","description":"

offre une protection semblable à celle d’une armure de la catégorie supérieure – une armure légère apporte la même protection qu’une armure moyenne, et une armure lourde apporte une protection de d6. De plus, le jet de protection de l’armure se fait avec un dé de bonus, et elle diminue de moitié les dégâts supplémentaires infligés par un succès héroïque ou légendaire.

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"legend","difficulty":"-2","pccost":4,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"ifyxS1mYVPrVva3D"} +{"name":"Machine Volante","type":"item","img":"icons/magic/air/wind-weather-sailing-ship.webp","data":{"category":"alchemy","subtype":"armor","description":"

nef volante, par exemple

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"legend","difficulty":"-2","pccost":4,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"kGTTnSlZA6ZoQ3u3"} +{"name":"Télescope","type":"item","img":"icons/tools/navigation/spyglass-telescope-brass.webp","data":{"category":"alchemy","subtype":"armor","description":"","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"scarce","difficulty":"-1","pccost":2,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"ket3hVgoT0QwcBEq"} +{"name":"Arme Supérieure","type":"item","img":"icons/weapons/swords/greatsword-crossguard-flanged-purple.webp","data":{"category":"alchemy","subtype":"armor","description":"

un dé de bonus aux jets de dégâts

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"scarce","difficulty":"-1","pccost":2,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"ki1xuxtM0H4pgTiy"} +{"name":"Arbalète à Grappin","type":"item","img":"icons/weapons/crossbows/handcrossbow-black.webp","data":{"category":"alchemy","subtype":"armor","description":"

tire un grappin attaché à une corde en soie avec un facteur de portée de 7,5 m

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"scarce","difficulty":"-1","pccost":2,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"kuypZbs1owvKVTqI"} +{"name":"Casque permettant à son porteur de respirer sous l’eau","type":"item","img":"icons/equipment/head/helm-spangen-ridged.webp","data":{"category":"alchemy","subtype":"armor","description":"","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"legend","difficulty":"-2","pccost":4,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"lEfQUM98WsqLkIxz"} +{"name":"Périscope","type":"item","img":"icons/tools/scribal/magnifying-glass.webp","data":{"category":"alchemy","subtype":"armor","description":"","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"scarce","difficulty":"-1","pccost":2,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"mNOicjjxjXgZmmLy"} +{"name":"Serrure ou piège à la complexité unique","type":"item","img":"icons/commodities/tech/sensor-yellow.webp","data":{"category":"alchemy","subtype":"armor","description":"

-8 pour les crocheter/désamorcer ; un piège inflige d6 x3 points de dégâts

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"mythic","difficulty":"-4","pccost":8,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"oB6gDtBff0AxZ79M"} +{"name":"Machine dotée d'une semi-conscience","type":"item","img":"icons/creatures/magical/construct-iron-stomping-yellow.webp","data":{"category":"alchemy","subtype":"armor","description":"","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"mythic","difficulty":"-4","pccost":8,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"ok8HQzoEyF9GgSKA"} +{"name":"Automate ou golem ayant la forme d’une armure animée","type":"item","img":"icons/magic/symbols/cog-orange-red.webp","data":{"category":"alchemy","subtype":"armor","description":"","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"legend","difficulty":"-2","pccost":4,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"opFsywlBa1q9cb0z"} +{"name":"Navire submersible","type":"item","img":"icons/tools/navigation/sextant-brass-brown.webp","data":{"category":"alchemy","subtype":"armor","description":"

un  sous-marin descendant à une profondeur maximale de 6 mètres et pouvant emporter un équipage de quatre personnes. Un tuyau flottant jusqu’à la surface alimente le sous-marin en oxygène (et peut être repéré en surface). Le sous-marin contient suffisamment d’air pour rester en plongée pendant une heure. Il se déplace à une vitesse d’environ 8 kilomètres à l’heure, propulsé par la force des membres de l’équipage qui pédalent pour faire tourner l’hélice

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"mythic","difficulty":"-4","pccost":8,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"rg9EZ0jwe2ZdNrcJ"} +{"name":"Fabrication d’allanium et de janium","type":"item","img":"icons/commodities/metal/ingot-engraved-gold.webp","data":{"category":"alchemy","subtype":"armor","description":"","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"legend","difficulty":"-2","pccost":4,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"tcKKDzPjPqTA8doj"} +{"name":"Machine de guerre blindée","type":"item","img":"icons/commodities/tech/smoke-bomb-yellow.webp","data":{"category":"alchemy","subtype":"armor","description":"","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"mythic","difficulty":"-4","pccost":8,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"vWhFzHoi5H6kVeFM"} +{"name":"Piège","type":"item","img":"icons/environment/traps/trap-jaw-tan.webp","data":{"category":"alchemy","subtype":"armor","description":"

malus de -2 pour le repérer et le désamorcer ; inflige d3+1 points de dégât

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"common","difficulty":"0","pccost":1,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"xVWrSPiX0Nwccsn6"} diff --git a/packs/potions-alchimie.db b/packs/potions-alchimie.db new file mode 100644 index 0000000..2454008 --- /dev/null +++ b/packs/potions-alchimie.db @@ -0,0 +1,37 @@ +{"name":"Prouesse","type":"item","img":"icons/consumables/potions/bottle-corked-blue.webp","data":{"category":"alchemy","subtype":"armor","description":"

un dé de bonus aux jets d’attaque de corps à corps ; durée : une scène

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"scarce","difficulty":"-1","pccost":2,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"0a8UFoCOd3D35WBb"} +{"name":"Immortalité","type":"item","img":"icons/consumables/potions/bottle-conical-corked-labeled-skull-poison-green.webp","data":{"category":"alchemy","subtype":"armor","description":"

Prévient toute mort naturelle. Le buveur vieillit lentement, en se desséchant au fil des siècles. Seule une mort violente peut l’ emporter.

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"mythic","difficulty":"-4","pccost":8,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"1CGNqrAk8i4yZHMu"} +{"name":"Alcool de Qualité","type":"item","img":"icons/consumables/drinks/wine-amphora-clay-gray.webp","data":{"category":"alchemy","subtype":"armor","description":"

3 bouteilles

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"common","difficulty":"1","pccost":1,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"3axZyF07LhrFoIKn"} +{"name":"Sommeil Instantané","type":"item","img":"icons/consumables/potions/conical-ornate-purple.webp","data":{"category":"alchemy","subtype":"armor","description":"

le buveur doit réussir un jet de vigueur avec votre rang d’alchimiste en malus, ou sombrer dans un profond sommeil pendant une demi-journée.

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"scarce","difficulty":"-1","pccost":2,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"3d31dycrddqS41oH"} +{"name":"Feu Alchimique","type":"item","img":"icons/consumables/potions/flask-corked-red-glow.webp","data":{"category":"alchemy","subtype":"armor","description":"

une fiole qui, quand elle est brisée, explose en une boule de feu de 3 m de rayon, infligeant d6 x2 points de dégâts

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"legend","difficulty":"-2","pccost":4,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"3hbPr9YV5UFPT5xV"} +{"name":"Acide","type":"item","img":"icons/consumables/potions/vial-cork-green.webp","data":{"category":"alchemy","subtype":"armor","description":"

1 petite fiole, inflige d3 points de dégâts ou peut percer 2,5 cm de bois ou de métal

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"common","difficulty":"0","pccost":1,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"9g9V7Khr66RkfqYp"} +{"name":"Beauté","type":"item","img":"icons/consumables/potions/bottle-pear-corked-pink.webp","data":{"category":"alchemy","subtype":"armor","description":"

+1 en aura ; durée : une scène

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"scarce","difficulty":"-1","pccost":2,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"CZoAbYpw5V35ICsl"} +{"name":"Puissance","type":"item","img":"icons/consumables/potions/bottle-round-corked-orante-red.webp","data":{"category":"alchemy","subtype":"armor","description":"

+1 en vigueur ; durée : une scène

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"scarce","difficulty":"-1","pccost":2,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"DPbSKaYROI8Ys2QL"} +{"name":"Somnifere","type":"item","img":"icons/consumables/potions/bottle-bulb-corked-green.webp","data":{"category":"alchemy","subtype":"armor","description":"

A l’ingestion, provoque 2d6 heures de sommeil profond, 3 doses

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"common","difficulty":"0","pccost":1,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{},"_id":"DukviN6iQWAZxvO6"} +{"name":"Antidote Universel","type":"item","img":"icons/consumables/potions/bottle-circular-corked-labeled-green.webp","data":{"category":"alchemy","subtype":"armor","description":"

soigne instantanément n’importe quel empoisonnement, même magique ; 1 dose

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"legend","difficulty":"-2","pccost":4,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"DzNxbiCwykhOI8il"} +{"name":"Agrandissement ou Rapetissement","type":"item","img":"icons/consumables/potions/bottle-corked-red.webp","data":{"category":"alchemy","subtype":"armor","description":"

Durée : 1 scène

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"scarce","difficulty":"-1","pccost":2,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"EScizWIAqEGey7k9"} +{"name":"Altération permanente","type":"item","img":"icons/consumables/potions/potion-jar-corked-labeled-purple-pink.webp","data":{"category":"alchemy","subtype":"armor","description":"

bonus permanent de +1 dans un attribut ; on ne peut bénéficier qu’une seule fois des effets de cet élixir

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"mythic","difficulty":"-4","pccost":8,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"EvAWKqbqVmOAiJuy"} +{"name":"Perspicacité","type":"item","img":"icons/consumables/potions/bottle-conical-corked-labeled-shell-cyan.webp","data":{"category":"alchemy","subtype":"armor","description":"

+1 en esprit ; durée : une scène

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"scarce","difficulty":"-1","pccost":2,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"HzRud4Pt5prjxdOp"} +{"name":"Anti-Fièvre","type":"item","img":"icons/consumables/potions/bottle-ornate-bat-teal.webp","data":{"category":"alchemy","subtype":"armor","description":"

2d6 heures d'effet, 3 doses

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"common","difficulty":"0","pccost":1,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"IwLxp7qwaVqFkXIT"} +{"name":"Illusion de la Jeunesse","type":"item","img":"icons/consumables/potions/flask-corked-blue.webp","data":{"category":"alchemy","subtype":"armor","description":"

le buveur retrouve l’apparence qu’il avait à 25 ans ; durée : une semaine ; 1 dose

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"legend","difficulty":"-2","pccost":4,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"LgCquDfrRj68TpGD"} +{"name":"Résistance","type":"item","img":"icons/consumables/potions/potion-tube-corked-bat-gold-red.webp","data":{"category":"alchemy","subtype":"armor","description":"

la peau du buveur devient aussi résistante qu’une armure, lui offrant d6 de protection ; durée : une scène ; 1 dose

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"legend","difficulty":"-2","pccost":4,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"OPg1rCpWtrMEwdpi"} +{"name":"Régénération Suprême","type":"item","img":"icons/consumables/potions/bottle-corked-blue.webp","data":{"category":"alchemy","subtype":"armor","description":"

provoque  la régénération d’un membre amputé, d’un œil perdu, etc., annulant le désavantage associé à ce handicap

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"mythic","difficulty":"-4","pccost":8,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"PCGayeKrqCe5y8Yr"} +{"name":"Paralysant","type":"item","img":"icons/consumables/potions/potion-bottle-corked-fancy-orange.webp","data":{"category":"alchemy","subtype":"armor","description":"

le buveur doit réussir un jet de vigueur avec votre rang d’alchimiste en malus ou se retrouver paralysé pour une durée de 24 heures ; 1 dose

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"legend","difficulty":"-2","pccost":4,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"ROaHo4M8ry9J0no8"} +{"name":"Mort aux Rats","type":"item","img":"icons/consumables/potions/conical-mushroom-poison-red.webp","data":{"category":"alchemy","subtype":"armor","description":"

Tue  les  petits  animaux nuisibles

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"common","difficulty":"0","pccost":1,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"RYq5MG3t3r1yFsKZ"} +{"name":"Philtre d’amour","type":"item","img":"icons/consumables/potions/round-cork-leaf-green.webp","data":{"category":"alchemy","subtype":"armor","description":"

le buveur doit réussir un jet d’esprit avec votre rang d’alchimiste en malus ou tomber follement amoureux ; durée : une lune ; 1 dose

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"legend","difficulty":"-2","pccost":4,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"RwLL4Ps54lMaUShO"} +{"name":"Poudre d’invisibilité","type":"item","img":"icons/consumables/potions/round-decorated-snake-green.webp","data":{"category":"alchemy","subtype":"armor","description":"

rend invisible aux yeux d’autrui, à moins d’entreprendre une action qui attire l’attention ; durée : une scène

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"legend","difficulty":"-2","pccost":4,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"UBDnUINYuRk1MT67"} +{"name":"Antalgique","type":"item","img":"icons/consumables/potions/bottle-ornate-bat-teal.webp","data":{"category":"alchemy","subtype":"armor","description":"

2d6 heures d'effet, 3 doses

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"common","difficulty":"1","pccost":1,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"UlDQi8b2L5nvdfar"} +{"name":"Sens Accrus","type":"item","img":"icons/consumables/potions/bottle-round-label-cork-blue.webp","data":{"category":"alchemy","subtype":"armor","description":"

Un dé de bonus aux jets d’action pour détecter ou repérer quelque chose ; durée : une scène

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"scarce","difficulty":"-1","pccost":2,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"aExkw1SAqQXQKfih"} +{"name":"Antidote contre les Venins Animaux et Poisons Végétaux","type":"item","img":"icons/consumables/potions/bottle-metal-yellow-gray.webp","data":{"category":"alchemy","subtype":"armor","description":"

soigne l’ empoisonnement en 1 heure, 3 doses

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"common","difficulty":"0","pccost":1,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"cnOu9ysD1SLZ9s1d"} +{"name":"Répulsifs à Insecte","type":"item","img":"icons/consumables/potions/potion-tube-corked-orange.webp","data":{"category":"alchemy","subtype":"armor","description":"

4d6 heures d’effet, 3 doses

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"common","difficulty":"1","pccost":1,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"dadXiS7LGF9hsQFd"} +{"name":"Antidote aux Poisons Alchimiques","type":"item","img":"icons/consumables/potions/bottle-bulb-corked-labeled-blue.webp","data":{"category":"alchemy","subtype":"armor","description":"

Soigne l’ empoisonnement en 1 heure, 3 doses

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"scarce","difficulty":"-1","pccost":2,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"g2dZBvSyW8fUdmvi"} +{"name":"Neutralisant d’acide","type":"item","img":"icons/consumables/potions/bottle-conical-corked-purple.webp","data":{"category":"alchemy","subtype":"armor","description":"

stoppe instantanément les effets d’une quantité équivalente d’acide ; 9 petites fioles

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"scarce","difficulty":"-1","pccost":2,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"hSftVccCmrEhSYmc"} +{"name":"Teinture de respiration aquatique","type":"item","img":"icons/consumables/potions/potion-bottle-corked-blue.webp","data":{"category":"alchemy","subtype":"armor","description":"

permet au buveur de respirer sous l’eau pendant une demi-journée

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"legend","difficulty":"-2","pccost":4,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"iQnztmumTwpX8vbi"} +{"name":"Remède contre la Vérole","type":"item","img":"icons/consumables/potions/bottle-conical-corked-tied-blue.webp","data":{"category":"alchemy","subtype":"armor","description":"","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"common","difficulty":"0","pccost":1,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"j0GkKyweP9tQGybn"} +{"name":"Métamorphose","type":"item","img":"icons/consumables/potions/bottle-bulb-corked-glowing-red.webp","data":{"category":"alchemy","subtype":"armor","description":"

le buveur prend l’apparence d’une autre personne, pour une durée d’une heure. Nécessite quelques cheveux, rognures d’ongles, ou gouttes de sang de la personne en question ; 1 dose

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"legend","difficulty":"-2","pccost":4,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"lVVZdSHnxj7ISSoE"} +{"name":"Vivacité","type":"item","img":"icons/consumables/potions/bottle-round-label-cork-purple.webp","data":{"category":"alchemy","subtype":"armor","description":"

+1 en agilité ; durée : une scène

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"scarce","difficulty":"-1","pccost":2,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"m1TrGH7Y71bcsWvC"} +{"name":"Panacée","type":"item","img":"icons/consumables/potions/flask-decorated-label-pink.webp","data":{"category":"alchemy","subtype":"armor","description":"

le buveur est guéri de n’importe quelle maladie ; 2 doses

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"legend","difficulty":"-2","pccost":4,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"pBxSv3oC7qVdWk82"} +{"name":"Héroïsme","type":"item","img":"icons/consumables/potions/flask-corked-yellow-glow.webp","data":{"category":"alchemy","subtype":"armor","description":"

le buveur bénéficie d’un bonus de +1 à toutes ses aptitudes de combat ; durée : une scène ; 1 dose

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"legend","difficulty":"-2","pccost":4,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"r4v0uPgUkeXiojMu"} +{"name":"Poudre de Phénix","type":"item","img":"icons/consumables/potions/potion-bottle-corked-labeled-red.webp","data":{"category":"alchemy","subtype":"armor","description":"

une poudre qui brûle au contact, même sous l’ eau, en infligeant d6 x3 points de dégâts

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"mythic","difficulty":"-4","pccost":8,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"seLHMb7EGeX5skWd"} +{"name":"Précision","type":"item","img":"icons/consumables/potions/bottle-conical-corked-yellow.webp","data":{"category":"alchemy","subtype":"armor","description":"

un dé de bonus aux jets d’attaque de tir ; durée : une scène

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"scarce","difficulty":"-1","pccost":2,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"wxdS4VRUgiEZwteO"} +{"name":"Remède contre le Scorbut","type":"item","img":"icons/consumables/potions/bottle-conical-corked-tied-blue.webp","data":{"category":"alchemy","subtype":"armor","description":"","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"common","difficulty":"0","pccost":1,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"y84Et9OUilBgtqv6"} +{"name":"Encre Invisible","type":"item","img":"icons/commodities/materials/feather-blue.webp","data":{"category":"alchemy","subtype":"armor","description":"

Réapparaît quand elle est mouillée ou chauffée

","properties":{"ranged":false,"melee":false,"spell":false,"protection":false,"weapon":false,"armor":false,"helm":false,"shield":false,"equipable":false,"consumable":false,"magical":false,"2H":false,"reloadable":false,"bow":false,"crossbow":false,"throwing":false,"stackable":false,"alchemytype":"common","difficulty":"1","pccost":1,"pccurrent":0},"quantity":1,"weight":0,"price":0,"worn":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"kQghu0tL1dft5xLu":3},"flags":{"core":{"sourceId":"Item.my6uixIzYHN3qrzY"}},"_id":"y9NHZCxKXMZEqcRo"} diff --git a/packs/prepaalchimiques.db b/packs/prepaalchimiques.db new file mode 100644 index 0000000..e69de29 diff --git a/system.json b/system.json index ad21cf6..5c9b5f6 100644 --- a/system.json +++ b/system.json @@ -14,7 +14,7 @@ "url": "https://www.uberwald.me/gitea/public/bol", "license": "LICENSE.txt", "flags": {}, - "version": "1.4.0", + "version": "1.5.0", "templateVersion": 10, "minimumCoreVersion": "0.8.6", "compatibleCoreVersion": "9", @@ -154,6 +154,22 @@ "system": "bol", "private": false }, + { + "label": "Alchimie - Potions", + "type": "Item", + "name": "potions-alchimie", + "path": "packs/potions-alchimie.db", + "system": "bol", + "private": false + }, + { + "label": "Alchimie - Objets", + "type": "Item", + "name": "objets-alchimie", + "path": "packs/objets-alchimie.db", + "system": "bol", + "private": false + }, { "label": "Créatures", "type": "Actor", @@ -167,7 +183,7 @@ "dependencies": [], "socket": true, "manifest": "https://www.uberwald.me/gitea/public/bol/raw/master/system.json", - "download": "https://www.uberwald.me/gitea/public/bol/archive/bol-v1.4.0.zip", + "download": "https://www.uberwald.me/gitea/public/bol/archive/bol-v1.5.0.zip", "protected": false, "background": "images/map_lemurie.webp", "gridDistance": 1.5, diff --git a/templates/chat/rolls/defense-summary-card.hbs b/templates/chat/rolls/defense-summary-card.hbs new file mode 100644 index 0000000..1b3f7a1 --- /dev/null +++ b/templates/chat/rolls/defense-summary-card.hbs @@ -0,0 +1,11 @@ +{{defender.name}} +

{{localize "BOL.chat.damagesummary" name=name}}

+ diff --git a/templates/chat/rolls/spell-roll-card.hbs b/templates/chat/rolls/spell-roll-card.hbs index 7805b71..b59dc18 100644 --- a/templates/chat/rolls/spell-roll-card.hbs +++ b/templates/chat/rolls/spell-roll-card.hbs @@ -1,4 +1,4 @@

{{localize "BOL.chat.spell"}} : {{spell.name}}

{{localize "BOL.chat.spellcost"}} : {{ppCost}}

-

{{localize "BOL.chat.spellremaining"}} : {{sub ppCurrent ppCost}}

+

{{localize "BOL.chat.spellremaining"}} : {{remainingPP}}