Compare commits
20 Commits
fvtt-waste
...
main
Author | SHA1 | Date | |
---|---|---|---|
627ccc707b | |||
fdf28c4978 | |||
e0eac58bc9 | |||
b463323fbe | |||
bddf772c99 | |||
a716a3b3d1 | |||
5814ef41df | |||
c0fcbe278f | |||
94f7ef8f90 | |||
19409dd547 | |||
217df7ee10 | |||
9990545568 | |||
d2da332411 | |||
028e8bddac | |||
5c889a5153 | |||
68689add33 | |||
4ed2bcd2ee | |||
0edf336d28 | |||
046cdf4fb2 | |||
cc0faec25e |
12
README.md
12
README.md
@ -1,11 +1,14 @@
|
||||
# Système Foundry pour Wasteland (French RPG, Titam France/Sombres Projets)
|
||||
|
||||
Système Foundry pour Wasteland (French RPG, Titam France/Sombres Projets)
|
||||
|
||||
## EN
|
||||
|
||||
Unofficial system for Wasteland (French version from Titam France).
|
||||
Unofficial system for Wasteland (French RPG from Titam France).
|
||||
|
||||
Books are mandatory to play and are available at : http://www.titam-france.fr
|
||||
|
||||
``
|
||||
|
||||
## FR
|
||||
|
||||
Système non-officiel pour le JDR Wasteland (Titam France).
|
||||
@ -16,8 +19,9 @@ Les livres du jeu sont nécessaires pour jouer, et sont disponibles ici : http:/
|
||||
|
||||
# Credits
|
||||
|
||||
Wasteland, le jeu de rôle de Sword & Sorcery, is a property of Titam France/Sombres Projets.
|
||||
Wasteland is a property of Titam France/Sombres Projets.
|
||||
|
||||
# Developmement
|
||||
|
||||
LeRatierBretonnien
|
||||
Code, CSS and automations : LeRatierBretonnien
|
||||
Compendiums : Pretre, LeRatierBretonnien
|
||||
|
BIN
assets/icons/don.webp
Normal file
BIN
assets/icons/don.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 40 KiB |
BIN
assets/icons/hubris.webp
Normal file
BIN
assets/icons/hubris.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 40 KiB |
8
changelog.md
Normal file
8
changelog.md
Normal file
@ -0,0 +1,8 @@
|
||||
# 12.0.1
|
||||
|
||||
- Fix v12 version
|
||||
|
||||
# 11.0.22
|
||||
|
||||
- Version initiale
|
||||
-
|
45
lang/fr.json
45
lang/fr.json
@ -1,24 +1,25 @@
|
||||
{
|
||||
"ACTOR": {
|
||||
"TypePersonnage": "Personnage",
|
||||
"TypePNJ": "PNJ"
|
||||
},
|
||||
|
||||
"ITEM": {
|
||||
"TypeArme": "Arme",
|
||||
"TypeCompetence": "Compétence",
|
||||
"TypeProtection": "Protection",
|
||||
"TypeMonnaie": "Monnaie",
|
||||
"TypeEquipement": "Equipement",
|
||||
"TypeCapacite": "Capacité",
|
||||
"TypeOrigine": "Origine",
|
||||
"TypeHeritage": "Héritage",
|
||||
"TypeMetier": "Métier",
|
||||
"TypeBouclier": "Bouclier",
|
||||
"TypePouvoir": "Pouvoir",
|
||||
"TypeArtifex": "Artifex",
|
||||
"TypeMutation": "Mutation",
|
||||
"TypeCharme": "Charme",
|
||||
"TypePeuple": "Peuple"
|
||||
{
|
||||
"TYPES": {
|
||||
"Item": {
|
||||
"arme": "Arme",
|
||||
"competence": "Compétence",
|
||||
"protection": "Protection",
|
||||
"monnaie": "Monnaie",
|
||||
"equipement": "Equipement",
|
||||
"capacite": "Capacité",
|
||||
"origine": "Origine",
|
||||
"heritage": "Héritage",
|
||||
"metier": "Métier",
|
||||
"bouclier": "Bouclier",
|
||||
"pouvoir": "Pouvoir",
|
||||
"artifex": "Artifex",
|
||||
"mutation": "Mutation",
|
||||
"charme": "Charme",
|
||||
"peuple": "Peuple"
|
||||
},
|
||||
"Actor": {
|
||||
"personnage": "Personnage",
|
||||
"pnj": "PNJ"
|
||||
}
|
||||
}
|
||||
}
|
@ -7,12 +7,12 @@ import { WastelandUtility } from "./wasteland-utility.js";
|
||||
import { WastelandRollDialog } from "./wasteland-roll-dialog.js";
|
||||
|
||||
/* -------------------------------------------- */
|
||||
export class WastelandActorSheet extends ActorSheet {
|
||||
export class WastelandActorSheet extends foundry.appv1.sheets.ActorSheet {
|
||||
|
||||
/** @override */
|
||||
static get defaultOptions() {
|
||||
|
||||
return mergeObject(super.defaultOptions, {
|
||||
return foundry.utils.mergeObject(super.defaultOptions, {
|
||||
classes: ["fvtt-wasteland", "sheet", "actor"],
|
||||
template: "systems/fvtt-wasteland/templates/actor-sheet.html",
|
||||
width: 640,
|
||||
@ -25,8 +25,8 @@ export class WastelandActorSheet extends ActorSheet {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async getData() {
|
||||
const objectData = duplicate(this.object)
|
||||
let actorData = objectData
|
||||
const objectData = foundry.utils.duplicate(this.object)
|
||||
let actorData = objectData
|
||||
|
||||
let formData = {
|
||||
title: this.title,
|
||||
@ -40,23 +40,32 @@ export class WastelandActorSheet extends ActorSheet {
|
||||
effects: this.object.effects.map(e => foundry.utils.deepClone(e.data)),
|
||||
limited: this.object.limited,
|
||||
skills: this.actor.getSkills(),
|
||||
armes: duplicate(this.actor.getWeapons()),
|
||||
protections: duplicate(this.actor.getArmors()),
|
||||
pouvoirs:duplicate(this.actor.getPouvoirs()),
|
||||
tours:duplicate(this.actor.getTours()),
|
||||
charmes:duplicate(this.actor.getCharmes()),
|
||||
origine: duplicate(this.actor.getOrigine() || {}),
|
||||
heritage: duplicate(this.actor.getHeritage() || {}),
|
||||
metier: duplicate(this.actor.getMetier() || {}),
|
||||
combat: this.actor.getCombatValues(),
|
||||
config: duplicate(game.system.wasteland.config),
|
||||
equipements: duplicate(this.actor.getEquipments()),
|
||||
monnaies: duplicate(this.actor.getMonnaies()),
|
||||
description: await TextEditor.enrichHTML(this.object.system.biodata.description, {async: true}),
|
||||
armes: foundry.utils.duplicate(this.actor.getWeapons()),
|
||||
protections: foundry.utils.duplicate(this.actor.getArmors()),
|
||||
pouvoirs:foundry.utils.duplicate(this.actor.getPouvoirs()),
|
||||
dons: foundry.utils.duplicate(this.actor.getDons()),
|
||||
hubrises: foundry.utils.duplicate(this.actor.getHubris()),
|
||||
tours:foundry.utils.duplicate(this.actor.getTours()),
|
||||
artifex: foundry.utils.duplicate(this.actor.getArtifex()),
|
||||
charmes:foundry.utils.duplicate(this.actor.getCharmes()),
|
||||
peuple: foundry.utils.duplicate(this.actor.getPeuple() || {}),
|
||||
origine: foundry.utils.duplicate(this.actor.getOrigine() || {}),
|
||||
heritage: foundry.utils.duplicate(this.actor.getHeritage() || {}),
|
||||
metier: foundry.utils.duplicate(this.actor.getMetier() || {}),
|
||||
combat: this.actor.getCombatValues(),
|
||||
config: foundry.utils.duplicate(game.system.wasteland.config),
|
||||
capacites: foundry.utils.duplicate(this.actor.getCapacites()),
|
||||
equipements: foundry.utils.duplicate(this.actor.getEquipments()),
|
||||
monnaies: foundry.utils.duplicate(this.actor.getMonnaies()),
|
||||
mutations: foundry.utils.duplicate(this.actor.getMutations()),
|
||||
description: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.biodata.description, {async: true}),
|
||||
comportement: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.biodata.comportement, {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,
|
||||
isGM: game.user.isGM
|
||||
isGM: game.user.isGM,
|
||||
config: game.system.wasteland.config
|
||||
}
|
||||
this.formData = formData;
|
||||
|
||||
@ -64,7 +73,7 @@ export class WastelandActorSheet extends ActorSheet {
|
||||
return formData;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/** @override */
|
||||
activateListeners(html) {
|
||||
@ -72,14 +81,14 @@ export class WastelandActorSheet extends ActorSheet {
|
||||
|
||||
// Everything below here is only needed if the sheet is editable
|
||||
if (!this.options.editable) return;
|
||||
|
||||
|
||||
// Update Inventory Item
|
||||
html.find('.item-edit').click(ev => {
|
||||
const li = $(ev.currentTarget).parents(".item")
|
||||
let itemId = li.data("item-id")
|
||||
const item = this.actor.items.get( itemId )
|
||||
item.sheet.render(true)
|
||||
})
|
||||
})
|
||||
// Delete Inventory Item
|
||||
html.find('.item-delete').click(ev => {
|
||||
const li = $(ev.currentTarget).parents(".item");
|
||||
@ -94,7 +103,7 @@ export class WastelandActorSheet 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 );
|
||||
@ -120,7 +129,7 @@ export class WastelandActorSheet extends ActorSheet {
|
||||
let charmeId = li.data("item-id")
|
||||
this.actor.rollCharme(charmeId)
|
||||
})
|
||||
|
||||
|
||||
html.find('.roll-pouvoir').click((event) => {
|
||||
const li = $(event.currentTarget).parents(".item")
|
||||
let pouvoirId = li.data("item-id")
|
||||
@ -146,19 +155,19 @@ export class WastelandActorSheet extends ActorSheet {
|
||||
this.actor.createEmbeddedDocuments('Item', [{ name: `Nouveau ${itemType}`, type: itemType }], { renderSheet: true })
|
||||
})
|
||||
|
||||
|
||||
|
||||
html.find('.lock-unlock-sheet').click((event) => {
|
||||
this.options.editScore = !this.options.editScore;
|
||||
this.render(true);
|
||||
});
|
||||
});
|
||||
html.find('.item-equip').click(ev => {
|
||||
const li = $(ev.currentTarget).parents(".item");
|
||||
this.actor.equipItem( li.data("item-id") );
|
||||
this.render(true);
|
||||
this.render(true);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/** @override */
|
||||
setPosition(options = {}) {
|
||||
|
@ -37,11 +37,12 @@ export class WastelandActor extends Actor {
|
||||
return actor;
|
||||
}
|
||||
|
||||
const skills = await WastelandUtility.loadCompendium("fvtt-wasteland.skills")
|
||||
if (data.type == 'personnage') {
|
||||
const skills = await WastelandUtility.loadCompendium("fvtt-wasteland.skills")
|
||||
data.items = skills.map(i => i.toObject())
|
||||
}
|
||||
if (data.type == 'pnj') {
|
||||
if (data.type == 'creature') {
|
||||
data.items = skills.filter(i=>i.name.toLowerCase().includes("mêlée")).map(i => i.toObject())
|
||||
}
|
||||
|
||||
return super.create(data, options);
|
||||
@ -49,10 +50,10 @@ export class WastelandActor extends Actor {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
prepareArme(arme) {
|
||||
arme = duplicate(arme)
|
||||
arme = foundry.utils.duplicate(arme)
|
||||
let combat = this.getCombatValues()
|
||||
if (arme.system.typearme == "contact" || arme.system.typearme == "contactjet") {
|
||||
arme.system.competence = duplicate(this.items.find(item => item.type == "competence" && item.name.toLowerCase() == "mêlée"))
|
||||
arme.system.competence = foundry.utils.duplicate(this.items.find(item => item.type == "competence" && item.name.toLowerCase() == "mêlée"))
|
||||
arme.system.attrKey = "pui"
|
||||
arme.system.totalDegats = arme.system.degats + "+" + combat.bonusDegatsTotal
|
||||
arme.system.totalOffensif = this.system.attributs.pui.value + arme.system.competence.system.niveau + arme.system.bonusmaniementoff
|
||||
@ -61,7 +62,7 @@ export class WastelandActor extends Actor {
|
||||
}
|
||||
}
|
||||
if (arme.system.typearme == "jet" || arme.system.typearme == "tir") {
|
||||
arme.system.competence = duplicate(this.items.find(item => item.type == "competence" && item.name.toLowerCase() == "armes à distance"))
|
||||
arme.system.competence = foundry.utils.duplicate(this.items.find(item => item.type == "competence" && item.name.toLowerCase() == "armes à distance"))
|
||||
arme.system.attrKey = "adr"
|
||||
arme.system.totalOffensif = this.system.attributs.adr.value + arme.system.competence.system.niveau + arme.system.bonusmaniementoff
|
||||
arme.system.totalDegats = arme.system.degats
|
||||
@ -73,9 +74,9 @@ export class WastelandActor extends Actor {
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
prepareBouclier(bouclier) {
|
||||
bouclier = duplicate(bouclier)
|
||||
bouclier = foundry.utils.duplicate(bouclier)
|
||||
let combat = this.getCombatValues()
|
||||
bouclier.system.competence = duplicate(this.items.find(item => item.type == "competence" && item.name.toLowerCase() == "mêlée"))
|
||||
bouclier.system.competence = foundry.utils.duplicate(this.items.find(item => item.type == "competence" && item.name.toLowerCase() == "mêlée"))
|
||||
bouclier.system.attrKey = "pui"
|
||||
bouclier.system.totalDegats = bouclier.system.degats + "+" + combat.bonusDegatsTotal
|
||||
bouclier.system.totalOffensif = this.system.attributs.pui.value + bouclier.system.competence.system.niveau
|
||||
@ -116,18 +117,36 @@ export class WastelandActor extends Actor {
|
||||
WastelandUtility.sortArrayObjectsByName(items)
|
||||
return items
|
||||
}
|
||||
getArtifex() {
|
||||
return this.getItemSorted(["artifex"])
|
||||
}
|
||||
getCapacites() {
|
||||
return this.getItemSorted(["capacite"])
|
||||
}
|
||||
getPouvoirs() {
|
||||
return this.getItemSorted(["pouvoir"])
|
||||
}
|
||||
getDons() {
|
||||
return this.getItemSorted(["don"])
|
||||
}
|
||||
getHubris() {
|
||||
return this.getItemSorted(["hubris"])
|
||||
}
|
||||
getEquipments() {
|
||||
return this.getItemSorted(["equipement"])
|
||||
}
|
||||
getMonnaies() {
|
||||
return this.getItemSorted(["monnaie"])
|
||||
}
|
||||
getMutations() {
|
||||
return this.getItemSorted(["mutation"])
|
||||
}
|
||||
getArmors() {
|
||||
return this.getItemSorted(["protection"])
|
||||
}
|
||||
getPeuple() {
|
||||
return this.items.find(item => item.type == "peuple")
|
||||
}
|
||||
getOrigine() {
|
||||
return this.items.find(item => item.type == "origine")
|
||||
}
|
||||
@ -141,7 +160,7 @@ export class WastelandActor extends Actor {
|
||||
getSkills() {
|
||||
let comp = []
|
||||
for (let item of this.items) {
|
||||
item = duplicate(item)
|
||||
item = foundry.utils.duplicate(item)
|
||||
if (item.type == "competence") {
|
||||
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)
|
||||
@ -203,7 +222,7 @@ export class WastelandActor extends Actor {
|
||||
if (this.system.sante.base != newSante) {
|
||||
this.update({ 'system.sante.base': newSante })
|
||||
}
|
||||
let newPsyche = (this.system.attributs.cla.value + this.system.attributs.tre.value) * this.system.biodata.psychemultiplier + 5
|
||||
let newPsyche = ((this.system.attributs.cla.value + this.system.attributs.tre.value) * 2) + 5
|
||||
if (this.system.psyche.fullmax != newPsyche) {
|
||||
this.update({ 'system.psyche.fullmax': newPsyche })
|
||||
}
|
||||
@ -219,7 +238,7 @@ export class WastelandActor extends Actor {
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
incDecSante(value) {
|
||||
let sante = duplicate(this.system.sante)
|
||||
let sante = foundry.utils.duplicate(this.system.sante)
|
||||
sante.letaux += value
|
||||
this.update({ 'system.sante': sante })
|
||||
}
|
||||
@ -227,7 +246,7 @@ export class WastelandActor extends Actor {
|
||||
getItemById(id) {
|
||||
let item = this.items.find(item => item.id == id);
|
||||
if (item) {
|
||||
item = duplicate(item)
|
||||
item = foundry.utils.duplicate(item)
|
||||
}
|
||||
return item;
|
||||
}
|
||||
@ -282,7 +301,7 @@ export class WastelandActor extends Actor {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
subPointsPsyche(value) {
|
||||
let psyche = duplicate(this.system.psyche)
|
||||
let psyche = foundry.utils.duplicate(this.system.psyche)
|
||||
psyche.currentmax -= value
|
||||
this.update( {'system.psyche': psyche})
|
||||
}
|
||||
@ -321,13 +340,13 @@ export class WastelandActor extends Actor {
|
||||
getSubActors() {
|
||||
let subActors = [];
|
||||
for (let id of this.system.subactors) {
|
||||
subActors.push(duplicate(game.actors.get(id)));
|
||||
subActors.push(foundry.utils.duplicate(game.actors.get(id)));
|
||||
}
|
||||
return subActors;
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
async addSubActor(subActorId) {
|
||||
let subActors = duplicate(this.system.subactors);
|
||||
let subActors = foundry.utils.duplicate(this.system.subactors);
|
||||
subActors.push(subActorId);
|
||||
await this.update({ 'system.subactors': subActors });
|
||||
}
|
||||
@ -358,7 +377,7 @@ export class WastelandActor extends Actor {
|
||||
/* -------------------------------------------- */
|
||||
async setPredilectionUsed(compId, predIdx) {
|
||||
let comp = this.items.get(compId)
|
||||
let pred = duplicate(comp.system.predilections)
|
||||
let pred = foundry.utils.duplicate(comp.system.predilections)
|
||||
pred[predIdx].used = true
|
||||
await this.updateEmbeddedDocuments('Item', [{ _id: compId, 'system.predilections': pred }])
|
||||
}
|
||||
@ -381,7 +400,7 @@ export class WastelandActor extends Actor {
|
||||
}
|
||||
if ( arme.system.totalDefensif > maxDef) {
|
||||
maxDef = arme.system.totalDefensif
|
||||
bestArme = duplicate(arme)
|
||||
bestArme = foundry.utils.duplicate(arme)
|
||||
}
|
||||
}
|
||||
return bestArme
|
||||
@ -398,68 +417,66 @@ export class WastelandActor extends Actor {
|
||||
rollData.canEclatDoubleD20 = true // Always true in Wastelan
|
||||
rollData.doubleD20 = false
|
||||
rollData.attributs = WastelandUtility.getAttributs()
|
||||
rollData.config = duplicate(game.system.wasteland.config)
|
||||
rollData.config = foundry.utils.duplicate(game.system.wasteland.config)
|
||||
|
||||
if (attrKey) {
|
||||
rollData.attrKey = attrKey
|
||||
if (attrKey != "tochoose") {
|
||||
rollData.actionImg = "systems/fvtt-wasteland/assets/icons/" + this.system.attributs[attrKey].labelnorm + ".webp"
|
||||
rollData.attr = duplicate(this.system.attributs[attrKey])
|
||||
rollData.attr = foundry.utils.duplicate(this.system.attributs[attrKey])
|
||||
}
|
||||
}
|
||||
if (compId) {
|
||||
rollData.competence = duplicate(this.items.get(compId) || {})
|
||||
rollData.competence = foundry.utils.duplicate(this.items.get(compId) || {})
|
||||
rollData.actionImg = rollData.competence?.img
|
||||
}
|
||||
if (compName) {
|
||||
rollData.competence = duplicate(this.items.find( item => item.name.toLowerCase() == compName.toLowerCase()) || {})
|
||||
rollData.competence = foundry.utils.duplicate(this.items.find( item => item.name.toLowerCase() == compName.toLowerCase()) || {})
|
||||
rollData.actionImg = rollData.competence?.img
|
||||
}
|
||||
return rollData
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async rollAttribut(attrKey) {
|
||||
let rollData = this.getCommonRollData(attrKey)
|
||||
async launchRoll(rollData) {
|
||||
console.log("RollData", rollData)
|
||||
let rollDialog = await WastelandRollDialog.create(this, rollData)
|
||||
rollDialog.render(true)
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
rollAttribut(attrKey) {
|
||||
let rollData = this.getCommonRollData(attrKey)
|
||||
this.launchRoll(rollData)
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async rollCompetence(attrKey, compId) {
|
||||
rollCompetence(attrKey, compId) {
|
||||
let rollData = this.getCommonRollData(attrKey, compId)
|
||||
console.log("RollDatra", rollData)
|
||||
let rollDialog = await WastelandRollDialog.create(this, rollData)
|
||||
rollDialog.render(true)
|
||||
this.launchRoll(rollData)
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async rollCharme(charmeId) {
|
||||
let rollData = this.getCommonRollData("cla")
|
||||
rollData.charme = duplicate(this.items.get(charmeId) || {})
|
||||
rollData.charme = foundry.utils.duplicate(this.items.get(charmeId) || {})
|
||||
rollData.charmeDice = "1d4"
|
||||
console.log("RollDatra", rollData)
|
||||
let rollDialog = await WastelandRollDialog.create(this, rollData)
|
||||
rollDialog.render(true)
|
||||
this.launchRoll(rollData)
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async rollPouvoir(pouvoirId) {
|
||||
let comp = this.items.find(comp => comp.type == "competence" && comp.name.toLowerCase() == "savoir : runes")
|
||||
if ( !comp) {
|
||||
ui.notifications.warn("La compétence Savoirs : Runes n'a pas été trouvée, abandon.")
|
||||
return
|
||||
async rollPouvoir(pouvoirId) {
|
||||
let pouvoir = foundry.utils.duplicate(this.items.get(pouvoirId) || {})
|
||||
if (pouvoir?.system) {
|
||||
let rollData = this.getCommonRollData(pouvoir.system.attribut, undefined, pouvoir.system.competence)
|
||||
if (!rollData.competence) {
|
||||
ui.notifications.error("Le pouvoir " + pouvoir.name + " n'a pas de compétence associée. Editez le pouvoir avec la compétence associée.")
|
||||
return
|
||||
}
|
||||
rollData.pouvoir = pouvoir
|
||||
rollData.difficulte = pouvoir.system.seuil
|
||||
this.launchRoll(rollData)
|
||||
}
|
||||
let rollData = this.getCommonRollData("cla", undefined, "Savoir : Runes")
|
||||
rollData.rune = duplicate(this.items.get(runeId) || {})
|
||||
rollData.difficulte = rollData.rune?.system?.seuil || 0
|
||||
rollData.runemode = "prononcer"
|
||||
rollData.runeame = 1
|
||||
console.log("runeData", rollData)
|
||||
let rollDialog = await WastelandRollDialog.create(this, rollData)
|
||||
rollDialog.render(true)
|
||||
}
|
||||
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
async rollArmeOffensif(armeId) {
|
||||
let arme = this.items.get(armeId)
|
||||
@ -471,9 +488,7 @@ export class WastelandActor extends Actor {
|
||||
}
|
||||
let rollData = this.getCommonRollData(arme.system.attrKey, arme.system.competence._id)
|
||||
rollData.arme = arme
|
||||
console.log("ARME!", rollData)
|
||||
let rollDialog = await WastelandRollDialog.create(this, rollData)
|
||||
rollDialog.render(true)
|
||||
this.launchRoll(rollData)
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@ -485,7 +500,7 @@ export class WastelandActor extends Actor {
|
||||
if (arme.type == "bouclier") {
|
||||
arme = this.prepareBouclier(arme)
|
||||
}
|
||||
let roll = new Roll(arme.system.totalDegats).roll({ async: false })
|
||||
let roll = await new Roll(arme.system.totalDegats).roll()
|
||||
await WastelandUtility.showDiceSoNice(roll, game.settings.get("core", "rollMode"));
|
||||
let rollData = {
|
||||
arme: arme,
|
||||
|
@ -10,7 +10,7 @@ export class WastelandCombat extends Combat {
|
||||
const c = this.combatants.get(ids[cId]);
|
||||
let id = c._id || c.id;
|
||||
let initBonus = c.actor ? c.actor.getInitiativeScore() : 0
|
||||
let roll = new Roll("1d10 + "+initBonus).roll({ async: false})
|
||||
let roll = await new Roll("1d10 + "+initBonus).roll()
|
||||
await WastelandUtility.showDiceSoNice(roll, game.settings.get("core", "rollMode"))
|
||||
//console.log("Init bonus", initBonus, roll.total)
|
||||
await this.updateEmbeddedDocuments("Combatant", [ { _id: id, initiative: roll.total } ]);
|
||||
|
@ -6,7 +6,17 @@ export const WASTELAND_CONFIG = {
|
||||
"echo": "Chemin des Échos",
|
||||
"reflet": "Chemin des Reflets",
|
||||
"ame": "Chemin des Âmes",
|
||||
"mort": "Chemin des Morts"
|
||||
"mort": "Chemin des Morts",
|
||||
"vie": "Chemin de Vie",
|
||||
"guerre": "Chemin des guerres",
|
||||
"horizon": "Chemin vers l'horizon",
|
||||
"voleurinvisible": "Chemin du Voleur invisible",
|
||||
"nuit": "Chemin des Nuits",
|
||||
"oiseaux": "Chemin des Oiseaux"
|
||||
},
|
||||
hubrisType: {
|
||||
"mental": "Mental",
|
||||
"physique": "Physique",
|
||||
},
|
||||
charmetype: {
|
||||
tour: "Tour",
|
||||
@ -20,4 +30,28 @@ export const WASTELAND_CONFIG = {
|
||||
"1d12": "1d12",
|
||||
"1d20": "1d20",
|
||||
},
|
||||
artifexType: {
|
||||
"vapeur": "Vapeur",
|
||||
"mecanique": "Mécanique",
|
||||
"chimie": "Chimie",
|
||||
"electricite": "Électricité",
|
||||
"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)"
|
||||
}
|
||||
|
||||
}
|
||||
|
26
modules/wasteland-creature-sheet.js
Normal file
26
modules/wasteland-creature-sheet.js
Normal file
@ -0,0 +1,26 @@
|
||||
/**
|
||||
* Extend the basic ActorSheet with some very simple modifications
|
||||
* @extends {ActorSheet}
|
||||
*/
|
||||
|
||||
import { WastelandUtility } from "./wasteland-utility.js";
|
||||
import { WastelandActorSheet } from "./wasteland-actor-sheet.js";
|
||||
|
||||
/* -------------------------------------------- */
|
||||
export class WastelandCreatureSheet extends WastelandActorSheet {
|
||||
|
||||
/** @override */
|
||||
static get defaultOptions() {
|
||||
|
||||
return foundry.utils.mergeObject(super.defaultOptions, {
|
||||
classes: ["fvtt-wasteland", "sheet", "creature"],
|
||||
template: "systems/fvtt-wasteland/templates/creature-sheet.html",
|
||||
width: 640,
|
||||
height: 720,
|
||||
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "stats" }],
|
||||
dragDrop: [{ dragSelector: ".item-list .item", dropSelector: null }],
|
||||
editScore: false
|
||||
});
|
||||
}
|
||||
|
||||
}
|
@ -4,12 +4,12 @@ import { WastelandUtility } from "./wasteland-utility.js";
|
||||
* Extend the basic ItemSheet with some very simple modifications
|
||||
* @extends {ItemSheet}
|
||||
*/
|
||||
export class WastelandItemSheet extends ItemSheet {
|
||||
export class WastelandItemSheet extends foundry.appv1.sheets.ItemSheet {
|
||||
|
||||
/** @override */
|
||||
static get defaultOptions() {
|
||||
|
||||
return mergeObject(super.defaultOptions, {
|
||||
return foundry.utils.mergeObject(super.defaultOptions, {
|
||||
classes: ["fvtt-wasteland", "sheet", "item"],
|
||||
template: "systems/fvtt-wasteland/templates/item-sheet.html",
|
||||
dragDrop: [{ dragSelector: null, dropSelector: null }],
|
||||
@ -48,8 +48,8 @@ export class WastelandItemSheet extends ItemSheet {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async getData() {
|
||||
const objectData = duplicate(this.object)
|
||||
let itemData = objectData
|
||||
const objectData = foundry.utils.duplicate(this.object)
|
||||
let itemData = objectData
|
||||
let formData = {
|
||||
title: this.title,
|
||||
id: this.id,
|
||||
@ -59,7 +59,7 @@ export class WastelandItemSheet extends ItemSheet {
|
||||
editable: this.isEditable,
|
||||
cssClass: this.isEditable ? "editable" : "locked",
|
||||
attributs: WastelandUtility.getAttributs(),
|
||||
config: duplicate(game.system.wasteland.config),
|
||||
config: foundry.utils.duplicate(game.system.wasteland.config),
|
||||
data: itemData.system,
|
||||
system: itemData.system,
|
||||
limited: this.object.limited,
|
||||
@ -87,7 +87,7 @@ export class WastelandItemSheet extends ItemSheet {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
postItem() {
|
||||
let chatData = duplicate(WastelandUtility.data(this.item));
|
||||
let chatData = foundry.utils.duplicate(WastelandUtility.data(this.item));
|
||||
if (this.actor) {
|
||||
chatData.actor = { id: this.actor.id };
|
||||
}
|
||||
@ -130,27 +130,27 @@ export class WastelandItemSheet extends ItemSheet {
|
||||
html.find('.edit-prediction').change(ev => {
|
||||
const li = $(ev.currentTarget).parents(".prediction-item")
|
||||
let index = li.data("prediction-index")
|
||||
let pred = duplicate(this.object.system.predilections)
|
||||
let pred = foundry.utils.duplicate(this.object.system.predilections)
|
||||
pred[index].name = ev.currentTarget.value
|
||||
this.object.update( { 'data.predilections': pred })
|
||||
})
|
||||
html.find('.delete-prediction').click(ev => {
|
||||
const li = $(ev.currentTarget).parents(".prediction-item")
|
||||
let index = li.data("prediction-index")
|
||||
let pred = duplicate(this.object.system.predilections)
|
||||
let pred = foundry.utils.duplicate(this.object.system.predilections)
|
||||
pred.splice(index,1)
|
||||
this.object.update( { 'data.predilections': pred })
|
||||
})
|
||||
html.find('.use-prediction').change(ev => {
|
||||
const li = $(ev.currentTarget).parents(".prediction-item")
|
||||
let index = li.data("prediction-index")
|
||||
let pred = duplicate(this.object.system.predilections)
|
||||
let pred = foundry.utils.duplicate(this.object.system.predilections)
|
||||
pred[index].used = ev.currentTarget.checked
|
||||
this.object.update( { 'data.predilections': pred })
|
||||
})
|
||||
})
|
||||
html.find('#add-predilection').click(ev => {
|
||||
let pred = duplicate(this.object.system.predilections)
|
||||
pred.push( { name: "Nouvelle prédilection", used: false })
|
||||
let pred = foundry.utils.duplicate(this.object.system.predilections)
|
||||
pred.push( { name: "Nouvelle prédilection", used: false })
|
||||
this.object.update( { 'data.predilections': pred })
|
||||
})
|
||||
// Update Inventory Item
|
||||
|
@ -16,6 +16,9 @@ export const defaultItemImg = {
|
||||
artifex: "systems/fvtt-wasteland/assets/icons/artifact.webp",
|
||||
heritage: "systems/fvtt-wasteland/assets/icons/legacy.webp",
|
||||
charme: "systems/fvtt-wasteland/assets/icons/charm.webp",
|
||||
peuple: "systems/fvtt-wasteland/assets/icons/people.webp",
|
||||
don: "systems/fvtt-wasteland/assets/icons/don.webp",
|
||||
hubris: "systems/fvtt-wasteland/assets/icons/hubris.webp",
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -11,7 +11,7 @@
|
||||
import { WastelandActor } from "./wasteland-actor.js";
|
||||
import { WastelandItemSheet } from "./wasteland-item-sheet.js";
|
||||
import { WastelandActorSheet } from "./wasteland-actor-sheet.js";
|
||||
//import { WastelandNPCSheet } from "./wasteland-npc-sheet.js";
|
||||
import { WastelandCreatureSheet } from "./wasteland-creature-sheet.js";
|
||||
import { WastelandUtility } from "./wasteland-utility.js";
|
||||
import { WastelandCombat } from "./wasteland-combat.js";
|
||||
import { WastelandItem } from "./wasteland-item.js";
|
||||
@ -28,9 +28,9 @@ Hooks.once("init", async function () {
|
||||
/* -------------------------------------------- */
|
||||
// preload handlebars templates
|
||||
WastelandUtility.preloadHandlebarsTemplates();
|
||||
|
||||
|
||||
/* -------------------------------------------- */
|
||||
// Set an initiative formula for the system
|
||||
// Set an initiative formula for the system
|
||||
CONFIG.Combat.initiative = {
|
||||
formula: "1d6",
|
||||
decimals: 1
|
||||
@ -52,15 +52,15 @@ Hooks.once("init", async function () {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
// Register sheet application classes
|
||||
Actors.unregisterSheet("core", ActorSheet);
|
||||
Actors.registerSheet("fvtt-wasteland", WastelandActorSheet, { types: ["personnage"], makeDefault: true })
|
||||
//Actors.registerSheet("fvtt-wasteland", WastelandNPCSheet, { types: ["npc"], makeDefault: false });
|
||||
foundry.documents.collections.Actors.unregisterSheet("core", foundry.appv1.sheets.ActorSheet);
|
||||
foundry.documents.collections.Actors.registerSheet("fvtt-wasteland", WastelandActorSheet, { types: ["personnage"], makeDefault: true })
|
||||
foundry.documents.collections.Actors.registerSheet("fvtt-wasteland", WastelandCreatureSheet, { types: ["creature"], makeDefault: false });
|
||||
|
||||
Items.unregisterSheet("core", ItemSheet);
|
||||
Items.registerSheet("fvtt-wasteland", WastelandItemSheet, { makeDefault: true })
|
||||
foundry.documents.collections.Items.unregisterSheet("core", foundry.appv1.sheets.ItemSheet);
|
||||
foundry.documents.collections.Items.registerSheet("fvtt-wasteland", WastelandItemSheet, { makeDefault: true })
|
||||
|
||||
WastelandUtility.init();
|
||||
|
||||
|
||||
});
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@ -69,36 +69,22 @@ function welcomeMessage() {
|
||||
user: game.user.id,
|
||||
whisper: [game.user.id],
|
||||
content: `<div id="welcome-message-Wasteland"><span class="rdd-roll-part">
|
||||
<strong>Bienvenue dans les Jeunes Royaumes de Wasteland !</strong>
|
||||
<strong>Bienvenue dans les Wasteland !</strong>
|
||||
<p>Les livres de Wasteland sont nécessaires pour jouer : https://www.titam-france.fr</p>
|
||||
<p>Wasteland est jeu de rôle publié par Titam France/Sombres projets, tout les droits leur appartiennent.</p>
|
||||
<p>Système développé par LeRatierBretonnien, support sur le <a href="https://discord.gg/pPSDNJk">Discord FR de Foundry</a>.</p>
|
||||
<p>Système développé par LeRatierBretonnien, avec le support de Prêtre. Plus d'infos et aides sur le <a href="https://discord.gg/pPSDNJk">Discord FR de Foundry</a>.</p>
|
||||
` });
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
// 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() {
|
||||
let exists = game.scenes.find(j => j.name == "Accueil");
|
||||
if (!exists) {
|
||||
const scenes = await WastelandUtility.loadCompendium("fvtt-wasteland.scenes")
|
||||
let newDocuments = scenes.filter(i => i.name == "Accueil");
|
||||
await game.scenes.documentClass.create(newDocuments);
|
||||
game.scenes.find(i => i.name == "Accueil").activate();
|
||||
}
|
||||
}
|
||||
|
||||
@ -108,6 +94,7 @@ function registerUsageCount( registerKey ) {
|
||||
Hooks.once("ready", function () {
|
||||
|
||||
WastelandUtility.ready();
|
||||
|
||||
// User warning
|
||||
if (!game.user.isGM && game.user.character == undefined) {
|
||||
ui.notifications.info("Attention ! Aucun personnage n'est relié au joueur !");
|
||||
@ -116,9 +103,24 @@ Hooks.once("ready", function () {
|
||||
user: game.user._id
|
||||
});
|
||||
}
|
||||
|
||||
registerUsageCount('fvtt-wasteland')
|
||||
if (!game.user.isGM && game.user.character && !game.user.character.prototypeToken.actorLink) {
|
||||
ui.notifications.info("Le token de du joueur n'est pas connecté à l'acteur !");
|
||||
ChatMessage.create({
|
||||
content: "<b>ATTENTION</b> Le token du joueur " + game.user.name + " n'est pas connecté à l'acteur !",
|
||||
user: game.user._id
|
||||
});
|
||||
}
|
||||
|
||||
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();
|
||||
|
||||
});
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@ -134,4 +136,3 @@ Hooks.on("chatMessage", (html, content, msg) => {
|
||||
}
|
||||
return true;
|
||||
});
|
||||
|
||||
|
@ -6,7 +6,7 @@ export class WastelandRollDialog extends Dialog {
|
||||
static async create(actor, rollData) {
|
||||
|
||||
let options = { classes: ["WastelandDialog"], width: 340, height: 'fit-content', 'z-index': 99999 };
|
||||
let html = await renderTemplate('systems/fvtt-wasteland/templates/roll-dialog-generic.html', rollData);
|
||||
let html = await foundry.applications.handlebars.renderTemplate('systems/fvtt-wasteland/templates/roll-dialog-generic.html', rollData);
|
||||
|
||||
return new WastelandRollDialog(actor, rollData, html, options);
|
||||
}
|
||||
@ -68,7 +68,6 @@ export class WastelandRollDialog extends Dialog {
|
||||
activateListeners(html) {
|
||||
super.activateListeners(html);
|
||||
|
||||
var dialog = this;
|
||||
function onLoad() {
|
||||
}
|
||||
$(function () { onLoad(); });
|
||||
|
@ -4,17 +4,17 @@ import { WastelandCommands } from "./wasteland-commands.js";
|
||||
|
||||
/* -------------------------------------------- */
|
||||
const __contrecouptCharme = {
|
||||
1 : {name: "Effet chromatique", description: "" },
|
||||
3 : {name: "Enivrement Kobold", description: "" },
|
||||
5 : {name: "Mutisme superstitieux", description: "" },
|
||||
7 : {name: "Agité!", description: "" },
|
||||
9 : {name: "Somnolence", description: "" },
|
||||
11 : {name: "Manie incontrôlable", description: "" },
|
||||
13 : {name: "Malédiction des Ternes", description: "" },
|
||||
15 : {name: "La petite Mort", description: "" },
|
||||
17 : {name: "Angoisse cauchemardesque", description: "" },
|
||||
19 : {name: "Anémie Kobold", description: "" }
|
||||
}
|
||||
1 : {name: "Effet chromatique", description: "le corps du kobold prend des teintes aussi étranges que voyantes. L'effet s’estompe progressivement et 24 heures plus tard, le kobold retrouve ses couleurs d’origine." },
|
||||
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 s’arrê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 d’un sommeil enchanté dont rien ne pourra le réveiller." },
|
||||
9 : {name: "Somnolence", description: "le kobold devient somnolent. Il n’arrive pas à se concentrer même sur une tâche simple, bäille sans arrêt, traîne les pieds et n’agit plus que de mauvaise grâce. Cela dure jusqu’à ce qu'il ait dormi au moins 12 heures." },
|
||||
11 : {name: "Manie incontrôlable", description: "le kobold est pris d’une manie incontrôlable. Dès qu'il voit un chapeau rouge, il doit suivre son porteur. Il ne mangera que si son voisin de gauche mange aussi, etc. Cela dure pendant une jour- née puis l’effet s’inverse pendant une heure : il ne suivra jamais un chapeau rouge, ne mangera jamais si son voi- sin de gauche mange, etc. Le contrecoup prend alors fin." },
|
||||
13 : {name: "Malédiction des Ternes", description: "le kobold perd cette qualité mystérieuse qui fait que les kobolds sont des kobolds et devient tout. Terne. Il perd 1d20 point(s) de Bonne Aventure (s’il doit en perdre plus qu'il n’en a, il tombe simplement à 0). Ces points perdus pourront cependant être regagnés normalement." },
|
||||
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 n’en a, il tombe à 0)." },
|
||||
19 : {name: "Anémie Kobold", description: "le kobold se met à saigner du nez, des oreilles et même d’autres endroits. Il perd 1420 point(s) de Santé." }
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
export class WastelandUtility {
|
||||
@ -23,14 +23,11 @@ export class WastelandUtility {
|
||||
/* -------------------------------------------- */
|
||||
static async init() {
|
||||
Hooks.on('renderChatLog', (log, html, data) => WastelandUtility.chatListeners(html))
|
||||
Hooks.on("getChatLogEntryContext", (html, options) => WastelandUtility.chatRollMenu(html, options))
|
||||
Hooks.on("getChatMessageContextOptions", (html, options) => WastelandUtility.chatRollMenu(html, options))
|
||||
|
||||
Hooks.on("getCombatTrackerEntryContext", (html, options) => {
|
||||
WastelandUtility.pushInitiativeOptions(html, options);
|
||||
})
|
||||
Hooks.on("dropCanvasData", (canvas, data) => {
|
||||
WastelandUtility.dropItemOnToken(canvas, data)
|
||||
});
|
||||
|
||||
this.rollDataStore = {}
|
||||
this.defenderStore = {}
|
||||
@ -114,6 +111,28 @@ export class WastelandUtility {
|
||||
static async ready() {
|
||||
const skills = await WastelandUtility.loadCompendium("fvtt-wasteland.skills")
|
||||
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;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@ -135,14 +154,14 @@ export class WastelandUtility {
|
||||
/* -------------------------------------------- */
|
||||
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 = WastelandUtility.findChatMessageId(event.currentTarget)
|
||||
let message = game.messages.get(messageId)
|
||||
let rollData = message.getFlag("world", "wasteland-roll")
|
||||
let actor = WastelandUtility.getActorFromRollData(rollData)
|
||||
await actor.setPredilectionUsed(rollData.competence._id, predIdx)
|
||||
rollData.competence = duplicate(actor.getCompetence(rollData.competence._id))
|
||||
rollData.competence = foundry.utils.duplicate(actor.getCompetence(rollData.competence._id))
|
||||
await WastelandUtility.rollWasteland(rollData)
|
||||
})
|
||||
}
|
||||
@ -152,10 +171,9 @@ export class WastelandUtility {
|
||||
|
||||
const templatePaths = [
|
||||
'systems/fvtt-wasteland/templates/editor-notes-gm.html',
|
||||
'systems/fvtt-wasteland/templates/partial-item-description.html',
|
||||
'systems/fvtt-wasteland/templates/partial-list-niveau.html'
|
||||
'systems/fvtt-wasteland/templates/partial-item-description.html'
|
||||
]
|
||||
return loadTemplates(templatePaths);
|
||||
return foundry.applications.handlebars.loadTemplates(templatePaths);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@ -187,15 +205,6 @@ export class WastelandUtility {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static createDirectOptionList(min, max) {
|
||||
let options = {};
|
||||
for (let i = min; i <= max; i++) {
|
||||
options[`${i}`] = `${i}`;
|
||||
}
|
||||
return options;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static buildListOptions(min, max) {
|
||||
let options = ""
|
||||
@ -220,14 +229,14 @@ export class WastelandUtility {
|
||||
|
||||
let id = rollData.rollId;
|
||||
let oldRollData = this.rollDataStore[id] || {};
|
||||
let newRollData = mergeObject(oldRollData, rollData);
|
||||
let newRollData = foundry.utils.mergeObject(oldRollData, rollData);
|
||||
this.rollDataStore[id] = newRollData;
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
static saveRollData(rollData) {
|
||||
game.socket.emit("system.fvtt-wasteland", {
|
||||
name: "msg_update_roll", data: rollData
|
||||
}); // Notify all other clients of the roll
|
||||
}); // Notify all other clients of the roll
|
||||
this.updateRollData(rollData);
|
||||
}
|
||||
|
||||
@ -292,10 +301,10 @@ export class WastelandUtility {
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static computeResult(rollData, actor) {
|
||||
static async computeResult(rollData, actor) {
|
||||
if (rollData.charme) {
|
||||
let resultIndex = false
|
||||
let resTab = duplicate(rollData.charme.system.resultats)
|
||||
let resTab = foundry.utils.duplicate(rollData.charme.system.resultats)
|
||||
for(let id in resTab) {
|
||||
let res = resTab[id]
|
||||
if (!resultIndex && rollData.finalResult >= res.value) {
|
||||
@ -305,7 +314,7 @@ export class WastelandUtility {
|
||||
if (resultIndex) {
|
||||
rollData.charmeDuree = rollData.charme.system.resultats[resultIndex].description
|
||||
}
|
||||
let effectRoll = new Roll(rollData.charmeDice).roll({ async: false })
|
||||
let effectRoll = await new Roll(rollData.charmeDice).roll()
|
||||
if (rollData.charme.system.charmetype == "tour") {
|
||||
rollData.contrecoupResult = effectRoll.total
|
||||
if (rollData.contrecoupResult % 2 == 1) {
|
||||
@ -313,8 +322,8 @@ export class WastelandUtility {
|
||||
}
|
||||
}
|
||||
if (rollData.charme.system.charmetype == "charme") {
|
||||
rollData.charmeSante = effectRoll.total
|
||||
actor.incDecSante(rollData.charmeSante)
|
||||
rollData.charmeSante = effectRoll.total
|
||||
actor.incDecSante(rollData.charmeSante)
|
||||
}
|
||||
} else {
|
||||
if (rollData.mainDice == "1d20") {
|
||||
@ -330,13 +339,13 @@ export class WastelandUtility {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//console.log("Result : ", 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)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -349,7 +358,7 @@ export class WastelandUtility {
|
||||
}
|
||||
if (!rollData.attr) {
|
||||
rollData.actionImg = "systems/fvtt-wasteland/assets/icons/" + actor.system.attributs[rollData.attrKey].labelnorm + ".webp"
|
||||
rollData.attr = duplicate(actor.system.attributs[rollData.attrKey])
|
||||
rollData.attr = foundry.utils.duplicate(actor.system.attributs[rollData.attrKey])
|
||||
}
|
||||
|
||||
if (rollData.charme) {
|
||||
@ -361,12 +370,12 @@ export class WastelandUtility {
|
||||
if (!rollData.isReroll) {
|
||||
actor.changeEclat(-1)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//console.log("BEFORE COMP", rollData)
|
||||
if (rollData.competence) {
|
||||
rollData.predilections = duplicate(rollData.competence.system.predilections.filter(pred => !pred.used) || [])
|
||||
rollData.predilections = foundry.utils.duplicate(rollData.competence.system.predilections.filter(pred => !pred.used) || [])
|
||||
let compmod = (rollData.competence.system.niveau == 0) ? -3 : 0
|
||||
rollData.diceFormula += `+${rollData.attr.value}+${rollData.competence.system.niveau}+${rollData.modificateur}+${compmod}`
|
||||
} else {
|
||||
@ -376,17 +385,17 @@ export class WastelandUtility {
|
||||
rollData.diceFormula += `+${rollData.arme.system.bonusmaniementoff}`
|
||||
}
|
||||
|
||||
let myRoll = new Roll(rollData.diceFormula).roll({ async: false })
|
||||
let myRoll = await new Roll(rollData.diceFormula).roll()
|
||||
await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
|
||||
rollData.roll = duplicate(myRoll)
|
||||
rollData.roll = foundry.utils.duplicate(myRoll)
|
||||
rollData.diceResult = myRoll.terms[0].results[0].result
|
||||
console.log(">>>> ", myRoll)
|
||||
|
||||
rollData.finalResult = myRoll.total
|
||||
this.computeResult(rollData, actor)
|
||||
await this.computeResult(rollData, actor)
|
||||
|
||||
this.createChatWithRollMode(rollData.alias, {
|
||||
content: await renderTemplate(`systems/fvtt-wasteland/templates/chat-generic-result.html`, rollData)
|
||||
content: await foundry.applications.handlebars.renderTemplate(`systems/fvtt-wasteland/templates/chat-generic-result.html`, rollData)
|
||||
}, rollData)
|
||||
|
||||
}
|
||||
@ -395,13 +404,13 @@ export class WastelandUtility {
|
||||
static async bonusRollWasteland(rollData) {
|
||||
rollData.bonusFormula = rollData.addedBonus
|
||||
|
||||
let bonusRoll = new Roll(rollData.bonusFormula).roll({ async: false })
|
||||
let bonusRoll = await new Roll(rollData.bonusFormula).roll()
|
||||
await this.showDiceSoNice(bonusRoll, game.settings.get("core", "rollMode"));
|
||||
rollData.bonusRoll = duplicate(bonusRoll)
|
||||
rollData.bonusRoll = foundry.utils.duplicate(bonusRoll)
|
||||
|
||||
rollData.finalResult += rollData.bonusRoll.total
|
||||
|
||||
this.computeResult(rollData)
|
||||
await this.computeResult(rollData)
|
||||
|
||||
this.createChatWithRollMode(rollData.alias, {
|
||||
content: await renderTemplate(`systems/fvtt-wasteland/templates/chat-generic-result.html`, rollData)
|
||||
@ -431,7 +440,7 @@ export class WastelandUtility {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static blindMessageToGM(chatOptions) {
|
||||
let chatGM = duplicate(chatOptions);
|
||||
let chatGM = foundry.utils.duplicate(chatOptions);
|
||||
chatGM.whisper = this.getUsers(user => user.isGM);
|
||||
chatGM.content = "Blinde message of " + game.user.name + "<br>" + chatOptions.content;
|
||||
console.log("blindMessageToGM", chatGM);
|
||||
@ -493,7 +502,7 @@ export class WastelandUtility {
|
||||
/* -------------------------------------------- */
|
||||
static getBasicRollData() {
|
||||
let rollData = {
|
||||
rollId: randomID(16),
|
||||
rollId: foundry.utils.randomID(16),
|
||||
rollMode: game.settings.get("core", "rollMode"),
|
||||
modificateursOptions: this.getModificateurOptions(),
|
||||
pointAmeOptions: this.getPointAmeOptions(),
|
||||
@ -526,7 +535,7 @@ export class WastelandUtility {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
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", "wasteland-roll")
|
||||
@ -545,7 +554,7 @@ export class WastelandUtility {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
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", "wasteland-roll")
|
||||
@ -562,7 +571,7 @@ export class WastelandUtility {
|
||||
static chatRollMenu(html, options) {
|
||||
let canApply = li => canvas.tokens.controlled.length && li.find(".wasteland-roll").length
|
||||
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")
|
||||
if (rollData?.actorId) {
|
||||
let actor = game.actors.get(rollData.actorId)
|
||||
@ -572,7 +581,7 @@ export class WastelandUtility {
|
||||
return false
|
||||
}
|
||||
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")
|
||||
if (rollData?.actorId) {
|
||||
let actor = game.actors.get(rollData.actorId)
|
||||
@ -582,7 +591,7 @@ export class WastelandUtility {
|
||||
return false
|
||||
}
|
||||
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")
|
||||
if (rollData?.actorId) {
|
||||
let actor = game.actors.get(rollData.actorId)
|
||||
@ -592,7 +601,7 @@ export class WastelandUtility {
|
||||
return false
|
||||
}
|
||||
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")
|
||||
if (rollData?.actorId) {
|
||||
let actor = game.actors.get(rollData.actorId)
|
||||
@ -602,7 +611,7 @@ export class WastelandUtility {
|
||||
return false
|
||||
}
|
||||
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")
|
||||
if (rollData.competence) {
|
||||
let nbPred = rollData.competence.data.predilections.filter(pred => !pred.used).length
|
||||
@ -611,7 +620,7 @@ export class WastelandUtility {
|
||||
return false
|
||||
}
|
||||
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")
|
||||
if (rollData.competence) {
|
||||
return rollData.competence.data.doublebonus
|
||||
|
Binary file not shown.
BIN
packs/armes/000211.ldb
Normal file
BIN
packs/armes/000211.ldb
Normal file
Binary file not shown.
@ -1 +1 @@
|
||||
MANIFEST-000038
|
||||
MANIFEST-000207
|
||||
|
@ -1,8 +1,15 @@
|
||||
2023/11/29-22:11:25.434763 7fef57fff6c0 Recovering log #36
|
||||
2023/11/29-22:11:25.445038 7fef57fff6c0 Delete type=3 #34
|
||||
2023/11/29-22:11:25.445125 7fef57fff6c0 Delete type=0 #36
|
||||
2023/11/29-22:14:16.953175 7fef56ffd6c0 Level-0 table #41: started
|
||||
2023/11/29-22:14:16.953201 7fef56ffd6c0 Level-0 table #41: 0 bytes OK
|
||||
2023/11/29-22:14:16.991886 7fef56ffd6c0 Delete type=0 #39
|
||||
2023/11/29-22:14:17.106517 7fef56ffd6c0 Manual compaction at level-0 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end)
|
||||
2023/11/29-22:14:17.106560 7fef56ffd6c0 Manual compaction at level-1 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end)
|
||||
2025/04/30-23:34:36.843982 7f4b377fe6c0 Recovering log #205
|
||||
2025/04/30-23:34:36.854202 7f4b377fe6c0 Delete type=3 #203
|
||||
2025/04/30-23:34:36.854267 7f4b377fe6c0 Delete type=0 #205
|
||||
2025/04/30-23:48:18.868020 7f4b35bff6c0 Level-0 table #210: started
|
||||
2025/04/30-23:48:18.871615 7f4b35bff6c0 Level-0 table #210: 9139 bytes OK
|
||||
2025/04/30-23:48:18.878237 7f4b35bff6c0 Delete type=0 #208
|
||||
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)
|
||||
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
|
||||
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)
|
||||
|
@ -1,8 +1,8 @@
|
||||
2023/11/29-20:50:20.610722 7ff1ecbfe6c0 Recovering log #32
|
||||
2023/11/29-20:50:20.620538 7ff1ecbfe6c0 Delete type=3 #30
|
||||
2023/11/29-20:50:20.620594 7ff1ecbfe6c0 Delete type=0 #32
|
||||
2023/11/29-22:03:29.595804 7fef56ffd6c0 Level-0 table #37: started
|
||||
2023/11/29-22:03:29.595831 7fef56ffd6c0 Level-0 table #37: 0 bytes OK
|
||||
2023/11/29-22:03:29.601970 7fef56ffd6c0 Delete type=0 #35
|
||||
2023/11/29-22:03:29.602116 7fef56ffd6c0 Manual compaction at level-0 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end)
|
||||
2023/11/29-22:03:29.602150 7fef56ffd6c0 Manual compaction at level-1 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end)
|
||||
2025/03/14-14:12:16.222563 7fba4cff96c0 Recovering log #201
|
||||
2025/03/14-14:12:16.331822 7fba4cff96c0 Delete type=3 #199
|
||||
2025/03/14-14:12:16.331880 7fba4cff96c0 Delete type=0 #201
|
||||
2025/03/14-14:12:43.151120 7fb7affff6c0 Level-0 table #206: started
|
||||
2025/03/14-14:12:43.151177 7fb7affff6c0 Level-0 table #206: 0 bytes OK
|
||||
2025/03/14-14:12:43.158103 7fb7affff6c0 Delete type=0 #204
|
||||
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)
|
||||
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)
|
||||
|
Binary file not shown.
BIN
packs/armes/MANIFEST-000207
Normal file
BIN
packs/armes/MANIFEST-000207
Normal file
Binary file not shown.
BIN
packs/artifex/000072.ldb
Normal file
BIN
packs/artifex/000072.ldb
Normal file
Binary file not shown.
1
packs/artifex/CURRENT
Normal file
1
packs/artifex/CURRENT
Normal file
@ -0,0 +1 @@
|
||||
MANIFEST-000068
|
15
packs/artifex/LOG
Normal file
15
packs/artifex/LOG
Normal file
@ -0,0 +1,15 @@
|
||||
2025/04/30-23:34:36.895184 7f4b377fe6c0 Recovering log #66
|
||||
2025/04/30-23:34:36.905592 7f4b377fe6c0 Delete type=3 #64
|
||||
2025/04/30-23:34:36.905651 7f4b377fe6c0 Delete type=0 #66
|
||||
2025/04/30-23:48:18.878429 7f4b35bff6c0 Level-0 table #71: started
|
||||
2025/04/30-23:48:18.882400 7f4b35bff6c0 Level-0 table #71: 1326 bytes OK
|
||||
2025/04/30-23:48:18.888668 7f4b35bff6c0 Delete type=0 #69
|
||||
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)
|
||||
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
|
||||
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)
|
8
packs/artifex/LOG.old
Normal file
8
packs/artifex/LOG.old
Normal file
@ -0,0 +1,8 @@
|
||||
2025/03/14-14:12:16.547348 7fba4dffb6c0 Recovering log #62
|
||||
2025/03/14-14:12:16.651982 7fba4dffb6c0 Delete type=3 #60
|
||||
2025/03/14-14:12:16.652055 7fba4dffb6c0 Delete type=0 #62
|
||||
2025/03/14-14:12:43.177170 7fb7affff6c0 Level-0 table #67: started
|
||||
2025/03/14-14:12:43.177222 7fb7affff6c0 Level-0 table #67: 0 bytes OK
|
||||
2025/03/14-14:12:43.183990 7fb7affff6c0 Delete type=0 #65
|
||||
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)
|
||||
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)
|
BIN
packs/artifex/MANIFEST-000068
Normal file
BIN
packs/artifex/MANIFEST-000068
Normal file
Binary file not shown.
BIN
packs/bestiaire/000084.ldb
Normal file
BIN
packs/bestiaire/000084.ldb
Normal file
Binary file not shown.
1
packs/bestiaire/CURRENT
Normal file
1
packs/bestiaire/CURRENT
Normal file
@ -0,0 +1 @@
|
||||
MANIFEST-000080
|
15
packs/bestiaire/LOG
Normal file
15
packs/bestiaire/LOG
Normal file
@ -0,0 +1,15 @@
|
||||
2025/04/30-23:34:36.716442 7f4b37fff6c0 Recovering log #78
|
||||
2025/04/30-23:34:36.727453 7f4b37fff6c0 Delete type=3 #76
|
||||
2025/04/30-23:34:36.727523 7f4b37fff6c0 Delete type=0 #78
|
||||
2025/04/30-23:48:18.706181 7f4b35bff6c0 Level-0 table #83: started
|
||||
2025/04/30-23:48:18.709827 7f4b35bff6c0 Level-0 table #83: 44954 bytes OK
|
||||
2025/04/30-23:48:18.715963 7f4b35bff6c0 Delete type=0 #81
|
||||
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)
|
||||
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
|
||||
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)
|
8
packs/bestiaire/LOG.old
Normal file
8
packs/bestiaire/LOG.old
Normal file
@ -0,0 +1,8 @@
|
||||
2025/03/14-14:12:15.226965 7fba4cff96c0 Recovering log #74
|
||||
2025/03/14-14:12:15.314781 7fba4cff96c0 Delete type=3 #72
|
||||
2025/03/14-14:12:15.314848 7fba4cff96c0 Delete type=0 #74
|
||||
2025/03/14-14:12:43.118957 7fb7affff6c0 Level-0 table #79: started
|
||||
2025/03/14-14:12:43.119018 7fb7affff6c0 Level-0 table #79: 0 bytes OK
|
||||
2025/03/14-14:12:43.124987 7fb7affff6c0 Delete type=0 #77
|
||||
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)
|
||||
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)
|
BIN
packs/bestiaire/MANIFEST-000080
Normal file
BIN
packs/bestiaire/MANIFEST-000080
Normal file
Binary file not shown.
BIN
packs/capacreature/000072.ldb
Normal file
BIN
packs/capacreature/000072.ldb
Normal file
Binary file not shown.
1
packs/capacreature/CURRENT
Normal file
1
packs/capacreature/CURRENT
Normal file
@ -0,0 +1 @@
|
||||
MANIFEST-000068
|
15
packs/capacreature/LOG
Normal file
15
packs/capacreature/LOG
Normal file
@ -0,0 +1,15 @@
|
||||
2025/04/30-23:34:36.908748 7f4b367fc6c0 Recovering log #66
|
||||
2025/04/30-23:34:36.918361 7f4b367fc6c0 Delete type=3 #64
|
||||
2025/04/30-23:34:36.918414 7f4b367fc6c0 Delete type=0 #66
|
||||
2025/04/30-23:48:18.972361 7f4b35bff6c0 Level-0 table #71: started
|
||||
2025/04/30-23:48:18.975642 7f4b35bff6c0 Level-0 table #71: 901 bytes OK
|
||||
2025/04/30-23:48:18.982652 7f4b35bff6c0 Delete type=0 #69
|
||||
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)
|
||||
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
|
||||
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)
|
8
packs/capacreature/LOG.old
Normal file
8
packs/capacreature/LOG.old
Normal file
@ -0,0 +1,8 @@
|
||||
2025/03/14-14:12:16.654330 7fba4cff96c0 Recovering log #62
|
||||
2025/03/14-14:12:16.746293 7fba4cff96c0 Delete type=3 #60
|
||||
2025/03/14-14:12:16.746409 7fba4cff96c0 Delete type=0 #62
|
||||
2025/03/14-14:12:43.196799 7fb7affff6c0 Level-0 table #67: started
|
||||
2025/03/14-14:12:43.196824 7fb7affff6c0 Level-0 table #67: 0 bytes OK
|
||||
2025/03/14-14:12:43.203033 7fb7affff6c0 Delete type=0 #65
|
||||
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)
|
||||
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)
|
BIN
packs/capacreature/MANIFEST-000068
Normal file
BIN
packs/capacreature/MANIFEST-000068
Normal file
Binary file not shown.
@ -1,30 +0,0 @@
|
||||
{"name":"Protection du Sorcier","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>L’Élu est protégé contre les attaques des créatures nées ou invoquées par la sorcellerie (un type d’Élémentaire, les Démons, les Automata…). La protection dont il bénéficie dépend du nombre de points d’Âme sacrifiés.</p>","allegeance":"chaos","prerequis":"6 ou plus en Trempe.","sacrifice":"<ul>\n<li>1 point d’Âme pour 1 point de protection. Accès réservé aux Novices et aux Adeptes.</li>\n<li>2 points d’Âme pour 2 points de protection. Accès réservé aux Chevaliers et aux Hérauts.</li>\n<li>3 points d’Âme pour un 3 points de protection. Accès réservé aux Champions.</li>\n</ul>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.WUPne9oDFTcdLtW9"}},"_id":"5dGXNiL3WN4cAk7X"}
|
||||
{"name":"Conscience extraplanaire","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>L’Élu a conscience du tissu de la réalité. Il peut percevoir les passages et les portails menant vers d’autres plans dans une zone de 10 mètres par point d’Aspect chaotique grâce à un simple test de Clairvoyance + Perception / 15. S’il ignore l’existence de ce passage et qu’il passe devant, le MJ peut faire un test de Clairvoyance + Perception / 25 pour l’Élu derrière son écran.</p>","allegeance":"chaos","prerequis":"6 ou plus en Clairvoyance.","sacrifice":"<p>1 point d’Âme.</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.1nIGWsNtx1NKxjPn"}},"_id":"5v0Y35LzqfAd0KnX"}
|
||||
{"name":"Santé renforcée (Loi)","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>Les points de Santé de l’Élu sont recalculés en ajoutant à [(Puissance + Trempe) x 2]+ 5 le nombre de points d’Âme sacrifiés. Ce Don ne peut être pris qu’une seule fois même si l’Élu conclut plusieurs Pactes.</p>","allegeance":"loi","prerequis":"6 ou plus en Trempe.","sacrifice":"<p>1 point d’Âme par point de Santé supplémentaire, pour un maximum égal à l’Aspect du personnage.</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.4ow7N6kdAWXbTApf"}},"_id":"6IS4zstVwJxG2lwy"}
|
||||
{"name":"Repos de l’Âme","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>L’Élu récupère deux fois plus vite ses points d’Âme, soit 2 par heure et 4 en cas de repos.</p>","allegeance":"chaos","prerequis":"6 ou plus en Présence.","sacrifice":"<p>3 points d’Âme.</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.KXciI0xwd6gSOLcZ"}},"_id":"8WLUjxBJtd33mZFp"}
|
||||
{"name":"Trait chaotique","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>L’Élu gagne un trait du Chaos qu’il tire au hasard dans le tableau de la page 185 avec un d20. Il peut prendre ce Don trois fois. S’il tire un trait qu’il possède déjà, il doit relancer le d20. Ces traits sont permanents et définitifs, à moins que les Seigneurs du Chaos n’en décident autrement, notamment si l’Élu les dissimule trop à leur goût alors qu’il n’y est pas absolument contraint par des impératifs de survie immédiats.</p>","allegeance":"chaos","prerequis":"aucun","sacrifice":"<p>2 points d’Âme par Trait chaotique. L’Élu ne peut en avoir plus que sa Marge.</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.BKzeOjGA13wQgO0S"}},"_id":"BuZM5BnSaPIGEiEq"}
|
||||
{"name":"Guérison","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>L’Élu régénère rapidement. Chaque jour de repos, il regagne un nombre de points de Santé égal à sa Trempe /2 + son Aspect.</p>","allegeance":"loi","prerequis":"6 ou plus en Trempe.","sacrifice":"<p>3 point d’Âme.</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.yvY0G3PffZWEl92R"}},"_id":"Eme2iVAF670LCeIH"}
|
||||
{"name":"Aide Élémentaire","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>Ce Don permet d’appeler un Élémentaire à son secours une fois par scénario. La Puissance de l’Élémentaire est fi xée lors de l’octroi du Don. La nature de l’Élémentaire correspond à celle du Seigneur Élémentaire avec lequel le Pacte a été passé. Ce Don ne peut être pris qu’une fois par Seigneur Élémentaire vénéré.</p>","allegeance":"elementaires","prerequis":"","sacrifice":"<ul>\n<li>1 point d’Âme pour un Élémentaire mineur disposant de 5 points d’Âme. Accès réservé aux Novices et aux Adeptes.</li>\n<li>3 points d’Âme pour un Élémentaire médian disposant de 10 points d’Âme. Accès réservé aux Chevaliers et aux Hérauts.</li>\n<li>5 points d’Âme pour un Élémentaire majeur disposant de 15 points d’Âme. Accès réservé aux Champions.</li>\n</ul>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.Wo42z8L33wLerUM8"}},"_id":"JAkSopwrh4QmKrPY"}
|
||||
{"name":"Augmentation du modificateur de dégâts","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>Les dégâts causés par l’Élu bénéficient d’un bonus pour <em>un type d’armes donné</em>. Le bonus dépend du nombre de points d’Âme sacrifiés.</p>","allegeance":"loi","prerequis":"6 ou plus en Puissance.","sacrifice":"<ul>\n<li>1 point d’Âme pour un bonus de + 1. Accès réservé aux Novices et aux Adeptes.</li>\n<li>3 points d’Âme pour un bonus de + 2. Accès réservé aux Chevaliers et aux Hérauts.</li>\n<li>5 points d’Âme pour un bonus de + 3. Accès réservé aux Champions.</li>\n</ul>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.bqdkbOf7EsdsCRqu"}},"_id":"K4H2VC0jTCy7pYj7"}
|
||||
{"name":"L’exemple du Juste","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>L’Élu est un exemple rayonnant pour ses camarades. Une fois par scénario, si l’Élu adresse pendant un tour de jeu une prière à une divinité de la Loi, lui et ses camarades (une dizaine tout au plus) seront bénis et recevront jusqu’à la fin de la scène un bonus à toutes leurs actions.</p>","allegeance":"loi","prerequis":"6 ou plus en Trempe.","sacrifice":"<ul>\n<li>1 point d’Âme pour un bonus de + 1. Accès réservé aux Novices et aux Adeptes.</li>\n<li>2 points d’Âme pour un bonus de + 2. Accès réservé aux Chevaliers et aux Hérauts.</li>\n<li>3 points d’Âme pour un bonus de + 3. Accès réservé aux Champions. </li>\n</ul>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.C5ofSFNXoXZFo8ak"}},"_id":"KlfScJjqvlPtkcdZ"}
|
||||
{"name":"Abstinence","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>L’Élu peut survivre en se privant d’un élément vital (nourriture, eau, sommeil, mais pas air) pendant un certain temps. La durée de ce pouvoir dépend du nombre de points d’Âme sacrifiés.</p>","allegeance":"tous","prerequis":"6 ou plus en Trempe","sacrifice":"<ul>\n<li>2 points d’Âme pour un jour. Accès réservé aux Novices et aux Adeptes.</li>\n<li>6 points d’Âme pour une semaine. Accès réservé aux Che\u0002valiers et aux Hérauts.</li>\n<li>10 points d’Âme pour un mois. Accès réservé aux Cham\u0002pions.</li>\n</ul>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.Q4Sy7vOGgU7Zgi9p"}},"_id":"OJKMNtFsuVgkV3gh"}
|
||||
{"name":"Rupture Chaotique","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>Lorsque l’Élu manie un certain type d’armes, il peut ajouter un bonus à son initiative ou bénéficier d’un bonus aux dégâts lors d’un combat, une fois par séance de jeu.</p>","allegeance":"chaos","prerequis":"6 ou plus en Puissance.","sacrifice":"<ul>\n<li>1 point d’Âme pour un bonus de + 1 aux dégâts ou + 5 en initiative. Accès réservé aux Novices et aux Adeptes.</li>\n<li>3 points d’Âme pour un bonus de + 2 aux dégâts ou + 7 en initiative. Accès réservé aux Chevaliers et aux Hérauts.</li>\n<li>5 points d’Âme pour un bonus de + 3 aux dégâts ou + 10 en initiative. Accès réservé aux Champions.</li>\n</ul>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.gMI6F4qY5Fi6okZ7"}},"_id":"Q1xDyjQy59lr5wAG"}
|
||||
{"name":"Sens du Pur","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>L’Élu a immédiatement conscience de la présence passée ou actuelle du Chaos (sortilège à l’œuvre, puissant serviteur…). Le personnage est très sensible aux émanations chaotiques, elles lui soulèvent le cœur. La distance de détection peut aug\u0002menter en sacrifiant davantage de points d’Âme</p>","allegeance":"loi","prerequis":"6 ou plus en Adresse ou Clairvoyance.","sacrifice":"<ul>\n<li>1 point d’Âme pour détecter les ennemis dans un rayon de 10 mètres. Accès réservé aux Novices et aux Adeptes.</li>\n<li>2 points d’Âme pour détecter les ennemis dans un rayon de 100 mètres. Accès réservé aux Chevaliers et aux Hérauts.</li>\n<li>3 points d’Âme pour détecter les ennemis dans un rayon de 1000 mètres. Accès réservé aux Champions.</li>\n</ul>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.tp2435vHrj63GeAK"}},"_id":"RYgdBIikcBfN8xAp"}
|
||||
{"name":"Gardien des Millions de Sphères","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>L’Élu a conscience du tissu de la réalité. Il peut sceller, par de longues prières psalmodiées, les passages et les portails donnant sur d’autres plans du Multivers. Cette action lui coûte le sacrifice d’un point d’Éclat. Tant que sa concentration reste tournée vers ce passage, le portail demeure scellé, comme si Donblas lui-même le gardait. Mais dès que le personnage s’endort, la porte, bien que fermée, n’est plus scellée. Certains plans très importants possèdent plusieurs passages menant vers les Jeunes Royaumes.</p>","allegeance":"loi","prerequis":"6 ou plus en Clairvoyance.","sacrifice":"<p>5 points d’Âme.</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.tm1fjaETqhMAldqJ"}},"_id":"TKCaHLHccYw7JvFy"}
|
||||
{"name":"Vivacité","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>Lors d’un test de Capacité Offensive, l’Élu voit la marge nécessaire à l’obtention d’une réussite héroïque diminuer de 1 (9 ou plus), de 2 (8 ou plus) ou de 3 (7 ou plus). </p>","allegeance":"tous","prerequis":"6 ou plus en Adresse ou Clairvoyance.","sacrifice":"<ul>\n<li>3 points d’Âme pour diminuer la marge de 1 (réussite héroïque sur 9 ou plus). Accès réservé aux Novices et aux Adeptes.</li>\n<li>5 points d’Âme pour diminuer la marge de 2 (réussite héroïque sur 8 ou plus). Accès réservé aux Chevaliers et aux Hérauts.</li>\n<li>7 points d’Âme pour diminuer la marge de 3 (réussite héroïque sur 7 ou plus). Accès réservé aux Champions.</li>\n</ul>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.GlhqSASDW0XdR243"}},"_id":"XaJAo8otOXmgtjzA"}
|
||||
{"name":"Augmentation de compétence (Chaos)","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>Ce Don permet d’augmenter une compétence importante pour la voie spirituelle choisie. Le bonus octroyé dépend du nombre de points d’Âme sacrifi és. Ce Don peut être choisi plusieurs fois, mais il ne peut s’appliquer qu’une fois par compétence. </p>","allegeance":"chaos","prerequis":"6 ou plus en Clairvoyance.","sacrifice":"<ul>\n<li>1 point d’Âme pour un + 1 à une compétence. Accès réservé aux Novices et aux Adeptes.</li>\n<li>2 points d’Âme pour un + 2 à une compétence. Accès réservé aux Chevaliers et aux Hérauts.</li>\n<li>3 points d’Âme pour un + 3 à une compétence. Accès réservé aux Champions.</li>\n</ul>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.75OYBq5iGgdXVQcA"}},"_id":"aP4vSk6WOL4wXyyb"}
|
||||
{"name":"Dur à cuire","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>L’Élu résiste aux effets liés à la fatigue et à la maladie. Le béné\u0002fi ciaire de ce Don a droit à un bonus de + 1 lors de ses tests de Trempe pour résister à la fatigue et à la maladie. Ce bonus peut augmenter en sacrifi ant davantage de points d’Âme.</p>","allegeance":"tous","prerequis":"6 ou plus en Trempe.","sacrifice":"<ul>\n<li>1 point d’Âme pour un bonus de + 2. Accès réservé aux Novices et aux Adeptes.</li>\n<li>2 points d’Âme pour un bonus de + 3. Accès réservé aux Chevaliers et aux Hérauts.</li>\n<li>3 points d’Âme pour un bonus de + 4. Accès réservé aux Champions.</li>\n</ul>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.jNeLj9DyylUj7LAl"}},"_id":"gK3glTgKTKRw9ref"}
|
||||
{"name":"Animal apprivoisé","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>Le croyant se voit confier un animal normal (c’est-à-dire non surnaturel). L’animal apprivoisé est un membre standard de son espèce et obéit à des ordres simples, mais sans jamais aller contre sa nature. Le coût de ce Don dépend de la Puissance de la créature qui est fixée lors de son octroi. Si 1 point d’Âme supplémentaire est investi, la créature peut communiquer télé\u0002pathiquement avec son maître (et uniquement avec lui).</p>","allegeance":"betes","prerequis":"6 ou plus en Présence.","sacrifice":"<ul>\n<li>1 point d’Âme pour une créature d’une Puissance de 0 à 4. Accès réservé aux Novices et aux Adeptes.</li>\n<li>3 points d’Âme pour une créature d’une Puissance de 5 à 7. Accès réservé aux Chevaliers et aux Hérauts.</li>\n<li>5 points d’Âme pour une créature d’une Puissance de 8 à 10. Accès réservé aux Champions.</li>\n</ul>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.qDUei4wRjpRYi9Ps"}},"_id":"gN7DtvMJPASpPpQl"}
|
||||
{"name":"Protection du Mage","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>L’Élu est protégé contre les attaques des créatures engendrées ou invoquées par la Sorcellerie (les Élémentaires, les Démons, les Automata…). La protection dont il bénéficie dépend du nombre de points d’Âme sacrifiés.</p>","allegeance":"loi","prerequis":"6 ou plus en Trempe.","sacrifice":"<ul>\n<li>1 point d’Âme pour 1 point de protection. Accès réservé aux Novices et aux Adeptes.</li>\n<li>2 points d’Âme pour 2 points de protection. Accès réservé aux Chevaliers et aux Hérauts.</li>\n<li>3 points d’Âme pour un 3 points de protection. Accès réservé aux Champions.</li>\n</ul>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.NVIG52HOiWGm6JcW"}},"_id":"j7iTQOFdiJUviTC9"}
|
||||
{"name":"Sang-Froid","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>L’Élu peut supporter n’importe quel type de souffrance psy\u0002chique. Il ne subit pas les pénalités dues à l’état Déstabilisé (– 2) et Choqué (– 5). Il est immunisé à la torture mentale.</p>","allegeance":"chaos","prerequis":"6 ou plus en Trempe.","sacrifice":"<p>1 point d’Âme.</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.KvdQLDhSpfAd2Iig"}},"_id":"lWXxInM05EiBu6uX"}
|
||||
{"name":"Dur à cuire (Chaos)","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>L’Élu résiste aux effets liés à la fatigue et à la maladie. Le bénéfi ciaire de ce Don a droit à un bonus de + 1 lors de ses tests de Trempe pour résister à la fatigue et à la maladie. Ce bonus peut augmenter en sacrifi ant davantage de points d’Âme.</p>","allegeance":"chaos","prerequis":"6 ou plus en Trempe.","sacrifice":"<ul>\n<li>1 point d’Âme pour un bonus de + 1. Accès réservé aux Novices et aux Adeptes.</li>\n<li>2 points d’Âme pour un bonus de + 2. Accès réservé aux Chevaliers et aux Hérauts.</li>\n<li>3 points d’Âme pour un bonus de + 3.Accès réservé aux Champions.</li>\n</ul>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.E0kyJQ5gqCEcm0Aj"}},"_id":"oAKqbsLVd8cX4tjN"}
|
||||
{"name":"Augmentation de compétence","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>Ce Don permet d’augmenter une compétence relative à la voie spirituelle choisie. Le bonus octroyé dépend du nombre de points d’Âme sacrifi és. Ce Don peut être choisi plusieurs fois, mais il ne peut s’appliquer qu’une fois par compétence. </p>","allegeance":"tous","prerequis":"6 ou plus en Clairvoyance.","sacrifice":"<ul>\n<li>1 point d’Âme pour un + 1 à une compétence. Accès réservé aux Novices et aux Adeptes.</li>\n<li>2 points d’Âme pour un + 2 à une compétence. Accès réservé aux Chevaliers et aux Hérauts.</li>\n<li>3 points d’Âme pour un + 3 à une compétence. Accès réservé aux Champions.</li>\n</ul>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.djDFklKJaW1oVTds"}},"_id":"pPNKneH7scfaEmGq"}
|
||||
{"name":"Augmentation de compétence (Loi)","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>Ce Don permet d’augmenter une compétence importante pour la voie spirituelle choisie. Le bonus octroyé dépend du nombre de points d’Âme sacrifiés. Ce Don peut être choisi plusieurs fois mais il ne peut s’appliquer qu’une fois par compétence.</p>","allegeance":"loi","prerequis":"6 ou plus en Clairvoyance.","sacrifice":"<ul>\n<li>1 point d’Âme pour un + 1 à une compétence. Accès réservé aux Novices et aux Adeptes.</li>\n<li>2 points d’Âme pour un + 2 à une compétence. Accès réservé aux Chevaliers et aux Hérauts.</li>\n<li>3 points d’Âme pour un + 3 à une compétence. Accès réservé aux Champions.</li>\n</ul>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.gNL9lD7hofK32H7D"}},"_id":"qhOE8OTe5hNNgDtt"}
|
||||
{"name":"Santé renforcée","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>Les points de Santé de l’Élu sont recalculés en ajoutant à [(Puissance + Trempe) x 2]+ 5 le nombre de points d’Âme sacrifiés. Ce Don ne peut être pris qu’une seule fois même si l’Élu conclut plusieurs Pactes.</p>","allegeance":"tous","prerequis":"6 ou plus en Trempe.","sacrifice":"<p>1 point d’Âme par point de Santé supplémentaire.</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.dJnYsDcETkidd2s5"}},"_id":"sLgGn6zhkDdbpQlH"}
|
||||
{"name":"Rectitude","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>L’Élu peut supporter n’importe quel type de souffrance. Il ne subit pas les pénalités dues à l’état Blessé (-2) et Gravement Blessé (-5). Il est immunisé contre la torture.</p>","allegeance":"loi","prerequis":"6 ou plus en Trempe.","sacrifice":"<p>1 point d’Âme.</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.HpoTP9idEKi1NQGL"}},"_id":"t7Ez0rzqYOf48GfY"}
|
||||
{"name":"La voie du milieu","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>Lors d’un combat, l’Élu ne subit plus les effets d’une réussite héroïque contre lui lors des tests de Capacité offensive. Il n’en profite plus non plus. À un haut niveau, il ne peut plus être affecté par les échecs dramatiques.</p>","allegeance":"loi","prerequis":"6 ou plus en Adresse ou Clairvoyance.","sacrifice":"<ul>\n<li>3 points d’Âme pour ne plus être affecté par les réussite héroïques.</li>\n<li>7 points d’Âme pour ne plus être affecté ni par les réus\u0002sites héroïques ni par les échecs dramatiques. Accès réser\u0002vé aux Champions</li>\n</ul>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.rOXDZ2020snvhtR2"}},"_id":"taXCPXiPEuOIKaUO"}
|
||||
{"name":"Perfection","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>L’un des attributs de l’Élu est augmenté, grâce à la bienveil\u0002lance de la divinité. Il ne peut dépasser le maximum imposé par l’espèce. Ce Don peut être choisi plusieurs fois, mais il ne peut s’appliquer qu’une fois par attribut.</p>","allegeance":"tous","prerequis":"6 ou plus dans l’attribut modifié.","sacrifice":"<ul>\n<li>3 points d’Âme pour un bonus de + 1. Accès réservé aux Novices et aux Adeptes.</li>\n<li>6 points d’Âme pour un bonus de + 2. Accès réservé aux Chevaliers et aux Hérauts.</li>\n<li>9 points d’Âme pour un bonus de + 3. Accès réservé aux Champions.</li>\n</ul>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.nSlFw6q7TCqxZ6tH"}},"_id":"vZBNRTeGGU5hsXtT"}
|
||||
{"name":"Sixième sens","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>L’Élu sait où se trouvent des ennemis dont il a conscience et qui cherchent à lui nuire directement dans un rayon de 10 mètres. Attention, cette détection ne fonctionnera pas pour deviner que quelqu’un est simplement hostile à l’Élu ou le hait viscéralement. Il s’agit d’un pouvoir de localisation et de vigilance. La distance de détection peut augmenter en sacrifiant davantage de points d’Âme.</p>","allegeance":"chaos","prerequis":"6 ou plus en Adresse ou Clairvoyance.","sacrifice":"<ul>\n<li>1 point d’Âme pour détecter les ennemis dans un rayon de 10 mètres. Accès réservé aux Novices et aux Adeptes.</li>\n<li>2 points d’Âme pour détecter les ennemis dans un rayon de 100 mètres. Accès réservé aux Chevaliers et aux Hérauts.</li>\n<li>3 points d’Âme pour détecter les ennemis dans un rayon de 1000 mètres. Accès réservé aux Champions.</li>\n</ul>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.6CIPAVjSVsOqZBYc"}},"_id":"wsbGuOoFjHO6aQEm"}
|
||||
{"name":"Endurance","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>L’Élu peut supporter n’importe quel type de souffrance. Il ne subit pas les pénalités dues à l’état Blessé (-2) et Gravement Blessé (-5). Il est immunisé à la torture si elle est infl igée à partir d’un des éléments tutélaires du personnage.</p>","allegeance":"elementaires","prerequis":"6 ou plus en Trempe.","sacrifice":"<p>3 points d’Âme.</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.on94N7pylXJ8gtdF"}},"_id":"yJ6K9dYrdNxr5uWj"}
|
||||
{"name":"Le pilier de la Loi","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>Une fois par scénario, l’Élu peut résister à une menace ou agres\u0002sion, physique ou mentale, sans jeter les dés. Il est toutefois néces\u0002saire que l’Élu ait conscience du danger. L’Élu pourra par exemple résister à la terreur provoquée par une créature du Chaos parti\u0002culièrement abominable ou légendaire, mais ne pourra pas éviter d’être assommé par un habile voleur de Bakshaan qu’il n’avait pas vu. Cette résistance peut même être « extraordinaire » si l’Aspect de l’Élu est très haut.</p>\n<p>S’il est un Adepte ou un Novice, l’Élu peut résister à l’ivresse lors d’une nuit de beuverie chez un Prince-Marchand de Bakshaan.</p>\n<p>S’il est un Chevalier ou un Héraut, l’Élu peut résister à un coup surpuissant (celui-ci est annulé) ou à l’apparition gla\u0002çante d’un Démon. S’il est un Champion, il peut par exemple soutenir l’arche d’un temple qui s’écroule pendant quelques précieuses secondes afi n de laisser le temps à ses camarades de se mettre à l’abri (songez à Maciste, à Samson, ou tout simplement à Conan). Bref, n’hésitez pas à faire dans l’extraordinaire, mais ne bas\u0002culez pas dans le grosbillisme sans limite (ou alors ne nous le dites pas). Il revient au MJ de doser avec justesse ce Don.</p>","allegeance":"loi","prerequis":"7 ou plus en Trempe","sacrifice":"<p>3 points d’Âme.</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.yZ84qzrGeIDfZXr1"}},"_id":"zef3VQat06Ronc5W"}
|
||||
{"name":"Œil exercé","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>L’Élu reçoit de la divinité qu’il vénère l’équivalent d’une Prédilection dans la Capacité spéciale Œil du sorcier (voir p. 199). Une fois par séance, il peut donc relancer le test de Clairvoyance + Perception.</p>","allegeance":"chaos","prerequis":"6 ou plus en Clairvoyance.","sacrifice":"<p>2 points d’Âme.</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.9Xrm1cfrCmkRtOBc"}},"_id":"zzz9JrtWjELdoAfK"}
|
@ -1,55 +0,0 @@
|
||||
{"name":"Chapeau fatigué","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"","rarete":0,"prix":2},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.D26fUtZxrzcTR07B"}},"_id":"1cZd2hlTV9tykDED"}
|
||||
{"name":"Bœuf","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"","rarete":2,"prix":50},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.whAhz9pO1NUt8Pjm"}},"_id":"3pvWKiyXhc9mmg70"}
|
||||
{"name":"Manteau","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"","rarete":2,"prix":4},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.FZztAyGbF2cL9wyc"}},"_id":"40P9lOUYI16gEGZS"}
|
||||
{"name":"Poney","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"","rarete":2,"prix":30},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.VKZrNcrCm9Ju7ayv"}},"_id":"7MdI99vLmaytPNKE"}
|
||||
{"name":"Tenue complète d’homme fortuné","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"<p>(pantalons de coton, chemise de drap fi n, pourpoint de velours, chapeau, bottes montantes ou chaussures à boucles)</p>","rarete":7,"prix":6},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.dw6wLsNmwmEW79ei"}},"_id":"82fzHPjxUkGMCVUX"}
|
||||
{"name":"Laboratoire d’Alchimiste","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"<p>Permet de mettre au point les objets les plus complexes (difficulté de 25 et au-delà)</p>","rarete":10,"prix":2000},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.eq0FJtwQd2jHbdvv"}},"_id":"8GK1Hn6le3JlsT6T"}
|
||||
{"name":"Vieille carne","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"<p>Modificateur de Monte -2</p>","rarete":2,"prix":50},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.iikcWs26aEjtXDKo"}},"_id":"8NPElVs0cYrGbmXO"}
|
||||
{"name":"Nuit d’auberge à l’étable","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"","rarete":3,"prix":1},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.uo464pRDCNIPsUvW"}},"_id":"9dEaZklkBs1GgdD7"}
|
||||
{"name":"Coursier","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"<p>Modificateur de Monte +2</p>","rarete":7,"prix":120},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.t4PPYVE2B6B9tUy1"}},"_id":"AZDTSEUo52dnf37U"}
|
||||
{"name":"Papier, plume et encre","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"","rarete":6,"prix":20},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.545S2qajtz6DSzzq"}},"_id":"Bg8jNqGusEdHxV00"}
|
||||
{"name":"Chariot couvert ou bâché","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"","rarete":3,"prix":100},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.GRhCO7lW7NaHThqU"}},"_id":"FlK49ZIVnceUTy1P"}
|
||||
{"name":"Tenue complète bourgeoise","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"<p> (chausses, chemise, pourpoint, chapeau, bottes)</p>","rarete":6,"prix":30},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.XZSiLPhbhlj1Wil1"}},"_id":"HdlqqXJ393Pf3GxA"}
|
||||
{"name":"Nuit d’auberge dans une chambre particulière","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"","rarete":5,"prix":5},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.xtlOL4VOsTDvyUvR"}},"_id":"LnKDtuhsacvcet7B"}
|
||||
{"name":"Louer une petite maison de ville pour un mois","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"<p>Se paie généralement d’avance…</p>","rarete":0,"prix":40},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.Tfu7ywqXoXzXgP6H"}},"_id":"NZ28hyteLgOxlXC7"}
|
||||
{"name":"Repas de fête","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"","rarete":5,"prix":4},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.gTCljExvFFpG7K1s"}},"_id":"OyRix5REF10GPbSp"}
|
||||
{"name":"Cheval d’attelage","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"","rarete":4,"prix":80},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.KDfgGmQ4tUj765MN"}},"_id":"QHPoow1iDYEdExgs"}
|
||||
{"name":"Repas chaud","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"","rarete":0,"prix":1},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.ErKXhChAfgugKU1a"}},"_id":"QojR7XS4mGjbMq5w"}
|
||||
{"name":"Charrette","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"","rarete":2,"prix":70},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.4HRLU67Ipd1PFqUV"}},"_id":"RXMBJNKXfy3S3yck"}
|
||||
{"name":"Onguent de soin","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"<p>10 tours de jeu sont nécessaires pour l’appliquer. Permet de récupérer [[/roll 1D4]] points de Santé après (10 – Trempe) heures</p>","rarete":5,"prix":20},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.RdqMNJzemUcCYO1H"}},"_id":"RyNJqjQvDbMixok0"}
|
||||
{"name":"Barge","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"","rarete":5,"prix":300},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.l7tiShWweGQ8fzDp"}},"_id":"TyeTRm4FxLeRNDTU"}
|
||||
{"name":"Pommade à frotter pour faire circuler le sang","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"<p>Protège des effets du froid (+ 5 aux tests de Trempe)</p>","rarete":4,"prix":2},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.BbzFc96y1QHi0Old"}},"_id":"VPkZxH3bkTR8WqXQ"}
|
||||
{"name":"Cape","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"","rarete":2,"prix":2},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.HZkgEeG4apx4I4Tn"}},"_id":"WL0809BYVR9JxaMM"}
|
||||
{"name":"Poudre blanche","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"<p>(à inhaler pour se sentir en forme)</p>\n<p>S’inhale le temps d’une action (à inhaler pour se sentir en forme) simple. Permet de récupérer immédiatement [[/roll 1D4]] cases de Santé (dégâts non létaux). À chaque inhalation, lancez un [[/roll 1d20]]. Sur un 1 ou un 11, celui qui vient de priser la poudre s’eff ondre et reste inconscient durant (10 – Trempe) heures.</p>\n<p> </p>","rarete":7,"prix":5},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.axOu6tHgHC7kYnG3"}},"_id":"WntSrr0j00DLntZV"}
|
||||
{"name":"Lanterne","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"","rarete":2,"prix":10},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.OKydo5obAtmOVNup"}},"_id":"Wo0tplt93X9wemlV"}
|
||||
{"name":"Chien dressé","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"","rarete":2,"prix":10},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.5jFTzXfwTgkVvjv7"}},"_id":"Wus5fIYO731eLG0i"}
|
||||
{"name":"Pain de route (rations pour une semaine)","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"","rarete":0,"prix":10},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.18Hb7BDncVyHgyeM"}},"_id":"X4nIqFrjWy0hCVbZ"}
|
||||
{"name":"Matériel de survie","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"<p>(sac, gourde, couverture, tente)</p>","rarete":2,"prix":5},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.wv6tWbuJjnZ7jiXH"}},"_id":"e8ZbG2WQCzJTRzBK"}
|
||||
{"name":"Herbes à infuser contre les fièvres légères","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"","rarete":2,"prix":1},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.iL0fjlODZ4JnNpwN"}},"_id":"eH4V6AlAZNEuwlrw"}
|
||||
{"name":"Barque à rames, canoë","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"","rarete":2,"prix":60},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.HKxNf2i5EEu5wAN5"}},"_id":"eXP5rck0IJK4Az8c"}
|
||||
{"name":"Petit atelier et son outillage","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"<p>Permet de fabriquer les objets les plus simples (jusqu’à une difficulté de 20)</p>","rarete":8,"prix":50},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.TD0bN2tEIG8VqnbD"}},"_id":"fc2fReiW3mV6jekF"}
|
||||
{"name":"Antipoison","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"<p>Confère un bonus de + 5 au test de Soins pour arrêter les pertes de points de Santé. Note : tous les poisons n’ont pas d’antipoison connu.</p>","rarete":7,"prix":50},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.7NDLIEeS4WVyXDqo"}},"_id":"fkleifA7qbOzRZCy"}
|
||||
{"name":"Fonderie","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"","rarete":10,"prix":10000},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.Y14CMXm2avlCnqPC"}},"_id":"frS3jj7bs0l9zMGi"}
|
||||
{"name":"Roulotte","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"","rarete":5,"prix":150},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.X5GxbvOMqQ8aHh49"}},"_id":"g5rDtYzyQ4IxUWXu"}
|
||||
{"name":"Forge","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"","rarete":4,"prix":100},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.cma6u26NRsZL1awt"}},"_id":"gJStREuVAaaBuwXR"}
|
||||
{"name":"Miroir et peigne","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"","rarete":2,"prix":10},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.IzlENy0Oxg82cke0"}},"_id":"hRlPFzsoUjbu3Noj"}
|
||||
{"name":"Tenue complète citadine","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"<p>(chausses et chemise de coton, chapeau, chaussures)</p>","rarete":3,"prix":7},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.1ldZnq4lDPHOeVba"}},"_id":"hTLeVLn5yUd2etoS"}
|
||||
{"name":"Nuit d’auberge dans la salle commune","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"","rarete":3,"prix":3},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.D7HcsRBK8uH6NBi4"}},"_id":"hc4w2PBpYLMQKsXS"}
|
||||
{"name":"Matériel de cuisine","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"","rarete":0,"prix":2},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.lJafSILU0LtNMONn"}},"_id":"i8BBr1WjfphuLTLI"}
|
||||
{"name":"Chapeau à la mode","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"","rarete":6,"prix":10},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.lmlWH96vjfTMN2OO"}},"_id":"kkNZoJdG86Dqci2b"}
|
||||
{"name":"Herbes à mâcher les lendemains de beuverie","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"","rarete":2,"prix":1},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.STMfa8tVupqJPllD"}},"_id":"muCWd5AKL21AbTg8"}
|
||||
{"name":"Tenue complète paysanne","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"<p>(chausses et chemise de jute, grand foulard, sandales)</p>","rarete":0,"prix":4},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.4WIrBhrpn4AlSnh3"}},"_id":"nJKLD6BqEHbBHmOY"}
|
||||
{"name":"Selle et fontes","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"","rarete":2,"prix":20},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.J1HAwhIBjgkBZ3FH"}},"_id":"oIZv9KxLVQUOfi5d"}
|
||||
{"name":"Destrier","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"","rarete":8,"prix":800},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.MF74kXfkiwLOwWNS"}},"_id":"oIob9qCttaQw7Aea"}
|
||||
{"name":"Vêtements rapiécés, nippes","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"","rarete":0,"prix":2},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.rPYf2u8b3qizxxFk"}},"_id":"sLZgByw2rA2PvQms"}
|
||||
{"name":"Petit voilier","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"","rarete":6,"prix":50},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.tuAI18GrGFkqVHpQ"}},"_id":"tAFXmBLUXcSUKZRL"}
|
||||
{"name":"Matériel hivernal","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"<p>(piolets, raquettes, manteau et graisses)</p>","rarete":4,"prix":20},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.LpdplcMj4j7dWnZU"}},"_id":"tRSk0np2smLpdixK"}
|
||||
{"name":"Herbes parfumées contre les mauvaises odeurs","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"","rarete":2,"prix":1},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.y6G9LprDaOAoVn9v"}},"_id":"tXYzLGS6SFolD8k4"}
|
||||
{"name":"Barque de pêcheur avec voile","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"","rarete":3,"prix":100},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.ZXEq8059S3YlFhN0"}},"_id":"vUFnyal2islmmpZF"}
|
||||
{"name":"Torche","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"<p> (lot de 3)</p>","rarete":1,"prix":5},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.aVBCMdM69vwfrSMW"}},"_id":"vahvt9QGYjnRlY4p"}
|
||||
{"name":"Verre de vin ou de bière","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"","rarete":0,"prix":1},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.5yA9UC3kExUx6CqN"}},"_id":"vmSrygoMxy6G87EO"}
|
||||
{"name":"Matériel d’escalade","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"<p>(marteau, cordes, pitons)</p>","rarete":3,"prix":8},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.TXj9b73MGGI6L9Av"}},"_id":"vtpjGFTYO7fiKXwE"}
|
||||
{"name":"Longue-vue","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"","rarete":8,"prix":250},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.n1UQvGJ8Zq6dGuEY"}},"_id":"wHU6MvZuBMmN9xfG"}
|
||||
{"name":"Dose de poison violent","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"<p>Voir le chapitre « Le Combat et la santé » pour connaître les eff ets des principaux poisons</p>","rarete":6,"prix":3},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.EuGLW5D5SIP58uaa"}},"_id":"wQ8cgwazhlIF6WG7"}
|
||||
{"name":"Louer une grange pour un mois","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"<p>Se paie généralement d’avance...</p>","rarete":0,"prix":10},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.8utWpkdD1FvHSYfv"}},"_id":"xy356PaIZisHJdUR"}
|
||||
{"name":"Grande écharpe","type":"equipement","img":"systems/fvtt-mournblade/assets/icons/equipement.webp","data":{"description":"","rarete":2,"prix":2},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.j5Hei6F2XN5nrh7t"}},"_id":"y47dBO3Mf5Pn7tOd"}
|
Binary file not shown.
BIN
packs/equipement/000165.ldb
Normal file
BIN
packs/equipement/000165.ldb
Normal file
Binary file not shown.
@ -1 +1 @@
|
||||
MANIFEST-000098
|
||||
MANIFEST-000161
|
||||
|
@ -1,8 +1,15 @@
|
||||
2023/11/29-22:11:25.461453 7ff1ecbfe6c0 Recovering log #96
|
||||
2023/11/29-22:11:25.472590 7ff1ecbfe6c0 Delete type=3 #94
|
||||
2023/11/29-22:11:25.472658 7ff1ecbfe6c0 Delete type=0 #96
|
||||
2023/11/29-22:14:17.029859 7fef56ffd6c0 Level-0 table #101: started
|
||||
2023/11/29-22:14:17.029891 7fef56ffd6c0 Level-0 table #101: 0 bytes OK
|
||||
2023/11/29-22:14:17.067628 7fef56ffd6c0 Delete type=0 #99
|
||||
2023/11/29-22:14:17.106540 7fef56ffd6c0 Manual compaction at level-0 from '!items!1cZd2hlTV9tykDED' @ 72057594037927935 : 1 .. '!items!y47dBO3Mf5Pn7tOd' @ 0 : 0; will stop at (end)
|
||||
2023/11/29-22:14:17.106574 7fef56ffd6c0 Manual compaction at level-1 from '!items!1cZd2hlTV9tykDED' @ 72057594037927935 : 1 .. '!items!y47dBO3Mf5Pn7tOd' @ 0 : 0; will stop at (end)
|
||||
2025/04/30-23:34:36.870151 7f4b36ffd6c0 Recovering log #159
|
||||
2025/04/30-23:34:36.881113 7f4b36ffd6c0 Delete type=3 #157
|
||||
2025/04/30-23:34:36.881239 7f4b36ffd6c0 Delete type=0 #159
|
||||
2025/04/30-23:48:18.888821 7f4b35bff6c0 Level-0 table #164: started
|
||||
2025/04/30-23:48:18.892155 7f4b35bff6c0 Level-0 table #164: 12597 bytes OK
|
||||
2025/04/30-23:48:18.899021 7f4b35bff6c0 Delete type=0 #162
|
||||
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)
|
||||
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
|
||||
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)
|
||||
|
@ -1,8 +1,8 @@
|
||||
2023/11/29-20:50:20.635956 7ff1ed3ff6c0 Recovering log #92
|
||||
2023/11/29-20:50:20.646539 7ff1ed3ff6c0 Delete type=3 #90
|
||||
2023/11/29-20:50:20.646595 7ff1ed3ff6c0 Delete type=0 #92
|
||||
2023/11/29-22:03:29.622718 7fef56ffd6c0 Level-0 table #97: started
|
||||
2023/11/29-22:03:29.622756 7fef56ffd6c0 Level-0 table #97: 0 bytes OK
|
||||
2023/11/29-22:03:29.630708 7fef56ffd6c0 Delete type=0 #95
|
||||
2023/11/29-22:03:29.630884 7fef56ffd6c0 Manual compaction at level-0 from '!items!1cZd2hlTV9tykDED' @ 72057594037927935 : 1 .. '!items!y47dBO3Mf5Pn7tOd' @ 0 : 0; will stop at (end)
|
||||
2023/11/29-22:03:29.630919 7fef56ffd6c0 Manual compaction at level-1 from '!items!1cZd2hlTV9tykDED' @ 72057594037927935 : 1 .. '!items!y47dBO3Mf5Pn7tOd' @ 0 : 0; will stop at (end)
|
||||
2025/03/14-14:12:16.441764 7fba4e7fc6c0 Recovering log #155
|
||||
2025/03/14-14:12:16.537350 7fba4e7fc6c0 Delete type=3 #153
|
||||
2025/03/14-14:12:16.537465 7fba4e7fc6c0 Delete type=0 #155
|
||||
2025/03/14-14:12:43.170716 7fb7affff6c0 Level-0 table #160: started
|
||||
2025/03/14-14:12:43.170742 7fb7affff6c0 Level-0 table #160: 0 bytes OK
|
||||
2025/03/14-14:12:43.176998 7fb7affff6c0 Delete type=0 #158
|
||||
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)
|
||||
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)
|
||||
|
Binary file not shown.
BIN
packs/equipement/MANIFEST-000161
Normal file
BIN
packs/equipement/MANIFEST-000161
Normal file
Binary file not shown.
Binary file not shown.
BIN
packs/heritages/000235.ldb
Normal file
BIN
packs/heritages/000235.ldb
Normal file
Binary file not shown.
@ -1 +1 @@
|
||||
MANIFEST-000062
|
||||
MANIFEST-000231
|
||||
|
@ -1,8 +1,15 @@
|
||||
2023/11/29-22:11:25.395108 7fef577fe6c0 Recovering log #60
|
||||
2023/11/29-22:11:25.405396 7fef577fe6c0 Delete type=3 #58
|
||||
2023/11/29-22:11:25.405484 7fef577fe6c0 Delete type=0 #60
|
||||
2023/11/29-22:14:16.809567 7fef56ffd6c0 Level-0 table #65: started
|
||||
2023/11/29-22:14:16.809597 7fef56ffd6c0 Level-0 table #65: 0 bytes OK
|
||||
2023/11/29-22:14:16.843768 7fef56ffd6c0 Delete type=0 #63
|
||||
2023/11/29-22:14:16.952987 7fef56ffd6c0 Manual compaction at level-0 from '!items!276PAK1VR5LK4rbE' @ 72057594037927935 : 1 .. '!items!nYYX7rtSMGFO4xVY' @ 0 : 0; will stop at (end)
|
||||
2023/11/29-22:14:16.953032 7fef56ffd6c0 Manual compaction at level-1 from '!items!276PAK1VR5LK4rbE' @ 72057594037927935 : 1 .. '!items!nYYX7rtSMGFO4xVY' @ 0 : 0; will stop at (end)
|
||||
2025/04/30-23:34:36.801202 7f4b377fe6c0 Recovering log #229
|
||||
2025/04/30-23:34:36.811770 7f4b377fe6c0 Delete type=3 #227
|
||||
2025/04/30-23:34:36.811874 7f4b377fe6c0 Delete type=0 #229
|
||||
2025/04/30-23:48:18.794531 7f4b35bff6c0 Level-0 table #234: started
|
||||
2025/04/30-23:48:18.797886 7f4b35bff6c0 Level-0 table #234: 9428 bytes OK
|
||||
2025/04/30-23:48:18.803898 7f4b35bff6c0 Delete type=0 #232
|
||||
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)
|
||||
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
|
||||
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)
|
||||
|
@ -1,8 +1,8 @@
|
||||
2023/11/29-20:50:20.569702 7fef577fe6c0 Recovering log #56
|
||||
2023/11/29-20:50:20.579868 7fef577fe6c0 Delete type=3 #54
|
||||
2023/11/29-20:50:20.579933 7fef577fe6c0 Delete type=0 #56
|
||||
2023/11/29-22:03:29.569369 7fef56ffd6c0 Level-0 table #61: started
|
||||
2023/11/29-22:03:29.569409 7fef56ffd6c0 Level-0 table #61: 0 bytes OK
|
||||
2023/11/29-22:03:29.577270 7fef56ffd6c0 Delete type=0 #59
|
||||
2023/11/29-22:03:29.595791 7fef56ffd6c0 Manual compaction at level-0 from '!items!276PAK1VR5LK4rbE' @ 72057594037927935 : 1 .. '!items!nYYX7rtSMGFO4xVY' @ 0 : 0; will stop at (end)
|
||||
2023/11/29-22:03:29.602105 7fef56ffd6c0 Manual compaction at level-1 from '!items!276PAK1VR5LK4rbE' @ 72057594037927935 : 1 .. '!items!nYYX7rtSMGFO4xVY' @ 0 : 0; will stop at (end)
|
||||
2025/03/14-14:12:15.786018 7fba4d7fa6c0 Recovering log #225
|
||||
2025/03/14-14:12:15.880213 7fba4d7fa6c0 Delete type=3 #223
|
||||
2025/03/14-14:12:15.880325 7fba4d7fa6c0 Delete type=0 #225
|
||||
2025/03/14-14:12:43.138938 7fb7affff6c0 Level-0 table #230: started
|
||||
2025/03/14-14:12:43.138968 7fb7affff6c0 Level-0 table #230: 0 bytes OK
|
||||
2025/03/14-14:12:43.144957 7fb7affff6c0 Delete type=0 #228
|
||||
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)
|
||||
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)
|
||||
|
Binary file not shown.
BIN
packs/heritages/MANIFEST-000231
Normal file
BIN
packs/heritages/MANIFEST-000231
Normal file
Binary file not shown.
BIN
packs/heros/000072.ldb
Normal file
BIN
packs/heros/000072.ldb
Normal file
Binary file not shown.
1
packs/heros/CURRENT
Normal file
1
packs/heros/CURRENT
Normal file
@ -0,0 +1 @@
|
||||
MANIFEST-000068
|
15
packs/heros/LOG
Normal file
15
packs/heros/LOG
Normal file
@ -0,0 +1,15 @@
|
||||
2025/04/30-23:34:36.740855 7f4b367fc6c0 Recovering log #66
|
||||
2025/04/30-23:34:36.750397 7f4b367fc6c0 Delete type=3 #64
|
||||
2025/04/30-23:34:36.750518 7f4b367fc6c0 Delete type=0 #66
|
||||
2025/04/30-23:48:18.693918 7f4b35bff6c0 Level-0 table #71: started
|
||||
2025/04/30-23:48:18.699827 7f4b35bff6c0 Level-0 table #71: 216867 bytes OK
|
||||
2025/04/30-23:48:18.705987 7f4b35bff6c0 Delete type=0 #69
|
||||
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)
|
||||
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
|
||||
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)
|
8
packs/heros/LOG.old
Normal file
8
packs/heros/LOG.old
Normal file
@ -0,0 +1,8 @@
|
||||
2025/03/14-14:12:15.324808 7fba4d7fa6c0 Recovering log #62
|
||||
2025/03/14-14:12:15.411092 7fba4d7fa6c0 Delete type=3 #60
|
||||
2025/03/14-14:12:15.411167 7fba4d7fa6c0 Delete type=0 #62
|
||||
2025/03/14-14:12:43.105838 7fb7affff6c0 Level-0 table #67: started
|
||||
2025/03/14-14:12:43.105882 7fb7affff6c0 Level-0 table #67: 0 bytes OK
|
||||
2025/03/14-14:12:43.112421 7fb7affff6c0 Delete type=0 #65
|
||||
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)
|
||||
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)
|
BIN
packs/heros/MANIFEST-000068
Normal file
BIN
packs/heros/MANIFEST-000068
Normal file
Binary file not shown.
Binary file not shown.
BIN
packs/metiers/000235.ldb
Normal file
BIN
packs/metiers/000235.ldb
Normal file
Binary file not shown.
@ -1 +1 @@
|
||||
MANIFEST-000062
|
||||
MANIFEST-000231
|
||||
|
@ -1,8 +1,15 @@
|
||||
2023/11/29-22:11:25.407678 7ff1ecbfe6c0 Recovering log #60
|
||||
2023/11/29-22:11:25.418261 7ff1ecbfe6c0 Delete type=3 #58
|
||||
2023/11/29-22:11:25.418378 7ff1ecbfe6c0 Delete type=0 #60
|
||||
2023/11/29-22:14:16.923054 7fef56ffd6c0 Level-0 table #65: started
|
||||
2023/11/29-22:14:16.923087 7fef56ffd6c0 Level-0 table #65: 0 bytes OK
|
||||
2023/11/29-22:14:16.952832 7fef56ffd6c0 Delete type=0 #63
|
||||
2023/11/29-22:14:16.953024 7fef56ffd6c0 Manual compaction at level-0 from '!items!1zbNJIOmrsThaKFU' @ 72057594037927935 : 1 .. '!items!y0G0VMyygxIj4Y7F' @ 0 : 0; will stop at (end)
|
||||
2023/11/29-22:14:16.953057 7fef56ffd6c0 Manual compaction at level-1 from '!items!1zbNJIOmrsThaKFU' @ 72057594037927935 : 1 .. '!items!y0G0VMyygxIj4Y7F' @ 0 : 0; will stop at (end)
|
||||
2025/04/30-23:34:36.814963 7f4b37fff6c0 Recovering log #229
|
||||
2025/04/30-23:34:36.825386 7f4b37fff6c0 Delete type=3 #227
|
||||
2025/04/30-23:34:36.825500 7f4b37fff6c0 Delete type=0 #229
|
||||
2025/04/30-23:48:18.783696 7f4b35bff6c0 Level-0 table #234: started
|
||||
2025/04/30-23:48:18.787900 7f4b35bff6c0 Level-0 table #234: 36752 bytes OK
|
||||
2025/04/30-23:48:18.794332 7f4b35bff6c0 Delete type=0 #232
|
||||
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)
|
||||
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
|
||||
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)
|
||||
|
@ -1,8 +1,8 @@
|
||||
2023/11/29-20:50:20.582005 7ff1ed3ff6c0 Recovering log #56
|
||||
2023/11/29-20:50:20.593394 7ff1ed3ff6c0 Delete type=3 #54
|
||||
2023/11/29-20:50:20.593446 7ff1ed3ff6c0 Delete type=0 #56
|
||||
2023/11/29-22:03:29.577397 7fef56ffd6c0 Level-0 table #61: started
|
||||
2023/11/29-22:03:29.577421 7fef56ffd6c0 Level-0 table #61: 0 bytes OK
|
||||
2023/11/29-22:03:29.583760 7fef56ffd6c0 Delete type=0 #59
|
||||
2023/11/29-22:03:29.602081 7fef56ffd6c0 Manual compaction at level-0 from '!items!1zbNJIOmrsThaKFU' @ 72057594037927935 : 1 .. '!items!y0G0VMyygxIj4Y7F' @ 0 : 0; will stop at (end)
|
||||
2023/11/29-22:03:29.602123 7fef56ffd6c0 Manual compaction at level-1 from '!items!1zbNJIOmrsThaKFU' @ 72057594037927935 : 1 .. '!items!y0G0VMyygxIj4Y7F' @ 0 : 0; will stop at (end)
|
||||
2025/03/14-14:12:15.896685 7fba4e7fc6c0 Recovering log #225
|
||||
2025/03/14-14:12:16.010368 7fba4e7fc6c0 Delete type=3 #223
|
||||
2025/03/14-14:12:16.010445 7fba4e7fc6c0 Delete type=0 #225
|
||||
2025/03/14-14:12:43.145023 7fb7affff6c0 Level-0 table #230: started
|
||||
2025/03/14-14:12:43.145042 7fb7affff6c0 Level-0 table #230: 0 bytes OK
|
||||
2025/03/14-14:12:43.150990 7fb7affff6c0 Delete type=0 #228
|
||||
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)
|
||||
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)
|
||||
|
Binary file not shown.
BIN
packs/metiers/MANIFEST-000231
Normal file
BIN
packs/metiers/MANIFEST-000231
Normal file
Binary file not shown.
0
packs/mutations/000070.log
Normal file
0
packs/mutations/000070.log
Normal file
BIN
packs/mutations/000072.ldb
Normal file
BIN
packs/mutations/000072.ldb
Normal file
Binary file not shown.
1
packs/mutations/CURRENT
Normal file
1
packs/mutations/CURRENT
Normal file
@ -0,0 +1 @@
|
||||
MANIFEST-000068
|
0
packs/mutations/LOCK
Normal file
0
packs/mutations/LOCK
Normal file
15
packs/mutations/LOG
Normal file
15
packs/mutations/LOG
Normal file
@ -0,0 +1,15 @@
|
||||
2025/04/30-23:34:36.921742 7f4b36ffd6c0 Recovering log #66
|
||||
2025/04/30-23:34:36.932497 7f4b36ffd6c0 Delete type=3 #64
|
||||
2025/04/30-23:34:36.932569 7f4b36ffd6c0 Delete type=0 #66
|
||||
2025/04/30-23:48:18.951413 7f4b35bff6c0 Level-0 table #71: started
|
||||
2025/04/30-23:48:18.954652 7f4b35bff6c0 Level-0 table #71: 592 bytes OK
|
||||
2025/04/30-23:48:18.960998 7f4b35bff6c0 Delete type=0 #69
|
||||
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)
|
||||
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
|
||||
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)
|
8
packs/mutations/LOG.old
Normal file
8
packs/mutations/LOG.old
Normal file
@ -0,0 +1,8 @@
|
||||
2025/03/14-14:12:16.749353 7fba4d7fa6c0 Recovering log #62
|
||||
2025/03/14-14:12:16.836584 7fba4d7fa6c0 Delete type=3 #60
|
||||
2025/03/14-14:12:16.836694 7fba4d7fa6c0 Delete type=0 #62
|
||||
2025/03/14-14:12:43.184290 7fb7affff6c0 Level-0 table #67: started
|
||||
2025/03/14-14:12:43.184339 7fb7affff6c0 Level-0 table #67: 0 bytes OK
|
||||
2025/03/14-14:12:43.190473 7fb7affff6c0 Delete type=0 #65
|
||||
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)
|
||||
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)
|
BIN
packs/mutations/MANIFEST-000068
Normal file
BIN
packs/mutations/MANIFEST-000068
Normal file
Binary file not shown.
Binary file not shown.
0
packs/origines/000234.log
Normal file
0
packs/origines/000234.log
Normal file
BIN
packs/origines/000236.ldb
Normal file
BIN
packs/origines/000236.ldb
Normal file
Binary file not shown.
@ -1 +1 @@
|
||||
MANIFEST-000063
|
||||
MANIFEST-000232
|
||||
|
@ -1,8 +1,15 @@
|
||||
2023/11/29-22:11:25.381917 7fef57fff6c0 Recovering log #61
|
||||
2023/11/29-22:11:25.392824 7fef57fff6c0 Delete type=3 #59
|
||||
2023/11/29-22:11:25.392930 7fef57fff6c0 Delete type=0 #61
|
||||
2023/11/29-22:14:16.844154 7fef56ffd6c0 Level-0 table #66: started
|
||||
2023/11/29-22:14:16.844182 7fef56ffd6c0 Level-0 table #66: 0 bytes OK
|
||||
2023/11/29-22:14:16.881638 7fef56ffd6c0 Delete type=0 #64
|
||||
2023/11/29-22:14:16.953004 7fef56ffd6c0 Manual compaction at level-0 from '!items!0xdQs67JPsVrUyvp' @ 72057594037927935 : 1 .. '!items!xox7R7Uuuz0eGL0p' @ 0 : 0; will stop at (end)
|
||||
2023/11/29-22:14:16.953040 7fef56ffd6c0 Manual compaction at level-1 from '!items!0xdQs67JPsVrUyvp' @ 72057594037927935 : 1 .. '!items!xox7R7Uuuz0eGL0p' @ 0 : 0; will stop at (end)
|
||||
2025/04/30-23:34:36.786043 7f4b367fc6c0 Recovering log #230
|
||||
2025/04/30-23:34:36.796376 7f4b367fc6c0 Delete type=3 #228
|
||||
2025/04/30-23:34:36.796441 7f4b367fc6c0 Delete type=0 #230
|
||||
2025/04/30-23:48:18.773627 7f4b35bff6c0 Level-0 table #235: started
|
||||
2025/04/30-23:48:18.777371 7f4b35bff6c0 Level-0 table #235: 32632 bytes OK
|
||||
2025/04/30-23:48:18.783554 7f4b35bff6c0 Delete type=0 #233
|
||||
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)
|
||||
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
|
||||
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)
|
||||
|
@ -1,8 +1,8 @@
|
||||
2023/11/29-20:50:20.557438 7ff1ecbfe6c0 Recovering log #57
|
||||
2023/11/29-20:50:20.567859 7ff1ecbfe6c0 Delete type=3 #55
|
||||
2023/11/29-20:50:20.567928 7ff1ecbfe6c0 Delete type=0 #57
|
||||
2023/11/29-22:03:29.552686 7fef56ffd6c0 Level-0 table #62: started
|
||||
2023/11/29-22:03:29.552886 7fef56ffd6c0 Level-0 table #62: 0 bytes OK
|
||||
2023/11/29-22:03:29.559417 7fef56ffd6c0 Delete type=0 #60
|
||||
2023/11/29-22:03:29.559640 7fef56ffd6c0 Manual compaction at level-0 from '!items!0xdQs67JPsVrUyvp' @ 72057594037927935 : 1 .. '!items!xox7R7Uuuz0eGL0p' @ 0 : 0; will stop at (end)
|
||||
2023/11/29-22:03:29.569352 7fef56ffd6c0 Manual compaction at level-1 from '!items!0xdQs67JPsVrUyvp' @ 72057594037927935 : 1 .. '!items!xox7R7Uuuz0eGL0p' @ 0 : 0; will stop at (end)
|
||||
2025/03/14-14:12:15.672681 7fba4cff96c0 Recovering log #226
|
||||
2025/03/14-14:12:15.776484 7fba4cff96c0 Delete type=3 #224
|
||||
2025/03/14-14:12:15.776560 7fba4cff96c0 Delete type=0 #226
|
||||
2025/03/14-14:12:43.132507 7fb7affff6c0 Level-0 table #231: started
|
||||
2025/03/14-14:12:43.132565 7fb7affff6c0 Level-0 table #231: 0 bytes OK
|
||||
2025/03/14-14:12:43.138828 7fb7affff6c0 Delete type=0 #229
|
||||
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)
|
||||
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)
|
||||
|
Binary file not shown.
BIN
packs/origines/MANIFEST-000232
Normal file
BIN
packs/origines/MANIFEST-000232
Normal file
Binary file not shown.
0
packs/peuples/000070.log
Normal file
0
packs/peuples/000070.log
Normal file
BIN
packs/peuples/000072.ldb
Normal file
BIN
packs/peuples/000072.ldb
Normal file
Binary file not shown.
1
packs/peuples/CURRENT
Normal file
1
packs/peuples/CURRENT
Normal file
@ -0,0 +1 @@
|
||||
MANIFEST-000068
|
0
packs/peuples/LOCK
Normal file
0
packs/peuples/LOCK
Normal file
15
packs/peuples/LOG
Normal file
15
packs/peuples/LOG
Normal file
@ -0,0 +1,15 @@
|
||||
2025/04/30-23:34:36.934886 7f4b37fff6c0 Recovering log #66
|
||||
2025/04/30-23:34:36.945113 7f4b37fff6c0 Delete type=3 #64
|
||||
2025/04/30-23:34:36.945238 7f4b37fff6c0 Delete type=0 #66
|
||||
2025/04/30-23:48:18.940588 7f4b35bff6c0 Level-0 table #71: started
|
||||
2025/04/30-23:48:18.943892 7f4b35bff6c0 Level-0 table #71: 5232 bytes OK
|
||||
2025/04/30-23:48:18.951132 7f4b35bff6c0 Delete type=0 #69
|
||||
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)
|
||||
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
|
||||
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)
|
8
packs/peuples/LOG.old
Normal file
8
packs/peuples/LOG.old
Normal file
@ -0,0 +1,8 @@
|
||||
2025/03/14-14:12:16.838771 7fba4e7fc6c0 Recovering log #62
|
||||
2025/03/14-14:12:16.935874 7fba4e7fc6c0 Delete type=3 #60
|
||||
2025/03/14-14:12:16.935944 7fba4e7fc6c0 Delete type=0 #62
|
||||
2025/03/14-14:12:43.190599 7fb7affff6c0 Level-0 table #67: started
|
||||
2025/03/14-14:12:43.190626 7fb7affff6c0 Level-0 table #67: 0 bytes OK
|
||||
2025/03/14-14:12:43.196678 7fb7affff6c0 Delete type=0 #65
|
||||
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)
|
||||
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)
|
BIN
packs/peuples/MANIFEST-000068
Normal file
BIN
packs/peuples/MANIFEST-000068
Normal file
Binary file not shown.
0
packs/pouvoirs/000151.log
Normal file
0
packs/pouvoirs/000151.log
Normal file
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user