Compare commits

..

27 Commits

Author SHA1 Message Date
541e2836ca Amelioration du parser de statblock 2023-10-12 20:10:13 +02:00
73133b0abf Amelioration du parser de statblock 2023-10-12 08:31:55 +02:00
7ceaa73233 Better management of careers translations 2023-10-03 11:51:09 +02:00
a888502952 Better management of careers translations 2023-10-03 11:43:31 +02:00
a1f1861172 Better management of careers translations 2023-10-03 11:42:43 +02:00
0335ffb354 Merge pull request 'bugfix' (#95) from pallando/foundryvtt-wh4-lang-fr-fr:bugfix into v10
Reviewed-on: #95
2023-10-03 11:41:41 +02:00
303cdece36 Merge pull request 'Gestion des items de Winds of Magic' (#96) from pallando/foundryvtt-wh4-lang-fr-fr:wom into v10
Reviewed-on: #96
2023-10-03 11:41:28 +02:00
71b45c0cad Update wfrp4e-core.careers.json to make it valid 2023-10-03 11:18:41 +02:00
1408122c59 Remove tory | grep github 2023-10-03 11:18:40 +02:00
7305a9c370 Add wfrp4e-wom.items.json 2023-10-03 11:13:52 +02:00
e427e3702b Fix skill testing 2023-10-03 10:48:42 +02:00
8c7848bf2b Fix compendiums 2023-10-01 21:15:56 +02:00
e5ba63b8e0 Fix compendiums 2023-10-01 21:15:31 +02:00
16f97040d3 Fix compendiums 2023-10-01 21:08:37 +02:00
a9aa0edad8 Fix compendiums 2023-10-01 20:30:32 +02:00
0f0c482187 Fix compendiums 2023-10-01 20:28:29 +02:00
644e8b8146 Fix talents naming 2023-09-28 07:49:24 +02:00
044dcde7bf Merge pull request 'Correction des possessions de carrière pour correspondre aux journaux' (#94) from pallando/foundryvtt-wh4-lang-fr-fr:match-trappings into v10
Reviewed-on: #94
2023-09-25 10:55:01 +02:00
fb6ef1b0b3 Merge pull request 'Petites corrections' (#93) from pallando/foundryvtt-wh4-lang-fr-fr:fixes into v10
Reviewed-on: #93
2023-09-25 10:54:48 +02:00
2eee4d5da1 Few changes 2023-09-24 22:47:50 +02:00
6149261726 Apply previous corrections to careers and trappings JSONs 2023-09-21 23:39:41 +02:00
4a1295de15 Fix trappings to match journals 2023-09-21 23:09:47 +02:00
095a3a0929 Remove unnecessary 'Vigilance' from trappings in Apprenti Cavalier journal entry 2023-09-18 22:39:30 +02:00
b3703c62d3 Fix Jewellery in items 2023-09-17 23:55:33 +02:00
b5f77c27c6 Add Honour Guard description and remove duplicate entries 2023-09-17 21:13:37 +02:00
6eaf2bb030 Fix journals 2023-09-17 10:44:03 +02:00
2ae5349f15 Fix Honour Guard 2023-09-17 10:40:56 +02:00
102 changed files with 2765 additions and 860 deletions

4
.gitignore vendored
View File

@ -1,6 +1,2 @@
.history/
.vscode/
/packs/*/
/packs/*/CURRENT
/packs/*/LOG
/packs/*/LOCK

View File

@ -72,6 +72,7 @@ Pour info, il existe énormément de cas particuliers dans le système de règle
* compendium/talents -> LeRatier/Dr.Droide/Moilu/Gharazel
* various modules and fixes -> Ashburry77
* various modules and fixes -> Bimkiz
* contributions au code et améliorations -> Pallando
## Feedback

View File

@ -149,39 +149,43 @@ Hooks.once('init', () => {
Babele.get().registerConverters({
"career_skills": (skills_list) => {
let compendiumName = 'wfrp4e-core.skills' // Per default
if (game.system.version.match("7.")) {
compendiumName = 'wfrp4e-core.items'
}
//console.log( "Thru here ...", compendium, skills_list);
let validCompendiums = game.wfrp4e.tags.getPacksWithTag("skill")
//DEBUG: console.log( "Thru here ...", compendium, skills_list);
if (skills_list) {
let i;
let len = skills_list.length;
let re = /(.*)\((.*)\)/i;
for (i = 0; i < len; i++) {
skills_list[i] = skills_list[i].trim();
let transl = game.babele.translate(compendiumName, { name: skills_list[i] }, true).name;
if (!transl) transl = skills_list[i]
//console.log("List ...", skills_list[i]);
if (transl == skills_list[i]) {
let res = re.exec(skills_list[i]);
if (res) {
//console.log("Matched/split:", res[1], res[2]);
let subword = game.i18n.localize(res[2].trim());
let s1 = res[1].trim() + " ()";
let translw = game.babele.translate(compendiumName, { name: s1 }, true).name;
if (translw != s1) {
let res2 = re.exec(translw);
transl = res2[1] + "(" + subword + ")";
} else {
s1 = res[1].trim() + " ( )";
translw = game.babele.translate(compendiumName, { name: s1 }, true).name;
let res2 = re.exec(translw);
transl = res2[1] + "(" + subword + ")";
for (let compData of validCompendiums) {
let translItem = game.babele.translate(compData.metadata.id, { name: skills_list[i], type: "skill" }, true)
let transl = translItem?.name || undefined
if (!transl) transl = skills_list[i]
//console.log("List ...", skills_list[i], compData.metadata.id, translItem);
if (transl == skills_list[i]) {
let res = re.exec(skills_list[i]);
if (res) {
//console.log("Matched/split:", res[1], res[2]);
let subword = game.i18n.localize(res[2].trim());
let s1 = res[1].trim() + " ()";
translItem = game.babele.translate(compData.metadata.id, { name: s1, type: "skill" }, true)
let translw = translItem?.name || undefined
if (translw && translw != s1) {
let res2 = re.exec(translw);
transl = res2[1] + "(" + subword + ")";
} else {
s1 = res[1].trim() + " ( )";
translItem = game.babele.translate(compData.metadata.id, { name: s1, type: "skill" }, true)
translw = translItem?.name || undefined
let res2 = re.exec(translw);
transl = res2[1] + "(" + subword + ")";
}
}
}
skills_list[i] = transl;
if (translItem?.system)
break;
}
skills_list[i] = transl;
}
}
return skills_list;
@ -234,39 +238,34 @@ Hooks.once('init', () => {
},
"career_talents": (talents_list) => {
let compendiumName = 'wfrp4e-core.talents' // Per default
if (game.system.version.match("7.")) {
compendiumName = 'wfrp4e-core.items'
}
let validCompendiums = game.wfrp4e.tags.getPacksWithTag("talent")
let i;
if (talents_list) {
let len = talents_list.length;
let re = /(.*)\((.*)\)/i;
for (i = 0; i < len; i++) {
let transl = game.babele.translate(compendiumName, { name: talents_list[i] }, true).name;
if (!transl) transl = talents_list[i]
if (transl == talents_list[i]) {
let res = re.exec(talents_list[i]);
if (res) {
//console.log("Matched/split:", res[1], res[2]);
let subword = game.i18n.localize(res[2].trim());
let s1 = res[1].trim(); // No () in talents table
let translw = game.babele.translate(compendiumName, { name: s1 }, true).name;
if (translw != s1) {
transl = translw + " (" + subword + ")";
} else {
s1 = res[1].trim() + " ( )";
translw = game.babele.translate(compendiumName, { name: s1 }, true).name;
let res2 = re.exec(translw);
if (res2) {
transl = res2[1] + " (" + subword + ")";
} else {
transl = translw
}
for (let compData of validCompendiums) {
//console.log("TALENT - Parsing : ", talents_list)
let translItem = game.babele.translate(compData.metadata.id, { name: talents_list[i], type: "talent" }, true);
let transl = translItem?.name || undefined
if (!transl) transl = talents_list[i]
if (transl == talents_list[i]) {
let res = re.exec(talents_list[i]);
if (res) {
let subword = game.i18n.localize(res[2].trim());
let s1 = res[1].trim(); // No () in talents table
translItem = game.babele.translate(compData.metadata.id, { name: s1, type: "talent" }, true)
let translw = translItem?.name || undefined
//console.log("Ssearch talent name:", compData.metadata.id, s1, translw);
if (translw && translw != s1) {
transl = translw + " (" + subword + ")";
}
}
}
talents_list[i] = transl;
if (translItem?.system)
break;
}
talents_list[i] = transl;
}
}
return talents_list;
@ -313,30 +312,19 @@ Hooks.once('init', () => {
name_en = res[1]; // Get the root traits name
special = " (" + game.i18n.localize(res[2].trim()) + ")"; // And the special keyword
}
let compendiumName = 'wfrp4e-core.traits' // Per default
if (game.system.version.match("7.")) {
compendiumName = 'wfrp4e-core.items'
}
let trait_fr = game.babele.translate(compendiumName, { name: name_en }, true);
//console.log(">>>>> Trait ?", name_en, nbt, trait_fr, trait_fr.name, special);
if (trait_fr?.name) {
trait_fr.name = trait_fr.name || trait_en.name
trait_en.name = nbt + trait_fr.name + special;
}
if (trait_fr.system?.description?.value) {
trait_en.system.description.value = trait_fr.system.description.value;
} else if (game.modules.get('wfrp4e-eis')) { // No description in the FR compendium -> test other compendium if presenr
trait_fr = game.babele.translate('wfrp4e-eis.items', { name: name_en }, true);
if (trait_fr?.name) {
trait_en.name = nbt + trait_fr.name + special
let validCompendiums = game.wfrp4e.tags.getPacksWithTag("trait")
for (let compData of validCompendiums) {
let trait_fr = game.babele.translate(compData.metadata.id, { name: name_en }, true)
if (trait_fr?.system) {
trait_fr.name = trait_fr.name || trait_en.name
trait_en.name = nbt + trait_fr.name + special;
trait_en.system.description.value = trait_fr.system.description.value;
if (trait_en.system?.specification && isNaN(trait_en.system.specification.value)) { // This is a string, so translate it
//console.log("Translating : ", trait_en.system.specification.value);
trait_en.system.specification.value = game.i18n.localize(trait_en.system.specification.value.trim());
}
break // Translation has been found, skip other compendiums
}
if (trait_fr.system?.description?.value) {
trait_en.system.description.value = trait_fr.system.description.value
}
}
if (trait_en.system?.specification && isNaN(trait_en.system.specification.value)) { // This is a string, so translate it
//console.log("Translating : ", trait_en.system.specification.value);
trait_en.system.specification.value = game.i18n.localize(trait_en.system.specification.value.trim());
}
} else if (trait_en.type == "skill") {
if (name_en.includes("(") && name_en.includes(")")) { // Then process specific skills name with (xxxx) inside
@ -345,50 +333,45 @@ Hooks.once('init', () => {
name_en = res[1].trim(); // Get the root skill name
special = " (" + game.i18n.localize(res[2].trim()) + ")"; // And the special keyword
}
let compendiumSkills = 'wfrp4e-core.skills' // Per default
if (game.system.version.match("7.")) {
compendiumSkills = 'wfrp4e-core.items'
}
let trait_fr = game.babele.translate(compendiumSkills, { name: name_en }, true);
//console.log(">>>>> Skill ?", name_en, special, trait_fr.name, trait_fr);
trait_fr.name = trait_fr.name || name_en
if (trait_fr.name != name_en) { // Translation OK
trait_en.name = trait_fr.name + special;
if (trait_fr.system) {
let validCompendiums = game.wfrp4e.tags.getPacksWithTag("skill")
for (let compData of validCompendiums) {
let trait_fr = game.babele.translate(compData.metadata.id, { name: name_en }, true)
if (trait_fr?.system) {
//console.log(">>>>> Skill ?", name_en, special, trait_fr.name, trait_fr);
trait_fr.name = trait_fr.name || name_en
trait_en.name = trait_fr.name + special;
trait_en.system.description.value = trait_fr.system.description.value;
break; // Translation has been found, skip other compendiums
}
}
} else if (trait_en.type == "prayer") {
let compendiumPrayers = 'wfrp4e-core.prayers' // Per default
if (game.system.version.match("7.")) {
compendiumPrayers = 'wfrp4e-core.items'
let validCompendiums = game.wfrp4e.tags.getPacksWithTag("prayer")
for (let compData of validCompendiums) {
let trait_fr = game.babele.translate(compData.metadata.id, { name: name_en }, true)
if (trait_fr?.system) {
//DEBUG : console.log(">>>>> Prayer ?", name_en, special, trait_fr.name );
trait_fr.name = trait_fr.name || name_en
trait_en.name = trait_fr.name + special;
if (trait_fr.system?.description?.value) {
trait_en.system.description.value = trait_fr.system.description.value;
}
break;
}
}
let trait_fr = game.babele.translate(compendiumPrayers, { name: name_en }, true);
//console.log(">>>>> Prayer ?", name_en, special, trait_fr.name );
trait_fr.name = trait_fr.name || name_en
trait_en.name = trait_fr.name + special;
if (trait_fr.system?.description?.value)
trait_en.system.description.value = trait_fr.system.description.value;
} else if (trait_en.type == "spell") {
let compendiumSpells = 'wfrp4e-core.spells' // Per default
if (game.system.version.match("7.")) {
compendiumSpells = 'wfrp4e-core.items'
let validCompendiums = game.wfrp4e.tags.getPacksWithTag("spell")
for (let compData of validCompendiums) {
let trait_fr = game.babele.translate(compData.metadata.id, { name: name_en }, true)
if (trait_fr?.system) {
trait_fr.name = trait_fr.name || name_en
//DEBUG : console.log(">>>>> Spell ?", name_en, special, trait_fr.name );
trait_en.name = trait_fr.name + special;
if (trait_fr.system?.description?.value) {
trait_en.system.description.value = trait_fr.system.description.value;
}
break;
}
}
let trait_fr = game.babele.translate(compendiumSpells, { name: name_en }, true)
if (trait_fr.name == name_en) { // If no translation, test eisspells
trait_fr = game.babele.translate('wfrp4e-eis.eisspells', { name: name_en }, true);
}
if (trait_fr.name == name_en) { // If no translation, test unofficial grimoire
trait_fr = game.babele.translate('wfrp4e-unofficial-grimoire.ug-spells', { name: name_en }, true);
}
trait_fr.name = trait_fr.name || name_en
//console.log(">>>>> Spell ?", name_en, special, trait_fr.name );
trait_en.name = trait_fr.name + special;
if (trait_fr.system?.description?.value)
trait_en.system.description.value = trait_fr.system.description.value;
} else if (trait_en.type == "talent") {
if (name_en.includes("(") && name_en.includes(")")) { // Then process specific skills name with (xxxx) inside
let re = /(.*) +\((.*)\)/i;
@ -396,45 +379,44 @@ Hooks.once('init', () => {
name_en = res[1].trim(); // Get the root talent name, no parenthesis this time...
special = " (" + game.i18n.localize(res[2].trim()) + ")"; // And the special keyword
}
let compendiumTalents = 'wfrp4e-core.talents' // Per default
if (game.system.version.match("7.")) {
compendiumTalents = 'wfrp4e-core.items'
}
let trait_fr = game.babele.translate(compendiumTalents, { name: name_en }, true)
trait_fr.name = trait_fr.name || name_en // Security since babele v10
//console.log(">>>>> Talent ?", trait_fr, name_en, special, trait_fr.name);
if (trait_fr.name != "Sprinter" && trait_fr.name == name_en) { // If no translation, test ugtalents
trait_fr = game.babele.translate('wfrp4e-unofficial-grimoire.ug-careerstalentstraits', { name: name_en }, true);
trait_fr.name = trait_fr.name || name_en // Security since babele v10
}
if (trait_fr.name && (trait_fr.name == "Sprinter" || trait_fr.name != name_en)) { // Talent translated!
trait_en.name = trait_fr.name.trim() + special
if (trait_fr.system?.description?.value) { // Why ???
trait_en.system.description.value = trait_fr.system.description.value;
let validCompendiums = game.wfrp4e.tags.getPacksWithTag("talent")
for (let compData of validCompendiums) {
let trait_fr = game.babele.translate(compData.metadata.id, { name: name_en }, true)
if (trait_fr?.system) {
trait_fr.name = trait_fr.name || name_en // Security since babele v10
//console.log(">>>>> Talent ?", trait_fr, name_en, special, trait_fr.name);
if (trait_fr.name && (trait_fr.name == "Sprinter" || trait_fr.name != name_en)) { // Talent translated!
trait_en.name = trait_fr.name.trim() + special
if (trait_fr.system?.description?.value) { // Why ???
trait_en.system.description.value = trait_fr.system.description.value;
}
}
break;
}
}
} else if (trait_en.type == "career") {
let compendiumCareers = 'wfrp4e-core.careers' // Per default
if (game.system.version.match("7.")) {
compendiumCareers = 'wfrp4e-core.items'
let validCompendiums = game.wfrp4e.tags.getPacksWithTag("career")
for (let compData of validCompendiums) {
let career_fr = game.babele.translate(compData.metadata.id, { name: name_en }, true);
if (career_fr?.system) {
trait_en.name = career_fr.name || trait_en.name
// DEBG: console.log(">>>>> Career ?", career_fr.name );
trait_en.system = duplicate(career_fr.system);
break;
}
}
let career_fr = game.babele.translate(compendiumCareers, { name: name_en }, true);
trait_en.name = career_fr.name || trait_en.name
//console.log(">>>>> Career ?", career_fr.name );
if (career_fr?.system) {
trait_en.system = duplicate(career_fr.system);
}
} else if (trait_en.type == "trapping" || trait_en.type == "weapon" || trait_en.type == "armour" || trait_en.type == "container" || trait_en.type == "money") {
let compendiumTrappings = 'wfrp4e-core.trappings' // Per default
if (game.system.version.match("7.")) {
compendiumTrappings = 'wfrp4e-core.items'
}
let trapping_fr = game.babele.translate(compendiumTrappings, { name: name_en }, true);
//console.log(">>>>> Trapping ?", name_en, trapping_fr.name);
trait_en.name = trapping_fr.name || trait_en.name
if (trapping_fr.system?.description?.value) {
trait_en.system.description.value = trapping_fr.system.description.value
let validCompendiums = game.wfrp4e.tags.getPacksWithTag(["trapping"], ["weapon", "armour", "container", "money"])
for (let compData of validCompendiums) {
let trapping_fr = game.babele.translate(compData.metadata.id, { name: name_en }, true);
if (trapping_fr?.system) {
//console.log(">>>>> Trapping ?", name_en, trapping_fr.name);
trait_en.name = trapping_fr.name || trait_en.name
if (trapping_fr.system?.description?.value) {
trait_en.system.description.value = trapping_fr.system.description.value
}
break;
}
}
}
}
@ -486,18 +468,13 @@ Hooks.once('init', () => {
}
//console.log("Carre groupe : ", value )
// Per default
let compendiumCareers = 'wfrp4e-core.careers' // Per default
if (game.system.version.match("7.")) {
compendiumCareers = 'wfrp4e-core.items'
}
let compendium = game.packs.find(p => p.collection === compendiumCareers);
if (compendium) {
let newName = game.babele.translate(compendiumCareers, { name: value }).name
let validCompendiums = game.wfrp4e.tags.getPacksWithTag("career")
for (let compData of validCompendiums) {
let newName = game.babele.translate(compData.metadata.id, { name: value }).name
if (!newName) newName = value
return newName
} else {
ui.notifications.error("Impossible de trouver la carrière " + value + ". Elle n'est probablement pas traduite.", { permanent: true })
}
ui.notifications.error("Impossible de trouver la carrière " + value + ". Elle n'est probablement pas traduite.", { permanent: true })
return value
},

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -779,7 +779,7 @@
{
"description": "<p style=\"text-align: justify;\">Le prix varie en fonction de la fabrication, du type de métal et de la valeur des gemmes. En règle générale, des bagues communes sans gemme coûtent 10 pièces du métal correspondant (par exemple, cuivre, argent ou or) alors que les colliers coûtent 20 pièces du métal correspondant.</p>",
"effects": [],
"id": "Jewellry",
"id": "Jewellery",
"name": "Bijoux"
},
{

File diff suppressed because one or more lines are too long

View File

@ -2308,5 +2308,7 @@
"TYPES.Item.weapon":"Arme",
"Badger": "Blaireau",
"Badgers": "Blaireaux"
"Badgers": "Blaireaux",
"Choose one": "A choisir",
"Bestial": "Bestial"
}

View File

@ -8,7 +8,7 @@
}
],
"url": "https://www.uberwald.me/gitea/public/foundryvtt-wh4-lang-fr-fr",
"version": "7.0.9",
"version": "7.0.16",
"esmodules": [
"babele-register.js",
"addon-register.js",
@ -50,18 +50,6 @@
"ASSISTANT": "OWNER"
}
},
{
"label": "Sorts FR",
"type": "Item",
"name": "sort-fr",
"path": "packs/sort-fr",
"system": "wfrp4e",
"flags": {},
"ownership": {
"PLAYER": "OBSERVER",
"ASSISTANT": "OWNER"
}
},
{
"label": "Aides de Jeu FR",
"type": "JournalEntry",
@ -75,55 +63,7 @@
}
},
{
"label": "Potions : Drogues et Sédatifs",
"type": "Item",
"name": "drogues-and-sedatifs",
"path": "packs/drogues-and-sedatifs",
"system": "wfrp4e",
"flags": {},
"ownership": {
"PLAYER": "OBSERVER",
"ASSISTANT": "OWNER"
}
},
{
"label": "Potions : Pansements et Cataplasmes",
"type": "Item",
"name": "pansements-and-cataplasmes",
"path": "packs/pansements-and-cataplasmes",
"system": "wfrp4e",
"flags": {},
"ownership": {
"PLAYER": "OBSERVER",
"ASSISTANT": "OWNER"
}
},
{
"label": "Potions : Poisons et Toxiques",
"type": "Item",
"name": "poisons-and-toxiques",
"path": "packs/poisons-and-toxiques",
"system": "wfrp4e",
"flags": {},
"ownership": {
"PLAYER": "OBSERVER",
"ASSISTANT": "OWNER"
}
},
{
"label": "Potions : Potions et Décoctions",
"type": "Item",
"name": "potions-and-decoctions",
"path": "packs/potions-and-decoctions",
"system": "wfrp4e",
"flags": {},
"ownership": {
"PLAYER": "OBSERVER",
"ASSISTANT": "OWNER"
}
},
{
"label": "Potions : Antidotes et Remèdes",
"label": "Potions",
"type": "Item",
"name": "antidotes-and-remedes",
"path": "packs/antidotes-and-remedes",
@ -159,8 +99,23 @@
}
}
],
"packFolders": [
{
"name": "Module WFRP4 FR",
"sorting": "m",
"color": "#00435c",
"packs": [
"apothicarium",
"tables-des-traductions",
"antidotes-and-remedes",
"aides-de-jeu-fr",
"dons-de-rhya",
"plats-dauberges"
]
}
],
"manifest": "https://www.uberwald.me/gitea/public/foundryvtt-wh4-lang-fr-fr/raw/v10/module.json",
"download": "https://www.uberwald.me/gitea/public/foundryvtt-wh4-lang-fr-fr/archive/foundryvtt-wh4-lang-fr-7.0.9.zip",
"download": "https://www.uberwald.me/gitea/public/foundryvtt-wh4-lang-fr-fr/archive/foundryvtt-wh4-lang-fr-7.0.16.zip",
"id": "wh4-fr-translation",
"compatibility": {
"minimum": "10",
@ -182,4 +137,4 @@
}
]
}
}
}

View File

@ -52,13 +52,13 @@ import "./xregexp-all.js";
const us_carac = 'm\\s+ws\\s+bs\\s+s\\s+t\\s+i\\s+agi?\\s+dex\\s+int\\s+\\wp\\s+fel\\s+w';
const fr_carac = 'm\\s+cc\\s+ct\\s+f\\s+e\\s+i\\s+agi?\\s+dex\\s+int\\s+fm\\s+soc\\s+b';
const carac_val = '(?<m>[0-9\\-]+)\\s+(?<ws>[0-9\\-]+)\\s+(?<bs>[0-9\\-]+)\\s+(?<s>[0-9\\-]+)\\s+(?<t>[0-9\\-]+)\\s+(?<i>[0-9\\-]+)\\s+(?<ag>[0-9\\-]+)\\s+(?<dex>[0-9\\-]+)\\s+(?<int>[0-9\\-]+)\\s+(?<wp>[0-9\\-]+)\\s+(?<fel>[0-9\\-]+)\\s+(?<w>[0-9\\-\*]+)';
const name_val = '(?<name>[a-zA-Z\\s\\-,]*)[\\s\\r\\na-zA-Z]*(?<tiers>.*|[\\(\\)a-z0-9]+)';
const name_val = '(?<name>[a-zA-Z\\s\\-,\']*)[\\s\\r\\na-zA-Z]*(?<tiers>.*|[\\(\\)a-z0-9]+)';
let sectionDataFR = [
{ name: "trait", toFind: "Traits\\s*:", secondParse: '(?<name>[a-zöàéè\\s]*)[\\s\\+]*(?<value>.*|[\\+0-9]+)', index: -1 },
{ name: "skill", toFind: "Compétences\\s*:", secondParse: '(?<name>[a-zàéè\\s\\(\\)]*)[\\s\\+]*(?<value>.*|[0-9]+)', index: -1 },
{ name: "talent", toFind: "Talents\\s*:", secondParse: '(?<name>[a-zöàéè\\-\\(\\)\\s\\/\']*)[\\s\\+]*(?<value>.*|[0-9]+)', index: -1 },
{ name: "talent", toFind: "Talents\\s*:", secondParse: '(?<name>[a-zöàéè\\-\\!\\(\\)\\s\\/\']*)[\\s\\+]*(?<value>.*|[0-9]+)', index: -1 },
{ name: "mutation", toFind: "Mutations\\s*:", secondParse: '(?<name>[a-zöàéè\\s]*)[\\s\\+]*(?<value>.*|[0-9]+)', index: -1 },
{ name: "trapping", toFind: "Equipement\\s*:", secondParse: '(?<name>[a-zöàéè0-9\\s]*)[\\s\\+]*(?<value>.*|[0-9]+)', index: -1 },
{ name: "trapping", toFind: "Equipement\\s*:", secondParse: '(?<name>[a-zöàéè0-9\\s(\\)\\-]*)[\\s\\+]*(?<value>.*|[0-9]+)', index: -1 },
{ name: "spell", toFind: "Sorts\\s*\\([a-z\\s]*\\)*:", secondParse: '(?<name>[a-zöàéè\\s]*)', index: -1 },
{ name: "spellpetty", toFind: "Spells\\s*\\(Magie Mineure\\)*:", secondParse: '(?<name>[a-zö\\-\\s]*)', index: -1 },
{ name: "spellarcane", toFind: "Spells\\s*\\(Arcane[a-z\\s]*\\)*:", secondParse: '(?<name>[a-zö\\-\\s]*)', index: -1 },
@ -67,13 +67,17 @@ let sectionDataFR = [
let sectionDataUS = [
{ name: "trait", toFind: "Traits\\s*:", secondParse: '(?<name>[a-z\\s]*)[\\s\\+]*(?<value>.*|[\\+0-9]+)', index: -1 },
{ name: "skill", toFind: "Skills\\s*:", secondParse: '(?<name>[a-z\\s\\(\\)]*)[\\s\\+]*(?<value>.*|[0-9]+)', index: -1 },
{ name: "talent", toFind: "Talents\\s*:", secondParse: '(?<name>[a-z\\-\\s\\(\\)\\/\']*)[\\s\\+]*(?<value>.*|[0-9]+)', index: -1 },
{ name: "talent", toFind: "Talents\\s*:", secondParse: '(?<name>[a-z\\-\\s\\!\\(\\)\\/\']*)[\\s\\+]*(?<value>.*|[0-9]+)', index: -1 },
{ name: "mutation", toFind: "Mutations\\s*:", secondParse: '(?<name>[a-zö\\s]*)[\\s\\+]*(?<value>.*|[0-9]+)', index: -1 },
{ name: "trapping", toFind: "Trappings\\s*:", secondParse: '(?<name>[a-zö0-9\\s]*)[\\s\\+]*(?<value>.*|[0-9]+)', index: -1 },
{ name: "trapping", toFind: "Trappings\\s*:", secondParse: '(?<name>[a-zö0-9\\s\\(\\)\\-]*)[\\s\\+]*(?<value>.*|[0-9]+)', index: -1 },
{ name: "spellpetty", toFind: "Spells\\s*\\(Petty\\s*[a-z\\s]*\\)*:", secondParse: '(?<name>[a-zö\\-\\s]*)', index: -1 },
{ name: "spellarcane", toFind: "Spells\\s*\\(Arcane\\s*[a-z\\s]*\\)*:", secondParse: '(?<name>[a-zö\\-\\s]*)', index: -1 },
{ name: "spelllore", toFind: "Spells\\s*\\(Lore\\s*of\\s*(?<lore>[a-z\\s]*)\\)*:", secondParse: '(?<name>[a-zö\\-\\s]*)', index: -1 }
]
let moneyUS = [ {name:" gold crown", key: "gc"}, {name: " gc", key: "gc"},
{name:" silver shilling", key:"ss"}, {name:" ss", key: "ss"}, {name:"/-", key: "ss"}, {name:" brass penn", key: "bp"}, {name:" bp", key: "bp"} ]
let moneyFR = [ {name:" couronnes d", key: "gc"}, {name: " co", key: "gc"},
{name:" pistoles ", key:"ss"}, {name:" pa", key: "ss"}, {name:"/-", key: "ss"}, {name:" sous de cuivre", key: "bp"}, {name:" sc", key: "bp"} ]
let regSep = XRegExp('\\s*,\\s*', 'gi'); // Term separator, with auto trim
let regLine1 = XRegExp('[\\r\\n\\.]', 'gi'); // Term separator, with auto trim
let regName = XRegExp(name_val, 'gi');
@ -178,7 +182,7 @@ async function __findSkill(skillName, value = undefined) {
/************************************************************************************/
async function __findTalent(talentName) {
let parseStr = '(?<name>[a-z\\s\\/\']*)[\\s\\+]*(?<specialized>[a-z\\s\\(\\)\']*)';
let parseStr = '(?<name>[a-z\\s\\!\\/\']*)[\\s\\+]*(?<specialized>[a-z\\s\\(\\)\']*)';
let talentSplit = XRegExp.exec(talentName, XRegExp(parseStr, 'gi'));
let toSearch = talentSplit.name.toLowerCase().trim();
@ -246,16 +250,19 @@ export default async function statParserFR(statString, type = "npc") {
// Patch wront/strange carac value before processing
statString = statString.replace(/ /g, " 0")
let moneys = { gc: 0, ss: 0, bp: 0 }
let statNameReg = us_carac
let sectionData = sectionDataUS
let sectionData = duplicate(sectionDataUS)
let skillGrouping = __SkillGroupsUS
let moneyLang = moneyUS
// Detect French stat block
if (statString.includes('CC') && statString.includes('CT') && statString.includes('FM')) {
//ui.notifications.warn("Le parsing de stablock en Français n'est pas encore prêt")
statNameReg = fr_carac
sectionData = sectionDataFR
sectionData = duplicate(sectionDataFR)
skillGrouping = __SkillGroupsFR
moneyLang = moneyFR
}
let reg1 = XRegExp(statNameReg, 'gi')
@ -368,7 +375,7 @@ export default async function statParserFR(statString, type = "npc") {
} else {
itemFound.system.specification.value = game.i18n.localize(value)
}
itemFound.name += "(" + value + ")"
//itemFound.name += "(" + value + ")"
}
if (!itemFound)
ui.notifications.error("Trait non trouvé, à ajouter manuellement : " + name, { permanent: true })
@ -405,6 +412,7 @@ export default async function statParserFR(statString, type = "npc") {
if (!itemFound) {
ui.notifications.error("Talent non trouvé, à ajouter manuellement : " + name, { permanent: true })
}
} else if (def.name == 'trapping') {
itemFound = await __findItem(name, "trapping");
if (!itemFound) {
@ -415,7 +423,7 @@ export default async function statParserFR(statString, type = "npc") {
}
if (!itemFound && name) {
if (name.toLowerCase().includes("armor") || name.toLowerCase().includes("armure") || name.toLowerCase().includes("armour")) {
itemFound = new ItemWfrp4e({ img: "systems/wfrp4e/icons/blank.png", name: name, type: "armor", system: game.system.model.Item.armor })
itemFound = new ItemWfrp4e({ img: "systems/wfrp4e/icons/blank.png", name: name, type: "armour", system: game.system.model.Item.armor })
} else if (name.toLowerCase().includes("weapon") || name.toLowerCase().includes("arme")) {
itemFound = new ItemWfrp4e({ img: "systems/wfrp4e/icons/blank.png", name: name, type: "weapon", system: game.system.model.Item.weapon })
} else {
@ -427,13 +435,22 @@ export default async function statParserFR(statString, type = "npc") {
}
itemFound = itemFound.toObject()
}
// Searching money stuff
for (let mondeyDef of moneyLang) {
if (name.toLowerCase().includes(mondeyDef.name)) {
let regMoney = XRegExp("(\\d+)\\s*" + mondeyDef.name.trim(), 'gi')
let moneyParsed = XRegExp.exec(name.toLowerCase(), regMoney)
console.log("Parsing money", name, moneyParsed)
moneys[mondeyDef.key] += (moneyParsed && moneyParsed[1]) ? Number(moneyParsed[1]) : 0
}
}
} else if (def.name.includes('spell')) {
console.log("Found spells section!!!!", name, def, def.lore || "NO LORE")
// Lore management, firs pass
if ( def.lore ) {
if (def.lore) {
let newName = name + " (" + def.lore + ")"
itemFound = await __findItem(newName, "spell");
console.log("Trying to find ", newName, itemFound)
//console.log("Trying to find ", newName, itemFound)
}
if (!itemFound) { // If not found with Lore, try without the lore
itemFound = await __findItem(name, "spell");
@ -455,14 +472,39 @@ export default async function statParserFR(statString, type = "npc") {
}
let moneyItems = await game.wfrp4e.utility.allMoneyItems() || [];
moneyItems = moneyItems.sort((a, b) => (a.system.coinValue.value > b.system.coinValue.value) ? -1 : 1);
moneyItems.forEach(m => m.system.quantity.value = 0)
for (let m of moneyItems) {
m.system.quantity.value = 0
if (m.system.coinValue.value == 1) {
m.system.quantity.value += moneys.bp
}
if (m.system.coinValue.value == 240) {
m.system.quantity.value += moneys.gc
}
if (m.system.coinValue.value == 12) {
m.system.quantity.value += moneys.ss
}
}
globalItemList = globalItemList.concat(moneyItems);
//console.log("My liste :", globalItemList);
//DEBUG : console.log("My liste :", moneyItems, moneys);
let name = pnjName;
let effects = globalItemList.reduce((total, globItem) => total.concat(globItem.effects), [])
effects = effects.filter(e => !!e)
effects = effects.filter(e => e.transfer)
for (let e of effects) {
for (let c of e.changes) {
// Charac management stuff
if (c.key?.includes("characteristics")) {
let cKey = c.key.split(".")[2]
model.characteristics[cKey].initial -= Number(c.value)
}
// Move management
if (c.key?.includes("move")) {
model.details.move.value -= Number(c.value)
}
}
}
//DEBUG : console.log("EFFECTS", effects)
return { name, type, data: model, items: globalItemList, effects }
}

Binary file not shown.

View File

View File

@ -0,0 +1 @@
MANIFEST-000306

View File

View File

@ -0,0 +1,8 @@
2023/10/12-12:52:21.429107 7ff867fff6c0 Recovering log #304
2023/10/12-12:52:21.438983 7ff867fff6c0 Delete type=3 #302
2023/10/12-12:52:21.439028 7ff867fff6c0 Delete type=0 #304
2023/10/12-14:21:05.515562 7ff865e026c0 Level-0 table #309: started
2023/10/12-14:21:05.515585 7ff865e026c0 Level-0 table #309: 0 bytes OK
2023/10/12-14:21:05.522208 7ff865e026c0 Delete type=0 #307
2023/10/12-14:21:05.529094 7ff865e026c0 Manual compaction at level-0 from '!journal!3IgmiprzLB6Lwenc' @ 72057594037927935 : 1 .. '!journal!suuYN87Al1ZZWtQQ' @ 0 : 0; will stop at (end)
2023/10/12-14:21:05.529124 7ff865e026c0 Manual compaction at level-1 from '!journal!3IgmiprzLB6Lwenc' @ 72057594037927935 : 1 .. '!journal!suuYN87Al1ZZWtQQ' @ 0 : 0; will stop at (end)

View File

@ -0,0 +1,8 @@
2023/10/12-08:42:23.281809 7ffafdffa6c0 Recovering log #300
2023/10/12-08:42:23.293900 7ffafdffa6c0 Delete type=3 #298
2023/10/12-08:42:23.294048 7ffafdffa6c0 Delete type=0 #300
2023/10/12-09:07:20.297268 7ff865e026c0 Level-0 table #305: started
2023/10/12-09:07:20.297313 7ff865e026c0 Level-0 table #305: 0 bytes OK
2023/10/12-09:07:20.303738 7ff865e026c0 Delete type=0 #303
2023/10/12-09:07:20.303980 7ff865e026c0 Manual compaction at level-0 from '!journal!3IgmiprzLB6Lwenc' @ 72057594037927935 : 1 .. '!journal!suuYN87Al1ZZWtQQ' @ 0 : 0; will stop at (end)
2023/10/12-09:07:20.304031 7ff865e026c0 Manual compaction at level-1 from '!journal!3IgmiprzLB6Lwenc' @ 72057594037927935 : 1 .. '!journal!suuYN87Al1ZZWtQQ' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

View File

View File

@ -0,0 +1 @@
MANIFEST-000307

View File

View File

@ -0,0 +1,8 @@
2023/10/12-12:52:21.442257 7ffafcff86c0 Recovering log #305
2023/10/12-12:52:21.453596 7ffafcff86c0 Delete type=3 #303
2023/10/12-12:52:21.453695 7ffafcff86c0 Delete type=0 #305
2023/10/12-14:21:05.549093 7ff865e026c0 Level-0 table #310: started
2023/10/12-14:21:05.549145 7ff865e026c0 Level-0 table #310: 0 bytes OK
2023/10/12-14:21:05.556493 7ff865e026c0 Delete type=0 #308
2023/10/12-14:21:05.556633 7ff865e026c0 Manual compaction at level-0 from '!folders!3uquYH73ttCdoH0I' @ 72057594037927935 : 1 .. '!items!ylFhk7mGZOnAJTUT' @ 0 : 0; will stop at (end)
2023/10/12-14:21:05.556659 7ff865e026c0 Manual compaction at level-1 from '!folders!3uquYH73ttCdoH0I' @ 72057594037927935 : 1 .. '!items!ylFhk7mGZOnAJTUT' @ 0 : 0; will stop at (end)

View File

@ -0,0 +1,8 @@
2023/10/12-08:42:23.297463 7ff867fff6c0 Recovering log #301
2023/10/12-08:42:23.309413 7ff867fff6c0 Delete type=3 #299
2023/10/12-08:42:23.309623 7ff867fff6c0 Delete type=0 #301
2023/10/12-09:07:20.283204 7ff865e026c0 Level-0 table #306: started
2023/10/12-09:07:20.283248 7ff865e026c0 Level-0 table #306: 0 bytes OK
2023/10/12-09:07:20.290020 7ff865e026c0 Delete type=0 #304
2023/10/12-09:07:20.303924 7ff865e026c0 Manual compaction at level-0 from '!folders!3uquYH73ttCdoH0I' @ 72057594037927935 : 1 .. '!items!ylFhk7mGZOnAJTUT' @ 0 : 0; will stop at (end)
2023/10/12-09:07:20.304012 7ff865e026c0 Manual compaction at level-1 from '!folders!3uquYH73ttCdoH0I' @ 72057594037927935 : 1 .. '!items!ylFhk7mGZOnAJTUT' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

View File

View File

@ -0,0 +1 @@
MANIFEST-000306

0
packs/apothicarium/LOCK Normal file
View File

8
packs/apothicarium/LOG Normal file
View File

@ -0,0 +1,8 @@
2023/10/12-12:52:21.469812 7ffafd7f96c0 Recovering log #304
2023/10/12-12:52:21.479826 7ffafd7f96c0 Delete type=3 #302
2023/10/12-12:52:21.479883 7ffafd7f96c0 Delete type=0 #304
2023/10/12-14:21:05.542955 7ff865e026c0 Level-0 table #309: started
2023/10/12-14:21:05.542977 7ff865e026c0 Level-0 table #309: 0 bytes OK
2023/10/12-14:21:05.548879 7ff865e026c0 Delete type=0 #307
2023/10/12-14:21:05.556607 7ff865e026c0 Manual compaction at level-0 from '!journal!cZtNgayIw2QFhC9u' @ 72057594037927935 : 1 .. '!journal!cZtNgayIw2QFhC9u' @ 0 : 0; will stop at (end)
2023/10/12-14:21:05.556642 7ff865e026c0 Manual compaction at level-1 from '!journal!cZtNgayIw2QFhC9u' @ 72057594037927935 : 1 .. '!journal!cZtNgayIw2QFhC9u' @ 0 : 0; will stop at (end)

View File

@ -0,0 +1,8 @@
2023/10/12-08:42:23.329050 7ffafd7f96c0 Recovering log #300
2023/10/12-08:42:23.340331 7ffafd7f96c0 Delete type=3 #298
2023/10/12-08:42:23.340426 7ffafd7f96c0 Delete type=0 #300
2023/10/12-09:07:20.304375 7ff865e026c0 Level-0 table #305: started
2023/10/12-09:07:20.304424 7ff865e026c0 Level-0 table #305: 0 bytes OK
2023/10/12-09:07:20.311700 7ff865e026c0 Delete type=0 #303
2023/10/12-09:07:20.311889 7ff865e026c0 Manual compaction at level-0 from '!journal!cZtNgayIw2QFhC9u' @ 72057594037927935 : 1 .. '!journal!cZtNgayIw2QFhC9u' @ 0 : 0; will stop at (end)
2023/10/12-09:07:20.311934 7ff865e026c0 Manual compaction at level-1 from '!journal!cZtNgayIw2QFhC9u' @ 72057594037927935 : 1 .. '!journal!cZtNgayIw2QFhC9u' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

View File

View File

@ -0,0 +1 @@
MANIFEST-000306

0
packs/dons-de-rhya/LOCK Normal file
View File

8
packs/dons-de-rhya/LOG Normal file
View File

@ -0,0 +1,8 @@
2023/10/12-12:52:21.415436 7ffafd7f96c0 Recovering log #304
2023/10/12-12:52:21.425964 7ffafd7f96c0 Delete type=3 #302
2023/10/12-12:52:21.426014 7ffafd7f96c0 Delete type=0 #304
2023/10/12-14:21:05.508923 7ff865e026c0 Level-0 table #309: started
2023/10/12-14:21:05.509201 7ff865e026c0 Level-0 table #309: 0 bytes OK
2023/10/12-14:21:05.515447 7ff865e026c0 Delete type=0 #307
2023/10/12-14:21:05.529079 7ff865e026c0 Manual compaction at level-0 from '!journal!50u8VAjdmovyr0hx' @ 72057594037927935 : 1 .. '!journal!yzw9I0r3hCK7PJnz' @ 0 : 0; will stop at (end)
2023/10/12-14:21:05.529117 7ff865e026c0 Manual compaction at level-1 from '!journal!50u8VAjdmovyr0hx' @ 72057594037927935 : 1 .. '!journal!yzw9I0r3hCK7PJnz' @ 0 : 0; will stop at (end)

View File

@ -0,0 +1,8 @@
2023/10/12-08:42:23.268945 7ffafd7f96c0 Recovering log #300
2023/10/12-08:42:23.278972 7ffafd7f96c0 Delete type=3 #298
2023/10/12-08:42:23.279118 7ffafd7f96c0 Delete type=0 #300
2023/10/12-09:07:20.276665 7ff865e026c0 Level-0 table #305: started
2023/10/12-09:07:20.276712 7ff865e026c0 Level-0 table #305: 0 bytes OK
2023/10/12-09:07:20.283056 7ff865e026c0 Delete type=0 #303
2023/10/12-09:07:20.303902 7ff865e026c0 Manual compaction at level-0 from '!journal!50u8VAjdmovyr0hx' @ 72057594037927935 : 1 .. '!journal!yzw9I0r3hCK7PJnz' @ 0 : 0; will stop at (end)
2023/10/12-09:07:20.303996 7ff865e026c0 Manual compaction at level-1 from '!journal!50u8VAjdmovyr0hx' @ 72057594037927935 : 1 .. '!journal!yzw9I0r3hCK7PJnz' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

View File

View File

@ -0,0 +1 @@
MANIFEST-000268

View File

View File

@ -0,0 +1,8 @@
2023/10/01-20:44:40.570183 7f5807fff6c0 Recovering log #266
2023/10/01-20:44:40.632484 7f5807fff6c0 Delete type=3 #264
2023/10/01-20:44:40.632822 7f5807fff6c0 Delete type=0 #266
2023/10/01-20:59:02.099129 7f58067fc6c0 Level-0 table #271: started
2023/10/01-20:59:02.099170 7f58067fc6c0 Level-0 table #271: 0 bytes OK
2023/10/01-20:59:02.106069 7f58067fc6c0 Delete type=0 #269
2023/10/01-20:59:02.112689 7f58067fc6c0 Manual compaction at level-0 from '!items!0LoyZMCXQNdFa2eX' @ 72057594037927935 : 1 .. '!items!ylFhk7mGZOnAJTUT' @ 0 : 0; will stop at (end)
2023/10/01-20:59:02.112752 7f58067fc6c0 Manual compaction at level-1 from '!items!0LoyZMCXQNdFa2eX' @ 72057594037927935 : 1 .. '!items!ylFhk7mGZOnAJTUT' @ 0 : 0; will stop at (end)

View File

@ -0,0 +1,8 @@
2023/10/01-18:43:22.727478 7f5807fff6c0 Recovering log #262
2023/10/01-18:43:22.785389 7f5807fff6c0 Delete type=3 #260
2023/10/01-18:43:22.785534 7f5807fff6c0 Delete type=0 #262
2023/10/01-18:47:48.446951 7f58067fc6c0 Level-0 table #267: started
2023/10/01-18:47:48.447052 7f58067fc6c0 Level-0 table #267: 0 bytes OK
2023/10/01-18:47:48.485936 7f58067fc6c0 Delete type=0 #265
2023/10/01-18:47:48.524251 7f58067fc6c0 Manual compaction at level-0 from '!items!0LoyZMCXQNdFa2eX' @ 72057594037927935 : 1 .. '!items!ylFhk7mGZOnAJTUT' @ 0 : 0; will stop at (end)
2023/10/01-18:47:48.524330 7f58067fc6c0 Manual compaction at level-1 from '!items!0LoyZMCXQNdFa2eX' @ 72057594037927935 : 1 .. '!items!ylFhk7mGZOnAJTUT' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1 @@
MANIFEST-000268

View File

View File

@ -0,0 +1,8 @@
2023/10/01-20:44:40.636180 7f5a9cdff6c0 Recovering log #266
2023/10/01-20:44:40.697598 7f5a9cdff6c0 Delete type=3 #264
2023/10/01-20:44:40.697748 7f5a9cdff6c0 Delete type=0 #266
2023/10/01-20:59:02.084751 7f58067fc6c0 Level-0 table #271: started
2023/10/01-20:59:02.084857 7f58067fc6c0 Level-0 table #271: 0 bytes OK
2023/10/01-20:59:02.091434 7f58067fc6c0 Delete type=0 #269
2023/10/01-20:59:02.112649 7f58067fc6c0 Manual compaction at level-0 from '!items!25lWFfePrPzoL9qs' @ 72057594037927935 : 1 .. '!items!t9Z8fy9D9bcgBzj0' @ 0 : 0; will stop at (end)
2023/10/01-20:59:02.112721 7f58067fc6c0 Manual compaction at level-1 from '!items!25lWFfePrPzoL9qs' @ 72057594037927935 : 1 .. '!items!t9Z8fy9D9bcgBzj0' @ 0 : 0; will stop at (end)

View File

@ -0,0 +1,8 @@
2023/10/01-18:43:22.793152 7f5806ffd6c0 Recovering log #262
2023/10/01-18:43:22.857219 7f5806ffd6c0 Delete type=3 #260
2023/10/01-18:43:22.857359 7f5806ffd6c0 Delete type=0 #262
2023/10/01-18:47:48.340716 7f58067fc6c0 Level-0 table #267: started
2023/10/01-18:47:48.340770 7f58067fc6c0 Level-0 table #267: 0 bytes OK
2023/10/01-18:47:48.376145 7f58067fc6c0 Delete type=0 #265
2023/10/01-18:47:48.376399 7f58067fc6c0 Manual compaction at level-0 from '!items!25lWFfePrPzoL9qs' @ 72057594037927935 : 1 .. '!items!t9Z8fy9D9bcgBzj0' @ 0 : 0; will stop at (end)
2023/10/01-18:47:48.376460 7f58067fc6c0 Manual compaction at level-1 from '!items!25lWFfePrPzoL9qs' @ 72057594037927935 : 1 .. '!items!t9Z8fy9D9bcgBzj0' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

View File

View File

@ -0,0 +1 @@
MANIFEST-000306

View File

View File

@ -0,0 +1,8 @@
2023/10/12-12:52:21.401250 7ffafdffa6c0 Recovering log #304
2023/10/12-12:52:21.411393 7ffafdffa6c0 Delete type=3 #302
2023/10/12-12:52:21.411454 7ffafdffa6c0 Delete type=0 #304
2023/10/12-14:21:05.522295 7ff865e026c0 Level-0 table #309: started
2023/10/12-14:21:05.522318 7ff865e026c0 Level-0 table #309: 0 bytes OK
2023/10/12-14:21:05.528847 7ff865e026c0 Delete type=0 #307
2023/10/12-14:21:05.529104 7ff865e026c0 Manual compaction at level-0 from '!tables!4l60Lxv8cpsyy2Cg' @ 72057594037927935 : 1 .. '!tables.results!tfaYKDZqu7kgZvRG.yvbwKursaixh2dby' @ 0 : 0; will stop at (end)
2023/10/12-14:21:05.529131 7ff865e026c0 Manual compaction at level-1 from '!tables!4l60Lxv8cpsyy2Cg' @ 72057594037927935 : 1 .. '!tables.results!tfaYKDZqu7kgZvRG.yvbwKursaixh2dby' @ 0 : 0; will stop at (end)

View File

@ -0,0 +1,8 @@
2023/10/12-08:42:23.253449 7ffafcff86c0 Recovering log #300
2023/10/12-08:42:23.265283 7ffafcff86c0 Delete type=3 #298
2023/10/12-08:42:23.265373 7ffafcff86c0 Delete type=0 #300
2023/10/12-09:07:20.268061 7ff865e026c0 Level-0 table #305: started
2023/10/12-09:07:20.268126 7ff865e026c0 Level-0 table #305: 0 bytes OK
2023/10/12-09:07:20.276287 7ff865e026c0 Delete type=0 #303
2023/10/12-09:07:20.276521 7ff865e026c0 Manual compaction at level-0 from '!tables!4l60Lxv8cpsyy2Cg' @ 72057594037927935 : 1 .. '!tables.results!tfaYKDZqu7kgZvRG.yvbwKursaixh2dby' @ 0 : 0; will stop at (end)
2023/10/12-09:07:20.276572 7ff865e026c0 Manual compaction at level-1 from '!tables!4l60Lxv8cpsyy2Cg' @ 72057594037927935 : 1 .. '!tables.results!tfaYKDZqu7kgZvRG.yvbwKursaixh2dby' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

View File

View File

@ -0,0 +1 @@
MANIFEST-000268

View File

View File

@ -0,0 +1,8 @@
2023/10/01-20:44:40.701549 7f5806ffd6c0 Recovering log #266
2023/10/01-20:44:40.764544 7f5806ffd6c0 Delete type=3 #264
2023/10/01-20:44:40.764684 7f5806ffd6c0 Delete type=0 #266
2023/10/01-20:59:02.106210 7f58067fc6c0 Level-0 table #271: started
2023/10/01-20:59:02.106249 7f58067fc6c0 Level-0 table #271: 0 bytes OK
2023/10/01-20:59:02.112490 7f58067fc6c0 Delete type=0 #269
2023/10/01-20:59:02.112706 7f58067fc6c0 Manual compaction at level-0 from '!items!7NSF4hTW0QUkYCnZ' @ 72057594037927935 : 1 .. '!items!xobXk8u7SVQ49eP8' @ 0 : 0; will stop at (end)
2023/10/01-20:59:02.112767 7f58067fc6c0 Manual compaction at level-1 from '!items!7NSF4hTW0QUkYCnZ' @ 72057594037927935 : 1 .. '!items!xobXk8u7SVQ49eP8' @ 0 : 0; will stop at (end)

View File

@ -0,0 +1,8 @@
2023/10/01-18:43:22.865435 7f58077fe6c0 Recovering log #262
2023/10/01-18:43:22.924289 7f58077fe6c0 Delete type=3 #260
2023/10/01-18:43:22.924448 7f58077fe6c0 Delete type=0 #262
2023/10/01-18:47:48.407565 7f58067fc6c0 Level-0 table #267: started
2023/10/01-18:47:48.407608 7f58067fc6c0 Level-0 table #267: 0 bytes OK
2023/10/01-18:47:48.446683 7f58067fc6c0 Delete type=0 #265
2023/10/01-18:47:48.524233 7f58067fc6c0 Manual compaction at level-0 from '!items!7NSF4hTW0QUkYCnZ' @ 72057594037927935 : 1 .. '!items!xobXk8u7SVQ49eP8' @ 0 : 0; will stop at (end)
2023/10/01-18:47:48.524299 7f58067fc6c0 Manual compaction at level-1 from '!items!7NSF4hTW0QUkYCnZ' @ 72057594037927935 : 1 .. '!items!xobXk8u7SVQ49eP8' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

View File

View File

@ -0,0 +1 @@
MANIFEST-000268

View File

View File

@ -0,0 +1,8 @@
2023/10/01-20:44:40.768234 7f58077fe6c0 Recovering log #266
2023/10/01-20:44:40.821657 7f58077fe6c0 Delete type=3 #264
2023/10/01-20:44:40.821800 7f58077fe6c0 Delete type=0 #266
2023/10/01-20:59:02.112885 7f58067fc6c0 Level-0 table #271: started
2023/10/01-20:59:02.112924 7f58067fc6c0 Level-0 table #271: 0 bytes OK
2023/10/01-20:59:02.119967 7f58067fc6c0 Delete type=0 #269
2023/10/01-20:59:02.147587 7f58067fc6c0 Manual compaction at level-0 from '!items!0iQg3XJmxAAbFief' @ 72057594037927935 : 1 .. '!items!uwcMzO6u0rnhqLdf' @ 0 : 0; will stop at (end)
2023/10/01-20:59:02.147752 7f58067fc6c0 Manual compaction at level-1 from '!items!0iQg3XJmxAAbFief' @ 72057594037927935 : 1 .. '!items!uwcMzO6u0rnhqLdf' @ 0 : 0; will stop at (end)

View File

@ -0,0 +1,8 @@
2023/10/01-18:43:22.932395 7f5a9cdff6c0 Recovering log #262
2023/10/01-18:43:22.998115 7f5a9cdff6c0 Delete type=3 #260
2023/10/01-18:43:22.998245 7f5a9cdff6c0 Delete type=0 #262
2023/10/01-18:47:48.376668 7f58067fc6c0 Level-0 table #267: started
2023/10/01-18:47:48.376711 7f58067fc6c0 Level-0 table #267: 0 bytes OK
2023/10/01-18:47:48.407379 7f58067fc6c0 Delete type=0 #265
2023/10/01-18:47:48.524212 7f58067fc6c0 Manual compaction at level-0 from '!items!0iQg3XJmxAAbFief' @ 72057594037927935 : 1 .. '!items!uwcMzO6u0rnhqLdf' @ 0 : 0; will stop at (end)
2023/10/01-18:47:48.524283 7f58067fc6c0 Manual compaction at level-1 from '!items!0iQg3XJmxAAbFief' @ 72057594037927935 : 1 .. '!items!uwcMzO6u0rnhqLdf' @ 0 : 0; will stop at (end)

Binary file not shown.

BIN
packs/sort-fr/000005.ldb Normal file

Binary file not shown.

0
packs/sort-fr/000274.log Normal file
View File

1
packs/sort-fr/CURRENT Normal file
View File

@ -0,0 +1 @@
MANIFEST-000272

0
packs/sort-fr/LOCK Normal file
View File

8
packs/sort-fr/LOG Normal file
View File

@ -0,0 +1,8 @@
2023/10/01-20:59:53.930690 7f5a9cdff6c0 Recovering log #270
2023/10/01-20:59:53.941737 7f5a9cdff6c0 Delete type=3 #268
2023/10/01-20:59:53.942093 7f5a9cdff6c0 Delete type=0 #270
2023/10/01-21:01:43.214418 7f58067fc6c0 Level-0 table #275: started
2023/10/01-21:01:43.214458 7f58067fc6c0 Level-0 table #275: 0 bytes OK
2023/10/01-21:01:43.221508 7f58067fc6c0 Delete type=0 #273
2023/10/01-21:01:43.236081 7f58067fc6c0 Manual compaction at level-0 from '!items!2NuLGbLlyHPck2Je' @ 72057594037927935 : 1 .. '!items.effects!VexogjUDXdGAHWmN.kNTwaivtonPJpdY6' @ 0 : 0; will stop at (end)
2023/10/01-21:01:43.236146 7f58067fc6c0 Manual compaction at level-1 from '!items!2NuLGbLlyHPck2Je' @ 72057594037927935 : 1 .. '!items.effects!VexogjUDXdGAHWmN.kNTwaivtonPJpdY6' @ 0 : 0; will stop at (end)

8
packs/sort-fr/LOG.old Normal file
View File

@ -0,0 +1,8 @@
2023/10/01-20:44:40.439485 7f58077fe6c0 Recovering log #266
2023/10/01-20:44:40.500106 7f58077fe6c0 Delete type=3 #264
2023/10/01-20:44:40.500261 7f58077fe6c0 Delete type=0 #266
2023/10/01-20:59:02.063156 7f58067fc6c0 Level-0 table #271: started
2023/10/01-20:59:02.063229 7f58067fc6c0 Level-0 table #271: 0 bytes OK
2023/10/01-20:59:02.069747 7f58067fc6c0 Delete type=0 #269
2023/10/01-20:59:02.084232 7f58067fc6c0 Manual compaction at level-0 from '!items!2NuLGbLlyHPck2Je' @ 72057594037927935 : 1 .. '!items.effects!VexogjUDXdGAHWmN.kNTwaivtonPJpdY6' @ 0 : 0; will stop at (end)
2023/10/01-20:59:02.084332 7f58067fc6c0 Manual compaction at level-1 from '!items!2NuLGbLlyHPck2Je' @ 72057594037927935 : 1 .. '!items.effects!VexogjUDXdGAHWmN.kNTwaivtonPJpdY6' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

View File

View File

@ -0,0 +1 @@
MANIFEST-000306

View File

View File

@ -0,0 +1,8 @@
2023/10/12-12:52:21.457131 7ffafdffa6c0 Recovering log #304
2023/10/12-12:52:21.466846 7ffafdffa6c0 Delete type=3 #302
2023/10/12-12:52:21.466893 7ffafdffa6c0 Delete type=0 #304
2023/10/12-14:21:05.535621 7ff865e026c0 Level-0 table #309: started
2023/10/12-14:21:05.535656 7ff865e026c0 Level-0 table #309: 0 bytes OK
2023/10/12-14:21:05.542859 7ff865e026c0 Delete type=0 #307
2023/10/12-14:21:05.556592 7ff865e026c0 Manual compaction at level-0 from '!journal!056ILNNrLiPq3Gi3' @ 72057594037927935 : 1 .. '!journal!yfZxl4I7XAuUF6r3' @ 0 : 0; will stop at (end)
2023/10/12-14:21:05.556651 7ff865e026c0 Manual compaction at level-1 from '!journal!056ILNNrLiPq3Gi3' @ 72057594037927935 : 1 .. '!journal!yfZxl4I7XAuUF6r3' @ 0 : 0; will stop at (end)

View File

@ -0,0 +1,8 @@
2023/10/12-08:42:23.313383 7ffafcff86c0 Recovering log #300
2023/10/12-08:42:23.325901 7ffafcff86c0 Delete type=3 #298
2023/10/12-08:42:23.326114 7ffafcff86c0 Delete type=0 #300
2023/10/12-09:07:20.290221 7ff865e026c0 Level-0 table #305: started
2023/10/12-09:07:20.290277 7ff865e026c0 Level-0 table #305: 0 bytes OK
2023/10/12-09:07:20.297074 7ff865e026c0 Delete type=0 #303
2023/10/12-09:07:20.303956 7ff865e026c0 Manual compaction at level-0 from '!journal!056ILNNrLiPq3Gi3' @ 72057594037927935 : 1 .. '!journal!yfZxl4I7XAuUF6r3' @ 0 : 0; will stop at (end)
2023/10/12-09:07:20.304050 7ff865e026c0 Manual compaction at level-1 from '!journal!056ILNNrLiPq3Gi3' @ 72057594037927935 : 1 .. '!journal!yfZxl4I7XAuUF6r3' @ 0 : 0; will stop at (end)

Binary file not shown.

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