Compare commits

..

6 Commits

22 changed files with 527 additions and 64 deletions

31
lang/fr.json Normal file
View File

@@ -0,0 +1,31 @@
{
"ACTOR": {
"TypePersonnage": "Personnage",
"TypeCellule": "Cellule",
"TypeCreature": "Créature"
},
"ITEM": {
"TypeArtefact": "Artefact",
"TypeArme": "Arme",
"TypeTalent": "Talent",
"TypeHistorique": "Historique",
"TypeProfil": "Profil",
"TypeCompetence": "Compétence",
"TypeProtection": "Protection",
"TypeMonnaie": "Monnaie",
"TypeEquipement": "Equipement",
"TypeRessource": "Ressource",
"TypeContact": "Contact"
},
"HAWKMOON": {
"ui": {
"editContact": "Modifier le contact",
"deleteContact": "Supprimer le contact",
"editTrait": "Modifier le trait",
"deleteTrait": "Supprimer le trait"
}
}
}

View File

@@ -48,6 +48,11 @@ export class HawkmoonActorSheet extends ActorSheet {
profils: duplicate(this.actor.getProfils() || {}),
combat: this.actor.getCombatValues(),
equipements: duplicate(this.actor.getEquipments()),
artefacts: duplicate(this.actor.getArtefacts()),
monnaies: duplicate(this.actor.getMonnaies()),
richesse: this.actor.computeRichesse(),
valeurEquipement: this.actor.computeValeurEquipement(),
initiative: this.actor.getFlag("world", "last-initiative") || -1,
description: await TextEditor.enrichHTML(this.object.system.biodata.description, {async: true}),
habitat: await TextEditor.enrichHTML(this.object.system.biodata.habitat, {async: true}),
options: this.options,
@@ -111,15 +116,12 @@ export class HawkmoonActorSheet extends ActorSheet {
let value = Number($(event.currentTarget).data("adversite-value"))
this.actor.incDecAdversite(adv, value)
})
html.find('.quantity-minus').click(event => {
const li = $(event.currentTarget).parents(".item");
this.actor.incDecQuantity( li.data("item-id"), -1 );
} );
html.find('.quantity-plus').click(event => {
const li = $(event.currentTarget).parents(".item");
this.actor.incDecQuantity( li.data("item-id"), +1 );
} );
html.find('.quantity-modify').click(event => {
const li = $(event.currentTarget).parents(".item")
const value = Number($(event.currentTarget).data("quantite-value"))
this.actor.incDecQuantity( li.data("item-id"), value );
})
html.find('.roll-initiative').click((event) => {
this.actor.rollAttribut("pre", true)

View File

@@ -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") {
@@ -101,6 +116,14 @@ export class HawkmoonActor extends Actor {
getEquipments() {
return this.items.filter(item => item.type == "equipement")
}
/* ----------------------- --------------------- */
getArtefacts() {
return this.items.filter(item => item.type == "artefact")
}
/* ----------------------- --------------------- */
getMonnaies() {
return this.items.filter(item => item.type == "monnaie")
}
/* -------------------------------------------- */
getArmors() {
return this.items.filter(item => item.type == "protection")
@@ -205,7 +228,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 +322,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
@@ -396,12 +435,36 @@ export class HawkmoonActor extends Actor {
async incDecQuantity(objetId, incDec = 0) {
let objetQ = this.items.get(objetId)
if (objetQ) {
let newQ = objetQ.system.quantity + incDec
let newQ = objetQ.system.quantite + incDec
newQ = Math.max(newQ, 0)
const updated = await this.updateEmbeddedDocuments('Item', [{ _id: objetQ.id, 'system.quantity': newQ }]); // pdates one EmbeddedEntity
const updated = await this.updateEmbeddedDocuments('Item', [{ _id: objetQ.id, 'system.quantite': newQ }]); // pdates one EmbeddedEntity
}
}
/* -------------------------------------------- */
computeRichesse() {
let valueSC = 0
for(let monnaie of this.items) {
if (monnaie.type == "monnaie") {
valueSC += Number(monnaie.system.prixsc) * Number(monnaie.system.quantite)
}
}
return HawkmoonUtility.computeMonnaieDetails( valueSC)
}
/* -------------------------------------------- */
computeValeurEquipement() {
let valueSC = 0
for(let equip of this.items) {
if (equip.type == "equipement" || equip.type == "arme" || equip.type == "protection") {
valueSC += Number(equip.system.prixsc) * Number(equip.system.quantite ?? 1)
valueSC += (Number(equip.system.prixca) * Number(equip.system.quantite ?? 1)) * 20
valueSC += (Number(equip.system.prixpo) * Number(equip.system.quantite ?? 1)) * 400
}
}
return HawkmoonUtility.computeMonnaieDetails( valueSC)
}
/* -------------------------------------------- */
getCompetence(compId) {
return this.items.get(compId)
@@ -417,7 +480,8 @@ export class HawkmoonActor extends Actor {
/* -------------------------------------------- */
getInitiativeScore() {
return this.lastInit || -1
let init = this.getFlag("world", "last-initiative")
return init || -1
}
/* -------------------------------------------- */
@@ -458,12 +522,18 @@ export class HawkmoonActor extends Actor {
return talents
}
/* -------------------------------------------- */
buildListeAdversites() {
return []
}
/* -------------------------------------------- */
getCommonRollData(attrKey = undefined, compId = undefined, compName = undefined) {
let rollData = HawkmoonUtility.getBasicRollData()
rollData.alias = this.name
rollData.actorImg = this.img
rollData.actorId = this.id
rollData.tokenId = this.token?.id
rollData.img = this.img
rollData.attributs = HawkmoonUtility.getAttributs()
rollData.maitriseId = "none"
@@ -518,6 +588,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)

View File

@@ -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 } ]);
}

71
modules/hawkmoon-hud.js Normal file
View File

@@ -0,0 +1,71 @@
/* -------------------------------------------- */
/* -------------------------------------------- */
export class HawkmoonTokenHud {
static init() {
// Integration du TokenHUD
Hooks.on('renderTokenHUD', (app, html, data) => { HawkmoonTokenHud.addTokenHudExtensions(app, html, data._id) });
}
/* -------------------------------------------- */
static async removeExtensionHud(app, html, tokenId) {
html.find('.control-icon.hawkmoon-adversite').remove()
}
/* -------------------------------------------- */
static async addExtensionHud(app, html, tokenId) {
let token = canvas.tokens.get(tokenId)
let actor = token.actor
app.hasExtension = true
const hudData = { actor: actor }
const controlIconActions = html.find('.control-icon[data-action=combat]');
// initiative
await HawkmoonTokenHud._configureSubMenu(controlIconActions, 'systems/fvtt-hawkmoon-cyd/templates/hud-adversites.html', hudData,
(event) => {
let adversite = event.currentTarget.attributes['data-action-index'].value
let value = Number(event.currentTarget.attributes['data-action-value'].value)
hudData.actor.incDecAdversite( adversite, value)
} )
}
/* -------------------------------------------- */
static async addTokenHudExtensions(app, html, tokenId) {
const controlIconCombat = html.find('.control-icon[data-action=combat]')
if (controlIconCombat.length>0 ) {
HawkmoonTokenHud.addExtensionHud(app, html, tokenId);
}
}
/* -------------------------------------------- */
static async _configureSubMenu(insertionPoint, template, hudData, onMenuItem) {
const hud = $(await renderTemplate(template, hudData))
const list = hud.find('div.hawkmoon-hud-list')
HawkmoonTokenHud._toggleHudListActive(hud, list);
hud.find('img.hawkmoon-hud-togglebutton').click(event => HawkmoonTokenHud._toggleHudListActive(hud, list));
list.find('.hawkmoon-hud-adversite').click(onMenuItem);
insertionPoint.after(hud);
}
/* -------------------------------------------- */
static _showControlWhen(control, condition) {
if (condition) {
control.show()
}
else {
control.hide()
}
}
/* -------------------------------------------- */
static _toggleHudListActive(hud, list) {
hud.toggleClass('active')
HawkmoonTokenHud._showControlWhen(list, hud.hasClass('active'))
}
}

View File

@@ -17,6 +17,7 @@ import { HawkmoonUtility } from "./hawkmoon-utility.js";
import { HawkmoonCombat } from "./hawkmoon-combat.js";
import { HawkmoonItem } from "./hawkmoon-item.js";
import { HawkmoonAutomation } from "./hawkmoon-automation.js";
import { HawkmoonTokenHud } from "./hawkmoon-hud.js";
/* -------------------------------------------- */
/* Foundry VTT Initialization */
@@ -64,6 +65,7 @@ Hooks.once("init", async function () {
HawkmoonUtility.init()
HawkmoonAutomation.init()
HawkmoonTokenHud.init()
});
@@ -110,7 +112,8 @@ function registerUsageCount(registerKey) {
/* -------------------------------------------- */
Hooks.once("ready", function () {
HawkmoonUtility.ready();
HawkmoonUtility.ready()
// User warning
if (!game.user.isGM && game.user.character == undefined) {
ui.notifications.info("Attention ! Aucun personnage n'est relié au joueur !");

View File

@@ -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)
})
}
}

View File

@@ -96,7 +96,7 @@ export class HawkmoonUtility {
static async ready() {
const skills = await HawkmoonUtility.loadCompendium("fvtt-hawkmoon-cyd.skills")
this.skills = skills.map(i => i.toObject())
// Setup pause logo
let logoPause = "systems/fvtt-hawkmoon-cyd/assets/logos/" + game.settings.get("fvtt-hawkmoon-cyd", "hawkmoon-pause-logo") + ".webp"
let logoImg = document.querySelector('#pause').children[0]
@@ -127,7 +127,7 @@ export class HawkmoonUtility {
let messageId = HawkmoonUtility.findChatMessageId(event.currentTarget)
let message = game.messages.get(messageId)
let rollData = message.getFlag("world", "hawkmoon-roll")
let actor = game.actors.get(rollData.actorId)
let actor = this.getActorFromRollData(rollData)
await actor.setPredilectionUsed(rollData.competence._id, predIdx)
rollData.competence = duplicate(actor.getCompetence(rollData.competence._id))
HawkmoonUtility.rollHawkmoon(rollData)
@@ -137,7 +137,7 @@ export class HawkmoonUtility {
let messageId = HawkmoonUtility.findChatMessageId(event.currentTarget)
let message = game.messages.get(messageId)
let rollData = message.getFlag("world", "hawkmoon-roll")
let actor = game.actors.get(rollData.actorId)
let actor = this.getActorFromRollData(rollData)
actor.rollArmeDegats(rollData.arme._id, rollData.targetVigueur)
})
}
@@ -154,6 +154,7 @@ export class HawkmoonUtility {
'systems/fvtt-hawkmoon-cyd/templates/partial-item-prix.html',
'systems/fvtt-hawkmoon-cyd/templates/partial-sante-etat.html',
'systems/fvtt-hawkmoon-cyd/templates/partial-automation.html',
'systems/fvtt-hawkmoon-cyd/templates/hud-adversites.html',
]
return loadTemplates(templatePaths);
}
@@ -216,8 +217,15 @@ export class HawkmoonUtility {
}
/* -------------------------------------------- */
static getDefenseState(actorId) {
return this.defenderStore[actorId];
static getActorFromRollData(rollData) {
let actor = game.actors.get(rollData.actorId)
if (rollData.tokenId) {
let token = canvas.tokens.placeables.find(t => t.id == rollData.tokenId)
if (token) {
actor = token.actor
}
}
return actor
}
/* -------------------------------------------- */
@@ -297,10 +305,20 @@ export class HawkmoonUtility {
}
}
/* -------------------------------------------- */
static computeMonnaieDetails(valueSC) {
let po = Math.floor(valueSC / 400)
let pa = Math.floor((valueSC - (po*400)) / 20)
let sc = valueSC - (po*400) - (pa*20)
return {
po: po, pa: pa, sc: sc, valueSC: valueSC
}
}
/* -------------------------------------------- */
static computeResult(rollData) {
rollData.diceResult = rollData.roll.terms[0].results[0].result
if (rollData.mainDice.includes("d20") ) {
if (rollData.mainDice.includes("d20")) {
let diceValue = rollData.roll.terms[0].results[0].result
if (diceValue % 2 == 1) {
//console.log("PAIR/IMP2", diceValue)
@@ -318,13 +336,13 @@ export class HawkmoonUtility {
rollData.isHeroique = ((rollData.finalResult - rollData.difficulte) >= 10)
rollData.isDramatique = ((rollData.finalResult - rollData.difficulte) <= -10)
}
}
/* -------------------------------------------- */
static async rollHawkmoon(rollData) {
let actor = game.actors.get(rollData.actorId)
let actor = this.getActorFromRollData(rollData)
if (rollData.attrKey == "tochoose") { // No attr selected, force address
rollData.attrKey = "adr"
}
@@ -333,8 +351,8 @@ export class HawkmoonUtility {
rollData.attr = duplicate(actor.system.attributs[rollData.attrKey])
}
if ( rollData.maitriseId != "none") {
rollData.selectedMaitrise = rollData.maitrises.find(p => p.id == rollData.maitriseId )
if (rollData.maitriseId != "none") {
rollData.selectedMaitrise = rollData.maitrises.find(p => p.id == rollData.maitriseId)
rollData.diceFormula = "2" + rollData.mainDice + "kh"
} else {
rollData.diceFormula = "1" + rollData.mainDice
@@ -345,15 +363,15 @@ export class HawkmoonUtility {
rollData.predilections = duplicate(rollData.competence.system.predilections.filter(pred => pred.acquise && !pred.maitrise && !pred.used) || [])
let compmod = (rollData.competence.system.niveau == 0) ? -3 : 0
rollData.diceFormula += `+${rollData.attr.value}+${rollData.competence.system.niveau}+${rollData.modificateur}+${compmod}`
if ( rollData.selectedTalents && rollData.selectedTalents.length > 0) {
if (rollData.selectedTalents && rollData.selectedTalents.length > 0) {
for (let id of rollData.selectedTalents) {
let talent = rollData.talents.find(t => t._id == id)
let bonusOK = true
if ( talent.system.baCost ) {
bonusOK = actor.checkBonneAventure( talent.system.baCost)
if ( bonusOK ) {
actor.changeBonneAventure( -talent.system.baCost )
if (talent.system.baCost) {
bonusOK = actor.checkBonneAventure(talent.system.baCost)
if (bonusOK) {
actor.changeBonneAventure(-talent.system.baCost)
} else {
ui.notifications.warn("Vous n'avez pas assez de points de Bonne Aventure !")
}
@@ -362,9 +380,10 @@ export class HawkmoonUtility {
rollData.diceFormula += `+${talent.system.bonus}`
}
}
}
}
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 +401,7 @@ export class HawkmoonUtility {
rollData.finalResult = myRoll.total
this.computeResult(rollData)
if (rollData.isInit) {
actor.lastInit = rollData.finalResult
actor.setFlag("world", "last-initiative", rollData.finalResult)
}
this.createChatWithRollMode(rollData.alias, {
@@ -501,8 +520,8 @@ export class HawkmoonUtility {
pointAmeOptions: this.getPointAmeOptions(),
difficulte: 0,
modificateur: 0,
bonusMalusContext: 0
}
HawkmoonUtility.updateWithTarget(rollData)
return rollData
}
@@ -514,7 +533,7 @@ export class HawkmoonUtility {
let defender = game.canvas.tokens.get(rollData.defenderTokenId).actor
rollData.armeDefense = defender.getBestDefenseValue()
rollData.targetVigueur = defender.getVigueur()
if ( rollData.armeDefense) {
if (rollData.armeDefense) {
rollData.difficulte = rollData.armeDefense.system.totalDefensif
} else {
ui.notifications.warn("Aucune arme de défense équipée, difficulté manuelle à positionner.")
@@ -533,7 +552,7 @@ export class HawkmoonUtility {
let msg = game.messages.get(msgId)
if (msg) {
let rollData = msg.getFlag("world", "hawkmoon-roll")
let actor = game.actors.get(rollData.actorId)
let actor = this.getActorFromRollData(rollData)
actor.changeBonneAventure(changed)
rollData.isReroll = true
rollData.textBonus = "Bonus de Points d'Aventure"
@@ -552,7 +571,7 @@ export class HawkmoonUtility {
let msg = game.messages.get(msgId)
if (msg) {
let rollData = msg.getFlag("world", "hawkmoon-roll")
let actor = game.actors.get(rollData.actorId)
let actor = this.getActorFromRollData(rollData)
actor.changeEclat(changed)
rollData.isReroll = true
rollData.textBonus = "Bonus d'Eclat"
@@ -571,14 +590,14 @@ export class HawkmoonUtility {
let canApplyBA = function (li) {
let message = game.messages.get(li.attr("data-message-id"))
let rollData = message.getFlag("world", "hawkmoon-roll")
let actor = game.actors.get(rollData.actorId)
return (!rollData.isReroll && actor.getBonneAventure() > 0 )
let actor = this.getActorFromRollData(rollData)
return (!rollData.isReroll && actor.getBonneAventure() > 0)
}
let canApplyPE = function (li) {
let message = game.messages.get(li.attr("data-message-id"))
let rollData = message.getFlag("world", "hawkmoon-roll")
let actor = game.actors.get(rollData.actorId)
return (!rollData.isReroll && actor.getEclat() > 0 )
let actor = this.getActorFromRollData(rollData)
return (!rollData.isReroll && actor.getEclat() > 0)
}
options.push(
{
@@ -635,4 +654,21 @@ export class HawkmoonUtility {
d.render(true);
}
}
/************************************************************************************/
static async __create_talents_table() {
let compName = "fvtt-hawkmoon-cyd.talents-cellule"
const compData = await HawkmoonUtility.loadCompendium(compName)
let talents = compData.map(i => i.toObject())
let htmlTab = "<table border='1'><tbody>";
for (let entryData of talents) {
console.log(entryData)
htmlTab += `<tr><td>@UUID[Compendium.${compName}.${entryData._id}]{${entryData.name}}</td>`
htmlTab += `<td>${entryData.system.description}</td>`;
//htmlTab += `<td>${entryData.system.resumebonus}</td>`;
htmlTab += "</tr>\n";
}
htmlTab += "</table>";
await JournalEntry.create({ name: 'Liste des Talents de Cellule', content: htmlTab });
}
}

2
packs/aides-de-jeu.db Normal file

File diff suppressed because one or more lines are too long

View File

@@ -28,6 +28,7 @@
{"name":"Gourde de cuir","type":"equipement","img":"systems/fvtt-hawkmoon-cyd/assets/icons/equipement.webp","system":{"description":"<p>1 litre</p>","prixpo":0,"prixca":0,"prixsc":5,"rarete":3,"equipped":false},"effects":[],"flags":{"core":{"sourceId":"Item.Bk7CwCfqllFJyRzo"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.286","createdTime":1667052151738,"modifiedTime":1667056681209,"lastModifiedBy":"aU5ncDYkHS7NmLl4"},"folder":null,"sort":0,"ownership":{"default":0,"aU5ncDYkHS7NmLl4":3},"_id":"BBHGx79XunHAqgLm"}
{"name":"Anneau en argent","type":"equipement","img":"systems/fvtt-hawkmoon-cyd/assets/icons/equipement.webp","system":{"description":"","prixpo":0,"prixca":8,"prixsc":0,"rarete":7,"equipped":false},"effects":[],"flags":{"core":{"sourceId":"Item.euNUZvN2AaNQX5Eh"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.286","createdTime":1667053448337,"modifiedTime":1667056840190,"lastModifiedBy":"aU5ncDYkHS7NmLl4"},"folder":null,"sort":0,"ownership":{"default":0,"aU5ncDYkHS7NmLl4":3},"_id":"BDzR3nDpE58cpzMf"}
{"name":"Ceinture de cuir","type":"equipement","img":"systems/fvtt-hawkmoon-cyd/assets/icons/equipement.webp","system":{"description":"","prixpo":0,"prixca":0,"prixsc":8,"rarete":3,"equipped":false},"effects":[],"flags":{"core":{"sourceId":"Item.zUMIT05ItRjqyXzx"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.286","createdTime":1667050981153,"modifiedTime":1667056547008,"lastModifiedBy":"aU5ncDYkHS7NmLl4"},"folder":null,"sort":0,"ownership":{"default":0,"aU5ncDYkHS7NmLl4":3},"_id":"BWpLFLDuRQTntKNW"}
{"name":"Sous de Cuivre","type":"monnaie","img":"systems/fvtt-hawkmoon-cyd/assets/icons/monnaie.webp","system":{"description":"","prixpo":0,"prixca":0,"prixsc":1,"rarete":0,"quantite":1,"equipped":false},"effects":[],"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3},"flags":{"core":{"sourceId":"Item.BuH79gmBwS61TNMs"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.1.3","coreVersion":"10.291","createdTime":1670105962535,"modifiedTime":1670108270030,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"folder":null,"sort":0,"_id":"CUHVKLJStGcH1pfV"}
{"name":"Écharpe de laine","type":"equipement","img":"systems/fvtt-hawkmoon-cyd/assets/icons/equipement.webp","system":{"description":"","prixpo":0,"prixca":0,"prixsc":3,"rarete":2,"equipped":false},"effects":[],"flags":{"core":{"sourceId":"Item.gu8GIe9rTpa30y0L"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.286","createdTime":1667051095332,"modifiedTime":1667056566818,"lastModifiedBy":"aU5ncDYkHS7NmLl4"},"folder":null,"sort":0,"ownership":{"default":0,"aU5ncDYkHS7NmLl4":3},"_id":"D4FStoSsSD5t1pyR"}
{"name":"Antipoison","type":"equipement","img":"systems/fvtt-hawkmoon-cyd/assets/icons/equipement.webp","system":{"description":"<p>Effets et notes :</p>\n<p>Conf&egrave;re un bonus de + 5 au test de Soins pour stopper les effets d&rsquo;un empoisonnement.</p>\n<p>&nbsp;</p>","prixpo":0,"prixca":20,"prixsc":0,"rarete":8,"equipped":false},"effects":[],"flags":{"core":{"sourceId":"Item.6JwVwbG95Jro0jyA"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.286","createdTime":1667056200587,"modifiedTime":1667056884888,"lastModifiedBy":"aU5ncDYkHS7NmLl4"},"folder":null,"sort":0,"ownership":{"default":0,"aU5ncDYkHS7NmLl4":3},"_id":"DEAaZnyqfZTSnj5l"}
{"name":"Peigne en ivoire sculpté","type":"equipement","img":"systems/fvtt-hawkmoon-cyd/assets/icons/equipement.webp","system":{"description":"","prixpo":0,"prixca":100,"prixsc":0,"rarete":9,"equipped":false},"effects":[],"flags":{"core":{"sourceId":"Item.qO3PbRUDrBAsl9Eg"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.286","createdTime":1667052473087,"modifiedTime":1667056725327,"lastModifiedBy":"aU5ncDYkHS7NmLl4"},"folder":null,"sort":0,"ownership":{"default":0,"aU5ncDYkHS7NmLl4":3},"_id":"DWbXCgeKhtxBop5k"}
@@ -97,6 +98,7 @@
{"name":"Tambourin","type":"equipement","img":"systems/fvtt-hawkmoon-cyd/assets/icons/equipement.webp","system":{"description":"","prixpo":0,"prixca":2,"prixsc":0,"rarete":5,"equipped":false},"effects":[],"flags":{"core":{"sourceId":"Item.3w6hbSQaxhkKHeNK"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.286","createdTime":1667053372874,"modifiedTime":1667056832786,"lastModifiedBy":"aU5ncDYkHS7NmLl4"},"folder":null,"sort":0,"ownership":{"default":0,"aU5ncDYkHS7NmLl4":3},"_id":"gRXQlfeiJzEYGcRL"}
{"name":"Robe de bal","type":"equipement","img":"systems/fvtt-hawkmoon-cyd/assets/icons/equipement.webp","system":{"description":"<p>Co&ucirc;t : 20 &agrave; 200 PA</p>","prixpo":0,"prixca":20,"prixsc":0,"rarete":8,"equipped":false},"effects":[],"flags":{"core":{"sourceId":"Item.oXhEGerIeFe5qWPe"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.286","createdTime":1667051286585,"modifiedTime":1667056586658,"lastModifiedBy":"aU5ncDYkHS7NmLl4"},"folder":null,"sort":0,"ownership":{"default":0,"aU5ncDYkHS7NmLl4":3},"_id":"gbG7p0z7UVXdfNSR"}
{"name":"Cor de chasse en corne","type":"equipement","img":"systems/fvtt-hawkmoon-cyd/assets/icons/equipement.webp","system":{"description":"","prixpo":0,"prixca":2,"prixsc":0,"rarete":5,"equipped":false},"effects":[],"flags":{"core":{"sourceId":"Item.KEsLoT5TtwpUgb5g"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.286","createdTime":1667053304777,"modifiedTime":1667056825041,"lastModifiedBy":"aU5ncDYkHS7NmLl4"},"folder":null,"sort":0,"ownership":{"default":0,"aU5ncDYkHS7NmLl4":3},"_id":"hi1uIij2vnhblvyc"}
{"name":"Pièce d'Or","type":"monnaie","img":"systems/fvtt-hawkmoon-cyd/assets/icons/monnaie.webp","system":{"description":"","prixpo":0,"prixca":0,"prixsc":400,"rarete":0,"quantite":1,"equipped":false},"effects":[],"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3},"flags":{"core":{"sourceId":"Item.arqqVEV5qwgVh1qz"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.1.3","coreVersion":"10.291","createdTime":1670105962535,"modifiedTime":1670108267437,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"folder":null,"sort":0,"_id":"iDsF5gfusUp56ffF"}
{"name":"Sphère noire","type":"equipement","img":"systems/fvtt-hawkmoon-cyd/assets/icons/equipement.webp","system":{"description":"","prixpo":0,"prixca":30,"prixsc":0,"rarete":9,"equipped":false},"effects":[],"flags":{"core":{"sourceId":"Item.wgZufKzZs1mv6U7m"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.286","createdTime":1667053281244,"modifiedTime":1667056823317,"lastModifiedBy":"aU5ncDYkHS7NmLl4"},"folder":null,"sort":0,"ownership":{"default":0,"aU5ncDYkHS7NmLl4":3},"_id":"iTgpQBOfOLKOOIpx"}
{"name":"Lampe à huile","type":"equipement","img":"systems/fvtt-hawkmoon-cyd/assets/icons/equipement.webp","system":{"description":"<p>dur&eacute;e huit heures</p>","prixpo":0,"prixca":0,"prixsc":15,"rarete":3,"equipped":false},"effects":[],"flags":{"core":{"sourceId":"Item.52qKfCHjAXnPd42R"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.286","createdTime":1667050221162,"modifiedTime":1667056522865,"lastModifiedBy":"aU5ncDYkHS7NmLl4"},"folder":null,"sort":0,"ownership":{"default":0,"aU5ncDYkHS7NmLl4":3},"_id":"k549mRHCTM5qvoAq"}
{"name":"Parfum dItalia","type":"equipement","img":"systems/fvtt-hawkmoon-cyd/assets/icons/equipement.webp","system":{"description":"","prixpo":1,"prixca":0,"prixsc":0,"rarete":8,"equipped":false},"effects":[],"flags":{"core":{"sourceId":"Item.nQpYaf3lVGlHWZDd"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.286","createdTime":1667053201541,"modifiedTime":1667056816027,"lastModifiedBy":"aU5ncDYkHS7NmLl4"},"folder":null,"sort":0,"ownership":{"default":0,"aU5ncDYkHS7NmLl4":3},"_id":"kimJnMkFr6mx2GR2"}
@@ -110,6 +112,7 @@
{"name":"Miroir","type":"equipement","img":"systems/fvtt-hawkmoon-cyd/assets/icons/equipement.webp","system":{"description":"","prixpo":0,"prixca":1,"prixsc":0,"rarete":5,"equipped":false},"effects":[],"flags":{"core":{"sourceId":"Item.w2y1ZIQwrq16pyro"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.286","createdTime":1667052391234,"modifiedTime":1667056715568,"lastModifiedBy":"aU5ncDYkHS7NmLl4"},"folder":null,"sort":0,"ownership":{"default":0,"aU5ncDYkHS7NmLl4":3},"_id":"oF4ctqBDkAw6gNkd"}
{"name":"Nuit en dortoir sur une paillasse sale","type":"equipement","img":"systems/fvtt-hawkmoon-cyd/assets/icons/equipement.webp","system":{"description":"","prixpo":0,"prixca":0,"prixsc":3,"rarete":2,"equipped":false},"effects":[],"flags":{"core":{"sourceId":"Item.4GmLW6TqSQaDktX6"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.286","createdTime":1667049989473,"modifiedTime":1667056509383,"lastModifiedBy":"aU5ncDYkHS7NmLl4"},"folder":null,"sort":0,"ownership":{"default":0,"aU5ncDYkHS7NmLl4":3},"_id":"oOuBI5T6XB91aHCE"}
{"name":"Pourpoint de cuir","type":"equipement","img":"systems/fvtt-hawkmoon-cyd/assets/icons/equipement.webp","system":{"description":"","prixpo":0,"prixca":3,"prixsc":0,"rarete":5,"equipped":false},"effects":[],"flags":{"core":{"sourceId":"Item.WzLzKVbZzw68cXko"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.286","createdTime":1667051273146,"modifiedTime":1667056584869,"lastModifiedBy":"aU5ncDYkHS7NmLl4"},"folder":null,"sort":0,"ownership":{"default":0,"aU5ncDYkHS7NmLl4":3},"_id":"oRg2ar1k6VMZpy77"}
{"name":"Pièce d'Argent","type":"monnaie","img":"systems/fvtt-hawkmoon-cyd/assets/icons/monnaie.webp","system":{"description":"","prixpo":0,"prixca":0,"prixsc":20,"rarete":0,"quantite":1,"equipped":false},"effects":[],"ownership":{"default":0,"wYQCdPQVeRKBJmZI":3},"flags":{"core":{"sourceId":"Item.I6sMdUOBJV7DuOB2"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.1.3","coreVersion":"10.291","createdTime":1670105962535,"modifiedTime":1670108264731,"lastModifiedBy":"wYQCdPQVeRKBJmZI"},"folder":null,"sort":0,"_id":"pHLxatpIeOjQ4SY9"}
{"name":"Couverts en argent","type":"equipement","img":"systems/fvtt-hawkmoon-cyd/assets/icons/equipement.webp","system":{"description":"<p>un couteau, une fourchette, une cuiller</p>","prixpo":0,"prixca":30,"prixsc":0,"rarete":9,"equipped":false},"effects":[],"flags":{"core":{"sourceId":"Item.QszRAgf7F0ZSbN6z"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.286","createdTime":1667051873930,"modifiedTime":1667056657906,"lastModifiedBy":"aU5ncDYkHS7NmLl4"},"folder":null,"sort":0,"ownership":{"default":0,"aU5ncDYkHS7NmLl4":3},"_id":"pJAfqX7SieQmRGDF"}
{"name":"Cataplasme miraculeux","type":"equipement","img":"systems/fvtt-hawkmoon-cyd/assets/icons/equipement.webp","system":{"description":"<p>cr&egrave;me de nanocompo\u0002sites r&eacute;g&eacute;n&eacute;rants &ndash; cr&eacute;ation technologique</p>\n<p><strong>Effets et notes :</strong><br>Permet de d&eacute;fausser jusqu&rsquo;&agrave; 2 Adversit&eacute;s noires apr&egrave;s (10 &ndash; Trempe) x 10 minutes.</p>","prixpo":0,"prixca":100,"prixsc":0,"rarete":10,"equipped":false},"effects":[],"flags":{"core":{"sourceId":"Item.6fA5jRN6HAXN3sLM"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.286","createdTime":1667055976728,"modifiedTime":1667056878533,"lastModifiedBy":"aU5ncDYkHS7NmLl4"},"folder":null,"sort":0,"ownership":{"default":0,"aU5ncDYkHS7NmLl4":3},"_id":"q6gtm9fNDyIWJ90X"}
{"name":"Nuit sur le plancher de la salle commune ou à létable","type":"equipement","img":"systems/fvtt-hawkmoon-cyd/assets/icons/equipement.webp","system":{"description":"","prixpo":0,"prixca":0,"prixsc":1,"rarete":1,"equipped":false},"effects":[],"flags":{"core":{"sourceId":"Item.V0lq8ve5orlZBG3G"}},"_stats":{"systemId":"fvtt-hawkmoon-cyd","systemVersion":"10.0.7","coreVersion":"10.286","createdTime":1667049973754,"modifiedTime":1667056508034,"lastModifiedBy":"aU5ncDYkHS7NmLl4"},"folder":null,"sort":0,"ownership":{"default":0,"aU5ncDYkHS7NmLl4":3},"_id":"q8jVTrkQM9EDa6E1"}

View File

@@ -74,7 +74,6 @@
{"name":"Rumeur du monde","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>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&eacute;pensez 2 points de Bonne Aventure pour un test de Savoir : Europe, le bonus est de + 10.</p>","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":"<p>Votre exp&eacute;rience et votre flair vous aident &agrave; prendre les bonnes d&eacute;cisions quand vous voyagez. Lorsque vous d&eacute;pensez 2 points de Bonne Aventure pour un test de Routes (Commerce), le bonus est de + 10.&nbsp;</p>","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":"<p>Vous pouvez utiliser votre Trempe plut&ocirc;t que l&rsquo;Attribut habituellement associ&eacute; &agrave; la Comp&eacute;tence, par exemple en M&ecirc;l&eacute;e. Vous devez expliquer comment vous sollicitez votre Trempe dans ce contexte particulier.&nbsp;</p>","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 lAttribut 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":"<p>Vous &ecirc;tes devenu(e) particuli&egrave;rement robuste. Votre Vigueur est augment&eacute;e d&rsquo;1 point.</p>","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":"<p>Vous pouvez utiliser votre Clairvoyance plut&ocirc;t que l&rsquo;Attribut habituellement associ&eacute; &agrave; la Comp&eacute;tence. Vous devez expliquer comment vous sollicitez votre Clairvoyance dans ce contexte particulier.</p>","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":"<p>Vous avez des facilit&eacute;s dans l&rsquo;art de produire des faux documents. Quand vous d&eacute;pensez 2 points de Bonne Aventure pour un test de Savoir : Falsification, le bonus est de + 10.</p>","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":"<p>Vous &ecirc;tes tr&egrave;s dou&eacute;(e) pour la vulgarisation. Vous parlez avec passion des domaines qui vous int&eacute;ressent et l&rsquo;on vous &eacute;coute le plus souvent avec int&eacute;r&ecirc;t. Si vous r&eacute;ussissez un test de Pr&eacute;sence<br>+ un Savoir au choix, votre cours improvis&eacute; captive jusqu&rsquo;&agrave; 1d5 individus qui en sont les auditeurs. Le MJ ajustera le SD en fonction du public : 15 pour un jeune esprit avide de connaissances,<br>18 pour une aubergiste pas sp&eacute;cialement bien dispos&eacute;e &agrave; votre &eacute;gard, 30 pour un religieux obscurantiste. Consid&eacute;rez que cette r&eacute;ussite &eacute;quivaut &agrave; l&rsquo;effet que vous obtiendriez si vous aviez<br>r&eacute;ussi un test de Persuasion de SD 20. Pour obtenir une faveur &eacute;quivalente &agrave; un SD plus &eacute;lev&eacute;, ce Talent ne peut pas &ecirc;tre mobilis&eacute;. Ce ne sera donc sans doute pas suffisant pour mettre fin &agrave; votre captivit&eacute;, mais peut-&ecirc;tre cela vous &eacute;vitera-t-il une ex&eacute;cution imm&eacute;diate&hellip;&nbsp;</p>","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":"<p>Vous savez parler dans une langue obscure, pleine de termes compliqu&eacute;s qui embrouillent l&rsquo;esprit de votre interlocuteur. Quand vous d&eacute;pensez 2 points de Bonne Aventure pour un test de Baratin (Persuasion), le bonus est de + 10.</p>\n<p>Note : le MJ devrait inviter le personnage &agrave; improviser ce propos alambiqu&eacute; &agrave; la table de jeu.</p>","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-loeil","type":"talent","img":"systems/fvtt-hawkmoon-cyd/assets/icons/talent.webp","system":{"description":"<p>Si vous d&eacute;pensez 1 point de Bonne Aventure, l&rsquo;objet que vous produisez gr&acirc;ce &agrave; l&rsquo;art que vous poss&eacute;dez au niveau 9 (sculpture ou peinture) est si parfaitement ex&eacute;cut&eacute; qu&rsquo;il ressemble &agrave; s&rsquo;y m&eacute;prendre &agrave; son mod&egrave;le r&eacute;el. Il faut r&eacute;ussir un test de Clairvoyance + Persuasion / 25 pour remarquer l&rsquo;illusion.&nbsp;</p>","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, lobjet que vous produisez grâce à lart que vous possédez au niveau 9 (sculpture ou peinture) est si parfaitement exécuté quil ressemble à sy 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":"<p>Les serrures n&rsquo;ont presque plus de secret pour vous. Lorsque vous faites un test de Filouterie afin de crocheter une porte, vous b&eacute;n&eacute;ficiez d&rsquo;un + 3.</p>","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 dun + 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":"<p>Vous avez d&eacute;velopp&eacute;, en combat, l&rsquo;art de parer les coups. Votre Seuil de D&eacute;fense est augment&eacute; d&rsquo;un point.&nbsp;</p>","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, lart de parer les coups. Votre Seuil de Défense est augmenté dun 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":"<p>Vos coups peuvent &ecirc;tre surpuissants. Vous ajoutez votre niveau de Puissance / 2 (arrondi &agrave; l&rsquo;inf&eacute;rieur) aux d&eacute;g&acirc;ts inflig&eacute;s en m&ecirc;l&eacute;e.</p>","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 à linfé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":"<p>Vous avez pris le coup de main, dirait-on. Lorsqu&rsquo;un test de Filouterie est effectu&eacute; dans le but d&rsquo;assommer quelqu&rsquo;un, vous b&eacute;n&eacute;ficiez d&rsquo;un + 3.&nbsp;</p>","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":"Lorsquun test de Filouterie est effectué dans le but dassommer quelquun, vous bénéficiez dun + 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":"<p>Vos connaissances et votre capacit&eacute; de r&eacute;flexion vous permettent d&rsquo;embrasser plus facilement la sorcellerie. Bifurquer vers ce Profil (voir p. 148) ne vous co&ucirc;te aucun point d&rsquo;Exp&eacute;rience.&nbsp;</p>","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":"<p>M&ecirc;me chose qu&rsquo;@UUID[Compendium.fvtt-hawkmoon-cyd.talents.UOEolcYPAMHV9jNK]{ALLI&Eacute;S DE POIDS} (voir p. 167), mais les Alli&eacute;s sont de niveau 1 et la zone dans laquelle ils se trouvent poss&egrave;de obligatoirement un port ou un littoral.&nbsp;</p>","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 quune 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":"<p>Vous avez l&rsquo;habitude de vous battre avec ce qui vous tombe sous la main. Les armes improvis&eacute;es ne causent la perte que d&rsquo;un seul niveau de Combativit&eacute; en cas de r&eacute;ussite simple ? Pas quand vous les maniez. En cas de r&eacute;ussite simple, vous lancez un d10, comme s&rsquo;il s&rsquo;agissait d&rsquo;une arme normale.</p>","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":"<p>Vous comprenez le chant du monde comme une langue maternelle. Quand vous d&eacute;pensez 2 points de Bonne Aventure, le bonus &agrave; votre test de Savoir : Monde naturel est de + 10.&nbsp;</p>","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":"<p>Vous avez d&eacute;velopp&eacute;, en combat, l&rsquo;art de parer les coups. Votre Seuil de D&eacute;fense est augment&eacute; d&rsquo;un point.&nbsp;</p>","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, lart de parer les coups. Votre Seuil de Défense est augmenté dun 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":"<p>Vous &ecirc;tes devenu(e) particuli&egrave;rement robuste. Votre Vigueur est augment&eacute;e d&rsquo;1 point.</p>","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":"<p>Vous avez l&rsquo;habitude d&rsquo;&eacute;voluer sur des terrains difficiles. Lorsque vous vous d&eacute;placez, le modificateur de difficult&eacute; li&eacute; au terrain est ignor&eacute; ou amoindri. Le SD que vous devez atteindre pour un test donn&eacute; est en cons&eacute;quence diminu&eacute; de deux ou trois niveaux, &agrave; la discr&eacute;tion du MJ.&nbsp;</p>","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":"<p>Vous &ecirc;tes en mesure de diviser par deux le co&ucirc;t de fabrication de tous les artefacts technologiques que vous cr&eacute;ez.</p>","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":"<p>Vous avez appris &agrave; souffrir et &agrave; surmonter la douleur. Quand votre &eacute;tat atteint le niveau Affaibli, ignorez les deux Adversit&eacute;s qui vous sont inflig&eacute;es jusqu&rsquo;&agrave; la fin de la sc&egrave;ne. Une fois le combat ou la sc&egrave;ne achev&eacute;(e), prenez normalement en compte ces deux Adversit&eacute;s.&nbsp;</p>","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}}

View File

@@ -634,6 +634,7 @@ ul, li {
}
.roll-dialog-label {
margin: 4px 0;
padding-top: 7px;
}
.short-label {
@@ -789,6 +790,7 @@ ul, li {
width: fit-content;
height: fit-content;
min-width: 6rem;
min-height: 1.2rem;
flex-basis: auto;
padding: 0;
line-height: 1rem;
@@ -895,6 +897,22 @@ ul, li {
border: 0px;
}
.hud-adversite-container {
position: relative;
text-align: center;
color: white;
width: 64px;
min-height: 64px;
}
.hud-adversite-text {
font-weight: bold;
font-size:0.9rem;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -85%);
}
.actor-icon {
float: left;
width: 48px;
@@ -1190,7 +1208,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;
@@ -1418,4 +1436,7 @@ ul, li {
}
.adversite-modify {
margin-top: 12px;
}
.argent-total-text {
margin-left: 4px;
}

View File

@@ -1,7 +1,7 @@
{
"id": "fvtt-hawkmoon-cyd",
"description": "Hawmoon RPG for FoundryVTT (CYD system - French)",
"version": "10.0.19",
"version": "10.1.5",
"authors": [
{
"name": "Uberwald/LeRatierBretonnien",
@@ -35,7 +35,15 @@
"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.5.zip",
"languages": [
{
"lang": "fr",
"name": "French",
"path": "lang/fr.json",
"flags": {}
}
],
"packs": [
{
"type": "Item",
@@ -117,6 +125,15 @@
"system": "fvtt-hawkmoon-cyd",
"private": false,
"flags": {}
},
{
"type": "JournalEntry",
"label": "Aides de Jeu",
"name": "aides-de-jeu",
"path": "packs/aides-de-jeu.db",
"system": "fvtt-hawkmoon-cyd",
"private": false,
"flags": {}
}
],
"primaryTokenAttribute": "sante.vigueur",

View File

@@ -82,6 +82,7 @@
"initbonus": 0,
"vitessebonus": 0,
"bonusdegats": 0,
"attaquebonus": 0,
"defensebonus": 0
}
},
@@ -123,6 +124,7 @@
"prixca": 0,
"prixsc": 0,
"rarete": 0,
"quantite": 0,
"equipped": false
},
"automation": {

View File

@@ -233,7 +233,7 @@
<ul class="item-list alternate-list">
<li class="item flexrow">
<button class="chat-card-button roll-initiative">Initiative</button>
<button class="chat-card-button roll-initiative">Initiative (actuelle : {{initiative}} )</button>
</li>
</ul>
@@ -340,6 +340,58 @@
<div class="tab equipement" data-group="primary" data-tab="equipement">
<div class="flexcol">
<hr>
<div class="sheet-box color-bg-archetype">
<h4>
<label class="argent-total-text">
Argent Total : {{richesse.po}} PO - {{richesse.pa}} PA - {{richesse.sc}} SC (total {{richesse.valueSC}} SC)
</label>
</h4>
</div>
<div class="sheet-box color-bg-archetype">
<ul class="item-list alternate-list">
<li class="item flexrow list-item items-title-bg">
<span class="item-name-label-header">
<h3><label class="items-title-text">Richesses et Argent</label></h3>
</span>
<span class="item-field-label-short">
<label class="short-label">Quantité</label>
</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-add" data-type="arme" title="Ajouter une arme"><i
class="fas fa-plus"></i></a>
</div>
</li>
{{#each monnaies as |monnaie key|}}
<li class="item flexrow " data-item-id="{{monnaie._id}}" data-item-type="monnaie">
<img class="item-name-img" src="{{monnaie.img}}" />
<span class="item-name-label competence-name">{{monnaie.name}}</span>
<span class="item-name-label competence-name item-field-label-medium">{{monnaie.system.quantite}}
<a class="quantity-modify plus-minus-button" data-quantite-value="-1">-</a>
<a class="quantity-modify plus-minus-button" data-quantite-value="+1">+</a>
</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ul>
</div>
<hr>
<div class="sheet-box color-bg-archetype">
<h4>
<label class="argent-total-text">
Valeur Total Equipement : {{valeurEquipement.po}} PO - {{valeurEquipement.pa}} PA - {{valeurEquipement.sc}} SC (total {{valeurEquipement.valueSC}} SC)
</label>
</h4>
</div>
<div class="sheet-box color-bg-archetype">
<ul class="item-list alternate-list">
@@ -347,6 +399,11 @@
<span class="item-name-label-header">
<h3><label class="items-title-text">Equipements</label></h3>
</span>
<span class="item-field-label-short">
<label class="short-label">Quantité</label>
</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-add" data-type="arme" title="Ajouter une arme"><i
@@ -357,6 +414,45 @@
<li class="item flexrow " data-item-id="{{equipement._id}}" data-item-type="equipement">
<img class="item-name-img" src="{{equipement.img}}" />
<span class="item-name-label competence-name">{{equipement.name}}</span>
<span class="item-name-label competence-name item-field-label-medium">{{equipement.system.quantite}}
<a class="quantity-modify plus-minus-button" data-quantite-value="-1">-</a>
<a class="quantity-modify plus-minus-button" data-quantite-value="+1">+</a>
</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ul>
</div>
<div class="sheet-box color-bg-archetype">
<ul class="item-list alternate-list">
<li class="item flexrow list-item items-title-bg">
<span class="item-name-label-header">
<h3><label class="items-title-text">Artefacts</label></h3>
</span>
<span class="item-field-label-short">
<label class="short-label">Quantité</label>
</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-add" data-type="arme" title="Ajouter une arme"><i
class="fas fa-plus"></i></a>
</div>
</li>
{{#each artefacts as |artefact key|}}
<li class="item flexrow " data-item-id="{{artefact._id}}" data-item-type="artefact">
<img class="item-name-img" src="{{artefact.img}}" />
<span class="item-name-label competence-name">{{artefact.name}}</span>
<span class="item-name-label competence-name item-field-label-medium">{{artefact.system.quantite}}
<a class="quantity-modify plus-minus-button" data-quantite-value="-1">-</a>
<a class="quantity-modify plus-minus-button" data-quantite-value="+1">+</a>
</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>

View File

@@ -22,7 +22,7 @@
<li>Dégats : {{finalResult}}</li>
{{#if targetVigueur}}
<li>Vigueur de la cible : {{targetVigueur}}</li>
<li>Etats de Combativité perdus : {{nbEtatPerdus}}</li>
<li>Etats Combativité supplémentaires perdus (manuel): {{nbEtatPerdus}} </li>
{{/if}}
</ul>
</div>

View File

@@ -64,7 +64,7 @@
{{#if isSuccess}}
{{#if arme}}
<li>Votre adversaire perd 1 Etat de Combativité </li>
<li>Votre adversaire perd 1 Etat de Combativité (manuel) </li>
{{#if (not arme.system.onlevelonly)}}
<button class="chat-card-button roll-chat-degat">Dégats de l'arme</button>
{{/if}}

View File

@@ -0,0 +1,48 @@
<div class="control-icon hawkmoon-adversite ">
<img class="hawkmoon-hud-togglebutton" src="icons/svg/sword.svg" width="36" height="36" title="Action" />
<div class="hawkmoon-hud-list tokenhudext right">
<div class="flexrow tokenhudicon">
<div class="hawkmoon-hud-adversite hud-adversite-container" data-action-value="-1"
data-action-index="bleue" title="Adversite Bleue">
<img class="icon-adversite" src="systems/fvtt-hawkmoon-cyd/assets/icons/gemme_bleue.webp">
<div class="hud-adversite-text">&nbsp;-1</div>
</div>
<div class="hawkmoon-hud-adversite hud-adversite-container" data-action-value="+1"
data-action-index="bleue" title="Adversite Bleue">
<img class="icon-adversite" src="systems/fvtt-hawkmoon-cyd/assets/icons/gemme_bleue.webp">
<div class="hud-adversite-text">&nbsp;+1</div>
</div>
</div>
<div class="flexrow tokenhudicon">
<div class="hawkmoon-hud-adversite hud-adversite-container" data-action-value="-1"
data-action-index="rouge" title="Adversite Rouge">
<img class="icon-adversite" src="systems/fvtt-hawkmoon-cyd/assets/icons/gemme_rouge.webp">
<div class="hud-adversite-text">&nbsp;-1</div>
</div>
<div class="hawkmoon-hud-adversite hud-adversite-container" data-action-value="+1"
data-action-index="rouge" title="Adversite Rouge">
<img class="icon-adversite" src="systems/fvtt-hawkmoon-cyd/assets/icons/gemme_rouge.webp">
<div class="hud-adversite-text">&nbsp;+1</div>
</div>
</div>
<div class="flexrow tokenhudicon">
<div class="hawkmoon-hud-adversite hud-adversite-container" data-action-value="-1"
data-action-index="noire" title="Adversite Noire">
<img class="icon-adversite" src="systems/fvtt-hawkmoon-cyd/assets/icons/gemme_noire.webp">
<div class="hud-adversite-text">&nbsp;-1</div>
</div>
<div class="hawkmoon-hud-adversite hud-adversite-container" data-action-value="+1"
data-action-index="noire" title="Adversite Noire">
<img class="icon-adversite" src="systems/fvtt-hawkmoon-cyd/assets/icons/gemme_noire.webp">
<div class="hud-adversite-text">&nbsp;+1</div>
</div>
</div>
</div>
</div>

View File

@@ -13,8 +13,19 @@
<ul class="item-list alternate-list">
{{> systems/fvtt-hawkmoon-cyd/templates/partial-item-prix.html}}
<li class="flexrow item">
<label class="generic-label item-field-label-long">Quantite </label>
<input type="text" class="padd-right numeric-input item-field-label-short" name="system.quantite"
value="{{system.quantite}}" data-dtype="Number" />
</li>
<li class="flexrow item">
<label class="generic-label item-field-label-long">Valeur en Sous de Cuivre (SC)</label>
<input type="text" class="numeric-input item-field-label-short" name="system.prixsc" value="{{system.prixsc}}"
data-dtype="Number" />
</li>
</ul>
</div>

View File

@@ -16,8 +16,8 @@
value="{{automation.eventtype}}" data-dtype="String">
{{#select automation.eventtype}}
<option value="on-drop">Drop sur l'acteur</option>
<option value="prepare-actor">Préparation de l'acteur</option>
<option value="prepare-roll">Préparation d'un jet</option>
<option value="bonus-permanent">Bonus permanent</option>
{{/select}}
</select>
@@ -39,6 +39,23 @@
</li>
{{/if}}
{{#if (eq automation.eventtype "bonus-permanent")}}
<li class="automation-item item flexrow">
<label class="generic-label item-field-label-long">Désignation</label>
<select class="item-field-label-long automation-edit-field" type="text" data-automation-index="{{key}}" data-automation-field="bonusname"
value="{{automation.bonusname}}" data-dtype="String">
{{#select automation.bonusname}}
<option value="vigueur">Vigueur</option>
<option value="bonus-defensif">Bonus au Seuil de Défense</option>
{{/select}}
</select>
</li>
<li class="automation-item item flexrow">
<label class="generic-label item-field-label-long">Bonus</label>
<input type="text" class="item-field-label-medium automation-edit-field" data-automation-index="{{key}}" data-automation-field="bonus" value="{{automation.bonus}}" data-dtype="Number" />
</li>
{{/if}}
{{#if (eq automation.eventtype "prepare-roll")}}
<li class="automation-item item flexrow">
<label class="generic-label item-field-label-long">Compétence/Attribut</label>

View File

@@ -9,6 +9,12 @@
<input type="checkbox" name="system.equipped" {{checked system.equipped}} />
</li>
<li class="flexrow item">
<label class="generic-label item-field-label-long">Quantite </label>
<input type="text" class="padd-right numeric-input item-field-label-short" name="system.quantite"
value="{{system.quantite}}" data-dtype="Number" />
</li>
<li class="flexrow item">
<label class="generic-label item-field-label-long">Prix (PA) </label>

View File

@@ -20,21 +20,21 @@
</select>
{{else}}
<span class="roll-dialog-label">{{attr.label}}</span>
<span class="small-label">{{attr.value}}</span>
<span class="small-label roll-dialog-label">{{attr.value}}</span>
{{/if}}
</div>
{{#if nbAdversites}}
<div class="flexrow">
<span class="roll-dialog-label">Malus d'adversités : </span>
<span class="small-label">- {{nbAdversites}}</span>
<span class="roll-dialog-label">Malus d'adversités </span>
<span class="small-label roll-dialog-label">- {{nbAdversites}}</span>
</div>
{{/if}}
{{#if competence}}
<div class="flexrow">
<span class="roll-dialog-label">{{competence.name}}</span>
<span class="small-label">{{competence.system.niveau}}</span>
<span class="small-label roll-dialog-label">{{competence.system.niveau}}</span>
</div>
{{#if maitrises}}
<div class="flexrow">
@@ -53,7 +53,7 @@
{{#if (count talents)}}
<div class="flexrow">
<span class="roll-dialog-label">Talents applicables :</span>
<span class="roll-dialog-label">Talents </span>
<select class="flex1" name="competence-talents" id="competence-talents" data-type="String" multiple>
{{#each talents as |talent key|}}
<option value="{{talent._id}}">{{talent.name}}</option>
@@ -62,12 +62,33 @@
</div>
{{/if}}
<div class="flexrow">
<span class="roll-dialog-label">Bonus/Malus </span>
<select class="roll-dialog-label" id="bonus-malus-context" type="text" value="{{bonusMalusContext}}"
data-dtype="Number">
{{#select bonusMalusContext}}
<option value="-4">-4</option>
<option value="-3">-3</option>
<option value="-2">-2</option>
<option value="-1">-1</option>
<option value="0">0</option>
<option value="1">+1</option>
<option value="2">+2</option>
<option value="3">+3</option>
<option value="4">+4</option>
{{/select}}
</select>
</div>
{{#if armeDefense}}
<div class="flexrow">
<span class="roll-dialog-label">Défense adversaire : </span>
<span class="roll-dialog-label"><strong>{{difficulte}}</strong> </span>
</div>
{{else}}
{{#if isInit}}
{{else}}
<div class="flexrow">
<span class="roll-dialog-label">Difficulté : </span>
<select class="roll-dialog-label" id="difficulte" type="text" name="difficulte" value="{{difficulte}}"
@@ -82,9 +103,10 @@
<option value="30">Pure Folie (30)</option>
{{/select}}
</select>
{{/if}}
</div>
{{/if}}
</div>
</form>