Compare commits
19 Commits
fvtt-waste
...
main
Author | SHA1 | Date | |
---|---|---|---|
627ccc707b | |||
fdf28c4978 | |||
e0eac58bc9 | |||
b463323fbe | |||
bddf772c99 | |||
a716a3b3d1 | |||
5814ef41df | |||
c0fcbe278f | |||
94f7ef8f90 | |||
19409dd547 | |||
217df7ee10 | |||
9990545568 | |||
d2da332411 | |||
028e8bddac | |||
5c889a5153 | |||
68689add33 | |||
4ed2bcd2ee | |||
0edf336d28 | |||
046cdf4fb2 |
12
README.md
12
README.md
@ -1,11 +1,14 @@
|
|||||||
# Système Foundry pour Wasteland (French RPG, Titam France/Sombres Projets)
|
|
||||||
|
Système Foundry pour Wasteland (French RPG, Titam France/Sombres Projets)
|
||||||
|
|
||||||
## EN
|
## EN
|
||||||
|
|
||||||
Unofficial system for Wasteland (French version from Titam France).
|
Unofficial system for Wasteland (French RPG from Titam France).
|
||||||
|
|
||||||
Books are mandatory to play and are available at : http://www.titam-france.fr
|
Books are mandatory to play and are available at : http://www.titam-france.fr
|
||||||
|
|
||||||
|
``
|
||||||
|
|
||||||
## FR
|
## FR
|
||||||
|
|
||||||
Système non-officiel pour le JDR Wasteland (Titam France).
|
Système non-officiel pour le JDR Wasteland (Titam France).
|
||||||
@ -16,8 +19,9 @@ Les livres du jeu sont nécessaires pour jouer, et sont disponibles ici : http:/
|
|||||||
|
|
||||||
# Credits
|
# Credits
|
||||||
|
|
||||||
Wasteland, le jeu de rôle de Sword & Sorcery, is a property of Titam France/Sombres Projets.
|
Wasteland is a property of Titam France/Sombres Projets.
|
||||||
|
|
||||||
# Developmement
|
# Developmement
|
||||||
|
|
||||||
LeRatierBretonnien
|
Code, CSS and automations : LeRatierBretonnien
|
||||||
|
Compendiums : Pretre, LeRatierBretonnien
|
||||||
|
BIN
assets/icons/don.webp
Normal file
BIN
assets/icons/don.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 40 KiB |
BIN
assets/icons/hubris.webp
Normal file
BIN
assets/icons/hubris.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 40 KiB |
8
changelog.md
Normal file
8
changelog.md
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
# 12.0.1
|
||||||
|
|
||||||
|
- Fix v12 version
|
||||||
|
|
||||||
|
# 11.0.22
|
||||||
|
|
||||||
|
- Version initiale
|
||||||
|
-
|
45
lang/fr.json
45
lang/fr.json
@ -1,24 +1,25 @@
|
|||||||
{
|
{
|
||||||
"ACTOR": {
|
"TYPES": {
|
||||||
"TypePersonnage": "Personnage",
|
"Item": {
|
||||||
"TypePNJ": "PNJ"
|
"arme": "Arme",
|
||||||
},
|
"competence": "Compétence",
|
||||||
|
"protection": "Protection",
|
||||||
"ITEM": {
|
"monnaie": "Monnaie",
|
||||||
"TypeArme": "Arme",
|
"equipement": "Equipement",
|
||||||
"TypeCompetence": "Compétence",
|
"capacite": "Capacité",
|
||||||
"TypeProtection": "Protection",
|
"origine": "Origine",
|
||||||
"TypeMonnaie": "Monnaie",
|
"heritage": "Héritage",
|
||||||
"TypeEquipement": "Equipement",
|
"metier": "Métier",
|
||||||
"TypeCapacite": "Capacité",
|
"bouclier": "Bouclier",
|
||||||
"TypeOrigine": "Origine",
|
"pouvoir": "Pouvoir",
|
||||||
"TypeHeritage": "Héritage",
|
"artifex": "Artifex",
|
||||||
"TypeMetier": "Métier",
|
"mutation": "Mutation",
|
||||||
"TypeBouclier": "Bouclier",
|
"charme": "Charme",
|
||||||
"TypePouvoir": "Pouvoir",
|
"peuple": "Peuple"
|
||||||
"TypeArtifex": "Artifex",
|
},
|
||||||
"TypeMutation": "Mutation",
|
"Actor": {
|
||||||
"TypeCharme": "Charme",
|
"personnage": "Personnage",
|
||||||
"TypePeuple": "Peuple"
|
"pnj": "PNJ"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -7,12 +7,12 @@ import { WastelandUtility } from "./wasteland-utility.js";
|
|||||||
import { WastelandRollDialog } from "./wasteland-roll-dialog.js";
|
import { WastelandRollDialog } from "./wasteland-roll-dialog.js";
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
export class WastelandActorSheet extends ActorSheet {
|
export class WastelandActorSheet extends foundry.appv1.sheets.ActorSheet {
|
||||||
|
|
||||||
/** @override */
|
/** @override */
|
||||||
static get defaultOptions() {
|
static get defaultOptions() {
|
||||||
|
|
||||||
return mergeObject(super.defaultOptions, {
|
return foundry.utils.mergeObject(super.defaultOptions, {
|
||||||
classes: ["fvtt-wasteland", "sheet", "actor"],
|
classes: ["fvtt-wasteland", "sheet", "actor"],
|
||||||
template: "systems/fvtt-wasteland/templates/actor-sheet.html",
|
template: "systems/fvtt-wasteland/templates/actor-sheet.html",
|
||||||
width: 640,
|
width: 640,
|
||||||
@ -25,8 +25,8 @@ export class WastelandActorSheet extends ActorSheet {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async getData() {
|
async getData() {
|
||||||
const objectData = duplicate(this.object)
|
const objectData = foundry.utils.duplicate(this.object)
|
||||||
let actorData = objectData
|
let actorData = objectData
|
||||||
|
|
||||||
let formData = {
|
let formData = {
|
||||||
title: this.title,
|
title: this.title,
|
||||||
@ -40,23 +40,32 @@ export class WastelandActorSheet 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()),
|
||||||
protections: duplicate(this.actor.getArmors()),
|
protections: foundry.utils.duplicate(this.actor.getArmors()),
|
||||||
pouvoirs:duplicate(this.actor.getPouvoirs()),
|
pouvoirs:foundry.utils.duplicate(this.actor.getPouvoirs()),
|
||||||
tours:duplicate(this.actor.getTours()),
|
dons: foundry.utils.duplicate(this.actor.getDons()),
|
||||||
charmes:duplicate(this.actor.getCharmes()),
|
hubrises: foundry.utils.duplicate(this.actor.getHubris()),
|
||||||
origine: duplicate(this.actor.getOrigine() || {}),
|
tours:foundry.utils.duplicate(this.actor.getTours()),
|
||||||
heritage: duplicate(this.actor.getHeritage() || {}),
|
artifex: foundry.utils.duplicate(this.actor.getArtifex()),
|
||||||
metier: duplicate(this.actor.getMetier() || {}),
|
charmes:foundry.utils.duplicate(this.actor.getCharmes()),
|
||||||
combat: this.actor.getCombatValues(),
|
peuple: foundry.utils.duplicate(this.actor.getPeuple() || {}),
|
||||||
config: duplicate(game.system.wasteland.config),
|
origine: foundry.utils.duplicate(this.actor.getOrigine() || {}),
|
||||||
equipements: duplicate(this.actor.getEquipments()),
|
heritage: foundry.utils.duplicate(this.actor.getHeritage() || {}),
|
||||||
monnaies: duplicate(this.actor.getMonnaies()),
|
metier: foundry.utils.duplicate(this.actor.getMetier() || {}),
|
||||||
description: await TextEditor.enrichHTML(this.object.system.biodata.description, {async: true}),
|
combat: this.actor.getCombatValues(),
|
||||||
|
config: foundry.utils.duplicate(game.system.wasteland.config),
|
||||||
|
capacites: foundry.utils.duplicate(this.actor.getCapacites()),
|
||||||
|
equipements: foundry.utils.duplicate(this.actor.getEquipments()),
|
||||||
|
monnaies: foundry.utils.duplicate(this.actor.getMonnaies()),
|
||||||
|
mutations: foundry.utils.duplicate(this.actor.getMutations()),
|
||||||
|
description: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.biodata.description, {async: true}),
|
||||||
|
comportement: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.biodata.comportement, {async: true}),
|
||||||
|
habitat: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.biodata.habitat, {async: true}),
|
||||||
options: this.options,
|
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.wasteland.config
|
||||||
}
|
}
|
||||||
this.formData = formData;
|
this.formData = formData;
|
||||||
|
|
||||||
@ -64,7 +73,7 @@ export class WastelandActorSheet extends ActorSheet {
|
|||||||
return formData;
|
return formData;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
/** @override */
|
/** @override */
|
||||||
activateListeners(html) {
|
activateListeners(html) {
|
||||||
@ -72,14 +81,14 @@ export class WastelandActorSheet extends ActorSheet {
|
|||||||
|
|
||||||
// Everything below here is only needed if the sheet is editable
|
// Everything below here is only needed if the sheet is editable
|
||||||
if (!this.options.editable) return;
|
if (!this.options.editable) return;
|
||||||
|
|
||||||
// Update Inventory Item
|
// Update Inventory Item
|
||||||
html.find('.item-edit').click(ev => {
|
html.find('.item-edit').click(ev => {
|
||||||
const li = $(ev.currentTarget).parents(".item")
|
const li = $(ev.currentTarget).parents(".item")
|
||||||
let itemId = li.data("item-id")
|
let itemId = li.data("item-id")
|
||||||
const item = this.actor.items.get( itemId )
|
const item = this.actor.items.get( itemId )
|
||||||
item.sheet.render(true)
|
item.sheet.render(true)
|
||||||
})
|
})
|
||||||
// Delete Inventory Item
|
// Delete Inventory Item
|
||||||
html.find('.item-delete').click(ev => {
|
html.find('.item-delete').click(ev => {
|
||||||
const li = $(ev.currentTarget).parents(".item");
|
const li = $(ev.currentTarget).parents(".item");
|
||||||
@ -94,7 +103,7 @@ export class WastelandActorSheet extends ActorSheet {
|
|||||||
let value = ev.currentTarget.value
|
let value = ev.currentTarget.value
|
||||||
this.actor.editItemField(itemId, itemType, itemField, dataType, value)
|
this.actor.editItemField(itemId, itemType, itemField, dataType, value)
|
||||||
})
|
})
|
||||||
|
|
||||||
html.find('.quantity-minus').click(event => {
|
html.find('.quantity-minus').click(event => {
|
||||||
const li = $(event.currentTarget).parents(".item");
|
const li = $(event.currentTarget).parents(".item");
|
||||||
this.actor.incDecQuantity( li.data("item-id"), -1 );
|
this.actor.incDecQuantity( li.data("item-id"), -1 );
|
||||||
@ -120,7 +129,7 @@ export class WastelandActorSheet extends ActorSheet {
|
|||||||
let charmeId = li.data("item-id")
|
let charmeId = li.data("item-id")
|
||||||
this.actor.rollCharme(charmeId)
|
this.actor.rollCharme(charmeId)
|
||||||
})
|
})
|
||||||
|
|
||||||
html.find('.roll-pouvoir').click((event) => {
|
html.find('.roll-pouvoir').click((event) => {
|
||||||
const li = $(event.currentTarget).parents(".item")
|
const li = $(event.currentTarget).parents(".item")
|
||||||
let pouvoirId = li.data("item-id")
|
let pouvoirId = li.data("item-id")
|
||||||
@ -146,19 +155,19 @@ export class WastelandActorSheet extends ActorSheet {
|
|||||||
this.actor.createEmbeddedDocuments('Item', [{ name: `Nouveau ${itemType}`, type: itemType }], { renderSheet: true })
|
this.actor.createEmbeddedDocuments('Item', [{ name: `Nouveau ${itemType}`, type: itemType }], { renderSheet: true })
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
html.find('.lock-unlock-sheet').click((event) => {
|
html.find('.lock-unlock-sheet').click((event) => {
|
||||||
this.options.editScore = !this.options.editScore;
|
this.options.editScore = !this.options.editScore;
|
||||||
this.render(true);
|
this.render(true);
|
||||||
});
|
});
|
||||||
html.find('.item-equip').click(ev => {
|
html.find('.item-equip').click(ev => {
|
||||||
const li = $(ev.currentTarget).parents(".item");
|
const li = $(ev.currentTarget).parents(".item");
|
||||||
this.actor.equipItem( li.data("item-id") );
|
this.actor.equipItem( li.data("item-id") );
|
||||||
this.render(true);
|
this.render(true);
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
/** @override */
|
/** @override */
|
||||||
setPosition(options = {}) {
|
setPosition(options = {}) {
|
||||||
|
@ -37,11 +37,12 @@ export class WastelandActor extends Actor {
|
|||||||
return actor;
|
return actor;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const skills = await WastelandUtility.loadCompendium("fvtt-wasteland.skills")
|
||||||
if (data.type == 'personnage') {
|
if (data.type == 'personnage') {
|
||||||
const skills = await WastelandUtility.loadCompendium("fvtt-wasteland.skills")
|
|
||||||
data.items = skills.map(i => i.toObject())
|
data.items = skills.map(i => i.toObject())
|
||||||
}
|
}
|
||||||
if (data.type == 'pnj') {
|
if (data.type == 'creature') {
|
||||||
|
data.items = skills.filter(i=>i.name.toLowerCase().includes("mêlée")).map(i => i.toObject())
|
||||||
}
|
}
|
||||||
|
|
||||||
return super.create(data, options);
|
return super.create(data, options);
|
||||||
@ -49,10 +50,10 @@ export class WastelandActor 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") {
|
||||||
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
|
||||||
@ -61,7 +62,7 @@ export class WastelandActor extends Actor {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
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
|
||||||
@ -73,9 +74,9 @@ export class WastelandActor extends Actor {
|
|||||||
}
|
}
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
prepareBouclier(bouclier) {
|
prepareBouclier(bouclier) {
|
||||||
bouclier = duplicate(bouclier)
|
bouclier = foundry.utils.duplicate(bouclier)
|
||||||
let combat = this.getCombatValues()
|
let combat = this.getCombatValues()
|
||||||
bouclier.system.competence = duplicate(this.items.find(item => item.type == "competence" && item.name.toLowerCase() == "mêlée"))
|
bouclier.system.competence = foundry.utils.duplicate(this.items.find(item => item.type == "competence" && item.name.toLowerCase() == "mêlée"))
|
||||||
bouclier.system.attrKey = "pui"
|
bouclier.system.attrKey = "pui"
|
||||||
bouclier.system.totalDegats = bouclier.system.degats + "+" + combat.bonusDegatsTotal
|
bouclier.system.totalDegats = bouclier.system.degats + "+" + combat.bonusDegatsTotal
|
||||||
bouclier.system.totalOffensif = this.system.attributs.pui.value + bouclier.system.competence.system.niveau
|
bouclier.system.totalOffensif = this.system.attributs.pui.value + bouclier.system.competence.system.niveau
|
||||||
@ -116,18 +117,36 @@ export class WastelandActor extends Actor {
|
|||||||
WastelandUtility.sortArrayObjectsByName(items)
|
WastelandUtility.sortArrayObjectsByName(items)
|
||||||
return items
|
return items
|
||||||
}
|
}
|
||||||
|
getArtifex() {
|
||||||
|
return this.getItemSorted(["artifex"])
|
||||||
|
}
|
||||||
|
getCapacites() {
|
||||||
|
return this.getItemSorted(["capacite"])
|
||||||
|
}
|
||||||
getPouvoirs() {
|
getPouvoirs() {
|
||||||
return this.getItemSorted(["pouvoir"])
|
return this.getItemSorted(["pouvoir"])
|
||||||
}
|
}
|
||||||
|
getDons() {
|
||||||
|
return this.getItemSorted(["don"])
|
||||||
|
}
|
||||||
|
getHubris() {
|
||||||
|
return this.getItemSorted(["hubris"])
|
||||||
|
}
|
||||||
getEquipments() {
|
getEquipments() {
|
||||||
return this.getItemSorted(["equipement"])
|
return this.getItemSorted(["equipement"])
|
||||||
}
|
}
|
||||||
getMonnaies() {
|
getMonnaies() {
|
||||||
return this.getItemSorted(["monnaie"])
|
return this.getItemSorted(["monnaie"])
|
||||||
}
|
}
|
||||||
|
getMutations() {
|
||||||
|
return this.getItemSorted(["mutation"])
|
||||||
|
}
|
||||||
getArmors() {
|
getArmors() {
|
||||||
return this.getItemSorted(["protection"])
|
return this.getItemSorted(["protection"])
|
||||||
}
|
}
|
||||||
|
getPeuple() {
|
||||||
|
return this.items.find(item => item.type == "peuple")
|
||||||
|
}
|
||||||
getOrigine() {
|
getOrigine() {
|
||||||
return this.items.find(item => item.type == "origine")
|
return this.items.find(item => item.type == "origine")
|
||||||
}
|
}
|
||||||
@ -141,7 +160,7 @@ export class WastelandActor 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)
|
||||||
@ -203,7 +222,7 @@ export class WastelandActor extends Actor {
|
|||||||
if (this.system.sante.base != newSante) {
|
if (this.system.sante.base != newSante) {
|
||||||
this.update({ 'system.sante.base': newSante })
|
this.update({ 'system.sante.base': newSante })
|
||||||
}
|
}
|
||||||
let newPsyche = (this.system.attributs.cla.value + this.system.attributs.tre.value) * this.system.biodata.psychemultiplier + 5
|
let newPsyche = ((this.system.attributs.cla.value + this.system.attributs.tre.value) * 2) + 5
|
||||||
if (this.system.psyche.fullmax != newPsyche) {
|
if (this.system.psyche.fullmax != newPsyche) {
|
||||||
this.update({ 'system.psyche.fullmax': newPsyche })
|
this.update({ 'system.psyche.fullmax': newPsyche })
|
||||||
}
|
}
|
||||||
@ -219,7 +238,7 @@ export class WastelandActor extends Actor {
|
|||||||
}
|
}
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
incDecSante(value) {
|
incDecSante(value) {
|
||||||
let sante = duplicate(this.system.sante)
|
let sante = foundry.utils.duplicate(this.system.sante)
|
||||||
sante.letaux += value
|
sante.letaux += value
|
||||||
this.update({ 'system.sante': sante })
|
this.update({ 'system.sante': sante })
|
||||||
}
|
}
|
||||||
@ -227,7 +246,7 @@ export class WastelandActor extends Actor {
|
|||||||
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 +301,7 @@ export class WastelandActor extends Actor {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
subPointsPsyche(value) {
|
subPointsPsyche(value) {
|
||||||
let psyche = duplicate(this.system.psyche)
|
let psyche = foundry.utils.duplicate(this.system.psyche)
|
||||||
psyche.currentmax -= value
|
psyche.currentmax -= value
|
||||||
this.update( {'system.psyche': psyche})
|
this.update( {'system.psyche': psyche})
|
||||||
}
|
}
|
||||||
@ -321,13 +340,13 @@ export class WastelandActor 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 });
|
||||||
}
|
}
|
||||||
@ -358,7 +377,7 @@ export class WastelandActor 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 }])
|
||||||
}
|
}
|
||||||
@ -381,7 +400,7 @@ export class WastelandActor 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
|
||||||
@ -398,21 +417,21 @@ export class WastelandActor extends Actor {
|
|||||||
rollData.canEclatDoubleD20 = true // Always true in Wastelan
|
rollData.canEclatDoubleD20 = true // Always true in Wastelan
|
||||||
rollData.doubleD20 = false
|
rollData.doubleD20 = false
|
||||||
rollData.attributs = WastelandUtility.getAttributs()
|
rollData.attributs = WastelandUtility.getAttributs()
|
||||||
rollData.config = duplicate(game.system.wasteland.config)
|
rollData.config = foundry.utils.duplicate(game.system.wasteland.config)
|
||||||
|
|
||||||
if (attrKey) {
|
if (attrKey) {
|
||||||
rollData.attrKey = attrKey
|
rollData.attrKey = attrKey
|
||||||
if (attrKey != "tochoose") {
|
if (attrKey != "tochoose") {
|
||||||
rollData.actionImg = "systems/fvtt-wasteland/assets/icons/" + this.system.attributs[attrKey].labelnorm + ".webp"
|
rollData.actionImg = "systems/fvtt-wasteland/assets/icons/" + this.system.attributs[attrKey].labelnorm + ".webp"
|
||||||
rollData.attr = duplicate(this.system.attributs[attrKey])
|
rollData.attr = foundry.utils.duplicate(this.system.attributs[attrKey])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (compId) {
|
if (compId) {
|
||||||
rollData.competence = duplicate(this.items.get(compId) || {})
|
rollData.competence = foundry.utils.duplicate(this.items.get(compId) || {})
|
||||||
rollData.actionImg = rollData.competence?.img
|
rollData.actionImg = rollData.competence?.img
|
||||||
}
|
}
|
||||||
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
|
||||||
@ -440,13 +459,13 @@ export class WastelandActor extends Actor {
|
|||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async rollCharme(charmeId) {
|
async rollCharme(charmeId) {
|
||||||
let rollData = this.getCommonRollData("cla")
|
let rollData = this.getCommonRollData("cla")
|
||||||
rollData.charme = duplicate(this.items.get(charmeId) || {})
|
rollData.charme = foundry.utils.duplicate(this.items.get(charmeId) || {})
|
||||||
rollData.charmeDice = "1d4"
|
rollData.charmeDice = "1d4"
|
||||||
this.launchRoll(rollData)
|
this.launchRoll(rollData)
|
||||||
}
|
}
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async rollPouvoir(pouvoirId) {
|
async rollPouvoir(pouvoirId) {
|
||||||
let pouvoir = duplicate(this.items.get(pouvoirId) || {})
|
let pouvoir = foundry.utils.duplicate(this.items.get(pouvoirId) || {})
|
||||||
if (pouvoir?.system) {
|
if (pouvoir?.system) {
|
||||||
let rollData = this.getCommonRollData(pouvoir.system.attribut, undefined, pouvoir.system.competence)
|
let rollData = this.getCommonRollData(pouvoir.system.attribut, undefined, pouvoir.system.competence)
|
||||||
if (!rollData.competence) {
|
if (!rollData.competence) {
|
||||||
@ -481,7 +500,7 @@ export class WastelandActor extends Actor {
|
|||||||
if (arme.type == "bouclier") {
|
if (arme.type == "bouclier") {
|
||||||
arme = this.prepareBouclier(arme)
|
arme = this.prepareBouclier(arme)
|
||||||
}
|
}
|
||||||
let roll = new Roll(arme.system.totalDegats).roll({ async: false })
|
let roll = await new Roll(arme.system.totalDegats).roll()
|
||||||
await WastelandUtility.showDiceSoNice(roll, game.settings.get("core", "rollMode"));
|
await WastelandUtility.showDiceSoNice(roll, game.settings.get("core", "rollMode"));
|
||||||
let rollData = {
|
let rollData = {
|
||||||
arme: arme,
|
arme: arme,
|
||||||
|
@ -10,7 +10,7 @@ export class WastelandCombat extends Combat {
|
|||||||
const c = this.combatants.get(ids[cId]);
|
const c = this.combatants.get(ids[cId]);
|
||||||
let id = c._id || c.id;
|
let id = c._id || c.id;
|
||||||
let initBonus = c.actor ? c.actor.getInitiativeScore() : 0
|
let initBonus = c.actor ? c.actor.getInitiativeScore() : 0
|
||||||
let roll = new Roll("1d10 + "+initBonus).roll({ async: false})
|
let roll = await new Roll("1d10 + "+initBonus).roll()
|
||||||
await WastelandUtility.showDiceSoNice(roll, game.settings.get("core", "rollMode"))
|
await WastelandUtility.showDiceSoNice(roll, game.settings.get("core", "rollMode"))
|
||||||
//console.log("Init bonus", initBonus, roll.total)
|
//console.log("Init bonus", initBonus, roll.total)
|
||||||
await this.updateEmbeddedDocuments("Combatant", [ { _id: id, initiative: roll.total } ]);
|
await this.updateEmbeddedDocuments("Combatant", [ { _id: id, initiative: roll.total } ]);
|
||||||
|
@ -6,7 +6,17 @@ export const WASTELAND_CONFIG = {
|
|||||||
"echo": "Chemin des Échos",
|
"echo": "Chemin des Échos",
|
||||||
"reflet": "Chemin des Reflets",
|
"reflet": "Chemin des Reflets",
|
||||||
"ame": "Chemin des Âmes",
|
"ame": "Chemin des Âmes",
|
||||||
"mort": "Chemin des Morts"
|
"mort": "Chemin des Morts",
|
||||||
|
"vie": "Chemin de Vie",
|
||||||
|
"guerre": "Chemin des guerres",
|
||||||
|
"horizon": "Chemin vers l'horizon",
|
||||||
|
"voleurinvisible": "Chemin du Voleur invisible",
|
||||||
|
"nuit": "Chemin des Nuits",
|
||||||
|
"oiseaux": "Chemin des Oiseaux"
|
||||||
|
},
|
||||||
|
hubrisType: {
|
||||||
|
"mental": "Mental",
|
||||||
|
"physique": "Physique",
|
||||||
},
|
},
|
||||||
charmetype: {
|
charmetype: {
|
||||||
tour: "Tour",
|
tour: "Tour",
|
||||||
@ -20,4 +30,28 @@ export const WASTELAND_CONFIG = {
|
|||||||
"1d12": "1d12",
|
"1d12": "1d12",
|
||||||
"1d20": "1d20",
|
"1d20": "1d20",
|
||||||
},
|
},
|
||||||
|
artifexType: {
|
||||||
|
"vapeur": "Vapeur",
|
||||||
|
"mecanique": "Mécanique",
|
||||||
|
"chimie": "Chimie",
|
||||||
|
"electricite": "Électricité",
|
||||||
|
"chimerie": "Chimérie",
|
||||||
|
},
|
||||||
|
typeArmeOptions: {
|
||||||
|
contact: "Arme de contact",
|
||||||
|
contactjet: "Arme de contact et de Jet",
|
||||||
|
jet: "Arme de Jet",
|
||||||
|
tir: "Arme de Tir",
|
||||||
|
special: "Spécial (capacité/don)"
|
||||||
|
},
|
||||||
|
difficulteOptions: {
|
||||||
|
"0": "Aucune/Inconnue",
|
||||||
|
"5": "Facile (5)",
|
||||||
|
"10": "Moyenne (10)",
|
||||||
|
"15": "Ardue (15)",
|
||||||
|
"20": "Hasardeuse (20)",
|
||||||
|
"25": "Insensée (25)",
|
||||||
|
"30": "Pure Folie (30)"
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
26
modules/wasteland-creature-sheet.js
Normal file
26
modules/wasteland-creature-sheet.js
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
/**
|
||||||
|
* Extend the basic ActorSheet with some very simple modifications
|
||||||
|
* @extends {ActorSheet}
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { WastelandUtility } from "./wasteland-utility.js";
|
||||||
|
import { WastelandActorSheet } from "./wasteland-actor-sheet.js";
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
export class WastelandCreatureSheet extends WastelandActorSheet {
|
||||||
|
|
||||||
|
/** @override */
|
||||||
|
static get defaultOptions() {
|
||||||
|
|
||||||
|
return foundry.utils.mergeObject(super.defaultOptions, {
|
||||||
|
classes: ["fvtt-wasteland", "sheet", "creature"],
|
||||||
|
template: "systems/fvtt-wasteland/templates/creature-sheet.html",
|
||||||
|
width: 640,
|
||||||
|
height: 720,
|
||||||
|
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "stats" }],
|
||||||
|
dragDrop: [{ dragSelector: ".item-list .item", dropSelector: null }],
|
||||||
|
editScore: false
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -4,12 +4,12 @@ import { WastelandUtility } from "./wasteland-utility.js";
|
|||||||
* Extend the basic ItemSheet with some very simple modifications
|
* Extend the basic ItemSheet with some very simple modifications
|
||||||
* @extends {ItemSheet}
|
* @extends {ItemSheet}
|
||||||
*/
|
*/
|
||||||
export class WastelandItemSheet extends ItemSheet {
|
export class WastelandItemSheet extends foundry.appv1.sheets.ItemSheet {
|
||||||
|
|
||||||
/** @override */
|
/** @override */
|
||||||
static get defaultOptions() {
|
static get defaultOptions() {
|
||||||
|
|
||||||
return mergeObject(super.defaultOptions, {
|
return foundry.utils.mergeObject(super.defaultOptions, {
|
||||||
classes: ["fvtt-wasteland", "sheet", "item"],
|
classes: ["fvtt-wasteland", "sheet", "item"],
|
||||||
template: "systems/fvtt-wasteland/templates/item-sheet.html",
|
template: "systems/fvtt-wasteland/templates/item-sheet.html",
|
||||||
dragDrop: [{ dragSelector: null, dropSelector: null }],
|
dragDrop: [{ dragSelector: null, dropSelector: null }],
|
||||||
@ -48,8 +48,8 @@ export class WastelandItemSheet extends ItemSheet {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async getData() {
|
async getData() {
|
||||||
const objectData = duplicate(this.object)
|
const objectData = foundry.utils.duplicate(this.object)
|
||||||
let itemData = objectData
|
let itemData = objectData
|
||||||
let formData = {
|
let formData = {
|
||||||
title: this.title,
|
title: this.title,
|
||||||
id: this.id,
|
id: this.id,
|
||||||
@ -59,7 +59,7 @@ export class WastelandItemSheet extends ItemSheet {
|
|||||||
editable: this.isEditable,
|
editable: this.isEditable,
|
||||||
cssClass: this.isEditable ? "editable" : "locked",
|
cssClass: this.isEditable ? "editable" : "locked",
|
||||||
attributs: WastelandUtility.getAttributs(),
|
attributs: WastelandUtility.getAttributs(),
|
||||||
config: duplicate(game.system.wasteland.config),
|
config: foundry.utils.duplicate(game.system.wasteland.config),
|
||||||
data: itemData.system,
|
data: itemData.system,
|
||||||
system: itemData.system,
|
system: itemData.system,
|
||||||
limited: this.object.limited,
|
limited: this.object.limited,
|
||||||
@ -87,7 +87,7 @@ export class WastelandItemSheet extends ItemSheet {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
postItem() {
|
postItem() {
|
||||||
let chatData = duplicate(WastelandUtility.data(this.item));
|
let chatData = foundry.utils.duplicate(WastelandUtility.data(this.item));
|
||||||
if (this.actor) {
|
if (this.actor) {
|
||||||
chatData.actor = { id: this.actor.id };
|
chatData.actor = { id: this.actor.id };
|
||||||
}
|
}
|
||||||
@ -130,27 +130,27 @@ export class WastelandItemSheet extends ItemSheet {
|
|||||||
html.find('.edit-prediction').change(ev => {
|
html.find('.edit-prediction').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
|
||||||
this.object.update( { 'data.predilections': pred })
|
this.object.update( { 'data.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( { 'data.predilections': pred })
|
this.object.update( { 'data.predilections': pred })
|
||||||
})
|
})
|
||||||
html.find('.use-prediction').change(ev => {
|
html.find('.use-prediction').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
|
||||||
this.object.update( { 'data.predilections': pred })
|
this.object.update( { 'data.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", used: false })
|
pred.push( { name: "Nouvelle prédilection", used: false })
|
||||||
this.object.update( { 'data.predilections': pred })
|
this.object.update( { 'data.predilections': pred })
|
||||||
})
|
})
|
||||||
// Update Inventory Item
|
// Update Inventory Item
|
||||||
|
@ -16,6 +16,9 @@ export const defaultItemImg = {
|
|||||||
artifex: "systems/fvtt-wasteland/assets/icons/artifact.webp",
|
artifex: "systems/fvtt-wasteland/assets/icons/artifact.webp",
|
||||||
heritage: "systems/fvtt-wasteland/assets/icons/legacy.webp",
|
heritage: "systems/fvtt-wasteland/assets/icons/legacy.webp",
|
||||||
charme: "systems/fvtt-wasteland/assets/icons/charm.webp",
|
charme: "systems/fvtt-wasteland/assets/icons/charm.webp",
|
||||||
|
peuple: "systems/fvtt-wasteland/assets/icons/people.webp",
|
||||||
|
don: "systems/fvtt-wasteland/assets/icons/don.webp",
|
||||||
|
hubris: "systems/fvtt-wasteland/assets/icons/hubris.webp",
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
import { WastelandActor } from "./wasteland-actor.js";
|
import { WastelandActor } from "./wasteland-actor.js";
|
||||||
import { WastelandItemSheet } from "./wasteland-item-sheet.js";
|
import { WastelandItemSheet } from "./wasteland-item-sheet.js";
|
||||||
import { WastelandActorSheet } from "./wasteland-actor-sheet.js";
|
import { WastelandActorSheet } from "./wasteland-actor-sheet.js";
|
||||||
//import { WastelandNPCSheet } from "./wasteland-npc-sheet.js";
|
import { WastelandCreatureSheet } from "./wasteland-creature-sheet.js";
|
||||||
import { WastelandUtility } from "./wasteland-utility.js";
|
import { WastelandUtility } from "./wasteland-utility.js";
|
||||||
import { WastelandCombat } from "./wasteland-combat.js";
|
import { WastelandCombat } from "./wasteland-combat.js";
|
||||||
import { WastelandItem } from "./wasteland-item.js";
|
import { WastelandItem } from "./wasteland-item.js";
|
||||||
@ -28,9 +28,9 @@ Hooks.once("init", async function () {
|
|||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
// preload handlebars templates
|
// preload handlebars templates
|
||||||
WastelandUtility.preloadHandlebarsTemplates();
|
WastelandUtility.preloadHandlebarsTemplates();
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
// Set an initiative formula for the system
|
// Set an initiative formula for the system
|
||||||
CONFIG.Combat.initiative = {
|
CONFIG.Combat.initiative = {
|
||||||
formula: "1d6",
|
formula: "1d6",
|
||||||
decimals: 1
|
decimals: 1
|
||||||
@ -52,15 +52,15 @@ Hooks.once("init", async function () {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
// Register sheet application classes
|
// Register sheet application classes
|
||||||
Actors.unregisterSheet("core", ActorSheet);
|
foundry.documents.collections.Actors.unregisterSheet("core", foundry.appv1.sheets.ActorSheet);
|
||||||
Actors.registerSheet("fvtt-wasteland", WastelandActorSheet, { types: ["personnage"], makeDefault: true })
|
foundry.documents.collections.Actors.registerSheet("fvtt-wasteland", WastelandActorSheet, { types: ["personnage"], makeDefault: true })
|
||||||
//Actors.registerSheet("fvtt-wasteland", WastelandNPCSheet, { types: ["npc"], makeDefault: false });
|
foundry.documents.collections.Actors.registerSheet("fvtt-wasteland", WastelandCreatureSheet, { types: ["creature"], makeDefault: false });
|
||||||
|
|
||||||
Items.unregisterSheet("core", ItemSheet);
|
foundry.documents.collections.Items.unregisterSheet("core", foundry.appv1.sheets.ItemSheet);
|
||||||
Items.registerSheet("fvtt-wasteland", WastelandItemSheet, { makeDefault: true })
|
foundry.documents.collections.Items.registerSheet("fvtt-wasteland", WastelandItemSheet, { makeDefault: true })
|
||||||
|
|
||||||
WastelandUtility.init();
|
WastelandUtility.init();
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
@ -72,33 +72,19 @@ function welcomeMessage() {
|
|||||||
<strong>Bienvenue dans les Wasteland !</strong>
|
<strong>Bienvenue dans les Wasteland !</strong>
|
||||||
<p>Les livres de Wasteland sont nécessaires pour jouer : https://www.titam-france.fr</p>
|
<p>Les livres de Wasteland sont nécessaires pour jouer : https://www.titam-france.fr</p>
|
||||||
<p>Wasteland est jeu de rôle publié par Titam France/Sombres projets, tout les droits leur appartiennent.</p>
|
<p>Wasteland est jeu de rôle publié par Titam France/Sombres projets, tout les droits leur appartiennent.</p>
|
||||||
<p>Système développé par LeRatierBretonnien, support sur le <a href="https://discord.gg/pPSDNJk">Discord FR de Foundry</a>.</p>
|
<p>Système développé par LeRatierBretonnien, avec le support de Prêtre. Plus d'infos et aides sur le <a href="https://discord.gg/pPSDNJk">Discord FR de Foundry</a>.</p>
|
||||||
` });
|
` });
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
|
||||||
// Register world usage statistics
|
|
||||||
function registerUsageCount( registerKey ) {
|
|
||||||
if ( game.user.isGM ) {
|
|
||||||
game.settings.register(registerKey, "world-key", {
|
|
||||||
name: "Unique world key",
|
|
||||||
scope: "world",
|
|
||||||
config: false,
|
|
||||||
default: "",
|
|
||||||
type: String
|
|
||||||
});
|
|
||||||
|
|
||||||
let worldKey = game.settings.get(registerKey, "world-key")
|
/* -------------------------------------------- */
|
||||||
if ( worldKey == undefined || worldKey == "" ) {
|
async function importDefaultScene() {
|
||||||
worldKey = randomID(32)
|
let exists = game.scenes.find(j => j.name == "Accueil");
|
||||||
game.settings.set(registerKey, "world-key", worldKey )
|
if (!exists) {
|
||||||
}
|
const scenes = await WastelandUtility.loadCompendium("fvtt-wasteland.scenes")
|
||||||
// Simple API counter
|
let newDocuments = scenes.filter(i => i.name == "Accueil");
|
||||||
let regURL = `https://www.uberwald.me/fvtt_appcount/count.php?name="${registerKey}"&worldKey="${worldKey}"&version="${game.release.generation}.${game.release.build}"&system="${game.system.id}"&systemversion="${game.system.version}"`
|
await game.scenes.documentClass.create(newDocuments);
|
||||||
//$.ajaxSetup({
|
game.scenes.find(i => i.name == "Accueil").activate();
|
||||||
//headers: { 'Access-Control-Allow-Origin': '*' }
|
|
||||||
//})
|
|
||||||
$.ajax(regURL)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -108,6 +94,7 @@ function registerUsageCount( registerKey ) {
|
|||||||
Hooks.once("ready", function () {
|
Hooks.once("ready", function () {
|
||||||
|
|
||||||
WastelandUtility.ready();
|
WastelandUtility.ready();
|
||||||
|
|
||||||
// User warning
|
// User warning
|
||||||
if (!game.user.isGM && game.user.character == undefined) {
|
if (!game.user.isGM && game.user.character == undefined) {
|
||||||
ui.notifications.info("Attention ! Aucun personnage n'est relié au joueur !");
|
ui.notifications.info("Attention ! Aucun personnage n'est relié au joueur !");
|
||||||
@ -116,9 +103,24 @@ Hooks.once("ready", function () {
|
|||||||
user: game.user._id
|
user: game.user._id
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
if (!game.user.isGM && game.user.character && !game.user.character.prototypeToken.actorLink) {
|
||||||
registerUsageCount('fvtt-wasteland')
|
ui.notifications.info("Le token de du joueur n'est pas connecté à l'acteur !");
|
||||||
|
ChatMessage.create({
|
||||||
|
content: "<b>ATTENTION</b> Le token du joueur " + game.user.name + " n'est pas connecté à l'acteur !",
|
||||||
|
user: game.user._id
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
import("https://www.uberwald.me/fvtt_appcount/count-class-ready.js").then(moduleCounter=>{
|
||||||
|
console.log("ClassCounter loaded", moduleCounter)
|
||||||
|
moduleCounter.ClassCounter.registerUsageCount()
|
||||||
|
}).catch(err=>
|
||||||
|
console.log("No stats available, giving up.")
|
||||||
|
)
|
||||||
welcomeMessage();
|
welcomeMessage();
|
||||||
|
|
||||||
|
importDefaultScene();
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
@ -134,4 +136,3 @@ Hooks.on("chatMessage", (html, content, msg) => {
|
|||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@ export class WastelandRollDialog extends Dialog {
|
|||||||
static async create(actor, rollData) {
|
static async create(actor, rollData) {
|
||||||
|
|
||||||
let options = { classes: ["WastelandDialog"], width: 340, height: 'fit-content', 'z-index': 99999 };
|
let options = { classes: ["WastelandDialog"], width: 340, height: 'fit-content', 'z-index': 99999 };
|
||||||
let html = await renderTemplate('systems/fvtt-wasteland/templates/roll-dialog-generic.html', rollData);
|
let html = await foundry.applications.handlebars.renderTemplate('systems/fvtt-wasteland/templates/roll-dialog-generic.html', rollData);
|
||||||
|
|
||||||
return new WastelandRollDialog(actor, rollData, html, options);
|
return new WastelandRollDialog(actor, rollData, html, options);
|
||||||
}
|
}
|
||||||
@ -68,7 +68,6 @@ export class WastelandRollDialog extends Dialog {
|
|||||||
activateListeners(html) {
|
activateListeners(html) {
|
||||||
super.activateListeners(html);
|
super.activateListeners(html);
|
||||||
|
|
||||||
var dialog = this;
|
|
||||||
function onLoad() {
|
function onLoad() {
|
||||||
}
|
}
|
||||||
$(function () { onLoad(); });
|
$(function () { onLoad(); });
|
||||||
|
@ -4,17 +4,17 @@ import { WastelandCommands } from "./wasteland-commands.js";
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
const __contrecouptCharme = {
|
const __contrecouptCharme = {
|
||||||
1 : {name: "Effet chromatique", description: "" },
|
1 : {name: "Effet chromatique", description: "le corps du kobold prend des teintes aussi étranges que voyantes. L'effet s’estompe progressivement et 24 heures plus tard, le kobold retrouve ses couleurs d’origine." },
|
||||||
3 : {name: "Enivrement Kobold", description: "" },
|
3 : {name: "Enivrement Kobold", description: "très excité par son premier tour, le kobold doit immédiatement faire un autre tour, pour lequel il emploiera un dé plus gros." },
|
||||||
5 : {name: "Mutisme superstitieux", description: "" },
|
5 : {name: "Mutisme superstitieux", description: "le kobold ne doit plus parler» pendant les prochaines 24 heures. S'il le fait malgré tout, les effets de son tour s’arrêtent." },
|
||||||
7 : {name: "Agité!", description: "" },
|
7 : {name: "Agité!", description: "le kobold ne tient plus en place. Il ne peut se reposer pendant les prochaines 12 heures. Dès. que 12 heures se sont écoulées, il s'effondre comme une masse et dort 12 heures d'affilée d’un sommeil enchanté dont rien ne pourra le réveiller." },
|
||||||
9 : {name: "Somnolence", description: "" },
|
9 : {name: "Somnolence", description: "le kobold devient somnolent. Il n’arrive pas à se concentrer même sur une tâche simple, bäille sans arrêt, traîne les pieds et n’agit plus que de mauvaise grâce. Cela dure jusqu’à ce qu'il ait dormi au moins 12 heures." },
|
||||||
11 : {name: "Manie incontrôlable", description: "" },
|
11 : {name: "Manie incontrôlable", description: "le kobold est pris d’une manie incontrôlable. Dès qu'il voit un chapeau rouge, il doit suivre son porteur. Il ne mangera que si son voisin de gauche mange aussi, etc. Cela dure pendant une jour- née puis l’effet s’inverse pendant une heure : il ne suivra jamais un chapeau rouge, ne mangera jamais si son voi- sin de gauche mange, etc. Le contrecoup prend alors fin." },
|
||||||
13 : {name: "Malédiction des Ternes", description: "" },
|
13 : {name: "Malédiction des Ternes", description: "le kobold perd cette qualité mystérieuse qui fait que les kobolds sont des kobolds et devient tout. Terne. Il perd 1d20 point(s) de Bonne Aventure (s’il doit en perdre plus qu'il n’en a, il tombe simplement à 0). Ces points perdus pourront cependant être regagnés normalement." },
|
||||||
15 : {name: "La petite Mort", description: "" },
|
15 : {name: "La petite Mort", description: "le kobold s'endort pour 1420 heures. Rien ni personne ne pourra le tirer de ce sommeil enchanté avant que ce contrecoup ne prenne fin." },
|
||||||
17 : {name: "Angoisse cauchemardesque", description: "" },
|
17 : {name: "Angoisse cauchemardesque", description: "le kobold a une brève vision de pure horreur. Il perd 1420 points de Psyché {s'il doit en perdre plus qu'il n’en a, il tombe à 0)." },
|
||||||
19 : {name: "Anémie Kobold", description: "" }
|
19 : {name: "Anémie Kobold", description: "le kobold se met à saigner du nez, des oreilles et même d’autres endroits. Il perd 1420 point(s) de Santé." }
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
export class WastelandUtility {
|
export class WastelandUtility {
|
||||||
@ -23,14 +23,11 @@ export class WastelandUtility {
|
|||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static async init() {
|
static async init() {
|
||||||
Hooks.on('renderChatLog', (log, html, data) => WastelandUtility.chatListeners(html))
|
Hooks.on('renderChatLog', (log, html, data) => WastelandUtility.chatListeners(html))
|
||||||
Hooks.on("getChatLogEntryContext", (html, options) => WastelandUtility.chatRollMenu(html, options))
|
Hooks.on("getChatMessageContextOptions", (html, options) => WastelandUtility.chatRollMenu(html, options))
|
||||||
|
|
||||||
Hooks.on("getCombatTrackerEntryContext", (html, options) => {
|
Hooks.on("getCombatTrackerEntryContext", (html, options) => {
|
||||||
WastelandUtility.pushInitiativeOptions(html, options);
|
WastelandUtility.pushInitiativeOptions(html, options);
|
||||||
})
|
})
|
||||||
Hooks.on("dropCanvasData", (canvas, data) => {
|
|
||||||
WastelandUtility.dropItemOnToken(canvas, data)
|
|
||||||
});
|
|
||||||
|
|
||||||
this.rollDataStore = {}
|
this.rollDataStore = {}
|
||||||
this.defenderStore = {}
|
this.defenderStore = {}
|
||||||
@ -114,6 +111,28 @@ export class WastelandUtility {
|
|||||||
static async ready() {
|
static async ready() {
|
||||||
const skills = await WastelandUtility.loadCompendium("fvtt-wasteland.skills")
|
const skills = await WastelandUtility.loadCompendium("fvtt-wasteland.skills")
|
||||||
this.skills = skills.map(i => i.toObject())
|
this.skills = skills.map(i => i.toObject())
|
||||||
|
|
||||||
|
game.system.wasteland.config.listeNiveauSkill = WastelandUtility.createDirectOptionList(0, 10)
|
||||||
|
game.system.wasteland.config.listeNiveauCreature = WastelandUtility.createDirectOptionList(0, 35)
|
||||||
|
game.system.wasteland.config.modificateurOptions = WastelandUtility.createArrayOptionList(-15, 15)
|
||||||
|
game.system.wasteland.config.pointsAmeOptions = WastelandUtility.createDirectOptionList(0, 20)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
static createDirectOptionList(min, max) {
|
||||||
|
let options = {};
|
||||||
|
for (let i = min; i <= max; i++) {
|
||||||
|
options[`${i}`] = `${i}`;
|
||||||
|
}
|
||||||
|
return options;
|
||||||
|
}
|
||||||
|
static createArrayOptionList(min, max) {
|
||||||
|
let options = [];
|
||||||
|
for (let i = min; i <= max; i++) {
|
||||||
|
options.push({key:`${i}`, label:`${i}`});
|
||||||
|
}
|
||||||
|
return options;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
@ -135,14 +154,14 @@ export class WastelandUtility {
|
|||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static async chatListeners(html) {
|
static async chatListeners(html) {
|
||||||
|
|
||||||
html.on("click", '.predilection-reroll', async event => {
|
$(html).on("click", '.predilection-reroll', async event => {
|
||||||
let predIdx = $(event.currentTarget).data("predilection-index")
|
let predIdx = $(event.currentTarget).data("predilection-index")
|
||||||
let messageId = WastelandUtility.findChatMessageId(event.currentTarget)
|
let messageId = WastelandUtility.findChatMessageId(event.currentTarget)
|
||||||
let message = game.messages.get(messageId)
|
let message = game.messages.get(messageId)
|
||||||
let rollData = message.getFlag("world", "wasteland-roll")
|
let rollData = message.getFlag("world", "wasteland-roll")
|
||||||
let actor = WastelandUtility.getActorFromRollData(rollData)
|
let actor = WastelandUtility.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))
|
||||||
await WastelandUtility.rollWasteland(rollData)
|
await WastelandUtility.rollWasteland(rollData)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -152,10 +171,9 @@ export class WastelandUtility {
|
|||||||
|
|
||||||
const templatePaths = [
|
const templatePaths = [
|
||||||
'systems/fvtt-wasteland/templates/editor-notes-gm.html',
|
'systems/fvtt-wasteland/templates/editor-notes-gm.html',
|
||||||
'systems/fvtt-wasteland/templates/partial-item-description.html',
|
'systems/fvtt-wasteland/templates/partial-item-description.html'
|
||||||
'systems/fvtt-wasteland/templates/partial-list-niveau.html'
|
|
||||||
]
|
]
|
||||||
return loadTemplates(templatePaths);
|
return foundry.applications.handlebars.loadTemplates(templatePaths);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
@ -187,15 +205,6 @@ export class WastelandUtility {
|
|||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
|
||||||
static createDirectOptionList(min, max) {
|
|
||||||
let options = {};
|
|
||||||
for (let i = min; i <= max; i++) {
|
|
||||||
options[`${i}`] = `${i}`;
|
|
||||||
}
|
|
||||||
return options;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static buildListOptions(min, max) {
|
static buildListOptions(min, max) {
|
||||||
let options = ""
|
let options = ""
|
||||||
@ -220,14 +229,14 @@ export class WastelandUtility {
|
|||||||
|
|
||||||
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;
|
||||||
}
|
}
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static saveRollData(rollData) {
|
static saveRollData(rollData) {
|
||||||
game.socket.emit("system.fvtt-wasteland", {
|
game.socket.emit("system.fvtt-wasteland", {
|
||||||
name: "msg_update_roll", data: rollData
|
name: "msg_update_roll", data: rollData
|
||||||
}); // Notify all other clients of the roll
|
}); // Notify all other clients of the roll
|
||||||
this.updateRollData(rollData);
|
this.updateRollData(rollData);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -292,10 +301,10 @@ export class WastelandUtility {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static computeResult(rollData, actor) {
|
static async computeResult(rollData, actor) {
|
||||||
if (rollData.charme) {
|
if (rollData.charme) {
|
||||||
let resultIndex = false
|
let resultIndex = false
|
||||||
let resTab = duplicate(rollData.charme.system.resultats)
|
let resTab = foundry.utils.duplicate(rollData.charme.system.resultats)
|
||||||
for(let id in resTab) {
|
for(let id in resTab) {
|
||||||
let res = resTab[id]
|
let res = resTab[id]
|
||||||
if (!resultIndex && rollData.finalResult >= res.value) {
|
if (!resultIndex && rollData.finalResult >= res.value) {
|
||||||
@ -305,7 +314,7 @@ export class WastelandUtility {
|
|||||||
if (resultIndex) {
|
if (resultIndex) {
|
||||||
rollData.charmeDuree = rollData.charme.system.resultats[resultIndex].description
|
rollData.charmeDuree = rollData.charme.system.resultats[resultIndex].description
|
||||||
}
|
}
|
||||||
let effectRoll = new Roll(rollData.charmeDice).roll({ async: false })
|
let effectRoll = await new Roll(rollData.charmeDice).roll()
|
||||||
if (rollData.charme.system.charmetype == "tour") {
|
if (rollData.charme.system.charmetype == "tour") {
|
||||||
rollData.contrecoupResult = effectRoll.total
|
rollData.contrecoupResult = effectRoll.total
|
||||||
if (rollData.contrecoupResult % 2 == 1) {
|
if (rollData.contrecoupResult % 2 == 1) {
|
||||||
@ -313,8 +322,8 @@ export class WastelandUtility {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (rollData.charme.system.charmetype == "charme") {
|
if (rollData.charme.system.charmetype == "charme") {
|
||||||
rollData.charmeSante = effectRoll.total
|
rollData.charmeSante = effectRoll.total
|
||||||
actor.incDecSante(rollData.charmeSante)
|
actor.incDecSante(rollData.charmeSante)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (rollData.mainDice == "1d20") {
|
if (rollData.mainDice == "1d20") {
|
||||||
@ -330,13 +339,13 @@ export class WastelandUtility {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//console.log("Result : ", rollData)
|
//console.log("Result : ", rollData)
|
||||||
if (rollData.difficulte > 0 && !rollData.isDramatique) {
|
if (rollData.difficulte > 0 && !rollData.isDramatique) {
|
||||||
rollData.isSuccess = (rollData.finalResult >= rollData.difficulte)
|
rollData.isSuccess = (rollData.finalResult >= rollData.difficulte)
|
||||||
rollData.isHeroique = ((rollData.finalResult - rollData.difficulte) >= 10)
|
rollData.isHeroique = ((rollData.finalResult - rollData.difficulte) >= 10)
|
||||||
rollData.isDramatique = ((rollData.finalResult - rollData.difficulte) <= -10)
|
rollData.isDramatique = ((rollData.finalResult - rollData.difficulte) <= -10)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -349,7 +358,7 @@ export class WastelandUtility {
|
|||||||
}
|
}
|
||||||
if (!rollData.attr) {
|
if (!rollData.attr) {
|
||||||
rollData.actionImg = "systems/fvtt-wasteland/assets/icons/" + actor.system.attributs[rollData.attrKey].labelnorm + ".webp"
|
rollData.actionImg = "systems/fvtt-wasteland/assets/icons/" + actor.system.attributs[rollData.attrKey].labelnorm + ".webp"
|
||||||
rollData.attr = duplicate(actor.system.attributs[rollData.attrKey])
|
rollData.attr = foundry.utils.duplicate(actor.system.attributs[rollData.attrKey])
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rollData.charme) {
|
if (rollData.charme) {
|
||||||
@ -361,12 +370,12 @@ export class WastelandUtility {
|
|||||||
if (!rollData.isReroll) {
|
if (!rollData.isReroll) {
|
||||||
actor.changeEclat(-1)
|
actor.changeEclat(-1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//console.log("BEFORE COMP", rollData)
|
//console.log("BEFORE COMP", rollData)
|
||||||
if (rollData.competence) {
|
if (rollData.competence) {
|
||||||
rollData.predilections = duplicate(rollData.competence.system.predilections.filter(pred => !pred.used) || [])
|
rollData.predilections = foundry.utils.duplicate(rollData.competence.system.predilections.filter(pred => !pred.used) || [])
|
||||||
let compmod = (rollData.competence.system.niveau == 0) ? -3 : 0
|
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}`
|
||||||
} else {
|
} else {
|
||||||
@ -376,17 +385,17 @@ export class WastelandUtility {
|
|||||||
rollData.diceFormula += `+${rollData.arme.system.bonusmaniementoff}`
|
rollData.diceFormula += `+${rollData.arme.system.bonusmaniementoff}`
|
||||||
}
|
}
|
||||||
|
|
||||||
let myRoll = new Roll(rollData.diceFormula).roll({ async: false })
|
let myRoll = await new Roll(rollData.diceFormula).roll()
|
||||||
await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
|
await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
|
||||||
rollData.roll = duplicate(myRoll)
|
rollData.roll = foundry.utils.duplicate(myRoll)
|
||||||
rollData.diceResult = myRoll.terms[0].results[0].result
|
rollData.diceResult = myRoll.terms[0].results[0].result
|
||||||
console.log(">>>> ", myRoll)
|
console.log(">>>> ", myRoll)
|
||||||
|
|
||||||
rollData.finalResult = myRoll.total
|
rollData.finalResult = myRoll.total
|
||||||
this.computeResult(rollData, actor)
|
await this.computeResult(rollData, actor)
|
||||||
|
|
||||||
this.createChatWithRollMode(rollData.alias, {
|
this.createChatWithRollMode(rollData.alias, {
|
||||||
content: await renderTemplate(`systems/fvtt-wasteland/templates/chat-generic-result.html`, rollData)
|
content: await foundry.applications.handlebars.renderTemplate(`systems/fvtt-wasteland/templates/chat-generic-result.html`, rollData)
|
||||||
}, rollData)
|
}, rollData)
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -395,13 +404,13 @@ export class WastelandUtility {
|
|||||||
static async bonusRollWasteland(rollData) {
|
static async bonusRollWasteland(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
|
||||||
|
|
||||||
this.computeResult(rollData)
|
await this.computeResult(rollData)
|
||||||
|
|
||||||
this.createChatWithRollMode(rollData.alias, {
|
this.createChatWithRollMode(rollData.alias, {
|
||||||
content: await renderTemplate(`systems/fvtt-wasteland/templates/chat-generic-result.html`, rollData)
|
content: await renderTemplate(`systems/fvtt-wasteland/templates/chat-generic-result.html`, rollData)
|
||||||
@ -431,7 +440,7 @@ export class WastelandUtility {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
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);
|
||||||
@ -493,7 +502,7 @@ export class WastelandUtility {
|
|||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
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(),
|
||||||
@ -526,7 +535,7 @@ export class WastelandUtility {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static applyBonneAventureRoll(li, changed, addedBonus) {
|
static applyBonneAventureRoll(li, changed, addedBonus) {
|
||||||
let msgId = li.data("message-id")
|
let msgId = $(li).data("message-id")
|
||||||
let msg = game.messages.get(msgId)
|
let msg = game.messages.get(msgId)
|
||||||
if (msg) {
|
if (msg) {
|
||||||
let rollData = msg.getFlag("world", "wasteland-roll")
|
let rollData = msg.getFlag("world", "wasteland-roll")
|
||||||
@ -545,7 +554,7 @@ export class WastelandUtility {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static applyEclatRoll(li, changed, addedBonus) {
|
static applyEclatRoll(li, changed, addedBonus) {
|
||||||
let msgId = li.data("message-id")
|
let msgId = $(li).data("message-id")
|
||||||
let msg = game.messages.get(msgId)
|
let msg = game.messages.get(msgId)
|
||||||
if (msg) {
|
if (msg) {
|
||||||
let rollData = msg.getFlag("world", "wasteland-roll")
|
let rollData = msg.getFlag("world", "wasteland-roll")
|
||||||
@ -562,7 +571,7 @@ export class WastelandUtility {
|
|||||||
static chatRollMenu(html, options) {
|
static chatRollMenu(html, options) {
|
||||||
let canApply = li => canvas.tokens.controlled.length && li.find(".wasteland-roll").length
|
let canApply = li => canvas.tokens.controlled.length && li.find(".wasteland-roll").length
|
||||||
let hasBA = function (li) {
|
let hasBA = function (li) {
|
||||||
let message = game.messages.get(li.attr("data-message-id"))
|
let message = game.messages.get($(li).attr("data-message-id"))
|
||||||
let rollData = message.getFlag("world", "wasteland-roll")
|
let rollData = message.getFlag("world", "wasteland-roll")
|
||||||
if (rollData?.actorId) {
|
if (rollData?.actorId) {
|
||||||
let actor = game.actors.get(rollData.actorId)
|
let actor = game.actors.get(rollData.actorId)
|
||||||
@ -572,7 +581,7 @@ export class WastelandUtility {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
let hasBA2 = function (li) {
|
let hasBA2 = function (li) {
|
||||||
let message = game.messages.get(li.attr("data-message-id"))
|
let message = game.messages.get($(li).attr("data-message-id"))
|
||||||
let rollData = message.getFlag("world", "wasteland-roll")
|
let rollData = message.getFlag("world", "wasteland-roll")
|
||||||
if (rollData?.actorId) {
|
if (rollData?.actorId) {
|
||||||
let actor = game.actors.get(rollData.actorId)
|
let actor = game.actors.get(rollData.actorId)
|
||||||
@ -582,7 +591,7 @@ export class WastelandUtility {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
let hasBA3 = function (li) {
|
let hasBA3 = function (li) {
|
||||||
let message = game.messages.get(li.attr("data-message-id"))
|
let message = game.messages.get($(li).attr("data-message-id"))
|
||||||
let rollData = message.getFlag("world", "wasteland-roll")
|
let rollData = message.getFlag("world", "wasteland-roll")
|
||||||
if (rollData?.actorId) {
|
if (rollData?.actorId) {
|
||||||
let actor = game.actors.get(rollData.actorId)
|
let actor = game.actors.get(rollData.actorId)
|
||||||
@ -592,7 +601,7 @@ export class WastelandUtility {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
let hasPE = function (li) {
|
let hasPE = function (li) {
|
||||||
let message = game.messages.get(li.attr("data-message-id"))
|
let message = game.messages.get($(li).attr("data-message-id"))
|
||||||
let rollData = message.getFlag("world", "wasteland-roll")
|
let rollData = message.getFlag("world", "wasteland-roll")
|
||||||
if (rollData?.actorId) {
|
if (rollData?.actorId) {
|
||||||
let actor = game.actors.get(rollData.actorId)
|
let actor = game.actors.get(rollData.actorId)
|
||||||
@ -602,7 +611,7 @@ export class WastelandUtility {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
let hasPredilection = function (li) {
|
let hasPredilection = function (li) {
|
||||||
let message = game.messages.get(li.attr("data-message-id"))
|
let message = game.messages.get($(li).attr("data-message-id"))
|
||||||
let rollData = message.getFlag("world", "wasteland-roll")
|
let rollData = message.getFlag("world", "wasteland-roll")
|
||||||
if (rollData.competence) {
|
if (rollData.competence) {
|
||||||
let nbPred = rollData.competence.data.predilections.filter(pred => !pred.used).length
|
let nbPred = rollData.competence.data.predilections.filter(pred => !pred.used).length
|
||||||
@ -611,7 +620,7 @@ export class WastelandUtility {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
let canCompetenceDouble = function (li) {
|
let canCompetenceDouble = function (li) {
|
||||||
let message = game.messages.get(li.attr("data-message-id"))
|
let message = game.messages.get($(li).attr("data-message-id"))
|
||||||
let rollData = message.getFlag("world", "wasteland-roll")
|
let rollData = message.getFlag("world", "wasteland-roll")
|
||||||
if (rollData.competence) {
|
if (rollData.competence) {
|
||||||
return rollData.competence.data.doublebonus
|
return rollData.competence.data.doublebonus
|
||||||
|
Binary file not shown.
BIN
packs/armes/000211.ldb
Normal file
BIN
packs/armes/000211.ldb
Normal file
Binary file not shown.
@ -1 +1 @@
|
|||||||
MANIFEST-000062
|
MANIFEST-000207
|
||||||
|
@ -1,8 +1,15 @@
|
|||||||
2023/11/30-18:21:36.855274 7fef57fff6c0 Recovering log #60
|
2025/04/30-23:34:36.843982 7f4b377fe6c0 Recovering log #205
|
||||||
2023/11/30-18:21:36.866688 7fef57fff6c0 Delete type=3 #58
|
2025/04/30-23:34:36.854202 7f4b377fe6c0 Delete type=3 #203
|
||||||
2023/11/30-18:21:36.866781 7fef57fff6c0 Delete type=0 #60
|
2025/04/30-23:34:36.854267 7f4b377fe6c0 Delete type=0 #205
|
||||||
2023/11/30-18:49:35.135280 7fef56ffd6c0 Level-0 table #65: started
|
2025/04/30-23:48:18.868020 7f4b35bff6c0 Level-0 table #210: started
|
||||||
2023/11/30-18:49:35.135323 7fef56ffd6c0 Level-0 table #65: 0 bytes OK
|
2025/04/30-23:48:18.871615 7f4b35bff6c0 Level-0 table #210: 9139 bytes OK
|
||||||
2023/11/30-18:49:35.141534 7fef56ffd6c0 Delete type=0 #63
|
2025/04/30-23:48:18.878237 7f4b35bff6c0 Delete type=0 #208
|
||||||
2023/11/30-18:49:35.147977 7fef56ffd6c0 Manual compaction at level-0 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end)
|
2025/04/30-23:48:18.899179 7f4b35bff6c0 Manual compaction at level-0 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end)
|
||||||
2023/11/30-18:49:35.158510 7fef56ffd6c0 Manual compaction at level-1 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end)
|
2025/04/30-23:48:18.908897 7f4b35bff6c0 Manual compaction at level-1 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at '!items!wv5EiePmPTpqFutt' @ 198 : 1
|
||||||
|
2025/04/30-23:48:18.908911 7f4b35bff6c0 Compacting 1@1 + 1@2 files
|
||||||
|
2025/04/30-23:48:18.912613 7f4b35bff6c0 Generated table #211@1: 40 keys, 9139 bytes
|
||||||
|
2025/04/30-23:48:18.912644 7f4b35bff6c0 Compacted 1@1 + 1@2 files => 9139 bytes
|
||||||
|
2025/04/30-23:48:18.918969 7f4b35bff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
|
||||||
|
2025/04/30-23:48:18.919113 7f4b35bff6c0 Delete type=2 #170
|
||||||
|
2025/04/30-23:48:18.919322 7f4b35bff6c0 Delete type=2 #210
|
||||||
|
2025/04/30-23:48:18.940456 7f4b35bff6c0 Manual compaction at level-1 from '!items!wv5EiePmPTpqFutt' @ 198 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end)
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
2023/11/30-18:16:10.854083 7fef577fe6c0 Recovering log #56
|
2025/03/14-14:12:16.222563 7fba4cff96c0 Recovering log #201
|
||||||
2023/11/30-18:16:10.864730 7fef577fe6c0 Delete type=3 #54
|
2025/03/14-14:12:16.331822 7fba4cff96c0 Delete type=3 #199
|
||||||
2023/11/30-18:16:10.864777 7fef577fe6c0 Delete type=0 #56
|
2025/03/14-14:12:16.331880 7fba4cff96c0 Delete type=0 #201
|
||||||
2023/11/30-18:21:06.588537 7fef56ffd6c0 Level-0 table #61: started
|
2025/03/14-14:12:43.151120 7fb7affff6c0 Level-0 table #206: started
|
||||||
2023/11/30-18:21:06.588573 7fef56ffd6c0 Level-0 table #61: 0 bytes OK
|
2025/03/14-14:12:43.151177 7fb7affff6c0 Level-0 table #206: 0 bytes OK
|
||||||
2023/11/30-18:21:06.595192 7fef56ffd6c0 Delete type=0 #59
|
2025/03/14-14:12:43.158103 7fb7affff6c0 Delete type=0 #204
|
||||||
2023/11/30-18:21:06.615698 7fef56ffd6c0 Manual compaction at level-0 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end)
|
2025/03/14-14:12:43.158243 7fb7affff6c0 Manual compaction at level-0 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end)
|
||||||
2023/11/30-18:21:06.615781 7fef56ffd6c0 Manual compaction at level-1 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end)
|
2025/03/14-14:12:43.158267 7fb7affff6c0 Manual compaction at level-1 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end)
|
||||||
|
Binary file not shown.
BIN
packs/armes/MANIFEST-000207
Normal file
BIN
packs/armes/MANIFEST-000207
Normal file
Binary file not shown.
BIN
packs/artifex/000072.ldb
Normal file
BIN
packs/artifex/000072.ldb
Normal file
Binary file not shown.
1
packs/artifex/CURRENT
Normal file
1
packs/artifex/CURRENT
Normal file
@ -0,0 +1 @@
|
|||||||
|
MANIFEST-000068
|
15
packs/artifex/LOG
Normal file
15
packs/artifex/LOG
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
2025/04/30-23:34:36.895184 7f4b377fe6c0 Recovering log #66
|
||||||
|
2025/04/30-23:34:36.905592 7f4b377fe6c0 Delete type=3 #64
|
||||||
|
2025/04/30-23:34:36.905651 7f4b377fe6c0 Delete type=0 #66
|
||||||
|
2025/04/30-23:48:18.878429 7f4b35bff6c0 Level-0 table #71: started
|
||||||
|
2025/04/30-23:48:18.882400 7f4b35bff6c0 Level-0 table #71: 1326 bytes OK
|
||||||
|
2025/04/30-23:48:18.888668 7f4b35bff6c0 Delete type=0 #69
|
||||||
|
2025/04/30-23:48:18.899190 7f4b35bff6c0 Manual compaction at level-0 from '!items!PqP7BWEkK7aK65yH' @ 72057594037927935 : 1 .. '!items!irEA0eyE731viEYl' @ 0 : 0; will stop at (end)
|
||||||
|
2025/04/30-23:48:18.929965 7f4b35bff6c0 Manual compaction at level-1 from '!items!PqP7BWEkK7aK65yH' @ 72057594037927935 : 1 .. '!items!irEA0eyE731viEYl' @ 0 : 0; will stop at '!items!irEA0eyE731viEYl' @ 8 : 1
|
||||||
|
2025/04/30-23:48:18.929978 7f4b35bff6c0 Compacting 1@1 + 1@2 files
|
||||||
|
2025/04/30-23:48:18.933899 7f4b35bff6c0 Generated table #72@1: 2 keys, 1326 bytes
|
||||||
|
2025/04/30-23:48:18.933939 7f4b35bff6c0 Compacted 1@1 + 1@2 files => 1326 bytes
|
||||||
|
2025/04/30-23:48:18.940009 7f4b35bff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
|
||||||
|
2025/04/30-23:48:18.940137 7f4b35bff6c0 Delete type=2 #31
|
||||||
|
2025/04/30-23:48:18.940329 7f4b35bff6c0 Delete type=2 #71
|
||||||
|
2025/04/30-23:48:18.940491 7f4b35bff6c0 Manual compaction at level-1 from '!items!irEA0eyE731viEYl' @ 8 : 1 .. '!items!irEA0eyE731viEYl' @ 0 : 0; will stop at (end)
|
8
packs/artifex/LOG.old
Normal file
8
packs/artifex/LOG.old
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
2025/03/14-14:12:16.547348 7fba4dffb6c0 Recovering log #62
|
||||||
|
2025/03/14-14:12:16.651982 7fba4dffb6c0 Delete type=3 #60
|
||||||
|
2025/03/14-14:12:16.652055 7fba4dffb6c0 Delete type=0 #62
|
||||||
|
2025/03/14-14:12:43.177170 7fb7affff6c0 Level-0 table #67: started
|
||||||
|
2025/03/14-14:12:43.177222 7fb7affff6c0 Level-0 table #67: 0 bytes OK
|
||||||
|
2025/03/14-14:12:43.183990 7fb7affff6c0 Delete type=0 #65
|
||||||
|
2025/03/14-14:12:43.184112 7fb7affff6c0 Manual compaction at level-0 from '!items!PqP7BWEkK7aK65yH' @ 72057594037927935 : 1 .. '!items!irEA0eyE731viEYl' @ 0 : 0; will stop at (end)
|
||||||
|
2025/03/14-14:12:43.184172 7fb7affff6c0 Manual compaction at level-1 from '!items!PqP7BWEkK7aK65yH' @ 72057594037927935 : 1 .. '!items!irEA0eyE731viEYl' @ 0 : 0; will stop at (end)
|
BIN
packs/artifex/MANIFEST-000068
Normal file
BIN
packs/artifex/MANIFEST-000068
Normal file
Binary file not shown.
BIN
packs/bestiaire/000084.ldb
Normal file
BIN
packs/bestiaire/000084.ldb
Normal file
Binary file not shown.
1
packs/bestiaire/CURRENT
Normal file
1
packs/bestiaire/CURRENT
Normal file
@ -0,0 +1 @@
|
|||||||
|
MANIFEST-000080
|
15
packs/bestiaire/LOG
Normal file
15
packs/bestiaire/LOG
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
2025/04/30-23:34:36.716442 7f4b37fff6c0 Recovering log #78
|
||||||
|
2025/04/30-23:34:36.727453 7f4b37fff6c0 Delete type=3 #76
|
||||||
|
2025/04/30-23:34:36.727523 7f4b37fff6c0 Delete type=0 #78
|
||||||
|
2025/04/30-23:48:18.706181 7f4b35bff6c0 Level-0 table #83: started
|
||||||
|
2025/04/30-23:48:18.709827 7f4b35bff6c0 Level-0 table #83: 44954 bytes OK
|
||||||
|
2025/04/30-23:48:18.715963 7f4b35bff6c0 Delete type=0 #81
|
||||||
|
2025/04/30-23:48:18.728104 7f4b35bff6c0 Manual compaction at level-0 from '!actors!S7FhBajQ5KKhIpj6' @ 72057594037927935 : 1 .. '!folders!BHMWTRHF2lNlAK8u' @ 0 : 0; will stop at (end)
|
||||||
|
2025/04/30-23:48:18.762918 7f4b35bff6c0 Manual compaction at level-1 from '!actors!S7FhBajQ5KKhIpj6' @ 72057594037927935 : 1 .. '!folders!BHMWTRHF2lNlAK8u' @ 0 : 0; will stop at '!actors.items!zYffQLFKlxJ5Li83.vNpsdvHgD5qBYYPt' @ 207 : 1
|
||||||
|
2025/04/30-23:48:18.762928 7f4b35bff6c0 Compacting 1@1 + 1@2 files
|
||||||
|
2025/04/30-23:48:18.767038 7f4b35bff6c0 Generated table #84@1: 54 keys, 45104 bytes
|
||||||
|
2025/04/30-23:48:18.767074 7f4b35bff6c0 Compacted 1@1 + 1@2 files => 45104 bytes
|
||||||
|
2025/04/30-23:48:18.773021 7f4b35bff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
|
||||||
|
2025/04/30-23:48:18.773163 7f4b35bff6c0 Delete type=2 #43
|
||||||
|
2025/04/30-23:48:18.773348 7f4b35bff6c0 Delete type=2 #83
|
||||||
|
2025/04/30-23:48:18.773485 7f4b35bff6c0 Manual compaction at level-1 from '!actors.items!zYffQLFKlxJ5Li83.vNpsdvHgD5qBYYPt' @ 207 : 1 .. '!folders!BHMWTRHF2lNlAK8u' @ 0 : 0; will stop at (end)
|
8
packs/bestiaire/LOG.old
Normal file
8
packs/bestiaire/LOG.old
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
2025/03/14-14:12:15.226965 7fba4cff96c0 Recovering log #74
|
||||||
|
2025/03/14-14:12:15.314781 7fba4cff96c0 Delete type=3 #72
|
||||||
|
2025/03/14-14:12:15.314848 7fba4cff96c0 Delete type=0 #74
|
||||||
|
2025/03/14-14:12:43.118957 7fb7affff6c0 Level-0 table #79: started
|
||||||
|
2025/03/14-14:12:43.119018 7fb7affff6c0 Level-0 table #79: 0 bytes OK
|
||||||
|
2025/03/14-14:12:43.124987 7fb7affff6c0 Delete type=0 #77
|
||||||
|
2025/03/14-14:12:43.132203 7fb7affff6c0 Manual compaction at level-0 from '!actors!S7FhBajQ5KKhIpj6' @ 72057594037927935 : 1 .. '!folders!BHMWTRHF2lNlAK8u' @ 0 : 0; will stop at (end)
|
||||||
|
2025/03/14-14:12:43.132285 7fb7affff6c0 Manual compaction at level-1 from '!actors!S7FhBajQ5KKhIpj6' @ 72057594037927935 : 1 .. '!folders!BHMWTRHF2lNlAK8u' @ 0 : 0; will stop at (end)
|
BIN
packs/bestiaire/MANIFEST-000080
Normal file
BIN
packs/bestiaire/MANIFEST-000080
Normal file
Binary file not shown.
BIN
packs/capacreature/000072.ldb
Normal file
BIN
packs/capacreature/000072.ldb
Normal file
Binary file not shown.
1
packs/capacreature/CURRENT
Normal file
1
packs/capacreature/CURRENT
Normal file
@ -0,0 +1 @@
|
|||||||
|
MANIFEST-000068
|
15
packs/capacreature/LOG
Normal file
15
packs/capacreature/LOG
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
2025/04/30-23:34:36.908748 7f4b367fc6c0 Recovering log #66
|
||||||
|
2025/04/30-23:34:36.918361 7f4b367fc6c0 Delete type=3 #64
|
||||||
|
2025/04/30-23:34:36.918414 7f4b367fc6c0 Delete type=0 #66
|
||||||
|
2025/04/30-23:48:18.972361 7f4b35bff6c0 Level-0 table #71: started
|
||||||
|
2025/04/30-23:48:18.975642 7f4b35bff6c0 Level-0 table #71: 901 bytes OK
|
||||||
|
2025/04/30-23:48:18.982652 7f4b35bff6c0 Delete type=0 #69
|
||||||
|
2025/04/30-23:48:18.982859 7f4b35bff6c0 Manual compaction at level-0 from '!items!JzGNaagJD2jLi9tH' @ 72057594037927935 : 1 .. '!items!LaiHuZ30K4iJr6ce' @ 0 : 0; will stop at (end)
|
||||||
|
2025/04/30-23:48:18.992964 7f4b35bff6c0 Manual compaction at level-1 from '!items!JzGNaagJD2jLi9tH' @ 72057594037927935 : 1 .. '!items!LaiHuZ30K4iJr6ce' @ 0 : 0; will stop at '!items!LaiHuZ30K4iJr6ce' @ 8 : 1
|
||||||
|
2025/04/30-23:48:18.992976 7f4b35bff6c0 Compacting 1@1 + 1@2 files
|
||||||
|
2025/04/30-23:48:18.996523 7f4b35bff6c0 Generated table #72@1: 2 keys, 901 bytes
|
||||||
|
2025/04/30-23:48:18.996557 7f4b35bff6c0 Compacted 1@1 + 1@2 files => 901 bytes
|
||||||
|
2025/04/30-23:48:19.002824 7f4b35bff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
|
||||||
|
2025/04/30-23:48:19.002965 7f4b35bff6c0 Delete type=2 #31
|
||||||
|
2025/04/30-23:48:19.003117 7f4b35bff6c0 Delete type=2 #71
|
||||||
|
2025/04/30-23:48:19.023817 7f4b35bff6c0 Manual compaction at level-1 from '!items!LaiHuZ30K4iJr6ce' @ 8 : 1 .. '!items!LaiHuZ30K4iJr6ce' @ 0 : 0; will stop at (end)
|
8
packs/capacreature/LOG.old
Normal file
8
packs/capacreature/LOG.old
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
2025/03/14-14:12:16.654330 7fba4cff96c0 Recovering log #62
|
||||||
|
2025/03/14-14:12:16.746293 7fba4cff96c0 Delete type=3 #60
|
||||||
|
2025/03/14-14:12:16.746409 7fba4cff96c0 Delete type=0 #62
|
||||||
|
2025/03/14-14:12:43.196799 7fb7affff6c0 Level-0 table #67: started
|
||||||
|
2025/03/14-14:12:43.196824 7fb7affff6c0 Level-0 table #67: 0 bytes OK
|
||||||
|
2025/03/14-14:12:43.203033 7fb7affff6c0 Delete type=0 #65
|
||||||
|
2025/03/14-14:12:43.209580 7fb7affff6c0 Manual compaction at level-0 from '!items!JzGNaagJD2jLi9tH' @ 72057594037927935 : 1 .. '!items!LaiHuZ30K4iJr6ce' @ 0 : 0; will stop at (end)
|
||||||
|
2025/03/14-14:12:43.209649 7fb7affff6c0 Manual compaction at level-1 from '!items!JzGNaagJD2jLi9tH' @ 72057594037927935 : 1 .. '!items!LaiHuZ30K4iJr6ce' @ 0 : 0; will stop at (end)
|
BIN
packs/capacreature/MANIFEST-000068
Normal file
BIN
packs/capacreature/MANIFEST-000068
Normal file
Binary file not shown.
Binary file not shown.
BIN
packs/equipement/000165.ldb
Normal file
BIN
packs/equipement/000165.ldb
Normal file
Binary file not shown.
@ -1 +1 @@
|
|||||||
MANIFEST-000014
|
MANIFEST-000161
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
2023/11/30-18:21:36.889079 7fef577fe6c0 Recovering log #12
|
2025/04/30-23:34:36.870151 7f4b36ffd6c0 Recovering log #159
|
||||||
2023/11/30-18:21:36.901449 7fef577fe6c0 Delete type=3 #10
|
2025/04/30-23:34:36.881113 7f4b36ffd6c0 Delete type=3 #157
|
||||||
2023/11/30-18:21:36.901569 7fef577fe6c0 Delete type=0 #12
|
2025/04/30-23:34:36.881239 7f4b36ffd6c0 Delete type=0 #159
|
||||||
2023/11/30-18:49:35.147989 7fef56ffd6c0 Level-0 table #17: started
|
2025/04/30-23:48:18.888821 7f4b35bff6c0 Level-0 table #164: started
|
||||||
2023/11/30-18:49:35.151764 7fef56ffd6c0 Level-0 table #17: 20487 bytes OK
|
2025/04/30-23:48:18.892155 7f4b35bff6c0 Level-0 table #164: 12597 bytes OK
|
||||||
2023/11/30-18:49:35.158381 7fef56ffd6c0 Delete type=0 #15
|
2025/04/30-23:48:18.899021 7f4b35bff6c0 Delete type=0 #162
|
||||||
2023/11/30-18:49:35.164655 7fef56ffd6c0 Manual compaction at level-0 from '!folders!JlP90zkPvPcJDq0q' @ 72057594037927935 : 1 .. '!items!y47dBO3Mf5Pn7tOd' @ 0 : 0; will stop at (end)
|
2025/04/30-23:48:18.899201 7f4b35bff6c0 Manual compaction at level-0 from '!folders!JlP90zkPvPcJDq0q' @ 72057594037927935 : 1 .. '!items!zjMDuxKHKJ4vE5UV' @ 0 : 0; will stop at (end)
|
||||||
2023/11/30-18:49:35.172440 7fef56ffd6c0 Manual compaction at level-1 from '!folders!JlP90zkPvPcJDq0q' @ 72057594037927935 : 1 .. '!items!y47dBO3Mf5Pn7tOd' @ 0 : 0; will stop at '!items!y47dBO3Mf5Pn7tOd' @ 120 : 1
|
2025/04/30-23:48:18.919452 7f4b35bff6c0 Manual compaction at level-1 from '!folders!JlP90zkPvPcJDq0q' @ 72057594037927935 : 1 .. '!items!zjMDuxKHKJ4vE5UV' @ 0 : 0; will stop at '!items!zjMDuxKHKJ4vE5UV' @ 418 : 1
|
||||||
2023/11/30-18:49:35.172458 7fef56ffd6c0 Compacting 1@1 + 1@2 files
|
2025/04/30-23:48:18.919468 7f4b35bff6c0 Compacting 1@1 + 1@2 files
|
||||||
2023/11/30-18:49:35.176393 7fef56ffd6c0 Generated table #18@1: 65 keys, 10984 bytes
|
2025/04/30-23:48:18.923147 7f4b35bff6c0 Generated table #165@1: 70 keys, 13743 bytes
|
||||||
2023/11/30-18:49:35.176421 7fef56ffd6c0 Compacted 1@1 + 1@2 files => 10984 bytes
|
2025/04/30-23:48:18.923180 7f4b35bff6c0 Compacted 1@1 + 1@2 files => 13743 bytes
|
||||||
2023/11/30-18:49:35.182314 7fef56ffd6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
|
2025/04/30-23:48:18.929583 7f4b35bff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
|
||||||
2023/11/30-18:49:35.182554 7fef56ffd6c0 Delete type=2 #5
|
2025/04/30-23:48:18.929705 7f4b35bff6c0 Delete type=2 #124
|
||||||
2023/11/30-18:49:35.182658 7fef56ffd6c0 Delete type=2 #17
|
2025/04/30-23:48:18.929864 7f4b35bff6c0 Delete type=2 #164
|
||||||
2023/11/30-18:49:35.182755 7fef56ffd6c0 Manual compaction at level-1 from '!items!y47dBO3Mf5Pn7tOd' @ 120 : 1 .. '!items!y47dBO3Mf5Pn7tOd' @ 0 : 0; will stop at (end)
|
2025/04/30-23:48:18.940473 7f4b35bff6c0 Manual compaction at level-1 from '!items!zjMDuxKHKJ4vE5UV' @ 418 : 1 .. '!items!zjMDuxKHKJ4vE5UV' @ 0 : 0; will stop at (end)
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
2023/11/30-18:16:10.880052 7ff1ed3ff6c0 Recovering log #8
|
2025/03/14-14:12:16.441764 7fba4e7fc6c0 Recovering log #155
|
||||||
2023/11/30-18:16:10.890830 7ff1ed3ff6c0 Delete type=3 #6
|
2025/03/14-14:12:16.537350 7fba4e7fc6c0 Delete type=3 #153
|
||||||
2023/11/30-18:16:10.890879 7ff1ed3ff6c0 Delete type=0 #8
|
2025/03/14-14:12:16.537465 7fba4e7fc6c0 Delete type=0 #155
|
||||||
2023/11/30-18:21:06.602088 7fef56ffd6c0 Level-0 table #13: started
|
2025/03/14-14:12:43.170716 7fb7affff6c0 Level-0 table #160: started
|
||||||
2023/11/30-18:21:06.602112 7fef56ffd6c0 Level-0 table #13: 0 bytes OK
|
2025/03/14-14:12:43.170742 7fb7affff6c0 Level-0 table #160: 0 bytes OK
|
||||||
2023/11/30-18:21:06.608264 7fef56ffd6c0 Delete type=0 #11
|
2025/03/14-14:12:43.176998 7fb7affff6c0 Delete type=0 #158
|
||||||
2023/11/30-18:21:06.615743 7fef56ffd6c0 Manual compaction at level-0 from '!folders!JlP90zkPvPcJDq0q' @ 72057594037927935 : 1 .. '!items!y47dBO3Mf5Pn7tOd' @ 0 : 0; will stop at (end)
|
2025/03/14-14:12:43.184102 7fb7affff6c0 Manual compaction at level-0 from '!folders!JlP90zkPvPcJDq0q' @ 72057594037927935 : 1 .. '!items!zjMDuxKHKJ4vE5UV' @ 0 : 0; will stop at (end)
|
||||||
2023/11/30-18:21:06.615814 7fef56ffd6c0 Manual compaction at level-1 from '!folders!JlP90zkPvPcJDq0q' @ 72057594037927935 : 1 .. '!items!y47dBO3Mf5Pn7tOd' @ 0 : 0; will stop at (end)
|
2025/03/14-14:12:43.184156 7fb7affff6c0 Manual compaction at level-1 from '!folders!JlP90zkPvPcJDq0q' @ 72057594037927935 : 1 .. '!items!zjMDuxKHKJ4vE5UV' @ 0 : 0; will stop at (end)
|
||||||
|
Binary file not shown.
BIN
packs/equipement/MANIFEST-000161
Normal file
BIN
packs/equipement/MANIFEST-000161
Normal file
Binary file not shown.
Binary file not shown.
BIN
packs/heritages/000235.ldb
Normal file
BIN
packs/heritages/000235.ldb
Normal file
Binary file not shown.
@ -1 +1 @@
|
|||||||
MANIFEST-000086
|
MANIFEST-000231
|
||||||
|
@ -1,8 +1,15 @@
|
|||||||
2023/11/30-18:21:36.803753 7ff1ed3ff6c0 Recovering log #84
|
2025/04/30-23:34:36.801202 7f4b377fe6c0 Recovering log #229
|
||||||
2023/11/30-18:21:36.814923 7ff1ed3ff6c0 Delete type=3 #82
|
2025/04/30-23:34:36.811770 7f4b377fe6c0 Delete type=3 #227
|
||||||
2023/11/30-18:21:36.815015 7ff1ed3ff6c0 Delete type=0 #84
|
2025/04/30-23:34:36.811874 7f4b377fe6c0 Delete type=0 #229
|
||||||
2023/11/30-18:49:35.114429 7fef56ffd6c0 Level-0 table #89: started
|
2025/04/30-23:48:18.794531 7f4b35bff6c0 Level-0 table #234: started
|
||||||
2023/11/30-18:49:35.114452 7fef56ffd6c0 Level-0 table #89: 0 bytes OK
|
2025/04/30-23:48:18.797886 7f4b35bff6c0 Level-0 table #234: 9428 bytes OK
|
||||||
2023/11/30-18:49:35.121805 7fef56ffd6c0 Delete type=0 #87
|
2025/04/30-23:48:18.803898 7f4b35bff6c0 Delete type=0 #232
|
||||||
2023/11/30-18:49:35.128443 7fef56ffd6c0 Manual compaction at level-0 from '!items!276PAK1VR5LK4rbE' @ 72057594037927935 : 1 .. '!items!nYYX7rtSMGFO4xVY' @ 0 : 0; will stop at (end)
|
2025/04/30-23:48:18.814497 7f4b35bff6c0 Manual compaction at level-0 from '!items!276PAK1VR5LK4rbE' @ 72057594037927935 : 1 .. '!items!nYYX7rtSMGFO4xVY' @ 0 : 0; will stop at (end)
|
||||||
2023/11/30-18:49:35.135263 7fef56ffd6c0 Manual compaction at level-1 from '!items!276PAK1VR5LK4rbE' @ 72057594037927935 : 1 .. '!items!nYYX7rtSMGFO4xVY' @ 0 : 0; will stop at (end)
|
2025/04/30-23:48:18.835756 7f4b35bff6c0 Manual compaction at level-1 from '!items!276PAK1VR5LK4rbE' @ 72057594037927935 : 1 .. '!items!nYYX7rtSMGFO4xVY' @ 0 : 0; will stop at '!items!nYYX7rtSMGFO4xVY' @ 50 : 1
|
||||||
|
2025/04/30-23:48:18.835774 7f4b35bff6c0 Compacting 1@1 + 1@2 files
|
||||||
|
2025/04/30-23:48:18.839323 7f4b35bff6c0 Generated table #235@1: 10 keys, 9428 bytes
|
||||||
|
2025/04/30-23:48:18.839351 7f4b35bff6c0 Compacted 1@1 + 1@2 files => 9428 bytes
|
||||||
|
2025/04/30-23:48:18.846314 7f4b35bff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
|
||||||
|
2025/04/30-23:48:18.846437 7f4b35bff6c0 Delete type=2 #194
|
||||||
|
2025/04/30-23:48:18.846585 7f4b35bff6c0 Delete type=2 #234
|
||||||
|
2025/04/30-23:48:18.856744 7f4b35bff6c0 Manual compaction at level-1 from '!items!nYYX7rtSMGFO4xVY' @ 50 : 1 .. '!items!nYYX7rtSMGFO4xVY' @ 0 : 0; will stop at (end)
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
2023/11/30-18:16:10.818907 7fef57fff6c0 Recovering log #80
|
2025/03/14-14:12:15.786018 7fba4d7fa6c0 Recovering log #225
|
||||||
2023/11/30-18:16:10.828865 7fef57fff6c0 Delete type=3 #78
|
2025/03/14-14:12:15.880213 7fba4d7fa6c0 Delete type=3 #223
|
||||||
2023/11/30-18:16:10.828914 7fef57fff6c0 Delete type=0 #80
|
2025/03/14-14:12:15.880325 7fba4d7fa6c0 Delete type=0 #225
|
||||||
2023/11/30-18:21:06.568781 7fef56ffd6c0 Level-0 table #85: started
|
2025/03/14-14:12:43.138938 7fb7affff6c0 Level-0 table #230: started
|
||||||
2023/11/30-18:21:06.568803 7fef56ffd6c0 Level-0 table #85: 0 bytes OK
|
2025/03/14-14:12:43.138968 7fb7affff6c0 Level-0 table #230: 0 bytes OK
|
||||||
2023/11/30-18:21:06.574880 7fef56ffd6c0 Delete type=0 #83
|
2025/03/14-14:12:43.144957 7fb7affff6c0 Delete type=0 #228
|
||||||
2023/11/30-18:21:06.588330 7fef56ffd6c0 Manual compaction at level-0 from '!items!276PAK1VR5LK4rbE' @ 72057594037927935 : 1 .. '!items!nYYX7rtSMGFO4xVY' @ 0 : 0; will stop at (end)
|
2025/03/14-14:12:43.158220 7fb7affff6c0 Manual compaction at level-0 from '!items!276PAK1VR5LK4rbE' @ 72057594037927935 : 1 .. '!items!nYYX7rtSMGFO4xVY' @ 0 : 0; will stop at (end)
|
||||||
2023/11/30-18:21:06.588357 7fef56ffd6c0 Manual compaction at level-1 from '!items!276PAK1VR5LK4rbE' @ 72057594037927935 : 1 .. '!items!nYYX7rtSMGFO4xVY' @ 0 : 0; will stop at (end)
|
2025/03/14-14:12:43.158259 7fb7affff6c0 Manual compaction at level-1 from '!items!276PAK1VR5LK4rbE' @ 72057594037927935 : 1 .. '!items!nYYX7rtSMGFO4xVY' @ 0 : 0; will stop at (end)
|
||||||
|
Binary file not shown.
BIN
packs/heritages/MANIFEST-000231
Normal file
BIN
packs/heritages/MANIFEST-000231
Normal file
Binary file not shown.
BIN
packs/heros/000072.ldb
Normal file
BIN
packs/heros/000072.ldb
Normal file
Binary file not shown.
1
packs/heros/CURRENT
Normal file
1
packs/heros/CURRENT
Normal file
@ -0,0 +1 @@
|
|||||||
|
MANIFEST-000068
|
15
packs/heros/LOG
Normal file
15
packs/heros/LOG
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
2025/04/30-23:34:36.740855 7f4b367fc6c0 Recovering log #66
|
||||||
|
2025/04/30-23:34:36.750397 7f4b367fc6c0 Delete type=3 #64
|
||||||
|
2025/04/30-23:34:36.750518 7f4b367fc6c0 Delete type=0 #66
|
||||||
|
2025/04/30-23:48:18.693918 7f4b35bff6c0 Level-0 table #71: started
|
||||||
|
2025/04/30-23:48:18.699827 7f4b35bff6c0 Level-0 table #71: 216867 bytes OK
|
||||||
|
2025/04/30-23:48:18.705987 7f4b35bff6c0 Delete type=0 #69
|
||||||
|
2025/04/30-23:48:18.728095 7f4b35bff6c0 Manual compaction at level-0 from '!actors!2UqntsuFwDpHOKJ6' @ 72057594037927935 : 1 .. '!actors.items!hJb4itLSBq7V4ite.yaFBnMJeBvED0JeP' @ 0 : 0; will stop at (end)
|
||||||
|
2025/04/30-23:48:18.737814 7f4b35bff6c0 Manual compaction at level-1 from '!actors!2UqntsuFwDpHOKJ6' @ 72057594037927935 : 1 .. '!actors.items!hJb4itLSBq7V4ite.yaFBnMJeBvED0JeP' @ 0 : 0; will stop at '!actors.items!hJb4itLSBq7V4ite.yaFBnMJeBvED0JeP' @ 1036 : 1
|
||||||
|
2025/04/30-23:48:18.737824 7f4b35bff6c0 Compacting 1@1 + 1@2 files
|
||||||
|
2025/04/30-23:48:18.744036 7f4b35bff6c0 Generated table #72@1: 261 keys, 216867 bytes
|
||||||
|
2025/04/30-23:48:18.744064 7f4b35bff6c0 Compacted 1@1 + 1@2 files => 216867 bytes
|
||||||
|
2025/04/30-23:48:18.749918 7f4b35bff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
|
||||||
|
2025/04/30-23:48:18.750041 7f4b35bff6c0 Delete type=2 #31
|
||||||
|
2025/04/30-23:48:18.750188 7f4b35bff6c0 Delete type=2 #71
|
||||||
|
2025/04/30-23:48:18.773461 7f4b35bff6c0 Manual compaction at level-1 from '!actors.items!hJb4itLSBq7V4ite.yaFBnMJeBvED0JeP' @ 1036 : 1 .. '!actors.items!hJb4itLSBq7V4ite.yaFBnMJeBvED0JeP' @ 0 : 0; will stop at (end)
|
8
packs/heros/LOG.old
Normal file
8
packs/heros/LOG.old
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
2025/03/14-14:12:15.324808 7fba4d7fa6c0 Recovering log #62
|
||||||
|
2025/03/14-14:12:15.411092 7fba4d7fa6c0 Delete type=3 #60
|
||||||
|
2025/03/14-14:12:15.411167 7fba4d7fa6c0 Delete type=0 #62
|
||||||
|
2025/03/14-14:12:43.105838 7fb7affff6c0 Level-0 table #67: started
|
||||||
|
2025/03/14-14:12:43.105882 7fb7affff6c0 Level-0 table #67: 0 bytes OK
|
||||||
|
2025/03/14-14:12:43.112421 7fb7affff6c0 Delete type=0 #65
|
||||||
|
2025/03/14-14:12:43.132151 7fb7affff6c0 Manual compaction at level-0 from '!actors!2UqntsuFwDpHOKJ6' @ 72057594037927935 : 1 .. '!actors.items!hJb4itLSBq7V4ite.yaFBnMJeBvED0JeP' @ 0 : 0; will stop at (end)
|
||||||
|
2025/03/14-14:12:43.132247 7fb7affff6c0 Manual compaction at level-1 from '!actors!2UqntsuFwDpHOKJ6' @ 72057594037927935 : 1 .. '!actors.items!hJb4itLSBq7V4ite.yaFBnMJeBvED0JeP' @ 0 : 0; will stop at (end)
|
BIN
packs/heros/MANIFEST-000068
Normal file
BIN
packs/heros/MANIFEST-000068
Normal file
Binary file not shown.
Binary file not shown.
0
packs/metiers/000233.log
Normal file
0
packs/metiers/000233.log
Normal file
BIN
packs/metiers/000235.ldb
Normal file
BIN
packs/metiers/000235.ldb
Normal file
Binary file not shown.
@ -1 +1 @@
|
|||||||
MANIFEST-000086
|
MANIFEST-000231
|
||||||
|
@ -1,8 +1,15 @@
|
|||||||
2023/11/30-18:21:36.819958 7fef577fe6c0 Recovering log #84
|
2025/04/30-23:34:36.814963 7f4b37fff6c0 Recovering log #229
|
||||||
2023/11/30-18:21:36.830750 7fef577fe6c0 Delete type=3 #82
|
2025/04/30-23:34:36.825386 7f4b37fff6c0 Delete type=3 #227
|
||||||
2023/11/30-18:21:36.830843 7fef577fe6c0 Delete type=0 #84
|
2025/04/30-23:34:36.825500 7f4b37fff6c0 Delete type=0 #229
|
||||||
2023/11/30-18:49:35.122004 7fef56ffd6c0 Level-0 table #89: started
|
2025/04/30-23:48:18.783696 7f4b35bff6c0 Level-0 table #234: started
|
||||||
2023/11/30-18:49:35.122052 7fef56ffd6c0 Level-0 table #89: 0 bytes OK
|
2025/04/30-23:48:18.787900 7f4b35bff6c0 Level-0 table #234: 36752 bytes OK
|
||||||
2023/11/30-18:49:35.128309 7fef56ffd6c0 Delete type=0 #87
|
2025/04/30-23:48:18.794332 7f4b35bff6c0 Delete type=0 #232
|
||||||
2023/11/30-18:49:35.135245 7fef56ffd6c0 Manual compaction at level-0 from '!items!1zbNJIOmrsThaKFU' @ 72057594037927935 : 1 .. '!items!y0G0VMyygxIj4Y7F' @ 0 : 0; will stop at (end)
|
2025/04/30-23:48:18.814486 7f4b35bff6c0 Manual compaction at level-0 from '!items!1zbNJIOmrsThaKFU' @ 72057594037927935 : 1 .. '!items!y0G0VMyygxIj4Y7F' @ 0 : 0; will stop at (end)
|
||||||
2023/11/30-18:49:35.141637 7fef56ffd6c0 Manual compaction at level-1 from '!items!1zbNJIOmrsThaKFU' @ 72057594037927935 : 1 .. '!items!y0G0VMyygxIj4Y7F' @ 0 : 0; will stop at (end)
|
2025/04/30-23:48:18.824946 7f4b35bff6c0 Manual compaction at level-1 from '!items!1zbNJIOmrsThaKFU' @ 72057594037927935 : 1 .. '!items!y0G0VMyygxIj4Y7F' @ 0 : 0; will stop at '!items!y0G0VMyygxIj4Y7F' @ 95 : 1
|
||||||
|
2025/04/30-23:48:18.824958 7f4b35bff6c0 Compacting 1@1 + 1@2 files
|
||||||
|
2025/04/30-23:48:18.829069 7f4b35bff6c0 Generated table #235@1: 19 keys, 36752 bytes
|
||||||
|
2025/04/30-23:48:18.829106 7f4b35bff6c0 Compacted 1@1 + 1@2 files => 36752 bytes
|
||||||
|
2025/04/30-23:48:18.835188 7f4b35bff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
|
||||||
|
2025/04/30-23:48:18.835339 7f4b35bff6c0 Delete type=2 #194
|
||||||
|
2025/04/30-23:48:18.835566 7f4b35bff6c0 Delete type=2 #234
|
||||||
|
2025/04/30-23:48:18.856732 7f4b35bff6c0 Manual compaction at level-1 from '!items!y0G0VMyygxIj4Y7F' @ 95 : 1 .. '!items!y0G0VMyygxIj4Y7F' @ 0 : 0; will stop at (end)
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
2023/11/30-18:16:10.830474 7ff1ed3ff6c0 Recovering log #80
|
2025/03/14-14:12:15.896685 7fba4e7fc6c0 Recovering log #225
|
||||||
2023/11/30-18:16:10.840304 7ff1ed3ff6c0 Delete type=3 #78
|
2025/03/14-14:12:16.010368 7fba4e7fc6c0 Delete type=3 #223
|
||||||
2023/11/30-18:16:10.840352 7ff1ed3ff6c0 Delete type=0 #80
|
2025/03/14-14:12:16.010445 7fba4e7fc6c0 Delete type=0 #225
|
||||||
2023/11/30-18:21:06.575010 7fef56ffd6c0 Level-0 table #85: started
|
2025/03/14-14:12:43.145023 7fb7affff6c0 Level-0 table #230: started
|
||||||
2023/11/30-18:21:06.575038 7fef56ffd6c0 Level-0 table #85: 0 bytes OK
|
2025/03/14-14:12:43.145042 7fb7affff6c0 Level-0 table #230: 0 bytes OK
|
||||||
2023/11/30-18:21:06.581568 7fef56ffd6c0 Delete type=0 #83
|
2025/03/14-14:12:43.150990 7fb7affff6c0 Delete type=0 #228
|
||||||
2023/11/30-18:21:06.588349 7fef56ffd6c0 Manual compaction at level-0 from '!items!1zbNJIOmrsThaKFU' @ 72057594037927935 : 1 .. '!items!y0G0VMyygxIj4Y7F' @ 0 : 0; will stop at (end)
|
2025/03/14-14:12:43.158232 7fb7affff6c0 Manual compaction at level-0 from '!items!1zbNJIOmrsThaKFU' @ 72057594037927935 : 1 .. '!items!y0G0VMyygxIj4Y7F' @ 0 : 0; will stop at (end)
|
||||||
2023/11/30-18:21:06.588448 7fef56ffd6c0 Manual compaction at level-1 from '!items!1zbNJIOmrsThaKFU' @ 72057594037927935 : 1 .. '!items!y0G0VMyygxIj4Y7F' @ 0 : 0; will stop at (end)
|
2025/03/14-14:12:43.158274 7fb7affff6c0 Manual compaction at level-1 from '!items!1zbNJIOmrsThaKFU' @ 72057594037927935 : 1 .. '!items!y0G0VMyygxIj4Y7F' @ 0 : 0; will stop at (end)
|
||||||
|
Binary file not shown.
BIN
packs/metiers/MANIFEST-000231
Normal file
BIN
packs/metiers/MANIFEST-000231
Normal file
Binary file not shown.
0
packs/mutations/000070.log
Normal file
0
packs/mutations/000070.log
Normal file
BIN
packs/mutations/000072.ldb
Normal file
BIN
packs/mutations/000072.ldb
Normal file
Binary file not shown.
1
packs/mutations/CURRENT
Normal file
1
packs/mutations/CURRENT
Normal file
@ -0,0 +1 @@
|
|||||||
|
MANIFEST-000068
|
0
packs/mutations/LOCK
Normal file
0
packs/mutations/LOCK
Normal file
15
packs/mutations/LOG
Normal file
15
packs/mutations/LOG
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
2025/04/30-23:34:36.921742 7f4b36ffd6c0 Recovering log #66
|
||||||
|
2025/04/30-23:34:36.932497 7f4b36ffd6c0 Delete type=3 #64
|
||||||
|
2025/04/30-23:34:36.932569 7f4b36ffd6c0 Delete type=0 #66
|
||||||
|
2025/04/30-23:48:18.951413 7f4b35bff6c0 Level-0 table #71: started
|
||||||
|
2025/04/30-23:48:18.954652 7f4b35bff6c0 Level-0 table #71: 592 bytes OK
|
||||||
|
2025/04/30-23:48:18.960998 7f4b35bff6c0 Delete type=0 #69
|
||||||
|
2025/04/30-23:48:18.982837 7f4b35bff6c0 Manual compaction at level-0 from '!items!Vnpf6cKVHyd3ugnY' @ 72057594037927935 : 1 .. '!items!Vnpf6cKVHyd3ugnY' @ 0 : 0; will stop at (end)
|
||||||
|
2025/04/30-23:48:19.003217 7f4b35bff6c0 Manual compaction at level-1 from '!items!Vnpf6cKVHyd3ugnY' @ 72057594037927935 : 1 .. '!items!Vnpf6cKVHyd3ugnY' @ 0 : 0; will stop at '!items!Vnpf6cKVHyd3ugnY' @ 4 : 1
|
||||||
|
2025/04/30-23:48:19.003230 7f4b35bff6c0 Compacting 1@1 + 1@2 files
|
||||||
|
2025/04/30-23:48:19.006452 7f4b35bff6c0 Generated table #72@1: 1 keys, 592 bytes
|
||||||
|
2025/04/30-23:48:19.006478 7f4b35bff6c0 Compacted 1@1 + 1@2 files => 592 bytes
|
||||||
|
2025/04/30-23:48:19.012900 7f4b35bff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
|
||||||
|
2025/04/30-23:48:19.013022 7f4b35bff6c0 Delete type=2 #31
|
||||||
|
2025/04/30-23:48:19.013154 7f4b35bff6c0 Delete type=2 #71
|
||||||
|
2025/04/30-23:48:19.023828 7f4b35bff6c0 Manual compaction at level-1 from '!items!Vnpf6cKVHyd3ugnY' @ 4 : 1 .. '!items!Vnpf6cKVHyd3ugnY' @ 0 : 0; will stop at (end)
|
8
packs/mutations/LOG.old
Normal file
8
packs/mutations/LOG.old
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
2025/03/14-14:12:16.749353 7fba4d7fa6c0 Recovering log #62
|
||||||
|
2025/03/14-14:12:16.836584 7fba4d7fa6c0 Delete type=3 #60
|
||||||
|
2025/03/14-14:12:16.836694 7fba4d7fa6c0 Delete type=0 #62
|
||||||
|
2025/03/14-14:12:43.184290 7fb7affff6c0 Level-0 table #67: started
|
||||||
|
2025/03/14-14:12:43.184339 7fb7affff6c0 Level-0 table #67: 0 bytes OK
|
||||||
|
2025/03/14-14:12:43.190473 7fb7affff6c0 Delete type=0 #65
|
||||||
|
2025/03/14-14:12:43.209530 7fb7affff6c0 Manual compaction at level-0 from '!items!Vnpf6cKVHyd3ugnY' @ 72057594037927935 : 1 .. '!items!Vnpf6cKVHyd3ugnY' @ 0 : 0; will stop at (end)
|
||||||
|
2025/03/14-14:12:43.209635 7fb7affff6c0 Manual compaction at level-1 from '!items!Vnpf6cKVHyd3ugnY' @ 72057594037927935 : 1 .. '!items!Vnpf6cKVHyd3ugnY' @ 0 : 0; will stop at (end)
|
BIN
packs/mutations/MANIFEST-000068
Normal file
BIN
packs/mutations/MANIFEST-000068
Normal file
Binary file not shown.
Binary file not shown.
0
packs/origines/000234.log
Normal file
0
packs/origines/000234.log
Normal file
BIN
packs/origines/000236.ldb
Normal file
BIN
packs/origines/000236.ldb
Normal file
Binary file not shown.
@ -1 +1 @@
|
|||||||
MANIFEST-000087
|
MANIFEST-000232
|
||||||
|
@ -1,8 +1,15 @@
|
|||||||
2023/11/30-18:21:36.788559 7fef57fff6c0 Recovering log #85
|
2025/04/30-23:34:36.786043 7f4b367fc6c0 Recovering log #230
|
||||||
2023/11/30-18:21:36.800142 7fef57fff6c0 Delete type=3 #83
|
2025/04/30-23:34:36.796376 7f4b367fc6c0 Delete type=3 #228
|
||||||
2023/11/30-18:21:36.800237 7fef57fff6c0 Delete type=0 #85
|
2025/04/30-23:34:36.796441 7f4b367fc6c0 Delete type=0 #230
|
||||||
2023/11/30-18:49:35.108381 7fef56ffd6c0 Level-0 table #90: started
|
2025/04/30-23:48:18.773627 7f4b35bff6c0 Level-0 table #235: started
|
||||||
2023/11/30-18:49:35.108404 7fef56ffd6c0 Level-0 table #90: 0 bytes OK
|
2025/04/30-23:48:18.777371 7f4b35bff6c0 Level-0 table #235: 32632 bytes OK
|
||||||
2023/11/30-18:49:35.114322 7fef56ffd6c0 Delete type=0 #88
|
2025/04/30-23:48:18.783554 7f4b35bff6c0 Delete type=0 #233
|
||||||
2023/11/30-18:49:35.121969 7fef56ffd6c0 Manual compaction at level-0 from '!items!0xdQs67JPsVrUyvp' @ 72057594037927935 : 1 .. '!items!xox7R7Uuuz0eGL0p' @ 0 : 0; will stop at (end)
|
2025/04/30-23:48:18.814472 7f4b35bff6c0 Manual compaction at level-0 from '!items!0xdQs67JPsVrUyvp' @ 72057594037927935 : 1 .. '!items!xox7R7Uuuz0eGL0p' @ 0 : 0; will stop at (end)
|
||||||
2023/11/30-18:49:35.128463 7fef56ffd6c0 Manual compaction at level-1 from '!items!0xdQs67JPsVrUyvp' @ 72057594037927935 : 1 .. '!items!xox7R7Uuuz0eGL0p' @ 0 : 0; will stop at (end)
|
2025/04/30-23:48:18.814519 7f4b35bff6c0 Manual compaction at level-1 from '!items!0xdQs67JPsVrUyvp' @ 72057594037927935 : 1 .. '!items!xox7R7Uuuz0eGL0p' @ 0 : 0; will stop at '!items!xox7R7Uuuz0eGL0p' @ 132 : 1
|
||||||
|
2025/04/30-23:48:18.814527 7f4b35bff6c0 Compacting 1@1 + 1@2 files
|
||||||
|
2025/04/30-23:48:18.818195 7f4b35bff6c0 Generated table #236@1: 23 keys, 32632 bytes
|
||||||
|
2025/04/30-23:48:18.818225 7f4b35bff6c0 Compacted 1@1 + 1@2 files => 32632 bytes
|
||||||
|
2025/04/30-23:48:18.824550 7f4b35bff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
|
||||||
|
2025/04/30-23:48:18.824674 7f4b35bff6c0 Delete type=2 #195
|
||||||
|
2025/04/30-23:48:18.824850 7f4b35bff6c0 Delete type=2 #235
|
||||||
|
2025/04/30-23:48:18.856716 7f4b35bff6c0 Manual compaction at level-1 from '!items!xox7R7Uuuz0eGL0p' @ 132 : 1 .. '!items!xox7R7Uuuz0eGL0p' @ 0 : 0; will stop at (end)
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
2023/11/30-18:16:10.807103 7fef577fe6c0 Recovering log #81
|
2025/03/14-14:12:15.672681 7fba4cff96c0 Recovering log #226
|
||||||
2023/11/30-18:16:10.816975 7fef577fe6c0 Delete type=3 #79
|
2025/03/14-14:12:15.776484 7fba4cff96c0 Delete type=3 #224
|
||||||
2023/11/30-18:16:10.817062 7fef577fe6c0 Delete type=0 #81
|
2025/03/14-14:12:15.776560 7fba4cff96c0 Delete type=0 #226
|
||||||
2023/11/30-18:21:06.562024 7fef56ffd6c0 Level-0 table #86: started
|
2025/03/14-14:12:43.132507 7fb7affff6c0 Level-0 table #231: started
|
||||||
2023/11/30-18:21:06.562050 7fef56ffd6c0 Level-0 table #86: 0 bytes OK
|
2025/03/14-14:12:43.132565 7fb7affff6c0 Level-0 table #231: 0 bytes OK
|
||||||
2023/11/30-18:21:06.568662 7fef56ffd6c0 Delete type=0 #84
|
2025/03/14-14:12:43.138828 7fb7affff6c0 Delete type=0 #229
|
||||||
2023/11/30-18:21:06.581705 7fef56ffd6c0 Manual compaction at level-0 from '!items!0xdQs67JPsVrUyvp' @ 72057594037927935 : 1 .. '!items!xox7R7Uuuz0eGL0p' @ 0 : 0; will stop at (end)
|
2025/03/14-14:12:43.158208 7fb7affff6c0 Manual compaction at level-0 from '!items!0xdQs67JPsVrUyvp' @ 72057594037927935 : 1 .. '!items!xox7R7Uuuz0eGL0p' @ 0 : 0; will stop at (end)
|
||||||
2023/11/30-18:21:06.588339 7fef56ffd6c0 Manual compaction at level-1 from '!items!0xdQs67JPsVrUyvp' @ 72057594037927935 : 1 .. '!items!xox7R7Uuuz0eGL0p' @ 0 : 0; will stop at (end)
|
2025/03/14-14:12:43.158251 7fb7affff6c0 Manual compaction at level-1 from '!items!0xdQs67JPsVrUyvp' @ 72057594037927935 : 1 .. '!items!xox7R7Uuuz0eGL0p' @ 0 : 0; will stop at (end)
|
||||||
|
Binary file not shown.
BIN
packs/origines/MANIFEST-000232
Normal file
BIN
packs/origines/MANIFEST-000232
Normal file
Binary file not shown.
0
packs/peuples/000070.log
Normal file
0
packs/peuples/000070.log
Normal file
BIN
packs/peuples/000072.ldb
Normal file
BIN
packs/peuples/000072.ldb
Normal file
Binary file not shown.
1
packs/peuples/CURRENT
Normal file
1
packs/peuples/CURRENT
Normal file
@ -0,0 +1 @@
|
|||||||
|
MANIFEST-000068
|
0
packs/peuples/LOCK
Normal file
0
packs/peuples/LOCK
Normal file
15
packs/peuples/LOG
Normal file
15
packs/peuples/LOG
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
2025/04/30-23:34:36.934886 7f4b37fff6c0 Recovering log #66
|
||||||
|
2025/04/30-23:34:36.945113 7f4b37fff6c0 Delete type=3 #64
|
||||||
|
2025/04/30-23:34:36.945238 7f4b37fff6c0 Delete type=0 #66
|
||||||
|
2025/04/30-23:48:18.940588 7f4b35bff6c0 Level-0 table #71: started
|
||||||
|
2025/04/30-23:48:18.943892 7f4b35bff6c0 Level-0 table #71: 5232 bytes OK
|
||||||
|
2025/04/30-23:48:18.951132 7f4b35bff6c0 Delete type=0 #69
|
||||||
|
2025/04/30-23:48:18.982821 7f4b35bff6c0 Manual compaction at level-0 from '!items!5onfuCZmzugZ3PMs' @ 72057594037927935 : 1 .. '!items!qAmsD4MHgywYj6XV' @ 0 : 0; will stop at (end)
|
||||||
|
2025/04/30-23:48:18.982870 7f4b35bff6c0 Manual compaction at level-1 from '!items!5onfuCZmzugZ3PMs' @ 72057594037927935 : 1 .. '!items!qAmsD4MHgywYj6XV' @ 0 : 0; will stop at '!items!qAmsD4MHgywYj6XV' @ 16 : 1
|
||||||
|
2025/04/30-23:48:18.982879 7f4b35bff6c0 Compacting 1@1 + 1@2 files
|
||||||
|
2025/04/30-23:48:18.986553 7f4b35bff6c0 Generated table #72@1: 4 keys, 5232 bytes
|
||||||
|
2025/04/30-23:48:18.986608 7f4b35bff6c0 Compacted 1@1 + 1@2 files => 5232 bytes
|
||||||
|
2025/04/30-23:48:18.992660 7f4b35bff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
|
||||||
|
2025/04/30-23:48:18.992762 7f4b35bff6c0 Delete type=2 #31
|
||||||
|
2025/04/30-23:48:18.992886 7f4b35bff6c0 Delete type=2 #71
|
||||||
|
2025/04/30-23:48:19.023804 7f4b35bff6c0 Manual compaction at level-1 from '!items!qAmsD4MHgywYj6XV' @ 16 : 1 .. '!items!qAmsD4MHgywYj6XV' @ 0 : 0; will stop at (end)
|
8
packs/peuples/LOG.old
Normal file
8
packs/peuples/LOG.old
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
2025/03/14-14:12:16.838771 7fba4e7fc6c0 Recovering log #62
|
||||||
|
2025/03/14-14:12:16.935874 7fba4e7fc6c0 Delete type=3 #60
|
||||||
|
2025/03/14-14:12:16.935944 7fba4e7fc6c0 Delete type=0 #62
|
||||||
|
2025/03/14-14:12:43.190599 7fb7affff6c0 Level-0 table #67: started
|
||||||
|
2025/03/14-14:12:43.190626 7fb7affff6c0 Level-0 table #67: 0 bytes OK
|
||||||
|
2025/03/14-14:12:43.196678 7fb7affff6c0 Delete type=0 #65
|
||||||
|
2025/03/14-14:12:43.209556 7fb7affff6c0 Manual compaction at level-0 from '!items!5onfuCZmzugZ3PMs' @ 72057594037927935 : 1 .. '!items!qAmsD4MHgywYj6XV' @ 0 : 0; will stop at (end)
|
||||||
|
2025/03/14-14:12:43.209620 7fb7affff6c0 Manual compaction at level-1 from '!items!5onfuCZmzugZ3PMs' @ 72057594037927935 : 1 .. '!items!qAmsD4MHgywYj6XV' @ 0 : 0; will stop at (end)
|
BIN
packs/peuples/MANIFEST-000068
Normal file
BIN
packs/peuples/MANIFEST-000068
Normal file
Binary file not shown.
Binary file not shown.
0
packs/pouvoirs/000151.log
Normal file
0
packs/pouvoirs/000151.log
Normal file
BIN
packs/pouvoirs/000153.ldb
Normal file
BIN
packs/pouvoirs/000153.ldb
Normal file
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