Compare commits
18 Commits
Author | SHA1 | Date | |
---|---|---|---|
e9c0fbd818 | |||
aaabb7ed75 | |||
fee7a3a9fb | |||
31517030f6 | |||
c5cbf2a6d1 | |||
a30f813d94 | |||
090f6be601 | |||
60db1f65e4 | |||
d532765d2b | |||
b6016742ae | |||
761f95d6d9 | |||
c24f4fe502 | |||
caedcf5e21 | |||
fe0814e498 | |||
544f9f467a | |||
ce5771f930 | |||
93b8325bb9 | |||
48be65e7fd |
@ -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
|
||||
|
11
README.md
@ -1,10 +1,18 @@
|
||||
# Système Foundry pour Te Deum pour un massacre (French RPG, Open Sesam Games, Official)
|
||||
# Système Foundry pour Te Deum pour un Massacre (French RPG, Open Sesame Games, Official)
|
||||
|
||||
This is a base game system with functionnal character sheets for the game Te Deum pour un massacre.
|
||||
|
||||
# Contributions
|
||||
|
||||
- Original code realised by Uberwald (https://www.uberwald.me/)
|
||||
|
||||
Snapshot of the system :
|
||||
|
||||

|
||||
|
||||
|
||||
# Copyright mentions
|
||||
|
||||
Copyright 2025 Open Sesame Games
|
||||
All rights reserved
|
||||
|
||||
@ -13,5 +21,6 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
|
||||
Te Deum pour un massacre is a game written by Jean-Philippe Jaworski. The author retains his moral rights regarding this work in both print and digital formats.
|
||||
|
||||
# Requests or Problems
|
||||
|
||||
Please report any requests or problems you have at contact@open-sesame.games
|
||||
|
||||
|
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 171 KiB |
After Width: | Height: | Size: 49 KiB |
After Width: | Height: | Size: 46 KiB |
After Width: | Height: | Size: 91 KiB |
After Width: | Height: | Size: 88 KiB |
After Width: | Height: | Size: 107 KiB |
After Width: | Height: | Size: 23 KiB |
After Width: | Height: | Size: 88 KiB |
After Width: | Height: | Size: 29 KiB |
After Width: | Height: | Size: 29 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 29 KiB |
25
changelog.md
@ -0,0 +1,25 @@
|
||||
# 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
|
||||
|
||||
# 12.0.20
|
||||
|
||||
- Corrections sur la création de perso
|
||||
|
||||
# 12.0.19
|
||||
|
||||
- Initial release !
|
BIN
images/icons/appliquer-degats.webp
Normal file
After Width: | Height: | Size: 31 KiB |
@ -56,7 +56,9 @@ export class TeDeumActorPJSheet extends ActorSheet {
|
||||
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 }),
|
||||
options: this.options,
|
||||
owner: this.document.isOwner,
|
||||
editScore: this.options.editScore,
|
||||
|
@ -34,7 +34,7 @@ export class TeDeumActor extends Actor {
|
||||
return actor;
|
||||
}
|
||||
|
||||
if (data.type == 'pj') {
|
||||
if (data.type == 'pj' || data.type == 'pnj') {
|
||||
const skills = await TeDeumUtility.loadCompendium("fvtt-te-deum.competences")
|
||||
data.items = data.items || []
|
||||
for (let skill of skills) {
|
||||
@ -64,6 +64,14 @@ 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) {
|
||||
return competence.system.score
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
_onUpdate(changed, options, userId) {
|
||||
@ -352,11 +360,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)
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@ -622,7 +632,8 @@ export class TeDeumActor extends Actor {
|
||||
|
||||
// Setup competence + carac
|
||||
if (!compName) {
|
||||
compName = weapon.system.competence
|
||||
let compIdx = weapon.system.competence
|
||||
compName = game.system.tedeum.config.armeCompetences[compIdx]?.label
|
||||
}
|
||||
let competence = this.items.find(item => item.type == "competence" && item.name.toLowerCase() == compName.toLowerCase())
|
||||
if (competence) {
|
||||
|
@ -11,6 +11,7 @@ export class TeDeumCharacterCreator {
|
||||
this.religion = undefined
|
||||
this.caracBonus = {}
|
||||
this.competenceBonus = {}
|
||||
this.suiviReponses = []
|
||||
this.competences = TeDeumUtility.getCompetencesForDropDown()
|
||||
|
||||
for (let k in game.system.tedeum.config.caracteristiques) {
|
||||
@ -168,6 +169,8 @@ export class TeDeumCharacterCreator {
|
||||
let selectedResponse = question.reponses[context.responseKey]
|
||||
let compName = context.competences[context.responseKey] || selectedResponse.compName
|
||||
this.increaseCompetence(compName)
|
||||
|
||||
this.suiviReponses.push({ etape: stage.name, question: question.question, reponse: selectedResponse.reponse, compName: compName })
|
||||
}
|
||||
}
|
||||
|
||||
@ -371,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
|
||||
@ -400,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
|
||||
@ -434,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
|
||||
|
||||
@ -485,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
|
||||
}
|
||||
@ -573,8 +580,22 @@ export class TeDeumCharacterCreator {
|
||||
newArgent /= this.ageViril.system.cagnotteDivider
|
||||
await actor.update({ [`system.fortune.${this.origineSociale.cagnotteUnit}`]: newArgent})
|
||||
|
||||
let histoire = ""
|
||||
for (let reponse of this.suiviReponses) {
|
||||
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" },
|
||||
"sensibilite": { score: actor.getCompetenceScore("Perception"), label: "Sensibilité" },
|
||||
"entregent": { score: actor.getCompetenceScore("Charme"), label: "Entregent" },
|
||||
"puissance": { score: actor.getCompetenceScore("Effort"), label: "Puissance" },
|
||||
"complexion": { score: actor.getCompetenceScore("Endurance"), label: "Complexion" },
|
||||
"adresse": { score: actor.getCompetenceScore("Initiative"), label: "Adresse" },
|
||||
}
|
||||
|
||||
const content = await renderTemplate("systems/fvtt-te-deum/templates/dialogs/character-creator-finished.hbs", context)
|
||||
const label = "Terminer"
|
||||
const choiceResult = await foundry.applications.api.DialogV2.wait({
|
||||
|
@ -5,7 +5,7 @@ export class TeDeumCombat extends Combat {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async rollInitiative(ids, formula = undefined, messageOptions = {} ) {
|
||||
console.log("Roll INIT !")
|
||||
//console.log("Roll INIT !")
|
||||
ids = typeof ids === "string" ? [ids] : ids;
|
||||
for (let cId of ids) {
|
||||
const c = this.combatants.get(cId);
|
||||
|
@ -117,6 +117,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" },
|
||||
@ -153,10 +158,10 @@ export const TEDEUM_CONFIG = {
|
||||
livre: { 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 },
|
||||
|
@ -160,6 +160,7 @@ export class TeDeumUtility {
|
||||
formData.hasMultiplier = etape.hasMultiplier;
|
||||
formData.hasDebouches = etape.hasDebouches;
|
||||
formData.canCompetencesOpt = etape.canCompetencesOpt;
|
||||
formData.hasGenre = etape.hasGenre;
|
||||
}
|
||||
|
||||
/*-------------------------------------------- */
|
||||
@ -200,11 +201,13 @@ export class TeDeumUtility {
|
||||
ui.notifications.info("Opposition démarrée avec " + rollData.alias);
|
||||
} else {
|
||||
// Perform the opposition
|
||||
let rWinner = this.currentOpposition
|
||||
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 +218,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 +251,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 +437,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 +495,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 +514,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 +544,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)
|
||||
@ -535,15 +559,6 @@ export class TeDeumUtility {
|
||||
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)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
@ -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({
|
||||
|
@ -41,6 +41,7 @@ export class TeDeumPJSchema extends foundry.abstract.TypeDataModel {
|
||||
|
||||
schema.description = 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});
|
||||
|
||||
|
BIN
packs/aides/000072.ldb
Normal file
@ -1 +1 @@
|
||||
MANIFEST-000006
|
||||
MANIFEST-000081
|
||||
|
@ -1,8 +1,7 @@
|
||||
2025/02/13-22:35:49.582184 7fcc32ffd6c0 Recovering log #4
|
||||
2025/02/13-22:35:49.633338 7fcc32ffd6c0 Delete type=3 #2
|
||||
2025/02/13-22:35:49.633392 7fcc32ffd6c0 Delete type=0 #4
|
||||
2025/02/13-22:42:05.161388 7fcc327fc6c0 Level-0 table #9: started
|
||||
2025/02/13-22:42:05.161406 7fcc327fc6c0 Level-0 table #9: 0 bytes OK
|
||||
2025/02/13-22:42:05.168017 7fcc327fc6c0 Delete type=0 #7
|
||||
2025/02/13-22:42:05.168186 7fcc327fc6c0 Manual compaction at level-0 from '!journal!uNwJgi4kXBCiZmAH' @ 72057594037927935 : 1 .. '!journal.pages!uNwJgi4kXBCiZmAH.onhNU0mXhOpdNZJF' @ 0 : 0; will stop at (end)
|
||||
2025/02/13-22:42:05.168210 7fcc327fc6c0 Manual compaction at level-1 from '!journal!uNwJgi4kXBCiZmAH' @ 72057594037927935 : 1 .. '!journal.pages!uNwJgi4kXBCiZmAH.onhNU0mXhOpdNZJF' @ 0 : 0; will stop at (end)
|
||||
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)
|
||||
|
@ -1,5 +1,7 @@
|
||||
2025/02/05-20:07:00.726830 7ffae77fe6c0 Delete type=3 #1
|
||||
2025/02/05-20:50:19.888688 7ffae6bff6c0 Level-0 table #5: started
|
||||
2025/02/05-20:50:19.892050 7ffae6bff6c0 Level-0 table #5: 3651 bytes OK
|
||||
2025/02/05-20:50:19.898356 7ffae6bff6c0 Delete type=0 #3
|
||||
2025/02/05-20:50:19.924903 7ffae6bff6c0 Manual compaction at level-0 from '!journal!uNwJgi4kXBCiZmAH' @ 72057594037927935 : 1 .. '!journal.pages!uNwJgi4kXBCiZmAH.onhNU0mXhOpdNZJF' @ 0 : 0; will stop at (end)
|
||||
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)
|
||||
|
BIN
packs/aides/MANIFEST-000081
Normal file
BIN
packs/aides/lost/MANIFEST-000047
Normal file
BIN
packs/aides/lost/MANIFEST-000054
Normal file
BIN
packs/aides/lost/MANIFEST-000061
Normal file
@ -1 +1 @@
|
||||
MANIFEST-000109
|
||||
MANIFEST-000183
|
||||
|
@ -1,7 +1,7 @@
|
||||
2025/02/13-22:35:49.132071 7fcc337fe6c0 Recovering log #107
|
||||
2025/02/13-22:35:49.187037 7fcc337fe6c0 Delete type=3 #105
|
||||
2025/02/13-22:35:49.187149 7fcc337fe6c0 Delete type=0 #107
|
||||
2025/02/13-22:42:05.116041 7fcc327fc6c0 Level-0 table #112: started
|
||||
2025/02/13-22:42:05.116121 7fcc327fc6c0 Level-0 table #112: 0 bytes OK
|
||||
2025/02/13-22:42:05.122845 7fcc327fc6c0 Delete type=0 #110
|
||||
2025/02/13-22:42:05.142173 7fcc327fc6c0 Manual compaction at level-0 from '!folders!InCQeTRdT5jXMX82' @ 72057594037927935 : 1 .. '!items!wxIHkrq98eQ3cOvp' @ 0 : 0; will stop at (end)
|
||||
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)
|
||||
|
@ -1,7 +1,7 @@
|
||||
2025/02/05-20:07:00.600917 7ffae7fff6c0 Recovering log #103
|
||||
2025/02/05-20:07:00.611719 7ffae7fff6c0 Delete type=3 #101
|
||||
2025/02/05-20:07:00.611830 7ffae7fff6c0 Delete type=0 #103
|
||||
2025/02/05-20:50:19.838224 7ffae6bff6c0 Level-0 table #108: started
|
||||
2025/02/05-20:50:19.838303 7ffae6bff6c0 Level-0 table #108: 0 bytes OK
|
||||
2025/02/05-20:50:19.844606 7ffae6bff6c0 Delete type=0 #106
|
||||
2025/02/05-20:50:19.863174 7ffae6bff6c0 Manual compaction at level-0 from '!folders!InCQeTRdT5jXMX82' @ 72057594037927935 : 1 .. '!items!wxIHkrq98eQ3cOvp' @ 0 : 0; will stop at (end)
|
||||
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)
|
||||
|
BIN
packs/armes/MANIFEST-000183
Normal file
0
packs/armes/lost/000165.log
Normal file
BIN
packs/armes/lost/MANIFEST-000149
Normal file
BIN
packs/armes/lost/MANIFEST-000156
Normal file
BIN
packs/armes/lost/MANIFEST-000163
Normal file
0
packs/armures/000185.log
Normal file
@ -1 +1 @@
|
||||
MANIFEST-000109
|
||||
MANIFEST-000183
|
||||
|
@ -1,7 +1,7 @@
|
||||
2025/02/13-22:35:49.200499 7fcc32ffd6c0 Recovering log #107
|
||||
2025/02/13-22:35:49.256910 7fcc32ffd6c0 Delete type=3 #105
|
||||
2025/02/13-22:35:49.256980 7fcc32ffd6c0 Delete type=0 #107
|
||||
2025/02/13-22:42:05.134786 7fcc327fc6c0 Level-0 table #112: started
|
||||
2025/02/13-22:42:05.134811 7fcc327fc6c0 Level-0 table #112: 0 bytes OK
|
||||
2025/02/13-22:42:05.142066 7fcc327fc6c0 Delete type=0 #110
|
||||
2025/02/13-22:42:05.142204 7fcc327fc6c0 Manual compaction at level-0 from '!folders!2wTJBj3dicRKzNOE' @ 72057594037927935 : 1 .. '!items!ufvhWG5V8pX0qrtR' @ 0 : 0; will stop at (end)
|
||||
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)
|
||||
|
@ -1,7 +1,7 @@
|
||||
2025/02/05-20:07:00.616342 7ffaecbf96c0 Recovering log #103
|
||||
2025/02/05-20:07:00.627971 7ffaecbf96c0 Delete type=3 #101
|
||||
2025/02/05-20:07:00.628058 7ffaecbf96c0 Delete type=0 #103
|
||||
2025/02/05-20:50:19.844802 7ffae6bff6c0 Level-0 table #108: started
|
||||
2025/02/05-20:50:19.844850 7ffae6bff6c0 Level-0 table #108: 0 bytes OK
|
||||
2025/02/05-20:50:19.851086 7ffae6bff6c0 Delete type=0 #106
|
||||
2025/02/05-20:50:19.863187 7ffae6bff6c0 Manual compaction at level-0 from '!folders!2wTJBj3dicRKzNOE' @ 72057594037927935 : 1 .. '!items!ufvhWG5V8pX0qrtR' @ 0 : 0; will stop at (end)
|
||||
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)
|
||||
|
BIN
packs/armures/MANIFEST-000183
Normal file
0
packs/armures/lost/000147.log
Normal file
0
packs/armures/lost/000151.log
Normal file
0
packs/armures/lost/000158.log
Normal file
0
packs/armures/lost/000165.log
Normal file
BIN
packs/armures/lost/MANIFEST-000149
Normal file
BIN
packs/armures/lost/MANIFEST-000156
Normal file
BIN
packs/armures/lost/MANIFEST-000163
Normal file
0
packs/competences/000182.log
Normal file
@ -1 +1 @@
|
||||
MANIFEST-000106
|
||||
MANIFEST-000180
|
||||
|
@ -1,7 +1,7 @@
|
||||
2025/02/13-22:35:49.055633 7fcc38ffa6c0 Recovering log #104
|
||||
2025/02/13-22:35:49.118535 7fcc38ffa6c0 Delete type=3 #102
|
||||
2025/02/13-22:35:49.118612 7fcc38ffa6c0 Delete type=0 #104
|
||||
2025/02/13-22:42:05.128785 7fcc327fc6c0 Level-0 table #109: started
|
||||
2025/02/13-22:42:05.128812 7fcc327fc6c0 Level-0 table #109: 0 bytes OK
|
||||
2025/02/13-22:42:05.134704 7fcc327fc6c0 Delete type=0 #107
|
||||
2025/02/13-22:42:05.142195 7fcc327fc6c0 Manual compaction at level-0 from '!folders!4OPhigzcPv46qbWW' @ 72057594037927935 : 1 .. '!items!yx4k7lQHGcom99mk' @ 0 : 0; will stop at (end)
|
||||
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)
|
||||
|
@ -1,7 +1,7 @@
|
||||
2025/02/05-20:07:00.587007 7ffaed3fa6c0 Recovering log #100
|
||||
2025/02/05-20:07:00.596905 7ffaed3fa6c0 Delete type=3 #98
|
||||
2025/02/05-20:07:00.596964 7ffaed3fa6c0 Delete type=0 #100
|
||||
2025/02/05-20:50:19.857097 7ffae6bff6c0 Level-0 table #105: started
|
||||
2025/02/05-20:50:19.857120 7ffae6bff6c0 Level-0 table #105: 0 bytes OK
|
||||
2025/02/05-20:50:19.863064 7ffae6bff6c0 Delete type=0 #103
|
||||
2025/02/05-20:50:19.863205 7ffae6bff6c0 Manual compaction at level-0 from '!folders!4OPhigzcPv46qbWW' @ 72057594037927935 : 1 .. '!items!yx4k7lQHGcom99mk' @ 0 : 0; will stop at (end)
|
||||
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)
|
||||
|
BIN
packs/competences/MANIFEST-000180
Normal file
0
packs/competences/lost/000144.log
Normal file
0
packs/competences/lost/000148.log
Normal file
0
packs/competences/lost/000155.log
Normal file
0
packs/competences/lost/000162.log
Normal file
BIN
packs/competences/lost/MANIFEST-000146
Normal file
BIN
packs/competences/lost/MANIFEST-000153
Normal file
BIN
packs/competences/lost/MANIFEST-000160
Normal file
0
packs/education/000193.log
Normal file
@ -1 +1 @@
|
||||
MANIFEST-000114
|
||||
MANIFEST-000191
|
||||
|
@ -1,7 +1,7 @@
|
||||
2025/02/13-22:35:49.263823 7fcc33fff6c0 Recovering log #112
|
||||
2025/02/13-22:35:49.318056 7fcc33fff6c0 Delete type=3 #110
|
||||
2025/02/13-22:35:49.318131 7fcc33fff6c0 Delete type=0 #112
|
||||
2025/02/13-22:42:05.122931 7fcc327fc6c0 Level-0 table #117: started
|
||||
2025/02/13-22:42:05.122950 7fcc327fc6c0 Level-0 table #117: 0 bytes OK
|
||||
2025/02/13-22:42:05.128697 7fcc327fc6c0 Delete type=0 #115
|
||||
2025/02/13-22:42:05.142187 7fcc327fc6c0 Manual compaction at level-0 from '!folders!9PQi3Lv54rpcxavo' @ 72057594037927935 : 1 .. '!items!zGlRtP7zSnkjuuue' @ 0 : 0; will stop at (end)
|
||||
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)
|
||||
|
@ -1,7 +1,7 @@
|
||||
2025/02/05-20:07:00.631061 7ffae77fe6c0 Recovering log #108
|
||||
2025/02/05-20:07:00.640688 7ffae77fe6c0 Delete type=3 #106
|
||||
2025/02/05-20:07:00.640754 7ffae77fe6c0 Delete type=0 #108
|
||||
2025/02/05-20:50:19.869892 7ffae6bff6c0 Level-0 table #113: started
|
||||
2025/02/05-20:50:19.869921 7ffae6bff6c0 Level-0 table #113: 0 bytes OK
|
||||
2025/02/05-20:50:19.876430 7ffae6bff6c0 Delete type=0 #111
|
||||
2025/02/05-20:50:19.888577 7ffae6bff6c0 Manual compaction at level-0 from '!folders!9PQi3Lv54rpcxavo' @ 72057594037927935 : 1 .. '!items!zGlRtP7zSnkjuuue' @ 0 : 0; will stop at (end)
|
||||
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)
|
||||
|
BIN
packs/education/MANIFEST-000191
Normal file
0
packs/education/lost/000154.log
Normal file
0
packs/education/lost/000158.log
Normal file
0
packs/education/lost/000165.log
Normal file
0
packs/education/lost/000172.log
Normal file
BIN
packs/education/lost/MANIFEST-000156
Normal file
BIN
packs/education/lost/MANIFEST-000163
Normal file
BIN
packs/education/lost/MANIFEST-000170
Normal file
0
packs/graces/000184.log
Normal file
@ -1 +1 @@
|
||||
MANIFEST-000108
|
||||
MANIFEST-000182
|
||||
|
@ -1,7 +1,7 @@
|
||||
2025/02/13-22:35:49.333807 7fcc38ffa6c0 Recovering log #106
|
||||
2025/02/13-22:35:49.390442 7fcc38ffa6c0 Delete type=3 #104
|
||||
2025/02/13-22:35:49.390520 7fcc38ffa6c0 Delete type=0 #106
|
||||
2025/02/13-22:42:05.142328 7fcc327fc6c0 Level-0 table #111: started
|
||||
2025/02/13-22:42:05.142350 7fcc327fc6c0 Level-0 table #111: 0 bytes OK
|
||||
2025/02/13-22:42:05.149259 7fcc327fc6c0 Delete type=0 #109
|
||||
2025/02/13-22:42:05.168150 7fcc327fc6c0 Manual compaction at level-0 from '!items!17mjvwS8R3B6LloG' @ 72057594037927935 : 1 .. '!items!zUYIVOuFpRur9aAR' @ 0 : 0; will stop at (end)
|
||||
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)
|
||||
|