diff --git a/modules/hawkmoon-actor.js b/modules/hawkmoon-actor.js index 15aa655..323ba76 100644 --- a/modules/hawkmoon-actor.js +++ b/modules/hawkmoon-actor.js @@ -47,16 +47,31 @@ export class HawkmoonActor extends Actor { return super.create(data, options); } + /* -------------------------------------------- */ + getBonusDefenseFromTalents() { + let talents = this.items.filter(item => item.type == "talent" && item.system.isautomated) + let bonus = 0 + for (let talent of talents) { + for (let auto of talent.system.automations) { + if (auto.eventtype == "bonus-permanent" && auto.bonusname == "bonus-defensif") { + bonus += Number(auto.bonus || 0) + } + } + } + return bonus + } + /* -------------------------------------------- */ prepareArme(arme) { arme = duplicate(arme) let combat = this.getCombatValues() if (arme.system.typearme == "contact" || arme.system.typearme == "contactjet") { + let bonusDefense = this.getBonusDefenseFromTalents() arme.system.competence = duplicate(this.items.find(item => item.type == "competence" && item.name.toLowerCase() == "mêlée")) arme.system.attrKey = "pui" arme.system.totalDegats = arme.system.degats + "+" + combat.bonusDegatsTotal arme.system.totalOffensif = this.system.attributs.pui.value + arme.system.competence.system.niveau + arme.system.bonusmaniementoff - arme.system.totalDefensif = combat.defenseTotal + arme.system.competence.system.niveau + arme.system.seuildefense + arme.system.totalDefensif = combat.defenseTotal + arme.system.competence.system.niveau + arme.system.seuildefense + bonusDefense arme.system.isdefense = true } if (arme.system.typearme == "jet" || arme.system.typearme == "tir") { @@ -205,7 +220,8 @@ export class HawkmoonActor extends Actor { prepareDerivedData() { if (this.type == 'personnage') { - let vigueur = Math.floor((this.system.attributs.pui.value + this.system.attributs.tre.value) / 2) + let talentBonus = this.getVigueurBonus() + let vigueur = Math.floor((this.system.attributs.pui.value + this.system.attributs.tre.value) / 2) + talentBonus if (vigueur != this.system.sante.vigueur) { this.update({ 'system.sante.vigueur': vigueur }) } @@ -298,6 +314,21 @@ export class HawkmoonActor extends Actor { getVigueur() { return this.system.sante.vigueur } + + /* -------------------------------------------- */ + getVigueurBonus() { + let talents = this.items.filter(item => item.type == "talent" && item.system.isautomated) + let bonus = 0 + for (let talent of talents) { + for (let auto of talent.system.automations) { + if (auto.eventtype == "bonus-permanent" && auto.bonusname == "vigueur") { + bonus += Number(auto.bonus || 0) + } + } + } + return bonus + } + /* -------------------------------------------- */ getBonneAventure() { return this.system.bonneaventure.actuelle @@ -417,7 +448,8 @@ export class HawkmoonActor extends Actor { /* -------------------------------------------- */ getInitiativeScore() { - return this.lastInit || -1 + let init = this.getFlag("world", "last-initiative") + return init || -1 } /* -------------------------------------------- */ @@ -464,6 +496,8 @@ export class HawkmoonActor extends Actor { rollData.alias = this.name rollData.actorImg = this.img rollData.actorId = this.id + rollData.isToken = this.isToken + rollData.tokenId = this.token?.id rollData.img = this.img rollData.attributs = HawkmoonUtility.getAttributs() rollData.maitriseId = "none" @@ -518,6 +552,7 @@ export class HawkmoonActor extends Actor { } let rollData = this.getCommonRollData(arme.system.attrKey, arme.system.competence._id) rollData.arme = arme + HawkmoonUtility.updateWithTarget(rollData) console.log("ARME!", rollData) let rollDialog = await HawkmoonRollDialog.create(this, rollData) rollDialog.render(true) diff --git a/modules/hawkmoon-combat.js b/modules/hawkmoon-combat.js index 7ee1a97..92ad0f6 100644 --- a/modules/hawkmoon-combat.js +++ b/modules/hawkmoon-combat.js @@ -8,9 +8,9 @@ export class HawkmoonCombat extends Combat { ids = typeof ids === "string" ? [ids] : ids; for (let cId = 0; cId < ids.length; cId++) { const c = this.combatants.get(ids[cId]); - let id = c._id || c.id; + //console.log("Init for combattant", c ) + let id = c._id || c.id let initValue = c.actor ? c.actor.getInitiativeScore() : 0 - //console.log("Init bonus", initBonus, roll.total) await this.updateEmbeddedDocuments("Combatant", [ { _id: id, initiative: initValue } ]); } diff --git a/modules/hawkmoon-roll-dialog.js b/modules/hawkmoon-roll-dialog.js index db336ff..80487cd 100644 --- a/modules/hawkmoon-roll-dialog.js +++ b/modules/hawkmoon-roll-dialog.js @@ -5,7 +5,7 @@ export class HawkmoonRollDialog extends Dialog { /* -------------------------------------------- */ static async create(actor, rollData ) { - let options = { classes: ["HawkmoonDialog"], width: 340, height: 'fit-content', 'z-index': 99999 }; + let options = { classes: ["HawkmoonDialog"], width: 320, height: 'fit-content', 'z-index': 99999 }; let html = await renderTemplate('systems/fvtt-hawkmoon-cyd/templates/roll-dialog-generic.html', rollData); return new HawkmoonRollDialog(actor, rollData, html, options ); @@ -70,7 +70,11 @@ export class HawkmoonRollDialog extends Dialog { this.rollData.maitriseId = String(event.currentTarget.value) }) html.find('#competence-talents').change((event) => { - this.rollData.selectedTalents = $('#competence-talents').val() + this.rollData.selectedTalents = $('#competence-talents').val() }) + html.find('#bonus-malus-context').change((event) => { + this.rollData.bonusMalusContext = Number(event.currentTarget.value) + }) + } } \ No newline at end of file diff --git a/modules/hawkmoon-utility.js b/modules/hawkmoon-utility.js index c3b34fe..2354390 100644 --- a/modules/hawkmoon-utility.js +++ b/modules/hawkmoon-utility.js @@ -363,8 +363,9 @@ export class HawkmoonUtility { } } } + rollData.diceFormula += `+${rollData.bonusMalusContext}` } else { - rollData.diceFormula += `+${rollData.attr.value}*${rollData.multiplier}+${rollData.modificateur}` + rollData.diceFormula += `+${rollData.attr.value}*${rollData.multiplier}+${rollData.modificateur}+${rollData.bonusMalusContext}` } // Ajout adversités @@ -382,7 +383,12 @@ export class HawkmoonUtility { rollData.finalResult = myRoll.total this.computeResult(rollData) if (rollData.isInit) { - actor.lastInit = rollData.finalResult + let actorInit = actor + if ( rollData.isToken && rollData.tokenId) { + actorInit = game.canvas.tokens.get(rollData.tokenId).actor + } + actorInit.setFlag("world", "last-initiative", rollData.finalResult) + //console.log("IS TOKEN ?????", actor, actor.isToken) } this.createChatWithRollMode(rollData.alias, { @@ -501,8 +507,8 @@ export class HawkmoonUtility { pointAmeOptions: this.getPointAmeOptions(), difficulte: 0, modificateur: 0, + bonusMalusContext: 0 } - HawkmoonUtility.updateWithTarget(rollData) return rollData } diff --git a/packs/talents.db b/packs/talents.db index 6dab968..14425ff 100644 --- a/packs/talents.db +++ b/packs/talents.db @@ -74,7 +74,6 @@ {"name":"Rumeur du monde","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"

Toujours au fait des rumeurs les plus diverses, vous avez probablement entendu parler de tel homme en vue ou de telle affaire en cours. Quand vous dépensez 2 points de Bonne Aventure pour un test de Savoir : Europe, le bonus est de + 10.

","isautomated":true,"automations":[{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Savoir : Europe","minLevel":0,"id":"qP2b05qqq1LPsPfS","bonus":"10","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Quand vous dépensez 2 points de Bonne Aventure pour un test de Savoir : Europe, le bonus est de + 10.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.6vVfteW1VMQO7FEU"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666907153831,"modifiedTime":1668941455539,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"NMogAhUITTgOJ3fO","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}} {"name":"Chemin le plus sûr","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"

Votre expérience et votre flair vous aident à prendre les bonnes décisions quand vous voyagez. Lorsque vous dépensez 2 points de Bonne Aventure pour un test de Routes (Commerce), le bonus est de + 10. 

","isautomated":true,"automations":[{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Routes","minLevel":0,"id":"ho5pyZmo1Np1KwkV","bonus":"10","baCost":"2"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Lorsque vous dépensez 2 points de Bonne Aventure pour un test de Routes (Commerce), le bonus est de + 10. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.ahxYvtVMa0wn9lvd"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666898124086,"modifiedTime":1668941455518,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"NqPn79uFDSspYbW1","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}} {"name":"Avec les tripes","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"

Vous pouvez utiliser votre Trempe plutôt que l’Attribut habituellement associé à la Compétence, par exemple en Mêlée. Vous devez expliquer comment vous sollicitez votre Trempe dans ce contexte particulier. 

","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","script":"actor.checkAttribut(\"Trempe\", 6)","id":"QPfzcI6nHXfbBO1d","competence":"Trempe","minLevel":"6"}],"talenttype":"personnage","utilisation":"sceance","prerequis":"Trempe 6","resumebonus":"Vous pouvez utiliser votre Trempe plutôt que l’Attribut habituellement associé à la Compétence","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.QowafGt1zBKr96sb"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666815309617,"modifiedTime":1668941455516,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"NxeONiYARHdzhdoX","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}} -{"name":"Dur(e) au mal","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"

Vous êtes devenu(e) particulièrement robuste. Votre Vigueur est augmentée d’1 point.

","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.xsapWqPy734d1z7K"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666901026461,"modifiedTime":1668941455521,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"PCW6YLO6IFSU28tt","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}} {"name":"Ingéniosité","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"

Vous pouvez utiliser votre Clairvoyance plutôt que l’Attribut habituellement associé à la Compétence. Vous devez expliquer comment vous sollicitez votre Clairvoyance dans ce contexte particulier.

","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.aNHKGIdMrDIYY0eq"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666903896953,"modifiedTime":1668941455529,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"PLk6bMyj7in5GBX0","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}} {"name":"Faussaire-né(e)","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"

Vous avez des facilités dans l’art de produire des faux documents. Quand vous dépensez 2 points de Bonne Aventure pour un test de Savoir : Falsification, le bonus est de + 10.

","isautomated":true,"automations":[{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Savoir : Falsification","minLevel":0,"id":"BHx9xNjbS1Bp3VRF","bonus":"10","baCost":"2"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Quand vous dépensez 2 points de Bonne Aventure pour un test de Savoir : Falsification, le bonus est de + 10.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.7ibsPEkOYJqO4PZl"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666901958786,"modifiedTime":1668941455523,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"PVJX9BXGwaUMfPWD","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}} {"name":"Captivant(e)","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"

Vous êtes très doué(e) pour la vulgarisation. Vous parlez avec passion des domaines qui vous intéressent et l’on vous écoute le plus souvent avec intérêt. Si vous réussissez un test de Présence
+ un Savoir au choix, votre cours improvisé captive jusqu’à 1d5 individus qui en sont les auditeurs. Le MJ ajustera le SD en fonction du public : 15 pour un jeune esprit avide de connaissances,
18 pour une aubergiste pas spécialement bien disposée à votre égard, 30 pour un religieux obscurantiste. Considérez que cette réussite équivaut à l’effet que vous obtiendriez si vous aviez
réussi un test de Persuasion de SD 20. Pour obtenir une faveur équivalente à un SD plus élevé, ce Talent ne peut pas être mobilisé. Ce ne sera donc sans doute pas suffisant pour mettre fin à votre captivité, mais peut-être cela vous évitera-t-il une exécution immédiate… 

","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"sceance","prerequis":"","resumebonus":"Test de Présence + un Savoir au choix, votre cours improvisé captive jusqu’à 1d5 individus ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.Ziu2DbjI5tnNJ1Aw"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666897627590,"modifiedTime":1668941455517,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"PdtVqObUozdhQdKQ","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}} @@ -117,6 +116,7 @@ {"name":"Galimatias","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"

Vous savez parler dans une langue obscure, pleine de termes compliqués qui embrouillent l’esprit de votre interlocuteur. Quand vous dépensez 2 points de Bonne Aventure pour un test de Baratin (Persuasion), le bonus est de + 10.

\n

Note : le MJ devrait inviter le personnage à improviser ce propos alambiqué à la table de jeu.

","isautomated":true,"automations":[{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Persuasion","minLevel":0,"id":"pZQhEkinrofGRTpv","bonus":"10","baCost":"2"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Quand vous dépensez 2 points de Bonne Aventure pour un test de Baratin (Persuasion), le bonus est de + 10.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.R1w5NF07iKgpqI1P"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666902747212,"modifiedTime":1668941455526,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"bFFT84gkgybEpj41","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}} {"name":"Trompe-l’oeil","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"

Si vous dépensez 1 point de Bonne Aventure, l’objet que vous produisez grâce à l’art que vous possédez au niveau 9 (sculpture ou peinture) est si parfaitement exécuté qu’il ressemble à s’y méprendre à son modèle réel. Il faut réussir un test de Clairvoyance + Persuasion / 25 pour remarquer l’illusion. 

","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Savoir : Peinture & Sculpture","minLevel":"9","id":"ihQKyJa787nitQsq"}],"talenttype":"personnage","utilisation":"sceance","prerequis":"Savoir : Peinture & Sculpture au niveau 9.","resumebonus":"Si vous dépensez 1 point de Bonne Aventure, l’objet que vous produisez grâce à l’art que vous possédez au niveau 9 (sculpture ou peinture) est si parfaitement exécuté qu’il ressemble à s’y méprendre à son modèle réel","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.SEvYDrbtczrZhS0k"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666941447428,"modifiedTime":1668941455541,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"bWVfw78hUa5uibnt","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}} {"name":"Passe-partout","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"

Les serrures n’ont presque plus de secret pour vous. Lorsque vous faites un test de Filouterie afin de crocheter une porte, vous bénéficiez d’un + 3.

","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Filouterie","minLevel":"6","id":"cfOF8CS031BkS0Cp"},{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Filouterie","minLevel":0,"id":"SHg4jPvigVo7PHiX","bonus":"3","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Filouterie 6.","resumebonus":"Lorsque vous faites un test de Filouterie afin de crocheter une porte, vous bénéficiez d’un + 3.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.TjDQlpT0asXGBwfU"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666905900995,"modifiedTime":1668941455534,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"bgJ2lEngn7UZMplj","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}} +{"name":"Parade","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"

Vous avez développé, en combat, l’art de parer les coups. Votre Seuil de Défense est augmenté d’un point. 

","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Mêlée","minLevel":"6","id":"IkwLfxWGCGEVbuik"},{"eventtype":"bonus-permanent","name":"Automatisation 1","competence":"","minLevel":0,"id":"sPi6NiM5wUIkrajE","bonusname":"bonus-defensif","bonus":"1"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Mêlée 6.","resumebonus":"Vous avez développé, en combat, l’art de parer les coups. Votre Seuil de Défense est augmenté d’un point. ","used":false},"effects":[],"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3},"flags":{"core":{"sourceId":"Item.LFMsAxdir7MiMBjQ"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.1.0","coreVersion":"10.290","createdTime":1666905763861,"modifiedTime":1669715660873,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"folder":null,"sort":0,"_id":"cAxpTU6FBb5UItLs"} {"name":"Coup dévastateur","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"

Vos coups peuvent être surpuissants. Vous ajoutez votre niveau de Puissance / 2 (arrondi à l’inférieur) aux dégâts infligés en mêlée.

","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Mêlée","minLevel":"6","id":"7HSfr8L3CDZzwXrq"}],"talenttype":"personnage","utilisation":"sceance","prerequis":"Mêlée 6.","resumebonus":"Vous ajoutez votre niveau de Puissance / 2 (arrondi à l’inférieur) aux dégâts infligés en mêlée.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.6aa76XCuV2czNM7H"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666899784026,"modifiedTime":1668941455520,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"cQLCQafJydtoxmwy","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}} {"name":"Massue","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"

Vous avez pris le coup de main, dirait-on. Lorsqu’un test de Filouterie est effectué dans le but d’assommer quelqu’un, vous bénéficiez d’un + 3. 

","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Filouterie","minLevel":"5","id":"7BFwnvtOYV2cqtiO"},{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Filouterie","minLevel":0,"id":"VB3gPB0OuRupmm11","bonus":"3","baCost":"0"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Filouterie 5.","resumebonus":"Lorsqu’un test de Filouterie est effectué dans le but d’assommer quelqu’un, vous bénéficiez d’un + 3. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.aN0WyT6NLBbXCysb"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666905173546,"modifiedTime":1668941455532,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"cTRoeHjWPLC2byRM","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}} {"name":"Rudiments sorciers","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"

Vos connaissances et votre capacité de réflexion vous permettent d’embrasser plus facilement la sorcellerie. Bifurquer vers ce Profil (voir p. 148) ne vous coûte aucun point d’Expérience. 

","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.lrb4kanVjR4KILIQ"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666907129143,"modifiedTime":1668941455538,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"d7CNKeK4SvjFACmu","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}} @@ -151,7 +151,7 @@ {"name":"Dans chaque port","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"

Même chose qu’@UUID[Compendium.fvtt-hawkmoon-cyd.talents.UOEolcYPAMHV9jNK]{ALLIÉS DE POIDS} (voir p. 167), mais les Alliés sont de niveau 1 et la zone dans laquelle ils se trouvent possède obligatoirement un port ou un littoral. 

","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"scenario","prerequis":"","resumebonus":"Personnes qui se comporteront avec vous comme des Alliés de niveau 1. Chacun de ces Alliés ne vous aidera qu’une seule fois.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.f5aGzDoWY9t0P1v9"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666900264043,"modifiedTime":1668941455520,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"kwVjT9LvsEpMGIjs","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}} {"name":"Sous la main","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"

Vous avez l’habitude de vous battre avec ce qui vous tombe sous la main. Les armes improvisées ne causent la perte que d’un seul niveau de Combativité en cas de réussite simple ? Pas quand vous les maniez. En cas de réussite simple, vous lancez un d10, comme s’il s’agissait d’une arme normale.

","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.q2Hdd1MtM10Lt3AO"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666907955009,"modifiedTime":1668941455540,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"m1YHV1M2sFZQfJ56","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}} {"name":"Savoir druidique","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"

Vous comprenez le chant du monde comme une langue maternelle. Quand vous dépensez 2 points de Bonne Aventure, le bonus à votre test de Savoir : Monde naturel est de + 10. 

","isautomated":true,"automations":[{"eventtype":"prepare-roll","name":"Automatisation 1","competence":"Savoir : Monde naturel","minLevel":0,"id":"0IIzKJ7OWluoLHDe","bonus":"10","baCost":"2"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"Quand vous dépensez 2 points de Bonne Aventure, le bonus à votre test de Savoir : Monde naturel est de + 10. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.Z6IVtLn2g1NTuoZk"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666907507886,"modifiedTime":1668941455539,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"mChIOEmLkQriVxkR","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}} -{"name":"Parade","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"

Vous avez développé, en combat, l’art de parer les coups. Votre Seuil de Défense est augmenté d’un point. 

","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Mêlée","minLevel":"6","id":"IkwLfxWGCGEVbuik"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Mêlée 6.","resumebonus":"Vous avez développé, en combat, l’art de parer les coups. Votre Seuil de Défense est augmenté d’un point. ","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.LFMsAxdir7MiMBjQ"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666905763861,"modifiedTime":1668941455533,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"mN54PDKiYBk4mXbR","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}} +{"name":"Dur(e) au mal","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"

Vous êtes devenu(e) particulièrement robuste. Votre Vigueur est augmentée d’1 point.

","isautomated":true,"automations":[{"eventtype":"bonus-permanent","name":"Automatisation 1","competence":"","minLevel":0,"id":"hJSJxfOlzpVNBLs5","bonus":"1","bonusname":"vigueur"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"","used":false},"effects":[],"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3},"flags":{"core":{"sourceId":"Item.xsapWqPy734d1z7K"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.1.0","coreVersion":"10.290","createdTime":1666901026461,"modifiedTime":1669715645981,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"folder":null,"sort":0,"_id":"mSueeCXldbJfgJG4"} {"name":"Tout-terrain","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"

Vous avez l’habitude d’évoluer sur des terrains difficiles. Lorsque vous vous déplacez, le modificateur de difficulté lié au terrain est ignoré ou amoindri. Le SD que vous devez atteindre pour un test donné est en conséquence diminué de deux ou trois niveaux, à la discrétion du MJ. 

","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.cir8bwIl5fQ6EjKl"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666941298020,"modifiedTime":1668941455541,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"mZGH7DQuNP6c5GcE","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}} {"name":"Coûts maîtrisés","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"

Vous êtes en mesure de diviser par deux le coût de fabrication de tous les artefacts technologiques que vous créez.

","isautomated":true,"automations":[{"eventtype":"on-drop","name":"Automatisation 1","competence":"Savoir : Sorcellerie","minLevel":"6","id":"Br7QaKQsWXdkUOuu"}],"talenttype":"personnage","utilisation":"permanent","prerequis":"Savoir : Sorcellerie 6.","resumebonus":"Vous êtes en mesure de diviser par deux le coût de fabrication de tous les artefacts technologiques que vous créez.","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.TWBovBcpp4fd2lk1"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666899840277,"modifiedTime":1668941455520,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"mZzzd66l7wyZBgZu","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}} {"name":"Encaissement","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"

Vous avez appris à souffrir et à surmonter la douleur. Quand votre état atteint le niveau Affaibli, ignorez les deux Adversités qui vous sont infligées jusqu’à la fin de la scène. Une fois le combat ou la scène achevé(e), prenez normalement en compte ces deux Adversités. 

","isautomated":false,"automations":[],"talenttype":"personnage","utilisation":"permanent","prerequis":"","resumebonus":"","used":false},"effects":[],"flags":{"core":{"sourceId":"Item.paT3LilYY44t8Jxz"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.18","coreVersion":"10.290","createdTime":1666901415829,"modifiedTime":1668941455522,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"_id":"mkHqOHLGKEU0zeMi","folder":null,"sort":0,"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3}} diff --git a/styles/simple.css b/styles/simple.css index b1db581..ff8bd76 100644 --- a/styles/simple.css +++ b/styles/simple.css @@ -634,6 +634,7 @@ ul, li { } .roll-dialog-label { margin: 4px 0; + padding-top: 7px; } .short-label { @@ -1190,7 +1191,7 @@ ul, li { text-decoration: none; text-shadow: 0px 1px 0px #4d3534; position: relative; - max-height:1.8rem; + max-height:1.7rem; margin-left:4px; flex-grow:1; max-width: 4rem; diff --git a/system.json b/system.json index f93696f..36bcba0 100644 --- a/system.json +++ b/system.json @@ -1,7 +1,7 @@ { "id": "fvtt-hawkmoon-cyd", "description": "Hawmoon RPG for FoundryVTT (CYD system - French)", - "version": "10.0.19", + "version": "10.1.0", "authors": [ { "name": "Uberwald/LeRatierBretonnien", @@ -35,7 +35,7 @@ "gridUnits": "m", "license": "LICENSE.txt", "manifest": "https://www.uberwald.me/gitea/public/fvtt-hawkmoon-cyd/raw/branch/master/system.json", - "download": "https://www.uberwald.me/gitea/public/fvtt-hawkmoon-cyd/archive/fvtt-hawkmoon-cyd-10.0.19.zip", + "download": "https://www.uberwald.me/gitea/public/fvtt-hawkmoon-cyd/archive/fvtt-hawkmoon-cyd-10.1.0.zip", "packs": [ { "type": "Item", diff --git a/template.json b/template.json index 9fb69b3..1f1151a 100644 --- a/template.json +++ b/template.json @@ -82,6 +82,7 @@ "initbonus": 0, "vitessebonus": 0, "bonusdegats": 0, + "attaquebonus": 0, "defensebonus": 0 } }, diff --git a/templates/chat-degats-result.html b/templates/chat-degats-result.html index c375b20..131bf71 100644 --- a/templates/chat-degats-result.html +++ b/templates/chat-degats-result.html @@ -22,7 +22,7 @@
  • Dégats : {{finalResult}}
  • {{#if targetVigueur}}
  • Vigueur de la cible : {{targetVigueur}}
  • -
  • Etats de Combativité perdus : {{nbEtatPerdus}}
  • +
  • Etats Combativité supplémentaires perdus (manuel): {{nbEtatPerdus}}
  • {{/if}} diff --git a/templates/chat-generic-result.html b/templates/chat-generic-result.html index 2f3febf..b4e3510 100644 --- a/templates/chat-generic-result.html +++ b/templates/chat-generic-result.html @@ -64,7 +64,7 @@ {{#if isSuccess}} {{#if arme}} -
  • Votre adversaire perd 1 Etat de Combativité
  • +
  • Votre adversaire perd 1 Etat de Combativité (manuel)
  • {{#if (not arme.system.onlevelonly)}} {{/if}} diff --git a/templates/partial-automation.html b/templates/partial-automation.html index a442a68..e363d8a 100644 --- a/templates/partial-automation.html +++ b/templates/partial-automation.html @@ -16,8 +16,8 @@ value="{{automation.eventtype}}" data-dtype="String"> {{#select automation.eventtype}} - + {{/select}} @@ -39,6 +39,23 @@ {{/if}} + {{#if (eq automation.eventtype "bonus-permanent")}} +
  • + + +
  • +
  • + + +
  • + {{/if}} + {{#if (eq automation.eventtype "prepare-roll")}}
  • diff --git a/templates/roll-dialog-generic.html b/templates/roll-dialog-generic.html index d2d3114..f0ffadd 100644 --- a/templates/roll-dialog-generic.html +++ b/templates/roll-dialog-generic.html @@ -20,21 +20,21 @@ {{else}} {{attr.label}} - {{attr.value}} + {{attr.value}} {{/if}} {{#if nbAdversites}}
    - Malus d'adversités : - - {{nbAdversites}} + Malus d'adversités + - {{nbAdversites}}
    {{/if}} - + {{#if competence}}
    {{competence.name}} - {{competence.system.niveau}} + {{competence.system.niveau}}
    {{#if maitrises}}
    @@ -53,7 +53,7 @@ {{#if (count talents)}}
    - Talents applicables : + Talents + {{#select bonusMalusContext}} + + + + + + + + + + {{/select}} + +
    + {{#if armeDefense}}
    Défense adversaire : {{difficulte}}
    {{else}} + {{#if isInit}} + + {{else}}
    Difficulté : + {{/if}}
    {{/if}} - +
    \ No newline at end of file