Compare commits

...

5 Commits

73 changed files with 210 additions and 142 deletions

View File

@ -3798,6 +3798,11 @@
"id": "Bolt (Shadow)",
"name": "Carreau (Ombres)"
},
{
"description": "<p>Vous concentrez la magie en un carreau destructeur. <em>Carreau</em> est un <em>Projectile magique</em> avec Dégât +4.</p>",
"id": "Bolt (Witchcraft)",
"name": "Carreau (Sorcellerie)"
},
{
"description": "<p>Vous effectuez immédiatement une attaque de Souffle, comme si vous aviez dépensé 2 Avantages pour activer le Trait de créature @Compendium[wfrp4e-core.items.uqGxFOEqeurwkAO3]{Souffle}. Souffle est un <em>Projectile magique</em> dont les Dégâts sont égaux à votre Bonus d'Endurance. Le MJ détermine quel type d'attaque de Souffle correspond le mieux à votre Talent Magie des Arcanes.</p>",
"id": "Breath",
@ -3918,6 +3923,11 @@
"id": "Bridge (Shadow)",
"name": "Pont (Ombres)"
},
{
"description": "<p>Vous créez un pont d'énergie magique, d'une longueur et d'une largeur maximales en mètres égales à votre Bonus de Force Mentale. Pour chaque +2 DR, vous pouvez augmenter la longueur ou la largeur d'un nombre de mètres égal à votre Bonus de Force Mentale.</p>",
"id": "Bridge (Witchcraft)",
"name": "Pont (Sorcellerie)"
},
{
"description": "<p>La magie qui afflue dans vos pieds s'assure que les matières organiques sur lesquelles vous marchez ne soient pas endommagées : les brindilles ne cassent pas, l'herbe revient à sa position d'origine, et même les fleurs délicates ne sont pas abîmées. Ceux qui cherchent à utiliser la Compétence @Compendium[wfrp4e-core.items.rt2rGSwFDCDHPh0A] pour vous suivre à travers un terrain rural subissent une pénalité de -30 à leurs Tests.</p>",
"id": "Careful Step",
@ -4323,6 +4333,11 @@
"id": "Dome (Shadow)",
"name": "Dôme (Ombres)"
},
{
"description": "<p>Vous créez un dôme d'énergie magique au-dessus des têtes, bloquant les attaques de l'extérieur. Quiconque se trouve dans la Zone d'Effet gagne le Trait de créature @Compendium[wfrp4e-core.items.Bvd2aZ0gQUXHfCTh]{Protection(+6)} contre les Attaques magiques ou à distances provenant de l'extérieur du dôme. Les personnes à l'intérieur peuvent attaquer des cibles situées à l'extérieur du dôme normalement, et le dôme ne gêne pas le déplacement",
"id": "Dome (Witchcraft)",
"name": "Dôme (Sorcellerie)"
},
{
"description": "<p>Vous tissez un masque et une cape d'<em>Ulgu</em> autour de votre silhouette, adoptant l'apparence d'une autre créature humanoïde avec laquelle vous êtes familier (comme déterminé par le MJ). Votre apparence trompe quiconque ne possède pas le Talent <em>@Compendium[wfrp4e-core.items.OEjUvJKi0xmBwbS2]</em>, bien que certains puissent le remarquer si vos manières sont incorrectes. Ceux possédant ce Talent doivent réussir un Test de <strong>Perception Complexe (-10)</strong> pour remarquer que vous camouflez votre silhouette. Cela ne leur permet pas de voir à travers le Sort. Pour ce faire, ils doivent le dissiper.</p>",
"id": "Doppelganger",
@ -4783,6 +4798,11 @@
"id": "Magic Shield (Shadow)",
"name": "Bouclier magique (Ombres)"
},
{
"description": "<p>Vous vous entourez d'une bande de magie protectrice. Tant que le Sort est actif, ajoutez +(Bonus de Force Mentale) DR quand vous tentez de dissiper un Sort.</p>",
"id": "Magic Shield (Witchcraft)",
"name": "Bouclier magique (Sorcellerie)"
},
{
"description": "<p>Vous focalisez les relents de <em>Dhar</em>, provoquant une brève déchirure dans la réalité. Un Démon Mineur apparaît immédiatement par cette déchirure (référez-vous à la page 335 pour y trouver deux exemples : @Compendium[wfrp4e-core.bestiary.KZkuwdOYmE3nwB2n] et @Compendium[wfrp4e-core.bestiary.8gG2Wim6wAlJWRax]. Un Démon Mineur apparaît immédiatement par cette déchirure. Effectuez un Test Opposé de <strong>Focalisation (Dhar)/Force Mentale</strong> avec le démon. Sur un succès, ce dernier répondra favorablement à un ordre que vous lui donnerez, littéralement, avant de disparaître (en partant du principe qu'il puisse accomplir ce que vous lui avez demandé avant la fin du Sort). Sur un échec, le démon attaque sur le champ.</p>",
"id": "Manifest Lesser Daemon",
@ -5068,6 +5088,11 @@
"id": "Push (Shadow)",
"name": "Poussée (Ombres)"
},
{
"description": "<p>Toutes les créatures situées à une distance en mètres égale à votre Bonus de Force Mentale sont repoussées d'un nombre de mètres égal à votre Bonus de Force Mentale et gagnent l'État <em>@Condition[A Terre]{À Terre}</em>.Si cela les amène à entrer en contact avec un mur ou un autre grand obstacle, elles subissent un nombre de Dégâts égal à la distance parcourue en mètres. Pour chaque +2 DR, vous pouvez repousser les créatures d'un nombre de mètres supplémentaires égal à votre Bonus de Force Mentale.</p>",
"id": "Push (Witchcraft)",
"name": "Poussée (Sorcellerie)"
},
{
"description": "<p>Vous focalisez un important flux de <em>Dhar</em> directement vers le sol, faisant se rassembler et sortir de vieux os. DR+1 Squelettes sortiront ainsi du sol dans la zone d'effet que vous aurez choisie avant la fin du round. Il subissent tous l'État <em>@Condition[A Terre]{À Terre}</em>. Ces morts-vivants sont sous votre contrôle et sont capables d'exécuter les ordres simples que vous leur donnerez. Si vous êtes tué où que vous subissez l'État <em>@Condition[Inconscient]</em>, le Sort s'achève et les morts-vivants s'écroulent. Pour chaque DR+2 que vous obtenez, vous pouvez invoquer DR Squelettes supplémentaires.</p>",
"id": "Raise Dead",

View File

@ -1,5 +1,15 @@
{
"label": "Items (Sea of Claws)",
"folders": {
"Ammunition": "Munitions",
"Careers": "Carrières",
"Criticals": "Critiques",
"Diseases": "Maladies",
"Skills": "Compétences",
"Spells": "Sorts",
"Trappings": "Possessions",
"Weapons": "Armes"
},
"mapping": {
"description": "system.description.value",
"trappings": "system.trappings",
@ -11,6 +21,7 @@
"path": "system.skills",
"converter": "career_skills"
},
"modType": "system.modType.value",
"careergroup": {
"path": "system.careergroup.value",
"converter": "career_careergroup"
@ -78,4 +89,4 @@
"converter": "trapping_qualities_flaws"
}
}
}
}

View File

@ -1,5 +1,15 @@
{
"label": "Items (Up In Arms)",
"folders": {
"Ammunition": "Munitions",
"Careers": "Carrières",
"Criticals": "Critiques",
"Prayers": "Prières",
"Skills": "Compétences",
"Spells": "Sorts",
"Trappings": "Possessions",
"Weapons": "Armes"
},
"mapping": {
"skills": {
"path": "system.skills",

View File

@ -1,5 +1,22 @@
{
"label": "Items (Winds of Magic)",
"folders": {
"Ammunition": "Munitions",
"Armour": "Armures",
"Careers": "Carrières",
"Lore of Beasts": "Domaine des Bêtes",
"Lore of Death": "Domaine de la Mort",
"Lore of Fire": "Domaine du Feu",
"Lore of Heavens": "Domaine des Cieux",
"Lore of Life": "Domaine de la Vie",
"Lore of Light": "Domaine de la Lumière",
"Lore of Metal": "Domaine du Métal",
"Lore of Shadow": "Domaine des Ombres",
"Skills": "Compétences",
"Spells": "Sorts",
"Trappings": "Possessions",
"Weapons": "Armes"
},
"mapping": {
"description": "system.description.value",
"trappings": "system.trappings",

View File

@ -8,7 +8,7 @@
}
],
"url": "https://www.uberwald.me/gitea/public/foundryvtt-wh4-lang-fr-fr",
"version": "8.2.0",
"version": "8.2.2",
"esmodules": [
"modules/babele-register.js",
"modules/addon-register.js",
@ -117,10 +117,10 @@
}
],
"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-8.2.0.zip",
"download": "https://www.uberwald.me/gitea/public/foundryvtt-wh4-lang-fr-fr/archive/foundryvtt-wh4-lang-fr-8.2.2.zip",
"id": "wh4-fr-translation",
"compatibility": {
"minimum": "12",
"minimum": "11",
"verified": "12"
},
"relationships": {

View File

@ -257,7 +257,7 @@ const __check_fix_wrong_modules = (chatFlag, patchFinished) => {
});
if (game.user.isGM && patchFinished) {
ChatMessage.create({
content: "<div>Les modules WFRP4E ont été <strong>patchés avec succés</strong>. Vous pouvez y aller et que <strong>Shallya vous garde !</strong></div><div>Derniers changements : correction pour acteurs de RNHD et ajout des traductions des items de Aventures à Ubesreik 1 (François Cheminade)</div></ul>",
content: "<div>Les modules WFRP4E ont été <strong>patchés avec succés</strong>. Vous pouvez y aller et que <strong>Shallya vous garde !</strong></div><div>Derniers changements : Support wfrp4 v8.X, import de personnage OK</div></ul>",
user: game.user.id,
whisper: ChatMessage.getWhisperRecipients("GM")
});

View File

@ -364,7 +364,7 @@ Hooks.once('init', () => {
let s1 = res[1].trim(); // No () in talents table
translItem = game.babele.translate(compData.metadata.id, { name: s1 }, true)
let translw = translItem?.name || undefined
console.log("Search talent name:", compData.metadata.id, s1, translw);
//console.log("Search talent name:", compData.metadata.id, s1, translw);
if (translw && translw != s1) {
transl = translw + " (" + subword + ")";
}

View File

@ -1,18 +1,8 @@
/************************************************************************************/
// Some internal test strings
let strfr = `LA TERREUR DE LA TEUFEL, TROLL DE RIVIÈRE RUSÉ
M
CC CT
F
E
I
Ag Dex Int FM Soc B
4
40 15
55
45
20
15 15 30 20 5 38
M CC CT F E I Ag Dex Int FM Soc B
4 40 15 55 45 20 15 15 30 20 5 38
Traits : Amphibie, Arme +9, Armure (2), Dur à Cuire, Insensible
à la douleur, Morsure +8, Régénération, Taille (Grande), Vision
Nocturne, Vomissement`
@ -52,7 +42,7 @@ 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 },
@ -246,7 +236,7 @@ function __patchName(name) {
/************************************************************************************/
export default async function statParserFR(statString, type = "npc") {
let model = foundry.utils.duplicate(game.system.model.Actor[type]);
let model = foundry.utils.duplicate(game.model.Actor[type]);
// Patch wront/strange carac value before processing
statString = statString.replace(/ /g, " 0")
@ -308,14 +298,14 @@ export default async function statParserFR(statString, type = "npc") {
let resCarac = XRegExp.exec(statString, reg2) // resr contains all carac found
// Setup carac
//console.log("CARAC", resCarac)
console.log("CARAC", resCarac)
if (resCarac["Agi"]) resCarac["Ag"] = resCarac["Agi"] // Auto patch
model.details.move.value = Number(resCarac["m"])
for (let key in model.characteristics) {
if (resCarac[key] === '-') resCarac[key] = 0
model.characteristics[key].initial = Number(resCarac[key])
}
//console.log("CARAC", model.characteristics);
console.log("CARAC", model.characteristics);
// Search position of skills/talents/...
for (let def of sectionData) {
@ -424,11 +414,11 @@ 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: "armour", system: game.system.model.Item.armor })
itemFound = new ItemWfrp4e({ img: "systems/wfrp4e/icons/blank.png", name: name, type: "armour", system: game.model.Item.armour })
} 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 })
itemFound = new ItemWfrp4e({ img: "systems/wfrp4e/icons/blank.png", name: name, type: "weapon", system: game.model.Item.weapon })
} else {
itemFound = new ItemWfrp4e({ img: "systems/wfrp4e/icons/blank.png", name: name, type: "trapping", system: game.system.model.Item.trapping })
itemFound = new ItemWfrp4e({ img: "systems/wfrp4e/icons/blank.png", name: name, type: "trapping", system: game.model.Item.trapping })
itemFound.system.trappingType.value = "misc"
if (name.toLowerCase().includes("cloth")) {
itemFound.system.trappingType.value = "clothingAccessories"
@ -457,7 +447,7 @@ export default async function statParserFR(statString, type = "npc") {
itemFound = await __findItem(name, "spell");
}
if (!itemFound && name) { // Auto-create the spell name
itemFound = new ItemWfrp4e({ img: "systems/wfrp4e/icons/blank.png", name: name + "(To be checked/completed)", type: "spell", system: game.system.model.Item.spell })
itemFound = new ItemWfrp4e({ img: "systems/wfrp4e/icons/blank.png", name: name + "(To be checked/completed)", type: "spell", system: game.model.Item.spell })
itemFound = itemFound.toObject();
}
} else if (def.name == 'mutation') {
@ -507,7 +497,7 @@ export default async function statParserFR(statString, type = "npc") {
}
//DEBUG : console.log("EFFECTS", effects)
return { name, type, data: model, items: globalItemList, effects }
return { name, type, system: model, items: globalItemList, effects }
}
// If the carac string has not been found

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
MANIFEST-000856
MANIFEST-000877

View File

@ -1,7 +1,7 @@
2024/10/18-18:13:47.044529 7f84f82006c0 Recovering log #854
2024/10/18-18:13:47.054801 7f84f82006c0 Delete type=3 #852
2024/10/18-18:13:47.054895 7f84f82006c0 Delete type=0 #854
2024/10/18-18:21:20.233601 7f84f64006c0 Level-0 table #859: started
2024/10/18-18:21:20.233644 7f84f64006c0 Level-0 table #859: 0 bytes OK
2024/10/18-18:21:20.240532 7f84f64006c0 Delete type=0 #857
2024/10/18-18:21:20.255441 7f84f64006c0 Manual compaction at level-0 from '!journal!3IgmiprzLB6Lwenc' @ 72057594037927935 : 1 .. '!journal.pages!suuYN87Al1ZZWtQQ.jhgNnhWhrkOpKs1B' @ 0 : 0; will stop at (end)
2024/10/25-11:13:31.262428 7f1b816006c0 Recovering log #874
2024/10/25-11:13:31.272351 7f1b816006c0 Delete type=3 #872
2024/10/25-11:13:31.272485 7f1b816006c0 Delete type=0 #874
2024/10/25-11:14:12.961212 7f1b7e4006c0 Level-0 table #880: started
2024/10/25-11:14:12.961246 7f1b7e4006c0 Level-0 table #880: 0 bytes OK
2024/10/25-11:14:12.968824 7f1b7e4006c0 Delete type=0 #878
2024/10/25-11:14:12.982105 7f1b7e4006c0 Manual compaction at level-0 from '!journal!3IgmiprzLB6Lwenc' @ 72057594037927935 : 1 .. '!journal.pages!suuYN87Al1ZZWtQQ.jhgNnhWhrkOpKs1B' @ 0 : 0; will stop at (end)

View File

@ -1,7 +1,11 @@
2024/10/13-10:15:10.833255 7f4ae56006c0 Recovering log #850
2024/10/13-10:15:10.843913 7f4ae56006c0 Delete type=3 #848
2024/10/13-10:15:10.844060 7f4ae56006c0 Delete type=0 #850
2024/10/13-10:17:29.386405 7f4ae28006c0 Level-0 table #855: started
2024/10/13-10:17:29.386456 7f4ae28006c0 Level-0 table #855: 0 bytes OK
2024/10/13-10:17:29.392764 7f4ae28006c0 Delete type=0 #853
2024/10/13-10:17:29.392939 7f4ae28006c0 Manual compaction at level-0 from '!journal!3IgmiprzLB6Lwenc' @ 72057594037927935 : 1 .. '!journal.pages!suuYN87Al1ZZWtQQ.jhgNnhWhrkOpKs1B' @ 0 : 0; will stop at (end)
2024/10/25-11:02:14.613097 7f1b802006c0 Delete type=3 #1
2024/10/25-11:06:53.515546 7f1b7e4006c0 Level-0 table #875: started
2024/10/25-11:06:53.515583 7f1b7e4006c0 Level-0 table #875: 0 bytes OK
2024/10/25-11:06:53.632155 7f1b7e4006c0 Delete type=0 #873
2024/10/25-11:06:53.632384 7f1b7e4006c0 Manual compaction at level-0 from '!journal!3IgmiprzLB6Lwenc' @ 72057594037927935 : 1 .. '!journal.pages!suuYN87Al1ZZWtQQ.jhgNnhWhrkOpKs1B' @ 0 : 0; will stop at '!journal.pages!suuYN87Al1ZZWtQQ.jhgNnhWhrkOpKs1B' @ 16 : 1
2024/10/25-11:06:53.632399 7f1b7e4006c0 Compacting 1@0 + 0@1 files
2024/10/25-11:06:53.682364 7f1b7e4006c0 Generated table #876@0: 13 keys, 49612 bytes
2024/10/25-11:06:53.682409 7f1b7e4006c0 Compacted 1@0 + 0@1 files => 49612 bytes
2024/10/25-11:06:53.759685 7f1b7e4006c0 compacted to: files[ 0 1 0 0 0 0 0 ]
2024/10/25-11:06:53.759831 7f1b7e4006c0 Delete type=2 #741
2024/10/25-11:06:53.760171 7f1b7e4006c0 Manual compaction at level-0 from '!journal.pages!suuYN87Al1ZZWtQQ.jhgNnhWhrkOpKs1B' @ 16 : 1 .. '!journal.pages!suuYN87Al1ZZWtQQ.jhgNnhWhrkOpKs1B' @ 0 : 0; will stop at (end)

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000858
MANIFEST-000879

View File

@ -1,7 +1,7 @@
2024/10/18-18:13:47.059680 7f84f8c006c0 Recovering log #856
2024/10/18-18:13:47.069621 7f84f8c006c0 Delete type=3 #854
2024/10/18-18:13:47.069738 7f84f8c006c0 Delete type=0 #856
2024/10/18-18:21:20.247704 7f84f64006c0 Level-0 table #861: started
2024/10/18-18:21:20.247743 7f84f64006c0 Level-0 table #861: 0 bytes OK
2024/10/18-18:21:20.255126 7f84f64006c0 Delete type=0 #859
2024/10/18-18:21:20.255506 7f84f64006c0 Manual compaction at level-0 from '!folders!3uquYH73ttCdoH0I' @ 72057594037927935 : 1 .. '!items!ylFhk7mGZOnAJTUT' @ 0 : 0; will stop at (end)
2024/10/25-11:13:31.274940 7f1b80c006c0 Recovering log #876
2024/10/25-11:13:31.284797 7f1b80c006c0 Delete type=3 #874
2024/10/25-11:13:31.284855 7f1b80c006c0 Delete type=0 #876
2024/10/25-11:14:13.007098 7f1b7e4006c0 Level-0 table #882: started
2024/10/25-11:14:13.007123 7f1b7e4006c0 Level-0 table #882: 0 bytes OK
2024/10/25-11:14:13.013389 7f1b7e4006c0 Delete type=0 #880
2024/10/25-11:14:13.013596 7f1b7e4006c0 Manual compaction at level-0 from '!folders!3uquYH73ttCdoH0I' @ 72057594037927935 : 1 .. '!items!ylFhk7mGZOnAJTUT' @ 0 : 0; will stop at (end)

View File

@ -1,7 +1,11 @@
2024/10/13-10:15:10.848652 7f4ae4c006c0 Recovering log #852
2024/10/13-10:15:10.859932 7f4ae4c006c0 Delete type=3 #850
2024/10/13-10:15:10.860057 7f4ae4c006c0 Delete type=0 #852
2024/10/13-10:17:29.394222 7f4ae28006c0 Level-0 table #857: started
2024/10/13-10:17:29.394285 7f4ae28006c0 Level-0 table #857: 0 bytes OK
2024/10/13-10:17:29.400389 7f4ae28006c0 Delete type=0 #855
2024/10/13-10:17:29.400639 7f4ae28006c0 Manual compaction at level-0 from '!folders!3uquYH73ttCdoH0I' @ 72057594037927935 : 1 .. '!items!ylFhk7mGZOnAJTUT' @ 0 : 0; will stop at (end)
2024/10/25-11:02:14.635105 7f1b816006c0 Delete type=3 #1
2024/10/25-11:06:53.761405 7f1b7e4006c0 Level-0 table #877: started
2024/10/25-11:06:53.761445 7f1b7e4006c0 Level-0 table #877: 0 bytes OK
2024/10/25-11:06:53.848549 7f1b7e4006c0 Delete type=0 #875
2024/10/25-11:06:53.848875 7f1b7e4006c0 Manual compaction at level-0 from '!folders!3uquYH73ttCdoH0I' @ 72057594037927935 : 1 .. '!items!ylFhk7mGZOnAJTUT' @ 0 : 0; will stop at '!items!ylFhk7mGZOnAJTUT' @ 319 : 1
2024/10/25-11:06:53.848896 7f1b7e4006c0 Compacting 1@0 + 0@1 files
2024/10/25-11:06:53.909256 7f1b7e4006c0 Generated table #878@0: 103 keys, 115139 bytes
2024/10/25-11:06:53.909290 7f1b7e4006c0 Compacted 1@0 + 0@1 files => 115139 bytes
2024/10/25-11:06:53.987532 7f1b7e4006c0 compacted to: files[ 0 1 0 0 0 0 0 ]
2024/10/25-11:06:53.987683 7f1b7e4006c0 Delete type=2 #743
2024/10/25-11:06:53.987868 7f1b7e4006c0 Manual compaction at level-0 from '!items!ylFhk7mGZOnAJTUT' @ 319 : 1 .. '!items!ylFhk7mGZOnAJTUT' @ 0 : 0; will stop at (end)

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000856
MANIFEST-000877

View File

@ -1,7 +1,7 @@
2024/10/18-18:13:47.092813 7f84f8c006c0 Recovering log #854
2024/10/18-18:13:47.103058 7f84f8c006c0 Delete type=3 #852
2024/10/18-18:13:47.103152 7f84f8c006c0 Delete type=0 #854
2024/10/18-18:21:20.255597 7f84f64006c0 Level-0 table #859: started
2024/10/18-18:21:20.255672 7f84f64006c0 Level-0 table #859: 0 bytes OK
2024/10/18-18:21:20.263027 7f84f64006c0 Delete type=0 #857
2024/10/18-18:21:20.291487 7f84f64006c0 Manual compaction at level-0 from '!journal!cZtNgayIw2QFhC9u' @ 72057594037927935 : 1 .. '!journal.pages!cZtNgayIw2QFhC9u.ts265H1XkisLgdow' @ 0 : 0; will stop at (end)
2024/10/25-11:13:31.299705 7f1b80c006c0 Recovering log #874
2024/10/25-11:13:31.310265 7f1b80c006c0 Delete type=3 #872
2024/10/25-11:13:31.310327 7f1b80c006c0 Delete type=0 #874
2024/10/25-11:14:12.992713 7f1b7e4006c0 Level-0 table #880: started
2024/10/25-11:14:12.992746 7f1b7e4006c0 Level-0 table #880: 0 bytes OK
2024/10/25-11:14:12.999857 7f1b7e4006c0 Delete type=0 #878
2024/10/25-11:14:13.013573 7f1b7e4006c0 Manual compaction at level-0 from '!journal!cZtNgayIw2QFhC9u' @ 72057594037927935 : 1 .. '!journal.pages!cZtNgayIw2QFhC9u.ts265H1XkisLgdow' @ 0 : 0; will stop at (end)

View File

@ -1,7 +1,11 @@
2024/10/13-10:15:10.881019 7f4ae38006c0 Recovering log #850
2024/10/13-10:15:10.891271 7f4ae38006c0 Delete type=3 #848
2024/10/13-10:15:10.891371 7f4ae38006c0 Delete type=0 #850
2024/10/13-10:17:29.409477 7f4ae28006c0 Level-0 table #855: started
2024/10/13-10:17:29.409555 7f4ae28006c0 Level-0 table #855: 0 bytes OK
2024/10/13-10:17:29.416471 7f4ae28006c0 Delete type=0 #853
2024/10/13-10:17:29.416760 7f4ae28006c0 Manual compaction at level-0 from '!journal!cZtNgayIw2QFhC9u' @ 72057594037927935 : 1 .. '!journal.pages!cZtNgayIw2QFhC9u.ts265H1XkisLgdow' @ 0 : 0; will stop at (end)
2024/10/25-11:02:14.680878 7f1b80c006c0 Delete type=3 #1
2024/10/25-11:06:54.489608 7f1b7e4006c0 Level-0 table #875: started
2024/10/25-11:06:54.489645 7f1b7e4006c0 Level-0 table #875: 0 bytes OK
2024/10/25-11:06:54.679020 7f1b7e4006c0 Delete type=0 #873
2024/10/25-11:06:54.679237 7f1b7e4006c0 Manual compaction at level-0 from '!journal!cZtNgayIw2QFhC9u' @ 72057594037927935 : 1 .. '!journal.pages!cZtNgayIw2QFhC9u.ts265H1XkisLgdow' @ 0 : 0; will stop at '!journal.pages!cZtNgayIw2QFhC9u.ts265H1XkisLgdow' @ 2 : 1
2024/10/25-11:06:54.679254 7f1b7e4006c0 Compacting 1@0 + 0@1 files
2024/10/25-11:06:54.778037 7f1b7e4006c0 Generated table #876@0: 3 keys, 19297 bytes
2024/10/25-11:06:54.778079 7f1b7e4006c0 Compacted 1@0 + 0@1 files => 19297 bytes
2024/10/25-11:06:54.859309 7f1b7e4006c0 compacted to: files[ 0 1 0 0 0 0 0 ]
2024/10/25-11:06:54.859494 7f1b7e4006c0 Delete type=2 #741
2024/10/25-11:06:54.859833 7f1b7e4006c0 Manual compaction at level-0 from '!journal.pages!cZtNgayIw2QFhC9u.ts265H1XkisLgdow' @ 2 : 1 .. '!journal.pages!cZtNgayIw2QFhC9u.ts265H1XkisLgdow' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

View File

View File

@ -1 +1 @@
MANIFEST-000856
MANIFEST-000877

View File

@ -1,7 +1,7 @@
2024/10/18-18:13:47.028103 7f84f8c006c0 Recovering log #854
2024/10/18-18:13:47.039373 7f84f8c006c0 Delete type=3 #852
2024/10/18-18:13:47.039514 7f84f8c006c0 Delete type=0 #854
2024/10/18-18:21:20.226682 7f84f64006c0 Level-0 table #859: started
2024/10/18-18:21:20.226742 7f84f64006c0 Level-0 table #859: 0 bytes OK
2024/10/18-18:21:20.233411 7f84f64006c0 Delete type=0 #857
2024/10/18-18:21:20.255407 7f84f64006c0 Manual compaction at level-0 from '!journal!50u8VAjdmovyr0hx' @ 72057594037927935 : 1 .. '!journal.pages!yzw9I0r3hCK7PJnz.sPNCYj2nR3Cp3jHd' @ 0 : 0; will stop at (end)
2024/10/25-11:13:31.249309 7f1b80c006c0 Recovering log #874
2024/10/25-11:13:31.259752 7f1b80c006c0 Delete type=3 #872
2024/10/25-11:13:31.259834 7f1b80c006c0 Delete type=0 #874
2024/10/25-11:14:12.968938 7f1b7e4006c0 Level-0 table #880: started
2024/10/25-11:14:12.968964 7f1b7e4006c0 Level-0 table #880: 0 bytes OK
2024/10/25-11:14:12.975187 7f1b7e4006c0 Delete type=0 #878
2024/10/25-11:14:12.982122 7f1b7e4006c0 Manual compaction at level-0 from '!journal!50u8VAjdmovyr0hx' @ 72057594037927935 : 1 .. '!journal.pages!yzw9I0r3hCK7PJnz.sPNCYj2nR3Cp3jHd' @ 0 : 0; will stop at (end)

View File

@ -1,7 +1,11 @@
2024/10/13-10:15:10.817002 7f4ae38006c0 Recovering log #850
2024/10/13-10:15:10.828770 7f4ae38006c0 Delete type=3 #848
2024/10/13-10:15:10.828963 7f4ae38006c0 Delete type=0 #850
2024/10/13-10:17:29.378580 7f4ae28006c0 Level-0 table #855: started
2024/10/13-10:17:29.378612 7f4ae28006c0 Level-0 table #855: 0 bytes OK
2024/10/13-10:17:29.384956 7f4ae28006c0 Delete type=0 #853
2024/10/13-10:17:29.385130 7f4ae28006c0 Manual compaction at level-0 from '!journal!50u8VAjdmovyr0hx' @ 72057594037927935 : 1 .. '!journal.pages!yzw9I0r3hCK7PJnz.sPNCYj2nR3Cp3jHd' @ 0 : 0; will stop at (end)
2024/10/25-11:02:14.590539 7f1b80c006c0 Delete type=3 #1
2024/10/25-11:06:52.669208 7f1b7e4006c0 Level-0 table #875: started
2024/10/25-11:06:52.669239 7f1b7e4006c0 Level-0 table #875: 0 bytes OK
2024/10/25-11:06:52.960331 7f1b7e4006c0 Delete type=0 #873
2024/10/25-11:06:52.960532 7f1b7e4006c0 Manual compaction at level-0 from '!journal!50u8VAjdmovyr0hx' @ 72057594037927935 : 1 .. '!journal.pages!yzw9I0r3hCK7PJnz.sPNCYj2nR3Cp3jHd' @ 0 : 0; will stop at '!journal.pages!yzw9I0r3hCK7PJnz.sPNCYj2nR3Cp3jHd' @ 68 : 1
2024/10/25-11:06:52.960542 7f1b7e4006c0 Compacting 1@0 + 0@1 files
2024/10/25-11:06:53.057622 7f1b7e4006c0 Generated table #876@0: 46 keys, 59885 bytes
2024/10/25-11:06:53.057653 7f1b7e4006c0 Compacted 1@0 + 0@1 files => 59885 bytes
2024/10/25-11:06:53.513947 7f1b7e4006c0 compacted to: files[ 0 1 0 0 0 0 0 ]
2024/10/25-11:06:53.514078 7f1b7e4006c0 Delete type=2 #741
2024/10/25-11:06:53.514263 7f1b7e4006c0 Manual compaction at level-0 from '!journal.pages!yzw9I0r3hCK7PJnz.sPNCYj2nR3Cp3jHd' @ 68 : 1 .. '!journal.pages!yzw9I0r3hCK7PJnz.sPNCYj2nR3Cp3jHd' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

View File

View File

View File

@ -1 +1 @@
MANIFEST-000856
MANIFEST-000877

View File

@ -1,7 +1,7 @@
2024/10/18-18:13:47.009196 7f84f82006c0 Recovering log #854
2024/10/18-18:13:47.019931 7f84f82006c0 Delete type=3 #852
2024/10/18-18:13:47.020097 7f84f82006c0 Delete type=0 #854
2024/10/18-18:21:20.240695 7f84f64006c0 Level-0 table #859: started
2024/10/18-18:21:20.240733 7f84f64006c0 Level-0 table #859: 0 bytes OK
2024/10/18-18:21:20.247510 7f84f64006c0 Delete type=0 #857
2024/10/18-18:21:20.255477 7f84f64006c0 Manual compaction at level-0 from '!tables!4l60Lxv8cpsyy2Cg' @ 72057594037927935 : 1 .. '!tables.results!tfaYKDZqu7kgZvRG.yvbwKursaixh2dby' @ 0 : 0; will stop at (end)
2024/10/25-11:13:31.235665 7f1b816006c0 Recovering log #874
2024/10/25-11:13:31.246253 7f1b816006c0 Delete type=3 #872
2024/10/25-11:13:31.246323 7f1b816006c0 Delete type=0 #874
2024/10/25-11:14:12.975313 7f1b7e4006c0 Level-0 table #880: started
2024/10/25-11:14:12.975344 7f1b7e4006c0 Level-0 table #880: 0 bytes OK
2024/10/25-11:14:12.981863 7f1b7e4006c0 Delete type=0 #878
2024/10/25-11:14:12.982140 7f1b7e4006c0 Manual compaction at level-0 from '!tables!4l60Lxv8cpsyy2Cg' @ 72057594037927935 : 1 .. '!tables.results!tfaYKDZqu7kgZvRG.yvbwKursaixh2dby' @ 0 : 0; will stop at (end)

View File

@ -1,7 +1,11 @@
2024/10/13-10:15:10.801247 7f4ae42006c0 Recovering log #850
2024/10/13-10:15:10.812259 7f4ae42006c0 Delete type=3 #848
2024/10/13-10:15:10.812486 7f4ae42006c0 Delete type=0 #850
2024/10/13-10:17:29.369815 7f4ae28006c0 Level-0 table #855: started
2024/10/13-10:17:29.369929 7f4ae28006c0 Level-0 table #855: 0 bytes OK
2024/10/13-10:17:29.377441 7f4ae28006c0 Delete type=0 #853
2024/10/13-10:17:29.377632 7f4ae28006c0 Manual compaction at level-0 from '!tables!4l60Lxv8cpsyy2Cg' @ 72057594037927935 : 1 .. '!tables.results!tfaYKDZqu7kgZvRG.yvbwKursaixh2dby' @ 0 : 0; will stop at (end)
2024/10/25-11:02:14.565982 7f1b802006c0 Delete type=3 #1
2024/10/25-11:06:52.438654 7f1b7e4006c0 Level-0 table #875: started
2024/10/25-11:06:52.438743 7f1b7e4006c0 Level-0 table #875: 0 bytes OK
2024/10/25-11:06:52.529229 7f1b7e4006c0 Delete type=0 #873
2024/10/25-11:06:52.529553 7f1b7e4006c0 Manual compaction at level-0 from '!tables!4l60Lxv8cpsyy2Cg' @ 72057594037927935 : 1 .. '!tables.results!tfaYKDZqu7kgZvRG.yvbwKursaixh2dby' @ 0 : 0; will stop at '!tables.results!tfaYKDZqu7kgZvRG.yvbwKursaixh2dby' @ 461 : 1
2024/10/25-11:06:52.529576 7f1b7e4006c0 Compacting 1@0 + 0@1 files
2024/10/25-11:06:52.585202 7f1b7e4006c0 Generated table #876@0: 234 keys, 20231 bytes
2024/10/25-11:06:52.585250 7f1b7e4006c0 Compacted 1@0 + 0@1 files => 20231 bytes
2024/10/25-11:06:52.667658 7f1b7e4006c0 compacted to: files[ 0 1 0 0 0 0 0 ]
2024/10/25-11:06:52.667838 7f1b7e4006c0 Delete type=2 #741
2024/10/25-11:06:52.668122 7f1b7e4006c0 Manual compaction at level-0 from '!tables.results!tfaYKDZqu7kgZvRG.yvbwKursaixh2dby' @ 461 : 1 .. '!tables.results!tfaYKDZqu7kgZvRG.yvbwKursaixh2dby' @ 0 : 0; will stop at (end)

Binary file not shown.

View File

View File

View File

@ -1 +1 @@
MANIFEST-000499
MANIFEST-000520

View File

@ -1,8 +1,7 @@
2024/10/18-18:13:47.076254 7f84f82006c0 Recovering log #497
2024/10/18-18:13:47.087782 7f84f82006c0 Delete type=3 #495
2024/10/18-18:13:47.087917 7f84f82006c0 Delete type=0 #497
2024/10/18-18:21:20.283730 7f84f64006c0 Level-0 table #502: started
2024/10/18-18:21:20.283779 7f84f64006c0 Level-0 table #502: 0 bytes OK
2024/10/18-18:21:20.291168 7f84f64006c0 Delete type=0 #500
2024/10/18-18:21:20.377603 7f84f64006c0 Manual compaction at level-0 from '!journal!056ILNNrLiPq3Gi3' @ 72057594037927935 : 1 .. '!journal.pages!yfZxl4I7XAuUF6r3.apXmOlZRmGT4GreB' @ 0 : 0; will stop at (end)
2024/10/18-18:21:20.395543 7f84f64006c0 Manual compaction at level-1 from '!journal!056ILNNrLiPq3Gi3' @ 72057594037927935 : 1 .. '!journal.pages!yfZxl4I7XAuUF6r3.apXmOlZRmGT4GreB' @ 0 : 0; will stop at (end)
2024/10/25-11:13:31.288238 7f1b816006c0 Recovering log #517
2024/10/25-11:13:31.297752 7f1b816006c0 Delete type=3 #515
2024/10/25-11:13:31.297826 7f1b816006c0 Delete type=0 #517
2024/10/25-11:14:12.999976 7f1b7e4006c0 Level-0 table #523: started
2024/10/25-11:14:13.000000 7f1b7e4006c0 Level-0 table #523: 0 bytes OK
2024/10/25-11:14:13.006975 7f1b7e4006c0 Delete type=0 #521
2024/10/25-11:14:13.013584 7f1b7e4006c0 Manual compaction at level-0 from '!journal!056ILNNrLiPq3Gi3' @ 72057594037927935 : 1 .. '!journal.pages!yfZxl4I7XAuUF6r3.apXmOlZRmGT4GreB' @ 0 : 0; will stop at (end)

View File

@ -1,8 +1,11 @@
2024/10/13-10:15:10.864885 7f4ae42006c0 Recovering log #493
2024/10/13-10:15:10.876950 7f4ae42006c0 Delete type=3 #491
2024/10/13-10:15:10.877043 7f4ae42006c0 Delete type=0 #493
2024/10/13-10:17:29.401759 7f4ae28006c0 Level-0 table #498: started
2024/10/13-10:17:29.401816 7f4ae28006c0 Level-0 table #498: 0 bytes OK
2024/10/13-10:17:29.407953 7f4ae28006c0 Delete type=0 #496
2024/10/13-10:17:29.408135 7f4ae28006c0 Manual compaction at level-0 from '!journal!056ILNNrLiPq3Gi3' @ 72057594037927935 : 1 .. '!journal.pages!yfZxl4I7XAuUF6r3.apXmOlZRmGT4GreB' @ 0 : 0; will stop at (end)
2024/10/13-10:17:29.408173 7f4ae28006c0 Manual compaction at level-1 from '!journal!056ILNNrLiPq3Gi3' @ 72057594037927935 : 1 .. '!journal.pages!yfZxl4I7XAuUF6r3.apXmOlZRmGT4GreB' @ 0 : 0; will stop at (end)
2024/10/25-11:02:14.656712 7f1b802006c0 Delete type=3 #1
2024/10/25-11:06:53.988857 7f1b7e4006c0 Level-0 table #518: started
2024/10/25-11:06:53.988906 7f1b7e4006c0 Level-0 table #518: 0 bytes OK
2024/10/25-11:06:54.197076 7f1b7e4006c0 Delete type=0 #516
2024/10/25-11:06:54.197236 7f1b7e4006c0 Manual compaction at level-0 from '!journal!056ILNNrLiPq3Gi3' @ 72057594037927935 : 1 .. '!journal.pages!yfZxl4I7XAuUF6r3.apXmOlZRmGT4GreB' @ 0 : 0; will stop at '!journal.pages!yfZxl4I7XAuUF6r3.apXmOlZRmGT4GreB' @ 35 : 1
2024/10/25-11:06:54.197245 7f1b7e4006c0 Compacting 1@0 + 0@1 files
2024/10/25-11:06:54.299700 7f1b7e4006c0 Generated table #519@0: 24 keys, 67583 bytes
2024/10/25-11:06:54.299719 7f1b7e4006c0 Compacted 1@0 + 0@1 files => 67583 bytes
2024/10/25-11:06:54.488386 7f1b7e4006c0 compacted to: files[ 0 1 0 0 0 0 0 ]
2024/10/25-11:06:54.488518 7f1b7e4006c0 Delete type=2 #384
2024/10/25-11:06:54.488671 7f1b7e4006c0 Manual compaction at level-0 from '!journal.pages!yfZxl4I7XAuUF6r3.apXmOlZRmGT4GreB' @ 35 : 1 .. '!journal.pages!yfZxl4I7XAuUF6r3.apXmOlZRmGT4GreB' @ 0 : 0; will stop at (end)

Binary file not shown.

View File

@ -1,4 +1,4 @@
let spells = await game.wfrp4e.utility.findAll("spell", "Loading Spells")
let spells = await warhammer.utility.findAllItems("spell", "Loading Spells")
let text = (await game.wfrp4e.tables.rollTable("random-caster", {hideDSN: true})).result

View File

@ -7,7 +7,7 @@ let god = await ValueDialog.create("Enter a Deity", "Blessed")
if (god)
{
let prayers = await game.wfrp4e.utility.findAll("prayer", "Loading Prayers")
let prayers = await warhammer.utility.findAllItems("prayer", "Loading Prayers")
let blessings = prayers.filter(p => p.system.god.value.split(",").map(i => i.trim().toLowerCase()).includes(god.toLowerCase()) && p.system.type.value == "blessing")
if (blessings.length)
{

View File

@ -1,4 +1,4 @@
let mutations = await game.wfrp4e.utility.findAll("mutation", "Loading Mutations")
let mutations = await warhammer.utility.findAllItems("mutation", "Loading Mutations")
let roll = Math.floor(CONFIG.Dice.randomUniform() * mutations.length);
this.actor.createEmbeddedDocuments("Item", [mutations[roll]]);
this.script.scriptNotification(`Added ${mutations[roll].name}`)

View File

@ -1,4 +1,4 @@
let spells = await game.wfrp4e.utility.findAll("spell", "Loading Spells")
let spells = await warhammer.utility.findAllItems("spell", "Loading Spells")
let lore = (await game.wfrp4e.tables.rollTable("random-caster", {hideDSN: true})).text
this.script.scriptNotification(lore)

View File

@ -1,4 +1,4 @@
let spells = await game.wfrp4e.utility.findAll("spell", "Loading Spells", true);
let spells = await warhammer.utility.findAllItems("spell", "Loading Spells", true);
let choice = await ItemDialog.create(spells, 1);

View File

@ -1,4 +1,4 @@
let careers = await game.wfrp4e.utility.findAll("career", "", true);
let careers = await warhammer.utility.findAllItems("career", "", true);
careers.forEach(c => {
if (!c.id)
{

View File

@ -1,4 +1,4 @@
let spells = await game.wfrp4e.utility.findAll("spell", "Loading Spells");
let spells = await warhammer.utility.findAllItems("spell", "Loading Spells");
spells = spells.filter(s => ["fire", "heavens", "beasts", "shadow", "light", "life", "death", "metal"].includes(s.system.lore.value)).sort((a, b) => a.system.lore.value > b.system.lore.value ? 1 : -1)
let choice = await ItemDialog.create(spells, 1, "Choose Spell");

View File

@ -1,4 +1,4 @@
let spells = await game.wfrp4e.utility.findAll("spell", "Loading Spells");
let spells = await warhammer.utility.findAllItems("spell", "Loading Spells");
spells = spells.filter(s => ["slaanesh"].includes(s.system.lore.value))
let choice = await ItemDialog.create(spells, 1, "Choose Spell");

View File

@ -1,7 +0,0 @@
[Dolphin]
SortOrder=1
SortRole=modificationtime
Timestamp=2024,10,8,20,1,53.617
Version=4
ViewMode=1
VisibleRoles=Details_text,Details_size,Details_modificationtime,Details_creationtime,CustomizedDetails

View File

@ -1,4 +1,4 @@
let spells = await game.wfrp4e.utility.findAll("spell", "Chargement des sorts")
let spells = await warhammer.utility.findAllItems("spell", "Chargement des sorts")
let text = (await game.wfrp4e.tables.rollTable("random-caster", {hideDSN: true})).result

View File

@ -1,4 +1,4 @@
let mutations = await game.wfrp4e.utility.findAll("mutation", "Chargement des mutations")
let mutations = await warhammer.utility.findAllItems("mutation", "Chargement des mutations")
let roll = Math.floor(CONFIG.Dice.randomUniform() * mutations.length);
this.actor.createEmbeddedDocuments("Item", [mutations[roll]]);
this.script.scriptNotification(`Ajout ${mutations[roll].name}`)

View File

@ -1,4 +1,4 @@
let spells = await game.wfrp4e.utility.findAll("spell", "Chargement des sorts")
let spells = await warhammer.utility.findAllItems("spell", "Chargement des sorts")
let lore = (await game.wfrp4e.tables.rollTable("random-caster", {hideDSN: true})).text
this.script.scriptNotification(lore)

View File

@ -1,4 +1,4 @@
let spells = await game.wfrp4e.utility.findAll("spell", "Chargement des sorts", true);
let spells = await warhammer.utility.findAllItems("spell", "Chargement des sorts", true);
let choice = await ItemDialog.create(spells, 1);

View File

@ -1,4 +1,4 @@
let careers = await game.wfrp4e.utility.findAll("career", "", true);
let careers = await warhammer.utility.findAllItems("career", "", true);
careers.forEach(c => {
if (!c.id)
{

View File

@ -1,4 +1,4 @@
let spells = await game.wfrp4e.utility.findAll("spell", "Chargement des sorts");
let spells = await warhammer.utility.findAllItems("spell", "Chargement des sorts");
spells = spells.filter(s => ["feu", "cieux", "bêtes", "ombres", "lumière", "vie", "mort", "métal"].includes(s.system.lore.value)).sort((a, b) => a.system.lore.value > b.system.lore.value ? 1 : -1)
let choice = await ItemDialog.create(spells, 1, "Choisir un sort");

View File

@ -1,4 +1,4 @@
let spells = await game.wfrp4e.utility.findAll("spell", "Chargement des sorts");
let spells = await warhammer.utility.findAllItems("spell", "Chargement des sorts");
spells = spells.filter(s => ["slaanesh"].includes(s.system.lore.value))
let choice = await ItemDialog.create(spells, 1, "Choisir un sort");