9 Commits

Author SHA1 Message Date
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
aaabb7ed75 Correction sur XP, echec critique et tir réussi
All checks were successful
Release Creation / build (release) Successful in 53s
2025-03-18 20:38:30 +01:00
fee7a3a9fb Gestion opposition en combat melee 2025-03-11 20:16:26 +01:00
31517030f6 Gestion opposition en combat melee
All checks were successful
Release Creation / build (release) Successful in 39s
2025-03-11 20:10:06 +01:00
c5cbf2a6d1 Gestion du genre dans la creation de perso 2025-03-11 13:45:04 +01:00
a30f813d94 Fix genre 2025-03-10 16:56:25 +01:00
090f6be601 Fix genre 2025-03-10 16:56:10 +01:00
138 changed files with 455 additions and 224 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

@ -1,3 +1,17 @@
# 12.0.23
- Correction sur les jets réussie en tir
- Correction sur le dés négatif pour les échecs critiques
- Correction sur l'XP et édition de l'XP en mode MJ
# 12.0.22
- Correction pour les armes d'hast
- Correction sur la zone libre d'équipement
- Bouton + pour créer un équipement à nouveau opérationnel
- Modification de la gestion des jets en combat, avec gestion opposition ou degats immédiats
- Gestion du genre dans la création de personnage
# 12.0.21
- Creation de PNJ OK

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

View File

@ -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(),
@ -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
@ -360,11 +375,13 @@ export class TeDeumActor extends Actor {
providence.value = Math.min(Math.max(providence.value + value, 0), 6)
this.update({ "system.providence": providence })
}
/* -------------------------------------------- */
modifyXP(key, value) {
async modifyXP(key, value) {
let xp = this.system.caracteristiques[key].experience
xp = Math.max(xp + value, 0)
this.update({ [`system.caracteristiques.${key}.experience`]: xp })
await this.update({ [`system.caracteristiques.${key}.experience`]: xp })
this.sheet?.render(true)
}
/* -------------------------------------------- */

View File

@ -374,6 +374,7 @@ export class TeDeumCharacterCreator {
title: "Création de personnage - La Pouponnière",
subtitle: "Choix de la Pouponnière",
label: "Valider le choix de la Pouponnière",
hasGenre: false,
choices: pouponniereItems,
caracBonus: this.caracBonus,
competenceBonus: this.competenceBonus
@ -403,11 +404,12 @@ export class TeDeumCharacterCreator {
/*--------------------------------------------*/
async renderPetitsGrimauds(stage) {
// Filter available pouponniere from origineSociale
let grimaudsItems = stage.items.filter(item => item.system.accessible[this.origineSociale.id].isaccessible)
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",
label: "Valider le choix des Petits Grimauds",
hasGenre: true,
choices: grimaudsItems,
caracBonus: this.caracBonus,
competenceBonus: this.competenceBonus
@ -437,12 +439,13 @@ export class TeDeumCharacterCreator {
/*--------------------------------------------*/
async renderRosesDeLaVie(stage) {
// Filter available pouponniere from origineSociale
let rosesItems = stage.items.filter(item => item.system.accessible[this.origineSociale.id].isaccessible)
let rosesItems = stage.items.filter(item => item.system.accessible[this.origineSociale.id].isaccessible && (item.system.genre === this.sexe || item.system.genre === "Mixte"))
let context = {
title: "Création de personnage - Les Roses de la Vie",
label: "Valider le choix des Roses de la Vie",
choices: rosesItems,
hasGenre: true,
caracBonus: this.caracBonus,
competenceBonus: this.competenceBonus
@ -488,6 +491,7 @@ export class TeDeumCharacterCreator {
title: "Création de personnage - L'Age Viril",
label: "Valider le choix de l'Age Viril",
choices: ageVirilItems,
hasGenre: false,
caracBonus: this.caracBonus,
competenceBonus: this.competenceBonus
}

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" },
@ -117,6 +125,11 @@ export const TEDEUM_CONFIG = {
melee: { label: "Mêlée", value: "melee" },
tir: { label: "Tir", value: "tir" }
},
genreEducation: {
"homme": { label: "Homme", value: "Homme" },
"femme": { label: "Femme", value: "Femme" },
"mixte": { label: "Mixte", value: "Mixte" }
},
armeAllonges: {
courte: { label: "Courte", value: "courte" },
moyenne: { label: "Moyenne", value: "moyenne" },
@ -152,11 +165,16 @@ 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, hasQuestionnaire: true, hasDebouches: false, hasMultiplier: false, canCompetencesOpt: false },
petitsgrimauds: { label: "La classe des Petits Grimauds", value: "petitsgrimauds", agemin: 7, agemax: 12, nbCompetences: 10, nbCaracteristiques: 3, hasDebouches: false, hasQuestionnaire: true, hasMultiplier: false, canCompetencesOpt: false },
rosevie: { label: "Les Roses de la Vie", value: "rosevie", agemin: 13, agemax: 16, nbCompetences: 2, nbCaracteristiques: 3, hasQuestionnaire: true, hasDebouches: true, hasMultiplier: false, canCompetencesOpt: false },
ageviril: { label: "L'Age Viril", value: "ageviril", agemin: 17, agemax: 17, nbCompetences: 9, nbCaracteristiques: 2, hasQuestionnaire: false, hasDebouches: false, hasMultiplier: true, canCompetencesOpt: true },
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 },
rosevie: { label: "Les Roses de la Vie", value: "rosevie", agemin: 13, agemax: 16, nbCompetences: 2, nbCaracteristiques: 3, hasGenre: true, hasQuestionnaire: true, hasDebouches: true, hasMultiplier: false, canCompetencesOpt: false },
ageviril: { label: "L'Age Viril", value: "ageviril", agemin: 17, agemax: 17, nbCompetences: 9, nbCaracteristiques: 2, hasGenre: false, hasQuestionnaire: false, hasDebouches: false, hasMultiplier: true, canCompetencesOpt: true },
},
origineSociale: {
noblesseepee: { label: "Noblesse d'épée", id: "noblesseepee", caracteristiques: { entregent: 1, puissance: 1 }, cagnotte: 10, cagnotteUnit: "livres", value: 1 },

View File

@ -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")
@ -160,6 +167,7 @@ export class TeDeumUtility {
formData.hasMultiplier = etape.hasMultiplier;
formData.hasDebouches = etape.hasDebouches;
formData.canCompetencesOpt = etape.canCompetencesOpt;
formData.hasGenre = etape.hasGenre;
}
/*-------------------------------------------- */
@ -200,11 +208,13 @@ export class TeDeumUtility {
ui.notifications.info("Opposition démarrée avec " + rollData.alias);
} else {
// Perform the opposition
let isAttackWinner = true
let rWinner = this.currentOpposition
let rLooser = rollData
if (rWinner.total < rLooser.total) {
rWinner = rollData
rLooser = this.currentOpposition
isAttackWinner = false
}
this.currentOpposition = undefined // Reset opposition
let oppositionData = {
@ -215,14 +225,32 @@ export class TeDeumUtility {
content: await 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)
}
}
/* -------------------------------------------- */ /* -------------------------------------------- */
static async appliquerDegats(rollData) {
await this.processAttaqueMelee(rollData)
let defenderToken = canvas.tokens.placeables.find(t => t.id == rollData.defenderTokenId)
if (defenderToken) {
let actor = defenderToken.actor
await actor.appliquerDegats(rollData)
} else {
ui.notifications.error("Impossible de trouver la cible de l'attaque, aucun degats appliqué")
}
}
/* -------------------------------------------- */ /* -------------------------------------------- */
static async chatListeners(html) {
html.on("click", '.chat-command-button', 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")
@ -230,6 +258,14 @@ export class TeDeumUtility {
TeDeumUtility.manageOpposition(rollData, messageId)
}
})
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")
if (rollData) {
TeDeumUtility.appliquerDegats(rollData, messageId)
}
})
}
/* -------------------------------------------- */
@ -408,10 +444,11 @@ export class TeDeumUtility {
}
}
if (rollData.diceSum == 1) {
let critiqueRoll = await new Roll(rollData.carac.negativeDice).roll()
let critiqueRoll = await new Roll(rollData.carac.negativeDice)
await critiqueRoll.evaluate()
await this.showDiceSoNice(critiqueRoll, game.settings.get("core", "rollMode"))
rollData.critiqueRoll = foundry.utils.duplicate(critiqueRoll)
if (critiqueRoll.total > rollData.competence.score) {
if (critiqueRoll.total > rollData.competence.system.score) {
rollData.isEchecCritique = true
}
}
@ -465,18 +502,13 @@ export class TeDeumUtility {
/* -------------------------------------------- */
static async processAttaqueMelee(rollData) {
if (rollData.arme?.system.typeArme != "melee") {
return
}
if (rollData.isSuccess) {
await this.getLocalisation(rollData)
let actor = game.actors.get(rollData.actorId)
let bDegats = actor.getBonusDegats()
let degatsRoll = await new Roll(rollData.arme.system.degats + "+" + bDegats.value).roll()
await this.showDiceSoNice(degatsRoll, game.settings.get("core", "rollMode"))
rollData.degatsRoll = foundry.utils.duplicate(degatsRoll)
rollData.degats = degatsRoll.total
}
await this.getLocalisation(rollData)
let actor = game.actors.get(rollData.actorId)
let bDegats = actor.getBonusDegats()
let degatsRoll = await new Roll(rollData.arme.system.degats + "+" + bDegats.value).roll()
await this.showDiceSoNice(degatsRoll, game.settings.get("core", "rollMode"))
rollData.degatsRoll = foundry.utils.duplicate(degatsRoll)
rollData.degats = degatsRoll.total
}
/* -------------------------------------------- */
@ -489,7 +521,7 @@ export class TeDeumUtility {
await this.getLocalisation(rollData)
// Now the degats
let degatsRoll = await new Roll(rollData.arme.system.degats).roll()
await this.showDiceSoNice(locRoll, game.settings.get("core", "rollMode"))
await this.showDiceSoNice(rollData.locRoll, game.settings.get("core", "rollMode"))
rollData.degatsRoll = foundry.utils.duplicate(degatsRoll)
rollData.degats = degatsRoll.total
}
@ -519,7 +551,6 @@ export class TeDeumUtility {
await this.computeResults(rollData)
await this.processAttaqueDistance(rollData)
await this.processAttaqueMelee(rollData)
let msg = await this.createChatWithRollMode(rollData.alias, {
content: await renderTemplate(`systems/fvtt-te-deum/templates/chat/chat-generic-result.hbs`, rollData)
@ -531,19 +562,10 @@ export class TeDeumUtility {
if (rollData.enableProvidence) {
actor.modifyProvidence(-1)
}
// Manage XP
// Manage XP
if (rollData.isReussiteCritique || rollData.isEchecCritique) {
actor.modifyXP(rollData.carac.key, 1)
}
// gestion degats automatique
if (rollData.arme && rollData.defenderTokenId) {
let defenderToken = canvas.tokens.placeables.find(t => t.id == rollData.defenderTokenId)
if (defenderToken) {
let actor = defenderToken.actor
await actor.appliquerDegats(rollData)
}
}
}
/* -------------------------------------------- */

View File

@ -15,6 +15,8 @@ export class TeDeumEducationSchema extends foundry.abstract.TypeDataModel {
}, {})
);
schema.genre = new fields.StringField({required: true, initial: "Homme", choices: ["masculin", "mixte", "Homme", "Femme", "Mixte"]});
schema.nbChoixCarac = new fields.NumberField({ ...requiredInteger, initial: 1, min: 1 });
schema.caracteristiques = new fields.SchemaField(Array.fromRange(3, 1).reduce((caracs, i) => {
caracs[`carac${i}`] = new fields.SchemaField({

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

@ -1 +1 @@
MANIFEST-000039
MANIFEST-000091

View File

@ -1,8 +1,7 @@
2025/03/01-19:40:45.555874 7fe59dffb6c0 Recovering log #37
2025/03/01-19:40:45.565732 7fe59dffb6c0 Delete type=3 #35
2025/03/01-19:40:45.565785 7fe59dffb6c0 Delete type=0 #37
2025/03/01-19:41:57.321763 7fe59d7fa6c0 Level-0 table #42: started
2025/03/01-19:41:57.321801 7fe59d7fa6c0 Level-0 table #42: 0 bytes OK
2025/03/01-19:41:57.328249 7fe59d7fa6c0 Delete type=0 #40
2025/03/01-19:41:57.328418 7fe59d7fa6c0 Manual compaction at level-0 from '!journal!uNwJgi4kXBCiZmAH' @ 72057594037927935 : 1 .. '!journal.pages!uNwJgi4kXBCiZmAH.onhNU0mXhOpdNZJF' @ 0 : 0; will stop at (end)
2025/03/01-19:41:57.328438 7fe59d7fa6c0 Manual compaction at level-1 from '!journal!uNwJgi4kXBCiZmAH' @ 72057594037927935 : 1 .. '!journal.pages!uNwJgi4kXBCiZmAH.onhNU0mXhOpdNZJF' @ 0 : 0; will stop at (end)
2025/04/11-23:06:48.405694 7f6df09f96c0 Recovering log #89
2025/04/11-23:06:48.416695 7f6df09f96c0 Delete type=3 #87
2025/04/11-23:06:48.416810 7f6df09f96c0 Delete type=0 #89
2025/04/12-00:18:27.794309 7f6deabff6c0 Level-0 table #94: started
2025/04/12-00:18:27.794331 7f6deabff6c0 Level-0 table #94: 0 bytes OK
2025/04/12-00:18:27.828514 7f6deabff6c0 Delete type=0 #92
2025/04/12-00:18:27.828757 7f6deabff6c0 Manual compaction at level-0 from '!journal!uNwJgi4kXBCiZmAH' @ 72057594037927935 : 1 .. '!journal.pages!uNwJgi4kXBCiZmAH.onhNU0mXhOpdNZJF' @ 0 : 0; will stop at (end)

View File

@ -1,8 +1,7 @@
2025/03/01-19:35:57.154413 7fe59e7fc6c0 Recovering log #33
2025/03/01-19:35:57.165621 7fe59e7fc6c0 Delete type=3 #31
2025/03/01-19:35:57.165677 7fe59e7fc6c0 Delete type=0 #33
2025/03/01-19:38:46.090031 7fe59d7fa6c0 Level-0 table #38: started
2025/03/01-19:38:46.090085 7fe59d7fa6c0 Level-0 table #38: 0 bytes OK
2025/03/01-19:38:46.096397 7fe59d7fa6c0 Delete type=0 #36
2025/03/01-19:38:46.113755 7fe59d7fa6c0 Manual compaction at level-0 from '!journal!uNwJgi4kXBCiZmAH' @ 72057594037927935 : 1 .. '!journal.pages!uNwJgi4kXBCiZmAH.onhNU0mXhOpdNZJF' @ 0 : 0; will stop at (end)
2025/03/01-19:38:46.113810 7fe59d7fa6c0 Manual compaction at level-1 from '!journal!uNwJgi4kXBCiZmAH' @ 72057594037927935 : 1 .. '!journal.pages!uNwJgi4kXBCiZmAH.onhNU0mXhOpdNZJF' @ 0 : 0; will stop at (end)
2025/04/05-23:14:49.037668 7f9c6affd6c0 Recovering log #86
2025/04/05-23:14:49.047402 7f9c6affd6c0 Delete type=0 #86
2025/04/05-23:14:49.047473 7f9c6affd6c0 Delete type=3 #85
2025/04/05-23:15:15.842682 7f9c69bff6c0 Level-0 table #90: started
2025/04/05-23:15:15.842744 7f9c69bff6c0 Level-0 table #90: 0 bytes OK
2025/04/05-23:15:15.848975 7f9c69bff6c0 Delete type=0 #88
2025/04/05-23:15:15.860649 7f9c69bff6c0 Manual compaction at level-0 from '!journal!uNwJgi4kXBCiZmAH' @ 72057594037927935 : 1 .. '!journal.pages!uNwJgi4kXBCiZmAH.onhNU0mXhOpdNZJF' @ 0 : 0; will stop at (end)

BIN
packs/aides/MANIFEST-000091 Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000141
MANIFEST-000193

View File

@ -1,7 +1,14 @@
2025/03/01-19:40:45.461315 7fe59effd6c0 Recovering log #139
2025/03/01-19:40:45.471298 7fe59effd6c0 Delete type=3 #137
2025/03/01-19:40:45.471427 7fe59effd6c0 Delete type=0 #139
2025/03/01-19:41:57.262543 7fe59d7fa6c0 Level-0 table #144: started
2025/03/01-19:41:57.262603 7fe59d7fa6c0 Level-0 table #144: 0 bytes OK
2025/03/01-19:41:57.269401 7fe59d7fa6c0 Delete type=0 #142
2025/03/01-19:41:57.269633 7fe59d7fa6c0 Manual compaction at level-0 from '!folders!InCQeTRdT5jXMX82' @ 72057594037927935 : 1 .. '!items!wxIHkrq98eQ3cOvp' @ 0 : 0; will stop at (end)
2025/04/11-23:06:48.304335 7f6df11fa6c0 Recovering log #191
2025/04/11-23:06:48.314473 7f6df11fa6c0 Delete type=3 #189
2025/04/11-23:06:48.314529 7f6df11fa6c0 Delete type=0 #191
2025/04/12-00:18:27.071344 7f6deabff6c0 Level-0 table #196: started
2025/04/12-00:18:27.085927 7f6deabff6c0 Level-0 table #196: 1371 bytes OK
2025/04/12-00:18:27.118250 7f6deabff6c0 Delete type=0 #194
2025/04/12-00:18:27.311443 7f6deabff6c0 Manual compaction at level-0 from '!folders!InCQeTRdT5jXMX82' @ 72057594037927935 : 1 .. '!items!wxIHkrq98eQ3cOvp' @ 0 : 0; will stop at '!items!GZ3Q17VzRvdlrtdF' @ 40 : 1
2025/04/12-00:18:27.311451 7f6deabff6c0 Compacting 1@0 + 1@1 files
2025/04/12-00:18:27.331173 7f6deabff6c0 Generated table #197@0: 38 keys, 31023 bytes
2025/04/12-00:18:27.331200 7f6deabff6c0 Compacted 1@0 + 1@1 files => 31023 bytes
2025/04/12-00:18:27.373984 7f6deabff6c0 compacted to: files[ 0 1 0 0 0 0 0 ]
2025/04/12-00:18:27.374177 7f6deabff6c0 Delete type=2 #174
2025/04/12-00:18:27.374459 7f6deabff6c0 Delete type=2 #196
2025/04/12-00:18:27.426656 7f6deabff6c0 Manual compaction at level-0 from '!items!GZ3Q17VzRvdlrtdF' @ 40 : 1 .. '!items!wxIHkrq98eQ3cOvp' @ 0 : 0; will stop at (end)

View File

@ -1,7 +1,7 @@
2025/03/01-19:35:57.054371 7fe59f7fe6c0 Recovering log #135
2025/03/01-19:35:57.064331 7fe59f7fe6c0 Delete type=3 #133
2025/03/01-19:35:57.064442 7fe59f7fe6c0 Delete type=0 #135
2025/03/01-19:38:46.045299 7fe59d7fa6c0 Level-0 table #140: started
2025/03/01-19:38:46.045318 7fe59d7fa6c0 Level-0 table #140: 0 bytes OK
2025/03/01-19:38:46.052039 7fe59d7fa6c0 Delete type=0 #138
2025/03/01-19:38:46.058190 7fe59d7fa6c0 Manual compaction at level-0 from '!folders!InCQeTRdT5jXMX82' @ 72057594037927935 : 1 .. '!items!wxIHkrq98eQ3cOvp' @ 0 : 0; will stop at (end)
2025/04/05-23:14:48.938481 7f9c6a7fc6c0 Recovering log #188
2025/04/05-23:14:48.948878 7f9c6a7fc6c0 Delete type=0 #188
2025/04/05-23:14:48.948933 7f9c6a7fc6c0 Delete type=3 #187
2025/04/05-23:15:15.775044 7f9c69bff6c0 Level-0 table #192: started
2025/04/05-23:15:15.775079 7f9c69bff6c0 Level-0 table #192: 0 bytes OK
2025/04/05-23:15:15.780958 7f9c69bff6c0 Delete type=0 #190
2025/04/05-23:15:15.800666 7f9c69bff6c0 Manual compaction at level-0 from '!folders!InCQeTRdT5jXMX82' @ 72057594037927935 : 1 .. '!items!wxIHkrq98eQ3cOvp' @ 0 : 0; will stop at (end)

BIN
packs/armes/MANIFEST-000193 Normal file

Binary file not shown.

View File

Binary file not shown.

Binary file not shown.

Binary file not shown.

0
packs/armures/000195.log Normal file
View File

View File

@ -1 +1 @@
MANIFEST-000141
MANIFEST-000193

View File

@ -1,7 +1,7 @@
2025/03/01-19:40:45.474414 7fe59dffb6c0 Recovering log #139
2025/03/01-19:40:45.484515 7fe59dffb6c0 Delete type=3 #137
2025/03/01-19:40:45.484615 7fe59dffb6c0 Delete type=0 #139
2025/03/01-19:41:57.244110 7fe59d7fa6c0 Level-0 table #144: started
2025/03/01-19:41:57.244149 7fe59d7fa6c0 Level-0 table #144: 0 bytes OK
2025/03/01-19:41:57.250209 7fe59d7fa6c0 Delete type=0 #142
2025/03/01-19:41:57.269578 7fe59d7fa6c0 Manual compaction at level-0 from '!folders!2wTJBj3dicRKzNOE' @ 72057594037927935 : 1 .. '!items!ufvhWG5V8pX0qrtR' @ 0 : 0; will stop at (end)
2025/04/11-23:06:48.318150 7f6df09f96c0 Recovering log #191
2025/04/11-23:06:48.328364 7f6df09f96c0 Delete type=3 #189
2025/04/11-23:06:48.328522 7f6df09f96c0 Delete type=0 #191
2025/04/12-00:18:27.192248 7f6deabff6c0 Level-0 table #196: started
2025/04/12-00:18:27.192320 7f6deabff6c0 Level-0 table #196: 0 bytes OK
2025/04/12-00:18:27.261480 7f6deabff6c0 Delete type=0 #194
2025/04/12-00:18:27.426624 7f6deabff6c0 Manual compaction at level-0 from '!folders!2wTJBj3dicRKzNOE' @ 72057594037927935 : 1 .. '!items!ufvhWG5V8pX0qrtR' @ 0 : 0; will stop at (end)

View File

@ -1,7 +1,7 @@
2025/03/01-19:35:57.068105 7fe59e7fc6c0 Recovering log #135
2025/03/01-19:35:57.078819 7fe59e7fc6c0 Delete type=3 #133
2025/03/01-19:35:57.078913 7fe59e7fc6c0 Delete type=0 #135
2025/03/01-19:38:46.052161 7fe59d7fa6c0 Level-0 table #140: started
2025/03/01-19:38:46.052188 7fe59d7fa6c0 Level-0 table #140: 0 bytes OK
2025/03/01-19:38:46.058075 7fe59d7fa6c0 Delete type=0 #138
2025/03/01-19:38:46.058217 7fe59d7fa6c0 Manual compaction at level-0 from '!folders!2wTJBj3dicRKzNOE' @ 72057594037927935 : 1 .. '!items!ufvhWG5V8pX0qrtR' @ 0 : 0; will stop at (end)
2025/04/05-23:14:48.952138 7f9c6affd6c0 Recovering log #188
2025/04/05-23:14:48.962116 7f9c6affd6c0 Delete type=0 #188
2025/04/05-23:14:48.962182 7f9c6affd6c0 Delete type=3 #187
2025/04/05-23:15:15.788075 7f9c69bff6c0 Level-0 table #192: started
2025/04/05-23:15:15.788095 7f9c69bff6c0 Level-0 table #192: 0 bytes OK
2025/04/05-23:15:15.794438 7f9c69bff6c0 Delete type=0 #190
2025/04/05-23:15:15.800687 7f9c69bff6c0 Manual compaction at level-0 from '!folders!2wTJBj3dicRKzNOE' @ 72057594037927935 : 1 .. '!items!ufvhWG5V8pX0qrtR' @ 0 : 0; will stop at (end)

Binary file not shown.

View File

View File

View File

View File

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

View File

@ -1 +1 @@
MANIFEST-000138
MANIFEST-000190

View File

@ -1,7 +1,7 @@
2025/03/01-19:40:45.446777 7fe59f7fe6c0 Recovering log #136
2025/03/01-19:40:45.457998 7fe59f7fe6c0 Delete type=3 #134
2025/03/01-19:40:45.458083 7fe59f7fe6c0 Delete type=0 #136
2025/03/01-19:41:57.250328 7fe59d7fa6c0 Level-0 table #141: started
2025/03/01-19:41:57.250355 7fe59d7fa6c0 Level-0 table #141: 0 bytes OK
2025/03/01-19:41:57.256324 7fe59d7fa6c0 Delete type=0 #139
2025/03/01-19:41:57.269599 7fe59d7fa6c0 Manual compaction at level-0 from '!folders!4OPhigzcPv46qbWW' @ 72057594037927935 : 1 .. '!items!yx4k7lQHGcom99mk' @ 0 : 0; will stop at (end)
2025/04/11-23:06:48.289349 7f6debfff6c0 Recovering log #188
2025/04/11-23:06:48.299353 7f6debfff6c0 Delete type=3 #186
2025/04/11-23:06:48.299496 7f6debfff6c0 Delete type=0 #188
2025/04/12-00:18:27.261661 7f6deabff6c0 Level-0 table #193: started
2025/04/12-00:18:27.261699 7f6deabff6c0 Level-0 table #193: 0 bytes OK
2025/04/12-00:18:27.311309 7f6deabff6c0 Delete type=0 #191
2025/04/12-00:18:27.426641 7f6deabff6c0 Manual compaction at level-0 from '!folders!4OPhigzcPv46qbWW' @ 72057594037927935 : 1 .. '!items!yx4k7lQHGcom99mk' @ 0 : 0; will stop at (end)

View File

@ -1,7 +1,7 @@
2025/03/01-19:35:57.039829 7fe59dffb6c0 Recovering log #132
2025/03/01-19:35:57.049894 7fe59dffb6c0 Delete type=3 #130
2025/03/01-19:35:57.049949 7fe59dffb6c0 Delete type=0 #132
2025/03/01-19:38:46.032600 7fe59d7fa6c0 Level-0 table #137: started
2025/03/01-19:38:46.032653 7fe59d7fa6c0 Level-0 table #137: 0 bytes OK
2025/03/01-19:38:46.038775 7fe59d7fa6c0 Delete type=0 #135
2025/03/01-19:38:46.058171 7fe59d7fa6c0 Manual compaction at level-0 from '!folders!4OPhigzcPv46qbWW' @ 72057594037927935 : 1 .. '!items!yx4k7lQHGcom99mk' @ 0 : 0; will stop at (end)
2025/04/05-23:14:48.923788 7f9c6bfff6c0 Recovering log #185
2025/04/05-23:14:48.933992 7f9c6bfff6c0 Delete type=0 #185
2025/04/05-23:14:48.934095 7f9c6bfff6c0 Delete type=3 #184
2025/04/05-23:15:15.781052 7f9c69bff6c0 Level-0 table #189: started
2025/04/05-23:15:15.781077 7f9c69bff6c0 Level-0 table #189: 0 bytes OK
2025/04/05-23:15:15.787996 7f9c69bff6c0 Delete type=0 #187
2025/04/05-23:15:15.800677 7f9c69bff6c0 Manual compaction at level-0 from '!folders!4OPhigzcPv46qbWW' @ 72057594037927935 : 1 .. '!items!yx4k7lQHGcom99mk' @ 0 : 0; will stop at (end)

Binary file not shown.

View File

View File

View File

View File

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

View File

@ -1 +1 @@
MANIFEST-000148
MANIFEST-000201

View File

@ -1,7 +1,14 @@
2025/03/01-19:40:45.487407 7fe59e7fc6c0 Recovering log #146
2025/03/01-19:40:45.498701 7fe59e7fc6c0 Delete type=3 #144
2025/03/01-19:40:45.498803 7fe59e7fc6c0 Delete type=0 #146
2025/03/01-19:41:57.256411 7fe59d7fa6c0 Level-0 table #151: started
2025/03/01-19:41:57.256434 7fe59d7fa6c0 Level-0 table #151: 0 bytes OK
2025/03/01-19:41:57.262412 7fe59d7fa6c0 Delete type=0 #149
2025/03/01-19:41:57.269615 7fe59d7fa6c0 Manual compaction at level-0 from '!folders!9PQi3Lv54rpcxavo' @ 72057594037927935 : 1 .. '!items!zGlRtP7zSnkjuuue' @ 0 : 0; will stop at (end)
2025/04/11-23:06:48.331428 7f6deb7fe6c0 Recovering log #199
2025/04/11-23:06:48.343033 7f6deb7fe6c0 Delete type=3 #197
2025/04/11-23:06:48.343104 7f6deb7fe6c0 Delete type=0 #199
2025/04/12-00:18:27.118439 7f6deabff6c0 Level-0 table #204: started
2025/04/12-00:18:27.137069 7f6deabff6c0 Level-0 table #204: 6892 bytes OK
2025/04/12-00:18:27.191998 7f6deabff6c0 Delete type=0 #202
2025/04/12-00:18:27.374641 7f6deabff6c0 Manual compaction at level-0 from '!folders!9PQi3Lv54rpcxavo' @ 72057594037927935 : 1 .. '!items!zGlRtP7zSnkjuuue' @ 0 : 0; will stop at '!items!eILBnECWQOFfkxIL' @ 443 : 1
2025/04/12-00:18:27.374657 7f6deabff6c0 Compacting 1@0 + 1@1 files
2025/04/12-00:18:27.393149 7f6deabff6c0 Generated table #205@0: 71 keys, 263379 bytes
2025/04/12-00:18:27.393180 7f6deabff6c0 Compacted 1@0 + 1@1 files => 263379 bytes
2025/04/12-00:18:27.425988 7f6deabff6c0 compacted to: files[ 0 1 0 0 0 0 0 ]
2025/04/12-00:18:27.426166 7f6deabff6c0 Delete type=2 #186
2025/04/12-00:18:27.426484 7f6deabff6c0 Delete type=2 #204
2025/04/12-00:18:27.426669 7f6deabff6c0 Manual compaction at level-0 from '!items!eILBnECWQOFfkxIL' @ 443 : 1 .. '!items!zGlRtP7zSnkjuuue' @ 0 : 0; will stop at (end)

View File

@ -1,7 +1,7 @@
2025/03/01-19:35:57.082694 7fe59effd6c0 Recovering log #141
2025/03/01-19:35:57.093326 7fe59effd6c0 Delete type=3 #139
2025/03/01-19:35:57.093376 7fe59effd6c0 Delete type=0 #141
2025/03/01-19:38:46.038876 7fe59d7fa6c0 Level-0 table #147: started
2025/03/01-19:38:46.038898 7fe59d7fa6c0 Level-0 table #147: 0 bytes OK
2025/03/01-19:38:46.045195 7fe59d7fa6c0 Delete type=0 #145
2025/03/01-19:38:46.058182 7fe59d7fa6c0 Manual compaction at level-0 from '!folders!9PQi3Lv54rpcxavo' @ 72057594037927935 : 1 .. '!items!zGlRtP7zSnkjuuue' @ 0 : 0; will stop at (end)
2025/04/05-23:14:48.965558 7f9c6b7fe6c0 Recovering log #196
2025/04/05-23:14:48.975684 7f9c6b7fe6c0 Delete type=0 #196
2025/04/05-23:14:48.975771 7f9c6b7fe6c0 Delete type=3 #195
2025/04/05-23:15:15.794548 7f9c69bff6c0 Level-0 table #200: started
2025/04/05-23:15:15.794568 7f9c69bff6c0 Level-0 table #200: 0 bytes OK
2025/04/05-23:15:15.800586 7f9c69bff6c0 Delete type=0 #198
2025/04/05-23:15:15.800695 7f9c69bff6c0 Manual compaction at level-0 from '!folders!9PQi3Lv54rpcxavo' @ 72057594037927935 : 1 .. '!items!zGlRtP7zSnkjuuue' @ 0 : 0; will stop at (end)

Binary file not shown.

View File

View File

View File

View File

Binary file not shown.

Binary file not shown.

Binary file not shown.

0
packs/graces/000194.log Normal file
View File

View File

@ -1 +1 @@
MANIFEST-000140
MANIFEST-000192

View File

@ -1,7 +1,14 @@
2025/03/01-19:40:45.502221 7fe59f7fe6c0 Recovering log #138
2025/03/01-19:40:45.511946 7fe59f7fe6c0 Delete type=3 #136
2025/03/01-19:40:45.512076 7fe59f7fe6c0 Delete type=0 #138
2025/03/01-19:41:57.282060 7fe59d7fa6c0 Level-0 table #143: started
2025/03/01-19:41:57.282084 7fe59d7fa6c0 Level-0 table #143: 0 bytes OK
2025/03/01-19:41:57.288122 7fe59d7fa6c0 Delete type=0 #141
2025/03/01-19:41:57.295100 7fe59d7fa6c0 Manual compaction at level-0 from '!items!17mjvwS8R3B6LloG' @ 72057594037927935 : 1 .. '!items!zUYIVOuFpRur9aAR' @ 0 : 0; will stop at (end)
2025/04/11-23:06:48.348395 7f6debfff6c0 Recovering log #190
2025/04/11-23:06:48.358966 7f6debfff6c0 Delete type=3 #188
2025/04/11-23:06:48.359028 7f6debfff6c0 Delete type=0 #190
2025/04/12-00:18:27.516559 7f6deabff6c0 Level-0 table #195: started
2025/04/12-00:18:27.532890 7f6deabff6c0 Level-0 table #195: 2579 bytes OK
2025/04/12-00:18:27.581168 7f6deabff6c0 Delete type=0 #193
2025/04/12-00:18:27.688801 7f6deabff6c0 Manual compaction at level-0 from '!items!17mjvwS8R3B6LloG' @ 72057594037927935 : 1 .. '!items!zUYIVOuFpRur9aAR' @ 0 : 0; will stop at '!items!o71YhfDj6rschyQM' @ 59 : 1
2025/04/12-00:18:27.688816 7f6deabff6c0 Compacting 1@0 + 1@1 files
2025/04/12-00:18:27.707304 7f6deabff6c0 Generated table #196@0: 49 keys, 19688 bytes
2025/04/12-00:18:27.707343 7f6deabff6c0 Compacted 1@0 + 1@1 files => 19688 bytes
2025/04/12-00:18:27.739125 7f6deabff6c0 compacted to: files[ 0 1 0 0 0 0 0 ]
2025/04/12-00:18:27.739315 7f6deabff6c0 Delete type=2 #173
2025/04/12-00:18:27.739599 7f6deabff6c0 Delete type=2 #195
2025/04/12-00:18:27.828729 7f6deabff6c0 Manual compaction at level-0 from '!items!o71YhfDj6rschyQM' @ 59 : 1 .. '!items!zUYIVOuFpRur9aAR' @ 0 : 0; will stop at (end)

View File

@ -1,7 +1,7 @@
2025/03/01-19:35:57.098663 7fe59dffb6c0 Recovering log #134
2025/03/01-19:35:57.108416 7fe59dffb6c0 Delete type=3 #132
2025/03/01-19:35:57.108524 7fe59dffb6c0 Delete type=0 #134
2025/03/01-19:38:46.058273 7fe59d7fa6c0 Level-0 table #139: started
2025/03/01-19:38:46.058294 7fe59d7fa6c0 Level-0 table #139: 0 bytes OK
2025/03/01-19:38:46.064281 7fe59d7fa6c0 Delete type=0 #137
2025/03/01-19:38:46.083204 7fe59d7fa6c0 Manual compaction at level-0 from '!items!17mjvwS8R3B6LloG' @ 72057594037927935 : 1 .. '!items!zUYIVOuFpRur9aAR' @ 0 : 0; will stop at (end)
2025/04/05-23:14:48.980636 7f9c6bfff6c0 Recovering log #187
2025/04/05-23:14:48.991406 7f9c6bfff6c0 Delete type=0 #187
2025/04/05-23:14:48.991533 7f9c6bfff6c0 Delete type=3 #186
2025/04/05-23:15:15.806897 7f9c69bff6c0 Level-0 table #191: started
2025/04/05-23:15:15.806941 7f9c69bff6c0 Level-0 table #191: 0 bytes OK
2025/04/05-23:15:15.814152 7f9c69bff6c0 Delete type=0 #189
2025/04/05-23:15:15.826768 7f9c69bff6c0 Manual compaction at level-0 from '!items!17mjvwS8R3B6LloG' @ 72057594037927935 : 1 .. '!items!zUYIVOuFpRur9aAR' @ 0 : 0; will stop at (end)

Binary file not shown.

View File

View File

View File

View File

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

BIN
packs/maladies/000196.ldb Normal file

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000140
MANIFEST-000192

View File

@ -1,7 +1,14 @@
2025/03/01-19:40:45.515906 7fe59effd6c0 Recovering log #138
2025/03/01-19:40:45.525965 7fe59effd6c0 Delete type=3 #136
2025/03/01-19:40:45.526045 7fe59effd6c0 Delete type=0 #138
2025/03/01-19:41:57.269782 7fe59d7fa6c0 Level-0 table #143: started
2025/03/01-19:41:57.269820 7fe59d7fa6c0 Level-0 table #143: 0 bytes OK
2025/03/01-19:41:57.275965 7fe59d7fa6c0 Delete type=0 #141
2025/03/01-19:41:57.295052 7fe59d7fa6c0 Manual compaction at level-0 from '!items!1icaxIywAwDXQcMz' @ 72057594037927935 : 1 .. '!items!ysGehYm1VkMWrI22' @ 0 : 0; will stop at (end)
2025/04/11-23:06:48.361948 7f6df11fa6c0 Recovering log #190
2025/04/11-23:06:48.372204 7f6df11fa6c0 Delete type=3 #188
2025/04/11-23:06:48.372273 7f6df11fa6c0 Delete type=0 #190
2025/04/12-00:18:27.468730 7f6deabff6c0 Level-0 table #195: started
2025/04/12-00:18:27.487486 7f6deabff6c0 Level-0 table #195: 19996 bytes OK
2025/04/12-00:18:27.516404 7f6deabff6c0 Delete type=0 #193
2025/04/12-00:18:27.626078 7f6deabff6c0 Manual compaction at level-0 from '!items!1icaxIywAwDXQcMz' @ 72057594037927935 : 1 .. '!items!ysGehYm1VkMWrI22' @ 0 : 0; will stop at '!items!ysGehYm1VkMWrI22' @ 47 : 1
2025/04/12-00:18:27.626091 7f6deabff6c0 Compacting 1@0 + 1@1 files
2025/04/12-00:18:27.644729 7f6deabff6c0 Generated table #196@0: 17 keys, 11448 bytes
2025/04/12-00:18:27.644759 7f6deabff6c0 Compacted 1@0 + 1@1 files => 11448 bytes
2025/04/12-00:18:27.688168 7f6deabff6c0 compacted to: files[ 0 1 0 0 0 0 0 ]
2025/04/12-00:18:27.688361 7f6deabff6c0 Delete type=2 #173
2025/04/12-00:18:27.688608 7f6deabff6c0 Delete type=2 #195
2025/04/12-00:18:27.828710 7f6deabff6c0 Manual compaction at level-0 from '!items!ysGehYm1VkMWrI22' @ 47 : 1 .. '!items!ysGehYm1VkMWrI22' @ 0 : 0; will stop at (end)

View File

@ -1,7 +1,7 @@
2025/03/01-19:35:57.112622 7fe59f7fe6c0 Recovering log #134
2025/03/01-19:35:57.122660 7fe59f7fe6c0 Delete type=3 #132
2025/03/01-19:35:57.122712 7fe59f7fe6c0 Delete type=0 #134
2025/03/01-19:38:46.064405 7fe59d7fa6c0 Level-0 table #139: started
2025/03/01-19:38:46.064430 7fe59d7fa6c0 Level-0 table #139: 0 bytes OK
2025/03/01-19:38:46.070616 7fe59d7fa6c0 Delete type=0 #137
2025/03/01-19:38:46.083218 7fe59d7fa6c0 Manual compaction at level-0 from '!items!1icaxIywAwDXQcMz' @ 72057594037927935 : 1 .. '!items!ysGehYm1VkMWrI22' @ 0 : 0; will stop at (end)
2025/04/05-23:14:48.995168 7f9c6a7fc6c0 Recovering log #187
2025/04/05-23:14:49.005707 7f9c6a7fc6c0 Delete type=0 #187
2025/04/05-23:14:49.005879 7f9c6a7fc6c0 Delete type=3 #186
2025/04/05-23:15:15.800840 7f9c69bff6c0 Level-0 table #191: started
2025/04/05-23:15:15.800872 7f9c69bff6c0 Level-0 table #191: 0 bytes OK
2025/04/05-23:15:15.806702 7f9c69bff6c0 Delete type=0 #189
2025/04/05-23:15:15.826756 7f9c69bff6c0 Manual compaction at level-0 from '!items!1icaxIywAwDXQcMz' @ 72057594037927935 : 1 .. '!items!ysGehYm1VkMWrI22' @ 0 : 0; will stop at (end)

Binary file not shown.

View File

View File

View File

Some files were not shown because too many files have changed in this diff Show More