Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b8c61f8f12 | |||
| b47b14a4b1 | |||
| 9391acf6ee | |||
| 8af9c582bf | |||
| fac158e0ad | |||
| 69a2f81ede | |||
| 005d390941 |
Binary file not shown.
|
After Width: | Height: | Size: 3.1 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 6.2 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 384 KiB |
@@ -12,7 +12,7 @@ export class HawkmoonActorSheet extends ActorSheet {
|
|||||||
/** @override */
|
/** @override */
|
||||||
static get defaultOptions() {
|
static get defaultOptions() {
|
||||||
|
|
||||||
return mergeObject(super.defaultOptions, {
|
return foundry.utils.mergeObject(super.defaultOptions, {
|
||||||
classes: ["fvtt-hawkmoon-cyd", "sheet", "actor"],
|
classes: ["fvtt-hawkmoon-cyd", "sheet", "actor"],
|
||||||
template: "systems/fvtt-hawkmoon-cyd/templates/actor-sheet.html",
|
template: "systems/fvtt-hawkmoon-cyd/templates/actor-sheet.html",
|
||||||
width: 640,
|
width: 640,
|
||||||
@@ -25,7 +25,7 @@ export class HawkmoonActorSheet extends ActorSheet {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async getData() {
|
async getData() {
|
||||||
const objectData = duplicate(this.object)
|
const objectData = foundry.utils.duplicate(this.object)
|
||||||
|
|
||||||
let formData = {
|
let formData = {
|
||||||
title: this.title,
|
title: this.title,
|
||||||
@@ -39,17 +39,17 @@ export class HawkmoonActorSheet extends ActorSheet {
|
|||||||
effects: this.object.effects.map(e => foundry.utils.deepClone(e.data)),
|
effects: this.object.effects.map(e => foundry.utils.deepClone(e.data)),
|
||||||
limited: this.object.limited,
|
limited: this.object.limited,
|
||||||
skills: this.actor.getSkills(),
|
skills: this.actor.getSkills(),
|
||||||
armes: duplicate(this.actor.getWeapons()),
|
armes: foundry.utils.duplicate(this.actor.getWeapons()),
|
||||||
monnaies: duplicate(this.actor.getMonnaies()),
|
monnaies: foundry.utils.duplicate(this.actor.getMonnaies()),
|
||||||
protections: duplicate(this.actor.getArmors()),
|
protections: foundry.utils.duplicate(this.actor.getArmors()),
|
||||||
historiques: duplicate(this.actor.getHistoriques() || []),
|
historiques: foundry.utils.duplicate(this.actor.getHistoriques() || []),
|
||||||
talents: duplicate(this.actor.getTalents() || []),
|
talents: foundry.utils.duplicate(this.actor.getTalents() || []),
|
||||||
mutations: duplicate(this.actor.getMutations() || []),
|
mutations: foundry.utils.duplicate(this.actor.getMutations() || []),
|
||||||
talentsCell: this.getCelluleTalents(),
|
talentsCell: this.getCelluleTalents(),
|
||||||
profils: duplicate(this.actor.getProfils() || []),
|
profils: foundry.utils.duplicate(this.actor.getProfils() || []),
|
||||||
combat: this.actor.getCombatValues(),
|
combat: this.actor.getCombatValues(),
|
||||||
equipements: duplicate(this.actor.getEquipments()),
|
equipements: foundry.utils.duplicate(this.actor.getEquipments()),
|
||||||
artefacts: duplicate(this.actor.getArtefacts()),
|
artefacts: foundry.utils.duplicate(this.actor.getArtefacts()),
|
||||||
richesse: this.actor.computeRichesse(),
|
richesse: this.actor.computeRichesse(),
|
||||||
coupDevastateur: this.actor.items.find(it => it.type =="talent" && it.name.toLowerCase() == "coup devastateur" && !it.system.used),
|
coupDevastateur: this.actor.items.find(it => it.type =="talent" && it.name.toLowerCase() == "coup devastateur" && !it.system.used),
|
||||||
valeurEquipement: this.actor.computeValeurEquipement(),
|
valeurEquipement: this.actor.computeValeurEquipement(),
|
||||||
@@ -61,7 +61,8 @@ export class HawkmoonActorSheet extends ActorSheet {
|
|||||||
options: this.options,
|
options: this.options,
|
||||||
owner: this.document.isOwner,
|
owner: this.document.isOwner,
|
||||||
editScore: this.options.editScore,
|
editScore: this.options.editScore,
|
||||||
isGM: game.user.isGM
|
isGM: game.user.isGM,
|
||||||
|
config: game.system.hawkmoon.config
|
||||||
}
|
}
|
||||||
this.formData = formData;
|
this.formData = formData;
|
||||||
|
|
||||||
@@ -146,6 +147,23 @@ export class HawkmoonActorSheet extends ActorSheet {
|
|||||||
let armeId = li.data("item-id")
|
let armeId = li.data("item-id")
|
||||||
this.actor.rollArmeOffensif(armeId)
|
this.actor.rollArmeOffensif(armeId)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
html.find('.roll-assomer').click((event) => {
|
||||||
|
this.actor.rollAssomer()
|
||||||
|
})
|
||||||
|
html.find('.roll-coup-bas').click((event) => {
|
||||||
|
this.actor.rollCoupBas()
|
||||||
|
})
|
||||||
|
html.find('.roll-immobiliser').click((event) => {
|
||||||
|
this.actor.rollImmobiliser()
|
||||||
|
})
|
||||||
|
html.find('.roll-repousser').click((event) => {
|
||||||
|
this.actor.rollRepousser()
|
||||||
|
})
|
||||||
|
html.find('.roll-desengager').click((event) => {
|
||||||
|
this.actor.rollDesengager()
|
||||||
|
})
|
||||||
|
|
||||||
html.find('.roll-arme-degats').click((event) => {
|
html.find('.roll-arme-degats').click((event) => {
|
||||||
const li = $(event.currentTarget).parents(".item")
|
const li = $(event.currentTarget).parents(".item")
|
||||||
let armeId = li.data("item-id")
|
let armeId = li.data("item-id")
|
||||||
|
|||||||
+115
-35
@@ -67,22 +67,22 @@ export class HawkmoonActor extends Actor {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
prepareArme(arme) {
|
prepareArme(arme) {
|
||||||
arme = duplicate(arme)
|
arme = foundry.utils.duplicate(arme)
|
||||||
let combat = this.getCombatValues()
|
let combat = this.getCombatValues()
|
||||||
if (arme.system.typearme == "contact" || arme.system.typearme == "contactjet") {
|
if (arme.system.typearme == "contact" || arme.system.typearme == "contactjet") {
|
||||||
let bonusDefense = this.getBonusDefenseFromTalents()
|
let bonusDefense = this.getBonusDefenseFromTalents()
|
||||||
arme.system.competence = duplicate(this.items.find(item => item.type == "competence" && item.name.toLowerCase() == "mêlée"))
|
arme.system.competence = foundry.utils.duplicate(this.items.find(item => item.type == "competence" && item.name.toLowerCase() == "mêlée"))
|
||||||
arme.system.attrKey = "pui"
|
arme.system.attrKey = "pui"
|
||||||
arme.system.totalDegats = arme.system.degats + "+" + combat.bonusDegatsTotal
|
arme.system.totalDegats = arme.system.degats + "+" + combat.bonusDegatsTotal
|
||||||
arme.system.totalOffensif = this.system.attributs.pui.value + arme.system.competence.system.niveau + arme.system.bonusmaniementoff
|
arme.system.totalOffensif = this.system.attributs.pui.value + arme.system.competence.system.niveau + arme.system.bonusmaniementoff + (this.system.combat.monte ? 3 : 0)
|
||||||
arme.system.totalDefensif = combat.defenseTotal + arme.system.competence.system.niveau + arme.system.seuildefense + bonusDefense
|
arme.system.totalDefensif = combat.defenseTotal + arme.system.competence.system.niveau + arme.system.seuildefense + bonusDefense + (this.system.combat.monte ? 3 : 0)
|
||||||
console.log("Arme", arme.system.totalDefensif, combat, arme.system.competence.system.niveau, arme.system.seuildefense, bonusDefense)
|
console.log("Arme", arme.system.totalDefensif, combat, arme.system.competence.system.niveau, arme.system.seuildefense, bonusDefense)
|
||||||
arme.system.isdefense = true
|
arme.system.isdefense = true
|
||||||
arme.system.isMelee = true
|
arme.system.isMelee = true
|
||||||
arme.system.isDistance = false
|
arme.system.isDistance = false
|
||||||
}
|
}
|
||||||
if (arme.system.typearme == "jet" || arme.system.typearme == "tir") {
|
if (arme.system.typearme == "jet" || arme.system.typearme == "tir") {
|
||||||
arme.system.competence = duplicate(this.items.find(item => item.type == "competence" && item.name.toLowerCase() == "armes à distance"))
|
arme.system.competence = foundry.utils.duplicate(this.items.find(item => item.type == "competence" && item.name.toLowerCase() == "armes à distance"))
|
||||||
arme.system.attrKey = "adr"
|
arme.system.attrKey = "adr"
|
||||||
arme.system.totalOffensif = this.system.attributs.adr.value + arme.system.competence.system.niveau + arme.system.bonusmaniementoff
|
arme.system.totalOffensif = this.system.attributs.adr.value + arme.system.competence.system.niveau + arme.system.bonusmaniementoff
|
||||||
arme.system.totalDegats = arme.system.degats
|
arme.system.totalDegats = arme.system.degats
|
||||||
@@ -146,7 +146,7 @@ export class HawkmoonActor extends Actor {
|
|||||||
getSkills() {
|
getSkills() {
|
||||||
let comp = []
|
let comp = []
|
||||||
for (let item of this.items) {
|
for (let item of this.items) {
|
||||||
item = duplicate(item)
|
item = foundry.utils.duplicate(item)
|
||||||
if (item.type == "competence") {
|
if (item.type == "competence") {
|
||||||
item.system.attribut1total = item.system.niveau + (this.system.attributs[item.system.attribut1]?.value || 0)
|
item.system.attribut1total = item.system.niveau + (this.system.attributs[item.system.attribut1]?.value || 0)
|
||||||
item.system.attribut2total = item.system.niveau + (this.system.attributs[item.system.attribut2]?.value || 0)
|
item.system.attribut2total = item.system.niveau + (this.system.attributs[item.system.attribut2]?.value || 0)
|
||||||
@@ -168,7 +168,7 @@ export class HawkmoonActor extends Actor {
|
|||||||
|
|
||||||
/* ----------------------- --------------------- */
|
/* ----------------------- --------------------- */
|
||||||
addMember(actorId) {
|
addMember(actorId) {
|
||||||
let members = duplicate(this.system.members)
|
let members = foundry.utils.duplicate(this.system.members)
|
||||||
members.push({ id: actorId })
|
members.push({ id: actorId })
|
||||||
this.update({ 'system.members': members })
|
this.update({ 'system.members': members })
|
||||||
}
|
}
|
||||||
@@ -211,7 +211,7 @@ export class HawkmoonActor extends Actor {
|
|||||||
vitesseTotal: this.getVitesseBase() + this.system.combat.vitessebonus,
|
vitesseTotal: this.getVitesseBase() + this.system.combat.vitessebonus,
|
||||||
defenseBase: this.getDefenseBase(),
|
defenseBase: this.getDefenseBase(),
|
||||||
protection: this.getProtection(),
|
protection: this.getProtection(),
|
||||||
defenseTotal: this.getDefenseBase() + this.system.combat.defensebonus + this.getProtection() - this.getTotalAdversite()
|
defenseTotal: this.getDefenseBase() + this.system.combat.defensebonus + this.getProtection() - this.getTotalAdversite() + (this.system.combat.defensetotale ? 3 : 0)
|
||||||
}
|
}
|
||||||
return combat
|
return combat
|
||||||
}
|
}
|
||||||
@@ -235,21 +235,28 @@ export class HawkmoonActor extends Actor {
|
|||||||
this.update({ 'system.sante.vigueur': vigueur })
|
this.update({ 'system.sante.vigueur': vigueur })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
super.prepareDerivedData()
|
super.prepareDerivedData()
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
_preUpdate(changed, options, user) {
|
_preUpdate(changed, options, user) {
|
||||||
|
if (changed?.system?.sante?.etat && changed?.system?.sante?.etat != this.system.sante.etat) {
|
||||||
|
setTimeout(() => {
|
||||||
|
this.processCombativite(changed.system.sante)
|
||||||
|
}, 800)
|
||||||
|
}
|
||||||
super._preUpdate(changed, options, user);
|
super._preUpdate(changed, options, user);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
_onUpdate(data, options, user) {
|
||||||
|
super._onUpdate(data, options, user);
|
||||||
|
}
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
getItemById(id) {
|
getItemById(id) {
|
||||||
let item = this.items.find(item => item.id == id);
|
let item = this.items.find(item => item.id == id);
|
||||||
if (item) {
|
if (item) {
|
||||||
item = duplicate(item)
|
item = foundry.utils.duplicate(item)
|
||||||
}
|
}
|
||||||
return item;
|
return item;
|
||||||
}
|
}
|
||||||
@@ -282,7 +289,7 @@ export class HawkmoonActor extends Actor {
|
|||||||
checkAttribut(attribut, minLevel) {
|
checkAttribut(attribut, minLevel) {
|
||||||
let attr = this.system.attributs.find(at => at.labelnorm == attribut.toLowerCase())
|
let attr = this.system.attributs.find(at => at.labelnorm == attribut.toLowerCase())
|
||||||
if (attr && attr.value >= minLevel) {
|
if (attr && attr.value >= minLevel) {
|
||||||
return { isValid: true, attr: duplicate(attr) }
|
return { isValid: true, attr: foundry.utils.duplicate(attr) }
|
||||||
}
|
}
|
||||||
return { isValid: false }
|
return { isValid: false }
|
||||||
}
|
}
|
||||||
@@ -290,11 +297,11 @@ export class HawkmoonActor extends Actor {
|
|||||||
checkAttributOrCompetenceLevel(compName, minLevel) {
|
checkAttributOrCompetenceLevel(compName, minLevel) {
|
||||||
let comp = this.items.find(i => i.type == "competence" && i.name.toLowerCase() == compName.toLowerCase() && i.system.niveau >= minLevel)
|
let comp = this.items.find(i => i.type == "competence" && i.name.toLowerCase() == compName.toLowerCase() && i.system.niveau >= minLevel)
|
||||||
if (comp) {
|
if (comp) {
|
||||||
return { isValid: true, item: duplicate(comp) }
|
return { isValid: true, item: foundry.utils.duplicate(comp) }
|
||||||
} else {
|
} else {
|
||||||
for (let attrKey in this.system.attributs) {
|
for (let attrKey in this.system.attributs) {
|
||||||
if (this.system.attributs[attrKey].label.toLowerCase() == compName.toLowerCase() && this.system.attributs[attrKey].value >= minLevel) {
|
if (this.system.attributs[attrKey].label.toLowerCase() == compName.toLowerCase() && this.system.attributs[attrKey].value >= minLevel) {
|
||||||
return { isValid: true, item: duplicate(this.system.attributs[attrKey]) }
|
return { isValid: true, item: foundry.utils.duplicate(this.system.attributs[attrKey]) }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -304,7 +311,7 @@ export class HawkmoonActor extends Actor {
|
|||||||
addCompetenceBonus(compName, bonus, baCost) {
|
addCompetenceBonus(compName, bonus, baCost) {
|
||||||
let comp = this.items.find(i => i.type == "competence" && i.name.toLowerCase() == compName.toLowerCase())
|
let comp = this.items.find(i => i.type == "competence" && i.name.toLowerCase() == compName.toLowerCase())
|
||||||
if (comp) {
|
if (comp) {
|
||||||
comp = duplicate(comp)
|
comp = foundry.utils.duplicate(comp)
|
||||||
comp.system.bonus = bonus
|
comp.system.bonus = bonus
|
||||||
comp.system.baCost = baCost
|
comp.system.baCost = baCost
|
||||||
return { isValid: true, item: comp }
|
return { isValid: true, item: comp }
|
||||||
@@ -388,19 +395,28 @@ export class HawkmoonActor extends Actor {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
changeEtatCombativite(value) {
|
changeEtatCombativite(value) {
|
||||||
let sante = duplicate(this.system.sante)
|
if (value === "vaincu") {
|
||||||
|
value = 200
|
||||||
|
}
|
||||||
|
let sante = foundry.utils.duplicate(this.system.sante)
|
||||||
sante.etat += Number(value)
|
sante.etat += Number(value)
|
||||||
sante.etat = Math.max(sante.etat, 0)
|
sante.etat = Math.max(sante.etat, 0)
|
||||||
sante.etat = Math.min(sante.etat, 5)
|
sante.etat = Math.min(sante.etat, this.system.sante.nbcombativite)
|
||||||
this.update({ 'system.sante': sante })
|
this.update({ 'system.sante': sante })
|
||||||
if (sante.etat == this.system.sante.nbcombativite) {
|
if (sante.etat == this.system.sante.nbcombativite) {
|
||||||
ChatMessage.create({ content: `<strong>${this.name} est vaincu !</strong>` })
|
ChatMessage.create({ content: `<strong>${this.name} est vaincu !</strong>` })
|
||||||
}
|
}
|
||||||
|
this.processCombativite(sante)
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
processCombativite(sante) {
|
||||||
|
sante = sante || foundry.utils.duplicate(this.system.sante)
|
||||||
// Gestion des états affaibli et très affaibli
|
// Gestion des états affaibli et très affaibli
|
||||||
if (sante.etat == this.system.sante.nbcombativite-2 || sante.etat == this.system.sante.nbcombativite-1) {
|
if (sante.etat == this.system.sante.nbcombativite - 2 || sante.etat == this.system.sante.nbcombativite - 1) {
|
||||||
if (sante.etat == this.system.sante.nbcombativite-2 && this.items.find(item => item.type == "talent" && item.name.toLowerCase() == "encaissement")) {
|
if (sante.etat == this.system.sante.nbcombativite - 2 && this.items.find(item => item.type == "talent" && item.name.toLowerCase() == "encaissement")) {
|
||||||
ChatMessage.create({ content: `<strong>${this.name} ne subit pas les 2 adversités rouge grâce à Encaissement. Pensez à les ajouter à la fin de la scène !</strong>` })
|
ChatMessage.create({ content: `<strong>${this.name} ne subit pas les 2 adversités rouge grâce à Encaissement. Pensez à les ajouter à la fin de la scène !</strong>` })
|
||||||
} else if (sante.etat == this.system.sante.nbcombativite-1 && this.items.find(item => item.type == "talent" && item.name.toLowerCase().includes("vaillant"))) {
|
} else if (sante.etat == this.system.sante.nbcombativite - 1 && this.items.find(item => item.type == "talent" && item.name.toLowerCase().includes("vaillant"))) {
|
||||||
ChatMessage.create({ content: `<strong>${this.name} ne subit pas les 2 adversités rouge grâce à Vaillant. Pensez à les ajouter à la fin de la scène !</strong>` })
|
ChatMessage.create({ content: `<strong>${this.name} ne subit pas les 2 adversités rouge grâce à Vaillant. Pensez à les ajouter à la fin de la scène !</strong>` })
|
||||||
} else {
|
} else {
|
||||||
ChatMessage.create({ content: `<strong>${this.name} subit 2 adversités rouge !</strong>` })
|
ChatMessage.create({ content: `<strong>${this.name} subit 2 adversités rouge !</strong>` })
|
||||||
@@ -422,13 +438,13 @@ export class HawkmoonActor 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 });
|
||||||
}
|
}
|
||||||
@@ -450,9 +466,10 @@ export class HawkmoonActor extends Actor {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async incDecAdversite(adv, incDec = 0) {
|
async incDecAdversite(adv, incDec = 0) {
|
||||||
let adversite = duplicate(this.system.adversite)
|
let adversite = foundry.utils.duplicate(this.system.adversite)
|
||||||
adversite[adv] += Number(incDec)
|
adversite[adv] += Number(incDec)
|
||||||
adversite[adv] = Math.max(adversite[adv], 0)
|
adversite[adv] = Math.max(adversite[adv], 0)
|
||||||
|
adversite[adv] = Math.min(adversite[adv], 20)
|
||||||
this.update({ 'system.adversite': adversite })
|
this.update({ 'system.adversite': adversite })
|
||||||
}
|
}
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
@@ -497,7 +514,7 @@ export class HawkmoonActor extends Actor {
|
|||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async setPredilectionUsed(compId, predIdx) {
|
async setPredilectionUsed(compId, predIdx) {
|
||||||
let comp = this.items.get(compId)
|
let comp = this.items.get(compId)
|
||||||
let pred = duplicate(comp.system.predilections)
|
let pred = foundry.utils.duplicate(comp.system.predilections)
|
||||||
pred[predIdx].used = true
|
pred[predIdx].used = true
|
||||||
await this.updateEmbeddedDocuments('Item', [{ _id: compId, 'system.predilections': pred }])
|
await this.updateEmbeddedDocuments('Item', [{ _id: compId, 'system.predilections': pred }])
|
||||||
}
|
}
|
||||||
@@ -519,7 +536,7 @@ export class HawkmoonActor extends Actor {
|
|||||||
}
|
}
|
||||||
if (arme.system.totalDefensif > maxDef) {
|
if (arme.system.totalDefensif > maxDef) {
|
||||||
maxDef = arme.system.totalDefensif
|
maxDef = arme.system.totalDefensif
|
||||||
bestArme = duplicate(arme)
|
bestArme = foundry.utils.duplicate(arme)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return bestArme
|
return bestArme
|
||||||
@@ -534,7 +551,7 @@ export class HawkmoonActor extends Actor {
|
|||||||
for (let auto of talent.system.automations) {
|
for (let auto of talent.system.automations) {
|
||||||
if (auto.eventtype === "prepare-roll") {
|
if (auto.eventtype === "prepare-roll") {
|
||||||
if (auto.competence.toLowerCase() == competence.name.toLowerCase()) {
|
if (auto.competence.toLowerCase() == competence.name.toLowerCase()) {
|
||||||
talent = duplicate(talent)
|
talent = foundry.utils.duplicate(talent)
|
||||||
talent.system.bonus = auto.bonus
|
talent.system.bonus = auto.bonus
|
||||||
talent.system.baCost = auto.baCost
|
talent.system.baCost = auto.baCost
|
||||||
talents.push(talent)
|
talents.push(talent)
|
||||||
@@ -566,23 +583,33 @@ export class HawkmoonActor extends Actor {
|
|||||||
rollData.nbAdversites = this.getTotalAdversite()
|
rollData.nbAdversites = this.getTotalAdversite()
|
||||||
rollData.talents = []
|
rollData.talents = []
|
||||||
rollData.attrKey2 = "none"
|
rollData.attrKey2 = "none"
|
||||||
rollData.coupDevastateur = this.items.find(it => it.type =="talent" && it.name.toLowerCase() == "coup dévastateur" && !it.system.used)
|
rollData.coupDevastateur = this.items.find(it => it.type == "talent" && it.name.toLowerCase() == "coup dévastateur" && !it.system.used)
|
||||||
|
rollData.hasAmbidextre = this.items.find(it => it.type == "talent" && it.name.toLowerCase() == "ambidextre")
|
||||||
|
rollData.hasFeinte = this.system.bonneaventure.actuelle > 0 && this.items.find(it => it.type == "talent" && it.name.toLowerCase() == "feinte")
|
||||||
|
rollData.isMonte = this.system.combat.monte
|
||||||
|
rollData.config = game.system.hawkmoon.config
|
||||||
|
|
||||||
if (attrKey) {
|
if (attrKey) {
|
||||||
rollData.attrKey = attrKey
|
rollData.attrKey = attrKey
|
||||||
if (attrKey != "tochoose") {
|
if (attrKey != "tochoose") {
|
||||||
rollData.actionImg = "systems/fvtt-hawkmoon-cyd/assets/icons/" + this.system.attributs[attrKey].labelnorm + ".webp"
|
rollData.actionImg = "systems/fvtt-hawkmoon-cyd/assets/icons/" + this.system.attributs[attrKey].labelnorm + ".webp"
|
||||||
rollData.attr = duplicate(this.system.attributs[attrKey])
|
rollData.attr = foundry.utils.duplicate(this.system.attributs[attrKey])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (compId) {
|
if (compId) {
|
||||||
rollData.competence = duplicate(this.items.get(compId) || {})
|
rollData.competence = foundry.utils.duplicate(this.items.get(compId) || {})
|
||||||
rollData.maitrises = rollData.competence.system.predilections.filter(p => p.maitrise)
|
let maitrises = [{ key: "none", label: "Aucune" }]
|
||||||
|
rollData.competence.system.predilections.forEach(function (item) {
|
||||||
|
if (item.maitrise) {
|
||||||
|
maitrises.push({ key: item.id, label: item.name });
|
||||||
|
}
|
||||||
|
})
|
||||||
|
rollData.maitrises = maitrises // rollData.competence.system.predilections.filter(p => p.maitrise)
|
||||||
rollData.actionImg = rollData.competence?.img
|
rollData.actionImg = rollData.competence?.img
|
||||||
rollData.talents = this.searchRelevantTalents(rollData.competence)
|
rollData.talents = this.searchRelevantTalents(rollData.competence)
|
||||||
}
|
}
|
||||||
if (compName) {
|
if (compName) {
|
||||||
rollData.competence = duplicate(this.items.find(item => item.name.toLowerCase() == compName.toLowerCase()) || {})
|
rollData.competence = foundry.utils.duplicate(this.items.find(item => item.name.toLowerCase() == compName.toLowerCase()) || {})
|
||||||
rollData.actionImg = rollData.competence?.img
|
rollData.actionImg = rollData.competence?.img
|
||||||
}
|
}
|
||||||
return rollData
|
return rollData
|
||||||
@@ -619,6 +646,53 @@ export class HawkmoonActor extends Actor {
|
|||||||
let rollDialog = await HawkmoonRollDialog.create(this, rollData)
|
let rollDialog = await HawkmoonRollDialog.create(this, rollData)
|
||||||
rollDialog.render(true)
|
rollDialog.render(true)
|
||||||
}
|
}
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
async rollAssomer() {
|
||||||
|
let rollData = this.getCommonRollData("pui", undefined, "Filouterie")
|
||||||
|
rollData.assomer = true
|
||||||
|
rollData.conditionsCommunes = true
|
||||||
|
HawkmoonUtility.updateWithTarget(rollData)
|
||||||
|
let rollDialog = await HawkmoonRollDialog.create(this, rollData)
|
||||||
|
rollDialog.render(true)
|
||||||
|
}
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
async rollCoupBas() {
|
||||||
|
let rollData = this.getCommonRollData("pui", undefined, "Mêlée")
|
||||||
|
rollData.coupBas = true
|
||||||
|
rollData.conditionsCommunes = true
|
||||||
|
HawkmoonUtility.updateWithTarget(rollData)
|
||||||
|
let rollDialog = await HawkmoonRollDialog.create(this, rollData)
|
||||||
|
rollDialog.render(true)
|
||||||
|
}
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
async rollImmobiliser() {
|
||||||
|
let rollData = this.getCommonRollData("pui", undefined, "Mêlée")
|
||||||
|
rollData.immobiliser = true
|
||||||
|
rollData.conditionsCommunes = true
|
||||||
|
rollData.cibleconsciente = true
|
||||||
|
HawkmoonUtility.updateWithTarget(rollData)
|
||||||
|
let rollDialog = await HawkmoonRollDialog.create(this, rollData)
|
||||||
|
rollDialog.render(true)
|
||||||
|
}
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
async rollRepousser() {
|
||||||
|
let rollData = this.getCommonRollData("pui", undefined, "Mêlée")
|
||||||
|
rollData.repousser = true
|
||||||
|
rollData.conditionsCommunes = true
|
||||||
|
rollData.cibleconsciente = true
|
||||||
|
HawkmoonUtility.updateWithTarget(rollData)
|
||||||
|
let rollDialog = await HawkmoonRollDialog.create(this, rollData)
|
||||||
|
rollDialog.render(true)
|
||||||
|
}
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
async rollDesengager() {
|
||||||
|
let rollData = this.getCommonRollData("adr", undefined, "Mouvements")
|
||||||
|
rollData.desengager = true
|
||||||
|
rollData.conditionsCommunes = true
|
||||||
|
HawkmoonUtility.updateWithTarget(rollData)
|
||||||
|
let rollDialog = await HawkmoonRollDialog.create(this, rollData)
|
||||||
|
rollDialog.render(true)
|
||||||
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async rollArmeDegats(armeId, targetVigueur = undefined, rollDataInput = undefined) {
|
async rollArmeDegats(armeId, targetVigueur = undefined, rollDataInput = undefined) {
|
||||||
@@ -634,26 +708,32 @@ export class HawkmoonActor extends Actor {
|
|||||||
if (rollDataInput?.applyCoupDevastateur) {
|
if (rollDataInput?.applyCoupDevastateur) {
|
||||||
bonus2 = Math.floor(this.system.attributs.pui.value / 2)
|
bonus2 = Math.floor(this.system.attributs.pui.value / 2)
|
||||||
let talent = this.items.find(item => item.type == "talent" && item.name.toLowerCase() == "coup dévastateur")
|
let talent = this.items.find(item => item.type == "talent" && item.name.toLowerCase() == "coup dévastateur")
|
||||||
this.updateEmbeddedDocuments('Item', [{ _id: talent.id, 'system.used': true }])
|
this.updateEmbeddedDocuments('Item', [{ _id: talent.id, 'system.used': true }])
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rollDataInput?.isHeroique) {
|
if (rollDataInput?.isHeroique) {
|
||||||
if (rollDataInput?.attaqueCharge) {
|
if (rollDataInput?.attaqueCharge) {
|
||||||
bonus = 5
|
bonus = 5
|
||||||
}
|
}
|
||||||
roll = new Roll("2d10rr10+" + arme.system.totalDegats + "+" + bonus + "+" + bonus2).roll({ async: false })
|
if (rollDataInput?.chargeCavalerie) {
|
||||||
|
bonus = 6
|
||||||
|
}
|
||||||
|
roll = await new Roll("2d10rr10+" + arme.system.totalDegats + "+" + bonus + "+" + bonus2).roll()
|
||||||
} else {
|
} else {
|
||||||
if (rollDataInput?.attaqueCharge) {
|
if (rollDataInput?.attaqueCharge) {
|
||||||
bonus = 3
|
bonus = 3
|
||||||
}
|
}
|
||||||
roll = new Roll("1d10+" + arme.system.totalDegats + "+" + bonus + "+" + bonus2).roll({ async: false })
|
if (rollDataInput?.chargeCavalerie) {
|
||||||
|
bonus = 4
|
||||||
|
}
|
||||||
|
roll = await new Roll("1d10+" + arme.system.totalDegats + "+" + bonus + "+" + bonus2).roll()
|
||||||
}
|
}
|
||||||
await HawkmoonUtility.showDiceSoNice(roll, game.settings.get("core", "rollMode"));
|
await HawkmoonUtility.showDiceSoNice(roll, game.settings.get("core", "rollMode"));
|
||||||
let nbEtatPerdus = 0
|
let nbEtatPerdus = 0
|
||||||
if (targetVigueur) {
|
if (targetVigueur) {
|
||||||
nbEtatPerdus = Math.floor(roll.total / targetVigueur)
|
nbEtatPerdus = Math.floor(roll.total / targetVigueur)
|
||||||
}
|
}
|
||||||
console.log(roll)
|
//console.log(roll)
|
||||||
let rollData = {
|
let rollData = {
|
||||||
arme: arme,
|
arme: arme,
|
||||||
finalResult: roll.total,
|
finalResult: roll.total,
|
||||||
|
|||||||
@@ -14,10 +14,10 @@ export class HawkmoonAutomation {
|
|||||||
this.__objectTypes = { }
|
this.__objectTypes = { }
|
||||||
|
|
||||||
Object.entries(game.data.model.Actor).forEach(kv => {
|
Object.entries(game.data.model.Actor).forEach(kv => {
|
||||||
this.__objectTypes[kv[0]] = duplicate(kv[1])
|
this.__objectTypes[kv[0]] = foundry.utils.duplicate(kv[1])
|
||||||
})
|
})
|
||||||
Object.entries(game.data.model.Item).forEach(kv => {
|
Object.entries(game.data.model.Item).forEach(kv => {
|
||||||
this.__objectTypes[kv[0]] = duplicate(kv[1])
|
this.__objectTypes[kv[0]] = foundry.utils.duplicate(kv[1])
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ export class HawkmoonCelluleSheet extends ActorSheet {
|
|||||||
/** @override */
|
/** @override */
|
||||||
static get defaultOptions() {
|
static get defaultOptions() {
|
||||||
|
|
||||||
return mergeObject(super.defaultOptions, {
|
return foundry.utils.mergeObject(super.defaultOptions, {
|
||||||
classes: ["fvtt-hawkmoon-cyd", "sheet", "actor"],
|
classes: ["fvtt-hawkmoon-cyd", "sheet", "actor"],
|
||||||
template: "systems/fvtt-hawkmoon-cyd/templates/cellule-sheet.html",
|
template: "systems/fvtt-hawkmoon-cyd/templates/cellule-sheet.html",
|
||||||
width: 640,
|
width: 640,
|
||||||
@@ -28,7 +28,7 @@ export class HawkmoonCelluleSheet extends ActorSheet {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async getData() {
|
async getData() {
|
||||||
const objectData = duplicate(this.object)
|
const objectData = foundry.utils.duplicate(this.object)
|
||||||
|
|
||||||
let formData = {
|
let formData = {
|
||||||
title: this.title,
|
title: this.title,
|
||||||
@@ -41,15 +41,16 @@ export class HawkmoonCelluleSheet extends ActorSheet {
|
|||||||
system: objectData.system,
|
system: objectData.system,
|
||||||
effects: this.object.effects.map(e => foundry.utils.deepClone(e.data)),
|
effects: this.object.effects.map(e => foundry.utils.deepClone(e.data)),
|
||||||
limited: this.object.limited,
|
limited: this.object.limited,
|
||||||
talents: duplicate(this.actor.getTalents() || {}),
|
talents: foundry.utils.duplicate(this.actor.getTalents() || {}),
|
||||||
ressources: duplicate(this.actor.getRessources()),
|
ressources: foundry.utils.duplicate(this.actor.getRessources()),
|
||||||
contacts: duplicate(this.actor.getContacts()),
|
contacts: foundry.utils.duplicate(this.actor.getContacts()),
|
||||||
members: this.getMembers(),
|
members: this.getMembers(),
|
||||||
description: await TextEditor.enrichHTML(this.object.system.description, { async: true }),
|
description: await TextEditor.enrichHTML(this.object.system.description, { async: true }),
|
||||||
options: this.options,
|
options: this.options,
|
||||||
owner: this.document.isOwner,
|
owner: this.document.isOwner,
|
||||||
editScore: this.options.editScore,
|
editScore: this.options.editScore,
|
||||||
isGM: game.user.isGM
|
isGM: game.user.isGM,
|
||||||
|
config: game.system.hawkmoon.config
|
||||||
}
|
}
|
||||||
this.formData = formData;
|
this.formData = formData;
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,111 @@
|
|||||||
|
export const HAWKMOON_CONFIG = {
|
||||||
|
|
||||||
|
optionsDifficulte: [
|
||||||
|
{ key: "0", label: "Aucune/Inconnue" },
|
||||||
|
{ key: "5", label: "Facile (5)" },
|
||||||
|
{ key: "10", label: "Moyenne (10)" },
|
||||||
|
{ key: "15", label: "Ardue (15)" },
|
||||||
|
{ key: "20", label: "Hasardeuse (20)" },
|
||||||
|
{ key: "25", label: "Insensée (25)" },
|
||||||
|
{ key: "30", label: "Pure Folie (30)" }
|
||||||
|
],
|
||||||
|
optionsDistanceTir: [
|
||||||
|
{ key: "porteecourte", label: "Courte ({protectionDefenseur}+5)" },
|
||||||
|
{ key: "porteemoyenne", label: "Moyenne ({protectionDefenseur}+9)" },
|
||||||
|
{ key: "porteelongue", label: "Longue ({protectionDefenseur}+14)" }
|
||||||
|
],
|
||||||
|
optionsBonusMalus: [
|
||||||
|
{ key: "-4", label: "-4" },
|
||||||
|
{ key: "-3", label: "-3" },
|
||||||
|
{ key: "-2", label: "-2" },
|
||||||
|
{ key: "-1", label: "-1" },
|
||||||
|
{ key: "0", label: "0" },
|
||||||
|
{ key: "1", label: "+1" },
|
||||||
|
{ key: "2", label: "+2" },
|
||||||
|
{ key: "3", label: "+3" },
|
||||||
|
{ key: "4", label: "+4" }
|
||||||
|
],
|
||||||
|
optionsTailleCible: [
|
||||||
|
{ key: "normal", label: "Normal (SD+0)" },
|
||||||
|
{ key: "main", label: "Main (SD+10)" },
|
||||||
|
{ key: "enfant", label: "Enfant (SD+3)" },
|
||||||
|
{ key: "maison", label: "Maison (SD-10)" }
|
||||||
|
],
|
||||||
|
optionsCouvert: [
|
||||||
|
{ key: "aucun", label: "Aucun" },
|
||||||
|
{ key: "leger", label: "Léger (SD+5)" },
|
||||||
|
{ key: "complet", label: "Quasi complet (SD+10)" }
|
||||||
|
],
|
||||||
|
optionsTireurDeplacement: [
|
||||||
|
{ key: "immobile", label: "Immobile (SD+0)" },
|
||||||
|
{ key: "lent", label: "Lent (SD+3)" },
|
||||||
|
{ key: "rapide", label: "Rapide (SD+5)" }
|
||||||
|
],
|
||||||
|
optionsSoutiens: [
|
||||||
|
{ key: "0", label: "Aucun" },
|
||||||
|
{ key: "1", label: "Un soutien (+3)" },
|
||||||
|
{ key: "2", label: "Deux soutiens (+4)" },
|
||||||
|
{ key: "3", label: "Trois soutiens (+5)" }
|
||||||
|
],
|
||||||
|
optionsStatutResistant: [
|
||||||
|
{ key: "commun", label: "Commun" },
|
||||||
|
{ key: "clandestin", label: "Clandestin" },
|
||||||
|
{ key: "insurge", label: "Insurgé" }
|
||||||
|
],
|
||||||
|
optionsTypeArme: [
|
||||||
|
{key: "contact", label: "Arme de contact"},
|
||||||
|
{key: "contactjet", label: "Arme de contact et de Jet"},
|
||||||
|
{key: "jet", label: "Arme de Jet"},
|
||||||
|
{key: "tir", label: "Arme de Tir"}
|
||||||
|
],
|
||||||
|
optionsArtefactBranche: [
|
||||||
|
{key: "alchimie", label: "Alchimie"},
|
||||||
|
{key: "biologie", label: "Biologie"},
|
||||||
|
{key: "electricite", label: "Electricité"},
|
||||||
|
{key: "mecanique", label: "Mécanique"},
|
||||||
|
{key: "scienceesprit", label: "Science de l'Esprit"}
|
||||||
|
],
|
||||||
|
optionsArtefactBranche2: [
|
||||||
|
{key: "none", label: "Aucune"},
|
||||||
|
{key: "alchimie", label: "Alchimie"},
|
||||||
|
{key: "biologie", label: "Biologie"},
|
||||||
|
{key: "electricite", label: "Electricité"},
|
||||||
|
{key: "mecanique", label: "Mécanique"},
|
||||||
|
{key: "scienceesprit", label: "Science de l'Esprit"}
|
||||||
|
],
|
||||||
|
optionsTypeContact: [
|
||||||
|
{key: "contact", label: "Contact"},
|
||||||
|
{key: "allie", label: "Allié"}
|
||||||
|
],
|
||||||
|
optionsTypeMutation: [
|
||||||
|
{key: "tares_communes", label: "Tares et Malformations communes"},
|
||||||
|
{key: "evolutions_communes", label: "Evolutions communes"},
|
||||||
|
{key: "tares_rares", label: "Tares et Malformations rares"},
|
||||||
|
{key: "evolutions_rares", label: "Evolutions rares"},
|
||||||
|
{key: "tares_majeures", label: "Tares et Maformations majeures"},
|
||||||
|
{key: "evolutions_majeures", label: "Evolutions majeures"},
|
||||||
|
{key: "tares_except", label: "Tares et Malformations exceptionnelles"},
|
||||||
|
{key: "evolutions_except", label: "Evolutions exceptionnelles"}
|
||||||
|
],
|
||||||
|
optionsTypeTalent: [
|
||||||
|
{key: "personnage", label: "Personnage"},
|
||||||
|
{key: "cellule", label: "Cellule"},
|
||||||
|
{key: "traitespece", label: "Trait d'espèce"}
|
||||||
|
],
|
||||||
|
optionsUseTalent: [
|
||||||
|
{key: "permanent", label: "Permanent"},
|
||||||
|
{key: "sceance", label: "Une fois par scéance"},
|
||||||
|
{key: "scenario", label: "Une fois par scénario"},
|
||||||
|
{key: "jour", label: "Une fois par jour"},
|
||||||
|
{key: "unique", label: "Unique"}
|
||||||
|
],
|
||||||
|
optionsAutomationEvent: [
|
||||||
|
{key: "on-drop", label: "Drop sur l'acteur"},
|
||||||
|
{key: "prepare-roll", label: "Préparation d'un jet"},
|
||||||
|
{key: "bonus-permanent", label: "Bonus permanent"}
|
||||||
|
],
|
||||||
|
optionsBonusPermanent: [
|
||||||
|
{key: "vigueur", label: "Vigueur"},
|
||||||
|
{key: "bonus-defensif", label: "Bonus au Seuil de Défense"}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -13,7 +13,7 @@ export class HawkmoonCreatureSheet extends HawkmoonActorSheet {
|
|||||||
/** @override */
|
/** @override */
|
||||||
static get defaultOptions() {
|
static get defaultOptions() {
|
||||||
|
|
||||||
return mergeObject(super.defaultOptions, {
|
return foundry.utils.mergeObject(super.defaultOptions, {
|
||||||
classes: ["fvtt-hawkmoon-cyd", "sheet", "actor"],
|
classes: ["fvtt-hawkmoon-cyd", "sheet", "actor"],
|
||||||
template: "systems/fvtt-hawkmoon-cyd/templates/creature-sheet.html",
|
template: "systems/fvtt-hawkmoon-cyd/templates/creature-sheet.html",
|
||||||
width: 640,
|
width: 640,
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ export class HawkmoonItemSheet extends ItemSheet {
|
|||||||
/** @override */
|
/** @override */
|
||||||
static get defaultOptions() {
|
static get defaultOptions() {
|
||||||
|
|
||||||
return mergeObject(super.defaultOptions, {
|
return foundry.utils.mergeObject(super.defaultOptions, {
|
||||||
classes: ["fvtt-hawkmoon-cyd", "sheet", "item"],
|
classes: ["fvtt-hawkmoon-cyd", "sheet", "item"],
|
||||||
template: "systems/fvtt-hawkmoon-cyd/templates/item-sheet.html",
|
template: "systems/fvtt-hawkmoon-cyd/templates/item-sheet.html",
|
||||||
dragDrop: [{ dragSelector: null, dropSelector: null }],
|
dragDrop: [{ dragSelector: null, dropSelector: null }],
|
||||||
@@ -48,7 +48,7 @@ export class HawkmoonItemSheet extends ItemSheet {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async getData() {
|
async getData() {
|
||||||
const objectData = duplicate(this.object)
|
const objectData = foundry.utils.duplicate(this.object)
|
||||||
let formData = {
|
let formData = {
|
||||||
title: this.title,
|
title: this.title,
|
||||||
id: this.id,
|
id: this.id,
|
||||||
@@ -64,7 +64,8 @@ export class HawkmoonItemSheet extends ItemSheet {
|
|||||||
owner: this.document.isOwner,
|
owner: this.document.isOwner,
|
||||||
description: await TextEditor.enrichHTML(this.object.system.description, {async: true}),
|
description: await TextEditor.enrichHTML(this.object.system.description, {async: true}),
|
||||||
mr: (this.object.type == 'specialisation'),
|
mr: (this.object.type == 'specialisation'),
|
||||||
isGM: game.user.isGM
|
isGM: game.user.isGM,
|
||||||
|
config: game.system.hawkmoon.config
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( objectData.type == "don") {
|
if ( objectData.type == "don") {
|
||||||
@@ -89,7 +90,7 @@ export class HawkmoonItemSheet extends ItemSheet {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
postItem() {
|
postItem() {
|
||||||
let chatData = duplicate(HawkmoonUtility.data(this.item));
|
let chatData = foundry.utils.duplicate(HawkmoonUtility.data(this.item));
|
||||||
if (this.actor) {
|
if (this.actor) {
|
||||||
chatData.actor = { id: this.actor.id };
|
chatData.actor = { id: this.actor.id };
|
||||||
}
|
}
|
||||||
@@ -132,7 +133,7 @@ export class HawkmoonItemSheet extends ItemSheet {
|
|||||||
html.find('.edit-predilection').change(ev => {
|
html.find('.edit-predilection').change(ev => {
|
||||||
const li = $(ev.currentTarget).parents(".prediction-item")
|
const li = $(ev.currentTarget).parents(".prediction-item")
|
||||||
let index = li.data("prediction-index")
|
let index = li.data("prediction-index")
|
||||||
let pred = duplicate(this.object.system.predilections)
|
let pred = foundry.utils.duplicate(this.object.system.predilections)
|
||||||
pred[index].name = ev.currentTarget.value
|
pred[index].name = ev.currentTarget.value
|
||||||
pred[index].id = pred[index].id || randomID(16)
|
pred[index].id = pred[index].id || randomID(16)
|
||||||
this.object.update( { 'system.predilections': pred })
|
this.object.update( { 'system.predilections': pred })
|
||||||
@@ -140,7 +141,7 @@ export class HawkmoonItemSheet extends ItemSheet {
|
|||||||
html.find('.edit-predilection-description').change(ev => {
|
html.find('.edit-predilection-description').change(ev => {
|
||||||
const li = $(ev.currentTarget).parents(".prediction-item")
|
const li = $(ev.currentTarget).parents(".prediction-item")
|
||||||
let index = li.data("prediction-index")
|
let index = li.data("prediction-index")
|
||||||
let pred = duplicate(this.object.system.predilections)
|
let pred = foundry.utils.duplicate(this.object.system.predilections)
|
||||||
pred[index].description = ev.currentTarget.value
|
pred[index].description = ev.currentTarget.value
|
||||||
pred[index].id = pred[index].id || randomID(16)
|
pred[index].id = pred[index].id || randomID(16)
|
||||||
this.object.update( { 'system.predilections': pred })
|
this.object.update( { 'system.predilections': pred })
|
||||||
@@ -148,7 +149,7 @@ export class HawkmoonItemSheet extends ItemSheet {
|
|||||||
html.find('.predilection-acquise').change(ev => {
|
html.find('.predilection-acquise').change(ev => {
|
||||||
const li = $(ev.currentTarget).parents(".prediction-item")
|
const li = $(ev.currentTarget).parents(".prediction-item")
|
||||||
let index = li.data("prediction-index")
|
let index = li.data("prediction-index")
|
||||||
let pred = duplicate(this.object.system.predilections)
|
let pred = foundry.utils.duplicate(this.object.system.predilections)
|
||||||
pred[index].acquise = ev.currentTarget.checked
|
pred[index].acquise = ev.currentTarget.checked
|
||||||
pred[index].id = pred[index].id || randomID(16)
|
pred[index].id = pred[index].id || randomID(16)
|
||||||
this.object.update( { 'system.predilections': pred })
|
this.object.update( { 'system.predilections': pred })
|
||||||
@@ -156,7 +157,7 @@ export class HawkmoonItemSheet extends ItemSheet {
|
|||||||
html.find('.predilection-maitrise').change(ev => {
|
html.find('.predilection-maitrise').change(ev => {
|
||||||
const li = $(ev.currentTarget).parents(".prediction-item")
|
const li = $(ev.currentTarget).parents(".prediction-item")
|
||||||
let index = li.data("prediction-index")
|
let index = li.data("prediction-index")
|
||||||
let pred = duplicate(this.object.system.predilections)
|
let pred = foundry.utils.duplicate(this.object.system.predilections)
|
||||||
pred[index].maitrise = ev.currentTarget.checked
|
pred[index].maitrise = ev.currentTarget.checked
|
||||||
pred[index].id = pred[index].id || randomID(16)
|
pred[index].id = pred[index].id || randomID(16)
|
||||||
this.object.update( { 'system.predilections': pred })
|
this.object.update( { 'system.predilections': pred })
|
||||||
@@ -164,41 +165,41 @@ export class HawkmoonItemSheet extends ItemSheet {
|
|||||||
html.find('.predilection-used').change(ev => {
|
html.find('.predilection-used').change(ev => {
|
||||||
const li = $(ev.currentTarget).parents(".prediction-item")
|
const li = $(ev.currentTarget).parents(".prediction-item")
|
||||||
let index = li.data("prediction-index")
|
let index = li.data("prediction-index")
|
||||||
let pred = duplicate(this.object.system.predilections)
|
let pred = foundry.utils.duplicate(this.object.system.predilections)
|
||||||
pred[index].used = ev.currentTarget.checked
|
pred[index].used = ev.currentTarget.checked
|
||||||
pred[index].id = pred[index].id || randomID(16)
|
pred[index].id = pred[index].id || randomID(16)
|
||||||
this.object.update( { 'system.predilections': pred })
|
this.object.update( { 'system.predilections': pred })
|
||||||
})
|
})
|
||||||
|
|
||||||
html.find('#add-predilection').click(ev => {
|
html.find('#add-predilection').click(ev => {
|
||||||
let pred = duplicate(this.object.system.predilections)
|
let pred = foundry.utils.duplicate(this.object.system.predilections)
|
||||||
pred.push( { name: "Nouvelle prédilection", id: randomID(16), used: false })
|
pred.push( { name: "Nouvelle prédilection", id: randomID(16), used: false })
|
||||||
this.object.update( { 'system.predilections': pred })
|
this.object.update( { 'system.predilections': pred })
|
||||||
})
|
})
|
||||||
html.find('.delete-prediction').click(ev => {
|
html.find('.delete-prediction').click(ev => {
|
||||||
const li = $(ev.currentTarget).parents(".prediction-item")
|
const li = $(ev.currentTarget).parents(".prediction-item")
|
||||||
let index = li.data("prediction-index")
|
let index = li.data("prediction-index")
|
||||||
let pred = duplicate(this.object.system.predilections)
|
let pred = foundry.utils.duplicate(this.object.system.predilections)
|
||||||
pred.splice(index,1)
|
pred.splice(index,1)
|
||||||
this.object.update( { 'system.predilections': pred })
|
this.object.update( { 'system.predilections': pred })
|
||||||
})
|
})
|
||||||
|
|
||||||
html.find('#add-automation').click(ev => {
|
html.find('#add-automation').click(ev => {
|
||||||
let autom = duplicate(this.object.system.automations)
|
let autom = foundry.utils.duplicate(this.object.system.automations)
|
||||||
autom.push( { eventtype: "on-drop", name: "Automatisation 1", bonusname: "vigueur", bonus: 0, competence: "", minLevel: 0, baCost: 0, id: randomID(16) })
|
autom.push( { eventtype: "on-drop", name: "Automatisation 1", bonusname: "vigueur", bonus: 0, competence: "", minLevel: 0, baCost: 0, id: randomID(16) })
|
||||||
this.object.update( { 'system.automations': autom })
|
this.object.update( { 'system.automations': autom })
|
||||||
})
|
})
|
||||||
html.find('.delete-automation').click(ev => {
|
html.find('.delete-automation').click(ev => {
|
||||||
const li = $(ev.currentTarget).parents(".automation-item")
|
const li = $(ev.currentTarget).parents(".automation-item")
|
||||||
let index = li.data("automation-index")
|
let index = li.data("automation-index")
|
||||||
let autom = duplicate(this.object.system.automations)
|
let autom = foundry.utils.duplicate(this.object.system.automations)
|
||||||
autom.splice(index,1)
|
autom.splice(index,1)
|
||||||
this.object.update( { 'system.automations': autom })
|
this.object.update( { 'system.automations': autom })
|
||||||
})
|
})
|
||||||
html.find('.automation-edit-field').change(ev => {
|
html.find('.automation-edit-field').change(ev => {
|
||||||
let index = $(ev.currentTarget).data("automation-index")
|
let index = $(ev.currentTarget).data("automation-index")
|
||||||
let field = $(ev.currentTarget).data("automation-field")
|
let field = $(ev.currentTarget).data("automation-field")
|
||||||
let auto = duplicate(this.object.system.automations)
|
let auto = foundry.utils.duplicate(this.object.system.automations)
|
||||||
auto[index][field] = ev.currentTarget.value
|
auto[index][field] = ev.currentTarget.value
|
||||||
auto[index].id = auto[index].id || randomID(16)
|
auto[index].id = auto[index].id || randomID(16)
|
||||||
this.object.update( { 'system.automations': auto })
|
this.object.update( { 'system.automations': auto })
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ import { HawkmoonCombat } from "./hawkmoon-combat.js";
|
|||||||
import { HawkmoonItem } from "./hawkmoon-item.js";
|
import { HawkmoonItem } from "./hawkmoon-item.js";
|
||||||
import { HawkmoonAutomation } from "./hawkmoon-automation.js";
|
import { HawkmoonAutomation } from "./hawkmoon-automation.js";
|
||||||
import { HawkmoonTokenHud } from "./hawkmoon-hud.js";
|
import { HawkmoonTokenHud } from "./hawkmoon-hud.js";
|
||||||
|
import { HAWKMOON_CONFIG } from "./hawkmoon-config.js";
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
/* Foundry VTT Initialization */
|
/* Foundry VTT Initialization */
|
||||||
@@ -50,7 +51,8 @@ Hooks.once("init", async function () {
|
|||||||
CONFIG.Item.documentClass = HawkmoonItem
|
CONFIG.Item.documentClass = HawkmoonItem
|
||||||
game.system.hawkmoon = {
|
game.system.hawkmoon = {
|
||||||
HawkmoonUtility,
|
HawkmoonUtility,
|
||||||
HawkmoonAutomation
|
HawkmoonAutomation,
|
||||||
|
config : HAWKMOON_CONFIG
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
@@ -82,6 +84,19 @@ function welcomeMessage() {
|
|||||||
` });
|
` });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
async function importDefaultScene() {
|
||||||
|
let exists = game.scenes.find(j => j.name == "Accueil");
|
||||||
|
if (!exists) {
|
||||||
|
const scenes = await HawkmoonUtility.loadCompendium("fvtt-hawkmoon-cyd.scenes")
|
||||||
|
let newDocuments = scenes.filter(i => i.name == "Accueil");
|
||||||
|
if (newDocuments) {
|
||||||
|
await game.scenes.documentClass.create(newDocuments);
|
||||||
|
game.scenes.find(i => i.name == "Accueil").activate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
/* Foundry VTT Initialization */
|
/* Foundry VTT Initialization */
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
@@ -104,7 +119,8 @@ Hooks.once("ready", function () {
|
|||||||
}).catch(err=>
|
}).catch(err=>
|
||||||
console.log("No stats available, giving up.")
|
console.log("No stats available, giving up.")
|
||||||
)
|
)
|
||||||
|
|
||||||
|
importDefaultScene()
|
||||||
welcomeMessage()
|
welcomeMessage()
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -60,7 +60,8 @@ export class HawkmoonRollDialog extends Dialog {
|
|||||||
html.find('#modificateur').change(async (event) => {
|
html.find('#modificateur').change(async (event) => {
|
||||||
this.rollData.modificateur = Number(event.currentTarget.value)
|
this.rollData.modificateur = Number(event.currentTarget.value)
|
||||||
})
|
})
|
||||||
html.find('#difficulte').change(async (event) => {
|
html.find('#difficulte').change( (event) => {
|
||||||
|
console.log("Difficulte: " + event.currentTarget.value)
|
||||||
this.rollData.difficulte = Number(event.currentTarget.value)
|
this.rollData.difficulte = Number(event.currentTarget.value)
|
||||||
})
|
})
|
||||||
html.find('#attrKey').change(async (event) => {
|
html.find('#attrKey').change(async (event) => {
|
||||||
@@ -93,6 +94,15 @@ export class HawkmoonRollDialog extends Dialog {
|
|||||||
html.find('#defenseur-au-sol').change((event) => {
|
html.find('#defenseur-au-sol').change((event) => {
|
||||||
this.rollData.defenseurAuSol = event.currentTarget.checked
|
this.rollData.defenseurAuSol = event.currentTarget.checked
|
||||||
})
|
})
|
||||||
|
html.find('#ambidextre-1').change((event) => {
|
||||||
|
this.rollData.ambidextre1 = event.currentTarget.checked
|
||||||
|
})
|
||||||
|
html.find('#ambidextre-2').change((event) => {
|
||||||
|
this.rollData.ambidextre2 = event.currentTarget.checked
|
||||||
|
})
|
||||||
|
html.find('#attaque-monte').change((event) => {
|
||||||
|
this.rollData.attqueMonte = event.currentTarget.checked
|
||||||
|
})
|
||||||
html.find('#defenseur-aveugle').change((event) => {
|
html.find('#defenseur-aveugle').change((event) => {
|
||||||
this.rollData.defenseurAveugle = event.currentTarget.checked
|
this.rollData.defenseurAveugle = event.currentTarget.checked
|
||||||
})
|
})
|
||||||
@@ -108,6 +118,21 @@ export class HawkmoonRollDialog extends Dialog {
|
|||||||
html.find('#attaque-charge').change((event) => {
|
html.find('#attaque-charge').change((event) => {
|
||||||
this.rollData.attaqueCharge = event.currentTarget.checked
|
this.rollData.attaqueCharge = event.currentTarget.checked
|
||||||
})
|
})
|
||||||
|
html.find('#charge-cavalerie').change((event) => {
|
||||||
|
this.rollData.chargeCavalerie = event.currentTarget.checked
|
||||||
|
})
|
||||||
|
html.find('#attaquants-multiple').change((event) => {
|
||||||
|
this.rollData.attaquantsMultiples = event.currentTarget.checked
|
||||||
|
})
|
||||||
|
html.find('#soutiens').change((event) => {
|
||||||
|
this.rollData.soutiens = Number(event.currentTarget.value)
|
||||||
|
})
|
||||||
|
html.find('#feinte').change((event) => {
|
||||||
|
this.rollData.feinte = event.currentTarget.checked
|
||||||
|
})
|
||||||
|
html.find('#contenir').change((event) => {
|
||||||
|
this.rollData.contenir = event.currentTarget.checked
|
||||||
|
})
|
||||||
html.find('#attaque-desarme').change((event) => {
|
html.find('#attaque-desarme').change((event) => {
|
||||||
this.rollData.attaqueDesarme = event.currentTarget.checked
|
this.rollData.attaqueDesarme = event.currentTarget.checked
|
||||||
})
|
})
|
||||||
|
|||||||
+87
-29
@@ -114,6 +114,26 @@ export class HawkmoonUtility {
|
|||||||
let logoPause = "systems/fvtt-hawkmoon-cyd/assets/logos/" + game.settings.get("fvtt-hawkmoon-cyd", "hawkmoon-pause-logo") + ".webp"
|
let logoPause = "systems/fvtt-hawkmoon-cyd/assets/logos/" + game.settings.get("fvtt-hawkmoon-cyd", "hawkmoon-pause-logo") + ".webp"
|
||||||
let logoImg = document.querySelector('#pause').children[0]
|
let logoImg = document.querySelector('#pause').children[0]
|
||||||
logoImg.setAttribute('style', `content: url(${logoPause})`)
|
logoImg.setAttribute('style', `content: url(${logoPause})`)
|
||||||
|
|
||||||
|
game.system.hawkmoon.config.listeNiveauSkill = this.createDirectOptionList(0, 10)
|
||||||
|
game.system.hawkmoon.config.listeNiveauCreature = this.createDirectOptionList(0, 35)
|
||||||
|
game.system.hawkmoon.config.listeNiveauContact = this.createDirectOptionList(1, 3)
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
static createDirectOptionList(min, max) {
|
||||||
|
let options = {};
|
||||||
|
for (let i = min; i <= max; i++) {
|
||||||
|
options[`${i}`] = `${i}`;
|
||||||
|
}
|
||||||
|
return options;
|
||||||
|
}
|
||||||
|
static createArrayOptionList(min, max) {
|
||||||
|
let options = [];
|
||||||
|
for (let i = min; i <= max; i++) {
|
||||||
|
options.push({key:`${i}`, label:`${i}`});
|
||||||
|
}
|
||||||
|
return options;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
@@ -140,9 +160,9 @@ export class HawkmoonUtility {
|
|||||||
let messageId = HawkmoonUtility.findChatMessageId(event.currentTarget)
|
let messageId = HawkmoonUtility.findChatMessageId(event.currentTarget)
|
||||||
let message = game.messages.get(messageId)
|
let message = game.messages.get(messageId)
|
||||||
let rollData = message.getFlag("world", "hawkmoon-roll")
|
let rollData = message.getFlag("world", "hawkmoon-roll")
|
||||||
let actor = this.getActorFromRollData(rollData)
|
let actor = HawkmoonUtility.getActorFromRollData(rollData)
|
||||||
await actor.setPredilectionUsed(rollData.competence._id, predIdx)
|
await actor.setPredilectionUsed(rollData.competence._id, predIdx)
|
||||||
rollData.competence = duplicate(actor.getCompetence(rollData.competence._id))
|
rollData.competence = foundry.utils.duplicate(actor.getCompetence(rollData.competence._id))
|
||||||
HawkmoonUtility.rollHawkmoon(rollData)
|
HawkmoonUtility.rollHawkmoon(rollData)
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -150,14 +170,14 @@ export class HawkmoonUtility {
|
|||||||
let messageId = HawkmoonUtility.findChatMessageId(event.currentTarget)
|
let messageId = HawkmoonUtility.findChatMessageId(event.currentTarget)
|
||||||
let message = game.messages.get(messageId)
|
let message = game.messages.get(messageId)
|
||||||
let rollData = message.getFlag("world", "hawkmoon-roll")
|
let rollData = message.getFlag("world", "hawkmoon-roll")
|
||||||
let actor = this.getActorFromRollData(rollData)
|
let actor = HawkmoonUtility.getActorFromRollData(rollData)
|
||||||
actor.rollArmeDegats(rollData.arme._id, rollData.targetVigueur, rollData)
|
actor.rollArmeDegats(rollData.arme._id, rollData.targetVigueur, rollData)
|
||||||
})
|
})
|
||||||
html.on("click", '.roll-chat-degat-devastateur', async event => {
|
html.on("click", '.roll-chat-degat-devastateur', async event => {
|
||||||
let messageId = HawkmoonUtility.findChatMessageId(event.currentTarget)
|
let messageId = HawkmoonUtility.findChatMessageId(event.currentTarget)
|
||||||
let message = game.messages.get(messageId)
|
let message = game.messages.get(messageId)
|
||||||
let rollData = message.getFlag("world", "hawkmoon-roll")
|
let rollData = message.getFlag("world", "hawkmoon-roll")
|
||||||
let actor = this.getActorFromRollData(rollData)
|
let actor = HawkmoonUtility.getActorFromRollData(rollData)
|
||||||
rollData.applyCoupDevastateur = true
|
rollData.applyCoupDevastateur = true
|
||||||
actor.rollArmeDegats(rollData.arme._id, rollData.targetVigueur, rollData)
|
actor.rollArmeDegats(rollData.arme._id, rollData.targetVigueur, rollData)
|
||||||
})
|
})
|
||||||
@@ -172,10 +192,7 @@ export class HawkmoonUtility {
|
|||||||
'systems/fvtt-hawkmoon-cyd/templates/partial-item-header.html',
|
'systems/fvtt-hawkmoon-cyd/templates/partial-item-header.html',
|
||||||
'systems/fvtt-hawkmoon-cyd/templates/partial-item-description.html',
|
'systems/fvtt-hawkmoon-cyd/templates/partial-item-description.html',
|
||||||
'systems/fvtt-hawkmoon-cyd/templates/partial-item-nav.html',
|
'systems/fvtt-hawkmoon-cyd/templates/partial-item-nav.html',
|
||||||
'systems/fvtt-hawkmoon-cyd/templates/partial-list-niveau.html',
|
|
||||||
'systems/fvtt-hawkmoon-cyd/templates/partial-list-niveau-creature.html',
|
|
||||||
'systems/fvtt-hawkmoon-cyd/templates/partial-item-prix.html',
|
'systems/fvtt-hawkmoon-cyd/templates/partial-item-prix.html',
|
||||||
'systems/fvtt-hawkmoon-cyd/templates/partial-sante-etat.html',
|
|
||||||
'systems/fvtt-hawkmoon-cyd/templates/partial-automation.html',
|
'systems/fvtt-hawkmoon-cyd/templates/partial-automation.html',
|
||||||
'systems/fvtt-hawkmoon-cyd/templates/hud-adversites.html',
|
'systems/fvtt-hawkmoon-cyd/templates/hud-adversites.html',
|
||||||
]
|
]
|
||||||
@@ -256,7 +273,7 @@ export class HawkmoonUtility {
|
|||||||
|
|
||||||
let id = rollData.rollId;
|
let id = rollData.rollId;
|
||||||
let oldRollData = this.rollDataStore[id] || {};
|
let oldRollData = this.rollDataStore[id] || {};
|
||||||
let newRollData = mergeObject(oldRollData, rollData);
|
let newRollData = foundry.utils.mergeObject(oldRollData, rollData);
|
||||||
this.rollDataStore[id] = newRollData;
|
this.rollDataStore[id] = newRollData;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -364,10 +381,10 @@ export class HawkmoonUtility {
|
|||||||
}
|
}
|
||||||
if (!rollData.attr) {
|
if (!rollData.attr) {
|
||||||
rollData.actionImg = "systems/fvtt-hawkmoon-cyd/assets/icons/" + actor.system.attributs[rollData.attrKey].labelnorm + ".webp"
|
rollData.actionImg = "systems/fvtt-hawkmoon-cyd/assets/icons/" + actor.system.attributs[rollData.attrKey].labelnorm + ".webp"
|
||||||
rollData.attr = duplicate(actor.system.attributs[rollData.attrKey])
|
rollData.attr = foundry.utils.duplicate(actor.system.attributs[rollData.attrKey])
|
||||||
}
|
}
|
||||||
if (rollData.attrKey2 != "none") {
|
if (rollData.attrKey2 != "none") {
|
||||||
rollData.attr2 = duplicate(actor.system.attributs[rollData.attrKey2])
|
rollData.attr2 = foundry.utils.duplicate(actor.system.attributs[rollData.attrKey2])
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rollData.maitriseId != "none") {
|
if (rollData.maitriseId != "none") {
|
||||||
@@ -379,7 +396,7 @@ export class HawkmoonUtility {
|
|||||||
|
|
||||||
//console.log("BEFORE COMP", rollData)
|
//console.log("BEFORE COMP", rollData)
|
||||||
if (rollData.competence) {
|
if (rollData.competence) {
|
||||||
rollData.predilections = duplicate(rollData.competence.system.predilections || [])
|
rollData.predilections = foundry.utils.duplicate(rollData.competence.system.predilections || [])
|
||||||
let compmod = (rollData.competence.system.niveau == 0) ? -3 : 0
|
let compmod = (rollData.competence.system.niveau == 0) ? -3 : 0
|
||||||
rollData.diceFormula += `+${rollData.attr.value}+${rollData.competence.system.niveau}+${rollData.modificateur}+${compmod}`
|
rollData.diceFormula += `+${rollData.attr.value}+${rollData.competence.system.niveau}+${rollData.modificateur}+${compmod}`
|
||||||
|
|
||||||
@@ -411,6 +428,16 @@ export class HawkmoonUtility {
|
|||||||
if (rollData.bonusArmeNaturelle) {
|
if (rollData.bonusArmeNaturelle) {
|
||||||
rollData.diceFormula += `+${rollData.bonusArmeNaturelle}`
|
rollData.diceFormula += `+${rollData.bonusArmeNaturelle}`
|
||||||
}
|
}
|
||||||
|
if (rollData.attaquantsMultiples) {
|
||||||
|
rollData.diceFormula += `+3`
|
||||||
|
}
|
||||||
|
if (rollData.hasAmbidextre) {
|
||||||
|
if ( rollData.attaqueAmbidextre1) {
|
||||||
|
rollData.diceFormula += `-3`
|
||||||
|
} else if ( rollData.attaqueAmbidextre2) {
|
||||||
|
rollData.diceFormula += `-5`
|
||||||
|
}
|
||||||
|
}
|
||||||
if (rollData.defenseurAuSol) {
|
if (rollData.defenseurAuSol) {
|
||||||
rollData.diceFormula += `+3`
|
rollData.diceFormula += `+3`
|
||||||
}
|
}
|
||||||
@@ -426,7 +453,10 @@ export class HawkmoonUtility {
|
|||||||
if (rollData.defenseurImmobilise) {
|
if (rollData.defenseurImmobilise) {
|
||||||
rollData.diceFormula += `+5`
|
rollData.diceFormula += `+5`
|
||||||
}
|
}
|
||||||
|
if (rollData.soutiens > 0) { // 1 soutien = +3, 2 soutiens = +4, 3 soutiens = +5
|
||||||
|
rollData.diceFormula += `+${rollData.soutiens+2}`
|
||||||
|
}
|
||||||
|
|
||||||
if (rollData.arme?.system.isDistance) {
|
if (rollData.arme?.system.isDistance) {
|
||||||
rollData.difficulte = __distanceDifficulte[rollData.distanceTir]
|
rollData.difficulte = __distanceDifficulte[rollData.distanceTir]
|
||||||
rollData.difficulte += __tireurDeplacement[rollData.tireurDeplacement]
|
rollData.difficulte += __tireurDeplacement[rollData.tireurDeplacement]
|
||||||
@@ -434,21 +464,25 @@ export class HawkmoonUtility {
|
|||||||
rollData.difficulte += __tailleCible[rollData.tailleCible]
|
rollData.difficulte += __tailleCible[rollData.tailleCible]
|
||||||
rollData.difficulte += rollData.cibleDeplace ? 3 : 0
|
rollData.difficulte += rollData.cibleDeplace ? 3 : 0
|
||||||
rollData.difficulte += rollData.cibleCaC ? 3 : 0
|
rollData.difficulte += rollData.cibleCaC ? 3 : 0
|
||||||
|
rollData.difficulte += rollData.protectionDefenseur
|
||||||
}
|
}
|
||||||
if (rollData.attaqueDesarme) {
|
if (rollData.attaqueDesarme) {
|
||||||
rollData.difficulte += 10
|
rollData.difficulte += 10
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ajout adversités
|
// Ajout adversités
|
||||||
rollData.diceFormula += `-${rollData.nbAdversites}`
|
rollData.diceFormula += `-${rollData.nbAdversites}`
|
||||||
|
|
||||||
if (rollData.arme && rollData.arme.type == "arme") {
|
if (rollData.arme && rollData.arme.type == "arme") {
|
||||||
rollData.diceFormula += `+${rollData.arme.system.bonusmaniementoff}`
|
rollData.diceFormula += `+${rollData.arme.system.bonusmaniementoff}`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Gestion de la feinte éventuelle
|
||||||
|
rollData.nbCombativitePerdu = 1
|
||||||
|
|
||||||
let myRoll = new Roll(rollData.diceFormula).roll({ async: false })
|
let myRoll = await new Roll(rollData.diceFormula).roll()
|
||||||
await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
|
await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
|
||||||
rollData.roll = duplicate(myRoll)
|
rollData.roll = foundry.utils.duplicate(myRoll)
|
||||||
console.log(">>>> ", myRoll)
|
console.log(">>>> ", myRoll)
|
||||||
|
|
||||||
rollData.finalResult = myRoll.total
|
rollData.finalResult = myRoll.total
|
||||||
@@ -456,15 +490,26 @@ export class HawkmoonUtility {
|
|||||||
if (rollData.isInit) {
|
if (rollData.isInit) {
|
||||||
actor.setFlag("world", "last-initiative", rollData.finalResult)
|
actor.setFlag("world", "last-initiative", rollData.finalResult)
|
||||||
}
|
}
|
||||||
|
if (rollData.feinte) {
|
||||||
|
actor.changeBonneAventure(-1)
|
||||||
|
if ( rollData.isHeroique) {
|
||||||
|
rollData.nbCombativitePerdu = "vaincu"
|
||||||
|
} else if ( rollData.isSuccess) {
|
||||||
|
rollData.nbCombativitePerdu = 2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
this.createChatWithRollMode(rollData.alias, {
|
this.createChatWithRollMode(rollData.alias, {
|
||||||
content: await renderTemplate(`systems/fvtt-hawkmoon-cyd/templates/chat-generic-result.html`, rollData)
|
content: await renderTemplate(`systems/fvtt-hawkmoon-cyd/templates/chat-generic-result.html`, rollData)
|
||||||
}, rollData)
|
}, rollData)
|
||||||
|
|
||||||
if (rollData.arme && rollData.isSuccess && rollData.defenderTokenId) {
|
if ( (rollData.coupBas || rollData.arme) && rollData.isSuccess && rollData.defenderTokenId) {
|
||||||
this.applyCombativite(rollData, 1)
|
this.applyCombativite(rollData, rollData.nbCombativitePerdu)
|
||||||
|
}
|
||||||
|
if (rollData.coupBas && rollData.isSuccess && rollData.defenderTokenId) {
|
||||||
|
let defender = game.canvas.tokens.get(rollData.defenderTokenId).actor
|
||||||
|
defender.incDecAdversite("bleue", -2)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
@@ -483,9 +528,9 @@ export class HawkmoonUtility {
|
|||||||
static async bonusRollHawkmoon(rollData) {
|
static async bonusRollHawkmoon(rollData) {
|
||||||
rollData.bonusFormula = rollData.addedBonus
|
rollData.bonusFormula = rollData.addedBonus
|
||||||
|
|
||||||
let bonusRoll = new Roll(rollData.bonusFormula).roll({ async: false })
|
let bonusRoll = await new Roll(rollData.bonusFormula).roll()
|
||||||
await this.showDiceSoNice(bonusRoll, game.settings.get("core", "rollMode"));
|
await this.showDiceSoNice(bonusRoll, game.settings.get("core", "rollMode"));
|
||||||
rollData.bonusRoll = duplicate(bonusRoll)
|
rollData.bonusRoll = foundry.utils.duplicate(bonusRoll)
|
||||||
|
|
||||||
rollData.finalResult += rollData.bonusRoll.total
|
rollData.finalResult += rollData.bonusRoll.total
|
||||||
|
|
||||||
@@ -519,7 +564,7 @@ export class HawkmoonUtility {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
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);
|
||||||
@@ -583,7 +628,7 @@ export class HawkmoonUtility {
|
|||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
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"),
|
||||||
modificateursOptions: this.getModificateurOptions(),
|
modificateursOptions: this.getModificateurOptions(),
|
||||||
pointAmeOptions: this.getPointAmeOptions(),
|
pointAmeOptions: this.getPointAmeOptions(),
|
||||||
@@ -601,7 +646,12 @@ export class HawkmoonUtility {
|
|||||||
cibleCouvert: "aucun",
|
cibleCouvert: "aucun",
|
||||||
distanceTir: "porteemoyenne",
|
distanceTir: "porteemoyenne",
|
||||||
attaqueCharge: false,
|
attaqueCharge: false,
|
||||||
attaqueDesarme: false
|
attaqueDesarme: false,
|
||||||
|
attaqueAmbidextre1 : false,
|
||||||
|
attaqueAmbidextre2 : false,
|
||||||
|
chargeCavalerie : false,
|
||||||
|
contenir : false,
|
||||||
|
soutiens : 0
|
||||||
}
|
}
|
||||||
return rollData
|
return rollData
|
||||||
}
|
}
|
||||||
@@ -615,9 +665,17 @@ export class HawkmoonUtility {
|
|||||||
rollData.armeDefense = defender.getBestDefenseValue()
|
rollData.armeDefense = defender.getBestDefenseValue()
|
||||||
rollData.targetVigueur = defender.getVigueur()
|
rollData.targetVigueur = defender.getVigueur()
|
||||||
rollData.protectionDefenseur = defender.getProtection()
|
rollData.protectionDefenseur = defender.getProtection()
|
||||||
if (rollData.armeDefense) {
|
if (rollData.immobiliser || rollData.repousser) {
|
||||||
|
let combatValues = defender.getCombatValues()
|
||||||
|
rollData.difficulte = combatValues.defenseTotal + (rollData.armeDefense && rollData.cibleconsciente ? 5 : 0)
|
||||||
|
} else if (rollData.coupBas) {
|
||||||
|
let combatValues = defender.getCombatValues()
|
||||||
|
rollData.difficulte = combatValues.defenseTotal
|
||||||
|
}else if ( rollData.assomer) {
|
||||||
|
rollData.difficulte = 3 + (defender.system.attributs.tre.value * 2)
|
||||||
|
} else if (rollData.armeDefense) {
|
||||||
rollData.difficulte = rollData.armeDefense.system.totalDefensif
|
rollData.difficulte = rollData.armeDefense.system.totalDefensif
|
||||||
if ( !rollData.arme.system.armenaturelle && !rollData.arme.system.armefortune ){
|
if ( !rollData.desengager && !rollData.arme.system.armenaturelle && !rollData.arme.system.armefortune ){
|
||||||
if (rollData.armeDefense.system.armenaturelle || rollData.armeDefense.system.armefortune) {
|
if (rollData.armeDefense.system.armenaturelle || rollData.armeDefense.system.armefortune) {
|
||||||
rollData.bonusArmeNaturelle = 3
|
rollData.bonusArmeNaturelle = 3
|
||||||
}
|
}
|
||||||
@@ -639,7 +697,7 @@ export class HawkmoonUtility {
|
|||||||
let msg = game.messages.get(msgId)
|
let msg = game.messages.get(msgId)
|
||||||
if (msg) {
|
if (msg) {
|
||||||
let rollData = msg.getFlag("world", "hawkmoon-roll")
|
let rollData = msg.getFlag("world", "hawkmoon-roll")
|
||||||
let actor = this.getActorFromRollData(rollData)
|
let actor = HawkmoonUtility.getActorFromRollData(rollData)
|
||||||
actor.changeBonneAventure(changed)
|
actor.changeBonneAventure(changed)
|
||||||
rollData.isReroll = true
|
rollData.isReroll = true
|
||||||
rollData.textBonus = "Bonus de Points d'Aventure"
|
rollData.textBonus = "Bonus de Points d'Aventure"
|
||||||
@@ -658,7 +716,7 @@ export class HawkmoonUtility {
|
|||||||
let msg = game.messages.get(msgId)
|
let msg = game.messages.get(msgId)
|
||||||
if (msg) {
|
if (msg) {
|
||||||
let rollData = msg.getFlag("world", "hawkmoon-roll")
|
let rollData = msg.getFlag("world", "hawkmoon-roll")
|
||||||
let actor = this.getActorFromRollData(rollData)
|
let actor = HawkmoonUtility.getActorFromRollData(rollData)
|
||||||
actor.changeEclat(changed)
|
actor.changeEclat(changed)
|
||||||
rollData.isReroll = true
|
rollData.isReroll = true
|
||||||
rollData.textBonus = "Bonus d'Eclat"
|
rollData.textBonus = "Bonus d'Eclat"
|
||||||
@@ -677,13 +735,13 @@ export class HawkmoonUtility {
|
|||||||
let canApplyBA = function (li) {
|
let canApplyBA = function (li) {
|
||||||
let message = game.messages.get(li.attr("data-message-id"))
|
let message = game.messages.get(li.attr("data-message-id"))
|
||||||
let rollData = message.getFlag("world", "hawkmoon-roll")
|
let rollData = message.getFlag("world", "hawkmoon-roll")
|
||||||
let actor = this.getActorFromRollData(rollData)
|
let actor = HawkmoonUtility.getActorFromRollData(rollData)
|
||||||
return (!rollData.isReroll && actor.getBonneAventure() > 0)
|
return (!rollData.isReroll && actor.getBonneAventure() > 0)
|
||||||
}
|
}
|
||||||
let canApplyPE = function (li) {
|
let canApplyPE = function (li) {
|
||||||
let message = game.messages.get(li.attr("data-message-id"))
|
let message = game.messages.get(li.attr("data-message-id"))
|
||||||
let rollData = message.getFlag("world", "hawkmoon-roll")
|
let rollData = message.getFlag("world", "hawkmoon-roll")
|
||||||
let actor = this.getActorFromRollData(rollData)
|
let actor = HawkmoonUtility.getActorFromRollData(rollData)
|
||||||
return (!rollData.isReroll && actor.getEclat() > 0)
|
return (!rollData.isReroll && actor.getEclat() > 0)
|
||||||
}
|
}
|
||||||
options.push(
|
options.push(
|
||||||
|
|||||||
Binary file not shown.
@@ -1 +1 @@
|
|||||||
MANIFEST-000112
|
MANIFEST-000189
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
2024/02/24-17:02:14.754352 7f04234006c0 Recovering log #110
|
2024/05/24-08:17:00.557125 7f7a316006c0 Recovering log #187
|
||||||
2024/02/24-17:02:14.807801 7f04234006c0 Delete type=3 #108
|
2024/05/24-08:17:00.567036 7f7a316006c0 Delete type=3 #185
|
||||||
2024/02/24-17:02:14.807944 7f04234006c0 Delete type=0 #110
|
2024/05/24-08:17:00.567138 7f7a316006c0 Delete type=0 #187
|
||||||
2024/02/24-17:02:44.940487 7f0421a006c0 Level-0 table #115: started
|
2024/05/24-08:25:18.939360 7f7a2b8006c0 Level-0 table #192: started
|
||||||
2024/02/24-17:02:44.940520 7f0421a006c0 Level-0 table #115: 0 bytes OK
|
2024/05/24-08:25:18.939393 7f7a2b8006c0 Level-0 table #192: 0 bytes OK
|
||||||
2024/02/24-17:02:44.990896 7f0421a006c0 Delete type=0 #113
|
2024/05/24-08:25:18.945837 7f7a2b8006c0 Delete type=0 #190
|
||||||
2024/02/24-17:02:44.991050 7f0421a006c0 Manual compaction at level-0 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end)
|
2024/05/24-08:25:18.945984 7f7a2b8006c0 Manual compaction at level-0 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end)
|
||||||
2024/02/24-17:02:44.991066 7f0421a006c0 Manual compaction at level-1 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end)
|
2024/05/24-08:25:18.946009 7f7a2b8006c0 Manual compaction at level-1 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end)
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
2024/02/24-15:27:21.161901 7f0422a006c0 Recovering log #106
|
2024/05/05-15:08:28.474868 7fc3f4c006c0 Recovering log #183
|
||||||
2024/02/24-15:27:21.172307 7f0422a006c0 Delete type=3 #104
|
2024/05/05-15:08:28.506757 7fc3f4c006c0 Delete type=3 #181
|
||||||
2024/02/24-15:27:21.172420 7f0422a006c0 Delete type=0 #106
|
2024/05/05-15:08:28.506853 7fc3f4c006c0 Delete type=0 #183
|
||||||
2024/02/24-15:54:11.160992 7f0421a006c0 Level-0 table #111: started
|
2024/05/05-15:09:14.527216 7fc3f32006c0 Level-0 table #188: started
|
||||||
2024/02/24-15:54:11.161043 7f0421a006c0 Level-0 table #111: 0 bytes OK
|
2024/05/05-15:09:14.527241 7fc3f32006c0 Level-0 table #188: 0 bytes OK
|
||||||
2024/02/24-15:54:11.168984 7f0421a006c0 Delete type=0 #109
|
2024/05/05-15:09:14.534234 7fc3f32006c0 Delete type=0 #186
|
||||||
2024/02/24-15:54:11.169375 7f0421a006c0 Manual compaction at level-0 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end)
|
2024/05/05-15:09:14.547770 7fc3f32006c0 Manual compaction at level-0 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end)
|
||||||
2024/02/24-15:54:11.169407 7f0421a006c0 Manual compaction at level-1 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end)
|
2024/05/05-15:09:14.547837 7fc3f32006c0 Manual compaction at level-1 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end)
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1
-1
@@ -1 +1 @@
|
|||||||
MANIFEST-000112
|
MANIFEST-000189
|
||||||
|
|||||||
+8
-8
@@ -1,8 +1,8 @@
|
|||||||
2024/02/24-17:02:14.261072 7f0422a006c0 Recovering log #110
|
2024/05/24-08:17:00.446699 7f7a32a006c0 Recovering log #187
|
||||||
2024/02/24-17:02:14.336608 7f0422a006c0 Delete type=3 #108
|
2024/05/24-08:17:00.456845 7f7a32a006c0 Delete type=3 #185
|
||||||
2024/02/24-17:02:14.336726 7f0422a006c0 Delete type=0 #110
|
2024/05/24-08:17:00.456957 7f7a32a006c0 Delete type=0 #187
|
||||||
2024/02/24-17:02:44.653079 7f0421a006c0 Level-0 table #115: started
|
2024/05/24-08:25:18.877966 7f7a2b8006c0 Level-0 table #192: started
|
||||||
2024/02/24-17:02:44.653100 7f0421a006c0 Level-0 table #115: 0 bytes OK
|
2024/05/24-08:25:18.877995 7f7a2b8006c0 Level-0 table #192: 0 bytes OK
|
||||||
2024/02/24-17:02:44.684887 7f0421a006c0 Delete type=0 #113
|
2024/05/24-08:25:18.885132 7f7a2b8006c0 Delete type=0 #190
|
||||||
2024/02/24-17:02:44.722405 7f0421a006c0 Manual compaction at level-0 from '!items!0fit7HelSjaFtXcW' @ 72057594037927935 : 1 .. '!items!wxrzP3NyiHiYnAMJ' @ 0 : 0; will stop at (end)
|
2024/05/24-08:25:18.885320 7f7a2b8006c0 Manual compaction at level-0 from '!items!0fit7HelSjaFtXcW' @ 72057594037927935 : 1 .. '!items!wxrzP3NyiHiYnAMJ' @ 0 : 0; will stop at (end)
|
||||||
2024/02/24-17:02:44.722456 7f0421a006c0 Manual compaction at level-1 from '!items!0fit7HelSjaFtXcW' @ 72057594037927935 : 1 .. '!items!wxrzP3NyiHiYnAMJ' @ 0 : 0; will stop at (end)
|
2024/05/24-08:25:18.885350 7f7a2b8006c0 Manual compaction at level-1 from '!items!0fit7HelSjaFtXcW' @ 72057594037927935 : 1 .. '!items!wxrzP3NyiHiYnAMJ' @ 0 : 0; will stop at (end)
|
||||||
|
|||||||
+8
-8
@@ -1,8 +1,8 @@
|
|||||||
2024/02/24-15:27:21.061930 7f0428e006c0 Recovering log #106
|
2024/05/05-15:08:28.197636 7fc3f42006c0 Recovering log #183
|
||||||
2024/02/24-15:27:21.072272 7f0428e006c0 Delete type=3 #104
|
2024/05/05-15:08:28.228972 7fc3f42006c0 Delete type=3 #181
|
||||||
2024/02/24-15:27:21.072358 7f0428e006c0 Delete type=0 #106
|
2024/05/05-15:08:28.229102 7fc3f42006c0 Delete type=0 #183
|
||||||
2024/02/24-15:54:11.103417 7f0421a006c0 Level-0 table #111: started
|
2024/05/05-15:09:14.474463 7fc3f32006c0 Level-0 table #188: started
|
||||||
2024/02/24-15:54:11.103455 7f0421a006c0 Level-0 table #111: 0 bytes OK
|
2024/05/05-15:09:14.474545 7fc3f32006c0 Level-0 table #188: 0 bytes OK
|
||||||
2024/02/24-15:54:11.109891 7f0421a006c0 Delete type=0 #109
|
2024/05/05-15:09:14.480529 7fc3f32006c0 Delete type=0 #186
|
||||||
2024/02/24-15:54:11.118172 7f0421a006c0 Manual compaction at level-0 from '!items!0fit7HelSjaFtXcW' @ 72057594037927935 : 1 .. '!items!wxrzP3NyiHiYnAMJ' @ 0 : 0; will stop at (end)
|
2024/05/05-15:09:14.486879 7fc3f32006c0 Manual compaction at level-0 from '!items!0fit7HelSjaFtXcW' @ 72057594037927935 : 1 .. '!items!wxrzP3NyiHiYnAMJ' @ 0 : 0; will stop at (end)
|
||||||
2024/02/24-15:54:11.118244 7f0421a006c0 Manual compaction at level-1 from '!items!0fit7HelSjaFtXcW' @ 72057594037927935 : 1 .. '!items!wxrzP3NyiHiYnAMJ' @ 0 : 0; will stop at (end)
|
2024/05/05-15:09:14.486980 7fc3f32006c0 Manual compaction at level-1 from '!items!0fit7HelSjaFtXcW' @ 72057594037927935 : 1 .. '!items!wxrzP3NyiHiYnAMJ' @ 0 : 0; will stop at (end)
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1 +1 @@
|
|||||||
MANIFEST-000112
|
MANIFEST-000189
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
2024/02/24-17:02:14.147016 7f0422a006c0 Recovering log #110
|
2024/05/24-08:17:00.420864 7f7a32a006c0 Recovering log #187
|
||||||
2024/02/24-17:02:14.207871 7f0422a006c0 Delete type=3 #108
|
2024/05/24-08:17:00.431740 7f7a32a006c0 Delete type=3 #185
|
||||||
2024/02/24-17:02:14.207942 7f0422a006c0 Delete type=0 #110
|
2024/05/24-08:17:00.431809 7f7a32a006c0 Delete type=0 #187
|
||||||
2024/02/24-17:02:44.579150 7f0421a006c0 Level-0 table #115: started
|
2024/05/24-08:25:18.858145 7f7a2b8006c0 Level-0 table #192: started
|
||||||
2024/02/24-17:02:44.579252 7f0421a006c0 Level-0 table #115: 0 bytes OK
|
2024/05/24-08:25:18.858180 7f7a2b8006c0 Level-0 table #192: 0 bytes OK
|
||||||
2024/02/24-17:02:44.616456 7f0421a006c0 Delete type=0 #113
|
2024/05/24-08:25:18.864498 7f7a2b8006c0 Delete type=0 #190
|
||||||
2024/02/24-17:02:44.722366 7f0421a006c0 Manual compaction at level-0 from '!items!0nhTxujlIUB63Aqt' @ 72057594037927935 : 1 .. '!items!tFU5yISK6spdNWco' @ 0 : 0; will stop at (end)
|
2024/05/24-08:25:18.885276 7f7a2b8006c0 Manual compaction at level-0 from '!items!0nhTxujlIUB63Aqt' @ 72057594037927935 : 1 .. '!items!tFU5yISK6spdNWco' @ 0 : 0; will stop at (end)
|
||||||
2024/02/24-17:02:44.722432 7f0421a006c0 Manual compaction at level-1 from '!items!0nhTxujlIUB63Aqt' @ 72057594037927935 : 1 .. '!items!tFU5yISK6spdNWco' @ 0 : 0; will stop at (end)
|
2024/05/24-08:25:18.885328 7f7a2b8006c0 Manual compaction at level-1 from '!items!0nhTxujlIUB63Aqt' @ 72057594037927935 : 1 .. '!items!tFU5yISK6spdNWco' @ 0 : 0; will stop at (end)
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
2024/02/24-15:27:21.032928 7f0428e006c0 Recovering log #106
|
2024/05/05-15:08:28.128774 7fc3f4c006c0 Recovering log #183
|
||||||
2024/02/24-15:27:21.043854 7f0428e006c0 Delete type=3 #104
|
2024/05/05-15:08:28.159335 7fc3f4c006c0 Delete type=3 #181
|
||||||
2024/02/24-15:27:21.043981 7f0428e006c0 Delete type=0 #106
|
2024/05/05-15:08:28.159402 7fc3f4c006c0 Delete type=0 #183
|
||||||
2024/02/24-15:54:11.088997 7f0421a006c0 Level-0 table #111: started
|
2024/05/05-15:09:14.447833 7fc3f32006c0 Level-0 table #188: started
|
||||||
2024/02/24-15:54:11.089081 7f0421a006c0 Level-0 table #111: 0 bytes OK
|
2024/05/05-15:09:14.447883 7fc3f32006c0 Level-0 table #188: 0 bytes OK
|
||||||
2024/02/24-15:54:11.096233 7f0421a006c0 Delete type=0 #109
|
2024/05/05-15:09:14.453996 7fc3f32006c0 Delete type=0 #186
|
||||||
2024/02/24-15:54:11.118114 7f0421a006c0 Manual compaction at level-0 from '!items!0nhTxujlIUB63Aqt' @ 72057594037927935 : 1 .. '!items!tFU5yISK6spdNWco' @ 0 : 0; will stop at (end)
|
2024/05/05-15:09:14.460588 7fc3f32006c0 Manual compaction at level-0 from '!items!0nhTxujlIUB63Aqt' @ 72057594037927935 : 1 .. '!items!tFU5yISK6spdNWco' @ 0 : 0; will stop at (end)
|
||||||
2024/02/24-15:54:11.118212 7f0421a006c0 Manual compaction at level-1 from '!items!0nhTxujlIUB63Aqt' @ 72057594037927935 : 1 .. '!items!tFU5yISK6spdNWco' @ 0 : 0; will stop at (end)
|
2024/05/05-15:09:14.460630 7fc3f32006c0 Manual compaction at level-1 from '!items!0nhTxujlIUB63Aqt' @ 72057594037927935 : 1 .. '!items!tFU5yISK6spdNWco' @ 0 : 0; will stop at (end)
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1 +1 @@
|
|||||||
MANIFEST-000112
|
MANIFEST-000189
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
2024/02/24-17:02:14.032746 7f0422a006c0 Recovering log #110
|
2024/05/24-08:17:00.392950 7f7a32a006c0 Recovering log #187
|
||||||
2024/02/24-17:02:14.083633 7f0422a006c0 Delete type=3 #108
|
2024/05/24-08:17:00.403396 7f7a32a006c0 Delete type=3 #185
|
||||||
2024/02/24-17:02:14.083731 7f0422a006c0 Delete type=0 #110
|
2024/05/24-08:17:00.403453 7f7a32a006c0 Delete type=0 #187
|
||||||
2024/02/24-17:02:44.458715 7f0421a006c0 Level-0 table #115: started
|
2024/05/24-08:25:18.822948 7f7a2b8006c0 Level-0 table #192: started
|
||||||
2024/02/24-17:02:44.458743 7f0421a006c0 Level-0 table #115: 0 bytes OK
|
2024/05/24-08:25:18.823009 7f7a2b8006c0 Level-0 table #192: 0 bytes OK
|
||||||
2024/02/24-17:02:44.496165 7f0421a006c0 Delete type=0 #113
|
2024/05/24-08:25:18.829886 7f7a2b8006c0 Delete type=0 #190
|
||||||
2024/02/24-17:02:44.578914 7f0421a006c0 Manual compaction at level-0 from '!items!15IDGG6JoZnRCQtY' @ 72057594037927935 : 1 .. '!items!yI1zY5k8mAdx9wHK' @ 0 : 0; will stop at (end)
|
2024/05/24-08:25:18.847803 7f7a2b8006c0 Manual compaction at level-0 from '!items!15IDGG6JoZnRCQtY' @ 72057594037927935 : 1 .. '!items!yI1zY5k8mAdx9wHK' @ 0 : 0; will stop at (end)
|
||||||
2024/02/24-17:02:44.579004 7f0421a006c0 Manual compaction at level-1 from '!items!15IDGG6JoZnRCQtY' @ 72057594037927935 : 1 .. '!items!yI1zY5k8mAdx9wHK' @ 0 : 0; will stop at (end)
|
2024/05/24-08:25:18.858034 7f7a2b8006c0 Manual compaction at level-1 from '!items!15IDGG6JoZnRCQtY' @ 72057594037927935 : 1 .. '!items!yI1zY5k8mAdx9wHK' @ 0 : 0; will stop at (end)
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
2024/02/24-15:27:21.005371 7f0428e006c0 Recovering log #106
|
2024/05/05-15:08:28.059969 7fc3f42006c0 Recovering log #183
|
||||||
2024/02/24-15:27:21.017229 7f0428e006c0 Delete type=3 #104
|
2024/05/05-15:08:28.090803 7fc3f42006c0 Delete type=3 #181
|
||||||
2024/02/24-15:27:21.017431 7f0428e006c0 Delete type=0 #106
|
2024/05/05-15:08:28.090980 7fc3f42006c0 Delete type=0 #183
|
||||||
2024/02/24-15:54:11.070055 7f0421a006c0 Level-0 table #111: started
|
2024/05/05-15:09:14.441351 7fc3f32006c0 Level-0 table #188: started
|
||||||
2024/02/24-15:54:11.070105 7f0421a006c0 Level-0 table #111: 0 bytes OK
|
2024/05/05-15:09:14.441377 7fc3f32006c0 Level-0 table #188: 0 bytes OK
|
||||||
2024/02/24-15:54:11.076878 7f0421a006c0 Delete type=0 #109
|
2024/05/05-15:09:14.447653 7fc3f32006c0 Delete type=0 #186
|
||||||
2024/02/24-15:54:11.088751 7f0421a006c0 Manual compaction at level-0 from '!items!15IDGG6JoZnRCQtY' @ 72057594037927935 : 1 .. '!items!yI1zY5k8mAdx9wHK' @ 0 : 0; will stop at (end)
|
2024/05/05-15:09:14.460578 7fc3f32006c0 Manual compaction at level-0 from '!items!15IDGG6JoZnRCQtY' @ 72057594037927935 : 1 .. '!items!yI1zY5k8mAdx9wHK' @ 0 : 0; will stop at (end)
|
||||||
2024/02/24-15:54:11.088816 7f0421a006c0 Manual compaction at level-1 from '!items!15IDGG6JoZnRCQtY' @ 72057594037927935 : 1 .. '!items!yI1zY5k8mAdx9wHK' @ 0 : 0; will stop at (end)
|
2024/05/05-15:09:14.460613 7fc3f32006c0 Manual compaction at level-1 from '!items!15IDGG6JoZnRCQtY' @ 72057594037927935 : 1 .. '!items!yI1zY5k8mAdx9wHK' @ 0 : 0; will stop at (end)
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1 +1 @@
|
|||||||
MANIFEST-000112
|
MANIFEST-000189
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
2024/02/24-17:02:14.437580 7f0422a006c0 Recovering log #110
|
2024/05/24-08:17:00.474146 7f7a32a006c0 Recovering log #187
|
||||||
2024/02/24-17:02:14.523339 7f0422a006c0 Delete type=3 #108
|
2024/05/24-08:17:00.484750 7f7a32a006c0 Delete type=3 #185
|
||||||
2024/02/24-17:02:14.523459 7f0422a006c0 Delete type=0 #110
|
2024/05/24-08:17:00.484807 7f7a32a006c0 Delete type=0 #187
|
||||||
2024/02/24-17:02:44.791691 7f0421a006c0 Level-0 table #115: started
|
2024/05/24-08:25:18.891736 7f7a2b8006c0 Level-0 table #192: started
|
||||||
2024/02/24-17:02:44.791718 7f0421a006c0 Level-0 table #115: 0 bytes OK
|
2024/05/24-08:25:18.891760 7f7a2b8006c0 Level-0 table #192: 0 bytes OK
|
||||||
2024/02/24-17:02:44.828354 7f0421a006c0 Delete type=0 #113
|
2024/05/24-08:25:18.898460 7f7a2b8006c0 Delete type=0 #190
|
||||||
2024/02/24-17:02:44.865482 7f0421a006c0 Manual compaction at level-0 from '!items!0BopmCu8vGK2923j' @ 72057594037927935 : 1 .. '!items!zYx0Ak2y1LNTcKlO' @ 0 : 0; will stop at (end)
|
2024/05/24-08:25:18.911893 7f7a2b8006c0 Manual compaction at level-0 from '!items!0BopmCu8vGK2923j' @ 72057594037927935 : 1 .. '!items!zYx0Ak2y1LNTcKlO' @ 0 : 0; will stop at (end)
|
||||||
2024/02/24-17:02:44.865534 7f0421a006c0 Manual compaction at level-1 from '!items!0BopmCu8vGK2923j' @ 72057594037927935 : 1 .. '!items!zYx0Ak2y1LNTcKlO' @ 0 : 0; will stop at (end)
|
2024/05/24-08:25:18.911931 7f7a2b8006c0 Manual compaction at level-1 from '!items!0BopmCu8vGK2923j' @ 72057594037927935 : 1 .. '!items!zYx0Ak2y1LNTcKlO' @ 0 : 0; will stop at (end)
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
2024/02/24-15:27:21.088831 7f0428e006c0 Recovering log #106
|
2024/05/05-15:08:28.265384 7fc3f4c006c0 Recovering log #183
|
||||||
2024/02/24-15:27:21.099682 7f0428e006c0 Delete type=3 #104
|
2024/05/05-15:08:28.295246 7fc3f4c006c0 Delete type=3 #181
|
||||||
2024/02/24-15:27:21.099779 7f0428e006c0 Delete type=0 #106
|
2024/05/05-15:08:28.295309 7fc3f4c006c0 Delete type=0 #183
|
||||||
2024/02/24-15:54:11.125392 7f0421a006c0 Level-0 table #111: started
|
2024/05/05-15:09:14.480663 7fc3f32006c0 Level-0 table #188: started
|
||||||
2024/02/24-15:54:11.125461 7f0421a006c0 Level-0 table #111: 0 bytes OK
|
2024/05/05-15:09:14.480690 7fc3f32006c0 Level-0 table #188: 0 bytes OK
|
||||||
2024/02/24-15:54:11.132402 7f0421a006c0 Delete type=0 #109
|
2024/05/05-15:09:14.486637 7fc3f32006c0 Delete type=0 #186
|
||||||
2024/02/24-15:54:11.146985 7f0421a006c0 Manual compaction at level-0 from '!items!0BopmCu8vGK2923j' @ 72057594037927935 : 1 .. '!items!zYx0Ak2y1LNTcKlO' @ 0 : 0; will stop at (end)
|
2024/05/05-15:09:14.486900 7fc3f32006c0 Manual compaction at level-0 from '!items!0BopmCu8vGK2923j' @ 72057594037927935 : 1 .. '!items!zYx0Ak2y1LNTcKlO' @ 0 : 0; will stop at (end)
|
||||||
2024/02/24-15:54:11.147070 7f0421a006c0 Manual compaction at level-1 from '!items!0BopmCu8vGK2923j' @ 72057594037927935 : 1 .. '!items!zYx0Ak2y1LNTcKlO' @ 0 : 0; will stop at (end)
|
2024/05/05-15:09:14.486961 7fc3f32006c0 Manual compaction at level-1 from '!items!0BopmCu8vGK2923j' @ 72057594037927935 : 1 .. '!items!zYx0Ak2y1LNTcKlO' @ 0 : 0; will stop at (end)
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1 +1 @@
|
|||||||
MANIFEST-000112
|
MANIFEST-000189
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
2024/02/24-17:02:14.210347 7f04234006c0 Recovering log #110
|
2024/05/24-08:17:00.433758 7f7a316006c0 Recovering log #187
|
||||||
2024/02/24-17:02:14.257923 7f04234006c0 Delete type=3 #108
|
2024/05/24-08:17:00.444385 7f7a316006c0 Delete type=3 #185
|
||||||
2024/02/24-17:02:14.257978 7f04234006c0 Delete type=0 #110
|
2024/05/24-08:17:00.444444 7f7a316006c0 Delete type=0 #187
|
||||||
2024/02/24-17:02:44.616568 7f0421a006c0 Level-0 table #115: started
|
2024/05/24-08:25:18.864630 7f7a2b8006c0 Level-0 table #192: started
|
||||||
2024/02/24-17:02:44.616772 7f0421a006c0 Level-0 table #115: 0 bytes OK
|
2024/05/24-08:25:18.864655 7f7a2b8006c0 Level-0 table #192: 0 bytes OK
|
||||||
2024/02/24-17:02:44.652984 7f0421a006c0 Delete type=0 #113
|
2024/05/24-08:25:18.871431 7f7a2b8006c0 Delete type=0 #190
|
||||||
2024/02/24-17:02:44.722386 7f0421a006c0 Manual compaction at level-0 from '!items!15foLG7y3LUXNzkK' @ 72057594037927935 : 1 .. '!items!z1HtkvazCGHut7cz' @ 0 : 0; will stop at (end)
|
2024/05/24-08:25:18.885301 7f7a2b8006c0 Manual compaction at level-0 from '!items!15foLG7y3LUXNzkK' @ 72057594037927935 : 1 .. '!items!z1HtkvazCGHut7cz' @ 0 : 0; will stop at (end)
|
||||||
2024/02/24-17:02:44.722444 7f0421a006c0 Manual compaction at level-1 from '!items!15foLG7y3LUXNzkK' @ 72057594037927935 : 1 .. '!items!z1HtkvazCGHut7cz' @ 0 : 0; will stop at (end)
|
2024/05/24-08:25:18.885336 7f7a2b8006c0 Manual compaction at level-1 from '!items!15foLG7y3LUXNzkK' @ 72057594037927935 : 1 .. '!items!z1HtkvazCGHut7cz' @ 0 : 0; will stop at (end)
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
2024/02/24-15:27:21.047067 7f0422a006c0 Recovering log #106
|
2024/05/05-15:08:28.161503 7fc3f56006c0 Recovering log #183
|
||||||
2024/02/24-15:27:21.058242 7f0422a006c0 Delete type=3 #104
|
2024/05/05-15:08:28.194742 7fc3f56006c0 Delete type=3 #181
|
||||||
2024/02/24-15:27:21.058369 7f0422a006c0 Delete type=0 #106
|
2024/05/05-15:08:28.194855 7fc3f56006c0 Delete type=0 #183
|
||||||
2024/02/24-15:54:11.096381 7f0421a006c0 Level-0 table #111: started
|
2024/05/05-15:09:14.454182 7fc3f32006c0 Level-0 table #188: started
|
||||||
2024/02/24-15:54:11.096419 7f0421a006c0 Level-0 table #111: 0 bytes OK
|
2024/05/05-15:09:14.454242 7fc3f32006c0 Level-0 table #188: 0 bytes OK
|
||||||
2024/02/24-15:54:11.103263 7f0421a006c0 Delete type=0 #109
|
2024/05/05-15:09:14.460452 7fc3f32006c0 Delete type=0 #186
|
||||||
2024/02/24-15:54:11.118151 7f0421a006c0 Manual compaction at level-0 from '!items!15foLG7y3LUXNzkK' @ 72057594037927935 : 1 .. '!items!z1HtkvazCGHut7cz' @ 0 : 0; will stop at (end)
|
2024/05/05-15:09:14.460606 7fc3f32006c0 Manual compaction at level-0 from '!items!15foLG7y3LUXNzkK' @ 72057594037927935 : 1 .. '!items!z1HtkvazCGHut7cz' @ 0 : 0; will stop at (end)
|
||||||
2024/02/24-15:54:11.118228 7f0421a006c0 Manual compaction at level-1 from '!items!15foLG7y3LUXNzkK' @ 72057594037927935 : 1 .. '!items!z1HtkvazCGHut7cz' @ 0 : 0; will stop at (end)
|
2024/05/05-15:09:14.460638 7fc3f32006c0 Manual compaction at level-1 from '!items!15foLG7y3LUXNzkK' @ 72057594037927935 : 1 .. '!items!z1HtkvazCGHut7cz' @ 0 : 0; will stop at (end)
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1 +1 @@
|
|||||||
MANIFEST-000022
|
MANIFEST-000099
|
||||||
|
|||||||
+8
-8
@@ -1,8 +1,8 @@
|
|||||||
2024/02/24-17:02:14.085660 7f04234006c0 Recovering log #20
|
2024/05/24-08:17:00.405957 7f7a316006c0 Recovering log #97
|
||||||
2024/02/24-17:02:14.143480 7f04234006c0 Delete type=3 #18
|
2024/05/24-08:17:00.417007 7f7a316006c0 Delete type=3 #95
|
||||||
2024/02/24-17:02:14.143544 7f04234006c0 Delete type=0 #20
|
2024/05/24-08:17:00.417062 7f7a316006c0 Delete type=0 #97
|
||||||
2024/02/24-17:02:44.549664 7f0421a006c0 Level-0 table #25: started
|
2024/05/24-08:25:18.871573 7f7a2b8006c0 Level-0 table #102: started
|
||||||
2024/02/24-17:02:44.549704 7f0421a006c0 Level-0 table #25: 0 bytes OK
|
2024/05/24-08:25:18.871605 7f7a2b8006c0 Level-0 table #102: 0 bytes OK
|
||||||
2024/02/24-17:02:44.578703 7f0421a006c0 Delete type=0 #23
|
2024/05/24-08:25:18.877839 7f7a2b8006c0 Delete type=0 #100
|
||||||
2024/02/24-17:02:44.578982 7f0421a006c0 Manual compaction at level-0 from '!folders!5d4Zn28TUcPxRyXd' @ 72057594037927935 : 1 .. '!items!zttESycGKltfwCzJ' @ 0 : 0; will stop at (end)
|
2024/05/24-08:25:18.885311 7f7a2b8006c0 Manual compaction at level-0 from '!folders!5d4Zn28TUcPxRyXd' @ 72057594037927935 : 1 .. '!items!zttESycGKltfwCzJ' @ 0 : 0; will stop at (end)
|
||||||
2024/02/24-17:02:44.579068 7f0421a006c0 Manual compaction at level-1 from '!folders!5d4Zn28TUcPxRyXd' @ 72057594037927935 : 1 .. '!items!zttESycGKltfwCzJ' @ 0 : 0; will stop at (end)
|
2024/05/24-08:25:18.885343 7f7a2b8006c0 Manual compaction at level-1 from '!folders!5d4Zn28TUcPxRyXd' @ 72057594037927935 : 1 .. '!items!zttESycGKltfwCzJ' @ 0 : 0; will stop at (end)
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
2024/02/24-15:27:21.020239 7f0422a006c0 Recovering log #16
|
2024/05/05-15:08:28.094278 7fc3f60006c0 Recovering log #93
|
||||||
2024/02/24-15:27:21.030468 7f0422a006c0 Delete type=3 #14
|
2024/05/05-15:08:28.125562 7fc3f60006c0 Delete type=3 #91
|
||||||
2024/02/24-15:27:21.030604 7f0422a006c0 Delete type=0 #16
|
2024/05/05-15:08:28.125665 7fc3f60006c0 Delete type=0 #93
|
||||||
2024/02/24-15:54:11.077049 7f0421a006c0 Level-0 table #21: started
|
2024/05/05-15:09:14.434835 7fc3f32006c0 Level-0 table #98: started
|
||||||
2024/02/24-15:54:11.082085 7f0421a006c0 Level-0 table #21: 56385 bytes OK
|
2024/05/05-15:09:14.434923 7fc3f32006c0 Level-0 table #98: 0 bytes OK
|
||||||
2024/02/24-15:54:11.088423 7f0421a006c0 Delete type=0 #19
|
2024/05/05-15:09:14.441261 7fc3f32006c0 Delete type=0 #96
|
||||||
2024/02/24-15:54:11.088774 7f0421a006c0 Manual compaction at level-0 from '!folders!5d4Zn28TUcPxRyXd' @ 72057594037927935 : 1 .. '!items!zttESycGKltfwCzJ' @ 0 : 0; will stop at (end)
|
2024/05/05-15:09:14.460566 7fc3f32006c0 Manual compaction at level-0 from '!folders!5d4Zn28TUcPxRyXd' @ 72057594037927935 : 1 .. '!items!zttESycGKltfwCzJ' @ 0 : 0; will stop at (end)
|
||||||
|
2024/05/05-15:09:14.460598 7fc3f32006c0 Manual compaction at level-1 from '!folders!5d4Zn28TUcPxRyXd' @ 72057594037927935 : 1 .. '!items!zttESycGKltfwCzJ' @ 0 : 0; will stop at (end)
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1 +1 @@
|
|||||||
MANIFEST-000112
|
MANIFEST-000189
|
||||||
|
|||||||
+8
-8
@@ -1,8 +1,8 @@
|
|||||||
2024/02/24-17:02:14.526210 7f04234006c0 Recovering log #110
|
2024/05/24-08:17:00.487839 7f7a316006c0 Recovering log #187
|
||||||
2024/02/24-17:02:14.575335 7f04234006c0 Delete type=3 #108
|
2024/05/24-08:17:00.498084 7f7a316006c0 Delete type=3 #185
|
||||||
2024/02/24-17:02:14.575449 7f04234006c0 Delete type=0 #110
|
2024/05/24-08:17:00.498143 7f7a316006c0 Delete type=0 #187
|
||||||
2024/02/24-17:02:44.828537 7f0421a006c0 Level-0 table #115: started
|
2024/05/24-08:25:18.885469 7f7a2b8006c0 Level-0 table #192: started
|
||||||
2024/02/24-17:02:44.828579 7f0421a006c0 Level-0 table #115: 0 bytes OK
|
2024/05/24-08:25:18.885509 7f7a2b8006c0 Level-0 table #192: 0 bytes OK
|
||||||
2024/02/24-17:02:44.865276 7f0421a006c0 Delete type=0 #113
|
2024/05/24-08:25:18.891608 7f7a2b8006c0 Delete type=0 #190
|
||||||
2024/02/24-17:02:44.865499 7f0421a006c0 Manual compaction at level-0 from '!items!26mRstKhCJoXkhu1' @ 72057594037927935 : 1 .. '!items!tFQqcxmkS3MT6ASE' @ 0 : 0; will stop at (end)
|
2024/05/24-08:25:18.911882 7f7a2b8006c0 Manual compaction at level-0 from '!items!26mRstKhCJoXkhu1' @ 72057594037927935 : 1 .. '!items!tFQqcxmkS3MT6ASE' @ 0 : 0; will stop at (end)
|
||||||
2024/02/24-17:02:44.865526 7f0421a006c0 Manual compaction at level-1 from '!items!26mRstKhCJoXkhu1' @ 72057594037927935 : 1 .. '!items!tFQqcxmkS3MT6ASE' @ 0 : 0; will stop at (end)
|
2024/05/24-08:25:18.911925 7f7a2b8006c0 Manual compaction at level-1 from '!items!26mRstKhCJoXkhu1' @ 72057594037927935 : 1 .. '!items!tFQqcxmkS3MT6ASE' @ 0 : 0; will stop at (end)
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
2024/02/24-15:27:21.104005 7f0422a006c0 Recovering log #106
|
2024/05/05-15:08:28.298960 7fc3f56006c0 Recovering log #183
|
||||||
2024/02/24-15:27:21.114826 7f0422a006c0 Delete type=3 #104
|
2024/05/05-15:08:28.332788 7fc3f56006c0 Delete type=3 #181
|
||||||
2024/02/24-15:27:21.114958 7f0422a006c0 Delete type=0 #106
|
2024/05/05-15:08:28.332842 7fc3f56006c0 Delete type=0 #183
|
||||||
2024/02/24-15:54:11.118395 7f0421a006c0 Level-0 table #111: started
|
2024/05/05-15:09:14.487089 7fc3f32006c0 Level-0 table #188: started
|
||||||
2024/02/24-15:54:11.118462 7f0421a006c0 Level-0 table #111: 0 bytes OK
|
2024/05/05-15:09:14.487111 7fc3f32006c0 Level-0 table #188: 0 bytes OK
|
||||||
2024/02/24-15:54:11.125114 7f0421a006c0 Delete type=0 #109
|
2024/05/05-15:09:14.493907 7fc3f32006c0 Delete type=0 #186
|
||||||
2024/02/24-15:54:11.146962 7f0421a006c0 Manual compaction at level-0 from '!items!26mRstKhCJoXkhu1' @ 72057594037927935 : 1 .. '!items!tFQqcxmkS3MT6ASE' @ 0 : 0; will stop at (end)
|
2024/05/05-15:09:14.517258 7fc3f32006c0 Manual compaction at level-0 from '!items!26mRstKhCJoXkhu1' @ 72057594037927935 : 1 .. '!items!tFQqcxmkS3MT6ASE' @ 0 : 0; will stop at (end)
|
||||||
2024/02/24-15:54:11.147039 7f0421a006c0 Manual compaction at level-1 from '!items!26mRstKhCJoXkhu1' @ 72057594037927935 : 1 .. '!items!tFQqcxmkS3MT6ASE' @ 0 : 0; will stop at (end)
|
2024/05/05-15:09:14.517311 7fc3f32006c0 Manual compaction at level-1 from '!items!26mRstKhCJoXkhu1' @ 72057594037927935 : 1 .. '!items!tFQqcxmkS3MT6ASE' @ 0 : 0; will stop at (end)
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1 +1 @@
|
|||||||
MANIFEST-000112
|
MANIFEST-000189
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
2024/02/24-17:02:14.339214 7f04234006c0 Recovering log #110
|
2024/05/24-08:17:00.459976 7f7a316006c0 Recovering log #187
|
||||||
2024/02/24-17:02:14.435163 7f04234006c0 Delete type=3 #108
|
2024/05/24-08:17:00.471555 7f7a316006c0 Delete type=3 #185
|
||||||
2024/02/24-17:02:14.435306 7f04234006c0 Delete type=0 #110
|
2024/05/24-08:17:00.471627 7f7a316006c0 Delete type=0 #187
|
||||||
2024/02/24-17:02:44.685074 7f0421a006c0 Level-0 table #115: started
|
2024/05/24-08:25:18.898630 7f7a2b8006c0 Level-0 table #192: started
|
||||||
2024/02/24-17:02:44.685104 7f0421a006c0 Level-0 table #115: 0 bytes OK
|
2024/05/24-08:25:18.898666 7f7a2b8006c0 Level-0 table #192: 0 bytes OK
|
||||||
2024/02/24-17:02:44.722233 7f0421a006c0 Delete type=0 #113
|
2024/05/24-08:25:18.905507 7f7a2b8006c0 Delete type=0 #190
|
||||||
2024/02/24-17:02:44.722419 7f0421a006c0 Manual compaction at level-0 from '!items!16iPa2yIzB0V3pxb' @ 72057594037927935 : 1 .. '!items!yszkersMTE4p9VzP' @ 0 : 0; will stop at (end)
|
2024/05/24-08:25:18.911904 7f7a2b8006c0 Manual compaction at level-0 from '!items!16iPa2yIzB0V3pxb' @ 72057594037927935 : 1 .. '!items!yszkersMTE4p9VzP' @ 0 : 0; will stop at (end)
|
||||||
2024/02/24-17:02:44.722468 7f0421a006c0 Manual compaction at level-1 from '!items!16iPa2yIzB0V3pxb' @ 72057594037927935 : 1 .. '!items!yszkersMTE4p9VzP' @ 0 : 0; will stop at (end)
|
2024/05/24-08:25:18.911956 7f7a2b8006c0 Manual compaction at level-1 from '!items!16iPa2yIzB0V3pxb' @ 72057594037927935 : 1 .. '!items!yszkersMTE4p9VzP' @ 0 : 0; will stop at (end)
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
2024/02/24-15:27:21.075001 7f0422a006c0 Recovering log #106
|
2024/05/05-15:08:28.232971 7fc3f60006c0 Recovering log #183
|
||||||
2024/02/24-15:27:21.085800 7f0422a006c0 Delete type=3 #104
|
2024/05/05-15:08:28.263060 7fc3f60006c0 Delete type=3 #181
|
||||||
2024/02/24-15:27:21.085899 7f0422a006c0 Delete type=0 #106
|
2024/05/05-15:08:28.263194 7fc3f60006c0 Delete type=0 #183
|
||||||
2024/02/24-15:54:11.110073 7f0421a006c0 Level-0 table #111: started
|
2024/05/05-15:09:14.460749 7fc3f32006c0 Level-0 table #188: started
|
||||||
2024/02/24-15:54:11.110113 7f0421a006c0 Level-0 table #111: 0 bytes OK
|
2024/05/05-15:09:14.460781 7fc3f32006c0 Level-0 table #188: 0 bytes OK
|
||||||
2024/02/24-15:54:11.117605 7f0421a006c0 Delete type=0 #109
|
2024/05/05-15:09:14.467216 7fc3f32006c0 Delete type=0 #186
|
||||||
2024/02/24-15:54:11.118195 7f0421a006c0 Manual compaction at level-0 from '!items!16iPa2yIzB0V3pxb' @ 72057594037927935 : 1 .. '!items!yszkersMTE4p9VzP' @ 0 : 0; will stop at (end)
|
2024/05/05-15:09:14.486829 7fc3f32006c0 Manual compaction at level-0 from '!items!16iPa2yIzB0V3pxb' @ 72057594037927935 : 1 .. '!items!yszkersMTE4p9VzP' @ 0 : 0; will stop at (end)
|
||||||
2024/02/24-15:54:11.118259 7f0421a006c0 Manual compaction at level-1 from '!items!16iPa2yIzB0V3pxb' @ 72057594037927935 : 1 .. '!items!yszkersMTE4p9VzP' @ 0 : 0; will stop at (end)
|
2024/05/05-15:09:14.486921 7fc3f32006c0 Manual compaction at level-1 from '!items!16iPa2yIzB0V3pxb' @ 72057594037927935 : 1 .. '!items!yszkersMTE4p9VzP' @ 0 : 0; will stop at (end)
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1 @@
|
|||||||
|
MANIFEST-000025
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
2024/05/24-08:17:00.542703 7f7a316006c0 Recovering log #22
|
||||||
|
2024/05/24-08:17:00.553437 7f7a316006c0 Delete type=3 #20
|
||||||
|
2024/05/24-08:17:00.553567 7f7a316006c0 Delete type=0 #22
|
||||||
|
2024/05/24-08:25:18.925635 7f7a2b8006c0 Level-0 table #28: started
|
||||||
|
2024/05/24-08:25:18.925662 7f7a2b8006c0 Level-0 table #28: 0 bytes OK
|
||||||
|
2024/05/24-08:25:18.932189 7f7a2b8006c0 Delete type=0 #26
|
||||||
|
2024/05/24-08:25:18.939249 7f7a2b8006c0 Manual compaction at level-0 from '!scenes!CXx90Qk7nXEd2uTh' @ 72057594037927935 : 1 .. '!scenes.tokens.delta.items!j6RYn1X7KfhTioX5.FPPNsxboEnoqyAoh.JxMmMrhEE67GWHQD.t9lh152OxZDg41sm' @ 0 : 0; will stop at (end)
|
||||||
|
2024/05/24-08:25:18.939279 7f7a2b8006c0 Manual compaction at level-1 from '!scenes!CXx90Qk7nXEd2uTh' @ 72057594037927935 : 1 .. '!scenes.tokens.delta.items!j6RYn1X7KfhTioX5.FPPNsxboEnoqyAoh.JxMmMrhEE67GWHQD.t9lh152OxZDg41sm' @ 0 : 0; will stop at (end)
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
2024/05/05-15:08:28.439510 7fc3f56006c0 Recovering log #17
|
||||||
|
2024/05/05-15:08:28.470649 7fc3f56006c0 Delete type=3 #15
|
||||||
|
2024/05/05-15:08:28.470739 7fc3f56006c0 Delete type=0 #17
|
||||||
|
2024/05/05-15:09:14.506515 7fc3f32006c0 Level-0 table #23: started
|
||||||
|
2024/05/05-15:09:14.510022 7fc3f32006c0 Level-0 table #23: 5110 bytes OK
|
||||||
|
2024/05/05-15:09:14.517113 7fc3f32006c0 Delete type=0 #21
|
||||||
|
2024/05/05-15:09:14.517303 7fc3f32006c0 Manual compaction at level-0 from '!scenes!CXx90Qk7nXEd2uTh' @ 72057594037927935 : 1 .. '!scenes.tokens.delta.items!j6RYn1X7KfhTioX5.FPPNsxboEnoqyAoh.JxMmMrhEE67GWHQD.t9lh152OxZDg41sm' @ 0 : 0; will stop at (end)
|
||||||
|
2024/05/05-15:09:14.517340 7fc3f32006c0 Manual compaction at level-1 from '!scenes!CXx90Qk7nXEd2uTh' @ 72057594037927935 : 1 .. '!scenes.tokens.delta.items!j6RYn1X7KfhTioX5.FPPNsxboEnoqyAoh.JxMmMrhEE67GWHQD.t9lh152OxZDg41sm' @ 0 : 0; will stop at '!scenes.tokens.delta.items!j6RYn1X7KfhTioX5.FPPNsxboEnoqyAoh.JxMmMrhEE67GWHQD.t9lh152OxZDg41sm' @ 58 : 1
|
||||||
|
2024/05/05-15:09:14.517351 7fc3f32006c0 Compacting 1@1 + 1@2 files
|
||||||
|
2024/05/05-15:09:14.520727 7fc3f32006c0 Generated table #24@1: 13 keys, 5110 bytes
|
||||||
|
2024/05/05-15:09:14.520753 7fc3f32006c0 Compacted 1@1 + 1@2 files => 5110 bytes
|
||||||
|
2024/05/05-15:09:14.526876 7fc3f32006c0 compacted to: files[ 0 0 1 0 0 0 0 ]
|
||||||
|
2024/05/05-15:09:14.527033 7fc3f32006c0 Delete type=2 #19
|
||||||
|
2024/05/05-15:09:14.527161 7fc3f32006c0 Delete type=2 #23
|
||||||
|
2024/05/05-15:09:14.547746 7fc3f32006c0 Manual compaction at level-1 from '!scenes.tokens.delta.items!j6RYn1X7KfhTioX5.FPPNsxboEnoqyAoh.JxMmMrhEE67GWHQD.t9lh152OxZDg41sm' @ 58 : 1 .. '!scenes.tokens.delta.items!j6RYn1X7KfhTioX5.FPPNsxboEnoqyAoh.JxMmMrhEE67GWHQD.t9lh152OxZDg41sm' @ 0 : 0; will stop at (end)
|
||||||
Binary file not shown.
@@ -1 +1 @@
|
|||||||
MANIFEST-000112
|
MANIFEST-000188
|
||||||
|
|||||||
+7
-7
@@ -1,7 +1,7 @@
|
|||||||
2024/02/24-17:02:14.698353 7f0422a006c0 Recovering log #110
|
2024/05/24-08:17:00.529518 7f7a32a006c0 Recovering log #186
|
||||||
2024/02/24-17:02:14.751354 7f0422a006c0 Delete type=3 #108
|
2024/05/24-08:17:00.539944 7f7a32a006c0 Delete type=3 #184
|
||||||
2024/02/24-17:02:14.751472 7f0422a006c0 Delete type=0 #110
|
2024/05/24-08:17:00.540040 7f7a32a006c0 Delete type=0 #186
|
||||||
2024/02/24-17:02:44.865788 7f0421a006c0 Level-0 table #115: started
|
2024/05/24-08:25:18.919500 7f7a2b8006c0 Level-0 table #191: started
|
||||||
2024/02/24-17:02:44.865841 7f0421a006c0 Level-0 table #115: 0 bytes OK
|
2024/05/24-08:25:18.919523 7f7a2b8006c0 Level-0 table #191: 0 bytes OK
|
||||||
2024/02/24-17:02:44.903145 7f0421a006c0 Delete type=0 #113
|
2024/05/24-08:25:18.925498 7f7a2b8006c0 Delete type=0 #189
|
||||||
2024/02/24-17:02:44.991021 7f0421a006c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)
|
2024/05/24-08:25:18.939233 7f7a2b8006c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
2024/02/24-15:27:21.147525 7f0428e006c0 Recovering log #106
|
2024/05/05-15:08:28.405376 7fc3f4c006c0 Recovering log #182
|
||||||
2024/02/24-15:27:21.158940 7f0428e006c0 Delete type=3 #104
|
2024/05/05-15:08:28.436104 7fc3f4c006c0 Delete type=3 #180
|
||||||
2024/02/24-15:27:21.159095 7f0428e006c0 Delete type=0 #106
|
2024/05/05-15:08:28.436163 7fc3f4c006c0 Delete type=0 #182
|
||||||
2024/02/24-15:54:11.147250 7f0421a006c0 Level-0 table #111: started
|
2024/05/05-15:09:14.500241 7fc3f32006c0 Level-0 table #187: started
|
||||||
2024/02/24-15:54:11.147304 7f0421a006c0 Level-0 table #111: 0 bytes OK
|
2024/05/05-15:09:14.500264 7fc3f32006c0 Level-0 table #187: 0 bytes OK
|
||||||
2024/02/24-15:54:11.154258 7f0421a006c0 Delete type=0 #109
|
2024/05/05-15:09:14.506337 7fc3f32006c0 Delete type=0 #185
|
||||||
2024/02/24-15:54:11.169343 7f0421a006c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)
|
2024/05/05-15:09:14.517290 7fc3f32006c0 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.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user