diff --git a/images/.directory b/images/.directory new file mode 100644 index 0000000..6c61fc9 --- /dev/null +++ b/images/.directory @@ -0,0 +1,6 @@ +[Dolphin] +SortOrder=1 +Timestamp=2024,5,30,18,14,56.568 +Version=4 +ViewMode=1 +VisibleRoles=Details_text,Details_size,Details_modificationtime,Details_creationtime,CustomizedDetails diff --git a/images/icons/acrobatic.svg b/images/icons/acrobatic.svg new file mode 100644 index 0000000..b8cec94 --- /dev/null +++ b/images/icons/acrobatic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/icons/awareness.svg b/images/icons/awareness.svg new file mode 100644 index 0000000..2b72ce7 --- /dev/null +++ b/images/icons/awareness.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/icons/classical-knowledge.png b/images/icons/classical-knowledge.png new file mode 100644 index 0000000..4beec01 Binary files /dev/null and b/images/icons/classical-knowledge.png differ diff --git a/images/icons/classical-knowledge.svg b/images/icons/classical-knowledge.svg new file mode 100644 index 0000000..6cae022 --- /dev/null +++ b/images/icons/classical-knowledge.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/icons/revolt.svg b/images/icons/revolt.svg new file mode 100644 index 0000000..3c3de01 --- /dev/null +++ b/images/icons/revolt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/icons/shaking-hands.svg b/images/icons/shaking-hands.svg new file mode 100644 index 0000000..875e24a --- /dev/null +++ b/images/icons/shaking-hands.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/icons/strong.svg b/images/icons/strong.svg new file mode 100644 index 0000000..3ec04c7 --- /dev/null +++ b/images/icons/strong.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/modules/actors/tedeum-actor-sheet.js b/modules/actors/tedeum-actor-sheet.js index 7922afe..ba1984a 100644 --- a/modules/actors/tedeum-actor-sheet.js +++ b/modules/actors/tedeum-actor-sheet.js @@ -70,15 +70,15 @@ export class TeDeumActorPJSheet extends ActorSheet { // Update Inventory Item html.find('.item-edit').click(ev => { - const li = $(ev.currentTarget).parents(".item") + const li = $(ev.currentTarget).parents(".item-id") let itemId = li.data("item-id") const item = this.actor.items.get( itemId ); item.sheet.render(true); }); // Delete Inventory Item html.find('.item-delete').click(ev => { - const li = $(ev.currentTarget).parents(".item") - EcrymeUtility.confirmDelete(this, li).catch("Error : No deletion confirmed") + const li = $(ev.currentTarget).parents(".item-id") + TeDeumUtility.confirmDelete(this, li).catch("Error : No deletion confirmed") }) html.find('.item-add').click(ev => { let dataType = $(ev.currentTarget).data("type") @@ -107,9 +107,8 @@ export class TeDeumActorPJSheet extends ActorSheet { } ); html.find('.roll-competence').click((event) => { - let categKey = $(event.currentTarget).data("category-key") - let skillKey = $(event.currentTarget).data("skill-key") - this.actor.rollSkill(categKey, skillKey) + let compId = $(event.currentTarget).data("comp-id") + this.actor.rollCompetence(compId) }); html.find('.roll-arme').click((event) => { const armeId = $(event.currentTarget).data("arme-id") diff --git a/modules/actors/tedeum-actor.js b/modules/actors/tedeum-actor.js index acf0870..99e257e 100644 --- a/modules/actors/tedeum-actor.js +++ b/modules/actors/tedeum-actor.js @@ -1,5 +1,6 @@ /* -------------------------------------------- */ import { TeDeumUtility } from "../common/tedeum-utility.js"; +import { TeDeumRollDialog } from "../dialogs/tedeum-roll-dialog.js"; /* -------------------------------------------- */ /* -------------------------------------------- */ @@ -98,8 +99,28 @@ export class TeDeumActor extends Actor { return comp; } + /* -------------------------------------------- */ + calculMalusBlessures() { + let modifierBlessures = 0 + let nbBlessures = 0 + // Cumul des malus de blessures + for (let locKey in this.system.localisation) { + let loc = this.system.localisation[locKey] + let bDef = game.system.tedeum.config.blessures[loc.blessures] + modifierBlessures += bDef.modifier + nbBlessures += bDef.count + } + // Si le nombre de blessures est supérieur au score d'endurance, alors malus supplémentaire + let endurance = this.items.find(item => item.type == "competence" && item.name.toLowerCase() == "endurance") + if ( nbBlessures > endurance.system.score) { + modifierBlessures += -1 + } + return modifierBlessures + } + /* -------------------------------------------- */ updateCarac(c, key) { + c.key = key c.name = game.system.tedeum.config.caracteristiques[key].label c.generalqualite = game.system.tedeum.config.descriptionValeur[c.value].qualite c.qualite = game.system.tedeum.config.descriptionValeur[c.value][key] @@ -124,6 +145,19 @@ export class TeDeumActor extends Actor { providence.dice = game.system.tedeum.config.providence[providence.value].diceValue return providence } + + /* -------------------------------------------- */ + modifyProvidence(value) { + let providence = foundry.utils.duplicate(this.system.providence) + providence.value = Math.min(Math.max(providence.value + value, 0), 6) + this.update( { "system.providence": providence } ) + } + /* -------------------------------------------- */ + modifyXP(key, value) { + let xp = this.system.caracteristiques[key].experience + xp = Math.max(xp + value, 0) + this.update( { [`system.caracteristiques.${key}.experience`]: xp } ) + } /* -------------------------------------------- */ filterCompetencesByCarac(key) { @@ -132,6 +166,8 @@ export class TeDeumActor extends Actor { if (c.system.isBase) { c.system.score = this.system.caracteristiques[c.system.caracteristique].value } + let caracDice = game.system.tedeum.config.descriptionValeur[this.system.caracteristiques[c.system.caracteristique].value].dice + c.system.formula = caracDice + "+" + c.system.score }) return foundry.utils.deepClone( comp || {} ) } @@ -275,26 +311,30 @@ export class TeDeumActor extends Actor { rollData.actorImg = this.img rollData.actorId = this.id rollData.img = this.img - rollData.isReroll = false + rollData.providence = this.prepareProvidence() + rollData.malusBlessures = this.calculMalusBlessures() return rollData } /* -------------------------------------------- */ - getCommonCompetence(skillid) { + getCommonCompetence(compId) { let rollData = this.getCommonRollData() - let competence = duplicate(this.items.find(it => it.type =="competence" && it.id == skillid)) + let competence = duplicate(this.items.find(it => it.type =="competence" && it.id == compId)) rollData.competence = competence + let c = foundry.utils.duplicate(this.system.caracteristiques[competence.system.caracteristique]) + this.updateCarac( c, competence.system.caracteristique) + rollData.carac = c rollData.img = competence.img return rollData } /* -------------------------------------------- */ - rollCompetence(skillId) { - let rollData = this.getCommonCompetence(skillId) + rollCompetence(compId) { + let rollData = this.getCommonCompetence(compId) rollData.mode = "competence" rollData.title = rollData.competence.name this.startRoll(rollData).catch("Error on startRoll") @@ -319,7 +359,8 @@ export class TeDeumActor extends Actor { /* -------------------------------------------- */ async startRoll(rollData) { - let rollDialog = await EcrymeRollDialog.create(this, rollData) + console.log("startRoll", rollData) + let rollDialog = await TeDeumRollDialog.create(this, rollData) rollDialog.render(true) } diff --git a/modules/common/tedeum-config.js b/modules/common/tedeum-config.js index 1ba1768..ace7e93 100644 --- a/modules/common/tedeum-config.js +++ b/modules/common/tedeum-config.js @@ -48,7 +48,7 @@ export const TEDEUM_CONFIG = { 11: { valeur: 11, qualite: "Excellent", dice: "d12", negativeDice: "d6", savoir: "Docte", sensibilite: "Subtil", entregent: "Galant", puissance: "Musculeux", complexion: "Sanguin", adresse: "Preste" }, 12: { valeur: 12, qualite: "Admirable", dice: "d20", negativeDice: "d4", savoir: "Humaniste", sensibilite: "Spirituel", entregent: "Sémillant", puissance: "Hercule", complexion: "Aguerri", adresse: "Alerte" }, }, - + diceValeur: [ "d4", "d6", "d8", "d10", "d12", "d20" ], degatsArmure : { sansarmure : { label: "Sans armure"}, cuir : { label: "Cuir"}, @@ -110,5 +110,21 @@ export const TEDEUM_CONFIG = { domesticite: { label: "Domesticité", id: "domesticite", value: 8 }, paysannerie: { label: "Paysannerie", id: "paysannerie", value: 9 }, gueux: { label: "Gueux", id: "gueux", value: 10 }, - } + }, + bonusMalus: [ + { value: "-2", label: "-2 niveaux" }, + { value: "-1", label: "-1 niveau" }, + { value: "0", label: "Aucun" }, + { value: "1", label: "+1 niveau" }, + { value: "2", label: "+2 niveaux" } + ], + blessures: [ + { value: 0, label: "Indemne", degatsMax: -1, count: 0, modifier: 0 }, + { value: 1, label: "Estafilade/Contusion", degatsMax: 2, count: 1, modifier: 0 }, + { value: 2, label: "Plaie", degatsMax: 4, count: 1, modifier: -1 }, + { value: 3, label: "Plaie béante", degatsMax: 6, count: 1, modifier: -2 }, + { value: 4, label: "Plaie atroce", degatsMax: 6, count: 1, horsCombat: true, modifier: -12 }, + { value: 5, label: "Tué net", degatsMax: 100, count: 1, horsCombat: true, mort: true, modifier: -12 } + ] + } \ No newline at end of file diff --git a/modules/common/tedeum-utility.js b/modules/common/tedeum-utility.js index 708b28e..dddda6e 100644 --- a/modules/common/tedeum-utility.js +++ b/modules/common/tedeum-utility.js @@ -131,14 +131,14 @@ export class TeDeumUtility { html.on("click", '.button-select-confront', event => { let messageId = TeDeumUtility.findChatMessageId(event.currentTarget) let message = game.messages.get(messageId) - let rollData = message.getFlag("world", "ecryme-rolldata") + let rollData = message.getFlag("world", "te-deum-rolldata") ui.notifications.info( game.i18n.localize("ECRY.chat.confrontselect")) TeDeumUtility.manageConfrontation(rollData) }) html.on("click", '.button-apply-cephaly-difficulty', event => { let messageId = TeDeumUtility.findChatMessageId(event.currentTarget) let message = game.messages.get(messageId) - let rollData = message.getFlag("world", "ecryme-rolldata") + let rollData = message.getFlag("world", "te-deum-rolldata") let difficulty = $("#" + rollData.rollId + "-cephaly-difficulty").val() TeDeumUtility.manageCephalyDifficulty(rollData, difficulty) }) @@ -317,22 +317,47 @@ export class TeDeumUtility { } /* -------------------------------------------- */ - static computeResults(rollData) { + static async computeResults(rollData) { rollData.isSuccess = false + rollData.isReussiteCritique = false + rollData.isEchecCritique = false if (!rollData.difficulty || rollData.difficulty == "-") { return } rollData.margin = rollData.total - rollData.difficulty - if (rollData.total > rollData.difficulty) { + if (rollData.total >= rollData.difficulty) { rollData.isSuccess = true - let maxMargin = rollData.skill.value + ((rollData.spec) ? 2 : 0) - rollData.margin = Math.min(rollData.margin, maxMargin) + if (rollData.total >= 2 * rollData.difficulty) { + rollData.isReussiteCritique = true + } + } + if (rollData.diceSum == 1) { + let critiqueRoll = await new Roll(rollData.carac.negativeDice).roll() + await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode")) + rollData.critiqueRoll = foundry.utils.duplicate(critiqueRoll) + if (critiqueRoll.total > rollData.competence.score) { + rollData.isEchecCritique = true + } } } + /* -------------------------------------------- */ + static modifyDice(dice, bonusMalus) { + let newIndex = game.system.tedeum.config.diceValeur.indexOf(dice) + Number(bonusMalus) + newIndex = Math.min(Math.max(newIndex, 0), game.system.tedeum.config.diceValeur.length - 1) + return game.system.tedeum.config.diceValeur[newIndex] + } + /* -------------------------------------------- */ static computeRollFormula(rollData, actor, isConfrontation = false) { - rollData.diceFormula = "" + let diceFormula = "" + if (rollData.competence) { + let diceBase = this.modifyDice(rollData.carac.dice, rollData.bonusMalus+rollData.malusBlessures) + diceFormula = diceBase + "x + " + rollData.competence.system.score + } + if (rollData.enableProvidence) { + diceFormula += " + " + rollData.providence.dice + } return diceFormula } @@ -342,26 +367,36 @@ export class TeDeumUtility { let actor = game.actors.get(rollData.actorId) // Fix difficulty if (!rollData.difficulty || rollData.difficulty == "-") { - rollData.difficulty = 0 + rollData.difficulty = 7 } - rollData.difficulty = Number(rollData.difficulty) + rollData.difficulty = game.system.tedeum.config.difficulte[rollData.difficulty].value let diceFormula = this.computeRollFormula(rollData, actor) // Performs roll - let myRoll = new Roll(diceFormula).roll({ async: false }) + let myRoll = await new Roll(diceFormula).roll() await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode")) - rollData.roll = duplicate(myRoll) + rollData.roll = foundry.utils.duplicate(myRoll) rollData.total = myRoll.total rollData.diceSum = myRoll.terms[0].total + rollData.diceFormula = diceFormula - this.computeResults(rollData) + await this.computeResults(rollData) let msg = await this.createChatWithRollMode(rollData.alias, { content: await renderTemplate(`systems/fvtt-te-deum/templates/chat/chat-generic-result.hbs`, rollData) }) - await msg.setFlag("world", "ecryme-rolldata", rollData) + await msg.setFlag("world", "te-deum-rolldata", rollData) console.log("Rolldata result", rollData) + + // Decrement providence if needed + if (rollData.enableProvidence) { + actor.modifyProvidence(-1) + } + // Manage XP + if (rollData.isReussiteCritique || rollData.isEchecCritique) { + actor.modifyXP(rollData.carac.key, 1) + } } /* -------------------------------------------- */ @@ -454,6 +489,10 @@ export class TeDeumUtility { type: "roll-data", rollMode: game.settings.get("core", "rollMode"), difficulty: "pardefaut", + bonusMalus : "0", + isReroll : false, + enableProvidence : false, + malusBlessures: 0, config: duplicate(game.system.tedeum.config) } TeDeumUtility.updateWithTarget(rollData) diff --git a/modules/dialogs/tedeum-roll-dialog.js b/modules/dialogs/tedeum-roll-dialog.js index f000c8d..2f02d9c 100644 --- a/modules/dialogs/tedeum-roll-dialog.js +++ b/modules/dialogs/tedeum-roll-dialog.js @@ -6,7 +6,7 @@ export class TeDeumRollDialog extends Dialog { static async create(actor, rollData) { let options = { classes: ["tedeum-roll-dialog"], width: 540, height: 'fit-content', 'z-index': 99999 } - let html = await renderTemplate('systems/fvtt-tedeum/templates/dialogs/roll-dialog-generic.hbs', rollData); + let html = await renderTemplate('systems/fvtt-te-deum/templates/dialogs/roll-dialog-generic.hbs', rollData); return new TeDeumRollDialog(actor, rollData, html, options); } @@ -38,12 +38,12 @@ export class TeDeumRollDialog extends Dialog { /* -------------------------------------------- */ roll() { - EcrymeUtility.rollEcryme(this.rollData) + TeDeumUtility.rollTeDeum(this.rollData) } /* -------------------------------------------- */ async refreshDialog() { - const content = await renderTemplate("systems/fvtt-tedeum/templates/dialogs/roll-dialog-generic.hbs", this.rollData) + const content = await renderTemplate("systems/fvtt-te-deum/templates/dialogs/roll-dialog-generic.hbs", this.rollData) this.data.content = content this.render(true) } @@ -61,8 +61,15 @@ export class TeDeumRollDialog extends Dialog { this.rollData.bonusMalusPerso = Number(event.currentTarget.value) }) html.find('#roll-difficulty').change((event) => { - this.rollData.difficulty = Number(event.currentTarget.value) || 0 + this.rollData.difficulty = String(event.currentTarget.value) || "pardefaut" }) - + html.find('#roll-bonus-malus').change((event) => { + this.rollData.bonusMalus = event.currentTarget.value || "0" + }) + html.find('#roll-enable-providence').change((event) => { + this.rollData.enableProvidence = event.currentTarget.checked + }) + + } } \ No newline at end of file diff --git a/packs/competences/000023.log b/packs/competences/000044.log similarity index 100% rename from packs/competences/000023.log rename to packs/competences/000044.log diff --git a/packs/competences/CURRENT b/packs/competences/CURRENT index 5af92b2..8e0a062 100644 --- a/packs/competences/CURRENT +++ b/packs/competences/CURRENT @@ -1 +1 @@ -MANIFEST-000022 +MANIFEST-000042 diff --git a/packs/competences/LOG b/packs/competences/LOG index 4bd0d55..cd95a34 100644 --- a/packs/competences/LOG +++ b/packs/competences/LOG @@ -1,3 +1,8 @@ -2024/05/06-06:55:13.182706 7f87a4a006c0 Recovering log #20 -2024/05/06-06:55:13.193417 7f87a4a006c0 Delete type=3 #18 -2024/05/06-06:55:13.193524 7f87a4a006c0 Delete type=0 #20 +2024/05/30-18:20:39.192517 7f19c60006c0 Recovering log #40 +2024/05/30-18:20:39.203008 7f19c60006c0 Delete type=3 #38 +2024/05/30-18:20:39.203069 7f19c60006c0 Delete type=0 #40 +2024/05/31-09:06:57.898180 7f19c56006c0 Level-0 table #45: started +2024/05/31-09:06:57.898214 7f19c56006c0 Level-0 table #45: 0 bytes OK +2024/05/31-09:06:57.905181 7f19c56006c0 Delete type=0 #43 +2024/05/31-09:06:57.905376 7f19c56006c0 Manual compaction at level-0 from '!folders!4OPhigzcPv46qbWW' @ 72057594037927935 : 1 .. '!items!zwC0H39ar5Pl1l92' @ 0 : 0; will stop at (end) +2024/05/31-09:06:57.905426 7f19c56006c0 Manual compaction at level-1 from '!folders!4OPhigzcPv46qbWW' @ 72057594037927935 : 1 .. '!items!zwC0H39ar5Pl1l92' @ 0 : 0; will stop at (end) diff --git a/packs/competences/LOG.old b/packs/competences/LOG.old index 4cd5e4c..705a461 100644 --- a/packs/competences/LOG.old +++ b/packs/competences/LOG.old @@ -1,8 +1,8 @@ -2024/05/05-20:14:18.376388 7f87a54006c0 Recovering log #16 -2024/05/05-20:14:18.386554 7f87a54006c0 Delete type=3 #14 -2024/05/05-20:14:18.386658 7f87a54006c0 Delete type=0 #16 -2024/05/05-22:07:39.129357 7f879e4006c0 Level-0 table #21: started -2024/05/05-22:07:39.129390 7f879e4006c0 Level-0 table #21: 0 bytes OK -2024/05/05-22:07:39.175466 7f879e4006c0 Delete type=0 #19 -2024/05/05-22:07:39.175815 7f879e4006c0 Manual compaction at level-0 from '!folders!4OPhigzcPv46qbWW' @ 72057594037927935 : 1 .. '!items!zwC0H39ar5Pl1l92' @ 0 : 0; will stop at (end) -2024/05/05-22:07:39.175892 7f879e4006c0 Manual compaction at level-1 from '!folders!4OPhigzcPv46qbWW' @ 72057594037927935 : 1 .. '!items!zwC0H39ar5Pl1l92' @ 0 : 0; will stop at (end) +2024/05/29-14:03:31.123056 7f1708c006c0 Recovering log #36 +2024/05/29-14:03:31.132934 7f1708c006c0 Delete type=3 #34 +2024/05/29-14:03:31.132990 7f1708c006c0 Delete type=0 #36 +2024/05/29-14:17:02.858350 7f17072006c0 Level-0 table #41: started +2024/05/29-14:17:02.858400 7f17072006c0 Level-0 table #41: 0 bytes OK +2024/05/29-14:17:02.865141 7f17072006c0 Delete type=0 #39 +2024/05/29-14:17:02.865366 7f17072006c0 Manual compaction at level-0 from '!folders!4OPhigzcPv46qbWW' @ 72057594037927935 : 1 .. '!items!zwC0H39ar5Pl1l92' @ 0 : 0; will stop at (end) +2024/05/29-14:17:02.865414 7f17072006c0 Manual compaction at level-1 from '!folders!4OPhigzcPv46qbWW' @ 72057594037927935 : 1 .. '!items!zwC0H39ar5Pl1l92' @ 0 : 0; will stop at (end) diff --git a/packs/competences/MANIFEST-000022 b/packs/competences/MANIFEST-000022 deleted file mode 100644 index cc74f91..0000000 Binary files a/packs/competences/MANIFEST-000022 and /dev/null differ diff --git a/packs/competences/MANIFEST-000042 b/packs/competences/MANIFEST-000042 new file mode 100644 index 0000000..fd47cb8 Binary files /dev/null and b/packs/competences/MANIFEST-000042 differ diff --git a/packs/equipment/000085.log b/packs/equipment/000106.log similarity index 100% rename from packs/equipment/000085.log rename to packs/equipment/000106.log diff --git a/packs/equipment/CURRENT b/packs/equipment/CURRENT index bdbe58e..c8e9be6 100644 --- a/packs/equipment/CURRENT +++ b/packs/equipment/CURRENT @@ -1 +1 @@ -MANIFEST-000084 +MANIFEST-000104 diff --git a/packs/equipment/LOG b/packs/equipment/LOG index b565d0d..da16672 100644 --- a/packs/equipment/LOG +++ b/packs/equipment/LOG @@ -1,3 +1,7 @@ -2024/05/06-06:55:13.169191 7f879fe006c0 Recovering log #82 -2024/05/06-06:55:13.180412 7f879fe006c0 Delete type=3 #80 -2024/05/06-06:55:13.180524 7f879fe006c0 Delete type=0 #82 +2024/05/30-18:20:39.177986 7f19c74006c0 Recovering log #102 +2024/05/30-18:20:39.190129 7f19c74006c0 Delete type=3 #100 +2024/05/30-18:20:39.190232 7f19c74006c0 Delete type=0 #102 +2024/05/31-09:06:57.885512 7f19c56006c0 Level-0 table #107: started +2024/05/31-09:06:57.885543 7f19c56006c0 Level-0 table #107: 0 bytes OK +2024/05/31-09:06:57.891829 7f19c56006c0 Delete type=0 #105 +2024/05/31-09:06:57.905315 7f19c56006c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end) diff --git a/packs/equipment/LOG.old b/packs/equipment/LOG.old index 8f421f8..30f1a67 100644 --- a/packs/equipment/LOG.old +++ b/packs/equipment/LOG.old @@ -1,7 +1,7 @@ -2024/05/05-20:14:18.363805 7f879f4006c0 Recovering log #78 -2024/05/05-20:14:18.374315 7f879f4006c0 Delete type=3 #76 -2024/05/05-20:14:18.374420 7f879f4006c0 Delete type=0 #78 -2024/05/05-22:07:39.092489 7f879e4006c0 Level-0 table #83: started -2024/05/05-22:07:39.092519 7f879e4006c0 Level-0 table #83: 0 bytes OK -2024/05/05-22:07:39.129220 7f879e4006c0 Delete type=0 #81 -2024/05/05-22:07:39.175791 7f879e4006c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end) +2024/05/29-14:03:31.108608 7f17096006c0 Recovering log #98 +2024/05/29-14:03:31.119647 7f17096006c0 Delete type=3 #96 +2024/05/29-14:03:31.119700 7f17096006c0 Delete type=0 #98 +2024/05/29-14:17:02.850741 7f17072006c0 Level-0 table #103: started +2024/05/29-14:17:02.850779 7f17072006c0 Level-0 table #103: 0 bytes OK +2024/05/29-14:17:02.858192 7f17072006c0 Delete type=0 #101 +2024/05/29-14:17:02.865350 7f17072006c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end) diff --git a/packs/equipment/MANIFEST-000084 b/packs/equipment/MANIFEST-000084 deleted file mode 100644 index 6044d19..0000000 Binary files a/packs/equipment/MANIFEST-000084 and /dev/null differ diff --git a/packs/equipment/MANIFEST-000104 b/packs/equipment/MANIFEST-000104 new file mode 100644 index 0000000..29c1efe Binary files /dev/null and b/packs/equipment/MANIFEST-000104 differ diff --git a/postcss/tedeum.css b/postcss/tedeum.css index b6f8de3..f6a981f 100644 --- a/postcss/tedeum.css +++ b/postcss/tedeum.css @@ -503,7 +503,6 @@ nav.sheet-tabs .item:after { right: 0; height: 2rem; width: 1px; - border-right: 1px dashed rgba(52, 52, 52, 0.25); } .sheet .tab[data-tab] { @@ -556,8 +555,8 @@ ul, li { } .sheet li { - margin: 0.010rem; - padding: 0.25rem; + margin: 0.2rem; + padding: 0.15rem; } .header-fields li { margin: 0; @@ -584,13 +583,11 @@ ul, li { } .list-item { - /*margin: 0.125rem;*/ - /*box-shadow: inset 0px 0px 1px #00000096; + margin: 0.125rem; + box-shadow: inset 0px 0px 1px #00000096; border-radius: 0.25rem; - padding: 0.125rem;*/ + padding: 0.125rem; flex: 1 1 5rem; - display: flex !important; - color: rgba(19, 18, 18, 0.95); } .list-item-shadow { background:rgba(87, 60, 32, 0.35); @@ -648,12 +645,9 @@ ul, li { flex-grow: 0; } -.comp-column-list { - column-count: 4; -} .comp-li { - max-width: 6rem; - width: 6rem; + max-width: 8rem; + width: 8rem; } .description-label { flex-grow: 2; @@ -731,8 +725,8 @@ ul, li { flex-grow: 0; flex-shrink: 0; flex-basis: 40px; - margin-right: 0.25rem; - margin-left: 0.25rem; + margin-right: 0.15rem; + margin-left: 0.15rem; } .abilities-table { @@ -830,7 +824,7 @@ ul, li { } .sidebar-tab .directory-list .entity { - border-top: 1px dashed rgba(0,0,0,0.25); + border-top: 1px rgba(0,0,0,0.25); border-bottom: 0 none; padding: 0.25rem 0; } @@ -1217,64 +1211,9 @@ ul, li { max-width: 2rem; min-width: 2rem; } -.item-name-label-header { - flex-grow:2; - max-width: 12rem; - min-width: 12rem; -} -.item-name-label-header-long { - flex-grow:2; - max-width: 14rem; - min-width: 14rem; -} -.item-name-label-header-long2 { - flex-grow:2; - max-width: 24rem; - min-width: 24rem; -} -.item-name-label { - flex-grow:2; - max-width: 10rem; - min-width: 10rem; -} -.item-name-label-long { - flex-grow:2; - max-width: 12rem; - min-width: 12rem; -} -.item-name-label-long2 { - flex-grow:2; - max-width: 20rem; - min-width: 20rem; -} -.item-name-label-long3 { - flex-grow:2; - max-width: 18rem; - min-width: 18rem; -} -.item-name-label-short { - flex-grow:1; - max-width: 4rem; - min-width: 4rem; -} -.item-name-label-medium { - flex-grow:2; - max-width: 6rem; - min-width: 6rem; -} -.item-name-label-text-margin { +.item-field { margin-top: 4px; } -.item-name-label-long2 { - flex-grow:2; - max-width: 22rem; - min-width: 22rem; -} -.item-name-label-level2 { - flex-grow:2; - max-width: 9rem; - min-width: 9rem; -} .item-field-label-short { flex-grow:1; max-width: 4rem; @@ -1295,9 +1234,27 @@ ul, li { max-width: 10rem; min-width: 10rem; } +.item-field-label-long14 { + flex-grow:1; + max-width: 14rem; + min-width: 14rem; +} +.carac-box { + background-color: rgba(155, 155, 150, 0.3); + box-shadow: inset 0px 0px 1px #00000096; + border-radius: 0.45rem; +} +.comp-box { + max-width: 16rem; + min-width: 16rem; + width: 16rem; + min-height: 1.6rem; +} + .item-control-end { align-self: flex-end; } + .alternate-list { margin-top: 4px; flex-wrap: nowrap; @@ -1314,6 +1271,9 @@ ul, li { min-width:3rem; max-width: 3rem; } +.item-left-pad { + margin-left: 4px; +} .attribute-label { font-weight: bold; } diff --git a/styles/tedeum.css b/styles/tedeum.css index ce7ebc6..100efa8 100644 --- a/styles/tedeum.css +++ b/styles/tedeum.css @@ -475,7 +475,6 @@ nav.sheet-tabs .item:after { right: 0; height: 2rem; width: 1px; - border-right: 1px dashed rgba(52, 52, 52, 0.25); } .sheet .tab[data-tab] { @@ -528,8 +527,8 @@ ul, li { } .sheet li { - margin: 0.010rem; - padding: 0.25rem; + margin: 0.2rem; + padding: 0.15rem; } .header-fields li { margin: 0; @@ -556,13 +555,11 @@ ul, li { } .list-item { - /*margin: 0.125rem;*/ - /*box-shadow: inset 0px 0px 1px #00000096; + margin: 0.125rem; + box-shadow: inset 0px 0px 1px rgba(0,0,0,0.58824); border-radius: 0.25rem; - padding: 0.125rem;*/ + padding: 0.125rem; flex: 1 1 5rem; - display: flex !important; - color: rgba(19, 18, 18, 0.95); } .list-item-shadow { background:rgba(87, 60, 32, 0.35); @@ -620,13 +617,9 @@ ul, li { flex-grow: 0; } -.comp-column-list { - -moz-column-count: 4; - column-count: 4; -} .comp-li { - max-width: 6rem; - width: 6rem; + max-width: 8rem; + width: 8rem; } .description-label { flex-grow: 2; @@ -704,8 +697,8 @@ ul, li { flex-grow: 0; flex-shrink: 0; flex-basis: 40px; - margin-right: 0.25rem; - margin-left: 0.25rem; + margin-right: 0.15rem; + margin-left: 0.15rem; } .abilities-table { @@ -805,7 +798,7 @@ ul, li { } .sidebar-tab .directory-list .entity { - border-top: 1px dashed rgba(0,0,0,0.25); + border-top: 1px rgba(0,0,0,0.25); border-bottom: 0 none; padding: 0.25rem 0; } @@ -1199,64 +1192,9 @@ ul, li { max-width: 2rem; min-width: 2rem; } -.item-name-label-header { - flex-grow:2; - max-width: 12rem; - min-width: 12rem; -} -.item-name-label-header-long { - flex-grow:2; - max-width: 14rem; - min-width: 14rem; -} -.item-name-label-header-long2 { - flex-grow:2; - max-width: 24rem; - min-width: 24rem; -} -.item-name-label { - flex-grow:2; - max-width: 10rem; - min-width: 10rem; -} -.item-name-label-long { - flex-grow:2; - max-width: 12rem; - min-width: 12rem; -} -.item-name-label-long2 { - flex-grow:2; - max-width: 20rem; - min-width: 20rem; -} -.item-name-label-long3 { - flex-grow:2; - max-width: 18rem; - min-width: 18rem; -} -.item-name-label-short { - flex-grow:1; - max-width: 4rem; - min-width: 4rem; -} -.item-name-label-medium { - flex-grow:2; - max-width: 6rem; - min-width: 6rem; -} -.item-name-label-text-margin { +.item-field { margin-top: 4px; } -.item-name-label-long2 { - flex-grow:2; - max-width: 22rem; - min-width: 22rem; -} -.item-name-label-level2 { - flex-grow:2; - max-width: 9rem; - min-width: 9rem; -} .item-field-label-short { flex-grow:1; max-width: 4rem; @@ -1277,9 +1215,27 @@ ul, li { max-width: 10rem; min-width: 10rem; } +.item-field-label-long14 { + flex-grow:1; + max-width: 14rem; + min-width: 14rem; +} +.carac-box { + background-color: rgba(155, 155, 150, 0.3); + box-shadow: inset 0px 0px 1px rgba(0,0,0,0.58824); + border-radius: 0.45rem; +} +.comp-box { + max-width: 16rem; + min-width: 16rem; + width: 16rem; + min-height: 1.6rem; +} + .item-control-end { align-self: flex-end; } + .alternate-list { margin-top: 4px; flex-wrap: nowrap; @@ -1296,6 +1252,9 @@ ul, li { min-width:3rem; max-width: 3rem; } +.item-left-pad { + margin-left: 4px; +} .attribute-label { font-weight: bold; } diff --git a/templates/actors/actor-sheet.hbs b/templates/actors/actor-sheet.hbs index b140cc0..85f7550 100644 --- a/templates/actors/actor-sheet.hbs +++ b/templates/actors/actor-sheet.hbs @@ -38,34 +38,34 @@
-
- {{#if hasCephaly}} - {{!-- Cephaly Tab --}} -
- -
- -
- -

{{localize "ECRY.ui.cephaly"}}

-
    - {{#each cephalySkills as |skill skillkey|}} -
  • - - - - {{localize skill.name}} - - -
  • - {{/each}} -
- -
- -
- {{#if annency}} -

{{localize "ECRY.ui.annency"}} : {{annency.name}}

-
    -
  • - - {{annency.system.base.description}} - -
  • -
- {{/if}} - -
- -
- -
- {{/if}} -
\ No newline at end of file diff --git a/templates/chat/chat-confrontation-pending.hbs b/templates/chat/chat-confrontation-pending.hbs deleted file mode 100644 index 76530b3..0000000 --- a/templates/chat/chat-confrontation-pending.hbs +++ /dev/null @@ -1,72 +0,0 @@ -
- {{#if actorImg}} - {{alias}} - {{/if}} -

{{alias}}

-
- -
- -{{#if img}} -
- {{alias}} -
-{{/if}} - -
- - - {{#if (isGM)}} - {{#if (eq mode "cephaly")}} -
- {{localize "ECRY.chat.difficulty"}} - -
- - {{else}} - - {{/if}} - {{else}} -
- {{localize "ECRY.chat.sentogm"}} -
- {{/if}} -
- -
\ No newline at end of file diff --git a/templates/chat/chat-confrontation-result.hbs b/templates/chat/chat-confrontation-result.hbs deleted file mode 100644 index 144d6ef..0000000 --- a/templates/chat/chat-confrontation-result.hbs +++ /dev/null @@ -1,54 +0,0 @@ -
- {{#if actorImg}} - {{alias}} - {{/if}} -

{{alias}}

-
- -
- -{{#if img}} -
- {{alias}} -
-{{/if}} - -
- -
- - \ No newline at end of file diff --git a/templates/chat/chat-generic-result.hbs b/templates/chat/chat-generic-result.hbs index 41d2a08..f0c1b38 100644 --- a/templates/chat/chat-generic-result.hbs +++ b/templates/chat/chat-generic-result.hbs @@ -18,47 +18,33 @@
diff --git a/templates/dialogs/roll-dialog-generic.hbs b/templates/dialogs/roll-dialog-generic.hbs index 4359a22..d0455d5 100644 --- a/templates/dialogs/roll-dialog-generic.hbs +++ b/templates/dialogs/roll-dialog-generic.hbs @@ -7,18 +7,43 @@
+
+ Caracteristique + {{carac.name}} : {{carac.qualite}} ({{carac.dice}}) +
- {{> systems/fvtt-ecryme/templates/dialogs/partial-common-roll-dialog.hbs}} + {{#if competence}} +
+ Compétence + {{competence.name}} ({{competence.system.score}}) +
+ {{/if}} + + {{#if malusBlessures}} +
+ Malus Blessures + {{malusBlessures}} niveaux +
+ {{/if}} + +
+ Bonus/Malus : + +
+ + {{#if providence.value}} +
+ Utiliser la Providence ({{providence.dice}}) + +
+ {{/if}}
Difficulté :