Compare commits
23 Commits
foundryvtt
...
v10
Author | SHA1 | Date | |
---|---|---|---|
67b2af882f | |||
05b9dab747 | |||
243aeda9f7 | |||
04947ab145 | |||
4045d5d07f | |||
870e4f6a6c | |||
4d0b3ca280 | |||
d019c8fe22 | |||
e3247a5a92 | |||
42295f71cb | |||
e7722dd222 | |||
513e41b8f2 | |||
46b47a5b24 | |||
e1e52ca2be | |||
a7c848a30d | |||
f0248692cc | |||
682b62c2e0 | |||
3978fab79a | |||
64be1078e1 | |||
925c2721a9 | |||
97d9d5d8fa | |||
77cc368a7e | |||
bfe160cc00 |
91
compendium/wfrp4e-archives3.items.json
Normal file
91
compendium/wfrp4e-archives3.items.json
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
{
|
||||||
|
"label": "Items (Archives Vol. III)",
|
||||||
|
"folders": {
|
||||||
|
"Armour": "Armures",
|
||||||
|
"Careers": "Carrières",
|
||||||
|
"Skills": "Compétences",
|
||||||
|
"Spells": "Sorts"
|
||||||
|
},
|
||||||
|
"mapping": {
|
||||||
|
"description": "system.description.value",
|
||||||
|
"trappings": "system.trappings",
|
||||||
|
"class": {
|
||||||
|
"path": "system.class.value",
|
||||||
|
"converter": "generic_localization"
|
||||||
|
},
|
||||||
|
"skills": {
|
||||||
|
"path": "system.skills",
|
||||||
|
"converter": "career_skills"
|
||||||
|
},
|
||||||
|
"careergroup": {
|
||||||
|
"path": "system.careergroup.value",
|
||||||
|
"converter": "career_careergroup"
|
||||||
|
},
|
||||||
|
"talents": {
|
||||||
|
"path": "system.talents",
|
||||||
|
"converter": "career_talents"
|
||||||
|
},
|
||||||
|
"pduration": {
|
||||||
|
"path": "system.duration.value",
|
||||||
|
"converter": "spells_duration_range_target_damage"
|
||||||
|
},
|
||||||
|
"prange": {
|
||||||
|
"path": "system.range.value",
|
||||||
|
"converter": "spells_duration_range_target_damage"
|
||||||
|
},
|
||||||
|
"ptarget": {
|
||||||
|
"path": "system.target.value",
|
||||||
|
"converter": "spells_duration_range_target_damage"
|
||||||
|
},
|
||||||
|
"pdamage": {
|
||||||
|
"path": "system.damage.value",
|
||||||
|
"converter": "spells_duration_range_target_damage"
|
||||||
|
},
|
||||||
|
"test": {
|
||||||
|
"path": "system.test",
|
||||||
|
"converter": "role_skills"
|
||||||
|
},
|
||||||
|
"tests": "system.tests.value",
|
||||||
|
"maxcost": {
|
||||||
|
"path": "system.cost.max",
|
||||||
|
"converter": "spells_duration_range_target_damage"
|
||||||
|
},
|
||||||
|
"sduration": {
|
||||||
|
"path": "system.duration.value",
|
||||||
|
"converter": "spells_duration_range_target_damage"
|
||||||
|
},
|
||||||
|
"srange": {
|
||||||
|
"path": "system.range.value",
|
||||||
|
"converter": "spells_duration_range_target_damage"
|
||||||
|
},
|
||||||
|
"starget": {
|
||||||
|
"path": "system.target.value",
|
||||||
|
"converter": "spells_duration_range_target_damage"
|
||||||
|
},
|
||||||
|
"sdamage": {
|
||||||
|
"path": "system.damage.value",
|
||||||
|
"converter": "spells_duration_range_target_damage"
|
||||||
|
},
|
||||||
|
"penalty": "system.penalty.value",
|
||||||
|
"location": {
|
||||||
|
"path": "system.location.value",
|
||||||
|
"converter": "generic_localization"
|
||||||
|
},
|
||||||
|
"durationValue": "system.duration.value",
|
||||||
|
"durationUnit": "system.duration.unit",
|
||||||
|
"contraction": "system.contraction.value",
|
||||||
|
"incubationValue": "system.incubation.value",
|
||||||
|
"incubationUnit": "system.incubation.unit",
|
||||||
|
"symptoms": "system.symptoms.value",
|
||||||
|
"permanent": "system.permanent.value",
|
||||||
|
"special": "system.special.value",
|
||||||
|
"qualities": {
|
||||||
|
"path": "system.qualities.value",
|
||||||
|
"converter": "trapping_qualities_flaws"
|
||||||
|
},
|
||||||
|
"flaws": {
|
||||||
|
"path": "system.flaws.value",
|
||||||
|
"converter": "trapping_qualities_flaws"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1525,7 +1525,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"description": "<p style=\"text-align: justify:\">Votre main est méchamment coupée, ce qui rend votre prise glissante. Recevez 1 État @Condition[Hémorragique]. Tant que vous êtes sous l’effet de cet État, effectuez un Test de <strong>Dextérité Accessible (+20)</strong> avant d’effectuer une action qui nécessite que vous teniez quoi que ce soit dans cette main ; sur un échec, l’objet vous glisse de la main.</p>",
|
"description": "<p style=\"text-align: justify:\">Votre main est méchamment coupée, ce qui rend votre prise glissante. Recevez 1 État @Condition[Hémorragique]. Tant que vous êtes sous l’effet de cet État, effectuez un Test de <strong>Dextérité Accessible (+20)</strong> avant d’effectuer une action qui nécessite que vous teniez quoi que ce soit dans cette main ; sur un échec, l’objet vous glisse de la main.</p>",
|
||||||
"id": "Bleeding hand",
|
"id": "Bleeding Hand",
|
||||||
"name": "Main ensanglantée"
|
"name": "Main ensanglantée"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -2548,7 +2548,7 @@
|
|||||||
"tests": "Charme quand vous mentez"
|
"tests": "Charme quand vous mentez"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"description": "<p>Vous êtes un lanceur de Sorts autodidacte qui a compris peu à peu comment utiliser la magie, par tâtonnements. Ajoutez Langue (Magick) à n’importe quelle Carrière que vous entamez ; si elle est déjà comprise dans votre Carrière, vous pouvez, à la place, acheter la Compétence pour 5 PX de moins par Augmentation. De plus, vous pouvez dépenser un Point de Résilience pour lancer (et mémoriser) un Sort provenant de n’importe quel Domaine de Magie, pour 0 PX. Vous pouvez le faire un nombre de fois égal à votre Niveau dans ce Talent.</p>",
|
"description": "<p>Vous êtes agile comme un chat, et capable de tomber de plus grandes hauteurs que les autres sans vous blesser. Chaque fois que vous tombez, effectuez un Test d’Athlétisme. Sur un succès, réduisez la distance de chute de 1 mètre, +1 mètre supplémentaire par +1 DR obtenu, pour calculer les Dégâts</p>",
|
||||||
"id": "Catfall",
|
"id": "Catfall",
|
||||||
"name": "Souplesse féline",
|
"name": "Souplesse féline",
|
||||||
"tests": "Athlétisme quand vous tombez"
|
"tests": "Athlétisme quand vous tombez"
|
||||||
@ -2825,7 +2825,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"description": "<p>Vous êtes entraîné à vous placer très près d’un adversaire. Vous ne subissez aucune pénalité pour vous battre contre un adversaire avec une arme plus longue que la vôtre. De plus, si vous utilisez les règles optionnelles de Combat au contact (voir page 297), gagnez un bonus de +10 pour toucher votre adversaire.</p>",
|
"description": "<p>Vous êtes entraîné à vous placer très près d’un adversaire. Vous ne subissez aucune pénalité pour vous battre contre un adversaire avec une arme plus longue que la vôtre. De plus, si vous utilisez les règles optionnelles de Combat au contact (voir page 297), gagnez un bonus de +10 pour toucher votre adversaire.</p>",
|
||||||
"id": "In–fighter",
|
"id": "In–Fighter",
|
||||||
"name": "Combattant au contact",
|
"name": "Combattant au contact",
|
||||||
"tests": "Corps à corps quand vous combattez au contact ou que vous allez au contact"
|
"tests": "Corps à corps quand vous combattez au contact ou que vous allez au contact"
|
||||||
},
|
},
|
||||||
@ -3798,6 +3798,11 @@
|
|||||||
"id": "Bolt (Shadow)",
|
"id": "Bolt (Shadow)",
|
||||||
"name": "Carreau (Ombres)"
|
"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>",
|
"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",
|
"id": "Breath",
|
||||||
@ -3918,6 +3923,11 @@
|
|||||||
"id": "Bridge (Shadow)",
|
"id": "Bridge (Shadow)",
|
||||||
"name": "Pont (Ombres)"
|
"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>",
|
"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",
|
"id": "Careful Step",
|
||||||
@ -4323,6 +4333,11 @@
|
|||||||
"id": "Dome (Shadow)",
|
"id": "Dome (Shadow)",
|
||||||
"name": "Dôme (Ombres)"
|
"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>",
|
"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",
|
"id": "Doppelganger",
|
||||||
@ -4783,6 +4798,11 @@
|
|||||||
"id": "Magic Shield (Shadow)",
|
"id": "Magic Shield (Shadow)",
|
||||||
"name": "Bouclier magique (Ombres)"
|
"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>",
|
"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",
|
"id": "Manifest Lesser Daemon",
|
||||||
@ -5068,6 +5088,11 @@
|
|||||||
"id": "Push (Shadow)",
|
"id": "Push (Shadow)",
|
||||||
"name": "Poussée (Ombres)"
|
"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>",
|
"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",
|
"id": "Raise Dead",
|
||||||
@ -6665,7 +6690,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"description": "<p>Vos prières exaltantes inspirent la discipline et la coordination à l'intérieur de vos rangs. Les cibles affectées gagnent +1 Talent @Compendium[wfrp4e-core.items.J9MK0AIaTbvd5oF6].</p>",
|
"description": "<p>Vos prières exaltantes inspirent la discipline et la coordination à l'intérieur de vos rangs. Les cibles affectées gagnent +1 Talent @Compendium[wfrp4e-core.items.J9MK0AIaTbvd5oF6].</p>",
|
||||||
"id": "Inspiring",
|
"id": "ezVl3vFWTwHfNXL3",
|
||||||
"name": "Inspirant"
|
"name": "Inspirant"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -9358,9 +9383,9 @@
|
|||||||
"Food and Drink": "Nourriture et Boissons",
|
"Food and Drink": "Nourriture et Boissons",
|
||||||
"Herbs and Draughts": "Herbes et Décoctions",
|
"Herbs and Draughts": "Herbes et Décoctions",
|
||||||
"Injuries": "Blessures",
|
"Injuries": "Blessures",
|
||||||
"Lore of Bests": "Domaine des Bêtes",
|
"Lore of Beasts": "Domaine des Bêtes",
|
||||||
"Lore of Daemonology": "Démonologie",
|
"Lore of Daemonology": "Démonologie",
|
||||||
"Lore of Death": "Domaine de la mort",
|
"Lore of Death": "Domaine de la Mort",
|
||||||
"Lore of Fire": "Domaine du Feu",
|
"Lore of Fire": "Domaine du Feu",
|
||||||
"Lore of Heaven": "Domaine des Cieux",
|
"Lore of Heaven": "Domaine des Cieux",
|
||||||
"Lore of Hedgecraft": "Magie des Haies",
|
"Lore of Hedgecraft": "Magie des Haies",
|
||||||
|
94
compendium/wfrp4e-lustria.items.json
Normal file
94
compendium/wfrp4e-lustria.items.json
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
{
|
||||||
|
"label": "Items (Lustria)",
|
||||||
|
"folders": {
|
||||||
|
"Careers": "Carrières",
|
||||||
|
"Spells": "Sorts",
|
||||||
|
"Trappings": "Possessions",
|
||||||
|
"Weapons": "Armes"
|
||||||
|
},
|
||||||
|
"mapping": {
|
||||||
|
"description": "system.description.value",
|
||||||
|
"trappings": "system.trappings",
|
||||||
|
"class": {
|
||||||
|
"path": "system.class.value",
|
||||||
|
"converter": "generic_localization"
|
||||||
|
},
|
||||||
|
"skills": {
|
||||||
|
"path": "system.skills",
|
||||||
|
"converter": "career_skills"
|
||||||
|
},
|
||||||
|
"modType": "system.modType.value",
|
||||||
|
"careergroup": {
|
||||||
|
"path": "system.careergroup.value",
|
||||||
|
"converter": "career_careergroup"
|
||||||
|
},
|
||||||
|
"talents": {
|
||||||
|
"path": "system.talents",
|
||||||
|
"converter": "career_talents"
|
||||||
|
},
|
||||||
|
"pduration": {
|
||||||
|
"path": "system.duration.value",
|
||||||
|
"converter": "spells_duration_range_target_damage"
|
||||||
|
},
|
||||||
|
"prange": {
|
||||||
|
"path": "system.range.value",
|
||||||
|
"converter": "spells_duration_range_target_damage"
|
||||||
|
},
|
||||||
|
"ptarget": {
|
||||||
|
"path": "system.target.value",
|
||||||
|
"converter": "spells_duration_range_target_damage"
|
||||||
|
},
|
||||||
|
"pdamage": {
|
||||||
|
"path": "system.damage.value",
|
||||||
|
"converter": "spells_duration_range_target_damage"
|
||||||
|
},
|
||||||
|
"test": {
|
||||||
|
"path": "system.test",
|
||||||
|
"converter": "role_skills"
|
||||||
|
},
|
||||||
|
"tests": "system.tests.value",
|
||||||
|
"sduration": {
|
||||||
|
"path": "system.duration.value",
|
||||||
|
"converter": "spells_duration_range_target_damage"
|
||||||
|
},
|
||||||
|
"srange": {
|
||||||
|
"path": "system.range.value",
|
||||||
|
"converter": "spells_duration_range_target_damage"
|
||||||
|
},
|
||||||
|
"starget": {
|
||||||
|
"path": "system.target.value",
|
||||||
|
"converter": "spells_duration_range_target_damage"
|
||||||
|
},
|
||||||
|
"sdamage": {
|
||||||
|
"path": "system.damage.value",
|
||||||
|
"converter": "spells_duration_range_target_damage"
|
||||||
|
},
|
||||||
|
"penalty": "system.penalty.value",
|
||||||
|
"location": {
|
||||||
|
"path": "system.location.value",
|
||||||
|
"converter": "generic_localization"
|
||||||
|
},
|
||||||
|
"durationValue": "system.duration.value",
|
||||||
|
"durationUnit": {
|
||||||
|
"path": "system.duration.unit",
|
||||||
|
"converter": "disease_duration_unit"
|
||||||
|
},
|
||||||
|
"contraction": "system.contraction.value",
|
||||||
|
"incubationValue": "system.incubation.value",
|
||||||
|
"incubationUnit": {
|
||||||
|
"path": "system.incubation.unit",
|
||||||
|
"converter": "disease_duration_unit"
|
||||||
|
},
|
||||||
|
"symptoms": "system.symptoms.value",
|
||||||
|
"permanent": "system.permanent.value",
|
||||||
|
"special": "system.special.value",
|
||||||
|
"qualities": {
|
||||||
|
"path": "system.qualities.value",
|
||||||
|
"converter": "trapping_qualities_flaws"
|
||||||
|
},
|
||||||
|
"flaws": {
|
||||||
|
"path": "system.flaws.value",
|
||||||
|
"converter": "trapping_qualities_flaws"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
103
compendium/wfrp4e-owb2.items.json
Normal file
103
compendium/wfrp4e-owb2.items.json
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
{
|
||||||
|
"label": "Items (Old World Bundle II)",
|
||||||
|
"folders": {
|
||||||
|
"Lore of the 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 Hedgecraft": "Magie des Haies",
|
||||||
|
"Lore of Life": "Domaine de la Vie",
|
||||||
|
"Lore of Light": "Domaine de la Lumière",
|
||||||
|
"Lore of Metal": "Domaine du Métal",
|
||||||
|
"Lore of Shadows": "Domaine des Ombres",
|
||||||
|
"Lore of Witchcraft": "Sorcellerie"
|
||||||
|
},
|
||||||
|
"mapping": {
|
||||||
|
"description": "system.description.value",
|
||||||
|
"trappings": "system.trappings",
|
||||||
|
"class": {
|
||||||
|
"path": "system.class.value",
|
||||||
|
"converter": "generic_localization"
|
||||||
|
},
|
||||||
|
"skills": {
|
||||||
|
"path": "system.skills",
|
||||||
|
"converter": "career_skills"
|
||||||
|
},
|
||||||
|
"careergroup": {
|
||||||
|
"path": "system.careergroup.value",
|
||||||
|
"converter": "career_careergroup"
|
||||||
|
},
|
||||||
|
"talents": {
|
||||||
|
"path": "system.talents",
|
||||||
|
"converter": "career_talents"
|
||||||
|
},
|
||||||
|
"pduration": {
|
||||||
|
"path": "system.duration.value",
|
||||||
|
"converter": "spells_duration_range_target_damage"
|
||||||
|
},
|
||||||
|
"prange": {
|
||||||
|
"path": "system.range.value",
|
||||||
|
"converter": "spells_duration_range_target_damage"
|
||||||
|
},
|
||||||
|
"ptarget": {
|
||||||
|
"path": "system.target.value",
|
||||||
|
"converter": "spells_duration_range_target_damage"
|
||||||
|
},
|
||||||
|
"pdamage": {
|
||||||
|
"path": "system.damage.value",
|
||||||
|
"converter": "spells_duration_range_target_damage"
|
||||||
|
},
|
||||||
|
"test": {
|
||||||
|
"path": "system.test",
|
||||||
|
"converter": "role_skills"
|
||||||
|
},
|
||||||
|
"tests": "system.tests.value",
|
||||||
|
"maxcost": {
|
||||||
|
"path": "system.cost.max",
|
||||||
|
"converter": "spells_duration_range_target_damage"
|
||||||
|
},
|
||||||
|
"sduration": {
|
||||||
|
"path": "system.duration.value",
|
||||||
|
"converter": "spells_duration_range_target_damage"
|
||||||
|
},
|
||||||
|
"srange": {
|
||||||
|
"path": "system.range.value",
|
||||||
|
"converter": "spells_duration_range_target_damage"
|
||||||
|
},
|
||||||
|
"starget": {
|
||||||
|
"path": "system.target.value",
|
||||||
|
"converter": "spells_duration_range_target_damage"
|
||||||
|
},
|
||||||
|
"sdamage": {
|
||||||
|
"path": "system.damage.value",
|
||||||
|
"converter": "spells_duration_range_target_damage"
|
||||||
|
},
|
||||||
|
"penalty": "system.penalty.value",
|
||||||
|
"location": {
|
||||||
|
"path": "system.location.value",
|
||||||
|
"converter": "generic_localization"
|
||||||
|
},
|
||||||
|
"durationValue": "system.duration.value",
|
||||||
|
"durationUnit": {
|
||||||
|
"path": "system.duration.unit",
|
||||||
|
"converter": "disease_duration_unit"
|
||||||
|
},
|
||||||
|
"contraction": "system.contraction.value",
|
||||||
|
"incubationValue": "system.incubation.value",
|
||||||
|
"incubationUnit": {
|
||||||
|
"path": "system.incubation.unit",
|
||||||
|
"converter": "disease_duration_unit"
|
||||||
|
},
|
||||||
|
"symptoms": "system.symptoms.value",
|
||||||
|
"permanent": "system.permanent.value",
|
||||||
|
"special": "system.special.value",
|
||||||
|
"qualities": {
|
||||||
|
"path": "system.qualities.value",
|
||||||
|
"converter": "trapping_qualities_flaws"
|
||||||
|
},
|
||||||
|
"flaws": {
|
||||||
|
"path": "system.flaws.value",
|
||||||
|
"converter": "trapping_qualities_flaws"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
89
compendium/wfrp4e-salzenmund.items.json
Normal file
89
compendium/wfrp4e-salzenmund.items.json
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
{
|
||||||
|
"label": "Items (Salzenmund)",
|
||||||
|
"mapping": {
|
||||||
|
"effects": {
|
||||||
|
"converter": "process_effects",
|
||||||
|
"path": "effects"
|
||||||
|
},
|
||||||
|
"careergroup": {
|
||||||
|
"converter": "career_careergroup",
|
||||||
|
"path": "system.careergroup.value"
|
||||||
|
},
|
||||||
|
"class": {
|
||||||
|
"converter": "generic_localization",
|
||||||
|
"path": "system.class.value"
|
||||||
|
},
|
||||||
|
"contraction": "system.contraction.value",
|
||||||
|
"description": "system.description.value",
|
||||||
|
"durationUnit": "system.duration.unit",
|
||||||
|
"durationValue": "system.duration.value",
|
||||||
|
"flaws": {
|
||||||
|
"converter": "trapping_qualities_flaws",
|
||||||
|
"path": "system.flaws.value"
|
||||||
|
},
|
||||||
|
"incubationUnit": "system.incubation.unit",
|
||||||
|
"incubationValue": "system.incubation.value",
|
||||||
|
"location": {
|
||||||
|
"converter": "generic_localization",
|
||||||
|
"path": "system.location.value"
|
||||||
|
},
|
||||||
|
"modifier": {
|
||||||
|
"converter": "mutations_modifier",
|
||||||
|
"path": "system.modifier.value"
|
||||||
|
},
|
||||||
|
"mutationType": {
|
||||||
|
"converter": "generic_localization",
|
||||||
|
"path": "system.mutationType.value"
|
||||||
|
},
|
||||||
|
"pdamage": {
|
||||||
|
"converter": "spells_duration_range_target_damage",
|
||||||
|
"path": "system.damage.value"
|
||||||
|
},
|
||||||
|
"pduration": {
|
||||||
|
"converter": "spells_duration_range_target_damage",
|
||||||
|
"path": "system.duration.value"
|
||||||
|
},
|
||||||
|
"penalty": "system.penalty.value",
|
||||||
|
"permanent": "system.permanent.value",
|
||||||
|
"prange": {
|
||||||
|
"converter": "spells_duration_range_target_damage",
|
||||||
|
"path": "system.range.value"
|
||||||
|
},
|
||||||
|
"ptarget": {
|
||||||
|
"converter": "spells_duration_range_target_damage",
|
||||||
|
"path": "system.target.value"
|
||||||
|
},
|
||||||
|
"qualities": {
|
||||||
|
"converter": "trapping_qualities_flaws",
|
||||||
|
"path": "system.qualities.value"
|
||||||
|
},
|
||||||
|
"sdamage": {
|
||||||
|
"converter": "spells_duration_range_target_damage",
|
||||||
|
"path": "system.damage.value"
|
||||||
|
},
|
||||||
|
"sduration": {
|
||||||
|
"converter": "spells_duration_range_target_damage",
|
||||||
|
"path": "system.duration.value"
|
||||||
|
},
|
||||||
|
"skills": {
|
||||||
|
"converter": "career_skills",
|
||||||
|
"path": "system.skills"
|
||||||
|
},
|
||||||
|
"special": "system.special.value",
|
||||||
|
"srange": {
|
||||||
|
"converter": "spells_duration_range_target_damage",
|
||||||
|
"path": "system.range.value"
|
||||||
|
},
|
||||||
|
"starget": {
|
||||||
|
"converter": "spells_duration_range_target_damage",
|
||||||
|
"path": "system.target.value"
|
||||||
|
},
|
||||||
|
"symptoms": "system.symptoms.value",
|
||||||
|
"talents": {
|
||||||
|
"converter": "career_talents",
|
||||||
|
"path": "system.talents"
|
||||||
|
},
|
||||||
|
"tests": "system.tests.value",
|
||||||
|
"trappings": "system.trappings"
|
||||||
|
}
|
||||||
|
}
|
@ -1,5 +1,15 @@
|
|||||||
{
|
{
|
||||||
"label": "Items (Sea of Claws)",
|
"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": {
|
"mapping": {
|
||||||
"description": "system.description.value",
|
"description": "system.description.value",
|
||||||
"trappings": "system.trappings",
|
"trappings": "system.trappings",
|
||||||
@ -11,6 +21,7 @@
|
|||||||
"path": "system.skills",
|
"path": "system.skills",
|
||||||
"converter": "career_skills"
|
"converter": "career_skills"
|
||||||
},
|
},
|
||||||
|
"modType": "system.modType.value",
|
||||||
"careergroup": {
|
"careergroup": {
|
||||||
"path": "system.careergroup.value",
|
"path": "system.careergroup.value",
|
||||||
"converter": "career_careergroup"
|
"converter": "career_careergroup"
|
||||||
|
@ -1,5 +1,15 @@
|
|||||||
{
|
{
|
||||||
"label": "Items (Up In Arms)",
|
"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": {
|
"mapping": {
|
||||||
"skills": {
|
"skills": {
|
||||||
"path": "system.skills",
|
"path": "system.skills",
|
||||||
|
@ -1,5 +1,22 @@
|
|||||||
{
|
{
|
||||||
"label": "Items (Winds of Magic)",
|
"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": {
|
"mapping": {
|
||||||
"description": "system.description.value",
|
"description": "system.description.value",
|
||||||
"trappings": "system.trappings",
|
"trappings": "system.trappings",
|
||||||
|
95
compendium/wfrp4e-zoo.items.json
Normal file
95
compendium/wfrp4e-zoo.items.json
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
{
|
||||||
|
"label": "Items (Imperial Zoo)",
|
||||||
|
"folders": {
|
||||||
|
"Ammunition": "Munitions",
|
||||||
|
"Careers": "Carrières",
|
||||||
|
"Prayers": "Prières",
|
||||||
|
"Trappings": "Possessions",
|
||||||
|
"Weapons": "Armes"
|
||||||
|
},
|
||||||
|
"mapping": {
|
||||||
|
"description": "system.description.value",
|
||||||
|
"trappings": "system.trappings",
|
||||||
|
"class": {
|
||||||
|
"path": "system.class.value",
|
||||||
|
"converter": "generic_localization"
|
||||||
|
},
|
||||||
|
"skills": {
|
||||||
|
"path": "system.skills",
|
||||||
|
"converter": "career_skills"
|
||||||
|
},
|
||||||
|
"modType": "system.modType.value",
|
||||||
|
"careergroup": {
|
||||||
|
"path": "system.careergroup.value",
|
||||||
|
"converter": "career_careergroup"
|
||||||
|
},
|
||||||
|
"talents": {
|
||||||
|
"path": "system.talents",
|
||||||
|
"converter": "career_talents"
|
||||||
|
},
|
||||||
|
"pduration": {
|
||||||
|
"path": "system.duration.value",
|
||||||
|
"converter": "spells_duration_range_target_damage"
|
||||||
|
},
|
||||||
|
"prange": {
|
||||||
|
"path": "system.range.value",
|
||||||
|
"converter": "spells_duration_range_target_damage"
|
||||||
|
},
|
||||||
|
"ptarget": {
|
||||||
|
"path": "system.target.value",
|
||||||
|
"converter": "spells_duration_range_target_damage"
|
||||||
|
},
|
||||||
|
"pdamage": {
|
||||||
|
"path": "system.damage.value",
|
||||||
|
"converter": "spells_duration_range_target_damage"
|
||||||
|
},
|
||||||
|
"test": {
|
||||||
|
"path": "system.test",
|
||||||
|
"converter": "role_skills"
|
||||||
|
},
|
||||||
|
"tests": "system.tests.value",
|
||||||
|
"sduration": {
|
||||||
|
"path": "system.duration.value",
|
||||||
|
"converter": "spells_duration_range_target_damage"
|
||||||
|
},
|
||||||
|
"srange": {
|
||||||
|
"path": "system.range.value",
|
||||||
|
"converter": "spells_duration_range_target_damage"
|
||||||
|
},
|
||||||
|
"starget": {
|
||||||
|
"path": "system.target.value",
|
||||||
|
"converter": "spells_duration_range_target_damage"
|
||||||
|
},
|
||||||
|
"sdamage": {
|
||||||
|
"path": "system.damage.value",
|
||||||
|
"converter": "spells_duration_range_target_damage"
|
||||||
|
},
|
||||||
|
"penalty": "system.penalty.value",
|
||||||
|
"location": {
|
||||||
|
"path": "system.location.value",
|
||||||
|
"converter": "generic_localization"
|
||||||
|
},
|
||||||
|
"durationValue": "system.duration.value",
|
||||||
|
"durationUnit": {
|
||||||
|
"path": "system.duration.unit",
|
||||||
|
"converter": "disease_duration_unit"
|
||||||
|
},
|
||||||
|
"contraction": "system.contraction.value",
|
||||||
|
"incubationValue": "system.incubation.value",
|
||||||
|
"incubationUnit": {
|
||||||
|
"path": "system.incubation.unit",
|
||||||
|
"converter": "disease_duration_unit"
|
||||||
|
},
|
||||||
|
"symptoms": "system.symptoms.value",
|
||||||
|
"permanent": "system.permanent.value",
|
||||||
|
"special": "system.special.value",
|
||||||
|
"qualities": {
|
||||||
|
"path": "system.qualities.value",
|
||||||
|
"converter": "trapping_qualities_flaws"
|
||||||
|
},
|
||||||
|
"flaws": {
|
||||||
|
"path": "system.flaws.value",
|
||||||
|
"converter": "trapping_qualities_flaws"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
29
fr.json
29
fr.json
@ -207,6 +207,14 @@
|
|||||||
"SETTINGS.AutomaticSuccessHint":"Tout les jets inférieurs ou égaux à cette valeur seront considérés comme des réussites",
|
"SETTINGS.AutomaticSuccessHint":"Tout les jets inférieurs ou égaux à cette valeur seront considérés comme des réussites",
|
||||||
"SETTINGS.AdvantageMax":"Limite d'avantages",
|
"SETTINGS.AdvantageMax":"Limite d'avantages",
|
||||||
"SETTINGS.AdvantageMaxHint":"Limite les avantages à un nombre pré-définie, comme 2, 4,etc.",
|
"SETTINGS.AdvantageMaxHint":"Limite les avantages à un nombre pré-définie, comme 2, 4,etc.",
|
||||||
|
"SETTINGS.MooCritModifiersHint":"Lorsque vous subissez des dégâts au-delà de 0 blessure, ajoutez ou soustrayez 10 au tableau des coups critiques pour chaque point de différence de dégâts par rapport à votre bonus d'Endurance.<br><br>Ex. Il me reste 4 blessures, Endurance 50. Je subis 12 dégâts. Cela ferait 8 au-delà de 0. Avec un BE de 5, cela donnerait un +30 au coup critique obtenu.<br><br>Ex. Il me reste 4 blessures, Enurance 50, je subis 5 dégâts. Cela ferait 1 au-delà de 0. Avec une BE de 5, cela donnerait un -40 au coup critique obtenu.",
|
||||||
|
"SETTINGS.SLDOS":"Degrés de Succès",
|
||||||
|
"SETTINGS.SLDefault":"Défaut",
|
||||||
|
"SETTINGS.SLFast":"DR Rapide",
|
||||||
|
"SETTINGS.SLMethod":"Méthode de calcul des DR",
|
||||||
|
"SETTINGS.SLMethodHint":"Configure la méthode de calcul des DR lors de tests",
|
||||||
|
"SETTINGS.UIABleeding":"Etat Hémorragique de Up In Arms",
|
||||||
|
"SETTINGS.UIABleedingHint":"Change l'état Hémorragique comme indiqué dans Up In Arms, page 80",
|
||||||
|
|
||||||
"ROLL.CatastrophicMis":"Incantations Imparfaites Catastrophiques",
|
"ROLL.CatastrophicMis":"Incantations Imparfaites Catastrophiques",
|
||||||
|
|
||||||
@ -285,6 +293,19 @@
|
|||||||
"SHEET.GenerateName":"Générer un nom",
|
"SHEET.GenerateName":"Générer un nom",
|
||||||
"SHEET.CannotDeleteItemEffect":"Cet Effet provient d'un Item de cet acteur. Supprimer l'Item lui-même ou l'Effet depuis l'onglet Effet de la fiche de l'Item.",
|
"SHEET.CannotDeleteItemEffect":"Cet Effet provient d'un Item de cet acteur. Supprimer l'Item lui-même ou l'Effet depuis l'onglet Effet de la fiche de l'Item.",
|
||||||
"SHEET.TemporaryEffectHint":"Ces Effets proviennent de l'acteur qui les possède. Utiliser la fiche de personnage pour interagir avec.",
|
"SHEET.TemporaryEffectHint":"Ces Effets proviennent de l'acteur qui les possède. Utiliser la fiche de personnage pour interagir avec.",
|
||||||
|
"SHEET.ItemSheetEditableDisabled":"L'édition de cet Item est désactivé tant que les effets de {effects} sont actifs. Désactivez ou supprimez ces effets sur l'acteur concerné.",
|
||||||
|
"SHEET.LocationAP":"Localisation des PA",
|
||||||
|
"SHEET.AlterName":"Autre nom",
|
||||||
|
"SHEET.AppliedTemplates":"Templates appliqués",
|
||||||
|
"SHEET.LoadingSkills":"Chargement des compétences",
|
||||||
|
"SHEET.OtherCost":"Autres couts",
|
||||||
|
"SHEET.OtherCostPlaceholder":"Formule ou nombre",
|
||||||
|
"SHEET.SkillSpecialization":"Spécialisation de compétence",
|
||||||
|
"SHEET.SkillSpecializationEnter":"Saisissez la spécialisation",
|
||||||
|
"SHEET.SkillSpecializationText":"Sélectionnez la spécialisation, si aucune sélection n'est faite, saisissez le manuellement.",
|
||||||
|
"SHEET.SpecialisationAbbrev":"Spec.",
|
||||||
|
"SHEET.TemplateGroupTooltip":"Indiquer un numéro de groupe permettra de choisir parmi tout les autres items ayant le même numéro de groupe.",
|
||||||
|
"SHEET.TemplateSpecialisationTooltip":"Combien de spécialisation à selectionner (par exemple 'Corps à corps' et '2' correspond à 'Corps à corps (Au choix 2)')",
|
||||||
|
|
||||||
"ACTOR.BasicSkillsTitle" : "Ajouter les compétences de base",
|
"ACTOR.BasicSkillsTitle" : "Ajouter les compétences de base",
|
||||||
"ACTOR.BasicSkillsPrompt": "Ajouter les compétences de base ?",
|
"ACTOR.BasicSkillsPrompt": "Ajouter les compétences de base ?",
|
||||||
@ -371,6 +392,7 @@
|
|||||||
"ITEM.TestSkill":"Test de compétence",
|
"ITEM.TestSkill":"Test de compétence",
|
||||||
"ITEM.Roles":"Roles",
|
"ITEM.Roles":"Roles",
|
||||||
"ITEM.VitalRoles":"Roles vitaux",
|
"ITEM.VitalRoles":"Roles vitaux",
|
||||||
|
"ITEM.LearningXP":"XP d'Apprentissage",
|
||||||
|
|
||||||
"BleedCrit":"L'hémorrage de <b>{name}</b> coagule un peu : 1 Hémorragie peut-être retirée.",
|
"BleedCrit":"L'hémorrage de <b>{name}</b> coagule un peu : 1 Hémorragie peut-être retirée.",
|
||||||
"BleedFail":"<b>{name}</b> meur de sa perte de sang !",
|
"BleedFail":"<b>{name}</b> meur de sa perte de sang !",
|
||||||
@ -939,6 +961,9 @@
|
|||||||
"DIALOG.ErrorMustSelectItem":"Au moins 1 item doit être selectionné",
|
"DIALOG.ErrorMustSelectItem":"Au moins 1 item doit être selectionné",
|
||||||
"DIALOG.ChooseActor":"Choisissez l'Acteur pour réaliser le test",
|
"DIALOG.ChooseActor":"Choisissez l'Acteur pour réaliser le test",
|
||||||
"DIALOG.ItemDialog":"Fenêtre d'Item",
|
"DIALOG.ItemDialog":"Fenêtre d'Item",
|
||||||
|
"DIALOG.LinkCareer":"Relier la carrière",
|
||||||
|
"DIALOG.LinkCareerContent":"Relier {new} avec {old}? Les compétences de {old} seront ajoutées à {new}, tout en préservant toutes les spécialisations effectuées avec la carrière précédente.",
|
||||||
|
"DIALOG.ChoosePassenger":"Choisissez un passager",
|
||||||
|
|
||||||
"CHAT.CareerChoose" : "Choisissez votre carrière",
|
"CHAT.CareerChoose" : "Choisissez votre carrière",
|
||||||
"CHAT.DamageError" : "Erreur de calcul des dégâts:",
|
"CHAT.DamageError" : "Erreur de calcul des dégâts:",
|
||||||
@ -1311,6 +1336,8 @@
|
|||||||
"MARKET.NotifyNoActor": "Aucun acteur n'est selectionné ou associé avec l'utilisateur actuel",
|
"MARKET.NotifyNoActor": "Aucun acteur n'est selectionné ou associé avec l'utilisateur actuel",
|
||||||
"MARKET.ItemAdded": "{item} ajouté à {actor}",
|
"MARKET.ItemAdded": "{item} ajouté à {actor}",
|
||||||
"MARKET.d":"d",
|
"MARKET.d":"d",
|
||||||
|
"MARKET.For":"pour",
|
||||||
|
"MARKET.PaidFor":"<b>Produit acheté :</b> {product}",
|
||||||
|
|
||||||
"WFRP4E.TrappingType.Weapon" : "Arme",
|
"WFRP4E.TrappingType.Weapon" : "Arme",
|
||||||
"WFRP4E.TrappingType.Armour" : "Armure",
|
"WFRP4E.TrappingType.Armour" : "Armure",
|
||||||
@ -2455,6 +2482,7 @@
|
|||||||
"TYPES.Item.weapon":"Arme",
|
"TYPES.Item.weapon":"Arme",
|
||||||
"TYPES.Item.vehicleRole":"Role de Véhicule",
|
"TYPES.Item.vehicleRole":"Role de Véhicule",
|
||||||
"TYPES.Item.vehicleTest":"Test d'équipage de véhicule",
|
"TYPES.Item.vehicleTest":"Test d'équipage de véhicule",
|
||||||
|
"TYPES.Item.template":"Template",
|
||||||
|
|
||||||
"Badger": "Blaireau",
|
"Badger": "Blaireau",
|
||||||
"Badgers": "Blaireaux",
|
"Badgers": "Blaireaux",
|
||||||
@ -2575,6 +2603,7 @@
|
|||||||
"Daemonic Ward": "Barrière démoniaque",
|
"Daemonic Ward": "Barrière démoniaque",
|
||||||
"Relies on two hands": "Nécessite les deux mains",
|
"Relies on two hands": "Nécessite les deux mains",
|
||||||
"Useless": "Inutile",
|
"Useless": "Inutile",
|
||||||
|
"Round":"round",
|
||||||
|
|
||||||
"WH":{
|
"WH":{
|
||||||
"TransferType":{
|
"TransferType":{
|
||||||
|
BIN
images/warhammer-v1-logo.webp
Normal file
BIN
images/warhammer-v1-logo.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 51 KiB |
@ -8,7 +8,7 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"url": "https://www.uberwald.me/gitea/public/foundryvtt-wh4-lang-fr-fr",
|
"url": "https://www.uberwald.me/gitea/public/foundryvtt-wh4-lang-fr-fr",
|
||||||
"version": "8.2.0",
|
"version": "8.5.0",
|
||||||
"esmodules": [
|
"esmodules": [
|
||||||
"modules/babele-register.js",
|
"modules/babele-register.js",
|
||||||
"modules/addon-register.js",
|
"modules/addon-register.js",
|
||||||
@ -117,7 +117,7 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"manifest": "https://www.uberwald.me/gitea/public/foundryvtt-wh4-lang-fr-fr/raw/v10/module.json",
|
"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.5.0.zip",
|
||||||
"id": "wh4-fr-translation",
|
"id": "wh4-fr-translation",
|
||||||
"compatibility": {
|
"compatibility": {
|
||||||
"minimum": "12",
|
"minimum": "12",
|
||||||
|
@ -222,10 +222,12 @@ const __check_fix_wrong_modules = (chatFlag, patchFinished) => {
|
|||||||
|
|
||||||
WH4FRPatchConfig.perform_patch();
|
WH4FRPatchConfig.perform_patch();
|
||||||
|
|
||||||
|
let coreFound = false;
|
||||||
game.modules.forEach((module, name) => {
|
game.modules.forEach((module, name) => {
|
||||||
|
|
||||||
//console.log("TESTING MODULE", module)
|
//console.log("TESTING MODULE", module)
|
||||||
if (module.id == "wfrp4e-core" && module.active) {
|
if (module.id == "wfrp4e-core" && module.active) {
|
||||||
|
coreFound = true
|
||||||
patch_core_tables(__wfrp4e_tables);
|
patch_core_tables(__wfrp4e_tables);
|
||||||
}
|
}
|
||||||
if (module.id == "wfrp4e-eis" && module.active) {
|
if (module.id == "wfrp4e-eis" && module.active) {
|
||||||
@ -255,13 +257,22 @@ const __check_fix_wrong_modules = (chatFlag, patchFinished) => {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
if ( !coreFound) {
|
||||||
|
if (game.user.isGM && chatFlag) {
|
||||||
|
ChatMessage.create({
|
||||||
|
content: "<div><strong>Le module Core WFRP4E n'a pas été trouvé ou activé. Veuillez acheter et/ou activer ce module de base avant de continuer.</strong></div>",
|
||||||
|
whisper: ChatMessage.getWhisperRecipients("GM")
|
||||||
|
});
|
||||||
|
}
|
||||||
|
} else {
|
||||||
if (game.user.isGM && patchFinished) {
|
if (game.user.isGM && patchFinished) {
|
||||||
ChatMessage.create({
|
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 WFRP4E v8.3.X</div></ul>",
|
||||||
user: game.user.id,
|
user: game.user.id,
|
||||||
whisper: ChatMessage.getWhisperRecipients("GM")
|
whisper: ChatMessage.getWhisperRecipients("GM")
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const __history = [
|
const __history = [
|
||||||
@ -355,6 +366,11 @@ const __add_actors_translation = () => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// Close the warning dialog
|
||||||
|
if ( game.wfrp4e.warnDialog) {
|
||||||
|
game.wfrp4e.warnDialog.close();
|
||||||
|
game.wfrp4e.warnDialog = null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -373,6 +389,13 @@ Hooks.on("chatMessage", (html, content, msg) => {
|
|||||||
Hooks.on('ready', () => {
|
Hooks.on('ready', () => {
|
||||||
|
|
||||||
if (game.user.isGM) {
|
if (game.user.isGM) {
|
||||||
|
game.wfrp4e.warnDialog = new Dialog({
|
||||||
|
title: "Chargement de la traduction FR - Merci d'attendre",
|
||||||
|
content: `<img src="modules/wh4-fr-translation/images/warhammer-v1-logo.webp"><p class="wfrp4-fr-message">Les moines de l'ordre de l'Enclume, associés aux légistes de Talabaheim, préparent la traduction Bretonnienne de ce monde...</h3><p class="wfrp4-fr-message">Merci d'attendre la disparition de ce message pour vaquer dans l'Empire.</p> <p class="wfrp4-fr-message">Si une bénédiction de Shallya apparait dans le tchat, c'est que tout s'est bien passé.</p>`,
|
||||||
|
buttons: {
|
||||||
|
}
|
||||||
|
})
|
||||||
|
game.wfrp4e.warnDialog.render(true, {focus: true, left: 20, top: 20});
|
||||||
let chatData = {
|
let chatData = {
|
||||||
user: game.user.id,
|
user: game.user.id,
|
||||||
rollMode: game.settings.get("core", "rollMode"),
|
rollMode: game.settings.get("core", "rollMode"),
|
||||||
@ -412,7 +435,7 @@ Hooks.on('ready', () => {
|
|||||||
"doom": "Maudit (-40)"
|
"doom": "Maudit (-40)"
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log("WFRP4E-TRANSLATION | Loading timeout");
|
game.wfrp4e.warnDialog.render(true, {focus: true, left: 20, top: 20});
|
||||||
//setTimeout( __check_fix_wrong_modules, 2000, true, false);
|
//setTimeout( __check_fix_wrong_modules, 2000, true, false);
|
||||||
setTimeout(__check_fix_wrong_modules, 20000, true, true);
|
setTimeout(__check_fix_wrong_modules, 20000, true, true);
|
||||||
setTimeout(__add_actors_translation, 21000, false, true);
|
setTimeout(__add_actors_translation, 21000, false, true);
|
||||||
|
@ -257,8 +257,12 @@ Hooks.once('init', () => {
|
|||||||
s1 = res[1].trim() + " ( )";
|
s1 = res[1].trim() + " ( )";
|
||||||
translItem = game.babele.translate(compData.metadata.id, { name: s1, type: "skill" }, true)
|
translItem = game.babele.translate(compData.metadata.id, { name: s1, type: "skill" }, true)
|
||||||
translw = translItem?.name || undefined
|
translw = translItem?.name || undefined
|
||||||
|
if(translw) {
|
||||||
let res2 = re.exec(translw);
|
let res2 = re.exec(translw);
|
||||||
transl = res2[1] + "(" + subword + ")";
|
transl = res2[1] + "(" + subword + ")";
|
||||||
|
} else {
|
||||||
|
transl = res[1] + " (" + subword + ")";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -321,7 +325,7 @@ Hooks.once('init', () => {
|
|||||||
for (let data of results) {
|
for (let data of results) {
|
||||||
let career = data.text.match(/{(.*)}/)
|
let career = data.text.match(/{(.*)}/)
|
||||||
//console.log(">>>>>", career)
|
//console.log(">>>>>", career)
|
||||||
if (career && career[1]) {
|
if (career?.[1]) {
|
||||||
let careerFR = game.babele.converters.career_careergroup(career[1])
|
let careerFR = game.babele.converters.career_careergroup(career[1])
|
||||||
data.text = data.text.replace(career[1], careerFR)
|
data.text = data.text.replace(career[1], careerFR)
|
||||||
}
|
}
|
||||||
@ -334,7 +338,6 @@ Hooks.once('init', () => {
|
|||||||
},
|
},
|
||||||
|
|
||||||
"npc_details": (details) => {
|
"npc_details": (details) => {
|
||||||
//console.log("DETAILS: ", details);
|
|
||||||
let newDetails = foundry.utils.duplicate(details);
|
let newDetails = foundry.utils.duplicate(details);
|
||||||
if (details.species?.value)
|
if (details.species?.value)
|
||||||
newDetails.species.value = game.i18n.localize(details.species.value);
|
newDetails.species.value = game.i18n.localize(details.species.value);
|
||||||
@ -354,6 +357,13 @@ Hooks.once('init', () => {
|
|||||||
for (i = 0; i < len; i++) {
|
for (i = 0; i < len; i++) {
|
||||||
for (let compData of validCompendiums) {
|
for (let compData of validCompendiums) {
|
||||||
let translItem = game.babele.translate(compData.metadata.id, { name: talents_list[i] }, true);
|
let translItem = game.babele.translate(compData.metadata.id, { name: talents_list[i] }, true);
|
||||||
|
// Specific case management
|
||||||
|
if (talents_list[i] === "Trapper") {
|
||||||
|
translItem = game.babele.translate(compData.metadata.id, { name: "a7v422EZcOUUC20X" }, true);
|
||||||
|
}
|
||||||
|
if (talents_list[i] === "Inspiring") {
|
||||||
|
translItem = game.babele.translate(compData.metadata.id, { name: "WCXnFSV4WOSmzzc4" }, true);
|
||||||
|
}
|
||||||
//console.log("Search talent name:", compData.metadata.id, talents_list[i], translItem);
|
//console.log("Search talent name:", compData.metadata.id, talents_list[i], translItem);
|
||||||
let transl = translItem?.name || undefined
|
let transl = translItem?.name || undefined
|
||||||
if (!transl) transl = talents_list[i]
|
if (!transl) transl = talents_list[i]
|
||||||
@ -364,7 +374,6 @@ Hooks.once('init', () => {
|
|||||||
let s1 = res[1].trim(); // No () in talents table
|
let s1 = res[1].trim(); // No () in talents table
|
||||||
translItem = game.babele.translate(compData.metadata.id, { name: s1 }, true)
|
translItem = game.babele.translate(compData.metadata.id, { name: s1 }, true)
|
||||||
let translw = translItem?.name || undefined
|
let translw = translItem?.name || undefined
|
||||||
console.log("Search talent name:", compData.metadata.id, s1, translw);
|
|
||||||
if (translw && translw != s1) {
|
if (translw && translw != s1) {
|
||||||
transl = translw + " (" + subword + ")";
|
transl = translw + " (" + subword + ")";
|
||||||
}
|
}
|
||||||
@ -491,6 +500,12 @@ Hooks.once('init', () => {
|
|||||||
}
|
}
|
||||||
let validCompendiums = game.wfrp4e.tags.getPacksWithTag("talent")
|
let validCompendiums = game.wfrp4e.tags.getPacksWithTag("talent")
|
||||||
for (let compData of validCompendiums) {
|
for (let compData of validCompendiums) {
|
||||||
|
if (name_en === "Trapper") {
|
||||||
|
name_en = "a7v422EZcOUUC20X"
|
||||||
|
}
|
||||||
|
if (name_en === "Inspiring") {
|
||||||
|
name_en = "WCXnFSV4WOSmzzc4"
|
||||||
|
}
|
||||||
let trait_fr = game.babele.translate(compData.metadata.id, { name: name_en }, true)
|
let trait_fr = game.babele.translate(compData.metadata.id, { name: name_en }, true)
|
||||||
if (trait_fr?.system) {
|
if (trait_fr?.system) {
|
||||||
trait_fr.name = trait_fr.name || name_en // Security since babele v10
|
trait_fr.name = trait_fr.name || name_en // Security since babele v10
|
||||||
@ -601,6 +616,7 @@ Hooks.once('init', () => {
|
|||||||
|
|
||||||
"mutations_modifier": (value) => { // This is really UGLYYYY i know, but i started like this and discovered afterward that many strings were not easy to automate... Sorry :)
|
"mutations_modifier": (value) => { // This is really UGLYYYY i know, but i started like this and discovered afterward that many strings were not easy to automate... Sorry :)
|
||||||
//console.log("Parsing mutation :", value);
|
//console.log("Parsing mutation :", value);
|
||||||
|
if (!value) return;
|
||||||
value = value.toLowerCase();
|
value = value.toLowerCase();
|
||||||
value = value.replace("gain a broken condition if you fail a test derived from ", "Gagnez un état Brisé si vous échouez à un test dérivé de ");
|
value = value.replace("gain a broken condition if you fail a test derived from ", "Gagnez un état Brisé si vous échouez à un test dérivé de ");
|
||||||
value = value.replace("weapon skill", "Capacité de Combat");
|
value = value.replace("weapon skill", "Capacité de Combat");
|
||||||
@ -658,6 +674,10 @@ Hooks.once('init', () => {
|
|||||||
// Auto-translate duration
|
// Auto-translate duration
|
||||||
"spells_duration_range_target_damage": (value) => {
|
"spells_duration_range_target_damage": (value) => {
|
||||||
return WFRP4FrTranslation.processSpellContent(value);
|
return WFRP4FrTranslation.processSpellContent(value);
|
||||||
|
},
|
||||||
|
// Auto-translate disease duration units
|
||||||
|
"disease_duration_unit": (unit) => {
|
||||||
|
return game.i18n.localize(unit).capitalize();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -1,18 +1,8 @@
|
|||||||
/************************************************************************************/
|
/************************************************************************************/
|
||||||
// Some internal test strings
|
// Some internal test strings
|
||||||
let strfr = `LA TERREUR DE LA TEUFEL, TROLL DE RIVIÈRE RUSÉ
|
let strfr = `LA TERREUR DE LA TEUFEL, TROLL DE RIVIÈRE RUSÉ
|
||||||
M
|
M CC CT F E I Ag Dex Int FM Soc B
|
||||||
CC CT
|
4 40 15 55 45 20 15 15 30 20 5 38
|
||||||
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
|
Traits : Amphibie, Arme +9, Armure (2), Dur à Cuire, Insensible
|
||||||
à la douleur, Morsure +8, Régénération, Taille (Grande), Vision
|
à la douleur, Morsure +8, Régénération, Taille (Grande), Vision
|
||||||
Nocturne, Vomissement`
|
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 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 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 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 = [
|
let sectionDataFR = [
|
||||||
{ name: "trait", toFind: "Traits\\s*:", secondParse: '(?<name>[a-zöàéè\\s]*)[\\s\\+]*(?<value>.*|[\\+0-9]+)', index: -1 },
|
{ 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: "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") {
|
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
|
// Patch wront/strange carac value before processing
|
||||||
statString = statString.replace(/ –/g, " 0")
|
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
|
let resCarac = XRegExp.exec(statString, reg2) // resr contains all carac found
|
||||||
|
|
||||||
// Setup carac
|
// Setup carac
|
||||||
//console.log("CARAC", resCarac)
|
console.log("CARAC", resCarac)
|
||||||
if (resCarac["Agi"]) resCarac["Ag"] = resCarac["Agi"] // Auto patch
|
if (resCarac["Agi"]) resCarac["Ag"] = resCarac["Agi"] // Auto patch
|
||||||
model.details.move.value = Number(resCarac["m"])
|
model.details.move.value = Number(resCarac["m"])
|
||||||
for (let key in model.characteristics) {
|
for (let key in model.characteristics) {
|
||||||
if (resCarac[key] === '-') resCarac[key] = 0
|
if (resCarac[key] === '-') resCarac[key] = 0
|
||||||
model.characteristics[key].initial = Number(resCarac[key])
|
model.characteristics[key].initial = Number(resCarac[key])
|
||||||
}
|
}
|
||||||
//console.log("CARAC", model.characteristics);
|
console.log("CARAC", model.characteristics);
|
||||||
|
|
||||||
// Search position of skills/talents/...
|
// Search position of skills/talents/...
|
||||||
for (let def of sectionData) {
|
for (let def of sectionData) {
|
||||||
@ -424,11 +414,11 @@ export default async function statParserFR(statString, type = "npc") {
|
|||||||
}
|
}
|
||||||
if (!itemFound && name) {
|
if (!itemFound && name) {
|
||||||
if (name.toLowerCase().includes("armor") || name.toLowerCase().includes("armure") || name.toLowerCase().includes("armour")) {
|
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")) {
|
} 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 {
|
} 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"
|
itemFound.system.trappingType.value = "misc"
|
||||||
if (name.toLowerCase().includes("cloth")) {
|
if (name.toLowerCase().includes("cloth")) {
|
||||||
itemFound.system.trappingType.value = "clothingAccessories"
|
itemFound.system.trappingType.value = "clothingAccessories"
|
||||||
@ -457,7 +447,7 @@ export default async function statParserFR(statString, type = "npc") {
|
|||||||
itemFound = await __findItem(name, "spell");
|
itemFound = await __findItem(name, "spell");
|
||||||
}
|
}
|
||||||
if (!itemFound && name) { // Auto-create the spell name
|
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();
|
itemFound = itemFound.toObject();
|
||||||
}
|
}
|
||||||
} else if (def.name == 'mutation') {
|
} else if (def.name == 'mutation') {
|
||||||
@ -507,7 +497,7 @@ export default async function statParserFR(statString, type = "npc") {
|
|||||||
}
|
}
|
||||||
//DEBUG : console.log("EFFECTS", effects)
|
//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
|
// If the carac string has not been found
|
||||||
|
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
|||||||
MANIFEST-000856
|
MANIFEST-001021
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
2024/10/18-18:13:47.044529 7f84f82006c0 Recovering log #854
|
2025/04/30-13:52:45.187796 7fa7ef7fe6c0 Recovering log #1019
|
||||||
2024/10/18-18:13:47.054801 7f84f82006c0 Delete type=3 #852
|
2025/04/30-13:52:45.197798 7fa7ef7fe6c0 Delete type=3 #1017
|
||||||
2024/10/18-18:13:47.054895 7f84f82006c0 Delete type=0 #854
|
2025/04/30-13:52:45.197858 7fa7ef7fe6c0 Delete type=0 #1019
|
||||||
2024/10/18-18:21:20.233601 7f84f64006c0 Level-0 table #859: started
|
2025/04/30-13:56:20.218873 7fa7eebff6c0 Level-0 table #1024: started
|
||||||
2024/10/18-18:21:20.233644 7f84f64006c0 Level-0 table #859: 0 bytes OK
|
2025/04/30-13:56:20.218918 7fa7eebff6c0 Level-0 table #1024: 0 bytes OK
|
||||||
2024/10/18-18:21:20.240532 7f84f64006c0 Delete type=0 #857
|
2025/04/30-13:56:20.282295 7fa7eebff6c0 Delete type=0 #1022
|
||||||
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)
|
2025/04/30-13:56:20.342627 7fa7eebff6c0 Manual compaction at level-0 from '!journal!3IgmiprzLB6Lwenc' @ 72057594037927935 : 1 .. '!journal.pages!suuYN87Al1ZZWtQQ.jhgNnhWhrkOpKs1B' @ 0 : 0; will stop at (end)
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
2024/10/13-10:15:10.833255 7f4ae56006c0 Recovering log #850
|
2025/04/30-13:37:26.958893 7fa7effff6c0 Recovering log #1015
|
||||||
2024/10/13-10:15:10.843913 7f4ae56006c0 Delete type=3 #848
|
2025/04/30-13:37:26.969871 7fa7effff6c0 Delete type=3 #1013
|
||||||
2024/10/13-10:15:10.844060 7f4ae56006c0 Delete type=0 #850
|
2025/04/30-13:37:26.969950 7fa7effff6c0 Delete type=0 #1015
|
||||||
2024/10/13-10:17:29.386405 7f4ae28006c0 Level-0 table #855: started
|
2025/04/30-13:52:07.580634 7fa7eebff6c0 Level-0 table #1020: started
|
||||||
2024/10/13-10:17:29.386456 7f4ae28006c0 Level-0 table #855: 0 bytes OK
|
2025/04/30-13:52:07.580657 7fa7eebff6c0 Level-0 table #1020: 0 bytes OK
|
||||||
2024/10/13-10:17:29.392764 7f4ae28006c0 Delete type=0 #853
|
2025/04/30-13:52:07.587755 7fa7eebff6c0 Delete type=0 #1018
|
||||||
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)
|
2025/04/30-13:52:07.594692 7fa7eebff6c0 Manual compaction at level-0 from '!journal!3IgmiprzLB6Lwenc' @ 72057594037927935 : 1 .. '!journal.pages!suuYN87Al1ZZWtQQ.jhgNnhWhrkOpKs1B' @ 0 : 0; will stop at (end)
|
||||||
|
Binary file not shown.
BIN
packs/aides-de-jeu-fr/MANIFEST-001021
Normal file
BIN
packs/aides-de-jeu-fr/MANIFEST-001021
Normal file
Binary file not shown.
@ -1 +1 @@
|
|||||||
MANIFEST-000858
|
MANIFEST-001023
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
2024/10/18-18:13:47.059680 7f84f8c006c0 Recovering log #856
|
2025/04/30-13:52:45.200395 7fa7f51fa6c0 Recovering log #1021
|
||||||
2024/10/18-18:13:47.069621 7f84f8c006c0 Delete type=3 #854
|
2025/04/30-13:52:45.211253 7fa7f51fa6c0 Delete type=3 #1019
|
||||||
2024/10/18-18:13:47.069738 7f84f8c006c0 Delete type=0 #856
|
2025/04/30-13:52:45.211310 7fa7f51fa6c0 Delete type=0 #1021
|
||||||
2024/10/18-18:21:20.247704 7f84f64006c0 Level-0 table #861: started
|
2025/04/30-13:56:20.182202 7fa7eebff6c0 Level-0 table #1026: started
|
||||||
2024/10/18-18:21:20.247743 7f84f64006c0 Level-0 table #861: 0 bytes OK
|
2025/04/30-13:56:20.182230 7fa7eebff6c0 Level-0 table #1026: 0 bytes OK
|
||||||
2024/10/18-18:21:20.255126 7f84f64006c0 Delete type=0 #859
|
2025/04/30-13:56:20.218666 7fa7eebff6c0 Delete type=0 #1024
|
||||||
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)
|
2025/04/30-13:56:20.342613 7fa7eebff6c0 Manual compaction at level-0 from '!folders!3uquYH73ttCdoH0I' @ 72057594037927935 : 1 .. '!items!ylFhk7mGZOnAJTUT' @ 0 : 0; will stop at (end)
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
2024/10/13-10:15:10.848652 7f4ae4c006c0 Recovering log #852
|
2025/04/30-13:37:26.975712 7fa7ef7fe6c0 Recovering log #1017
|
||||||
2024/10/13-10:15:10.859932 7f4ae4c006c0 Delete type=3 #850
|
2025/04/30-13:37:26.985626 7fa7ef7fe6c0 Delete type=3 #1015
|
||||||
2024/10/13-10:15:10.860057 7f4ae4c006c0 Delete type=0 #852
|
2025/04/30-13:37:26.985740 7fa7ef7fe6c0 Delete type=0 #1017
|
||||||
2024/10/13-10:17:29.394222 7f4ae28006c0 Level-0 table #857: started
|
2025/04/30-13:52:07.574464 7fa7eebff6c0 Level-0 table #1022: started
|
||||||
2024/10/13-10:17:29.394285 7f4ae28006c0 Level-0 table #857: 0 bytes OK
|
2025/04/30-13:52:07.574485 7fa7eebff6c0 Level-0 table #1022: 0 bytes OK
|
||||||
2024/10/13-10:17:29.400389 7f4ae28006c0 Delete type=0 #855
|
2025/04/30-13:52:07.580538 7fa7eebff6c0 Delete type=0 #1020
|
||||||
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)
|
2025/04/30-13:52:07.594675 7fa7eebff6c0 Manual compaction at level-0 from '!folders!3uquYH73ttCdoH0I' @ 72057594037927935 : 1 .. '!items!ylFhk7mGZOnAJTUT' @ 0 : 0; will stop at (end)
|
||||||
|
Binary file not shown.
BIN
packs/antidotes-and-remedes/MANIFEST-001023
Normal file
BIN
packs/antidotes-and-remedes/MANIFEST-001023
Normal file
Binary file not shown.
@ -1 +1 @@
|
|||||||
MANIFEST-000856
|
MANIFEST-001021
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
2024/10/18-18:13:47.092813 7f84f8c006c0 Recovering log #854
|
2025/04/30-13:52:45.227283 7fa7effff6c0 Recovering log #1019
|
||||||
2024/10/18-18:13:47.103058 7f84f8c006c0 Delete type=3 #852
|
2025/04/30-13:52:45.237098 7fa7effff6c0 Delete type=3 #1017
|
||||||
2024/10/18-18:13:47.103152 7f84f8c006c0 Delete type=0 #854
|
2025/04/30-13:52:45.237154 7fa7effff6c0 Delete type=0 #1019
|
||||||
2024/10/18-18:21:20.255597 7f84f64006c0 Level-0 table #859: started
|
2025/04/30-13:56:20.342763 7fa7eebff6c0 Level-0 table #1024: started
|
||||||
2024/10/18-18:21:20.255672 7f84f64006c0 Level-0 table #859: 0 bytes OK
|
2025/04/30-13:56:20.342817 7fa7eebff6c0 Level-0 table #1024: 0 bytes OK
|
||||||
2024/10/18-18:21:20.263027 7f84f64006c0 Delete type=0 #857
|
2025/04/30-13:56:20.379513 7fa7eebff6c0 Delete type=0 #1022
|
||||||
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)
|
2025/04/30-13:56:20.480242 7fa7eebff6c0 Manual compaction at level-0 from '!journal!cZtNgayIw2QFhC9u' @ 72057594037927935 : 1 .. '!journal.pages!cZtNgayIw2QFhC9u.ts265H1XkisLgdow' @ 0 : 0; will stop at (end)
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
2024/10/13-10:15:10.881019 7f4ae38006c0 Recovering log #850
|
2025/04/30-13:37:27.005764 7fa7f49f96c0 Recovering log #1015
|
||||||
2024/10/13-10:15:10.891271 7f4ae38006c0 Delete type=3 #848
|
2025/04/30-13:37:27.015794 7fa7f49f96c0 Delete type=3 #1013
|
||||||
2024/10/13-10:15:10.891371 7f4ae38006c0 Delete type=0 #850
|
2025/04/30-13:37:27.015847 7fa7f49f96c0 Delete type=0 #1015
|
||||||
2024/10/13-10:17:29.409477 7f4ae28006c0 Level-0 table #855: started
|
2025/04/30-13:52:07.594802 7fa7eebff6c0 Level-0 table #1020: started
|
||||||
2024/10/13-10:17:29.409555 7f4ae28006c0 Level-0 table #855: 0 bytes OK
|
2025/04/30-13:52:07.594841 7fa7eebff6c0 Level-0 table #1020: 0 bytes OK
|
||||||
2024/10/13-10:17:29.416471 7f4ae28006c0 Delete type=0 #853
|
2025/04/30-13:52:07.601251 7fa7eebff6c0 Delete type=0 #1018
|
||||||
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)
|
2025/04/30-13:52:07.626197 7fa7eebff6c0 Manual compaction at level-0 from '!journal!cZtNgayIw2QFhC9u' @ 72057594037927935 : 1 .. '!journal.pages!cZtNgayIw2QFhC9u.ts265H1XkisLgdow' @ 0 : 0; will stop at (end)
|
||||||
|
Binary file not shown.
BIN
packs/apothicarium/MANIFEST-001021
Normal file
BIN
packs/apothicarium/MANIFEST-001021
Normal file
Binary file not shown.
0
packs/dons-de-rhya/001023.log
Normal file
0
packs/dons-de-rhya/001023.log
Normal file
@ -1 +1 @@
|
|||||||
MANIFEST-000856
|
MANIFEST-001021
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
2024/10/18-18:13:47.028103 7f84f8c006c0 Recovering log #854
|
2025/04/30-13:52:45.174262 7fa7effff6c0 Recovering log #1019
|
||||||
2024/10/18-18:13:47.039373 7f84f8c006c0 Delete type=3 #852
|
2025/04/30-13:52:45.184972 7fa7effff6c0 Delete type=3 #1017
|
||||||
2024/10/18-18:13:47.039514 7f84f8c006c0 Delete type=0 #854
|
2025/04/30-13:52:45.185064 7fa7effff6c0 Delete type=0 #1019
|
||||||
2024/10/18-18:21:20.226682 7f84f64006c0 Level-0 table #859: started
|
2025/04/30-13:56:20.148218 7fa7eebff6c0 Level-0 table #1024: started
|
||||||
2024/10/18-18:21:20.226742 7f84f64006c0 Level-0 table #859: 0 bytes OK
|
2025/04/30-13:56:20.148250 7fa7eebff6c0 Level-0 table #1024: 0 bytes OK
|
||||||
2024/10/18-18:21:20.233411 7f84f64006c0 Delete type=0 #857
|
2025/04/30-13:56:20.182065 7fa7eebff6c0 Delete type=0 #1022
|
||||||
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)
|
2025/04/30-13:56:20.342592 7fa7eebff6c0 Manual compaction at level-0 from '!journal!50u8VAjdmovyr0hx' @ 72057594037927935 : 1 .. '!journal.pages!yzw9I0r3hCK7PJnz.sPNCYj2nR3Cp3jHd' @ 0 : 0; will stop at (end)
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
2024/10/13-10:15:10.817002 7f4ae38006c0 Recovering log #850
|
2025/04/30-13:37:26.941947 7fa7f49f96c0 Recovering log #1015
|
||||||
2024/10/13-10:15:10.828770 7f4ae38006c0 Delete type=3 #848
|
2025/04/30-13:37:26.953673 7fa7f49f96c0 Delete type=3 #1013
|
||||||
2024/10/13-10:15:10.828963 7f4ae38006c0 Delete type=0 #850
|
2025/04/30-13:37:26.953812 7fa7f49f96c0 Delete type=0 #1015
|
||||||
2024/10/13-10:17:29.378580 7f4ae28006c0 Level-0 table #855: started
|
2025/04/30-13:52:07.588106 7fa7eebff6c0 Level-0 table #1020: started
|
||||||
2024/10/13-10:17:29.378612 7f4ae28006c0 Level-0 table #855: 0 bytes OK
|
2025/04/30-13:52:07.588158 7fa7eebff6c0 Level-0 table #1020: 0 bytes OK
|
||||||
2024/10/13-10:17:29.384956 7f4ae28006c0 Delete type=0 #853
|
2025/04/30-13:52:07.594496 7fa7eebff6c0 Delete type=0 #1018
|
||||||
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)
|
2025/04/30-13:52:07.594707 7fa7eebff6c0 Manual compaction at level-0 from '!journal!50u8VAjdmovyr0hx' @ 72057594037927935 : 1 .. '!journal.pages!yzw9I0r3hCK7PJnz.sPNCYj2nR3Cp3jHd' @ 0 : 0; will stop at (end)
|
||||||
|
Binary file not shown.
BIN
packs/dons-de-rhya/MANIFEST-001021
Normal file
BIN
packs/dons-de-rhya/MANIFEST-001021
Normal file
Binary file not shown.
0
packs/dons-de-rhya/lost/000870.log
Normal file
0
packs/dons-de-rhya/lost/000870.log
Normal file
0
packs/plats-dauberges/001023.log
Normal file
0
packs/plats-dauberges/001023.log
Normal file
@ -1 +1 @@
|
|||||||
MANIFEST-000856
|
MANIFEST-001021
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
2024/10/18-18:13:47.009196 7f84f82006c0 Recovering log #854
|
2025/04/30-13:52:45.160945 7fa7f49f96c0 Recovering log #1019
|
||||||
2024/10/18-18:13:47.019931 7f84f82006c0 Delete type=3 #852
|
2025/04/30-13:52:45.171175 7fa7f49f96c0 Delete type=3 #1017
|
||||||
2024/10/18-18:13:47.020097 7f84f82006c0 Delete type=0 #854
|
2025/04/30-13:52:45.171232 7fa7f49f96c0 Delete type=0 #1019
|
||||||
2024/10/18-18:21:20.240695 7f84f64006c0 Level-0 table #859: started
|
2025/04/30-13:56:20.120362 7fa7eebff6c0 Level-0 table #1024: started
|
||||||
2024/10/18-18:21:20.240733 7f84f64006c0 Level-0 table #859: 0 bytes OK
|
2025/04/30-13:56:20.120403 7fa7eebff6c0 Level-0 table #1024: 0 bytes OK
|
||||||
2024/10/18-18:21:20.247510 7f84f64006c0 Delete type=0 #857
|
2025/04/30-13:56:20.147577 7fa7eebff6c0 Delete type=0 #1022
|
||||||
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)
|
2025/04/30-13:56:20.148002 7fa7eebff6c0 Manual compaction at level-0 from '!tables!4l60Lxv8cpsyy2Cg' @ 72057594037927935 : 1 .. '!tables.results!tfaYKDZqu7kgZvRG.yvbwKursaixh2dby' @ 0 : 0; will stop at (end)
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
2024/10/13-10:15:10.801247 7f4ae42006c0 Recovering log #850
|
2025/04/30-13:37:26.927965 7fa7f51fa6c0 Recovering log #1015
|
||||||
2024/10/13-10:15:10.812259 7f4ae42006c0 Delete type=3 #848
|
2025/04/30-13:37:26.937687 7fa7f51fa6c0 Delete type=3 #1013
|
||||||
2024/10/13-10:15:10.812486 7f4ae42006c0 Delete type=0 #850
|
2025/04/30-13:37:26.937822 7fa7f51fa6c0 Delete type=0 #1015
|
||||||
2024/10/13-10:17:29.369815 7f4ae28006c0 Level-0 table #855: started
|
2025/04/30-13:52:07.553657 7fa7eebff6c0 Level-0 table #1020: started
|
||||||
2024/10/13-10:17:29.369929 7f4ae28006c0 Level-0 table #855: 0 bytes OK
|
2025/04/30-13:52:07.553704 7fa7eebff6c0 Level-0 table #1020: 0 bytes OK
|
||||||
2024/10/13-10:17:29.377441 7f4ae28006c0 Delete type=0 #853
|
2025/04/30-13:52:07.560415 7fa7eebff6c0 Delete type=0 #1018
|
||||||
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)
|
2025/04/30-13:52:07.567607 7fa7eebff6c0 Manual compaction at level-0 from '!tables!4l60Lxv8cpsyy2Cg' @ 72057594037927935 : 1 .. '!tables.results!tfaYKDZqu7kgZvRG.yvbwKursaixh2dby' @ 0 : 0; will stop at (end)
|
||||||
|
Binary file not shown.
BIN
packs/plats-dauberges/MANIFEST-001021
Normal file
BIN
packs/plats-dauberges/MANIFEST-001021
Normal file
Binary file not shown.
0
packs/plats-dauberges/lost/000870.log
Normal file
0
packs/plats-dauberges/lost/000870.log
Normal file
0
packs/tables-des-traductions/000666.log
Normal file
0
packs/tables-des-traductions/000666.log
Normal file
@ -1 +1 @@
|
|||||||
MANIFEST-000499
|
MANIFEST-000664
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
2024/10/18-18:13:47.076254 7f84f82006c0 Recovering log #497
|
2025/04/30-13:52:45.213806 7fa7f49f96c0 Recovering log #662
|
||||||
2024/10/18-18:13:47.087782 7f84f82006c0 Delete type=3 #495
|
2025/04/30-13:52:45.224527 7fa7f49f96c0 Delete type=3 #660
|
||||||
2024/10/18-18:13:47.087917 7f84f82006c0 Delete type=0 #497
|
2025/04/30-13:52:45.224674 7fa7f49f96c0 Delete type=0 #662
|
||||||
2024/10/18-18:21:20.283730 7f84f64006c0 Level-0 table #502: started
|
2025/04/30-13:56:20.282496 7fa7eebff6c0 Level-0 table #667: started
|
||||||
2024/10/18-18:21:20.283779 7f84f64006c0 Level-0 table #502: 0 bytes OK
|
2025/04/30-13:56:20.282547 7fa7eebff6c0 Level-0 table #667: 0 bytes OK
|
||||||
2024/10/18-18:21:20.291168 7f84f64006c0 Delete type=0 #500
|
2025/04/30-13:56:20.342420 7fa7eebff6c0 Delete type=0 #665
|
||||||
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)
|
2025/04/30-13:56:20.342640 7fa7eebff6c0 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)
|
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
2024/10/13-10:15:10.864885 7f4ae42006c0 Recovering log #493
|
2025/04/30-13:37:26.989605 7fa7f51fa6c0 Recovering log #658
|
||||||
2024/10/13-10:15:10.876950 7f4ae42006c0 Delete type=3 #491
|
2025/04/30-13:37:26.999911 7fa7f51fa6c0 Delete type=3 #656
|
||||||
2024/10/13-10:15:10.877043 7f4ae42006c0 Delete type=0 #493
|
2025/04/30-13:37:26.999964 7fa7f51fa6c0 Delete type=0 #658
|
||||||
2024/10/13-10:17:29.401759 7f4ae28006c0 Level-0 table #498: started
|
2025/04/30-13:52:07.567820 7fa7eebff6c0 Level-0 table #663: started
|
||||||
2024/10/13-10:17:29.401816 7f4ae28006c0 Level-0 table #498: 0 bytes OK
|
2025/04/30-13:52:07.567845 7fa7eebff6c0 Level-0 table #663: 0 bytes OK
|
||||||
2024/10/13-10:17:29.407953 7f4ae28006c0 Delete type=0 #496
|
2025/04/30-13:52:07.574391 7fa7eebff6c0 Delete type=0 #661
|
||||||
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)
|
2025/04/30-13:52:07.594654 7fa7eebff6c0 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)
|
|
||||||
|
Binary file not shown.
BIN
packs/tables-des-traductions/MANIFEST-000664
Normal file
BIN
packs/tables-des-traductions/MANIFEST-000664
Normal file
Binary file not shown.
0
packs/tables-des-traductions/lost/000513.log
Normal file
0
packs/tables-des-traductions/lost/000513.log
Normal file
@ -2,3 +2,9 @@
|
|||||||
:root{
|
:root{
|
||||||
--color-bg-option: #352516;
|
--color-bg-option: #352516;
|
||||||
}
|
}
|
||||||
|
.wfrp4-fr-message {
|
||||||
|
font-size: 1.4rem;
|
||||||
|
color: antiquewhite;
|
||||||
|
align-self: center;
|
||||||
|
text-align: center;
|
||||||
|
}
|
@ -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
|
let text = (await game.wfrp4e.tables.rollTable("random-caster", {hideDSN: true})).result
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ let god = await ValueDialog.create("Enter a Deity", "Blessed")
|
|||||||
|
|
||||||
if (god)
|
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")
|
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)
|
if (blessings.length)
|
||||||
{
|
{
|
||||||
|
@ -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);
|
let roll = Math.floor(CONFIG.Dice.randomUniform() * mutations.length);
|
||||||
this.actor.createEmbeddedDocuments("Item", [mutations[roll]]);
|
this.actor.createEmbeddedDocuments("Item", [mutations[roll]]);
|
||||||
this.script.scriptNotification(`Added ${mutations[roll].name}`)
|
this.script.scriptNotification(`Added ${mutations[roll].name}`)
|
@ -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
|
let lore = (await game.wfrp4e.tables.rollTable("random-caster", {hideDSN: true})).text
|
||||||
this.script.scriptNotification(lore)
|
this.script.scriptNotification(lore)
|
||||||
|
@ -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);
|
let choice = await ItemDialog.create(spells, 1);
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
let careers = await game.wfrp4e.utility.findAll("career", "", true);
|
let careers = await warhammer.utility.findAllItems("career", "", true);
|
||||||
careers.forEach(c => {
|
careers.forEach(c => {
|
||||||
if (!c.id)
|
if (!c.id)
|
||||||
{
|
{
|
||||||
|
@ -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)
|
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");
|
let choice = await ItemDialog.create(spells, 1, "Choose Spell");
|
||||||
|
@ -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))
|
spells = spells.filter(s => ["slaanesh"].includes(s.system.lore.value))
|
||||||
|
|
||||||
let choice = await ItemDialog.create(spells, 1, "Choose Spell");
|
let choice = await ItemDialog.create(spells, 1, "Choose Spell");
|
||||||
|
@ -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
|
|
@ -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
|
let text = (await game.wfrp4e.tables.rollTable("random-caster", {hideDSN: true})).result
|
||||||
|
|
||||||
|
@ -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);
|
let roll = Math.floor(CONFIG.Dice.randomUniform() * mutations.length);
|
||||||
this.actor.createEmbeddedDocuments("Item", [mutations[roll]]);
|
this.actor.createEmbeddedDocuments("Item", [mutations[roll]]);
|
||||||
this.script.scriptNotification(`Ajout ${mutations[roll].name}`)
|
this.script.scriptNotification(`Ajout ${mutations[roll].name}`)
|
@ -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
|
let lore = (await game.wfrp4e.tables.rollTable("random-caster", {hideDSN: true})).text
|
||||||
this.script.scriptNotification(lore)
|
this.script.scriptNotification(lore)
|
||||||
|
@ -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);
|
let choice = await ItemDialog.create(spells, 1);
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
let careers = await game.wfrp4e.utility.findAll("career", "", true);
|
let careers = await warhammer.utility.findAllItems("career", "", true);
|
||||||
careers.forEach(c => {
|
careers.forEach(c => {
|
||||||
if (!c.id)
|
if (!c.id)
|
||||||
{
|
{
|
||||||
|
@ -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)
|
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");
|
let choice = await ItemDialog.create(spells, 1, "Choisir un sort");
|
||||||
|
@ -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))
|
spells = spells.filter(s => ["slaanesh"].includes(s.system.lore.value))
|
||||||
|
|
||||||
let choice = await ItemDialog.create(spells, 1, "Choisir un sort");
|
let choice = await ItemDialog.create(spells, 1, "Choisir un sort");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user