Compare commits
5 Commits
Author | SHA1 | Date | |
---|---|---|---|
5d13500838 | |||
d21515e1e3 | |||
78ef009465 | |||
e794611bf3 | |||
529a62045e |
@@ -77,6 +77,31 @@ export class TeDeumActor extends Actor {
|
|||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
getMeilleureCompetenceMainGauche(comp) {
|
||||||
|
let compScore = this.getCompetenceScore(comp.name)
|
||||||
|
let mainGaucheScore = this.getCompetenceScore("main gauche")
|
||||||
|
if (mainGaucheScore < compScore) {
|
||||||
|
ui.notifications.info(`${this.name} : Utilisation de la compétence Main Gauche au lieu de ${comp.name}`)
|
||||||
|
let mainGaucheComp = this.items.find(item => item.type == "competence" && item.name.toLowerCase() == "main gauche")
|
||||||
|
if (!mainGaucheComp) {
|
||||||
|
// Create a fake competence object
|
||||||
|
mainGaucheComp = foundry.utils.duplicate(comp)
|
||||||
|
mainGaucheComp.name = "Main Gauche"
|
||||||
|
mainGaucheComp.system.isBase = false
|
||||||
|
mainGaucheComp.system.score = 0
|
||||||
|
mainGaucheComp.system.caracteristique = "adresse"
|
||||||
|
mainGaucheComp.system.description = "Compétence Main Gauche (automatique)"
|
||||||
|
mainGaucheComp.system.isMainGauche = true
|
||||||
|
return mainGaucheComp
|
||||||
|
} else {
|
||||||
|
return mainGaucheComp
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return comp
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
_onUpdate(changed, options, userId) {
|
_onUpdate(changed, options, userId) {
|
||||||
let updates = []
|
let updates = []
|
||||||
@@ -116,12 +141,6 @@ export class TeDeumActor extends Actor {
|
|||||||
updates.push({ _id: initiative.id, "system.score": Number(newScore) })
|
updates.push({ _id: initiative.id, "system.score": Number(newScore) })
|
||||||
}
|
}
|
||||||
|
|
||||||
let actionsTour = this.items.find(item => item.type == "competence" && item.name.toLowerCase() == "actions/tour")
|
|
||||||
newScore = this.getCommonBaseValue(this.system.caracteristiques.adresse.value)
|
|
||||||
if (actionsTour && actionsTour?.system.score != newScore) {
|
|
||||||
updates.push({ _id: actionsTour.id, "system.score": Number(newScore) })
|
|
||||||
}
|
|
||||||
|
|
||||||
let effort = this.items.find(item => item.type == "competence" && item.name.toLowerCase() == "effort")
|
let effort = this.items.find(item => item.type == "competence" && item.name.toLowerCase() == "effort")
|
||||||
newScore = this.getCommonBaseValue(this.system.caracteristiques.puissance.value)
|
newScore = this.getCommonBaseValue(this.system.caracteristiques.puissance.value)
|
||||||
if (effort && effort?.system.score != newScore) {
|
if (effort && effort?.system.score != newScore) {
|
||||||
@@ -151,7 +170,7 @@ export class TeDeumActor extends Actor {
|
|||||||
getCommonBaseValue(value) {
|
getCommonBaseValue(value) {
|
||||||
return game.system.tedeum.config.COMMON_VALUE[value]?.value || 0
|
return game.system.tedeum.config.COMMON_VALUE[value]?.value || 0
|
||||||
}
|
}
|
||||||
getInitiative() {
|
getInitiativeValue() {
|
||||||
return game.system.tedeum.config.COMMON_VALUE[this.system.caracteristiques.adresse.value]?.value || 0
|
return game.system.tedeum.config.COMMON_VALUE[this.system.caracteristiques.adresse.value]?.value || 0
|
||||||
}
|
}
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
@@ -616,21 +635,16 @@ export class TeDeumActor extends Actor {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
getInitiativeScore() {
|
getInitiativeScore() {
|
||||||
let initiative = this.items.find(it => it.type == "competence" && it.name.toLowerCase() == "initiative")
|
let initiative = this.getInitiativeValue()
|
||||||
initiative = foundry.utils.duplicate(initiative)
|
|
||||||
// Vérifie les armes avec bonus d'initiative
|
// Vérifie les armes avec bonus d'initiative
|
||||||
let armes = this.getArmes()
|
let armes = this.getArmes()
|
||||||
for (let arme of armes) {
|
for (let arme of armes) {
|
||||||
if (arme.system.equipe && arme.system.bonusInitiative != 0) {
|
if (arme.system.equipe && Number(arme.system.initiativeBonus) && Number(arme.system.initiativeBonus) != 0) {
|
||||||
ui.notifications.info("L'arme " + arme.name + " vous confère un bonus d'initiative de " + arme.system.bonusInitiative)
|
ui.notifications.info("L'arme " + arme.name + " vous confère un bonus d'initiative de " + arme.system.initiativeBonus)
|
||||||
initiative.system.score += 1
|
initiative += arme.system.initiativeBonus
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (initiative) {
|
return initiative
|
||||||
return initiative.system.score
|
|
||||||
}
|
|
||||||
ui.notifications.warn("Impossible de trouver la compétence Initiative pour l'acteur " + this.name)
|
|
||||||
return -1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
|
@@ -2,20 +2,39 @@ import { TeDeumUtility } from "../common/tedeum-utility.js";
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
export class TeDeumCombat extends Combat {
|
export class TeDeumCombat extends Combat {
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async rollInitiative(ids, formula = undefined, messageOptions = {} ) {
|
async rollInitiative(ids, formula = undefined, messageOptions = {}) {
|
||||||
//console.log("Roll INIT !")
|
//console.log("Roll INIT !")
|
||||||
ids = typeof ids === "string" ? [ids] : ids;
|
ids = typeof ids === "string" ? [ids] : ids;
|
||||||
for (let cId of ids) {
|
for (let cId of ids) {
|
||||||
const c = this.combatants.get(cId);
|
const c = this.combatants.get(cId);
|
||||||
let initBonus = c.actor ? c.actor.getInitiativeScore( this.id, cId ) : -1;
|
let initBonus = c.actor ? c.actor.getInitiativeScore(this.id, cId) : -1;
|
||||||
await this.updateEmbeddedDocuments("Combatant", [ { _id: cId, initiative: initBonus } ]);
|
await this.updateEmbeddedDocuments("Combatant", [{ _id: cId, initiative: initBonus }]);
|
||||||
}
|
}
|
||||||
|
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
async modifyAction(combatantId, delta, isMainGauche = false) {
|
||||||
|
let combatant = this.combatants.get(combatantId)
|
||||||
|
if (!combatant) return;
|
||||||
|
let ca = combatant.getFlag("world", "available-actions")
|
||||||
|
if (!ca) {
|
||||||
|
ca = { nbActions: 1, nbActionsMainGauche: 0 }
|
||||||
|
}
|
||||||
|
if (isMainGauche) {
|
||||||
|
ca.nbActionsMainGauche += delta
|
||||||
|
} else {
|
||||||
|
ca.nbActions += delta
|
||||||
|
}
|
||||||
|
if (ca.nbActionsMainGauche < 0) ca.nbActionsMainGauche = 0
|
||||||
|
if (ca.nbActions < 0) ca.nbActions = 0
|
||||||
|
await combatant.setFlag("world", "available-actions", ca)
|
||||||
|
await combatant.update({ name: `${combatant.token.name} (${ca.nbActions} / ${ca.nbActionsMainGauche})` })
|
||||||
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static async checkTurnPosition() {
|
static async checkTurnPosition() {
|
||||||
while (game.combat.turn > 0) {
|
while (game.combat.turn > 0) {
|
||||||
|
@@ -59,11 +59,11 @@ export const TEDEUM_CONFIG = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
ARME_PORTEES: {
|
ARME_PORTEES: {
|
||||||
"brulepourpoint": { label: "Brûle-pourpoint", difficulty: "facile", id: "brulepourpoint" },
|
"brulepourpoint": { label: "Brûle-pourpoint (5)", difficulty: "facile", id: "brulepourpoint" },
|
||||||
"courte": { label: "Courte", difficulty: "pardefaut", id: "courte" },
|
"courte": { label: "Courte (7)", difficulty: "pardefaut", id: "courte" },
|
||||||
"moyenne": { label: "Moyenne", difficulty: "difficile", id: "moyenne" },
|
"moyenne": { label: "Moyenne (11)", difficulty: "difficile", id: "moyenne" },
|
||||||
"longue": { label: "Longue", difficulty: "perilleux", id: "longue" },
|
"longue": { label: "Longue (13)", difficulty: "perilleux", id: "longue" },
|
||||||
"extreme": { label: "Extrême", difficulty: "desespere", id: "extreme" },
|
"extreme": { label: "Extrême (15)", difficulty: "desespere", id: "extreme" },
|
||||||
},
|
},
|
||||||
|
|
||||||
genre: {
|
genre: {
|
||||||
@@ -168,13 +168,13 @@ export const TEDEUM_CONFIG = {
|
|||||||
},
|
},
|
||||||
difficulte: {
|
difficulte: {
|
||||||
aucune: { label: "Aucune", key: "aucune", value: 0 },
|
aucune: { label: "Aucune", key: "aucune", value: 0 },
|
||||||
routine: { label: "Routine", key: "routine", value: 3 },
|
routine: { label: "Routine (3)", key: "routine", value: 3 },
|
||||||
facile: { label: "Facile", key: "facile", value: 5 },
|
facile: { label: "Facile (5)", key: "facile", value: 5 },
|
||||||
pardefaut: { label: "Par Défaut", key: "pardefaut", value: 7 },
|
pardefaut: { label: "Par Défaut (7)", key: "pardefaut", value: 7 },
|
||||||
malaise: { label: "Malaisé", key: "malaise", value: 9 },
|
malaise: { label: "Malaisé (9)", key: "malaise", value: 9 },
|
||||||
difficile: { label: "Difficile", key: "difficile", value: 11 },
|
difficile: { label: "Difficile (11)", key: "difficile", value: 11 },
|
||||||
perilleux: { label: "Perilleux", key: "perilleux", value: 13 },
|
perilleux: { label: "Perilleux (13)", key: "perilleux", value: 13 },
|
||||||
desespere: { label: "Désespéré", key: "desespere", value: 15 }
|
desespere: { label: "Désespéré (15)", key: "desespere", value: 15 }
|
||||||
},
|
},
|
||||||
monnaie: {
|
monnaie: {
|
||||||
denier: { label: "Deniers", id: "denier", value: 1 },
|
denier: { label: "Deniers", id: "denier", value: 1 },
|
||||||
|
@@ -12,7 +12,9 @@ export class TeDeumUtility {
|
|||||||
CONFIG.JournalEntry.compendiumBanner = "systems/fvtt-te-deum/images/ui/compendium_banner.webp"
|
CONFIG.JournalEntry.compendiumBanner = "systems/fvtt-te-deum/images/ui/compendium_banner.webp"
|
||||||
CONFIG.Macro.compendiumBanner = "systems/fvtt-te-deum/images/ui/compendium_banner.webp"
|
CONFIG.Macro.compendiumBanner = "systems/fvtt-te-deum/images/ui/compendium_banner.webp"
|
||||||
CONFIG.Adventure.compendiumBanner = "systems/fvtt-te-deum/images/ui/compendium_banner.webp"
|
CONFIG.Adventure.compendiumBanner = "systems/fvtt-te-deum/images/ui/compendium_banner.webp"
|
||||||
|
}
|
||||||
|
|
||||||
|
static installHooks() {
|
||||||
Hooks.on('renderChatLog', (log, html, data) => TeDeumUtility.chatListeners(html));
|
Hooks.on('renderChatLog', (log, html, data) => TeDeumUtility.chatListeners(html));
|
||||||
|
|
||||||
Hooks.on("renderActorDirectory", (app, html, data) => {
|
Hooks.on("renderActorDirectory", (app, html, data) => {
|
||||||
@@ -28,7 +30,45 @@ export class TeDeumUtility {
|
|||||||
$(html).find('.header-actions').after(button)
|
$(html).find('.header-actions').after(button)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
//Hooks.on("getChatLogEntryContext", (html, options) => TeDeumUtility.chatMenuManager(html, options));
|
|
||||||
|
Hooks.on("combatStart", async (combat, updateData, options) => {
|
||||||
|
this.resetCombatActions(combat)
|
||||||
|
});
|
||||||
|
|
||||||
|
Hooks.on("combatRound", (combat, updateData, updateOptions) => {
|
||||||
|
// List all actors related to combatant
|
||||||
|
if (game.user.isGM) {
|
||||||
|
this.resetCombatActions(combat)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
Hooks.on("getCombatTrackerContextOptions", (html, options) => {
|
||||||
|
console.log("Get Combat Tracker Context", html, options)
|
||||||
|
this.pushCombatOptions(html, options);
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
static pushCombatOptions(html, options) {
|
||||||
|
options.push({ name: "Actions +1", condition: true, icon: '<i class="fas fa-plus"></i>', callback: target => { game.combat.modifyAction($(target).data('combatant-id'), 1); } })
|
||||||
|
options.push({ name: "Actions -1", condition: true, icon: '<i class="fas fa-minus"></i>', callback: target => { game.combat.modifyAction($(target).data('combatant-id'), -1); } })
|
||||||
|
options.push({ name: "Actions MG +1", condition: true, icon: '<i class="fas fa-plus"></i>', callback: target => { game.combat.modifyAction($(target).data('combatant-id'), 1, true); } })
|
||||||
|
options.push({ name: "Actions MG -1", condition: true, icon: '<i class="fas fa-minus"></i>', callback: target => { game.combat.modifyAction($(target).data('combatant-id'), -1, true); } })
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
static async resetCombatActions(combat) {
|
||||||
|
for (let c of combat.combatants) {
|
||||||
|
let actor = game.actors.get(c.actorId)
|
||||||
|
if (actor) {
|
||||||
|
let nbActions = actor.getNbActions()?.value || 0
|
||||||
|
let isMainGauche = (actor.getCompetenceScore("Main gauche") > 0)
|
||||||
|
let nbActionsMainGauche = isMainGauche ? nbActions : 0
|
||||||
|
await c.setFlag("world", "available-actions", { nbActions, nbActionsMainGauche })
|
||||||
|
await c.update({ name: `${c.token.name} (${nbActions} / ${nbActionsMainGauche})` })
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
@@ -201,7 +241,7 @@ export class TeDeumUtility {
|
|||||||
return actor
|
return actor
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */ /* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static async manageOpposition(rollData) {
|
static async manageOpposition(rollData) {
|
||||||
if (!this.currentOpposition) {
|
if (!this.currentOpposition) {
|
||||||
// Store rollData as current GM opposition
|
// Store rollData as current GM opposition
|
||||||
@@ -210,12 +250,15 @@ export class TeDeumUtility {
|
|||||||
} else {
|
} else {
|
||||||
// Perform the opposition
|
// Perform the opposition
|
||||||
let isAttackWinner = true
|
let isAttackWinner = true
|
||||||
let rWinner = this.currentOpposition
|
let rWinner, rLooser
|
||||||
let rLooser = rollData
|
if (this.currentOpposition.total <= rollData.total) {
|
||||||
if (rWinner.total <= rLooser.total) {
|
rWinner = foundry.utils.duplicate(rollData)
|
||||||
rWinner = rollData
|
rLooser = foundry.utils.duplicate(this.currentOpposition)
|
||||||
rLooser = this.currentOpposition
|
|
||||||
isAttackWinner = false
|
isAttackWinner = false
|
||||||
|
} else {
|
||||||
|
rWinner = foundry.utils.duplicate(this.currentOpposition)
|
||||||
|
rLooser = foundry.utils.duplicate(rollData)
|
||||||
|
isAttackWinner = true
|
||||||
}
|
}
|
||||||
this.currentOpposition = undefined // Reset opposition
|
this.currentOpposition = undefined // Reset opposition
|
||||||
let oppositionData = {
|
let oppositionData = {
|
||||||
@@ -247,7 +290,6 @@ export class TeDeumUtility {
|
|||||||
await this.appliquerDegats(rWinner)
|
await this.appliquerDegats(rWinner)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
console.log("Opposition result", rollData, isAttackWinner, oppositionData)
|
console.log("Opposition result", rollData, isAttackWinner, oppositionData)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -570,12 +612,40 @@ export class TeDeumUtility {
|
|||||||
await this.getLocalisation(rollData)
|
await this.getLocalisation(rollData)
|
||||||
// Now the degats
|
// Now the degats
|
||||||
let degatsRoll = await new Roll(rollData.arme.system.degats).roll()
|
let degatsRoll = await new Roll(rollData.arme.system.degats).roll()
|
||||||
await this.showDiceSoNice(rollData.degatsRoll, game.settings.get("core", "rollMode"))
|
await this.showDiceSoNice(degatsRoll, game.settings.get("core", "rollMode"))
|
||||||
rollData.degatsRoll = foundry.utils.duplicate(degatsRoll)
|
rollData.degatsRoll = foundry.utils.duplicate(degatsRoll)
|
||||||
rollData.degats = degatsRoll.total
|
rollData.degats = degatsRoll.total
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
static async manageCombatActions(actor, rollData) {
|
||||||
|
let combat = game.combats.active
|
||||||
|
if (!combat) return;
|
||||||
|
let combatant = combat.getCombatantByActor(actor)
|
||||||
|
if (!combatant) return;
|
||||||
|
let ca = combatant.getFlag("world", "available-actions")
|
||||||
|
if (!ca) return;
|
||||||
|
if (rollData.mode == "arme" && rollData.isMainGauche) {
|
||||||
|
if (ca.nbActionsMainGauche > 0) {
|
||||||
|
ca.nbActionsMainGauche -= 1
|
||||||
|
ca.nbActions = Math.max(ca.nbActions - 1, 0)
|
||||||
|
} else {
|
||||||
|
ui.notifications.error(`${actor.name} n'a plus d'actions disponibles à la main gauche pour ce round`)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (ca.nbActions > 0) {
|
||||||
|
ca.nbActions -= 1
|
||||||
|
} else {
|
||||||
|
ui.notifications.error(`${actor.name} n'a plus d'actions disponibles pour ce round`)
|
||||||
|
}
|
||||||
|
await combatant.setFlag("world", "available-actions", ca)
|
||||||
|
await combatant.update({ name: `${combatant.token.name} (${ca.nbActions} / ${ca.nbActionsMainGauche})` })
|
||||||
|
rollData.hasActions = true
|
||||||
|
rollData.remainingActions = ca.nbActions
|
||||||
|
rollData.remainingActionsMainGauche = ca.nbActionsMainGauche
|
||||||
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static async rollTeDeum(rollData) {
|
static async rollTeDeum(rollData) {
|
||||||
|
|
||||||
@@ -585,8 +655,12 @@ export class TeDeumUtility {
|
|||||||
rollData.difficulty = "pardefaut"
|
rollData.difficulty = "pardefaut"
|
||||||
}
|
}
|
||||||
rollData.difficulty = game.system.tedeum.config.difficulte[rollData.difficulty].value
|
rollData.difficulty = game.system.tedeum.config.difficulte[rollData.difficulty].value
|
||||||
|
|
||||||
// Compute the real competence score
|
// Compute the real competence score
|
||||||
if (rollData.competence) {
|
if (rollData.competence) {
|
||||||
|
if (rollData.isMainGauche) {
|
||||||
|
rollData.competence = actor.getMeilleureCompetenceMainGauche(rollData.competence)
|
||||||
|
}
|
||||||
if (rollData.competence.system.isBase) {
|
if (rollData.competence.system.isBase) {
|
||||||
rollData.compScore = actor.system.caracteristiques[rollData.competence.system.caracteristique].value
|
rollData.compScore = actor.system.caracteristiques[rollData.competence.system.caracteristique].value
|
||||||
} else {
|
} else {
|
||||||
@@ -609,6 +683,8 @@ export class TeDeumUtility {
|
|||||||
|
|
||||||
await this.processAttaqueDistance(rollData)
|
await this.processAttaqueDistance(rollData)
|
||||||
|
|
||||||
|
await this.manageCombatActions(actor, rollData)
|
||||||
|
|
||||||
let msg = await this.createChatWithRollMode(rollData.alias, {
|
let msg = await this.createChatWithRollMode(rollData.alias, {
|
||||||
content: await foundry.applications.handlebars.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)
|
||||||
})
|
})
|
||||||
|
@@ -1,17 +1,17 @@
|
|||||||
export class TeDeumArmeSchema extends foundry.abstract.TypeDataModel {
|
export class TeDeumArmeSchema extends foundry.abstract.TypeDataModel {
|
||||||
static defineSchema() {
|
static defineSchema() {
|
||||||
const fields = foundry.data.fields;
|
const fields = foundry.data.fields;
|
||||||
const requiredInteger = { required: true, nullable: false, integer: true };
|
const requiredInteger = { required: true, nullable: false, integer: true };
|
||||||
const requiredDouble = { required: true, nullable: false, integer: false };
|
const requiredDouble = { required: true, nullable: false, integer: false };
|
||||||
const schema = {};
|
const schema = {};
|
||||||
|
|
||||||
schema.typeArme = new fields.StringField({required: true, choices: ["melee", "tir"], initial: "melee"});
|
schema.typeArme = new fields.StringField({ required: true, choices: ["melee", "tir"], initial: "melee" });
|
||||||
schema.allonge = new fields.StringField({required: true, choices: ["courte", "moyenne", "longue", "treslongue"], initial: "courte"});
|
schema.allonge = new fields.StringField({ required: true, choices: ["courte", "moyenne", "longue", "treslongue"], initial: "courte" });
|
||||||
|
|
||||||
schema.specificites = new fields.SchemaField(
|
schema.specificites = new fields.SchemaField(
|
||||||
Object.values((game.system.tedeum.config.ARME_SPECIFICITE)).reduce((obj, spec) => {
|
Object.values((game.system.tedeum.config.ARME_SPECIFICITE)).reduce((obj, spec) => {
|
||||||
obj[spec.id] = new fields.SchemaField({
|
obj[spec.id] = new fields.SchemaField({
|
||||||
hasSpec: new fields.BooleanField({initial: false}),
|
hasSpec: new fields.BooleanField({ initial: false }),
|
||||||
});
|
});
|
||||||
return obj;
|
return obj;
|
||||||
}, {})
|
}, {})
|
||||||
@@ -26,35 +26,35 @@ export class TeDeumArmeSchema extends foundry.abstract.TypeDataModel {
|
|||||||
}, {})
|
}, {})
|
||||||
);
|
);
|
||||||
|
|
||||||
schema.degatsArmure = new fields.SchemaField( {
|
schema.degatsArmure = new fields.SchemaField({
|
||||||
sansarmure : new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
sansarmure: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
||||||
cuir : new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
cuir: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
||||||
plates : new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
plates: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
||||||
mailles : new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
mailles: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
||||||
});
|
});
|
||||||
|
|
||||||
schema.tempsRecharge = new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 });
|
schema.tempsRecharge = new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 });
|
||||||
schema.competenceRecharge = new fields.StringField({ required: false, choices:["aucune", "archerie", "arquebusade"], initial: "aucune", blank: true });
|
schema.competenceRecharge = new fields.StringField({ required: false, choices: ["aucune", "archerie", "arquebusade"], initial: "aucune", blank: true });
|
||||||
schema.valeurEchecCritique = new fields.NumberField({ ...requiredInteger, initial: 1, min: 1 });
|
schema.valeurEchecCritique = new fields.NumberField({ ...requiredInteger, initial: 1, min: 1 });
|
||||||
|
|
||||||
schema.initiativeBonus = new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 });
|
schema.initiativeBonus = new fields.NumberField({ ...requiredInteger, initial: 0 });
|
||||||
|
|
||||||
schema.degats = new fields.StringField({ required: false, blank: true, initial: "0" });
|
schema.degats = new fields.StringField({ required: false, blank: true, initial: "0" });
|
||||||
schema.degatscrosse = new fields.StringField({ required: false, blank: true, initial: "0" });
|
schema.degatscrosse = new fields.StringField({ required: false, blank: true, initial: "0" });
|
||||||
|
|
||||||
let comp = []
|
let comp = []
|
||||||
for (let key of Object.keys(game.system.tedeum.config.armeCompetences)) {
|
for (let key of Object.keys(game.system.tedeum.config.armeCompetences)) {
|
||||||
comp.push(key);
|
comp.push(key);
|
||||||
}
|
}
|
||||||
schema.competence = new fields.StringField({ required: true, choices:comp, initial: "bagarre" });
|
schema.competence = new fields.StringField({ required: true, choices: comp, initial: "bagarre" });
|
||||||
schema.competence2 = new fields.StringField({ required: false, choices:comp, initial: "", blank: true });
|
schema.competence2 = new fields.StringField({ required: false, choices: comp, initial: "", blank: true });
|
||||||
|
|
||||||
schema.prix = new fields.NumberField({ ...requiredDouble, initial: 0, min: 0 });
|
schema.prix = new fields.NumberField({ ...requiredDouble, initial: 0, min: 0 });
|
||||||
schema.monnaie = new fields.StringField({ required: true, blank: false, initial: "denier" });
|
schema.monnaie = new fields.StringField({ required: true, blank: false, initial: "denier" });
|
||||||
|
|
||||||
schema.equipe = new fields.BooleanField({initial: false}),
|
schema.equipe = new fields.BooleanField({ initial: false }),
|
||||||
|
|
||||||
schema.description = new fields.HTMLField({ required: true, blank: true });
|
schema.description = new fields.HTMLField({ required: true, blank: true });
|
||||||
|
|
||||||
return schema;
|
return schema;
|
||||||
}
|
}
|
||||||
|
@@ -63,6 +63,9 @@ export class TeDeumRollDialog extends Dialog {
|
|||||||
html.find('#roll-allonge').change((event) => {
|
html.find('#roll-allonge').change((event) => {
|
||||||
this.rollData.allongeId = event.currentTarget.value
|
this.rollData.allongeId = event.currentTarget.value
|
||||||
})
|
})
|
||||||
|
html.find('#roll-main-gauche').change((event) => {
|
||||||
|
this.rollData.isMainGauche = event.currentTarget.checked
|
||||||
|
})
|
||||||
html.find('#roll-difficulty').change((event) => {
|
html.find('#roll-difficulty').change((event) => {
|
||||||
this.rollData.difficulty = String(event.currentTarget.value) || "pardefaut"
|
this.rollData.difficulty = String(event.currentTarget.value) || "pardefaut"
|
||||||
})
|
})
|
||||||
|
@@ -90,6 +90,8 @@ Hooks.once("init", async function () {
|
|||||||
foundry.documents.collections.Items.registerSheet("fvtt-te-deum", TeDeumItemSheet, { makeDefault: true });
|
foundry.documents.collections.Items.registerSheet("fvtt-te-deum", TeDeumItemSheet, { makeDefault: true });
|
||||||
|
|
||||||
TeDeumUtility.init()
|
TeDeumUtility.init()
|
||||||
|
|
||||||
|
TeDeumUtility.installHooks()
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
@@ -98,6 +100,7 @@ Hooks.once("init", async function () {
|
|||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
Hooks.once("ready", function () {
|
Hooks.once("ready", function () {
|
||||||
|
|
||||||
|
|
||||||
// User warning
|
// User warning
|
||||||
if (!game.user.isGM && game.user.character == undefined) {
|
if (!game.user.isGM && game.user.character == undefined) {
|
||||||
ui.notifications.info("Attention ! Aucun personnage relié au joueur !");
|
ui.notifications.info("Attention ! Aucun personnage relié au joueur !");
|
||||||
@@ -107,10 +110,10 @@ Hooks.once("ready", function () {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
import("https://www.uberwald.me/fvtt_appcount/count-class-ready.js").then(moduleCounter=>{
|
import("https://www.uberwald.me/fvtt_appcount/count-class-ready.js").then(moduleCounter => {
|
||||||
console.log("ClassCounter loaded", moduleCounter)
|
console.log("ClassCounter loaded", moduleCounter)
|
||||||
moduleCounter.ClassCounter.registerUsageCount()
|
moduleCounter.ClassCounter.registerUsageCount()
|
||||||
}).catch(err=>
|
}).catch(err =>
|
||||||
console.log("No stats available, giving up.")
|
console.log("No stats available, giving up.")
|
||||||
)
|
)
|
||||||
TeDeumUtility.ready();
|
TeDeumUtility.ready();
|
||||||
|
@@ -1 +1 @@
|
|||||||
MANIFEST-000137
|
MANIFEST-000165
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
2025/09/18-17:25:25.945688 7f7f2affd6c0 Recovering log #134
|
2025/09/24-16:42:14.734893 7f7cfb7fe6c0 Recovering log #163
|
||||||
2025/09/18-17:25:25.962577 7f7f2affd6c0 Delete type=3 #132
|
2025/09/24-16:42:14.744867 7f7cfb7fe6c0 Delete type=3 #161
|
||||||
2025/09/18-17:25:25.962629 7f7f2affd6c0 Delete type=0 #134
|
2025/09/24-16:42:14.744926 7f7cfb7fe6c0 Delete type=0 #163
|
||||||
2025/09/18-17:25:58.096205 7f7f29bff6c0 Level-0 table #140: started
|
2025/09/24-16:43:46.397731 7f7cf9fff6c0 Level-0 table #168: started
|
||||||
2025/09/18-17:25:58.096281 7f7f29bff6c0 Level-0 table #140: 0 bytes OK
|
2025/09/24-16:43:46.397776 7f7cf9fff6c0 Level-0 table #168: 0 bytes OK
|
||||||
2025/09/18-17:25:58.103314 7f7f29bff6c0 Delete type=0 #138
|
2025/09/24-16:43:46.462453 7f7cf9fff6c0 Delete type=0 #166
|
||||||
2025/09/18-17:25:58.103571 7f7f29bff6c0 Manual compaction at level-0 from '!journal!uNwJgi4kXBCiZmAH' @ 72057594037927935 : 1 .. '!journal.pages!uNwJgi4kXBCiZmAH.onhNU0mXhOpdNZJF' @ 0 : 0; will stop at (end)
|
2025/09/24-16:43:46.462659 7f7cf9fff6c0 Manual compaction at level-0 from '!journal!uNwJgi4kXBCiZmAH' @ 72057594037927935 : 1 .. '!journal.pages!uNwJgi4kXBCiZmAH.onhNU0mXhOpdNZJF' @ 0 : 0; will stop at (end)
|
||||||
|
@@ -1,11 +1,7 @@
|
|||||||
2025/09/18-11:50:45.746719 7f7f2bfff6c0 Delete type=3 #1
|
2025/09/24-16:34:06.472911 7f7cfbfff6c0 Recovering log #159
|
||||||
2025/09/18-17:24:09.744265 7f7f29bff6c0 Level-0 table #135: started
|
2025/09/24-16:34:06.482703 7f7cfbfff6c0 Delete type=3 #157
|
||||||
2025/09/18-17:24:09.744308 7f7f29bff6c0 Level-0 table #135: 0 bytes OK
|
2025/09/24-16:34:06.482774 7f7cfbfff6c0 Delete type=0 #159
|
||||||
2025/09/18-17:24:09.802551 7f7f29bff6c0 Delete type=0 #133
|
2025/09/24-16:41:30.176475 7f7cf9fff6c0 Level-0 table #164: started
|
||||||
2025/09/18-17:24:09.802767 7f7f29bff6c0 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/09/24-16:41:30.176525 7f7cf9fff6c0 Level-0 table #164: 0 bytes OK
|
||||||
2025/09/18-17:24:09.802780 7f7f29bff6c0 Compacting 1@0 + 0@1 files
|
2025/09/24-16:41:30.183000 7f7cf9fff6c0 Delete type=0 #162
|
||||||
2025/09/18-17:24:09.830358 7f7f29bff6c0 Generated table #136@0: 5 keys, 3728 bytes
|
2025/09/24-16:41:30.195641 7f7cf9fff6c0 Manual compaction at level-0 from '!journal!uNwJgi4kXBCiZmAH' @ 72057594037927935 : 1 .. '!journal.pages!uNwJgi4kXBCiZmAH.onhNU0mXhOpdNZJF' @ 0 : 0; will stop at (end)
|
||||||
2025/09/18-17:24:09.830408 7f7f29bff6c0 Compacted 1@0 + 0@1 files => 3728 bytes
|
|
||||||
2025/09/18-17:24:09.891222 7f7f29bff6c0 compacted to: files[ 0 1 0 0 0 0 0 ]
|
|
||||||
2025/09/18-17:24:09.891483 7f7f29bff6c0 Delete type=2 #103
|
|
||||||
2025/09/18-17:24:10.130709 7f7f29bff6c0 Manual compaction at level-0 from '!journal.pages!uNwJgi4kXBCiZmAH.onhNU0mXhOpdNZJF' @ 25 : 1 .. '!journal.pages!uNwJgi4kXBCiZmAH.onhNU0mXhOpdNZJF' @ 0 : 0; will stop at (end)
|
|
||||||
|
Binary file not shown.
@@ -1 +1 @@
|
|||||||
MANIFEST-000240
|
MANIFEST-000268
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
2025/09/18-17:25:25.808742 7f7f2bfff6c0 Recovering log #237
|
2025/09/24-16:42:14.642386 7f7d00dfa6c0 Recovering log #266
|
||||||
2025/09/18-17:25:25.826162 7f7f2bfff6c0 Delete type=3 #235
|
2025/09/24-16:42:14.651936 7f7d00dfa6c0 Delete type=3 #264
|
||||||
2025/09/18-17:25:25.826217 7f7f2bfff6c0 Delete type=0 #237
|
2025/09/24-16:42:14.652001 7f7d00dfa6c0 Delete type=0 #266
|
||||||
2025/09/18-17:25:58.034192 7f7f29bff6c0 Level-0 table #243: started
|
2025/09/24-16:43:45.840704 7f7cf9fff6c0 Level-0 table #271: started
|
||||||
2025/09/18-17:25:58.034230 7f7f29bff6c0 Level-0 table #243: 0 bytes OK
|
2025/09/24-16:43:45.840737 7f7cf9fff6c0 Level-0 table #271: 0 bytes OK
|
||||||
2025/09/18-17:25:58.040524 7f7f29bff6c0 Delete type=0 #241
|
2025/09/24-16:43:45.898655 7f7cf9fff6c0 Delete type=0 #269
|
||||||
2025/09/18-17:25:58.047737 7f7f29bff6c0 Manual compaction at level-0 from '!folders!InCQeTRdT5jXMX82' @ 72057594037927935 : 1 .. '!items!wxIHkrq98eQ3cOvp' @ 0 : 0; will stop at (end)
|
2025/09/24-16:43:45.963394 7f7cf9fff6c0 Manual compaction at level-0 from '!folders!InCQeTRdT5jXMX82' @ 72057594037927935 : 1 .. '!items!wxIHkrq98eQ3cOvp' @ 0 : 0; will stop at (end)
|
||||||
|
@@ -1,11 +1,7 @@
|
|||||||
2025/09/18-11:50:45.598190 7f7f2a7fc6c0 Delete type=3 #1
|
2025/09/24-16:34:06.383778 7f7cfb7fe6c0 Recovering log #262
|
||||||
2025/09/18-17:24:08.419689 7f7f29bff6c0 Level-0 table #238: started
|
2025/09/24-16:34:06.393755 7f7cfb7fe6c0 Delete type=3 #260
|
||||||
2025/09/18-17:24:08.419727 7f7f29bff6c0 Level-0 table #238: 0 bytes OK
|
2025/09/24-16:34:06.393833 7f7cfb7fe6c0 Delete type=0 #262
|
||||||
2025/09/18-17:24:08.484925 7f7f29bff6c0 Delete type=0 #236
|
2025/09/24-16:41:30.118332 7f7cf9fff6c0 Level-0 table #267: started
|
||||||
2025/09/18-17:24:08.766692 7f7f29bff6c0 Manual compaction at level-0 from '!folders!InCQeTRdT5jXMX82' @ 72057594037927935 : 1 .. '!items!wxIHkrq98eQ3cOvp' @ 0 : 0; will stop at '!items!wxIHkrq98eQ3cOvp' @ 73 : 1
|
2025/09/24-16:41:30.118371 7f7cf9fff6c0 Level-0 table #267: 0 bytes OK
|
||||||
2025/09/18-17:24:08.766704 7f7f29bff6c0 Compacting 1@0 + 0@1 files
|
2025/09/24-16:41:30.124477 7f7cf9fff6c0 Delete type=0 #265
|
||||||
2025/09/18-17:24:08.800723 7f7f29bff6c0 Generated table #239@0: 38 keys, 31247 bytes
|
2025/09/24-16:41:30.124651 7f7cf9fff6c0 Manual compaction at level-0 from '!folders!InCQeTRdT5jXMX82' @ 72057594037927935 : 1 .. '!items!wxIHkrq98eQ3cOvp' @ 0 : 0; will stop at (end)
|
||||||
2025/09/18-17:24:08.800756 7f7f29bff6c0 Compacted 1@0 + 0@1 files => 31247 bytes
|
|
||||||
2025/09/18-17:24:08.859553 7f7f29bff6c0 compacted to: files[ 0 1 0 0 0 0 0 ]
|
|
||||||
2025/09/18-17:24:08.859745 7f7f29bff6c0 Delete type=2 #206
|
|
||||||
2025/09/18-17:24:08.860015 7f7f29bff6c0 Manual compaction at level-0 from '!items!wxIHkrq98eQ3cOvp' @ 73 : 1 .. '!items!wxIHkrq98eQ3cOvp' @ 0 : 0; will stop at (end)
|
|
||||||
|
Binary file not shown.
@@ -1 +1 @@
|
|||||||
MANIFEST-000239
|
MANIFEST-000267
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
2025/09/18-17:25:25.829687 7f7f2a7fc6c0 Recovering log #236
|
2025/09/24-16:42:14.655535 7f7cfbfff6c0 Recovering log #265
|
||||||
2025/09/18-17:25:25.846790 7f7f2a7fc6c0 Delete type=3 #234
|
2025/09/24-16:42:14.666517 7f7cfbfff6c0 Delete type=3 #263
|
||||||
2025/09/18-17:25:25.846846 7f7f2a7fc6c0 Delete type=0 #236
|
2025/09/24-16:42:14.666585 7f7cfbfff6c0 Delete type=0 #265
|
||||||
2025/09/18-17:25:58.026302 7f7f29bff6c0 Level-0 table #242: started
|
2025/09/24-16:43:45.762646 7f7cf9fff6c0 Level-0 table #270: started
|
||||||
2025/09/18-17:25:58.026357 7f7f29bff6c0 Level-0 table #242: 0 bytes OK
|
2025/09/24-16:43:45.762671 7f7cf9fff6c0 Level-0 table #270: 0 bytes OK
|
||||||
2025/09/18-17:25:58.034035 7f7f29bff6c0 Delete type=0 #240
|
2025/09/24-16:43:45.840542 7f7cf9fff6c0 Delete type=0 #268
|
||||||
2025/09/18-17:25:58.047715 7f7f29bff6c0 Manual compaction at level-0 from '!folders!2wTJBj3dicRKzNOE' @ 72057594037927935 : 1 .. '!items!ufvhWG5V8pX0qrtR' @ 0 : 0; will stop at (end)
|
2025/09/24-16:43:45.963381 7f7cf9fff6c0 Manual compaction at level-0 from '!folders!2wTJBj3dicRKzNOE' @ 72057594037927935 : 1 .. '!items!ufvhWG5V8pX0qrtR' @ 0 : 0; will stop at (end)
|
||||||
|
@@ -1,11 +1,7 @@
|
|||||||
2025/09/18-11:50:45.617997 7f7f2a7fc6c0 Delete type=3 #1
|
2025/09/24-16:34:06.395848 7f7d00dfa6c0 Recovering log #261
|
||||||
2025/09/18-17:24:08.294497 7f7f29bff6c0 Level-0 table #237: started
|
2025/09/24-16:34:06.405550 7f7d00dfa6c0 Delete type=3 #259
|
||||||
2025/09/18-17:24:08.294539 7f7f29bff6c0 Level-0 table #237: 0 bytes OK
|
2025/09/24-16:34:06.405604 7f7d00dfa6c0 Delete type=0 #261
|
||||||
2025/09/18-17:24:08.351872 7f7f29bff6c0 Delete type=0 #235
|
2025/09/24-16:41:30.111558 7f7cf9fff6c0 Level-0 table #266: started
|
||||||
2025/09/18-17:24:08.582142 7f7f29bff6c0 Manual compaction at level-0 from '!folders!2wTJBj3dicRKzNOE' @ 72057594037927935 : 1 .. '!items!ufvhWG5V8pX0qrtR' @ 0 : 0; will stop at '!items!ufvhWG5V8pX0qrtR' @ 54 : 1
|
2025/09/24-16:41:30.111589 7f7cf9fff6c0 Level-0 table #266: 0 bytes OK
|
||||||
2025/09/18-17:24:08.582154 7f7f29bff6c0 Compacting 1@0 + 0@1 files
|
2025/09/24-16:41:30.118178 7f7cf9fff6c0 Delete type=0 #264
|
||||||
2025/09/18-17:24:08.616167 7f7f29bff6c0 Generated table #238@0: 29 keys, 12111 bytes
|
2025/09/24-16:41:30.124642 7f7cf9fff6c0 Manual compaction at level-0 from '!folders!2wTJBj3dicRKzNOE' @ 72057594037927935 : 1 .. '!items!ufvhWG5V8pX0qrtR' @ 0 : 0; will stop at (end)
|
||||||
2025/09/18-17:24:08.616198 7f7f29bff6c0 Compacted 1@0 + 0@1 files => 12111 bytes
|
|
||||||
2025/09/18-17:24:08.671918 7f7f29bff6c0 compacted to: files[ 0 1 0 0 0 0 0 ]
|
|
||||||
2025/09/18-17:24:08.672212 7f7f29bff6c0 Delete type=2 #205
|
|
||||||
2025/09/18-17:24:08.859972 7f7f29bff6c0 Manual compaction at level-0 from '!items!ufvhWG5V8pX0qrtR' @ 54 : 1 .. '!items!ufvhWG5V8pX0qrtR' @ 0 : 0; will stop at (end)
|
|
||||||
|
Binary file not shown.
@@ -1 +1 @@
|
|||||||
MANIFEST-000238
|
MANIFEST-000266
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
2025/09/18-17:25:25.789090 7f7f2b7fe6c0 Recovering log #235
|
2025/09/24-16:42:14.629192 7f7cfaffd6c0 Recovering log #264
|
||||||
2025/09/18-17:25:25.805571 7f7f2b7fe6c0 Delete type=3 #233
|
2025/09/24-16:42:14.638946 7f7cfaffd6c0 Delete type=3 #262
|
||||||
2025/09/18-17:25:25.805686 7f7f2b7fe6c0 Delete type=0 #235
|
2025/09/24-16:42:14.639014 7f7cfaffd6c0 Delete type=0 #264
|
||||||
2025/09/18-17:25:58.040659 7f7f29bff6c0 Level-0 table #241: started
|
2025/09/24-16:43:45.706058 7f7cf9fff6c0 Level-0 table #269: started
|
||||||
2025/09/18-17:25:58.040687 7f7f29bff6c0 Level-0 table #241: 0 bytes OK
|
2025/09/24-16:43:45.706134 7f7cf9fff6c0 Level-0 table #269: 0 bytes OK
|
||||||
2025/09/18-17:25:58.047473 7f7f29bff6c0 Delete type=0 #239
|
2025/09/24-16:43:45.762523 7f7cf9fff6c0 Delete type=0 #267
|
||||||
2025/09/18-17:25:58.047759 7f7f29bff6c0 Manual compaction at level-0 from '!folders!4OPhigzcPv46qbWW' @ 72057594037927935 : 1 .. '!items!yx4k7lQHGcom99mk' @ 0 : 0; will stop at (end)
|
2025/09/24-16:43:45.963365 7f7cf9fff6c0 Manual compaction at level-0 from '!folders!4OPhigzcPv46qbWW' @ 72057594037927935 : 1 .. '!items!yx4k7lQHGcom99mk' @ 0 : 0; will stop at (end)
|
||||||
|
@@ -1,11 +1,7 @@
|
|||||||
2025/09/18-11:50:45.576078 7f7f2affd6c0 Delete type=3 #1
|
2025/09/24-16:34:06.370805 7f7cfaffd6c0 Recovering log #260
|
||||||
2025/09/18-17:24:08.352040 7f7f29bff6c0 Level-0 table #236: started
|
2025/09/24-16:34:06.381415 7f7cfaffd6c0 Delete type=3 #258
|
||||||
2025/09/18-17:24:08.352081 7f7f29bff6c0 Level-0 table #236: 0 bytes OK
|
2025/09/24-16:34:06.381482 7f7cfaffd6c0 Delete type=0 #260
|
||||||
2025/09/18-17:24:08.419524 7f7f29bff6c0 Delete type=0 #234
|
2025/09/24-16:41:30.104756 7f7cf9fff6c0 Level-0 table #265: started
|
||||||
2025/09/18-17:24:08.672479 7f7f29bff6c0 Manual compaction at level-0 from '!folders!4OPhigzcPv46qbWW' @ 72057594037927935 : 1 .. '!items!yx4k7lQHGcom99mk' @ 0 : 0; will stop at '!items!yx4k7lQHGcom99mk' @ 237 : 1
|
2025/09/24-16:41:30.104801 7f7cf9fff6c0 Level-0 table #265: 0 bytes OK
|
||||||
2025/09/18-17:24:08.672498 7f7f29bff6c0 Compacting 1@0 + 0@1 files
|
2025/09/24-16:41:30.111363 7f7cf9fff6c0 Delete type=0 #263
|
||||||
2025/09/18-17:24:08.706074 7f7f29bff6c0 Generated table #237@0: 115 keys, 38139 bytes
|
2025/09/24-16:41:30.124633 7f7cf9fff6c0 Manual compaction at level-0 from '!folders!4OPhigzcPv46qbWW' @ 72057594037927935 : 1 .. '!items!yx4k7lQHGcom99mk' @ 0 : 0; will stop at (end)
|
||||||
2025/09/18-17:24:08.706156 7f7f29bff6c0 Compacted 1@0 + 0@1 files => 38139 bytes
|
|
||||||
2025/09/18-17:24:08.766397 7f7f29bff6c0 compacted to: files[ 0 1 0 0 0 0 0 ]
|
|
||||||
2025/09/18-17:24:08.766527 7f7f29bff6c0 Delete type=2 #231
|
|
||||||
2025/09/18-17:24:08.859995 7f7f29bff6c0 Manual compaction at level-0 from '!items!yx4k7lQHGcom99mk' @ 237 : 1 .. '!items!yx4k7lQHGcom99mk' @ 0 : 0; will stop at (end)
|
|
||||||
|
Binary file not shown.
@@ -1 +1 @@
|
|||||||
MANIFEST-000249
|
MANIFEST-000277
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
2025/09/18-17:25:25.849643 7f7f2affd6c0 Recovering log #246
|
2025/09/24-16:42:14.669125 7f7cfb7fe6c0 Recovering log #275
|
||||||
2025/09/18-17:25:25.865539 7f7f2affd6c0 Delete type=3 #244
|
2025/09/24-16:42:14.678629 7f7cfb7fe6c0 Delete type=3 #273
|
||||||
2025/09/18-17:25:25.865600 7f7f2affd6c0 Delete type=0 #246
|
2025/09/24-16:42:14.678694 7f7cfb7fe6c0 Delete type=0 #275
|
||||||
2025/09/18-17:25:58.061760 7f7f29bff6c0 Level-0 table #252: started
|
2025/09/24-16:43:45.898794 7f7cf9fff6c0 Level-0 table #280: started
|
||||||
2025/09/18-17:25:58.061807 7f7f29bff6c0 Level-0 table #252: 0 bytes OK
|
2025/09/24-16:43:45.898823 7f7cf9fff6c0 Level-0 table #280: 0 bytes OK
|
||||||
2025/09/18-17:25:58.069452 7f7f29bff6c0 Delete type=0 #250
|
2025/09/24-16:43:45.963207 7f7cf9fff6c0 Delete type=0 #278
|
||||||
2025/09/18-17:25:58.076019 7f7f29bff6c0 Manual compaction at level-0 from '!folders!9PQi3Lv54rpcxavo' @ 72057594037927935 : 1 .. '!items!zGlRtP7zSnkjuuue' @ 0 : 0; will stop at (end)
|
2025/09/24-16:43:45.963407 7f7cf9fff6c0 Manual compaction at level-0 from '!folders!9PQi3Lv54rpcxavo' @ 72057594037927935 : 1 .. '!items!zGlRtP7zSnkjuuue' @ 0 : 0; will stop at (end)
|
||||||
|
@@ -1,11 +1,7 @@
|
|||||||
2025/09/18-11:50:45.638850 7f7f2bfff6c0 Delete type=3 #1
|
2025/09/24-16:34:06.407386 7f7cfaffd6c0 Recovering log #271
|
||||||
2025/09/18-17:24:08.232941 7f7f29bff6c0 Level-0 table #247: started
|
2025/09/24-16:34:06.418079 7f7cfaffd6c0 Delete type=3 #269
|
||||||
2025/09/18-17:24:08.233014 7f7f29bff6c0 Level-0 table #247: 0 bytes OK
|
2025/09/24-16:34:06.418139 7f7cfaffd6c0 Delete type=0 #271
|
||||||
2025/09/18-17:24:08.294274 7f7f29bff6c0 Delete type=0 #245
|
2025/09/24-16:41:30.124766 7f7cf9fff6c0 Level-0 table #276: started
|
||||||
2025/09/18-17:24:08.485079 7f7f29bff6c0 Manual compaction at level-0 from '!folders!9PQi3Lv54rpcxavo' @ 72057594037927935 : 1 .. '!items!zGlRtP7zSnkjuuue' @ 0 : 0; will stop at '!items!zGlRtP7zSnkjuuue' @ 510 : 1
|
2025/09/24-16:41:30.124809 7f7cf9fff6c0 Level-0 table #276: 0 bytes OK
|
||||||
2025/09/18-17:24:08.485093 7f7f29bff6c0 Compacting 1@0 + 0@1 files
|
2025/09/24-16:41:30.131329 7f7cf9fff6c0 Delete type=0 #274
|
||||||
2025/09/18-17:24:08.521894 7f7f29bff6c0 Generated table #248@0: 71 keys, 264331 bytes
|
2025/09/24-16:41:30.151558 7f7cf9fff6c0 Manual compaction at level-0 from '!folders!9PQi3Lv54rpcxavo' @ 72057594037927935 : 1 .. '!items!zGlRtP7zSnkjuuue' @ 0 : 0; will stop at (end)
|
||||||
2025/09/18-17:24:08.521971 7f7f29bff6c0 Compacted 1@0 + 0@1 files => 264331 bytes
|
|
||||||
2025/09/18-17:24:08.581818 7f7f29bff6c0 compacted to: files[ 0 1 0 0 0 0 0 ]
|
|
||||||
2025/09/18-17:24:08.581947 7f7f29bff6c0 Delete type=2 #231
|
|
||||||
2025/09/18-17:24:08.859951 7f7f29bff6c0 Manual compaction at level-0 from '!items!zGlRtP7zSnkjuuue' @ 510 : 1 .. '!items!zGlRtP7zSnkjuuue' @ 0 : 0; will stop at (end)
|
|
||||||
|
Binary file not shown.
@@ -1 +1 @@
|
|||||||
MANIFEST-000239
|
MANIFEST-000267
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
2025/09/18-17:25:25.869600 7f7f2b7fe6c0 Recovering log #236
|
2025/09/24-16:42:14.682432 7f7cfaffd6c0 Recovering log #265
|
||||||
2025/09/18-17:25:25.884627 7f7f2b7fe6c0 Delete type=3 #234
|
2025/09/24-16:42:14.692809 7f7cfaffd6c0 Delete type=3 #263
|
||||||
2025/09/18-17:25:25.884728 7f7f2b7fe6c0 Delete type=0 #236
|
2025/09/24-16:42:14.692870 7f7cfaffd6c0 Delete type=0 #265
|
||||||
2025/09/18-17:25:58.019852 7f7f29bff6c0 Level-0 table #242: started
|
2025/09/24-16:43:46.011645 7f7cf9fff6c0 Level-0 table #270: started
|
||||||
2025/09/18-17:25:58.019893 7f7f29bff6c0 Level-0 table #242: 0 bytes OK
|
2025/09/24-16:43:46.011682 7f7cf9fff6c0 Level-0 table #270: 0 bytes OK
|
||||||
2025/09/18-17:25:58.026069 7f7f29bff6c0 Delete type=0 #240
|
2025/09/24-16:43:46.083954 7f7cf9fff6c0 Delete type=0 #268
|
||||||
2025/09/18-17:25:58.047683 7f7f29bff6c0 Manual compaction at level-0 from '!items!17mjvwS8R3B6LloG' @ 72057594037927935 : 1 .. '!items!zUYIVOuFpRur9aAR' @ 0 : 0; will stop at (end)
|
2025/09/24-16:43:46.208935 7f7cf9fff6c0 Manual compaction at level-0 from '!items!17mjvwS8R3B6LloG' @ 72057594037927935 : 1 .. '!items!zUYIVOuFpRur9aAR' @ 0 : 0; will stop at (end)
|
||||||
|
@@ -1,11 +1,7 @@
|
|||||||
2025/09/18-11:50:45.661051 7f7f2b7fe6c0 Delete type=3 #1
|
2025/09/24-16:34:06.421631 7f7d00dfa6c0 Recovering log #261
|
||||||
2025/09/18-17:24:08.860133 7f7f29bff6c0 Level-0 table #237: started
|
2025/09/24-16:34:06.432018 7f7d00dfa6c0 Delete type=3 #259
|
||||||
2025/09/18-17:24:08.860169 7f7f29bff6c0 Level-0 table #237: 0 bytes OK
|
2025/09/24-16:34:06.432112 7f7d00dfa6c0 Delete type=0 #261
|
||||||
2025/09/18-17:24:08.917842 7f7f29bff6c0 Delete type=0 #235
|
2025/09/24-16:41:30.098303 7f7cf9fff6c0 Level-0 table #266: started
|
||||||
2025/09/18-17:24:09.119729 7f7f29bff6c0 Manual compaction at level-0 from '!items!17mjvwS8R3B6LloG' @ 72057594037927935 : 1 .. '!items!zUYIVOuFpRur9aAR' @ 0 : 0; will stop at '!items!zUYIVOuFpRur9aAR' @ 109 : 1
|
2025/09/24-16:41:30.098366 7f7cf9fff6c0 Level-0 table #266: 0 bytes OK
|
||||||
2025/09/18-17:24:09.119743 7f7f29bff6c0 Compacting 1@0 + 0@1 files
|
2025/09/24-16:41:30.104526 7f7cf9fff6c0 Delete type=0 #264
|
||||||
2025/09/18-17:24:09.155742 7f7f29bff6c0 Generated table #238@0: 49 keys, 20052 bytes
|
2025/09/24-16:41:30.124617 7f7cf9fff6c0 Manual compaction at level-0 from '!items!17mjvwS8R3B6LloG' @ 72057594037927935 : 1 .. '!items!zUYIVOuFpRur9aAR' @ 0 : 0; will stop at (end)
|
||||||
2025/09/18-17:24:09.155788 7f7f29bff6c0 Compacted 1@0 + 0@1 files => 20052 bytes
|
|
||||||
2025/09/18-17:24:09.214820 7f7f29bff6c0 compacted to: files[ 0 1 0 0 0 0 0 ]
|
|
||||||
2025/09/18-17:24:09.214942 7f7f29bff6c0 Delete type=2 #205
|
|
||||||
2025/09/18-17:24:09.499501 7f7f29bff6c0 Manual compaction at level-0 from '!items!zUYIVOuFpRur9aAR' @ 109 : 1 .. '!items!zUYIVOuFpRur9aAR' @ 0 : 0; will stop at (end)
|
|
||||||
|
Binary file not shown.
@@ -1 +1 @@
|
|||||||
MANIFEST-000239
|
MANIFEST-000267
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
2025/09/18-17:25:25.887557 7f7f2a7fc6c0 Recovering log #236
|
2025/09/24-16:42:14.695212 7f7cfbfff6c0 Recovering log #265
|
||||||
2025/09/18-17:25:25.903745 7f7f2a7fc6c0 Delete type=3 #234
|
2025/09/24-16:42:14.705156 7f7cfbfff6c0 Delete type=3 #263
|
||||||
2025/09/18-17:25:25.903805 7f7f2a7fc6c0 Delete type=0 #236
|
2025/09/24-16:42:14.705234 7f7cfbfff6c0 Delete type=0 #265
|
||||||
2025/09/18-17:25:58.055681 7f7f29bff6c0 Level-0 table #242: started
|
2025/09/24-16:43:46.084105 7f7cf9fff6c0 Level-0 table #270: started
|
||||||
2025/09/18-17:25:58.055706 7f7f29bff6c0 Level-0 table #242: 0 bytes OK
|
2025/09/24-16:43:46.084138 7f7cf9fff6c0 Level-0 table #270: 0 bytes OK
|
||||||
2025/09/18-17:25:58.061636 7f7f29bff6c0 Delete type=0 #240
|
2025/09/24-16:43:46.141584 7f7cf9fff6c0 Delete type=0 #268
|
||||||
2025/09/18-17:25:58.076006 7f7f29bff6c0 Manual compaction at level-0 from '!items!1icaxIywAwDXQcMz' @ 72057594037927935 : 1 .. '!items!ysGehYm1VkMWrI22' @ 0 : 0; will stop at (end)
|
2025/09/24-16:43:46.208949 7f7cf9fff6c0 Manual compaction at level-0 from '!items!1icaxIywAwDXQcMz' @ 72057594037927935 : 1 .. '!items!ysGehYm1VkMWrI22' @ 0 : 0; will stop at (end)
|
||||||
|
@@ -1,11 +1,7 @@
|
|||||||
2025/09/18-11:50:45.681692 7f7f2affd6c0 Delete type=3 #1
|
2025/09/24-16:34:06.434181 7f7cfb7fe6c0 Recovering log #261
|
||||||
2025/09/18-17:24:08.917988 7f7f29bff6c0 Level-0 table #237: started
|
2025/09/24-16:34:06.444000 7f7cfb7fe6c0 Delete type=3 #259
|
||||||
2025/09/18-17:24:08.918018 7f7f29bff6c0 Level-0 table #237: 0 bytes OK
|
2025/09/24-16:34:06.444067 7f7cfb7fe6c0 Delete type=0 #261
|
||||||
2025/09/18-17:24:08.983600 7f7f29bff6c0 Delete type=0 #235
|
2025/09/24-16:41:30.144559 7f7cf9fff6c0 Level-0 table #266: started
|
||||||
2025/09/18-17:24:09.215118 7f7f29bff6c0 Manual compaction at level-0 from '!items!1icaxIywAwDXQcMz' @ 72057594037927935 : 1 .. '!items!ysGehYm1VkMWrI22' @ 0 : 0; will stop at '!items!ysGehYm1VkMWrI22' @ 71 : 1
|
2025/09/24-16:41:30.144589 7f7cf9fff6c0 Level-0 table #266: 0 bytes OK
|
||||||
2025/09/18-17:24:09.215131 7f7f29bff6c0 Compacting 1@0 + 0@1 files
|
2025/09/24-16:41:30.151446 7f7cf9fff6c0 Delete type=0 #264
|
||||||
2025/09/18-17:24:09.251613 7f7f29bff6c0 Generated table #238@0: 17 keys, 11517 bytes
|
2025/09/24-16:41:30.151596 7f7cf9fff6c0 Manual compaction at level-0 from '!items!1icaxIywAwDXQcMz' @ 72057594037927935 : 1 .. '!items!ysGehYm1VkMWrI22' @ 0 : 0; will stop at (end)
|
||||||
2025/09/18-17:24:09.251694 7f7f29bff6c0 Compacted 1@0 + 0@1 files => 11517 bytes
|
|
||||||
2025/09/18-17:24:09.305026 7f7f29bff6c0 compacted to: files[ 0 1 0 0 0 0 0 ]
|
|
||||||
2025/09/18-17:24:09.305314 7f7f29bff6c0 Delete type=2 #205
|
|
||||||
2025/09/18-17:24:09.499516 7f7f29bff6c0 Manual compaction at level-0 from '!items!ysGehYm1VkMWrI22' @ 71 : 1 .. '!items!ysGehYm1VkMWrI22' @ 0 : 0; will stop at (end)
|
|
||||||
|
Binary file not shown.
@@ -1 +1 @@
|
|||||||
MANIFEST-000176
|
MANIFEST-000204
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
2025/09/18-17:25:25.926154 7f7f2b7fe6c0 Recovering log #173
|
2025/09/24-16:42:14.720636 7f7cfaffd6c0 Recovering log #202
|
||||||
2025/09/18-17:25:25.941736 7f7f2b7fe6c0 Delete type=3 #171
|
2025/09/24-16:42:14.731231 7f7cfaffd6c0 Delete type=3 #200
|
||||||
2025/09/18-17:25:25.941811 7f7f2b7fe6c0 Delete type=0 #173
|
2025/09/24-16:42:14.731304 7f7cfaffd6c0 Delete type=0 #202
|
||||||
2025/09/18-17:25:58.069595 7f7f29bff6c0 Level-0 table #179: started
|
2025/09/24-16:43:46.141700 7f7cf9fff6c0 Level-0 table #207: started
|
||||||
2025/09/18-17:25:58.069627 7f7f29bff6c0 Level-0 table #179: 0 bytes OK
|
2025/09/24-16:43:46.141727 7f7cf9fff6c0 Level-0 table #207: 0 bytes OK
|
||||||
2025/09/18-17:25:58.075769 7f7f29bff6c0 Delete type=0 #177
|
2025/09/24-16:43:46.208754 7f7cf9fff6c0 Delete type=0 #205
|
||||||
2025/09/18-17:25:58.076032 7f7f29bff6c0 Manual compaction at level-0 from '!scenes!FJXugdbkBpEJEdR6' @ 72057594037927935 : 1 .. '!scenes!FJXugdbkBpEJEdR6' @ 0 : 0; will stop at (end)
|
2025/09/24-16:43:46.208965 7f7cf9fff6c0 Manual compaction at level-0 from '!scenes!FJXugdbkBpEJEdR6' @ 72057594037927935 : 1 .. '!scenes!FJXugdbkBpEJEdR6' @ 0 : 0; will stop at (end)
|
||||||
|
@@ -1,11 +1,7 @@
|
|||||||
2025/09/18-11:50:45.725670 7f7f2a7fc6c0 Delete type=3 #1
|
2025/09/24-16:34:06.459217 7f7d00dfa6c0 Recovering log #198
|
||||||
2025/09/18-17:24:09.049574 7f7f29bff6c0 Level-0 table #174: started
|
2025/09/24-16:34:06.469315 7f7d00dfa6c0 Delete type=3 #196
|
||||||
2025/09/18-17:24:09.049607 7f7f29bff6c0 Level-0 table #174: 0 bytes OK
|
2025/09/24-16:34:06.469408 7f7d00dfa6c0 Delete type=0 #198
|
||||||
2025/09/18-17:24:09.119551 7f7f29bff6c0 Delete type=0 #172
|
2025/09/24-16:41:30.137845 7f7cf9fff6c0 Level-0 table #203: started
|
||||||
2025/09/18-17:24:09.404507 7f7f29bff6c0 Manual compaction at level-0 from '!scenes!FJXugdbkBpEJEdR6' @ 72057594037927935 : 1 .. '!scenes!FJXugdbkBpEJEdR6' @ 0 : 0; will stop at '!scenes!FJXugdbkBpEJEdR6' @ 5 : 1
|
2025/09/24-16:41:30.137895 7f7cf9fff6c0 Level-0 table #203: 0 bytes OK
|
||||||
2025/09/18-17:24:09.404524 7f7f29bff6c0 Compacting 1@0 + 0@1 files
|
2025/09/24-16:41:30.144438 7f7cf9fff6c0 Delete type=0 #201
|
||||||
2025/09/18-17:24:09.434413 7f7f29bff6c0 Generated table #175@0: 1 keys, 1344 bytes
|
2025/09/24-16:41:30.151581 7f7cf9fff6c0 Manual compaction at level-0 from '!scenes!FJXugdbkBpEJEdR6' @ 72057594037927935 : 1 .. '!scenes!FJXugdbkBpEJEdR6' @ 0 : 0; will stop at (end)
|
||||||
2025/09/18-17:24:09.434448 7f7f29bff6c0 Compacted 1@0 + 0@1 files => 1344 bytes
|
|
||||||
2025/09/18-17:24:09.499220 7f7f29bff6c0 compacted to: files[ 0 1 0 0 0 0 0 ]
|
|
||||||
2025/09/18-17:24:09.499350 7f7f29bff6c0 Delete type=2 #142
|
|
||||||
2025/09/18-17:24:09.499541 7f7f29bff6c0 Manual compaction at level-0 from '!scenes!FJXugdbkBpEJEdR6' @ 5 : 1 .. '!scenes!FJXugdbkBpEJEdR6' @ 0 : 0; will stop at (end)
|
|
||||||
|
Binary file not shown.
@@ -1 +1 @@
|
|||||||
MANIFEST-000240
|
MANIFEST-000268
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
2025/09/18-17:25:25.906336 7f7f2bfff6c0 Recovering log #237
|
2025/09/24-16:42:14.708014 7f7d00dfa6c0 Recovering log #266
|
||||||
2025/09/18-17:25:25.922455 7f7f2bfff6c0 Delete type=3 #235
|
2025/09/24-16:42:14.717668 7f7d00dfa6c0 Delete type=3 #264
|
||||||
2025/09/18-17:25:25.922542 7f7f2bfff6c0 Delete type=0 #237
|
2025/09/24-16:42:14.717743 7f7d00dfa6c0 Delete type=0 #266
|
||||||
2025/09/18-17:25:58.047930 7f7f29bff6c0 Level-0 table #243: started
|
2025/09/24-16:43:45.963524 7f7cf9fff6c0 Level-0 table #271: started
|
||||||
2025/09/18-17:25:58.048063 7f7f29bff6c0 Level-0 table #243: 0 bytes OK
|
2025/09/24-16:43:45.963550 7f7cf9fff6c0 Level-0 table #271: 0 bytes OK
|
||||||
2025/09/18-17:25:58.055551 7f7f29bff6c0 Delete type=0 #241
|
2025/09/24-16:43:46.011489 7f7cf9fff6c0 Delete type=0 #269
|
||||||
2025/09/18-17:25:58.075985 7f7f29bff6c0 Manual compaction at level-0 from '!items!1bAL2MQVpVBd0c5Z' @ 72057594037927935 : 1 .. '!items!zs67k4sxCid6oTK3' @ 0 : 0; will stop at (end)
|
2025/09/24-16:43:46.208919 7f7cf9fff6c0 Manual compaction at level-0 from '!items!1bAL2MQVpVBd0c5Z' @ 72057594037927935 : 1 .. '!items!zs67k4sxCid6oTK3' @ 0 : 0; will stop at (end)
|
||||||
|
@@ -1,11 +1,7 @@
|
|||||||
2025/09/18-11:50:45.701807 7f7f2a7fc6c0 Delete type=3 #1
|
2025/09/24-16:34:06.445870 7f7cfaffd6c0 Recovering log #262
|
||||||
2025/09/18-17:24:08.983751 7f7f29bff6c0 Level-0 table #238: started
|
2025/09/24-16:34:06.456672 7f7cfaffd6c0 Delete type=3 #260
|
||||||
2025/09/18-17:24:08.983779 7f7f29bff6c0 Level-0 table #238: 0 bytes OK
|
2025/09/24-16:34:06.456727 7f7cfaffd6c0 Delete type=0 #262
|
||||||
2025/09/18-17:24:09.049421 7f7f29bff6c0 Delete type=0 #236
|
2025/09/24-16:41:30.131456 7f7cf9fff6c0 Level-0 table #267: started
|
||||||
2025/09/18-17:24:09.305611 7f7f29bff6c0 Manual compaction at level-0 from '!items!1bAL2MQVpVBd0c5Z' @ 72057594037927935 : 1 .. '!items!zs67k4sxCid6oTK3' @ 0 : 0; will stop at '!items!zs67k4sxCid6oTK3' @ 80 : 1
|
2025/09/24-16:41:30.131488 7f7cf9fff6c0 Level-0 table #267: 0 bytes OK
|
||||||
2025/09/18-17:24:09.305631 7f7f29bff6c0 Compacting 1@0 + 0@1 files
|
2025/09/24-16:41:30.137659 7f7cf9fff6c0 Delete type=0 #265
|
||||||
2025/09/18-17:24:09.339316 7f7f29bff6c0 Generated table #239@0: 36 keys, 20892 bytes
|
2025/09/24-16:41:30.151571 7f7cf9fff6c0 Manual compaction at level-0 from '!items!1bAL2MQVpVBd0c5Z' @ 72057594037927935 : 1 .. '!items!zs67k4sxCid6oTK3' @ 0 : 0; will stop at (end)
|
||||||
2025/09/18-17:24:09.339411 7f7f29bff6c0 Compacted 1@0 + 0@1 files => 20892 bytes
|
|
||||||
2025/09/18-17:24:09.404093 7f7f29bff6c0 compacted to: files[ 0 1 0 0 0 0 0 ]
|
|
||||||
2025/09/18-17:24:09.404255 7f7f29bff6c0 Delete type=2 #218
|
|
||||||
2025/09/18-17:24:09.499531 7f7f29bff6c0 Manual compaction at level-0 from '!items!zs67k4sxCid6oTK3' @ 80 : 1 .. '!items!zs67k4sxCid6oTK3' @ 0 : 0; will stop at (end)
|
|
||||||
|
Binary file not shown.
@@ -18,8 +18,10 @@
|
|||||||
|
|
||||||
<div>
|
<div>
|
||||||
<ul>
|
<ul>
|
||||||
|
<li><strong>{{alias}}</strong> attaque <strong>{{defenderName}}</strong></li>
|
||||||
|
|
||||||
{{#if arme}}
|
{{#if arme}}
|
||||||
<label class="chat-weapon-name">Dégats {{arme.name}} : {{degats}} ({{degatsFormula}})</label>
|
<li><label class="chat-weapon-name">Dégats {{arme.name}} : {{degats}} ({{degatsFormula}})</label></li>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{#if loc}}
|
{{#if loc}}
|
||||||
<li>Localisation : {{loc.label}}</li>
|
<li>Localisation : {{loc.label}}</li>
|
||||||
@@ -41,27 +43,29 @@
|
|||||||
<li><strong class="chat-result-success">Réussite critique : La blessure a été augmentée d'un niveau</strong></li>
|
<li><strong class="chat-result-success">Réussite critique : La blessure a été augmentée d'un niveau</strong></li>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{#if blessure}}
|
{{#if blessure}}
|
||||||
<li>{{defenderName}} a subi une blessure!</li>
|
<li><strong>{{defenderName}} a subi une blessure!</strong></li>
|
||||||
<li>Gravité : {{blessure.name}}</li>
|
<li>Gravité : {{blessure.name}}</li>
|
||||||
|
|
||||||
|
|
||||||
{{#if (eq loc.categorie "tete")}}
|
{{#if (eq loc.categorie "tete")}}
|
||||||
{{#if (gt blessure.system.value 0)}}
|
{{#if (gt blessure.system.value 0)}}
|
||||||
<li><strong class="chat-result-warning">{{alias}} doit réussir un test d'Endurance de difficulté 7 ou être
|
<li><strong class="chat-result-warning">{{defenderName}} doit réussir un test d'Endurance de difficulté 7 ou être
|
||||||
assomé</strong></li>
|
assommé</strong></li>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{#if (eq loc.categorie "bras")}}
|
{{#if (eq loc.categorie "bras")}}
|
||||||
{{#if (gt blessure.system.value 2)}}
|
{{#if (gt blessure.system.value 2)}}
|
||||||
<li><strong class="chat-result-warning">{{alias}} lache l'objet tenu par son bras. Il doit faire un test d'endurance
|
<li><strong class="chat-result-warning">{{defenderName}} lache l'objet tenu par son bras. Il doit faire un test
|
||||||
|
d'endurance
|
||||||
pour l'utiliser désormais.</strong></li>
|
pour l'utiliser désormais.</strong></li>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{#if (eq loc.categorie "jambe")}}
|
{{#if (eq loc.categorie "jambe")}}
|
||||||
{{#if (gt blessure.system.value 2)}}
|
{{#if (gt blessure.system.value 2)}}
|
||||||
<li><strong class="chat-result-warning">{{alias}} tombe au sol. Pour se relever et marcher, il doit réussir un test
|
<li><strong class="chat-result-warning">{{defenderName}} tombe au sol. Pour se relever et marcher, il doit réussir
|
||||||
|
un test
|
||||||
d'Endurance à chaque tour.
|
d'Endurance à chaque tour.
|
||||||
</strong></li>
|
</strong></li>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
@@ -69,14 +73,16 @@
|
|||||||
|
|
||||||
{{#if (eq loc.categorie "main")}}
|
{{#if (eq loc.categorie "main")}}
|
||||||
{{#if (gt blessure.system.value 1)}}
|
{{#if (gt blessure.system.value 1)}}
|
||||||
<li><strong class="chat-result-warning">{{alias}} lache l'objet tenu par sa main. Il doit faire un test d'endurance
|
<li><strong class="chat-result-warning">{{defenderName}} lache l'objet tenu par sa main. Il doit faire un test
|
||||||
|
d'endurance
|
||||||
pour l'utiliser désormais.</strong></li>
|
pour l'utiliser désormais.</strong></li>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{#if (eq loc.categorie "pied")}}
|
{{#if (eq loc.categorie "pied")}}
|
||||||
{{#if (gt blessure.system.value 1)}}
|
{{#if (gt blessure.system.value 1)}}
|
||||||
<li><strong class="chat-result-warning">{{alias}} tombe au sol. Pour se relever et marcher, il doit réussir un test
|
<li><strong class="chat-result-warning">{{defenderName}} tombe au sol. Pour se relever et marcher, il doit réussir
|
||||||
|
un test
|
||||||
d'Endurance à chaque tour.
|
d'Endurance à chaque tour.
|
||||||
</strong></li>
|
</strong></li>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
@@ -33,6 +33,13 @@
|
|||||||
{{#if enableProvidence}}
|
{{#if enableProvidence}}
|
||||||
<li>Un niveau de Providence a été utilisé !</li>
|
<li>Un niveau de Providence a été utilisé !</li>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
|
{{#if hasActions}}
|
||||||
|
<li data-tooltip="Nombre d'actions restantes, avec MG = Main Gauche">Actions restantes: {{remainingActions}}
|
||||||
|
(MG:{{remainingActionsMainGauche}})</li>
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
|
{{#if arme}}
|
||||||
{{#if isViser}}
|
{{#if isViser}}
|
||||||
<li>Bonus de visée (+1 niveau)</li>
|
<li>Bonus de visée (+1 niveau)</li>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
@@ -45,6 +52,7 @@
|
|||||||
{{#if allongeMalus}}
|
{{#if allongeMalus}}
|
||||||
<li>Malus d'allonge: {{allongeMalus}} niveau</li>
|
<li>Malus d'allonge: {{allongeMalus}} niveau</li>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
<li>Dés: {{diceFormula}} </li>
|
<li>Dés: {{diceFormula}} </li>
|
||||||
{{#if isTir}}
|
{{#if isTir}}
|
||||||
|
@@ -86,6 +86,10 @@
|
|||||||
<input type="checkbox" id="roll-charge-a-cheval" {{checked isChargeACheval}} />
|
<input type="checkbox" id="roll-charge-a-cheval" {{checked isChargeACheval}} />
|
||||||
</div>
|
</div>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
<div class="flexrow">
|
||||||
|
<span class="roll-dialog-label">Main gauche ?</span>
|
||||||
|
<input type="checkbox" id="roll-main-gauche" {{checked isMainGauche}} />
|
||||||
|
</div>
|
||||||
<div class="flexrow">
|
<div class="flexrow">
|
||||||
<span class="roll-dialog-label">Attaque ciblée (-1 Niveau): </span>
|
<span class="roll-dialog-label">Attaque ciblée (-1 Niveau): </span>
|
||||||
<select class="" type="text" id="roll-attaque-ciblee" value="{{attaqueCiblee}}" data-dtype="String">
|
<select class="" type="text" id="roll-attaque-ciblee" value="{{attaqueCiblee}}" data-dtype="String">
|
||||||
@@ -96,6 +100,13 @@
|
|||||||
{{/select}}
|
{{/select}}
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
{{else}}
|
||||||
|
<div class="flexrow">
|
||||||
|
<span class="roll-dialog-label">Difficulté : </span>
|
||||||
|
<select class="" type="text" id="roll-difficulty" value="{{difficulty}}" data-dtype="String">
|
||||||
|
{{selectOptions config.difficulte selected=difficulty valueAttr="key" labelAttr="label"}}
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
Reference in New Issue
Block a user