5 Commits

Author SHA1 Message Date
631eb280ca Foundry v13 migration
All checks were successful
Release Creation / build (release) Successful in 55s
2025-05-09 10:26:29 +02:00
88ca98945f Fix #3 2025-04-20 09:25:48 +02:00
edfb2105d3 Various enhancements + fixes
All checks were successful
Release Creation / build (release) Successful in 56s
2025-04-12 00:18:45 +02:00
84cc59c57d Fix and enhancements
All checks were successful
Release Creation / build (release) Successful in 2m23s
2025-04-05 23:15:46 +02:00
e9c0fbd818 Fix URL scheme
All checks were successful
Release Creation / build (release) Successful in 1m30s
2025-03-19 13:55:30 +01:00
87 changed files with 437 additions and 277 deletions

View File

@ -27,7 +27,7 @@ jobs:
env:
version: ${{steps.get_version.outputs.version-without-v}}
url: https://www.uberwald.me/gitea/${{gitea.repository}}
manifest: https://www.uberwald.me/gitea/public/${{gitea.repository}}/releases/download/latest/system.json
manifest: https://www.uberwald.me/gitea/${{gitea.repository}}/releases/download/latest/system.json
download: https://www.uberwald.me/gitea/${{gitea.repository}}/releases/download/${{github.event.release.tag_name}}/fvtt-te-deum-${{github.event.release.tag_name}}.zip
# Create a zip file with all files required by the module to add to the release

View File

@ -6,7 +6,7 @@
import { TeDeumUtility } from "../common/tedeum-utility.js";
/* -------------------------------------------- */
export class TeDeumActorPJSheet extends ActorSheet {
export class TeDeumActorPJSheet extends foundry.appv1.sheets.ActorSheet {
/** @override */
static get defaultOptions() {
@ -42,6 +42,7 @@ export class TeDeumActorPJSheet extends ActorSheet {
providence: this.actor.prepareProvidence(),
arbreCompetences: this.actor.prepareArbreCompetences(),
equipements: this.actor.getEquipements(),
simples: this.actor.getSimples(),
armures: this.actor.getArmures(),
graces: this.actor.getGraces(),
blessures: this.actor.getBlessures(),
@ -55,10 +56,10 @@ export class TeDeumActorPJSheet extends ActorSheet {
nbArmuresLourdes: this.actor.getNbArmuresLourdesActuel(),
santeModifier: this.actor.getSanteModifier(),
educations: this.actor.getEducations(),
description: await TextEditor.enrichHTML(this.object.system.description, { async: true }),
equipmentfree: await TextEditor.enrichHTML(this.object.system.equipmentfree, { async: true }),
notes: await TextEditor.enrichHTML(this.object.system.notes, { async: true }),
histoire: await TextEditor.enrichHTML(this.object.system.histoire, { async: true }),
description: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.description, { async: true }),
equipmentfree: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.equipmentfree, { async: true }),
notes: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.notes, { async: true }),
histoire: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.histoire, { async: true }),
options: this.options,
owner: this.document.isOwner,
editScore: this.options.editScore,
@ -78,10 +79,10 @@ export class TeDeumActorPJSheet extends ActorSheet {
// Everything below here is only needed if the sheet is editable
if (!this.options.editable) return;
html.bind("keydown", function(e) { // Ignore Enter in actores sheet
if (e.keyCode === 13) return false;
});
});
// Update Inventory Item
html.find('.item-edit').click(ev => {
@ -97,16 +98,21 @@ export class TeDeumActorPJSheet extends ActorSheet {
})
html.find('.item-add').click(ev => {
let dataType = $(ev.currentTarget).data("type")
this.actor.createEmbeddedDocuments('Item', [{ name: "NewItem", type: dataType }], { renderSheet: true })
this.actor.createEmbeddedDocuments('Item', [{ name: "Nouveau " + dataType, type: dataType }], { renderSheet: true })
})
html.find('.competence-add').click(ev => {
let dataType = $(ev.currentTarget).data("type")
let caracKey = $(ev.currentTarget).data("carac-key")
this.actor.createEmbeddedDocuments('Item', [{ name: "Nouvelle " + dataType, type: dataType, system: {caracteristique: caracKey} }], { renderSheet: true })
})
html.find('.subactor-edit').click(ev => {
const li = $(ev.currentTarget).parents(".item");
let actorId = li.data("actor-id");
let actor = game.actors.get( actorId );
actor.sheet.render(true);
});
html.find('.subactor-delete').click(ev => {
const li = $(ev.currentTarget).parents(".item");
let actorId = li.data("actor-id");
@ -124,7 +130,7 @@ export class TeDeumActorPJSheet extends ActorSheet {
html.find('.roll-competence').click((event) => {
let compId = $(event.currentTarget).data("comp-id")
this.actor.rollCompetence(compId)
});
});
html.find('.roll-arme').click((event) => {
const armeId = $(event.currentTarget).data("arme-id")
this.actor.rollArme(armeId)
@ -133,24 +139,24 @@ export class TeDeumActorPJSheet extends ActorSheet {
const armeId = $(event.currentTarget).data("arme-id")
this.actor.rollDegatsArme(armeId)
});
html.find('.lock-unlock-sheet').click((event) => {
this.options.editScore = !this.options.editScore;
this.render(true);
});
});
html.find('.item-equip').click(ev => {
const li = $(ev.currentTarget).parents(".item");
this.actor.equipItem( li.data("item-id") );
this.render(true);
this.render(true);
});
html.find('.update-field').change(ev => {
const fieldName = $(ev.currentTarget).data("field-name");
let value = Number(ev.currentTarget.value);
this.actor.update( { [`${fieldName}`]: value } );
});
});
}
/* -------------------------------------------- */
/** @override */
setPosition(options = {}) {

View File

@ -14,8 +14,8 @@ export class TeDeumActor extends Actor {
/**
* Override the create() function to provide additional SoS functionality.
*
* This overrided create() function adds initial items
* Namely: Basic skills, money,
* This overrided create() function adds initial items
* Namely: Basic skills, money,
*
* @param {Object} data Barebones actor data which this function adds onto.
* @param {Object} options (Unused) Additional options which customize the creation workflow.
@ -64,7 +64,7 @@ export class TeDeumActor extends Actor {
super._preUpdate(changed, options, user);
}
getCompetenceScore(compName) {
let competence = this.items.find(item => item.type == "competence" && item.name.toLowerCase() == compName.toLowerCase())
if (competence) {
@ -127,8 +127,10 @@ export class TeDeumActor extends Actor {
if (updates.length > 0) {
this.updateEmbeddedDocuments('Item', updates)
}
super._onUpdate(changed, options, userId);
}
/* -------------------------------------------- */
async _preCreate(data, options, user) {
await super._preCreate(data, options, user);
@ -198,6 +200,11 @@ export class TeDeumActor extends Actor {
TeDeumUtility.sortArrayObjectsByName(comp)
return comp;
}
getSimples() {
let comp = foundry.utils.duplicate(this.items.filter(item => item.type == 'simple') || [])
TeDeumUtility.sortArrayObjectsByName(comp)
return comp;
}
getArmures() {
let comp = foundry.utils.duplicate(this.items.filter(item => item.type == 'armure') || [])
TeDeumUtility.sortArrayObjectsByName(comp)
@ -275,7 +282,7 @@ export class TeDeumActor extends Actor {
for (let bId in game.system.tedeum.config.blessures) {
let blessure = game.system.tedeum.config.blessures[bId]
if (diff >= blessure.degatsMin && diff <= blessure.degatsMax) {
// Create a new blessure object
// Create a new blessure object
let blessureObj = {
name: blessure.label,
type: "blessure",
@ -303,7 +310,11 @@ export class TeDeumActor extends Actor {
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]
if (this.system.genre.toLowerCase() == "homme") {
c.qualite = game.system.tedeum.config.descriptionValeur[c.value][key]
} else {
c.qualite = game.system.tedeum.config.descriptionValeurFemme[c.value][key]
}
c.dice = game.system.tedeum.config.descriptionValeur[c.value].dice
c.negativeDice = game.system.tedeum.config.descriptionValeur[c.value].negativeDice
}
@ -322,7 +333,11 @@ export class TeDeumActor extends Actor {
prepareProvidence() {
let providence = foundry.utils.deepClone(this.system.providence)
providence.name = "Providence"
providence.qualite = game.system.tedeum.config.providence[providence.value].labelM
if (this.system.genre.toLowerCase() == "homme") {
providence.qualite = game.system.tedeum.config.providence[providence.value].labelH
} else {
providence.qualite = game.system.tedeum.config.providence[providence.value].labelF
}
providence.dice = game.system.tedeum.config.providence[providence.value].diceValue
providence.description = "La Providence représente la Volonté Divine à l'œuvre pour guider ou sauver un être humain. Les PJ montent dans léchelle de la Providence en menant à bien leurs missions et en se montrant vertueux. Les points de Providence peuvent servir à augmenter temporairement une caractéris- tique, à modifier la gravité d'une blessure, et à résister au vieillissement. Chaque person- nage commence avec un score initial de 1 en Providence (au niveau Pauvre pécheur)."
return providence

View File

@ -69,7 +69,7 @@ export class TeDeumCharacterCreator {
/*--------------------------------------------*/
async askStageName(context) {
const content = await renderTemplate("systems/fvtt-te-deum/templates/dialogs/character-creator-select-stage-name.hbs", context)
const content = await foundry.applications.handlebars.renderTemplate("systems/fvtt-te-deum/templates/dialogs/character-creator-select-stage-name.hbs", context)
const choiceResult = await foundry.applications.api.DialogV2.wait({
window: { title: context.title },
classes: ["fvtt-te-deum"],
@ -127,7 +127,7 @@ export class TeDeumCharacterCreator {
context.competences = {}
context.responseKey = "reponse1" // By default
const content = await renderTemplate("systems/fvtt-te-deum/templates/dialogs/character-creator-select-questions.hbs", context)
const content = await foundry.applications.handlebars.renderTemplate("systems/fvtt-te-deum/templates/dialogs/character-creator-select-questions.hbs", context)
const choiceResult = await foundry.applications.api.DialogV2.wait({
window: { title: context.title },
classes: ["fvtt-te-deum"],
@ -156,7 +156,7 @@ export class TeDeumCharacterCreator {
// Get the responseKey data
let responseKey = $(event.target).data("response-key")
let compName = event.target.value
console.log("Questionnaire Change", responseKey, compName)
console.log("Questionnaire Change", responseKey, compName)
context.competences[responseKey] = compName.toLowerCase()
})
}
@ -192,7 +192,7 @@ export class TeDeumCharacterCreator {
}
}
const content = await renderTemplate("systems/fvtt-te-deum/templates/dialogs/character-creator-select-competences.hbs", context)
const content = await foundry.applications.handlebars.renderTemplate("systems/fvtt-te-deum/templates/dialogs/character-creator-select-competences.hbs", context)
const choiceResult = await foundry.applications.api.DialogV2.wait({
window: { title: context.title },
classes: ["fvtt-te-deum"],
@ -236,7 +236,7 @@ export class TeDeumCharacterCreator {
}
}
const content = await renderTemplate("systems/fvtt-te-deum/templates/dialogs/character-creator-select-competences.hbs", context)
const content = await foundry.applications.handlebars.renderTemplate("systems/fvtt-te-deum/templates/dialogs/character-creator-select-competences.hbs", context)
const choiceResult = await foundry.applications.api.DialogV2.wait({
window: { title: context.title },
classes: ["fvtt-te-deum"],
@ -283,7 +283,7 @@ export class TeDeumCharacterCreator {
context.caracList.push(game.system.tedeum.config.caracteristiques[carac.caracId])
}
const content = await renderTemplate("systems/fvtt-te-deum/templates/dialogs/character-creator-select-carac.hbs", context)
const content = await foundry.applications.handlebars.renderTemplate("systems/fvtt-te-deum/templates/dialogs/character-creator-select-carac.hbs", context)
const choiceResult = await foundry.applications.api.DialogV2.wait({
window: { title: context.title },
classes: ["fvtt-te-deum"],
@ -325,7 +325,7 @@ export class TeDeumCharacterCreator {
origineChoice: game.system.tedeum.config.origineSociale
}
const content = await renderTemplate("systems/fvtt-te-deum/templates/dialogs/character-creator-origine.hbs", context)
const content = await foundry.applications.handlebars.renderTemplate("systems/fvtt-te-deum/templates/dialogs/character-creator-origine.hbs", context)
const label = "Valider le choix de l'Origine Sociale"
const choiceResult = await foundry.applications.api.DialogV2.wait({
window: { title: context.title },
@ -404,7 +404,7 @@ export class TeDeumCharacterCreator {
/*--------------------------------------------*/
async renderPetitsGrimauds(stage) {
// Filter available pouponniere from origineSociale
let grimaudsItems = stage.items.filter(item => item.system.accessible[this.origineSociale.id].isaccessible && (item.system.genre === this.sexe || item.system.genre === "Mixte"))
let grimaudsItems = stage.items.filter(item => item.system.accessible[this.origineSociale.id].isaccessible && (item.system.genre === this.sexe || item.system.genre === "Mixte"))
let context = {
title: "Les Petits Grimauds",
@ -545,7 +545,7 @@ export class TeDeumCharacterCreator {
let actor = await TeDeumActor.create({name: "Nouveau personnage", type: "pj"})
let updates = {}
for (let key in this.caracBonus) {
updates[`system.caracteristiques.${key}.value`] = Number(this.caracBonus[key].value)+1
updates[`system.caracteristiques.${key}.value`] = Number(this.caracBonus[key].value)+1
}
updates['system.genre'] = this.sexe
updates['system.religion'] = TeDeumUtility.upperFirst(this.religion)
@ -553,7 +553,7 @@ export class TeDeumCharacterCreator {
updates['system.equipmentfree'] = this.ageViril.system.trousseau
actor.update( updates);
// Process competences : increase know skills
// Process competences : increase know skills
let updateComp = []
let toAdd = []
for (let compName in this.competenceBonus) {
@ -562,13 +562,13 @@ export class TeDeumCharacterCreator {
updateComp.push({ _id: comp._id, "system.score": this.competenceBonus[compName].value })
} else {
toAdd.push( compName)
}
}
}
actor.updateEmbeddedDocuments("Item", updateComp)
// Process adding skills
// Process adding skills
let compendiumSkill = TeDeumUtility.getCompetences()
let compToAdd = [ this.pouponniere, this.grimauds, this.roses, this.ageViril ]
let compToAdd = [ this.pouponniere, this.grimauds, this.roses, this.ageViril ]
for (let compName of toAdd) {
let comp = compendiumSkill.find( i => i.name.toLowerCase() === compName.toLowerCase())
comp.system.score = this.competenceBonus[compName].value
@ -582,13 +582,13 @@ export class TeDeumCharacterCreator {
let histoire = ""
for (let reponse of this.suiviReponses) {
histoire += `<p>${reponse.question}<br>${reponse.reponse} (${reponse.compName})</p>`
histoire += `<p>${reponse.question}<br>${reponse.reponse} (${reponse.compName})</p>`
}
await actor.update({ "system.histoire": histoire})
actor.render(true)
context.pointsCompetence = {
"savoir": { score: actor.getCompetenceScore("Mémoriser"), label: "Savoir" },
"savoir": { score: actor.getCompetenceScore("Mémoriser"), label: "Savoir" },
"sensibilite": { score: actor.getCompetenceScore("Perception"), label: "Sensibilité" },
"entregent": { score: actor.getCompetenceScore("Charme"), label: "Entregent" },
"puissance": { score: actor.getCompetenceScore("Effort"), label: "Puissance" },
@ -596,7 +596,7 @@ export class TeDeumCharacterCreator {
"adresse": { score: actor.getCompetenceScore("Initiative"), label: "Adresse" },
}
const content = await renderTemplate("systems/fvtt-te-deum/templates/dialogs/character-creator-finished.hbs", context)
const content = await foundry.applications.handlebars.renderTemplate("systems/fvtt-te-deum/templates/dialogs/character-creator-finished.hbs", context)
const label = "Terminer"
const choiceResult = await foundry.applications.api.DialogV2.wait({
window: { title: context.title },

View File

@ -57,7 +57,7 @@ export const TEDEUM_CONFIG = {
descriptionValeurOdd: {
1: { valeur: 1, qualite: "Mauvais", dice: "d4", negativeDice: "d20", savoir: "Sot", sensibilite: "Obtus", entregent: "Rustaud", puissance: "Menu", complexion: "Anémique", adresse: "Empesé" },
2: { valeur: 2, qualite: "Médiocre", dice: "d6", negativeDice: "d12", savoir: "Limité", sensibilite: "Etriqué", entregent: "Frustre", puissance: "Délicat", complexion: "Languide", adresse: "Gauche" },
2: { valeur: 2, qualite: "Médiocre", dice: "d6", negativeDice: "d12", savoir: "Limité", sensibilite: "Etriqué", entregent: "Fruste", puissance: "Délicat", complexion: "Languide", adresse: "Gauche" },
3: { valeur: 3, qualite: "Correct", dice: "d8", negativeDice: "d10", savoir: "Mêlé", sensibilite: "Ouvert", entregent: "Badin", puissance: "Membru", complexion: "Dispos", adresse: "Ingambe" },
4: { valeur: 4, qualite: "Bon", dice: "d10", negativeDice: "d8", savoir: "Lettré", sensibilite: "Fin", entregent: "Disert", puissance: "Vigoureux", complexion: "Gaillard", adresse: "Leste" },
5: { valeur: 5, qualite: "Bon", dice: "d10", negativeDice: "d8", savoir: "Lettré", sensibilite: "Fin", entregent: "Disert", puissance: "Vigoureux", complexion: "Gaillard", adresse: "Leste" },
@ -71,12 +71,20 @@ export const TEDEUM_CONFIG = {
},
descriptionValeur: {
1: { valeur: 1, qualite: "Mauvais", dice: "d4", negativeDice: "d20", savoir: "Sot", sensibilite: "Obtus", entregent: "Rustaud", puissance: "Menu", complexion: "Anémique", adresse: "Empesé" },
2: { valeur: 2, qualite: "Médiocre", dice: "d6", negativeDice: "d12", savoir: "Limité", sensibilite: "Etriqué", entregent: "Frustre", puissance: "Délicat", complexion: "Languide", adresse: "Gauche" },
2: { valeur: 2, qualite: "Médiocre", dice: "d6", negativeDice: "d12", savoir: "Limité", sensibilite: "Etriqué", entregent: "Fruste", puissance: "Délicat", complexion: "Languide", adresse: "Gauche" },
3: { valeur: 3, qualite: "Correct", dice: "d8", negativeDice: "d10", savoir: "Mêlé", sensibilite: "Ouvert", entregent: "Badin", puissance: "Membru", complexion: "Dispos", adresse: "Ingambe" },
4: { valeur: 4, qualite: "Bon", dice: "d10", negativeDice: "d8", savoir: "Lettré", sensibilite: "Fin", entregent: "Disert", puissance: "Vigoureux", complexion: "Gaillard", adresse: "Leste" },
5: { valeur: 5, qualite: "Excellent", dice: "d12", negativeDice: "d6", savoir: "Docte", sensibilite: "Subtil", entregent: "Galant", puissance: "Musculeux", complexion: "Sanguin", adresse: "Preste" },
6: { valeur: 6, qualite: "Admirable", dice: "d20", negativeDice: "d4", savoir: "Humaniste", sensibilite: "Spirituel", entregent: "Sémillant", puissance: "Hercule", complexion: "Aguerri", adresse: "Alerte" },
},
descriptionValeurFemme: {
1: { valeur: 1, qualite: "Mauvais", dice: "d4", negativeDice: "d20", savoir: "Sotte", sensibilite: "Obtuse", entregent: "Rustaude", puissance: "Menue", complexion: "Anémique", adresse: "Empesée" },
2: { valeur: 2, qualite: "Médiocre", dice: "d6", negativeDice: "d12", savoir: "Limitée", sensibilite: "Etriquée", entregent: "Fruste", puissance: "Délicate", complexion: "Languide", adresse: "Gauche" },
3: { valeur: 3, qualite: "Correct", dice: "d8", negativeDice: "d10", savoir: "Mêlée", sensibilite: "Ouverte", entregent: "Badine", puissance: "Membrue", complexion: "Dispose", adresse: "Ingambe" },
4: { valeur: 4, qualite: "Bon", dice: "d10", negativeDice: "d8", savoir: "Lettrée", sensibilite: "Fine", entregent: "Diserte", puissance: "Vigoureuse", complexion: "Gaillarde", adresse: "Leste" },
5: { valeur: 5, qualite: "Excellent", dice: "d12", negativeDice: "d6", savoir: "Docte", sensibilite: "Subtile", entregent: "Galante", puissance: "Musculeuse", complexion: "Sanguine", adresse: "Preste" },
6: { valeur: 6, qualite: "Admirable", dice: "d20", negativeDice: "d4", savoir: "Humaniste", sensibilite: "Spirituelle", entregent: "Sémillante", puissance: "Hercule", complexion: "Aguerrie", adresse: "Alerte" },
},
diceValeur: ["d4", "d6", "d8", "d10", "d12", "d20"],
degatsArmure: {
sansarmure: { label: "Sans armure" },
@ -157,6 +165,11 @@ export const TEDEUM_CONFIG = {
sol: { label: "Sols", id: "sol", value: 10 },
livre: { label: "Livres", id: "livre", value: 100 }
},
monnaieUnit: {
"1": { label: "Deniers", id: "denier", value: 1 },
"10": { label: "Sols", id: "sol", value: 10 },
"100": { label: "Livres", id: "livre", value: 100 }
},
etapesEducation: {
pouponniere: { label: "La Pouponnière", value: "pouponniere", agemin: 0, agemax: 6, nbCompetences: 2, nbCaracteristiques: 3, hasGenre: false, hasQuestionnaire: true, hasDebouches: false, hasMultiplier: false, canCompetencesOpt: false },
petitsgrimauds: { label: "La classe des Petits Grimauds", value: "petitsgrimauds", agemin: 7, agemax: 12, nbCompetences: 10, hasGenre: true, nbCaracteristiques: 3, hasDebouches: false, hasQuestionnaire: true, hasMultiplier: false, canCompetencesOpt: false },

View File

@ -24,7 +24,7 @@ export class TeDeumUtility {
let cr = new game.system.tedeum.TeDeumCharacterCreator();
cr.init()
})
html.find('.header-actions').after(button)
$(html).find('.header-actions').after(button)
}
})
//Hooks.on("getChatLogEntryContext", (html, options) => TeDeumUtility.chatMenuManager(html, options));
@ -92,6 +92,13 @@ export class TeDeumUtility {
Handlebars.registerHelper('isGM', function () {
return game.user.isGM
})
Handlebars.registerHelper('monnaie', function (value) {
let monnaie = game.system.tedeum.config.monnaieUnit[String(value)]
if (monnaie) {
return monnaie.label
}
return value
})
// Load compendium data
const competences = await TeDeumUtility.loadCompendium("fvtt-te-deum.competences")
@ -202,7 +209,7 @@ export class TeDeumUtility {
} else {
// Perform the opposition
let isAttackWinner = true
let rWinner = this.currentOpposition
let rWinner = this.currentOpposition
let rLooser = rollData
if (rWinner.total < rLooser.total) {
rWinner = rollData
@ -215,15 +222,15 @@ export class TeDeumUtility {
looser: rLooser
}
let msg = await this.createChatWithRollMode(rollData.alias, {
content: await renderTemplate(`systems/fvtt-te-deum/templates/chat/chat-opposition-result.hbs`, oppositionData)
content: await foundry.applications.handlebars.renderTemplate(`systems/fvtt-te-deum/templates/chat/chat-opposition-result.hbs`, oppositionData)
})
await msg.setFlag("world", "te-deum-rolldata", rollData)
// Si le gagnant est l'attaquant, appliquer les dégats sur la victime
if ( isAttackWinner && rWinner.isSuccess && rWinner.mode == "arme" && rWinner.arme?.system.typeArme == "melee" && rWinner.defenderTokenId) {
this.appliquerDegats(rWinner)
}
console.log("Rolldata result", rollData)
}
}
@ -243,7 +250,7 @@ export class TeDeumUtility {
/* -------------------------------------------- */ /* -------------------------------------------- */
static async chatListeners(html) {
html.on("click", '.chat-command-opposition', event => {
$(html).on("click", '.chat-command-opposition', event => {
let messageId = TeDeumUtility.findChatMessageId(event.currentTarget)
let message = game.messages.get(messageId)
let rollData = message.getFlag("world", "te-deum-rolldata")
@ -251,7 +258,7 @@ export class TeDeumUtility {
TeDeumUtility.manageOpposition(rollData, messageId)
}
})
html.on("click", '.chat-command-appliquer-degats', event => {
$(html).on("click", '.chat-command-appliquer-degats', event => {
let messageId = TeDeumUtility.findChatMessageId(event.currentTarget)
let message = game.messages.get(messageId)
let rollData = message.getFlag("world", "te-deum-rolldata")
@ -270,7 +277,7 @@ export class TeDeumUtility {
'systems/fvtt-te-deum/templates/items/partial-item-description.hbs',
'systems/fvtt-te-deum/templates/dialogs/partial-creator-status.hbs'
]
return loadTemplates(templatePaths);
return foundry.applications.handlebars.loadTemplates(templatePaths);
}
/* -------------------------------------------- */
@ -347,7 +354,7 @@ export class TeDeumUtility {
let rollData = msg.data.rollData
if (game.user.isGM) {
let chatMsg = await this.createChatMessage(rollData.alias, "blindroll", {
content: await renderTemplate(msg.data.template, rollData),
content: await foundry.applications.handlebars.renderTemplate(msg.data.template, rollData),
whisper: game.user.id
})
chatMsg.setFlag("world", "tedeum-rolldata", rollData)
@ -546,7 +553,7 @@ export class TeDeumUtility {
await this.processAttaqueDistance(rollData)
let msg = await this.createChatWithRollMode(rollData.alias, {
content: await renderTemplate(`systems/fvtt-te-deum/templates/chat/chat-generic-result.hbs`, rollData)
content: await foundry.applications.handlebars.renderTemplate(`systems/fvtt-te-deum/templates/chat/chat-generic-result.hbs`, rollData)
})
await msg.setFlag("world", "te-deum-rolldata", rollData)
console.log("Rolldata result", rollData)
@ -555,7 +562,7 @@ export class TeDeumUtility {
if (rollData.enableProvidence) {
actor.modifyProvidence(-1)
}
// Manage XP
// Manage XP
if (rollData.isReussiteCritique || rollData.isEchecCritique) {
actor.modifyXP(rollData.carac.key, 1)
}

View File

@ -13,4 +13,10 @@ export class TeDeumEquipementSchema extends foundry.abstract.TypeDataModel {
return schema;
}
get monnaieLabel() {
console.log("monnaieLabel", this.monnaie,game.system.tedeum.config.monnaieUnit)
return game.system.tedeum.config.monnaieUnit[String(this.monnaie)]?.label;
}
}

View File

@ -9,7 +9,8 @@ export class TeDeumMaladieSchema extends foundry.abstract.TypeDataModel {
schema.virulence = new fields.StringField({required: true, choices: ["fatigue", "epuisement", "souffrance", "agonie"], initial: "fatigue"});
schema.fievre = new fields.StringField({required: true, choices: ["aucune", "legere", "forte", "grave"], initial: "aucune"});
schema.symptomes = new fields.HTMLField({ required: true, blank: true });
schema.appliquee = new fields.BooleanField({initial: false}),
schema.complications = new fields.HTMLField({ required: true, blank: true });
schema.appliquee = new fields.BooleanField({initial: false});
schema.description = new fields.HTMLField({ required: true, blank: true });

View File

@ -26,33 +26,35 @@ export class TeDeumPJSchema extends foundry.abstract.TypeDataModel {
obj[loc.id] = new fields.SchemaField({
armure: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0, max: 20 }),
touche: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0, max: 20 }),
blessures: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0, max: 20 })
blessures: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0, max: 20 })
});
return obj;
}, {})
);
schema.fortune = new fields.SchemaField({
"ecus": new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
"ecus": new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
"livres": new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }) ,
"sous": new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }) ,
"deniers": new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 })
"deniers": new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 })
});
schema.description = new fields.HTMLField({required: true, blank: true});
schema.notes = new fields.HTMLField({required: true, blank: true});
schema.connaissances = new fields.HTMLField({required: true, blank: true});
schema.histoire = new fields.HTMLField({required: true, blank: true});
schema.vetements = new fields.HTMLField({required: true, blank: true});
schema.equipmentfree = new fields.HTMLField({required: true, blank: true});
schema.genre = new fields.StringField({required: true, choices: game.system.tedeum.config.genre, initial: "Femme"});
schema.age = new fields.StringField({ required: false, blank: true, initial: undefined });
schema.statutocial = new fields.StringField({ required: false, blank: true, initial: undefined });
schema.chargestitre = new fields.StringField({ required: false, blank: true, initial: undefined });
schema.charges = new fields.StringField({ required: false, blank: true, initial: undefined });
schema.religion = new fields.StringField({ required: false, blank: true, initial: undefined });
schema.lieunaissance = new fields.StringField({ required: false, blank: true, initial: undefined });
schema.age = new fields.StringField({ required: false, blank: true, initial: "" });
schema.datenaissance = new fields.StringField({ required: false, blank: true, initial: "" });
schema.statutocial = new fields.StringField({ required: false, blank: true, initial: "" });
schema.chargestitre = new fields.StringField({ required: false, blank: true, initial: "" });
schema.charges = new fields.StringField({ required: false, blank: true, initial: "" });
schema.religion = new fields.StringField({ required: false, blank: true, initial: "" });
schema.lieunaissance = new fields.StringField({ required: false, blank: true, initial: "" });
return schema;
}
}

View File

@ -4,7 +4,7 @@ import { TeDeumUtility } from "../common/tedeum-utility.js";
* Extend the basic ItemSheet with some very simple modifications
* @extends {ItemSheet}
*/
export class TeDeumItemSheet extends ItemSheet {
export class TeDeumItemSheet extends foundry.appv1.sheets.ItemSheet {
/** @override */
static get defaultOptions() {
@ -49,11 +49,11 @@ export class TeDeumItemSheet extends ItemSheet {
limited: this.object.limited,
options: this.options,
owner: this.document.isOwner,
description: await TextEditor.enrichHTML(this.object.system.description, { async: true }),
notes: await TextEditor.enrichHTML(this.object.system.notes, { async: true }),
description: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.description, { async: true }),
notes: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.notes, { async: true }),
isGM: game.user.isGM
}
if (this.object.type == "education") {
TeDeumUtility.prepareEducationContent(formData);
}
@ -103,7 +103,7 @@ export class TeDeumItemSheet extends ItemSheet {
let levelIndex = Number($(ev.currentTarget).parents(".item").data("level-index"))
let choiceIndex = Number($(ev.currentTarget).parents(".item").data("choice-index"))
let featureId = $(ev.currentTarget).parents(".item").data("feature-id")
let itemData = this.object.system.levels[levelIndex].choices[choiceIndex].features[featureId]
if (itemData.name != 'None') {

View File

@ -51,7 +51,7 @@ Hooks.once("init", async function () {
// preload handlebars templates
TeDeumUtility.preloadHandlebarsTemplates();
// Set an initiative formula for the system
// Set an initiative formula for the system
CONFIG.Combat.initiative = {
formula: "1d6",
decimals: 1
@ -79,17 +79,17 @@ Hooks.once("init", async function () {
blessure: TeDeumBlessureSchema,
maladie: TeDeumMaladieSchema,
};
console.log("TeDeum RPG | Ready");
Actors.unregisterSheet("core", ActorSheet);
Actors.registerSheet("fvtt-te-deum", TeDeumActorPJSheet, { types: ["pj"], makeDefault: true });
Actors.registerSheet("fvtt-te-deum", TeDeumActorPJSheet, { types: ["pnj"], makeDefault: true });
Items.unregisterSheet("core", ItemSheet);
Items.registerSheet("fvtt-te-deum", TeDeumItemSheet, { makeDefault: true });
foundry.documents.collections.Actors.unregisterSheet("core", foundry.appv1.sheets.ActorSheet);
foundry.documents.collections.Actors.registerSheet("fvtt-te-deum", TeDeumActorPJSheet, { types: ["pj"], makeDefault: true });
foundry.documents.collections.Actors.registerSheet("fvtt-te-deum", TeDeumActorPJSheet, { types: ["pnj"], makeDefault: true });
TeDeumUtility.init()
foundry.documents.collections.Items.unregisterSheet("core", foundry.appv1.sheets.ItemSheet);
foundry.documents.collections.Items.registerSheet("fvtt-te-deum", TeDeumItemSheet, { makeDefault: true });
TeDeumUtility.init()
});
@ -106,7 +106,7 @@ Hooks.once("ready", function () {
user: game.user._id
});
}
import("https://www.uberwald.me/fvtt_appcount/count-class-ready.js").then(moduleCounter=>{
console.log("ClassCounter loaded", moduleCounter)
moduleCounter.ClassCounter.registerUsageCount()
@ -134,4 +134,3 @@ Hooks.on("chatMessage", (html, content, msg) => {
}
return true;
});

Binary file not shown.

BIN
packs/aides/000103.ldb Normal file

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000081
MANIFEST-000099

View File

@ -1,7 +1,14 @@
2025/03/18-20:02:55.715587 7fbe66ffd6c0 Recovering log #79
2025/03/18-20:02:55.727775 7fbe66ffd6c0 Delete type=3 #77
2025/03/18-20:02:55.727902 7fbe66ffd6c0 Delete type=0 #79
2025/03/18-20:34:57.401764 7fbe663ff6c0 Level-0 table #84: started
2025/03/18-20:34:57.401796 7fbe663ff6c0 Level-0 table #84: 0 bytes OK
2025/03/18-20:34:57.408016 7fbe663ff6c0 Delete type=0 #82
2025/03/18-20:34:57.415964 7fbe663ff6c0 Manual compaction at level-0 from '!journal!uNwJgi4kXBCiZmAH' @ 72057594037927935 : 1 .. '!journal.pages!uNwJgi4kXBCiZmAH.onhNU0mXhOpdNZJF' @ 0 : 0; will stop at (end)
2025/05/09-10:15:41.735148 7fbe907f86c0 Recovering log #97
2025/05/09-10:15:41.791781 7fbe907f86c0 Delete type=3 #95
2025/05/09-10:15:41.791840 7fbe907f86c0 Delete type=0 #97
2025/05/09-10:26:09.013435 7fbe8fbff6c0 Level-0 table #102: started
2025/05/09-10:26:09.031920 7fbe8fbff6c0 Level-0 table #102: 3728 bytes OK
2025/05/09-10:26:09.069119 7fbe8fbff6c0 Delete type=0 #100
2025/05/09-10:26:09.069442 7fbe8fbff6c0 Manual compaction at level-0 from '!journal!uNwJgi4kXBCiZmAH' @ 72057594037927935 : 1 .. '!journal.pages!uNwJgi4kXBCiZmAH.onhNU0mXhOpdNZJF' @ 0 : 0; will stop at '!journal.pages!uNwJgi4kXBCiZmAH.onhNU0mXhOpdNZJF' @ 25 : 1
2025/05/09-10:26:09.069450 7fbe8fbff6c0 Compacting 1@0 + 1@1 files
2025/05/09-10:26:09.093063 7fbe8fbff6c0 Generated table #103@0: 5 keys, 3728 bytes
2025/05/09-10:26:09.093094 7fbe8fbff6c0 Compacted 1@0 + 1@1 files => 3728 bytes
2025/05/09-10:26:09.137637 7fbe8fbff6c0 compacted to: files[ 0 1 0 0 0 0 0 ]
2025/05/09-10:26:09.137778 7fbe8fbff6c0 Delete type=2 #72
2025/05/09-10:26:09.137982 7fbe8fbff6c0 Delete type=2 #102
2025/05/09-10:26:09.254090 7fbe8fbff6c0 Manual compaction at level-0 from '!journal.pages!uNwJgi4kXBCiZmAH.onhNU0mXhOpdNZJF' @ 25 : 1 .. '!journal.pages!uNwJgi4kXBCiZmAH.onhNU0mXhOpdNZJF' @ 0 : 0; will stop at (end)

View File

@ -1,7 +1,7 @@
2025/03/11-18:04:31.143055 7f24c6ffd6c0 Recovering log #75
2025/03/11-18:04:31.153035 7f24c6ffd6c0 Delete type=3 #73
2025/03/11-18:04:31.153146 7f24c6ffd6c0 Delete type=0 #75
2025/03/11-18:27:51.833675 7f24c4bff6c0 Level-0 table #80: started
2025/03/11-18:27:51.833743 7f24c4bff6c0 Level-0 table #80: 0 bytes OK
2025/03/11-18:27:51.840981 7f24c4bff6c0 Delete type=0 #78
2025/03/11-18:27:51.853984 7f24c4bff6c0 Manual compaction at level-0 from '!journal!uNwJgi4kXBCiZmAH' @ 72057594037927935 : 1 .. '!journal.pages!uNwJgi4kXBCiZmAH.onhNU0mXhOpdNZJF' @ 0 : 0; will stop at (end)
2025/04/20-09:24:48.041836 7fa413fff6c0 Recovering log #93
2025/04/20-09:24:48.069770 7fa413fff6c0 Delete type=3 #91
2025/04/20-09:24:48.069934 7fa413fff6c0 Delete type=0 #93
2025/04/20-09:25:06.962777 7fa4127fc6c0 Level-0 table #98: started
2025/04/20-09:25:06.962842 7fa4127fc6c0 Level-0 table #98: 0 bytes OK
2025/04/20-09:25:06.970328 7fa4127fc6c0 Delete type=0 #96
2025/04/20-09:25:06.988174 7fa4127fc6c0 Manual compaction at level-0 from '!journal!uNwJgi4kXBCiZmAH' @ 72057594037927935 : 1 .. '!journal.pages!uNwJgi4kXBCiZmAH.onhNU0mXhOpdNZJF' @ 0 : 0; will stop at (end)

Binary file not shown.

BIN
packs/aides/MANIFEST-000099 Normal file

Binary file not shown.

Binary file not shown.

BIN
packs/armes/000206.ldb Normal file

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000183
MANIFEST-000202

View File

@ -1,7 +1,14 @@
2025/03/18-20:02:55.593062 7fbe67fff6c0 Recovering log #181
2025/03/18-20:02:55.605860 7fbe67fff6c0 Delete type=3 #179
2025/03/18-20:02:55.605967 7fbe67fff6c0 Delete type=0 #181
2025/03/18-20:34:57.329715 7fbe663ff6c0 Level-0 table #186: started
2025/03/18-20:34:57.329814 7fbe663ff6c0 Level-0 table #186: 0 bytes OK
2025/03/18-20:34:57.336235 7fbe663ff6c0 Delete type=0 #184
2025/03/18-20:34:57.356288 7fbe663ff6c0 Manual compaction at level-0 from '!folders!InCQeTRdT5jXMX82' @ 72057594037927935 : 1 .. '!items!wxIHkrq98eQ3cOvp' @ 0 : 0; will stop at (end)
2025/05/09-10:15:41.297396 7fbe90ff96c0 Recovering log #200
2025/05/09-10:15:41.362108 7fbe90ff96c0 Delete type=3 #198
2025/05/09-10:15:41.362318 7fbe90ff96c0 Delete type=0 #200
2025/05/09-10:26:08.357066 7fbe8fbff6c0 Level-0 table #205: started
2025/05/09-10:26:08.362656 7fbe8fbff6c0 Level-0 table #205: 30743 bytes OK
2025/05/09-10:26:08.375920 7fbe8fbff6c0 Delete type=0 #203
2025/05/09-10:26:08.439160 7fbe8fbff6c0 Manual compaction at level-0 from '!folders!InCQeTRdT5jXMX82' @ 72057594037927935 : 1 .. '!items!wxIHkrq98eQ3cOvp' @ 0 : 0; will stop at '!items!wxIHkrq98eQ3cOvp' @ 73 : 1
2025/05/09-10:26:08.439169 7fbe8fbff6c0 Compacting 1@0 + 1@1 files
2025/05/09-10:26:08.445806 7fbe8fbff6c0 Generated table #206@0: 38 keys, 31247 bytes
2025/05/09-10:26:08.445836 7fbe8fbff6c0 Compacted 1@0 + 1@1 files => 31247 bytes
2025/05/09-10:26:08.458685 7fbe8fbff6c0 compacted to: files[ 0 1 0 0 0 0 0 ]
2025/05/09-10:26:08.458808 7fbe8fbff6c0 Delete type=2 #197
2025/05/09-10:26:08.458974 7fbe8fbff6c0 Delete type=2 #205
2025/05/09-10:26:08.486140 7fbe8fbff6c0 Manual compaction at level-0 from '!items!wxIHkrq98eQ3cOvp' @ 73 : 1 .. '!items!wxIHkrq98eQ3cOvp' @ 0 : 0; will stop at (end)

View File

@ -1,7 +1,7 @@
2025/03/11-18:04:31.045395 7f24c5ffb6c0 Recovering log #177
2025/03/11-18:04:31.056356 7f24c5ffb6c0 Delete type=3 #175
2025/03/11-18:04:31.056467 7f24c5ffb6c0 Delete type=0 #177
2025/03/11-18:27:51.772304 7f24c4bff6c0 Level-0 table #182: started
2025/03/11-18:27:51.772338 7f24c4bff6c0 Level-0 table #182: 0 bytes OK
2025/03/11-18:27:51.778305 7f24c4bff6c0 Delete type=0 #180
2025/03/11-18:27:51.798039 7f24c4bff6c0 Manual compaction at level-0 from '!folders!InCQeTRdT5jXMX82' @ 72057594037927935 : 1 .. '!items!wxIHkrq98eQ3cOvp' @ 0 : 0; will stop at (end)
2025/04/20-09:24:47.881295 7fa412ffd6c0 Recovering log #195
2025/04/20-09:24:47.897306 7fa412ffd6c0 Delete type=3 #193
2025/04/20-09:24:47.897426 7fa412ffd6c0 Delete type=0 #195
2025/04/20-09:25:06.915266 7fa4127fc6c0 Level-0 table #201: started
2025/04/20-09:25:06.915317 7fa4127fc6c0 Level-0 table #201: 0 bytes OK
2025/04/20-09:25:06.922256 7fa4127fc6c0 Delete type=0 #199
2025/04/20-09:25:06.929081 7fa4127fc6c0 Manual compaction at level-0 from '!folders!InCQeTRdT5jXMX82' @ 72057594037927935 : 1 .. '!items!wxIHkrq98eQ3cOvp' @ 0 : 0; will stop at (end)

Binary file not shown.

BIN
packs/armes/MANIFEST-000202 Normal file

Binary file not shown.

Binary file not shown.

BIN
packs/armures/000205.ldb Normal file

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000183
MANIFEST-000201

View File

@ -1,7 +1,14 @@
2025/03/18-20:02:55.610587 7fbe66ffd6c0 Recovering log #181
2025/03/18-20:02:55.621230 7fbe66ffd6c0 Delete type=3 #179
2025/03/18-20:02:55.621425 7fbe66ffd6c0 Delete type=0 #181
2025/03/18-20:34:57.336450 7fbe663ff6c0 Level-0 table #186: started
2025/03/18-20:34:57.336506 7fbe663ff6c0 Level-0 table #186: 0 bytes OK
2025/03/18-20:34:57.343480 7fbe663ff6c0 Delete type=0 #184
2025/03/18-20:34:57.356316 7fbe663ff6c0 Manual compaction at level-0 from '!folders!2wTJBj3dicRKzNOE' @ 72057594037927935 : 1 .. '!items!ufvhWG5V8pX0qrtR' @ 0 : 0; will stop at (end)
2025/05/09-10:15:41.365049 7fbe917fa6c0 Recovering log #199
2025/05/09-10:15:41.456977 7fbe917fa6c0 Delete type=3 #197
2025/05/09-10:15:41.457096 7fbe917fa6c0 Delete type=0 #199
2025/05/09-10:26:08.314346 7fbe8fbff6c0 Level-0 table #204: started
2025/05/09-10:26:08.321855 7fbe8fbff6c0 Level-0 table #204: 11921 bytes OK
2025/05/09-10:26:08.334418 7fbe8fbff6c0 Delete type=0 #202
2025/05/09-10:26:08.402084 7fbe8fbff6c0 Manual compaction at level-0 from '!folders!2wTJBj3dicRKzNOE' @ 72057594037927935 : 1 .. '!items!ufvhWG5V8pX0qrtR' @ 0 : 0; will stop at '!items!ufvhWG5V8pX0qrtR' @ 54 : 1
2025/05/09-10:26:08.402106 7fbe8fbff6c0 Compacting 1@0 + 1@1 files
2025/05/09-10:26:08.407755 7fbe8fbff6c0 Generated table #205@0: 29 keys, 12111 bytes
2025/05/09-10:26:08.407809 7fbe8fbff6c0 Compacted 1@0 + 1@1 files => 12111 bytes
2025/05/09-10:26:08.419957 7fbe8fbff6c0 compacted to: files[ 0 1 0 0 0 0 0 ]
2025/05/09-10:26:08.420095 7fbe8fbff6c0 Delete type=2 #174
2025/05/09-10:26:08.420237 7fbe8fbff6c0 Delete type=2 #204
2025/05/09-10:26:08.486117 7fbe8fbff6c0 Manual compaction at level-0 from '!items!ufvhWG5V8pX0qrtR' @ 54 : 1 .. '!items!ufvhWG5V8pX0qrtR' @ 0 : 0; will stop at (end)

View File

@ -1,7 +1,7 @@
2025/03/11-18:04:31.059498 7f24c6ffd6c0 Recovering log #177
2025/03/11-18:04:31.068855 7f24c6ffd6c0 Delete type=3 #175
2025/03/11-18:04:31.068919 7f24c6ffd6c0 Delete type=0 #177
2025/03/11-18:27:51.778439 7f24c4bff6c0 Level-0 table #182: started
2025/03/11-18:27:51.778466 7f24c4bff6c0 Level-0 table #182: 0 bytes OK
2025/03/11-18:27:51.784375 7f24c4bff6c0 Delete type=0 #180
2025/03/11-18:27:51.798058 7f24c4bff6c0 Manual compaction at level-0 from '!folders!2wTJBj3dicRKzNOE' @ 72057594037927935 : 1 .. '!items!ufvhWG5V8pX0qrtR' @ 0 : 0; will stop at (end)
2025/04/20-09:24:47.903860 7fa413fff6c0 Recovering log #195
2025/04/20-09:24:47.919442 7fa413fff6c0 Delete type=3 #193
2025/04/20-09:24:47.919592 7fa413fff6c0 Delete type=0 #195
2025/04/20-09:25:06.908159 7fa4127fc6c0 Level-0 table #200: started
2025/04/20-09:25:06.908228 7fa4127fc6c0 Level-0 table #200: 0 bytes OK
2025/04/20-09:25:06.915011 7fa4127fc6c0 Delete type=0 #198
2025/04/20-09:25:06.929064 7fa4127fc6c0 Manual compaction at level-0 from '!folders!2wTJBj3dicRKzNOE' @ 72057594037927935 : 1 .. '!items!ufvhWG5V8pX0qrtR' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000180
MANIFEST-000198

View File

@ -1,7 +1,14 @@
2025/03/18-20:02:55.575835 7fbe677fe6c0 Recovering log #178
2025/03/18-20:02:55.586561 7fbe677fe6c0 Delete type=3 #176
2025/03/18-20:02:55.586685 7fbe677fe6c0 Delete type=0 #178
2025/03/18-20:34:57.343590 7fbe663ff6c0 Level-0 table #183: started
2025/03/18-20:34:57.343614 7fbe663ff6c0 Level-0 table #183: 0 bytes OK
2025/03/18-20:34:57.349686 7fbe663ff6c0 Delete type=0 #181
2025/03/18-20:34:57.356337 7fbe663ff6c0 Manual compaction at level-0 from '!folders!4OPhigzcPv46qbWW' @ 72057594037927935 : 1 .. '!items!yx4k7lQHGcom99mk' @ 0 : 0; will stop at (end)
2025/05/09-10:15:41.212131 7fbe907f86c0 Recovering log #196
2025/05/09-10:15:41.294357 7fbe907f86c0 Delete type=3 #194
2025/05/09-10:15:41.294415 7fbe907f86c0 Delete type=0 #196
2025/05/09-10:26:08.334569 7fbe8fbff6c0 Level-0 table #201: started
2025/05/09-10:26:08.342225 7fbe8fbff6c0 Level-0 table #201: 38203 bytes OK
2025/05/09-10:26:08.356875 7fbe8fbff6c0 Delete type=0 #199
2025/05/09-10:26:08.420303 7fbe8fbff6c0 Manual compaction at level-0 from '!folders!4OPhigzcPv46qbWW' @ 72057594037927935 : 1 .. '!items!yx4k7lQHGcom99mk' @ 0 : 0; will stop at '!items!yx4k7lQHGcom99mk' @ 237 : 1
2025/05/09-10:26:08.420310 7fbe8fbff6c0 Compacting 1@0 + 1@1 files
2025/05/09-10:26:08.426825 7fbe8fbff6c0 Generated table #202@0: 116 keys, 38485 bytes
2025/05/09-10:26:08.426858 7fbe8fbff6c0 Compacted 1@0 + 1@1 files => 38485 bytes
2025/05/09-10:26:08.438808 7fbe8fbff6c0 compacted to: files[ 0 1 0 0 0 0 0 ]
2025/05/09-10:26:08.438945 7fbe8fbff6c0 Delete type=2 #171
2025/05/09-10:26:08.439090 7fbe8fbff6c0 Delete type=2 #201
2025/05/09-10:26:08.486130 7fbe8fbff6c0 Manual compaction at level-0 from '!items!yx4k7lQHGcom99mk' @ 237 : 1 .. '!items!yx4k7lQHGcom99mk' @ 0 : 0; will stop at (end)

View File

@ -1,7 +1,7 @@
2025/03/11-18:04:31.031690 7f24c57fa6c0 Recovering log #174
2025/03/11-18:04:31.041244 7f24c57fa6c0 Delete type=3 #172
2025/03/11-18:04:31.041294 7f24c57fa6c0 Delete type=0 #174
2025/03/11-18:27:51.791921 7f24c4bff6c0 Level-0 table #179: started
2025/03/11-18:27:51.791971 7f24c4bff6c0 Level-0 table #179: 0 bytes OK
2025/03/11-18:27:51.797892 7f24c4bff6c0 Delete type=0 #177
2025/03/11-18:27:51.798085 7f24c4bff6c0 Manual compaction at level-0 from '!folders!4OPhigzcPv46qbWW' @ 72057594037927935 : 1 .. '!items!yx4k7lQHGcom99mk' @ 0 : 0; will stop at (end)
2025/04/20-09:24:47.857871 7fa4137fe6c0 Recovering log #192
2025/04/20-09:24:47.873833 7fa4137fe6c0 Delete type=3 #190
2025/04/20-09:24:47.873948 7fa4137fe6c0 Delete type=0 #192
2025/04/20-09:25:06.901277 7fa4127fc6c0 Level-0 table #197: started
2025/04/20-09:25:06.901384 7fa4127fc6c0 Level-0 table #197: 0 bytes OK
2025/04/20-09:25:06.907939 7fa4127fc6c0 Delete type=0 #195
2025/04/20-09:25:06.929038 7fa4127fc6c0 Manual compaction at level-0 from '!folders!4OPhigzcPv46qbWW' @ 72057594037927935 : 1 .. '!items!yx4k7lQHGcom99mk' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000191
MANIFEST-000210

View File

@ -1,7 +1,14 @@
2025/03/18-20:02:55.625718 7fbe6c9fa6c0 Recovering log #189
2025/03/18-20:02:55.637706 7fbe6c9fa6c0 Delete type=3 #187
2025/03/18-20:02:55.637826 7fbe6c9fa6c0 Delete type=0 #189
2025/03/18-20:34:57.349890 7fbe663ff6c0 Level-0 table #194: started
2025/03/18-20:34:57.349944 7fbe663ff6c0 Level-0 table #194: 0 bytes OK
2025/03/18-20:34:57.356029 7fbe663ff6c0 Delete type=0 #192
2025/03/18-20:34:57.356358 7fbe663ff6c0 Manual compaction at level-0 from '!folders!9PQi3Lv54rpcxavo' @ 72057594037927935 : 1 .. '!items!zGlRtP7zSnkjuuue' @ 0 : 0; will stop at (end)
2025/05/09-10:15:41.459323 7fbe907f86c0 Recovering log #208
2025/05/09-10:15:41.503379 7fbe907f86c0 Delete type=3 #206
2025/05/09-10:15:41.503446 7fbe907f86c0 Delete type=0 #208
2025/05/09-10:26:08.376101 7fbe8fbff6c0 Level-0 table #213: started
2025/05/09-10:26:08.388425 7fbe8fbff6c0 Level-0 table #213: 263867 bytes OK
2025/05/09-10:26:08.401652 7fbe8fbff6c0 Delete type=0 #211
2025/05/09-10:26:08.459044 7fbe8fbff6c0 Manual compaction at level-0 from '!folders!9PQi3Lv54rpcxavo' @ 72057594037927935 : 1 .. '!items!zGlRtP7zSnkjuuue' @ 0 : 0; will stop at '!items!zGlRtP7zSnkjuuue' @ 510 : 1
2025/05/09-10:26:08.459053 7fbe8fbff6c0 Compacting 1@0 + 1@1 files
2025/05/09-10:26:08.472966 7fbe8fbff6c0 Generated table #214@0: 71 keys, 264215 bytes
2025/05/09-10:26:08.472996 7fbe8fbff6c0 Compacted 1@0 + 1@1 files => 264215 bytes
2025/05/09-10:26:08.485587 7fbe8fbff6c0 compacted to: files[ 0 1 0 0 0 0 0 ]
2025/05/09-10:26:08.485765 7fbe8fbff6c0 Delete type=2 #205
2025/05/09-10:26:08.485988 7fbe8fbff6c0 Delete type=2 #213
2025/05/09-10:26:08.486148 7fbe8fbff6c0 Manual compaction at level-0 from '!items!zGlRtP7zSnkjuuue' @ 510 : 1 .. '!items!zGlRtP7zSnkjuuue' @ 0 : 0; will stop at (end)

View File

@ -1,7 +1,7 @@
2025/03/11-18:04:31.072608 7f24c67fc6c0 Recovering log #184
2025/03/11-18:04:31.084241 7f24c67fc6c0 Delete type=3 #182
2025/03/11-18:04:31.084398 7f24c67fc6c0 Delete type=0 #184
2025/03/11-18:27:51.784510 7f24c4bff6c0 Level-0 table #190: started
2025/03/11-18:27:51.784541 7f24c4bff6c0 Level-0 table #190: 0 bytes OK
2025/03/11-18:27:51.791721 7f24c4bff6c0 Delete type=0 #188
2025/03/11-18:27:51.798072 7f24c4bff6c0 Manual compaction at level-0 from '!folders!9PQi3Lv54rpcxavo' @ 72057594037927935 : 1 .. '!items!zGlRtP7zSnkjuuue' @ 0 : 0; will stop at (end)
2025/04/20-09:24:47.923568 7fa418ffa6c0 Recovering log #203
2025/04/20-09:24:47.940475 7fa418ffa6c0 Delete type=3 #201
2025/04/20-09:24:47.940632 7fa418ffa6c0 Delete type=0 #203
2025/04/20-09:25:06.922414 7fa4127fc6c0 Level-0 table #209: started
2025/04/20-09:25:06.922447 7fa4127fc6c0 Level-0 table #209: 0 bytes OK
2025/04/20-09:25:06.928838 7fa4127fc6c0 Delete type=0 #207
2025/04/20-09:25:06.929095 7fa4127fc6c0 Manual compaction at level-0 from '!folders!9PQi3Lv54rpcxavo' @ 72057594037927935 : 1 .. '!items!zGlRtP7zSnkjuuue' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
packs/graces/000205.ldb Normal file

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000182
MANIFEST-000201

View File

@ -1,7 +1,14 @@
2025/03/18-20:02:55.645262 7fbe677fe6c0 Recovering log #180
2025/03/18-20:02:55.657308 7fbe677fe6c0 Delete type=3 #178
2025/03/18-20:02:55.657414 7fbe677fe6c0 Delete type=0 #180
2025/03/18-20:34:57.370748 7fbe663ff6c0 Level-0 table #185: started
2025/03/18-20:34:57.370813 7fbe663ff6c0 Level-0 table #185: 0 bytes OK
2025/03/18-20:34:57.377323 7fbe663ff6c0 Delete type=0 #183
2025/03/18-20:34:57.384883 7fbe663ff6c0 Manual compaction at level-0 from '!items!17mjvwS8R3B6LloG' @ 72057594037927935 : 1 .. '!items!zUYIVOuFpRur9aAR' @ 0 : 0; will stop at (end)
2025/05/09-10:15:41.507118 7fbe91ffb6c0 Recovering log #199
2025/05/09-10:15:41.563016 7fbe91ffb6c0 Delete type=3 #197
2025/05/09-10:15:41.563136 7fbe91ffb6c0 Delete type=0 #199
2025/05/09-10:26:08.486247 7fbe8fbff6c0 Level-0 table #204: started
2025/05/09-10:26:08.492712 7fbe8fbff6c0 Level-0 table #204: 20052 bytes OK
2025/05/09-10:26:08.521869 7fbe8fbff6c0 Delete type=0 #202
2025/05/09-10:26:08.657886 7fbe8fbff6c0 Manual compaction at level-0 from '!items!17mjvwS8R3B6LloG' @ 72057594037927935 : 1 .. '!items!zUYIVOuFpRur9aAR' @ 0 : 0; will stop at '!items!zUYIVOuFpRur9aAR' @ 109 : 1
2025/05/09-10:26:08.657901 7fbe8fbff6c0 Compacting 1@0 + 1@1 files
2025/05/09-10:26:08.675906 7fbe8fbff6c0 Generated table #205@0: 49 keys, 20052 bytes
2025/05/09-10:26:08.675933 7fbe8fbff6c0 Compacted 1@0 + 1@1 files => 20052 bytes
2025/05/09-10:26:08.712163 7fbe8fbff6c0 compacted to: files[ 0 1 0 0 0 0 0 ]
2025/05/09-10:26:08.712328 7fbe8fbff6c0 Delete type=2 #196
2025/05/09-10:26:08.712603 7fbe8fbff6c0 Delete type=2 #204
2025/05/09-10:26:08.869429 7fbe8fbff6c0 Manual compaction at level-0 from '!items!zUYIVOuFpRur9aAR' @ 109 : 1 .. '!items!zUYIVOuFpRur9aAR' @ 0 : 0; will stop at (end)

View File

@ -1,7 +1,7 @@
2025/03/11-18:04:31.089058 7f24c57fa6c0 Recovering log #176
2025/03/11-18:04:31.099719 7f24c57fa6c0 Delete type=3 #174
2025/03/11-18:04:31.099830 7f24c57fa6c0 Delete type=0 #176
2025/03/11-18:27:51.804396 7f24c4bff6c0 Level-0 table #181: started
2025/03/11-18:27:51.804421 7f24c4bff6c0 Level-0 table #181: 0 bytes OK
2025/03/11-18:27:51.810625 7f24c4bff6c0 Delete type=0 #179
2025/03/11-18:27:51.823828 7f24c4bff6c0 Manual compaction at level-0 from '!items!17mjvwS8R3B6LloG' @ 72057594037927935 : 1 .. '!items!zUYIVOuFpRur9aAR' @ 0 : 0; will stop at (end)
2025/04/20-09:24:47.948681 7fa4137fe6c0 Recovering log #194
2025/04/20-09:24:47.965382 7fa4137fe6c0 Delete type=3 #192
2025/04/20-09:24:47.965487 7fa4137fe6c0 Delete type=0 #194
2025/04/20-09:25:06.935620 7fa4127fc6c0 Level-0 table #200: started
2025/04/20-09:25:06.935652 7fa4127fc6c0 Level-0 table #200: 0 bytes OK
2025/04/20-09:25:06.942921 7fa4127fc6c0 Delete type=0 #198
2025/04/20-09:25:06.956261 7fa4127fc6c0 Manual compaction at level-0 from '!items!17mjvwS8R3B6LloG' @ 72057594037927935 : 1 .. '!items!zUYIVOuFpRur9aAR' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
packs/maladies/000205.ldb Normal file

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000182
MANIFEST-000201

View File

@ -1,7 +1,14 @@
2025/03/18-20:02:55.662488 7fbe67fff6c0 Recovering log #180
2025/03/18-20:02:55.673613 7fbe67fff6c0 Delete type=3 #178
2025/03/18-20:02:55.673721 7fbe67fff6c0 Delete type=0 #180
2025/03/18-20:34:57.356547 7fbe663ff6c0 Level-0 table #185: started
2025/03/18-20:34:57.356623 7fbe663ff6c0 Level-0 table #185: 0 bytes OK
2025/03/18-20:34:57.363717 7fbe663ff6c0 Delete type=0 #183
2025/03/18-20:34:57.384818 7fbe663ff6c0 Manual compaction at level-0 from '!items!1icaxIywAwDXQcMz' @ 72057594037927935 : 1 .. '!items!ysGehYm1VkMWrI22' @ 0 : 0; will stop at (end)
2025/05/09-10:15:41.566104 7fbe917fa6c0 Recovering log #199
2025/05/09-10:15:41.607068 7fbe917fa6c0 Delete type=3 #197
2025/05/09-10:15:41.607127 7fbe917fa6c0 Delete type=0 #199
2025/05/09-10:26:08.522102 7fbe8fbff6c0 Level-0 table #204: started
2025/05/09-10:26:08.533326 7fbe8fbff6c0 Level-0 table #204: 11517 bytes OK
2025/05/09-10:26:08.560180 7fbe8fbff6c0 Delete type=0 #202
2025/05/09-10:26:08.712861 7fbe8fbff6c0 Manual compaction at level-0 from '!items!1icaxIywAwDXQcMz' @ 72057594037927935 : 1 .. '!items!ysGehYm1VkMWrI22' @ 0 : 0; will stop at '!items!ysGehYm1VkMWrI22' @ 71 : 1
2025/05/09-10:26:08.712889 7fbe8fbff6c0 Compacting 1@0 + 1@1 files
2025/05/09-10:26:08.728740 7fbe8fbff6c0 Generated table #205@0: 17 keys, 11517 bytes
2025/05/09-10:26:08.728771 7fbe8fbff6c0 Compacted 1@0 + 1@1 files => 11517 bytes
2025/05/09-10:26:08.762648 7fbe8fbff6c0 compacted to: files[ 0 1 0 0 0 0 0 ]
2025/05/09-10:26:08.762817 7fbe8fbff6c0 Delete type=2 #196
2025/05/09-10:26:08.762965 7fbe8fbff6c0 Delete type=2 #204
2025/05/09-10:26:08.869440 7fbe8fbff6c0 Manual compaction at level-0 from '!items!ysGehYm1VkMWrI22' @ 71 : 1 .. '!items!ysGehYm1VkMWrI22' @ 0 : 0; will stop at (end)

View File

@ -1,7 +1,7 @@
2025/03/11-18:04:31.102877 7f24c5ffb6c0 Recovering log #176
2025/03/11-18:04:31.112795 7f24c5ffb6c0 Delete type=3 #174
2025/03/11-18:04:31.112850 7f24c5ffb6c0 Delete type=0 #176
2025/03/11-18:27:51.798175 7f24c4bff6c0 Level-0 table #181: started
2025/03/11-18:27:51.798273 7f24c4bff6c0 Level-0 table #181: 0 bytes OK
2025/03/11-18:27:51.804291 7f24c4bff6c0 Delete type=0 #179
2025/03/11-18:27:51.823814 7f24c4bff6c0 Manual compaction at level-0 from '!items!1icaxIywAwDXQcMz' @ 72057594037927935 : 1 .. '!items!ysGehYm1VkMWrI22' @ 0 : 0; will stop at (end)
2025/04/20-09:24:47.972234 7fa412ffd6c0 Recovering log #194
2025/04/20-09:24:47.989602 7fa412ffd6c0 Delete type=3 #192
2025/04/20-09:24:47.989720 7fa412ffd6c0 Delete type=0 #194
2025/04/20-09:25:06.929262 7fa4127fc6c0 Level-0 table #200: started
2025/04/20-09:25:06.929306 7fa4127fc6c0 Level-0 table #200: 0 bytes OK
2025/04/20-09:25:06.935454 7fa4127fc6c0 Delete type=0 #198
2025/04/20-09:25:06.956241 7fa4127fc6c0 Manual compaction at level-0 from '!items!1icaxIywAwDXQcMz' @ 72057594037927935 : 1 .. '!items!ysGehYm1VkMWrI22' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000120
MANIFEST-000138

View File

@ -1,7 +1,14 @@
2025/03/18-20:02:55.697082 7fbe6c9fa6c0 Recovering log #118
2025/03/18-20:02:55.708073 7fbe6c9fa6c0 Delete type=3 #116
2025/03/18-20:02:55.708254 7fbe6c9fa6c0 Delete type=0 #118
2025/03/18-20:34:57.377570 7fbe663ff6c0 Level-0 table #123: started
2025/03/18-20:34:57.377636 7fbe663ff6c0 Level-0 table #123: 0 bytes OK
2025/03/18-20:34:57.384565 7fbe663ff6c0 Delete type=0 #121
2025/03/18-20:34:57.384911 7fbe663ff6c0 Manual compaction at level-0 from '!scenes!FJXugdbkBpEJEdR6' @ 72057594037927935 : 1 .. '!scenes!FJXugdbkBpEJEdR6' @ 0 : 0; will stop at (end)
2025/05/09-10:15:41.675033 7fbe91ffb6c0 Recovering log #136
2025/05/09-10:15:41.730910 7fbe91ffb6c0 Delete type=3 #134
2025/05/09-10:15:41.730997 7fbe91ffb6c0 Delete type=0 #136
2025/05/09-10:26:08.601281 7fbe8fbff6c0 Level-0 table #141: started
2025/05/09-10:26:08.620048 7fbe8fbff6c0 Level-0 table #141: 1344 bytes OK
2025/05/09-10:26:08.657679 7fbe8fbff6c0 Delete type=0 #139
2025/05/09-10:26:08.818209 7fbe8fbff6c0 Manual compaction at level-0 from '!scenes!FJXugdbkBpEJEdR6' @ 72057594037927935 : 1 .. '!scenes!FJXugdbkBpEJEdR6' @ 0 : 0; will stop at '!scenes!FJXugdbkBpEJEdR6' @ 5 : 1
2025/05/09-10:26:08.818224 7fbe8fbff6c0 Compacting 1@0 + 1@1 files
2025/05/09-10:26:08.836037 7fbe8fbff6c0 Generated table #142@0: 1 keys, 1344 bytes
2025/05/09-10:26:08.836067 7fbe8fbff6c0 Compacted 1@0 + 1@1 files => 1344 bytes
2025/05/09-10:26:08.869141 7fbe8fbff6c0 compacted to: files[ 0 1 0 0 0 0 0 ]
2025/05/09-10:26:08.869252 7fbe8fbff6c0 Delete type=2 #111
2025/05/09-10:26:08.869366 7fbe8fbff6c0 Delete type=2 #141
2025/05/09-10:26:08.869479 7fbe8fbff6c0 Manual compaction at level-0 from '!scenes!FJXugdbkBpEJEdR6' @ 5 : 1 .. '!scenes!FJXugdbkBpEJEdR6' @ 0 : 0; will stop at (end)

View File

@ -1,7 +1,7 @@
2025/03/11-18:04:31.129320 7f24c67fc6c0 Recovering log #114
2025/03/11-18:04:31.139477 7f24c67fc6c0 Delete type=3 #112
2025/03/11-18:04:31.139583 7f24c67fc6c0 Delete type=0 #114
2025/03/11-18:27:51.817747 7f24c4bff6c0 Level-0 table #119: started
2025/03/11-18:27:51.817804 7f24c4bff6c0 Level-0 table #119: 0 bytes OK
2025/03/11-18:27:51.823741 7f24c4bff6c0 Delete type=0 #117
2025/03/11-18:27:51.823845 7f24c4bff6c0 Manual compaction at level-0 from '!scenes!FJXugdbkBpEJEdR6' @ 72057594037927935 : 1 .. '!scenes!FJXugdbkBpEJEdR6' @ 0 : 0; will stop at (end)
2025/04/20-09:24:48.018535 7fa418ffa6c0 Recovering log #132
2025/04/20-09:24:48.034352 7fa418ffa6c0 Delete type=3 #130
2025/04/20-09:24:48.034446 7fa418ffa6c0 Delete type=0 #132
2025/04/20-09:25:06.943076 7fa4127fc6c0 Level-0 table #137: started
2025/04/20-09:25:06.943110 7fa4127fc6c0 Level-0 table #137: 0 bytes OK
2025/04/20-09:25:06.949678 7fa4127fc6c0 Delete type=0 #135
2025/04/20-09:25:06.956277 7fa4127fc6c0 Manual compaction at level-0 from '!scenes!FJXugdbkBpEJEdR6' @ 72057594037927935 : 1 .. '!scenes!FJXugdbkBpEJEdR6' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
packs/simples/000205.ldb Normal file

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000182
MANIFEST-000201

View File

@ -1,7 +1,14 @@
2025/03/18-20:02:55.678229 7fbe66ffd6c0 Recovering log #180
2025/03/18-20:02:55.689316 7fbe66ffd6c0 Delete type=3 #178
2025/03/18-20:02:55.689561 7fbe66ffd6c0 Delete type=0 #180
2025/03/18-20:34:57.363967 7fbe663ff6c0 Level-0 table #185: started
2025/03/18-20:34:57.364030 7fbe663ff6c0 Level-0 table #185: 0 bytes OK
2025/03/18-20:34:57.370504 7fbe663ff6c0 Delete type=0 #183
2025/03/18-20:34:57.384856 7fbe663ff6c0 Manual compaction at level-0 from '!items!1bAL2MQVpVBd0c5Z' @ 72057594037927935 : 1 .. '!items!zs67k4sxCid6oTK3' @ 0 : 0; will stop at (end)
2025/05/09-10:15:41.609264 7fbe90ff96c0 Recovering log #199
2025/05/09-10:15:41.672478 7fbe90ff96c0 Delete type=3 #197
2025/05/09-10:15:41.672535 7fbe90ff96c0 Delete type=0 #199
2025/05/09-10:26:08.560441 7fbe8fbff6c0 Level-0 table #204: started
2025/05/09-10:26:08.570942 7fbe8fbff6c0 Level-0 table #204: 21176 bytes OK
2025/05/09-10:26:08.601073 7fbe8fbff6c0 Delete type=0 #202
2025/05/09-10:26:08.763048 7fbe8fbff6c0 Manual compaction at level-0 from '!items!1bAL2MQVpVBd0c5Z' @ 72057594037927935 : 1 .. '!items!zs67k4sxCid6oTK3' @ 0 : 0; will stop at '!items!zs67k4sxCid6oTK3' @ 80 : 1
2025/05/09-10:26:08.763056 7fbe8fbff6c0 Compacting 1@0 + 1@1 files
2025/05/09-10:26:08.781378 7fbe8fbff6c0 Generated table #205@0: 36 keys, 21176 bytes
2025/05/09-10:26:08.781419 7fbe8fbff6c0 Compacted 1@0 + 1@1 files => 21176 bytes
2025/05/09-10:26:08.817648 7fbe8fbff6c0 compacted to: files[ 0 1 0 0 0 0 0 ]
2025/05/09-10:26:08.817810 7fbe8fbff6c0 Delete type=2 #196
2025/05/09-10:26:08.818060 7fbe8fbff6c0 Delete type=2 #204
2025/05/09-10:26:08.869448 7fbe8fbff6c0 Manual compaction at level-0 from '!items!zs67k4sxCid6oTK3' @ 80 : 1 .. '!items!zs67k4sxCid6oTK3' @ 0 : 0; will stop at (end)

View File

@ -1,7 +1,7 @@
2025/03/11-18:04:31.115280 7f24c6ffd6c0 Recovering log #176
2025/03/11-18:04:31.125809 7f24c6ffd6c0 Delete type=3 #174
2025/03/11-18:04:31.125868 7f24c6ffd6c0 Delete type=0 #176
2025/03/11-18:27:51.810753 7f24c4bff6c0 Level-0 table #181: started
2025/03/11-18:27:51.810792 7f24c4bff6c0 Level-0 table #181: 0 bytes OK
2025/03/11-18:27:51.817530 7f24c4bff6c0 Delete type=0 #179
2025/03/11-18:27:51.823838 7f24c4bff6c0 Manual compaction at level-0 from '!items!1bAL2MQVpVBd0c5Z' @ 72057594037927935 : 1 .. '!items!zs67k4sxCid6oTK3' @ 0 : 0; will stop at (end)
2025/04/20-09:24:47.993946 7fa413fff6c0 Recovering log #194
2025/04/20-09:24:48.011487 7fa413fff6c0 Delete type=3 #192
2025/04/20-09:24:48.011668 7fa413fff6c0 Delete type=0 #194
2025/04/20-09:25:06.949829 7fa4127fc6c0 Level-0 table #200: started
2025/04/20-09:25:06.949863 7fa4127fc6c0 Level-0 table #200: 0 bytes OK
2025/04/20-09:25:06.956072 7fa4127fc6c0 Delete type=0 #198
2025/04/20-09:25:06.956290 7fa4127fc6c0 Manual compaction at level-0 from '!items!1bAL2MQVpVBd0c5Z' @ 72057594037927935 : 1 .. '!items!zs67k4sxCid6oTK3' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

View File

@ -886,16 +886,12 @@ ul, li {
border-radius: 0;
background: rgba(30, 25, 20, 1);
background-origin: padding-box;
-o-border-image: url(img/ui/footer-button.png) 10 repeat;
border-image: url(img/ui/footer-button.png) 10 repeat;
border-image-width: 4px;
border-image-outset: 0px;
}
#controls .scene-control.active, #controls .control-tool.active, #controls .scene-control:hover, #controls .control-tool:hover {
background: rgba(72, 46, 28, 1);
background-origin: padding-box;
-o-border-image: url(img/ui/footer-button.png) 10 repeat;
border-image: url(img/ui/footer-button.png) 10 repeat;
border-image-width: 4px;
border-image-outset: 0px;
box-shadow: 0 0 3px #ff6400;
@ -907,7 +903,6 @@ ul, li {
box-shadow: 2px 2px 5px #000000;
}
.macro {
-o-border-image: url(img/ui/bg_control.jpg) 21 repeat;
border-image: url(img/ui/bg_control.jpg) 21 repeat;
border-image-slice: 6 6 6 6 fill;
border-image-width: 6px 6px 6px 6px;
@ -921,8 +916,6 @@ ul, li {
}
}
#players {
-o-border-image: url(img/ui/footer-button.png) 10 repeat;
border-image: url(img/ui/footer-button.png) 10 repeat;
border-image-width: 4px;
border-image-outset: 0px;
background: rgba(30, 25, 20, 1);
@ -933,8 +926,6 @@ ul, li {
&.nav-item {
background: rgba(30, 25, 20, 1);
background-origin: padding-box;
-o-border-image: url(img/ui/footer-button.png) 10 repeat;
border-image: url(img/ui/footer-button.png) 10 repeat;
border-image-width: 4px;
border-image-outset: 0px;
&.active {
@ -946,8 +937,6 @@ ul, li {
#nav-toggle {
background: rgba(30, 25, 20, 1);
background-origin: padding-box;
-o-border-image: url(img/ui/footer-button.png) 10 repeat;
border-image: url(img/ui/footer-button.png) 10 repeat;
border-image-width: 4px;
border-image-outset: 0px;
}
@ -955,8 +944,6 @@ ul, li {
#navigation #scene-list .scene.view, #navigation #scene-list .scene.context {
background: rgba(72, 46, 28, 1);
background-origin: padding-box;
-o-border-image: url(img/ui/footer-button.png) 10 repeat;
border-image: url(img/ui/footer-button.png) 10 repeat;
border-image-width: 4px;
border-image-outset: 0px;
box-shadow: 0 0 3px #ff6400;
@ -1245,27 +1232,27 @@ ul, li {
.chat-message .message {
font-family: "GreatPrimer";
font-size: 0.9rem;
font-size: 0.9rem;
}
.skill-roll-dialog {
font-family: "GreatPrimer";
font-size: 0.9rem;
font-size: 0.9rem;
}
.fvtt-te-deum-character-creator {
background: rgba(226, 226, 222, 0.95);
font-family: "GreatPrimer";
font-size: 0.9rem;
font-size: 0.9rem;
.field-title {
font-weight: bold;
}
.status-section {
display: block;
display: block;
max-width: 34rem;
}
.creator-finished-section {
display: block;
display: block;
max-width: 34rem;
text-align: center;
margin-bottom: 1rem;

View File

@ -834,16 +834,12 @@ ul, li {
border-radius: 0;
background: rgba(30, 25, 20, 1);
background-origin: padding-box;
-o-border-image: url(img/ui/footer-button.png) 10 repeat;
border-image: url(img/ui/footer-button.png) 10 repeat;
border-image-width: 4px;
border-image-outset: 0px;
}
#controls .scene-control.active, #controls .control-tool.active, #controls .scene-control:hover, #controls .control-tool:hover {
background: rgba(72, 46, 28, 1);
background-origin: padding-box;
-o-border-image: url(img/ui/footer-button.png) 10 repeat;
border-image: url(img/ui/footer-button.png) 10 repeat;
border-image-width: 4px;
border-image-outset: 0px;
box-shadow: 0 0 3px #ff6400;
@ -854,7 +850,7 @@ ul, li {
}
#hotbar #action-bar .macro {
-o-border-image: url(img/ui/bg_control.jpg) 21 repeat;
border-image: url(img/ui/bg_control.jpg) 21 repeat;
border-image: url(img/ui/bg_control.jpg) 21 repeat;
border-image-slice: 6 6 6 6 fill;
border-image-width: 6px 6px 6px 6px;
border-image-outset: 0px 0px 0px 0px;
@ -865,8 +861,6 @@ ul, li {
border: 1px solid rgba(72, 46, 28, 1);
}
#players {
-o-border-image: url(img/ui/footer-button.png) 10 repeat;
border-image: url(img/ui/footer-button.png) 10 repeat;
border-image-width: 4px;
border-image-outset: 0px;
background: rgba(30, 25, 20, 1);
@ -874,8 +868,6 @@ ul, li {
#navigation #scene-list .scene.nav-item {
background: rgba(30, 25, 20, 1);
background-origin: padding-box;
-o-border-image: url(img/ui/footer-button.png) 10 repeat;
border-image: url(img/ui/footer-button.png) 10 repeat;
border-image-width: 4px;
border-image-outset: 0px
}
@ -885,16 +877,12 @@ ul, li {
#navigation #nav-toggle {
background: rgba(30, 25, 20, 1);
background-origin: padding-box;
-o-border-image: url(img/ui/footer-button.png) 10 repeat;
border-image: url(img/ui/footer-button.png) 10 repeat;
border-image-width: 4px;
border-image-outset: 0px;
}
#navigation #scene-list .scene.view, #navigation #scene-list .scene.context {
background: rgba(72, 46, 28, 1);
background-origin: padding-box;
-o-border-image: url(img/ui/footer-button.png) 10 repeat;
border-image: url(img/ui/footer-button.png) 10 repeat;
border-image-width: 4px;
border-image-outset: 0px;
box-shadow: 0 0 3px #ff6400;
@ -1182,12 +1170,12 @@ ul, li {
.chat-message .message {
font-family: "GreatPrimer";
font-size: 0.9rem;
font-size: 0.9rem;
}
.skill-roll-dialog {
font-family: "GreatPrimer";
font-size: 0.9rem;
font-size: 0.9rem;
}
.fvtt-te-deum-character-creator {
@ -1201,12 +1189,12 @@ ul, li {
}
.fvtt-te-deum-character-creator .status-section {
display: block;
display: block;
max-width: 34rem;
}
.fvtt-te-deum-character-creator .creator-finished-section {
display: block;
display: block;
max-width: 34rem;
text-align: center;
margin-bottom: 1rem;

View File

@ -3,7 +3,7 @@
"esmodules": [
"modules/tedeum-main.js"
],
"grid": {
"grid": {
"distance": 2,
"units": "m"
},
@ -134,8 +134,8 @@
"license": "LICENSE.txt",
"manifest": "https://www.uberwald.me/gitea/public/fvtt-te-deum/releases/download/latest/system.json",
"compatibility": {
"minimum": "12",
"verified": "12"
"minimum": "13",
"verified": "13"
},
"id": "fvtt-te-deum",
"primaryTokenAttribute": "secondary.health",
@ -148,8 +148,8 @@
},
"title": "Te Deum pour Un Massacre, le Jeu de Rôles (Officiel)",
"url": "https://www.uberwald.me/gitea/public/fvtt-te-deum",
"version": "12.0.17",
"download": "https://www.uberwald.me/gitea/public/fvtt-te-deum/archive/fvtt-te-deum-v12.0.17.zip",
"version": "13.0.0",
"download": "https://www.uberwald.me/gitea/public/fvtt-te-deum/archive/fvtt-te-deum-v13.0.0.zip",
"background": "systems/fvtt-te-deum/images/ui/tdeum_welcome_page_01.webp",
"flags": {
"hotReload": {

View File

@ -43,7 +43,7 @@
<ul class="item-list alternate-list">
{{#each caracList as |char key|}}
<li class="item flexrow list-item carac-box">
<img class="sheet-competence-img" src="/systems/fvtt-te-deum/images/icons/{{key}}.webp" />
<img class="sheet-competence-img" src="systems/fvtt-te-deum/images/icons/{{key}}.webp" />
<label class="item-left-pad item-field item-field-label-medium" data-tooltip="{{char.description}}">{{char.name}}</label>
<select type="text" class="input-numeric-short" name="system.caracteristiques.{{key}}.value"
data-dtype="Number" />
@ -54,7 +54,7 @@
</li>
{{/each}}
</ul>
<div>
<h4>Malus de santé : {{santeModifier}} niveaux</h4>
</div>
@ -91,7 +91,7 @@
</ul>
{{#if (or (count maladies) (count poisons))}}
<ul class="item-list alternate-list">
<ul class="item-list alternate-list">
<li class="item flexrow list-item items-title-bg">
<span class="item-field-title-long">
<h3><label class="item-field-label-long">Maladies & Poisons</label></h3>
@ -157,7 +157,7 @@
</li>
<li class="item flexrow list-item carac-box">
<label class="item-left-pad item-field item-field-label-medium">Armures Lourdes</label>
<input class="input-numeric-short" type="text" value="{{nbArmuresLourdes}}" disabled data-dtype="Number" />&nbsp;/&nbsp;
<input class="input-numeric-short" type="text" value="{{nbArmuresLourdes}}" disabled data-dtype="Number" />&nbsp;/&nbsp;
<input class="input-numeric-short" type="text" value="{{pointsArmuresLourdes.value}}" disabled data-dtype="Number" />
<label class="item-left-pad item-field item-field-label-medium">Actions/Tour</label>
<input class="input-numeric-short" type="text" value="{{nbActions.value}}" disabled data-dtype="Number" />
@ -169,6 +169,11 @@
<span class="item-field-title-long">
<h3><label class="item-field-label-long">Grâces</label></h3>
</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-add" data-type="grace" title="Créer une Grâce"><i
class="fas fa-plus"></i></a>
</div>
</li>
{{#each graces as |grace key|}}
<li class="item flexrow list-item list-item-shadow item-id" data-item-id="{{grace._id}}">
@ -196,17 +201,22 @@
{{#each arbreCompetences as |carac key|}}
<ul>
<li class="flexrow">
<img class="sheet-competence-img" src="/systems/fvtt-te-deum/images/icons/{{key}}.webp" />
<img class="sheet-competence-img" src="systems/fvtt-te-deum/images/icons/{{key}}.webp" />
<h3 class="item-field-label-long14" data-tooltip="Caracteristique">{{carac.name}} : {{carac.qualite}}</h3>
<label class="item-field item-field-label-short">{{carac.value}}</label>
<label class="item-field ">{{carac.dice}} (xp :
<label class="item-field ">{{carac.dice}} (xp :
{{#if @root.isGM}}
<input class="input-numeric-short" type="text" name="system.caracteristiques.{{key}}.xp" value="{{carac.experience}}" data-dtype="Number" />
<input class="input-numeric-short" type="text" name="system.caracteristiques.{{key}}.experience" value="{{carac.experience}}" data-dtype="Number" />
{{else}}
{{carac.experience}})
{{/if}}
)
</label>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control competence-add" data-type="competence" data-carac-key="{{key}}" title="Ajouter une Compétence"><i
class="fas fa-plus"></i></a>
</div>
</li>
<ul class="ul-level1 flexrow item-list">
{{#each carac.competences as |comp skillkey|}}
@ -299,9 +309,9 @@
<div class="center-content">
<div class="corps-combat-block flexrow">
<img src="/systems/fvtt-te-deum/images/ui/femme_gauche.webp" class="silhouette-combat-picture" />
<img src="systems/fvtt-te-deum/images/ui/femme_gauche.webp" class="silhouette-combat-picture" />
<div class="silhouette-combat-space"></div>
<img src="/systems/fvtt-te-deum/images/ui/homme_droit.webp" class="silhouette-combat-picture" />
<img src="systems/fvtt-te-deum/images/ui/homme_droit.webp" class="silhouette-combat-picture" />
{{#each combat as |loc key|}}
<div class="silhouette-combat-block" style="top:{{loc.coord.top}}px;left:{{loc.coord.left}}px;">
@ -314,7 +324,7 @@
<span>Blessures : </span>
{{#each loc.blessures as |blessure idx| }}
<span>{{blessure.name}} ({{blessure.malus}})</span>
{{/each}}
{{/each}}
</div>
</div>
{{/each}}
@ -335,7 +345,7 @@
<input type="text" class="input-numeric-short" name="system.fortune.{{key}}" value="{{fortune}}"
data-dtype="Number" />
</div>
{{/each}}
{{/each}}
</div>
<span class="item-name-label-header items-title-bg">
@ -365,7 +375,7 @@
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
src="{{equip.img}}" /></a>
<span class="item-name-label">{{equip.name}}</span>
<span class="item-field-label-medium">{{equip.system.prix}} {{equip.system.monnaie}}</span>
<span class="item-field-label-medium">{{equip.system.prix}} {{monnaie equip.system.monnaie}}</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
@ -374,7 +384,39 @@
</div>
</li>
{{/each}}
</ul>
<ul class="item-list alternate-list">
<li class="item flexrow list-item items-title-bg">
<span class="item-field-label-long">
<h3><label class="item-field-label-long">Simples</label></h3>
</span>
<span class="item-field-label-medium">
<label class="item-field-label-medium">Prix</label>
</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-add" data-type="simple" title="Créer une simple"><i
class="fas fa-plus"></i></a>
</div>
</li>
{{#each simples as |simple key|}}
<li class="item list-item flexrow list-item-shadow item-id" data-item-id="{{simple._id}}">
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
src="{{simple.img}}" /></a>
<span class="item-name-label">{{simple.name}}</span>
<span class="item-field-label-medium">{{simple.system.prix}} {{monnaie simple.system.monnaie}}</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-edit" title="Editer une simple"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="Supprimer une simple"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ul>
</div>
{{!-- Biography Tab --}}
@ -399,6 +441,11 @@
<input type="text" class="" name="system.age" value="{{system.age}}"
data-dtype="String" />
</li>
<li class="item flexrow">
<label class="item-name-label-medium">Date de Naissance</label>
<input type="text" class="" name="system.datenaissance" value="{{system.datenaissance}}"
data-dtype="String" />
</li>
</ul>
</div>
<div>

View File

@ -12,21 +12,38 @@
{{!-- Sheet Body --}}
<section class="sheet-body">
{{> systems/fvtt-te-deum/templates/items/partial-item-description.hbs}}
<div class="tab description" data-group="primary" data-tab="description">
<div class="grace-texte">
<strong>Transmission</strong> : {{system.transmission}}
</div>
<div class="grace-texte">
<strong>Symptômes</strong> : {{system.symptomes}}
</div>
<div class="grace-texte">
<strong>Complications</strong> : {{system.complications}}
</div>
<hr>
{{editor description target="system.description" button=true owner=owner editable=editable}}
</div>
<div class="tab details" data-group="primary" data-tab="details">
<h4 class="item-name-label-long">Transmission</h4>
<textarea name="system.transmission" data-dtype="String">
<textarea name="system.transmission" rows="6" data-dtype="String">
{{{system.transmission}}}
</textarea>
<h4 class="item-name-label-long">Symptômes</h4>
<textarea name="system.symptomes" data-dtype="String">
<textarea name="system.symptomes" rows="6" data-dtype="String">
{{{system.symptomes}}}
</textarea>
<ul>
<h4 class="item-name-label-long">Complications</h4>
<textarea name="system.complications" rows="6" data-dtype="String">
{{{system.complications}}}
</textarea>
<ul>
<li class="flexrow">
<label class="item-name-label-long">Difficulté au test d'Endurance</label>
<select class="" type="text" name="system.difficulteEndurance" data-dtype="String">

View File

@ -12,21 +12,30 @@
{{!-- Sheet Body --}}
<section class="sheet-body">
{{> systems/fvtt-te-deum/templates/items/partial-item-description.hbs}}
<div class="tab description" data-group="primary" data-tab="description">
<div class="grace-texte">
<strong>Vertus médicinales</strong> : {{system.vertus}}
</div>
<div class="grace-texte">
<strong>Toxicité</strong> : {{system.toxicite}}
</div>
<hr>
{{editor description target="system.description" button=true owner=owner editable=editable}}
</div>
<div class="tab details" data-group="primary" data-tab="details">
<h4 class="item-name-label-long">Vertus médicinales</h4>
<textarea name="system.vertus" data-dtype="String">
<textarea name="system.vertus" rows="6" data-dtype="String">
{{{system.vertus}}}
</textarea>
<h4 class="item-name-label-long">Toxicité</h4>
<textarea name="system.toxicite" data-dtype="String">
<textarea name="system.toxicite" rows="6" data-dtype="String">
{{{system.toxicite}}}
</textarea>
<ul>
<ul>
<li class="flexrow">
<label class="item-name-label-long">Difficulté au test d'Endurance</label>
<select class="" type="text" name="system.difficulteEndurance" data-dtype="String">