Compare commits
28 Commits
fvtt-hawkm
...
fvtt-hawkm
| Author | SHA1 | Date | |
|---|---|---|---|
| 05ca6e1763 | |||
| d3f014fcca | |||
| 679b3208cd | |||
| 871a18a0ee | |||
| 264c49eb06 | |||
| 9349c54966 | |||
| 274efac2b5 | |||
| 7a7398f8ca | |||
| 93600f7e13 | |||
| a6fa3afbee | |||
| 1051349dd0 | |||
| a245b0e87c | |||
| c9ce3367ed | |||
| e95e068112 | |||
| 6dd63a2c54 | |||
| 650e4b7449 | |||
| 3f27482ad9 | |||
| 436b282ff5 | |||
| 39f8cfdbcc | |||
| 24a57a906e | |||
| 667f3678fb | |||
| d5dd9e5bf7 | |||
| 3403b72d1f | |||
| 8a4487c833 | |||
| 4eece5aaf4 | |||
| b574ba76ef | |||
| 0b9e1a80af | |||
| 6505b1c969 |
BIN
assets/fonts/Montserrat-Italic-VariableFont_wght.ttf
Normal file
BIN
assets/fonts/Montserrat-Italic-VariableFont_wght.ttf
Normal file
Binary file not shown.
BIN
assets/fonts/Montserrat-Medium.ttf
Normal file
BIN
assets/fonts/Montserrat-Medium.ttf
Normal file
Binary file not shown.
BIN
assets/fonts/Montserrat-Medium.woff
Normal file
BIN
assets/fonts/Montserrat-Medium.woff
Normal file
Binary file not shown.
BIN
assets/fonts/Montserrat-Thin.woff
Normal file
BIN
assets/fonts/Montserrat-Thin.woff
Normal file
Binary file not shown.
BIN
assets/fonts/Montserrat-VariableFont_wght.ttf
Normal file
BIN
assets/fonts/Montserrat-VariableFont_wght.ttf
Normal file
Binary file not shown.
BIN
assets/fonts/pfeffer-simpelgotisch.bold.otf
Normal file
BIN
assets/fonts/pfeffer-simpelgotisch.bold.otf
Normal file
Binary file not shown.
BIN
assets/fonts/pfeffer-simpelgotisch.regular.otf
Normal file
BIN
assets/fonts/pfeffer-simpelgotisch.regular.otf
Normal file
Binary file not shown.
BIN
assets/fonts/pfeffer-simpelgotisch.regular2.otf
Normal file
BIN
assets/fonts/pfeffer-simpelgotisch.regular2.otf
Normal file
Binary file not shown.
BIN
assets/fonts/pfeffer-simpelgotisch.semibold.otf
Normal file
BIN
assets/fonts/pfeffer-simpelgotisch.semibold.otf
Normal file
Binary file not shown.
BIN
assets/scenes/hawkmoon_map_europe.webp
Normal file
BIN
assets/scenes/hawkmoon_map_europe.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 807 KiB |
@@ -7,7 +7,7 @@ import { HawkmoonUtility } from "./hawkmoon-utility.js";
|
||||
import { HawkmoonAutomation } from "./hawkmoon-automation.js";
|
||||
|
||||
/* -------------------------------------------- */
|
||||
export class HawkmoonActorSheet extends ActorSheet {
|
||||
export class HawkmoonActorSheet extends foundry.appv1.sheets.ActorSheet {
|
||||
|
||||
/** @override */
|
||||
static get defaultOptions() {
|
||||
@@ -56,8 +56,8 @@ export class HawkmoonActorSheet extends ActorSheet {
|
||||
nbCombativite: this.actor.system.sante.nbcombativite,
|
||||
combativiteList: HawkmoonUtility.getCombativiteList(this.actor.system.sante.nbcombativite),
|
||||
initiative: this.actor.getFlag("world", "last-initiative") || -1,
|
||||
description: await TextEditor.enrichHTML(this.object.system.biodata.description, {async: true}),
|
||||
habitat: await TextEditor.enrichHTML(this.object.system.biodata.habitat, {async: true}),
|
||||
description: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.biodata.description, {async: true}),
|
||||
habitat: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.biodata.habitat, {async: true}),
|
||||
options: this.options,
|
||||
owner: this.document.isOwner,
|
||||
editScore: this.options.editScore,
|
||||
|
||||
@@ -67,6 +67,10 @@ export class HawkmoonActor extends Actor {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
prepareArme(arme) {
|
||||
if (this.type == "cellule") {
|
||||
return arme
|
||||
}
|
||||
|
||||
arme = foundry.utils.duplicate(arme)
|
||||
let combat = this.getCombatValues()
|
||||
if (arme.system.typearme == "contact" || arme.system.typearme == "contactjet") {
|
||||
@@ -202,6 +206,20 @@ export class HawkmoonActor extends Actor {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getCombatValues() {
|
||||
if (this.type == "cellule") {
|
||||
return {
|
||||
initBase: 0,
|
||||
initTotal: 0,
|
||||
bonusDegats: 0,
|
||||
bonusDegatsTotal: 0,
|
||||
vitesseBase: 0,
|
||||
vitesseTotal: 0,
|
||||
defenseBase: 0,
|
||||
protection: 0,
|
||||
defenseTotal: 0
|
||||
}
|
||||
}
|
||||
|
||||
let combat = {
|
||||
initBase: this.system.attributs.adr.value,
|
||||
initTotal: this.system.attributs.adr.value + this.system.combat.initbonus,
|
||||
@@ -406,7 +424,7 @@ export class HawkmoonActor extends Actor {
|
||||
if (sante.etat == this.system.sante.nbcombativite) {
|
||||
ChatMessage.create({ content: `<strong>${this.name} est vaincu !</strong>` })
|
||||
}
|
||||
this.processCombativite(sante)
|
||||
// Duplicated ! this.processCombativite(sante)
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@@ -525,6 +543,23 @@ export class HawkmoonActor extends Actor {
|
||||
return init || -1
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getBestAttackValue() {
|
||||
let attackList = this.items.filter(item => (item.type == "arme" || item.type == "talent") && item.system.equipped)
|
||||
let maxOff = 0
|
||||
let bestArme
|
||||
for (let arme of attackList) {
|
||||
if (arme.type == "arme") {
|
||||
arme = this.prepareArme(arme)
|
||||
}
|
||||
if (arme.system.totalOffensif > maxOff) {
|
||||
maxOff = arme.system.totalOffensif
|
||||
bestArme = foundry.utils.duplicate(arme)
|
||||
}
|
||||
}
|
||||
return bestArme
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getBestDefenseValue() {
|
||||
let defenseList = this.items.filter(item => (item.type == "arme") && item.system.equipped)
|
||||
|
||||
@@ -7,10 +7,10 @@ import { HawkmoonUtility } from "./hawkmoon-utility.js";
|
||||
import { HawkmoonAutomation } from "./hawkmoon-automation.js";
|
||||
|
||||
/* -------------------------------------------- */
|
||||
const __ALLOWED_ITEM_CELLULE = { "talent": 1, "ressource": 1, "contact": 1}
|
||||
const __ALLOWED_ITEM_CELLULE = { "talent": 1, "ressource": 1, "contact": 1, "equipement": 1, "protection": 1, "artefact": 1, "arme": 1, "monnaie": 1 }
|
||||
|
||||
/* -------------------------------------------- */
|
||||
export class HawkmoonCelluleSheet extends ActorSheet {
|
||||
export class HawkmoonCelluleSheet extends foundry.appv1.sheets.ActorSheet {
|
||||
|
||||
/** @override */
|
||||
static get defaultOptions() {
|
||||
@@ -45,6 +45,13 @@ export class HawkmoonCelluleSheet extends ActorSheet {
|
||||
ressources: foundry.utils.duplicate(this.actor.getRessources()),
|
||||
contacts: foundry.utils.duplicate(this.actor.getContacts()),
|
||||
members: this.getMembers(),
|
||||
equipements: foundry.utils.duplicate(this.actor.getEquipments()),
|
||||
artefacts: foundry.utils.duplicate(this.actor.getArtefacts()),
|
||||
armes: foundry.utils.duplicate(this.actor.getWeapons()),
|
||||
monnaies: foundry.utils.duplicate(this.actor.getMonnaies()),
|
||||
protections: foundry.utils.duplicate(this.actor.getArmors()),
|
||||
richesse: this.actor.computeRichesse(),
|
||||
valeurEquipement: this.actor.computeValeurEquipement(),
|
||||
description: await TextEditor.enrichHTML(this.object.system.description, { async: true }),
|
||||
options: this.options,
|
||||
owner: this.document.isOwner,
|
||||
@@ -110,15 +117,15 @@ export class HawkmoonCelluleSheet extends ActorSheet {
|
||||
let value = ev.currentTarget.value
|
||||
this.actor.editItemField(itemId, itemType, itemField, dataType, value)
|
||||
})
|
||||
|
||||
html.find('.quantity-minus').click(event => {
|
||||
const li = $(event.currentTarget).parents(".item");
|
||||
this.actor.incDecQuantity(li.data("item-id"), -1);
|
||||
});
|
||||
html.find('.quantity-plus').click(event => {
|
||||
const li = $(event.currentTarget).parents(".item");
|
||||
this.actor.incDecQuantity(li.data("item-id"), +1);
|
||||
});
|
||||
html.find('.quantity-modify').click(event => {
|
||||
const li = $(event.currentTarget).parents(".item")
|
||||
const value = Number($(event.currentTarget).data("quantite-value"))
|
||||
this.actor.incDecQuantity( li.data("item-id"), value );
|
||||
})
|
||||
html.find('.item-add').click((event) => {
|
||||
const itemType = $(event.currentTarget).data("type")
|
||||
this.actor.createEmbeddedDocuments('Item', [{ name: `Nouveau ${itemType}`, type: itemType }], { renderSheet: true })
|
||||
})
|
||||
|
||||
html.find('.lock-unlock-sheet').click((event) => {
|
||||
this.options.editScore = !this.options.editScore;
|
||||
@@ -149,7 +156,7 @@ export class HawkmoonCelluleSheet extends ActorSheet {
|
||||
super._onDropItem(event, dragData)
|
||||
return
|
||||
}
|
||||
ui.notifications("Ce type d'item n'est pas autorisé sur une Cellule.")
|
||||
ui.notification.info("Ce type d'item n'est pas autorisé sur une Cellule.")
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -3,10 +3,30 @@ export const HAWKMOON_CONFIG = {
|
||||
optionsDifficulte: [
|
||||
{ key: "0", label: "Aucune/Inconnue" },
|
||||
{ key: "5", label: "Facile (5)" },
|
||||
{ key: "6", label: "(6)" },
|
||||
{ key: "7", label: "(7)" },
|
||||
{ key: "8", label: "(8)" },
|
||||
{ key: "9", label: "(9)" },
|
||||
{ key: "10", label: "Moyenne (10)" },
|
||||
{ key: "11", label: "(11)" },
|
||||
{ key: "12", label: "(12)" },
|
||||
{ key: "13", label: "(13)" },
|
||||
{ key: "14", label: "(14)" },
|
||||
{ key: "15", label: "Ardue (15)" },
|
||||
{ key: "16", label: "(16)" },
|
||||
{ key: "17", label: "(17)" },
|
||||
{ key: "18", label: "(18)" },
|
||||
{ key: "19", label: "(19)" },
|
||||
{ key: "20", label: "Hasardeuse (20)" },
|
||||
{ key: "21", label: "(21)" },
|
||||
{ key: "22", label: "(22)" },
|
||||
{ key: "23", label: "(23)" },
|
||||
{ key: "24", label: "(24)" },
|
||||
{ key: "25", label: "Insensée (25)" },
|
||||
{ key: "26", label: "(26)" },
|
||||
{ key: "27", label: "(27)" },
|
||||
{ key: "28", label: "(28)" },
|
||||
{ key: "29", label: "(29)" },
|
||||
{ key: "30", label: "Pure Folie (30)" }
|
||||
],
|
||||
optionsDistanceTir: [
|
||||
@@ -15,6 +35,12 @@ export const HAWKMOON_CONFIG = {
|
||||
{ key: "porteelongue", label: "Longue ({protectionDefenseur}+14)" }
|
||||
],
|
||||
optionsBonusMalus: [
|
||||
{ key: "-10", label: "-10" },
|
||||
{ key: "-9", label: "-9" },
|
||||
{ key: "-8", label: "-8" },
|
||||
{ key: "-7", label: "-7" },
|
||||
{ key: "-6", label: "-6" },
|
||||
{ key: "-5", label: "-5" },
|
||||
{ key: "-4", label: "-4" },
|
||||
{ key: "-3", label: "-3" },
|
||||
{ key: "-2", label: "-2" },
|
||||
@@ -23,7 +49,13 @@ export const HAWKMOON_CONFIG = {
|
||||
{ key: "1", label: "+1" },
|
||||
{ key: "2", label: "+2" },
|
||||
{ key: "3", label: "+3" },
|
||||
{ key: "4", label: "+4" }
|
||||
{ key: "4", label: "+4" },
|
||||
{ key: "5", label: "+5" },
|
||||
{ key: "6", label: "+6" },
|
||||
{ key: "7", label: "+7" },
|
||||
{ key: "8", label: "+8" },
|
||||
{ key: "9", label: "+9" },
|
||||
{ key: "10", label: "+10" }
|
||||
],
|
||||
optionsTailleCible: [
|
||||
{ key: "normal", label: "Normal (SD+0)" },
|
||||
|
||||
@@ -22,7 +22,7 @@ export class HawkmoonTokenHud {
|
||||
|
||||
const hudData = { actor: actor }
|
||||
|
||||
const controlIconActions = html.find('.control-icon[data-action=combat]');
|
||||
const controlIconActions = $(html).find('.control-icon[data-action=combat]');
|
||||
// initiative
|
||||
await HawkmoonTokenHud._configureSubMenu(controlIconActions, 'systems/fvtt-hawkmoon-cyd/templates/hud-adversites.html', hudData,
|
||||
(event) => {
|
||||
@@ -34,7 +34,7 @@ export class HawkmoonTokenHud {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static async addTokenHudExtensions(app, html, tokenId) {
|
||||
const controlIconCombat = html.find('.control-icon[data-action=combat]')
|
||||
const controlIconCombat = $(html).find('.control-icon[data-action=combat]')
|
||||
if (controlIconCombat.length>0 ) {
|
||||
HawkmoonTokenHud.addExtensionHud(app, html, tokenId);
|
||||
}
|
||||
@@ -42,7 +42,7 @@ export class HawkmoonTokenHud {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static async _configureSubMenu(insertionPoint, template, hudData, onMenuItem) {
|
||||
const hud = $(await renderTemplate(template, hudData))
|
||||
const hud = $(await foundry.applications.handlebars.renderTemplate(template, hudData))
|
||||
const list = hud.find('div.hawkmoon-hud-list')
|
||||
|
||||
HawkmoonTokenHud._toggleHudListActive(hud, list);
|
||||
|
||||
@@ -4,7 +4,7 @@ import { HawkmoonUtility } from "./hawkmoon-utility.js";
|
||||
* Extend the basic ItemSheet with some very simple modifications
|
||||
* @extends {ItemSheet}
|
||||
*/
|
||||
export class HawkmoonItemSheet extends ItemSheet {
|
||||
export class HawkmoonItemSheet extends foundry.appv1.sheets.ItemSheet {
|
||||
|
||||
/** @override */
|
||||
static get defaultOptions() {
|
||||
|
||||
@@ -56,14 +56,14 @@ Hooks.once("init", async function () {
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
// Register sheet application classes
|
||||
Actors.unregisterSheet("core", ActorSheet);
|
||||
Actors.registerSheet("fvtt-hawkmoon-cyd", HawkmoonActorSheet, { types: ["personnage"], makeDefault: true })
|
||||
Actors.registerSheet("fvtt-hawkmoon-cyd", HawkmoonCreatureSheet, { types: ["creature"], makeDefault: true })
|
||||
Actors.registerSheet("fvtt-hawkmoon-cyd", HawkmoonCelluleSheet, { types: ["cellule"], makeDefault: true });
|
||||
// Regster sheet application classes
|
||||
foundry.documents.collections.Actors.unregisterSheet("core", foundry.appv1.sheets.ActorSheet);
|
||||
foundry.documents.collections.Actors.registerSheet("fvtt-hawkmoon-cyd", HawkmoonActorSheet, { types: ["personnage"], makeDefault: true })
|
||||
foundry.documents.collections.Actors.registerSheet("fvtt-hawkmoon-cyd", HawkmoonCreatureSheet, { types: ["creature"], makeDefault: true })
|
||||
foundry.documents.collections.Actors.registerSheet("fvtt-hawkmoon-cyd", HawkmoonCelluleSheet, { types: ["cellule"], makeDefault: true });
|
||||
|
||||
Items.unregisterSheet("core", ItemSheet);
|
||||
Items.registerSheet("fvtt-hawkmoon-cyd", HawkmoonItemSheet, { makeDefault: true })
|
||||
foundry.documents.collections.Items.unregisterSheet("core", foundry.appv1.sheets.ItemSheet);
|
||||
foundry.documents.collections.Items.registerSheet("fvtt-hawkmoon-cyd", HawkmoonItemSheet, { makeDefault: true })
|
||||
|
||||
HawkmoonUtility.init()
|
||||
HawkmoonAutomation.init()
|
||||
@@ -138,4 +138,3 @@ Hooks.on("chatMessage", (html, content, msg) => {
|
||||
}
|
||||
return true;
|
||||
});
|
||||
|
||||
|
||||
@@ -3,12 +3,12 @@ import { HawkmoonUtility } from "./hawkmoon-utility.js";
|
||||
export class HawkmoonRollDialog extends Dialog {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static async create(actor, rollData ) {
|
||||
static async create(actor, rollData) {
|
||||
|
||||
let options = { classes: ["HawkmoonDialog"], width: 320, height: 'fit-content', 'z-index': 99999 };
|
||||
let html = await renderTemplate('systems/fvtt-hawkmoon-cyd/templates/roll-dialog-generic.html', rollData);
|
||||
let options = { classes: ["HawkmoonDialog"], width: 420, height: 'fit-content', 'z-index': 99999 };
|
||||
let html = await foundry.applications.handlebars.renderTemplate('systems/fvtt-hawkmoon-cyd/templates/roll-dialog-generic.html', rollData);
|
||||
|
||||
return new HawkmoonRollDialog(actor, rollData, html, options );
|
||||
return new HawkmoonRollDialog(actor, rollData, html, options);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@@ -31,7 +31,8 @@ export class HawkmoonRollDialog extends Dialog {
|
||||
icon: '<i class="fas fa-times"></i>',
|
||||
label: "Annuler",
|
||||
callback: () => { this.close() }
|
||||
} },
|
||||
}
|
||||
},
|
||||
close: close
|
||||
}
|
||||
|
||||
@@ -42,9 +43,9 @@ export class HawkmoonRollDialog extends Dialog {
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
roll ( dice) {
|
||||
roll(dice) {
|
||||
this.rollData.mainDice = dice
|
||||
HawkmoonUtility.rollHawkmoon( this.rollData )
|
||||
HawkmoonUtility.rollHawkmoon(this.rollData)
|
||||
}
|
||||
|
||||
|
||||
@@ -60,7 +61,7 @@ export class HawkmoonRollDialog extends Dialog {
|
||||
html.find('#modificateur').change(async (event) => {
|
||||
this.rollData.modificateur = Number(event.currentTarget.value)
|
||||
})
|
||||
html.find('#difficulte').change( (event) => {
|
||||
html.find('#difficulte').change((event) => {
|
||||
console.log("Difficulte: " + event.currentTarget.value)
|
||||
this.rollData.difficulte = Number(event.currentTarget.value)
|
||||
})
|
||||
|
||||
@@ -3,10 +3,10 @@ import { HawkmoonCombat } from "./hawkmoon-combat.js";
|
||||
import { HawkmoonCommands } from "./hawkmoon-commands.js";
|
||||
|
||||
/* -------------------------------------------- */
|
||||
const __distanceDifficulte = { "porteecourte": 5, "porteemoyenne": 9, "porteelongue": 14}
|
||||
const __tireurDeplacement = { immobile: 0, lent: 3, rapide: 5}
|
||||
const __cibleCouvert = { aucun: 0, leger: 5, complet: 10}
|
||||
const __tailleCible = { normal: 0, main: 10, enfant: 3, maison: -10}
|
||||
const __distanceDifficulte = { "porteecourte": 5, "porteemoyenne": 9, "porteelongue": 14 }
|
||||
const __tireurDeplacement = { immobile: 0, lent: 3, rapide: 5 }
|
||||
const __cibleCouvert = { aucun: 0, leger: 5, complet: 10 }
|
||||
const __tailleCible = { normal: 0, main: 10, enfant: 3, maison: -10 }
|
||||
|
||||
/* -------------------------------------------- */
|
||||
export class HawkmoonUtility {
|
||||
@@ -15,8 +15,7 @@ export class HawkmoonUtility {
|
||||
/* -------------------------------------------- */
|
||||
static async init() {
|
||||
Hooks.on('renderChatLog', (log, html, data) => HawkmoonUtility.chatListeners(html))
|
||||
Hooks.on("getChatLogEntryContext", (html, options) => HawkmoonUtility.chatRollMenu(html, options))
|
||||
|
||||
Hooks.on("getChatMessageContextOptions", (html, options) => HawkmoonUtility.chatRollMenu(html, options))
|
||||
Hooks.on("getCombatTrackerEntryContext", (html, options) => {
|
||||
HawkmoonUtility.pushInitiativeOptions(html, options);
|
||||
})
|
||||
@@ -105,15 +104,33 @@ export class HawkmoonUtility {
|
||||
return this.skills
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static updatePauseLogo(html) {
|
||||
let logoPause = "systems/fvtt-hawkmoon-cyd/assets/logos/" + game.settings.get("fvtt-hawkmoon-cyd", "hawkmoon-pause-logo") + ".webp"
|
||||
console.log("Hawkmoon | Updating pause logo to:", logoPause)
|
||||
|
||||
// Supprimer l'ancien style s'il existe
|
||||
let oldStyle = document.getElementById('hawkmoon-pause-logo-override')
|
||||
if (oldStyle) {
|
||||
oldStyle.remove()
|
||||
}
|
||||
|
||||
// Injecter une règle CSS pour override le logo
|
||||
let styleSheet = document.createElement('style')
|
||||
styleSheet.id = 'hawkmoon-pause-logo-override'
|
||||
styleSheet.textContent = `#pause>img { content: url(${logoPause}) !important; }`
|
||||
document.head.appendChild(styleSheet)
|
||||
|
||||
console.log("Hawkmoon | Logo CSS rule injected")
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static async ready() {
|
||||
const skills = await HawkmoonUtility.loadCompendium("fvtt-hawkmoon-cyd.skills")
|
||||
this.skills = skills.map(i => i.toObject())
|
||||
|
||||
// Setup pause logo
|
||||
let logoPause = "systems/fvtt-hawkmoon-cyd/assets/logos/" + game.settings.get("fvtt-hawkmoon-cyd", "hawkmoon-pause-logo") + ".webp"
|
||||
let logoImg = document.querySelector('#pause').children[0]
|
||||
logoImg.setAttribute('style', `content: url(${logoPause})`)
|
||||
this.updatePauseLogo()
|
||||
|
||||
game.system.hawkmoon.config.listeNiveauSkill = this.createDirectOptionList(0, 10)
|
||||
game.system.hawkmoon.config.listeNiveauCreature = this.createDirectOptionList(0, 35)
|
||||
@@ -131,7 +148,7 @@ export class HawkmoonUtility {
|
||||
static createArrayOptionList(min, max) {
|
||||
let options = [];
|
||||
for (let i = min; i <= max; i++) {
|
||||
options.push({key:`${i}`, label:`${i}`});
|
||||
options.push({ key: `${i}`, label: `${i}` });
|
||||
}
|
||||
return options;
|
||||
}
|
||||
@@ -155,7 +172,7 @@ export class HawkmoonUtility {
|
||||
/* -------------------------------------------- */
|
||||
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 messageId = HawkmoonUtility.findChatMessageId(event.currentTarget)
|
||||
let message = game.messages.get(messageId)
|
||||
@@ -166,14 +183,14 @@ export class HawkmoonUtility {
|
||||
HawkmoonUtility.rollHawkmoon(rollData)
|
||||
})
|
||||
|
||||
html.on("click", '.roll-chat-degat', async event => {
|
||||
$(html).on("click", '.roll-chat-degat', async event => {
|
||||
let messageId = HawkmoonUtility.findChatMessageId(event.currentTarget)
|
||||
let message = game.messages.get(messageId)
|
||||
let rollData = message.getFlag("world", "hawkmoon-roll")
|
||||
let actor = HawkmoonUtility.getActorFromRollData(rollData)
|
||||
actor.rollArmeDegats(rollData.arme._id, rollData.targetVigueur, rollData)
|
||||
})
|
||||
html.on("click", '.roll-chat-degat-devastateur', async event => {
|
||||
$(html).on("click", '.roll-chat-degat-devastateur', async event => {
|
||||
let messageId = HawkmoonUtility.findChatMessageId(event.currentTarget)
|
||||
let message = game.messages.get(messageId)
|
||||
let rollData = message.getFlag("world", "hawkmoon-roll")
|
||||
@@ -196,7 +213,7 @@ export class HawkmoonUtility {
|
||||
'systems/fvtt-hawkmoon-cyd/templates/partial-automation.html',
|
||||
'systems/fvtt-hawkmoon-cyd/templates/hud-adversites.html',
|
||||
]
|
||||
return loadTemplates(templatePaths);
|
||||
return foundry.applications.handlebars.loadTemplates(templatePaths);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@@ -279,9 +296,13 @@ export class HawkmoonUtility {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static onSocketMesssage(msg) {
|
||||
if (msg.name == "msg_apply_combativite") {
|
||||
let defender = game.canvas.tokens.get(rollData.defenderTokenId).actor
|
||||
if (msg.msg == "msg_apply_combativite") {
|
||||
let defender = game.canvas.tokens.get(msg.data.defenderTokenId)?.actor
|
||||
if (defender) {
|
||||
defender.changeEtatCombativite(msg.data.value)
|
||||
} else {
|
||||
console.warn("HawkmoonUtility.onSocketMesssage : Impossible de trouver le token pour appliquer la combativité", msg.defenderTokenId)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -315,10 +336,10 @@ export class HawkmoonUtility {
|
||||
switch (rollMode) {
|
||||
case "blindroll": //GM only
|
||||
blind = true;
|
||||
case "gmroll": //GM + rolling player
|
||||
case "gmroll": // GM + rolling player
|
||||
whisper = this.getUsers(user => user.isGM);
|
||||
break;
|
||||
case "roll": //everybody
|
||||
case "roll": // everybody
|
||||
whisper = this.getUsers(user => user.active);
|
||||
break;
|
||||
case "selfroll":
|
||||
@@ -355,14 +376,19 @@ export class HawkmoonUtility {
|
||||
}
|
||||
}
|
||||
|
||||
//console.log("Result : ", rollData)
|
||||
//console.log("Result : ", rollData
|
||||
this.computeResultQuality(rollData)
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static computeResultQuality(rollData) {
|
||||
if (rollData.difficulte > 0 && !rollData.isDramatique) {
|
||||
rollData.isSuccess = (rollData.finalResult >= rollData.difficulte)
|
||||
rollData.isHeroique = ((rollData.finalResult - rollData.difficulte) >= 10)
|
||||
rollData.isDramatique = ((rollData.finalResult - rollData.difficulte) <= -10)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static applyCombativite(rollData, value) {
|
||||
if (game.user.isGM) {
|
||||
@@ -432,10 +458,10 @@ export class HawkmoonUtility {
|
||||
rollData.diceFormula += `+3`
|
||||
}
|
||||
if (rollData.hasAmbidextre) {
|
||||
if ( rollData.attaqueAmbidextre1) {
|
||||
if (rollData.ambidextre1) {
|
||||
rollData.diceFormula += `-3`
|
||||
} else if ( rollData.attaqueAmbidextre2) {
|
||||
rollData.diceFormula += `-5`
|
||||
} else if (rollData.ambidextre2) {
|
||||
rollData.diceFormula += `-6`
|
||||
}
|
||||
}
|
||||
if (rollData.defenseurAuSol) {
|
||||
@@ -454,7 +480,7 @@ export class HawkmoonUtility {
|
||||
rollData.diceFormula += `+5`
|
||||
}
|
||||
if (rollData.soutiens > 0) { // 1 soutien = +3, 2 soutiens = +4, 3 soutiens = +5
|
||||
rollData.diceFormula += `+${rollData.soutiens+2}`
|
||||
rollData.diceFormula += `+${rollData.soutiens + 2}`
|
||||
}
|
||||
|
||||
if (rollData.arme?.system.isDistance) {
|
||||
@@ -492,18 +518,18 @@ export class HawkmoonUtility {
|
||||
}
|
||||
if (rollData.feinte) {
|
||||
actor.changeBonneAventure(-1)
|
||||
if ( rollData.isHeroique) {
|
||||
if (rollData.isHeroique) {
|
||||
rollData.nbCombativitePerdu = "vaincu"
|
||||
} else if ( rollData.isSuccess) {
|
||||
} else if (rollData.isSuccess) {
|
||||
rollData.nbCombativitePerdu = 2
|
||||
}
|
||||
}
|
||||
|
||||
this.createChatWithRollMode(rollData.alias, {
|
||||
content: await renderTemplate(`systems/fvtt-hawkmoon-cyd/templates/chat-generic-result.html`, rollData)
|
||||
content: await foundry.applications.handlebars.renderTemplate(`systems/fvtt-hawkmoon-cyd/templates/chat-generic-result.html`, rollData)
|
||||
}, rollData)
|
||||
|
||||
if ( (rollData.coupBas || rollData.arme) && rollData.isSuccess && rollData.defenderTokenId) {
|
||||
if ((rollData.coupBas || rollData.arme) && rollData.isSuccess && rollData.defenderTokenId) {
|
||||
this.applyCombativite(rollData, rollData.nbCombativitePerdu)
|
||||
}
|
||||
if (rollData.coupBas && rollData.isSuccess && rollData.defenderTokenId) {
|
||||
@@ -514,30 +540,35 @@ export class HawkmoonUtility {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static getCombativiteList(nbActivite) {
|
||||
let list = [ { value: 0, label: "Combatif"}]
|
||||
for (let i = 1; i < nbActivite-2; i++) {
|
||||
list.push({ value: i, label:"Eprouvé " + i} )
|
||||
let list = [{ value: String(0), label: "Combatif" }]
|
||||
for (let i = 1; i < nbActivite - 2; i++) {
|
||||
list.push({ value: String(i), label: "Eprouvé " + i })
|
||||
}
|
||||
list[nbActivite-2] = { value: nbActivite-2, label:"Affaibli"}
|
||||
list[nbActivite-1] = { value: nbActivite-1, label:"Très Affaibli"}
|
||||
list[nbActivite] = { value: nbActivite, label:"Vaincu"}
|
||||
list[nbActivite - 2] = { value: String(nbActivite - 2), label: "Affaibli" }
|
||||
list[nbActivite - 1] = { value: String(nbActivite - 1), label: "Très Affaibli" }
|
||||
list[nbActivite] = { value: String(nbActivite), label: "Vaincu" }
|
||||
return list
|
||||
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static async bonusRollHawkmoon(rollData) {
|
||||
rollData.bonusFormula = rollData.addedBonus
|
||||
console.log("Bonus Roll Hawkmoon", rollData.bonusFormula)
|
||||
|
||||
if (!Number(rollData.bonusFormula)) {
|
||||
let bonusRoll = await new Roll(rollData.bonusFormula).roll()
|
||||
await this.showDiceSoNice(bonusRoll, game.settings.get("core", "rollMode"));
|
||||
rollData.bonusRoll = foundry.utils.duplicate(bonusRoll)
|
||||
rollData.finalResult += Number(rollData.bonusRoll.total)
|
||||
} else {
|
||||
rollData.finalResult += Number(rollData.bonusFormula)
|
||||
console.log("Bonus Roll Hawkmoon 2", rollData.finalResult)
|
||||
}
|
||||
|
||||
rollData.finalResult += rollData.bonusRoll.total
|
||||
|
||||
this.computeResult(rollData)
|
||||
this.computeResultQuality(rollData)
|
||||
|
||||
this.createChatWithRollMode(rollData.alias, {
|
||||
content: await renderTemplate(`systems/fvtt-hawkmoon-cyd/templates/chat-generic-result.html`, rollData)
|
||||
content: await foundry.applications.handlebars.renderTemplate(`systems/fvtt-hawkmoon-cyd/templates/chat-generic-result.html`, rollData)
|
||||
}, rollData)
|
||||
|
||||
}
|
||||
@@ -647,11 +678,11 @@ export class HawkmoonUtility {
|
||||
distanceTir: "porteemoyenne",
|
||||
attaqueCharge: false,
|
||||
attaqueDesarme: false,
|
||||
attaqueAmbidextre1 : false,
|
||||
attaqueAmbidextre2 : false,
|
||||
chargeCavalerie : false,
|
||||
contenir : false,
|
||||
soutiens : 0
|
||||
attaqueAmbidextre1: false,
|
||||
attaqueAmbidextre2: false,
|
||||
chargeCavalerie: false,
|
||||
contenir: false,
|
||||
soutiens: 0
|
||||
}
|
||||
return rollData
|
||||
}
|
||||
@@ -663,6 +694,7 @@ export class HawkmoonUtility {
|
||||
rollData.defenderTokenId = target.id
|
||||
let defender = game.canvas.tokens.get(rollData.defenderTokenId).actor
|
||||
rollData.armeDefense = defender.getBestDefenseValue()
|
||||
rollData.armeAttaqueDefenseur = defender.getBestAttackValue()
|
||||
rollData.targetVigueur = defender.getVigueur()
|
||||
rollData.protectionDefenseur = defender.getProtection()
|
||||
if (rollData.immobiliser || rollData.repousser) {
|
||||
@@ -671,11 +703,13 @@ export class HawkmoonUtility {
|
||||
} else if (rollData.coupBas) {
|
||||
let combatValues = defender.getCombatValues()
|
||||
rollData.difficulte = combatValues.defenseTotal
|
||||
}else if ( rollData.assomer) {
|
||||
} else if (rollData.assomer) {
|
||||
rollData.difficulte = 3 + (defender.system.attributs.tre.value * 2)
|
||||
} else if (rollData.desengager) {
|
||||
rollData.difficulte = rollData.armeAttaqueDefenseur?.system?.totalOffensif || 0;
|
||||
} else if (rollData.armeDefense) {
|
||||
rollData.difficulte = rollData.armeDefense.system.totalDefensif
|
||||
if ( !rollData.desengager && !rollData.arme.system.armenaturelle && !rollData.arme.system.armefortune ){
|
||||
if (!rollData.desengager && !rollData.arme.system.armenaturelle && !rollData.arme.system.armefortune) {
|
||||
if (rollData.armeDefense.system.armenaturelle || rollData.armeDefense.system.armefortune) {
|
||||
rollData.bonusArmeNaturelle = 3
|
||||
}
|
||||
@@ -693,7 +727,7 @@ export class HawkmoonUtility {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static applyBonneAventureRoll(li, changed, addedBonus) {
|
||||
let msgId = li.data("message-id")
|
||||
let msgId = $(li).data("message-id")
|
||||
let msg = game.messages.get(msgId)
|
||||
if (msg) {
|
||||
let rollData = msg.getFlag("world", "hawkmoon-roll")
|
||||
@@ -712,7 +746,7 @@ export class HawkmoonUtility {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static applyEclatRoll(li, changed, addedBonus) {
|
||||
let msgId = li.data("message-id")
|
||||
let msgId = $(li).data("message-id")
|
||||
let msg = game.messages.get(msgId)
|
||||
if (msg) {
|
||||
let rollData = msg.getFlag("world", "hawkmoon-roll")
|
||||
@@ -733,13 +767,13 @@ export class HawkmoonUtility {
|
||||
static chatRollMenu(html, options) {
|
||||
let canApply = li => canvas.tokens.controlled.length && li.find(".hawkmoon-roll").length
|
||||
let canApplyBA = 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", "hawkmoon-roll")
|
||||
let actor = HawkmoonUtility.getActorFromRollData(rollData)
|
||||
return (!rollData.isReroll && actor.getBonneAventure() > 0)
|
||||
}
|
||||
let canApplyPE = 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", "hawkmoon-roll")
|
||||
let actor = HawkmoonUtility.getActorFromRollData(rollData)
|
||||
return (!rollData.isReroll && actor.getEclat() > 0)
|
||||
@@ -765,7 +799,7 @@ export class HawkmoonUtility {
|
||||
name: "Relancer le dé (1 point d'Eclat)",
|
||||
icon: "<i class='fas fa-user-plus'></i>",
|
||||
condition: canApply && canApplyPE,
|
||||
callback: li => HawkmoonUtility.applyEclatRoll(li, -3, "reroll")
|
||||
callback: li => HawkmoonUtility.applyEclatRoll(li, -1, "reroll")
|
||||
}
|
||||
)
|
||||
return options
|
||||
|
||||
31
modules/models/arme.mjs
Normal file
31
modules/models/arme.mjs
Normal file
@@ -0,0 +1,31 @@
|
||||
/**
|
||||
* Data model pour les armes
|
||||
*/
|
||||
export class ArmeDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
description: new fields.HTMLField({ initial: "" }),
|
||||
prixpo: new fields.NumberField({ initial: 0, integer: true }),
|
||||
prixca: new fields.NumberField({ initial: 0, integer: true }),
|
||||
prixsc: new fields.NumberField({ initial: 0, integer: true }),
|
||||
rarete: new fields.NumberField({ initial: 0, integer: true }),
|
||||
quantite: new fields.NumberField({ initial: 1, integer: true }),
|
||||
equipped: new fields.BooleanField({ initial: false }),
|
||||
typearme: new fields.StringField({ initial: "" }),
|
||||
armenaturelle: new fields.BooleanField({ initial: false }),
|
||||
armefortune: new fields.BooleanField({ initial: false }),
|
||||
bonusmaniementoff: new fields.NumberField({ initial: 0, integer: true }),
|
||||
seuildefense: new fields.NumberField({ initial: 0, integer: true }),
|
||||
onlevelonly: new fields.BooleanField({ initial: false }),
|
||||
degats: new fields.StringField({ initial: "" }),
|
||||
deuxmains: new fields.BooleanField({ initial: false }),
|
||||
percearmure: new fields.BooleanField({ initial: false }),
|
||||
percearmurevalue: new fields.NumberField({ initial: 0, integer: true }),
|
||||
courte: new fields.NumberField({ initial: 0, integer: true }),
|
||||
moyenne: new fields.NumberField({ initial: 0, integer: true }),
|
||||
longue: new fields.NumberField({ initial: 0, integer: true }),
|
||||
tr: new fields.NumberField({ initial: 0, integer: true })
|
||||
};
|
||||
}
|
||||
}
|
||||
28
modules/models/artefact.mjs
Normal file
28
modules/models/artefact.mjs
Normal file
@@ -0,0 +1,28 @@
|
||||
/**
|
||||
* Data model pour les artefacts
|
||||
*/
|
||||
export class ArtefactDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
description: new fields.HTMLField({ initial: "" }),
|
||||
prixpo: new fields.NumberField({ initial: 0, integer: true }),
|
||||
prixca: new fields.NumberField({ initial: 0, integer: true }),
|
||||
prixsc: new fields.NumberField({ initial: 0, integer: true }),
|
||||
rarete: new fields.NumberField({ initial: 0, integer: true }),
|
||||
quantite: new fields.NumberField({ initial: 1, integer: true }),
|
||||
equipped: new fields.BooleanField({ initial: false }),
|
||||
complexite: new fields.NumberField({ initial: 0, integer: true }),
|
||||
branche: new fields.StringField({ initial: "" }),
|
||||
branche2: new fields.StringField({ initial: "none" }),
|
||||
dureerealisation: new fields.StringField({ initial: "" }),
|
||||
tempsroute: new fields.StringField({ initial: "" }),
|
||||
effetdejeu: new fields.StringField({ initial: "" }),
|
||||
defautcourant: new fields.StringField({ initial: "" }),
|
||||
autrescarac: new fields.StringField({ initial: "" }),
|
||||
avantagespossibles: new fields.StringField({ initial: "" }),
|
||||
avantages: new fields.StringField({ initial: "" }),
|
||||
competences: new fields.StringField({ initial: "" })
|
||||
};
|
||||
}
|
||||
}
|
||||
53
modules/models/base-item.mjs
Normal file
53
modules/models/base-item.mjs
Normal file
@@ -0,0 +1,53 @@
|
||||
/**
|
||||
* Template de base pour tous les items
|
||||
*/
|
||||
export class BaseItemModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
description: new fields.HTMLField({ initial: "" })
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Template pour les équipements de base
|
||||
*/
|
||||
export class BaseEquipItemModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
prixpo: new fields.NumberField({ initial: 0, integer: true }),
|
||||
prixca: new fields.NumberField({ initial: 0, integer: true }),
|
||||
prixsc: new fields.NumberField({ initial: 0, integer: true }),
|
||||
rarete: new fields.NumberField({ initial: 0, integer: true }),
|
||||
quantite: new fields.NumberField({ initial: 1, integer: true }),
|
||||
equipped: new fields.BooleanField({ initial: false })
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Template pour l'automatisation
|
||||
*/
|
||||
export class AutomationItemModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
isautomated: new fields.BooleanField({ initial: false }),
|
||||
automations: new fields.ArrayField(
|
||||
new fields.SchemaField({
|
||||
id: new fields.StringField({ initial: "" }),
|
||||
eventtype: new fields.StringField({ initial: "on-drop" }),
|
||||
name: new fields.StringField({ initial: "" }),
|
||||
bonusname: new fields.StringField({ initial: "vigueur" }),
|
||||
bonus: new fields.NumberField({ initial: 0, integer: true }),
|
||||
competence: new fields.StringField({ initial: "" }),
|
||||
minLevel: new fields.NumberField({ initial: 0, integer: true }),
|
||||
baCost: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
{ initial: [] }
|
||||
)
|
||||
};
|
||||
}
|
||||
}
|
||||
15
modules/models/cellule.mjs
Normal file
15
modules/models/cellule.mjs
Normal file
@@ -0,0 +1,15 @@
|
||||
/**
|
||||
* Data model pour les cellules
|
||||
*/
|
||||
export class CelluleDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
notoriete: new fields.NumberField({ initial: 0, integer: true }),
|
||||
resistance: new fields.NumberField({ initial: 0, integer: true }),
|
||||
developpement: new fields.NumberField({ initial: 0, integer: true }),
|
||||
members: new fields.ArrayField(new fields.StringField(), { initial: [] }),
|
||||
description: new fields.HTMLField({ initial: "" })
|
||||
};
|
||||
}
|
||||
}
|
||||
27
modules/models/competence.mjs
Normal file
27
modules/models/competence.mjs
Normal file
@@ -0,0 +1,27 @@
|
||||
/**
|
||||
* Data model pour les compétences
|
||||
*/
|
||||
export class CompetenceDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
description: new fields.HTMLField({ initial: "" }),
|
||||
niveau: new fields.NumberField({ initial: 0, integer: true }),
|
||||
attribut1: new fields.StringField({ initial: "" }),
|
||||
attribut2: new fields.StringField({ initial: "" }),
|
||||
attribut3: new fields.StringField({ initial: "" }),
|
||||
doublebonus: new fields.BooleanField({ initial: false }),
|
||||
predilections: new fields.ArrayField(
|
||||
new fields.SchemaField({
|
||||
id: new fields.StringField({ initial: "" }),
|
||||
name: new fields.StringField({ initial: "" }),
|
||||
description: new fields.StringField({ initial: "" }),
|
||||
acquise: new fields.BooleanField({ initial: false }),
|
||||
maitrise: new fields.BooleanField({ initial: false }),
|
||||
used: new fields.BooleanField({ initial: false })
|
||||
}),
|
||||
{ initial: [] }
|
||||
)
|
||||
};
|
||||
}
|
||||
}
|
||||
14
modules/models/contact.mjs
Normal file
14
modules/models/contact.mjs
Normal file
@@ -0,0 +1,14 @@
|
||||
/**
|
||||
* Data model pour les contacts
|
||||
*/
|
||||
export class ContactDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
contacttype: new fields.StringField({ initial: "" }),
|
||||
niveau: new fields.StringField({ initial: "" }),
|
||||
pointdev: new fields.NumberField({ initial: 0, integer: true }),
|
||||
description: new fields.HTMLField({ initial: "" })
|
||||
};
|
||||
}
|
||||
}
|
||||
97
modules/models/creature.mjs
Normal file
97
modules/models/creature.mjs
Normal file
@@ -0,0 +1,97 @@
|
||||
/**
|
||||
* Data model pour les créatures
|
||||
*/
|
||||
export class CreatureDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
// Template biodata
|
||||
biodata: new fields.SchemaField({
|
||||
name: new fields.StringField({ initial: "" }),
|
||||
age: new fields.NumberField({ initial: 0, integer: true }),
|
||||
poids: new fields.StringField({ initial: "" }),
|
||||
taille: new fields.StringField({ initial: "" }),
|
||||
cheveux: new fields.StringField({ initial: "" }),
|
||||
sexe: new fields.StringField({ initial: "" }),
|
||||
yeux: new fields.StringField({ initial: "" }),
|
||||
description: new fields.StringField({ initial: "" }),
|
||||
habitat: new fields.StringField({ initial: "" }),
|
||||
notes: new fields.StringField({ initial: "" }),
|
||||
statut: new fields.StringField({ initial: "" }),
|
||||
gmnotes: new fields.StringField({ initial: "" }),
|
||||
statutresistant: new fields.StringField({ initial: "commun" })
|
||||
}),
|
||||
// Template core
|
||||
subactors: new fields.ArrayField(new fields.StringField(), { initial: [] }),
|
||||
attributs: new fields.SchemaField({
|
||||
adr: new fields.SchemaField({
|
||||
label: new fields.StringField({ initial: "Adresse" }),
|
||||
labelnorm: new fields.StringField({ initial: "adresse" }),
|
||||
abbrev: new fields.StringField({ initial: "adr" }),
|
||||
value: new fields.NumberField({ initial: 1, integer: true })
|
||||
}),
|
||||
pui: new fields.SchemaField({
|
||||
label: new fields.StringField({ initial: "Puissance" }),
|
||||
labelnorm: new fields.StringField({ initial: "puissance" }),
|
||||
abbrev: new fields.StringField({ initial: "pui" }),
|
||||
value: new fields.NumberField({ initial: 1, integer: true })
|
||||
}),
|
||||
cla: new fields.SchemaField({
|
||||
label: new fields.StringField({ initial: "Clairvoyance" }),
|
||||
labelnorm: new fields.StringField({ initial: "clairvoyance" }),
|
||||
abbrev: new fields.StringField({ initial: "cla" }),
|
||||
value: new fields.NumberField({ initial: 1, integer: true })
|
||||
}),
|
||||
pre: new fields.SchemaField({
|
||||
label: new fields.StringField({ initial: "Présence" }),
|
||||
labelnorm: new fields.StringField({ initial: "presence" }),
|
||||
abbrev: new fields.StringField({ initial: "pre" }),
|
||||
value: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
tre: new fields.SchemaField({
|
||||
label: new fields.StringField({ initial: "Trempe" }),
|
||||
labelnorm: new fields.StringField({ initial: "trempe" }),
|
||||
abbrev: new fields.StringField({ initial: "tre" }),
|
||||
value: new fields.NumberField({ initial: 0, integer: true })
|
||||
})
|
||||
}),
|
||||
bonneaventure: new fields.SchemaField({
|
||||
base: new fields.NumberField({ initial: 0, integer: true }),
|
||||
actuelle: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
experience: new fields.SchemaField({
|
||||
value: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
eclat: new fields.SchemaField({
|
||||
value: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
sante: new fields.SchemaField({
|
||||
vigueur: new fields.NumberField({ initial: 0, integer: true }),
|
||||
etat: new fields.NumberField({ initial: 0, integer: true }),
|
||||
vigueurmodifier: new fields.NumberField({ initial: 0, integer: true }),
|
||||
nbcombativite: new fields.NumberField({ initial: 5, integer: true })
|
||||
}),
|
||||
adversite: new fields.SchemaField({
|
||||
bleue: new fields.NumberField({ initial: 0, integer: true }),
|
||||
rouge: new fields.NumberField({ initial: 0, integer: true }),
|
||||
noire: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
vitesse: new fields.SchemaField({
|
||||
value: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
combat: new fields.SchemaField({
|
||||
initbonus: new fields.NumberField({ initial: 0, integer: true }),
|
||||
vitessebonus: new fields.NumberField({ initial: 0, integer: true }),
|
||||
bonusdegats: new fields.NumberField({ initial: 0, integer: true }),
|
||||
attaquebonus: new fields.NumberField({ initial: 0, integer: true }),
|
||||
defensebonus: new fields.NumberField({ initial: 0, integer: true }),
|
||||
defensetotale: new fields.BooleanField({ initial: false }),
|
||||
monte: new fields.BooleanField({ initial: false })
|
||||
}),
|
||||
// Propriétés spécifiques aux créatures
|
||||
ressources: new fields.SchemaField({
|
||||
value: new fields.NumberField({ initial: 0, integer: true })
|
||||
})
|
||||
};
|
||||
}
|
||||
}
|
||||
17
modules/models/equipement.mjs
Normal file
17
modules/models/equipement.mjs
Normal file
@@ -0,0 +1,17 @@
|
||||
/**
|
||||
* Data model pour l'équipement
|
||||
*/
|
||||
export class EquipementDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
description: new fields.HTMLField({ initial: "" }),
|
||||
prixpo: new fields.NumberField({ initial: 0, integer: true }),
|
||||
prixca: new fields.NumberField({ initial: 0, integer: true }),
|
||||
prixsc: new fields.NumberField({ initial: 0, integer: true }),
|
||||
rarete: new fields.NumberField({ initial: 0, integer: true }),
|
||||
quantite: new fields.NumberField({ initial: 1, integer: true }),
|
||||
equipped: new fields.BooleanField({ initial: false })
|
||||
};
|
||||
}
|
||||
}
|
||||
12
modules/models/historique.mjs
Normal file
12
modules/models/historique.mjs
Normal file
@@ -0,0 +1,12 @@
|
||||
/**
|
||||
* Data model pour les historiques
|
||||
*/
|
||||
export class HistoriqueDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
description: new fields.HTMLField({ initial: "" }),
|
||||
bonusmalus: new fields.StringField({ initial: "" })
|
||||
};
|
||||
}
|
||||
}
|
||||
26
modules/models/index.mjs
Normal file
26
modules/models/index.mjs
Normal file
@@ -0,0 +1,26 @@
|
||||
/**
|
||||
* Index des DataModels pour Hawkmoon CYD
|
||||
* Ce fichier centralise tous les exports des modèles de données
|
||||
*/
|
||||
|
||||
// Modèles d'items
|
||||
export { TalentDataModel } from './talent.mjs';
|
||||
export { HistoriqueDataModel } from './historique.mjs';
|
||||
export { ProfilDataModel } from './profil.mjs';
|
||||
export { CompetenceDataModel } from './competence.mjs';
|
||||
export { ArmeDataModel } from './arme.mjs';
|
||||
export { ProtectionDataModel } from './protection.mjs';
|
||||
export { MonnaieDataModel } from './monnaie.mjs';
|
||||
export { EquipementDataModel } from './equipement.mjs';
|
||||
export { ArtefactDataModel } from './artefact.mjs';
|
||||
export { RessourceDataModel } from './ressource.mjs';
|
||||
export { ContactDataModel } from './contact.mjs';
|
||||
export { MutationDataModel } from './mutation.mjs';
|
||||
|
||||
// Modèles d'acteurs
|
||||
export { PersonnageDataModel } from './personnage.mjs';
|
||||
export { CelluleDataModel } from './cellule.mjs';
|
||||
export { CreatureDataModel } from './creature.mjs';
|
||||
|
||||
// Templates de base (si nécessaire pour extension)
|
||||
export { BaseItemModel, BaseEquipItemModel, AutomationItemModel } from './base-item.mjs';
|
||||
17
modules/models/monnaie.mjs
Normal file
17
modules/models/monnaie.mjs
Normal file
@@ -0,0 +1,17 @@
|
||||
/**
|
||||
* Data model pour les monnaies
|
||||
*/
|
||||
export class MonnaieDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
description: new fields.HTMLField({ initial: "" }),
|
||||
prixpo: new fields.NumberField({ initial: 0, integer: true }),
|
||||
prixca: new fields.NumberField({ initial: 0, integer: true }),
|
||||
prixsc: new fields.NumberField({ initial: 0, integer: true }),
|
||||
rarete: new fields.NumberField({ initial: 0, integer: true }),
|
||||
quantite: new fields.NumberField({ initial: 1, integer: true }),
|
||||
equipped: new fields.BooleanField({ initial: false })
|
||||
};
|
||||
}
|
||||
}
|
||||
14
modules/models/mutation.mjs
Normal file
14
modules/models/mutation.mjs
Normal file
@@ -0,0 +1,14 @@
|
||||
/**
|
||||
* Data model pour les mutations
|
||||
*/
|
||||
export class MutationDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
description: new fields.HTMLField({ initial: "" }),
|
||||
mutationcategorie: new fields.StringField({ initial: "tares_communes" }),
|
||||
hascomplexite: new fields.BooleanField({ initial: false }),
|
||||
complexite: new fields.NumberField({ initial: 0, integer: true })
|
||||
};
|
||||
}
|
||||
}
|
||||
93
modules/models/personnage.mjs
Normal file
93
modules/models/personnage.mjs
Normal file
@@ -0,0 +1,93 @@
|
||||
/**
|
||||
* Data model pour les personnages
|
||||
*/
|
||||
export class PersonnageDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
// Template biodata
|
||||
biodata: new fields.SchemaField({
|
||||
name: new fields.StringField({ initial: "" }),
|
||||
age: new fields.NumberField({ initial: 0, integer: true }),
|
||||
poids: new fields.StringField({ initial: "" }),
|
||||
taille: new fields.StringField({ initial: "" }),
|
||||
cheveux: new fields.StringField({ initial: "" }),
|
||||
sexe: new fields.StringField({ initial: "" }),
|
||||
yeux: new fields.StringField({ initial: "" }),
|
||||
description: new fields.StringField({ initial: "" }),
|
||||
habitat: new fields.StringField({ initial: "" }),
|
||||
notes: new fields.StringField({ initial: "" }),
|
||||
statut: new fields.StringField({ initial: "" }),
|
||||
gmnotes: new fields.StringField({ initial: "" }),
|
||||
statutresistant: new fields.StringField({ initial: "commun" })
|
||||
}),
|
||||
// Template core
|
||||
subactors: new fields.ArrayField(new fields.StringField(), { initial: [] }),
|
||||
attributs: new fields.SchemaField({
|
||||
adr: new fields.SchemaField({
|
||||
label: new fields.StringField({ initial: "Adresse" }),
|
||||
labelnorm: new fields.StringField({ initial: "adresse" }),
|
||||
abbrev: new fields.StringField({ initial: "adr" }),
|
||||
value: new fields.NumberField({ initial: 1, integer: true })
|
||||
}),
|
||||
pui: new fields.SchemaField({
|
||||
label: new fields.StringField({ initial: "Puissance" }),
|
||||
labelnorm: new fields.StringField({ initial: "puissance" }),
|
||||
abbrev: new fields.StringField({ initial: "pui" }),
|
||||
value: new fields.NumberField({ initial: 1, integer: true })
|
||||
}),
|
||||
cla: new fields.SchemaField({
|
||||
label: new fields.StringField({ initial: "Clairvoyance" }),
|
||||
labelnorm: new fields.StringField({ initial: "clairvoyance" }),
|
||||
abbrev: new fields.StringField({ initial: "cla" }),
|
||||
value: new fields.NumberField({ initial: 1, integer: true })
|
||||
}),
|
||||
pre: new fields.SchemaField({
|
||||
label: new fields.StringField({ initial: "Présence" }),
|
||||
labelnorm: new fields.StringField({ initial: "presence" }),
|
||||
abbrev: new fields.StringField({ initial: "pre" }),
|
||||
value: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
tre: new fields.SchemaField({
|
||||
label: new fields.StringField({ initial: "Trempe" }),
|
||||
labelnorm: new fields.StringField({ initial: "trempe" }),
|
||||
abbrev: new fields.StringField({ initial: "tre" }),
|
||||
value: new fields.NumberField({ initial: 0, integer: true })
|
||||
})
|
||||
}),
|
||||
bonneaventure: new fields.SchemaField({
|
||||
base: new fields.NumberField({ initial: 0, integer: true }),
|
||||
actuelle: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
experience: new fields.SchemaField({
|
||||
value: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
eclat: new fields.SchemaField({
|
||||
value: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
sante: new fields.SchemaField({
|
||||
vigueur: new fields.NumberField({ initial: 0, integer: true }),
|
||||
etat: new fields.NumberField({ initial: 0, integer: true }),
|
||||
vigueurmodifier: new fields.NumberField({ initial: 0, integer: true }),
|
||||
nbcombativite: new fields.NumberField({ initial: 5, integer: true })
|
||||
}),
|
||||
adversite: new fields.SchemaField({
|
||||
bleue: new fields.NumberField({ initial: 0, integer: true }),
|
||||
rouge: new fields.NumberField({ initial: 0, integer: true }),
|
||||
noire: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
vitesse: new fields.SchemaField({
|
||||
value: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
combat: new fields.SchemaField({
|
||||
initbonus: new fields.NumberField({ initial: 0, integer: true }),
|
||||
vitessebonus: new fields.NumberField({ initial: 0, integer: true }),
|
||||
bonusdegats: new fields.NumberField({ initial: 0, integer: true }),
|
||||
attaquebonus: new fields.NumberField({ initial: 0, integer: true }),
|
||||
defensebonus: new fields.NumberField({ initial: 0, integer: true }),
|
||||
defensetotale: new fields.BooleanField({ initial: false }),
|
||||
monte: new fields.BooleanField({ initial: false })
|
||||
})
|
||||
};
|
||||
}
|
||||
}
|
||||
23
modules/models/profil.mjs
Normal file
23
modules/models/profil.mjs
Normal file
@@ -0,0 +1,23 @@
|
||||
/**
|
||||
* Data model pour les profils
|
||||
*/
|
||||
export class ProfilDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
description: new fields.HTMLField({ initial: "" }),
|
||||
exemples: new fields.StringField({ initial: "" }),
|
||||
attribut1: new fields.StringField({ initial: "" }),
|
||||
attribut2: new fields.StringField({ initial: "" }),
|
||||
attribut3: new fields.StringField({ initial: "" }),
|
||||
competences: new fields.StringField({ initial: "" }),
|
||||
talentsinitie: new fields.StringField({ initial: "" }),
|
||||
prerequisaguerri: new fields.StringField({ initial: "" }),
|
||||
talentsaguerri: new fields.StringField({ initial: "" }),
|
||||
prerequismaitre: new fields.StringField({ initial: "" }),
|
||||
talentsmaitre: new fields.StringField({ initial: "" }),
|
||||
celluleinfo: new fields.StringField({ initial: "" }),
|
||||
equipement: new fields.StringField({ initial: "" })
|
||||
};
|
||||
}
|
||||
}
|
||||
19
modules/models/protection.mjs
Normal file
19
modules/models/protection.mjs
Normal file
@@ -0,0 +1,19 @@
|
||||
/**
|
||||
* Data model pour les protections
|
||||
*/
|
||||
export class ProtectionDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
description: new fields.HTMLField({ initial: "" }),
|
||||
prixpo: new fields.NumberField({ initial: 0, integer: true }),
|
||||
prixca: new fields.NumberField({ initial: 0, integer: true }),
|
||||
prixsc: new fields.NumberField({ initial: 0, integer: true }),
|
||||
rarete: new fields.NumberField({ initial: 0, integer: true }),
|
||||
quantite: new fields.NumberField({ initial: 1, integer: true }),
|
||||
equipped: new fields.BooleanField({ initial: false }),
|
||||
protection: new fields.NumberField({ initial: 0, integer: true }),
|
||||
adversitepoids: new fields.NumberField({ initial: 0, integer: true })
|
||||
};
|
||||
}
|
||||
}
|
||||
12
modules/models/ressource.mjs
Normal file
12
modules/models/ressource.mjs
Normal file
@@ -0,0 +1,12 @@
|
||||
/**
|
||||
* Data model pour les ressources
|
||||
*/
|
||||
export class RessourceDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
pointdev: new fields.NumberField({ initial: 0, integer: true }),
|
||||
description: new fields.HTMLField({ initial: "" })
|
||||
};
|
||||
}
|
||||
}
|
||||
30
modules/models/talent.mjs
Normal file
30
modules/models/talent.mjs
Normal file
@@ -0,0 +1,30 @@
|
||||
/**
|
||||
* Data model pour les talents
|
||||
*/
|
||||
export class TalentDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
description: new fields.HTMLField({ initial: "" }),
|
||||
isautomated: new fields.BooleanField({ initial: false }),
|
||||
automations: new fields.ArrayField(
|
||||
new fields.SchemaField({
|
||||
id: new fields.StringField({ initial: "" }),
|
||||
eventtype: new fields.StringField({ initial: "on-drop" }),
|
||||
name: new fields.StringField({ initial: "" }),
|
||||
bonusname: new fields.StringField({ initial: "vigueur" }),
|
||||
bonus: new fields.NumberField({ initial: 0, integer: true }),
|
||||
competence: new fields.StringField({ initial: "" }),
|
||||
minLevel: new fields.NumberField({ initial: 0, integer: true }),
|
||||
baCost: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
{ initial: [] }
|
||||
),
|
||||
talenttype: new fields.StringField({ initial: "" }),
|
||||
utilisation: new fields.StringField({ initial: "" }),
|
||||
prerequis: new fields.StringField({ initial: "" }),
|
||||
resumebonus: new fields.StringField({ initial: "" }),
|
||||
used: new fields.BooleanField({ initial: false })
|
||||
};
|
||||
}
|
||||
}
|
||||
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000197
|
||||
MANIFEST-000333
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
2024/05/31-14:00:37.060687 7f19c6a006c0 Recovering log #195
|
||||
2024/05/31-14:00:37.518017 7f19c6a006c0 Delete type=3 #193
|
||||
2024/05/31-14:00:37.518100 7f19c6a006c0 Delete type=0 #195
|
||||
2026/01/05-22:20:56.155164 7f93eb7fe6c0 Recovering log #331
|
||||
2026/01/05-22:20:56.166270 7f93eb7fe6c0 Delete type=3 #329
|
||||
2026/01/05-22:20:56.166327 7f93eb7fe6c0 Delete type=0 #331
|
||||
2026/01/05-22:39:51.165703 7f93e9ffb6c0 Level-0 table #336: started
|
||||
2026/01/05-22:39:51.165730 7f93e9ffb6c0 Level-0 table #336: 0 bytes OK
|
||||
2026/01/05-22:39:51.171765 7f93e9ffb6c0 Delete type=0 #334
|
||||
2026/01/05-22:39:51.199079 7f93e9ffb6c0 Manual compaction at level-0 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end)
|
||||
2026/01/05-22:39:51.199117 7f93e9ffb6c0 Manual compaction at level-1 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
2024/05/30-08:20:34.916087 7ff4c34006c0 Recovering log #191
|
||||
2024/05/30-08:20:34.933156 7ff4c34006c0 Delete type=3 #189
|
||||
2024/05/30-08:20:34.933245 7ff4c34006c0 Delete type=0 #191
|
||||
2024/05/30-08:30:06.395846 7ff4c0c006c0 Level-0 table #196: started
|
||||
2024/05/30-08:30:06.395899 7ff4c0c006c0 Level-0 table #196: 0 bytes OK
|
||||
2024/05/30-08:30:06.427199 7ff4c0c006c0 Delete type=0 #194
|
||||
2024/05/30-08:30:06.427384 7ff4c0c006c0 Manual compaction at level-0 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end)
|
||||
2024/05/30-08:30:06.427410 7ff4c0c006c0 Manual compaction at level-1 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end)
|
||||
2025/11/21-21:17:11.288531 7f34ccff96c0 Recovering log #327
|
||||
2025/11/21-21:17:11.303357 7f34ccff96c0 Delete type=3 #325
|
||||
2025/11/21-21:17:11.303441 7f34ccff96c0 Delete type=0 #327
|
||||
2025/11/21-21:20:34.182000 7f322ffff6c0 Level-0 table #332: started
|
||||
2025/11/21-21:20:34.182040 7f322ffff6c0 Level-0 table #332: 0 bytes OK
|
||||
2025/11/21-21:20:34.189103 7f322ffff6c0 Delete type=0 #330
|
||||
2025/11/21-21:20:34.199156 7f322ffff6c0 Manual compaction at level-0 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end)
|
||||
2025/11/21-21:20:34.220809 7f322ffff6c0 Manual compaction at level-1 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end)
|
||||
|
||||
Binary file not shown.
BIN
packs/aides-de-jeu/MANIFEST-000333
Normal file
BIN
packs/aides-de-jeu/MANIFEST-000333
Normal file
Binary file not shown.
Binary file not shown.
BIN
packs/armes/000275.ldb
Normal file
BIN
packs/armes/000275.ldb
Normal file
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000197
|
||||
MANIFEST-000332
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
2024/05/31-14:00:36.354612 7f19c7e006c0 Recovering log #195
|
||||
2024/05/31-14:00:36.408905 7f19c7e006c0 Delete type=3 #193
|
||||
2024/05/31-14:00:36.408966 7f19c7e006c0 Delete type=0 #195
|
||||
2026/01/05-22:20:56.048400 7f93eaffd6c0 Recovering log #330
|
||||
2026/01/05-22:20:56.058614 7f93eaffd6c0 Delete type=3 #328
|
||||
2026/01/05-22:20:56.058678 7f93eaffd6c0 Delete type=0 #330
|
||||
2026/01/05-22:39:51.125881 7f93e9ffb6c0 Level-0 table #335: started
|
||||
2026/01/05-22:39:51.125907 7f93e9ffb6c0 Level-0 table #335: 0 bytes OK
|
||||
2026/01/05-22:39:51.131746 7f93e9ffb6c0 Delete type=0 #333
|
||||
2026/01/05-22:39:51.137885 7f93e9ffb6c0 Manual compaction at level-0 from '!items!0fit7HelSjaFtXcW' @ 72057594037927935 : 1 .. '!items!wxrzP3NyiHiYnAMJ' @ 0 : 0; will stop at (end)
|
||||
2026/01/05-22:39:51.137919 7f93e9ffb6c0 Manual compaction at level-1 from '!items!0fit7HelSjaFtXcW' @ 72057594037927935 : 1 .. '!items!wxrzP3NyiHiYnAMJ' @ 0 : 0; will stop at (end)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
2024/05/30-08:20:34.748705 7ff4c16006c0 Recovering log #191
|
||||
2024/05/30-08:20:34.770253 7ff4c16006c0 Delete type=3 #189
|
||||
2024/05/30-08:20:34.770411 7ff4c16006c0 Delete type=0 #191
|
||||
2024/05/30-08:30:06.047232 7ff4c0c006c0 Level-0 table #196: started
|
||||
2024/05/30-08:30:06.047254 7ff4c0c006c0 Level-0 table #196: 0 bytes OK
|
||||
2024/05/30-08:30:06.081200 7ff4c0c006c0 Delete type=0 #194
|
||||
2024/05/30-08:30:06.081367 7ff4c0c006c0 Manual compaction at level-0 from '!items!0fit7HelSjaFtXcW' @ 72057594037927935 : 1 .. '!items!wxrzP3NyiHiYnAMJ' @ 0 : 0; will stop at (end)
|
||||
2024/05/30-08:30:06.081387 7ff4c0c006c0 Manual compaction at level-1 from '!items!0fit7HelSjaFtXcW' @ 72057594037927935 : 1 .. '!items!wxrzP3NyiHiYnAMJ' @ 0 : 0; will stop at (end)
|
||||
2025/11/21-21:17:11.119952 7f34cd7fa6c0 Recovering log #326
|
||||
2025/11/21-21:17:11.135840 7f34cd7fa6c0 Delete type=3 #324
|
||||
2025/11/21-21:17:11.135940 7f34cd7fa6c0 Delete type=0 #326
|
||||
2025/11/21-21:20:34.115063 7f322ffff6c0 Level-0 table #331: started
|
||||
2025/11/21-21:20:34.115090 7f322ffff6c0 Level-0 table #331: 0 bytes OK
|
||||
2025/11/21-21:20:34.121038 7f322ffff6c0 Delete type=0 #329
|
||||
2025/11/21-21:20:34.121241 7f322ffff6c0 Manual compaction at level-0 from '!items!0fit7HelSjaFtXcW' @ 72057594037927935 : 1 .. '!items!wxrzP3NyiHiYnAMJ' @ 0 : 0; will stop at (end)
|
||||
2025/11/21-21:20:34.121271 7f322ffff6c0 Manual compaction at level-1 from '!items!0fit7HelSjaFtXcW' @ 72057594037927935 : 1 .. '!items!wxrzP3NyiHiYnAMJ' @ 0 : 0; will stop at (end)
|
||||
|
||||
Binary file not shown.
BIN
packs/armes/MANIFEST-000332
Normal file
BIN
packs/armes/MANIFEST-000332
Normal file
Binary file not shown.
Binary file not shown.
BIN
packs/competences-creatures/000275.ldb
Normal file
BIN
packs/competences-creatures/000275.ldb
Normal file
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000197
|
||||
MANIFEST-000332
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
2024/05/31-14:00:36.234976 7f19c7e006c0 Recovering log #195
|
||||
2024/05/31-14:00:36.287333 7f19c7e006c0 Delete type=3 #193
|
||||
2024/05/31-14:00:36.287419 7f19c7e006c0 Delete type=0 #195
|
||||
2026/01/05-22:20:56.023009 7f93eb7fe6c0 Recovering log #330
|
||||
2026/01/05-22:20:56.032779 7f93eb7fe6c0 Delete type=3 #328
|
||||
2026/01/05-22:20:56.032853 7f93eb7fe6c0 Delete type=0 #330
|
||||
2026/01/05-22:39:51.087705 7f93e9ffb6c0 Level-0 table #335: started
|
||||
2026/01/05-22:39:51.087797 7f93e9ffb6c0 Level-0 table #335: 0 bytes OK
|
||||
2026/01/05-22:39:51.094096 7f93e9ffb6c0 Delete type=0 #333
|
||||
2026/01/05-22:39:51.112531 7f93e9ffb6c0 Manual compaction at level-0 from '!items!0nhTxujlIUB63Aqt' @ 72057594037927935 : 1 .. '!items!tFU5yISK6spdNWco' @ 0 : 0; will stop at (end)
|
||||
2026/01/05-22:39:51.112576 7f93e9ffb6c0 Manual compaction at level-1 from '!items!0nhTxujlIUB63Aqt' @ 72057594037927935 : 1 .. '!items!tFU5yISK6spdNWco' @ 0 : 0; will stop at (end)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
2024/05/30-08:20:34.720508 7ff4c16006c0 Recovering log #191
|
||||
2024/05/30-08:20:34.731510 7ff4c16006c0 Delete type=3 #189
|
||||
2024/05/30-08:20:34.731576 7ff4c16006c0 Delete type=0 #191
|
||||
2024/05/30-08:30:05.963820 7ff4c0c006c0 Level-0 table #196: started
|
||||
2024/05/30-08:30:05.963879 7ff4c0c006c0 Level-0 table #196: 0 bytes OK
|
||||
2024/05/30-08:30:05.997883 7ff4c0c006c0 Delete type=0 #194
|
||||
2024/05/30-08:30:06.081326 7ff4c0c006c0 Manual compaction at level-0 from '!items!0nhTxujlIUB63Aqt' @ 72057594037927935 : 1 .. '!items!tFU5yISK6spdNWco' @ 0 : 0; will stop at (end)
|
||||
2024/05/30-08:30:06.081373 7ff4c0c006c0 Manual compaction at level-1 from '!items!0nhTxujlIUB63Aqt' @ 72057594037927935 : 1 .. '!items!tFU5yISK6spdNWco' @ 0 : 0; will stop at (end)
|
||||
2025/11/21-21:17:11.082663 7f34ccff96c0 Recovering log #326
|
||||
2025/11/21-21:17:11.097415 7f34ccff96c0 Delete type=3 #324
|
||||
2025/11/21-21:17:11.097522 7f34ccff96c0 Delete type=0 #326
|
||||
2025/11/21-21:20:34.082672 7f322ffff6c0 Level-0 table #331: started
|
||||
2025/11/21-21:20:34.082698 7f322ffff6c0 Level-0 table #331: 0 bytes OK
|
||||
2025/11/21-21:20:34.088631 7f322ffff6c0 Delete type=0 #329
|
||||
2025/11/21-21:20:34.094927 7f322ffff6c0 Manual compaction at level-0 from '!items!0nhTxujlIUB63Aqt' @ 72057594037927935 : 1 .. '!items!tFU5yISK6spdNWco' @ 0 : 0; will stop at (end)
|
||||
2025/11/21-21:20:34.094971 7f322ffff6c0 Manual compaction at level-1 from '!items!0nhTxujlIUB63Aqt' @ 72057594037927935 : 1 .. '!items!tFU5yISK6spdNWco' @ 0 : 0; will stop at (end)
|
||||
|
||||
Binary file not shown.
BIN
packs/competences-creatures/MANIFEST-000332
Normal file
BIN
packs/competences-creatures/MANIFEST-000332
Normal file
Binary file not shown.
Binary file not shown.
BIN
packs/competences/000275.ldb
Normal file
BIN
packs/competences/000275.ldb
Normal file
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000197
|
||||
MANIFEST-000332
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
2024/05/31-14:00:36.096613 7f19c7e006c0 Recovering log #195
|
||||
2024/05/31-14:00:36.152261 7f19c7e006c0 Delete type=3 #193
|
||||
2024/05/31-14:00:36.152502 7f19c7e006c0 Delete type=0 #195
|
||||
2026/01/05-22:20:55.998572 7f93ea7fc6c0 Recovering log #330
|
||||
2026/01/05-22:20:56.008503 7f93ea7fc6c0 Delete type=3 #328
|
||||
2026/01/05-22:20:56.008556 7f93ea7fc6c0 Delete type=0 #330
|
||||
2026/01/05-22:39:51.100430 7f93e9ffb6c0 Level-0 table #335: started
|
||||
2026/01/05-22:39:51.100453 7f93e9ffb6c0 Level-0 table #335: 0 bytes OK
|
||||
2026/01/05-22:39:51.106283 7f93e9ffb6c0 Delete type=0 #333
|
||||
2026/01/05-22:39:51.112557 7f93e9ffb6c0 Manual compaction at level-0 from '!items!15IDGG6JoZnRCQtY' @ 72057594037927935 : 1 .. '!items!yI1zY5k8mAdx9wHK' @ 0 : 0; will stop at (end)
|
||||
2026/01/05-22:39:51.112589 7f93e9ffb6c0 Manual compaction at level-1 from '!items!15IDGG6JoZnRCQtY' @ 72057594037927935 : 1 .. '!items!yI1zY5k8mAdx9wHK' @ 0 : 0; will stop at (end)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
2024/05/30-08:20:34.675461 7ff4c16006c0 Recovering log #191
|
||||
2024/05/30-08:20:34.692897 7ff4c16006c0 Delete type=3 #189
|
||||
2024/05/30-08:20:34.692957 7ff4c16006c0 Delete type=0 #191
|
||||
2024/05/30-08:30:05.824069 7ff4c0c006c0 Level-0 table #196: started
|
||||
2024/05/30-08:30:05.824141 7ff4c0c006c0 Level-0 table #196: 0 bytes OK
|
||||
2024/05/30-08:30:05.864619 7ff4c0c006c0 Delete type=0 #194
|
||||
2024/05/30-08:30:05.864879 7ff4c0c006c0 Manual compaction at level-0 from '!items!15IDGG6JoZnRCQtY' @ 72057594037927935 : 1 .. '!items!yI1zY5k8mAdx9wHK' @ 0 : 0; will stop at (end)
|
||||
2024/05/30-08:30:05.923774 7ff4c0c006c0 Manual compaction at level-1 from '!items!15IDGG6JoZnRCQtY' @ 72057594037927935 : 1 .. '!items!yI1zY5k8mAdx9wHK' @ 0 : 0; will stop at (end)
|
||||
2025/11/21-21:17:11.044217 7f34ce7fc6c0 Recovering log #326
|
||||
2025/11/21-21:17:11.059351 7f34ce7fc6c0 Delete type=3 #324
|
||||
2025/11/21-21:17:11.059409 7f34ce7fc6c0 Delete type=0 #326
|
||||
2025/11/21-21:20:34.076024 7f322ffff6c0 Level-0 table #331: started
|
||||
2025/11/21-21:20:34.076057 7f322ffff6c0 Level-0 table #331: 0 bytes OK
|
||||
2025/11/21-21:20:34.082546 7f322ffff6c0 Delete type=0 #329
|
||||
2025/11/21-21:20:34.094915 7f322ffff6c0 Manual compaction at level-0 from '!items!15IDGG6JoZnRCQtY' @ 72057594037927935 : 1 .. '!items!yI1zY5k8mAdx9wHK' @ 0 : 0; will stop at (end)
|
||||
2025/11/21-21:20:34.094962 7f322ffff6c0 Manual compaction at level-1 from '!items!15IDGG6JoZnRCQtY' @ 72057594037927935 : 1 .. '!items!yI1zY5k8mAdx9wHK' @ 0 : 0; will stop at (end)
|
||||
|
||||
Binary file not shown.
BIN
packs/competences/MANIFEST-000332
Normal file
BIN
packs/competences/MANIFEST-000332
Normal file
Binary file not shown.
Binary file not shown.
BIN
packs/equipement/000275.ldb
Normal file
BIN
packs/equipement/000275.ldb
Normal file
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000197
|
||||
MANIFEST-000332
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
2024/05/31-14:00:36.506398 7f19c7e006c0 Recovering log #195
|
||||
2024/05/31-14:00:36.606726 7f19c7e006c0 Delete type=3 #193
|
||||
2024/05/31-14:00:36.606779 7f19c7e006c0 Delete type=0 #195
|
||||
2026/01/05-22:20:56.073305 7f93eb7fe6c0 Recovering log #330
|
||||
2026/01/05-22:20:56.084269 7f93eb7fe6c0 Delete type=3 #328
|
||||
2026/01/05-22:20:56.084336 7f93eb7fe6c0 Delete type=0 #330
|
||||
2026/01/05-22:39:51.112726 7f93e9ffb6c0 Level-0 table #335: started
|
||||
2026/01/05-22:39:51.112760 7f93e9ffb6c0 Level-0 table #335: 0 bytes OK
|
||||
2026/01/05-22:39:51.119133 7f93e9ffb6c0 Delete type=0 #333
|
||||
2026/01/05-22:39:51.137862 7f93e9ffb6c0 Manual compaction at level-0 from '!items!0BopmCu8vGK2923j' @ 72057594037927935 : 1 .. '!items!zYx0Ak2y1LNTcKlO' @ 0 : 0; will stop at (end)
|
||||
2026/01/05-22:39:51.137903 7f93e9ffb6c0 Manual compaction at level-1 from '!items!0BopmCu8vGK2923j' @ 72057594037927935 : 1 .. '!items!zYx0Ak2y1LNTcKlO' @ 0 : 0; will stop at (end)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
2024/05/30-08:20:34.786440 7ff4c16006c0 Recovering log #191
|
||||
2024/05/30-08:20:34.796746 7ff4c16006c0 Delete type=3 #189
|
||||
2024/05/30-08:20:34.796849 7ff4c16006c0 Delete type=0 #191
|
||||
2024/05/30-08:30:06.081452 7ff4c0c006c0 Level-0 table #196: started
|
||||
2024/05/30-08:30:06.081472 7ff4c0c006c0 Level-0 table #196: 0 bytes OK
|
||||
2024/05/30-08:30:06.114237 7ff4c0c006c0 Delete type=0 #194
|
||||
2024/05/30-08:30:06.229981 7ff4c0c006c0 Manual compaction at level-0 from '!items!0BopmCu8vGK2923j' @ 72057594037927935 : 1 .. '!items!zYx0Ak2y1LNTcKlO' @ 0 : 0; will stop at (end)
|
||||
2024/05/30-08:30:06.230018 7ff4c0c006c0 Manual compaction at level-1 from '!items!0BopmCu8vGK2923j' @ 72057594037927935 : 1 .. '!items!zYx0Ak2y1LNTcKlO' @ 0 : 0; will stop at (end)
|
||||
2025/11/21-21:17:11.157103 7f34ce7fc6c0 Recovering log #326
|
||||
2025/11/21-21:17:11.172875 7f34ce7fc6c0 Delete type=3 #324
|
||||
2025/11/21-21:17:11.172939 7f34ce7fc6c0 Delete type=0 #326
|
||||
2025/11/21-21:20:34.095092 7f322ffff6c0 Level-0 table #331: started
|
||||
2025/11/21-21:20:34.095126 7f322ffff6c0 Level-0 table #331: 0 bytes OK
|
||||
2025/11/21-21:20:34.102295 7f322ffff6c0 Delete type=0 #329
|
||||
2025/11/21-21:20:34.121183 7f322ffff6c0 Manual compaction at level-0 from '!items!0BopmCu8vGK2923j' @ 72057594037927935 : 1 .. '!items!zYx0Ak2y1LNTcKlO' @ 0 : 0; will stop at (end)
|
||||
2025/11/21-21:20:34.121249 7f322ffff6c0 Manual compaction at level-1 from '!items!0BopmCu8vGK2923j' @ 72057594037927935 : 1 .. '!items!zYx0Ak2y1LNTcKlO' @ 0 : 0; will stop at (end)
|
||||
|
||||
Binary file not shown.
BIN
packs/equipement/MANIFEST-000332
Normal file
BIN
packs/equipement/MANIFEST-000332
Normal file
Binary file not shown.
Binary file not shown.
BIN
packs/historiques/000275.ldb
Normal file
BIN
packs/historiques/000275.ldb
Normal file
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000197
|
||||
MANIFEST-000332
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
2024/05/31-14:00:36.294606 7f19c6a006c0 Recovering log #195
|
||||
2024/05/31-14:00:36.348946 7f19c6a006c0 Delete type=3 #193
|
||||
2024/05/31-14:00:36.349029 7f19c6a006c0 Delete type=0 #195
|
||||
2026/01/05-22:20:56.034759 7f93ea7fc6c0 Recovering log #330
|
||||
2026/01/05-22:20:56.045303 7f93ea7fc6c0 Delete type=3 #328
|
||||
2026/01/05-22:20:56.045387 7f93ea7fc6c0 Delete type=0 #330
|
||||
2026/01/05-22:39:51.094206 7f93e9ffb6c0 Level-0 table #335: started
|
||||
2026/01/05-22:39:51.094228 7f93e9ffb6c0 Level-0 table #335: 0 bytes OK
|
||||
2026/01/05-22:39:51.100330 7f93e9ffb6c0 Delete type=0 #333
|
||||
2026/01/05-22:39:51.112546 7f93e9ffb6c0 Manual compaction at level-0 from '!items!15foLG7y3LUXNzkK' @ 72057594037927935 : 1 .. '!items!z1HtkvazCGHut7cz' @ 0 : 0; will stop at (end)
|
||||
2026/01/05-22:39:51.112583 7f93e9ffb6c0 Manual compaction at level-1 from '!items!15foLG7y3LUXNzkK' @ 72057594037927935 : 1 .. '!items!z1HtkvazCGHut7cz' @ 0 : 0; will stop at (end)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
2024/05/30-08:20:34.733842 7ff4c34006c0 Recovering log #191
|
||||
2024/05/30-08:20:34.743469 7ff4c34006c0 Delete type=3 #189
|
||||
2024/05/30-08:20:34.743550 7ff4c34006c0 Delete type=0 #191
|
||||
2024/05/30-08:30:05.998107 7ff4c0c006c0 Level-0 table #196: started
|
||||
2024/05/30-08:30:05.998163 7ff4c0c006c0 Level-0 table #196: 0 bytes OK
|
||||
2024/05/30-08:30:06.047044 7ff4c0c006c0 Delete type=0 #194
|
||||
2024/05/30-08:30:06.081347 7ff4c0c006c0 Manual compaction at level-0 from '!items!15foLG7y3LUXNzkK' @ 72057594037927935 : 1 .. '!items!z1HtkvazCGHut7cz' @ 0 : 0; will stop at (end)
|
||||
2024/05/30-08:30:06.081380 7ff4c0c006c0 Manual compaction at level-1 from '!items!15foLG7y3LUXNzkK' @ 72057594037927935 : 1 .. '!items!z1HtkvazCGHut7cz' @ 0 : 0; will stop at (end)
|
||||
2025/11/21-21:17:11.100312 7f34ce7fc6c0 Recovering log #326
|
||||
2025/11/21-21:17:11.117500 7f34ce7fc6c0 Delete type=3 #324
|
||||
2025/11/21-21:17:11.117567 7f34ce7fc6c0 Delete type=0 #326
|
||||
2025/11/21-21:20:34.069446 7f322ffff6c0 Level-0 table #331: started
|
||||
2025/11/21-21:20:34.069505 7f322ffff6c0 Level-0 table #331: 0 bytes OK
|
||||
2025/11/21-21:20:34.075899 7f322ffff6c0 Delete type=0 #329
|
||||
2025/11/21-21:20:34.094892 7f322ffff6c0 Manual compaction at level-0 from '!items!15foLG7y3LUXNzkK' @ 72057594037927935 : 1 .. '!items!z1HtkvazCGHut7cz' @ 0 : 0; will stop at (end)
|
||||
2025/11/21-21:20:34.094951 7f322ffff6c0 Manual compaction at level-1 from '!items!15foLG7y3LUXNzkK' @ 72057594037927935 : 1 .. '!items!z1HtkvazCGHut7cz' @ 0 : 0; will stop at (end)
|
||||
|
||||
Binary file not shown.
BIN
packs/historiques/MANIFEST-000332
Normal file
BIN
packs/historiques/MANIFEST-000332
Normal file
Binary file not shown.
Binary file not shown.
BIN
packs/mutations/000185.ldb
Normal file
BIN
packs/mutations/000185.ldb
Normal file
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000107
|
||||
MANIFEST-000242
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
2024/05/31-14:00:36.158899 7f19c6a006c0 Recovering log #105
|
||||
2024/05/31-14:00:36.211355 7f19c6a006c0 Delete type=3 #103
|
||||
2024/05/31-14:00:36.211422 7f19c6a006c0 Delete type=0 #105
|
||||
2026/01/05-22:20:56.010250 7f93eaffd6c0 Recovering log #240
|
||||
2026/01/05-22:20:56.020208 7f93eaffd6c0 Delete type=3 #238
|
||||
2026/01/05-22:20:56.020270 7f93eaffd6c0 Delete type=0 #240
|
||||
2026/01/05-22:39:51.106439 7f93e9ffb6c0 Level-0 table #245: started
|
||||
2026/01/05-22:39:51.106472 7f93e9ffb6c0 Level-0 table #245: 0 bytes OK
|
||||
2026/01/05-22:39:51.112404 7f93e9ffb6c0 Delete type=0 #243
|
||||
2026/01/05-22:39:51.112570 7f93e9ffb6c0 Manual compaction at level-0 from '!folders!5d4Zn28TUcPxRyXd' @ 72057594037927935 : 1 .. '!items!zttESycGKltfwCzJ' @ 0 : 0; will stop at (end)
|
||||
2026/01/05-22:39:51.112598 7f93e9ffb6c0 Manual compaction at level-1 from '!folders!5d4Zn28TUcPxRyXd' @ 72057594037927935 : 1 .. '!items!zttESycGKltfwCzJ' @ 0 : 0; will stop at (end)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
2024/05/30-08:20:34.697920 7ff4c34006c0 Recovering log #101
|
||||
2024/05/30-08:20:34.715302 7ff4c34006c0 Delete type=3 #99
|
||||
2024/05/30-08:20:34.715376 7ff4c34006c0 Delete type=0 #101
|
||||
2024/05/30-08:30:05.923786 7ff4c0c006c0 Level-0 table #106: started
|
||||
2024/05/30-08:30:05.923812 7ff4c0c006c0 Level-0 table #106: 0 bytes OK
|
||||
2024/05/30-08:30:05.963487 7ff4c0c006c0 Delete type=0 #104
|
||||
2024/05/30-08:30:06.047218 7ff4c0c006c0 Manual compaction at level-0 from '!folders!5d4Zn28TUcPxRyXd' @ 72057594037927935 : 1 .. '!items!zttESycGKltfwCzJ' @ 0 : 0; will stop at (end)
|
||||
2024/05/30-08:30:06.081359 7ff4c0c006c0 Manual compaction at level-1 from '!folders!5d4Zn28TUcPxRyXd' @ 72057594037927935 : 1 .. '!items!zttESycGKltfwCzJ' @ 0 : 0; will stop at (end)
|
||||
2025/11/21-21:17:11.062660 7f34cdffb6c0 Recovering log #236
|
||||
2025/11/21-21:17:11.079663 7f34cdffb6c0 Delete type=3 #234
|
||||
2025/11/21-21:17:11.079731 7f34cdffb6c0 Delete type=0 #236
|
||||
2025/11/21-21:20:34.088817 7f322ffff6c0 Level-0 table #241: started
|
||||
2025/11/21-21:20:34.088856 7f322ffff6c0 Level-0 table #241: 0 bytes OK
|
||||
2025/11/21-21:20:34.094750 7f322ffff6c0 Delete type=0 #239
|
||||
2025/11/21-21:20:34.094940 7f322ffff6c0 Manual compaction at level-0 from '!folders!5d4Zn28TUcPxRyXd' @ 72057594037927935 : 1 .. '!items!zttESycGKltfwCzJ' @ 0 : 0; will stop at (end)
|
||||
2025/11/21-21:20:34.094980 7f322ffff6c0 Manual compaction at level-1 from '!folders!5d4Zn28TUcPxRyXd' @ 72057594037927935 : 1 .. '!items!zttESycGKltfwCzJ' @ 0 : 0; will stop at (end)
|
||||
|
||||
Binary file not shown.
BIN
packs/mutations/MANIFEST-000242
Normal file
BIN
packs/mutations/MANIFEST-000242
Normal file
Binary file not shown.
Binary file not shown.
BIN
packs/profils/000275.ldb
Normal file
BIN
packs/profils/000275.ldb
Normal file
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000197
|
||||
MANIFEST-000332
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
2024/05/31-14:00:36.614314 7f19c6a006c0 Recovering log #195
|
||||
2024/05/31-14:00:36.664608 7f19c6a006c0 Delete type=3 #193
|
||||
2024/05/31-14:00:36.664740 7f19c6a006c0 Delete type=0 #195
|
||||
2026/01/05-22:20:56.088422 7f93eaffd6c0 Recovering log #330
|
||||
2026/01/05-22:20:56.098507 7f93eaffd6c0 Delete type=3 #328
|
||||
2026/01/05-22:20:56.098565 7f93eaffd6c0 Delete type=0 #330
|
||||
2026/01/05-22:39:51.119253 7f93e9ffb6c0 Level-0 table #335: started
|
||||
2026/01/05-22:39:51.119282 7f93e9ffb6c0 Level-0 table #335: 0 bytes OK
|
||||
2026/01/05-22:39:51.125789 7f93e9ffb6c0 Delete type=0 #333
|
||||
2026/01/05-22:39:51.137875 7f93e9ffb6c0 Manual compaction at level-0 from '!items!26mRstKhCJoXkhu1' @ 72057594037927935 : 1 .. '!items!tFQqcxmkS3MT6ASE' @ 0 : 0; will stop at (end)
|
||||
2026/01/05-22:39:51.137911 7f93e9ffb6c0 Manual compaction at level-1 from '!items!26mRstKhCJoXkhu1' @ 72057594037927935 : 1 .. '!items!tFQqcxmkS3MT6ASE' @ 0 : 0; will stop at (end)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
2024/05/30-08:20:34.800876 7ff4c34006c0 Recovering log #191
|
||||
2024/05/30-08:20:34.812006 7ff4c34006c0 Delete type=3 #189
|
||||
2024/05/30-08:20:34.812097 7ff4c34006c0 Delete type=0 #191
|
||||
2024/05/30-08:30:06.155084 7ff4c0c006c0 Level-0 table #196: started
|
||||
2024/05/30-08:30:06.155158 7ff4c0c006c0 Level-0 table #196: 0 bytes OK
|
||||
2024/05/30-08:30:06.197414 7ff4c0c006c0 Delete type=0 #194
|
||||
2024/05/30-08:30:06.230004 7ff4c0c006c0 Manual compaction at level-0 from '!items!26mRstKhCJoXkhu1' @ 72057594037927935 : 1 .. '!items!tFQqcxmkS3MT6ASE' @ 0 : 0; will stop at (end)
|
||||
2024/05/30-08:30:06.230039 7ff4c0c006c0 Manual compaction at level-1 from '!items!26mRstKhCJoXkhu1' @ 72057594037927935 : 1 .. '!items!tFQqcxmkS3MT6ASE' @ 0 : 0; will stop at (end)
|
||||
2025/11/21-21:17:11.175622 7f34cd7fa6c0 Recovering log #326
|
||||
2025/11/21-21:17:11.190667 7f34cd7fa6c0 Delete type=3 #324
|
||||
2025/11/21-21:17:11.190757 7f34cd7fa6c0 Delete type=0 #326
|
||||
2025/11/21-21:20:34.109081 7f322ffff6c0 Level-0 table #331: started
|
||||
2025/11/21-21:20:34.109106 7f322ffff6c0 Level-0 table #331: 0 bytes OK
|
||||
2025/11/21-21:20:34.114933 7f322ffff6c0 Delete type=0 #329
|
||||
2025/11/21-21:20:34.121229 7f322ffff6c0 Manual compaction at level-0 from '!items!26mRstKhCJoXkhu1' @ 72057594037927935 : 1 .. '!items!tFQqcxmkS3MT6ASE' @ 0 : 0; will stop at (end)
|
||||
2025/11/21-21:20:34.121264 7f322ffff6c0 Manual compaction at level-1 from '!items!26mRstKhCJoXkhu1' @ 72057594037927935 : 1 .. '!items!tFQqcxmkS3MT6ASE' @ 0 : 0; will stop at (end)
|
||||
|
||||
Binary file not shown.
BIN
packs/profils/MANIFEST-000332
Normal file
BIN
packs/profils/MANIFEST-000332
Normal file
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user