Compare commits

..

No commits in common. "main" and "fvtt-wasteland-v11.0.22" have entirely different histories.

162 changed files with 622 additions and 707 deletions

View File

@ -1,5 +1,4 @@
# Système Foundry pour Wasteland (French RPG, Titam France/Sombres Projets)
Système Foundry pour Wasteland (French RPG, Titam France/Sombres Projets)
## EN ## EN

View File

@ -1,8 +0,0 @@
# 12.0.1
- Fix v12 version
# 11.0.22
- Version initiale
-

View File

@ -1,25 +1,24 @@
{ {
"TYPES": { "ACTOR": {
"Item": { "TypePersonnage": "Personnage",
"arme": "Arme", "TypePNJ": "PNJ"
"competence": "Compétence", },
"protection": "Protection",
"monnaie": "Monnaie", "ITEM": {
"equipement": "Equipement", "TypeArme": "Arme",
"capacite": "Capacité", "TypeCompetence": "Compétence",
"origine": "Origine", "TypeProtection": "Protection",
"heritage": "Héritage", "TypeMonnaie": "Monnaie",
"metier": "Métier", "TypeEquipement": "Equipement",
"bouclier": "Bouclier", "TypeCapacite": "Capacité",
"pouvoir": "Pouvoir", "TypeOrigine": "Origine",
"artifex": "Artifex", "TypeHeritage": "Héritage",
"mutation": "Mutation", "TypeMetier": "Métier",
"charme": "Charme", "TypeBouclier": "Bouclier",
"peuple": "Peuple" "TypePouvoir": "Pouvoir",
}, "TypeArtifex": "Artifex",
"Actor": { "TypeMutation": "Mutation",
"personnage": "Personnage", "TypeCharme": "Charme",
"pnj": "PNJ" "TypePeuple": "Peuple"
}
} }
} }

View File

@ -7,12 +7,12 @@ import { WastelandUtility } from "./wasteland-utility.js";
import { WastelandRollDialog } from "./wasteland-roll-dialog.js"; import { WastelandRollDialog } from "./wasteland-roll-dialog.js";
/* -------------------------------------------- */ /* -------------------------------------------- */
export class WastelandActorSheet extends foundry.appv1.sheets.ActorSheet { export class WastelandActorSheet extends ActorSheet {
/** @override */ /** @override */
static get defaultOptions() { static get defaultOptions() {
return foundry.utils.mergeObject(super.defaultOptions, { return mergeObject(super.defaultOptions, {
classes: ["fvtt-wasteland", "sheet", "actor"], classes: ["fvtt-wasteland", "sheet", "actor"],
template: "systems/fvtt-wasteland/templates/actor-sheet.html", template: "systems/fvtt-wasteland/templates/actor-sheet.html",
width: 640, width: 640,
@ -25,8 +25,8 @@ export class WastelandActorSheet extends foundry.appv1.sheets.ActorSheet {
/* -------------------------------------------- */ /* -------------------------------------------- */
async getData() { async getData() {
const objectData = foundry.utils.duplicate(this.object) const objectData = duplicate(this.object)
let actorData = objectData let actorData = objectData
let formData = { let formData = {
title: this.title, title: this.title,
@ -40,32 +40,31 @@ export class WastelandActorSheet extends foundry.appv1.sheets.ActorSheet {
effects: this.object.effects.map(e => foundry.utils.deepClone(e.data)), effects: this.object.effects.map(e => foundry.utils.deepClone(e.data)),
limited: this.object.limited, limited: this.object.limited,
skills: this.actor.getSkills(), skills: this.actor.getSkills(),
armes: foundry.utils.duplicate(this.actor.getWeapons()), armes: duplicate(this.actor.getWeapons()),
protections: foundry.utils.duplicate(this.actor.getArmors()), protections: duplicate(this.actor.getArmors()),
pouvoirs:foundry.utils.duplicate(this.actor.getPouvoirs()), pouvoirs:duplicate(this.actor.getPouvoirs()),
dons: foundry.utils.duplicate(this.actor.getDons()), dons: duplicate(this.actor.getDons()),
hubrises: foundry.utils.duplicate(this.actor.getHubris()), hubrises: duplicate(this.actor.getHubris()),
tours:foundry.utils.duplicate(this.actor.getTours()), tours:duplicate(this.actor.getTours()),
artifex: foundry.utils.duplicate(this.actor.getArtifex()), artifex: duplicate(this.actor.getArtifex()),
charmes:foundry.utils.duplicate(this.actor.getCharmes()), charmes:duplicate(this.actor.getCharmes()),
peuple: foundry.utils.duplicate(this.actor.getPeuple() || {}), peuple: duplicate(this.actor.getPeuple() || {}),
origine: foundry.utils.duplicate(this.actor.getOrigine() || {}), origine: duplicate(this.actor.getOrigine() || {}),
heritage: foundry.utils.duplicate(this.actor.getHeritage() || {}), heritage: duplicate(this.actor.getHeritage() || {}),
metier: foundry.utils.duplicate(this.actor.getMetier() || {}), metier: duplicate(this.actor.getMetier() || {}),
combat: this.actor.getCombatValues(), combat: this.actor.getCombatValues(),
config: foundry.utils.duplicate(game.system.wasteland.config), config: duplicate(game.system.wasteland.config),
capacites: foundry.utils.duplicate(this.actor.getCapacites()), capacites: duplicate(this.actor.getCapacites()),
equipements: foundry.utils.duplicate(this.actor.getEquipments()), equipements: duplicate(this.actor.getEquipments()),
monnaies: foundry.utils.duplicate(this.actor.getMonnaies()), monnaies: duplicate(this.actor.getMonnaies()),
mutations: foundry.utils.duplicate(this.actor.getMutations()), mutations: duplicate(this.actor.getMutations()),
description: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.biodata.description, {async: true}), description: await TextEditor.enrichHTML(this.object.system.biodata.description, {async: true}),
comportement: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.biodata.comportement, {async: true}), comportement: await TextEditor.enrichHTML(this.object.system.biodata.comportement, {async: true}),
habitat: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.biodata.habitat, {async: true}), habitat: await TextEditor.enrichHTML(this.object.system.biodata.habitat, {async: true}),
options: this.options, options: this.options,
owner: this.document.isOwner, owner: this.document.isOwner,
editScore: this.options.editScore, editScore: this.options.editScore,
isGM: game.user.isGM, isGM: game.user.isGM
config: game.system.wasteland.config
} }
this.formData = formData; this.formData = formData;
@ -73,7 +72,7 @@ export class WastelandActorSheet extends foundry.appv1.sheets.ActorSheet {
return formData; return formData;
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
/** @override */ /** @override */
activateListeners(html) { activateListeners(html) {
@ -81,14 +80,14 @@ export class WastelandActorSheet extends foundry.appv1.sheets.ActorSheet {
// Everything below here is only needed if the sheet is editable // Everything below here is only needed if the sheet is editable
if (!this.options.editable) return; if (!this.options.editable) return;
// Update Inventory Item // Update Inventory Item
html.find('.item-edit').click(ev => { html.find('.item-edit').click(ev => {
const li = $(ev.currentTarget).parents(".item") const li = $(ev.currentTarget).parents(".item")
let itemId = li.data("item-id") let itemId = li.data("item-id")
const item = this.actor.items.get( itemId ) const item = this.actor.items.get( itemId )
item.sheet.render(true) item.sheet.render(true)
}) })
// Delete Inventory Item // Delete Inventory Item
html.find('.item-delete').click(ev => { html.find('.item-delete').click(ev => {
const li = $(ev.currentTarget).parents(".item"); const li = $(ev.currentTarget).parents(".item");
@ -103,7 +102,7 @@ export class WastelandActorSheet extends foundry.appv1.sheets.ActorSheet {
let value = ev.currentTarget.value let value = ev.currentTarget.value
this.actor.editItemField(itemId, itemType, itemField, dataType, value) this.actor.editItemField(itemId, itemType, itemField, dataType, value)
}) })
html.find('.quantity-minus').click(event => { html.find('.quantity-minus').click(event => {
const li = $(event.currentTarget).parents(".item"); const li = $(event.currentTarget).parents(".item");
this.actor.incDecQuantity( li.data("item-id"), -1 ); this.actor.incDecQuantity( li.data("item-id"), -1 );
@ -129,7 +128,7 @@ export class WastelandActorSheet extends foundry.appv1.sheets.ActorSheet {
let charmeId = li.data("item-id") let charmeId = li.data("item-id")
this.actor.rollCharme(charmeId) this.actor.rollCharme(charmeId)
}) })
html.find('.roll-pouvoir').click((event) => { html.find('.roll-pouvoir').click((event) => {
const li = $(event.currentTarget).parents(".item") const li = $(event.currentTarget).parents(".item")
let pouvoirId = li.data("item-id") let pouvoirId = li.data("item-id")
@ -155,19 +154,19 @@ export class WastelandActorSheet extends foundry.appv1.sheets.ActorSheet {
this.actor.createEmbeddedDocuments('Item', [{ name: `Nouveau ${itemType}`, type: itemType }], { renderSheet: true }) this.actor.createEmbeddedDocuments('Item', [{ name: `Nouveau ${itemType}`, type: itemType }], { renderSheet: true })
}) })
html.find('.lock-unlock-sheet').click((event) => { html.find('.lock-unlock-sheet').click((event) => {
this.options.editScore = !this.options.editScore; this.options.editScore = !this.options.editScore;
this.render(true); this.render(true);
}); });
html.find('.item-equip').click(ev => { html.find('.item-equip').click(ev => {
const li = $(ev.currentTarget).parents(".item"); const li = $(ev.currentTarget).parents(".item");
this.actor.equipItem( li.data("item-id") ); this.actor.equipItem( li.data("item-id") );
this.render(true); this.render(true);
}); });
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
/** @override */ /** @override */
setPosition(options = {}) { setPosition(options = {}) {

View File

@ -50,10 +50,10 @@ export class WastelandActor extends Actor {
/* -------------------------------------------- */ /* -------------------------------------------- */
prepareArme(arme) { prepareArme(arme) {
arme = foundry.utils.duplicate(arme) arme = duplicate(arme)
let combat = this.getCombatValues() let combat = this.getCombatValues()
if (arme.system.typearme == "contact" || arme.system.typearme == "contactjet") { if (arme.system.typearme == "contact" || arme.system.typearme == "contactjet") {
arme.system.competence = foundry.utils.duplicate(this.items.find(item => item.type == "competence" && item.name.toLowerCase() == "mêlée")) arme.system.competence = duplicate(this.items.find(item => item.type == "competence" && item.name.toLowerCase() == "mêlée"))
arme.system.attrKey = "pui" arme.system.attrKey = "pui"
arme.system.totalDegats = arme.system.degats + "+" + combat.bonusDegatsTotal arme.system.totalDegats = arme.system.degats + "+" + combat.bonusDegatsTotal
arme.system.totalOffensif = this.system.attributs.pui.value + arme.system.competence.system.niveau + arme.system.bonusmaniementoff arme.system.totalOffensif = this.system.attributs.pui.value + arme.system.competence.system.niveau + arme.system.bonusmaniementoff
@ -62,7 +62,7 @@ export class WastelandActor extends Actor {
} }
} }
if (arme.system.typearme == "jet" || arme.system.typearme == "tir") { if (arme.system.typearme == "jet" || arme.system.typearme == "tir") {
arme.system.competence = foundry.utils.duplicate(this.items.find(item => item.type == "competence" && item.name.toLowerCase() == "armes à distance")) arme.system.competence = duplicate(this.items.find(item => item.type == "competence" && item.name.toLowerCase() == "armes à distance"))
arme.system.attrKey = "adr" arme.system.attrKey = "adr"
arme.system.totalOffensif = this.system.attributs.adr.value + arme.system.competence.system.niveau + arme.system.bonusmaniementoff arme.system.totalOffensif = this.system.attributs.adr.value + arme.system.competence.system.niveau + arme.system.bonusmaniementoff
arme.system.totalDegats = arme.system.degats arme.system.totalDegats = arme.system.degats
@ -74,9 +74,9 @@ export class WastelandActor extends Actor {
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
prepareBouclier(bouclier) { prepareBouclier(bouclier) {
bouclier = foundry.utils.duplicate(bouclier) bouclier = duplicate(bouclier)
let combat = this.getCombatValues() let combat = this.getCombatValues()
bouclier.system.competence = foundry.utils.duplicate(this.items.find(item => item.type == "competence" && item.name.toLowerCase() == "mêlée")) bouclier.system.competence = duplicate(this.items.find(item => item.type == "competence" && item.name.toLowerCase() == "mêlée"))
bouclier.system.attrKey = "pui" bouclier.system.attrKey = "pui"
bouclier.system.totalDegats = bouclier.system.degats + "+" + combat.bonusDegatsTotal bouclier.system.totalDegats = bouclier.system.degats + "+" + combat.bonusDegatsTotal
bouclier.system.totalOffensif = this.system.attributs.pui.value + bouclier.system.competence.system.niveau bouclier.system.totalOffensif = this.system.attributs.pui.value + bouclier.system.competence.system.niveau
@ -160,7 +160,7 @@ export class WastelandActor extends Actor {
getSkills() { getSkills() {
let comp = [] let comp = []
for (let item of this.items) { for (let item of this.items) {
item = foundry.utils.duplicate(item) item = duplicate(item)
if (item.type == "competence") { if (item.type == "competence") {
item.system.attribut1total = item.system.niveau + (this.system.attributs[item.system.attribut1]?.value || 0) item.system.attribut1total = item.system.niveau + (this.system.attributs[item.system.attribut1]?.value || 0)
item.system.attribut2total = item.system.niveau + (this.system.attributs[item.system.attribut2]?.value || 0) item.system.attribut2total = item.system.niveau + (this.system.attributs[item.system.attribut2]?.value || 0)
@ -238,7 +238,7 @@ export class WastelandActor extends Actor {
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
incDecSante(value) { incDecSante(value) {
let sante = foundry.utils.duplicate(this.system.sante) let sante = duplicate(this.system.sante)
sante.letaux += value sante.letaux += value
this.update({ 'system.sante': sante }) this.update({ 'system.sante': sante })
} }
@ -246,7 +246,7 @@ export class WastelandActor extends Actor {
getItemById(id) { getItemById(id) {
let item = this.items.find(item => item.id == id); let item = this.items.find(item => item.id == id);
if (item) { if (item) {
item = foundry.utils.duplicate(item) item = duplicate(item)
} }
return item; return item;
} }
@ -301,7 +301,7 @@ export class WastelandActor extends Actor {
/* -------------------------------------------- */ /* -------------------------------------------- */
subPointsPsyche(value) { subPointsPsyche(value) {
let psyche = foundry.utils.duplicate(this.system.psyche) let psyche = duplicate(this.system.psyche)
psyche.currentmax -= value psyche.currentmax -= value
this.update( {'system.psyche': psyche}) this.update( {'system.psyche': psyche})
} }
@ -340,13 +340,13 @@ export class WastelandActor extends Actor {
getSubActors() { getSubActors() {
let subActors = []; let subActors = [];
for (let id of this.system.subactors) { for (let id of this.system.subactors) {
subActors.push(foundry.utils.duplicate(game.actors.get(id))); subActors.push(duplicate(game.actors.get(id)));
} }
return subActors; return subActors;
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
async addSubActor(subActorId) { async addSubActor(subActorId) {
let subActors = foundry.utils.duplicate(this.system.subactors); let subActors = duplicate(this.system.subactors);
subActors.push(subActorId); subActors.push(subActorId);
await this.update({ 'system.subactors': subActors }); await this.update({ 'system.subactors': subActors });
} }
@ -377,7 +377,7 @@ export class WastelandActor extends Actor {
/* -------------------------------------------- */ /* -------------------------------------------- */
async setPredilectionUsed(compId, predIdx) { async setPredilectionUsed(compId, predIdx) {
let comp = this.items.get(compId) let comp = this.items.get(compId)
let pred = foundry.utils.duplicate(comp.system.predilections) let pred = duplicate(comp.system.predilections)
pred[predIdx].used = true pred[predIdx].used = true
await this.updateEmbeddedDocuments('Item', [{ _id: compId, 'system.predilections': pred }]) await this.updateEmbeddedDocuments('Item', [{ _id: compId, 'system.predilections': pred }])
} }
@ -400,7 +400,7 @@ export class WastelandActor extends Actor {
} }
if ( arme.system.totalDefensif > maxDef) { if ( arme.system.totalDefensif > maxDef) {
maxDef = arme.system.totalDefensif maxDef = arme.system.totalDefensif
bestArme = foundry.utils.duplicate(arme) bestArme = duplicate(arme)
} }
} }
return bestArme return bestArme
@ -417,21 +417,21 @@ export class WastelandActor extends Actor {
rollData.canEclatDoubleD20 = true // Always true in Wastelan rollData.canEclatDoubleD20 = true // Always true in Wastelan
rollData.doubleD20 = false rollData.doubleD20 = false
rollData.attributs = WastelandUtility.getAttributs() rollData.attributs = WastelandUtility.getAttributs()
rollData.config = foundry.utils.duplicate(game.system.wasteland.config) rollData.config = duplicate(game.system.wasteland.config)
if (attrKey) { if (attrKey) {
rollData.attrKey = attrKey rollData.attrKey = attrKey
if (attrKey != "tochoose") { if (attrKey != "tochoose") {
rollData.actionImg = "systems/fvtt-wasteland/assets/icons/" + this.system.attributs[attrKey].labelnorm + ".webp" rollData.actionImg = "systems/fvtt-wasteland/assets/icons/" + this.system.attributs[attrKey].labelnorm + ".webp"
rollData.attr = foundry.utils.duplicate(this.system.attributs[attrKey]) rollData.attr = duplicate(this.system.attributs[attrKey])
} }
} }
if (compId) { if (compId) {
rollData.competence = foundry.utils.duplicate(this.items.get(compId) || {}) rollData.competence = duplicate(this.items.get(compId) || {})
rollData.actionImg = rollData.competence?.img rollData.actionImg = rollData.competence?.img
} }
if (compName) { if (compName) {
rollData.competence = foundry.utils.duplicate(this.items.find( item => item.name.toLowerCase() == compName.toLowerCase()) || {}) rollData.competence = duplicate(this.items.find( item => item.name.toLowerCase() == compName.toLowerCase()) || {})
rollData.actionImg = rollData.competence?.img rollData.actionImg = rollData.competence?.img
} }
return rollData return rollData
@ -459,13 +459,13 @@ export class WastelandActor extends Actor {
/* -------------------------------------------- */ /* -------------------------------------------- */
async rollCharme(charmeId) { async rollCharme(charmeId) {
let rollData = this.getCommonRollData("cla") let rollData = this.getCommonRollData("cla")
rollData.charme = foundry.utils.duplicate(this.items.get(charmeId) || {}) rollData.charme = duplicate(this.items.get(charmeId) || {})
rollData.charmeDice = "1d4" rollData.charmeDice = "1d4"
this.launchRoll(rollData) this.launchRoll(rollData)
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
async rollPouvoir(pouvoirId) { async rollPouvoir(pouvoirId) {
let pouvoir = foundry.utils.duplicate(this.items.get(pouvoirId) || {}) let pouvoir = duplicate(this.items.get(pouvoirId) || {})
if (pouvoir?.system) { if (pouvoir?.system) {
let rollData = this.getCommonRollData(pouvoir.system.attribut, undefined, pouvoir.system.competence) let rollData = this.getCommonRollData(pouvoir.system.attribut, undefined, pouvoir.system.competence)
if (!rollData.competence) { if (!rollData.competence) {
@ -500,7 +500,7 @@ export class WastelandActor extends Actor {
if (arme.type == "bouclier") { if (arme.type == "bouclier") {
arme = this.prepareBouclier(arme) arme = this.prepareBouclier(arme)
} }
let roll = await new Roll(arme.system.totalDegats).roll() let roll = new Roll(arme.system.totalDegats).roll({ async: false })
await WastelandUtility.showDiceSoNice(roll, game.settings.get("core", "rollMode")); await WastelandUtility.showDiceSoNice(roll, game.settings.get("core", "rollMode"));
let rollData = { let rollData = {
arme: arme, arme: arme,

View File

@ -10,7 +10,7 @@ export class WastelandCombat extends Combat {
const c = this.combatants.get(ids[cId]); const c = this.combatants.get(ids[cId]);
let id = c._id || c.id; let id = c._id || c.id;
let initBonus = c.actor ? c.actor.getInitiativeScore() : 0 let initBonus = c.actor ? c.actor.getInitiativeScore() : 0
let roll = await new Roll("1d10 + "+initBonus).roll() let roll = new Roll("1d10 + "+initBonus).roll({ async: false})
await WastelandUtility.showDiceSoNice(roll, game.settings.get("core", "rollMode")) await WastelandUtility.showDiceSoNice(roll, game.settings.get("core", "rollMode"))
//console.log("Init bonus", initBonus, roll.total) //console.log("Init bonus", initBonus, roll.total)
await this.updateEmbeddedDocuments("Combatant", [ { _id: id, initiative: roll.total } ]); await this.updateEmbeddedDocuments("Combatant", [ { _id: id, initiative: roll.total } ]);

View File

@ -36,22 +36,5 @@ export const WASTELAND_CONFIG = {
"chimie": "Chimie", "chimie": "Chimie",
"electricite": "Électricité", "electricite": "Électricité",
"chimerie": "Chimérie", "chimerie": "Chimérie",
},
typeArmeOptions: {
contact: "Arme de contact",
contactjet: "Arme de contact et de Jet",
jet: "Arme de Jet",
tir: "Arme de Tir",
special: "Spécial (capacité/don)"
},
difficulteOptions: {
"0": "Aucune/Inconnue",
"5": "Facile (5)",
"10": "Moyenne (10)",
"15": "Ardue (15)",
"20": "Hasardeuse (20)",
"25": "Insensée (25)",
"30": "Pure Folie (30)"
} }
} }

View File

@ -12,7 +12,7 @@ export class WastelandCreatureSheet extends WastelandActorSheet {
/** @override */ /** @override */
static get defaultOptions() { static get defaultOptions() {
return foundry.utils.mergeObject(super.defaultOptions, { return mergeObject(super.defaultOptions, {
classes: ["fvtt-wasteland", "sheet", "creature"], classes: ["fvtt-wasteland", "sheet", "creature"],
template: "systems/fvtt-wasteland/templates/creature-sheet.html", template: "systems/fvtt-wasteland/templates/creature-sheet.html",
width: 640, width: 640,

View File

@ -4,12 +4,12 @@ import { WastelandUtility } from "./wasteland-utility.js";
* Extend the basic ItemSheet with some very simple modifications * Extend the basic ItemSheet with some very simple modifications
* @extends {ItemSheet} * @extends {ItemSheet}
*/ */
export class WastelandItemSheet extends foundry.appv1.sheets.ItemSheet { export class WastelandItemSheet extends ItemSheet {
/** @override */ /** @override */
static get defaultOptions() { static get defaultOptions() {
return foundry.utils.mergeObject(super.defaultOptions, { return mergeObject(super.defaultOptions, {
classes: ["fvtt-wasteland", "sheet", "item"], classes: ["fvtt-wasteland", "sheet", "item"],
template: "systems/fvtt-wasteland/templates/item-sheet.html", template: "systems/fvtt-wasteland/templates/item-sheet.html",
dragDrop: [{ dragSelector: null, dropSelector: null }], dragDrop: [{ dragSelector: null, dropSelector: null }],
@ -48,8 +48,8 @@ export class WastelandItemSheet extends foundry.appv1.sheets.ItemSheet {
/* -------------------------------------------- */ /* -------------------------------------------- */
async getData() { async getData() {
const objectData = foundry.utils.duplicate(this.object) const objectData = duplicate(this.object)
let itemData = objectData let itemData = objectData
let formData = { let formData = {
title: this.title, title: this.title,
id: this.id, id: this.id,
@ -59,7 +59,7 @@ export class WastelandItemSheet extends foundry.appv1.sheets.ItemSheet {
editable: this.isEditable, editable: this.isEditable,
cssClass: this.isEditable ? "editable" : "locked", cssClass: this.isEditable ? "editable" : "locked",
attributs: WastelandUtility.getAttributs(), attributs: WastelandUtility.getAttributs(),
config: foundry.utils.duplicate(game.system.wasteland.config), config: duplicate(game.system.wasteland.config),
data: itemData.system, data: itemData.system,
system: itemData.system, system: itemData.system,
limited: this.object.limited, limited: this.object.limited,
@ -87,7 +87,7 @@ export class WastelandItemSheet extends foundry.appv1.sheets.ItemSheet {
/* -------------------------------------------- */ /* -------------------------------------------- */
postItem() { postItem() {
let chatData = foundry.utils.duplicate(WastelandUtility.data(this.item)); let chatData = duplicate(WastelandUtility.data(this.item));
if (this.actor) { if (this.actor) {
chatData.actor = { id: this.actor.id }; chatData.actor = { id: this.actor.id };
} }
@ -130,27 +130,27 @@ export class WastelandItemSheet extends foundry.appv1.sheets.ItemSheet {
html.find('.edit-prediction').change(ev => { html.find('.edit-prediction').change(ev => {
const li = $(ev.currentTarget).parents(".prediction-item") const li = $(ev.currentTarget).parents(".prediction-item")
let index = li.data("prediction-index") let index = li.data("prediction-index")
let pred = foundry.utils.duplicate(this.object.system.predilections) let pred = duplicate(this.object.system.predilections)
pred[index].name = ev.currentTarget.value pred[index].name = ev.currentTarget.value
this.object.update( { 'data.predilections': pred }) this.object.update( { 'data.predilections': pred })
}) })
html.find('.delete-prediction').click(ev => { html.find('.delete-prediction').click(ev => {
const li = $(ev.currentTarget).parents(".prediction-item") const li = $(ev.currentTarget).parents(".prediction-item")
let index = li.data("prediction-index") let index = li.data("prediction-index")
let pred = foundry.utils.duplicate(this.object.system.predilections) let pred = duplicate(this.object.system.predilections)
pred.splice(index,1) pred.splice(index,1)
this.object.update( { 'data.predilections': pred }) this.object.update( { 'data.predilections': pred })
}) })
html.find('.use-prediction').change(ev => { html.find('.use-prediction').change(ev => {
const li = $(ev.currentTarget).parents(".prediction-item") const li = $(ev.currentTarget).parents(".prediction-item")
let index = li.data("prediction-index") let index = li.data("prediction-index")
let pred = foundry.utils.duplicate(this.object.system.predilections) let pred = duplicate(this.object.system.predilections)
pred[index].used = ev.currentTarget.checked pred[index].used = ev.currentTarget.checked
this.object.update( { 'data.predilections': pred }) this.object.update( { 'data.predilections': pred })
}) })
html.find('#add-predilection').click(ev => { html.find('#add-predilection').click(ev => {
let pred = foundry.utils.duplicate(this.object.system.predilections) let pred = duplicate(this.object.system.predilections)
pred.push( { name: "Nouvelle prédilection", used: false }) pred.push( { name: "Nouvelle prédilection", used: false })
this.object.update( { 'data.predilections': pred }) this.object.update( { 'data.predilections': pred })
}) })
// Update Inventory Item // Update Inventory Item

View File

@ -30,7 +30,7 @@ Hooks.once("init", async function () {
WastelandUtility.preloadHandlebarsTemplates(); WastelandUtility.preloadHandlebarsTemplates();
/* -------------------------------------------- */ /* -------------------------------------------- */
// Set an initiative formula for the system // Set an initiative formula for the system
CONFIG.Combat.initiative = { CONFIG.Combat.initiative = {
formula: "1d6", formula: "1d6",
decimals: 1 decimals: 1
@ -52,12 +52,12 @@ Hooks.once("init", async function () {
/* -------------------------------------------- */ /* -------------------------------------------- */
// Register sheet application classes // Register sheet application classes
foundry.documents.collections.Actors.unregisterSheet("core", foundry.appv1.sheets.ActorSheet); Actors.unregisterSheet("core", ActorSheet);
foundry.documents.collections.Actors.registerSheet("fvtt-wasteland", WastelandActorSheet, { types: ["personnage"], makeDefault: true }) Actors.registerSheet("fvtt-wasteland", WastelandActorSheet, { types: ["personnage"], makeDefault: true })
foundry.documents.collections.Actors.registerSheet("fvtt-wasteland", WastelandCreatureSheet, { types: ["creature"], makeDefault: false }); Actors.registerSheet("fvtt-wasteland", WastelandCreatureSheet, { types: ["creature"], makeDefault: false });
foundry.documents.collections.Items.unregisterSheet("core", foundry.appv1.sheets.ItemSheet); Items.unregisterSheet("core", ItemSheet);
foundry.documents.collections.Items.registerSheet("fvtt-wasteland", WastelandItemSheet, { makeDefault: true }) Items.registerSheet("fvtt-wasteland", WastelandItemSheet, { makeDefault: true })
WastelandUtility.init(); WastelandUtility.init();
@ -76,6 +76,31 @@ function welcomeMessage() {
` }); ` });
} }
/* -------------------------------------------- */
// Register world usage statistics
function registerUsageCount(registerKey) {
if (game.user.isGM) {
game.settings.register(registerKey, "world-key", {
name: "Unique world key",
scope: "world",
config: false,
default: "",
type: String
});
let worldKey = game.settings.get(registerKey, "world-key")
if (worldKey == undefined || worldKey == "") {
worldKey = randomID(32)
game.settings.set(registerKey, "world-key", worldKey)
}
// Simple API counter
let regURL = `https://www.uberwald.me/fvtt_appcount/count.php?name="${registerKey}"&worldKey="${worldKey}"&version="${game.release.generation}.${game.release.build}"&system="${game.system.id}"&systemversion="${game.system.version}"`
//$.ajaxSetup({
//headers: { 'Access-Control-Allow-Origin': '*' }
//})
$.ajax(regURL)
}
}
/* -------------------------------------------- */ /* -------------------------------------------- */
async function importDefaultScene() { async function importDefaultScene() {
@ -95,6 +120,9 @@ Hooks.once("ready", function () {
WastelandUtility.ready(); WastelandUtility.ready();
registerUsageCount('fvtt-wasteland')
welcomeMessage();
// 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 n'est relié au joueur !"); ui.notifications.info("Attention ! Aucun personnage n'est relié au joueur !");
@ -111,14 +139,6 @@ Hooks.once("ready", function () {
}); });
} }
import("https://www.uberwald.me/fvtt_appcount/count-class-ready.js").then(moduleCounter=>{
console.log("ClassCounter loaded", moduleCounter)
moduleCounter.ClassCounter.registerUsageCount()
}).catch(err=>
console.log("No stats available, giving up.")
)
welcomeMessage();
importDefaultScene(); importDefaultScene();
}); });
@ -136,3 +156,4 @@ Hooks.on("chatMessage", (html, content, msg) => {
} }
return true; return true;
}); });

View File

@ -6,7 +6,7 @@ export class WastelandRollDialog extends Dialog {
static async create(actor, rollData) { static async create(actor, rollData) {
let options = { classes: ["WastelandDialog"], width: 340, height: 'fit-content', 'z-index': 99999 }; let options = { classes: ["WastelandDialog"], width: 340, height: 'fit-content', 'z-index': 99999 };
let html = await foundry.applications.handlebars.renderTemplate('systems/fvtt-wasteland/templates/roll-dialog-generic.html', rollData); let html = await renderTemplate('systems/fvtt-wasteland/templates/roll-dialog-generic.html', rollData);
return new WastelandRollDialog(actor, rollData, html, options); return new WastelandRollDialog(actor, rollData, html, options);
} }
@ -68,6 +68,7 @@ export class WastelandRollDialog extends Dialog {
activateListeners(html) { activateListeners(html) {
super.activateListeners(html); super.activateListeners(html);
var dialog = this;
function onLoad() { function onLoad() {
} }
$(function () { onLoad(); }); $(function () { onLoad(); });

View File

@ -4,7 +4,7 @@ import { WastelandCommands } from "./wasteland-commands.js";
/* -------------------------------------------- */ /* -------------------------------------------- */
const __contrecouptCharme = { const __contrecouptCharme = {
1 : {name: "Effet chromatique", description: "le corps du kobold prend des teintes aussi étranges que voyantes. L'effet sestompe progressivement et 24 heures plus tard, le kobold retrouve ses couleurs dorigine." }, 1 : {name: "Effet chromatique", description: "le corps du kobold prend des teintes aussi étranges que voyantes. L'effet sestompe progressivement et 24 heures plus tard, le kobold retrouve ses couleurs dorigine." },
3 : {name: "Enivrement Kobold", description: "très excité par son premier tour, le kobold doit immédiatement faire un autre tour, pour lequel il emploiera un dé plus gros." }, 3 : {name: "Enivrement Kobold", description: "très excité par son premier tour, le kobold doit immédiatement faire un autre tour, pour lequel il emploiera un dé plus gros." },
5 : {name: "Mutisme superstitieux", description: "le kobold ne doit plus parler» pendant les prochaines 24 heures. S'il le fait malgré tout, les effets de son tour sarrêtent." }, 5 : {name: "Mutisme superstitieux", description: "le kobold ne doit plus parler» pendant les prochaines 24 heures. S'il le fait malgré tout, les effets de son tour sarrêtent." },
7 : {name: "Agité!", description: "le kobold ne tient plus en place. Il ne peut se reposer pendant les prochaines 12 heures. Dès. que 12 heures se sont écoulées, il s'effondre comme une masse et dort 12 heures d'affilée dun sommeil enchanté dont rien ne pourra le réveiller." }, 7 : {name: "Agité!", description: "le kobold ne tient plus en place. Il ne peut se reposer pendant les prochaines 12 heures. Dès. que 12 heures se sont écoulées, il s'effondre comme une masse et dort 12 heures d'affilée dun sommeil enchanté dont rien ne pourra le réveiller." },
@ -14,7 +14,7 @@ const __contrecouptCharme = {
15 : {name: "La petite Mort", description: "le kobold s'endort pour 1420 heures. Rien ni personne ne pourra le tirer de ce sommeil enchanté avant que ce contrecoup ne prenne fin." }, 15 : {name: "La petite Mort", description: "le kobold s'endort pour 1420 heures. Rien ni personne ne pourra le tirer de ce sommeil enchanté avant que ce contrecoup ne prenne fin." },
17 : {name: "Angoisse cauchemardesque", description: "le kobold a une brève vision de pure horreur. Il perd 1420 points de Psyché {s'il doit en perdre plus qu'il nen a, il tombe à 0)." }, 17 : {name: "Angoisse cauchemardesque", description: "le kobold a une brève vision de pure horreur. Il perd 1420 points de Psyché {s'il doit en perdre plus qu'il nen a, il tombe à 0)." },
19 : {name: "Anémie Kobold", description: "le kobold se met à saigner du nez, des oreilles et même dautres endroits. Il perd 1420 point(s) de Santé." } 19 : {name: "Anémie Kobold", description: "le kobold se met à saigner du nez, des oreilles et même dautres endroits. Il perd 1420 point(s) de Santé." }
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
export class WastelandUtility { export class WastelandUtility {
@ -23,11 +23,14 @@ export class WastelandUtility {
/* -------------------------------------------- */ /* -------------------------------------------- */
static async init() { static async init() {
Hooks.on('renderChatLog', (log, html, data) => WastelandUtility.chatListeners(html)) Hooks.on('renderChatLog', (log, html, data) => WastelandUtility.chatListeners(html))
Hooks.on("getChatMessageContextOptions", (html, options) => WastelandUtility.chatRollMenu(html, options)) Hooks.on("getChatLogEntryContext", (html, options) => WastelandUtility.chatRollMenu(html, options))
Hooks.on("getCombatTrackerEntryContext", (html, options) => { Hooks.on("getCombatTrackerEntryContext", (html, options) => {
WastelandUtility.pushInitiativeOptions(html, options); WastelandUtility.pushInitiativeOptions(html, options);
}) })
Hooks.on("dropCanvasData", (canvas, data) => {
WastelandUtility.dropItemOnToken(canvas, data)
});
this.rollDataStore = {} this.rollDataStore = {}
this.defenderStore = {} this.defenderStore = {}
@ -111,28 +114,6 @@ export class WastelandUtility {
static async ready() { static async ready() {
const skills = await WastelandUtility.loadCompendium("fvtt-wasteland.skills") const skills = await WastelandUtility.loadCompendium("fvtt-wasteland.skills")
this.skills = skills.map(i => i.toObject()) this.skills = skills.map(i => i.toObject())
game.system.wasteland.config.listeNiveauSkill = WastelandUtility.createDirectOptionList(0, 10)
game.system.wasteland.config.listeNiveauCreature = WastelandUtility.createDirectOptionList(0, 35)
game.system.wasteland.config.modificateurOptions = WastelandUtility.createArrayOptionList(-15, 15)
game.system.wasteland.config.pointsAmeOptions = WastelandUtility.createDirectOptionList(0, 20)
}
/* -------------------------------------------- */
static createDirectOptionList(min, max) {
let options = {};
for (let i = min; i <= max; i++) {
options[`${i}`] = `${i}`;
}
return options;
}
static createArrayOptionList(min, max) {
let options = [];
for (let i = min; i <= max; i++) {
options.push({key:`${i}`, label:`${i}`});
}
return options;
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
@ -154,14 +135,14 @@ export class WastelandUtility {
/* -------------------------------------------- */ /* -------------------------------------------- */
static async chatListeners(html) { static async chatListeners(html) {
$(html).on("click", '.predilection-reroll', async event => { html.on("click", '.predilection-reroll', async event => {
let predIdx = $(event.currentTarget).data("predilection-index") let predIdx = $(event.currentTarget).data("predilection-index")
let messageId = WastelandUtility.findChatMessageId(event.currentTarget) let messageId = WastelandUtility.findChatMessageId(event.currentTarget)
let message = game.messages.get(messageId) let message = game.messages.get(messageId)
let rollData = message.getFlag("world", "wasteland-roll") let rollData = message.getFlag("world", "wasteland-roll")
let actor = WastelandUtility.getActorFromRollData(rollData) let actor = WastelandUtility.getActorFromRollData(rollData)
await actor.setPredilectionUsed(rollData.competence._id, predIdx) await actor.setPredilectionUsed(rollData.competence._id, predIdx)
rollData.competence = foundry.utils.duplicate(actor.getCompetence(rollData.competence._id)) rollData.competence = duplicate(actor.getCompetence(rollData.competence._id))
await WastelandUtility.rollWasteland(rollData) await WastelandUtility.rollWasteland(rollData)
}) })
} }
@ -171,9 +152,11 @@ export class WastelandUtility {
const templatePaths = [ const templatePaths = [
'systems/fvtt-wasteland/templates/editor-notes-gm.html', 'systems/fvtt-wasteland/templates/editor-notes-gm.html',
'systems/fvtt-wasteland/templates/partial-item-description.html' 'systems/fvtt-wasteland/templates/partial-item-description.html',
'systems/fvtt-wasteland/templates/partial-list-niveau.html',
'systems/fvtt-wasteland/templates/partial-list-niveau-creature.html'
] ]
return foundry.applications.handlebars.loadTemplates(templatePaths); return loadTemplates(templatePaths);
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
@ -205,6 +188,15 @@ export class WastelandUtility {
return undefined; return undefined;
} }
/* -------------------------------------------- */
static createDirectOptionList(min, max) {
let options = {};
for (let i = min; i <= max; i++) {
options[`${i}`] = `${i}`;
}
return options;
}
/* -------------------------------------------- */ /* -------------------------------------------- */
static buildListOptions(min, max) { static buildListOptions(min, max) {
let options = "" let options = ""
@ -229,14 +221,14 @@ export class WastelandUtility {
let id = rollData.rollId; let id = rollData.rollId;
let oldRollData = this.rollDataStore[id] || {}; let oldRollData = this.rollDataStore[id] || {};
let newRollData = foundry.utils.mergeObject(oldRollData, rollData); let newRollData = mergeObject(oldRollData, rollData);
this.rollDataStore[id] = newRollData; this.rollDataStore[id] = newRollData;
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
static saveRollData(rollData) { static saveRollData(rollData) {
game.socket.emit("system.fvtt-wasteland", { game.socket.emit("system.fvtt-wasteland", {
name: "msg_update_roll", data: rollData name: "msg_update_roll", data: rollData
}); // Notify all other clients of the roll }); // Notify all other clients of the roll
this.updateRollData(rollData); this.updateRollData(rollData);
} }
@ -301,10 +293,10 @@ export class WastelandUtility {
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
static async computeResult(rollData, actor) { static computeResult(rollData, actor) {
if (rollData.charme) { if (rollData.charme) {
let resultIndex = false let resultIndex = false
let resTab = foundry.utils.duplicate(rollData.charme.system.resultats) let resTab = duplicate(rollData.charme.system.resultats)
for(let id in resTab) { for(let id in resTab) {
let res = resTab[id] let res = resTab[id]
if (!resultIndex && rollData.finalResult >= res.value) { if (!resultIndex && rollData.finalResult >= res.value) {
@ -314,7 +306,7 @@ export class WastelandUtility {
if (resultIndex) { if (resultIndex) {
rollData.charmeDuree = rollData.charme.system.resultats[resultIndex].description rollData.charmeDuree = rollData.charme.system.resultats[resultIndex].description
} }
let effectRoll = await new Roll(rollData.charmeDice).roll() let effectRoll = new Roll(rollData.charmeDice).roll({ async: false })
if (rollData.charme.system.charmetype == "tour") { if (rollData.charme.system.charmetype == "tour") {
rollData.contrecoupResult = effectRoll.total rollData.contrecoupResult = effectRoll.total
if (rollData.contrecoupResult % 2 == 1) { if (rollData.contrecoupResult % 2 == 1) {
@ -322,8 +314,8 @@ export class WastelandUtility {
} }
} }
if (rollData.charme.system.charmetype == "charme") { if (rollData.charme.system.charmetype == "charme") {
rollData.charmeSante = effectRoll.total rollData.charmeSante = effectRoll.total
actor.incDecSante(rollData.charmeSante) actor.incDecSante(rollData.charmeSante)
} }
} else { } else {
if (rollData.mainDice == "1d20") { if (rollData.mainDice == "1d20") {
@ -339,13 +331,13 @@ export class WastelandUtility {
} }
} }
} }
//console.log("Result : ", rollData) //console.log("Result : ", rollData)
if (rollData.difficulte > 0 && !rollData.isDramatique) { if (rollData.difficulte > 0 && !rollData.isDramatique) {
rollData.isSuccess = (rollData.finalResult >= rollData.difficulte) rollData.isSuccess = (rollData.finalResult >= rollData.difficulte)
rollData.isHeroique = ((rollData.finalResult - rollData.difficulte) >= 10) rollData.isHeroique = ((rollData.finalResult - rollData.difficulte) >= 10)
rollData.isDramatique = ((rollData.finalResult - rollData.difficulte) <= -10) rollData.isDramatique = ((rollData.finalResult - rollData.difficulte) <= -10)
} }
} }
} }
@ -358,7 +350,7 @@ export class WastelandUtility {
} }
if (!rollData.attr) { if (!rollData.attr) {
rollData.actionImg = "systems/fvtt-wasteland/assets/icons/" + actor.system.attributs[rollData.attrKey].labelnorm + ".webp" rollData.actionImg = "systems/fvtt-wasteland/assets/icons/" + actor.system.attributs[rollData.attrKey].labelnorm + ".webp"
rollData.attr = foundry.utils.duplicate(actor.system.attributs[rollData.attrKey]) rollData.attr = duplicate(actor.system.attributs[rollData.attrKey])
} }
if (rollData.charme) { if (rollData.charme) {
@ -370,12 +362,12 @@ export class WastelandUtility {
if (!rollData.isReroll) { if (!rollData.isReroll) {
actor.changeEclat(-1) actor.changeEclat(-1)
} }
} }
} }
//console.log("BEFORE COMP", rollData) //console.log("BEFORE COMP", rollData)
if (rollData.competence) { if (rollData.competence) {
rollData.predilections = foundry.utils.duplicate(rollData.competence.system.predilections.filter(pred => !pred.used) || []) rollData.predilections = duplicate(rollData.competence.system.predilections.filter(pred => !pred.used) || [])
let compmod = (rollData.competence.system.niveau == 0) ? -3 : 0 let compmod = (rollData.competence.system.niveau == 0) ? -3 : 0
rollData.diceFormula += `+${rollData.attr.value}+${rollData.competence.system.niveau}+${rollData.modificateur}+${compmod}` rollData.diceFormula += `+${rollData.attr.value}+${rollData.competence.system.niveau}+${rollData.modificateur}+${compmod}`
} else { } else {
@ -385,17 +377,17 @@ export class WastelandUtility {
rollData.diceFormula += `+${rollData.arme.system.bonusmaniementoff}` rollData.diceFormula += `+${rollData.arme.system.bonusmaniementoff}`
} }
let myRoll = await new Roll(rollData.diceFormula).roll() let myRoll = new Roll(rollData.diceFormula).roll({ async: false })
await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode")) await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
rollData.roll = foundry.utils.duplicate(myRoll) rollData.roll = duplicate(myRoll)
rollData.diceResult = myRoll.terms[0].results[0].result rollData.diceResult = myRoll.terms[0].results[0].result
console.log(">>>> ", myRoll) console.log(">>>> ", myRoll)
rollData.finalResult = myRoll.total rollData.finalResult = myRoll.total
await this.computeResult(rollData, actor) this.computeResult(rollData, actor)
this.createChatWithRollMode(rollData.alias, { this.createChatWithRollMode(rollData.alias, {
content: await foundry.applications.handlebars.renderTemplate(`systems/fvtt-wasteland/templates/chat-generic-result.html`, rollData) content: await renderTemplate(`systems/fvtt-wasteland/templates/chat-generic-result.html`, rollData)
}, rollData) }, rollData)
} }
@ -404,13 +396,13 @@ export class WastelandUtility {
static async bonusRollWasteland(rollData) { static async bonusRollWasteland(rollData) {
rollData.bonusFormula = rollData.addedBonus rollData.bonusFormula = rollData.addedBonus
let bonusRoll = await new Roll(rollData.bonusFormula).roll() let bonusRoll = new Roll(rollData.bonusFormula).roll({ async: false })
await this.showDiceSoNice(bonusRoll, game.settings.get("core", "rollMode")); await this.showDiceSoNice(bonusRoll, game.settings.get("core", "rollMode"));
rollData.bonusRoll = foundry.utils.duplicate(bonusRoll) rollData.bonusRoll = duplicate(bonusRoll)
rollData.finalResult += rollData.bonusRoll.total rollData.finalResult += rollData.bonusRoll.total
await this.computeResult(rollData) this.computeResult(rollData)
this.createChatWithRollMode(rollData.alias, { this.createChatWithRollMode(rollData.alias, {
content: await renderTemplate(`systems/fvtt-wasteland/templates/chat-generic-result.html`, rollData) content: await renderTemplate(`systems/fvtt-wasteland/templates/chat-generic-result.html`, rollData)
@ -440,7 +432,7 @@ export class WastelandUtility {
/* -------------------------------------------- */ /* -------------------------------------------- */
static blindMessageToGM(chatOptions) { static blindMessageToGM(chatOptions) {
let chatGM = foundry.utils.duplicate(chatOptions); let chatGM = duplicate(chatOptions);
chatGM.whisper = this.getUsers(user => user.isGM); chatGM.whisper = this.getUsers(user => user.isGM);
chatGM.content = "Blinde message of " + game.user.name + "<br>" + chatOptions.content; chatGM.content = "Blinde message of " + game.user.name + "<br>" + chatOptions.content;
console.log("blindMessageToGM", chatGM); console.log("blindMessageToGM", chatGM);
@ -502,7 +494,7 @@ export class WastelandUtility {
/* -------------------------------------------- */ /* -------------------------------------------- */
static getBasicRollData() { static getBasicRollData() {
let rollData = { let rollData = {
rollId: foundry.utils.randomID(16), rollId: randomID(16),
rollMode: game.settings.get("core", "rollMode"), rollMode: game.settings.get("core", "rollMode"),
modificateursOptions: this.getModificateurOptions(), modificateursOptions: this.getModificateurOptions(),
pointAmeOptions: this.getPointAmeOptions(), pointAmeOptions: this.getPointAmeOptions(),
@ -535,7 +527,7 @@ export class WastelandUtility {
/* -------------------------------------------- */ /* -------------------------------------------- */
static applyBonneAventureRoll(li, changed, addedBonus) { static applyBonneAventureRoll(li, changed, addedBonus) {
let msgId = $(li).data("message-id") let msgId = li.data("message-id")
let msg = game.messages.get(msgId) let msg = game.messages.get(msgId)
if (msg) { if (msg) {
let rollData = msg.getFlag("world", "wasteland-roll") let rollData = msg.getFlag("world", "wasteland-roll")
@ -554,7 +546,7 @@ export class WastelandUtility {
/* -------------------------------------------- */ /* -------------------------------------------- */
static applyEclatRoll(li, changed, addedBonus) { static applyEclatRoll(li, changed, addedBonus) {
let msgId = $(li).data("message-id") let msgId = li.data("message-id")
let msg = game.messages.get(msgId) let msg = game.messages.get(msgId)
if (msg) { if (msg) {
let rollData = msg.getFlag("world", "wasteland-roll") let rollData = msg.getFlag("world", "wasteland-roll")
@ -571,7 +563,7 @@ export class WastelandUtility {
static chatRollMenu(html, options) { static chatRollMenu(html, options) {
let canApply = li => canvas.tokens.controlled.length && li.find(".wasteland-roll").length let canApply = li => canvas.tokens.controlled.length && li.find(".wasteland-roll").length
let hasBA = function (li) { let hasBA = function (li) {
let message = game.messages.get($(li).attr("data-message-id")) let message = game.messages.get(li.attr("data-message-id"))
let rollData = message.getFlag("world", "wasteland-roll") let rollData = message.getFlag("world", "wasteland-roll")
if (rollData?.actorId) { if (rollData?.actorId) {
let actor = game.actors.get(rollData.actorId) let actor = game.actors.get(rollData.actorId)
@ -581,7 +573,7 @@ export class WastelandUtility {
return false return false
} }
let hasBA2 = function (li) { let hasBA2 = function (li) {
let message = game.messages.get($(li).attr("data-message-id")) let message = game.messages.get(li.attr("data-message-id"))
let rollData = message.getFlag("world", "wasteland-roll") let rollData = message.getFlag("world", "wasteland-roll")
if (rollData?.actorId) { if (rollData?.actorId) {
let actor = game.actors.get(rollData.actorId) let actor = game.actors.get(rollData.actorId)
@ -591,7 +583,7 @@ export class WastelandUtility {
return false return false
} }
let hasBA3 = function (li) { let hasBA3 = function (li) {
let message = game.messages.get($(li).attr("data-message-id")) let message = game.messages.get(li.attr("data-message-id"))
let rollData = message.getFlag("world", "wasteland-roll") let rollData = message.getFlag("world", "wasteland-roll")
if (rollData?.actorId) { if (rollData?.actorId) {
let actor = game.actors.get(rollData.actorId) let actor = game.actors.get(rollData.actorId)
@ -601,7 +593,7 @@ export class WastelandUtility {
return false return false
} }
let hasPE = function (li) { let hasPE = function (li) {
let message = game.messages.get($(li).attr("data-message-id")) let message = game.messages.get(li.attr("data-message-id"))
let rollData = message.getFlag("world", "wasteland-roll") let rollData = message.getFlag("world", "wasteland-roll")
if (rollData?.actorId) { if (rollData?.actorId) {
let actor = game.actors.get(rollData.actorId) let actor = game.actors.get(rollData.actorId)
@ -611,7 +603,7 @@ export class WastelandUtility {
return false return false
} }
let hasPredilection = function (li) { let hasPredilection = function (li) {
let message = game.messages.get($(li).attr("data-message-id")) let message = game.messages.get(li.attr("data-message-id"))
let rollData = message.getFlag("world", "wasteland-roll") let rollData = message.getFlag("world", "wasteland-roll")
if (rollData.competence) { if (rollData.competence) {
let nbPred = rollData.competence.data.predilections.filter(pred => !pred.used).length let nbPred = rollData.competence.data.predilections.filter(pred => !pred.used).length
@ -620,7 +612,7 @@ export class WastelandUtility {
return false return false
} }
let canCompetenceDouble = function (li) { let canCompetenceDouble = function (li) {
let message = game.messages.get($(li).attr("data-message-id")) let message = game.messages.get(li.attr("data-message-id"))
let rollData = message.getFlag("world", "wasteland-roll") let rollData = message.getFlag("world", "wasteland-roll")
if (rollData.competence) { if (rollData.competence) {
return rollData.competence.data.doublebonus return rollData.competence.data.doublebonus

BIN
packs/armes/000140.ldb Normal file

Binary file not shown.

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000207 MANIFEST-000149

View File

@ -1,15 +1,8 @@
2025/04/30-23:34:36.843982 7f4b377fe6c0 Recovering log #205 2024/01/06-14:02:35.981333 7fc5b37fe6c0 Recovering log #147
2025/04/30-23:34:36.854202 7f4b377fe6c0 Delete type=3 #203 2024/01/06-14:02:35.992081 7fc5b37fe6c0 Delete type=3 #145
2025/04/30-23:34:36.854267 7f4b377fe6c0 Delete type=0 #205 2024/01/06-14:02:35.992152 7fc5b37fe6c0 Delete type=0 #147
2025/04/30-23:48:18.868020 7f4b35bff6c0 Level-0 table #210: started 2024/01/06-14:04:38.350683 7fc331fef6c0 Level-0 table #152: started
2025/04/30-23:48:18.871615 7f4b35bff6c0 Level-0 table #210: 9139 bytes OK 2024/01/06-14:04:38.350727 7fc331fef6c0 Level-0 table #152: 0 bytes OK
2025/04/30-23:48:18.878237 7f4b35bff6c0 Delete type=0 #208 2024/01/06-14:04:38.358117 7fc331fef6c0 Delete type=0 #150
2025/04/30-23:48:18.899179 7f4b35bff6c0 Manual compaction at level-0 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end) 2024/01/06-14:04:38.358353 7fc331fef6c0 Manual compaction at level-0 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end)
2025/04/30-23:48:18.908897 7f4b35bff6c0 Manual compaction at level-1 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at '!items!wv5EiePmPTpqFutt' @ 198 : 1 2024/01/06-14:04:38.358422 7fc331fef6c0 Manual compaction at level-1 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end)
2025/04/30-23:48:18.908911 7f4b35bff6c0 Compacting 1@1 + 1@2 files
2025/04/30-23:48:18.912613 7f4b35bff6c0 Generated table #211@1: 40 keys, 9139 bytes
2025/04/30-23:48:18.912644 7f4b35bff6c0 Compacted 1@1 + 1@2 files => 9139 bytes
2025/04/30-23:48:18.918969 7f4b35bff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2025/04/30-23:48:18.919113 7f4b35bff6c0 Delete type=2 #170
2025/04/30-23:48:18.919322 7f4b35bff6c0 Delete type=2 #210
2025/04/30-23:48:18.940456 7f4b35bff6c0 Manual compaction at level-1 from '!items!wv5EiePmPTpqFutt' @ 198 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end)

View File

@ -1,8 +1,8 @@
2025/03/14-14:12:16.222563 7fba4cff96c0 Recovering log #201 2024/01/06-14:01:42.346058 7fc5b2ffd6c0 Recovering log #143
2025/03/14-14:12:16.331822 7fba4cff96c0 Delete type=3 #199 2024/01/06-14:01:42.356967 7fc5b2ffd6c0 Delete type=3 #141
2025/03/14-14:12:16.331880 7fba4cff96c0 Delete type=0 #201 2024/01/06-14:01:42.357089 7fc5b2ffd6c0 Delete type=0 #143
2025/03/14-14:12:43.151120 7fb7affff6c0 Level-0 table #206: started 2024/01/06-14:01:56.817472 7fc331fef6c0 Level-0 table #148: started
2025/03/14-14:12:43.151177 7fb7affff6c0 Level-0 table #206: 0 bytes OK 2024/01/06-14:01:56.817498 7fc331fef6c0 Level-0 table #148: 0 bytes OK
2025/03/14-14:12:43.158103 7fb7affff6c0 Delete type=0 #204 2024/01/06-14:01:56.823602 7fc331fef6c0 Delete type=0 #146
2025/03/14-14:12:43.158243 7fb7affff6c0 Manual compaction at level-0 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end) 2024/01/06-14:01:56.823756 7fc331fef6c0 Manual compaction at level-0 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end)
2025/03/14-14:12:43.158267 7fb7affff6c0 Manual compaction at level-1 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end) 2024/01/06-14:01:56.823787 7fc331fef6c0 Manual compaction at level-1 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end)

BIN
packs/armes/MANIFEST-000149 Normal file

Binary file not shown.

Binary file not shown.

BIN
packs/artifex/000005.ldb Normal file

Binary file not shown.

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000068 MANIFEST-000010

View File

@ -1,15 +1,8 @@
2025/04/30-23:34:36.895184 7f4b377fe6c0 Recovering log #66 2024/01/06-14:02:36.018725 7fc5b2ffd6c0 Recovering log #8
2025/04/30-23:34:36.905592 7f4b377fe6c0 Delete type=3 #64 2024/01/06-14:02:36.029340 7fc5b2ffd6c0 Delete type=3 #6
2025/04/30-23:34:36.905651 7f4b377fe6c0 Delete type=0 #66 2024/01/06-14:02:36.029410 7fc5b2ffd6c0 Delete type=0 #8
2025/04/30-23:48:18.878429 7f4b35bff6c0 Level-0 table #71: started 2024/01/06-14:04:38.371637 7fc331fef6c0 Level-0 table #13: started
2025/04/30-23:48:18.882400 7f4b35bff6c0 Level-0 table #71: 1326 bytes OK 2024/01/06-14:04:38.371664 7fc331fef6c0 Level-0 table #13: 0 bytes OK
2025/04/30-23:48:18.888668 7f4b35bff6c0 Delete type=0 #69 2024/01/06-14:04:38.378180 7fc331fef6c0 Delete type=0 #11
2025/04/30-23:48:18.899190 7f4b35bff6c0 Manual compaction at level-0 from '!items!PqP7BWEkK7aK65yH' @ 72057594037927935 : 1 .. '!items!irEA0eyE731viEYl' @ 0 : 0; will stop at (end) 2024/01/06-14:04:38.384716 7fc331fef6c0 Manual compaction at level-0 from '!items!PqP7BWEkK7aK65yH' @ 72057594037927935 : 1 .. '!items!irEA0eyE731viEYl' @ 0 : 0; will stop at (end)
2025/04/30-23:48:18.929965 7f4b35bff6c0 Manual compaction at level-1 from '!items!PqP7BWEkK7aK65yH' @ 72057594037927935 : 1 .. '!items!irEA0eyE731viEYl' @ 0 : 0; will stop at '!items!irEA0eyE731viEYl' @ 8 : 1 2024/01/06-14:04:38.384782 7fc331fef6c0 Manual compaction at level-1 from '!items!PqP7BWEkK7aK65yH' @ 72057594037927935 : 1 .. '!items!irEA0eyE731viEYl' @ 0 : 0; will stop at (end)
2025/04/30-23:48:18.929978 7f4b35bff6c0 Compacting 1@1 + 1@2 files
2025/04/30-23:48:18.933899 7f4b35bff6c0 Generated table #72@1: 2 keys, 1326 bytes
2025/04/30-23:48:18.933939 7f4b35bff6c0 Compacted 1@1 + 1@2 files => 1326 bytes
2025/04/30-23:48:18.940009 7f4b35bff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2025/04/30-23:48:18.940137 7f4b35bff6c0 Delete type=2 #31
2025/04/30-23:48:18.940329 7f4b35bff6c0 Delete type=2 #71
2025/04/30-23:48:18.940491 7f4b35bff6c0 Manual compaction at level-1 from '!items!irEA0eyE731viEYl' @ 8 : 1 .. '!items!irEA0eyE731viEYl' @ 0 : 0; will stop at (end)

View File

@ -1,8 +1,8 @@
2025/03/14-14:12:16.547348 7fba4dffb6c0 Recovering log #62 2024/01/06-14:01:42.385975 7fc5b3fff6c0 Recovering log #4
2025/03/14-14:12:16.651982 7fba4dffb6c0 Delete type=3 #60 2024/01/06-14:01:42.396407 7fc5b3fff6c0 Delete type=3 #2
2025/03/14-14:12:16.652055 7fba4dffb6c0 Delete type=0 #62 2024/01/06-14:01:42.396463 7fc5b3fff6c0 Delete type=0 #4
2025/03/14-14:12:43.177170 7fb7affff6c0 Level-0 table #67: started 2024/01/06-14:01:56.846084 7fc331fef6c0 Level-0 table #9: started
2025/03/14-14:12:43.177222 7fb7affff6c0 Level-0 table #67: 0 bytes OK 2024/01/06-14:01:56.846133 7fc331fef6c0 Level-0 table #9: 0 bytes OK
2025/03/14-14:12:43.183990 7fb7affff6c0 Delete type=0 #65 2024/01/06-14:01:56.852939 7fc331fef6c0 Delete type=0 #7
2025/03/14-14:12:43.184112 7fb7affff6c0 Manual compaction at level-0 from '!items!PqP7BWEkK7aK65yH' @ 72057594037927935 : 1 .. '!items!irEA0eyE731viEYl' @ 0 : 0; will stop at (end) 2024/01/06-14:01:56.853072 7fc331fef6c0 Manual compaction at level-0 from '!items!PqP7BWEkK7aK65yH' @ 72057594037927935 : 1 .. '!items!irEA0eyE731viEYl' @ 0 : 0; will stop at (end)
2025/03/14-14:12:43.184172 7fb7affff6c0 Manual compaction at level-1 from '!items!PqP7BWEkK7aK65yH' @ 72057594037927935 : 1 .. '!items!irEA0eyE731viEYl' @ 0 : 0; will stop at (end) 2024/01/06-14:01:56.853110 7fc331fef6c0 Manual compaction at level-1 from '!items!PqP7BWEkK7aK65yH' @ 72057594037927935 : 1 .. '!items!irEA0eyE731viEYl' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

BIN
packs/bestiaire/000005.ldb Normal file

Binary file not shown.

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000080 MANIFEST-000022

View File

@ -1,15 +1,8 @@
2025/04/30-23:34:36.716442 7f4b37fff6c0 Recovering log #78 2024/01/06-14:02:35.878062 7fc5b37fe6c0 Recovering log #20
2025/04/30-23:34:36.727453 7f4b37fff6c0 Delete type=3 #76 2024/01/06-14:02:35.888417 7fc5b37fe6c0 Delete type=3 #18
2025/04/30-23:34:36.727523 7f4b37fff6c0 Delete type=0 #78 2024/01/06-14:02:35.888514 7fc5b37fe6c0 Delete type=0 #20
2025/04/30-23:48:18.706181 7f4b35bff6c0 Level-0 table #83: started 2024/01/06-14:04:38.318148 7fc331fef6c0 Level-0 table #25: started
2025/04/30-23:48:18.709827 7f4b35bff6c0 Level-0 table #83: 44954 bytes OK 2024/01/06-14:04:38.318174 7fc331fef6c0 Level-0 table #25: 0 bytes OK
2025/04/30-23:48:18.715963 7f4b35bff6c0 Delete type=0 #81 2024/01/06-14:04:38.324478 7fc331fef6c0 Delete type=0 #23
2025/04/30-23:48:18.728104 7f4b35bff6c0 Manual compaction at level-0 from '!actors!S7FhBajQ5KKhIpj6' @ 72057594037927935 : 1 .. '!folders!BHMWTRHF2lNlAK8u' @ 0 : 0; will stop at (end) 2024/01/06-14:04:38.330991 7fc331fef6c0 Manual compaction at level-0 from '!actors!S7FhBajQ5KKhIpj6' @ 72057594037927935 : 1 .. '!folders!BHMWTRHF2lNlAK8u' @ 0 : 0; will stop at (end)
2025/04/30-23:48:18.762918 7f4b35bff6c0 Manual compaction at level-1 from '!actors!S7FhBajQ5KKhIpj6' @ 72057594037927935 : 1 .. '!folders!BHMWTRHF2lNlAK8u' @ 0 : 0; will stop at '!actors.items!zYffQLFKlxJ5Li83.vNpsdvHgD5qBYYPt' @ 207 : 1 2024/01/06-14:04:38.331028 7fc331fef6c0 Manual compaction at level-1 from '!actors!S7FhBajQ5KKhIpj6' @ 72057594037927935 : 1 .. '!folders!BHMWTRHF2lNlAK8u' @ 0 : 0; will stop at (end)
2025/04/30-23:48:18.762928 7f4b35bff6c0 Compacting 1@1 + 1@2 files
2025/04/30-23:48:18.767038 7f4b35bff6c0 Generated table #84@1: 54 keys, 45104 bytes
2025/04/30-23:48:18.767074 7f4b35bff6c0 Compacted 1@1 + 1@2 files => 45104 bytes
2025/04/30-23:48:18.773021 7f4b35bff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2025/04/30-23:48:18.773163 7f4b35bff6c0 Delete type=2 #43
2025/04/30-23:48:18.773348 7f4b35bff6c0 Delete type=2 #83
2025/04/30-23:48:18.773485 7f4b35bff6c0 Manual compaction at level-1 from '!actors.items!zYffQLFKlxJ5Li83.vNpsdvHgD5qBYYPt' @ 207 : 1 .. '!folders!BHMWTRHF2lNlAK8u' @ 0 : 0; will stop at (end)

View File

@ -1,8 +1,8 @@
2025/03/14-14:12:15.226965 7fba4cff96c0 Recovering log #74 2024/01/06-14:01:42.242252 7fc5b2ffd6c0 Recovering log #16
2025/03/14-14:12:15.314781 7fba4cff96c0 Delete type=3 #72 2024/01/06-14:01:42.253190 7fc5b2ffd6c0 Delete type=3 #14
2025/03/14-14:12:15.314848 7fba4cff96c0 Delete type=0 #74 2024/01/06-14:01:42.253263 7fc5b2ffd6c0 Delete type=0 #16
2025/03/14-14:12:43.118957 7fb7affff6c0 Level-0 table #79: started 2024/01/06-14:01:56.748252 7fc331fef6c0 Level-0 table #21: started
2025/03/14-14:12:43.119018 7fb7affff6c0 Level-0 table #79: 0 bytes OK 2024/01/06-14:01:56.748343 7fc331fef6c0 Level-0 table #21: 0 bytes OK
2025/03/14-14:12:43.124987 7fb7affff6c0 Delete type=0 #77 2024/01/06-14:01:56.755321 7fc331fef6c0 Delete type=0 #19
2025/03/14-14:12:43.132203 7fb7affff6c0 Manual compaction at level-0 from '!actors!S7FhBajQ5KKhIpj6' @ 72057594037927935 : 1 .. '!folders!BHMWTRHF2lNlAK8u' @ 0 : 0; will stop at (end) 2024/01/06-14:01:56.755679 7fc331fef6c0 Manual compaction at level-0 from '!actors!S7FhBajQ5KKhIpj6' @ 72057594037927935 : 1 .. '!folders!BHMWTRHF2lNlAK8u' @ 0 : 0; will stop at (end)
2025/03/14-14:12:43.132285 7fb7affff6c0 Manual compaction at level-1 from '!actors!S7FhBajQ5KKhIpj6' @ 72057594037927935 : 1 .. '!folders!BHMWTRHF2lNlAK8u' @ 0 : 0; will stop at (end) 2024/01/06-14:01:56.766910 7fc331fef6c0 Manual compaction at level-1 from '!actors!S7FhBajQ5KKhIpj6' @ 72057594037927935 : 1 .. '!folders!BHMWTRHF2lNlAK8u' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000068 MANIFEST-000010

View File

@ -1,15 +1,8 @@
2025/04/30-23:34:36.908748 7f4b367fc6c0 Recovering log #66 2024/01/06-14:02:36.031212 7fc5b37fe6c0 Recovering log #8
2025/04/30-23:34:36.918361 7f4b367fc6c0 Delete type=3 #64 2024/01/06-14:02:36.041080 7fc5b37fe6c0 Delete type=3 #6
2025/04/30-23:34:36.918414 7f4b367fc6c0 Delete type=0 #66 2024/01/06-14:02:36.041169 7fc5b37fe6c0 Delete type=0 #8
2025/04/30-23:48:18.972361 7f4b35bff6c0 Level-0 table #71: started 2024/01/06-14:04:38.378297 7fc331fef6c0 Level-0 table #13: started
2025/04/30-23:48:18.975642 7f4b35bff6c0 Level-0 table #71: 901 bytes OK 2024/01/06-14:04:38.378324 7fc331fef6c0 Level-0 table #13: 0 bytes OK
2025/04/30-23:48:18.982652 7f4b35bff6c0 Delete type=0 #69 2024/01/06-14:04:38.384506 7fc331fef6c0 Delete type=0 #11
2025/04/30-23:48:18.982859 7f4b35bff6c0 Manual compaction at level-0 from '!items!JzGNaagJD2jLi9tH' @ 72057594037927935 : 1 .. '!items!LaiHuZ30K4iJr6ce' @ 0 : 0; will stop at (end) 2024/01/06-14:04:38.384734 7fc331fef6c0 Manual compaction at level-0 from '!items!JzGNaagJD2jLi9tH' @ 72057594037927935 : 1 .. '!items!LaiHuZ30K4iJr6ce' @ 0 : 0; will stop at (end)
2025/04/30-23:48:18.992964 7f4b35bff6c0 Manual compaction at level-1 from '!items!JzGNaagJD2jLi9tH' @ 72057594037927935 : 1 .. '!items!LaiHuZ30K4iJr6ce' @ 0 : 0; will stop at '!items!LaiHuZ30K4iJr6ce' @ 8 : 1 2024/01/06-14:04:38.384796 7fc331fef6c0 Manual compaction at level-1 from '!items!JzGNaagJD2jLi9tH' @ 72057594037927935 : 1 .. '!items!LaiHuZ30K4iJr6ce' @ 0 : 0; will stop at (end)
2025/04/30-23:48:18.992976 7f4b35bff6c0 Compacting 1@1 + 1@2 files
2025/04/30-23:48:18.996523 7f4b35bff6c0 Generated table #72@1: 2 keys, 901 bytes
2025/04/30-23:48:18.996557 7f4b35bff6c0 Compacted 1@1 + 1@2 files => 901 bytes
2025/04/30-23:48:19.002824 7f4b35bff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2025/04/30-23:48:19.002965 7f4b35bff6c0 Delete type=2 #31
2025/04/30-23:48:19.003117 7f4b35bff6c0 Delete type=2 #71
2025/04/30-23:48:19.023817 7f4b35bff6c0 Manual compaction at level-1 from '!items!LaiHuZ30K4iJr6ce' @ 8 : 1 .. '!items!LaiHuZ30K4iJr6ce' @ 0 : 0; will stop at (end)

View File

@ -1,8 +1,8 @@
2025/03/14-14:12:16.654330 7fba4cff96c0 Recovering log #62 2024/01/06-14:01:42.398117 7fc5b2ffd6c0 Recovering log #4
2025/03/14-14:12:16.746293 7fba4cff96c0 Delete type=3 #60 2024/01/06-14:01:42.407923 7fc5b2ffd6c0 Delete type=3 #2
2025/03/14-14:12:16.746409 7fba4cff96c0 Delete type=0 #62 2024/01/06-14:01:42.407986 7fc5b2ffd6c0 Delete type=0 #4
2025/03/14-14:12:43.196799 7fb7affff6c0 Level-0 table #67: started 2024/01/06-14:01:56.831445 7fc331fef6c0 Level-0 table #9: started
2025/03/14-14:12:43.196824 7fb7affff6c0 Level-0 table #67: 0 bytes OK 2024/01/06-14:01:56.831485 7fc331fef6c0 Level-0 table #9: 0 bytes OK
2025/03/14-14:12:43.203033 7fb7affff6c0 Delete type=0 #65 2024/01/06-14:01:56.837981 7fc331fef6c0 Delete type=0 #7
2025/03/14-14:12:43.209580 7fb7affff6c0 Manual compaction at level-0 from '!items!JzGNaagJD2jLi9tH' @ 72057594037927935 : 1 .. '!items!LaiHuZ30K4iJr6ce' @ 0 : 0; will stop at (end) 2024/01/06-14:01:56.853054 7fc331fef6c0 Manual compaction at level-0 from '!items!JzGNaagJD2jLi9tH' @ 72057594037927935 : 1 .. '!items!LaiHuZ30K4iJr6ce' @ 0 : 0; will stop at (end)
2025/03/14-14:12:43.209649 7fb7affff6c0 Manual compaction at level-1 from '!items!JzGNaagJD2jLi9tH' @ 72057594037927935 : 1 .. '!items!LaiHuZ30K4iJr6ce' @ 0 : 0; will stop at (end) 2024/01/06-14:01:56.853096 7fc331fef6c0 Manual compaction at level-1 from '!items!JzGNaagJD2jLi9tH' @ 72057594037927935 : 1 .. '!items!LaiHuZ30K4iJr6ce' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

BIN
packs/equipement/000094.ldb Normal file

Binary file not shown.

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000161 MANIFEST-000103

View File

@ -1,15 +1,8 @@
2025/04/30-23:34:36.870151 7f4b36ffd6c0 Recovering log #159 2024/01/06-14:02:36.006548 7fc5b3fff6c0 Recovering log #101
2025/04/30-23:34:36.881113 7f4b36ffd6c0 Delete type=3 #157 2024/01/06-14:02:36.016668 7fc5b3fff6c0 Delete type=3 #99
2025/04/30-23:34:36.881239 7f4b36ffd6c0 Delete type=0 #159 2024/01/06-14:02:36.016734 7fc5b3fff6c0 Delete type=0 #101
2025/04/30-23:48:18.888821 7f4b35bff6c0 Level-0 table #164: started 2024/01/06-14:04:38.364928 7fc331fef6c0 Level-0 table #106: started
2025/04/30-23:48:18.892155 7f4b35bff6c0 Level-0 table #164: 12597 bytes OK 2024/01/06-14:04:38.364954 7fc331fef6c0 Level-0 table #106: 0 bytes OK
2025/04/30-23:48:18.899021 7f4b35bff6c0 Delete type=0 #162 2024/01/06-14:04:38.371537 7fc331fef6c0 Delete type=0 #104
2025/04/30-23:48:18.899201 7f4b35bff6c0 Manual compaction at level-0 from '!folders!JlP90zkPvPcJDq0q' @ 72057594037927935 : 1 .. '!items!zjMDuxKHKJ4vE5UV' @ 0 : 0; will stop at (end) 2024/01/06-14:04:38.384696 7fc331fef6c0 Manual compaction at level-0 from '!folders!JlP90zkPvPcJDq0q' @ 72057594037927935 : 1 .. '!items!zjMDuxKHKJ4vE5UV' @ 0 : 0; will stop at (end)
2025/04/30-23:48:18.919452 7f4b35bff6c0 Manual compaction at level-1 from '!folders!JlP90zkPvPcJDq0q' @ 72057594037927935 : 1 .. '!items!zjMDuxKHKJ4vE5UV' @ 0 : 0; will stop at '!items!zjMDuxKHKJ4vE5UV' @ 418 : 1 2024/01/06-14:04:38.384768 7fc331fef6c0 Manual compaction at level-1 from '!folders!JlP90zkPvPcJDq0q' @ 72057594037927935 : 1 .. '!items!zjMDuxKHKJ4vE5UV' @ 0 : 0; will stop at (end)
2025/04/30-23:48:18.919468 7f4b35bff6c0 Compacting 1@1 + 1@2 files
2025/04/30-23:48:18.923147 7f4b35bff6c0 Generated table #165@1: 70 keys, 13743 bytes
2025/04/30-23:48:18.923180 7f4b35bff6c0 Compacted 1@1 + 1@2 files => 13743 bytes
2025/04/30-23:48:18.929583 7f4b35bff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2025/04/30-23:48:18.929705 7f4b35bff6c0 Delete type=2 #124
2025/04/30-23:48:18.929864 7f4b35bff6c0 Delete type=2 #164
2025/04/30-23:48:18.940473 7f4b35bff6c0 Manual compaction at level-1 from '!items!zjMDuxKHKJ4vE5UV' @ 418 : 1 .. '!items!zjMDuxKHKJ4vE5UV' @ 0 : 0; will stop at (end)

View File

@ -1,8 +1,8 @@
2025/03/14-14:12:16.441764 7fba4e7fc6c0 Recovering log #155 2024/01/06-14:01:42.371814 7fc5b27fc6c0 Recovering log #97
2025/03/14-14:12:16.537350 7fba4e7fc6c0 Delete type=3 #153 2024/01/06-14:01:42.382977 7fc5b27fc6c0 Delete type=3 #95
2025/03/14-14:12:16.537465 7fba4e7fc6c0 Delete type=0 #155 2024/01/06-14:01:42.383043 7fc5b27fc6c0 Delete type=0 #97
2025/03/14-14:12:43.170716 7fb7affff6c0 Level-0 table #160: started 2024/01/06-14:01:56.823868 7fc331fef6c0 Level-0 table #102: started
2025/03/14-14:12:43.170742 7fb7affff6c0 Level-0 table #160: 0 bytes OK 2024/01/06-14:01:56.823891 7fc331fef6c0 Level-0 table #102: 0 bytes OK
2025/03/14-14:12:43.176998 7fb7affff6c0 Delete type=0 #158 2024/01/06-14:01:56.831270 7fc331fef6c0 Delete type=0 #100
2025/03/14-14:12:43.184102 7fb7affff6c0 Manual compaction at level-0 from '!folders!JlP90zkPvPcJDq0q' @ 72057594037927935 : 1 .. '!items!zjMDuxKHKJ4vE5UV' @ 0 : 0; will stop at (end) 2024/01/06-14:01:56.853043 7fc331fef6c0 Manual compaction at level-0 from '!folders!JlP90zkPvPcJDq0q' @ 72057594037927935 : 1 .. '!items!zjMDuxKHKJ4vE5UV' @ 0 : 0; will stop at (end)
2025/03/14-14:12:43.184156 7fb7affff6c0 Manual compaction at level-1 from '!folders!JlP90zkPvPcJDq0q' @ 72057594037927935 : 1 .. '!items!zjMDuxKHKJ4vE5UV' @ 0 : 0; will stop at (end) 2024/01/06-14:01:56.853082 7fc331fef6c0 Manual compaction at level-1 from '!folders!JlP90zkPvPcJDq0q' @ 72057594037927935 : 1 .. '!items!zjMDuxKHKJ4vE5UV' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

BIN
packs/heritages/000164.ldb Normal file

Binary file not shown.

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000231 MANIFEST-000173

View File

@ -1,15 +1,8 @@
2025/04/30-23:34:36.801202 7f4b377fe6c0 Recovering log #229 2024/01/06-14:02:35.943568 7fc5b27fc6c0 Recovering log #171
2025/04/30-23:34:36.811770 7f4b377fe6c0 Delete type=3 #227 2024/01/06-14:02:35.954177 7fc5b27fc6c0 Delete type=3 #169
2025/04/30-23:34:36.811874 7f4b377fe6c0 Delete type=0 #229 2024/01/06-14:02:35.954302 7fc5b27fc6c0 Delete type=0 #171
2025/04/30-23:48:18.794531 7f4b35bff6c0 Level-0 table #234: started 2024/01/06-14:04:38.324678 7fc331fef6c0 Level-0 table #176: started
2025/04/30-23:48:18.797886 7f4b35bff6c0 Level-0 table #234: 9428 bytes OK 2024/01/06-14:04:38.324702 7fc331fef6c0 Level-0 table #176: 0 bytes OK
2025/04/30-23:48:18.803898 7f4b35bff6c0 Delete type=0 #232 2024/01/06-14:04:38.330845 7fc331fef6c0 Delete type=0 #174
2025/04/30-23:48:18.814497 7f4b35bff6c0 Manual compaction at level-0 from '!items!276PAK1VR5LK4rbE' @ 72057594037927935 : 1 .. '!items!nYYX7rtSMGFO4xVY' @ 0 : 0; will stop at (end) 2024/01/06-14:04:38.331005 7fc331fef6c0 Manual compaction at level-0 from '!items!276PAK1VR5LK4rbE' @ 72057594037927935 : 1 .. '!items!nYYX7rtSMGFO4xVY' @ 0 : 0; will stop at (end)
2025/04/30-23:48:18.835756 7f4b35bff6c0 Manual compaction at level-1 from '!items!276PAK1VR5LK4rbE' @ 72057594037927935 : 1 .. '!items!nYYX7rtSMGFO4xVY' @ 0 : 0; will stop at '!items!nYYX7rtSMGFO4xVY' @ 50 : 1 2024/01/06-14:04:38.331020 7fc331fef6c0 Manual compaction at level-1 from '!items!276PAK1VR5LK4rbE' @ 72057594037927935 : 1 .. '!items!nYYX7rtSMGFO4xVY' @ 0 : 0; will stop at (end)
2025/04/30-23:48:18.835774 7f4b35bff6c0 Compacting 1@1 + 1@2 files
2025/04/30-23:48:18.839323 7f4b35bff6c0 Generated table #235@1: 10 keys, 9428 bytes
2025/04/30-23:48:18.839351 7f4b35bff6c0 Compacted 1@1 + 1@2 files => 9428 bytes
2025/04/30-23:48:18.846314 7f4b35bff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2025/04/30-23:48:18.846437 7f4b35bff6c0 Delete type=2 #194
2025/04/30-23:48:18.846585 7f4b35bff6c0 Delete type=2 #234
2025/04/30-23:48:18.856744 7f4b35bff6c0 Manual compaction at level-1 from '!items!nYYX7rtSMGFO4xVY' @ 50 : 1 .. '!items!nYYX7rtSMGFO4xVY' @ 0 : 0; will stop at (end)

View File

@ -1,8 +1,8 @@
2025/03/14-14:12:15.786018 7fba4d7fa6c0 Recovering log #225 2024/01/06-14:01:42.306371 7fc5b37fe6c0 Recovering log #167
2025/03/14-14:12:15.880213 7fba4d7fa6c0 Delete type=3 #223 2024/01/06-14:01:42.319696 7fc5b37fe6c0 Delete type=3 #165
2025/03/14-14:12:15.880325 7fba4d7fa6c0 Delete type=0 #225 2024/01/06-14:01:42.319750 7fc5b37fe6c0 Delete type=0 #167
2025/03/14-14:12:43.138938 7fb7affff6c0 Level-0 table #230: started 2024/01/06-14:01:56.795171 7fc331fef6c0 Level-0 table #172: started
2025/03/14-14:12:43.138968 7fb7affff6c0 Level-0 table #230: 0 bytes OK 2024/01/06-14:01:56.795214 7fc331fef6c0 Level-0 table #172: 0 bytes OK
2025/03/14-14:12:43.144957 7fb7affff6c0 Delete type=0 #228 2024/01/06-14:01:56.802611 7fc331fef6c0 Delete type=0 #170
2025/03/14-14:12:43.158220 7fb7affff6c0 Manual compaction at level-0 from '!items!276PAK1VR5LK4rbE' @ 72057594037927935 : 1 .. '!items!nYYX7rtSMGFO4xVY' @ 0 : 0; will stop at (end) 2024/01/06-14:01:56.823728 7fc331fef6c0 Manual compaction at level-0 from '!items!276PAK1VR5LK4rbE' @ 72057594037927935 : 1 .. '!items!nYYX7rtSMGFO4xVY' @ 0 : 0; will stop at (end)
2025/03/14-14:12:43.158259 7fb7affff6c0 Manual compaction at level-1 from '!items!276PAK1VR5LK4rbE' @ 72057594037927935 : 1 .. '!items!nYYX7rtSMGFO4xVY' @ 0 : 0; will stop at (end) 2024/01/06-14:01:56.823763 7fc331fef6c0 Manual compaction at level-1 from '!items!276PAK1VR5LK4rbE' @ 72057594037927935 : 1 .. '!items!nYYX7rtSMGFO4xVY' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

BIN
packs/heros/000005.ldb Normal file

Binary file not shown.

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000068 MANIFEST-000010

View File

@ -1,15 +1,8 @@
2025/04/30-23:34:36.740855 7f4b367fc6c0 Recovering log #66 2024/01/06-14:02:35.890662 7fc5b27fc6c0 Recovering log #8
2025/04/30-23:34:36.750397 7f4b367fc6c0 Delete type=3 #64 2024/01/06-14:02:35.901254 7fc5b27fc6c0 Delete type=3 #6
2025/04/30-23:34:36.750518 7f4b367fc6c0 Delete type=0 #66 2024/01/06-14:02:35.901321 7fc5b27fc6c0 Delete type=0 #8
2025/04/30-23:48:18.693918 7f4b35bff6c0 Level-0 table #71: started 2024/01/06-14:04:38.287507 7fc331fef6c0 Level-0 table #13: started
2025/04/30-23:48:18.699827 7f4b35bff6c0 Level-0 table #71: 216867 bytes OK 2024/01/06-14:04:38.287560 7fc331fef6c0 Level-0 table #13: 0 bytes OK
2025/04/30-23:48:18.705987 7f4b35bff6c0 Delete type=0 #69 2024/01/06-14:04:38.294328 7fc331fef6c0 Delete type=0 #11
2025/04/30-23:48:18.728095 7f4b35bff6c0 Manual compaction at level-0 from '!actors!2UqntsuFwDpHOKJ6' @ 72057594037927935 : 1 .. '!actors.items!hJb4itLSBq7V4ite.yaFBnMJeBvED0JeP' @ 0 : 0; will stop at (end) 2024/01/06-14:04:38.294611 7fc331fef6c0 Manual compaction at level-0 from '!actors!2UqntsuFwDpHOKJ6' @ 72057594037927935 : 1 .. '!actors.items!hJb4itLSBq7V4ite.yaFBnMJeBvED0JeP' @ 0 : 0; will stop at (end)
2025/04/30-23:48:18.737814 7f4b35bff6c0 Manual compaction at level-1 from '!actors!2UqntsuFwDpHOKJ6' @ 72057594037927935 : 1 .. '!actors.items!hJb4itLSBq7V4ite.yaFBnMJeBvED0JeP' @ 0 : 0; will stop at '!actors.items!hJb4itLSBq7V4ite.yaFBnMJeBvED0JeP' @ 1036 : 1 2024/01/06-14:04:38.304483 7fc331fef6c0 Manual compaction at level-1 from '!actors!2UqntsuFwDpHOKJ6' @ 72057594037927935 : 1 .. '!actors.items!hJb4itLSBq7V4ite.yaFBnMJeBvED0JeP' @ 0 : 0; will stop at (end)
2025/04/30-23:48:18.737824 7f4b35bff6c0 Compacting 1@1 + 1@2 files
2025/04/30-23:48:18.744036 7f4b35bff6c0 Generated table #72@1: 261 keys, 216867 bytes
2025/04/30-23:48:18.744064 7f4b35bff6c0 Compacted 1@1 + 1@2 files => 216867 bytes
2025/04/30-23:48:18.749918 7f4b35bff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2025/04/30-23:48:18.750041 7f4b35bff6c0 Delete type=2 #31
2025/04/30-23:48:18.750188 7f4b35bff6c0 Delete type=2 #71
2025/04/30-23:48:18.773461 7f4b35bff6c0 Manual compaction at level-1 from '!actors.items!hJb4itLSBq7V4ite.yaFBnMJeBvED0JeP' @ 1036 : 1 .. '!actors.items!hJb4itLSBq7V4ite.yaFBnMJeBvED0JeP' @ 0 : 0; will stop at (end)

View File

@ -1,8 +1,8 @@
2025/03/14-14:12:15.324808 7fba4d7fa6c0 Recovering log #62 2024/01/06-14:01:42.255639 7fc5b37fe6c0 Recovering log #4
2025/03/14-14:12:15.411092 7fba4d7fa6c0 Delete type=3 #60 2024/01/06-14:01:42.265512 7fc5b37fe6c0 Delete type=3 #2
2025/03/14-14:12:15.411167 7fba4d7fa6c0 Delete type=0 #62 2024/01/06-14:01:42.265637 7fc5b37fe6c0 Delete type=0 #4
2025/03/14-14:12:43.105838 7fb7affff6c0 Level-0 table #67: started 2024/01/06-14:01:56.773277 7fc331fef6c0 Level-0 table #9: started
2025/03/14-14:12:43.105882 7fb7affff6c0 Level-0 table #67: 0 bytes OK 2024/01/06-14:01:56.773302 7fc331fef6c0 Level-0 table #9: 0 bytes OK
2025/03/14-14:12:43.112421 7fb7affff6c0 Delete type=0 #65 2024/01/06-14:01:56.780579 7fc331fef6c0 Delete type=0 #7
2025/03/14-14:12:43.132151 7fb7affff6c0 Manual compaction at level-0 from '!actors!2UqntsuFwDpHOKJ6' @ 72057594037927935 : 1 .. '!actors.items!hJb4itLSBq7V4ite.yaFBnMJeBvED0JeP' @ 0 : 0; will stop at (end) 2024/01/06-14:01:56.788099 7fc331fef6c0 Manual compaction at level-0 from '!actors!2UqntsuFwDpHOKJ6' @ 72057594037927935 : 1 .. '!actors.items!hJb4itLSBq7V4ite.yaFBnMJeBvED0JeP' @ 0 : 0; will stop at (end)
2025/03/14-14:12:43.132247 7fb7affff6c0 Manual compaction at level-1 from '!actors!2UqntsuFwDpHOKJ6' @ 72057594037927935 : 1 .. '!actors.items!hJb4itLSBq7V4ite.yaFBnMJeBvED0JeP' @ 0 : 0; will stop at (end) 2024/01/06-14:01:56.794978 7fc331fef6c0 Manual compaction at level-1 from '!actors!2UqntsuFwDpHOKJ6' @ 72057594037927935 : 1 .. '!actors.items!hJb4itLSBq7V4ite.yaFBnMJeBvED0JeP' @ 0 : 0; will stop at (end)

BIN
packs/heros/MANIFEST-000010 Normal file

Binary file not shown.

Binary file not shown.

BIN
packs/metiers/000164.ldb Normal file

Binary file not shown.

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000231 MANIFEST-000173

View File

@ -1,15 +1,8 @@
2025/04/30-23:34:36.814963 7f4b37fff6c0 Recovering log #229 2024/01/06-14:02:35.956163 7fc5b3fff6c0 Recovering log #171
2025/04/30-23:34:36.825386 7f4b37fff6c0 Delete type=3 #227 2024/01/06-14:02:35.966944 7fc5b3fff6c0 Delete type=3 #169
2025/04/30-23:34:36.825500 7f4b37fff6c0 Delete type=0 #229 2024/01/06-14:02:35.967042 7fc5b3fff6c0 Delete type=0 #171
2025/04/30-23:48:18.783696 7f4b35bff6c0 Level-0 table #234: started 2024/01/06-14:04:38.337558 7fc331fef6c0 Level-0 table #176: started
2025/04/30-23:48:18.787900 7f4b35bff6c0 Level-0 table #234: 36752 bytes OK 2024/01/06-14:04:38.337600 7fc331fef6c0 Level-0 table #176: 0 bytes OK
2025/04/30-23:48:18.794332 7f4b35bff6c0 Delete type=0 #232 2024/01/06-14:04:38.343987 7fc331fef6c0 Delete type=0 #174
2025/04/30-23:48:18.814486 7f4b35bff6c0 Manual compaction at level-0 from '!items!1zbNJIOmrsThaKFU' @ 72057594037927935 : 1 .. '!items!y0G0VMyygxIj4Y7F' @ 0 : 0; will stop at (end) 2024/01/06-14:04:38.358301 7fc331fef6c0 Manual compaction at level-0 from '!items!1zbNJIOmrsThaKFU' @ 72057594037927935 : 1 .. '!items!y0G0VMyygxIj4Y7F' @ 0 : 0; will stop at (end)
2025/04/30-23:48:18.824946 7f4b35bff6c0 Manual compaction at level-1 from '!items!1zbNJIOmrsThaKFU' @ 72057594037927935 : 1 .. '!items!y0G0VMyygxIj4Y7F' @ 0 : 0; will stop at '!items!y0G0VMyygxIj4Y7F' @ 95 : 1 2024/01/06-14:04:38.358386 7fc331fef6c0 Manual compaction at level-1 from '!items!1zbNJIOmrsThaKFU' @ 72057594037927935 : 1 .. '!items!y0G0VMyygxIj4Y7F' @ 0 : 0; will stop at (end)
2025/04/30-23:48:18.824958 7f4b35bff6c0 Compacting 1@1 + 1@2 files
2025/04/30-23:48:18.829069 7f4b35bff6c0 Generated table #235@1: 19 keys, 36752 bytes
2025/04/30-23:48:18.829106 7f4b35bff6c0 Compacted 1@1 + 1@2 files => 36752 bytes
2025/04/30-23:48:18.835188 7f4b35bff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2025/04/30-23:48:18.835339 7f4b35bff6c0 Delete type=2 #194
2025/04/30-23:48:18.835566 7f4b35bff6c0 Delete type=2 #234
2025/04/30-23:48:18.856732 7f4b35bff6c0 Manual compaction at level-1 from '!items!y0G0VMyygxIj4Y7F' @ 95 : 1 .. '!items!y0G0VMyygxIj4Y7F' @ 0 : 0; will stop at (end)

View File

@ -1,8 +1,8 @@
2025/03/14-14:12:15.896685 7fba4e7fc6c0 Recovering log #225 2024/01/06-14:01:42.321425 7fc5b27fc6c0 Recovering log #167
2025/03/14-14:12:16.010368 7fba4e7fc6c0 Delete type=3 #223 2024/01/06-14:01:42.331552 7fc5b27fc6c0 Delete type=3 #165
2025/03/14-14:12:16.010445 7fba4e7fc6c0 Delete type=0 #225 2024/01/06-14:01:42.331610 7fc5b27fc6c0 Delete type=0 #167
2025/03/14-14:12:43.145023 7fb7affff6c0 Level-0 table #230: started 2024/01/06-14:01:56.809288 7fc331fef6c0 Level-0 table #172: started
2025/03/14-14:12:43.145042 7fb7affff6c0 Level-0 table #230: 0 bytes OK 2024/01/06-14:01:56.809323 7fc331fef6c0 Level-0 table #172: 0 bytes OK
2025/03/14-14:12:43.150990 7fb7affff6c0 Delete type=0 #228 2024/01/06-14:01:56.817337 7fc331fef6c0 Delete type=0 #170
2025/03/14-14:12:43.158232 7fb7affff6c0 Manual compaction at level-0 from '!items!1zbNJIOmrsThaKFU' @ 72057594037927935 : 1 .. '!items!y0G0VMyygxIj4Y7F' @ 0 : 0; will stop at (end) 2024/01/06-14:01:56.823747 7fc331fef6c0 Manual compaction at level-0 from '!items!1zbNJIOmrsThaKFU' @ 72057594037927935 : 1 .. '!items!y0G0VMyygxIj4Y7F' @ 0 : 0; will stop at (end)
2025/03/14-14:12:43.158274 7fb7affff6c0 Manual compaction at level-1 from '!items!1zbNJIOmrsThaKFU' @ 72057594037927935 : 1 .. '!items!y0G0VMyygxIj4Y7F' @ 0 : 0; will stop at (end) 2024/01/06-14:01:56.823780 7fc331fef6c0 Manual compaction at level-1 from '!items!1zbNJIOmrsThaKFU' @ 72057594037927935 : 1 .. '!items!y0G0VMyygxIj4Y7F' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

BIN
packs/mutations/000005.ldb Normal file

Binary file not shown.

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000068 MANIFEST-000010

View File

@ -1,15 +1,8 @@
2025/04/30-23:34:36.921742 7f4b36ffd6c0 Recovering log #66 2024/01/06-14:02:36.042818 7fc5b27fc6c0 Recovering log #8
2025/04/30-23:34:36.932497 7f4b36ffd6c0 Delete type=3 #64 2024/01/06-14:02:36.053122 7fc5b27fc6c0 Delete type=3 #6
2025/04/30-23:34:36.932569 7f4b36ffd6c0 Delete type=0 #66 2024/01/06-14:02:36.053189 7fc5b27fc6c0 Delete type=0 #8
2025/04/30-23:48:18.951413 7f4b35bff6c0 Level-0 table #71: started 2024/01/06-14:04:38.392638 7fc331fef6c0 Level-0 table #13: started
2025/04/30-23:48:18.954652 7f4b35bff6c0 Level-0 table #71: 592 bytes OK 2024/01/06-14:04:38.392680 7fc331fef6c0 Level-0 table #13: 0 bytes OK
2025/04/30-23:48:18.960998 7f4b35bff6c0 Delete type=0 #69 2024/01/06-14:04:38.398985 7fc331fef6c0 Delete type=0 #11
2025/04/30-23:48:18.982837 7f4b35bff6c0 Manual compaction at level-0 from '!items!Vnpf6cKVHyd3ugnY' @ 72057594037927935 : 1 .. '!items!Vnpf6cKVHyd3ugnY' @ 0 : 0; will stop at (end) 2024/01/06-14:04:38.413205 7fc331fef6c0 Manual compaction at level-0 from '!items!Vnpf6cKVHyd3ugnY' @ 72057594037927935 : 1 .. '!items!Vnpf6cKVHyd3ugnY' @ 0 : 0; will stop at (end)
2025/04/30-23:48:19.003217 7f4b35bff6c0 Manual compaction at level-1 from '!items!Vnpf6cKVHyd3ugnY' @ 72057594037927935 : 1 .. '!items!Vnpf6cKVHyd3ugnY' @ 0 : 0; will stop at '!items!Vnpf6cKVHyd3ugnY' @ 4 : 1 2024/01/06-14:04:38.413234 7fc331fef6c0 Manual compaction at level-1 from '!items!Vnpf6cKVHyd3ugnY' @ 72057594037927935 : 1 .. '!items!Vnpf6cKVHyd3ugnY' @ 0 : 0; will stop at (end)
2025/04/30-23:48:19.003230 7f4b35bff6c0 Compacting 1@1 + 1@2 files
2025/04/30-23:48:19.006452 7f4b35bff6c0 Generated table #72@1: 1 keys, 592 bytes
2025/04/30-23:48:19.006478 7f4b35bff6c0 Compacted 1@1 + 1@2 files => 592 bytes
2025/04/30-23:48:19.012900 7f4b35bff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2025/04/30-23:48:19.013022 7f4b35bff6c0 Delete type=2 #31
2025/04/30-23:48:19.013154 7f4b35bff6c0 Delete type=2 #71
2025/04/30-23:48:19.023828 7f4b35bff6c0 Manual compaction at level-1 from '!items!Vnpf6cKVHyd3ugnY' @ 4 : 1 .. '!items!Vnpf6cKVHyd3ugnY' @ 0 : 0; will stop at (end)

View File

@ -1,8 +1,8 @@
2025/03/14-14:12:16.749353 7fba4d7fa6c0 Recovering log #62 2024/01/06-14:01:42.409571 7fc5b37fe6c0 Recovering log #4
2025/03/14-14:12:16.836584 7fba4d7fa6c0 Delete type=3 #60 2024/01/06-14:01:42.420139 7fc5b37fe6c0 Delete type=3 #2
2025/03/14-14:12:16.836694 7fba4d7fa6c0 Delete type=0 #62 2024/01/06-14:01:42.420191 7fc5b37fe6c0 Delete type=0 #4
2025/03/14-14:12:43.184290 7fb7affff6c0 Level-0 table #67: started 2024/01/06-14:01:56.853200 7fc331fef6c0 Level-0 table #9: started
2025/03/14-14:12:43.184339 7fb7affff6c0 Level-0 table #67: 0 bytes OK 2024/01/06-14:01:56.853254 7fc331fef6c0 Level-0 table #9: 0 bytes OK
2025/03/14-14:12:43.190473 7fb7affff6c0 Delete type=0 #65 2024/01/06-14:01:56.860268 7fc331fef6c0 Delete type=0 #7
2025/03/14-14:12:43.209530 7fb7affff6c0 Manual compaction at level-0 from '!items!Vnpf6cKVHyd3ugnY' @ 72057594037927935 : 1 .. '!items!Vnpf6cKVHyd3ugnY' @ 0 : 0; will stop at (end) 2024/01/06-14:01:56.880844 7fc331fef6c0 Manual compaction at level-0 from '!items!Vnpf6cKVHyd3ugnY' @ 72057594037927935 : 1 .. '!items!Vnpf6cKVHyd3ugnY' @ 0 : 0; will stop at (end)
2025/03/14-14:12:43.209635 7fb7affff6c0 Manual compaction at level-1 from '!items!Vnpf6cKVHyd3ugnY' @ 72057594037927935 : 1 .. '!items!Vnpf6cKVHyd3ugnY' @ 0 : 0; will stop at (end) 2024/01/06-14:01:56.880959 7fc331fef6c0 Manual compaction at level-1 from '!items!Vnpf6cKVHyd3ugnY' @ 72057594037927935 : 1 .. '!items!Vnpf6cKVHyd3ugnY' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

BIN
packs/origines/000165.ldb Normal file

Binary file not shown.

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000232 MANIFEST-000174

View File

@ -1,15 +1,8 @@
2025/04/30-23:34:36.786043 7f4b367fc6c0 Recovering log #230 2024/01/06-14:02:35.930638 7fc5b37fe6c0 Recovering log #172
2025/04/30-23:34:36.796376 7f4b367fc6c0 Delete type=3 #228 2024/01/06-14:02:35.940616 7fc5b37fe6c0 Delete type=3 #170
2025/04/30-23:34:36.796441 7f4b367fc6c0 Delete type=0 #230 2024/01/06-14:02:35.940695 7fc5b37fe6c0 Delete type=0 #172
2025/04/30-23:48:18.773627 7f4b35bff6c0 Level-0 table #235: started 2024/01/06-14:04:38.331081 7fc331fef6c0 Level-0 table #177: started
2025/04/30-23:48:18.777371 7f4b35bff6c0 Level-0 table #235: 32632 bytes OK 2024/01/06-14:04:38.331108 7fc331fef6c0 Level-0 table #177: 0 bytes OK
2025/04/30-23:48:18.783554 7f4b35bff6c0 Delete type=0 #233 2024/01/06-14:04:38.337400 7fc331fef6c0 Delete type=0 #175
2025/04/30-23:48:18.814472 7f4b35bff6c0 Manual compaction at level-0 from '!items!0xdQs67JPsVrUyvp' @ 72057594037927935 : 1 .. '!items!xox7R7Uuuz0eGL0p' @ 0 : 0; will stop at (end) 2024/01/06-14:04:38.358281 7fc331fef6c0 Manual compaction at level-0 from '!items!0xdQs67JPsVrUyvp' @ 72057594037927935 : 1 .. '!items!xox7R7Uuuz0eGL0p' @ 0 : 0; will stop at (end)
2025/04/30-23:48:18.814519 7f4b35bff6c0 Manual compaction at level-1 from '!items!0xdQs67JPsVrUyvp' @ 72057594037927935 : 1 .. '!items!xox7R7Uuuz0eGL0p' @ 0 : 0; will stop at '!items!xox7R7Uuuz0eGL0p' @ 132 : 1 2024/01/06-14:04:38.358372 7fc331fef6c0 Manual compaction at level-1 from '!items!0xdQs67JPsVrUyvp' @ 72057594037927935 : 1 .. '!items!xox7R7Uuuz0eGL0p' @ 0 : 0; will stop at (end)
2025/04/30-23:48:18.814527 7f4b35bff6c0 Compacting 1@1 + 1@2 files
2025/04/30-23:48:18.818195 7f4b35bff6c0 Generated table #236@1: 23 keys, 32632 bytes
2025/04/30-23:48:18.818225 7f4b35bff6c0 Compacted 1@1 + 1@2 files => 32632 bytes
2025/04/30-23:48:18.824550 7f4b35bff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2025/04/30-23:48:18.824674 7f4b35bff6c0 Delete type=2 #195
2025/04/30-23:48:18.824850 7f4b35bff6c0 Delete type=2 #235
2025/04/30-23:48:18.856716 7f4b35bff6c0 Manual compaction at level-1 from '!items!xox7R7Uuuz0eGL0p' @ 132 : 1 .. '!items!xox7R7Uuuz0eGL0p' @ 0 : 0; will stop at (end)

View File

@ -1,8 +1,8 @@
2025/03/14-14:12:15.672681 7fba4cff96c0 Recovering log #226 2024/01/06-14:01:42.294721 7fc5b2ffd6c0 Recovering log #168
2025/03/14-14:12:15.776484 7fba4cff96c0 Delete type=3 #224 2024/01/06-14:01:42.304461 7fc5b2ffd6c0 Delete type=3 #166
2025/03/14-14:12:15.776560 7fba4cff96c0 Delete type=0 #226 2024/01/06-14:01:42.304514 7fc5b2ffd6c0 Delete type=0 #168
2025/03/14-14:12:43.132507 7fb7affff6c0 Level-0 table #231: started 2024/01/06-14:01:56.788115 7fc331fef6c0 Level-0 table #173: started
2025/03/14-14:12:43.132565 7fb7affff6c0 Level-0 table #231: 0 bytes OK 2024/01/06-14:01:56.788149 7fc331fef6c0 Level-0 table #173: 0 bytes OK
2025/03/14-14:12:43.138828 7fb7affff6c0 Delete type=0 #229 2024/01/06-14:01:56.794846 7fc331fef6c0 Delete type=0 #171
2025/03/14-14:12:43.158208 7fb7affff6c0 Manual compaction at level-0 from '!items!0xdQs67JPsVrUyvp' @ 72057594037927935 : 1 .. '!items!xox7R7Uuuz0eGL0p' @ 0 : 0; will stop at (end) 2024/01/06-14:01:56.794998 7fc331fef6c0 Manual compaction at level-0 from '!items!0xdQs67JPsVrUyvp' @ 72057594037927935 : 1 .. '!items!xox7R7Uuuz0eGL0p' @ 0 : 0; will stop at (end)
2025/03/14-14:12:43.158251 7fb7affff6c0 Manual compaction at level-1 from '!items!0xdQs67JPsVrUyvp' @ 72057594037927935 : 1 .. '!items!xox7R7Uuuz0eGL0p' @ 0 : 0; will stop at (end) 2024/01/06-14:01:56.795021 7fc331fef6c0 Manual compaction at level-1 from '!items!0xdQs67JPsVrUyvp' @ 72057594037927935 : 1 .. '!items!xox7R7Uuuz0eGL0p' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

BIN
packs/peuples/000005.ldb Normal file

Binary file not shown.

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000068 MANIFEST-000010

View File

@ -1,15 +1,8 @@
2025/04/30-23:34:36.934886 7f4b37fff6c0 Recovering log #66 2024/01/06-14:02:36.055446 7fc5b3fff6c0 Recovering log #8
2025/04/30-23:34:36.945113 7f4b37fff6c0 Delete type=3 #64 2024/01/06-14:02:36.065436 7fc5b3fff6c0 Delete type=3 #6
2025/04/30-23:34:36.945238 7f4b37fff6c0 Delete type=0 #66 2024/01/06-14:02:36.065503 7fc5b3fff6c0 Delete type=0 #8
2025/04/30-23:48:18.940588 7f4b35bff6c0 Level-0 table #71: started 2024/01/06-14:04:38.384874 7fc331fef6c0 Level-0 table #13: started
2025/04/30-23:48:18.943892 7f4b35bff6c0 Level-0 table #71: 5232 bytes OK 2024/01/06-14:04:38.384923 7fc331fef6c0 Level-0 table #13: 0 bytes OK
2025/04/30-23:48:18.951132 7f4b35bff6c0 Delete type=0 #69 2024/01/06-14:04:38.392491 7fc331fef6c0 Delete type=0 #11
2025/04/30-23:48:18.982821 7f4b35bff6c0 Manual compaction at level-0 from '!items!5onfuCZmzugZ3PMs' @ 72057594037927935 : 1 .. '!items!qAmsD4MHgywYj6XV' @ 0 : 0; will stop at (end) 2024/01/06-14:04:38.413191 7fc331fef6c0 Manual compaction at level-0 from '!items!5onfuCZmzugZ3PMs' @ 72057594037927935 : 1 .. '!items!qAmsD4MHgywYj6XV' @ 0 : 0; will stop at (end)
2025/04/30-23:48:18.982870 7f4b35bff6c0 Manual compaction at level-1 from '!items!5onfuCZmzugZ3PMs' @ 72057594037927935 : 1 .. '!items!qAmsD4MHgywYj6XV' @ 0 : 0; will stop at '!items!qAmsD4MHgywYj6XV' @ 16 : 1 2024/01/06-14:04:38.413242 7fc331fef6c0 Manual compaction at level-1 from '!items!5onfuCZmzugZ3PMs' @ 72057594037927935 : 1 .. '!items!qAmsD4MHgywYj6XV' @ 0 : 0; will stop at (end)
2025/04/30-23:48:18.982879 7f4b35bff6c0 Compacting 1@1 + 1@2 files
2025/04/30-23:48:18.986553 7f4b35bff6c0 Generated table #72@1: 4 keys, 5232 bytes
2025/04/30-23:48:18.986608 7f4b35bff6c0 Compacted 1@1 + 1@2 files => 5232 bytes
2025/04/30-23:48:18.992660 7f4b35bff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2025/04/30-23:48:18.992762 7f4b35bff6c0 Delete type=2 #31
2025/04/30-23:48:18.992886 7f4b35bff6c0 Delete type=2 #71
2025/04/30-23:48:19.023804 7f4b35bff6c0 Manual compaction at level-1 from '!items!qAmsD4MHgywYj6XV' @ 16 : 1 .. '!items!qAmsD4MHgywYj6XV' @ 0 : 0; will stop at (end)

View File

@ -1,8 +1,8 @@
2025/03/14-14:12:16.838771 7fba4e7fc6c0 Recovering log #62 2024/01/06-14:01:42.422174 7fc5b27fc6c0 Recovering log #4
2025/03/14-14:12:16.935874 7fba4e7fc6c0 Delete type=3 #60 2024/01/06-14:01:42.431754 7fc5b27fc6c0 Delete type=3 #2
2025/03/14-14:12:16.935944 7fba4e7fc6c0 Delete type=0 #62 2024/01/06-14:01:42.431814 7fc5b27fc6c0 Delete type=0 #4
2025/03/14-14:12:43.190599 7fb7affff6c0 Level-0 table #67: started 2024/01/06-14:01:56.860646 7fc331fef6c0 Level-0 table #9: started
2025/03/14-14:12:43.190626 7fb7affff6c0 Level-0 table #67: 0 bytes OK 2024/01/06-14:01:56.860683 7fc331fef6c0 Level-0 table #9: 0 bytes OK
2025/03/14-14:12:43.196678 7fb7affff6c0 Delete type=0 #65 2024/01/06-14:01:56.867289 7fc331fef6c0 Delete type=0 #7
2025/03/14-14:12:43.209556 7fb7affff6c0 Manual compaction at level-0 from '!items!5onfuCZmzugZ3PMs' @ 72057594037927935 : 1 .. '!items!qAmsD4MHgywYj6XV' @ 0 : 0; will stop at (end) 2024/01/06-14:01:56.880892 7fc331fef6c0 Manual compaction at level-0 from '!items!5onfuCZmzugZ3PMs' @ 72057594037927935 : 1 .. '!items!qAmsD4MHgywYj6XV' @ 0 : 0; will stop at (end)
2025/03/14-14:12:43.209620 7fb7affff6c0 Manual compaction at level-1 from '!items!5onfuCZmzugZ3PMs' @ 72057594037927935 : 1 .. '!items!qAmsD4MHgywYj6XV' @ 0 : 0; will stop at (end) 2024/01/06-14:01:56.880982 7fc331fef6c0 Manual compaction at level-1 from '!items!5onfuCZmzugZ3PMs' @ 72057594037927935 : 1 .. '!items!qAmsD4MHgywYj6XV' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

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