Compare commits

...

8 Commits

Author SHA1 Message Date
uberwald e92b2deacf Various enhancements 2024-06-12 11:16:46 +02:00
uberwald dc4429f3e1 Various automations fixes 2024-06-10 14:30:12 +02:00
uberwald 92684b0d32 Fix skills 2024-02-26 14:20:54 +01:00
uberwald 9786c07f1b Sprawl compendium fixed 2024-02-25 13:18:02 +01:00
uberwald 2520bec30f v1.0 release 2024-02-15 06:57:35 +01:00
uberwald 9ad34b4672 Enhance stats 2024-02-08 13:03:06 +01:00
uberwald ae36be975d Add missing compendiums 2024-01-26 16:46:41 +01:00
uberwald 69eaa8fc66 Add missing compendiums 2024-01-26 08:45:59 +01:00
158 changed files with 2489 additions and 2130 deletions
+18 -1
View File
@@ -1,3 +1,20 @@
{ {
"TYPES": {
"Actor": {
"character": "Character"
},
"Item": {
"armor": "Armor",
"weapon": "Weapon",
"equipment": "Equipment",
"skill": "Skill",
"perk": "Perk",
"ability": "Ability",
"cumulativetask": "Cumulative Task",
"genetic": "Genetic",
"money": "Money",
"cyber": "Cyber",
"ammo": "Ammo"
}
}
} }
+29 -13
View File
@@ -11,7 +11,7 @@ export class DarkStarsActorSheet extends ActorSheet {
/** @override */ /** @override */
static get defaultOptions() { static get defaultOptions() {
return mergeObject(super.defaultOptions, { return foundry.utils.mergeObject(super.defaultOptions, {
classes: ["fvtt-dark-stars", "sheet", "actor"], classes: ["fvtt-dark-stars", "sheet", "actor"],
template: "systems/fvtt-dark-stars/templates/actors/actor-sheet.hbs", template: "systems/fvtt-dark-stars/templates/actors/actor-sheet.hbs",
width: 960, width: 960,
@@ -25,7 +25,7 @@ export class DarkStarsActorSheet extends ActorSheet {
/* -------------------------------------------- */ /* -------------------------------------------- */
async getData() { async getData() {
const objectData = this.object.system const objectData = this.object.system
let actorData = duplicate(objectData) let actorData = foundry.utils.duplicate(objectData)
let formData = { let formData = {
title: this.title, title: this.title,
@@ -39,21 +39,23 @@ export class DarkStarsActorSheet extends ActorSheet {
limited: this.object.limited, limited: this.object.limited,
skills: this.actor.getSkills( ), skills: this.actor.getSkills( ),
perks: this.actor.getPerks( ), perks: this.actor.getPerks( ),
weapons: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getWeapons()) ), weapons: this.actor.checkAndPrepareEquipments( foundry.utils.duplicate(this.actor.getWeapons()) ),
ammos: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getAmmos()) ), ammos: this.actor.checkAndPrepareEquipments( foundry.utils.duplicate(this.actor.getAmmos()) ),
spells: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getSpells()) ), spells: this.actor.checkAndPrepareEquipments( foundry.utils.duplicate(this.actor.getSpells()) ),
powers: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getPowers()) ), powers: this.actor.checkAndPrepareEquipments( foundry.utils.duplicate(this.actor.getPowers()) ),
armors: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getArmors())), armors: this.actor.checkAndPrepareEquipments( foundry.utils.duplicate(this.actor.getArmors())),
shields: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getShields())), shields: this.actor.checkAndPrepareEquipments( foundry.utils.duplicate(this.actor.getShields())),
equipments: this.actor.checkAndPrepareEquipments(duplicate(this.actor.getEquipmentsOnly()) ), equipments: this.actor.checkAndPrepareEquipments(foundry.utils.duplicate(this.actor.getEquipmentsOnly()) ),
equippedWeapons: this.actor.checkAndPrepareEquipments(duplicate(this.actor.getEquippedWeapons()) ), equippedWeapons: this.actor.checkAndPrepareEquipments(foundry.utils.duplicate(this.actor.getEquippedWeapons()) ),
cybers: this.actor.checkAndPrepareEquipments(duplicate(this.actor.getCybers()) ), cybers: this.actor.checkAndPrepareEquipments(foundry.utils.duplicate(this.actor.getCybers()) ),
genetics: this.actor.checkAndPrepareEquipments(duplicate(this.actor.getGenetics()) ), genetics: this.actor.checkAndPrepareEquipments(foundry.utils.duplicate(this.actor.getGenetics()) ),
equippedArmor: this.actor.getEquippedArmor(), equippedArmor: this.actor.getEquippedArmor(),
equippedShield: this.actor.getEquippedShield(), equippedShield: this.actor.getEquippedShield(),
subActors: duplicate(this.actor.getSubActors()), subActors: foundry.utils.duplicate(this.actor.getSubActors()),
encCapacity: this.actor.getEncumbranceCapacity(), encCapacity: this.actor.getEncumbranceCapacity(),
conditions: this.actor.getConditions(), conditions: this.actor.getConditions(),
extendedTests: this.actor.getExtendedTests(),
config: game.system.darkstars.config,
description: await TextEditor.enrichHTML(this.object.system.biodata.description, {async: true}), description: await TextEditor.enrichHTML(this.object.system.biodata.description, {async: true}),
notes: await TextEditor.enrichHTML(this.object.system.biodata.notes, {async: true}), notes: await TextEditor.enrichHTML(this.object.system.biodata.notes, {async: true}),
containersTree: this.actor.containersTree, containersTree: this.actor.containersTree,
@@ -145,6 +147,20 @@ export class DarkStarsActorSheet extends ActorSheet {
const skillId = li.data("item-id") const skillId = li.data("item-id")
this.actor.rollSkill(skillId) this.actor.rollSkill(skillId)
}); });
html.find('.roll-attribute').click((event) => {
const attrKey = $(event.currentTarget).data("attr-key")
this.actor.rollAttribute(attrKey)
})
html.find('.start-extended-test').click((event) => {
const li = $(event.currentTarget).parents(".item")
const skillId = li.data("item-id")
this.actor.rollSkill(skillId, true)
})
html.find('.roll-extended-test').click((event) => {
const li = $(event.currentTarget).parents(".item")
const testId = li.data("item-id")
this.actor.continueExtendedTest(testId)
})
html.find('.roll-weapon').click((event) => { html.find('.roll-weapon').click((event) => {
const li = $(event.currentTarget).parents(".item"); const li = $(event.currentTarget).parents(".item");
+94 -45
View File
@@ -43,8 +43,6 @@ export class DarkStarsActor extends Actor {
} }
if (data.type == 'character') { if (data.type == 'character') {
const skills = await DarkStarsUtility.loadCompendium("fvtt-dark-stars.skills");
data.items = skills.map(i => i.toObject())
} }
if (data.type == 'npc') { if (data.type == 'npc') {
} }
@@ -120,54 +118,59 @@ export class DarkStarsActor extends Actor {
} }
getEquippedWeapons() { getEquippedWeapons() {
let comp = duplicate(this.items.filter(item => item.type == 'weapon' && item.system.equipped) || []); let comp = foundry.utils.duplicate(this.items.filter(item => item.type == 'weapon' && item.system.equipped) || []);
DarkStarsUtility.sortArrayObjectsByName(comp) DarkStarsUtility.sortArrayObjectsByName(comp)
return comp; return comp;
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
getArmors() { getArmors() {
let comp = duplicate(this.items.filter(item => item.type == 'armor') || []); let comp = foundry.utils.duplicate(this.items.filter(item => item.type == 'armor') || []);
DarkStarsUtility.sortArrayObjectsByName(comp) DarkStarsUtility.sortArrayObjectsByName(comp)
return comp; return comp;
} }
getSpells() { getSpells() {
let comp = duplicate(this.items.filter(item => item.type == 'spell') || []); let comp = foundry.utils.duplicate(this.items.filter(item => item.type == 'spell') || []);
DarkStarsUtility.sortArrayObjectsByName(comp) DarkStarsUtility.sortArrayObjectsByName(comp)
return comp; return comp;
} }
getPowers() { getPowers() {
let comp = duplicate(this.items.filter(item => item.type == 'psychic') || []); let comp = foundry.utils.duplicate(this.items.filter(item => item.type == 'psychic') || []);
DarkStarsUtility.sortArrayObjectsByName(comp)
return comp;
}
getExtendedTests() {
let comp = foundry.utils.duplicate(this.items.filter(item => item.type == 'extendedtest') || []);
DarkStarsUtility.sortArrayObjectsByName(comp) DarkStarsUtility.sortArrayObjectsByName(comp)
return comp; return comp;
} }
getEquippedArmor() { getEquippedArmor() {
let comp = this.items.find(item => item.type == 'armor' && item.system.equipped) let comp = this.items.find(item => item.type == 'armor' && item.system.equipped)
if (comp) { if (comp) {
return duplicate(comp) return foundry.utils.duplicate(comp)
} }
return undefined return undefined
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
getCybers() { getCybers() {
let comp = duplicate(this.items.filter(item => item.type == 'cyber') || []); let comp = foundry.utils.duplicate(this.items.filter(item => item.type == 'cyber') || []);
DarkStarsUtility.sortArrayObjectsByName(comp) DarkStarsUtility.sortArrayObjectsByName(comp)
return comp; return comp;
} }
getGenetics() { getGenetics() {
let comp = duplicate(this.items.filter(item => item.type == 'genetic') || []); let comp = foundry.utils.duplicate(this.items.filter(item => item.type == 'genetic') || []);
DarkStarsUtility.sortArrayObjectsByName(comp) DarkStarsUtility.sortArrayObjectsByName(comp)
return comp; return comp;
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
getShields() { getShields() {
let comp = duplicate(this.items.filter(item => item.type == 'shield') || []); let comp = foundry.utils.duplicate(this.items.filter(item => item.type == 'shield') || []);
DarkStarsUtility.sortArrayObjectsByName(comp) DarkStarsUtility.sortArrayObjectsByName(comp)
return comp; return comp;
} }
getEquippedShield() { getEquippedShield() {
let comp = this.items.find(item => item.type == 'shield' && item.system.equipped) let comp = this.items.find(item => item.type == 'shield' && item.system.equipped)
if (comp) { if (comp) {
return duplicate(comp) return foundry.utils.duplicate(comp)
} }
return undefined return undefined
} }
@@ -177,7 +180,7 @@ export class DarkStarsActor extends Actor {
if (item.type == "weapon" && item.system.needammo) { if (item.type == "weapon" && item.system.needammo) {
let ammo = this.items.find(ammo => ammo.type == "ammo" && item.system.ammoid == ammo.id) let ammo = this.items.find(ammo => ammo.type == "ammo" && item.system.ammoid == ammo.id)
if (ammo) { if (ammo) {
item.ammo = duplicate(ammo) item.ammo = foundry.utils.duplicate(ammo)
} }
} }
} }
@@ -192,29 +195,34 @@ export class DarkStarsActor extends Actor {
/* -------------------------------------------- */ /* -------------------------------------------- */
getConditions() { getConditions() {
let comp = duplicate(this.items.filter(item => item.type == 'condition') || []); let comp = foundry.utils.duplicate(this.items.filter(item => item.type == 'condition') || []);
DarkStarsUtility.sortArrayObjectsByName(comp) DarkStarsUtility.sortArrayObjectsByName(comp)
return comp; return comp;
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
getWeapons() { getWeapons() {
let comp = duplicate(this.items.filter(item => item.type == 'weapon') || []); let comp = foundry.utils.duplicate(this.items.filter(item => item.type == 'weapon') || []);
DarkStarsUtility.sortArrayObjectsByName(comp) DarkStarsUtility.sortArrayObjectsByName(comp)
return comp; return comp;
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
getAmmos() { getAmmos() {
let comp = duplicate(this.items.filter(item => item.type == 'ammo') || []); let comp = foundry.utils.duplicate(this.items.filter(item => item.type == 'ammo') || []);
DarkStarsUtility.sortArrayObjectsByName(comp) DarkStarsUtility.sortArrayObjectsByName(comp)
return comp; return comp;
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
getItemById(id) { getItemById(id, duplicate = true) {
let item = this.items.find(item => item.id == id); let item = this.items.find(it => it.id == id)
if (item) { if (item && duplicate) {
item = duplicate(item) item = foundry.utils.duplicate(item)
} }
return item; return item
}
/* -------------------------------------------- */
getItem(id) {
let item = this.items.get(id)
return item
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
setWeaponAmmo(weaponId, ammoId) { setWeaponAmmo(weaponId, ammoId) {
@@ -233,14 +241,14 @@ export class DarkStarsActor extends Actor {
/* -------------------------------------------- */ /* -------------------------------------------- */
updateSkill(skill) { updateSkill(skill) {
skill.derivated = duplicate(this.system.derivated[skill.system.base]) skill.derivated = foundry.utils.duplicate(this.system.derivated[skill.system.base])
skill.total = skill.system.value + skill.derivated.value + skill.system.bonus skill.total = skill.system.value + skill.derivated.value + skill.system.bonus
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
getSkills() { getSkills() {
this.computeDerivated() this.computeDerivated()
let comp = duplicate(this.items.filter(item => item.type == 'skill') || []) let comp = foundry.utils.duplicate(this.items.filter(item => item.type == 'skill') || [])
for (let skill of comp) { for (let skill of comp) {
this.updateSkill(skill) this.updateSkill(skill)
} }
@@ -250,7 +258,7 @@ export class DarkStarsActor extends Actor {
/* -------------------------------------------- */ /* -------------------------------------------- */
getPerks() { getPerks() {
let comp = duplicate(this.items.filter(item => item.type == 'perk') || []) let comp = foundry.utils.duplicate(this.items.filter(item => item.type == 'perk') || [])
DarkStarsUtility.sortArrayObjectsByName(comp) DarkStarsUtility.sortArrayObjectsByName(comp)
return comp return comp
} }
@@ -258,7 +266,7 @@ export class DarkStarsActor extends Actor {
/* -------------------------------------------- */ /* -------------------------------------------- */
async equipItem(itemId) { async equipItem(itemId) {
let item = this.items.find(item => item.id == itemId) let item = this.items.find(item => item.id == itemId)
if (item && item.system) { if (item?.system) {
if (item.type == "armor") { if (item.type == "armor") {
let armor = this.items.find(item => item.id != itemId && item.type == "armor" && item.system.equipped) let armor = this.items.find(item => item.id != itemId && item.type == "armor" && item.system.equipped)
if (armor) { if (armor) {
@@ -295,7 +303,7 @@ export class DarkStarsActor extends Actor {
} }
/* ------------------------------------------- */ /* ------------------------------------------- */
getEquipmentsOnly() { getEquipmentsOnly() {
return duplicate(this.items.filter(item => item.type == "equipment") || []) return foundry.utils.duplicate(this.items.filter(item => item.type == "equipment") || [])
} }
/* ------------------------------------------- */ /* ------------------------------------------- */
@@ -321,7 +329,7 @@ export class DarkStarsActor extends Actor {
/* ------------------------------------------- */ /* ------------------------------------------- */
async buildContainerTree() { async buildContainerTree() {
let equipments = duplicate(this.items.filter(item => item.type == "equipment") || []) let equipments = foundry.utils.duplicate(this.items.filter(item => item.type == "equipment") || [])
for (let equip1 of equipments) { for (let equip1 of equipments) {
if (equip1.system.iscontainer) { if (equip1.system.iscontainer) {
equip1.system.contents = [] equip1.system.contents = []
@@ -375,7 +383,7 @@ export class DarkStarsActor extends Actor {
async incDecHP(formula) { async incDecHP(formula) {
let dmgRoll = new Roll(formula + "[dark-starsorange]").roll({ async: false }) let dmgRoll = new Roll(formula + "[dark-starsorange]").roll({ async: false })
await DarkStarsUtility.showDiceSoNice(dmgRoll, game.settings.get("core", "rollMode")) await DarkStarsUtility.showDiceSoNice(dmgRoll, game.settings.get("core", "rollMode"))
let hp = duplicate(this.system.secondary.hp) let hp = foundry.utils.duplicate(this.system.secondary.hp)
hp.value = Number(hp.value) + Number(dmgRoll.total) hp.value = Number(hp.value) + Number(dmgRoll.total)
this.update({ 'system.secondary.hp': hp }) this.update({ 'system.secondary.hp': hp })
return Number(dmgRoll.total) return Number(dmgRoll.total)
@@ -429,9 +437,10 @@ export class DarkStarsActor extends Actor {
return this.items.find(i => i.type == "perk" && i.name.toLowerCase() === "last word") return this.items.find(i => i.type == "perk" && i.name.toLowerCase() === "last word")
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
getInitiativeScore() { async getInitiativeScore() {
let initFormula = (this.system.derivated.si.value + this.system.derivated.si.bonus) + "d6" let initFormula = (this.system.derivated.si.value + this.system.derivated.si.bonus) + "d6"
let initRoll = new Roll(initFormula).roll({ async: false }) let initRoll = await new Roll(initFormula).roll()
await DarkStarsUtility.showDiceSoNice(initRoll, game.settings.get("core", "rollMode"))
return initRoll.total return initRoll.total
} }
@@ -439,13 +448,13 @@ export class DarkStarsActor extends Actor {
getSubActors() { getSubActors() {
let subActors = []; let subActors = [];
for (let id of this.system.subactors) { for (let id of this.system.subactors) {
subActors.push(duplicate(game.actors.get(id))) subActors.push(foundry.utils.duplicate(game.actors.get(id)))
} }
return subActors; return subActors;
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
async addSubActor(subActorId) { async addSubActor(subActorId) {
let subActors = duplicate(this.system.subactors); let subActors = foundry.utils.duplicate(this.system.subactors);
subActors.push(subActorId); subActors.push(subActorId);
await this.update({ 'system.subactors': subActors }); await this.update({ 'system.subactors': subActors });
} }
@@ -464,7 +473,7 @@ export class DarkStarsActor extends Actor {
getOneSkill(skillId) { getOneSkill(skillId) {
let skill = this.items.find(item => item.type == 'skill' && item.id == skillId) let skill = this.items.find(item => item.type == 'skill' && item.id == skillId)
if (skill) { if (skill) {
skill = duplicate(skill); skill = foundry.utils.duplicate(skill);
} }
return skill; return skill;
} }
@@ -560,7 +569,7 @@ export class DarkStarsActor extends Actor {
/* -------------------------------------------- */ /* -------------------------------------------- */
modifyRerolls( value) { modifyRerolls( value) {
let rerolls = duplicate(this.system.various.rerolls) let rerolls = foundry.utils.duplicate(this.system.various.rerolls)
rerolls.value += value rerolls.value += value
this.update({ 'system.various.rerolls': rerolls }) this.update({ 'system.various.rerolls': rerolls })
} }
@@ -576,7 +585,9 @@ export class DarkStarsActor extends Actor {
let rollData = DarkStarsUtility.getBasicRollData() let rollData = DarkStarsUtility.getBasicRollData()
rollData.alias = this.name rollData.alias = this.name
rollData.actorImg = this.img rollData.actorImg = this.img
rollData.actorId = this.id console.log("Prepare common roll data for actor", this)
rollData.tokenId = this.token?.id
rollData.actorId = this.id
rollData.img = this.img rollData.img = this.img
rollData.armors = this.getArmors() rollData.armors = this.getArmors()
rollData.conditions = this.getConditions() rollData.conditions = this.getConditions()
@@ -616,24 +627,51 @@ export class DarkStarsActor extends Actor {
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
rollAbility(abilityKey) { rollAttribute(attrKey) {
let rollData = this.getCommonRollData(abilityKey) let rollData = this.getCommonRollData()
rollData.mode = "ability" rollData.attr = foundry.utils.duplicate(this.system.attributes[attrKey])
if (rollData.target) { rollData.mode = "attribute"
ui.notifications.warn("You are targetting a token with a skill : please use a Weapon instead.") rollData.title = "Attribute " + rollData.attr.label
return this.startRoll(rollData)
}
/* -------------------------------------------- */
continueExtendedTest(testId) {
let test = this.items.get(testId)
if (test) {
let skill = this.items.find(it => it.type == "skill" && it.name.toLowerCase() == test.system.skill.toLowerCase())
if (skill) {
skill = foundry.utils.duplicate(skill)
this.updateSkill(skill)
let rollData = this.getCommonRollData()
rollData.mode = "extendedtest"
rollData.isExtended = true
rollData.extendedTest = test
rollData.title = "Extended test " + skill.name
rollData.skill = skill
rollData.img = skill.img
rollData.taskId = test.id
if (rollData.target) {
ui.notifications.warn("You are targetting a token with a skill : please use a Weapon instead.")
return
}
this.startRoll(rollData)
} else {
console.log("Unable to find the relevant skill for extended test " + test.system.skill)
}
} else {
console.log("Unable to find the extended test")
} }
DarkStarsUtility.rollDarkStars(rollData)
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
rollSkill(skillId) { async rollSkill(skillId, isExtended = false, taskId = undefined) {
let skill = this.items.get(skillId) let skill = this.items.get(skillId)
if (skill) { if (skill) {
skill = duplicate(skill) skill = foundry.utils.duplicate(skill)
this.updateSkill(skill) this.updateSkill(skill)
let rollData = this.getCommonRollData() let rollData = this.getCommonRollData()
rollData.mode = "skill" rollData.mode = "skill"
rollData.isExtended = isExtended
rollData.title = "Skill " + skill.name rollData.title = "Skill " + skill.name
rollData.skill = skill rollData.skill = skill
rollData.img = skill.img rollData.img = skill.img
@@ -641,6 +679,17 @@ export class DarkStarsActor extends Actor {
ui.notifications.warn("You are targetting a token with a skill : please use a Weapon instead.") ui.notifications.warn("You are targetting a token with a skill : please use a Weapon instead.")
return return
} }
if (isExtended) {
rollData.title = "Extended Test " + skill.name
if (!taskId) {
let extendedTest = await this.createEmbeddedDocuments("Item", [{name: "Extended test " + skill.name, type: "extendedtest",
'system.skill': skill.name}])
//console.log("Task", cumulativeTask)
rollData.taskId = extendedTest[0].id
}else {
rollData.taskId = extendedTest[0].id
}
}
this.startRoll(rollData) this.startRoll(rollData)
} }
} }
@@ -649,10 +698,10 @@ export class DarkStarsActor extends Actor {
rollWeapon(weaponId) { rollWeapon(weaponId) {
let weapon = this.items.get(weaponId) let weapon = this.items.get(weaponId)
if (weapon) { if (weapon) {
weapon = duplicate(weapon) weapon = foundry.utils.duplicate(weapon)
let skill = this.items.find(item => item.name.toLowerCase() == weapon.system.skill.toLowerCase()) let skill = this.items.find(item => item.name.toLowerCase() == weapon.system.skill.toLowerCase())
if (skill) { if (skill) {
skill = duplicate(skill) skill = foundry.utils.duplicate(skill)
this.updateSkill(skill) this.updateSkill(skill)
let rollData = this.getCommonRollData() let rollData = this.getCommonRollData()
rollData.mode = "weapon" rollData.mode = "weapon"
+1 -1
View File
@@ -21,7 +21,7 @@ export class DarkStarsCombat extends Combat {
for (let cId of ids) { for (let cId of ids) {
const c = this.combatants.get(cId); const c = this.combatants.get(cId);
let id = c._id || c.id; let id = c._id || c.id;
let initScore = c.actor ? c.actor.getInitiativeScore(this.id, id) : -1; let initScore = c.actor ? await c.actor.getInitiativeScore(this.id, id) : -1;
await this.updateEmbeddedDocuments("Combatant", [{ _id: id, initiative: initScore }]); await this.updateEmbeddedDocuments("Combatant", [{ _id: id, initiative: initScore }]);
setTimeout(() => this.processOtherTurns(c, initScore), 400) setTimeout(() => this.processOtherTurns(c, initScore), 400)
} }
+66
View File
@@ -1,6 +1,72 @@
export const DARKSTARS_CONFIG = { export const DARKSTARS_CONFIG = {
sizeOptions: {
"1": "Tiny",
"2": "Small",
"3": "Medium",
"4": "Large",
"5": "Huge",
"6": "Gargantuan"
},
classNPC: {
"none": "None",
"chaplain": "Chaplain",
"magus": "Magus",
"martial": "Martial",
"skalawag": "Skalawag",
"warden": "Warden"
},
synergyBonus: {
"0": "0",
"5": "+5%",
"+6": "+6%",
"+7": "+7%",
"+8": "+8%",
"+9": "+9%",
"+10": "+10%"
},
attributeModifier: [
{value: "0", label: "None"},
{value: "-1", label: "Difficult (-1)"},
{value: "-3", label: "Hard (-3)"},
{value: "-6", label: "Very Hard (-6)"},
{value: "-9", label: "Impossible (-9)"}
],
weaponAiming: {
"none": "None",
" arm": "Arm (-50)",
"head": "Head (-50)",
"torso": "Torso(-30)",
"leg": "Leg (-30)",
"hand": "Hand/Weapon (-70)"
},
rollModifiers: [
{ "value": "-80", "label": "-80%" },
{ "value": "-70", "label": "-70%" },
{ "value": "-60", "label": "-60%" },
{ "value": "-50", "label": "-50%" },
{ "value": "-40", "label": "-40%" },
{ "value": "-30", "label": "-30%" },
{ "value": "-20", "label": "-20%" },
{ "value": "-10", "label": "-10%" },
{ "value": "0", "label": "0%" },
{ "value": "+10", "label": "+10%" },
{ "value": "+20", "label": "+20%" },
{ "value": "+30", "label": "+30%" },
{ "value": "+40", "label": "+40%" }
],
abilityValues: {
"0": "0",
"1": "1",
"2": "2",
"3": "3",
"4": "4",
"5": "5",
"6": "6",
"7": "7",
"8": "8"
},
basebonus : { basebonus : {
"csb": "CSB", "csb": "CSB",
"ssb": "SSB", "ssb": "SSB",
+3 -3
View File
@@ -9,7 +9,7 @@ export class DarkStarsItemSheet extends ItemSheet {
/** @override */ /** @override */
static get defaultOptions() { static get defaultOptions() {
return mergeObject(super.defaultOptions, { return foundry.utils.mergeObject(super.defaultOptions, {
classes: ["fvtt-dark-stars", "sheet", "item"], classes: ["fvtt-dark-stars", "sheet", "item"],
template: "systems/fvtt-dark-stars/templates/items/item-sheet.hbs", template: "systems/fvtt-dark-stars/templates/items/item-sheet.hbs",
dragDrop: [{ dragSelector: null, dropSelector: null }], dragDrop: [{ dragSelector: null, dropSelector: null }],
@@ -49,7 +49,7 @@ export class DarkStarsItemSheet extends ItemSheet {
/* -------------------------------------------- */ /* -------------------------------------------- */
async getData() { async getData() {
let objectData = duplicate(this.object.system) let objectData = foundry.utils.duplicate(this.object.system)
let formData = { let formData = {
title: this.title, title: this.title,
@@ -87,7 +87,7 @@ export class DarkStarsItemSheet extends ItemSheet {
/* -------------------------------------------- */ /* -------------------------------------------- */
postItem() { postItem() {
let chatData = duplicate(DarkStarsUtility.data(this.item)); let chatData = foundry.utils.duplicate(DarkStarsUtility.data(this.item));
if (this.actor) { if (this.actor) {
chatData.actor = { id: this.actor.id }; chatData.actor = { id: this.actor.id };
} }
+2 -5
View File
@@ -18,6 +18,7 @@ import { DarkStarsItem } from "./dark-stars-item.js";
import { DarkStarsHotbar } from "./dark-stars-hotbar.js" import { DarkStarsHotbar } from "./dark-stars-hotbar.js"
import { DarkStarsCommands } from "./dark-stars-commands.js" import { DarkStarsCommands } from "./dark-stars-commands.js"
import { DARKSTARS_CONFIG } from "./dark-stars-config.js"; import { DARKSTARS_CONFIG } from "./dark-stars-config.js";
import { ClassCounter} from "https://www.uberwald.me/fvtt_appcount/count-class-ready.js"
/* -------------------------------------------- */ /* -------------------------------------------- */
/* Foundry VTT Initialization */ /* Foundry VTT Initialization */
@@ -91,15 +92,11 @@ Hooks.once("ready", function () {
}); });
} }
// CSS patch for v9
if (game.version) {
let sidebar = document.getElementById("sidebar");
sidebar.style.width = "min-content";
}
welcomeMessage(); welcomeMessage();
DarkStarsUtility.ready() DarkStarsUtility.ready()
DarkStarsCommands.init() DarkStarsCommands.init()
ClassCounter.registerUsageCount()
}) })
/* -------------------------------------------- */ /* -------------------------------------------- */
+13 -12
View File
@@ -11,7 +11,7 @@ export class DarkStarsNPCSheet extends ActorSheet {
/** @override */ /** @override */
static get defaultOptions() { static get defaultOptions() {
return mergeObject(super.defaultOptions, { return foundry.utils.mergeObject(super.defaultOptions, {
classes: ["dark-stars-rpg", "sheet", "actor"], classes: ["dark-stars-rpg", "sheet", "actor"],
template: "systems/fvtt-dark-stars/templates/npc-sheet.hbs", template: "systems/fvtt-dark-stars/templates/npc-sheet.hbs",
width: 640, width: 640,
@@ -25,7 +25,7 @@ export class DarkStarsNPCSheet extends ActorSheet {
/* -------------------------------------------- */ /* -------------------------------------------- */
async getData() { async getData() {
const objectData = this.object.system const objectData = this.object.system
let actorData = duplicate(objectData) let actorData = foundry.utils.duplicate(objectData)
let formData = { let formData = {
title: this.title, title: this.title,
@@ -38,21 +38,22 @@ export class DarkStarsNPCSheet extends ActorSheet {
data: actorData, data: actorData,
limited: this.object.limited, limited: this.object.limited,
skills: this.actor.getSkills( ), skills: this.actor.getSkills( ),
weapons: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getWeapons()) ), weapons: this.actor.checkAndPrepareEquipments( foundry.utils.duplicate(this.actor.getWeapons()) ),
armors: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getArmors())), armors: this.actor.checkAndPrepareEquipments( foundry.utils.duplicate(this.actor.getArmors())),
shields: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getShields())), shields: this.actor.checkAndPrepareEquipments( foundry.utils.duplicate(this.actor.getShields())),
spells: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getLore())), spells: this.actor.checkAndPrepareEquipments( foundry.utils.duplicate(this.actor.getLore())),
equipments: this.actor.checkAndPrepareEquipments(duplicate(this.actor.getEquipmentsOnly()) ), equipments: this.actor.checkAndPrepareEquipments(foundry.utils.duplicate(this.actor.getEquipmentsOnly()) ),
equippedWeapons: this.actor.checkAndPrepareEquipments(duplicate(this.actor.getEquippedWeapons()) ), equippedWeapons: this.actor.checkAndPrepareEquipments(foundry.utils.duplicate(this.actor.getEquippedWeapons()) ),
equippedArmor: this.actor.getEquippedArmor(), equippedArmor: this.actor.getEquippedArmor(),
equippedShield: this.actor.getEquippedShield(), equippedShield: this.actor.getEquippedShield(),
feats: duplicate(this.actor.getFeats()), feats: foundry.utils.duplicate(this.actor.getFeats()),
subActors: duplicate(this.actor.getSubActors()), subActors: foundry.utils.duplicate(this.actor.getSubActors()),
race: duplicate(this.actor.getRace()), race: foundry.utils.duplicate(this.actor.getRace()),
moneys: duplicate(this.actor.getMoneys()), moneys: foundry.utils.duplicate(this.actor.getMoneys()),
encCapacity: this.actor.getEncumbranceCapacity(), encCapacity: this.actor.getEncumbranceCapacity(),
saveRolls: this.actor.getSaveRoll(), saveRolls: this.actor.getSaveRoll(),
conditions: this.actor.getConditions(), conditions: this.actor.getConditions(),
config: game.system.darkstars.config,
containersTree: this.actor.containersTree, containersTree: this.actor.containersTree,
encCurrent: this.actor.encCurrent, encCurrent: this.actor.encCurrent,
options: this.options, options: this.options,
+9 -3
View File
@@ -67,8 +67,14 @@ export class DarkStarsRollDialog extends Dialog {
html.find('#weapon-aiming').change((event) => { html.find('#weapon-aiming').change((event) => {
this.rollData.weaponAiming = String(event.currentTarget.value) this.rollData.weaponAiming = String(event.currentTarget.value)
}) })
html.find('#synergy-bonus').change((event) => {
this.rollData.synergyBonus = Number(event.currentTarget.value)
})
html.find('#extra-time').change((event) => {
this.rollData.extraTime = event.currentTarget.checked
})
html.find('#attribute-modifier').change((event) => {
this.rollData.attributeModifier = Number(event.currentTarget.value)
})
} }
} }
+98 -20
View File
@@ -11,9 +11,7 @@ export class DarkStarsUtility {
/* -------------------------------------------- */ /* -------------------------------------------- */
static async init() { static async init() {
Hooks.on('renderChatLog', (log, html, data) => DarkStarsUtility.chatListeners(html)); Hooks.on('renderChatLog', (log, html, data) => DarkStarsUtility.chatListeners(html));
/*Hooks.on("dropCanvasData", (canvas, data) => { Hooks.on('renderChatMessage', (message, html, data) => DarkStarsUtility.chatMessageHandler(message, html, data))
DarkStarsUtility.dropItemOnToken(canvas, data)
});*/
DarkStarsCommands.init(); DarkStarsCommands.init();
@@ -43,13 +41,28 @@ export class DarkStarsUtility {
return __locationNames[key] return __locationNames[key]
}) })
this.gameSettings()
} }
/*-------------------------------------------- */ /*-------------------------------------------- */
static gameSettings() { static async processOpposed(rollData) {
if (this.currentOpposition) {
let opposed = {
winner: this.currentOpposition,
looser: rollData,
isOpposed : true
}
if (rollData.degrees > this.currentOpposition.degrees ) {
opposed.winner = rollData
opposed.looser = this.currentOpposition
}
let msg = await this.createChatWithRollMode(rollData.alias, {
content: await renderTemplate(`systems/fvtt-dark-stars/templates/chat/chat-opposition-result.hbs`, opposed)
})
await msg.setFlag("world", "darkstars-roll-data", opposed)
} else {
this.currentOpposition = rollData
ui.notifications.info("Opposed rolls started with " + rollData.alias );
}
} }
/*-------------------------------------------- */ /*-------------------------------------------- */
@@ -60,14 +73,13 @@ export class DarkStarsUtility {
/*-------------------------------------------- */ /*-------------------------------------------- */
static getSkills() { static getSkills() {
return duplicate(this.skills) return foundry.utils.duplicate(this.skills)
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
static async ready() { static async ready() {
const skills = await DarkStarsUtility.loadCompendium("fvtt-dark-stars.skills") const skills = await DarkStarsUtility.loadCompendium("fvtt-dark-stars.sprawl");
this.skills = skills.map(i => i.toObject()) this.skills = skills.filter(i => i.type == "skill").map(i => i.toObject());
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
@@ -97,6 +109,13 @@ export class DarkStarsUtility {
rollData.roll = undefined rollData.roll = undefined
this.rollDarkStars(rollData) this.rollDarkStars(rollData)
}) })
html.on("click", '.chat-roll-opposed', event => {
let messageId = this.findChatMessageId(event.currentTarget)
let message = game.messages.get(messageId)
let rollData = message.getFlag("world", "darkstars-roll-data")
this.processOpposed(rollData)
})
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
@@ -104,10 +123,8 @@ export class DarkStarsUtility {
const templatePaths = [ const templatePaths = [
'systems/fvtt-dark-stars/templates/partials/editor-notes-gm.hbs', 'systems/fvtt-dark-stars/templates/partials/editor-notes-gm.hbs',
'systems/fvtt-dark-stars/templates/partials/partial-roll-select.hbs',
'systems/fvtt-dark-stars/templates/partials/partial-actor-ability-block.hbs', 'systems/fvtt-dark-stars/templates/partials/partial-actor-ability-block.hbs',
'systems/fvtt-dark-stars/templates/partials/partial-actor-status.hbs', 'systems/fvtt-dark-stars/templates/partials/partial-actor-status.hbs',
'systems/fvtt-dark-stars/templates/partials/partial-options-abilities.hbs',
'systems/fvtt-dark-stars/templates/partials/partial-item-nav.hbs', 'systems/fvtt-dark-stars/templates/partials/partial-item-nav.hbs',
'systems/fvtt-dark-stars/templates/partials/partial-item-description.hbs', 'systems/fvtt-dark-stars/templates/partials/partial-item-description.hbs',
'systems/fvtt-dark-stars/templates/partials/partial-actor-equipment.hbs' 'systems/fvtt-dark-stars/templates/partials/partial-actor-equipment.hbs'
@@ -276,12 +293,41 @@ export class DarkStarsUtility {
static async rollDarkStars(rollData) { static async rollDarkStars(rollData) {
let actor = game.actors.get(rollData.actorId) let actor = game.actors.get(rollData.actorId)
if (rollData.tokenId) {
actor = game.canvas.tokens.get(rollData.tokenId).actor
}
// Specific attribute
if (rollData.attr) {
rollData.isSuccess = false
rollData.isFailure = false
rollData.targetNumber = Math.max( rollData.attr.value + rollData.attributeModifier, 0)
let myRoll = await new Roll("1d10").roll()
await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
if (myRoll.total <= rollData.targetNumber) {
rollData.isSuccess = true
rollData.isFailure = false
}
rollData.roll = foundry.utils.duplicate(myRoll)
rollData.diceResult = myRoll.total
let msg = await this.createChatWithRollMode(rollData.alias, {
content: await renderTemplate(`systems/fvtt-dark-stars/templates/chat/chat-attribute-result.hbs`, rollData)
})
msg.setFlag("world", "darkstars-roll-data", rollData)
return
}
// ability/save/size => 0 // ability/save/size => 0
rollData.percentValue = 0 rollData.percentValue = 0
if (rollData.skill) { if (rollData.skill) {
rollData.percentValue = rollData.skill.total rollData.percentValue = rollData.skill.total
} }
if (rollData.synergyBonus) {
rollData.percentValue += rollData.synergyBonus
}
if (rollData.extraTime) {
rollData.percentValue += 30
}
rollData.percentValue += rollData.bonusMalus rollData.percentValue += rollData.bonusMalus
rollData.diceFormula = "1d100" rollData.diceFormula = "1d100"
@@ -294,20 +340,21 @@ export class DarkStarsUtility {
rollData.locationMalus = this.getAimingMalus(rollData.weaponAiming) rollData.locationMalus = this.getAimingMalus(rollData.weaponAiming)
rollData.percentValue += rollData.locationMalus rollData.percentValue += rollData.locationMalus
} }
rollData.percentValue = Math.max(rollData.percentValue, 0)
// Performs roll // Performs roll
console.log("Roll formula", rollData.diceFormula)
let myRoll = rollData.roll let myRoll = rollData.roll
if (!myRoll) { // New rolls only of no rerolls if (!myRoll) { // New rolls only of no rerolls
myRoll = new Roll(rollData.diceFormula).roll({ async: false }) myRoll = await new Roll(rollData.diceFormula).roll()
await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode")) await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
} }
rollData.roll = duplicate(myRoll) rollData.roll = foundry.utils.duplicate(myRoll)
rollData.diceResult = myRoll.total rollData.diceResult = myRoll.total
rollData.isCriticalSuccess = rollData.diceResult <= rollData.skill.derivated.value rollData.isCriticalSuccess = rollData.diceResult <= rollData.skill.derivated.value
rollData.isCriticalFailure = rollData.diceResult == 100 rollData.isCriticalFailure = rollData.diceResult == 100
rollData.isSuccess = rollData.diceResult == 1 || rollData.diceResult <= rollData.percentValue rollData.isSuccess = rollData.diceResult == 1 || rollData.diceResult <= rollData.percentValue
rollData.isFailure = rollData.diceResult == 100 || rollData.diceResult > rollData.percentValue rollData.isFailure = rollData.diceResult == 100 || rollData.diceResult > rollData.percentValue
rollData.degrees = Math.floor(rollData.percentValue / 10) - Math.floor(rollData.diceResult / 10) rollData.degrees = Math.floor((rollData.percentValue - rollData.diceResult) / 10)
rollData.damageMultiplier = rollData.isCriticalSuccess ? 2 : 1 rollData.damageMultiplier = rollData.isCriticalSuccess ? 2 : 1
if (rollData.reroll) { if (rollData.reroll) {
@@ -324,6 +371,20 @@ export class DarkStarsUtility {
rollData.locationMultiplier = this.locationMultiplier(rollData.weaponAiming) rollData.locationMultiplier = this.locationMultiplier(rollData.weaponAiming)
} }
// Task management
if (rollData.taskId) {
let task = actor.getItem(rollData.taskId)
console.log(" Task", task, rollData.taskId)
if (task) {
let newCumulated = rollData.degrees + task.system.cumulated
let nbrolls = task.system.nbrolls + 1
task.update({ 'system.cumulated': newCumulated, 'system.nbrolls': nbrolls })
rollData.taskName = task.name
rollData.taskCumulated = newCumulated
rollData.taskNbrolls = nbrolls
}
}
let msg = await this.createChatWithRollMode(rollData.alias, { let msg = await this.createChatWithRollMode(rollData.alias, {
content: await renderTemplate(`systems/fvtt-dark-stars/templates/chat/chat-generic-result.hbs`, rollData) content: await renderTemplate(`systems/fvtt-dark-stars/templates/chat/chat-generic-result.hbs`, rollData)
}) })
@@ -351,6 +412,19 @@ export class DarkStarsUtility {
static getUsers(filter) { static getUsers(filter) {
return game.users.filter(filter).map(user => user.id); return game.users.filter(filter).map(user => user.id);
} }
/* -------------------------------------------- */
static async chatMessageHandler(message, html, data) {
const chatCard = html.find('.gm-actions')
if (chatCard.length > 0) {
// If the user is the message author or the actor owner, proceed
const actor = game.actors.get(data.message.speaker.actor)
if (actor?.isOwner) return
else if (game.user.isGM || data.author.id === game.user.id) return
const divButtons = chatCard.find('.gm-actions')
divButtons.hide()
}
}
/* -------------------------------------------- */ /* -------------------------------------------- */
static getWhisperRecipients(rollMode, name) { static getWhisperRecipients(rollMode, name) {
switch (rollMode) { switch (rollMode) {
@@ -368,7 +442,7 @@ export class DarkStarsUtility {
/* -------------------------------------------- */ /* -------------------------------------------- */
static blindMessageToGM(chatOptions) { static blindMessageToGM(chatOptions) {
let chatGM = duplicate(chatOptions); let chatGM = foundry.utils.duplicate(chatOptions);
chatGM.whisper = this.getUsers(user => user.isGM); chatGM.whisper = this.getUsers(user => user.isGM);
chatGM.content = "Blinde message of " + game.user.name + "<br>" + chatOptions.content; chatGM.content = "Blinde message of " + game.user.name + "<br>" + chatOptions.content;
console.log("blindMessageToGM", chatGM); console.log("blindMessageToGM", chatGM);
@@ -429,11 +503,15 @@ export class DarkStarsUtility {
/* -------------------------------------------- */ /* -------------------------------------------- */
static getBasicRollData() { static getBasicRollData() {
let rollData = { let rollData = {
rollId: randomID(16), rollId: foundry.utils.randomID(16),
rollMode: game.settings.get("core", "rollMode"), rollMode: game.settings.get("core", "rollMode"),
bonusMalus: 0, bonusMalus: 0,
isAboveEffectiveRange: false, isAboveEffectiveRange: false,
weaponAiming: "none" weaponAiming: "none",
synergyBonus: 0,
extraTime: false,
attributeModifier: 0,
config: game.system.darkstars.config,
} }
DarkStarsUtility.updateWithTarget(rollData) DarkStarsUtility.updateWithTarget(rollData)
return rollData return rollData
+6
View File
@@ -0,0 +1,6 @@
[Dolphin]
HeaderColumnWidths=301,118,148,122
Timestamp=2024,1,26,8,35,29.906
Version=4
ViewMode=1
VisibleRoles=Details_text,Details_size,Details_modificationtime,Details_creationtime,CustomizedDetails
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -1 +1 @@
MANIFEST-000040 MANIFEST-000208
+7 -7
View File
@@ -1,7 +1,7 @@
2023/11/26-22:58:14.589215 7f3d1f7fe6c0 Recovering log #38 2024/06/12-11:13:40.413261 7f3f0d6006c0 Recovering log #206
2023/11/26-22:58:14.599060 7f3d1f7fe6c0 Delete type=3 #36 2024/06/12-11:13:40.424230 7f3f0d6006c0 Delete type=3 #204
2023/11/26-22:58:14.599171 7f3d1f7fe6c0 Delete type=0 #38 2024/06/12-11:13:40.424287 7f3f0d6006c0 Delete type=0 #206
2023/11/26-22:59:30.354804 7f3d1dffb6c0 Level-0 table #43: started 2024/06/12-11:16:23.489560 7f3f060006c0 Level-0 table #211: started
2023/11/26-22:59:30.354853 7f3d1dffb6c0 Level-0 table #43: 0 bytes OK 2024/06/12-11:16:23.489605 7f3f060006c0 Level-0 table #211: 0 bytes OK
2023/11/26-22:59:30.361332 7f3d1dffb6c0 Delete type=0 #41 2024/06/12-11:16:23.520840 7f3f060006c0 Delete type=0 #209
2023/11/26-22:59:30.375157 7f3d1dffb6c0 Manual compaction at level-0 from '!folders!MA6uFJMVebGeayIk' @ 72057594037927935 : 1 .. '!items!zWXriFfWH4wiyUzv' @ 0 : 0; will stop at (end) 2024/06/12-11:16:23.590686 7f3f060006c0 Manual compaction at level-0 from '!folders!MA6uFJMVebGeayIk' @ 72057594037927935 : 1 .. '!items!zhjdppKgrON7wJn7' @ 0 : 0; will stop at (end)
+7 -7
View File
@@ -1,7 +1,7 @@
2023/11/25-11:53:56.148290 7fd092bff6c0 Recovering log #35 2024/06/12-11:13:16.247740 7f3f0ea006c0 Recovering log #202
2023/11/25-11:53:56.158572 7fd092bff6c0 Delete type=0 #35 2024/06/12-11:13:16.258091 7f3f0ea006c0 Delete type=3 #200
2023/11/25-11:53:56.158657 7fd092bff6c0 Delete type=3 #34 2024/06/12-11:13:16.258153 7f3f0ea006c0 Delete type=0 #202
2023/11/25-11:54:27.006917 7fd090bfb6c0 Level-0 table #39: started 2024/06/12-11:13:34.719686 7f3f060006c0 Level-0 table #207: started
2023/11/25-11:54:27.006997 7fd090bfb6c0 Level-0 table #39: 0 bytes OK 2024/06/12-11:13:34.719708 7f3f060006c0 Level-0 table #207: 0 bytes OK
2023/11/25-11:54:27.015085 7fd090bfb6c0 Delete type=0 #37 2024/06/12-11:13:34.726803 7f3f060006c0 Delete type=0 #205
2023/11/25-11:54:27.015315 7fd090bfb6c0 Manual compaction at level-0 from '!folders!MA6uFJMVebGeayIk' @ 72057594037927935 : 1 .. '!items!zWXriFfWH4wiyUzv' @ 0 : 0; will stop at (end) 2024/06/12-11:13:34.733250 7f3f060006c0 Manual compaction at level-0 from '!folders!MA6uFJMVebGeayIk' @ 72057594037927935 : 1 .. '!items!zhjdppKgrON7wJn7' @ 0 : 0; will stop at (end)
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -1 +1 @@
MANIFEST-000150 MANIFEST-000199
+8 -8
View File
@@ -1,8 +1,8 @@
2023/11/26-22:58:14.465883 7f3d1ffff6c0 Recovering log #148 2024/02/25-13:11:04.806524 7f0422a006c0 Recovering log #197
2023/11/26-22:58:14.475277 7f3d1ffff6c0 Delete type=3 #146 2024/02/25-13:11:04.817703 7f0422a006c0 Delete type=3 #195
2023/11/26-22:58:14.475331 7f3d1ffff6c0 Delete type=0 #148 2024/02/25-13:11:04.817799 7f0422a006c0 Delete type=0 #197
2023/11/26-22:59:30.270666 7f3d1dffb6c0 Level-0 table #153: started 2024/02/25-13:14:07.532693 7f0421a006c0 Level-0 table #202: started
2023/11/26-22:59:30.270697 7f3d1dffb6c0 Level-0 table #153: 0 bytes OK 2024/02/25-13:14:07.532731 7f0421a006c0 Level-0 table #202: 0 bytes OK
2023/11/26-22:59:30.277045 7f3d1dffb6c0 Delete type=0 #151 2024/02/25-13:14:07.539153 7f0421a006c0 Delete type=0 #200
2023/11/26-22:59:30.283479 7f3d1dffb6c0 Manual compaction at level-0 from '!items!3O3MjRkrmX4HeaPY' @ 72057594037927935 : 1 .. '!items!q9JGWL4y4udYrzvD' @ 0 : 0; will stop at (end) 2024/02/25-13:14:07.539281 7f0421a006c0 Manual compaction at level-0 from '!items!0JWjCJaD6OOouqTj' @ 72057594037927935 : 1 .. '!items!zzDfuUJpQzzz262R' @ 0 : 0; will stop at (end)
2023/11/26-22:59:30.294416 7f3d1dffb6c0 Manual compaction at level-1 from '!items!3O3MjRkrmX4HeaPY' @ 72057594037927935 : 1 .. '!items!q9JGWL4y4udYrzvD' @ 0 : 0; will stop at (end) 2024/02/25-13:14:07.539306 7f0421a006c0 Manual compaction at level-1 from '!items!0JWjCJaD6OOouqTj' @ 72057594037927935 : 1 .. '!items!zzDfuUJpQzzz262R' @ 0 : 0; will stop at (end)
+8 -8
View File
@@ -1,8 +1,8 @@
2023/11/25-11:53:55.987706 7fd091bfd6c0 Recovering log #144 2024/02/25-13:04:05.224949 7f0428e006c0 Recovering log #193
2023/11/25-11:53:55.997898 7fd091bfd6c0 Delete type=3 #142 2024/02/25-13:04:05.236046 7f0428e006c0 Delete type=3 #191
2023/11/25-11:53:55.997959 7fd091bfd6c0 Delete type=0 #144 2024/02/25-13:04:05.236134 7f0428e006c0 Delete type=0 #193
2023/11/25-11:54:26.939109 7fd090bfb6c0 Level-0 table #149: started 2024/02/25-13:10:09.480522 7f0421a006c0 Level-0 table #198: started
2023/11/25-11:54:26.939141 7fd090bfb6c0 Level-0 table #149: 0 bytes OK 2024/02/25-13:10:09.480555 7f0421a006c0 Level-0 table #198: 0 bytes OK
2023/11/25-11:54:26.946683 7fd090bfb6c0 Delete type=0 #147 2024/02/25-13:10:09.486678 7f0421a006c0 Delete type=0 #196
2023/11/25-11:54:26.959662 7fd090bfb6c0 Manual compaction at level-0 from '!items!3O3MjRkrmX4HeaPY' @ 72057594037927935 : 1 .. '!items!q9JGWL4y4udYrzvD' @ 0 : 0; will stop at (end) 2024/02/25-13:10:09.493365 7f0421a006c0 Manual compaction at level-0 from '!items!0JWjCJaD6OOouqTj' @ 72057594037927935 : 1 .. '!items!zzDfuUJpQzzz262R' @ 0 : 0; will stop at (end)
2023/11/25-11:54:26.959698 7fd090bfb6c0 Manual compaction at level-1 from '!items!3O3MjRkrmX4HeaPY' @ 72057594037927935 : 1 .. '!items!q9JGWL4y4udYrzvD' @ 0 : 0; will stop at (end) 2024/02/25-13:10:09.499939 7f0421a006c0 Manual compaction at level-1 from '!items!0JWjCJaD6OOouqTj' @ 72057594037927935 : 1 .. '!items!zzDfuUJpQzzz262R' @ 0 : 0; will stop at (end)
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -1 +1 @@
MANIFEST-000043 MANIFEST-000201
+7 -7
View File
@@ -1,7 +1,7 @@
2023/11/26-22:58:14.601405 7f3d1e7fc6c0 Recovering log #41 2024/06/12-11:13:40.426654 7f3f0ea006c0 Recovering log #199
2023/11/26-22:58:14.611967 7f3d1e7fc6c0 Delete type=3 #39 2024/06/12-11:13:40.437435 7f3f0ea006c0 Delete type=3 #197
2023/11/26-22:58:14.612027 7f3d1e7fc6c0 Delete type=0 #41 2024/06/12-11:13:40.437506 7f3f0ea006c0 Delete type=0 #199
2023/11/26-22:59:30.361430 7f3d1dffb6c0 Level-0 table #46: started 2024/06/12-11:16:23.521086 7f3f060006c0 Level-0 table #204: started
2023/11/26-22:59:30.361451 7f3d1dffb6c0 Level-0 table #46: 0 bytes OK 2024/06/12-11:16:23.521151 7f3f060006c0 Level-0 table #204: 0 bytes OK
2023/11/26-22:59:30.367909 7f3d1dffb6c0 Delete type=0 #44 2024/06/12-11:16:23.553911 7f3f060006c0 Delete type=0 #202
2023/11/26-22:59:30.375166 7f3d1dffb6c0 Manual compaction at level-0 from '!folders!Gh3dOV5MWEUqOK83' @ 72057594037927935 : 1 .. '!items!zwMpjsE84sk26eej' @ 0 : 0; will stop at (end) 2024/06/12-11:16:23.590700 7f3f060006c0 Manual compaction at level-0 from '!folders!47aGmBuk1mHtbFFU' @ 72057594037927935 : 1 .. '!items!zwMpjsE84sk26eej' @ 0 : 0; will stop at (end)
+7 -7
View File
@@ -1,7 +1,7 @@
2023/11/25-11:53:56.161415 7fd0913fc6c0 Recovering log #38 2024/06/12-11:13:16.262812 7f3f0d6006c0 Recovering log #195
2023/11/25-11:53:56.170729 7fd0913fc6c0 Delete type=0 #38 2024/06/12-11:13:16.272606 7f3f0d6006c0 Delete type=3 #193
2023/11/25-11:53:56.170780 7fd0913fc6c0 Delete type=3 #37 2024/06/12-11:13:16.272662 7f3f0d6006c0 Delete type=0 #195
2023/11/25-11:54:27.021721 7fd090bfb6c0 Level-0 table #42: started 2024/06/12-11:13:34.727044 7f3f060006c0 Level-0 table #200: started
2023/11/25-11:54:27.021762 7fd090bfb6c0 Level-0 table #42: 0 bytes OK 2024/06/12-11:13:34.727098 7f3f060006c0 Level-0 table #200: 0 bytes OK
2023/11/25-11:54:27.028409 7fd090bfb6c0 Delete type=0 #40 2024/06/12-11:13:34.733076 7f3f060006c0 Delete type=0 #198
2023/11/25-11:54:27.028540 7fd090bfb6c0 Manual compaction at level-0 from '!folders!Gh3dOV5MWEUqOK83' @ 72057594037927935 : 1 .. '!items!zwMpjsE84sk26eej' @ 0 : 0; will stop at (end) 2024/06/12-11:13:34.733265 7f3f060006c0 Manual compaction at level-0 from '!folders!47aGmBuk1mHtbFFU' @ 72057594037927935 : 1 .. '!items!zwMpjsE84sk26eej' @ 0 : 0; will stop at (end)
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -1 +1 @@
MANIFEST-000150 MANIFEST-000254
+7 -7
View File
@@ -1,7 +1,7 @@
2023/11/26-22:58:14.515713 7f3d1ffff6c0 Recovering log #148 2024/06/12-11:13:40.356313 7f3f0d6006c0 Recovering log #252
2023/11/26-22:58:14.526380 7f3d1ffff6c0 Delete type=3 #146 2024/06/12-11:13:40.366003 7f3f0d6006c0 Delete type=3 #250
2023/11/26-22:58:14.526433 7f3d1ffff6c0 Delete type=0 #148 2024/06/12-11:13:40.366126 7f3f0d6006c0 Delete type=0 #252
2023/11/26-22:59:30.313953 7f3d1dffb6c0 Level-0 table #153: started 2024/06/12-11:16:23.317811 7f3f060006c0 Level-0 table #257: started
2023/11/26-22:59:30.313979 7f3d1dffb6c0 Level-0 table #153: 0 bytes OK 2024/06/12-11:16:23.317841 7f3f060006c0 Level-0 table #257: 0 bytes OK
2023/11/26-22:59:30.320020 7f3d1dffb6c0 Delete type=0 #151 2024/06/12-11:16:23.355645 7f3f060006c0 Delete type=0 #255
2023/11/26-22:59:30.320135 7f3d1dffb6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end) 2024/06/12-11:16:23.460439 7f3f060006c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)
+7 -7
View File
@@ -1,7 +1,7 @@
2023/11/25-11:53:56.037176 7fd091bfd6c0 Recovering log #144 2024/06/12-11:13:16.189039 7f3f0ea006c0 Recovering log #248
2023/11/25-11:53:56.047186 7fd091bfd6c0 Delete type=3 #142 2024/06/12-11:13:16.200829 7f3f0ea006c0 Delete type=3 #246
2023/11/25-11:53:56.047263 7fd091bfd6c0 Delete type=0 #144 2024/06/12-11:13:16.200927 7f3f0ea006c0 Delete type=0 #248
2023/11/25-11:54:26.966421 7fd090bfb6c0 Level-0 table #149: started 2024/06/12-11:13:34.657802 7f3f060006c0 Level-0 table #253: started
2023/11/25-11:54:26.966444 7fd090bfb6c0 Level-0 table #149: 0 bytes OK 2024/06/12-11:13:34.657837 7f3f060006c0 Level-0 table #253: 0 bytes OK
2023/11/25-11:54:26.972594 7fd090bfb6c0 Delete type=0 #147 2024/06/12-11:13:34.663971 7f3f060006c0 Delete type=0 #251
2023/11/25-11:54:26.986318 7fd090bfb6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end) 2024/06/12-11:13:34.681143 7f3f060006c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -1 +1 @@
MANIFEST-000150 MANIFEST-000254
+7 -7
View File
@@ -1,7 +1,7 @@
2023/11/26-22:58:14.528083 7f3d1effd6c0 Recovering log #148 2024/06/12-11:13:40.368093 7f3f0ea006c0 Recovering log #252
2023/11/26-22:58:14.537438 7f3d1effd6c0 Delete type=3 #146 2024/06/12-11:13:40.379978 7f3f0ea006c0 Delete type=3 #250
2023/11/26-22:58:14.537516 7f3d1effd6c0 Delete type=0 #148 2024/06/12-11:13:40.380078 7f3f0ea006c0 Delete type=0 #252
2023/11/26-22:59:30.320217 7f3d1dffb6c0 Level-0 table #153: started 2024/06/12-11:16:23.408873 7f3f060006c0 Level-0 table #257: started
2023/11/26-22:59:30.320240 7f3d1dffb6c0 Level-0 table #153: 0 bytes OK 2024/06/12-11:16:23.408929 7f3f060006c0 Level-0 table #257: 0 bytes OK
2023/11/26-22:59:30.326969 7f3d1dffb6c0 Delete type=0 #151 2024/06/12-11:16:23.460072 7f3f060006c0 Delete type=0 #255
2023/11/26-22:59:30.347752 7f3d1dffb6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end) 2024/06/12-11:16:23.460493 7f3f060006c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)
+7 -7
View File
@@ -1,7 +1,7 @@
2023/11/25-11:53:56.048914 7fd0923fe6c0 Recovering log #144 2024/06/12-11:13:16.204139 7f3f0d6006c0 Recovering log #248
2023/11/25-11:53:56.058887 7fd0923fe6c0 Delete type=3 #142 2024/06/12-11:13:16.215399 7f3f0d6006c0 Delete type=3 #246
2023/11/25-11:53:56.058947 7fd0923fe6c0 Delete type=0 #144 2024/06/12-11:13:16.215490 7f3f0d6006c0 Delete type=0 #248
2023/11/25-11:54:26.959805 7fd090bfb6c0 Level-0 table #149: started 2024/06/12-11:13:34.692534 7f3f060006c0 Level-0 table #253: started
2023/11/25-11:54:26.959829 7fd090bfb6c0 Level-0 table #149: 0 bytes OK 2024/06/12-11:13:34.692577 7f3f060006c0 Level-0 table #253: 0 bytes OK
2023/11/25-11:54:26.966338 7fd090bfb6c0 Delete type=0 #147 2024/06/12-11:13:34.698872 7f3f060006c0 Delete type=0 #251
2023/11/25-11:54:26.986308 7fd090bfb6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end) 2024/06/12-11:13:34.713306 7f3f060006c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -1 +1 @@
MANIFEST-000079 MANIFEST-000128
+8 -8
View File
@@ -1,8 +1,8 @@
2023/11/26-22:58:14.563668 7f3d1ffff6c0 Recovering log #77 2024/02/25-13:11:04.911848 7f0422a006c0 Recovering log #126
2023/11/26-22:58:14.573793 7f3d1ffff6c0 Delete type=3 #75 2024/02/25-13:11:04.922320 7f0422a006c0 Delete type=3 #124
2023/11/26-22:58:14.573840 7f3d1ffff6c0 Delete type=0 #77 2024/02/25-13:11:04.922392 7f0422a006c0 Delete type=0 #126
2023/11/26-22:59:30.341302 7f3d1dffb6c0 Level-0 table #82: started 2024/02/25-13:14:07.578457 7f0421a006c0 Level-0 table #131: started
2023/11/26-22:59:30.341329 7f3d1dffb6c0 Level-0 table #82: 0 bytes OK 2024/02/25-13:14:07.578513 7f0421a006c0 Level-0 table #131: 0 bytes OK
2023/11/26-22:59:30.347583 7f3d1dffb6c0 Delete type=0 #80 2024/02/25-13:14:07.585654 7f0421a006c0 Delete type=0 #129
2023/11/26-22:59:30.347793 7f3d1dffb6c0 Manual compaction at level-0 from '!items!0SbSmYdxJSlcNr6x' @ 72057594037927935 : 1 .. '!items!yyCPVVl8vmMOfPcN' @ 0 : 0; will stop at (end) 2024/02/25-13:14:07.592632 7f0421a006c0 Manual compaction at level-0 from '!items!0SbSmYdxJSlcNr6x' @ 72057594037927935 : 1 .. '!items!yyCPVVl8vmMOfPcN' @ 0 : 0; will stop at (end)
2023/11/26-22:59:30.347823 7f3d1dffb6c0 Manual compaction at level-1 from '!items!0SbSmYdxJSlcNr6x' @ 72057594037927935 : 1 .. '!items!yyCPVVl8vmMOfPcN' @ 0 : 0; will stop at (end) 2024/02/25-13:14:07.592676 7f0421a006c0 Manual compaction at level-1 from '!items!0SbSmYdxJSlcNr6x' @ 72057594037927935 : 1 .. '!items!yyCPVVl8vmMOfPcN' @ 0 : 0; will stop at (end)
+8 -8
View File
@@ -1,8 +1,8 @@
2023/11/25-11:53:56.123402 7fd091bfd6c0 Recovering log #73 2024/02/25-13:04:05.332283 7f0428e006c0 Recovering log #122
2023/11/25-11:53:56.133061 7fd091bfd6c0 Delete type=3 #71 2024/02/25-13:04:05.343337 7f0428e006c0 Delete type=3 #120
2023/11/25-11:53:56.133163 7fd091bfd6c0 Delete type=0 #73 2024/02/25-13:04:05.343387 7f0428e006c0 Delete type=0 #122
2023/11/25-11:54:27.000544 7fd090bfb6c0 Level-0 table #78: started 2024/02/25-13:10:09.539934 7f0421a006c0 Level-0 table #127: started
2023/11/25-11:54:27.000572 7fd090bfb6c0 Level-0 table #78: 0 bytes OK 2024/02/25-13:10:09.539956 7f0421a006c0 Level-0 table #127: 0 bytes OK
2023/11/25-11:54:27.006700 7fd090bfb6c0 Delete type=0 #76 2024/02/25-13:10:09.546327 7f0421a006c0 Delete type=0 #125
2023/11/25-11:54:27.015300 7fd090bfb6c0 Manual compaction at level-0 from '!items!0SbSmYdxJSlcNr6x' @ 72057594037927935 : 1 .. '!items!yyCPVVl8vmMOfPcN' @ 0 : 0; will stop at (end) 2024/02/25-13:10:09.552649 7f0421a006c0 Manual compaction at level-0 from '!items!0SbSmYdxJSlcNr6x' @ 72057594037927935 : 1 .. '!items!yyCPVVl8vmMOfPcN' @ 0 : 0; will stop at (end)
2023/11/25-11:54:27.015342 7fd090bfb6c0 Manual compaction at level-1 from '!items!0SbSmYdxJSlcNr6x' @ 72057594037927935 : 1 .. '!items!yyCPVVl8vmMOfPcN' @ 0 : 0; will stop at (end) 2024/02/25-13:10:09.552755 7f0421a006c0 Manual compaction at level-1 from '!items!0SbSmYdxJSlcNr6x' @ 72057594037927935 : 1 .. '!items!yyCPVVl8vmMOfPcN' @ 0 : 0; will stop at (end)
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1
View File
@@ -0,0 +1 @@
MANIFEST-000066
+8
View File
@@ -0,0 +1,8 @@
2024/06/12-11:13:40.398008 7f3f0d6006c0 Recovering log #64
2024/06/12-11:13:40.408278 7f3f0d6006c0 Delete type=3 #62
2024/06/12-11:13:40.408353 7f3f0d6006c0 Delete type=0 #64
2024/06/12-11:16:23.554104 7f3f060006c0 Level-0 table #69: started
2024/06/12-11:16:23.554144 7f3f060006c0 Level-0 table #69: 0 bytes OK
2024/06/12-11:16:23.590465 7f3f060006c0 Delete type=0 #67
2024/06/12-11:16:23.590737 7f3f060006c0 Manual compaction at level-0 from '!folders!La3YsNYFddQnmsba' @ 72057594037927935 : 1 .. '!items!zzDfuUJpQzzz262R' @ 0 : 0; will stop at (end)
2024/06/12-11:16:23.590756 7f3f060006c0 Manual compaction at level-1 from '!folders!La3YsNYFddQnmsba' @ 72057594037927935 : 1 .. '!items!zzDfuUJpQzzz262R' @ 0 : 0; will stop at (end)
+8
View File
@@ -0,0 +1,8 @@
2024/06/12-11:13:16.233304 7f3f0ea006c0 Recovering log #60
2024/06/12-11:13:16.243341 7f3f0ea006c0 Delete type=3 #58
2024/06/12-11:13:16.243395 7f3f0ea006c0 Delete type=0 #60
2024/06/12-11:13:34.713340 7f3f060006c0 Level-0 table #65: started
2024/06/12-11:13:34.713379 7f3f060006c0 Level-0 table #65: 0 bytes OK
2024/06/12-11:13:34.719558 7f3f060006c0 Delete type=0 #63
2024/06/12-11:13:34.733213 7f3f060006c0 Manual compaction at level-0 from '!folders!La3YsNYFddQnmsba' @ 72057594037927935 : 1 .. '!items!zzDfuUJpQzzz262R' @ 0 : 0; will stop at (end)
2024/06/12-11:13:34.733290 7f3f060006c0 Manual compaction at level-1 from '!folders!La3YsNYFddQnmsba' @ 72057594037927935 : 1 .. '!items!zzDfuUJpQzzz262R' @ 0 : 0; will stop at (end)
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -1 +1 @@
MANIFEST-000150 MANIFEST-000199
+8 -8
View File
@@ -1,8 +1,8 @@
2023/11/26-22:58:14.476977 7f3d1effd6c0 Recovering log #148 2024/02/25-13:11:04.819236 7f0428e006c0 Recovering log #197
2023/11/26-22:58:14.487561 7f3d1effd6c0 Delete type=3 #146 2024/02/25-13:11:04.829162 7f0428e006c0 Delete type=3 #195
2023/11/26-22:58:14.487805 7f3d1effd6c0 Delete type=0 #148 2024/02/25-13:11:04.829232 7f0428e006c0 Delete type=0 #197
2023/11/26-22:59:30.294449 7f3d1dffb6c0 Level-0 table #153: started 2024/02/25-13:14:07.545758 7f0421a006c0 Level-0 table #202: started
2023/11/26-22:59:30.294506 7f3d1dffb6c0 Level-0 table #153: 0 bytes OK 2024/02/25-13:14:07.545813 7f0421a006c0 Level-0 table #202: 0 bytes OK
2023/11/26-22:59:30.300665 7f3d1dffb6c0 Delete type=0 #151 2024/02/25-13:14:07.552067 7f0421a006c0 Delete type=0 #200
2023/11/26-22:59:30.313940 7f3d1dffb6c0 Manual compaction at level-0 from '!items!05RVU3UcRabogEvL' @ 72057594037927935 : 1 .. '!items!xNmOdMs4rQ0yiVzg' @ 0 : 0; will stop at (end) 2024/02/25-13:14:07.565492 7f0421a006c0 Manual compaction at level-0 from '!items!05RVU3UcRabogEvL' @ 72057594037927935 : 1 .. '!items!zaxcUsWUZ1vvl0p8' @ 0 : 0; will stop at (end)
2023/11/26-22:59:30.320119 7f3d1dffb6c0 Manual compaction at level-1 from '!items!05RVU3UcRabogEvL' @ 72057594037927935 : 1 .. '!items!xNmOdMs4rQ0yiVzg' @ 0 : 0; will stop at (end) 2024/02/25-13:14:07.565529 7f0421a006c0 Manual compaction at level-1 from '!items!05RVU3UcRabogEvL' @ 72057594037927935 : 1 .. '!items!zaxcUsWUZ1vvl0p8' @ 0 : 0; will stop at (end)
+8 -8
View File
@@ -1,8 +1,8 @@
2023/11/25-11:53:56.000006 7fd0923fe6c0 Recovering log #144 2024/02/25-13:04:05.239972 7f0423e006c0 Recovering log #193
2023/11/25-11:53:56.009809 7fd0923fe6c0 Delete type=3 #142 2024/02/25-13:04:05.249512 7f0423e006c0 Delete type=3 #191
2023/11/25-11:53:56.009912 7fd0923fe6c0 Delete type=0 #144 2024/02/25-13:04:05.249560 7f0423e006c0 Delete type=0 #193
2023/11/25-11:54:26.946787 7fd090bfb6c0 Level-0 table #149: started 2024/02/25-13:10:09.473431 7f0421a006c0 Level-0 table #198: started
2023/11/25-11:54:26.946809 7fd090bfb6c0 Level-0 table #149: 0 bytes OK 2024/02/25-13:10:09.473459 7f0421a006c0 Level-0 table #198: 0 bytes OK
2023/11/25-11:54:26.952758 7fd090bfb6c0 Delete type=0 #147 2024/02/25-13:10:09.480345 7f0421a006c0 Delete type=0 #196
2023/11/25-11:54:26.959673 7fd090bfb6c0 Manual compaction at level-0 from '!items!05RVU3UcRabogEvL' @ 72057594037927935 : 1 .. '!items!xNmOdMs4rQ0yiVzg' @ 0 : 0; will stop at (end) 2024/02/25-13:10:09.493344 7f0421a006c0 Manual compaction at level-0 from '!items!05RVU3UcRabogEvL' @ 72057594037927935 : 1 .. '!items!zaxcUsWUZ1vvl0p8' @ 0 : 0; will stop at (end)
2023/11/25-11:54:26.959705 7fd090bfb6c0 Manual compaction at level-1 from '!items!05RVU3UcRabogEvL' @ 72057594037927935 : 1 .. '!items!xNmOdMs4rQ0yiVzg' @ 0 : 0; will stop at (end) 2024/02/25-13:10:09.499930 7f0421a006c0 Manual compaction at level-1 from '!items!05RVU3UcRabogEvL' @ 72057594037927935 : 1 .. '!items!zaxcUsWUZ1vvl0p8' @ 0 : 0; will stop at (end)
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -1 +1 @@
MANIFEST-000027 MANIFEST-000075
+8 -8
View File
@@ -1,8 +1,8 @@
2023/11/26-22:58:14.576205 7f3d1effd6c0 Recovering log #25 2024/02/25-13:11:04.925036 7f0428e006c0 Recovering log #73
2023/11/26-22:58:14.587249 7f3d1effd6c0 Delete type=3 #23 2024/02/25-13:11:04.935090 7f0428e006c0 Delete type=3 #71
2023/11/26-22:58:14.587302 7f3d1effd6c0 Delete type=0 #25 2024/02/25-13:11:04.935353 7f0428e006c0 Delete type=0 #73
2023/11/26-22:59:30.347856 7f3d1dffb6c0 Level-0 table #30: started 2024/02/25-13:14:07.585843 7f0421a006c0 Level-0 table #78: started
2023/11/26-22:59:30.347877 7f3d1dffb6c0 Level-0 table #30: 0 bytes OK 2024/02/25-13:14:07.585896 7f0421a006c0 Level-0 table #78: 0 bytes OK
2023/11/26-22:59:30.354594 7f3d1dffb6c0 Delete type=0 #28 2024/02/25-13:14:07.592513 7f0421a006c0 Delete type=0 #76
2023/11/26-22:59:30.375145 7f3d1dffb6c0 Manual compaction at level-0 from '!items!56A3sVsiN7KI6a45' @ 72057594037927935 : 1 .. '!items!zJiASbV3QqH2oHb1' @ 0 : 0; will stop at (end) 2024/02/25-13:14:07.592640 7f0421a006c0 Manual compaction at level-0 from '!items!56A3sVsiN7KI6a45' @ 72057594037927935 : 1 .. '!items!zJiASbV3QqH2oHb1' @ 0 : 0; will stop at (end)
2023/11/26-22:59:30.375173 7f3d1dffb6c0 Manual compaction at level-1 from '!items!56A3sVsiN7KI6a45' @ 72057594037927935 : 1 .. '!items!zJiASbV3QqH2oHb1' @ 0 : 0; will stop at (end) 2024/02/25-13:14:07.592670 7f0421a006c0 Manual compaction at level-1 from '!items!56A3sVsiN7KI6a45' @ 72057594037927935 : 1 .. '!items!zJiASbV3QqH2oHb1' @ 0 : 0; will stop at (end)
+8 -8
View File
@@ -1,8 +1,8 @@
2023/11/25-11:53:56.135361 7fd0923fe6c0 Recovering log #21 2024/02/25-13:04:05.347457 7f0423e006c0 Recovering log #69
2023/11/25-11:53:56.145751 7fd0923fe6c0 Delete type=3 #19 2024/02/25-13:04:05.356885 7f0423e006c0 Delete type=3 #67
2023/11/25-11:53:56.145806 7fd0923fe6c0 Delete type=0 #21 2024/02/25-13:04:05.356934 7f0423e006c0 Delete type=0 #69
2023/11/25-11:54:26.993034 7fd090bfb6c0 Level-0 table #26: started 2024/02/25-13:10:09.533502 7f0421a006c0 Level-0 table #74: started
2023/11/25-11:54:26.993055 7fd090bfb6c0 Level-0 table #26: 0 bytes OK 2024/02/25-13:10:09.533526 7f0421a006c0 Level-0 table #74: 0 bytes OK
2023/11/25-11:54:27.000358 7fd090bfb6c0 Delete type=0 #24 2024/02/25-13:10:09.539823 7f0421a006c0 Delete type=0 #72
2023/11/25-11:54:27.015280 7fd090bfb6c0 Manual compaction at level-0 from '!items!56A3sVsiN7KI6a45' @ 72057594037927935 : 1 .. '!items!zJiASbV3QqH2oHb1' @ 0 : 0; will stop at (end) 2024/02/25-13:10:09.552630 7f0421a006c0 Manual compaction at level-0 from '!items!56A3sVsiN7KI6a45' @ 72057594037927935 : 1 .. '!items!zJiASbV3QqH2oHb1' @ 0 : 0; will stop at (end)
2023/11/25-11:54:27.015355 7fd090bfb6c0 Manual compaction at level-1 from '!items!56A3sVsiN7KI6a45' @ 72057594037927935 : 1 .. '!items!zJiASbV3QqH2oHb1' @ 0 : 0; will stop at (end) 2024/02/25-13:10:09.552738 7f0421a006c0 Manual compaction at level-1 from '!items!56A3sVsiN7KI6a45' @ 72057594037927935 : 1 .. '!items!zJiASbV3QqH2oHb1' @ 0 : 0; will stop at (end)
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -1 +1 @@
MANIFEST-000043 MANIFEST-000221
+7 -7
View File
@@ -1,7 +1,7 @@
2023/11/26-22:58:14.615228 7f3d1ffff6c0 Recovering log #41 2024/06/12-11:13:40.440639 7f3f0d6006c0 Recovering log #219
2023/11/26-22:58:14.625406 7f3d1ffff6c0 Delete type=3 #39 2024/06/12-11:13:40.450523 7f3f0d6006c0 Delete type=3 #217
2023/11/26-22:58:14.625501 7f3d1ffff6c0 Delete type=0 #41 2024/06/12-11:13:40.450593 7f3f0d6006c0 Delete type=0 #219
2023/11/26-22:59:30.368017 7f3d1dffb6c0 Level-0 table #46: started 2024/06/12-11:16:23.645974 7f3f060006c0 Level-0 table #224: started
2023/11/26-22:59:30.368039 7f3d1dffb6c0 Level-0 table #46: 0 bytes OK 2024/06/12-11:16:23.646004 7f3f060006c0 Level-0 table #224: 0 bytes OK
2023/11/26-22:59:30.375036 7f3d1dffb6c0 Delete type=0 #44 2024/06/12-11:16:23.683161 7f3f060006c0 Delete type=0 #222
2023/11/26-22:59:30.375179 7f3d1dffb6c0 Manual compaction at level-0 from '!folders!2iZtDz80npHPIwkS' @ 72057594037927935 : 1 .. '!items!zv07ZCqoczWKdT2b' @ 0 : 0; will stop at (end) 2024/06/12-11:16:23.683408 7f3f060006c0 Manual compaction at level-0 from '!folders!2iZtDz80npHPIwkS' @ 72057594037927935 : 1 .. '!items!zyFR9C1jBTeFzbxg' @ 0 : 0; will stop at (end)
+7 -7
View File
@@ -1,7 +1,7 @@
2023/11/25-11:53:56.174133 7fd091bfd6c0 Recovering log #38 2024/06/12-11:13:16.276335 7f3f0ea006c0 Recovering log #215
2023/11/25-11:53:56.184063 7fd091bfd6c0 Delete type=0 #38 2024/06/12-11:13:16.287074 7f3f0ea006c0 Delete type=3 #213
2023/11/25-11:53:56.184110 7fd091bfd6c0 Delete type=3 #37 2024/06/12-11:13:16.287130 7f3f0ea006c0 Delete type=0 #215
2023/11/25-11:54:27.015463 7fd090bfb6c0 Level-0 table #42: started 2024/06/12-11:13:34.733411 7f3f060006c0 Level-0 table #220: started
2023/11/25-11:54:27.015494 7fd090bfb6c0 Level-0 table #42: 0 bytes OK 2024/06/12-11:13:34.733492 7f3f060006c0 Level-0 table #220: 0 bytes OK
2023/11/25-11:54:27.021563 7fd090bfb6c0 Delete type=0 #40 2024/06/12-11:13:34.741601 7f3f060006c0 Delete type=0 #218
2023/11/25-11:54:27.028525 7fd090bfb6c0 Manual compaction at level-0 from '!folders!2iZtDz80npHPIwkS' @ 72057594037927935 : 1 .. '!items!zv07ZCqoczWKdT2b' @ 0 : 0; will stop at (end) 2024/06/12-11:13:34.741825 7f3f060006c0 Manual compaction at level-0 from '!folders!2iZtDz80npHPIwkS' @ 72057594037927935 : 1 .. '!items!zyFR9C1jBTeFzbxg' @ 0 : 0; will stop at (end)
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -1 +1 @@
MANIFEST-000150 MANIFEST-000199
+8 -8
View File
@@ -1,8 +1,8 @@
2023/11/26-22:58:14.551254 7f3d1e7fc6c0 Recovering log #148 2024/02/25-13:11:04.899830 7f0428e006c0 Recovering log #197
2023/11/26-22:58:14.561024 7f3d1e7fc6c0 Delete type=3 #146 2024/02/25-13:11:04.909890 7f0428e006c0 Delete type=3 #195
2023/11/26-22:58:14.561528 7f3d1e7fc6c0 Delete type=0 #148 2024/02/25-13:11:04.909976 7f0428e006c0 Delete type=0 #197
2023/11/26-22:59:30.333656 7f3d1dffb6c0 Level-0 table #153: started 2024/02/25-13:14:07.614576 7f0421a006c0 Level-0 table #202: started
2023/11/26-22:59:30.333697 7f3d1dffb6c0 Level-0 table #153: 0 bytes OK 2024/02/25-13:14:07.614602 7f0421a006c0 Level-0 table #202: 0 bytes OK
2023/11/26-22:59:30.341193 7f3d1dffb6c0 Delete type=0 #151 2024/02/25-13:14:07.621467 7f0421a006c0 Delete type=0 #200
2023/11/26-22:59:30.347786 7f3d1dffb6c0 Manual compaction at level-0 from '!items!0LA7gMBDogO56AZK' @ 72057594037927935 : 1 .. '!items!zwZoHMkWYtMCNx9f' @ 0 : 0; will stop at (end) 2024/02/25-13:14:07.628014 7f0421a006c0 Manual compaction at level-0 from '!items!0K3CVEKsq67oKiYE' @ 72057594037927935 : 1 .. '!items!zwZoHMkWYtMCNx9f' @ 0 : 0; will stop at (end)
2023/11/26-22:59:30.347830 7f3d1dffb6c0 Manual compaction at level-1 from '!items!0LA7gMBDogO56AZK' @ 72057594037927935 : 1 .. '!items!zwZoHMkWYtMCNx9f' @ 0 : 0; will stop at (end) 2024/02/25-13:14:07.628055 7f0421a006c0 Manual compaction at level-1 from '!items!0K3CVEKsq67oKiYE' @ 72057594037927935 : 1 .. '!items!zwZoHMkWYtMCNx9f' @ 0 : 0; will stop at (end)
+8 -8
View File
@@ -1,8 +1,8 @@
2023/11/25-11:53:56.109779 7fd0913fc6c0 Recovering log #144 2024/02/25-13:04:05.318599 7f0423e006c0 Recovering log #193
2023/11/25-11:53:56.120897 7fd0913fc6c0 Delete type=3 #142 2024/02/25-13:04:05.328529 7f0423e006c0 Delete type=3 #191
2023/11/25-11:53:56.120965 7fd0913fc6c0 Delete type=0 #144 2024/02/25-13:04:05.328597 7f0423e006c0 Delete type=0 #193
2023/11/25-11:54:26.986457 7fd090bfb6c0 Level-0 table #149: started 2024/02/25-13:10:09.519595 7f0421a006c0 Level-0 table #198: started
2023/11/25-11:54:26.986489 7fd090bfb6c0 Level-0 table #149: 0 bytes OK 2024/02/25-13:10:09.519645 7f0421a006c0 Level-0 table #198: 0 bytes OK
2023/11/25-11:54:26.992967 7fd090bfb6c0 Delete type=0 #147 2024/02/25-13:10:09.526863 7f0421a006c0 Delete type=0 #196
2023/11/25-11:54:27.015253 7fd090bfb6c0 Manual compaction at level-0 from '!items!0LA7gMBDogO56AZK' @ 72057594037927935 : 1 .. '!items!zwZoHMkWYtMCNx9f' @ 0 : 0; will stop at (end) 2024/02/25-13:10:09.527031 7f0421a006c0 Manual compaction at level-0 from '!items!0K3CVEKsq67oKiYE' @ 72057594037927935 : 1 .. '!items!zwZoHMkWYtMCNx9f' @ 0 : 0; will stop at (end)
2023/11/25-11:54:27.015329 7fd090bfb6c0 Manual compaction at level-1 from '!items!0LA7gMBDogO56AZK' @ 72057594037927935 : 1 .. '!items!zwZoHMkWYtMCNx9f' @ 0 : 0; will stop at (end) 2024/02/25-13:10:09.527062 7f0421a006c0 Manual compaction at level-1 from '!items!0K3CVEKsq67oKiYE' @ 72057594037927935 : 1 .. '!items!zwZoHMkWYtMCNx9f' @ 0 : 0; will stop at (end)
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -1 +1 @@
MANIFEST-000150 MANIFEST-000198
+7 -7
View File
@@ -1,7 +1,7 @@
2023/11/26-22:58:14.491751 7f3d1f7fe6c0 Recovering log #148 2024/02/25-13:11:04.832847 7f0422a006c0 Recovering log #196
2023/11/26-22:58:14.501842 7f3d1f7fe6c0 Delete type=3 #146 2024/02/25-13:11:04.844534 7f0422a006c0 Delete type=3 #194
2023/11/26-22:58:14.501903 7f3d1f7fe6c0 Delete type=0 #148 2024/02/25-13:11:04.844584 7f0422a006c0 Delete type=0 #196
2023/11/26-22:59:30.307357 7f3d1dffb6c0 Level-0 table #153: started 2024/02/25-13:14:07.539362 7f0421a006c0 Level-0 table #201: started
2023/11/26-22:59:30.307385 7f3d1dffb6c0 Level-0 table #153: 0 bytes OK 2024/02/25-13:14:07.539386 7f0421a006c0 Level-0 table #201: 0 bytes OK
2023/11/26-22:59:30.313810 7f3d1dffb6c0 Delete type=0 #151 2024/02/25-13:14:07.545589 7f0421a006c0 Delete type=0 #199
2023/11/26-22:59:30.320127 7f3d1dffb6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end) 2024/02/25-13:14:07.565459 7f0421a006c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)
+7 -7
View File
@@ -1,7 +1,7 @@
2023/11/25-11:53:56.013578 7fd092bff6c0 Recovering log #144 2024/02/25-13:04:05.255291 7f0428e006c0 Recovering log #192
2023/11/25-11:53:56.023494 7fd092bff6c0 Delete type=3 #142 2024/02/25-13:04:05.265834 7f0428e006c0 Delete type=3 #190
2023/11/25-11:53:56.023547 7fd092bff6c0 Delete type=0 #144 2024/02/25-13:04:05.265885 7f0428e006c0 Delete type=0 #192
2023/11/25-11:54:26.952877 7fd090bfb6c0 Level-0 table #149: started 2024/02/25-13:10:09.486767 7f0421a006c0 Level-0 table #197: started
2023/11/25-11:54:26.952930 7fd090bfb6c0 Level-0 table #149: 0 bytes OK 2024/02/25-13:10:09.486786 7f0421a006c0 Level-0 table #197: 0 bytes OK
2023/11/25-11:54:26.959512 7fd090bfb6c0 Delete type=0 #147 2024/02/25-13:10:09.493210 7f0421a006c0 Delete type=0 #195
2023/11/25-11:54:26.959683 7fd090bfb6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end) 2024/02/25-13:10:09.499919 7f0421a006c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
View File

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