Compare commits
3 Commits
bol-v11.1.
...
bol-v12.0.
Author | SHA1 | Date | |
---|---|---|---|
7ed9265a26 | |||
ae43c7c920 | |||
20ab9a17a4 |
@ -168,6 +168,9 @@
|
||||
"BOL.ui.initMalus": "Init malus",
|
||||
"BOL.ui.isspecial": "Spécial ?",
|
||||
"BOL.ui.createEquipment": "Create Equipment",
|
||||
"BOL.ui.creature": "Creature",
|
||||
"BOL.ui.undead": "Undead",
|
||||
"BOL.ui.daemon": "Daemon",
|
||||
|
||||
"BOL.featureCategory.origins": "Origins",
|
||||
"BOL.featureCategory.races": "Races",
|
||||
|
10
lang/fr.json
10
lang/fr.json
@ -2,6 +2,7 @@
|
||||
"TYPES": {
|
||||
"Actor": {
|
||||
"character": "Personnage",
|
||||
"encounter": "PNJ",
|
||||
"npc": "PNJ",
|
||||
"vehicle": "Véhicule"
|
||||
},
|
||||
@ -207,7 +208,9 @@
|
||||
"BOL.ui.crewDamage": "D.équipage",
|
||||
"BOL.ui.fireDamage": "Feu ?",
|
||||
"BOL.ui.weaponbonus": "Cette arme bénéficie déja d'un Dé de Bonus (Arme Favorite prise en compte, par exemple)",
|
||||
"BOL.ui.creature": "Creature",
|
||||
"BOL.ui.creature": "Créature",
|
||||
"BOL.ui.undead": "Mort vivant",
|
||||
"BOL.ui.daemon": "Démon",
|
||||
"BOL.ui.rabble": "Piétaille",
|
||||
"BOL.ui.tough": "Coriace",
|
||||
"BOL.ui.villain": "Rival",
|
||||
@ -620,5 +623,8 @@
|
||||
"BOL.settings.defaultLogoActorSheetPath" : "Chemin du logo des fiches de perso",
|
||||
"BOL.settings.defaultLogoPathActorSheetTooltip": "Vous pouvez changer le logo BoL des fiches de perso, pour jouer dans un autre univers (idéalement 346 x 200, défaut : /systems/bol/ui/logo.webp)",
|
||||
"BOL.settings.defaultLogoTopLeftPath" : "Chemin du logo haut gauche",
|
||||
"BOL.settings.defaultLogoTopLeftPathTooltip": "Vous pouvez changer le logo BoL en haut à gauche de chaque écran (idéalement 718 x 416, défaut : /systems/bol/ui/logo2.webp)"
|
||||
"BOL.settings.defaultLogoTopLeftPathTooltip": "Vous pouvez changer le logo BoL en haut à gauche de chaque écran (idéalement 718 x 416, défaut : /systems/bol/ui/logo2.webp)",
|
||||
|
||||
"EFFECT.StatusProne": "A terre",
|
||||
"EFFECT.StatusDead": "Mort"
|
||||
}
|
@ -9,7 +9,7 @@ export class BoLActorSheet extends ActorSheet {
|
||||
|
||||
/** @override */
|
||||
static get defaultOptions() {
|
||||
return mergeObject(super.defaultOptions, {
|
||||
return foundry.utils.mergeObject(super.defaultOptions, {
|
||||
classes: ["bol", "sheet", "actor"],
|
||||
template: "systems/bol/templates/actor/actor-sheet.hbs",
|
||||
width: 860,
|
||||
@ -122,8 +122,8 @@ export class BoLActorSheet extends ActorSheet {
|
||||
/** @override */
|
||||
async getData(options) {
|
||||
const data = super.getData(options)
|
||||
const actorData = duplicate(data)
|
||||
let formData = duplicate(data)
|
||||
const actorData = foundry.utils.duplicate(data)
|
||||
let formData = foundry.utils.duplicate(data)
|
||||
|
||||
formData.config = game.bol.config
|
||||
formData.data = actorData
|
||||
@ -160,6 +160,7 @@ export class BoLActorSheet extends ActorSheet {
|
||||
formData.bougette = this.actor.getBougette()
|
||||
formData.charType = this.actor.getCharType()
|
||||
formData.villainy = this.actor.getVillainy()
|
||||
formData.isUndead = this.actor.isUndead()
|
||||
formData.biography = await TextEditor.enrichHTML(this.object.system.details?.biography || "", { async: true })
|
||||
formData.notes = await TextEditor.enrichHTML(this.object.system.details.notes || "", { async: true })
|
||||
formData.isSorcerer = this.actor.isSorcerer()
|
||||
@ -187,7 +188,7 @@ export class BoLActorSheet extends ActorSheet {
|
||||
// Get the type of item to create.
|
||||
const type = header.dataset.type;
|
||||
// Grab any data associated with this control.
|
||||
const data = duplicate(header.dataset);
|
||||
const data = foundry.utils.duplicate(header.dataset);
|
||||
// Initialize a default name.
|
||||
const name = `New ${type.capitalize()}`;
|
||||
// Prepare the item object.
|
||||
|
@ -38,10 +38,7 @@ export class BoLActor extends Actor {
|
||||
if (this.type === 'character') {
|
||||
return true
|
||||
}
|
||||
if (this.type === 'encounter' && this.chartype == "adversary") {
|
||||
return true
|
||||
}
|
||||
return false
|
||||
return (this.type === 'encounter' && this.chartype == "adversary")
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@ -54,10 +51,10 @@ export class BoLActor extends Actor {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getVillainy() {
|
||||
if (this.type === 'encounter' && this.chartype == "adversary") {
|
||||
return true
|
||||
}
|
||||
return false
|
||||
return (this.type === 'encounter' && this.chartype == "adversary")
|
||||
}
|
||||
isUndead() {
|
||||
return (this.type == "encounter" && this.system.isundead)
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getInitiativeMalus() {
|
||||
@ -69,7 +66,7 @@ export class BoLActor extends Actor {
|
||||
/* -------------------------------------------- */
|
||||
getBougette() {
|
||||
if (this.type == "character") {
|
||||
let b = duplicate(this.system.bougette)
|
||||
let b = foundry.utils.duplicate(this.system.bougette)
|
||||
b.label = game.i18n.localize(game.bol.config.bougetteState[String(this.system.bougette.value)])
|
||||
b.diceImg = "icons/dice/" + game.bol.config.bougetteDice[String(this.system.bougette.value)] + "black.svg"
|
||||
return b
|
||||
@ -80,7 +77,7 @@ export class BoLActor extends Actor {
|
||||
/* -------------------------------------------- */
|
||||
async rollBougette() {
|
||||
if (this.type == "character") {
|
||||
let attribute = duplicate(this.system.attributes.vigor)
|
||||
let attribute = foundry.utils.duplicate(this.system.attributes.vigor)
|
||||
let rollData = BoLRoll.getCommonRollData(this, "bougette", attribute, undefined)
|
||||
rollData.formula = game.bol.config.bougetteDice[String(this.system.bougette.value)]
|
||||
let r = new BoLDefaultRoll(rollData)
|
||||
@ -91,7 +88,7 @@ export class BoLActor extends Actor {
|
||||
/* -------------------------------------------- */
|
||||
decBougette() {
|
||||
if (this.type == "character") {
|
||||
let bougette = duplicate(this.system.bougette)
|
||||
let bougette = foundry.utils.duplicate(this.system.bougette)
|
||||
bougette.value = Math.max(Number(bougette.value) - 1, 0)
|
||||
this.update({ 'system.bougette': bougette })
|
||||
}
|
||||
@ -145,7 +142,7 @@ export class BoLActor extends Actor {
|
||||
}
|
||||
}
|
||||
get attributes() {
|
||||
let attrList = duplicate(Object.values(this.system.attributes))
|
||||
let attrList = foundry.utils.duplicate(Object.values(this.system.attributes))
|
||||
this.addEffectModifiers(attrList, "system.attributes.")
|
||||
return attrList
|
||||
}
|
||||
@ -199,7 +196,7 @@ export class BoLActor extends Actor {
|
||||
getActiveFightOption() {
|
||||
let it = this.items.find(i => i.type === "feature" && i.system.subtype === "fightoption" && i.system.properties.activated)
|
||||
if (it) {
|
||||
return duplicate(it)
|
||||
return foundry.utils.duplicate(it)
|
||||
}
|
||||
return undefined
|
||||
}
|
||||
@ -224,10 +221,10 @@ export class BoLActor extends Actor {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
incAttributeXP(key) {
|
||||
let attr = duplicate(this.system.attributes[key])
|
||||
let attr = foundry.utils.duplicate(this.system.attributes[key])
|
||||
if (attr) {
|
||||
let nextXP = (attr.value == -1) ? 2 : attr.value + (attr.value + 1)
|
||||
let xp = duplicate(this.system.xp)
|
||||
let xp = foundry.utils.duplicate(this.system.xp)
|
||||
if (xp.total - xp.spent >= nextXP) {
|
||||
attr.value += 1
|
||||
xp.spent += nextXP
|
||||
@ -241,10 +238,10 @@ export class BoLActor extends Actor {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
incAptitudeXP(key) {
|
||||
let apt = duplicate(this.system.aptitudes[key])
|
||||
let apt = foundry.utils.duplicate(this.system.aptitudes[key])
|
||||
if (apt) {
|
||||
let nextXP = (apt.value == -1) ? 1 : apt.value + 2
|
||||
let xp = duplicate(this.system.xp)
|
||||
let xp = foundry.utils.duplicate(this.system.xp)
|
||||
if (xp.total - xp.spent >= nextXP) {
|
||||
apt.value += 1
|
||||
xp.spent += nextXP
|
||||
@ -259,9 +256,9 @@ export class BoLActor extends Actor {
|
||||
incCareerXP(itemId) {
|
||||
let career = this.items.get(itemId)
|
||||
if (career) {
|
||||
career = duplicate(career)
|
||||
career = foundry.utils.duplicate(career)
|
||||
let nextXP = career.system.rank + 1
|
||||
let xp = duplicate(this.system.xp)
|
||||
let xp = foundry.utils.duplicate(this.system.xp)
|
||||
if (xp.total - xp.spent >= nextXP) {
|
||||
xp.spent += nextXP
|
||||
this.update({ [`system.xp`]: xp })
|
||||
@ -280,7 +277,7 @@ export class BoLActor extends Actor {
|
||||
let updates = []
|
||||
|
||||
if (fightOption) {
|
||||
fightOption = duplicate(fightOption)
|
||||
fightOption = foundry.utils.duplicate(fightOption)
|
||||
if (fightOption.system.properties.activated) {
|
||||
state = false
|
||||
} else {
|
||||
@ -326,13 +323,13 @@ export class BoLActor extends Actor {
|
||||
return this.items.filter(i => i.type === "feature" && i.system.subtype === "horoscope")
|
||||
}
|
||||
get boons() {
|
||||
return duplicate(this.items.filter(i => i.type === "feature" && i.system.subtype === "boon") || []);
|
||||
return foundry.utils.duplicate(this.items.filter(i => i.type === "feature" && i.system.subtype === "boon") || []);
|
||||
}
|
||||
get flaws() {
|
||||
return duplicate(this.items.filter(i => i.type === "feature" && i.system.subtype === "flaw") || []);
|
||||
return foundry.utils.duplicate(this.items.filter(i => i.type === "feature" && i.system.subtype === "flaw") || []);
|
||||
}
|
||||
get careers() {
|
||||
return duplicate(this.items.filter(i => i.type === "feature" && i.system.subtype === "career") || [])
|
||||
return foundry.utils.duplicate(this.items.filter(i => i.type === "feature" && i.system.subtype === "career") || [])
|
||||
}
|
||||
get origins() {
|
||||
return this.items.filter(i => i.type === "feature" && i.system.subtype === "origin");
|
||||
@ -414,31 +411,23 @@ export class BoLActor extends Actor {
|
||||
|
||||
get bonusBoons() {
|
||||
let boons = this.items.filter(i => i.type === "feature" && i.system.subtype === "boon" && i.system.properties.isbonusdice)
|
||||
return duplicate(boons || [])
|
||||
return foundry.utils.duplicate(boons || [])
|
||||
}
|
||||
get malusFlaws() {
|
||||
return duplicate(this.items.filter(i => i.type === "feature" && i.system.subtype === "flaw" && i.system.properties.ismalusdice) || []);
|
||||
return foundry.utils.duplicate(this.items.filter(i => i.type === "feature" && i.system.subtype === "flaw" && i.system.properties.ismalusdice) || []);
|
||||
}
|
||||
|
||||
isSorcerer() {
|
||||
if (this.careers.find(item => item.system.properties.sorcerer == true))
|
||||
return true
|
||||
return false
|
||||
return (this.careers.find(item => item.system.properties.sorcerer ))
|
||||
}
|
||||
isAlchemist() {
|
||||
if (this.careers.find(item => item.system.properties.alchemist == true))
|
||||
return true
|
||||
return false
|
||||
return (this.careers.find(item => item.system.properties.alchemist))
|
||||
}
|
||||
isAstrologer() {
|
||||
if (this.careers.find(item => item.system.properties.astrologer == true))
|
||||
return true
|
||||
return false
|
||||
return (this.careers.find(item => item.system.properties.astrologer))
|
||||
}
|
||||
isPriest() {
|
||||
if (this.careers.find(item => item.system.properties.priest == true))
|
||||
return true
|
||||
return false
|
||||
return (this.careers.find(item => item.system.properties.priest))
|
||||
}
|
||||
|
||||
/*-------------------------------------------- */
|
||||
@ -508,7 +497,7 @@ export class BoLActor extends Actor {
|
||||
|
||||
/*-------------------------------------------- */
|
||||
spentAstrologyPoints(points) {
|
||||
let astrology = duplicate(this.system.resources.astrologypoints)
|
||||
let astrology = foundry.utils.duplicate(this.system.resources.astrologypoints)
|
||||
astrology.value -= points
|
||||
astrology.value = Math.max(astrology.value, 0)
|
||||
this.update({ 'system.resources.astrologypoints': astrology })
|
||||
@ -559,8 +548,8 @@ export class BoLActor extends Actor {
|
||||
rollData.horoscopeName = actorHoroscope.name
|
||||
}
|
||||
if (rollData.horoscopeType == "majorgroup") {
|
||||
let rID = randomID(16)
|
||||
let horoscopes = duplicate(game.settings.get("bol", "horoscope-group"))
|
||||
let rID = foundry.utils.randomID(16)
|
||||
let horoscopes = foundry.utils.duplicate(game.settings.get("bol", "horoscope-group"))
|
||||
horoscopes[rID] = {
|
||||
id: rID,
|
||||
name: game.i18n.localize("BOL.ui.groupHoroscope") + this.name,
|
||||
@ -592,7 +581,7 @@ export class BoLActor extends Actor {
|
||||
async spendAlchemyPoint(alchemyId, pcCost) {
|
||||
let alchemy = this.items.get(alchemyId)
|
||||
if (alchemy) {
|
||||
pcCost = Number(pcCost) ?? 0
|
||||
pcCost = Number(pcCost) || 0
|
||||
if (this.system.resources.alchemypoints.value >= pcCost) {
|
||||
let newPC = this.system.resources.alchemypoints.value - pcCost
|
||||
newPC = (newPC < 0) ? 0 : newPC
|
||||
@ -606,7 +595,7 @@ export class BoLActor extends Actor {
|
||||
}
|
||||
/*-------------------------------------------- */
|
||||
getAstrologerBonus() {
|
||||
let astrologer = this.careers.find(item => item.system.properties.astrologer == true)
|
||||
let astrologer = this.careers.find(item => item.system.properties.astrologer)
|
||||
if (astrologer) {
|
||||
return astrologer.system.rank
|
||||
}
|
||||
@ -614,7 +603,7 @@ export class BoLActor extends Actor {
|
||||
}
|
||||
/*-------------------------------------------- */
|
||||
getAlchemistBonus() {
|
||||
let sorcerer = this.careers.find(item => item.system.properties.alchemist == true)
|
||||
let sorcerer = this.careers.find(item => item.system.properties.alchemist)
|
||||
if (sorcerer) {
|
||||
return sorcerer.system.rank
|
||||
}
|
||||
@ -622,7 +611,7 @@ export class BoLActor extends Actor {
|
||||
}
|
||||
/*-------------------------------------------- */
|
||||
getSorcererBonus() {
|
||||
let sorcerer = this.careers.find(item => item.system.properties.sorcerer == true)
|
||||
let sorcerer = this.careers.find(item => item.system.properties.sorcerer )
|
||||
if (sorcerer) {
|
||||
return sorcerer.system.rank
|
||||
}
|
||||
@ -653,7 +642,7 @@ export class BoLActor extends Actor {
|
||||
resources['power'] = this.system.resources.power
|
||||
}
|
||||
if (this.system.chartype == 'adversary') {
|
||||
resources['hero'] = duplicate(this.system.resources.hero)
|
||||
resources['hero'] = foundry.utils.duplicate(this.system.resources.hero)
|
||||
resources['hero'].label = "BOL.resources.villainy"
|
||||
}
|
||||
} else {
|
||||
@ -799,17 +788,17 @@ export class BoLActor extends Actor {
|
||||
let lastHP = await this.getFlag("world", hpID)
|
||||
if (lastHP != this.system.resources.hp.value && game.user.isGM) { // Only GM sends this
|
||||
await this.setFlag("world", hpID, this.system.resources.hp.value)
|
||||
let prone = this.effects.find(ef => ef.label == "EFFECT.StatusProne")
|
||||
let dead = this.effects.find(ef => ef.label == "EFFECT.StatusDead")
|
||||
let prone = this.effects.find(ef => ef.name == game.i18n.localize("EFFECT.StatusProne"))
|
||||
let dead = this.effects.find(ef => ef.name == game.i18n.localize("EFFECT.StatusDead"))
|
||||
if (this.system.resources.hp.value <= 0) {
|
||||
if (!prone) {
|
||||
await this.createEmbeddedDocuments("ActiveEffect", [
|
||||
{ label: 'EFFECT.StatusProne', icon: 'icons/svg/falling.svg', flags: { core: { statusId: 'prone' } } }
|
||||
{ name: game.i18n.localize('EFFECT.StatusProne'), icon: 'icons/svg/falling.svg', statuses: 'prone' }
|
||||
])
|
||||
}
|
||||
if (this.system.resources.hp.value < -5 && !dead) {
|
||||
await this.createEmbeddedDocuments("ActiveEffect", [
|
||||
{ label: 'EFFECT.StatusDead', icon: 'icons/svg/skull.svg', flags: { core: { statusId: 'dead' } } }
|
||||
{ name: game.i18n.localize('EFFECT.StatusDead'), icon: 'icons/svg/skull.svg', statuses: 'dead' }
|
||||
])
|
||||
}
|
||||
ChatMessage.create({
|
||||
@ -836,7 +825,7 @@ export class BoLActor extends Actor {
|
||||
|
||||
/*-------------------------------------------- */
|
||||
storeVitaliteCombat() {
|
||||
this.setFlag("world", "vitalite-before-combat", duplicate(this.system.resources.hp))
|
||||
this.setFlag("world", "vitalite-before-combat", foundry.utils.duplicate(this.system.resources.hp))
|
||||
}
|
||||
/*-------------------------------------------- */
|
||||
async displayRecuperation() {
|
||||
@ -860,7 +849,7 @@ export class BoLActor extends Actor {
|
||||
}
|
||||
/*-------------------------------------------- */
|
||||
async applyRecuperation(recupHP) {
|
||||
let hp = duplicate(this.system.resources.hp)
|
||||
let hp = foundry.utils.duplicate(this.system.resources.hp)
|
||||
//console.log("RECUP !!!!", hp, recupHP)
|
||||
hp.value += Number(recupHP)
|
||||
hp.value = Math.min(hp.value, hp.max)
|
||||
@ -888,10 +877,7 @@ export class BoLActor extends Actor {
|
||||
checkNumeric(myObject) {
|
||||
if (myObject) {
|
||||
for (let key in myObject) {
|
||||
if (myObject[key].value === null) {
|
||||
myObject[key].value = 0
|
||||
}
|
||||
if (myObject[key].value === NaN) {
|
||||
if (myObject[key].value === null || isNaN(myObject[key].value)) {
|
||||
myObject[key].value = 0
|
||||
}
|
||||
}
|
||||
@ -913,7 +899,7 @@ export class BoLActor extends Actor {
|
||||
}
|
||||
|
||||
/*-------------------------------------------- */
|
||||
getInitiativeRank(rollData = undefined, isCombat = false, combatData) {
|
||||
getInitiativeRank(rollData = undefined, isCombat = false, combatData = undefined) {
|
||||
let fvttInit = 4 // Pietaille par defaut
|
||||
if (this.type == 'character') {
|
||||
fvttInit = 5
|
||||
@ -1012,7 +998,7 @@ export class BoLActor extends Actor {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
rollProtection(itemId) {
|
||||
let armor = duplicate(this.items.get(itemId))
|
||||
let armor = foundry.utils.duplicate(this.items.get(itemId))
|
||||
if (armor) {
|
||||
let armorFormula = "max(" + armor.system.properties.soak.formula + ", 0)"
|
||||
let rollArmor = new Roll(armorFormula)
|
||||
@ -1022,9 +1008,9 @@ export class BoLActor extends Actor {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
rollWeaponDamage(itemId) {
|
||||
let weapon = duplicate(this.items.get(itemId))
|
||||
let weapon = foundry.utils.duplicate(this.items.get(itemId))
|
||||
if (weapon) {
|
||||
let r = new BoLDefaultRoll({ id: randomID(16), isSuccess: true, mode: "weapon", weapon: weapon, actorId: this.id, actor: this })
|
||||
let r = new BoLDefaultRoll({ id: foundry.utils.randomID(16), isSuccess: true, mode: "weapon", weapon: weapon, actorId: this.id, actor: this })
|
||||
r.setSuccess(true)
|
||||
r.rollDamage()
|
||||
}
|
||||
@ -1034,7 +1020,7 @@ export class BoLActor extends Actor {
|
||||
toggleEquipItem(item) {
|
||||
const equipable = item.system.properties.equipable;
|
||||
if (equipable) {
|
||||
let itemData = duplicate(item);
|
||||
let itemData = foundry.utils.duplicate(item);
|
||||
itemData.system.worn = !itemData.system.worn;
|
||||
return item.update(itemData);
|
||||
}
|
||||
|
@ -9,7 +9,7 @@ export class BoLVehicleSheet extends ActorSheet {
|
||||
|
||||
/** @override */
|
||||
static get defaultOptions() {
|
||||
return mergeObject(super.defaultOptions, {
|
||||
return foundry.utils.mergeObject(super.defaultOptions, {
|
||||
classes: ["bol", "sheet", "actor"],
|
||||
template: "systems/bol/templates/actor/vehicle-sheet.hbs",
|
||||
width: 860,
|
||||
@ -116,13 +116,12 @@ export class BoLVehicleSheet extends ActorSheet {
|
||||
/** @override */
|
||||
async getData(options) {
|
||||
const data = super.getData(options)
|
||||
const actorData = duplicate(data)
|
||||
let formData = duplicate(data)
|
||||
let formData = foundry.utils.duplicate(data)
|
||||
|
||||
formData.config = game.bol.config
|
||||
formData.name = this.actor.name
|
||||
formData.img = this.actor.img
|
||||
formData.system = duplicate(this.actor.system)
|
||||
formData.system = foundry.utils.duplicate(this.actor.system)
|
||||
formData.weapons = this.actor.vehicleWeapons
|
||||
formData.isGM = game.user.isGM
|
||||
formData.options = this.options
|
||||
@ -148,7 +147,7 @@ export class BoLVehicleSheet extends ActorSheet {
|
||||
// Get the type of item to create.
|
||||
const type = header.dataset.type;
|
||||
// Grab any data associated with this control.
|
||||
const data = duplicate(header.dataset);
|
||||
const data = foundry.utils.duplicate(header.dataset);
|
||||
// Initialize a default name.
|
||||
const name = `New ${type.capitalize()}`;
|
||||
// Prepare the item object.
|
||||
|
@ -14,9 +14,7 @@ import { BoLUtility } from "./system/bol-utility.js"
|
||||
import { BoLCombatManager } from "./system/bol-combat.js"
|
||||
import { BoLTokenHud } from "./system/bol-action-hud.js"
|
||||
import { BoLHotbar } from "./system/bol-hotbar.js"
|
||||
import { BoLAdventureGenerator } from "./system/bol-adventure-generator.js"
|
||||
import { BoLCommands } from "./system/bol-commands.js"
|
||||
import { BoLCharacterSummary } from "./system/bol-character-summary.js"
|
||||
import { BoLRoll } from "./controllers/bol-rolls.js"
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@ -27,6 +25,7 @@ Hooks.once('init', async function () {
|
||||
BoLItem,
|
||||
BoLHotbar,
|
||||
BoLRoll,
|
||||
BoLUtility,
|
||||
macros: Macros,
|
||||
config: BOL
|
||||
};
|
||||
@ -45,7 +44,7 @@ Hooks.once('init', async function () {
|
||||
formula: "2d6+@attributes.mind.value+@aptitudes.init.value",
|
||||
decimals: 2
|
||||
};
|
||||
|
||||
|
||||
// Define custom Entity classes
|
||||
CONFIG.Actor.documentClass = BoLActor;
|
||||
CONFIG.Item.documentClass = BoLItem;
|
||||
@ -64,8 +63,7 @@ Hooks.once('init', async function () {
|
||||
BoLTokenHud.init()
|
||||
BoLHotbar.init()
|
||||
BoLCommands.init()
|
||||
BoLAdventureGenerator.init()
|
||||
|
||||
|
||||
// Preload Handlebars Templates
|
||||
await preloadHandlebarsTemplates();
|
||||
|
||||
@ -77,31 +75,6 @@ Hooks.once('init', async function () {
|
||||
|
||||
});
|
||||
|
||||
/* -------------------------------------------- */
|
||||
// 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)
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
function welcomeMessage() {
|
||||
@ -122,9 +95,13 @@ function welcomeMessage() {
|
||||
Hooks.once('ready', async function () {
|
||||
|
||||
BoLUtility.ready()
|
||||
BoLCharacterSummary.ready()
|
||||
|
||||
registerUsageCount(game.system.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()
|
||||
|
||||
|
@ -19,11 +19,9 @@ export class BoLRoll {
|
||||
static updateApplicableEffects(rollData) {
|
||||
let appEffects = []
|
||||
for (let effect of rollData.bolEffects) {
|
||||
if (effect.system.properties.identifier == "always") {
|
||||
appEffects.push(effect)
|
||||
} else if (effect.system.properties.identifier.includes(rollData.attribute.key)) {
|
||||
appEffects.push(effect)
|
||||
} else if (rollData.aptitude && effect.system.properties.identifier.includes(rollData.aptitude.key)) {
|
||||
if ( (effect.system.properties.identifier == "always") ||
|
||||
(effect.system.properties.identifier.includes(rollData.attribute.key)) ||
|
||||
(rollData.aptitude && effect.system.properties.identifier.includes(rollData.aptitude.key)) ){
|
||||
appEffects.push(effect)
|
||||
}
|
||||
}
|
||||
@ -62,6 +60,7 @@ export class BoLRoll {
|
||||
armorInitMalus: actor.getArmorInitMalus(),
|
||||
horoscopeBonusList: actor.getHoroscopesBonus(),
|
||||
horoscopeMalusList: actor.getHoroscopesMalus(),
|
||||
config: game.bol.config,
|
||||
adv: "0",
|
||||
mod: 0,
|
||||
modRanged: 0,
|
||||
@ -184,7 +183,7 @@ export class BoLRoll {
|
||||
ui.notifications.warn("Unable to find weapon !")
|
||||
return
|
||||
}
|
||||
weapon = duplicate(weapon)
|
||||
weapon = foundry.utils.duplicate(weapon)
|
||||
return this.weaponCheckWithWeapon(actor, weapon)
|
||||
}
|
||||
|
||||
@ -196,7 +195,7 @@ export class BoLRoll {
|
||||
ui.notifications.warn("Unable to find Alchemy !");
|
||||
return;
|
||||
}
|
||||
alchemy = duplicate(alchemy)
|
||||
alchemy = foundry.utils.duplicate(alchemy)
|
||||
let alchemyData = alchemy.system
|
||||
if (alchemyData.properties.pccurrent < alchemyData.properties.pccost) {
|
||||
ui.notifications.warn("Pas assez de Points de Création investis dans la Préparation !")
|
||||
@ -270,7 +269,7 @@ export class BoLRoll {
|
||||
ui.notifications.warn("Impossible de trouver ce sort !")
|
||||
return
|
||||
}
|
||||
spell = duplicate(spell)
|
||||
spell = foundry.utils.duplicate(spell)
|
||||
return this.spellCheckWithSpell(actor, spell)
|
||||
}
|
||||
|
||||
@ -403,7 +402,7 @@ export class BoLRoll {
|
||||
html.find('#attr').change((event) => {
|
||||
let attrKey = event.currentTarget.value
|
||||
let actor = BoLUtility.getActorFromRollData(this.rollData)
|
||||
this.rollData.attribute = duplicate(actor.system.attributes[attrKey])
|
||||
this.rollData.attribute = foundry.utils.duplicate(actor.system.attributes[attrKey])
|
||||
this.rollData.attrValue = actor.system.attributes[attrKey].value
|
||||
this.rollData.bolApplicableEffects = this.updateApplicableEffects(this.rollData)
|
||||
this.updateTotalDice()
|
||||
@ -411,7 +410,7 @@ export class BoLRoll {
|
||||
html.find('#apt').change((event) => {
|
||||
let aptKey = event.currentTarget.value
|
||||
let actor = BoLUtility.getActorFromRollData(this.rollData)
|
||||
this.rollData.aptitude = duplicate(actor.system.aptitudes[aptKey])
|
||||
this.rollData.aptitude = foundry.utils.duplicate(actor.system.aptitudes[aptKey])
|
||||
this.rollData.aptValue = actor.system.aptitudes[aptKey].value
|
||||
this.rollData.bolApplicableEffects = this.updateApplicableEffects(this.rollData)
|
||||
this.updateTotalDice()
|
||||
@ -454,7 +453,7 @@ export class BoLRoll {
|
||||
html.find('#horoscope-bonus-applied').change((event) => {
|
||||
this.rollData.selectedHoroscope = []
|
||||
for (let option of event.currentTarget.selectedOptions) {
|
||||
this.rollData.selectedHoroscope.push(duplicate(this.rollData.horoscopeBonusList[Number(option.index)]))
|
||||
this.rollData.selectedHoroscope.push(foundry.utils.duplicate(this.rollData.horoscopeBonusList[Number(option.index)]))
|
||||
}
|
||||
let horoscopes = $('#horoscope-bonus-applied').val()
|
||||
this.rollData.horoscopeBonus = (!horoscopes || horoscopes.length == 0) ? 0 : horoscopes.length
|
||||
@ -464,7 +463,7 @@ export class BoLRoll {
|
||||
html.find('#horoscope-malus-applied').change((event) => {
|
||||
this.rollData.selectedHoroscope = []
|
||||
for (let option of event.currentTarget.selectedOptions) {
|
||||
this.rollData.selectedHoroscope.push(duplicate(this.rollData.horoscopeBonusList[Number(option.index)]))
|
||||
this.rollData.selectedHoroscope.push(foundry.utils.duplicate(this.rollData.horoscopeBonusList[Number(option.index)]))
|
||||
}
|
||||
let horoscopes = $('#horoscope-malus-applied').val()
|
||||
this.rollData.horoscopeMalus = (!horoscopes || horoscopes.length == 0) ? 0 : horoscopes.length
|
||||
@ -532,7 +531,7 @@ export class BoLRoll {
|
||||
rollData.careerBonus = rollData.careerBonus ?? 0
|
||||
rollData.modRanged = rollData.modRanged ?? 0
|
||||
rollData.mod = rollData.mod ?? 0
|
||||
rollData.id = randomID(16)
|
||||
rollData.id = foundry.utils.randomID(16)
|
||||
rollData.weaponModifier = 0
|
||||
rollData.attackBonusDice = false
|
||||
rollData.armorMalus = 0
|
||||
@ -618,16 +617,15 @@ export class BoLDefaultRoll {
|
||||
if (this.rollData.applyId) {
|
||||
BoLUtility.cleanupButtons(this.rollData.applyId)
|
||||
}
|
||||
this.rollData.optionsId = randomID(16)
|
||||
this.rollData.applyId = randomID(16)
|
||||
this.rollData.optionsId = foundry.utils.randomID(16)
|
||||
this.rollData.applyId = foundry.utils.randomID(16)
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async roll() {
|
||||
|
||||
const r = new Roll(this.rollData.formula)
|
||||
//console.log("Roll formula", this.rollData.formula)
|
||||
await r.roll({ "async": false })
|
||||
await r.roll()
|
||||
|
||||
let diceData = BoLUtility.getDiceData()
|
||||
//console.log("DICEDATA", diceData)
|
||||
@ -690,7 +688,7 @@ export class BoLDefaultRoll {
|
||||
flavor: msgFlavor,
|
||||
speaker: ChatMessage.getSpeaker({ actor: actor }),
|
||||
})
|
||||
this.rollData.roll = duplicate(this.rollData.roll) // Remove object, keep data (v111 ready)
|
||||
this.rollData.roll = foundry.utils.duplicate(this.rollData.roll) // Remove object, keep data (v111 ready)
|
||||
msg.setFlag("world", "bol-roll-data", this.rollData)
|
||||
})
|
||||
}
|
||||
@ -743,7 +741,7 @@ export class BoLDefaultRoll {
|
||||
speaker: ChatMessage.getSpeaker({ actor: actor }),
|
||||
flags: { msgType: "default" }
|
||||
})
|
||||
this.rollData.damageRoll = duplicate(this.rollData.damageRoll)
|
||||
this.rollData.damageRoll = foundry.utils.duplicate(this.rollData.damageRoll)
|
||||
this.rollData.actor = undefined // Cleanup
|
||||
msg.setFlag("world", "bol-roll-data", this.rollData)
|
||||
})
|
||||
|
@ -8,7 +8,7 @@ export class BoLItemSheet extends ItemSheet {
|
||||
|
||||
/** @override */
|
||||
static get defaultOptions() {
|
||||
return mergeObject(super.defaultOptions, {
|
||||
return foundry.utils.mergeObject(super.defaultOptions, {
|
||||
classes: ["bol", "sheet", "item"],
|
||||
template: "systems/bol/templates/item/item-sheet.hbs",
|
||||
width: 650,
|
||||
@ -21,7 +21,7 @@ export class BoLItemSheet extends ItemSheet {
|
||||
/** @override */
|
||||
async getData(options) {
|
||||
const data = super.getData(options)
|
||||
let itemData = duplicate(data.document)
|
||||
let itemData = foundry.utils.duplicate(data.document)
|
||||
data.config = game.bol.config
|
||||
data.item = itemData
|
||||
data.category = itemData.system.category
|
||||
@ -78,7 +78,7 @@ export class BoLItemSheet extends ItemSheet {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
postItem() {
|
||||
let chatData = duplicate(this.item)
|
||||
let chatData = foundry.utils.duplicate(this.item)
|
||||
if (this.actor) {
|
||||
chatData.actor = { id: this.actor.id };
|
||||
}
|
||||
|
@ -1,620 +0,0 @@
|
||||
{
|
||||
"titre1": [
|
||||
{
|
||||
"prefix": "la",
|
||||
"name": "Prophétie"
|
||||
},
|
||||
{
|
||||
"prefix": "les",
|
||||
"name": "Grottes",
|
||||
"isLieu": true
|
||||
},
|
||||
{
|
||||
"prefix": "les",
|
||||
"name": "Collines",
|
||||
"isLieu": true
|
||||
},
|
||||
{
|
||||
"prefix": "les",
|
||||
"name": "Voleurs",
|
||||
"isEnnemi": true,
|
||||
"isCarriere": true
|
||||
},
|
||||
{
|
||||
"prefix": "les",
|
||||
"name": "Sorcier(s)",
|
||||
"isEnnemi": true,
|
||||
"isCarriere": true
|
||||
},
|
||||
{
|
||||
"prefix": "la",
|
||||
"name": "Bataille"
|
||||
},
|
||||
{
|
||||
"prefix": "la",
|
||||
"name": "Légende"
|
||||
},
|
||||
{
|
||||
"prefix": "la",
|
||||
"name": "Tour",
|
||||
"isLieu": true
|
||||
},
|
||||
{
|
||||
"prefix": "l'",
|
||||
"name": "Ile",
|
||||
"isLieu": true
|
||||
},
|
||||
{
|
||||
"prefix": "les",
|
||||
"name": "Pirates",
|
||||
"isEnnemi": true,
|
||||
"isCarriere": true
|
||||
},
|
||||
{
|
||||
"prefix": "les",
|
||||
"name": "Druide(s)",
|
||||
"isEnnemi": true,
|
||||
"isCarriere": true
|
||||
},
|
||||
{
|
||||
"prefix": "le",
|
||||
"name": "Navire",
|
||||
"isCarriere": false
|
||||
},
|
||||
{
|
||||
"prefix": "la",
|
||||
"name": "Couronne",
|
||||
"isObjet": true
|
||||
},
|
||||
{
|
||||
"prefix": "la",
|
||||
"name": "Cité",
|
||||
"isLieu": true
|
||||
},
|
||||
{
|
||||
"prefix": "le",
|
||||
"name": "Désert",
|
||||
"isLieu": true
|
||||
},
|
||||
{
|
||||
"prefix": "les",
|
||||
"name": "Bête(s)",
|
||||
"isEnnemi": true,
|
||||
"isLieu": false
|
||||
},
|
||||
{
|
||||
"prefix": "les",
|
||||
"name": "Démon(s)",
|
||||
"isEnnemi": true,
|
||||
"isLieu": false
|
||||
},
|
||||
{
|
||||
"prefix": "le",
|
||||
"name": "Trésor",
|
||||
"isObjet": true
|
||||
},
|
||||
{
|
||||
"prefix": "l'",
|
||||
"name": "Epée",
|
||||
"isObjet": true
|
||||
},
|
||||
{
|
||||
"prefix": "l'",
|
||||
"name": "Arène",
|
||||
"isLieu": true
|
||||
},
|
||||
{
|
||||
"prefix": "les",
|
||||
"name": "Marais",
|
||||
"isLieu": true
|
||||
},
|
||||
{
|
||||
"prefix": "les",
|
||||
"name": "Seigneur(s)",
|
||||
"isEnnemi": true,
|
||||
"isLieu": false
|
||||
},
|
||||
{
|
||||
"prefix": "les",
|
||||
"name": "Assassin(s)",
|
||||
"isEnnemi": true,
|
||||
"isCarriere": true
|
||||
},
|
||||
{
|
||||
"prefix": "le",
|
||||
"name": "Culte",
|
||||
"isEnnemi": true,
|
||||
"isCarriere": false
|
||||
},
|
||||
{
|
||||
"prefix": "le",
|
||||
"name": "Secret",
|
||||
"isCarriere": false
|
||||
},
|
||||
{
|
||||
"prefix": "le",
|
||||
"name": "Palais",
|
||||
"isLieu": true
|
||||
},
|
||||
{
|
||||
"prefix": "la",
|
||||
"name": "Mer",
|
||||
"isLieu": true
|
||||
},
|
||||
{
|
||||
"prefix": "les",
|
||||
"name": "Barbares",
|
||||
"isEnnemi": true,
|
||||
"isCarriere": true
|
||||
},
|
||||
{
|
||||
"prefix": "le",
|
||||
"name": "Manuscrit",
|
||||
"isObjet": true
|
||||
},
|
||||
{
|
||||
"prefix": "les",
|
||||
"name": "Plaines",
|
||||
"isLieu": true
|
||||
},
|
||||
{
|
||||
"prefix": "le",
|
||||
"name": "Sang",
|
||||
"isLieu": false
|
||||
},
|
||||
{
|
||||
"prefix": "la",
|
||||
"name": "Tombe",
|
||||
"isLieu": true
|
||||
},
|
||||
{
|
||||
"prefix": "la",
|
||||
"name": "Forêt",
|
||||
"isLieu": true
|
||||
},
|
||||
{
|
||||
"prefix": "les",
|
||||
"name": "Esclaves",
|
||||
"isEnnemi": true,
|
||||
"isCarriere": true
|
||||
},
|
||||
{
|
||||
"prefix": "les",
|
||||
"name": "Mendiant(s)",
|
||||
"isEnnemi": true,
|
||||
"isCarriere": true
|
||||
},
|
||||
{
|
||||
"prefix": "les",
|
||||
"name": "Montagnes",
|
||||
"isCarriereLieu": true
|
||||
}
|
||||
],
|
||||
"titre2": [
|
||||
{
|
||||
"prefix": "du",
|
||||
"name": "mal"
|
||||
},
|
||||
{
|
||||
"prefix": "et le",
|
||||
"name": "Roi Maussade",
|
||||
"isEnnemi": true
|
||||
},
|
||||
{
|
||||
"prefix": "et la",
|
||||
"name": "pestilence",
|
||||
"isEnnemi": false
|
||||
},
|
||||
{
|
||||
"prefix": "de",
|
||||
"name": "Malakut",
|
||||
"isLieu": true
|
||||
},
|
||||
{
|
||||
"prefix": "d'",
|
||||
"name": "Halakh",
|
||||
"isLieu": true
|
||||
},
|
||||
{
|
||||
"prefix": "d'",
|
||||
"name": "Hyrdral",
|
||||
"isLieu": true
|
||||
},
|
||||
{
|
||||
"prefix": "des",
|
||||
"name": "esprits abandonnés",
|
||||
"isEnnemi": true
|
||||
},
|
||||
{
|
||||
"prefix": "du",
|
||||
"name": "chaos",
|
||||
"isEnnemi": true
|
||||
},
|
||||
{
|
||||
"prefix": "de la",
|
||||
"name": "folie",
|
||||
"isEnnemi": false
|
||||
},
|
||||
{
|
||||
"prefix": "de",
|
||||
"name": "Satarla",
|
||||
"isLieu": true
|
||||
},
|
||||
{
|
||||
"prefix": "d'",
|
||||
"name": "Urceb",
|
||||
"isLieu": true
|
||||
},
|
||||
{
|
||||
"prefix": "des",
|
||||
"name": "Terres Désolées",
|
||||
"isLieu": true
|
||||
},
|
||||
{
|
||||
"prefix": "de la",
|
||||
"name": "mort",
|
||||
"isLieu": false
|
||||
},
|
||||
{
|
||||
"prefix": "des",
|
||||
"name": "idoles impies",
|
||||
"isObjet": true
|
||||
},
|
||||
{
|
||||
"prefix": "des",
|
||||
"name": "ténèbres",
|
||||
"isObjet": false
|
||||
},
|
||||
{
|
||||
"prefix": "de",
|
||||
"name": "Parsool",
|
||||
"isLieu": true
|
||||
},
|
||||
{
|
||||
"prefix": "de",
|
||||
"name": "Qiddesh",
|
||||
"isLieu": true
|
||||
},
|
||||
{
|
||||
"prefix": "de",
|
||||
"name": "Kasht",
|
||||
"isLieu": true
|
||||
},
|
||||
{
|
||||
"prefix": "de la ",
|
||||
"name": "falalité",
|
||||
"isLieu": false
|
||||
},
|
||||
{
|
||||
"prefix": "du",
|
||||
"name": "Nécromant",
|
||||
"isEnnemi": true
|
||||
},
|
||||
{
|
||||
"prefix": "du",
|
||||
"name": "Néant",
|
||||
"isEnnemi": false
|
||||
},
|
||||
{
|
||||
"prefix": "de",
|
||||
"name": "Lysor",
|
||||
"isLieu": true
|
||||
},
|
||||
{
|
||||
"prefix": "d'",
|
||||
"name": "Oosal",
|
||||
"isLieu": true
|
||||
},
|
||||
{
|
||||
"prefix": "de",
|
||||
"name": "Thulé",
|
||||
"isLieu": true
|
||||
},
|
||||
{
|
||||
"prefix": "du",
|
||||
"name": "désespoir",
|
||||
"isLieu": false
|
||||
},
|
||||
{
|
||||
"prefix": "du",
|
||||
"name": "Dieu Bouffi",
|
||||
"isEnnemi": true
|
||||
},
|
||||
{
|
||||
"prefix": "du",
|
||||
"name": "silence",
|
||||
"isEnnemi": false
|
||||
},
|
||||
{
|
||||
"prefix": "de",
|
||||
"name": "Tyrus",
|
||||
"isLieu": true
|
||||
},
|
||||
{
|
||||
"prefix": "d'",
|
||||
"name": "Ygddar",
|
||||
"isLieu": true
|
||||
},
|
||||
{
|
||||
"prefix": "de",
|
||||
"name": "la Côte de Feu",
|
||||
"isLieu": true
|
||||
},
|
||||
{
|
||||
"prefix": "des",
|
||||
"name": "ombres cruelles",
|
||||
"isLieu": false
|
||||
},
|
||||
{
|
||||
"prefix": "de la",
|
||||
"name": "poussière écarlate",
|
||||
"isLieu": false
|
||||
},
|
||||
{
|
||||
"prefix": "du",
|
||||
"name": "destin",
|
||||
"isLieu": false
|
||||
},
|
||||
{
|
||||
"prefix": "du",
|
||||
"name": "Valgard",
|
||||
"isLieu": true
|
||||
},
|
||||
{
|
||||
"prefix": "de",
|
||||
"name": "Qeb",
|
||||
"isLieu": true
|
||||
},
|
||||
{
|
||||
"prefix": "de",
|
||||
"name": "la Mer Inconnue",
|
||||
"isLieu": true
|
||||
}
|
||||
],
|
||||
"mission": [
|
||||
{
|
||||
"name": "d’attaquer un lieu."
|
||||
},
|
||||
{
|
||||
"name": "de détruire un certain objet."
|
||||
},
|
||||
{
|
||||
"name": "de kidnapper quelqu’un."
|
||||
},
|
||||
{
|
||||
"name": "d’obtenir une certaine chose."
|
||||
},
|
||||
{
|
||||
"name": "d’explorer un lieu."
|
||||
},
|
||||
{
|
||||
"name": "de sauver une personne."
|
||||
},
|
||||
{
|
||||
"name": "d’échapper à quelqu’un."
|
||||
},
|
||||
{
|
||||
"name": "de fuir un lieu."
|
||||
},
|
||||
{
|
||||
"name": "de trouver une personne."
|
||||
},
|
||||
{
|
||||
"name": "de trouver un lieu."
|
||||
},
|
||||
{
|
||||
"name": "de trouver chose."
|
||||
},
|
||||
{
|
||||
"name": "de protéger une personne."
|
||||
},
|
||||
{
|
||||
"name": "de protéger un lieu."
|
||||
},
|
||||
{
|
||||
"name": "de protéger chose."
|
||||
},
|
||||
{
|
||||
"name": "de dérober une certaine chose."
|
||||
},
|
||||
{
|
||||
"name": "de tuer une personne."
|
||||
},
|
||||
{
|
||||
"name": "de détruire une chose."
|
||||
},
|
||||
{
|
||||
"name": "d’escorter une personne."
|
||||
},
|
||||
{
|
||||
"name": "de transporter une chose."
|
||||
}
|
||||
],
|
||||
"carriere": [
|
||||
"Noble",
|
||||
"Acrobate",
|
||||
"Sorcier",
|
||||
"Alchimiste",
|
||||
"Esclave",
|
||||
"Courtisane",
|
||||
"Médecin",
|
||||
"Marin",
|
||||
"Érudit",
|
||||
"Mendiant",
|
||||
"Scribe",
|
||||
"Poète",
|
||||
"Forgeron",
|
||||
"Prêtre",
|
||||
"Danseur",
|
||||
"Marchand",
|
||||
"Pilote des airs",
|
||||
"Fermier"
|
||||
],
|
||||
"lieux1": [
|
||||
"Palais",
|
||||
"Donjon",
|
||||
"Ruines",
|
||||
"Sanctuaire",
|
||||
"Crypte",
|
||||
"Forteresse",
|
||||
"Tombeau",
|
||||
"Grottes",
|
||||
"Tour",
|
||||
"Antre",
|
||||
"Île",
|
||||
"Montagne"
|
||||
],
|
||||
"lieux2": [
|
||||
"de la mort.",
|
||||
"de la destruction.",
|
||||
"du désespoir.",
|
||||
"des morts-vivants.",
|
||||
"du sage.",
|
||||
"de l'or.",
|
||||
"de la tempête.",
|
||||
"de la terreur.",
|
||||
"descannibales.",
|
||||
"du désespoir.",
|
||||
"des Rois-Sorciers.",
|
||||
"des âmes perdues."
|
||||
],
|
||||
"objets1": [
|
||||
"Livre",
|
||||
"Anneau",
|
||||
"Coupe",
|
||||
"Joyau",
|
||||
"Casque",
|
||||
"Parchemin",
|
||||
"Couronne",
|
||||
"Sceau",
|
||||
"Cristal",
|
||||
"Crâne",
|
||||
"Épée",
|
||||
"Bâton"
|
||||
],
|
||||
"objets2": [
|
||||
"des sept sceaux.",
|
||||
"de l'éternelle douleur.",
|
||||
"du sang bouillonnant.",
|
||||
"de la mort hideuse.",
|
||||
"du pouvoir suprême.",
|
||||
"du serpent sournois.",
|
||||
"du plaisir infini.",
|
||||
"de la richesse illusoire.",
|
||||
"de la cruelle trahison.",
|
||||
"du froid funeste.",
|
||||
"des spectres inapaisés.",
|
||||
"du mystère."
|
||||
],
|
||||
"motivation": [
|
||||
"c’est le genre de choses que fait Krongar.",
|
||||
"sinon il finira en prison.",
|
||||
"il est victime d’un chantage.",
|
||||
"il a trouvé une carte.",
|
||||
"il a été maudit.",
|
||||
"il a eu une vision (peut-être un soir de beuverie).",
|
||||
"il a été engagé pour le faire.",
|
||||
"il a surpris une conversation.",
|
||||
"il a lu quelque chose dans un ancien manuscrit.",
|
||||
"il est tombé accidentellement dans cette affaire.",
|
||||
"il cherche à assouvir une vengeance.",
|
||||
"il a ,été dupé."
|
||||
],
|
||||
"rival": [
|
||||
"un poète obsédé.",
|
||||
"un prince (esse) guerrier.",
|
||||
"un ministre corrompu.",
|
||||
"un sectateur fanatique.",
|
||||
"un noble arrogant.",
|
||||
"un étrange alchimiste.",
|
||||
"un sorcier maléfique.",
|
||||
"un druide cruel.",
|
||||
"un marchand cupide.",
|
||||
"un brigand sans foi ni loi.",
|
||||
"un démon sanguinaire.",
|
||||
"un fantôme errant."
|
||||
],
|
||||
"dieu": [
|
||||
"Tharungozoth",
|
||||
"Yrzlak",
|
||||
"Dyr",
|
||||
"Knothakon",
|
||||
"Hadron",
|
||||
"Shazzadion",
|
||||
"Chiomalla",
|
||||
"Sa’Tel",
|
||||
"Morgazzon",
|
||||
"Hurm",
|
||||
"Afyra",
|
||||
"Grondil",
|
||||
"Zaggath",
|
||||
"Zalkyr",
|
||||
"Fillana",
|
||||
"Lilandra",
|
||||
"Zylidith",
|
||||
"Quathoomar",
|
||||
"Iondal",
|
||||
"Piandra",
|
||||
"Nemmereth",
|
||||
"Charkond",
|
||||
"Karyzon",
|
||||
"Zarymphyxos",
|
||||
"Kryphondus"
|
||||
],
|
||||
"complique1": [
|
||||
"c’est toujours comme ça avec Krongar !",
|
||||
"la situation réveille chez Krongar des peurs ancestrales.",
|
||||
"un usurier et ses hommes de main veulent récupérer leur argent.",
|
||||
"une grave épidémie ravage la région.",
|
||||
"Krongar est traqué pour un crime passé.",
|
||||
"les actions d’un groupe de rebelles rendent la région peu sûre.",
|
||||
"des hordes de guerriers envahissent la région pour la conquérir",
|
||||
"un(e) ancien(ne) admirateur (trice) éconduit(e) cherche à se venger.",
|
||||
"la loi locale est très sévère et interdit une chose nécessaire à l’accomplissement de la mission.",
|
||||
"un(e) admirateur (trice) inattendu(e) déclare son amour.",
|
||||
"un rival qui fut défait autrefois réapparaît et met son grain de sel.",
|
||||
"la folie de Morgazzon fait des ravages dans la région."
|
||||
],
|
||||
"obstacle": [
|
||||
"d’un ancien secret.",
|
||||
"d’un long voyage.",
|
||||
"d’une malédiction.",
|
||||
"d’un voleur rusé.",
|
||||
"d’une forte troupe de soldats.",
|
||||
"d’un énorme monstre.",
|
||||
"d’une horde de monstres.",
|
||||
"d’un manque de temps.",
|
||||
"de gardes et de pièges magiques.",
|
||||
"d’une catastrophe naturelle sur le point de se produire.",
|
||||
"d’une énigme à résoudre.",
|
||||
"d’une bataille à gagner."
|
||||
],
|
||||
"retournement": [
|
||||
"L’ennemi est en fait Krongar lui-même, venu d’une autre réalité !",
|
||||
"Toute cette histoire était un piège machiavélique !",
|
||||
"L’ennemi est en fait un vieil ami ou un allié qui a comploté dans l’ombre !",
|
||||
"Krongar est contraint de s’associer à un rival pour accomplir la mission !",
|
||||
"Tout ce qui semblait ordinaire se révèle en fait surnaturel !",
|
||||
"L’ennemi est en fait le père, la mère, le frère ou la sœur de Krongar !",
|
||||
"Une toute autre mission attend en fait notre héros !",
|
||||
"Parfois, il n’y a pas de retournement de situation !",
|
||||
"i la mission est accomplie, cela entraînera de terribles répercussions !",
|
||||
"Le destin offre à Krongar une chance d’améliorer les choses, et il est renvoyé dans le temps au début de l’aventure. La saga recommence, mais cette fois sans retournement de situation !",
|
||||
"Un ami ou un allié a trahi Krongar !",
|
||||
"Les dieux sont furieux et lui imposent d'autres tâches"
|
||||
],
|
||||
"recompense": [
|
||||
"Rien du tout ! On s’est joué de lui !",
|
||||
"Beaucoup moins qu’escompté.",
|
||||
"Beaucoup moins qu’escompté, mais il gagne au moins la reconnaissance d’une personne haut placée.",
|
||||
"Beaucoup moins qu’escompté, mais il est marqué par les dieux (avantage).",
|
||||
"La récompense escomptée.",
|
||||
"La récompense escomptée, et il est marqué par les dieux (avantage).",
|
||||
"La récompense escomptée, ainsi que la reconnaissance d’une personne haut placée.",
|
||||
"Plus qu’escompté.",
|
||||
"Plus qu’escompté, ainsi que la reconnaissance d’une personne haut placée.",
|
||||
"Plus qu’escompté, et il est marqué par les dieux (avantage).",
|
||||
"Plus qu’escompté, ainsi que la reconnaissance d’une personne haut placée, et il est marqué par les dieux (avantage).",
|
||||
"Une promotion... Longue vie au roi Krongar !"
|
||||
]
|
||||
}
|
@ -33,9 +33,9 @@ export class BoLTokenHud {
|
||||
let action = hudData.actionsList[actionIndex]
|
||||
const actionItem = actor.items.get(action._id)
|
||||
if (actionItem.system.subtype == "weapon") {
|
||||
BoLRoll.weaponCheckWithWeapon(hudData.actor, duplicate(actionItem))
|
||||
BoLRoll.weaponCheckWithWeapon(hudData.actor, foundry.utils.duplicate(actionItem))
|
||||
} else if (actionItem.system.subtype == "fightoption") {
|
||||
let chatData = duplicate(actionItem)
|
||||
let chatData = foundry.utils.duplicate(actionItem)
|
||||
if (actionItem.actor) {
|
||||
chatData.actor = { id: actionItem.actor._id };
|
||||
}
|
||||
|
@ -1,86 +0,0 @@
|
||||
/* -------------------------------------------- */
|
||||
import { BoLUtility } from "./bol-utility.js";
|
||||
|
||||
/* -------------------------------------------- */
|
||||
export class BoLAdventureGenerator {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static async init() {
|
||||
this.adventureData = await fetchJsonWithTimeout("systems/bol/module/system/adventure_data.json")
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static async createAdventure() {
|
||||
let roll1 = new Roll("1d" + this.adventureData.titre1.length).evaluate({ async: false })
|
||||
let roll2 = new Roll("1d" + this.adventureData.titre2.length).evaluate({ async: false })
|
||||
|
||||
let p1 = this.adventureData.titre1[roll1.result - 1]
|
||||
let p2 = this.adventureData.titre2[roll2.result - 1]
|
||||
|
||||
let story = {}
|
||||
story.title = "Krongar et " + p1.prefix + " " + p1.name + " " + p2.prefix + " " + p2.name
|
||||
|
||||
let rollM = new Roll("1d" + this.adventureData.mission.length).evaluate({ async: false })
|
||||
story.mission = "La mission de Krongar est de " + this.adventureData.mission[rollM.result - 1].name
|
||||
|
||||
if (!p1.isCarriere && !p2.isCarriere) {
|
||||
let rollC = new Roll("1d" + this.adventureData.carriere.length).evaluate({ async: false })
|
||||
story.carriere = "Une carrière : " + this.adventureData.carriere[rollC.result - 1]
|
||||
}
|
||||
|
||||
if (!p1.isLieu && !p2.isLieu) {
|
||||
let rollL1 = new Roll("1d" + this.adventureData.lieux1.length).evaluate({ async: false })
|
||||
let rollL2 = new Roll("1d" + this.adventureData.lieux2.length).evaluate({ async: false })
|
||||
story.lieu = "Un lieu : " + this.adventureData.lieux1[rollL1.result - 1] + " " + this.adventureData.lieux2[rollL2.result - 1]
|
||||
}
|
||||
|
||||
if (!p1.isObjet && !p2.isObjet) {
|
||||
let rollO1 = new Roll("1d" + this.adventureData.objets1.length).evaluate({ async: false })
|
||||
let rollO2 = new Roll("1d" + this.adventureData.objets2.length).evaluate({ async: false })
|
||||
story.objet = "Un objet : " + this.adventureData.objets1[rollO1.result - 1] + " " + this.adventureData.objets2[rollO2.result - 1]
|
||||
}
|
||||
|
||||
let rollMOT = new Roll("1d" + this.adventureData.motivation.length).evaluate({ async: false })
|
||||
story.motivation = "Krongar entreprend cette mission parce que " + this.adventureData.motivation[rollMOT.result - 1]
|
||||
|
||||
if (!p1.isEnnemi && !p2.isEnnemi) {
|
||||
let rollE = new Roll("1d" + this.adventureData.rival.length).evaluate({ async: false })
|
||||
story.rival = "Un rival : " + this.adventureData.rival[rollE.result - 1]
|
||||
}
|
||||
|
||||
let rollDieu = new Roll("1d6").evaluate({ async: false })
|
||||
if (rollDieu.result == 6) {
|
||||
rollDieu = new Roll("1d" + this.adventureData.dieu.length).evaluate({ async: false })
|
||||
story.dieu = "Un Dieu est impliqué : " + this.adventureData.dieu[rollDieu.result - 1]
|
||||
}
|
||||
|
||||
let rollComp = new Roll("1d6").evaluate({ async: false })
|
||||
if (rollComp.result >= 5) {
|
||||
rollComp = new Roll("1d" + this.adventureData.complique1.length).evaluate({ async: false })
|
||||
story.complication = "Une complication : " + this.adventureData.complique1[rollComp.result - 1]
|
||||
}
|
||||
|
||||
let rollObs = new Roll("1d6").evaluate({ async: false })
|
||||
if (rollObs.result >= 5) {
|
||||
rollObs = new Roll("1d" + this.adventureData.obstacle.length).evaluate({ async: false })
|
||||
story.obstacle = "Un obstacle : " + this.adventureData.obstacle[rollObs.result - 1]
|
||||
}
|
||||
|
||||
let rollRet = new Roll("1d6").evaluate({ async: false })
|
||||
if (rollRet.result == 6) {
|
||||
rollRet = new Roll("1d" + this.adventureData.retournement.length).evaluate({ async: false })
|
||||
story.retournement = "Un retournement : " + this.adventureData.retournement[rollRet.result - 1]
|
||||
}
|
||||
|
||||
let rollRec = new Roll("1d" + this.adventureData.recompense.length).evaluate({ async: false })
|
||||
story.recompense = "Pour sa peine, Krongar reçoit " + this.adventureData.recompense[rollRec.result - 1]
|
||||
|
||||
ChatMessage.create({
|
||||
alias: this.name,
|
||||
whisper: BoLUtility.getUsers(user => user.isGM),
|
||||
content: await renderTemplate('systems/bol/templates/chat/chat-adventure-result.hbs',
|
||||
{ name: "Aventure !", img: "icons/commodities/gems/gem-cluster-red.webp", story : story})
|
||||
})
|
||||
|
||||
}
|
||||
}
|
@ -40,14 +40,14 @@ export class BoLCalendar extends Application {
|
||||
constructor() {
|
||||
super();
|
||||
// position
|
||||
this.calendarPos = duplicate(game.settings.get("bol", "calendar-pos"));
|
||||
this.calendarPos = foundry.utils.duplicate(game.settings.get("bol", "calendar-pos"));
|
||||
if (this.calendarPos == undefined || this.calendarPos.top == undefined) {
|
||||
this.calendrierPos = BoLCalendar.createCalendarPos()
|
||||
game.settings.set("bol", "calendar-pos", this.calendarPos)
|
||||
}
|
||||
|
||||
// Calendar
|
||||
this.calendar = duplicate(game.settings.get("bol", "calendar") ?? BoLCalendar.getCalendar(0));
|
||||
this.calendar = foundry.utils.duplicate(game.settings.get("bol", "calendar") ?? BoLCalendar.getCalendar(0));
|
||||
this.calendar.year = this.calendar.year || 900
|
||||
this.calendar.month = 0
|
||||
|
||||
@ -58,7 +58,7 @@ export class BoLCalendar extends Application {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static get defaultOptions() {
|
||||
return mergeObject(super.defaultOptions, {
|
||||
return foundry.utils.mergeObject(super.defaultOptions, {
|
||||
template: "systems/bol/templates/calendar-template.html",
|
||||
popOut: false,
|
||||
resizable: false
|
||||
@ -95,11 +95,11 @@ export class BoLCalendar extends Application {
|
||||
this.calendar.hour -= 24
|
||||
await this.incrementDay()
|
||||
}
|
||||
game.settings.set("bol", "calendar", duplicate(this.calendar));
|
||||
game.settings.set("bol", "calendar", foundry.utils.duplicate(this.calendar));
|
||||
// Notification aux joueurs // TODO: replace with Hook on game settings update
|
||||
game.socket.emit(SYSTEM_SOCKET_ID, {
|
||||
msg: "msg_sync_time",
|
||||
data: duplicate(this.calendrier)
|
||||
data: foundry.utils.duplicate(this.calendrier)
|
||||
});
|
||||
}
|
||||
|
||||
@ -112,7 +112,7 @@ export class BoLCalendar extends Application {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
syncPlayerTime(calendrier) {
|
||||
this.calendrier = duplicate(calendrier); // Local copy update
|
||||
this.calendrier = foundry.utils.duplicate(calendrier); // Local copy update
|
||||
this.updateDisplay();
|
||||
}
|
||||
|
||||
@ -123,7 +123,7 @@ export class BoLCalendar extends Application {
|
||||
}
|
||||
this.calendrier.heureRdD = indexHeure;
|
||||
this.calendrier.minutesRelative = 0;
|
||||
game.settings.set(SYSTEM_RDD, "calendrier", duplicate(this.calendrier));
|
||||
game.settings.set(SYSTEM_RDD, "calendrier", foundry.utils.duplicate(this.calendrier));
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@ -312,13 +312,13 @@ export class BoLCalendar extends Application {
|
||||
this.calendrier.jour = Number(calendrierData.jourMois) - 1;
|
||||
this.calendrier.moisRdD = RdDCalendrier.getChiffreFromSigne(calendrierData.moisKey);
|
||||
this.calendrier.heureRdD = RdDCalendrier.getChiffreFromSigne(calendrierData.heureKey);
|
||||
game.settings.set(SYSTEM_RDD, "calendrier", duplicate(this.calendrier));
|
||||
game.settings.set(SYSTEM_RDD, "calendrier", foundry.utils.duplicate(this.calendrier));
|
||||
|
||||
await this.rebuildListeNombreAstral();
|
||||
|
||||
game.socket.emit(SYSTEM_SOCKET_ID, {
|
||||
msg: "msg_sync_time",
|
||||
data: duplicate(this.calendrier)
|
||||
data: foundry.utils.duplicate(this.calendrier)
|
||||
});
|
||||
|
||||
this.updateDisplay();
|
||||
@ -326,7 +326,7 @@ export class BoLCalendar extends Application {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async showCalendarEditor() {
|
||||
let calendrierData = duplicate(this.fillCalendrierData());
|
||||
let calendrierData = foundry.utils.duplicate(this.fillCalendrierData());
|
||||
if (this.editeur == undefined) {
|
||||
calendrierData.jourMoisOptions = RdDCalendrier.buildJoursMois();
|
||||
calendrierData.heuresOptions = [0, 1];
|
||||
@ -344,7 +344,7 @@ export class BoLCalendar extends Application {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async showAstrologieEditor() {
|
||||
let calendrierData = duplicate(this.fillCalendrierData());
|
||||
let calendrierData = foundry.utils.duplicate(this.fillCalendrierData());
|
||||
let astrologieArray = [];
|
||||
this.listeNombreAstral = this.listeNombreAstral || [];
|
||||
for (let astralData of this.listeNombreAstral) {
|
||||
@ -353,7 +353,7 @@ export class BoLCalendar extends Application {
|
||||
let actor = game.actors.get(vf.actorId);
|
||||
vf.actorName = (actor) ? actor.name : "Inconnu";
|
||||
}
|
||||
astrologieArray.push(duplicate(astralData));
|
||||
astrologieArray.push(foundry.utils.duplicate(astralData));
|
||||
}
|
||||
let heuresParActeur = {};
|
||||
for (let actor of game.actors) {
|
||||
@ -448,7 +448,7 @@ export class BoLCalendar extends Application {
|
||||
game.system.rdd.calendrier.calendrierPos.top = yPos;
|
||||
game.system.rdd.calendrier.calendrierPos.left = xPos;
|
||||
if (game.user.isGM) {
|
||||
game.settings.set(SYSTEM_RDD, "calendrier-pos", duplicate(game.system.rdd.calendrier.calendrierPos));
|
||||
game.settings.set(SYSTEM_RDD, "calendrier-pos", foundry.utils.duplicate(game.system.rdd.calendrier.calendrierPos));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -456,7 +456,7 @@ export class BoLCalendar extends Application {
|
||||
game.system.rdd.calendrier.calendrierPos.top = 200;
|
||||
game.system.rdd.calendrier.calendrierPos.left = 200;
|
||||
if (game.user.isGM) {
|
||||
game.settings.set(SYSTEM_RDD, "calendrier-pos", duplicate(game.system.rdd.calendrier.calendrierPos));
|
||||
game.settings.set(SYSTEM_RDD, "calendrier-pos", foundry.utils.duplicate(game.system.rdd.calendrier.calendrierPos));
|
||||
}
|
||||
this.setPos(game.system.rdd.calendrier.calendrierPos);
|
||||
}
|
||||
|
@ -1,162 +0,0 @@
|
||||
/* -------------------------------------------- */
|
||||
import { BoLUtility } from "./bol-utility.js";
|
||||
import { BoLRoll } from "../controllers/bol-rolls.js";
|
||||
|
||||
/* -------------------------------------------- */
|
||||
export class BoLCharacterSummary extends Application {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static displayPCSummary(){
|
||||
game.bol.charSummary.render(true)
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
updatePCSummary(){
|
||||
if ( this.rendered) {
|
||||
this.render(true)
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static createSummaryPos() {
|
||||
return { top: 200, left: 200 };
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static ready() {
|
||||
if ( !game.user.isGM ) { // Uniquement si GM
|
||||
return
|
||||
}
|
||||
let charSummary = new BoLCharacterSummary()
|
||||
game.bol.charSummary = charSummary
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
constructor() {
|
||||
super();
|
||||
//game.settings.set("world", "character-summary-data", {npcList: [], x:0, y:0})
|
||||
this.settings = game.settings.get("world", "character-summary-data")
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static get defaultOptions() {
|
||||
return mergeObject(super.defaultOptions, {
|
||||
template: "systems/bol/templates/apps/character-summary-template.html",
|
||||
popOut: true,
|
||||
resizable: true,
|
||||
dragDrop: [{ dragSelector: ".items-list .item", dropSelector: null }],
|
||||
classes: ["bol", "dialog"], width: 820, height: 'fit-content'
|
||||
})
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getData() {
|
||||
let formData = super.getData();
|
||||
|
||||
formData.pcs = game.actors.filter( ac => ac.type == "character" && ac.hasPlayerOwner )
|
||||
formData.npcs = []
|
||||
let newList = []
|
||||
let toUpdate = false
|
||||
for( let actorId of this.settings.npcList ) {
|
||||
let actor = game.actors.get(actorId)
|
||||
if (actor) {
|
||||
formData.npcs.push( actor )
|
||||
newList.push(actorId)
|
||||
} else {
|
||||
toUpdate = true
|
||||
}
|
||||
}
|
||||
formData.config = game.bol.config
|
||||
formData.horoscopeGroupList = game.settings.get("bol", "horoscope-group")
|
||||
|
||||
if ( toUpdate ) {
|
||||
this.settings.npcList = newList
|
||||
//console.log("Going to update ...", this.settings)
|
||||
game.settings.set("world", "character-summary-data", this.settings)
|
||||
}
|
||||
|
||||
return formData
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
updateNPC() {
|
||||
game.settings.set("world", "character-summary-data", game.bol.charSummary.settings)
|
||||
game.bol.charSummary.close()
|
||||
setTimeout( function() { game.bol.charSummary.render(true)}, 500)
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async _onDrop(event) {
|
||||
//console.log("Dragged data are : ", dragData)
|
||||
let data = event.dataTransfer.getData('text/plain')
|
||||
let dataItem = JSON.parse( data)
|
||||
let actor = fromUuidSync(dataItem.uuid)
|
||||
if (actor) {
|
||||
game.bol.charSummary.settings.npcList.push( actor.id )
|
||||
game.bol.charSummary.updateNPC()
|
||||
|
||||
} else {
|
||||
ui.notifications.warn( game.i18n.localize("BOL.ui.noactorfound") )
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/** @override */
|
||||
async activateListeners(html) {
|
||||
super.activateListeners(html);
|
||||
|
||||
html.find('.actor-open').click((event) => {
|
||||
const li = $(event.currentTarget).parents(".item")
|
||||
const actor = game.actors.get(li.data("actor-id"))
|
||||
actor.sheet.render(true)
|
||||
})
|
||||
|
||||
html.find('.summary-roll').click((event) => {
|
||||
const li = $(event.currentTarget).parents(".item")
|
||||
const actor = game.actors.get(li.data("actor-id"))
|
||||
let type = $(event.currentTarget).data("type")
|
||||
let key = $(event.currentTarget).data("key")
|
||||
if ( type == "attribute") {
|
||||
BoLRoll.attributeCheck(actor, key, event)
|
||||
} else if (type == "aptitude") {
|
||||
BoLRoll.aptitudeCheck(actor, key, event)
|
||||
}
|
||||
})
|
||||
|
||||
html.find('.actor-delete').click(event => {
|
||||
const li = $(event.currentTarget).parents(".item");
|
||||
let actorId = li.data("actor-id")
|
||||
let newList = game.bol.charSummary.settings.npcList.filter(id => id != actorId)
|
||||
game.bol.charSummary.settings.npcList = newList
|
||||
game.bol.charSummary.updateNPC()
|
||||
})
|
||||
|
||||
html.find('#horoscope-group-edit-available').change(event => {
|
||||
const horoId = $(event.currentTarget).data("horo-id")
|
||||
let newValue = event.currentTarget.value
|
||||
let horoscopes = duplicate(game.settings.get("bol", "horoscope-group"))
|
||||
if ( horoId && horoscopes[horoId]) {
|
||||
horoscopes[horoId].availableDice = Number(newValue)
|
||||
if (newValue <= 0) {
|
||||
horoscopes[horoId] = undefined
|
||||
}
|
||||
game.settings.set("bol", "horoscope-group", horoscopes)
|
||||
setTimeout(function() { BoLUtility.updateSheets()}, 800 )
|
||||
}
|
||||
})
|
||||
|
||||
html.find('#horoscope-group-edit-max').change(event => {
|
||||
const horoId = $(event.currentTarget).data("horo-id")
|
||||
let newValue = event.currentTarget.value
|
||||
let horoscopes = duplicate(game.settings.get("bol", "horoscope-group"))
|
||||
if ( horoId && horoscopes[horoId]) {
|
||||
horoscopes[horoId].maxDice = Number(newValue)
|
||||
if (newValue <= 0) {
|
||||
horoscopes[horoId] = undefined
|
||||
}
|
||||
game.settings.set("bol", "horoscope-group", horoscopes)
|
||||
setTimeout(function() { BoLUtility.updateSheets()}, 800 )
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
}
|
@ -1,6 +1,3 @@
|
||||
/* -------------------------------------------- */
|
||||
import { BoLAdventureGenerator } from "./bol-adventure-generator.js"
|
||||
import { BoLCharacterSummary } from "./bol-character-summary.js"
|
||||
|
||||
/* -------------------------------------------- */
|
||||
export class BoLCommands {
|
||||
@ -8,8 +5,6 @@ export class BoLCommands {
|
||||
static init() {
|
||||
if (!game.bol.commands) {
|
||||
const bolCommands = new BoLCommands()
|
||||
bolCommands.registerCommand({ path: ["/adventure"], func: (content, msg, params) => BoLAdventureGenerator.createAdventure(), descr: "Nouvelle idée d'aventure!" });
|
||||
bolCommands.registerCommand({ path: ["/pcview"], func: (content, msg, params) => BoLCharacterSummary.displayPCSummary(), descr: "Affiche la liste des PJs!" });
|
||||
game.bol.commands = bolCommands
|
||||
}
|
||||
|
||||
@ -88,7 +83,7 @@ export class BoLCommands {
|
||||
console.log("===> Processing command")
|
||||
let command = commandsTable[name];
|
||||
path = path + name + " ";
|
||||
if (command && command.subTable) {
|
||||
if (command?.subTable) {
|
||||
if (params[0]) {
|
||||
return this._processCommand(command.subTable, params[0], params.slice(1), content, msg, path)
|
||||
}
|
||||
@ -97,9 +92,9 @@ export class BoLCommands {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if (command && command.func) {
|
||||
if (command?.func) {
|
||||
const result = command.func(content, msg, params);
|
||||
if (result == false) {
|
||||
if (!result) {
|
||||
BoLCommands._chatAnswer(msg, command.descr);
|
||||
}
|
||||
return true;
|
||||
|
@ -136,6 +136,10 @@ export class BoLUtility {
|
||||
this.successValue = Number(game.settings.get("bol", "dice-success-value"))
|
||||
this.criticalSuccessValue = Number(game.settings.get("bol", "dice-critical-success-value"))
|
||||
this.criticalFailureValue = Number(game.settings.get("bol", "dice-critical-failure-value"))
|
||||
|
||||
// Update the effect modifiers
|
||||
game.bol.config.effectIdentifiers = foundry.utils.mergeObject(game.bol.config.effectIdentifiers, game.bol.config.attackAttributes)
|
||||
game.bol.config.effectIdentifiers = foundry.utils.mergeObject(game.bol.config.effectIdentifiers, game.bol.config.aptitudes)
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@ -196,7 +200,7 @@ export class BoLUtility {
|
||||
//$("#logo").attr("src", this.getLogoTopLeft() )
|
||||
$("#logo").css("content", `url(${this.getLogoTopLeft()})`)
|
||||
|
||||
CONFIG.statusEffects = duplicate(game.bol.config.statusEffects)
|
||||
CONFIG.statusEffects = foundry.utils.duplicate(game.bol.config.statusEffects)
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@ -311,7 +315,7 @@ export class BoLUtility {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static blindMessageToGM(chatOptions) {
|
||||
let chatGM = duplicate(chatOptions);
|
||||
let chatGM = foundry.utils.duplicate(chatOptions);
|
||||
chatGM.whisper = this.getUsers(user => user.isGM);
|
||||
chatGM.content = "Blind message of " + game.user.name + "<br>" + chatOptions.content;
|
||||
console.log("blindMessageToGM", chatGM);
|
||||
@ -323,7 +327,7 @@ export class BoLUtility {
|
||||
if (rollData.targetId) {
|
||||
// Broadcast to GM or process it directly in case of GM defense
|
||||
if (!game.user.isGM) {
|
||||
game.socket.emit("system.bol", { name: "msg_attack_success", data: duplicate(rollData) })
|
||||
game.socket.emit("system.bol", { name: "msg_attack_success", data: foundry.utils.duplicate(rollData) })
|
||||
} else {
|
||||
BoLUtility.processAttackSuccess(rollData)
|
||||
}
|
||||
@ -337,7 +341,7 @@ export class BoLUtility {
|
||||
// If the user is the message author or the actor owner, proceed
|
||||
const actor = game.actors.get(data.message.speaker.actor)
|
||||
//console.log("FOUND 1!!! ", actor)
|
||||
if (actor && actor.isOwner) return
|
||||
if (actor?.isOwner) return
|
||||
else if (game.user.isGM || data.author.id === game.user.id) return
|
||||
|
||||
const divButtons = chatCard.find('.actions-section')
|
||||
@ -354,7 +358,7 @@ export class BoLUtility {
|
||||
/* -------------------------------------------- */
|
||||
static requestInitRoll(actorId, combatData) {
|
||||
let actor = game.actors.get(actorId)
|
||||
if (actor && actor.isOwner) {
|
||||
if (actor?.isOwner) {
|
||||
ui.notifications.info(game.i18n.localize("BOL.ui.warninitiative"))
|
||||
BoLRoll.aptitudeCheck(actor, "init", undefined, combatData)
|
||||
}
|
||||
@ -447,7 +451,7 @@ export class BoLUtility {
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static async processDamageHandling(attackId, defenseMode, weaponId = -1, msgId) {
|
||||
static async processDamageHandling(attackId, defenseMode, weaponId, msgId) {
|
||||
if (!game.user.isGM) {
|
||||
return
|
||||
}
|
||||
@ -457,7 +461,7 @@ export class BoLUtility {
|
||||
|
||||
console.log("Damage Handling", attackId, defenseMode, weaponId)
|
||||
// Only GM process this
|
||||
if (rollData && rollData.defenderId) {
|
||||
if (rollData?.defenderId) {
|
||||
if (rollData.defenseDone || defenseMode == 'damage-not-applied') {
|
||||
return
|
||||
} // ?? Why ???
|
||||
@ -668,7 +672,6 @@ export class BoLUtility {
|
||||
let res = myReg.exec(damageString)
|
||||
let nbDice = parseInt(res[1])
|
||||
let postForm = 'kh' + nbDice
|
||||
let modIndex = 3
|
||||
// Upgrade damage if needed
|
||||
if (upgradeDamage && (!res[3] || res[3] == "")) {
|
||||
res[3] = "B" // Upgrade to bonus
|
||||
@ -680,22 +683,18 @@ export class BoLUtility {
|
||||
if (res[3] == 'M') {
|
||||
postForm = 'kl' + nbDice
|
||||
nbDice++
|
||||
modIndex = 4
|
||||
}
|
||||
if (res[3] == 'MM') {
|
||||
postForm = 'kl' + nbDice
|
||||
nbDice += 2
|
||||
modIndex = 4
|
||||
}
|
||||
if (res[3] == 'B') {
|
||||
postForm = 'kh' + nbDice
|
||||
nbDice++
|
||||
modIndex = 4
|
||||
}
|
||||
if (res[3] == 'BB') {
|
||||
postForm = 'kh' + nbDice
|
||||
nbDice += 2
|
||||
modIndex = 4
|
||||
}
|
||||
}
|
||||
formula = "(" + nbDice + "d" + res[2] + reroll + postForm + "+" + modifier + ") *" + multiplier
|
||||
@ -742,8 +741,8 @@ export class BoLUtility {
|
||||
/* -------------------------------------------- */
|
||||
static removeGroupHoroscope(rollData) {
|
||||
let horo = rollData.horoscopeGroupList[rollData.selectedGroupHoroscopeIndex]
|
||||
let horoscopes = duplicate(game.settings.get("bol", "horoscope-group"))
|
||||
let toChange = duplicate(horoscopes[horo.id])
|
||||
let horoscopes = foundry.utils.duplicate(game.settings.get("bol", "horoscope-group"))
|
||||
let toChange = foundry.utils.duplicate(horoscopes[horo.id])
|
||||
toChange.availableDice -= horo.nbDice // Remove the dice
|
||||
if (toChange.availableDice <= 0) {
|
||||
horoscopes[horo.id] = undefined
|
||||
|
@ -189,6 +189,61 @@ BOL.vehicleSubtypes = {
|
||||
// "other" : "BOL.equipmentCategory.other"
|
||||
// }
|
||||
|
||||
BOL.rangeModifiers = {
|
||||
"1": "BOL.dialog.pointblank",
|
||||
"0": "BOL.dialog.close",
|
||||
"-1": "BOL.dialog.medium",
|
||||
"-2": "BOL.dialog.long",
|
||||
"-4": "BOL.dialog.distant",
|
||||
"-6": "BOL.dialog.extreme",
|
||||
"-8": "BOL.dialog.utmost"
|
||||
}
|
||||
|
||||
BOL.difficultyModifiers = {
|
||||
"4": "BOL.dialog.soeasy",
|
||||
"2": "BOL.dialog.veryeasy",
|
||||
"1": "BOL.dialog.easy",
|
||||
"0": "BOL.dialog.moderate",
|
||||
"-1": "BOL.dialog.hard",
|
||||
"-2": "BOL.dialog.tough",
|
||||
"-4": "BOL.dialog.demanding",
|
||||
"-6": "BOL.dialog.formidable",
|
||||
"-8": "BOL.dialog.heroic",
|
||||
"-10": "BOL.dialog.mythic",
|
||||
"-12": "BOL.dialog.divine"
|
||||
}
|
||||
|
||||
BOL.alchemyModifiers = {
|
||||
"2": "BOL.dialog.veryeasy",
|
||||
"1": "BOL.dialog.easy",
|
||||
"0": "BOL.dialog.moderate",
|
||||
"-1": "BOL.dialog.hard",
|
||||
"-2": "BOL.dialog.tough",
|
||||
"-4": "BOL.dialog.demanding",
|
||||
"-6": "BOL.dialog.formidable",
|
||||
"-8": "BOL.dialog.heroic",
|
||||
}
|
||||
BOL.spellModifiers = BOL.alchemyModifiers
|
||||
|
||||
BOL.spellMandatoryConditions = {
|
||||
"1": "1",
|
||||
"2": "2",
|
||||
"3": "3",
|
||||
"4": "4"
|
||||
}
|
||||
BOL.spellOptionnalConditions = {
|
||||
"1": "1",
|
||||
"2": "2",
|
||||
"3": "3",
|
||||
"4": "4",
|
||||
"5": "5",
|
||||
"6": "6",
|
||||
"7": "7",
|
||||
"8": "8"
|
||||
}
|
||||
BOL.effectIdentifiers = {
|
||||
"always": "BOL.ui.always",
|
||||
}
|
||||
BOL.protectionCategories = {
|
||||
"armor" : "BOL.protectionCategory.armor",
|
||||
"shield" : "BOL.protectionCategory.shield",
|
||||
|
@ -10,7 +10,7 @@ export const registerHandlebarsHelpers = function () {
|
||||
|
||||
Handlebars.registerHelper('isEmpty', function (list) {
|
||||
if (list) return list.length == 0;
|
||||
else return 0;
|
||||
else return false;
|
||||
});
|
||||
|
||||
Handlebars.registerHelper('notEmpty', function (list) {
|
||||
@ -64,8 +64,8 @@ export const registerHandlebarsHelpers = function () {
|
||||
})
|
||||
|
||||
Handlebars.registerHelper('for', function (from, to, incr, block) {
|
||||
var accum = '';
|
||||
for (var i = from; i < to; i += incr)
|
||||
let accum = '';
|
||||
for (let i = from; i < to; i += incr)
|
||||
accum += block.fn(i);
|
||||
return accum;
|
||||
})
|
||||
@ -89,8 +89,8 @@ export const registerHandlebarsHelpers = function () {
|
||||
|
||||
// If you need to add Handlebars helpers, here are a few useful examples:
|
||||
Handlebars.registerHelper('concat', function () {
|
||||
var outStr = '';
|
||||
for (var arg in arguments) {
|
||||
let outStr = '';
|
||||
for (let arg in arguments) {
|
||||
if (typeof arguments[arg] != 'object') {
|
||||
outStr += arguments[arg];
|
||||
}
|
||||
@ -117,7 +117,6 @@ export const registerHandlebarsHelpers = function () {
|
||||
return arr[idx];
|
||||
})
|
||||
Handlebars.registerHelper('includesKey', function (items, type, key) {
|
||||
// console.log(items);
|
||||
return items.filter(i => i.type === type).map(i => i.system.key).includes(key);
|
||||
})
|
||||
Handlebars.registerHelper('includes', function (array, val) {
|
||||
@ -128,10 +127,7 @@ export const registerHandlebarsHelpers = function () {
|
||||
})
|
||||
Handlebars.registerHelper('isOwnerOrGM', function (actor) {
|
||||
console.log("Testing actor", actor.isOwner, game.userId)
|
||||
if (actor.isOwner || game.isGM) {
|
||||
return true
|
||||
}
|
||||
return false
|
||||
return actor.isOwner || game.isGM;
|
||||
})
|
||||
Handlebars.registerHelper('upperFirst', function (text) {
|
||||
if (typeof text !== 'string') return text
|
||||
@ -141,6 +137,9 @@ export const registerHandlebarsHelpers = function () {
|
||||
if (typeof text !== 'string') return text
|
||||
return text.charAt(0).toUpperCase()
|
||||
})
|
||||
Handlebars.registerHelper('isCreature', function (key) {
|
||||
return key == "creature" || key == "daemon";
|
||||
})
|
||||
|
||||
|
||||
}
|
@ -29,18 +29,6 @@ export default function registerHooks() {
|
||||
if (data.type == "Item") {
|
||||
let item = data.data;
|
||||
console.log(item);
|
||||
// let command = `let onlyDamage = false;\nlet customLabel = "";\nlet skillDescription = "";\nlet dmgDescription = "";\n\nif (event) {\n if (event.shiftKey) onlyDamage = true;\n}\n\ngame.cof.macros.rollItemMacro("${item._id}", "${item.name}", "${item.type}", 0, 0, 0, onlyDamage, customLabel, skillDescription, dmgDescription);`;
|
||||
|
||||
// let macro = game.macros.entities.find(m => (m.name === item.name) && (m.command === command));
|
||||
// if (!macro) {
|
||||
// macro = await Macro.create({
|
||||
// name: item.name,
|
||||
// type : "script",
|
||||
// img: item.img,
|
||||
// command : command
|
||||
// }, {displaySheet: false})
|
||||
// }
|
||||
// game.user.assignHotbarMacro(macro, slot);
|
||||
}
|
||||
// Create a macro to open the actor sheet of the actor dropped on the hotbar
|
||||
else if (data.type == "Actor") {
|
||||
|
Binary file not shown.
BIN
packs/aides-de-jeu/000261.ldb
Normal file
BIN
packs/aides-de-jeu/000261.ldb
Normal file
Binary file not shown.
@ -1 +1 @@
|
||||
MANIFEST-000164
|
||||
MANIFEST-000262
|
||||
|
@ -1,8 +1,8 @@
|
||||
2024/01/12-17:58:00.654494 7f2aeffff6c0 Recovering log #162
|
||||
2024/01/12-17:58:00.703417 7f2aeffff6c0 Delete type=3 #160
|
||||
2024/01/12-17:58:00.703506 7f2aeffff6c0 Delete type=0 #162
|
||||
2024/01/12-18:33:25.126235 7f2aee3ff6c0 Level-0 table #167: started
|
||||
2024/01/12-18:33:25.126295 7f2aee3ff6c0 Level-0 table #167: 0 bytes OK
|
||||
2024/01/12-18:33:25.133198 7f2aee3ff6c0 Delete type=0 #165
|
||||
2024/01/12-18:33:25.139871 7f2aee3ff6c0 Manual compaction at level-0 from '!journal!3xJg1rCxnWvEmoxS' @ 72057594037927935 : 1 .. '!journal.pages!veAAxCtCKcFIsnln.0kUgZspxXO7VS8bd' @ 0 : 0; will stop at (end)
|
||||
2024/01/12-18:33:25.139923 7f2aee3ff6c0 Manual compaction at level-1 from '!journal!3xJg1rCxnWvEmoxS' @ 72057594037927935 : 1 .. '!journal.pages!veAAxCtCKcFIsnln.0kUgZspxXO7VS8bd' @ 0 : 0; will stop at (end)
|
||||
2024/04/26-11:56:58.161260 7f78fa0006c0 Recovering log #259
|
||||
2024/04/26-11:56:58.172348 7f78fa0006c0 Delete type=3 #257
|
||||
2024/04/26-11:56:58.172412 7f78fa0006c0 Delete type=0 #259
|
||||
2024/04/26-14:04:50.930192 7f78f90006c0 Level-0 table #265: started
|
||||
2024/04/26-14:04:50.930219 7f78f90006c0 Level-0 table #265: 0 bytes OK
|
||||
2024/04/26-14:04:50.936493 7f78f90006c0 Delete type=0 #263
|
||||
2024/04/26-14:04:50.950259 7f78f90006c0 Manual compaction at level-0 from '!journal!3xJg1rCxnWvEmoxS' @ 72057594037927935 : 1 .. '!journal.pages!veAAxCtCKcFIsnln.0kUgZspxXO7VS8bd' @ 0 : 0; will stop at (end)
|
||||
2024/04/26-14:04:50.950292 7f78f90006c0 Manual compaction at level-1 from '!journal!3xJg1rCxnWvEmoxS' @ 72057594037927935 : 1 .. '!journal.pages!veAAxCtCKcFIsnln.0kUgZspxXO7VS8bd' @ 0 : 0; will stop at (end)
|
||||
|
@ -1,8 +1,15 @@
|
||||
2024/01/11-23:52:22.269402 7f2d849ff6c0 Recovering log #158
|
||||
2024/01/11-23:52:22.279265 7f2d849ff6c0 Delete type=3 #156
|
||||
2024/01/11-23:52:22.279317 7f2d849ff6c0 Delete type=0 #158
|
||||
2024/01/12-17:21:27.002365 7f2aee3ff6c0 Level-0 table #163: started
|
||||
2024/01/12-17:21:27.002416 7f2aee3ff6c0 Level-0 table #163: 0 bytes OK
|
||||
2024/01/12-17:21:27.035659 7f2aee3ff6c0 Delete type=0 #161
|
||||
2024/01/12-17:21:27.068240 7f2aee3ff6c0 Manual compaction at level-0 from '!journal!3xJg1rCxnWvEmoxS' @ 72057594037927935 : 1 .. '!journal.pages!veAAxCtCKcFIsnln.0kUgZspxXO7VS8bd' @ 0 : 0; will stop at (end)
|
||||
2024/01/12-17:21:27.068304 7f2aee3ff6c0 Manual compaction at level-1 from '!journal!3xJg1rCxnWvEmoxS' @ 72057594037927935 : 1 .. '!journal.pages!veAAxCtCKcFIsnln.0kUgZspxXO7VS8bd' @ 0 : 0; will stop at (end)
|
||||
2024/04/19-08:19:44.083034 7f94642006c0 Recovering log #255
|
||||
2024/04/19-08:19:44.095849 7f94642006c0 Delete type=3 #253
|
||||
2024/04/19-08:19:44.095950 7f94642006c0 Delete type=0 #255
|
||||
2024/04/19-08:30:00.016102 7f94632006c0 Level-0 table #260: started
|
||||
2024/04/19-08:30:00.020232 7f94632006c0 Level-0 table #260: 27751 bytes OK
|
||||
2024/04/19-08:30:00.027004 7f94632006c0 Delete type=0 #258
|
||||
2024/04/19-08:30:00.027264 7f94632006c0 Manual compaction at level-0 from '!journal!3xJg1rCxnWvEmoxS' @ 72057594037927935 : 1 .. '!journal.pages!veAAxCtCKcFIsnln.0kUgZspxXO7VS8bd' @ 0 : 0; will stop at (end)
|
||||
2024/04/19-08:30:00.049736 7f94632006c0 Manual compaction at level-1 from '!journal!3xJg1rCxnWvEmoxS' @ 72057594037927935 : 1 .. '!journal.pages!veAAxCtCKcFIsnln.0kUgZspxXO7VS8bd' @ 0 : 0; will stop at '!journal.pages!veAAxCtCKcFIsnln.0kUgZspxXO7VS8bd' @ 159 : 1
|
||||
2024/04/19-08:30:00.049751 7f94632006c0 Compacting 1@1 + 1@2 files
|
||||
2024/04/19-08:30:00.054303 7f94632006c0 Generated table #261@1: 24 keys, 27751 bytes
|
||||
2024/04/19-08:30:00.054348 7f94632006c0 Compacted 1@1 + 1@2 files => 27751 bytes
|
||||
2024/04/19-08:30:00.060656 7f94632006c0 compacted to: files[ 0 0 1 0 0 0 0 ]
|
||||
2024/04/19-08:30:00.060882 7f94632006c0 Delete type=2 #204
|
||||
2024/04/19-08:30:00.061163 7f94632006c0 Delete type=2 #260
|
||||
2024/04/19-08:30:00.073152 7f94632006c0 Manual compaction at level-1 from '!journal.pages!veAAxCtCKcFIsnln.0kUgZspxXO7VS8bd' @ 159 : 1 .. '!journal.pages!veAAxCtCKcFIsnln.0kUgZspxXO7VS8bd' @ 0 : 0; will stop at (end)
|
||||
|
Binary file not shown.
BIN
packs/aides-de-jeu/MANIFEST-000262
Normal file
BIN
packs/aides-de-jeu/MANIFEST-000262
Normal file
Binary file not shown.
Binary file not shown.
BIN
packs/armors/000167.ldb
Normal file
BIN
packs/armors/000167.ldb
Normal file
Binary file not shown.
@ -1 +1 @@
|
||||
MANIFEST-000070
|
||||
MANIFEST-000168
|
||||
|
@ -1,8 +1,8 @@
|
||||
2024/01/12-17:58:00.559279 7f2aeeffd6c0 Recovering log #68
|
||||
2024/01/12-17:58:00.603120 7f2aeeffd6c0 Delete type=3 #66
|
||||
2024/01/12-17:58:00.603243 7f2aeeffd6c0 Delete type=0 #68
|
||||
2024/01/12-18:33:25.082107 7f2aee3ff6c0 Level-0 table #73: started
|
||||
2024/01/12-18:33:25.082159 7f2aee3ff6c0 Level-0 table #73: 0 bytes OK
|
||||
2024/01/12-18:33:25.089101 7f2aee3ff6c0 Delete type=0 #71
|
||||
2024/01/12-18:33:25.111117 7f2aee3ff6c0 Manual compaction at level-0 from '!items!G3dZTHIabA3LA1hY' @ 72057594037927935 : 1 .. '!items!xhEcsi3WHjbt2ro9' @ 0 : 0; will stop at (end)
|
||||
2024/01/12-18:33:25.111206 7f2aee3ff6c0 Manual compaction at level-1 from '!items!G3dZTHIabA3LA1hY' @ 72057594037927935 : 1 .. '!items!xhEcsi3WHjbt2ro9' @ 0 : 0; will stop at (end)
|
||||
2024/04/26-11:56:58.134706 7f78fbe006c0 Recovering log #165
|
||||
2024/04/26-11:56:58.144933 7f78fbe006c0 Delete type=3 #163
|
||||
2024/04/26-11:56:58.145031 7f78fbe006c0 Delete type=0 #165
|
||||
2024/04/26-14:04:50.923546 7f78f90006c0 Level-0 table #171: started
|
||||
2024/04/26-14:04:50.923576 7f78f90006c0 Level-0 table #171: 0 bytes OK
|
||||
2024/04/26-14:04:50.930043 7f78f90006c0 Delete type=0 #169
|
||||
2024/04/26-14:04:50.950239 7f78f90006c0 Manual compaction at level-0 from '!items!G3dZTHIabA3LA1hY' @ 72057594037927935 : 1 .. '!items!xhEcsi3WHjbt2ro9' @ 0 : 0; will stop at (end)
|
||||
2024/04/26-14:04:50.950346 7f78f90006c0 Manual compaction at level-1 from '!items!G3dZTHIabA3LA1hY' @ 72057594037927935 : 1 .. '!items!xhEcsi3WHjbt2ro9' @ 0 : 0; will stop at (end)
|
||||
|
@ -1,8 +1,15 @@
|
||||
2024/01/11-23:52:22.245022 7f2aef7fe6c0 Recovering log #64
|
||||
2024/01/11-23:52:22.255738 7f2aef7fe6c0 Delete type=3 #62
|
||||
2024/01/11-23:52:22.255808 7f2aef7fe6c0 Delete type=0 #64
|
||||
2024/01/12-17:21:26.552390 7f2aee3ff6c0 Level-0 table #69: started
|
||||
2024/01/12-17:21:26.553565 7f2aee3ff6c0 Level-0 table #69: 0 bytes OK
|
||||
2024/01/12-17:21:26.587319 7f2aee3ff6c0 Delete type=0 #67
|
||||
2024/01/12-17:21:26.658367 7f2aee3ff6c0 Manual compaction at level-0 from '!items!G3dZTHIabA3LA1hY' @ 72057594037927935 : 1 .. '!items!xhEcsi3WHjbt2ro9' @ 0 : 0; will stop at (end)
|
||||
2024/01/12-17:21:26.658422 7f2aee3ff6c0 Manual compaction at level-1 from '!items!G3dZTHIabA3LA1hY' @ 72057594037927935 : 1 .. '!items!xhEcsi3WHjbt2ro9' @ 0 : 0; will stop at (end)
|
||||
2024/04/19-08:19:44.050910 7f94656006c0 Recovering log #161
|
||||
2024/04/19-08:19:44.062747 7f94656006c0 Delete type=3 #159
|
||||
2024/04/19-08:19:44.062841 7f94656006c0 Delete type=0 #161
|
||||
2024/04/19-08:29:59.998576 7f94632006c0 Level-0 table #166: started
|
||||
2024/04/19-08:30:00.001989 7f94632006c0 Level-0 table #166: 5548 bytes OK
|
||||
2024/04/19-08:30:00.008530 7f94632006c0 Delete type=0 #164
|
||||
2024/04/19-08:30:00.027235 7f94632006c0 Manual compaction at level-0 from '!items!G3dZTHIabA3LA1hY' @ 72057594037927935 : 1 .. '!items!xhEcsi3WHjbt2ro9' @ 0 : 0; will stop at (end)
|
||||
2024/04/19-08:30:00.038530 7f94632006c0 Manual compaction at level-1 from '!items!G3dZTHIabA3LA1hY' @ 72057594037927935 : 1 .. '!items!xhEcsi3WHjbt2ro9' @ 0 : 0; will stop at '!items!xhEcsi3WHjbt2ro9' @ 18 : 1
|
||||
2024/04/19-08:30:00.038547 7f94632006c0 Compacting 1@1 + 1@2 files
|
||||
2024/04/19-08:30:00.042082 7f94632006c0 Generated table #167@1: 6 keys, 5548 bytes
|
||||
2024/04/19-08:30:00.042108 7f94632006c0 Compacted 1@1 + 1@2 files => 5548 bytes
|
||||
2024/04/19-08:30:00.048990 7f94632006c0 compacted to: files[ 0 0 1 0 0 0 0 ]
|
||||
2024/04/19-08:30:00.049179 7f94632006c0 Delete type=2 #110
|
||||
2024/04/19-08:30:00.049479 7f94632006c0 Delete type=2 #166
|
||||
2024/04/19-08:30:00.061357 7f94632006c0 Manual compaction at level-1 from '!items!xhEcsi3WHjbt2ro9' @ 18 : 1 .. '!items!xhEcsi3WHjbt2ro9' @ 0 : 0; will stop at (end)
|
||||
|
Binary file not shown.
BIN
packs/armors/MANIFEST-000168
Normal file
BIN
packs/armors/MANIFEST-000168
Normal file
Binary file not shown.
Binary file not shown.
BIN
packs/boons/000260.ldb
Normal file
BIN
packs/boons/000260.ldb
Normal file
Binary file not shown.
@ -1 +1 @@
|
||||
MANIFEST-000163
|
||||
MANIFEST-000261
|
||||
|
@ -1,8 +1,8 @@
|
||||
2024/01/12-17:58:00.159080 7f2aeeffd6c0 Recovering log #161
|
||||
2024/01/12-17:58:00.204717 7f2aeeffd6c0 Delete type=3 #159
|
||||
2024/01/12-17:58:00.204803 7f2aeeffd6c0 Delete type=0 #161
|
||||
2024/01/12-18:33:25.003258 7f2aee3ff6c0 Level-0 table #166: started
|
||||
2024/01/12-18:33:25.003305 7f2aee3ff6c0 Level-0 table #166: 0 bytes OK
|
||||
2024/01/12-18:33:25.009363 7f2aee3ff6c0 Delete type=0 #164
|
||||
2024/01/12-18:33:25.027341 7f2aee3ff6c0 Manual compaction at level-0 from '!items!039ZF3E3MtAGwbiX' @ 72057594037927935 : 1 .. '!items!zgspy1QKaxdEetEw' @ 0 : 0; will stop at (end)
|
||||
2024/01/12-18:33:25.038682 7f2aee3ff6c0 Manual compaction at level-1 from '!items!039ZF3E3MtAGwbiX' @ 72057594037927935 : 1 .. '!items!zgspy1QKaxdEetEw' @ 0 : 0; will stop at (end)
|
||||
2024/04/26-11:56:58.024961 7f78fbe006c0 Recovering log #258
|
||||
2024/04/26-11:56:58.034823 7f78fbe006c0 Delete type=3 #256
|
||||
2024/04/26-11:56:58.034882 7f78fbe006c0 Delete type=0 #258
|
||||
2024/04/26-14:04:50.869646 7f78f90006c0 Level-0 table #264: started
|
||||
2024/04/26-14:04:50.869694 7f78f90006c0 Level-0 table #264: 0 bytes OK
|
||||
2024/04/26-14:04:50.876074 7f78f90006c0 Delete type=0 #262
|
||||
2024/04/26-14:04:50.896825 7f78f90006c0 Manual compaction at level-0 from '!items!039ZF3E3MtAGwbiX' @ 72057594037927935 : 1 .. '!items!zgspy1QKaxdEetEw' @ 0 : 0; will stop at (end)
|
||||
2024/04/26-14:04:50.896897 7f78f90006c0 Manual compaction at level-1 from '!items!039ZF3E3MtAGwbiX' @ 72057594037927935 : 1 .. '!items!zgspy1QKaxdEetEw' @ 0 : 0; will stop at (end)
|
||||
|
@ -1,8 +1,15 @@
|
||||
2024/01/11-23:52:22.142717 7f2aef7fe6c0 Recovering log #157
|
||||
2024/01/11-23:52:22.153108 7f2aef7fe6c0 Delete type=3 #155
|
||||
2024/01/11-23:52:22.153152 7f2aef7fe6c0 Delete type=0 #157
|
||||
2024/01/12-17:21:26.236099 7f2aee3ff6c0 Level-0 table #162: started
|
||||
2024/01/12-17:21:26.236153 7f2aee3ff6c0 Level-0 table #162: 0 bytes OK
|
||||
2024/01/12-17:21:26.269940 7f2aee3ff6c0 Delete type=0 #160
|
||||
2024/01/12-17:21:26.270146 7f2aee3ff6c0 Manual compaction at level-0 from '!items!039ZF3E3MtAGwbiX' @ 72057594037927935 : 1 .. '!items!zgspy1QKaxdEetEw' @ 0 : 0; will stop at (end)
|
||||
2024/01/12-17:21:26.329363 7f2aee3ff6c0 Manual compaction at level-1 from '!items!039ZF3E3MtAGwbiX' @ 72057594037927935 : 1 .. '!items!zgspy1QKaxdEetEw' @ 0 : 0; will stop at (end)
|
||||
2024/04/19-08:19:43.920264 7f94656006c0 Recovering log #254
|
||||
2024/04/19-08:19:43.932138 7f94656006c0 Delete type=3 #252
|
||||
2024/04/19-08:19:43.932303 7f94656006c0 Delete type=0 #254
|
||||
2024/04/19-08:29:59.809068 7f94632006c0 Level-0 table #259: started
|
||||
2024/04/19-08:29:59.813175 7f94632006c0 Level-0 table #259: 18151 bytes OK
|
||||
2024/04/19-08:29:59.819452 7f94632006c0 Delete type=0 #257
|
||||
2024/04/19-08:29:59.851866 7f94632006c0 Manual compaction at level-0 from '!items!039ZF3E3MtAGwbiX' @ 72057594037927935 : 1 .. '!items!zgspy1QKaxdEetEw' @ 0 : 0; will stop at (end)
|
||||
2024/04/19-08:29:59.851973 7f94632006c0 Manual compaction at level-1 from '!items!039ZF3E3MtAGwbiX' @ 72057594037927935 : 1 .. '!items!zgspy1QKaxdEetEw' @ 0 : 0; will stop at '!items!zgspy1QKaxdEetEw' @ 236 : 1
|
||||
2024/04/19-08:29:59.851985 7f94632006c0 Compacting 1@1 + 1@2 files
|
||||
2024/04/19-08:29:59.856258 7f94632006c0 Generated table #260@1: 59 keys, 18151 bytes
|
||||
2024/04/19-08:29:59.856292 7f94632006c0 Compacted 1@1 + 1@2 files => 18151 bytes
|
||||
2024/04/19-08:29:59.862772 7f94632006c0 compacted to: files[ 0 0 1 0 0 0 0 ]
|
||||
2024/04/19-08:29:59.862925 7f94632006c0 Delete type=2 #203
|
||||
2024/04/19-08:29:59.863159 7f94632006c0 Delete type=2 #259
|
||||
2024/04/19-08:29:59.896639 7f94632006c0 Manual compaction at level-1 from '!items!zgspy1QKaxdEetEw' @ 236 : 1 .. '!items!zgspy1QKaxdEetEw' @ 0 : 0; will stop at (end)
|
||||
|
Binary file not shown.
BIN
packs/boons/MANIFEST-000261
Normal file
BIN
packs/boons/MANIFEST-000261
Normal file
Binary file not shown.
Binary file not shown.
BIN
packs/boonsflawscreatures/000260.ldb
Normal file
BIN
packs/boonsflawscreatures/000260.ldb
Normal file
Binary file not shown.
@ -1 +1 @@
|
||||
MANIFEST-000163
|
||||
MANIFEST-000261
|
||||
|
@ -1,8 +1,8 @@
|
||||
2024/01/12-17:58:00.207662 7f2d849ff6c0 Recovering log #161
|
||||
2024/01/12-17:58:00.250586 7f2d849ff6c0 Delete type=3 #159
|
||||
2024/01/12-17:58:00.250725 7f2d849ff6c0 Delete type=0 #161
|
||||
2024/01/12-18:33:25.054071 7f2aee3ff6c0 Level-0 table #166: started
|
||||
2024/01/12-18:33:25.054116 7f2aee3ff6c0 Level-0 table #166: 0 bytes OK
|
||||
2024/01/12-18:33:25.061185 7f2aee3ff6c0 Delete type=0 #164
|
||||
2024/01/12-18:33:25.075176 7f2aee3ff6c0 Manual compaction at level-0 from '!items!CoqlfsDV1gL5swbK' @ 72057594037927935 : 1 .. '!items!yofwG0YrsL902G77' @ 0 : 0; will stop at (end)
|
||||
2024/01/12-18:33:25.081858 7f2aee3ff6c0 Manual compaction at level-1 from '!items!CoqlfsDV1gL5swbK' @ 72057594037927935 : 1 .. '!items!yofwG0YrsL902G77' @ 0 : 0; will stop at (end)
|
||||
2024/04/26-11:56:58.038384 7f78faa006c0 Recovering log #258
|
||||
2024/04/26-11:56:58.049190 7f78faa006c0 Delete type=3 #256
|
||||
2024/04/26-11:56:58.049324 7f78faa006c0 Delete type=0 #258
|
||||
2024/04/26-14:04:50.890102 7f78f90006c0 Level-0 table #264: started
|
||||
2024/04/26-14:04:50.890126 7f78f90006c0 Level-0 table #264: 0 bytes OK
|
||||
2024/04/26-14:04:50.896657 7f78f90006c0 Delete type=0 #262
|
||||
2024/04/26-14:04:50.896882 7f78f90006c0 Manual compaction at level-0 from '!items!CoqlfsDV1gL5swbK' @ 72057594037927935 : 1 .. '!items!yofwG0YrsL902G77' @ 0 : 0; will stop at (end)
|
||||
2024/04/26-14:04:50.896947 7f78f90006c0 Manual compaction at level-1 from '!items!CoqlfsDV1gL5swbK' @ 72057594037927935 : 1 .. '!items!yofwG0YrsL902G77' @ 0 : 0; will stop at (end)
|
||||
|
@ -1,8 +1,15 @@
|
||||
2024/01/11-23:52:22.156402 7f2aeeffd6c0 Recovering log #157
|
||||
2024/01/11-23:52:22.165789 7f2aeeffd6c0 Delete type=3 #155
|
||||
2024/01/11-23:52:22.165838 7f2aeeffd6c0 Delete type=0 #157
|
||||
2024/01/12-17:21:26.379895 7f2aee3ff6c0 Level-0 table #162: started
|
||||
2024/01/12-17:21:26.379934 7f2aee3ff6c0 Level-0 table #162: 0 bytes OK
|
||||
2024/01/12-17:21:26.407918 7f2aee3ff6c0 Delete type=0 #160
|
||||
2024/01/12-17:21:26.472414 7f2aee3ff6c0 Manual compaction at level-0 from '!items!CoqlfsDV1gL5swbK' @ 72057594037927935 : 1 .. '!items!yofwG0YrsL902G77' @ 0 : 0; will stop at (end)
|
||||
2024/01/12-17:21:26.510034 7f2aee3ff6c0 Manual compaction at level-1 from '!items!CoqlfsDV1gL5swbK' @ 72057594037927935 : 1 .. '!items!yofwG0YrsL902G77' @ 0 : 0; will stop at (end)
|
||||
2024/04/19-08:19:43.937500 7f9464c006c0 Recovering log #254
|
||||
2024/04/19-08:19:43.949011 7f9464c006c0 Delete type=3 #252
|
||||
2024/04/19-08:19:43.949130 7f9464c006c0 Delete type=0 #254
|
||||
2024/04/19-08:29:59.829996 7f94632006c0 Level-0 table #259: started
|
||||
2024/04/19-08:29:59.833757 7f94632006c0 Level-0 table #259: 2399 bytes OK
|
||||
2024/04/19-08:29:59.840517 7f94632006c0 Delete type=0 #257
|
||||
2024/04/19-08:29:59.851922 7f94632006c0 Manual compaction at level-0 from '!items!CoqlfsDV1gL5swbK' @ 72057594037927935 : 1 .. '!items!yofwG0YrsL902G77' @ 0 : 0; will stop at (end)
|
||||
2024/04/19-08:29:59.873788 7f94632006c0 Manual compaction at level-1 from '!items!CoqlfsDV1gL5swbK' @ 72057594037927935 : 1 .. '!items!yofwG0YrsL902G77' @ 0 : 0; will stop at '!items!yofwG0YrsL902G77' @ 32 : 1
|
||||
2024/04/19-08:29:59.873804 7f94632006c0 Compacting 1@1 + 1@2 files
|
||||
2024/04/19-08:29:59.877246 7f94632006c0 Generated table #260@1: 8 keys, 2399 bytes
|
||||
2024/04/19-08:29:59.877287 7f94632006c0 Compacted 1@1 + 1@2 files => 2399 bytes
|
||||
2024/04/19-08:29:59.884259 7f94632006c0 compacted to: files[ 0 0 1 0 0 0 0 ]
|
||||
2024/04/19-08:29:59.884426 7f94632006c0 Delete type=2 #203
|
||||
2024/04/19-08:29:59.884735 7f94632006c0 Delete type=2 #259
|
||||
2024/04/19-08:29:59.896671 7f94632006c0 Manual compaction at level-1 from '!items!yofwG0YrsL902G77' @ 32 : 1 .. '!items!yofwG0YrsL902G77' @ 0 : 0; will stop at (end)
|
||||
|
Binary file not shown.
BIN
packs/boonsflawscreatures/MANIFEST-000261
Normal file
BIN
packs/boonsflawscreatures/MANIFEST-000261
Normal file
Binary file not shown.
Binary file not shown.
BIN
packs/careers/000260.ldb
Normal file
BIN
packs/careers/000260.ldb
Normal file
Binary file not shown.
@ -1 +1 @@
|
||||
MANIFEST-000163
|
||||
MANIFEST-000261
|
||||
|
@ -1,8 +1,8 @@
|
||||
2024/01/12-17:58:00.301181 7f2aef7fe6c0 Recovering log #161
|
||||
2024/01/12-17:58:00.347103 7f2aef7fe6c0 Delete type=3 #159
|
||||
2024/01/12-17:58:00.347210 7f2aef7fe6c0 Delete type=0 #161
|
||||
2024/01/12-18:33:25.067972 7f2aee3ff6c0 Level-0 table #166: started
|
||||
2024/01/12-18:33:25.068005 7f2aee3ff6c0 Level-0 table #166: 0 bytes OK
|
||||
2024/01/12-18:33:25.074990 7f2aee3ff6c0 Delete type=0 #164
|
||||
2024/01/12-18:33:25.081825 7f2aee3ff6c0 Manual compaction at level-0 from '!items!4S4xAfMXGnuU0O1a' @ 72057594037927935 : 1 .. '!items!zxY3sW0iCJBvwjOS' @ 0 : 0; will stop at (end)
|
||||
2024/01/12-18:33:25.081885 7f2aee3ff6c0 Manual compaction at level-1 from '!items!4S4xAfMXGnuU0O1a' @ 72057594037927935 : 1 .. '!items!zxY3sW0iCJBvwjOS' @ 0 : 0; will stop at (end)
|
||||
2024/04/26-11:56:58.065626 7f78fb4006c0 Recovering log #258
|
||||
2024/04/26-11:56:58.075327 7f78fb4006c0 Delete type=3 #256
|
||||
2024/04/26-11:56:58.075454 7f78fb4006c0 Delete type=0 #258
|
||||
2024/04/26-14:04:50.882862 7f78f90006c0 Level-0 table #264: started
|
||||
2024/04/26-14:04:50.882919 7f78f90006c0 Level-0 table #264: 0 bytes OK
|
||||
2024/04/26-14:04:50.889962 7f78f90006c0 Delete type=0 #262
|
||||
2024/04/26-14:04:50.896865 7f78f90006c0 Manual compaction at level-0 from '!items!4S4xAfMXGnuU0O1a' @ 72057594037927935 : 1 .. '!items!zxY3sW0iCJBvwjOS' @ 0 : 0; will stop at (end)
|
||||
2024/04/26-14:04:50.896926 7f78f90006c0 Manual compaction at level-1 from '!items!4S4xAfMXGnuU0O1a' @ 72057594037927935 : 1 .. '!items!zxY3sW0iCJBvwjOS' @ 0 : 0; will stop at (end)
|
||||
|
@ -1,8 +1,15 @@
|
||||
2024/01/11-23:52:22.180911 7f2aeffff6c0 Recovering log #157
|
||||
2024/01/11-23:52:22.191351 7f2aeffff6c0 Delete type=3 #155
|
||||
2024/01/11-23:52:22.191473 7f2aeffff6c0 Delete type=0 #157
|
||||
2024/01/12-17:21:26.450798 7f2aee3ff6c0 Level-0 table #162: started
|
||||
2024/01/12-17:21:26.450844 7f2aee3ff6c0 Level-0 table #162: 0 bytes OK
|
||||
2024/01/12-17:21:26.471880 7f2aee3ff6c0 Delete type=0 #160
|
||||
2024/01/12-17:21:26.510014 7f2aee3ff6c0 Manual compaction at level-0 from '!items!4S4xAfMXGnuU0O1a' @ 72057594037927935 : 1 .. '!items!zxY3sW0iCJBvwjOS' @ 0 : 0; will stop at (end)
|
||||
2024/01/12-17:21:26.510071 7f2aee3ff6c0 Manual compaction at level-1 from '!items!4S4xAfMXGnuU0O1a' @ 72057594037927935 : 1 .. '!items!zxY3sW0iCJBvwjOS' @ 0 : 0; will stop at (end)
|
||||
2024/04/19-08:19:43.969794 7f94660006c0 Recovering log #254
|
||||
2024/04/19-08:19:43.980384 7f94660006c0 Delete type=3 #252
|
||||
2024/04/19-08:19:43.980502 7f94660006c0 Delete type=0 #254
|
||||
2024/04/19-08:29:59.840760 7f94632006c0 Level-0 table #259: started
|
||||
2024/04/19-08:29:59.845225 7f94632006c0 Level-0 table #259: 41173 bytes OK
|
||||
2024/04/19-08:29:59.851577 7f94632006c0 Delete type=0 #257
|
||||
2024/04/19-08:29:59.851940 7f94632006c0 Manual compaction at level-0 from '!items!4S4xAfMXGnuU0O1a' @ 72057594037927935 : 1 .. '!items!zxY3sW0iCJBvwjOS' @ 0 : 0; will stop at (end)
|
||||
2024/04/19-08:29:59.884948 7f94632006c0 Manual compaction at level-1 from '!items!4S4xAfMXGnuU0O1a' @ 72057594037927935 : 1 .. '!items!zxY3sW0iCJBvwjOS' @ 0 : 0; will stop at '!items!zxY3sW0iCJBvwjOS' @ 107 : 1
|
||||
2024/04/19-08:29:59.884972 7f94632006c0 Compacting 1@1 + 1@2 files
|
||||
2024/04/19-08:29:59.889715 7f94632006c0 Generated table #260@1: 27 keys, 41173 bytes
|
||||
2024/04/19-08:29:59.889752 7f94632006c0 Compacted 1@1 + 1@2 files => 41173 bytes
|
||||
2024/04/19-08:29:59.896200 7f94632006c0 compacted to: files[ 0 0 1 0 0 0 0 ]
|
||||
2024/04/19-08:29:59.896338 7f94632006c0 Delete type=2 #203
|
||||
2024/04/19-08:29:59.896535 7f94632006c0 Delete type=2 #259
|
||||
2024/04/19-08:29:59.896685 7f94632006c0 Manual compaction at level-1 from '!items!zxY3sW0iCJBvwjOS' @ 107 : 1 .. '!items!zxY3sW0iCJBvwjOS' @ 0 : 0; will stop at (end)
|
||||
|
Binary file not shown.
BIN
packs/careers/MANIFEST-000261
Normal file
BIN
packs/careers/MANIFEST-000261
Normal file
Binary file not shown.
@ -1 +1 @@
|
||||
MANIFEST-000163
|
||||
MANIFEST-000259
|
||||
|
@ -1,8 +1,8 @@
|
||||
2024/01/12-17:58:00.708420 7f2aef7fe6c0 Recovering log #161
|
||||
2024/01/12-17:58:00.758343 7f2aef7fe6c0 Delete type=3 #159
|
||||
2024/01/12-17:58:00.758928 7f2aef7fe6c0 Delete type=0 #161
|
||||
2024/01/12-18:33:25.133341 7f2aee3ff6c0 Level-0 table #166: started
|
||||
2024/01/12-18:33:25.133378 7f2aee3ff6c0 Level-0 table #166: 0 bytes OK
|
||||
2024/01/12-18:33:25.139690 7f2aee3ff6c0 Delete type=0 #164
|
||||
2024/01/12-18:33:25.139886 7f2aee3ff6c0 Manual compaction at level-0 from '!scenes!1ZDXKpKixS12xzW3' @ 72057594037927935 : 1 .. '!scenes.tiles!78gEyXvSfBJi9iL1.rJglQmZXB0eRIL8y' @ 0 : 0; will stop at (end)
|
||||
2024/01/12-18:33:25.139935 7f2aee3ff6c0 Manual compaction at level-1 from '!scenes!1ZDXKpKixS12xzW3' @ 72057594037927935 : 1 .. '!scenes.tiles!78gEyXvSfBJi9iL1.rJglQmZXB0eRIL8y' @ 0 : 0; will stop at (end)
|
||||
2024/04/26-11:56:58.176077 7f78fb4006c0 Recovering log #257
|
||||
2024/04/26-11:56:58.186350 7f78fb4006c0 Delete type=3 #255
|
||||
2024/04/26-11:56:58.186407 7f78fb4006c0 Delete type=0 #257
|
||||
2024/04/26-14:04:50.943258 7f78f90006c0 Level-0 table #262: started
|
||||
2024/04/26-14:04:50.943288 7f78f90006c0 Level-0 table #262: 0 bytes OK
|
||||
2024/04/26-14:04:50.950031 7f78f90006c0 Delete type=0 #260
|
||||
2024/04/26-14:04:50.950283 7f78f90006c0 Manual compaction at level-0 from '!scenes!1ZDXKpKixS12xzW3' @ 72057594037927935 : 1 .. '!scenes.tiles!78gEyXvSfBJi9iL1.rJglQmZXB0eRIL8y' @ 0 : 0; will stop at (end)
|
||||
2024/04/26-14:04:50.950309 7f78f90006c0 Manual compaction at level-1 from '!scenes!1ZDXKpKixS12xzW3' @ 72057594037927935 : 1 .. '!scenes.tiles!78gEyXvSfBJi9iL1.rJglQmZXB0eRIL8y' @ 0 : 0; will stop at (end)
|
||||
|
@ -1,8 +1,8 @@
|
||||
2024/01/11-23:52:22.282439 7f2aeffff6c0 Recovering log #157
|
||||
2024/01/11-23:52:22.293099 7f2aeffff6c0 Delete type=3 #155
|
||||
2024/01/11-23:52:22.293221 7f2aeffff6c0 Delete type=0 #157
|
||||
2024/01/12-17:21:26.685395 7f2aee3ff6c0 Level-0 table #162: started
|
||||
2024/01/12-17:21:26.685435 7f2aee3ff6c0 Level-0 table #162: 0 bytes OK
|
||||
2024/01/12-17:21:26.712975 7f2aee3ff6c0 Delete type=0 #160
|
||||
2024/01/12-17:21:26.786099 7f2aee3ff6c0 Manual compaction at level-0 from '!scenes!1ZDXKpKixS12xzW3' @ 72057594037927935 : 1 .. '!scenes.tiles!78gEyXvSfBJi9iL1.rJglQmZXB0eRIL8y' @ 0 : 0; will stop at (end)
|
||||
2024/01/12-17:21:26.786181 7f2aee3ff6c0 Manual compaction at level-1 from '!scenes!1ZDXKpKixS12xzW3' @ 72057594037927935 : 1 .. '!scenes.tiles!78gEyXvSfBJi9iL1.rJglQmZXB0eRIL8y' @ 0 : 0; will stop at (end)
|
||||
2024/04/19-08:19:44.103925 7f94660006c0 Recovering log #253
|
||||
2024/04/19-08:19:44.147003 7f94660006c0 Delete type=3 #251
|
||||
2024/04/19-08:19:44.147169 7f94660006c0 Delete type=0 #253
|
||||
2024/04/19-08:30:00.008693 7f94632006c0 Level-0 table #258: started
|
||||
2024/04/19-08:30:00.008732 7f94632006c0 Level-0 table #258: 0 bytes OK
|
||||
2024/04/19-08:30:00.015925 7f94632006c0 Delete type=0 #256
|
||||
2024/04/19-08:30:00.027251 7f94632006c0 Manual compaction at level-0 from '!scenes!1ZDXKpKixS12xzW3' @ 72057594037927935 : 1 .. '!scenes.tiles!78gEyXvSfBJi9iL1.rJglQmZXB0eRIL8y' @ 0 : 0; will stop at (end)
|
||||
2024/04/19-08:30:00.049675 7f94632006c0 Manual compaction at level-1 from '!scenes!1ZDXKpKixS12xzW3' @ 72057594037927935 : 1 .. '!scenes.tiles!78gEyXvSfBJi9iL1.rJglQmZXB0eRIL8y' @ 0 : 0; will stop at (end)
|
||||
|
Binary file not shown.
Binary file not shown.
BIN
packs/creatures/000203.ldb
Normal file
BIN
packs/creatures/000203.ldb
Normal file
Binary file not shown.
@ -1 +1 @@
|
||||
MANIFEST-000163
|
||||
MANIFEST-000208
|
||||
|
@ -1,8 +1,8 @@
|
||||
2024/01/12-17:58:01.104161 7f2d849ff6c0 Recovering log #161
|
||||
2024/01/12-17:58:01.153283 7f2d849ff6c0 Delete type=3 #159
|
||||
2024/01/12-17:58:01.153485 7f2d849ff6c0 Delete type=0 #161
|
||||
2024/01/12-18:33:25.169822 7f2aee3ff6c0 Level-0 table #166: started
|
||||
2024/01/12-18:33:25.169874 7f2aee3ff6c0 Level-0 table #166: 0 bytes OK
|
||||
2024/01/12-18:33:25.176198 7f2aee3ff6c0 Delete type=0 #164
|
||||
2024/01/12-18:33:25.199264 7f2aee3ff6c0 Manual compaction at level-0 from '!actors!1QGaindSWLCT4QXD' @ 72057594037927935 : 1 .. '!actors.items!yGlDTCiMiaH4vJTH.mvXGkWoCcRGjUpYV' @ 0 : 0; will stop at (end)
|
||||
2024/01/12-18:33:25.199362 7f2aee3ff6c0 Manual compaction at level-1 from '!actors!1QGaindSWLCT4QXD' @ 72057594037927935 : 1 .. '!actors.items!yGlDTCiMiaH4vJTH.mvXGkWoCcRGjUpYV' @ 0 : 0; will stop at (end)
|
||||
2024/02/23-23:05:36.345111 7fe93a0006c0 Recovering log #206
|
||||
2024/02/23-23:05:36.355350 7fe93a0006c0 Delete type=3 #204
|
||||
2024/02/23-23:05:36.355397 7fe93a0006c0 Delete type=0 #206
|
||||
2024/02/23-23:11:16.411887 7fe9336006c0 Level-0 table #211: started
|
||||
2024/02/23-23:11:16.411923 7fe9336006c0 Level-0 table #211: 0 bytes OK
|
||||
2024/02/23-23:11:16.418695 7fe9336006c0 Delete type=0 #209
|
||||
2024/02/23-23:11:16.419070 7fe9336006c0 Manual compaction at level-0 from '!actors!1QGaindSWLCT4QXD' @ 72057594037927935 : 1 .. '!actors.items!yGlDTCiMiaH4vJTH.mvXGkWoCcRGjUpYV' @ 0 : 0; will stop at (end)
|
||||
2024/02/23-23:11:16.419088 7fe9336006c0 Manual compaction at level-1 from '!actors!1QGaindSWLCT4QXD' @ 72057594037927935 : 1 .. '!actors.items!yGlDTCiMiaH4vJTH.mvXGkWoCcRGjUpYV' @ 0 : 0; will stop at (end)
|
||||
|
@ -1,8 +1,8 @@
|
||||
2024/01/11-23:52:22.387799 7f2aeeffd6c0 Recovering log #157
|
||||
2024/01/11-23:52:22.398078 7f2aeeffd6c0 Delete type=3 #155
|
||||
2024/01/11-23:52:22.398208 7f2aeeffd6c0 Delete type=0 #157
|
||||
2024/01/12-17:21:26.929290 7f2aee3ff6c0 Level-0 table #162: started
|
||||
2024/01/12-17:21:26.929361 7f2aee3ff6c0 Level-0 table #162: 0 bytes OK
|
||||
2024/01/12-17:21:26.964576 7f2aee3ff6c0 Delete type=0 #160
|
||||
2024/01/12-17:21:27.068192 7f2aee3ff6c0 Manual compaction at level-0 from '!actors!1QGaindSWLCT4QXD' @ 72057594037927935 : 1 .. '!actors.items!yGlDTCiMiaH4vJTH.mvXGkWoCcRGjUpYV' @ 0 : 0; will stop at (end)
|
||||
2024/01/12-17:21:27.068263 7f2aee3ff6c0 Manual compaction at level-1 from '!actors!1QGaindSWLCT4QXD' @ 72057594037927935 : 1 .. '!actors.items!yGlDTCiMiaH4vJTH.mvXGkWoCcRGjUpYV' @ 0 : 0; will stop at (end)
|
||||
2024/02/22-16:41:06.582756 7fe93be006c0 Recovering log #201
|
||||
2024/02/22-16:41:06.592273 7fe93be006c0 Delete type=3 #199
|
||||
2024/02/22-16:41:06.592326 7fe93be006c0 Delete type=0 #201
|
||||
2024/02/22-17:53:02.294923 7fe9336006c0 Level-0 table #207: started
|
||||
2024/02/22-17:53:02.294959 7fe9336006c0 Level-0 table #207: 0 bytes OK
|
||||
2024/02/22-17:53:02.313594 7fe9336006c0 Delete type=0 #205
|
||||
2024/02/22-17:53:02.322132 7fe9336006c0 Manual compaction at level-0 from '!actors!1QGaindSWLCT4QXD' @ 72057594037927935 : 1 .. '!actors.items!yGlDTCiMiaH4vJTH.mvXGkWoCcRGjUpYV' @ 0 : 0; will stop at (end)
|
||||
2024/02/22-17:53:02.322180 7fe9336006c0 Manual compaction at level-1 from '!actors!1QGaindSWLCT4QXD' @ 72057594037927935 : 1 .. '!actors.items!yGlDTCiMiaH4vJTH.mvXGkWoCcRGjUpYV' @ 0 : 0; will stop at (end)
|
||||
|
Binary file not shown.
BIN
packs/creatures/MANIFEST-000208
Normal file
BIN
packs/creatures/MANIFEST-000208
Normal file
Binary file not shown.
Binary file not shown.
BIN
packs/effets-exemples/000259.ldb
Normal file
BIN
packs/effets-exemples/000259.ldb
Normal file
Binary file not shown.
@ -1 +1 @@
|
||||
MANIFEST-000162
|
||||
MANIFEST-000260
|
||||
|
@ -1,8 +1,8 @@
|
||||
2024/01/12-17:58:01.054556 7f2aeeffd6c0 Recovering log #160
|
||||
2024/01/12-17:58:01.101242 7f2aeeffd6c0 Delete type=3 #158
|
||||
2024/01/12-17:58:01.101327 7f2aeeffd6c0 Delete type=0 #160
|
||||
2024/01/12-18:33:25.184427 7f2aee3ff6c0 Level-0 table #165: started
|
||||
2024/01/12-18:33:25.184480 7f2aee3ff6c0 Level-0 table #165: 0 bytes OK
|
||||
2024/01/12-18:33:25.191074 7f2aee3ff6c0 Delete type=0 #163
|
||||
2024/01/12-18:33:25.199320 7f2aee3ff6c0 Manual compaction at level-0 from '!items!6fTZ6hOKR4pWbWOe' @ 72057594037927935 : 1 .. '!items!zwSNMO9HpiqUCMt8' @ 0 : 0; will stop at (end)
|
||||
2024/01/12-18:33:25.199403 7f2aee3ff6c0 Manual compaction at level-1 from '!items!6fTZ6hOKR4pWbWOe' @ 72057594037927935 : 1 .. '!items!zwSNMO9HpiqUCMt8' @ 0 : 0; will stop at (end)
|
||||
2024/04/26-11:56:58.274057 7f78fbe006c0 Recovering log #257
|
||||
2024/04/26-11:56:58.285249 7f78fbe006c0 Delete type=3 #255
|
||||
2024/04/26-11:56:58.285383 7f78fbe006c0 Delete type=0 #257
|
||||
2024/04/26-14:04:50.977171 7f78f90006c0 Level-0 table #263: started
|
||||
2024/04/26-14:04:50.977197 7f78f90006c0 Level-0 table #263: 0 bytes OK
|
||||
2024/04/26-14:04:50.984422 7f78f90006c0 Delete type=0 #261
|
||||
2024/04/26-14:04:51.009734 7f78f90006c0 Manual compaction at level-0 from '!items!6fTZ6hOKR4pWbWOe' @ 72057594037927935 : 1 .. '!items!zwSNMO9HpiqUCMt8' @ 0 : 0; will stop at (end)
|
||||
2024/04/26-14:04:51.009781 7f78f90006c0 Manual compaction at level-1 from '!items!6fTZ6hOKR4pWbWOe' @ 72057594037927935 : 1 .. '!items!zwSNMO9HpiqUCMt8' @ 0 : 0; will stop at (end)
|
||||
|
@ -1,8 +1,15 @@
|
||||
2024/01/11-23:52:22.375443 7f2aef7fe6c0 Recovering log #156
|
||||
2024/01/11-23:52:22.385423 7f2aef7fe6c0 Delete type=3 #154
|
||||
2024/01/11-23:52:22.385520 7f2aef7fe6c0 Delete type=0 #156
|
||||
2024/01/12-17:21:26.964789 7f2aee3ff6c0 Level-0 table #161: started
|
||||
2024/01/12-17:21:26.964843 7f2aee3ff6c0 Level-0 table #161: 0 bytes OK
|
||||
2024/01/12-17:21:27.002161 7f2aee3ff6c0 Delete type=0 #159
|
||||
2024/01/12-17:21:27.068219 7f2aee3ff6c0 Manual compaction at level-0 from '!items!6fTZ6hOKR4pWbWOe' @ 72057594037927935 : 1 .. '!items!zwSNMO9HpiqUCMt8' @ 0 : 0; will stop at (end)
|
||||
2024/01/12-17:21:27.068283 7f2aee3ff6c0 Manual compaction at level-1 from '!items!6fTZ6hOKR4pWbWOe' @ 72057594037927935 : 1 .. '!items!zwSNMO9HpiqUCMt8' @ 0 : 0; will stop at (end)
|
||||
2024/04/19-08:19:44.259456 7f94656006c0 Recovering log #253
|
||||
2024/04/19-08:19:44.271045 7f94656006c0 Delete type=3 #251
|
||||
2024/04/19-08:19:44.271171 7f94656006c0 Delete type=0 #253
|
||||
2024/04/19-08:30:00.174557 7f94632006c0 Level-0 table #258: started
|
||||
2024/04/19-08:30:00.178272 7f94632006c0 Level-0 table #258: 995 bytes OK
|
||||
2024/04/19-08:30:00.184949 7f94632006c0 Delete type=0 #256
|
||||
2024/04/19-08:30:00.196844 7f94632006c0 Manual compaction at level-0 from '!items!6fTZ6hOKR4pWbWOe' @ 72057594037927935 : 1 .. '!items!zwSNMO9HpiqUCMt8' @ 0 : 0; will stop at (end)
|
||||
2024/04/19-08:30:00.219861 7f94632006c0 Manual compaction at level-1 from '!items!6fTZ6hOKR4pWbWOe' @ 72057594037927935 : 1 .. '!items!zwSNMO9HpiqUCMt8' @ 0 : 0; will stop at '!items!zwSNMO9HpiqUCMt8' @ 12 : 1
|
||||
2024/04/19-08:30:00.219880 7f94632006c0 Compacting 1@1 + 1@2 files
|
||||
2024/04/19-08:30:00.223286 7f94632006c0 Generated table #259@1: 4 keys, 995 bytes
|
||||
2024/04/19-08:30:00.223305 7f94632006c0 Compacted 1@1 + 1@2 files => 995 bytes
|
||||
2024/04/19-08:30:00.230007 7f94632006c0 compacted to: files[ 0 0 1 0 0 0 0 ]
|
||||
2024/04/19-08:30:00.230147 7f94632006c0 Delete type=2 #202
|
||||
2024/04/19-08:30:00.230383 7f94632006c0 Delete type=2 #258
|
||||
2024/04/19-08:30:00.242012 7f94632006c0 Manual compaction at level-1 from '!items!zwSNMO9HpiqUCMt8' @ 12 : 1 .. '!items!zwSNMO9HpiqUCMt8' @ 0 : 0; will stop at (end)
|
||||
|
Binary file not shown.
BIN
packs/effets-exemples/MANIFEST-000260
Normal file
BIN
packs/effets-exemples/MANIFEST-000260
Normal file
Binary file not shown.
Binary file not shown.
BIN
packs/equipment/000261.ldb
Normal file
BIN
packs/equipment/000261.ldb
Normal file
Binary file not shown.
@ -1 +1 @@
|
||||
MANIFEST-000164
|
||||
MANIFEST-000262
|
||||
|
@ -1,8 +1,8 @@
|
||||
2024/01/12-17:58:00.455820 7f2aeffff6c0 Recovering log #162
|
||||
2024/01/12-17:58:00.511511 7f2aeffff6c0 Delete type=3 #160
|
||||
2024/01/12-17:58:00.511604 7f2aeffff6c0 Delete type=0 #162
|
||||
2024/01/12-18:33:25.096428 7f2aee3ff6c0 Level-0 table #167: started
|
||||
2024/01/12-18:33:25.096474 7f2aee3ff6c0 Level-0 table #167: 0 bytes OK
|
||||
2024/01/12-18:33:25.102831 7f2aee3ff6c0 Delete type=0 #165
|
||||
2024/01/12-18:33:25.111155 7f2aee3ff6c0 Manual compaction at level-0 from '!items!0ErhyqifZLDCmMfT' @ 72057594037927935 : 1 .. '!items!yE8UH6YAgNGjKDEu' @ 0 : 0; will stop at (end)
|
||||
2024/01/12-18:33:25.111193 7f2aee3ff6c0 Manual compaction at level-1 from '!items!0ErhyqifZLDCmMfT' @ 72057594037927935 : 1 .. '!items!yE8UH6YAgNGjKDEu' @ 0 : 0; will stop at (end)
|
||||
2024/04/26-11:56:58.107651 7f78fa0006c0 Recovering log #259
|
||||
2024/04/26-11:56:58.117467 7f78fa0006c0 Delete type=3 #257
|
||||
2024/04/26-11:56:58.117610 7f78fa0006c0 Delete type=0 #259
|
||||
2024/04/26-14:04:50.910072 7f78f90006c0 Level-0 table #265: started
|
||||
2024/04/26-14:04:50.910098 7f78f90006c0 Level-0 table #265: 0 bytes OK
|
||||
2024/04/26-14:04:50.916483 7f78f90006c0 Delete type=0 #263
|
||||
2024/04/26-14:04:50.923413 7f78f90006c0 Manual compaction at level-0 from '!items!0ErhyqifZLDCmMfT' @ 72057594037927935 : 1 .. '!items!yE8UH6YAgNGjKDEu' @ 0 : 0; will stop at (end)
|
||||
2024/04/26-14:04:50.923450 7f78f90006c0 Manual compaction at level-1 from '!items!0ErhyqifZLDCmMfT' @ 72057594037927935 : 1 .. '!items!yE8UH6YAgNGjKDEu' @ 0 : 0; will stop at (end)
|
||||
|
@ -1,8 +1,15 @@
|
||||
2024/01/11-23:52:22.220063 7f2d849ff6c0 Recovering log #158
|
||||
2024/01/11-23:52:22.229888 7f2d849ff6c0 Delete type=3 #156
|
||||
2024/01/11-23:52:22.230000 7f2d849ff6c0 Delete type=0 #158
|
||||
2024/01/12-17:21:26.616976 7f2aee3ff6c0 Level-0 table #163: started
|
||||
2024/01/12-17:21:26.617027 7f2aee3ff6c0 Level-0 table #163: 0 bytes OK
|
||||
2024/01/12-17:21:26.658165 7f2aee3ff6c0 Delete type=0 #161
|
||||
2024/01/12-17:21:26.658399 7f2aee3ff6c0 Manual compaction at level-0 from '!items!0ErhyqifZLDCmMfT' @ 72057594037927935 : 1 .. '!items!yE8UH6YAgNGjKDEu' @ 0 : 0; will stop at (end)
|
||||
2024/01/12-17:21:26.658448 7f2aee3ff6c0 Manual compaction at level-1 from '!items!0ErhyqifZLDCmMfT' @ 72057594037927935 : 1 .. '!items!yE8UH6YAgNGjKDEu' @ 0 : 0; will stop at (end)
|
||||
2024/04/19-08:19:44.019625 7f94642006c0 Recovering log #255
|
||||
2024/04/19-08:19:44.030373 7f94642006c0 Delete type=3 #253
|
||||
2024/04/19-08:19:44.030526 7f94642006c0 Delete type=0 #255
|
||||
2024/04/19-08:29:59.918387 7f94632006c0 Level-0 table #260: started
|
||||
2024/04/19-08:29:59.922021 7f94632006c0 Level-0 table #260: 11238 bytes OK
|
||||
2024/04/19-08:29:59.928489 7f94632006c0 Delete type=0 #258
|
||||
2024/04/19-08:29:59.940377 7f94632006c0 Manual compaction at level-0 from '!items!0ErhyqifZLDCmMfT' @ 72057594037927935 : 1 .. '!items!yE8UH6YAgNGjKDEu' @ 0 : 0; will stop at (end)
|
||||
2024/04/19-08:29:59.962979 7f94632006c0 Manual compaction at level-1 from '!items!0ErhyqifZLDCmMfT' @ 72057594037927935 : 1 .. '!items!yE8UH6YAgNGjKDEu' @ 0 : 0; will stop at '!items!yE8UH6YAgNGjKDEu' @ 327 : 1
|
||||
2024/04/19-08:29:59.962990 7f94632006c0 Compacting 1@1 + 1@2 files
|
||||
2024/04/19-08:29:59.966809 7f94632006c0 Generated table #261@1: 43 keys, 11238 bytes
|
||||
2024/04/19-08:29:59.966843 7f94632006c0 Compacted 1@1 + 1@2 files => 11238 bytes
|
||||
2024/04/19-08:29:59.974600 7f94632006c0 compacted to: files[ 0 0 1 0 0 0 0 ]
|
||||
2024/04/19-08:29:59.974784 7f94632006c0 Delete type=2 #204
|
||||
2024/04/19-08:29:59.975112 7f94632006c0 Delete type=2 #260
|
||||
2024/04/19-08:29:59.986927 7f94632006c0 Manual compaction at level-1 from '!items!yE8UH6YAgNGjKDEu' @ 327 : 1 .. '!items!yE8UH6YAgNGjKDEu' @ 0 : 0; will stop at (end)
|
||||
|
Binary file not shown.
BIN
packs/equipment/MANIFEST-000262
Normal file
BIN
packs/equipment/MANIFEST-000262
Normal file
Binary file not shown.
Binary file not shown.
BIN
packs/fightoptions/000259.ldb
Normal file
BIN
packs/fightoptions/000259.ldb
Normal file
Binary file not shown.
@ -1 +1 @@
|
||||
MANIFEST-000162
|
||||
MANIFEST-000260
|
||||
|
@ -1,8 +1,8 @@
|
||||
2024/01/12-17:58:00.918780 7f2d849ff6c0 Recovering log #160
|
||||
2024/01/12-17:58:00.957088 7f2d849ff6c0 Delete type=3 #158
|
||||
2024/01/12-17:58:00.957195 7f2d849ff6c0 Delete type=0 #160
|
||||
2024/01/12-18:33:25.147904 7f2aee3ff6c0 Level-0 table #165: started
|
||||
2024/01/12-18:33:25.147965 7f2aee3ff6c0 Level-0 table #165: 0 bytes OK
|
||||
2024/01/12-18:33:25.154391 7f2aee3ff6c0 Delete type=0 #163
|
||||
2024/01/12-18:33:25.169583 7f2aee3ff6c0 Manual compaction at level-0 from '!items!4EmWdK1cv7EX0X3E' @ 72057594037927935 : 1 .. '!items!vGydqADwTsHZ9B3j' @ 0 : 0; will stop at (end)
|
||||
2024/01/12-18:33:25.169641 7f2aee3ff6c0 Manual compaction at level-1 from '!items!4EmWdK1cv7EX0X3E' @ 72057594037927935 : 1 .. '!items!vGydqADwTsHZ9B3j' @ 0 : 0; will stop at (end)
|
||||
2024/04/26-11:56:58.234275 7f78faa006c0 Recovering log #257
|
||||
2024/04/26-11:56:58.244632 7f78faa006c0 Delete type=3 #255
|
||||
2024/04/26-11:56:58.244781 7f78faa006c0 Delete type=0 #257
|
||||
2024/04/26-14:04:50.963407 7f78f90006c0 Level-0 table #263: started
|
||||
2024/04/26-14:04:50.963434 7f78f90006c0 Level-0 table #263: 0 bytes OK
|
||||
2024/04/26-14:04:50.970529 7f78f90006c0 Delete type=0 #261
|
||||
2024/04/26-14:04:50.977009 7f78f90006c0 Manual compaction at level-0 from '!items!4EmWdK1cv7EX0X3E' @ 72057594037927935 : 1 .. '!items!vGydqADwTsHZ9B3j' @ 0 : 0; will stop at (end)
|
||||
2024/04/26-14:04:50.977040 7f78f90006c0 Manual compaction at level-1 from '!items!4EmWdK1cv7EX0X3E' @ 72057594037927935 : 1 .. '!items!vGydqADwTsHZ9B3j' @ 0 : 0; will stop at (end)
|
||||
|
@ -1,8 +1,15 @@
|
||||
2024/01/11-23:52:22.335396 7f2aeeffd6c0 Recovering log #156
|
||||
2024/01/11-23:52:22.346449 7f2aeeffd6c0 Delete type=3 #154
|
||||
2024/01/11-23:52:22.346560 7f2aeeffd6c0 Delete type=0 #156
|
||||
2024/01/12-17:21:26.786343 7f2aee3ff6c0 Level-0 table #161: started
|
||||
2024/01/12-17:21:26.790645 7f2aee3ff6c0 Level-0 table #161: 0 bytes OK
|
||||
2024/01/12-17:21:26.827682 7f2aee3ff6c0 Delete type=0 #159
|
||||
2024/01/12-17:21:26.928985 7f2aee3ff6c0 Manual compaction at level-0 from '!items!4EmWdK1cv7EX0X3E' @ 72057594037927935 : 1 .. '!items!vGydqADwTsHZ9B3j' @ 0 : 0; will stop at (end)
|
||||
2024/01/12-17:21:26.929106 7f2aee3ff6c0 Manual compaction at level-1 from '!items!4EmWdK1cv7EX0X3E' @ 72057594037927935 : 1 .. '!items!vGydqADwTsHZ9B3j' @ 0 : 0; will stop at (end)
|
||||
2024/04/19-08:19:44.212596 7f9464c006c0 Recovering log #253
|
||||
2024/04/19-08:19:44.224303 7f9464c006c0 Delete type=3 #251
|
||||
2024/04/19-08:19:44.224391 7f9464c006c0 Delete type=0 #253
|
||||
2024/04/19-08:30:00.095765 7f94632006c0 Level-0 table #258: started
|
||||
2024/04/19-08:30:00.099582 7f94632006c0 Level-0 table #258: 15776 bytes OK
|
||||
2024/04/19-08:30:00.107187 7f94632006c0 Delete type=0 #256
|
||||
2024/04/19-08:30:00.118151 7f94632006c0 Manual compaction at level-0 from '!items!4EmWdK1cv7EX0X3E' @ 72057594037927935 : 1 .. '!items!vGydqADwTsHZ9B3j' @ 0 : 0; will stop at (end)
|
||||
2024/04/19-08:30:00.140008 7f94632006c0 Manual compaction at level-1 from '!items!4EmWdK1cv7EX0X3E' @ 72057594037927935 : 1 .. '!items!vGydqADwTsHZ9B3j' @ 0 : 0; will stop at '!items!vGydqADwTsHZ9B3j' @ 90 : 1
|
||||
2024/04/19-08:30:00.140020 7f94632006c0 Compacting 1@1 + 1@2 files
|
||||
2024/04/19-08:30:00.144757 7f94632006c0 Generated table #259@1: 30 keys, 15776 bytes
|
||||
2024/04/19-08:30:00.144786 7f94632006c0 Compacted 1@1 + 1@2 files => 15776 bytes
|
||||
2024/04/19-08:30:00.151053 7f94632006c0 compacted to: files[ 0 0 1 0 0 0 0 ]
|
||||
2024/04/19-08:30:00.151191 7f94632006c0 Delete type=2 #202
|
||||
2024/04/19-08:30:00.151438 7f94632006c0 Delete type=2 #258
|
||||
2024/04/19-08:30:00.163491 7f94632006c0 Manual compaction at level-1 from '!items!vGydqADwTsHZ9B3j' @ 90 : 1 .. '!items!vGydqADwTsHZ9B3j' @ 0 : 0; will stop at (end)
|
||||
|
Binary file not shown.
BIN
packs/fightoptions/MANIFEST-000260
Normal file
BIN
packs/fightoptions/MANIFEST-000260
Normal file
Binary file not shown.
Binary file not shown.
BIN
packs/flaws/000260.ldb
Normal file
BIN
packs/flaws/000260.ldb
Normal file
Binary file not shown.
@ -1 +1 @@
|
||||
MANIFEST-000163
|
||||
MANIFEST-000261
|
||||
|
@ -1,8 +1,8 @@
|
||||
2024/01/12-17:58:00.253802 7f2aeffff6c0 Recovering log #161
|
||||
2024/01/12-17:58:00.296898 7f2aeffff6c0 Delete type=3 #159
|
||||
2024/01/12-17:58:00.297475 7f2aeffff6c0 Delete type=0 #161
|
||||
2024/01/12-18:33:25.061352 7f2aee3ff6c0 Level-0 table #166: started
|
||||
2024/01/12-18:33:25.061404 7f2aee3ff6c0 Level-0 table #166: 0 bytes OK
|
||||
2024/01/12-18:33:25.067829 7f2aee3ff6c0 Delete type=0 #164
|
||||
2024/01/12-18:33:25.075201 7f2aee3ff6c0 Manual compaction at level-0 from '!items!0wCqg1UpGd50uJrS' @ 72057594037927935 : 1 .. '!items!znd0K3b7HzYpdehs' @ 0 : 0; will stop at (end)
|
||||
2024/01/12-18:33:25.081844 7f2aee3ff6c0 Manual compaction at level-1 from '!items!0wCqg1UpGd50uJrS' @ 72057594037927935 : 1 .. '!items!znd0K3b7HzYpdehs' @ 0 : 0; will stop at (end)
|
||||
2024/04/26-11:56:58.051636 7f78fa0006c0 Recovering log #258
|
||||
2024/04/26-11:56:58.062318 7f78fa0006c0 Delete type=3 #256
|
||||
2024/04/26-11:56:58.062380 7f78fa0006c0 Delete type=0 #258
|
||||
2024/04/26-14:04:50.876162 7f78f90006c0 Level-0 table #264: started
|
||||
2024/04/26-14:04:50.876184 7f78f90006c0 Level-0 table #264: 0 bytes OK
|
||||
2024/04/26-14:04:50.882655 7f78f90006c0 Delete type=0 #262
|
||||
2024/04/26-14:04:50.896848 7f78f90006c0 Manual compaction at level-0 from '!items!0wCqg1UpGd50uJrS' @ 72057594037927935 : 1 .. '!items!znd0K3b7HzYpdehs' @ 0 : 0; will stop at (end)
|
||||
2024/04/26-14:04:50.896911 7f78f90006c0 Manual compaction at level-1 from '!items!0wCqg1UpGd50uJrS' @ 72057594037927935 : 1 .. '!items!znd0K3b7HzYpdehs' @ 0 : 0; will stop at (end)
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user