Compare commits
12 Commits
foundryvtt
...
foundryvtt
Author | SHA1 | Date | |
---|---|---|---|
bd113b6ef3 | |||
db1bf4e23a | |||
4cf52343c6 | |||
83822ade7f | |||
e79474ab8d | |||
8d5fb68182 | |||
54612628b8 | |||
3f861ed86c | |||
a15260bff7 | |||
541e2836ca | |||
73133b0abf | |||
7ceaa73233 |
@ -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
|
||||
|
||||
|
@ -41,7 +41,7 @@ Hooks.once('init', () => {
|
||||
}
|
||||
|
||||
/*---------------------------------------------------------------------*/
|
||||
game.wfrp4e.entities.ItemWfrp4e.prototype.computeSpellDamage = function (formula, isMagicMissile) {
|
||||
/* DEPRECATED : game.wfrp4e.entities.ItemWfrp4e.prototype.computeSpellDamage = function (formula, isMagicMissile) {
|
||||
try {
|
||||
|
||||
formula = formula.toLowerCase();
|
||||
@ -85,10 +85,10 @@ Hooks.once('init', () => {
|
||||
catch (e) {
|
||||
throw ui.notifications.error("Error: could not parse spell damage. See console for details")
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
/*---------------------------------------------------------------------*/
|
||||
game.wfrp4e.entities.ItemWfrp4e.prototype.computeSpellPrayerFormula = function (type, aoe = false, formulaOverride) {
|
||||
/* DEPRECATED : game.wfrp4e.entities.ItemWfrp4e.prototype.computeSpellPrayerFormula = function (type, aoe = false, formulaOverride) {
|
||||
let formula = formulaOverride || this[type]?.value
|
||||
if (Number.isNumeric(formula))
|
||||
return formula
|
||||
@ -134,7 +134,7 @@ Hooks.once('init', () => {
|
||||
|
||||
//console.log("calculateSpellAttributes -> " + formula );
|
||||
return formula.capitalize();
|
||||
}
|
||||
}*/
|
||||
|
||||
/*---------------------------------------------------------------------*/
|
||||
// Converters area
|
||||
@ -544,6 +544,7 @@ Hooks.once('init', () => {
|
||||
var translw = value;
|
||||
var re = /(.*) Bonus (\w*)/i;
|
||||
var res = re.exec(value);
|
||||
console.log("RES1:", res);
|
||||
var unit = "";
|
||||
if (res) { // Test "<charac> Bonus <unit>" pattern
|
||||
if (res[1]) { // We have char name, then convert it
|
||||
@ -570,7 +571,12 @@ Hooks.once('init', () => {
|
||||
if (unit == "days") unit = "jours";
|
||||
if (unit == "yard") unit = "mètre";
|
||||
if (unit == "yards") unit = "mètres";
|
||||
translw += " " + unit;
|
||||
if (unit == "Bonus") { // Another weird management
|
||||
translw = "Bonus de " + translw;
|
||||
} else {
|
||||
translw += " " + unit;
|
||||
}
|
||||
console.log("Spell duration/range/damage/target :", value, translw);
|
||||
return translw;
|
||||
}
|
||||
});
|
||||
|
@ -7580,7 +7580,7 @@
|
||||
"effects": {
|
||||
"label0": "Frénésie"
|
||||
},
|
||||
"id": "Frenzy",
|
||||
"id": "DrNUTPeodEgpWTnT",
|
||||
"name": "Frénésie"
|
||||
},
|
||||
{
|
||||
@ -7760,7 +7760,7 @@
|
||||
},
|
||||
{
|
||||
"description": "<p>Le souffle de la créature est une arme puissante. Pendant son tour, au prix de 2 Avantages, elle peut activer son Souffle en tant qu'Attaque gratuite. Choisissez 1 cible qu'elle peut voir, située à une distance en mètres égale à son Bonus d'Endurance + 20. Tous les personnages situés à une distance en mètres égale à son Bonus de Force de cette cible sont touchés, ainsi que tous les personnages entre la créature et la cible.</p>\n<p>Effectuez un Test opposé de <strong>CT/Esquive</strong> contre toutes les cibles affectées (un lancer pour chaque cible). Toutes les cibles qui échouent subissent un montant de Dégâts d'Arme égal à son <em>Indice</em>.</p>\n<p>De plus, si le trait indique l'un des <em>Types</em> suivants entre parenthèses, appliquez également les règles correspondantes :</p><ul><li><strong>Froid :</strong> Les cibles gagnent l'État @Condition[Assommé] pour chaque tranche de 5 Blessures subies (minimum 1);</li><li><strong>Corrosif :</strong> Toutes les Armures et Armes portées par les cibles subissent 1 Dégât;</li><li><strong>Feu :</strong> Toutes les Blessures infligées ignorent les PA. Les cibles gagnent l'Etat @Condition[En flammes]{Enflammé};</li><li><strong>Électricité :</strong> Toutes les Blessures infligées ignorent les PA. Les cibles gagnent l'État @Condition[Assommé];</li><li><strong>Poison :</strong> Toutes les Blessures infligées ignorent les PA. Les cibles gagnent l'Etat @Condition[Empoisonné];</li><li><strong>Fumée :</strong> La zone se remplit de fumée, bloquant les Lignes de vue pendant un nombre de Rounds égal au Bonus d'Endurance de la créature.</li></ul></p>\n<p>La créature est immunisée à votre propre Souffle. Il s'agit d'une Attaque Magique.</p>",
|
||||
"id": "Breath",
|
||||
"id": "uqGxFOEqeurwkAO3",
|
||||
"name": "Souffle"
|
||||
},
|
||||
{
|
||||
@ -7866,7 +7866,7 @@
|
||||
},
|
||||
{
|
||||
"description": "Le sang de la créature est corrosif. Chaque fois qu'elle subit des Blessures dont le sang éclabousse, tous ceux qui sont <em>Engagés</em> avec elle reçoivent ldl0 Points de Blessure modifiés par le Bonus d'Endurance et les PA, avec un minimum de 1.",
|
||||
"id": "Corrosive Blood",
|
||||
"id": "M5QSWOYt2Rbv2yxW",
|
||||
"name": "Sang corrosif",
|
||||
"effects": [
|
||||
{
|
||||
@ -7908,7 +7908,7 @@
|
||||
},
|
||||
{
|
||||
"description": "<p>La créature peut voir dans l'obscurité comme en plein jour.</p>",
|
||||
"id": "Dark Vision",
|
||||
"id": "JQa5DLnTs2SEzRrc",
|
||||
"name": "Infravision"
|
||||
},
|
||||
{
|
||||
@ -7923,7 +7923,7 @@
|
||||
},
|
||||
{
|
||||
"description": "<p>La créature perturbe ou désoriente ses ennemis : peut-être qu’elle dégage un musc soporifique ou une odeur nauséabonde, ou peut-être que son apparence est horrifiante ou étrange. Toute personne se trouvant à un nombre de mètres égal à son Bonus d’Endurance obtient une pénalité de -20 à tous ses Tests. Les créatures touchées ne peuvent subir cette pénalité qu’une seule fois, peu importe le nombre d’ennemis Perturbants.</p>",
|
||||
"id": "Distracting",
|
||||
"id": "MVI0lXcg6vvtooAF",
|
||||
"name": "Perturbant",
|
||||
"effects": [
|
||||
{
|
||||
@ -7992,12 +7992,12 @@
|
||||
},
|
||||
{
|
||||
"description": "<p>Quand la créature se Déplace, elle peut voler jusqu’à <em>Indice</em> mètres. Elle ignore alors tous les terrains, obstacles et personnages qui s’interposent. À la fin de son Mouvement, elle décide si elle atterrit ou si elle continue de voler. Elle peut utiliser ce Mouvement pour Charger.<p>\n</p>Si elle commence son tour en volant, elle doit choisir le Vol pour son Mouvement. Si elle ne peut pas voler, le MJ décide à quelle distance elle tombe.<p>\n<p>Lorsqu’elle est une cible en vol, il faut mesurer la distance horizontale normalement, puis augmenter la distance de 1. Ainsi, une Longue Distance devient une Distance Extrême, et une créature volante à une Distance Extrême ne peut pas être touchée.</p>\n<p>Quand elle vole, elle subit une pénalité de -20 à toutes les tentatives de combat à distance, alors qu’elle virevolte dans le ciel.</p>",
|
||||
"id": "Flight",
|
||||
"id": "EO05HX7jql0g605A",
|
||||
"name": "Vol"
|
||||
},
|
||||
{
|
||||
"description": "<p style=\"text-align: justify:\">La créature peut, par le biais d'un Test de Force Mentale, se mettre dans un état psychologique dans lequel elle va se surmotiver, mordre son bouclier, etc. Sur un succès, elle entre en <em>Frénésie</em>. </p>\n<p style=\"text-align: justify:\">Tant qu'elle est en <em>Frénésie</em>, elle est immunisée à tous les autres Traits Psychologiques, et sous aucun prétexte elle ne fuira, ni ne battra en retraite. À l'inverse, elle doit se déplacer à son maximum en direction de l'ennemi le plus proche dans sa Ligne de Vue pour l'attaquer. La seule Action possible est un Test de <strong>Capacité de Combat</strong> ou un Test d'<strong>Athlétisme</strong> pour atteindre son ennemi le plus rapidement possible. De plus, elle peut effectuer un Test de <strong>Capacité de Combat</strong> gratuit chaque round car elle se lance à corps perdu dans son attaque. Enfin, elle gagne un Bonus de Force de + 1 grâce à sa férocité.\n<p style=\"text-align: justify:\"> Elle reste en <em>Frénésie</em> jusqu'à ce que tous ses ennemis dans sa Ligne de Vue soient neutralisés ou qu'elle gagne l'État <em><a class='condition-chat'>Assommé</a></em> ou <em><a class='condition-chat'>Inconscient</a></em>. Dès que sa <em>Frénésie</em> s'achève, elle gagne l'État <em><a class='condition-chat'>Extenué</a></em>.</p>",
|
||||
"id": "Frenzy",
|
||||
"id": "yRhhOlt18COq4e1q",
|
||||
"name": "Frénésie",
|
||||
"effects": [
|
||||
{
|
||||
@ -8056,7 +8056,7 @@
|
||||
},
|
||||
{
|
||||
"description": "<p>La créature peut encaisser plus de Dégâts que la plupart des autres. Augmentez ses Points de Blessure d'un nombre égal à son Bonus d'Endurance (appliqué avant tout modificateur de Taille).</p>",
|
||||
"id": "Hardy",
|
||||
"id": "HbrwGhUl0ZXz4kLA",
|
||||
"name": "Endurant",
|
||||
"effects": [
|
||||
{
|
||||
@ -8083,7 +8083,7 @@
|
||||
},
|
||||
{
|
||||
"description": "<p style=\"text-align: justify:\">La créature hait profondément la Cible, qui représente en général un groupe de personnes ou de créatures, comme les « hochlanders », les « pieuvres des tourbières » ou les « esclavagistes ». Elle n'interagit jamais avec des personnes qu'elle hait à ce point. Lorsqu'elle rencontre ceux qui vous provoquent la <em>Haine</em>, elle doit effectuer un Test de Psychologie. Sur un échec, elle ressent de la <em>Haine</em>. À la fin de chaque round qui suivra, elle pourra tenter un autre Test de Psychologie afin de mettre fin à son État de <em>Haine</em>. Si elle ne le fait pas, les effets de la <em>Haine</em> se dissiperont d'eux-mêmes lorsque tous les membres du groupe concerné dans sa Ligne de Vue seront morts ou auront disparu, ou qu'elle gagne l'État @Condition[Inconscient]. Tant qu'elle ressent de la <em>Haine</em>, elle doit faire tout ce qui est en son pouvoir pour détruire le groupe haï, et ce, le plus rapidement et de manière la plus violente possible. Elle gagne + 1 DR à tous ses Tests de Combat effectués contre le groupe en question et est immunisée à @Compendium[wfrp4e-core.items.Ib2YQYChktDFN93y]{Peur} et @Compendium[wfrp4e-core.items.I0yPc4PH5erWJLmu]{Intimidation} (mais pas @UUID[Compendium.wfrp4e-core.items.meMkLEwdJIDLxM0B]{Terreur}) causés par ceux de ce groupe.</p>",
|
||||
"id": "Hatred",
|
||||
"id": "aE3pyW20Orvdjzj0",
|
||||
"name": "Haine"
|
||||
},
|
||||
{
|
||||
@ -8172,7 +8172,7 @@
|
||||
},
|
||||
{
|
||||
"description": "<p>La Magie n’affecte pas la créature autant que les autres. Le DR de tous les Sorts l'affectant est réduit du nombre indiqué. Ainsi, Résistance à la Magie 2 réduit le DR de 2.</p>",
|
||||
"id": "Magic Resistance",
|
||||
"id": "yrkI7ATjqLPDTFmZ",
|
||||
"name": "Résistance à la Magie",
|
||||
"effects": [
|
||||
{
|
||||
@ -8219,7 +8219,7 @@
|
||||
},
|
||||
{
|
||||
"description": "<p>La créature possède le Talent Vision nocturne. Elle peut voir parfaitement dans les ténèbres naturelles. En présumant qu'il y ait une faible source de lumière (telle que la lumière des étoiles, le clair de lune, la bioluminescence), elle peut voir clairement jusqu'à 20 mètres par Niveau de Vision nocturne. De plus, elle peut étendre la distance d'illumination effective de toutes les sources de lumière de 20 mètres par niveau de Vision nocturne.</p>",
|
||||
"id": "Night Vision",
|
||||
"id": "FmHDbCOy3pH8yKhm",
|
||||
"name": "Vision Nocturne"
|
||||
},
|
||||
{
|
||||
@ -8259,7 +8259,7 @@
|
||||
},
|
||||
{
|
||||
"description": "<p>La créature est capable de guérir à une vitesse extraordinaire, et même de faire repousser ses membres amputés.<p></p>Au début de chaque round, s'il reste plus de 0 Point de Blessure à la créature, elle régénère 1d10 Points de Blessure. Si elle est à 0 Point de Blessure, lancez 1d10. Sur un résultat de 8+, elle régénère 1 seul Point de Blessure. Sur un résultat de 10, elle régénère également une Blessure Critique, et ne souffre plus des pénalités et États associés.<p></p>Les Blessures et Blessures Critiques infligées par le Feu ne peuvent pas être régénérées, et doivent être notées séparément.</p>",
|
||||
"id": "Regenerate",
|
||||
"id": "SfUUdOGjdYpr3KSR",
|
||||
"name": "Régénération",
|
||||
"effects": [
|
||||
{
|
||||
@ -8536,7 +8536,7 @@
|
||||
"transfer": true
|
||||
}
|
||||
],
|
||||
"id": "Tracker",
|
||||
"id": "ClOlztW6hH8rslbp",
|
||||
"name": "Pisteur"
|
||||
},
|
||||
{
|
||||
@ -8620,7 +8620,7 @@
|
||||
},
|
||||
{
|
||||
"description": "<p>Parce qu'elles sont magiques, bénéficient d'un talisman particulier ou sont simplement chanceuses, certaines créatures semblent éviter les coups. Lancer 1d10 après chaque coup reçu. En cas de résultat supérieur ou égal à <em>Indice</em>, le coup est ignoré même s’il s’agit d’un Critique.</p>",
|
||||
"id": "Ward",
|
||||
"id": "Bvd2aZ0gQUXHfCTh",
|
||||
"name": "Protection"
|
||||
},
|
||||
{
|
||||
@ -9404,7 +9404,7 @@
|
||||
{
|
||||
"description": "<p>Vous avez voué votre douleur au service de votre Dieu. Chaque jour, vous devez passer une demi-cloche (une demi-heure) à prier en continuant à vous infliger un nombre de Blessures égal à votre Niveau de Flagellant. Jusqu’à votre prochain repos, si vous possédez le Talent @Compendium[wfrp4e-core.items.hXcfygzujgyMN1uI], vous pouvez entrer en <em>Frénésie</em> immédiatement sans effectuer de Test.<p>Le Talent @Compendium[wfrp4e-core.items.hXcfygzujgyMN1uI] est ajouté à la liste des Talents de n’importe laquelle de vos Carrière. Si vous ne réussissez pas à vous flageller un jour donné, ou si vous permettez à votre chair meurtrie de guérir, vous ne pouvez dépenser aucune Résilience et aucune Détermination jusqu’à une nouvelle flagellation. </p>",
|
||||
"effects": [],
|
||||
"id": "Flagellant",
|
||||
"id": "Gs10qhA4CDmZyb1g",
|
||||
"name": "Flagellant",
|
||||
"tests": "Tout Test pour résister aux Puissances de la Ruine"
|
||||
},
|
||||
@ -9449,7 +9449,7 @@
|
||||
"tests": ""
|
||||
},
|
||||
{
|
||||
"description": "<p>Vous pouvez entrer en @Compendium[wfrp4e-corepsychologies.DrNUTPeodEgpWTnT].</p>",
|
||||
"description": "<p>Vous pouvez entrer en @Compendium[wfrp4e-core.items.DrNUTPeodEgpWTnT].</p>",
|
||||
"effects": [
|
||||
{
|
||||
"_id": "y1pfxqA1jLh5Ywca",
|
||||
@ -10992,7 +10992,7 @@
|
||||
{
|
||||
"description": "<p>Vous êtes doué pour repérer et utiliser des pièges. Vous pouvez effectuer un Test de Perception pour en repérer automatiquement, sans avoir à prévenir le MJ de votre intention ; le MJ peut préférer effectuer ces Tests secrètement, à votre place.</p>",
|
||||
"effects": [],
|
||||
"id": "Trapper",
|
||||
"id": "a7v422EZcOUUC20X",
|
||||
"name": "Trappeur",
|
||||
"tests": "Tests de Perception pour repérer des pièges, Piégeage"
|
||||
},
|
||||
@ -26240,4 +26240,4 @@
|
||||
"name": "Zélote"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
23
compendium/wfrp4e-starter-set.tables.json
Normal file
23
compendium/wfrp4e-starter-set.tables.json
Normal file
@ -0,0 +1,23 @@
|
||||
{
|
||||
"label": "Tables (Starter Set)",
|
||||
"mapping": {
|
||||
"results": {
|
||||
"path": "results",
|
||||
"converter": "resultConverter"
|
||||
}
|
||||
},
|
||||
"entries": {
|
||||
"3m4LPj58xoNju80B": {
|
||||
"name": "Blessures Critiques - Tête (Starter Set)"
|
||||
},
|
||||
"BlDLji1LeqHOVj8r": {
|
||||
"name": "Blessures Critiques - Jambe (Starter Set)"
|
||||
},
|
||||
"yYfGtudjckO3bubF": {
|
||||
"name": "Blessures Critiques - Bras (Starter Set)"
|
||||
},
|
||||
"yvzv7xxQuxX7N16b": {
|
||||
"name": "Blessures Critiques - Corps (Starter Set)"
|
||||
}
|
||||
}
|
||||
}
|
23
compendium/wfrp4e-up-in-arms.tables.json
Normal file
23
compendium/wfrp4e-up-in-arms.tables.json
Normal file
@ -0,0 +1,23 @@
|
||||
{
|
||||
"label": "Tables (Up In Arms)",
|
||||
"mapping": {
|
||||
"results": {
|
||||
"path": "results",
|
||||
"converter": "resultConverter"
|
||||
}
|
||||
},
|
||||
"entries": {
|
||||
"Head Critical Wounds (Up In Arms)": {
|
||||
"name": "Head Critical Wounds (Up In Arms)"
|
||||
},
|
||||
"Leg Critical Wounds (Up In Arms)": {
|
||||
"name": "Leg Critical Wounds (Up In Arms)"
|
||||
},
|
||||
"Arm Critical Wounds (Up In Arms)": {
|
||||
"name": "Arm Critical Wounds (Up In Arms)"
|
||||
},
|
||||
"Body Critical Wounds (Up In Arms)": {
|
||||
"name": "Body Critical Wounds (Up In Arms)"
|
||||
}
|
||||
}
|
||||
}
|
@ -8,7 +8,7 @@
|
||||
}
|
||||
],
|
||||
"url": "https://www.uberwald.me/gitea/public/foundryvtt-wh4-lang-fr-fr",
|
||||
"version": "7.0.14",
|
||||
"version": "7.0.19",
|
||||
"esmodules": [
|
||||
"babele-register.js",
|
||||
"addon-register.js",
|
||||
@ -111,14 +111,15 @@
|
||||
"aides-de-jeu-fr",
|
||||
"dons-de-rhya",
|
||||
"plats-dauberges"
|
||||
]
|
||||
],
|
||||
"folders": []
|
||||
}
|
||||
],
|
||||
"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.14.zip",
|
||||
"download": "https://www.uberwald.me/gitea/public/foundryvtt-wh4-lang-fr-fr/archive/foundryvtt-wh4-lang-fr-7.0.20.zip",
|
||||
"id": "wh4-fr-translation",
|
||||
"compatibility": {
|
||||
"minimum": "10",
|
||||
"minimum": "11",
|
||||
"verified": "11"
|
||||
},
|
||||
"relationships": {
|
||||
|
@ -176,6 +176,22 @@ export class WH4FRPatchConfig {
|
||||
game.wfrp4e.config.species["welf"] = "Elfe Sylvain";
|
||||
}
|
||||
|
||||
if (game.wfrp4e.config.charastericticsBonus) {
|
||||
game.wfrp4e.config.charastericticsBonus =
|
||||
{
|
||||
"ws": "Bonus de Capacité de Combat",
|
||||
"bs": "Bonus de Capacité de Tir",
|
||||
"s": "Bonus de Force",
|
||||
"t": "Bonus d'Endurance",
|
||||
"i": "Bonus d'Initiative",
|
||||
"ag": "Bonus d'Agilité",
|
||||
"dex": "Bonus de Dexterité",
|
||||
"int": "Bonus d'Intelligence",
|
||||
"wp": "Bonus de Force Mentale",
|
||||
"fel": "Bonus de Sociabilité"
|
||||
}
|
||||
}
|
||||
|
||||
if (game.wfrp4e.config.classTrappings) {
|
||||
for(const c of Object.keys(game.wfrp4e.config.classTrappings)) {
|
||||
game.wfrp4e.config.classTrappings[game.i18n.localize(c)] = game.wfrp4e.config.classTrappings[c];
|
||||
|
@ -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 }
|
||||
}
|
||||
|
@ -1 +1 @@
|
||||
MANIFEST-000284
|
||||
MANIFEST-000318
|
||||
|
@ -1,3 +1,8 @@
|
||||
2023/10/03-07:03:02.743995 7f9ff2ffd6c0 Recovering log #282
|
||||
2023/10/03-07:03:02.753386 7f9ff2ffd6c0 Delete type=3 #280
|
||||
2023/10/03-07:03:02.753446 7f9ff2ffd6c0 Delete type=0 #282
|
||||
2023/10/19-11:08:46.953443 7f81077fe6c0 Recovering log #316
|
||||
2023/10/19-11:08:46.964774 7f81077fe6c0 Delete type=3 #314
|
||||
2023/10/19-11:08:46.964901 7f81077fe6c0 Delete type=0 #316
|
||||
2023/10/19-11:10:20.709636 7f7e677006c0 Level-0 table #321: started
|
||||
2023/10/19-11:10:20.709685 7f7e677006c0 Level-0 table #321: 0 bytes OK
|
||||
2023/10/19-11:10:20.715704 7f7e677006c0 Delete type=0 #319
|
||||
2023/10/19-11:10:20.722403 7f7e677006c0 Manual compaction at level-0 from '!journal!3IgmiprzLB6Lwenc' @ 72057594037927935 : 1 .. '!journal!suuYN87Al1ZZWtQQ' @ 0 : 0; will stop at (end)
|
||||
2023/10/19-11:10:20.722544 7f7e677006c0 Manual compaction at level-1 from '!journal!3IgmiprzLB6Lwenc' @ 72057594037927935 : 1 .. '!journal!suuYN87Al1ZZWtQQ' @ 0 : 0; will stop at (end)
|
||||
|
@ -1,8 +1,8 @@
|
||||
2023/10/01-21:10:38.974988 7f58077fe6c0 Recovering log #278
|
||||
2023/10/01-21:10:38.985805 7f58077fe6c0 Delete type=3 #276
|
||||
2023/10/01-21:10:38.985946 7f58077fe6c0 Delete type=0 #278
|
||||
2023/10/01-21:13:13.383766 7f58067fc6c0 Level-0 table #283: started
|
||||
2023/10/01-21:13:13.383822 7f58067fc6c0 Level-0 table #283: 0 bytes OK
|
||||
2023/10/01-21:13:13.390830 7f58067fc6c0 Delete type=0 #281
|
||||
2023/10/01-21:13:13.405858 7f58067fc6c0 Manual compaction at level-0 from '!journal!3IgmiprzLB6Lwenc' @ 72057594037927935 : 1 .. '!journal!suuYN87Al1ZZWtQQ' @ 0 : 0; will stop at (end)
|
||||
2023/10/01-21:13:13.405935 7f58067fc6c0 Manual compaction at level-1 from '!journal!3IgmiprzLB6Lwenc' @ 72057594037927935 : 1 .. '!journal!suuYN87Al1ZZWtQQ' @ 0 : 0; will stop at (end)
|
||||
2023/10/13-16:28:21.057111 7f4c89ffb6c0 Recovering log #312
|
||||
2023/10/13-16:28:21.068010 7f4c89ffb6c0 Delete type=3 #310
|
||||
2023/10/13-16:28:21.068066 7f4c89ffb6c0 Delete type=0 #312
|
||||
2023/10/14-11:19:49.010183 7f49ebbff6c0 Level-0 table #317: started
|
||||
2023/10/14-11:19:49.010233 7f49ebbff6c0 Level-0 table #317: 0 bytes OK
|
||||
2023/10/14-11:19:49.016647 7f49ebbff6c0 Delete type=0 #315
|
||||
2023/10/14-11:19:49.036780 7f49ebbff6c0 Manual compaction at level-0 from '!journal!3IgmiprzLB6Lwenc' @ 72057594037927935 : 1 .. '!journal!suuYN87Al1ZZWtQQ' @ 0 : 0; will stop at (end)
|
||||
2023/10/14-11:19:49.036835 7f49ebbff6c0 Manual compaction at level-1 from '!journal!3IgmiprzLB6Lwenc' @ 72057594037927935 : 1 .. '!journal!suuYN87Al1ZZWtQQ' @ 0 : 0; will stop at (end)
|
||||
|
Binary file not shown.
@ -1 +1 @@
|
||||
MANIFEST-000285
|
||||
MANIFEST-000319
|
||||
|
@ -1,3 +1,8 @@
|
||||
2023/10/03-07:03:02.756816 7f9ff3fff6c0 Recovering log #283
|
||||
2023/10/03-07:03:02.768055 7f9ff3fff6c0 Delete type=3 #281
|
||||
2023/10/03-07:03:02.768112 7f9ff3fff6c0 Delete type=0 #283
|
||||
2023/10/19-11:08:46.968605 7f8106ffd6c0 Recovering log #317
|
||||
2023/10/19-11:08:46.979104 7f8106ffd6c0 Delete type=3 #315
|
||||
2023/10/19-11:08:46.979193 7f8106ffd6c0 Delete type=0 #317
|
||||
2023/10/19-11:10:20.695436 7f7e677006c0 Level-0 table #322: started
|
||||
2023/10/19-11:10:20.695463 7f7e677006c0 Level-0 table #322: 0 bytes OK
|
||||
2023/10/19-11:10:20.701565 7f7e677006c0 Delete type=0 #320
|
||||
2023/10/19-11:10:20.709345 7f7e677006c0 Manual compaction at level-0 from '!folders!3uquYH73ttCdoH0I' @ 72057594037927935 : 1 .. '!items!ylFhk7mGZOnAJTUT' @ 0 : 0; will stop at (end)
|
||||
2023/10/19-11:10:20.709376 7f7e677006c0 Manual compaction at level-1 from '!folders!3uquYH73ttCdoH0I' @ 72057594037927935 : 1 .. '!items!ylFhk7mGZOnAJTUT' @ 0 : 0; will stop at (end)
|
||||
|
@ -1,8 +1,8 @@
|
||||
2023/10/01-21:10:38.988544 7f5a9cdff6c0 Recovering log #279
|
||||
2023/10/01-21:10:38.998072 7f5a9cdff6c0 Delete type=3 #277
|
||||
2023/10/01-21:10:38.998191 7f5a9cdff6c0 Delete type=0 #279
|
||||
2023/10/01-21:13:13.376689 7f58067fc6c0 Level-0 table #284: started
|
||||
2023/10/01-21:13:13.376746 7f58067fc6c0 Level-0 table #284: 0 bytes OK
|
||||
2023/10/01-21:13:13.383338 7f58067fc6c0 Delete type=0 #282
|
||||
2023/10/01-21:13:13.383578 7f58067fc6c0 Manual compaction at level-0 from '!folders!3uquYH73ttCdoH0I' @ 72057594037927935 : 1 .. '!items!ylFhk7mGZOnAJTUT' @ 0 : 0; will stop at (end)
|
||||
2023/10/01-21:13:13.383644 7f58067fc6c0 Manual compaction at level-1 from '!folders!3uquYH73ttCdoH0I' @ 72057594037927935 : 1 .. '!items!ylFhk7mGZOnAJTUT' @ 0 : 0; will stop at (end)
|
||||
2023/10/13-16:28:21.070662 7f4c88ff96c0 Recovering log #313
|
||||
2023/10/13-16:28:21.084243 7f4c88ff96c0 Delete type=3 #311
|
||||
2023/10/13-16:28:21.084383 7f4c88ff96c0 Delete type=0 #313
|
||||
2023/10/14-11:19:49.030249 7f49ebbff6c0 Level-0 table #318: started
|
||||
2023/10/14-11:19:49.030295 7f49ebbff6c0 Level-0 table #318: 0 bytes OK
|
||||
2023/10/14-11:19:49.036636 7f49ebbff6c0 Delete type=0 #316
|
||||
2023/10/14-11:19:49.036823 7f49ebbff6c0 Manual compaction at level-0 from '!folders!3uquYH73ttCdoH0I' @ 72057594037927935 : 1 .. '!items!ylFhk7mGZOnAJTUT' @ 0 : 0; will stop at (end)
|
||||
2023/10/14-11:19:49.036870 7f49ebbff6c0 Manual compaction at level-1 from '!folders!3uquYH73ttCdoH0I' @ 72057594037927935 : 1 .. '!items!ylFhk7mGZOnAJTUT' @ 0 : 0; will stop at (end)
|
||||
|
Binary file not shown.
@ -1 +1 @@
|
||||
MANIFEST-000284
|
||||
MANIFEST-000318
|
||||
|
@ -1,3 +1,8 @@
|
||||
2023/10/03-07:03:02.785355 7f9ff37fe6c0 Recovering log #282
|
||||
2023/10/03-07:03:02.795364 7f9ff37fe6c0 Delete type=3 #280
|
||||
2023/10/03-07:03:02.795447 7f9ff37fe6c0 Delete type=0 #282
|
||||
2023/10/19-11:08:46.995155 7f8105ffb6c0 Recovering log #316
|
||||
2023/10/19-11:08:47.005388 7f8105ffb6c0 Delete type=3 #314
|
||||
2023/10/19-11:08:47.005442 7f8105ffb6c0 Delete type=0 #316
|
||||
2023/10/19-11:10:20.715823 7f7e677006c0 Level-0 table #321: started
|
||||
2023/10/19-11:10:20.715852 7f7e677006c0 Level-0 table #321: 0 bytes OK
|
||||
2023/10/19-11:10:20.722283 7f7e677006c0 Delete type=0 #319
|
||||
2023/10/19-11:10:20.722516 7f7e677006c0 Manual compaction at level-0 from '!journal!cZtNgayIw2QFhC9u' @ 72057594037927935 : 1 .. '!journal!cZtNgayIw2QFhC9u' @ 0 : 0; will stop at (end)
|
||||
2023/10/19-11:10:20.722536 7f7e677006c0 Manual compaction at level-1 from '!journal!cZtNgayIw2QFhC9u' @ 72057594037927935 : 1 .. '!journal!cZtNgayIw2QFhC9u' @ 0 : 0; will stop at (end)
|
||||
|
@ -1,8 +1,8 @@
|
||||
2023/10/01-21:10:39.014833 7f5806ffd6c0 Recovering log #278
|
||||
2023/10/01-21:10:39.025762 7f5806ffd6c0 Delete type=3 #276
|
||||
2023/10/01-21:10:39.025839 7f5806ffd6c0 Delete type=0 #278
|
||||
2023/10/01-21:13:13.397373 7f58067fc6c0 Level-0 table #283: started
|
||||
2023/10/01-21:13:13.397569 7f58067fc6c0 Level-0 table #283: 0 bytes OK
|
||||
2023/10/01-21:13:13.405604 7f58067fc6c0 Delete type=0 #281
|
||||
2023/10/01-21:13:13.405915 7f58067fc6c0 Manual compaction at level-0 from '!journal!cZtNgayIw2QFhC9u' @ 72057594037927935 : 1 .. '!journal!cZtNgayIw2QFhC9u' @ 0 : 0; will stop at (end)
|
||||
2023/10/01-21:13:13.405972 7f58067fc6c0 Manual compaction at level-1 from '!journal!cZtNgayIw2QFhC9u' @ 72057594037927935 : 1 .. '!journal!cZtNgayIw2QFhC9u' @ 0 : 0; will stop at (end)
|
||||
2023/10/13-16:28:21.103262 7f4c897fa6c0 Recovering log #312
|
||||
2023/10/13-16:28:21.121031 7f4c897fa6c0 Delete type=3 #310
|
||||
2023/10/13-16:28:21.121082 7f4c897fa6c0 Delete type=0 #312
|
||||
2023/10/14-11:19:49.037115 7f49ebbff6c0 Level-0 table #317: started
|
||||
2023/10/14-11:19:49.037157 7f49ebbff6c0 Level-0 table #317: 0 bytes OK
|
||||
2023/10/14-11:19:49.044674 7f49ebbff6c0 Delete type=0 #315
|
||||
2023/10/14-11:19:49.044861 7f49ebbff6c0 Manual compaction at level-0 from '!journal!cZtNgayIw2QFhC9u' @ 72057594037927935 : 1 .. '!journal!cZtNgayIw2QFhC9u' @ 0 : 0; will stop at (end)
|
||||
2023/10/14-11:19:49.044895 7f49ebbff6c0 Manual compaction at level-1 from '!journal!cZtNgayIw2QFhC9u' @ 72057594037927935 : 1 .. '!journal!cZtNgayIw2QFhC9u' @ 0 : 0; will stop at (end)
|
||||
|
Binary file not shown.
@ -1 +1 @@
|
||||
MANIFEST-000284
|
||||
MANIFEST-000318
|
||||
|
@ -1,3 +1,8 @@
|
||||
2023/10/03-07:03:02.730668 7f9ff37fe6c0 Recovering log #282
|
||||
2023/10/03-07:03:02.741008 7f9ff37fe6c0 Delete type=3 #280
|
||||
2023/10/03-07:03:02.741141 7f9ff37fe6c0 Delete type=0 #282
|
||||
2023/10/19-11:08:46.939482 7f8105ffb6c0 Recovering log #316
|
||||
2023/10/19-11:08:46.949313 7f8105ffb6c0 Delete type=3 #314
|
||||
2023/10/19-11:08:46.949363 7f8105ffb6c0 Delete type=0 #316
|
||||
2023/10/19-11:10:20.688936 7f7e677006c0 Level-0 table #321: started
|
||||
2023/10/19-11:10:20.688969 7f7e677006c0 Level-0 table #321: 0 bytes OK
|
||||
2023/10/19-11:10:20.695333 7f7e677006c0 Delete type=0 #319
|
||||
2023/10/19-11:10:20.709333 7f7e677006c0 Manual compaction at level-0 from '!journal!50u8VAjdmovyr0hx' @ 72057594037927935 : 1 .. '!journal!yzw9I0r3hCK7PJnz' @ 0 : 0; will stop at (end)
|
||||
2023/10/19-11:10:20.709368 7f7e677006c0 Manual compaction at level-1 from '!journal!50u8VAjdmovyr0hx' @ 72057594037927935 : 1 .. '!journal!yzw9I0r3hCK7PJnz' @ 0 : 0; will stop at (end)
|
||||
|
@ -1,8 +1,8 @@
|
||||
2023/10/01-21:10:38.961794 7f5806ffd6c0 Recovering log #278
|
||||
2023/10/01-21:10:38.972606 7f5806ffd6c0 Delete type=3 #276
|
||||
2023/10/01-21:10:38.972680 7f5806ffd6c0 Delete type=0 #278
|
||||
2023/10/01-21:13:13.368981 7f58067fc6c0 Level-0 table #283: started
|
||||
2023/10/01-21:13:13.369042 7f58067fc6c0 Level-0 table #283: 0 bytes OK
|
||||
2023/10/01-21:13:13.376475 7f58067fc6c0 Delete type=0 #281
|
||||
2023/10/01-21:13:13.383557 7f58067fc6c0 Manual compaction at level-0 from '!journal!50u8VAjdmovyr0hx' @ 72057594037927935 : 1 .. '!journal!yzw9I0r3hCK7PJnz' @ 0 : 0; will stop at (end)
|
||||
2023/10/01-21:13:13.383626 7f58067fc6c0 Manual compaction at level-1 from '!journal!50u8VAjdmovyr0hx' @ 72057594037927935 : 1 .. '!journal!yzw9I0r3hCK7PJnz' @ 0 : 0; will stop at (end)
|
||||
2023/10/13-16:28:21.042041 7f4c897fa6c0 Recovering log #312
|
||||
2023/10/13-16:28:21.053124 7f4c897fa6c0 Delete type=3 #310
|
||||
2023/10/13-16:28:21.053191 7f4c897fa6c0 Delete type=0 #312
|
||||
2023/10/14-11:19:49.023618 7f49ebbff6c0 Level-0 table #317: started
|
||||
2023/10/14-11:19:49.023662 7f49ebbff6c0 Level-0 table #317: 0 bytes OK
|
||||
2023/10/14-11:19:49.030113 7f49ebbff6c0 Delete type=0 #315
|
||||
2023/10/14-11:19:49.036810 7f49ebbff6c0 Manual compaction at level-0 from '!journal!50u8VAjdmovyr0hx' @ 72057594037927935 : 1 .. '!journal!yzw9I0r3hCK7PJnz' @ 0 : 0; will stop at (end)
|
||||
2023/10/14-11:19:49.036858 7f49ebbff6c0 Manual compaction at level-1 from '!journal!50u8VAjdmovyr0hx' @ 72057594037927935 : 1 .. '!journal!yzw9I0r3hCK7PJnz' @ 0 : 0; will stop at (end)
|
||||
|
Binary file not shown.
@ -1 +1 @@
|
||||
MANIFEST-000284
|
||||
MANIFEST-000318
|
||||
|
@ -1,3 +1,8 @@
|
||||
2023/10/03-07:03:02.717347 7f9ff27fc6c0 Recovering log #282
|
||||
2023/10/03-07:03:02.728108 7f9ff27fc6c0 Delete type=3 #280
|
||||
2023/10/03-07:03:02.728158 7f9ff27fc6c0 Delete type=0 #282
|
||||
2023/10/19-11:08:46.923678 7f81067fc6c0 Recovering log #316
|
||||
2023/10/19-11:08:46.934876 7f81067fc6c0 Delete type=3 #314
|
||||
2023/10/19-11:08:46.934971 7f81067fc6c0 Delete type=0 #316
|
||||
2023/10/19-11:10:20.682121 7f7e677006c0 Level-0 table #321: started
|
||||
2023/10/19-11:10:20.682211 7f7e677006c0 Level-0 table #321: 0 bytes OK
|
||||
2023/10/19-11:10:20.688833 7f7e677006c0 Delete type=0 #319
|
||||
2023/10/19-11:10:20.709319 7f7e677006c0 Manual compaction at level-0 from '!tables!4l60Lxv8cpsyy2Cg' @ 72057594037927935 : 1 .. '!tables.results!tfaYKDZqu7kgZvRG.yvbwKursaixh2dby' @ 0 : 0; will stop at (end)
|
||||
2023/10/19-11:10:20.709361 7f7e677006c0 Manual compaction at level-1 from '!tables!4l60Lxv8cpsyy2Cg' @ 72057594037927935 : 1 .. '!tables.results!tfaYKDZqu7kgZvRG.yvbwKursaixh2dby' @ 0 : 0; will stop at (end)
|
||||
|
@ -1,8 +1,8 @@
|
||||
2023/10/01-21:10:38.946582 7f5807fff6c0 Recovering log #278
|
||||
2023/10/01-21:10:38.956394 7f5807fff6c0 Delete type=3 #276
|
||||
2023/10/01-21:10:38.956460 7f5807fff6c0 Delete type=0 #278
|
||||
2023/10/01-21:13:13.362008 7f58067fc6c0 Level-0 table #283: started
|
||||
2023/10/01-21:13:13.362069 7f58067fc6c0 Level-0 table #283: 0 bytes OK
|
||||
2023/10/01-21:13:13.368748 7f58067fc6c0 Delete type=0 #281
|
||||
2023/10/01-21:13:13.383538 7f58067fc6c0 Manual compaction at level-0 from '!tables!4l60Lxv8cpsyy2Cg' @ 72057594037927935 : 1 .. '!tables.results!tfaYKDZqu7kgZvRG.yvbwKursaixh2dby' @ 0 : 0; will stop at (end)
|
||||
2023/10/01-21:13:13.383607 7f58067fc6c0 Manual compaction at level-1 from '!tables!4l60Lxv8cpsyy2Cg' @ 72057594037927935 : 1 .. '!tables.results!tfaYKDZqu7kgZvRG.yvbwKursaixh2dby' @ 0 : 0; will stop at (end)
|
||||
2023/10/13-16:28:21.026860 7f4c8a7fc6c0 Recovering log #312
|
||||
2023/10/13-16:28:21.037384 7f4c8a7fc6c0 Delete type=3 #310
|
||||
2023/10/13-16:28:21.037699 7f4c8a7fc6c0 Delete type=0 #312
|
||||
2023/10/14-11:19:49.002928 7f49ebbff6c0 Level-0 table #317: started
|
||||
2023/10/14-11:19:49.002970 7f49ebbff6c0 Level-0 table #317: 0 bytes OK
|
||||
2023/10/14-11:19:49.009689 7f49ebbff6c0 Delete type=0 #315
|
||||
2023/10/14-11:19:49.009944 7f49ebbff6c0 Manual compaction at level-0 from '!tables!4l60Lxv8cpsyy2Cg' @ 72057594037927935 : 1 .. '!tables.results!tfaYKDZqu7kgZvRG.yvbwKursaixh2dby' @ 0 : 0; will stop at (end)
|
||||
2023/10/14-11:19:49.010002 7f49ebbff6c0 Manual compaction at level-1 from '!tables!4l60Lxv8cpsyy2Cg' @ 72057594037927935 : 1 .. '!tables.results!tfaYKDZqu7kgZvRG.yvbwKursaixh2dby' @ 0 : 0; will stop at (end)
|
||||
|
Binary file not shown.
@ -1 +1 @@
|
||||
MANIFEST-000284
|
||||
MANIFEST-000318
|
||||
|
@ -1,3 +1,8 @@
|
||||
2023/10/03-07:03:02.771255 7f9ff27fc6c0 Recovering log #282
|
||||
2023/10/03-07:03:02.782160 7f9ff27fc6c0 Delete type=3 #280
|
||||
2023/10/03-07:03:02.782255 7f9ff27fc6c0 Delete type=0 #282
|
||||
2023/10/19-11:08:46.983055 7f81067fc6c0 Recovering log #316
|
||||
2023/10/19-11:08:46.992141 7f81067fc6c0 Delete type=3 #314
|
||||
2023/10/19-11:08:46.992183 7f81067fc6c0 Delete type=0 #316
|
||||
2023/10/19-11:10:20.701671 7f7e677006c0 Level-0 table #321: started
|
||||
2023/10/19-11:10:20.701694 7f7e677006c0 Level-0 table #321: 0 bytes OK
|
||||
2023/10/19-11:10:20.709132 7f7e677006c0 Delete type=0 #319
|
||||
2023/10/19-11:10:20.709354 7f7e677006c0 Manual compaction at level-0 from '!journal!056ILNNrLiPq3Gi3' @ 72057594037927935 : 1 .. '!journal!yfZxl4I7XAuUF6r3' @ 0 : 0; will stop at (end)
|
||||
2023/10/19-11:10:20.709386 7f7e677006c0 Manual compaction at level-1 from '!journal!056ILNNrLiPq3Gi3' @ 72057594037927935 : 1 .. '!journal!yfZxl4I7XAuUF6r3' @ 0 : 0; will stop at (end)
|
||||
|
@ -1,8 +1,8 @@
|
||||
2023/10/01-21:10:39.001525 7f5807fff6c0 Recovering log #278
|
||||
2023/10/01-21:10:39.012047 7f5807fff6c0 Delete type=3 #276
|
||||
2023/10/01-21:10:39.012110 7f5807fff6c0 Delete type=0 #278
|
||||
2023/10/01-21:13:13.391014 7f58067fc6c0 Level-0 table #283: started
|
||||
2023/10/01-21:13:13.391059 7f58067fc6c0 Level-0 table #283: 0 bytes OK
|
||||
2023/10/01-21:13:13.397210 7f58067fc6c0 Delete type=0 #281
|
||||
2023/10/01-21:13:13.405890 7f58067fc6c0 Manual compaction at level-0 from '!journal!056ILNNrLiPq3Gi3' @ 72057594037927935 : 1 .. '!journal!yfZxl4I7XAuUF6r3' @ 0 : 0; will stop at (end)
|
||||
2023/10/01-21:13:13.405954 7f58067fc6c0 Manual compaction at level-1 from '!journal!056ILNNrLiPq3Gi3' @ 72057594037927935 : 1 .. '!journal!yfZxl4I7XAuUF6r3' @ 0 : 0; will stop at (end)
|
||||
2023/10/13-16:28:21.088262 7f4c8a7fc6c0 Recovering log #312
|
||||
2023/10/13-16:28:21.100561 7f4c8a7fc6c0 Delete type=3 #310
|
||||
2023/10/13-16:28:21.100612 7f4c8a7fc6c0 Delete type=0 #312
|
||||
2023/10/14-11:19:49.016843 7f49ebbff6c0 Level-0 table #317: started
|
||||
2023/10/14-11:19:49.016902 7f49ebbff6c0 Level-0 table #317: 0 bytes OK
|
||||
2023/10/14-11:19:49.023489 7f49ebbff6c0 Delete type=0 #315
|
||||
2023/10/14-11:19:49.036796 7f49ebbff6c0 Manual compaction at level-0 from '!journal!056ILNNrLiPq3Gi3' @ 72057594037927935 : 1 .. '!journal!yfZxl4I7XAuUF6r3' @ 0 : 0; will stop at (end)
|
||||
2023/10/14-11:19:49.036847 7f49ebbff6c0 Manual compaction at level-1 from '!journal!056ILNNrLiPq3Gi3' @ 72057594037927935 : 1 .. '!journal!yfZxl4I7XAuUF6r3' @ 0 : 0; will stop at (end)
|
||||
|
Binary file not shown.
Reference in New Issue
Block a user