diff --git a/package.json b/package.json index 62a6a50..42cd390 100644 --- a/package.json +++ b/package.json @@ -5,8 +5,9 @@ "private": true, "type": "module", "scripts": { - "build": "node scripts/build-compendiums.mjs && gulp build", - "build:packs": "node scripts/build-compendiums.mjs", + "build": "node scripts/split-compendium-content.mjs && gulp build", + "build:packs": "node scripts/split-compendium-content.mjs", + "split:compendiums": "node scripts/split-compendium-content.mjs", "watch": "gulp watch" }, "author": "Copilot", diff --git a/packs-src/armes.json b/packs-src/armes.json index 9cb55ec..98238a4 100644 --- a/packs-src/armes.json +++ b/packs-src/armes.json @@ -1,38 +1,762 @@ [ - { "name": "Aiguille à coudre", "type": "arme", "img": "icons/svg/sword.svg", "system": { "description": "

Objet de géant détourné en arme fine et redoutablement pointue.

", "notes": "", "category": "melee", "origin": "geant", "sizeMode": "fixe", "sizeValue": 2, "sizeModifier": 0, "damage": "2", "range": "", "properties": [], "restrictedRace": "", "quantity": 1, "price": 90, "equipped": false } }, - { "name": "Aiguille à tricoter", "type": "arme", "img": "icons/svg/sword.svg", "system": { "description": "

Longue arme de géant reconvertie en lance massive. Le tableau lui accorde Charge et exige Force 1.

", "notes": "", "category": "melee", "origin": "geant", "sizeMode": "fixe", "sizeValue": 5, "sizeModifier": 0, "damage": "5", "range": "", "properties": ["Charge", "Force 1"], "restrictedRace": "", "quantity": 1, "price": 630, "equipped": false } }, - { "name": "Clef de géant", "type": "arme", "img": "icons/svg/sword.svg", "system": { "description": "

Arme très prisée dans le milieu des mercenaires. Ces instruments d'acier de géant sont réputés d'une redoutable efficacité.

", "notes": "", "category": "melee", "origin": "geant", "sizeMode": "plage", "sizeValue": 3, "sizeModifier": 0, "damage": "3 à 5", "range": "", "properties": [], "restrictedRace": "", "quantity": 1, "price": 450, "equipped": false } }, - { "name": "Couteau de géant", "type": "arme", "img": "icons/svg/sword.svg", "system": { "description": "

Grand couteau des géants utilisé comme arme longue du Petit Peuple.

", "notes": "", "category": "melee", "origin": "geant", "sizeMode": "fixe", "sizeValue": 5, "sizeModifier": 0, "damage": "5", "range": "", "properties": [], "restrictedRace": "", "quantity": 1, "price": 630, "equipped": false } }, - { "name": "Clou", "type": "arme", "img": "icons/svg/sword.svg", "system": { "description": "

Simple clou de géant, efficace comme pointe ou pieu improvisé.

", "notes": "", "category": "melee", "origin": "geant", "sizeMode": "plage", "sizeValue": 2, "sizeModifier": 0, "damage": "2 à 5", "range": "", "properties": [], "restrictedRace": "", "quantity": 1, "price": 12, "equipped": false } }, - { "name": "Épingle à nourrice", "type": "arme", "img": "icons/svg/sword.svg", "system": { "description": "

Broche de géant détournée en arme perçante. On en fait aussi parfois des grappins.

", "notes": "", "category": "melee", "origin": "geant", "sizeMode": "fixe", "sizeValue": 2, "sizeModifier": 0, "damage": "2", "range": "", "properties": [], "restrictedRace": "", "quantity": 1, "price": 360, "equipped": false } }, - { "name": "Fourchette", "type": "arme", "img": "icons/svg/sword.svg", "system": { "description": "

Couvert de géant converti en arme d'estoc ou de hampe selon sa prise.

", "notes": "", "category": "melee", "origin": "geant", "sizeMode": "plage", "sizeValue": 4, "sizeModifier": 0, "damage": "4 à 5", "range": "", "properties": [], "restrictedRace": "", "quantity": 1, "price": 630, "equipped": false } }, - { "name": "Grifdrachat", "type": "arme", "img": "icons/svg/sword.svg", "system": { "description": "

Pointe de métal recourbée en forme de griffe de drachat. Extrêmement pointue, elle peut se glisser dans la plupart des interstices des armures.

", "notes": "", "category": "melee", "origin": "geant", "sizeMode": "fixe", "sizeValue": 3, "sizeModifier": 0, "damage": "3", "range": "", "properties": ["Blessure précise"], "restrictedRace": "", "quantity": 1, "price": 540, "equipped": false } }, - { "name": "Hameçon des Marches", "type": "arme", "img": "icons/svg/sword.svg", "system": { "description": "

Les vivitins utilisent volontiers ces gros hameçons de géants comme armes, tenus à la main ou montés au bout d'une hampe.

", "notes": "", "category": "melee", "origin": "geant", "sizeMode": "fixe", "sizeValue": 2, "sizeModifier": 0, "damage": "2", "range": "", "properties": [], "restrictedRace": "", "quantity": 1, "price": 21, "equipped": false } }, - { "name": "Marteau de tailleur", "type": "arme", "img": "icons/svg/sword.svg", "system": { "description": "

Outil de géant lourd et massif, réemployé comme arme contondante. Le livre ne donne pas de tarif explicite pour cette entrée.

", "notes": "", "category": "melee", "origin": "geant", "sizeMode": "plage", "sizeValue": 4, "sizeModifier": 0, "damage": "4 à 5", "range": "", "properties": [], "restrictedRace": "", "quantity": 1, "price": 0, "equipped": false } }, - { "name": "Paire de ciseaux", "type": "arme", "img": "icons/svg/sword.svg", "system": { "description": "

Grande paire de ciseaux de géant. Le tableau lui accorde Attaque multiple mais impose Force 3.

", "notes": "", "category": "melee", "origin": "geant", "sizeMode": "plage", "sizeValue": 4, "sizeModifier": 0, "damage": "4 à 5", "range": "", "properties": ["Attaque multiple", "Force 3"], "restrictedRace": "", "quantity": 1, "price": 540, "equipped": false } }, - - { "name": "Akinakas", "type": "arme", "img": "icons/svg/sword.svg", "system": { "description": "

Arme prisee par l'élite des gardes de Crinios. Les belgfolks fixent à leur lance les piques prélevées sur des veuves des mers ; l'akinakas est réputé traverser les alliages.

", "notes": "", "category": "melee", "origin": "petitPeuple", "sizeMode": "variable", "sizeValue": 0, "sizeModifier": 0, "damage": "Taille +0", "range": "", "properties": ["Blessure précise"], "restrictedRace": "", "quantity": 1, "price": 900, "equipped": false } }, - { "name": "Arc", "type": "arme", "img": "icons/svg/sword.svg", "system": { "description": "

Arme de tir du Petit Peuple. Encocher une nouvelle flèche est une action libre.

", "notes": "", "category": "tir", "origin": "petitPeuple", "sizeMode": "variable", "sizeValue": 0, "sizeModifier": 0, "damage": "Taille +0", "range": "75", "properties": ["Encocher une nouvelle flèche est une action libre"], "restrictedRace": "", "quantity": 1, "price": 360, "equipped": false } }, - { "name": "Arbalète", "type": "arme", "img": "icons/svg/sword.svg", "system": { "description": "

Arme de tir du Petit Peuple. Encocher un nouveau carreau est une action unique. Le livre ne donne pas de tarif explicite dans les tableaux de prix.

", "notes": "", "category": "tir", "origin": "petitPeuple", "sizeMode": "variable", "sizeValue": 0, "sizeModifier": 1, "damage": "Taille +1", "range": "100", "properties": ["Encocher un nouveau carreau est une action unique"], "restrictedRace": "", "quantity": 1, "price": 0, "equipped": false } }, - { "name": "Bâton de marche", "type": "arme", "img": "icons/svg/sword.svg", "system": { "description": "

Bâton robuste qui peut aussi servir d'arme d'appoint. Le tableau lui accorde la prime Blessure non létale.

", "notes": "", "category": "melee", "origin": "petitPeuple", "sizeMode": "variable", "sizeValue": 0, "sizeModifier": 1, "damage": "Taille +1", "range": "", "properties": ["Blessure non létale"], "restrictedRace": "", "quantity": 1, "price": 10, "equipped": false } }, - { "name": "Coup de poing", "type": "arme", "img": "icons/svg/sword.svg", "system": { "description": "

Ensemble de bagues reliées par une barre métallique. Arme de bagarreur qui laisse des marques durables.

", "notes": "", "category": "melee", "origin": "petitPeuple", "sizeMode": "variable", "sizeValue": 0, "sizeModifier": -1, "damage": "Taille -1", "range": "", "properties": [], "restrictedRace": "", "quantity": 1, "price": 24, "equipped": false } }, - { "name": "Dague de Songiam", "type": "arme", "img": "icons/svg/sword.svg", "system": { "description": "

Dague kobolde si fine et discrète qu'on peut la dissimuler sans éveiller les soupçons. On la surnomme la dague du dernier souffle.

", "notes": "", "category": "melee", "origin": "petitPeuple", "sizeMode": "variable", "sizeValue": 0, "sizeModifier": -1, "damage": "Taille -1", "range": "", "properties": ["Discrétion +3 (en cas de fouille)", "Blessure précise"], "restrictedRace": "", "quantity": 1, "price": 270, "equipped": false } }, - { "name": "Dandegéant", "type": "arme", "img": "icons/svg/sword.svg", "system": { "description": "

Masse d'arme à deux mains utilisée notamment par les Huvons, avec une dent de géant à son extrémité.

", "notes": "", "category": "melee", "origin": "petitPeuple", "sizeMode": "fixe", "sizeValue": 4, "sizeModifier": 0, "damage": "4", "range": "", "properties": [], "restrictedRace": "", "quantity": 1, "price": 720, "equipped": false } }, - { "name": "Épée", "type": "arme", "img": "icons/svg/sword.svg", "system": { "description": "

Épée standard du Petit Peuple, listée sans particularité spéciale dans le tableau.

", "notes": "", "category": "melee", "origin": "petitPeuple", "sizeMode": "variable", "sizeValue": 0, "sizeModifier": 0, "damage": "Taille +0", "range": "", "properties": [], "restrictedRace": "", "quantity": 1, "price": 360, "equipped": false } }, - { "name": "Espadon huvon", "type": "arme", "img": "icons/svg/sword.svg", "system": { "description": "

Grande épée forgée par et pour les Korrigans des Huvons. Aussi longue qu'une aiguille à tricoter, elle réclame Force 1.

", "notes": "", "category": "melee", "origin": "petitPeuple", "sizeMode": "fixe", "sizeValue": 4, "sizeModifier": 0, "damage": "4", "range": "", "properties": ["Force 1"], "restrictedRace": "Korrigan", "quantity": 1, "price": 900, "equipped": false } }, - { "name": "Fronde", "type": "arme", "img": "icons/svg/sword.svg", "system": { "description": "

Arme de tir simple du Petit Peuple.

", "notes": "", "category": "tir", "origin": "petitPeuple", "sizeMode": "variable", "sizeValue": 0, "sizeModifier": -1, "damage": "Taille -1", "range": "50", "properties": [], "restrictedRace": "", "quantity": 1, "price": 5, "equipped": false } }, - { "name": "Glaive", "type": "arme", "img": "icons/svg/sword.svg", "system": { "description": "

Arme de taille du Petit Peuple, listée sans propriété particulière.

", "notes": "", "category": "melee", "origin": "petitPeuple", "sizeMode": "variable", "sizeValue": 0, "sizeModifier": 0, "damage": "Taille +0", "range": "", "properties": [], "restrictedRace": "", "quantity": 1, "price": 180, "equipped": false } }, - { "name": "Hache", "type": "arme", "img": "icons/svg/sword.svg", "system": { "description": "

Hache standard du Petit Peuple.

", "notes": "", "category": "melee", "origin": "petitPeuple", "sizeMode": "variable", "sizeValue": 0, "sizeModifier": 0, "damage": "Taille +0", "range": "", "properties": [], "restrictedRace": "", "quantity": 1, "price": 270, "equipped": false } }, - { "name": "Hachette", "type": "arme", "img": "icons/svg/sword.svg", "system": { "description": "

Petite hache pouvant être lancée. Le tableau lui donne une portée de Taille x 10.

", "notes": "", "category": "jet", "origin": "petitPeuple", "sizeMode": "variable", "sizeValue": 0, "sizeModifier": -1, "damage": "Taille -1", "range": "Taille x 10", "properties": [], "restrictedRace": "", "quantity": 1, "price": 180, "equipped": false } }, - { "name": "Hymalamort", "type": "arme", "img": "icons/svg/sword.svg", "system": { "description": "

Gourdin hérissé de clous, sans doute l'arme issue de matériaux de géants la plus répandue. Brutale, elle demande de la force pour être arrachée du corps de l'adversaire.

", "notes": "", "category": "melee", "origin": "petitPeuple", "sizeMode": "variable", "sizeValue": 0, "sizeModifier": 0, "damage": "Taille +0", "range": "", "properties": [], "restrictedRace": "", "quantity": 1, "price": 24, "equipped": false } }, - { "name": "Lame coup de poing", "type": "arme", "img": "icons/svg/sword.svg", "system": { "description": "

Variante du coup de poing dotée d'une large lame dans le prolongement de la main, souvent vue dans les arènes de Ciméria.

", "notes": "", "category": "melee", "origin": "petitPeuple", "sizeMode": "variable", "sizeValue": 0, "sizeModifier": 0, "damage": "Taille +0", "range": "", "properties": [], "restrictedRace": "", "quantity": 1, "price": 180, "equipped": false } }, - { "name": "Lame d’Ichtys", "type": "arme", "img": "icons/svg/sword.svg", "system": { "description": "

Lame recourbée, symbole des Vivitins, remise aux prêtres d'Ichtys lors de leur intronisation. Les marins l'apprécient particulièrement.

", "notes": "", "category": "melee", "origin": "petitPeuple", "sizeMode": "variable", "sizeValue": 0, "sizeModifier": 0, "damage": "Taille +0", "range": "", "properties": [], "restrictedRace": "", "quantity": 1, "price": 360, "equipped": false } }, - { "name": "Lance plume", "type": "arme", "img": "icons/svg/sword.svg", "system": { "description": "

Lance ornée d'une plume taillée et incrustée. Si elle suit immédiatement un engagement, elle bénéficie gratuitement de la prime Blessure grave via Charge.

", "notes": "", "category": "melee", "origin": "petitPeuple", "sizeMode": "variable", "sizeValue": 0, "sizeModifier": 1, "damage": "Taille +1", "range": "", "properties": ["Charge"], "restrictedRace": "", "quantity": 1, "price": 270, "equipped": false } }, - { "name": "Mains nues", "type": "arme", "img": "icons/svg/sword.svg", "system": { "description": "

Entrée canonique du tableau des armes pour les attaques à mains nues.

", "notes": "", "category": "melee", "origin": "petitPeuple", "sizeMode": "variable", "sizeValue": 0, "sizeModifier": -1, "damage": "Taille -1", "range": "", "properties": ["Blessure légère"], "restrictedRace": "", "quantity": 1, "price": 0, "equipped": false } }, - { "name": "Masse", "type": "arme", "img": "icons/svg/sword.svg", "system": { "description": "

Masse standard du Petit Peuple. Le tableau de prix la nomme Masse en os.

", "notes": "", "category": "melee", "origin": "petitPeuple", "sizeMode": "variable", "sizeValue": 0, "sizeModifier": 0, "damage": "Taille +0", "range": "", "properties": [], "restrictedRace": "", "quantity": 1, "price": 12, "equipped": false } }, - { "name": "Masse d’arme", "type": "arme", "img": "icons/svg/sword.svg", "system": { "description": "

Masse d'arme du Petit Peuple, distincte de la simple masse.

", "notes": "", "category": "melee", "origin": "petitPeuple", "sizeMode": "variable", "sizeValue": 0, "sizeModifier": 0, "damage": "Taille +0", "range": "", "properties": [], "restrictedRace": "", "quantity": 1, "price": 360, "equipped": false } }, - { "name": "Poignard", "type": "arme", "img": "icons/svg/sword.svg", "system": { "description": "

Arme courte qui peut aussi être jetée. Le tableau lui donne une portée de Taille x 5.

", "notes": "", "category": "jet", "origin": "petitPeuple", "sizeMode": "variable", "sizeValue": 0, "sizeModifier": -1, "damage": "Taille -1", "range": "Taille x 5", "properties": [], "restrictedRace": "", "quantity": 1, "price": 90, "equipped": false } }, - { "name": "Piolet", "type": "arme", "img": "icons/svg/sword.svg", "system": { "description": "

Version martiale du piolet listée dans le tableau des armes. À distinguer du piolet de voyage vendu dans le matériel de voyage.

", "notes": "", "category": "melee", "origin": "petitPeuple", "sizeMode": "variable", "sizeValue": 0, "sizeModifier": 0, "damage": "Taille +0", "range": "", "properties": [], "restrictedRace": "", "quantity": 1, "price": 270, "equipped": false } }, - { "name": "Sabre sixt", "type": "arme", "img": "icons/svg/sword.svg", "system": { "description": "

Arme de prédilection de la noblesse des Sixts, souvent ornée de pierres précieuses et chargée de prestige.

", "notes": "", "category": "melee", "origin": "petitPeuple", "sizeMode": "variable", "sizeValue": 0, "sizeModifier": 0, "damage": "Taille +0", "range": "", "properties": [], "restrictedRace": "", "quantity": 1, "price": 450, "equipped": false } }, - { "name": "Serpe", "type": "arme", "img": "icons/svg/sword.svg", "system": { "description": "

Petite lame courbe du Petit Peuple.

", "notes": "", "category": "melee", "origin": "petitPeuple", "sizeMode": "variable", "sizeValue": 0, "sizeModifier": -1, "damage": "Taille -1", "range": "", "properties": [], "restrictedRace": "", "quantity": 1, "price": 135, "equipped": false } } + { + "name": "Aiguille à coudre", + "type": "arme", + "img": "icons/svg/sword.svg", + "system": { + "description": "", + "notes": "", + "category": "melee", + "origin": "geant", + "sizeMode": "fixe", + "sizeValue": 2, + "sizeModifier": 0, + "damage": "2", + "range": "", + "properties": [], + "restrictedRace": "", + "quantity": 1, + "price": 90, + "equipped": false + } + }, + { + "name": "Aiguille à tricoter", + "type": "arme", + "img": "icons/svg/sword.svg", + "system": { + "description": "", + "notes": "", + "category": "melee", + "origin": "geant", + "sizeMode": "fixe", + "sizeValue": 5, + "sizeModifier": 0, + "damage": "5", + "range": "", + "properties": [ + "Charge", + "Force 1" + ], + "restrictedRace": "", + "quantity": 1, + "price": 630, + "equipped": false + } + }, + { + "name": "Clef de géant", + "type": "arme", + "img": "icons/svg/sword.svg", + "system": { + "description": "", + "notes": "", + "category": "melee", + "origin": "geant", + "sizeMode": "plage", + "sizeValue": 3, + "sizeModifier": 0, + "damage": "3 à 5", + "range": "", + "properties": [], + "restrictedRace": "", + "quantity": 1, + "price": 450, + "equipped": false + } + }, + { + "name": "Couteau de géant", + "type": "arme", + "img": "icons/svg/sword.svg", + "system": { + "description": "", + "notes": "", + "category": "melee", + "origin": "geant", + "sizeMode": "fixe", + "sizeValue": 5, + "sizeModifier": 0, + "damage": "5", + "range": "", + "properties": [], + "restrictedRace": "", + "quantity": 1, + "price": 630, + "equipped": false + } + }, + { + "name": "Clou", + "type": "arme", + "img": "icons/svg/sword.svg", + "system": { + "description": "", + "notes": "", + "category": "melee", + "origin": "geant", + "sizeMode": "plage", + "sizeValue": 2, + "sizeModifier": 0, + "damage": "2 à 5", + "range": "", + "properties": [], + "restrictedRace": "", + "quantity": 1, + "price": 12, + "equipped": false + } + }, + { + "name": "Épingle à nourrice", + "type": "arme", + "img": "icons/svg/sword.svg", + "system": { + "description": "", + "notes": "", + "category": "melee", + "origin": "geant", + "sizeMode": "fixe", + "sizeValue": 2, + "sizeModifier": 0, + "damage": "2", + "range": "", + "properties": [], + "restrictedRace": "", + "quantity": 1, + "price": 360, + "equipped": false + } + }, + { + "name": "Fourchette", + "type": "arme", + "img": "icons/svg/sword.svg", + "system": { + "description": "", + "notes": "", + "category": "melee", + "origin": "geant", + "sizeMode": "plage", + "sizeValue": 4, + "sizeModifier": 0, + "damage": "4 à 5", + "range": "", + "properties": [], + "restrictedRace": "", + "quantity": 1, + "price": 630, + "equipped": false + } + }, + { + "name": "Grifdrachat", + "type": "arme", + "img": "icons/svg/sword.svg", + "system": { + "description": "", + "notes": "", + "category": "melee", + "origin": "geant", + "sizeMode": "fixe", + "sizeValue": 3, + "sizeModifier": 0, + "damage": "3", + "range": "", + "properties": [ + "Blessure précise" + ], + "restrictedRace": "", + "quantity": 1, + "price": 540, + "equipped": false + } + }, + { + "name": "Hameçon des Marches", + "type": "arme", + "img": "icons/svg/sword.svg", + "system": { + "description": "", + "notes": "", + "category": "melee", + "origin": "geant", + "sizeMode": "fixe", + "sizeValue": 2, + "sizeModifier": 0, + "damage": "2", + "range": "", + "properties": [], + "restrictedRace": "", + "quantity": 1, + "price": 21, + "equipped": false + } + }, + { + "name": "Marteau de tailleur", + "type": "arme", + "img": "icons/svg/sword.svg", + "system": { + "description": "", + "notes": "", + "category": "melee", + "origin": "geant", + "sizeMode": "plage", + "sizeValue": 4, + "sizeModifier": 0, + "damage": "4 à 5", + "range": "", + "properties": [], + "restrictedRace": "", + "quantity": 1, + "price": 0, + "equipped": false + } + }, + { + "name": "Paire de ciseaux", + "type": "arme", + "img": "icons/svg/sword.svg", + "system": { + "description": "", + "notes": "", + "category": "melee", + "origin": "geant", + "sizeMode": "plage", + "sizeValue": 4, + "sizeModifier": 0, + "damage": "4 à 5", + "range": "", + "properties": [ + "Attaque multiple", + "Force 3" + ], + "restrictedRace": "", + "quantity": 1, + "price": 540, + "equipped": false + } + }, + { + "name": "Akinakas", + "type": "arme", + "img": "icons/svg/sword.svg", + "system": { + "description": "", + "notes": "", + "category": "melee", + "origin": "petitPeuple", + "sizeMode": "variable", + "sizeValue": 0, + "sizeModifier": 0, + "damage": "Taille +0", + "range": "", + "properties": [ + "Blessure précise" + ], + "restrictedRace": "", + "quantity": 1, + "price": 900, + "equipped": false + } + }, + { + "name": "Arc", + "type": "arme", + "img": "icons/svg/sword.svg", + "system": { + "description": "", + "notes": "", + "category": "tir", + "origin": "petitPeuple", + "sizeMode": "variable", + "sizeValue": 0, + "sizeModifier": 0, + "damage": "Taille +0", + "range": "75", + "properties": [ + "Encocher une nouvelle flèche est une action libre" + ], + "restrictedRace": "", + "quantity": 1, + "price": 360, + "equipped": false + } + }, + { + "name": "Arbalète", + "type": "arme", + "img": "icons/svg/sword.svg", + "system": { + "description": "", + "notes": "", + "category": "tir", + "origin": "petitPeuple", + "sizeMode": "variable", + "sizeValue": 0, + "sizeModifier": 1, + "damage": "Taille +1", + "range": "100", + "properties": [ + "Encocher un nouveau carreau est une action unique" + ], + "restrictedRace": "", + "quantity": 1, + "price": 0, + "equipped": false + } + }, + { + "name": "Bâton de marche", + "type": "arme", + "img": "icons/svg/sword.svg", + "system": { + "description": "", + "notes": "", + "category": "melee", + "origin": "petitPeuple", + "sizeMode": "variable", + "sizeValue": 0, + "sizeModifier": 1, + "damage": "Taille +1", + "range": "", + "properties": [ + "Blessure non létale" + ], + "restrictedRace": "", + "quantity": 1, + "price": 10, + "equipped": false + } + }, + { + "name": "Coup de poing", + "type": "arme", + "img": "icons/svg/sword.svg", + "system": { + "description": "", + "notes": "", + "category": "melee", + "origin": "petitPeuple", + "sizeMode": "variable", + "sizeValue": 0, + "sizeModifier": -1, + "damage": "Taille -1", + "range": "", + "properties": [], + "restrictedRace": "", + "quantity": 1, + "price": 24, + "equipped": false + } + }, + { + "name": "Dague de Songiam", + "type": "arme", + "img": "icons/svg/sword.svg", + "system": { + "description": "", + "notes": "", + "category": "melee", + "origin": "petitPeuple", + "sizeMode": "variable", + "sizeValue": 0, + "sizeModifier": -1, + "damage": "Taille -1", + "range": "", + "properties": [ + "Discrétion +3 (en cas de fouille)", + "Blessure précise" + ], + "restrictedRace": "", + "quantity": 1, + "price": 270, + "equipped": false + } + }, + { + "name": "Dandegéant", + "type": "arme", + "img": "icons/svg/sword.svg", + "system": { + "description": "", + "notes": "", + "category": "melee", + "origin": "petitPeuple", + "sizeMode": "fixe", + "sizeValue": 4, + "sizeModifier": 0, + "damage": "4", + "range": "", + "properties": [], + "restrictedRace": "", + "quantity": 1, + "price": 720, + "equipped": false + } + }, + { + "name": "Épée", + "type": "arme", + "img": "icons/svg/sword.svg", + "system": { + "description": "", + "notes": "", + "category": "melee", + "origin": "petitPeuple", + "sizeMode": "variable", + "sizeValue": 0, + "sizeModifier": 0, + "damage": "Taille +0", + "range": "", + "properties": [], + "restrictedRace": "", + "quantity": 1, + "price": 360, + "equipped": false + } + }, + { + "name": "Espadon huvon", + "type": "arme", + "img": "icons/svg/sword.svg", + "system": { + "description": "", + "notes": "", + "category": "melee", + "origin": "petitPeuple", + "sizeMode": "fixe", + "sizeValue": 4, + "sizeModifier": 0, + "damage": "4", + "range": "", + "properties": [ + "Force 1" + ], + "restrictedRace": "Korrigan", + "quantity": 1, + "price": 900, + "equipped": false + } + }, + { + "name": "Fronde", + "type": "arme", + "img": "icons/svg/sword.svg", + "system": { + "description": "", + "notes": "", + "category": "tir", + "origin": "petitPeuple", + "sizeMode": "variable", + "sizeValue": 0, + "sizeModifier": -1, + "damage": "Taille -1", + "range": "50", + "properties": [], + "restrictedRace": "", + "quantity": 1, + "price": 5, + "equipped": false + } + }, + { + "name": "Glaive", + "type": "arme", + "img": "icons/svg/sword.svg", + "system": { + "description": "", + "notes": "", + "category": "melee", + "origin": "petitPeuple", + "sizeMode": "variable", + "sizeValue": 0, + "sizeModifier": 0, + "damage": "Taille +0", + "range": "", + "properties": [], + "restrictedRace": "", + "quantity": 1, + "price": 180, + "equipped": false + } + }, + { + "name": "Hache", + "type": "arme", + "img": "icons/svg/sword.svg", + "system": { + "description": "", + "notes": "", + "category": "melee", + "origin": "petitPeuple", + "sizeMode": "variable", + "sizeValue": 0, + "sizeModifier": 0, + "damage": "Taille +0", + "range": "", + "properties": [], + "restrictedRace": "", + "quantity": 1, + "price": 270, + "equipped": false + } + }, + { + "name": "Hachette", + "type": "arme", + "img": "icons/svg/sword.svg", + "system": { + "description": "", + "notes": "", + "category": "jet", + "origin": "petitPeuple", + "sizeMode": "variable", + "sizeValue": 0, + "sizeModifier": -1, + "damage": "Taille -1", + "range": "Taille x 10", + "properties": [], + "restrictedRace": "", + "quantity": 1, + "price": 180, + "equipped": false + } + }, + { + "name": "Hymalamort", + "type": "arme", + "img": "icons/svg/sword.svg", + "system": { + "description": "", + "notes": "", + "category": "melee", + "origin": "petitPeuple", + "sizeMode": "variable", + "sizeValue": 0, + "sizeModifier": 0, + "damage": "Taille +0", + "range": "", + "properties": [], + "restrictedRace": "", + "quantity": 1, + "price": 24, + "equipped": false + } + }, + { + "name": "Lame coup de poing", + "type": "arme", + "img": "icons/svg/sword.svg", + "system": { + "description": "", + "notes": "", + "category": "melee", + "origin": "petitPeuple", + "sizeMode": "variable", + "sizeValue": 0, + "sizeModifier": 0, + "damage": "Taille +0", + "range": "", + "properties": [], + "restrictedRace": "", + "quantity": 1, + "price": 180, + "equipped": false + } + }, + { + "name": "Lame d’Ichtys", + "type": "arme", + "img": "icons/svg/sword.svg", + "system": { + "description": "", + "notes": "", + "category": "melee", + "origin": "petitPeuple", + "sizeMode": "variable", + "sizeValue": 0, + "sizeModifier": 0, + "damage": "Taille +0", + "range": "", + "properties": [], + "restrictedRace": "", + "quantity": 1, + "price": 360, + "equipped": false + } + }, + { + "name": "Lance plume", + "type": "arme", + "img": "icons/svg/sword.svg", + "system": { + "description": "", + "notes": "", + "category": "melee", + "origin": "petitPeuple", + "sizeMode": "variable", + "sizeValue": 0, + "sizeModifier": 1, + "damage": "Taille +1", + "range": "", + "properties": [ + "Charge" + ], + "restrictedRace": "", + "quantity": 1, + "price": 270, + "equipped": false + } + }, + { + "name": "Mains nues", + "type": "arme", + "img": "icons/svg/sword.svg", + "system": { + "description": "", + "notes": "", + "category": "melee", + "origin": "petitPeuple", + "sizeMode": "variable", + "sizeValue": 0, + "sizeModifier": -1, + "damage": "Taille -1", + "range": "", + "properties": [ + "Blessure légère" + ], + "restrictedRace": "", + "quantity": 1, + "price": 0, + "equipped": false + } + }, + { + "name": "Masse", + "type": "arme", + "img": "icons/svg/sword.svg", + "system": { + "description": "", + "notes": "", + "category": "melee", + "origin": "petitPeuple", + "sizeMode": "variable", + "sizeValue": 0, + "sizeModifier": 0, + "damage": "Taille +0", + "range": "", + "properties": [], + "restrictedRace": "", + "quantity": 1, + "price": 12, + "equipped": false + } + }, + { + "name": "Masse d’arme", + "type": "arme", + "img": "icons/svg/sword.svg", + "system": { + "description": "", + "notes": "", + "category": "melee", + "origin": "petitPeuple", + "sizeMode": "variable", + "sizeValue": 0, + "sizeModifier": 0, + "damage": "Taille +0", + "range": "", + "properties": [], + "restrictedRace": "", + "quantity": 1, + "price": 360, + "equipped": false + } + }, + { + "name": "Poignard", + "type": "arme", + "img": "icons/svg/sword.svg", + "system": { + "description": "", + "notes": "", + "category": "jet", + "origin": "petitPeuple", + "sizeMode": "variable", + "sizeValue": 0, + "sizeModifier": -1, + "damage": "Taille -1", + "range": "Taille x 5", + "properties": [], + "restrictedRace": "", + "quantity": 1, + "price": 90, + "equipped": false + } + }, + { + "name": "Piolet", + "type": "arme", + "img": "icons/svg/sword.svg", + "system": { + "description": "", + "notes": "", + "category": "melee", + "origin": "petitPeuple", + "sizeMode": "variable", + "sizeValue": 0, + "sizeModifier": 0, + "damage": "Taille +0", + "range": "", + "properties": [], + "restrictedRace": "", + "quantity": 1, + "price": 270, + "equipped": false + } + }, + { + "name": "Sabre sixt", + "type": "arme", + "img": "icons/svg/sword.svg", + "system": { + "description": "", + "notes": "", + "category": "melee", + "origin": "petitPeuple", + "sizeMode": "variable", + "sizeValue": 0, + "sizeModifier": 0, + "damage": "Taille +0", + "range": "", + "properties": [], + "restrictedRace": "", + "quantity": 1, + "price": 450, + "equipped": false + } + }, + { + "name": "Serpe", + "type": "arme", + "img": "icons/svg/sword.svg", + "system": { + "description": "", + "notes": "", + "category": "melee", + "origin": "petitPeuple", + "sizeMode": "variable", + "sizeValue": 0, + "sizeModifier": -1, + "damage": "Taille -1", + "range": "", + "properties": [], + "restrictedRace": "", + "quantity": 1, + "price": 135, + "equipped": false + } + } ] diff --git a/packs-src/armures-sample.json b/packs-src/armures-sample.json index ec8b4dd..f22a9e1 100644 --- a/packs-src/armures-sample.json +++ b/packs-src/armures-sample.json @@ -1,5 +1,50 @@ [ - { "name": "Protégé", "type": "armure", "img": "icons/svg/shield.svg", "system": { "description": "

État d'équipement léger : bouclier simple, quelques pièces de défense ou protection souple.

", "state": "protégé", "protection": 1, "physicalPenalty": 1, "initiativePenalty": 1, "quantity": 1, "price": 0, "equipped": false } }, - { "name": "Harnaché", "type": "armure", "img": "icons/svg/shield.svg", "system": { "description": "

État d'équipement intermédiaire combinant plusieurs pièces d'armure.

", "state": "harnaché", "protection": 2, "physicalPenalty": 2, "initiativePenalty": 2, "quantity": 1, "price": 0, "equipped": false } }, - { "name": "Bardé", "type": "armure", "img": "icons/svg/shield.svg", "system": { "description": "

État d'équipement lourd et très encombrant, correspondant au niveau maximal du livre de base.

", "state": "bardé", "protection": 3, "physicalPenalty": 3, "initiativePenalty": 3, "quantity": 1, "price": 0, "equipped": false } } + { + "name": "Protégé", + "type": "armure", + "img": "icons/svg/shield.svg", + "system": { + "description": "", + "state": "protégé", + "protection": 1, + "physicalPenalty": 1, + "initiativePenalty": 1, + "quantity": 1, + "price": 0, + "equipped": false, + "notes": "" + } + }, + { + "name": "Harnaché", + "type": "armure", + "img": "icons/svg/shield.svg", + "system": { + "description": "", + "state": "harnaché", + "protection": 2, + "physicalPenalty": 2, + "initiativePenalty": 2, + "quantity": 1, + "price": 0, + "equipped": false, + "notes": "" + } + }, + { + "name": "Bardé", + "type": "armure", + "img": "icons/svg/shield.svg", + "system": { + "description": "", + "state": "bardé", + "protection": 3, + "physicalPenalty": 3, + "initiativePenalty": 3, + "quantity": 1, + "price": 0, + "equipped": false, + "notes": "" + } + } ] diff --git a/packs-src/armures.json b/packs-src/armures.json index 4f0cd56..93f5619 100644 --- a/packs-src/armures.json +++ b/packs-src/armures.json @@ -4,8 +4,8 @@ "type": "armure", "img": "icons/svg/shield.svg", "system": { - "description": "

État d'armure légère du livre de base. Il correspond à un personnage équipé de quelques pièces défensives seulement : rondache, casque, bouton de géant, cuir léger ou pièces disparates.

", - "notes": "

Le chapitre 5 donne surtout une table de prix par pièce. Cette entrée sert de profil prêt à jouer fidèle à la règle : protection 1, malus physique 1, malus d'initiative 1.

", + "description": "", + "notes": "", "state": "protege", "protection": 1, "physicalPenalty": 1, @@ -20,8 +20,8 @@ "type": "armure", "img": "icons/svg/shield.svg", "system": { - "description": "

État d'armure intermédiaire du livre de base. Il représente un personnage réellement équipé : cuirasse, jambières, pavois ou ensemble cohérent de pièces de protection.

", - "notes": "

Le livre ne fixe pas de mécanique détaillée par pièce ; il donne un état global. Cette entrée correspond au profil standard de protection 2.

", + "description": "", + "notes": "", "state": "harnache", "protection": 2, "physicalPenalty": 2, @@ -36,8 +36,8 @@ "type": "armure", "img": "icons/svg/shield.svg", "system": { - "description": "

État d'armure lourde du livre de base. Il correspond à un personnage abondamment protégé, jusqu'à l'armure complète.

", - "notes": "

Profil abstrait mais canonique : protection 3, malus physique 3, malus d'initiative 3. À utiliser pour refléter les personnages les plus couverts sans surdétailler chaque pièce.

", + "description": "", + "notes": "", "state": "barde", "protection": 3, "physicalPenalty": 3, diff --git a/packs-src/competences.json b/packs-src/competences.json index 244b691..6ff3fe5 100644 --- a/packs-src/competences.json +++ b/packs-src/competences.json @@ -4,8 +4,8 @@ "type": "competence", "img": "icons/svg/book.svg", "system": { - "description": "

Mesure l'affinité du personnage avec les domaines artistiques. Un test permet de créer une œuvre, en reconnaître les techniques, en estimer l'intérêt ou mobiliser l'histoire de l'art.

", - "notes": "

Compétence à domaines : le nombre de domaines maîtrisés est égal à la base.

", + "description": "", + "notes": "", "key": "arts", "profileKey": "artiste", "base": 0, @@ -13,7 +13,19 @@ "domainSkill": true, "domains": [], "fixedDomains": [], - "exampleDomains": ["Architecture", "Calligraphie", "Chant", "Danse", "Dessin", "Littérature", "Musique", "Peinture", "Poésie", "Sculpture", "Théâtre"] + "exampleDomains": [ + "Architecture", + "Calligraphie", + "Chant", + "Danse", + "Dessin", + "Littérature", + "Musique", + "Peinture", + "Poésie", + "Sculpture", + "Théâtre" + ] } }, { @@ -21,7 +33,7 @@ "type": "competence", "img": "icons/svg/book.svg", "system": { - "description": "

Permet de saisir les intentions de quelqu'un, ce qu'il ressent, s'il ment, ou encore l'état émotionnel d'un animal.

", + "description": "", "notes": "", "key": "empathie", "profileKey": "artiste", @@ -38,7 +50,7 @@ "type": "competence", "img": "icons/svg/book.svg", "system": { - "description": "

Régit le charme, les négociations, le marchandage, le mensonge et la persuasion par l'éloquence.

", + "description": "", "notes": "", "key": "seduction", "profileKey": "artiste", @@ -55,7 +67,7 @@ "type": "competence", "img": "icons/svg/book.svg", "system": { - "description": "

Regroupe les actions physiques qui exigent coordination, agilité, équilibre et souffle, comme nager, courir ou sauter.

", + "description": "", "notes": "", "key": "athletisme", "profileKey": "athlete", @@ -72,7 +84,7 @@ "type": "competence", "img": "icons/svg/book.svg", "system": { - "description": "

Gouverne les réflexes, les courses de vitesse pure et toutes les actions où la célérité est essentielle. Elle sert aussi à déterminer l'initiative.

", + "description": "", "notes": "", "key": "rapidite", "profileKey": "athlete", @@ -89,7 +101,7 @@ "type": "competence", "img": "icons/svg/book.svg", "system": { - "description": "

Mesure la capacité à affirmer sa personnalité, garder son sang-froid et résister à la peur.

", + "description": "", "notes": "", "key": "volonte", "profileKey": "athlete", @@ -106,7 +118,7 @@ "type": "competence", "img": "icons/svg/book.svg", "system": { - "description": "

Permet d'être à l'écoute de son environnement : entendre, repérer un danger avant qu'il ne surgisse, suivre quelqu'un sans le perdre ou déceler des signes faibles.

", + "description": "", "notes": "", "key": "sens", "profileKey": "chasseur", @@ -123,7 +135,7 @@ "type": "competence", "img": "icons/svg/book.svg", "system": { - "description": "

Englobe la vie autonome en milieu sauvage : orientation, raccourcis, escalade, exploration de ruines, navigation aux étoiles, chasse, lecture de carte et pistage.

", + "description": "", "notes": "", "key": "survie", "profileKey": "chasseur", @@ -140,7 +152,7 @@ "type": "competence", "img": "icons/svg/book.svg", "system": { - "description": "

Régit l'usage des armes à distance.

", + "description": "", "notes": "", "key": "tir", "profileKey": "chasseur", @@ -157,8 +169,8 @@ "type": "competence", "img": "icons/svg/book.svg", "system": { - "description": "

Mesure l'habileté du personnage avec ses mains et des outils simples, pour fabriquer, réparer ou juger la qualité d'un objet.

", - "notes": "

Compétence à domaines : le nombre de domaines maîtrisés est égal à la base.

", + "description": "", + "notes": "", "key": "artisanat", "profileKey": "faiseur", "base": 0, @@ -166,7 +178,16 @@ "domainSkill": true, "domains": [], "fixedDomains": [], - "exampleDomains": ["Enluminure", "Forge", "Mécanique", "Menuiserie", "Peinture", "Restauration d’œuvres d’art", "Serrurerie", "Taille de pierre"] + "exampleDomains": [ + "Enluminure", + "Forge", + "Mécanique", + "Menuiserie", + "Peinture", + "Restauration d’œuvres d’art", + "Serrurerie", + "Taille de pierre" + ] } }, { @@ -174,7 +195,7 @@ "type": "competence", "img": "icons/svg/book.svg", "system": { - "description": "

Regroupe les facultés de logique et de raisonnement. On l'utilise pour résoudre un problème, décrypter un message, jouer aux échecs ou démêler une énigme.

", + "description": "", "notes": "", "key": "intellect", "profileKey": "faiseur", @@ -191,7 +212,7 @@ "type": "competence", "img": "icons/svg/book.svg", "system": { - "description": "

Regroupe les premiers soins, les soins journaliers, le diagnostic des maladies, la prescription de remèdes et la chirurgie.

", + "description": "", "notes": "", "key": "soins", "profileKey": "faiseur", @@ -208,7 +229,7 @@ "type": "competence", "img": "icons/svg/book.svg", "system": { - "description": "

Mesure l'aptitude à donner des ordres, inspirer loyauté ou peur, faire parler quelqu'un par intimidation ou soutenir un allié face à la peur.

", + "description": "", "notes": "", "key": "commandement", "profileKey": "forceNature", @@ -225,7 +246,7 @@ "type": "competence", "img": "icons/svg/book.svg", "system": { - "description": "

Permet de résister à la fatigue, de maintenir un effort prolongé et de rester éveillé de longues périodes.

", + "description": "", "notes": "", "key": "endurance", "profileKey": "forceNature", @@ -242,7 +263,7 @@ "type": "competence", "img": "icons/svg/book.svg", "system": { - "description": "

Régit les manifestations brutes de puissance physique : briser des liens, enfoncer une porte, soulever une charge ou tordre des barreaux.

", + "description": "", "notes": "", "key": "force", "profileKey": "forceNature", @@ -259,7 +280,7 @@ "type": "competence", "img": "icons/svg/book.svg", "system": { - "description": "

Mesure la faculté d'utiliser mains, pieds, tête, coudes et prises pour blesser, immobiliser ou faire tomber un adversaire.

", + "description": "", "notes": "", "key": "corpsacorps", "profileKey": "guerrier", @@ -276,7 +297,7 @@ "type": "competence", "img": "icons/svg/book.svg", "system": { - "description": "

Mesure l'aptitude martiale avec une arme en main, qu'il s'agisse d'une lame, d'une arme d'hast ou d'une arme contondante.

", + "description": "", "notes": "", "key": "melee", "profileKey": "guerrier", @@ -293,7 +314,7 @@ "type": "competence", "img": "icons/svg/book.svg", "system": { - "description": "

Détermine la capacité à débourrer, dresser et conduire des montures. Un personnage ne peut guider que des montures dont la taille ne dépasse la sienne que de 1 point.

", + "description": "", "notes": "", "key": "montures", "profileKey": "guerrier", @@ -310,8 +331,8 @@ "type": "competence", "img": "icons/svg/book.svg", "system": { - "description": "

Équivalent d'Érudition pour les sortilèges des doux rêveurs et des sœurs de l'effroi.

", - "notes": "

Compétence fermée : avec une base de 0, tout test impliquant cette compétence est automatiquement raté.

", + "description": "", + "notes": "", "key": "chimerisme", "profileKey": "mystique", "base": 0, @@ -327,8 +348,8 @@ "type": "competence", "img": "icons/svg/book.svg", "system": { - "description": "

Équivalent d'Érudition pour les sortilèges des mages des Songes et des mages noirs.

", - "notes": "

Compétence fermée : avec une base de 0, tout test impliquant cette compétence est automatiquement raté.

", + "description": "", + "notes": "", "key": "magie", "profileKey": "mystique", "base": 0, @@ -344,8 +365,8 @@ "type": "competence", "img": "icons/svg/book.svg", "system": { - "description": "

Équivalent d'Érudition pour les sortilèges des rêvirines et des sangfous, ainsi que pour la récolte de fils de Songes ou de Cauchemar et l'affrontement du Néphertine.

", - "notes": "

Compétence fermée : avec une base de 0, tout test impliquant cette compétence est automatiquement raté.

", + "description": "", + "notes": "", "key": "onirologie", "profileKey": "mystique", "base": 0, @@ -361,7 +382,7 @@ "type": "competence", "img": "icons/svg/book.svg", "system": { - "description": "

Permet de se cacher, de dissimuler un objet ou de se déplacer sans se faire repérer, souvent en opposition à Sens.

", + "description": "", "notes": "", "key": "discretion", "profileKey": "ombre", @@ -378,7 +399,7 @@ "type": "competence", "img": "icons/svg/book.svg", "system": { - "description": "

Met un personnage à l'abri des tirs ou des coups, aide à se libérer de liens et couvre cascades, acrobaties et voltige périlleuse.

", + "description": "", "notes": "", "key": "esquive", "profileKey": "ombre", @@ -395,7 +416,7 @@ "type": "competence", "img": "icons/svg/book.svg", "system": { - "description": "

Art de faire prendre les apparences pour la réalité : déguisement, faux documents, pickpocket et tours de passe-passe.

", + "description": "", "notes": "", "key": "subterfuge", "profileKey": "ombre", @@ -412,8 +433,8 @@ "type": "competence", "img": "icons/svg/book.svg", "system": { - "description": "

Regroupe les connaissances intellectuelles, leurs théories, leurs pratiques et leur histoire. Le domaine Lettres couvre la lecture, l'écriture et la recherche documentaire.

", - "notes": "

Compétence fermée et à domaines : le nombre de domaines maîtrisés est égal à la base.

", + "description": "", + "notes": "", "key": "erudition", "profileKey": "savant", "base": 0, @@ -421,7 +442,17 @@ "domainSkill": true, "domains": [], "fixedDomains": [], - "exampleDomains": ["Catholicisme", "Culte de Dame Nature", "Géographie", "Histoire", "Judaïsme", "Légendes", "Lettres", "Protestantisme", "Terra Incognita"] + "exampleDomains": [ + "Catholicisme", + "Culte de Dame Nature", + "Géographie", + "Histoire", + "Judaïsme", + "Légendes", + "Lettres", + "Protestantisme", + "Terra Incognita" + ] } }, { @@ -429,8 +460,8 @@ "type": "competence", "img": "icons/svg/book.svg", "system": { - "description": "

Rassemble les facultés de parler, traduire et contextualiser une ou plusieurs langues. Elle limite aussi les autres compétences dès qu'elles s'appliquent à un texte ou discours dans une langue connue.

", - "notes": "

Compétence fermée et à domaines : chaque langue est un domaine distinct, et le personnage est illettré par défaut hors domaine Lettres/formation appropriée.

", + "description": "", + "notes": "", "key": "langues", "profileKey": "savant", "base": 0, @@ -438,7 +469,15 @@ "domainSkill": true, "domains": [], "fixedDomains": [], - "exampleDomains": ["Chimérique", "Jargon des likias", "Latin", "Lutin", "Oc", "Vieux lutin", "Velu nuton"] + "exampleDomains": [ + "Chimérique", + "Jargon des likias", + "Latin", + "Lutin", + "Oc", + "Vieux lutin", + "Velu nuton" + ] } }, { @@ -446,7 +485,7 @@ "type": "competence", "img": "icons/svg/book.svg", "system": { - "description": "

Science de la définition d'objectifs et des moyens pour les atteindre. Elle sert à planifier une action complexe et à comprendre les buts d'une organisation ou d'un adversaire.

", + "description": "", "notes": "", "key": "strategie", "profileKey": "savant", diff --git a/packs-src/equipements-sample.json b/packs-src/equipements-sample.json index 34c24a4..8725764 100644 --- a/packs-src/equipements-sample.json +++ b/packs-src/equipements-sample.json @@ -1,12 +1,172 @@ [ - { "name": "Bougie de géant", "type": "equipement", "img": "icons/svg/chest.svg", "system": { "description": "

Source de lumière simple à planter sur une pique.

", "category": "voyage", "quantity": 1, "price": 180, "bonus": "", "usage": "Éclairage", "lifespan": "", "equipped": false, "consumable": true } }, - { "name": "Dé à coudre en acier", "type": "equipement", "img": "icons/svg/chest.svg", "system": { "description": "

Brasero miniature portable utilisé sans laisser de trace de campement.

", "category": "voyage", "quantity": 1, "price": 15, "bonus": "", "usage": "Campement", "lifespan": "", "equipped": false, "consumable": false } }, - { "name": "Lampe à fée des nuits", "type": "equipement", "img": "icons/svg/chest.svg", "system": { "description": "

Lampe froide alimentée par une ou plusieurs fées des nuits captives.

", "category": "voyage", "quantity": 1, "price": 360, "bonus": "", "usage": "Éclairage", "lifespan": "Quelques mois", "equipped": false, "consumable": true } }, - { "name": "Corde", "type": "equipement", "img": "icons/svg/chest.svg", "system": { "description": "

Segment de corde de 50 à 70 cm prélevé sur les cordages des géants.

", "category": "voyage", "quantity": 1, "price": 3, "bonus": "", "usage": "Escalade", "lifespan": "", "equipped": false, "consumable": false } }, - { "name": "Grappin", "type": "equipement", "img": "icons/svg/chest.svg", "system": { "description": "

Souvent façonné dans un hameçon ou une broche de géant. Peut aussi servir d'arme de corps à corps.

", "category": "voyage", "quantity": 1, "price": 6, "bonus": "", "usage": "Escalade", "lifespan": "", "equipped": false, "consumable": false } }, - { "name": "Nécessaire d'entretien d'armes", "type": "equipement", "img": "icons/svg/chest.svg", "system": { "description": "

Sert à l'affûtage et à la prévention de la corrosion des armes.

", "category": "outil", "quantity": 1, "price": 0, "bonus": "", "usage": "Maintenance", "lifespan": "", "equipped": false, "consumable": false } }, - { "name": "Nécessaire à écriture / dessins", "type": "equipement", "img": "icons/svg/chest.svg", "system": { "description": "

Encre, plume et supports de fortune pour écrire, dessiner ou cartographier.

", "category": "outil", "quantity": 1, "price": 0, "bonus": "", "usage": "Écriture", "lifespan": "", "equipped": false, "consumable": false } }, - { "name": "Piolet", "type": "equipement", "img": "icons/svg/chest.svg", "system": { "description": "

Outil d'ascension accordant un bonus de +3 aux escalades adaptées.

", "category": "voyage", "quantity": 1, "price": 60, "bonus": "+3 escalade", "usage": "Ascension", "lifespan": "", "equipped": false, "consumable": false } }, - { "name": "Rikilin", "type": "equipement", "img": "icons/svg/chest.svg", "system": { "description": "

Chaussures de marche munies de crampons métalliques pour l'escalade.

", "category": "voyage", "quantity": 1, "price": 0, "bonus": "+3 escalade", "usage": "Ascension", "lifespan": "", "equipped": false, "consumable": false } }, - { "name": "Trousse de premiers soins", "type": "equipement", "img": "icons/svg/chest.svg", "system": { "description": "

Bandages, plantes désinfectantes et fioles de soins pour les premiers secours.

", "category": "voyage", "quantity": 1, "price": 0, "bonus": "", "usage": "Soins", "lifespan": "", "equipped": false, "consumable": true } } + { + "name": "Bougie de géant", + "type": "equipement", + "img": "icons/svg/chest.svg", + "system": { + "description": "", + "category": "voyage", + "quantity": 1, + "price": 180, + "bonus": "", + "usage": "Éclairage", + "lifespan": "", + "equipped": false, + "consumable": true, + "notes": "" + } + }, + { + "name": "Dé à coudre en acier", + "type": "equipement", + "img": "icons/svg/chest.svg", + "system": { + "description": "", + "category": "voyage", + "quantity": 1, + "price": 15, + "bonus": "", + "usage": "Campement", + "lifespan": "", + "equipped": false, + "consumable": false, + "notes": "" + } + }, + { + "name": "Lampe à fée des nuits", + "type": "equipement", + "img": "icons/svg/chest.svg", + "system": { + "description": "", + "category": "voyage", + "quantity": 1, + "price": 360, + "bonus": "", + "usage": "Éclairage", + "lifespan": "Quelques mois", + "equipped": false, + "consumable": true, + "notes": "" + } + }, + { + "name": "Corde", + "type": "equipement", + "img": "icons/svg/chest.svg", + "system": { + "description": "", + "category": "voyage", + "quantity": 1, + "price": 3, + "bonus": "", + "usage": "Escalade", + "lifespan": "", + "equipped": false, + "consumable": false, + "notes": "" + } + }, + { + "name": "Grappin", + "type": "equipement", + "img": "icons/svg/chest.svg", + "system": { + "description": "", + "category": "voyage", + "quantity": 1, + "price": 6, + "bonus": "", + "usage": "Escalade", + "lifespan": "", + "equipped": false, + "consumable": false, + "notes": "" + } + }, + { + "name": "Nécessaire d'entretien d'armes", + "type": "equipement", + "img": "icons/svg/chest.svg", + "system": { + "description": "", + "category": "outil", + "quantity": 1, + "price": 0, + "bonus": "", + "usage": "Maintenance", + "lifespan": "", + "equipped": false, + "consumable": false, + "notes": "" + } + }, + { + "name": "Nécessaire à écriture / dessins", + "type": "equipement", + "img": "icons/svg/chest.svg", + "system": { + "description": "", + "category": "outil", + "quantity": 1, + "price": 0, + "bonus": "", + "usage": "Écriture", + "lifespan": "", + "equipped": false, + "consumable": false, + "notes": "" + } + }, + { + "name": "Piolet", + "type": "equipement", + "img": "icons/svg/chest.svg", + "system": { + "description": "", + "category": "voyage", + "quantity": 1, + "price": 60, + "bonus": "+3 escalade", + "usage": "Ascension", + "lifespan": "", + "equipped": false, + "consumable": false, + "notes": "" + } + }, + { + "name": "Rikilin", + "type": "equipement", + "img": "icons/svg/chest.svg", + "system": { + "description": "", + "category": "voyage", + "quantity": 1, + "price": 0, + "bonus": "+3 escalade", + "usage": "Ascension", + "lifespan": "", + "equipped": false, + "consumable": false, + "notes": "" + } + }, + { + "name": "Trousse de premiers soins", + "type": "equipement", + "img": "icons/svg/chest.svg", + "system": { + "description": "", + "category": "voyage", + "quantity": 1, + "price": 0, + "bonus": "", + "usage": "Soins", + "lifespan": "", + "equipped": false, + "consumable": true, + "notes": "" + } + } ] diff --git a/packs-src/equipements.json b/packs-src/equipements.json index 11e90e8..75aa4de 100644 --- a/packs-src/equipements.json +++ b/packs-src/equipements.json @@ -4,8 +4,8 @@ "type": "equipement", "img": "icons/svg/chest.svg", "system": { - "description": "

Lampe inspirée des lanternes-tempête des géants. Elle diffuse une lumière froide sans chaleur grâce à une ou plusieurs fées des nuits capturées.

", - "notes": "

La lumière décroît à mesure que la créature enfermée dépérit.

", + "description": "", + "notes": "", "category": "voyage", "quantity": 1, "price": 360, @@ -21,7 +21,7 @@ "type": "equipement", "img": "icons/svg/chest.svg", "system": { - "description": "

Dé à coudre en acier de géant utilisé comme brasero portatif, pratique pour ne laisser presque aucune trace de campement.

", + "description": "", "notes": "", "category": "voyage", "quantity": 1, @@ -38,7 +38,7 @@ "type": "equipement", "img": "icons/svg/chest.svg", "system": { - "description": "

Hameçon, épingle à nourrice ou broche de géant affûtée servant à l'escalade et, au besoin, au combat rapproché.

", + "description": "", "notes": "", "category": "voyage", "quantity": 1, @@ -55,7 +55,7 @@ "type": "equipement", "img": "icons/svg/chest.svg", "system": { - "description": "

Segment de corde de haute qualité prélevé sur les cordages des navires des géants.

", + "description": "", "notes": "", "category": "voyage", "quantity": 1, @@ -72,7 +72,7 @@ "type": "equipement", "img": "icons/svg/chest.svg", "system": { - "description": "

Petite canne hérissée de piques, utile pour grimper sur les hauteurs du Giganti, dans les Drumes ou sur les poutres des maisons des géants.

", + "description": "", "notes": "", "category": "voyage", "quantity": 1, @@ -89,8 +89,8 @@ "type": "equipement", "img": "icons/svg/chest.svg", "system": { - "description": "

Chaussures de marche à crampons métalliques conçues pour l'escalade de bois, de poutres ou de surfaces raides.

", - "notes": "

Elles sont lourdes et ne se portent en pratique que pour l'ascension.

", + "description": "", + "notes": "", "category": "voyage", "quantity": 1, "price": 0, @@ -106,7 +106,7 @@ "type": "equipement", "img": "icons/svg/chest.svg", "system": { - "description": "

Petite sacoche de secours contenant bandages, toiles d'araignée cicatrisantes, plantes désinfectantes et huiles essentielles contre les parasites.

", + "description": "", "notes": "", "category": "soin", "quantity": 1, @@ -123,7 +123,7 @@ "type": "equipement", "img": "icons/svg/chest.svg", "system": { - "description": "

Kit d'affûtage et de protection contre la corrosion, indispensable pour garder des armes fiables en Terra Incognita.

", + "description": "", "notes": "", "category": "survie", "quantity": 1, @@ -140,8 +140,8 @@ "type": "equipement", "img": "icons/svg/chest.svg", "system": { - "description": "

Encre, plume et supports d'écriture pour prendre des notes, dessiner ou cartographier.

", - "notes": "

Le livre le décrit comme un peu d'encre dans une fiole bien fermée, des parchemins et parfois du papier volé aux géants.

", + "description": "", + "notes": "", "category": "ecriture", "quantity": 1, "price": 0, @@ -157,8 +157,8 @@ "type": "equipement", "img": "icons/svg/chest.svg", "system": { - "description": "

Bougie de géant, souvent plantée sur une lance ou une pique pour éclairer les voyages nocturnes.

", - "notes": "

Le livre insiste sur le risque d'incendie.

", + "description": "", + "notes": "", "category": "butin", "quantity": 1, "price": 180, @@ -174,7 +174,7 @@ "type": "equipement", "img": "icons/svg/chest.svg", "system": { - "description": "

Source de lumière plus modeste que la bougie de géant, mais toujours utile en expédition.

", + "description": "", "notes": "", "category": "butin", "quantity": 1, @@ -191,7 +191,7 @@ "type": "equipement", "img": "icons/svg/chest.svg", "system": { - "description": "

Dérobé aux géants, ce dé à coudre peut être revendu, détourné ou recyclé en brasero.

", + "description": "", "notes": "", "category": "butin", "quantity": 1, @@ -208,7 +208,7 @@ "type": "equipement", "img": "icons/svg/chest.svg", "system": { - "description": "

Bouton de géant récupéré comme bien de valeur, matériau ou future rondache improvisée.

", + "description": "", "notes": "", "category": "butin", "quantity": 1, @@ -225,7 +225,7 @@ "type": "equipement", "img": "icons/svg/chest.svg", "system": { - "description": "

Lot de bons cordages prélevés sur les navires des géants.

", + "description": "", "notes": "", "category": "butin", "quantity": 1, @@ -242,7 +242,7 @@ "type": "equipement", "img": "icons/svg/chest.svg", "system": { - "description": "

Éclats de miroir géant, utiles autant pour l'artisanat que pour certains tours de lumière ou de repérage.

", + "description": "", "notes": "", "category": "butin", "quantity": 1, @@ -259,7 +259,7 @@ "type": "equipement", "img": "icons/svg/chest.svg", "system": { - "description": "

Éclats de verre géant récupérés pour la fabrication, le troc ou certaines improvisations dangereuses.

", + "description": "", "notes": "", "category": "butin", "quantity": 1, @@ -276,7 +276,7 @@ "type": "equipement", "img": "icons/svg/chest.svg", "system": { - "description": "

Morceaux de textile précieux dérobés aux géants, recherchés pour leur finesse et leur rareté.

", + "description": "", "notes": "", "category": "butin", "quantity": 1, @@ -293,7 +293,7 @@ "type": "equipement", "img": "icons/svg/chest.svg", "system": { - "description": "

Coupons de tissu géant particulièrement utiles pour la couture, le troc ou la fabrication d'abris improvisés.

", + "description": "", "notes": "", "category": "butin", "quantity": 1, @@ -310,7 +310,7 @@ "type": "equipement", "img": "icons/svg/chest.svg", "system": { - "description": "

Supports d'écriture volés aux géants, rares et précieux pour qui veut tenir journal, archives ou cartes.

", + "description": "", "notes": "", "category": "ecriture", "quantity": 1, @@ -327,7 +327,7 @@ "type": "equipement", "img": "icons/svg/chest.svg", "system": { - "description": "

Grande plume de géant pouvant servir à l'écriture, à l'apparat ou à certains bricolages.

", + "description": "", "notes": "", "category": "ecriture", "quantity": 1, @@ -344,7 +344,7 @@ "type": "equipement", "img": "icons/svg/chest.svg", "system": { - "description": "

Encrier dérobé aux géants, précieux pour l'écriture et la cartographie.

", + "description": "", "notes": "", "category": "ecriture", "quantity": 1, @@ -361,7 +361,7 @@ "type": "equipement", "img": "icons/svg/chest.svg", "system": { - "description": "

Bijou géant d'une valeur exceptionnelle dans l'économie du Petit Peuple.

", + "description": "", "notes": "", "category": "butin", "quantity": 1, @@ -378,7 +378,7 @@ "type": "equipement", "img": "icons/svg/chest.svg", "system": { - "description": "

Parure géante extrêmement recherchée, autant comme richesse portable que comme matériau précieux.

", + "description": "", "notes": "", "category": "butin", "quantity": 1, @@ -395,8 +395,8 @@ "type": "equipement", "img": "icons/svg/chest.svg", "system": { - "description": "

Monture dressée utilisable par le Petit Peuple selon la table des prix.

", - "notes": "

Pré-créée comme équipement faute de type d'item dédié aux montures.

", + "description": "", + "notes": "", "category": "monture", "quantity": 1, "price": 5400, @@ -412,8 +412,8 @@ "type": "equipement", "img": "icons/svg/chest.svg", "system": { - "description": "

Monture dressée listée dans la table des prix du chapitre 5.

", - "notes": "

Pré-créée comme équipement faute de type d'item dédié aux montures.

", + "description": "", + "notes": "", "category": "monture", "quantity": 1, "price": 118000, @@ -429,8 +429,8 @@ "type": "equipement", "img": "icons/svg/chest.svg", "system": { - "description": "

Monture dressée volante de la table des prix.

", - "notes": "

Pré-créée comme équipement faute de type d'item dédié aux montures.

", + "description": "", + "notes": "", "category": "monture", "quantity": 1, "price": 5400, @@ -446,8 +446,8 @@ "type": "equipement", "img": "icons/svg/chest.svg", "system": { - "description": "

Oiseau dressé mentionné dans la table des montures du livre de base.

", - "notes": "

Pré-créé comme équipement faute de type d'item dédié aux montures.

", + "description": "", + "notes": "", "category": "monture", "quantity": 1, "price": 6300, @@ -463,8 +463,8 @@ "type": "equipement", "img": "icons/svg/chest.svg", "system": { - "description": "

Amphibien dressé prévu par la table des montures.

", - "notes": "

Pré-créé comme équipement faute de type d'item dédié aux montures.

", + "description": "", + "notes": "", "category": "monture", "quantity": 1, "price": 4500, @@ -480,8 +480,8 @@ "type": "equipement", "img": "icons/svg/chest.svg", "system": { - "description": "

Monture dressée listée dans le chapitre des prix.

", - "notes": "

Pré-créée comme équipement faute de type d'item dédié aux montures.

", + "description": "", + "notes": "", "category": "monture", "quantity": 1, "price": 7200, @@ -497,8 +497,8 @@ "type": "equipement", "img": "icons/svg/chest.svg", "system": { - "description": "

Petite monture nerveuse mentionnée dans la table des montures dressées.

", - "notes": "

Pré-créée comme équipement faute de type d'item dédié aux montures.

", + "description": "", + "notes": "", "category": "monture", "quantity": 1, "price": 6300, @@ -514,8 +514,8 @@ "type": "equipement", "img": "icons/svg/chest.svg", "system": { - "description": "

Monture dressée nocturne du chapitre 5.

", - "notes": "

Pré-créée comme équipement faute de type d'item dédié aux montures.

", + "description": "", + "notes": "", "category": "monture", "quantity": 1, "price": 3600, @@ -531,8 +531,8 @@ "type": "equipement", "img": "icons/svg/chest.svg", "system": { - "description": "

Monture dressée reptilienne listée dans les prix.

", - "notes": "

Pré-créée comme équipement faute de type d'item dédié aux montures.

", + "description": "", + "notes": "", "category": "monture", "quantity": 1, "price": 4500, @@ -548,8 +548,8 @@ "type": "equipement", "img": "icons/svg/chest.svg", "system": { - "description": "

Petit oiseau dressé, peu coûteux relativement aux autres montures du tableau.

", - "notes": "

Pré-créé comme équipement faute de type d'item dédié aux montures.

", + "description": "", + "notes": "", "category": "monture", "quantity": 1, "price": 2700, @@ -565,8 +565,8 @@ "type": "equipement", "img": "icons/svg/chest.svg", "system": { - "description": "

Monture dressée fréquente ou du moins familière dans la table du livre.

", - "notes": "

Pré-créée comme équipement faute de type d'item dédié aux montures.

", + "description": "", + "notes": "", "category": "monture", "quantity": 1, "price": 5400, @@ -582,8 +582,8 @@ "type": "equipement", "img": "icons/svg/chest.svg", "system": { - "description": "

Plus petite monture dressée de la table des prix.

", - "notes": "

Pré-créée comme équipement faute de type d'item dédié aux montures.

", + "description": "", + "notes": "", "category": "monture", "quantity": 1, "price": 900, diff --git a/packs-src/metiers.json b/packs-src/metiers.json index 5cecddd..51cca55 100644 --- a/packs-src/metiers.json +++ b/packs-src/metiers.json @@ -4,25 +4,91 @@ "type": "metier", "img": "icons/svg/upgrade.svg", "system": { - "description": "

Puissant magicien du Petit Peuple et acteur majeur de sa survie en Terra Incognita.

", - "specialRules": "

Possède 3 sortilèges de magie de Songes et 3 de Cauchemar à la création.

", - "roleplayNotes": "

Le mage des Songes est une figure importante et souvent respectée, dépositaire d'une magie utile à la survie collective.

", + "description": "", + "specialRules": "", + "roleplayNotes": "", "skillBonuses": [ - { "key": "magie", "alternativeKeys": [], "base": 3, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "intellect", "alternativeKeys": [], "base": 3, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "erudition", "alternativeKeys": [], "base": 1, "domainsGranted": ["Lettres"], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "volonte", "alternativeKeys": [], "base": 1, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" } + { + "key": "magie", + "alternativeKeys": [], + "base": 3, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "intellect", + "alternativeKeys": [], + "base": 3, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "erudition", + "alternativeKeys": [], + "base": 1, + "domainsGranted": [ + "Lettres" + ], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "volonte", + "alternativeKeys": [], + "base": 1, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + } ], "startingEquipment": [ - { "name": "Sphère de verre contenant 1 fil de Songes", "type": "equipement", "quantity": 3, "details": "", "choiceText": "", "ecorces": 0 }, - { "name": "Arme", "type": "arme", "quantity": 1, "details": "", "choiceText": "Arme au choix", "ecorces": 0 }, - { "name": "Bourse", "type": "equipement", "quantity": 1, "details": "", "choiceText": "", "ecorces": 180 } + { + "name": "Sphère de verre contenant 1 fil de Songes", + "type": "equipement", + "quantity": 3, + "details": "", + "choiceText": "", + "ecorces": 0 + }, + { + "name": "Arme", + "type": "arme", + "quantity": 1, + "details": "", + "choiceText": "Arme au choix", + "ecorces": 0 + }, + { + "name": "Bourse", + "type": "equipement", + "quantity": 1, + "details": "", + "choiceText": "", + "ecorces": 180 + } ], "spellGrants": [ - { "tradition": "magie", "skillKey": "magie", "polarity": "songes", "amount": 3 }, - { "tradition": "magie", "skillKey": "magie", "polarity": "cauchemar", "amount": 3 } + { + "tradition": "magie", + "skillKey": "magie", + "polarity": "songes", + "amount": 3 + }, + { + "tradition": "magie", + "skillKey": "magie", + "polarity": "cauchemar", + "amount": 3 + } ], - "revenues": { "beginner": 30, "intermediate": 90, "expert": 450 } + "revenues": { + "beginner": 30, + "intermediate": 90, + "expert": 450 + }, + "notes": "" } }, { @@ -30,26 +96,97 @@ "type": "metier", "img": "icons/svg/upgrade.svg", "system": { - "description": "

Guerrier des Songes chargé de récolter les rêves des géants.

", - "specialRules": "

Connaît 1 sortilège d'Onirologie de Songes et 1 de Cauchemar.

", - "roleplayNotes": "

Les rêvirines sont des spécialistes des dormeurs géants et des filaments de Songe, à la fois magiciens et prédateurs de rêves.

", + "description": "", + "specialRules": "", + "roleplayNotes": "", "skillBonuses": [ - { "key": "onirologie", "alternativeKeys": [], "base": 3, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "volonte", "alternativeKeys": [], "base": 3, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "magie", "alternativeKeys": [], "base": 1, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "endurance", "alternativeKeys": [], "base": 1, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" } + { + "key": "onirologie", + "alternativeKeys": [], + "base": 3, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "volonte", + "alternativeKeys": [], + "base": 3, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "magie", + "alternativeKeys": [], + "base": 1, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "endurance", + "alternativeKeys": [], + "base": 1, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + } ], "startingEquipment": [ - { "name": "Sphère de verre contenant 1 fil de Songes", "type": "equipement", "quantity": 1, "details": "", "choiceText": "", "ecorces": 0 }, - { "name": "Arme", "type": "arme", "quantity": 1, "details": "", "choiceText": "Arme au choix", "ecorces": 0 }, - { "name": "Corde solide et très fine", "type": "equipement", "quantity": 1, "details": "Environ 3 mètres", "choiceText": "", "ecorces": 0 }, - { "name": "Bourse", "type": "equipement", "quantity": 1, "details": "", "choiceText": "", "ecorces": 180 } + { + "name": "Sphère de verre contenant 1 fil de Songes", + "type": "equipement", + "quantity": 1, + "details": "", + "choiceText": "", + "ecorces": 0 + }, + { + "name": "Arme", + "type": "arme", + "quantity": 1, + "details": "", + "choiceText": "Arme au choix", + "ecorces": 0 + }, + { + "name": "Corde solide et très fine", + "type": "equipement", + "quantity": 1, + "details": "Environ 3 mètres", + "choiceText": "", + "ecorces": 0 + }, + { + "name": "Bourse", + "type": "equipement", + "quantity": 1, + "details": "", + "choiceText": "", + "ecorces": 180 + } ], "spellGrants": [ - { "tradition": "onirologie", "skillKey": "onirologie", "polarity": "songes", "amount": 1 }, - { "tradition": "onirologie", "skillKey": "onirologie", "polarity": "cauchemar", "amount": 1 } + { + "tradition": "onirologie", + "skillKey": "onirologie", + "polarity": "songes", + "amount": 1 + }, + { + "tradition": "onirologie", + "skillKey": "onirologie", + "polarity": "cauchemar", + "amount": 1 + } ], - "revenues": { "beginner": 30, "intermediate": 100, "expert": 300 } + "revenues": { + "beginner": 30, + "intermediate": 100, + "expert": 300 + }, + "notes": "" } }, { @@ -57,23 +194,84 @@ "type": "metier", "img": "icons/svg/upgrade.svg", "system": { - "description": "

Dernier représentant d'un code d'honneur hérité d'Edenia.

", + "description": "", "specialRules": "", - "roleplayNotes": "

Les chevaliers errants vivent selon un idéal ancien, souvent moqué mais encore redoutable au combat.

", + "roleplayNotes": "", "skillBonuses": [ - { "key": "melee", "alternativeKeys": [], "base": 3, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "montures", "alternativeKeys": [], "base": 3, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "commandement", "alternativeKeys": [], "base": 1, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "volonte", "alternativeKeys": [], "base": 1, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" } + { + "key": "melee", + "alternativeKeys": [], + "base": 3, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "montures", + "alternativeKeys": [], + "base": 3, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "commandement", + "alternativeKeys": [], + "base": 1, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "volonte", + "alternativeKeys": [], + "base": 1, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + } ], "startingEquipment": [ - { "name": "Arme", "type": "arme", "quantity": 2, "details": "", "choiceText": "2 armes au choix", "ecorces": 0 }, - { "name": "Armure", "type": "armure", "quantity": 1, "details": "", "choiceText": "Armure au choix", "ecorces": 0 }, - { "name": "Monture", "type": "equipement", "quantity": 1, "details": "", "choiceText": "Monture au choix", "ecorces": 0 }, - { "name": "Bourse", "type": "equipement", "quantity": 1, "details": "", "choiceText": "", "ecorces": 6 } + { + "name": "Arme", + "type": "arme", + "quantity": 2, + "details": "", + "choiceText": "2 armes au choix", + "ecorces": 0 + }, + { + "name": "Armure", + "type": "armure", + "quantity": 1, + "details": "", + "choiceText": "Armure au choix", + "ecorces": 0 + }, + { + "name": "Monture", + "type": "equipement", + "quantity": 1, + "details": "", + "choiceText": "Monture au choix", + "ecorces": 0 + }, + { + "name": "Bourse", + "type": "equipement", + "quantity": 1, + "details": "", + "choiceText": "", + "ecorces": 6 + } ], "spellGrants": [], - "revenues": { "beginner": 3, "intermediate": 12, "expert": 30 } + "revenues": { + "beginner": 3, + "intermediate": 12, + "expert": 30 + }, + "notes": "" } }, { @@ -81,22 +279,76 @@ "type": "metier", "img": "icons/svg/upgrade.svg", "system": { - "description": "

Combattant de métier, formé à l'obéissance et aux conflits permanents de la Terra.

", + "description": "", "specialRules": "", - "roleplayNotes": "

Les mercenaires servent dans les grinides et vivent dans une logique de guerre, de hiérarchie et de solde.

", + "roleplayNotes": "", "skillBonuses": [ - { "key": "melee", "alternativeKeys": [], "base": 3, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "rapidite", "alternativeKeys": [], "base": 3, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "athletisme", "alternativeKeys": [], "base": 1, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "soins", "alternativeKeys": [], "base": 1, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" } + { + "key": "melee", + "alternativeKeys": [], + "base": 3, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "rapidite", + "alternativeKeys": [], + "base": 3, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "athletisme", + "alternativeKeys": [], + "base": 1, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "soins", + "alternativeKeys": [], + "base": 1, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + } ], "startingEquipment": [ - { "name": "Arme", "type": "arme", "quantity": 2, "details": "", "choiceText": "2 armes au choix", "ecorces": 0 }, - { "name": "Armure", "type": "armure", "quantity": 1, "details": "", "choiceText": "Armure au choix", "ecorces": 0 }, - { "name": "Bourse", "type": "equipement", "quantity": 1, "details": "", "choiceText": "", "ecorces": 18 } + { + "name": "Arme", + "type": "arme", + "quantity": 2, + "details": "", + "choiceText": "2 armes au choix", + "ecorces": 0 + }, + { + "name": "Armure", + "type": "armure", + "quantity": 1, + "details": "", + "choiceText": "Armure au choix", + "ecorces": 0 + }, + { + "name": "Bourse", + "type": "equipement", + "quantity": 1, + "details": "", + "choiceText": "", + "ecorces": 18 + } ], "spellGrants": [], - "revenues": { "beginner": 9, "intermediate": 30, "expert": 180 } + "revenues": { + "beginner": 9, + "intermediate": 30, + "expert": 180 + }, + "notes": "" } }, { @@ -104,22 +356,78 @@ "type": "metier", "img": "icons/svg/upgrade.svg", "system": { - "description": "

Voyageur, négociant et éclaireur des routes de la Terra Incognita.

", + "description": "", "specialRules": "", - "roleplayNotes": "

Les explorateurs-marchands parcourent sans cesse les routes dangereuses pour ravitailler le Petit Peuple.

", + "roleplayNotes": "", "skillBonuses": [ - { "key": "survie", "alternativeKeys": [], "base": 3, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "seduction", "alternativeKeys": [], "base": 3, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "artisanat", "alternativeKeys": ["arts"], "base": 1, "domainsGranted": [], "domainsToChoose": 1, "domainsChoiceText": "domaine au choix dans la compétence retenue" }, - { "key": "montures", "alternativeKeys": [], "base": 1, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" } + { + "key": "survie", + "alternativeKeys": [], + "base": 3, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "seduction", + "alternativeKeys": [], + "base": 3, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "artisanat", + "alternativeKeys": [ + "arts" + ], + "base": 1, + "domainsGranted": [], + "domainsToChoose": 1, + "domainsChoiceText": "domaine au choix dans la compétence retenue" + }, + { + "key": "montures", + "alternativeKeys": [], + "base": 1, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + } ], "startingEquipment": [ - { "name": "Arme", "type": "arme", "quantity": 1, "details": "", "choiceText": "Arme au choix", "ecorces": 0 }, - { "name": "Bel objet", "type": "equipement", "quantity": 1, "details": "", "choiceText": "Bel objet au choix", "ecorces": 0 }, - { "name": "Bourse", "type": "equipement", "quantity": 1, "details": "", "choiceText": "", "ecorces": 72 } + { + "name": "Arme", + "type": "arme", + "quantity": 1, + "details": "", + "choiceText": "Arme au choix", + "ecorces": 0 + }, + { + "name": "Bel objet", + "type": "equipement", + "quantity": 1, + "details": "", + "choiceText": "Bel objet au choix", + "ecorces": 0 + }, + { + "name": "Bourse", + "type": "equipement", + "quantity": 1, + "details": "", + "choiceText": "", + "ecorces": 72 + } ], "spellGrants": [], - "revenues": { "beginner": 18, "intermediate": 60, "expert": 360 } + "revenues": { + "beginner": 18, + "intermediate": 60, + "expert": 360 + }, + "notes": "" } }, { @@ -127,23 +435,90 @@ "type": "metier", "img": "icons/svg/upgrade.svg", "system": { - "description": "

Observateur curieux, collectionneur de cartes et d'usages des géants.

", + "description": "", "specialRules": "", - "roleplayNotes": "

Le cartographe observe les géants, leurs lieux et leurs bibliothèques avec une curiosité méthodique.

", + "roleplayNotes": "", "skillBonuses": [ - { "key": "erudition", "alternativeKeys": [], "base": 3, "domainsGranted": ["Géants", "Lettres", "Terra Incognita"], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "survie", "alternativeKeys": [], "base": 3, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "artisanat", "alternativeKeys": [], "base": 1, "domainsGranted": ["Cartographie"], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "endurance", "alternativeKeys": [], "base": 1, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" } + { + "key": "erudition", + "alternativeKeys": [], + "base": 3, + "domainsGranted": [ + "Géants", + "Lettres", + "Terra Incognita" + ], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "survie", + "alternativeKeys": [], + "base": 3, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "artisanat", + "alternativeKeys": [], + "base": 1, + "domainsGranted": [ + "Cartographie" + ], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "endurance", + "alternativeKeys": [], + "base": 1, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + } ], "startingEquipment": [ - { "name": "Boîte de cartographe", "type": "equipement", "quantity": 1, "details": "2 plumes, 2 fioles d'encre, 1 fil mesureur et 5 parchemins vierges", "choiceText": "", "ecorces": 0 }, - { "name": "Arme", "type": "arme", "quantity": 1, "details": "", "choiceText": "Arme au choix", "ecorces": 0 }, - { "name": "Objet géant", "type": "equipement", "quantity": 1, "details": "", "choiceText": "Objet géant au choix", "ecorces": 0 }, - { "name": "Bourse", "type": "equipement", "quantity": 1, "details": "", "choiceText": "", "ecorces": 18 } + { + "name": "Boîte de cartographe", + "type": "equipement", + "quantity": 1, + "details": "2 plumes, 2 fioles d'encre, 1 fil mesureur et 5 parchemins vierges", + "choiceText": "", + "ecorces": 0 + }, + { + "name": "Arme", + "type": "arme", + "quantity": 1, + "details": "", + "choiceText": "Arme au choix", + "ecorces": 0 + }, + { + "name": "Objet géant", + "type": "equipement", + "quantity": 1, + "details": "", + "choiceText": "Objet géant au choix", + "ecorces": 0 + }, + { + "name": "Bourse", + "type": "equipement", + "quantity": 1, + "details": "", + "choiceText": "", + "ecorces": 18 + } ], "spellGrants": [], - "revenues": { "beginner": 9, "intermediate": 30, "expert": 180 } + "revenues": { + "beginner": 9, + "intermediate": 30, + "expert": 180 + }, + "notes": "" } }, { @@ -151,25 +526,89 @@ "type": "metier", "img": "icons/svg/upgrade.svg", "system": { - "description": "

Conteur, comédien ou ménestrel qui entretient le mythe d'Edenia.

", - "specialRules": "

Connaît 3 sortilèges de Chimérisme de Songes et 3 de Cauchemar.

", - "roleplayNotes": "

Les doux rêveurs font vivre le récit de l'Exil, de Syllistine et des exploits des compagnies dans l'imaginaire du Petit Peuple.

", + "description": "", + "specialRules": "", + "roleplayNotes": "", "skillBonuses": [ - { "key": "chimerisme", "alternativeKeys": [], "base": 3, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "seduction", "alternativeKeys": [], "base": 3, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "arts", "alternativeKeys": [], "base": 1, "domainsGranted": [], "domainsToChoose": 1, "domainsChoiceText": "domaine d'Arts au choix" }, - { "key": "magie", "alternativeKeys": [], "base": 1, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" } + { + "key": "chimerisme", + "alternativeKeys": [], + "base": 3, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "seduction", + "alternativeKeys": [], + "base": 3, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "arts", + "alternativeKeys": [], + "base": 1, + "domainsGranted": [], + "domainsToChoose": 1, + "domainsChoiceText": "domaine d'Arts au choix" + }, + { + "key": "magie", + "alternativeKeys": [], + "base": 1, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + } ], "startingEquipment": [ - { "name": "Instrument de musique", "type": "equipement", "quantity": 1, "details": "", "choiceText": "", "ecorces": 0 }, - { "name": "Arme", "type": "arme", "quantity": 1, "details": "", "choiceText": "Arme au choix", "ecorces": 0 }, - { "name": "Bourse", "type": "equipement", "quantity": 1, "details": "", "choiceText": "", "ecorces": 12 } + { + "name": "Instrument de musique", + "type": "equipement", + "quantity": 1, + "details": "", + "choiceText": "", + "ecorces": 0 + }, + { + "name": "Arme", + "type": "arme", + "quantity": 1, + "details": "", + "choiceText": "Arme au choix", + "ecorces": 0 + }, + { + "name": "Bourse", + "type": "equipement", + "quantity": 1, + "details": "", + "choiceText": "", + "ecorces": 12 + } ], "spellGrants": [ - { "tradition": "chimerisme", "skillKey": "chimerisme", "polarity": "songes", "amount": 3 }, - { "tradition": "chimerisme", "skillKey": "chimerisme", "polarity": "cauchemar", "amount": 3 } + { + "tradition": "chimerisme", + "skillKey": "chimerisme", + "polarity": "songes", + "amount": 3 + }, + { + "tradition": "chimerisme", + "skillKey": "chimerisme", + "polarity": "cauchemar", + "amount": 3 + } ], - "revenues": { "beginner": 6, "intermediate": 30, "expert": 180 } + "revenues": { + "beginner": 6, + "intermediate": 30, + "expert": 180 + }, + "notes": "" } }, { @@ -177,22 +616,76 @@ "type": "metier", "img": "icons/svg/upgrade.svg", "system": { - "description": "

Récupérateur audacieux des biens des géants.

", + "description": "", "specialRules": "", - "roleplayNotes": "

Les trouvetouts vivent du risque, de l'intrusion et du pillage utile des demeures géantes.

", + "roleplayNotes": "", "skillBonuses": [ - { "key": "discretion", "alternativeKeys": [], "base": 3, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "athletisme", "alternativeKeys": [], "base": 3, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "force", "alternativeKeys": [], "base": 1, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "rapidite", "alternativeKeys": [], "base": 1, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" } + { + "key": "discretion", + "alternativeKeys": [], + "base": 3, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "athletisme", + "alternativeKeys": [], + "base": 3, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "force", + "alternativeKeys": [], + "base": 1, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "rapidite", + "alternativeKeys": [], + "base": 1, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + } ], "startingEquipment": [ - { "name": "Arme", "type": "arme", "quantity": 1, "details": "", "choiceText": "Arme au choix", "ecorces": 0 }, - { "name": "Objet de survie", "type": "equipement", "quantity": 1, "details": "", "choiceText": "Objet de survie au choix", "ecorces": 0 }, - { "name": "Bourse", "type": "equipement", "quantity": 1, "details": "", "choiceText": "", "ecorces": 60 } + { + "name": "Arme", + "type": "arme", + "quantity": 1, + "details": "", + "choiceText": "Arme au choix", + "ecorces": 0 + }, + { + "name": "Objet de survie", + "type": "equipement", + "quantity": 1, + "details": "", + "choiceText": "Objet de survie au choix", + "ecorces": 0 + }, + { + "name": "Bourse", + "type": "equipement", + "quantity": 1, + "details": "", + "choiceText": "", + "ecorces": 60 + } ], "spellGrants": [], - "revenues": { "beginner": 30, "intermediate": 90, "expert": 180 } + "revenues": { + "beginner": 30, + "intermediate": 90, + "expert": 180 + }, + "notes": "" } } ] diff --git a/packs-src/pouvoirs-compagnie.json b/packs-src/pouvoirs-compagnie.json index 87aed71..3d83a2d 100644 --- a/packs-src/pouvoirs-compagnie.json +++ b/packs-src/pouvoirs-compagnie.json @@ -4,11 +4,11 @@ "type": "pouvoircompagnie", "img": "icons/svg/aura.svg", "system": { - "description": "

Pouvoir de compagnie offensif favorisant les assauts du groupe.

", + "description": "", "notes": "", "scope": "compagnie", "effectMode": "passif", - "ruleText": "

Les dégâts des attaques au corps à corps et en mêlée augmentent de 1 point.

", + "ruleText": "", "limitedUses": "", "resourceImpact": "", "activationCondition": "À portée de vue du capitaine ; le capitaine doit voir au moins un autre membre pour en bénéficier lui-même.", @@ -21,11 +21,11 @@ "type": "pouvoircompagnie", "img": "icons/svg/aura.svg", "system": { - "description": "

Pouvoir de compagnie axé sur la récupération de Songes.

", + "description": "", "notes": "", "scope": "compagnie", "effectMode": "passif", - "ruleText": "

À l'aube, les Oubliés de la compagnie récupèrent 2 points de Songes au lieu de 1 seul.

", + "ruleText": "", "limitedUses": "", "resourceImpact": "+1 point de Songes récupéré à l'aube", "activationCondition": "À portée de vue du capitaine ; le capitaine doit voir au moins un autre membre pour en bénéficier lui-même.", @@ -38,11 +38,11 @@ "type": "pouvoircompagnie", "img": "icons/svg/aura.svg", "system": { - "description": "

Pouvoir de compagnie qui magnifie les doubles obtenus sur 2d12.

", + "description": "", "notes": "", "scope": "compagnie", "effectMode": "passif", - "ruleText": "

Lors d'un test réalisé avec 2d12, si les deux dés indiquent le même nombre, le résultat naturel est calculé en additionnant ces deux nombres, sauf sur deux 1 où le pouvoir reste sans effet.

", + "ruleText": "", "limitedUses": "", "resourceImpact": "", "activationCondition": "À portée de vue du capitaine ; le capitaine doit voir au moins un autre membre pour en bénéficier lui-même.", @@ -55,11 +55,11 @@ "type": "pouvoircompagnie", "img": "icons/svg/aura.svg", "system": { - "description": "

Pouvoir de compagnie qui récompense la concentration avant l'action.

", + "description": "", "notes": "", "scope": "compagnie", "effectMode": "préparation", - "ruleText": "

Passer cinq secondes, soit un round en combat, à se concentrer avant un test de compétence permet d'augmenter de 1 le résultat final. Ce temps de concentration est une action unique réussie automatiquement.

", + "ruleText": "", "limitedUses": "", "resourceImpact": "", "activationCondition": "À portée de vue du capitaine ; le capitaine doit voir au moins un autre membre pour en bénéficier lui-même.", @@ -72,11 +72,11 @@ "type": "pouvoircompagnie", "img": "icons/svg/aura.svg", "system": { - "description": "

Pouvoir de compagnie défensif accordant une armure naturelle.

", + "description": "", "notes": "", "scope": "compagnie", "effectMode": "passif", - "ruleText": "

Le pouvoir accorde une armure naturelle de 2 points.

", + "ruleText": "", "limitedUses": "", "resourceImpact": "", "activationCondition": "À portée de vue du capitaine ; le capitaine doit voir au moins un autre membre pour en bénéficier lui-même.", @@ -89,11 +89,11 @@ "type": "pouvoircompagnie", "img": "icons/svg/aura.svg", "system": { - "description": "

Pouvoir de compagnie qui sublime les réussites parfaites.

", + "description": "", "notes": "", "scope": "compagnie", "effectMode": "passif", - "ruleText": "

Lors d'un test, si le dé indique 12, le dé est relancé conformément aux règles habituelles. Cependant, le chiffre 12 remplace toujours le résultat obtenu au nouveau jet pour déterminer le résultat naturel. Si un nouveau 12 apparaît, le procédé continue jusqu'à obtention d'un autre chiffre.

", + "ruleText": "", "limitedUses": "", "resourceImpact": "", "activationCondition": "À portée de vue du capitaine ; le capitaine doit voir au moins un autre membre pour en bénéficier lui-même.", @@ -106,11 +106,11 @@ "type": "pouvoircompagnie", "img": "icons/svg/aura.svg", "system": { - "description": "

Pouvoir de compagnie qui donne une seconde chance face au pire résultat naturel.

", + "description": "", "notes": "", "scope": "compagnie", "effectMode": "réaction", - "ruleText": "

Lors d'un test de compétence, le joueur qui obtient un résultat naturel de 1 peut relancer le dé. S'il obtient à nouveau un 1 naturel, il doit garder ce résultat.

", + "ruleText": "", "limitedUses": "", "resourceImpact": "", "activationCondition": "À portée de vue du capitaine ; le capitaine doit voir au moins un autre membre pour en bénéficier lui-même.", @@ -123,11 +123,11 @@ "type": "pouvoircompagnie", "img": "icons/svg/aura.svg", "system": { - "description": "

Pouvoir de compagnie doté de sa propre réserve de Songes.

", + "description": "", "notes": "", "scope": "compagnie", "effectMode": "ressource", - "ruleText": "

La compagnie possède 1 point de Songes. Un membre peut l'utiliser comme si c'était l'un des siens. Il n'est alors plus utilisable jusqu'à la prochaine aube où il se régénère.

", + "ruleText": "", "limitedUses": "1 point par aube", "resourceImpact": "Réserve commune de 1 point de Songes", "activationCondition": "À portée de vue du capitaine ; le capitaine doit voir au moins un autre membre pour en bénéficier lui-même.", diff --git a/packs-src/races.json b/packs-src/races.json index a82a5ae..a3bfa00 100644 --- a/packs-src/races.json +++ b/packs-src/races.json @@ -4,17 +4,49 @@ "type": "race", "img": "icons/svg/mystery-man.svg", "system": { - "description": "

Race trapue, robuste et ingénieuse du Petit Peuple.

", + "description": "", "size": 2, "lifeExpectancy": 60, - "keywords": ["intelligent", "ingénieux", "curieux", "calculateur", "égoïste", "têtu", "bourru", "nostalgique", "costaud"], - "mainTribes": ["Frinios", "Margouts"], + "keywords": [ + "intelligent", + "ingénieux", + "curieux", + "calculateur", + "égoïste", + "têtu", + "bourru", + "nostalgique", + "costaud" + ], + "mainTribes": [ + "Frinios", + "Margouts" + ], "language": "Belgfolk", - "languageDomains": ["Chimérique", "Jargon des likias", "Belgfolk"], + "languageDomains": [ + "Chimérique", + "Jargon des likias", + "Belgfolk" + ], "specialRules": "", - "appearance": "

Les belgfolks sont massifs, poilus et courts sur patte, avec un long nez, une haute stature pour leur taille et une barbe ou une longue natte soigneusement portée.

", - "roleplayHints": ["Garant d'une époque glorieuse passée", "Inspirations slaves et vikings", "Endurant face aux éléments"], - "profiles": { "artiste": 0, "athlete": 0, "chasseur": 1, "faiseur": 5, "forceNature": 5, "guerrier": 0, "mystique": 0, "ombre": 1, "savant": 3 } + "appearance": "", + "roleplayHints": [ + "Garant d'une époque glorieuse passée", + "Inspirations slaves et vikings", + "Endurant face aux éléments" + ], + "profiles": { + "artiste": 0, + "athlete": 0, + "chasseur": 1, + "faiseur": 5, + "forceNature": 5, + "guerrier": 0, + "mystique": 0, + "ombre": 1, + "savant": 3 + }, + "notes": "" } }, { @@ -22,17 +54,49 @@ "type": "race", "img": "icons/svg/mystery-man.svg", "system": { - "description": "

Race mystique, longévive et liée aux sortilèges.

", + "description": "", "size": 3, "lifeExpectancy": 100, - "keywords": ["calme", "silencieux", "paisible", "résigné", "pessimiste", "généreux", "mystique", "solitaire", "enchanteur"], - "mainTribes": ["Siccomores", "Margouts"], + "keywords": [ + "calme", + "silencieux", + "paisible", + "résigné", + "pessimiste", + "généreux", + "mystique", + "solitaire", + "enchanteur" + ], + "mainTribes": [ + "Siccomores", + "Margouts" + ], "language": "Farfadet", - "languageDomains": ["Chimérique", "Jargon des likias", "Farfadet"], + "languageDomains": [ + "Chimérique", + "Jargon des likias", + "Farfadet" + ], "specialRules": "", - "appearance": "

Les farfadets sont voûtés, rabougris, aux cheveux noirs, à la peau abîmée et aux longs ongles. Les femmes se distinguent souvent par leurs bijoux et boucles d'oreilles.

", - "roleplayHints": ["Fier d'une race autrefois influente", "Inspirations d'enchanteurs et de vieilles sorcières médiévales", "Présence inquiétante et ancienne"], - "profiles": { "artiste": 1, "athlete": 0, "chasseur": 0, "faiseur": 1, "forceNature": 3, "guerrier": 0, "mystique": 5, "ombre": 0, "savant": 4 } + "appearance": "", + "roleplayHints": [ + "Fier d'une race autrefois influente", + "Inspirations d'enchanteurs et de vieilles sorcières médiévales", + "Présence inquiétante et ancienne" + ], + "profiles": { + "artiste": 1, + "athlete": 0, + "chasseur": 0, + "faiseur": 1, + "forceNature": 3, + "guerrier": 0, + "mystique": 5, + "ombre": 0, + "savant": 4 + }, + "notes": "" } }, { @@ -40,17 +104,51 @@ "type": "race", "img": "icons/svg/mystery-man.svg", "system": { - "description": "

Race très petite, acrobatique, bruyante et farceuse.

", + "description": "", "size": 2, "lifeExpectancy": 50, - "keywords": ["agile", "acrobate", "chétif", "comédien", "espiègle", "farceur", "bruyant", "bagarreur", "cavalier", "tireur"], - "mainTribes": ["Pataches", "Banshises", "Margouts"], + "keywords": [ + "agile", + "acrobate", + "chétif", + "comédien", + "espiègle", + "farceur", + "bruyant", + "bagarreur", + "cavalier", + "tireur" + ], + "mainTribes": [ + "Pataches", + "Banshises", + "Margouts" + ], "language": "Gnome", - "languageDomains": ["Chimérique", "Jargon des likias", "Gnome"], + "languageDomains": [ + "Chimérique", + "Jargon des likias", + "Gnome" + ], "specialRules": "", - "appearance": "

Les gnomes ont un visage d'enfant, aucune pilosité et une allure malingre. Leur petite taille contraste avec leur énergie débordante.

", - "roleplayHints": ["Déclenche facilement les bagarres", "Grandes variations culturelles", "Inspirations nomades et tsiganes"], - "profiles": { "artiste": 3, "athlete": 5, "chasseur": 3, "faiseur": 0, "forceNature": 0, "guerrier": 1, "mystique": 0, "ombre": 3, "savant": 0 } + "appearance": "", + "roleplayHints": [ + "Déclenche facilement les bagarres", + "Grandes variations culturelles", + "Inspirations nomades et tsiganes" + ], + "profiles": { + "artiste": 3, + "athlete": 5, + "chasseur": 3, + "faiseur": 0, + "forceNature": 0, + "guerrier": 1, + "mystique": 0, + "ombre": 3, + "savant": 0 + }, + "notes": "" } }, { @@ -58,17 +156,50 @@ "type": "race", "img": "icons/svg/mystery-man.svg", "system": { - "description": "

Race gracile et macabre, proche des morts et de la nuit.

", + "description": "", "size": 3, "lifeExpectancy": 65, - "keywords": ["calme", "froid", "taciturne", "solitaire", "macabre", "gracieux", "agile", "orgueilleux", "élancé"], - "mainTribes": ["Sixts", "Vivitins", "Margouts"], + "keywords": [ + "calme", + "froid", + "taciturne", + "solitaire", + "macabre", + "gracieux", + "agile", + "orgueilleux", + "élancé" + ], + "mainTribes": [ + "Sixts", + "Vivitins", + "Margouts" + ], "language": "Kobold", - "languageDomains": ["Chimérique", "Jargon des likias", "Kobold"], - "specialRules": "

Les kobolds voient et entendent les esprits des morts qui les entourent.

", - "appearance": "

Les kobolds ont la peau pâle, les cheveux argentés et une beauté glaciale. Certains sont d'un bleu sombre presque noir et sont promis à un grand destin magique.

", - "roleplayHints": ["Chevaliers noirs et noblesse décadente", "Affinité naturelle avec les morts", "Souvent tenus pour suspects"], - "profiles": { "artiste": 0, "athlete": 5, "chasseur": 0, "faiseur": 0, "forceNature": 0, "guerrier": 3, "mystique": 3, "ombre": 1, "savant": 1 } + "languageDomains": [ + "Chimérique", + "Jargon des likias", + "Kobold" + ], + "specialRules": "", + "appearance": "", + "roleplayHints": [ + "Chevaliers noirs et noblesse décadente", + "Affinité naturelle avec les morts", + "Souvent tenus pour suspects" + ], + "profiles": { + "artiste": 0, + "athlete": 5, + "chasseur": 0, + "faiseur": 0, + "forceNature": 0, + "guerrier": 3, + "mystique": 3, + "ombre": 1, + "savant": 1 + }, + "notes": "" } }, { @@ -76,17 +207,49 @@ "type": "race", "img": "icons/svg/mystery-man.svg", "system": { - "description": "

Race violente, puissante et exubérante, peu sensible au Songe.

", + "description": "", "size": 2, "lifeExpectancy": 45, - "keywords": ["agressif", "violent", "bruyant", "impulsif", "épicurien", "farceur", "tolérant", "force prodigieuse", "guerrier"], - "mainTribes": ["Huvons", "Margouts"], + "keywords": [ + "agressif", + "violent", + "bruyant", + "impulsif", + "épicurien", + "farceur", + "tolérant", + "force prodigieuse", + "guerrier" + ], + "mainTribes": [ + "Huvons", + "Margouts" + ], "language": "Korrigan", - "languageDomains": ["Chimérique", "Jargon des likias", "Korrigan"], + "languageDomains": [ + "Chimérique", + "Jargon des likias", + "Korrigan" + ], "specialRules": "", - "appearance": "

Très trapus, souvent sombres et extrêmement velus, les korrigans ressemblent à des cubes de muscle taillés pour la bagarre.

", - "roleplayHints": ["Guerrier craint", "Adore la compagnie et les conflits", "Inspirations barbares et celtes"], - "profiles": { "artiste": 0, "athlete": 3, "chasseur": 1, "faiseur": 0, "forceNature": 5, "guerrier": 5, "mystique": 0, "ombre": 1, "savant": 0 } + "appearance": "", + "roleplayHints": [ + "Guerrier craint", + "Adore la compagnie et les conflits", + "Inspirations barbares et celtes" + ], + "profiles": { + "artiste": 0, + "athlete": 3, + "chasseur": 1, + "faiseur": 0, + "forceNature": 5, + "guerrier": 5, + "mystique": 0, + "ombre": 1, + "savant": 0 + }, + "notes": "" } }, { @@ -94,17 +257,49 @@ "type": "race", "img": "icons/svg/mystery-man.svg", "system": { - "description": "

Race noble, charismatique et très polyvalente.

", + "description": "", "size": 3, "lifeExpectancy": 60, - "keywords": ["agile", "sensuel", "élancé", "orgueilleux", "autoritaire", "arrogant", "charismatique", "polyvalent"], - "mainTribes": ["Krograines", "Karius", "Margouts"], + "keywords": [ + "agile", + "sensuel", + "élancé", + "orgueilleux", + "autoritaire", + "arrogant", + "charismatique", + "polyvalent" + ], + "mainTribes": [ + "Krograines", + "Karius", + "Margouts" + ], "language": "Lutin", - "languageDomains": ["Chimérique", "Jargon des likias", "Lutin"], + "languageDomains": [ + "Chimérique", + "Jargon des likias", + "Lutin" + ], "specialRules": "", - "appearance": "

Les lutins sont minces, élégants, d'une grande beauté et portent de longues chevelures aux reflets d'or ou de rouille. Leur regard froid impressionne les autres races.

", - "roleplayHints": ["Respecté des autres races", "Gardien des mythes d'Edenia", "Inspirations arthuriennes et féodales"], - "profiles": { "artiste": 4, "athlete": 0, "chasseur": 1, "faiseur": 0, "forceNature": 0, "guerrier": 5, "mystique": 3, "ombre": 1, "savant": 0 } + "appearance": "", + "roleplayHints": [ + "Respecté des autres races", + "Gardien des mythes d'Edenia", + "Inspirations arthuriennes et féodales" + ], + "profiles": { + "artiste": 4, + "athlete": 0, + "chasseur": 1, + "faiseur": 0, + "forceNature": 0, + "guerrier": 5, + "mystique": 3, + "ombre": 1, + "savant": 0 + }, + "notes": "" } }, { @@ -112,17 +307,47 @@ "type": "race", "img": "icons/svg/mystery-man.svg", "system": { - "description": "

Les plus grands et les plus robustes du Petit Peuple.

", + "description": "", "size": 4, "lifeExpectancy": 50, - "keywords": ["force de la nature", "brute", "cavalier", "amoureux de la nature", "conteur", "sauvage", "primitif"], - "mainTribes": ["Ventrus", "Margouts"], + "keywords": [ + "force de la nature", + "brute", + "cavalier", + "amoureux de la nature", + "conteur", + "sauvage", + "primitif" + ], + "mainTribes": [ + "Ventrus", + "Margouts" + ], "language": "Velu nuton", - "languageDomains": ["Chimérique", "Jargon des likias", "Velu nuton"], + "languageDomains": [ + "Chimérique", + "Jargon des likias", + "Velu nuton" + ], "specialRules": "", - "appearance": "

Les velus nutons mesurent souvent de 10 à 13 cm, voire davantage. Puissants mais peu agiles, ils sont prisés comme gardes du corps.

", - "roleplayHints": ["Individu craint et sous-estimé", "Ogre poétique et nomade", "Inspirations barbares primitives"], - "profiles": { "artiste": 1, "athlete": 1, "chasseur": 3, "faiseur": 0, "forceNature": 5, "guerrier": 3, "mystique": 0, "ombre": 0, "savant": 0 } + "appearance": "", + "roleplayHints": [ + "Individu craint et sous-estimé", + "Ogre poétique et nomade", + "Inspirations barbares primitives" + ], + "profiles": { + "artiste": 1, + "athlete": 1, + "chasseur": 3, + "faiseur": 0, + "forceNature": 5, + "guerrier": 3, + "mystique": 0, + "ombre": 0, + "savant": 0 + }, + "notes": "" } } ] diff --git a/packs-src/sortileges.json b/packs-src/sortileges.json index 78c50fa..95d6f97 100644 --- a/packs-src/sortileges.json +++ b/packs-src/sortileges.json @@ -4,7 +4,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Un fouet scintillant aux lanières incrustées de diamants apparaît dans la main du personnage.

", + "description": "", "notes": "", "tradition": "magie", "skillKey": "magie", @@ -19,7 +19,7 @@ "stacking": "non", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Un fouet scintillant aux lanières incrustées de diamants apparaît dans la main du personnage. (Il peut le confier à autrui.) Il confère la prime Facilité à chaque attaque. Il n’inflige pas de dégâts, mais tout adversaire qu’il touche subit la pénalité Difficulté à toutes ses actions jusqu’à la fin du combat. Si un adversaire est touché plusieurs fois, chaque coup supplémentaire augmente cette pénalité de 1 point (-4, -5, -6, etc.).

", + "effectsText": "", "ruleTags": [ "magie", "songes" @@ -31,7 +31,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le mage des Songes crée un dôme protecteur autour de lui dans un rayon de 10 cm.

", + "description": "", "notes": "", "tradition": "magie", "skillKey": "magie", @@ -46,7 +46,7 @@ "stacking": "non", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Le mage des Songes crée un dôme protecteur autour de lui dans un rayon de 10 cm. Le dôme est constitué d’une multitude de points scintillants qui rendent difficile la vision de ce qui se passe à l’intérieur. Les attaques à distance subissent un malus de -3 si elles ont pour cible une créature à l’intérieur, qui elle, n’est pas gênée et voie normalement. Le dôme ne se déplace pas, même si le mage peut le quitter à tout moment pour y revenir s’il le souhaite.

", + "effectsText": "", "ruleTags": [ "magie", "songes" @@ -58,7 +58,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le mage des Songes produit un flash très puissant et très bref qui aveugle un ennemi engagé contre lui si le sort est lancé en combat ou une créature le regardant si le sort est lancé hors combat.

", + "description": "", "notes": "", "tradition": "magie", "skillKey": "magie", @@ -73,7 +73,7 @@ "stacking": "-", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Le mage des Songes produit un flash très puissant et très bref qui aveugle un ennemi engagé contre lui si le sort est lancé en combat ou une créature le regardant si le sort est lancé hors combat. La cible aveuglée ne retrouve que progressivement ses capacités visuelle : elle ne voit absolument rien le premier round et subit un malus de -6 à tous ses tests impliquant la vue, retrouve partiellement la vue au second round (malus de -3), au terme duquel elle recouvre enfin totalement la vision.

", + "effectsText": "", "ruleTags": [ "magie", "songes" @@ -85,7 +85,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le mage des Songes invoque une dizaine de feux follets qui l’entourent, le suivent et éclairent parfaitement autour de lui sur une distance de 10 cm, et plus faiblement sur une distance supplémentaire de 10 cm.

", + "description": "", "notes": "", "tradition": "magie", "skillKey": "magie", @@ -100,7 +100,7 @@ "stacking": "non", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Le mage des Songes invoque une dizaine de feux follets qui l’entourent, le suivent et éclairent parfaitement autour de lui sur une distance de 10 cm, et plus faiblement sur une distance supplémentaire de 10 cm.

", + "effectsText": "", "ruleTags": [ "magie", "songes" @@ -112,7 +112,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage se fond dans un élément naturel faisant au moins deux fois sa taille (sol de terre battue, arbre, glacier, etc.).

", + "description": "", "notes": "", "tradition": "magie", "skillKey": "magie", @@ -127,7 +127,7 @@ "stacking": "oui", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Le personnage se fond dans un élément naturel faisant au moins deux fois sa taille (sol de terre battue, arbre, glacier, etc.). Il voit et entend ce qui se passe à l’extérieur. Il ne peut pas bouger. S’il esquisse le moindre geste, il est immédiatement expulsé, avant le terme du sortilège. Il peut augmenter la durée, en dépensant 1 point de Songes toutes les 15 minutes.

", + "effectsText": "", "ruleTags": [ "magie", "songes" @@ -139,7 +139,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le mage des Songes fait apparaître des liens de lumière, particulièrement résistants, autour des mains et des pieds de la personne qu’il souhaite attacher.

", + "description": "", "notes": "", "tradition": "magie", "skillKey": "magie", @@ -154,7 +154,7 @@ "stacking": "non", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Le mage des Songes fait apparaître des liens de lumière, particulièrement résistants, autour des mains et des pieds de la personne qu’il souhaite attacher. La cible ne peux plus agir physiquement pendant la durée du sort à moins de réussir un test de Force / -6 pour briser les liens. Le sortilège peut être lancé sur un objet que personne ne pourra déplacer à moins de réussir un test de Force / -6.

", + "effectsText": "", "ruleTags": [ "magie", "songes" @@ -166,7 +166,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le mage des Songes projette au-dessus de lui une myriade de morceaux de verre, telle une nuée d’étoiles, qui retombent sur le sol en formant un dôme.

", + "description": "", "notes": "", "tradition": "magie", "skillKey": "magie", @@ -181,7 +181,7 @@ "stacking": "-", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Le mage des Songes projette au-dessus de lui une myriade de morceaux de verre, telle une nuée d’étoiles, qui retombent sur le sol en formant un dôme. Les éclats de verre sont tranchants comme des lames de rasoir, mais n’affectent pas le lanceur de sort. En revanche, ils infligent 2 points de dégâts à tous les adversaires avec lesquels il est engagé. Les armures ne protègent pas de ces dommages.

", + "effectsText": "", "ruleTags": [ "magie", "songes" @@ -193,7 +193,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage place une main sur sa cible et l’irrigue de Songes.

", + "description": "", "notes": "", "tradition": "magie", "skillKey": "magie", @@ -208,7 +208,7 @@ "stacking": "-", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Le personnage place une main sur sa cible et l’irrigue de Songes. Les dettes de Cauchemar s’effacent. Ce sortilège n’est utilisable qu’une seule fois par cible.

", + "effectsText": "", "ruleTags": [ "magie", "songes" @@ -220,7 +220,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage ouvre sa bouche qui s’élargie en une gueule béante d’où jaillit une gerbe de lumière arc-en-ciel extrêmement corrosive pour les créatures du Cauchemar.

", + "description": "", "notes": "", "tradition": "magie", "skillKey": "magie", @@ -235,7 +235,7 @@ "stacking": "non", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Le personnage ouvre sa bouche qui s’élargie en une gueule béante d’où jaillit une gerbe de lumière arc-en-ciel extrêmement corrosive pour les créatures du Cauchemar. Si le magicien cible une créature du Cauchemar, celle-ci perd 2 points de vie. S’il cible un objet ou un autre être vivant, celui-ci ne pourra pas être touché par une créature du Cauchemar sans qu’elle subisse des dégâts (1 point de dégâts par round de contact), sauf si elle prend ses précautions (en portant des gants par exemple). Le liquide reste corrosif pendant une heure avant de devenir inoffensif.

", + "effectsText": "", "ruleTags": [ "magie", "songes" @@ -247,7 +247,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage plaque ses mains sur un mur de pierre, ou un obstacle naturel, et se concentre sur celui-ci.

", + "description": "", "notes": "", "tradition": "magie", "skillKey": "magie", @@ -262,7 +262,7 @@ "stacking": "non", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Le personnage plaque ses mains sur un mur de pierre, ou un obstacle naturel, et se concentre sur celui-ci. Il est alors en mesure de voir à travers, à condition que cet obstacle ne dépasse pas 50 cm d’épaisseur et qu’il ne soit pas composé d’alliages métalliques (acier, bronze…). Le sortilège ne permet pas d’entendre, ni sentir ce qui se trouve derrière l’obstacle. Lorsqu’il « projette » sa vision, le magicien ne peut pas voir ce qui se passe du côté de son corps. Le sort s’interrompt lorsque le personnage cesse sa concentration.

", + "effectsText": "", "ruleTags": [ "magie", "songes" @@ -274,7 +274,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage pose les os d’une créature d’Edenia dans une surface d’eau, éventuellement répandue par le farfadet pour l’occasion.

", + "description": "", "notes": "", "tradition": "farfadet", "skillKey": "magie", @@ -289,7 +289,7 @@ "stacking": "-", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Le personnage pose les os d’une créature d’Edenia dans une surface d’eau, éventuellement répandue par le farfadet pour l’occasion. Des images de ce qui s’est passé à proximité s’y reflètent, au gré du meneur de jeu.

", + "effectsText": "", "ruleTags": [ "farfadet", "songes" @@ -301,7 +301,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le tatouage du farfadet représente deux ailes, qui sortent du dos du porteur lors de l’activation et lui permettent de se déplacer dans les airs.

", + "description": "", "notes": "", "tradition": "farfadet", "skillKey": "magie", @@ -316,7 +316,7 @@ "stacking": "non", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Le tatouage du farfadet représente deux ailes, qui sortent du dos du porteur lors de l’activation et lui permettent de se déplacer dans les airs. Celles-ci ne sont pas assez puissantes pour soulever plus que le personnage et un équipement léger. Elles disparaissent, ainsi que le tatouage, dès qu’il cesse de voler et se pose.

", + "effectsText": "", "ruleTags": [ "farfadet", "songes" @@ -328,7 +328,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage dessine un troisième œil sur son front.

", + "description": "", "notes": "", "tradition": "farfadet", "skillKey": "magie", @@ -343,7 +343,7 @@ "stacking": "-", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Le personnage dessine un troisième œil sur son front. (Il peut le faire avec son doigt sans obligatoirement faire un dessin apparent. S’il possède déjà un œil peint ou tatoué à cet endroit, la préparation consiste alors à repasser sur ce dessin.) Il capte le ressenti (joie, peur, tristesse, colère, etc.) de la cible et la raison de ce ressenti. La perception est plus ou moins précise, au gré du meneur de jeu.

", + "effectsText": "", "ruleTags": [ "farfadet", "songes" @@ -355,7 +355,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le farfadet frotte les os d’une créature d’Edenia les uns contre les autres près de son oreille.

", + "description": "", "notes": "", "tradition": "farfadet", "skillKey": "magie", @@ -370,7 +370,7 @@ "stacking": "non", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Le farfadet frotte les os d’une créature d’Edenia les uns contre les autres près de son oreille. Tant qu’il fait cela, son ouïe est plus affutée. Ses tests pour écouter obtiennent un bonus de +6.

", + "effectsText": "", "ruleTags": [ "farfadet", "songes" @@ -382,7 +382,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage trace un tatouage protecteur.

", + "description": "", "notes": "", "tradition": "farfadet", "skillKey": "magie", @@ -397,7 +397,7 @@ "stacking": "non", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Le personnage trace un tatouage protecteur. Les 2X prochains points de dégâts touchant l’enveloppe corporelle (par exemple un coup reçu en combat ou le choc d’une chute) sont encaissés par le tatouage et non par la cible. Le tatouage s’estompe au fur et à mesure qu’il reçoit les blessures, ou en une seule fois en cas de dégâts importants. Il disparaît quand il atteint 2X points de dégâts.

", + "effectsText": "", "ruleTags": [ "farfadet", "songes" @@ -409,7 +409,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage utilise son ombre comme armure.

", + "description": "", "notes": "", "tradition": "magie", "skillKey": "magie", @@ -424,7 +424,7 @@ "stacking": "oui", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Le personnage utilise son ombre comme armure. Celle-ci prend vie et virevolte autour du lanceur de sort afin de se porter au-devant des coups le visant. Elle est capable d’absorber X points de dégâts. Lorsque ce nombre est atteint, l’ombre se dissipe et le mage doit attendre le prochain crépuscule pour que celle-ci réapparaisse et puisse à nouveau servir d’armure. Le mage peut de nouveau lancer ce sort alors que l’armure est active afin de la régénérer. Il est à noter qu’un personnage sans ombre peut dégager un certain malaise social auprès de ses interlocuteurs.

", + "effectsText": "", "ruleTags": [ "magie", "cauchemar" @@ -436,7 +436,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage change l’apparence de son visage en lui faisant prendre un aspect contrefait et effrayant.

", + "description": "", "notes": "", "tradition": "magie", "skillKey": "magie", @@ -451,7 +451,7 @@ "stacking": "non", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Le personnage change l’apparence de son visage en lui faisant prendre un aspect contrefait et effrayant. Cela lui octroie un bonus de +3 pour ses tests de Commandement lorsqu’il souhaite intimider quelqu’un.

", + "effectsText": "", "ruleTags": [ "magie", "cauchemar" @@ -463,7 +463,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage augmente la taille d’un être vivant de manière difforme.

", + "description": "", "notes": "", "tradition": "magie", "skillKey": "magie", @@ -478,7 +478,7 @@ "stacking": "oui", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Le personnage augmente la taille d’un être vivant de manière difforme. Il gagne une taille. Éventuellement plusieurs tailles s’il bénéficie plusieurs fois de ce sortilège (au plus jusqu’à doubler sa taille). Le bénéficiaire acquiert immédiatement tous les bonus de sa nouvelle taille puis il les perd à la fin du sortilège.

", + "effectsText": "", "ruleTags": [ "magie", "cauchemar" @@ -490,7 +490,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage fait apparaître une lame noire comme l’ébène dans sa main.

", + "description": "", "notes": "", "tradition": "magie", "skillKey": "magie", @@ -505,7 +505,7 @@ "stacking": "non", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Le personnage fait apparaître une lame noire comme l’ébène dans sa main. Cette lame peut être donnée à un autre personnage, elle s’adapte alors à son porteur et inflige des dégâts de sa taille. L’arme pousse son porteur à un désir frénétique de combat au mépris de sa sécurité (Primes gratuites et obligatoires Blessure grave et Accélération ; pénalité obligatoire Danger). Cela n’empêche pas le porteur de choisir d’autres primes et pénalités en plus de celles imposées par la lame.

", + "effectsText": "", "ruleTags": [ "magie", "cauchemar" @@ -517,7 +517,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage se fond dans une zone d’ombre.

", + "description": "", "notes": "", "tradition": "magie", "skillKey": "magie", @@ -532,7 +532,7 @@ "stacking": "non", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Le personnage se fond dans une zone d’ombre. Tant qu’il ne bouge pas, il est impossible à repérer – les tests de Sens se soldent par des échecs automatiques. S’il bouge, tout en restant dans l’ombre, les résultats finaux des tests de Discrétion augmentent de 3. Le sort est effectif tant que le mage reste dans la zone d’ombre.

", + "effectsText": "", "ruleTags": [ "magie", "cauchemar" @@ -544,7 +544,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le sort se matérialise sous forme de bras d’arthropodes qui poussent sur le corps du personnage.

", + "description": "", "notes": "", "tradition": "magie", "skillKey": "magie", @@ -559,7 +559,7 @@ "stacking": "non", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Le sort se matérialise sous forme de bras d’arthropodes qui poussent sur le corps du personnage. Ces membres permettent d’effectuer plusieurs attaques au corps à corps envers des adversaires engagés, accordant gratuitement la prime Attaques multiples au personnage. Les dégâts sont de (taille du personnage) - 1.

", + "effectsText": "", "ruleTags": [ "magie", "cauchemar" @@ -571,7 +571,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage choisit une ombre autour de lui : celle-ci prend forme et s’anime pour obéir à son créateur.

", + "description": "", "notes": "", "tradition": "magie", "skillKey": "magie", @@ -586,7 +586,7 @@ "stacking": "non", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Le personnage choisit une ombre autour de lui : celle-ci prend forme et s’anime pour obéir à son créateur. Elle peut effectuer 1 action avant de se dissiper (éventuellement elle peut attendre sur place jusqu’à ce qu’une condition à la réalisation de cette action indiquée par le personnage se manifeste). Quelle que soit sa taille, elle possède les mêmes compétences physiques que le mage. Si elle frappe, son attaque possède les mêmes caractéristiques – chances de réussir, dégâts, etc. – que celles du personnage.

", + "effectsText": "", "ruleTags": [ "magie", "cauchemar" @@ -598,7 +598,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage invoque une nuée de petits papillons d’obsidienne aux ailes coupantes.

", + "description": "", "notes": "", "tradition": "magie", "skillKey": "magie", @@ -613,7 +613,7 @@ "stacking": "-", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Le personnage invoque une nuée de petits papillons d’obsidienne aux ailes coupantes. Ils volent en ligne droite sur 1 mètre, depuis le bras tendu du personnage, et infligent 1 point de dégâts à toute créature sur leur chemin, avant de se dissiper dans les airs.

", + "effectsText": "", "ruleTags": [ "magie", "cauchemar" @@ -625,7 +625,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage créé une sphère de ténèbres qui obscurcie totalement la vision de la cible.

", + "description": "", "notes": "", "tradition": "magie", "skillKey": "magie", @@ -640,7 +640,7 @@ "stacking": "non", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Le personnage créé une sphère de ténèbres qui obscurcie totalement la vision de la cible.

", + "effectsText": "", "ruleTags": [ "magie", "cauchemar" @@ -652,7 +652,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage entre dans une ombre pour ressortir d’une autre ombre visible à l’œil nu au moment du lancement du sort.

", + "description": "", "notes": "", "tradition": "magie", "skillKey": "magie", @@ -667,7 +667,7 @@ "stacking": "-", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Le personnage entre dans une ombre pour ressortir d’une autre ombre visible à l’œil nu au moment du lancement du sort. Il ne doit pas y avoir d’obstacles physiques entre les deux ombres.

", + "effectsText": "", "ruleTags": [ "magie", "cauchemar" @@ -679,7 +679,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Des plus morbides, ce sortilège nécessite que le farfadet se balafre le visage (1 point de dégâts).

", + "description": "", "notes": "", "tradition": "farfadet", "skillKey": "magie", @@ -694,7 +694,7 @@ "stacking": "non", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Des plus morbides, ce sortilège nécessite que le farfadet se balafre le visage (1 point de dégâts). Cela lui permet de changer d’apparence (y compris une apparence précise s’il a observé au préalable une personne quelques minutes). Le sortilège ne fonctionne que la nuit et son effet disparaît dès les premières lueurs de l’aube. Les vêtements et la corpulence ne changent pas mais le personnage peut ressembler à une personne de sexe opposé.

", + "effectsText": "", "ruleTags": [ "farfadet", "cauchemar" @@ -706,7 +706,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le tatouage du farfadet représente des glyphes d’Obscurine qui permettent de déformer les probabilités.

", + "description": "", "notes": "", "tradition": "farfadet", "skillKey": "magie", @@ -721,7 +721,7 @@ "stacking": "non", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Le tatouage du farfadet représente des glyphes d’Obscurine qui permettent de déformer les probabilités. Lorsque le personnage obtient un 1 lors d’un test, il relance immédiatement le dé et remplace son échec par le nouveau score obtenu. Ce nouveau résultat est appliqué même si c’est à nouveau un 1.

", + "effectsText": "", "ruleTags": [ "farfadet", "cauchemar" @@ -733,7 +733,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le farfadet s’automutile – 1 point de dégâts – afin de se badigeonner de son sang.

", + "description": "", "notes": "", "tradition": "farfadet", "skillKey": "magie", @@ -748,7 +748,7 @@ "stacking": "non", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Le farfadet s’automutile – 1 point de dégâts – afin de se badigeonner de son sang. Sur toutes les surfaces du corps ainsi recouvertes, poussent des os pointus empoisonnés. Tout adversaire au contact du farfadet s’égratigne. Son joueur doit faire un test d’Endurance / 0 à la fin de chaque round sous peine que son personnage subisse 1 point de dégâts à cause du poison qui provoque une fièvre virulente et une douleur atroces. Les effets du poison cessent dès qu’un de ces tests est réussi.

", + "effectsText": "", "ruleTags": [ "farfadet", "cauchemar" @@ -760,7 +760,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage dessine une lame sur l’avant-bras du bénéficiaire.

", + "description": "", "notes": "", "tradition": "farfadet", "skillKey": "magie", @@ -775,7 +775,7 @@ "stacking": "non", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Le personnage dessine une lame sur l’avant-bras du bénéficiaire. Dès que celui-ci le souhaite, sa main se transforme en cette lame en une action libre. Elle inflige des dégâts de sa taille +1. Le tatouage s’estompe au fur et à mesure qu’il est utilisé dans les combats : il disparaît après X combats.

", + "effectsText": "", "ruleTags": [ "farfadet", "cauchemar" @@ -787,7 +787,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Des cicatrices en triangles concentriques renforcent la peau et atténuent la douleur provoquée par les blessures.

", + "description": "", "notes": "", "tradition": "farfadet", "skillKey": "magie", @@ -802,7 +802,7 @@ "stacking": "non", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Des cicatrices en triangles concentriques renforcent la peau et atténuent la douleur provoquée par les blessures. Le farfadet ne subit pas le prochain modificateur d’initiative dû aux blessures, puis tout ceux suivant dans le même combat. Tous les autres effets des blessures sont appliqués

", + "effectsText": "", "ruleTags": [ "farfadet", "cauchemar" @@ -814,7 +814,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage développe une aura de bien-être qui apaise les personnes de son entourage.

", + "description": "", "notes": "", "tradition": "onirologie", "skillKey": "onirologie", @@ -829,7 +829,7 @@ "stacking": "non", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Le personnage développe une aura de bien-être qui apaise les personnes de son entourage. L’aura leur octroie un bonus de +3 à leurs tests de Volonté.

", + "effectsText": "", "ruleTags": [ "onirologie", "songes" @@ -841,7 +841,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage utilise les résidus de Néphertine qui teintent la réalité pour plier l’espace à sa volonté.

", + "description": "", "notes": "", "tradition": "onirologie", "skillKey": "onirologie", @@ -856,7 +856,7 @@ "stacking": "-", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Le personnage utilise les résidus de Néphertine qui teintent la réalité pour plier l’espace à sa volonté. Il peut ainsi se téléporter, ou téléporter un être consentant, jusqu’à un endroit qu’il voit.

", + "effectsText": "", "ruleTags": [ "onirologie", "songes" @@ -868,7 +868,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage est magnifié aux yeux de la cible et bénéficie d’un bonus de +6 à toutes ses interactions sociales avec elle.

", + "description": "", "notes": "", "tradition": "onirologie", "skillKey": "onirologie", @@ -883,7 +883,7 @@ "stacking": "-", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Le personnage est magnifié aux yeux de la cible et bénéficie d’un bonus de +6 à toutes ses interactions sociales avec elle.

", + "effectsText": "", "ruleTags": [ "onirologie", "songes" @@ -895,7 +895,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage fait apparaître une corde lumineuse qu’il lance jusqu’à sa cible.

", + "description": "", "notes": "", "tradition": "onirologie", "skillKey": "onirologie", @@ -910,7 +910,7 @@ "stacking": "non", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Le personnage fait apparaître une corde lumineuse qu’il lance jusqu’à sa cible. Si celle-ci parvient à s’en emparer – réaction nécessitant un test de Volonté –, elle voit le Néphertine s’estomper et la réalité s’imposer. Elle obtient bonus de +6 au test de Volonté.

", + "effectsText": "", "ruleTags": [ "onirologie", "songes" @@ -922,7 +922,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage fait vivre à la cible une hallucination.

", + "description": "", "notes": "", "tradition": "onirologie", "skillKey": "onirologie", @@ -937,7 +937,7 @@ "stacking": "non", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Le personnage fait vivre à la cible une hallucination. La cible croit vivre une scène décrite par le lanceur de sort mais en réalité elle passe son round sans agir. Si elle doit effectuer une réaction, le sortilège cesse.

", + "effectsText": "", "ruleTags": [ "onirologie", "songes" @@ -949,7 +949,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage fait apparaître une illusion visuelle immobile réaliste, au plus de la même taille que lui-même.

", + "description": "", "notes": "", "tradition": "onirologie", "skillKey": "onirologie", @@ -964,7 +964,7 @@ "stacking": "non", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Le personnage fait apparaître une illusion visuelle immobile réaliste, au plus de la même taille que lui-même. Elle disparaît au terme du sortilège ou si elle est touchée. Le sortilège peut affecter X cibles qui peuvent s’apercevoir de la supercherie en réussissant un test d’Intellect / -3.

", + "effectsText": "", "ruleTags": [ "onirologie", "songes" @@ -976,7 +976,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage fait plier pendant une courte période la volonté d’une personne qui obéit à une suggestion qu’elle lui fait.

", + "description": "", "notes": "", "tradition": "onirologie", "skillKey": "onirologie", @@ -991,7 +991,7 @@ "stacking": "non", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Le personnage fait plier pendant une courte période la volonté d’une personne qui obéit à une suggestion qu’elle lui fait. La victime obéit à une suggestion simple (une phrase avec un seul verbe) pendant la prochaine minute mais elle ne prend aucun risque vital, ni pour elle ni pour autrui. Elle peut résister à cette injonction en réussissant un test de Volonté / -X. veau. Pour utiliser ce sortilège, le personnage doit pouvoir se faire entendre de sa cible et parler sa langue. La victime est consciente de ce qui lui arrive.

", + "effectsText": "", "ruleTags": [ "onirologie", "songes" @@ -1003,7 +1003,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

L’apparence physique du magicien change.

", + "description": "", "notes": "", "tradition": "onirologie", "skillKey": "onirologie", @@ -1018,7 +1018,7 @@ "stacking": "non", "requiredDomains": [], "artsDomains": [], - "effectsText": "

L’apparence physique du magicien change. Il garde le même sexe, la même race et la même morphologie, mais devient méconnaissable.

", + "effectsText": "", "ruleTags": [ "onirologie", "songes" @@ -1030,7 +1030,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage fait briller les bords de tout Néphertine aux yeux de tout membre du petit Peuple.

", + "description": "", "notes": "", "tradition": "onirologie", "skillKey": "onirologie", @@ -1045,7 +1045,7 @@ "stacking": "-", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Le personnage fait briller les bords de tout Néphertine aux yeux de tout membre du petit Peuple. Cela permet notamment d’éviter ces zones.

", + "effectsText": "", "ruleTags": [ "onirologie", "songes" @@ -1057,7 +1057,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage peut lire les derniers « souvenirs » liés à un objet.

", + "description": "", "notes": "", "tradition": "onirologie", "skillKey": "onirologie", @@ -1072,7 +1072,7 @@ "stacking": "non", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Le personnage peut lire les derniers « souvenirs » liés à un objet. Le dernier moment important dans lequel a été utilisé l’objet se matérialise autour de lui. Si le personnage tient la main d’une personne pendant ce sortilège, celle-ci voit également le souvenir.

", + "effectsText": "", "ruleTags": [ "onirologie", "songes" @@ -1084,7 +1084,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage fait ressortir la part sombre d’une cible, sous forme d’une créature noire informe qui s’extirpe laborieusement de celle-ci.

", + "description": "", "notes": "", "tradition": "onirologie", "skillKey": "onirologie", @@ -1099,7 +1099,7 @@ "stacking": "non", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Le personnage fait ressortir la part sombre d’une cible, sous forme d’une créature noire informe qui s’extirpe laborieusement de celle-ci. La créature attaque au round suivant la créature vivante la plus proche d’elle, à part celle dont elle est issue. La bête possède les mêmes compétences physiques, la même initiative et le même nombre de points de vie que la cible dont elle s’arrache au moment où elle en sort.

", + "effectsText": "", "ruleTags": [ "onirologie", "cauchemar" @@ -1111,7 +1111,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le lanceur du sortilège commande à l’humidité ambiante de se condenser afin de créer un brouillard épais sur un lieu qui doit se trouver dans son champ de vision.

", + "description": "", "notes": "", "tradition": "onirologie", "skillKey": "onirologie", @@ -1126,7 +1126,7 @@ "stacking": "non", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Le lanceur du sortilège commande à l’humidité ambiante de se condenser afin de créer un brouillard épais sur un lieu qui doit se trouver dans son champ de vision. Un malus de -3 s’applique alors à toute action impliquant la perception visuelle dans la zone.

", + "effectsText": "", "ruleTags": [ "onirologie", "cauchemar" @@ -1138,7 +1138,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage rend sa victime violemment allergique à la lumière.

", + "description": "", "notes": "", "tradition": "onirologie", "skillKey": "onirologie", @@ -1153,7 +1153,7 @@ "stacking": "non", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Le personnage rend sa victime violemment allergique à la lumière. Chaque round exposé à la lumière inflige 1 point de dégâts à la cible qui a l’impression de brûler. La victime doit protéger toutes les parties de son corps, ou rester à l’ombre, si elle ne veut pas subir ces dommages.

", + "effectsText": "", "ruleTags": [ "onirologie", "cauchemar" @@ -1165,7 +1165,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage transforme 1 fil de Songes en fil de Cauchemar.

", + "description": "", "notes": "", "tradition": "onirologie", "skillKey": "onirologie", @@ -1180,7 +1180,7 @@ "stacking": "-", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Le personnage transforme 1 fil de Songes en fil de Cauchemar.

", + "effectsText": "", "ruleTags": [ "onirologie", "cauchemar" @@ -1192,7 +1192,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

un test de Volonté / 0 si elle n’est pas consentante.

", + "description": "", "notes": "", "tradition": "onirologie", "skillKey": "onirologie", @@ -1207,7 +1207,7 @@ "stacking": "-", "requiredDomains": [], "artsDomains": [], - "effectsText": "

un test de Volonté / 0 si elle n’est pas consentante. Ce lien établit, permet au lanceur de sort de transférer X points de Cauchemar à la cible.

", + "effectsText": "", "ruleTags": [ "onirologie", "cauchemar" @@ -1219,7 +1219,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage prend le contrôle d’une vague de Néphertine pour la rendre particulièrement agressive et la répand autour de lui, plongeant ses victimes dans des visions terrifiantes.

", + "description": "", "notes": "", "tradition": "onirologie", "skillKey": "onirologie", @@ -1234,7 +1234,7 @@ "stacking": "-", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Le personnage prend le contrôle d’une vague de Néphertine pour la rendre particulièrement agressive et la répand autour de lui, plongeant ses victimes dans des visions terrifiantes. Elles pensent être attaquées par une multitude de petites créatures cauchemardesques, et subissent 2 point de dégâts si en cas d’échec à un test de Volonté / -X, 1 point en cas de réussite.

", + "effectsText": "", "ruleTags": [ "onirologie", "cauchemar" @@ -1246,7 +1246,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage désigne une cible qui a l’impression de voir apparaître et fondre sur elle une de ses grandes frayeurs.

", + "description": "", "notes": "", "tradition": "onirologie", "skillKey": "onirologie", @@ -1261,7 +1261,7 @@ "stacking": "non", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Le personnage désigne une cible qui a l’impression de voir apparaître et fondre sur elle une de ses grandes frayeurs. Son cœur s’emballe et elle perd 1 point de vie. Elle prend conscience de l’irréalité de la menace au début de son prochain tour de jeu ou avant si elle doit effectuer une réaction. Néanmoins, encore choquée, tous ses tests subissent un malus de -3 jusqu’à la fin du round.

", + "effectsText": "", "ruleTags": [ "onirologie", "cauchemar" @@ -1273,7 +1273,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage déclame une incantation hypnotique afin de pénétrer dans l’esprit de sa victime et y détruire un souvenir récent, de quelques minutes à un mois, au choix du mage.

", + "description": "", "notes": "", "tradition": "onirologie", "skillKey": "onirologie", @@ -1288,7 +1288,7 @@ "stacking": "-", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Le personnage déclame une incantation hypnotique afin de pénétrer dans l’esprit de sa victime et y détruire un souvenir récent, de quelques minutes à un mois, au choix du mage. La cible peut résister à la destruction du souvenir en réussissant un test de Volonté / -X. Pour utiliser ce sort, le mage doit pouvoir se faire entendre de sa cible et parler sa langue. La victime est conscience de son amnésie.

", + "effectsText": "", "ruleTags": [ "onirologie", "cauchemar" @@ -1300,7 +1300,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage implante une scène horriblement traumatisante dans l’esprit de la victime qui la perçoit comme un souvenir, avec toutes les conséquences psychologiques qui en découlent.

", + "description": "", "notes": "", "tradition": "onirologie", "skillKey": "onirologie", @@ -1315,7 +1315,7 @@ "stacking": "non", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Le personnage implante une scène horriblement traumatisante dans l’esprit de la victime qui la perçoit comme un souvenir, avec toutes les conséquences psychologiques qui en découlent. Elle est pénalisée d’un malus de -X pour tous ses tests sociaux.

", + "effectsText": "", "ruleTags": [ "onirologie", "cauchemar" @@ -1327,7 +1327,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage discute avec une personne endormie et la contraint à révéler un de ses secrets ou connaissances.

", + "description": "", "notes": "", "tradition": "onirologie", "skillKey": "onirologie", @@ -1342,7 +1342,7 @@ "stacking": "non", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Le personnage discute avec une personne endormie et la contraint à révéler un de ses secrets ou connaissances. Pendant la durée du sortilège, la victime est plongée dans un sommeil tellement profond que seules des secousses ou un son particulièrement puissant peuvent la réveiller. Un test de Volonté / -X permet à la victime de résister à cet interrogatoire.

", + "effectsText": "", "ruleTags": [ "onirologie", "cauchemar" @@ -1354,7 +1354,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage esquisse un objet ou un être vivant sur une surface et ce qui est dessiné prend vie.

", + "description": "", "notes": "", "tradition": "chimerisme", "skillKey": "chimerisme", @@ -1372,7 +1372,7 @@ "Peinture", "Dessin" ], - "effectsText": "

Le personnage esquisse un objet ou un être vivant sur une surface et ce qui est dessiné prend vie. Les statistiques de la créature sont identiques à celles du mage. Si c’est un objet, il a les mêmes caractéristiques qu’un objet normal.

", + "effectsText": "", "ruleTags": [ "chimerisme", "songes" @@ -1384,7 +1384,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage hypnotise X victimes pendant quelque instant, à travers une danse envoûtante.

", + "description": "", "notes": "", "tradition": "chimerisme", "skillKey": "chimerisme", @@ -1401,7 +1401,7 @@ "artsDomains": [ "Danse" ], - "effectsText": "

Le personnage hypnotise X victimes pendant quelque instant, à travers une danse envoûtante. Cela lui permet de pénétrer dans les esprits et de connaître les émotions, mais pas les pensées.

", + "effectsText": "", "ruleTags": [ "chimerisme", "songes" @@ -1413,7 +1413,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage décrit sous forme de vers une question qu’il se pose.

", + "description": "", "notes": "", "tradition": "chimerisme", "skillKey": "chimerisme", @@ -1430,7 +1430,7 @@ "artsDomains": [ "Poésie" ], - "effectsText": "

Le personnage décrit sous forme de vers une question qu’il se pose. Il s’en inspire pour en tirer quelques phrases ou mots sibyllins – déterminés par le meneur de jeu.

", + "effectsText": "", "ruleTags": [ "chimerisme", "songes" @@ -1442,7 +1442,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage chante, raconte ou déclame une ode à la guerre juste avant le combat.

", + "description": "", "notes": "", "tradition": "chimerisme", "skillKey": "chimerisme", @@ -1461,7 +1461,7 @@ "Conte", "Poésie" ], - "effectsText": "

Le personnage chante, raconte ou déclame une ode à la guerre juste avant le combat. Il parle des combats d’antan, des destins héroïques, de ceux qui forgèrent le monde avec leurs lames. Son verbe gonfle le cœur de ceux qui partent à la mort. L’assistance se voit capable d’ignorer X points de dégâts avant que les dommages s’appliquent normalement.

", + "effectsText": "", "ruleTags": [ "chimerisme", "songes" @@ -1473,7 +1473,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage entame un air de l’ancien temps, faisant référence aux golems de pierre.

", + "description": "", "notes": "", "tradition": "chimerisme", "skillKey": "chimerisme", @@ -1491,7 +1491,7 @@ "Chant", "Musique" ], - "effectsText": "

Le personnage entame un air de l’ancien temps, faisant référence aux golems de pierre. Cela donne à sa peau la résistance de la roche lui apportant une protection de 3 contre X attaques.

", + "effectsText": "", "ruleTags": [ "chimerisme", "songes" @@ -1503,7 +1503,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Les animaux comprennent ce que dit le personnage.

", + "description": "", "notes": "", "tradition": "chimerisme", "skillKey": "chimerisme", @@ -1520,7 +1520,7 @@ "artsDomains": [ "Musique" ], - "effectsText": "

Les animaux comprennent ce que dit le personnage. Lui-même interprète avec facilité leurs expressions.

", + "effectsText": "", "ruleTags": [ "chimerisme", "songes" @@ -1532,7 +1532,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage chante ou joue de la musique auprès d’une cible incapable de parler (muette, blessée, malade, mourante, etc.).

", + "description": "", "notes": "", "tradition": "chimerisme", "skillKey": "chimerisme", @@ -1550,7 +1550,7 @@ "Chant", "Musique" ], - "effectsText": "

Le personnage chante ou joue de la musique auprès d’une cible incapable de parler (muette, blessée, malade, mourante, etc.). Il développe une conversation empathique avec elle. Le personnage peut obtenir des informations spécifiques de son interlocuteur si celui-ci l’accepte : X renseignements. Celles-ci peuvent être plus ou moins claires au gré du meneur de jeu.

", + "effectsText": "", "ruleTags": [ "chimerisme", "songes" @@ -1562,7 +1562,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage chante une chanson paillarde, plongeant son auditoire dans un délire sensuel partagé.

", + "description": "", "notes": "", "tradition": "chimerisme", "skillKey": "chimerisme", @@ -1579,7 +1579,7 @@ "artsDomains": [ "Chant" ], - "effectsText": "

Le personnage chante une chanson paillarde, plongeant son auditoire dans un délire sensuel partagé. Les membres de l’assistance peuvent résister avec un test de Volonté / -X.

", + "effectsText": "", "ruleTags": [ "chimerisme", "songes" @@ -1591,7 +1591,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage peint ou dessine un lieu.

", + "description": "", "notes": "", "tradition": "chimerisme", "skillKey": "chimerisme", @@ -1609,7 +1609,7 @@ "Peinture", "Dessin" ], - "effectsText": "

Le personnage peint ou dessine un lieu. Il y est transporté, ainsi que X personnes présentes à ses côtés. Attention le lieu doit réellement exister et avoir été vu au moins une fois par le personnage.

", + "effectsText": "", "ruleTags": [ "chimerisme", "songes" @@ -1621,7 +1621,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le chant ou la musique du personnage conduit X membres du Petit Peuple qui l’écoutent et qui sont consentants dans un lieu déjà vu par le personnage ou en Edenia, à Triklir.

", + "description": "", "notes": "", "tradition": "chimerisme", "skillKey": "chimerisme", @@ -1639,7 +1639,7 @@ "Chant", "Musique" ], - "effectsText": "

Le chant ou la musique du personnage conduit X membres du Petit Peuple qui l’écoutent et qui sont consentants dans un lieu déjà vu par le personnage ou en Edenia, à Triklir. Les corps des voyageurs demeurent sur place, assoupis. Les doubles des voyageurs apparaissent dans l’autre lieu. Ils possèdent les mêmes caractéristiques et possessions que les enveloppes réelles. Tout ce qui arrive à ces doubles est répercuté sur les corps et biens originaux. (Le doux rêveur peut aller avec eux ou rester sur place.)

", + "effectsText": "", "ruleTags": [ "chimerisme", "songes" @@ -1651,7 +1651,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage entonne une complainte morbide qui empêche la cible d’utiliser des Songes.

", + "description": "", "notes": "", "tradition": "chimerisme", "skillKey": "chimerisme", @@ -1668,7 +1668,7 @@ "artsDomains": [ "Chant" ], - "effectsText": "

Le personnage entonne une complainte morbide qui empêche la cible d’utiliser des Songes.

", + "effectsText": "", "ruleTags": [ "chimerisme", "cauchemar" @@ -1680,7 +1680,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage danse à l’envers à la fin du lancement d’un sortilège, ce qui l’annule juste avant qu’il prenne effet.

", + "description": "", "notes": "", "tradition": "chimerisme", "skillKey": "chimerisme", @@ -1697,7 +1697,7 @@ "artsDomains": [ "Danse" ], - "effectsText": "

Le personnage danse à l’envers à la fin du lancement d’un sortilège, ce qui l’annule juste avant qu’il prenne effet. (Il n’est pas nécessaire que le personnage connaisse le sortilège cible.)

", + "effectsText": "", "ruleTags": [ "chimerisme", "cauchemar" @@ -1709,7 +1709,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage pousse un cri abominable qui terrorise les animaux.

", + "description": "", "notes": "", "tradition": "chimerisme", "skillKey": "chimerisme", @@ -1724,7 +1724,7 @@ "stacking": "-", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Le personnage pousse un cri abominable qui terrorise les animaux. Ceux-ci fuient, ou attaquent s’ils sont acculés.

", + "effectsText": "", "ruleTags": [ "chimerisme", "cauchemar" @@ -1736,7 +1736,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage entonne un air de musique ou un chant angoissant qui effraie les personnes qui l’entendent.

", + "description": "", "notes": "", "tradition": "chimerisme", "skillKey": "chimerisme", @@ -1754,7 +1754,7 @@ "Chant", "Musique" ], - "effectsText": "

Le personnage entonne un air de musique ou un chant angoissant qui effraie les personnes qui l’entendent. Les cibles subissent un malus de 1 à leurs tests. Si le chant est interrompu, le sortilège cesse immédiatement.

", + "effectsText": "", "ruleTags": [ "chimerisme", "cauchemar" @@ -1766,7 +1766,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage utilise les accords de son instrument comme autant de coups de taille et d’estoc.

", + "description": "", "notes": "", "tradition": "chimerisme", "skillKey": "chimerisme", @@ -1783,7 +1783,7 @@ "artsDomains": [ "Musique" ], - "effectsText": "

Le personnage utilise les accords de son instrument comme autant de coups de taille et d’estoc. Tous ses adversaires subissent 1 point de dégâts à la fin de chaque round tant qu’ils entendent distinctement la musique.

", + "effectsText": "", "ruleTags": [ "chimerisme", "cauchemar" @@ -1795,7 +1795,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Celle-ci cesse ses activités pour suivre le musicien où qu’il aille tant qu’il continue à chanter.

", + "description": "", "notes": "", "tradition": "chimerisme", "skillKey": "chimerisme", @@ -1812,7 +1812,7 @@ "artsDomains": [ "Chant" ], - "effectsText": "

Celle-ci cesse ses activités pour suivre le musicien où qu’il aille tant qu’il continue à chanter. Les victimes peuvent résister à cette obligation en cas de réussite d’un test de Volonté / -X ou d’une situation occasionnant une réaction. Lorsque le sortilège cesse, les victimes ont l’impression de sortir d’un vague cauchemar dont elles sont incapables de se souvenir.

", + "effectsText": "", "ruleTags": [ "chimerisme", "cauchemar" @@ -1824,7 +1824,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage interprète un ancien chant maudit d’Obscurine qui fait perdre un sens à sa victime.

", + "description": "", "notes": "", "tradition": "chimerisme", "skillKey": "chimerisme", @@ -1841,7 +1841,7 @@ "artsDomains": [ "Chant" ], - "effectsText": "

Le personnage interprète un ancien chant maudit d’Obscurine qui fait perdre un sens à sa victime. Le personnage choisit le sens dont il souhaite priver sa cible. Si le chant est interrompu, le sortilège cesse immédiatement.

", + "effectsText": "", "ruleTags": [ "chimerisme", "cauchemar" @@ -1853,7 +1853,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage prend le temps de peindre ou de dessiner le visage de sa victime.

", + "description": "", "notes": "", "tradition": "chimerisme", "skillKey": "chimerisme", @@ -1871,7 +1871,7 @@ "Peinture", "Dessin" ], - "effectsText": "

Le personnage prend le temps de peindre ou de dessiner le visage de sa victime. Au moment du lancement du sortilège, toute modification du portrait sera reportée sur la victime, qui ne sera plus reconnue par ses proches. Le sortilège ne modifie que le visage de la cible.

", + "effectsText": "", "ruleTags": [ "chimerisme", "cauchemar" @@ -1883,7 +1883,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage raconte un événement négatif et est capable de faire croire à la victime qu’elle a bien vécu ce souvenir si son joueur rate un test de Volonté / 0.

", + "description": "", "notes": "", "tradition": "chimerisme", "skillKey": "chimerisme", @@ -1900,7 +1900,7 @@ "artsDomains": [ "Conte" ], - "effectsText": "

Le personnage raconte un événement négatif et est capable de faire croire à la victime qu’elle a bien vécu ce souvenir si son joueur rate un test de Volonté / 0.

", + "effectsText": "", "ruleTags": [ "chimerisme", "cauchemar" @@ -1912,7 +1912,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Le personnage chante une très ancienne chanson qui parle de la fuite du temps.

", + "description": "", "notes": "", "tradition": "chimerisme", "skillKey": "chimerisme", @@ -1930,7 +1930,7 @@ "Chant", "Musique" ], - "effectsText": "

Le personnage chante une très ancienne chanson qui parle de la fuite du temps. Ses accords ralentissent. À chaque note qui résonne, le temps semble ralentir également. Les adversaires du personnage diminuent leur initiative de 4.

", + "effectsText": "", "ruleTags": [ "chimerisme", "cauchemar" @@ -1942,7 +1942,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Pour réaliser ce sortilège, le personnage doit avoir ses deux yeux cousus et un œil tatoué dans sa main.

", + "description": "", "notes": "", "tradition": "farfadet", "skillKey": "chimerisme", @@ -1957,7 +1957,7 @@ "stacking": "-", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Pour réaliser ce sortilège, le personnage doit avoir ses deux yeux cousus et un œil tatoué dans sa main. Le personnage pointe le tatouage vers un individu. Il capte l’une de ses pensées, au gré du meneur de jeu.

", + "effectsText": "", "ruleTags": [ "farfadet", "soeur-effroi", @@ -1970,7 +1970,7 @@ "type": "sortilege", "img": "icons/svg/daze.svg", "system": { - "description": "

Pour réaliser ce sortilège, le personnage doit avoir ses deux yeux cousus et un œil tatoué dans sa main.

", + "description": "", "notes": "", "tradition": "farfadet", "skillKey": "chimerisme", @@ -1985,7 +1985,7 @@ "stacking": "non", "requiredDomains": [], "artsDomains": [], - "effectsText": "

Pour réaliser ce sortilège, le personnage doit avoir ses deux yeux cousus et un œil tatoué dans sa main. Le personnage pointe le tatouage vers un point, y compris lointain. Il le voit comme s’il était à proximité. Il peut déplacer sa main pour examiner ainsi différents points.

", + "effectsText": "", "ruleTags": [ "farfadet", "soeur-effroi", diff --git a/packs-src/tribus.json b/packs-src/tribus.json index 5d74422..688ab06 100644 --- a/packs-src/tribus.json +++ b/packs-src/tribus.json @@ -4,8 +4,16 @@ "type": "tribu", "img": "icons/svg/ruins.svg", "system": { - "description": "

Tribu lutine traditionaliste, gardienne de la mémoire d'Edenia.

", - "keywords": ["riche", "traditionaliste", "hautain", "méfiant", "conquérant", "expansionniste", "intolérant"], + "description": "", + "keywords": [ + "riche", + "traditionaliste", + "hautain", + "méfiant", + "conquérant", + "expansionniste", + "intolérant" + ], "mainRace": "Lutin", "spokenLanguage": "Vieux lutin", "philosophy": "Gardiens de la mémoire d'Edenia", @@ -14,17 +22,65 @@ "mythEdenia": "moyen", "territory": "Cloître bénédictin et environs", "specialRules": "", - "roleplayNotes": "

Les Krograines sont naturellement fermés à la discussion et convaincus d'appartenir à une tribu supérieure.

", + "roleplayNotes": "", "restrictedJobs": [], "allowedJobs": [], "skillBonuses": [ - { "key": "commandement", "alternativeKeys": [], "base": 2, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "erudition", "alternativeKeys": [], "base": 2, "domainsGranted": ["Catholicisme", "Histoire"], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "langues", "alternativeKeys": [], "base": 1, "domainsGranted": ["Vieux lutin"], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "melee", "alternativeKeys": [], "base": 1, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "montures", "alternativeKeys": [], "base": 1, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "volonte", "alternativeKeys": [], "base": 2, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" } - ] + { + "key": "commandement", + "alternativeKeys": [], + "base": 2, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "erudition", + "alternativeKeys": [], + "base": 2, + "domainsGranted": [ + "Catholicisme", + "Histoire" + ], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "langues", + "alternativeKeys": [], + "base": 1, + "domainsGranted": [ + "Vieux lutin" + ], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "melee", + "alternativeKeys": [], + "base": 1, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "montures", + "alternativeKeys": [], + "base": 1, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "volonte", + "alternativeKeys": [], + "base": 2, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + } + ], + "notes": "" } }, { @@ -32,8 +88,15 @@ "type": "tribu", "img": "icons/svg/ruins.svg", "system": { - "description": "

Tribu repliée sur elle-même, méfiante et excellente chevaucheuse d'oiseaux.

", - "keywords": ["pauvre", "solitaire", "méfiant", "reclus", "prétentieux", "habile chevaucheur d'oiseaux"], + "description": "", + "keywords": [ + "pauvre", + "solitaire", + "méfiant", + "reclus", + "prétentieux", + "habile chevaucheur d'oiseaux" + ], "mainRace": "Lutin", "spokenLanguage": "Lutin", "philosophy": "Crainte et suspicion envers l'étranger", @@ -41,17 +104,55 @@ "mythNature": "faible", "mythEdenia": "inexistant", "territory": "Clocher de la vieille église de la Trinité", - "specialRules": "

Chaque Karius est accompagné d'une fée rousse à laquelle il est émotionnellement lié.

", - "roleplayNotes": "

Un Karius jouable est nécessairement un banni, peu expansif et façonné par la peur du monde extérieur.

", + "specialRules": "", + "roleplayNotes": "", "restrictedJobs": [], "allowedJobs": [], "skillBonuses": [ - { "key": "athletisme", "alternativeKeys": [], "base": 2, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "discretion", "alternativeKeys": [], "base": 2, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "esquive", "alternativeKeys": [], "base": 2, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "langues", "alternativeKeys": [], "base": 1, "domainsGranted": ["Lutin"], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "montures", "alternativeKeys": [], "base": 2, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" } - ] + { + "key": "athletisme", + "alternativeKeys": [], + "base": 2, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "discretion", + "alternativeKeys": [], + "base": 2, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "esquive", + "alternativeKeys": [], + "base": 2, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "langues", + "alternativeKeys": [], + "base": 1, + "domainsGranted": [ + "Lutin" + ], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "montures", + "alternativeKeys": [], + "base": 2, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + } + ], + "notes": "" } }, { @@ -59,8 +160,18 @@ "type": "tribu", "img": "icons/svg/ruins.svg", "system": { - "description": "

Nomades sauvages, fidèles à Dame Nature et aux voyages.

", - "keywords": ["pauvre", "violent", "méfiant", "bruyant", "bagarreur", "sauvage", "primitif", "voyageur", "solitaire"], + "description": "", + "keywords": [ + "pauvre", + "violent", + "méfiant", + "bruyant", + "bagarreur", + "sauvage", + "primitif", + "voyageur", + "solitaire" + ], "mainRace": "Velu nuton", "spokenLanguage": "Velu nuton", "philosophy": "Rendre hommage à Dame Nature", @@ -69,17 +180,62 @@ "mythEdenia": "faible", "territory": "Nomades", "specialRules": "", - "roleplayNotes": "

Les Ventrus ont grandi sur les routes et voient la Terra comme un monde rude mais familier.

", + "roleplayNotes": "", "restrictedJobs": [], "allowedJobs": [], "skillBonuses": [ - { "key": "corpsacorps", "alternativeKeys": [], "base": 1, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "endurance", "alternativeKeys": [], "base": 2, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "force", "alternativeKeys": [], "base": 2, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "langues", "alternativeKeys": [], "base": 1, "domainsGranted": ["Velu nuton"], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "montures", "alternativeKeys": [], "base": 1, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "survie", "alternativeKeys": [], "base": 2, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" } - ] + { + "key": "corpsacorps", + "alternativeKeys": [], + "base": 1, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "endurance", + "alternativeKeys": [], + "base": 2, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "force", + "alternativeKeys": [], + "base": 2, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "langues", + "alternativeKeys": [], + "base": 1, + "domainsGranted": [ + "Velu nuton" + ], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "montures", + "alternativeKeys": [], + "base": 1, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "survie", + "alternativeKeys": [], + "base": 2, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + } + ], + "notes": "" } }, { @@ -87,8 +243,16 @@ "type": "tribu", "img": "icons/svg/ruins.svg", "system": { - "description": "

Noblesse kobolde morbide et pilleuse de tombes.

", - "keywords": ["mystérieux", "manipulateur", "déchu", "pilleur de tombes", "sombre", "morbide", "ennemi des Vivitins"], + "description": "", + "keywords": [ + "mystérieux", + "manipulateur", + "déchu", + "pilleur de tombes", + "sombre", + "morbide", + "ennemi des Vivitins" + ], "mainRace": "Kobold", "spokenLanguage": "Kobold", "philosophy": "Restaurer leur grandeur passée", @@ -97,17 +261,66 @@ "mythEdenia": "moyen", "territory": "Cimetières et charniers", "specialRules": "", - "roleplayNotes": "

Les Sixts sont solitaires, peu loquaces et liés à la noblesse décadente de leur tribu.

", + "roleplayNotes": "", "restrictedJobs": [], "allowedJobs": [], "skillBonuses": [ - { "key": "arts", "alternativeKeys": [], "base": 1, "domainsGranted": ["Conte"], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "chimerisme", "alternativeKeys": [], "base": 2, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "discretion", "alternativeKeys": [], "base": 2, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "erudition", "alternativeKeys": [], "base": 1, "domainsGranted": ["Légendes"], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "langues", "alternativeKeys": [], "base": 1, "domainsGranted": ["Kobold"], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "subterfuge", "alternativeKeys": [], "base": 2, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" } - ] + { + "key": "arts", + "alternativeKeys": [], + "base": 1, + "domainsGranted": [ + "Conte" + ], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "chimerisme", + "alternativeKeys": [], + "base": 2, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "discretion", + "alternativeKeys": [], + "base": 2, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "erudition", + "alternativeKeys": [], + "base": 1, + "domainsGranted": [ + "Légendes" + ], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "langues", + "alternativeKeys": [], + "base": 1, + "domainsGranted": [ + "Kobold" + ], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "subterfuge", + "alternativeKeys": [], + "base": 2, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + } + ], + "notes": "" } }, { @@ -115,8 +328,19 @@ "type": "tribu", "img": "icons/svg/ruins.svg", "system": { - "description": "

Belgfolks inventifs, fascinés par les géants et les secrets.

", - "keywords": ["fasciné par les géants", "inventif", "curieux", "bourru", "observateur", "rigoureux", "habile", "tenace", "têtu", "matérialiste"], + "description": "", + "keywords": [ + "fasciné par les géants", + "inventif", + "curieux", + "bourru", + "observateur", + "rigoureux", + "habile", + "tenace", + "têtu", + "matérialiste" + ], "mainRace": "Belgfolk", "spokenLanguage": "Belgfolk", "philosophy": "Recherche et découverte de secrets", @@ -125,17 +349,64 @@ "mythEdenia": "faible", "territory": "Chantier naval", "specialRules": "", - "roleplayNotes": "

Les Frinios sont instruits, avides de connaissances et peu nombreux à quitter leur colonie pour devenir Oubliés.

", + "roleplayNotes": "", "restrictedJobs": [], "allowedJobs": [], "skillBonuses": [ - { "key": "artisanat", "alternativeKeys": [], "base": 2, "domainsGranted": [], "domainsToChoose": 2, "domainsChoiceText": "domaines d'Artisanat au choix" }, - { "key": "erudition", "alternativeKeys": [], "base": 1, "domainsGranted": ["Lettres"], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "intellect", "alternativeKeys": [], "base": 2, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "langues", "alternativeKeys": [], "base": 2, "domainsGranted": ["Belgfolk"], "domainsToChoose": 1, "domainsChoiceText": "autre langue au choix" }, - { "key": "strategie", "alternativeKeys": [], "base": 1, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "survie", "alternativeKeys": [], "base": 1, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" } - ] + { + "key": "artisanat", + "alternativeKeys": [], + "base": 2, + "domainsGranted": [], + "domainsToChoose": 2, + "domainsChoiceText": "domaines d'Artisanat au choix" + }, + { + "key": "erudition", + "alternativeKeys": [], + "base": 1, + "domainsGranted": [ + "Lettres" + ], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "intellect", + "alternativeKeys": [], + "base": 2, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "langues", + "alternativeKeys": [], + "base": 2, + "domainsGranted": [ + "Belgfolk" + ], + "domainsToChoose": 1, + "domainsChoiceText": "autre langue au choix" + }, + { + "key": "strategie", + "alternativeKeys": [], + "base": 1, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "survie", + "alternativeKeys": [], + "base": 1, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + } + ], + "notes": "" } }, { @@ -143,8 +414,18 @@ "type": "tribu", "img": "icons/svg/ruins.svg", "system": { - "description": "

Gnomes nomades, chaleureux et dresseurs réputés.

", - "keywords": ["haine des géants", "nomade", "insouciant", "familial", "ouvert", "enjoué", "bonimenteur", "sensible", "dresseur réputé"], + "description": "", + "keywords": [ + "haine des géants", + "nomade", + "insouciant", + "familial", + "ouvert", + "enjoué", + "bonimenteur", + "sensible", + "dresseur réputé" + ], "mainRace": "Gnome", "spokenLanguage": "Gnome", "philosophy": "Protéger sa famille et la quête d'Edenia", @@ -153,17 +434,67 @@ "mythEdenia": "fort", "territory": "Nomades", "specialRules": "", - "roleplayNotes": "

Les Pataches font du rire et de la bonne humeur un rempart contre la dureté de l'Exil.

", + "roleplayNotes": "", "restrictedJobs": [], "allowedJobs": [], "skillBonuses": [ - { "key": "artisanat", "alternativeKeys": [], "base": 1, "domainsGranted": ["Apothicaire"], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "erudition", "alternativeKeys": [], "base": 2, "domainsGranted": ["Faune", "Flore"], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "langues", "alternativeKeys": [], "base": 1, "domainsGranted": ["Gnome"], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "montures", "alternativeKeys": [], "base": 1, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "survie", "alternativeKeys": [], "base": 2, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "tir", "alternativeKeys": [], "base": 2, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" } - ] + { + "key": "artisanat", + "alternativeKeys": [], + "base": 1, + "domainsGranted": [ + "Apothicaire" + ], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "erudition", + "alternativeKeys": [], + "base": 2, + "domainsGranted": [ + "Faune", + "Flore" + ], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "langues", + "alternativeKeys": [], + "base": 1, + "domainsGranted": [ + "Gnome" + ], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "montures", + "alternativeKeys": [], + "base": 1, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "survie", + "alternativeKeys": [], + "base": 2, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "tir", + "alternativeKeys": [], + "base": 2, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + } + ], + "notes": "" } }, { @@ -171,8 +502,16 @@ "type": "tribu", "img": "icons/svg/ruins.svg", "system": { - "description": "

Gnomes teigneux et indépendants, très liés à leurs clans.

", - "keywords": ["individualiste", "indépendant", "insoumis", "bagarreur", "teigneux", "voleur", "guerrier dans l'âme"], + "description": "", + "keywords": [ + "individualiste", + "indépendant", + "insoumis", + "bagarreur", + "teigneux", + "voleur", + "guerrier dans l'âme" + ], "mainRace": "Gnome", "spokenLanguage": "Gnome", "philosophy": "Préserver clan et famille", @@ -181,17 +520,62 @@ "mythEdenia": "inexistant", "territory": "Le Labrus", "specialRules": "", - "roleplayNotes": "

Les Banshises sont élevés dans le conflit et le chapardage ; devenir Oublié est pour eux une rupture profonde.

", + "roleplayNotes": "", "restrictedJobs": [], "allowedJobs": [], "skillBonuses": [ - { "key": "discretion", "alternativeKeys": [], "base": 2, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "esquive", "alternativeKeys": [], "base": 1, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "langues", "alternativeKeys": [], "base": 1, "domainsGranted": ["Gnome"], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "melee", "alternativeKeys": [], "base": 1, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "subterfuge", "alternativeKeys": [], "base": 2, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "survie", "alternativeKeys": [], "base": 2, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" } - ] + { + "key": "discretion", + "alternativeKeys": [], + "base": 2, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "esquive", + "alternativeKeys": [], + "base": 1, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "langues", + "alternativeKeys": [], + "base": 1, + "domainsGranted": [ + "Gnome" + ], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "melee", + "alternativeKeys": [], + "base": 1, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "subterfuge", + "alternativeKeys": [], + "base": 2, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "survie", + "alternativeKeys": [], + "base": 2, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + } + ], + "notes": "" } }, { @@ -199,8 +583,16 @@ "type": "tribu", "img": "icons/svg/ruins.svg", "system": { - "description": "

Kobolds navigateurs, fiers guerriers et ennemis des Sixts.

", - "keywords": ["navigateur", "ingénieux", "guerrier", "courageux", "sinistre", "aigri", "hait les Sixts"], + "description": "", + "keywords": [ + "navigateur", + "ingénieux", + "guerrier", + "courageux", + "sinistre", + "aigri", + "hait les Sixts" + ], "mainRace": "Kobold", "spokenLanguage": "Kobold", "philosophy": "Accroître la puissance des Vivitins", @@ -209,17 +601,65 @@ "mythEdenia": "inexistant", "territory": "Marches brumeuses", "specialRules": "", - "roleplayNotes": "

Les Vivitins veulent prouver leur valeur, portent une forte rancœur envers les Sixts et se vivent comme un peuple renaissant.

", + "roleplayNotes": "", "restrictedJobs": [], "allowedJobs": [], "skillBonuses": [ - { "key": "artisanat", "alternativeKeys": [], "base": 2, "domainsGranted": ["Construction", "Navigation"], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "athletisme", "alternativeKeys": [], "base": 1, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "langues", "alternativeKeys": [], "base": 1, "domainsGranted": ["Kobold"], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "sens", "alternativeKeys": [], "base": 2, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "survie", "alternativeKeys": [], "base": 1, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "volonte", "alternativeKeys": [], "base": 2, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" } - ] + { + "key": "artisanat", + "alternativeKeys": [], + "base": 2, + "domainsGranted": [ + "Construction", + "Navigation" + ], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "athletisme", + "alternativeKeys": [], + "base": 1, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "langues", + "alternativeKeys": [], + "base": 1, + "domainsGranted": [ + "Kobold" + ], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "sens", + "alternativeKeys": [], + "base": 2, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "survie", + "alternativeKeys": [], + "base": 1, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "volonte", + "alternativeKeys": [], + "base": 2, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + } + ], + "notes": "" } }, { @@ -227,8 +667,18 @@ "type": "tribu", "img": "icons/svg/ruins.svg", "system": { - "description": "

Tribu marchande, multiculturelle et cosmopolite.

", - "keywords": ["navigateur multiculturel", "baratineur", "marchand", "épicurien", "exubérant", "raffiné", "cupide", "riche", "tolérant"], + "description": "", + "keywords": [ + "navigateur multiculturel", + "baratineur", + "marchand", + "épicurien", + "exubérant", + "raffiné", + "cupide", + "riche", + "tolérant" + ], "mainRace": "Toutes", "spokenLanguage": "Chimérique", "philosophy": "Tout se revend avec bénéfice", @@ -237,17 +687,60 @@ "mythEdenia": "inexistant", "territory": "Place du marché", "specialRules": "", - "roleplayNotes": "

Les Margouts vivent pour l'échange, l'apparat et l'avenir ; ils aiment la Terra bien plus que les vieux mythes.

", + "roleplayNotes": "", "restrictedJobs": [], "allowedJobs": [], "skillBonuses": [ - { "key": "artisanat", "alternativeKeys": [], "base": 1, "domainsGranted": [], "domainsToChoose": 1, "domainsChoiceText": "domaine d'Artisanat au choix" }, - { "key": "empathie", "alternativeKeys": [], "base": 1, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "intellect", "alternativeKeys": [], "base": 2, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "langues", "alternativeKeys": [], "base": 1, "domainsGranted": [], "domainsToChoose": 1, "domainsChoiceText": "langue du Petit Peuple autre que celle de la race" }, - { "key": "seduction", "alternativeKeys": [], "base": 2, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "subterfuge", "alternativeKeys": [], "base": 2, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" } - ] + { + "key": "artisanat", + "alternativeKeys": [], + "base": 1, + "domainsGranted": [], + "domainsToChoose": 1, + "domainsChoiceText": "domaine d'Artisanat au choix" + }, + { + "key": "empathie", + "alternativeKeys": [], + "base": 1, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "intellect", + "alternativeKeys": [], + "base": 2, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "langues", + "alternativeKeys": [], + "base": 1, + "domainsGranted": [], + "domainsToChoose": 1, + "domainsChoiceText": "langue du Petit Peuple autre que celle de la race" + }, + { + "key": "seduction", + "alternativeKeys": [], + "base": 2, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "subterfuge", + "alternativeKeys": [], + "base": 2, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + } + ], + "notes": "" } }, { @@ -255,8 +748,17 @@ "type": "tribu", "img": "icons/svg/ruins.svg", "system": { - "description": "

Farfadets particulièrement doués en magie et fabricants d'objets enchantés.

", - "keywords": ["ancien conseiller", "doué en magie", "en voie de disparition", "sage", "introverti", "pessimiste", "hait le Cauchemar", "fabricant d'objets enchantés"], + "description": "", + "keywords": [ + "ancien conseiller", + "doué en magie", + "en voie de disparition", + "sage", + "introverti", + "pessimiste", + "hait le Cauchemar", + "fabricant d'objets enchantés" + ], "mainRace": "Farfadet", "spokenLanguage": "Farfadet", "philosophy": "Responsables de l'Exil du Petit Peuple", @@ -264,18 +766,76 @@ "mythNature": "faible", "mythEdenia": "fort", "territory": "Ghetto juif", - "specialRules": "

Le seul métier possible à la création est mage des Songes.

", - "roleplayNotes": "

Les Siccomores sont austères, peu loquaces et vivent dans la conscience lourde de l'Exil.

", - "restrictedJobs": ["Rêvirine", "Chevalier errant", "Mercenaire", "Explorateur-marchand", "Cartographe", "Doux rêveur", "Trouvetout"], - "allowedJobs": ["Mage des Songes"], + "specialRules": "", + "roleplayNotes": "", + "restrictedJobs": [ + "Rêvirine", + "Chevalier errant", + "Mercenaire", + "Explorateur-marchand", + "Cartographe", + "Doux rêveur", + "Trouvetout" + ], + "allowedJobs": [ + "Mage des Songes" + ], "skillBonuses": [ - { "key": "erudition", "alternativeKeys": [], "base": 2, "domainsGranted": ["Judaïsme", "Lettres"], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "intellect", "alternativeKeys": [], "base": 1, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "langues", "alternativeKeys": [], "base": 1, "domainsGranted": ["Farfadet"], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "magie", "alternativeKeys": [], "base": 2, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "seduction", "alternativeKeys": [], "base": 2, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "volonte", "alternativeKeys": [], "base": 1, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" } - ] + { + "key": "erudition", + "alternativeKeys": [], + "base": 2, + "domainsGranted": [ + "Judaïsme", + "Lettres" + ], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "intellect", + "alternativeKeys": [], + "base": 1, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "langues", + "alternativeKeys": [], + "base": 1, + "domainsGranted": [ + "Farfadet" + ], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "magie", + "alternativeKeys": [], + "base": 2, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "seduction", + "alternativeKeys": [], + "base": 2, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "volonte", + "alternativeKeys": [], + "base": 1, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + } + ], + "notes": "" } }, { @@ -283,8 +843,19 @@ "type": "tribu", "img": "icons/svg/ruins.svg", "system": { - "description": "

Korrigans violents, maîtres artisans et grands buveurs.

", - "keywords": ["mauvaise réputation", "guerrier", "violent", "maître artisan", "grand buveur", "grande gueule", "dur", "brutal", "vulgaire", "opportuniste"], + "description": "", + "keywords": [ + "mauvaise réputation", + "guerrier", + "violent", + "maître artisan", + "grand buveur", + "grande gueule", + "dur", + "brutal", + "vulgaire", + "opportuniste" + ], "mainRace": "Korrigan", "spokenLanguage": "Korrigan", "philosophy": "Être au cœur du combat comme de la vie", @@ -293,17 +864,62 @@ "mythEdenia": "inexistant", "territory": "La forge", "specialRules": "", - "roleplayNotes": "

Les Huvons valorisent la brutalité, les arènes et les compagnies de mercenaires plus que les Oubliés.

", + "roleplayNotes": "", "restrictedJobs": [], "allowedJobs": [], "skillBonuses": [ - { "key": "commandement", "alternativeKeys": [], "base": 1, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "corpsacorps", "alternativeKeys": [], "base": 2, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "endurance", "alternativeKeys": [], "base": 2, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "langues", "alternativeKeys": [], "base": 1, "domainsGranted": ["Korrigan"], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "melee", "alternativeKeys": [], "base": 2, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" }, - { "key": "strategie", "alternativeKeys": [], "base": 1, "domainsGranted": [], "domainsToChoose": 0, "domainsChoiceText": "" } - ] + { + "key": "commandement", + "alternativeKeys": [], + "base": 1, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "corpsacorps", + "alternativeKeys": [], + "base": 2, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "endurance", + "alternativeKeys": [], + "base": 2, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "langues", + "alternativeKeys": [], + "base": 1, + "domainsGranted": [ + "Korrigan" + ], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "melee", + "alternativeKeys": [], + "base": 2, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + }, + { + "key": "strategie", + "alternativeKeys": [], + "base": 1, + "domainsGranted": [], + "domainsToChoose": 0, + "domainsChoiceText": "" + } + ], + "notes": "" } } ] diff --git a/packs/armes/000003.log b/packs/armes/000003.log new file mode 100644 index 0000000..2a600f6 Binary files /dev/null and b/packs/armes/000003.log differ diff --git a/packs/armes/000015.ldb b/packs/armes/000015.ldb deleted file mode 100644 index fd48d9c..0000000 Binary files a/packs/armes/000015.ldb and /dev/null differ diff --git a/packs/armes/000018.log b/packs/armes/000018.log deleted file mode 100644 index e69de29..0000000 diff --git a/packs/armes/CURRENT b/packs/armes/CURRENT index 056df57..1a84852 100644 --- a/packs/armes/CURRENT +++ b/packs/armes/CURRENT @@ -1 +1 @@ -MANIFEST-000017 +MANIFEST-000002 diff --git a/packs/armes/LOG b/packs/armes/LOG index 8591c2a..5edd844 100644 --- a/packs/armes/LOG +++ b/packs/armes/LOG @@ -1 +1 @@ -2026/05/05-23:40:09.231188 7fe932bff6c0 Delete type=3 #1 +2026/05/06-10:41:39.239714 7f66b3fff6c0 Delete type=3 #1 diff --git a/packs/armes/LOG.old b/packs/armes/LOG.old deleted file mode 100644 index d8e7cba..0000000 --- a/packs/armes/LOG.old +++ /dev/null @@ -1,4 +0,0 @@ -2026/05/05-23:40:09.152289 7fe932bff6c0 Log #13: 0 ops saved to Table #16 OK -2026/05/05-23:40:09.152478 7fe932bff6c0 Archiving /home/morr/foundry/foundrydata-dev/Data/systems/fvtt-les-oublies/packs/armes/000013.log: OK -2026/05/05-23:40:09.153098 7fe932bff6c0 Table #15: 35 entries OK -2026/05/05-23:40:09.156534 7fe932bff6c0 **** Repaired leveldb /home/morr/foundry/foundrydata-dev/Data/systems/fvtt-les-oublies/packs/armes; recovered 1 files; 9822 bytes. Some data may have been lost. **** diff --git a/packs/armes/MANIFEST-000002 b/packs/armes/MANIFEST-000002 new file mode 100644 index 0000000..bbbc585 Binary files /dev/null and b/packs/armes/MANIFEST-000002 differ diff --git a/packs/armes/MANIFEST-000017 b/packs/armes/MANIFEST-000017 deleted file mode 100644 index 61e7e85..0000000 Binary files a/packs/armes/MANIFEST-000017 and /dev/null differ diff --git a/packs/armes/lost/000013.log b/packs/armes/lost/000013.log deleted file mode 100644 index e69de29..0000000 diff --git a/packs/armures/000003.log b/packs/armures/000003.log new file mode 100644 index 0000000..093aaf2 Binary files /dev/null and b/packs/armures/000003.log differ diff --git a/packs/armures/000015.ldb b/packs/armures/000015.ldb deleted file mode 100644 index 81eda25..0000000 Binary files a/packs/armures/000015.ldb and /dev/null differ diff --git a/packs/armures/000018.log b/packs/armures/000018.log deleted file mode 100644 index e69de29..0000000 diff --git a/packs/armures/CURRENT b/packs/armures/CURRENT index 056df57..1a84852 100644 --- a/packs/armures/CURRENT +++ b/packs/armures/CURRENT @@ -1 +1 @@ -MANIFEST-000017 +MANIFEST-000002 diff --git a/packs/armures/LOG b/packs/armures/LOG index ae46298..a6d5e7f 100644 --- a/packs/armures/LOG +++ b/packs/armures/LOG @@ -1 +1 @@ -2026/05/05-23:40:09.253058 7fe9323fe6c0 Delete type=3 #1 +2026/05/06-10:41:39.316793 7f66b37fe6c0 Delete type=3 #1 diff --git a/packs/armures/LOG.old b/packs/armures/LOG.old deleted file mode 100644 index 6226249..0000000 --- a/packs/armures/LOG.old +++ /dev/null @@ -1,4 +0,0 @@ -2026/05/05-23:40:09.236179 7fe9323fe6c0 Log #13: 0 ops saved to Table #16 OK -2026/05/05-23:40:09.236299 7fe9323fe6c0 Archiving /home/morr/foundry/foundrydata-dev/Data/systems/fvtt-les-oublies/packs/armures/000013.log: OK -2026/05/05-23:40:09.236369 7fe9323fe6c0 Table #15: 3 entries OK -2026/05/05-23:40:09.239777 7fe9323fe6c0 **** Repaired leveldb /home/morr/foundry/foundrydata-dev/Data/systems/fvtt-les-oublies/packs/armures; recovered 1 files; 1577 bytes. Some data may have been lost. **** diff --git a/packs/armures/MANIFEST-000002 b/packs/armures/MANIFEST-000002 new file mode 100644 index 0000000..bbbc585 Binary files /dev/null and b/packs/armures/MANIFEST-000002 differ diff --git a/packs/armures/MANIFEST-000017 b/packs/armures/MANIFEST-000017 deleted file mode 100644 index 4dc86dd..0000000 Binary files a/packs/armures/MANIFEST-000017 and /dev/null differ diff --git a/packs/armures/lost/000013.log b/packs/armures/lost/000013.log deleted file mode 100644 index e69de29..0000000 diff --git a/packs/competences/000003.log b/packs/competences/000003.log new file mode 100644 index 0000000..90cbfec Binary files /dev/null and b/packs/competences/000003.log differ diff --git a/packs/competences/000015.ldb b/packs/competences/000015.ldb deleted file mode 100644 index 6afce28..0000000 Binary files a/packs/competences/000015.ldb and /dev/null differ diff --git a/packs/competences/000018.log b/packs/competences/000018.log deleted file mode 100644 index e69de29..0000000 diff --git a/packs/competences/CURRENT b/packs/competences/CURRENT index 056df57..1a84852 100644 --- a/packs/competences/CURRENT +++ b/packs/competences/CURRENT @@ -1 +1 @@ -MANIFEST-000017 +MANIFEST-000002 diff --git a/packs/competences/LOG b/packs/competences/LOG index 2476dfc..ae39cc4 100644 --- a/packs/competences/LOG +++ b/packs/competences/LOG @@ -1 +1 @@ -2026/05/05-23:40:09.316714 7fe9313fc6c0 Delete type=3 #1 +2026/05/06-10:41:39.548963 7f66b3fff6c0 Delete type=3 #1 diff --git a/packs/competences/LOG.old b/packs/competences/LOG.old deleted file mode 100644 index cd51488..0000000 --- a/packs/competences/LOG.old +++ /dev/null @@ -1,4 +0,0 @@ -2026/05/05-23:40:09.299948 7fe9313fc6c0 Log #13: 0 ops saved to Table #16 OK -2026/05/05-23:40:09.300066 7fe9313fc6c0 Archiving /home/morr/foundry/foundrydata-dev/Data/systems/fvtt-les-oublies/packs/competences/000013.log: OK -2026/05/05-23:40:09.300566 7fe9313fc6c0 Table #15: 27 entries OK -2026/05/05-23:40:09.303895 7fe9313fc6c0 **** Repaired leveldb /home/morr/foundry/foundrydata-dev/Data/systems/fvtt-les-oublies/packs/competences; recovered 1 files; 8906 bytes. Some data may have been lost. **** diff --git a/packs/competences/MANIFEST-000002 b/packs/competences/MANIFEST-000002 new file mode 100644 index 0000000..bbbc585 Binary files /dev/null and b/packs/competences/MANIFEST-000002 differ diff --git a/packs/competences/MANIFEST-000017 b/packs/competences/MANIFEST-000017 deleted file mode 100644 index db4772d..0000000 Binary files a/packs/competences/MANIFEST-000017 and /dev/null differ diff --git a/packs/competences/lost/000013.log b/packs/competences/lost/000013.log deleted file mode 100644 index e69de29..0000000 diff --git a/packs/equipements/000003.log b/packs/equipements/000003.log new file mode 100644 index 0000000..9b3df8e Binary files /dev/null and b/packs/equipements/000003.log differ diff --git a/packs/equipements/000015.ldb b/packs/equipements/000015.ldb deleted file mode 100644 index b52734f..0000000 Binary files a/packs/equipements/000015.ldb and /dev/null differ diff --git a/packs/equipements/000018.log b/packs/equipements/000018.log deleted file mode 100644 index e69de29..0000000 diff --git a/packs/equipements/CURRENT b/packs/equipements/CURRENT index 056df57..1a84852 100644 --- a/packs/equipements/CURRENT +++ b/packs/equipements/CURRENT @@ -1 +1 @@ -MANIFEST-000017 +MANIFEST-000002 diff --git a/packs/equipements/LOG b/packs/equipements/LOG index 79f3f80..1572264 100644 --- a/packs/equipements/LOG +++ b/packs/equipements/LOG @@ -1 +1 @@ -2026/05/05-23:40:09.274733 7fe931bfd6c0 Delete type=3 #1 +2026/05/06-10:41:39.389376 7f67015ff6c0 Delete type=3 #1 diff --git a/packs/equipements/LOG.old b/packs/equipements/LOG.old deleted file mode 100644 index 22817b7..0000000 --- a/packs/equipements/LOG.old +++ /dev/null @@ -1,4 +0,0 @@ -2026/05/05-23:40:09.256392 7fe931bfd6c0 Log #13: 0 ops saved to Table #16 OK -2026/05/05-23:40:09.256528 7fe931bfd6c0 Archiving /home/morr/foundry/foundrydata-dev/Data/systems/fvtt-les-oublies/packs/equipements/000013.log: OK -2026/05/05-23:40:09.256975 7fe931bfd6c0 Table #15: 35 entries OK -2026/05/05-23:40:09.260634 7fe931bfd6c0 **** Repaired leveldb /home/morr/foundry/foundrydata-dev/Data/systems/fvtt-les-oublies/packs/equipements; recovered 1 files; 9889 bytes. Some data may have been lost. **** diff --git a/packs/equipements/MANIFEST-000002 b/packs/equipements/MANIFEST-000002 new file mode 100644 index 0000000..bbbc585 Binary files /dev/null and b/packs/equipements/MANIFEST-000002 differ diff --git a/packs/equipements/MANIFEST-000017 b/packs/equipements/MANIFEST-000017 deleted file mode 100644 index 0a13a68..0000000 Binary files a/packs/equipements/MANIFEST-000017 and /dev/null differ diff --git a/packs/equipements/lost/000013.log b/packs/equipements/lost/000013.log deleted file mode 100644 index e69de29..0000000 diff --git a/packs/metiers/000003.log b/packs/metiers/000003.log new file mode 100644 index 0000000..b1919a2 Binary files /dev/null and b/packs/metiers/000003.log differ diff --git a/packs/metiers/000015.ldb b/packs/metiers/000015.ldb deleted file mode 100644 index d7794fc..0000000 Binary files a/packs/metiers/000015.ldb and /dev/null differ diff --git a/packs/metiers/000018.log b/packs/metiers/000018.log deleted file mode 100644 index e69de29..0000000 diff --git a/packs/metiers/CURRENT b/packs/metiers/CURRENT index 056df57..1a84852 100644 --- a/packs/metiers/CURRENT +++ b/packs/metiers/CURRENT @@ -1 +1 @@ -MANIFEST-000017 +MANIFEST-000002 diff --git a/packs/metiers/LOG b/packs/metiers/LOG index bf7fc0f..f91809e 100644 --- a/packs/metiers/LOG +++ b/packs/metiers/LOG @@ -1 +1 @@ -2026/05/05-23:40:09.380711 7fe932bff6c0 Delete type=3 #1 +2026/05/06-10:41:39.785271 7f6700dfe6c0 Delete type=3 #1 diff --git a/packs/metiers/LOG.old b/packs/metiers/LOG.old deleted file mode 100644 index c01a1b6..0000000 --- a/packs/metiers/LOG.old +++ /dev/null @@ -1,4 +0,0 @@ -2026/05/05-23:40:09.363392 7fe932bff6c0 Log #13: 0 ops saved to Table #16 OK -2026/05/05-23:40:09.363510 7fe932bff6c0 Archiving /home/morr/foundry/foundrydata-dev/Data/systems/fvtt-les-oublies/packs/metiers/000013.log: OK -2026/05/05-23:40:09.363939 7fe932bff6c0 Table #15: 8 entries OK -2026/05/05-23:40:09.367269 7fe932bff6c0 **** Repaired leveldb /home/morr/foundry/foundrydata-dev/Data/systems/fvtt-les-oublies/packs/metiers; recovered 1 files; 5369 bytes. Some data may have been lost. **** diff --git a/packs/metiers/MANIFEST-000002 b/packs/metiers/MANIFEST-000002 new file mode 100644 index 0000000..bbbc585 Binary files /dev/null and b/packs/metiers/MANIFEST-000002 differ diff --git a/packs/metiers/MANIFEST-000017 b/packs/metiers/MANIFEST-000017 deleted file mode 100644 index e468078..0000000 Binary files a/packs/metiers/MANIFEST-000017 and /dev/null differ diff --git a/packs/metiers/lost/000013.log b/packs/metiers/lost/000013.log deleted file mode 100644 index e69de29..0000000 diff --git a/packs/pouvoirs-compagnie/000003.log b/packs/pouvoirs-compagnie/000003.log new file mode 100644 index 0000000..050eae6 Binary files /dev/null and b/packs/pouvoirs-compagnie/000003.log differ diff --git a/packs/pouvoirs-compagnie/000015.ldb b/packs/pouvoirs-compagnie/000015.ldb deleted file mode 100644 index a04a6a2..0000000 Binary files a/packs/pouvoirs-compagnie/000015.ldb and /dev/null differ diff --git a/packs/pouvoirs-compagnie/000018.log b/packs/pouvoirs-compagnie/000018.log deleted file mode 100644 index e69de29..0000000 diff --git a/packs/pouvoirs-compagnie/CURRENT b/packs/pouvoirs-compagnie/CURRENT index 056df57..1a84852 100644 --- a/packs/pouvoirs-compagnie/CURRENT +++ b/packs/pouvoirs-compagnie/CURRENT @@ -1 +1 @@ -MANIFEST-000017 +MANIFEST-000002 diff --git a/packs/pouvoirs-compagnie/LOG b/packs/pouvoirs-compagnie/LOG index 920d304..69820c9 100644 --- a/packs/pouvoirs-compagnie/LOG +++ b/packs/pouvoirs-compagnie/LOG @@ -1 +1 @@ -2026/05/05-23:40:09.295254 7fe931bfd6c0 Delete type=3 #1 +2026/05/06-10:41:39.470099 7f6700dfe6c0 Delete type=3 #1 diff --git a/packs/pouvoirs-compagnie/LOG.old b/packs/pouvoirs-compagnie/LOG.old deleted file mode 100644 index e3dcb97..0000000 --- a/packs/pouvoirs-compagnie/LOG.old +++ /dev/null @@ -1,4 +0,0 @@ -2026/05/05-23:40:09.278162 7fe931bfd6c0 Log #13: 0 ops saved to Table #16 OK -2026/05/05-23:40:09.278297 7fe931bfd6c0 Archiving /home/morr/foundry/foundrydata-dev/Data/systems/fvtt-les-oublies/packs/pouvoirs-compagnie/000013.log: OK -2026/05/05-23:40:09.278628 7fe931bfd6c0 Table #15: 8 entries OK -2026/05/05-23:40:09.281745 7fe931bfd6c0 **** Repaired leveldb /home/morr/foundry/foundrydata-dev/Data/systems/fvtt-les-oublies/packs/pouvoirs-compagnie; recovered 1 files; 3313 bytes. Some data may have been lost. **** diff --git a/packs/pouvoirs-compagnie/MANIFEST-000002 b/packs/pouvoirs-compagnie/MANIFEST-000002 new file mode 100644 index 0000000..bbbc585 Binary files /dev/null and b/packs/pouvoirs-compagnie/MANIFEST-000002 differ diff --git a/packs/pouvoirs-compagnie/MANIFEST-000017 b/packs/pouvoirs-compagnie/MANIFEST-000017 deleted file mode 100644 index 9c2bb37..0000000 Binary files a/packs/pouvoirs-compagnie/MANIFEST-000017 and /dev/null differ diff --git a/packs/pouvoirs-compagnie/lost/000013.log b/packs/pouvoirs-compagnie/lost/000013.log deleted file mode 100644 index e69de29..0000000 diff --git a/packs/races/000003.log b/packs/races/000003.log new file mode 100644 index 0000000..e1028c9 Binary files /dev/null and b/packs/races/000003.log differ diff --git a/packs/races/000015.ldb b/packs/races/000015.ldb deleted file mode 100644 index 934919b..0000000 Binary files a/packs/races/000015.ldb and /dev/null differ diff --git a/packs/races/000018.log b/packs/races/000018.log deleted file mode 100644 index e69de29..0000000 diff --git a/packs/races/CURRENT b/packs/races/CURRENT index 056df57..1a84852 100644 --- a/packs/races/CURRENT +++ b/packs/races/CURRENT @@ -1 +1 @@ -MANIFEST-000017 +MANIFEST-000002 diff --git a/packs/races/LOG b/packs/races/LOG index 319c4cf..07ebfc6 100644 --- a/packs/races/LOG +++ b/packs/races/LOG @@ -1 +1 @@ -2026/05/05-23:40:09.338680 7fe9313fc6c0 Delete type=3 #1 +2026/05/06-10:41:39.629799 7f66b37fe6c0 Delete type=3 #1 diff --git a/packs/races/LOG.old b/packs/races/LOG.old deleted file mode 100644 index 3443331..0000000 --- a/packs/races/LOG.old +++ /dev/null @@ -1,4 +0,0 @@ -2026/05/05-23:40:09.320668 7fe9313fc6c0 Log #13: 0 ops saved to Table #16 OK -2026/05/05-23:40:09.320788 7fe9313fc6c0 Archiving /home/morr/foundry/foundrydata-dev/Data/systems/fvtt-les-oublies/packs/races/000013.log: OK -2026/05/05-23:40:09.321068 7fe9313fc6c0 Table #15: 7 entries OK -2026/05/05-23:40:09.324347 7fe9313fc6c0 **** Repaired leveldb /home/morr/foundry/foundrydata-dev/Data/systems/fvtt-les-oublies/packs/races; recovered 1 files; 4699 bytes. Some data may have been lost. **** diff --git a/packs/races/MANIFEST-000002 b/packs/races/MANIFEST-000002 new file mode 100644 index 0000000..bbbc585 Binary files /dev/null and b/packs/races/MANIFEST-000002 differ diff --git a/packs/races/MANIFEST-000017 b/packs/races/MANIFEST-000017 deleted file mode 100644 index ac775c3..0000000 Binary files a/packs/races/MANIFEST-000017 and /dev/null differ diff --git a/packs/races/lost/000013.log b/packs/races/lost/000013.log deleted file mode 100644 index e69de29..0000000 diff --git a/packs/sortileges/000003.log b/packs/sortileges/000003.log new file mode 100644 index 0000000..9cebe14 Binary files /dev/null and b/packs/sortileges/000003.log differ diff --git a/packs/sortileges/000015.ldb b/packs/sortileges/000015.ldb deleted file mode 100644 index 4760fcf..0000000 Binary files a/packs/sortileges/000015.ldb and /dev/null differ diff --git a/packs/sortileges/000018.log b/packs/sortileges/000018.log deleted file mode 100644 index e69de29..0000000 diff --git a/packs/sortileges/CURRENT b/packs/sortileges/CURRENT index 056df57..1a84852 100644 --- a/packs/sortileges/CURRENT +++ b/packs/sortileges/CURRENT @@ -1 +1 @@ -MANIFEST-000017 +MANIFEST-000002 diff --git a/packs/sortileges/LOG b/packs/sortileges/LOG index d626684..6213cdc 100644 --- a/packs/sortileges/LOG +++ b/packs/sortileges/LOG @@ -1 +1 @@ -2026/05/05-23:40:09.415413 7fe9323fe6c0 Delete type=3 #1 +2026/05/06-10:41:39.858447 7f66b3fff6c0 Delete type=3 #1 diff --git a/packs/sortileges/LOG.old b/packs/sortileges/LOG.old deleted file mode 100644 index ca66981..0000000 --- a/packs/sortileges/LOG.old +++ /dev/null @@ -1,4 +0,0 @@ -2026/05/05-23:40:09.384759 7fe9323fe6c0 Log #13: 0 ops saved to Table #16 OK -2026/05/05-23:40:09.384875 7fe9323fe6c0 Archiving /home/morr/foundry/foundrydata-dev/Data/systems/fvtt-les-oublies/packs/sortileges/000013.log: OK -2026/05/05-23:40:09.386045 7fe9323fe6c0 Table #15: 72 entries OK -2026/05/05-23:40:09.389320 7fe9323fe6c0 **** Repaired leveldb /home/morr/foundry/foundrydata-dev/Data/systems/fvtt-les-oublies/packs/sortileges; recovered 1 files; 39023 bytes. Some data may have been lost. **** diff --git a/packs/sortileges/MANIFEST-000002 b/packs/sortileges/MANIFEST-000002 new file mode 100644 index 0000000..bbbc585 Binary files /dev/null and b/packs/sortileges/MANIFEST-000002 differ diff --git a/packs/sortileges/MANIFEST-000017 b/packs/sortileges/MANIFEST-000017 deleted file mode 100644 index 89d653c..0000000 Binary files a/packs/sortileges/MANIFEST-000017 and /dev/null differ diff --git a/packs/sortileges/lost/000013.log b/packs/sortileges/lost/000013.log deleted file mode 100644 index e69de29..0000000 diff --git a/packs/tribus/000003.log b/packs/tribus/000003.log new file mode 100644 index 0000000..20a34bb Binary files /dev/null and b/packs/tribus/000003.log differ diff --git a/packs/tribus/000015.ldb b/packs/tribus/000015.ldb deleted file mode 100644 index ca115f7..0000000 Binary files a/packs/tribus/000015.ldb and /dev/null differ diff --git a/packs/tribus/000018.log b/packs/tribus/000018.log deleted file mode 100644 index e69de29..0000000 diff --git a/packs/tribus/CURRENT b/packs/tribus/CURRENT index 056df57..1a84852 100644 --- a/packs/tribus/CURRENT +++ b/packs/tribus/CURRENT @@ -1 +1 @@ -MANIFEST-000017 +MANIFEST-000002 diff --git a/packs/tribus/LOG b/packs/tribus/LOG index c3e3f74..ff7b28f 100644 --- a/packs/tribus/LOG +++ b/packs/tribus/LOG @@ -1 +1 @@ -2026/05/05-23:40:09.359501 7fe932bff6c0 Delete type=3 #1 +2026/05/06-10:41:39.711104 7f67015ff6c0 Delete type=3 #1 diff --git a/packs/tribus/LOG.old b/packs/tribus/LOG.old deleted file mode 100644 index b9305e5..0000000 --- a/packs/tribus/LOG.old +++ /dev/null @@ -1,4 +0,0 @@ -2026/05/05-23:40:09.341892 7fe932bff6c0 Log #13: 0 ops saved to Table #16 OK -2026/05/05-23:40:09.342005 7fe932bff6c0 Archiving /home/morr/foundry/foundrydata-dev/Data/systems/fvtt-les-oublies/packs/tribus/000013.log: OK -2026/05/05-23:40:09.342473 7fe932bff6c0 Table #15: 11 entries OK -2026/05/05-23:40:09.346045 7fe932bff6c0 **** Repaired leveldb /home/morr/foundry/foundrydata-dev/Data/systems/fvtt-les-oublies/packs/tribus; recovered 1 files; 8415 bytes. Some data may have been lost. **** diff --git a/packs/tribus/MANIFEST-000002 b/packs/tribus/MANIFEST-000002 new file mode 100644 index 0000000..bbbc585 Binary files /dev/null and b/packs/tribus/MANIFEST-000002 differ diff --git a/packs/tribus/MANIFEST-000017 b/packs/tribus/MANIFEST-000017 deleted file mode 100644 index 88e8fb3..0000000 Binary files a/packs/tribus/MANIFEST-000017 and /dev/null differ diff --git a/packs/tribus/lost/000013.log b/packs/tribus/lost/000013.log deleted file mode 100644 index e69de29..0000000 diff --git a/scripts/build-compendiums.mjs b/scripts/build-compendiums.mjs index aba0ef3..fe19f66 100644 --- a/scripts/build-compendiums.mjs +++ b/scripts/build-compendiums.mjs @@ -1,132 +1,16 @@ -import fs from "node:fs" import path from "node:path" -import crypto from "node:crypto" +import fs from "node:fs" -import { Level } from "level" +import { buildPacks } from "./pack-builder.mjs" const rootDir = path.resolve(import.meta.dirname, "..") const packageJson = JSON.parse(fs.readFileSync(path.join(rootDir, "package.json"), "utf8")) const systemJson = JSON.parse(fs.readFileSync(path.join(rootDir, "system.json"), "utf8")) -const PACK_SOURCES = [ - { - sourcePath: path.join(rootDir, "packs-src", "armes.json"), - outputPath: path.join(rootDir, "packs", "armes"), - type: "Item", - }, - { - sourcePath: path.join(rootDir, "packs-src", "armures.json"), - outputPath: path.join(rootDir, "packs", "armures"), - type: "Item", - }, - { - sourcePath: path.join(rootDir, "packs-src", "equipements.json"), - outputPath: path.join(rootDir, "packs", "equipements"), - type: "Item", - }, - { - sourcePath: path.join(rootDir, "packs-src", "pouvoirs-compagnie.json"), - outputPath: path.join(rootDir, "packs", "pouvoirs-compagnie"), - type: "Item", - }, - { - sourcePath: path.join(rootDir, "packs-src", "competences.json"), - outputPath: path.join(rootDir, "packs", "competences"), - type: "Item", - }, - { - sourcePath: path.join(rootDir, "packs-src", "races.json"), - outputPath: path.join(rootDir, "packs", "races"), - type: "Item", - }, - { - sourcePath: path.join(rootDir, "packs-src", "tribus.json"), - outputPath: path.join(rootDir, "packs", "tribus"), - type: "Item", - }, - { - sourcePath: path.join(rootDir, "packs-src", "metiers.json"), - outputPath: path.join(rootDir, "packs", "metiers"), - type: "Item", - }, - { - sourcePath: path.join(rootDir, "packs-src", "sortileges.json"), - outputPath: path.join(rootDir, "packs", "sortileges"), - type: "Item", - }, -] - -const now = Date.now() -const systemId = systemJson.id -const systemVersion = packageJson.version -const coreVersion = String(systemJson.compatibility?.verified ?? systemJson.compatibility?.minimum ?? "") - -function slugId(input) { - const hash = crypto.createHash("sha256").update(input).digest() - const alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" - let id = "" - for (let index = 0; id.length < 16; index += 1) { - id += alphabet[hash[index % hash.length] % alphabet.length] - } - return id -} - -function toPackDocument(entry, index) { - const docId = slugId(`${entry.type}:${entry.name}`) - return { - name: entry.name, - type: entry.type, - img: entry.img ?? "icons/svg/item-bag.svg", - system: entry.system ?? {}, - effects: Array.isArray(entry.effects) ? entry.effects : [], - flags: entry.flags ?? {}, - _stats: { - systemId, - systemVersion, - coreVersion, - createdTime: now, - modifiedTime: now, - lastModifiedBy: "Copilot", - compendiumSource: null, - duplicateSource: null, - exportSource: null, - }, - _id: docId, - folder: null, - sort: index * 1000, - ownership: { - default: 0, - }, - } -} - -async function buildPack({ sourcePath, outputPath, type }) { - const source = JSON.parse(fs.readFileSync(sourcePath, "utf8")) - if (!Array.isArray(source)) { - throw new Error(`Pack source must be an array: ${sourcePath}`) - } - - fs.rmSync(outputPath, { recursive: true, force: true }) - fs.mkdirSync(outputPath, { recursive: true }) - - const db = new Level(outputPath, { valueEncoding: "utf8" }) - - try { - await db.open() - const batch = db.batch() - source.forEach((entry, index) => { - if (!entry.type) { - throw new Error(`Missing document type in ${sourcePath}: ${entry.name}`) - } - const doc = toPackDocument(entry, index) - batch.put(`!items!${doc._id}`, JSON.stringify(doc)) - }) - await batch.write() - } finally { - await db.close() - } -} - -for (const pack of PACK_SOURCES) { - await buildPack(pack) -} +await buildPacks({ + sourceRoot: path.join(rootDir, "packs-src"), + outputRoot: path.join(rootDir, "packs"), + documentSystemId: systemJson.id, + documentSystemVersion: packageJson.version, + coreVersion: String(systemJson.compatibility?.verified ?? systemJson.compatibility?.minimum ?? ""), +}) diff --git a/scripts/pack-builder.mjs b/scripts/pack-builder.mjs new file mode 100644 index 0000000..07665ee --- /dev/null +++ b/scripts/pack-builder.mjs @@ -0,0 +1,128 @@ +import fs from "node:fs" +import path from "node:path" +import crypto from "node:crypto" + +import { Level } from "level" + +export const PACK_DEFINITIONS = [ + { sourceFile: "armes.json", outputFolder: "armes", type: "Item" }, + { sourceFile: "armures.json", outputFolder: "armures", type: "Item" }, + { sourceFile: "equipements.json", outputFolder: "equipements", type: "Item" }, + { sourceFile: "pouvoirs-compagnie.json", outputFolder: "pouvoirs-compagnie", type: "Item" }, + { sourceFile: "competences.json", outputFolder: "competences", type: "Item" }, + { sourceFile: "races.json", outputFolder: "races", type: "Item" }, + { sourceFile: "tribus.json", outputFolder: "tribus", type: "Item" }, + { sourceFile: "metiers.json", outputFolder: "metiers", type: "Item" }, + { sourceFile: "sortileges.json", outputFolder: "sortileges", type: "Item" }, +] + +function slugId(input) { + const hash = crypto.createHash("sha256").update(input).digest() + const alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" + let id = "" + for (let index = 0; id.length < 16; index += 1) { + id += alphabet[hash[index % hash.length] % alphabet.length] + } + return id +} + +function toPackDocument(entry, index, { + documentSystemId, + documentSystemVersion, + coreVersion, + createdTime, + lastModifiedBy = "Copilot", +} = {}) { + const docId = slugId(`${entry.type}:${entry.name}`) + return { + name: entry.name, + type: entry.type, + img: entry.img ?? "icons/svg/item-bag.svg", + system: entry.system ?? {}, + effects: Array.isArray(entry.effects) ? entry.effects : [], + flags: entry.flags ?? {}, + _stats: { + systemId: documentSystemId, + systemVersion: documentSystemVersion, + coreVersion, + createdTime, + modifiedTime: createdTime, + lastModifiedBy, + compendiumSource: null, + duplicateSource: null, + exportSource: null, + }, + _id: docId, + folder: null, + sort: index * 1000, + ownership: { + default: 0, + }, + } +} + +async function buildPack({ + sourcePath, + outputPath, + type, + documentSystemId, + documentSystemVersion, + coreVersion, + createdTime, + lastModifiedBy, +}) { + const source = JSON.parse(fs.readFileSync(sourcePath, "utf8")) + if (!Array.isArray(source)) { + throw new Error(`Pack source must be an array: ${sourcePath}`) + } + + fs.rmSync(outputPath, { recursive: true, force: true }) + fs.mkdirSync(outputPath, { recursive: true }) + + const db = new Level(outputPath, { valueEncoding: "utf8" }) + + try { + await db.open() + const batch = db.batch() + source.forEach((entry, index) => { + if (!entry.type) { + throw new Error(`Missing document type in ${sourcePath}: ${entry.name}`) + } + const doc = toPackDocument(entry, index, { + documentSystemId, + documentSystemVersion, + coreVersion, + createdTime, + lastModifiedBy, + }) + batch.put(`!items!${doc._id}`, JSON.stringify(doc)) + }) + await batch.write() + } finally { + await db.close() + } +} + +export async function buildPacks({ + sourceRoot, + outputRoot, + packDefinitions = PACK_DEFINITIONS, + documentSystemId, + documentSystemVersion, + coreVersion, + createdTime = Date.now(), + lastModifiedBy = "Copilot", +}) { + for (const pack of packDefinitions) { + await buildPack({ + sourcePath: path.join(sourceRoot, pack.sourceFile), + outputPath: path.join(outputRoot, pack.outputFolder), + type: pack.type, + documentSystemId, + documentSystemVersion, + coreVersion, + createdTime, + lastModifiedBy, + }) + } +} diff --git a/scripts/split-compendium-content.mjs b/scripts/split-compendium-content.mjs new file mode 100644 index 0000000..12d73e7 --- /dev/null +++ b/scripts/split-compendium-content.mjs @@ -0,0 +1,227 @@ +import fs from "node:fs" +import path from "node:path" + +import { PACK_DEFINITIONS, buildPacks } from "./pack-builder.mjs" + +const systemRoot = path.resolve(import.meta.dirname, "..") +const targetRoot = path.resolve( + process.env.FVTT_LES_OUBLIES_BASE_ROOT || path.join(systemRoot, "..", "fvtt-les-oublies-base"), +) +const systemManifestPath = path.join(systemRoot, "system.json") +const systemPackagePath = path.join(systemRoot, "package.json") +const systemSourceRoot = path.join(systemRoot, "packs-src") +const targetSourceRoot = path.join(targetRoot, "packs-src") +const targetPacksRoot = path.join(targetRoot, "packs") +const moduleRepoUrl = "https://www.uberwald.me/gitea/public/fvtt-les-oublies-base" + +const systemManifest = JSON.parse(fs.readFileSync(systemManifestPath, "utf8")) +const systemPackage = JSON.parse(fs.readFileSync(systemPackagePath, "utf8")) +const richFieldMap = Object.fromEntries( + Object.entries(systemManifest.documentTypes?.Item ?? {}).map(([type, data]) => [type, data.htmlFields ?? []]), +) +const coreVersion = String(systemManifest.compatibility?.verified ?? systemManifest.compatibility?.minimum ?? "") +const basePackDefinitions = PACK_DEFINITIONS.map((pack) => ({ + ...pack, + outputFolder: `base-${pack.outputFolder}`, +})) + +function setDeepValue(target, propertyPath, value) { + const segments = String(propertyPath || "").split(".").filter(Boolean) + if (!segments.length) return + let cursor = target + while (segments.length > 1) { + const segment = segments.shift() + if (!(segment in cursor) || typeof cursor[segment] !== "object" || cursor[segment] === null) { + cursor[segment] = {} + } + cursor = cursor[segment] + } + cursor[segments[0]] = value +} + +function sanitizeEntries(entries = []) { + let clearedFields = 0 + const sanitized = entries.map((entry) => { + const fields = richFieldMap[entry.type] ?? [] + if (!fields.length) return entry + + const clone = structuredClone(entry) + clone.system ??= {} + for (const fieldPath of fields) { + setDeepValue(clone.system, fieldPath, "") + clearedFields += 1 + } + return clone + }) + + return { sanitized, clearedFields } +} + +function countNonEmptyRichFields(entries = []) { + let nonEmpty = 0 + for (const entry of entries) { + for (const fieldPath of richFieldMap[entry.type] ?? []) { + const value = fieldPath + .split(".") + .reduce((cursor, segment) => cursor?.[segment], entry.system ?? {}) + if ((value ?? "") !== "") nonEmpty += 1 + } + } + return nonEmpty +} + +function parseJsonArray(rawText, filePath) { + const parsed = JSON.parse(rawText) + if (!Array.isArray(parsed)) { + return { + parsed, + entries: null, + isArray: false, + error: `${filePath} must contain a JSON array`, + } + } + + return { + parsed, + entries: parsed, + isArray: true, + error: null, + } +} + +function ensureWritableTargetRoot() { + const parentDir = path.dirname(targetRoot) + fs.mkdirSync(parentDir, { recursive: true }) + fs.accessSync(parentDir, fs.constants.W_OK) + fs.mkdirSync(targetRoot, { recursive: true }) + fs.accessSync(targetRoot, fs.constants.W_OK) +} + +function ensureTargetModuleScaffold() { + ensureWritableTargetRoot() + fs.mkdirSync(targetSourceRoot, { recursive: true }) + fs.mkdirSync(targetPacksRoot, { recursive: true }) + + const moduleManifestPath = path.join(targetRoot, "module.json") + + const moduleManifest = { + id: "fvtt-les-oublies-base", + title: "Les Oubliés Base", + description: "Module de contenu pour Les Oubliés, conservant les compendiums complets avec leurs textes descriptifs.", + manifest: `${moduleRepoUrl}/raw/branch/main/module.json`, + download: "#{DOWNLOAD}#", + url: moduleRepoUrl, + version: systemPackage.version, + authors: [ + { + name: "Copilot", + flags: {}, + }, + ], + compatibility: systemManifest.compatibility, + relationships: { + requires: [ + { + id: systemManifest.id, + type: "system", + compatibility: { + minimum: systemManifest.compatibility?.minimum ?? undefined, + verified: systemManifest.compatibility?.verified ?? undefined, + }, + }, + ], + systems: [ + { + id: systemManifest.id, + type: "system", + compatibility: { + minimum: systemManifest.compatibility?.minimum ?? undefined, + verified: systemManifest.compatibility?.verified ?? undefined, + }, + }, + ], + }, + packs: (systemManifest.packs ?? []).map((pack) => ({ + ...pack, + name: `base-${pack.name}`, + path: `packs/base-${pack.name}`, + system: systemManifest.id, + })), + } + + fs.writeFileSync(moduleManifestPath, `${JSON.stringify(moduleManifest, null, 2)}\n`) +} + +function pruneStalePackDirectories(outputRoot, expectedDefinitions) { + if (!fs.existsSync(outputRoot)) return + const expected = new Set(expectedDefinitions.map((definition) => definition.outputFolder)) + for (const entry of fs.readdirSync(outputRoot, { withFileTypes: true })) { + if (!entry.isDirectory()) continue + if (expected.has(entry.name)) continue + fs.rmSync(path.join(outputRoot, entry.name), { recursive: true, force: true }) + } +} + +function copyAndSanitizeSources() { + const summaries = [] + const sourceFiles = fs.readdirSync(systemSourceRoot) + .filter((entry) => entry.endsWith(".json")) + .sort((left, right) => left.localeCompare(right, "fr")) + + for (const fileName of sourceFiles) { + const systemSourcePath = path.join(systemSourceRoot, fileName) + const targetSourcePath = path.join(targetSourceRoot, fileName) + const rawText = fs.readFileSync(systemSourcePath, "utf8") + const systemJson = parseJsonArray(rawText, systemSourcePath) + const targetRawText = fs.existsSync(targetSourcePath) ? fs.readFileSync(targetSourcePath, "utf8") : null + const targetJson = targetRawText ? parseJsonArray(targetRawText, targetSourcePath) : null + const systemRichCount = systemJson.isArray ? countNonEmptyRichFields(systemJson.entries) : -1 + const targetRichCount = targetJson?.isArray ? countNonEmptyRichFields(targetJson.entries) : -1 + const authoritativeRawText = targetRichCount > systemRichCount ? targetRawText : rawText + + fs.writeFileSync(targetSourcePath, authoritativeRawText) + + if (!systemJson.isArray) { + summaries.push({ fileName, clearedFields: 0, copiedOnly: true }) + continue + } + + const { sanitized, clearedFields } = sanitizeEntries(systemJson.entries) + fs.writeFileSync(systemSourcePath, `${JSON.stringify(sanitized, null, 2)}\n`) + summaries.push({ fileName, clearedFields, copiedOnly: false }) + } + + return summaries +} + +ensureTargetModuleScaffold() +const summaries = copyAndSanitizeSources() +pruneStalePackDirectories(targetPacksRoot, basePackDefinitions) + +await buildPacks({ + sourceRoot: systemSourceRoot, + outputRoot: path.join(systemRoot, "packs"), + packDefinitions: PACK_DEFINITIONS, + documentSystemId: systemManifest.id, + documentSystemVersion: systemPackage.version, + coreVersion, +}) + +await buildPacks({ + sourceRoot: targetSourceRoot, + outputRoot: targetPacksRoot, + packDefinitions: basePackDefinitions, + documentSystemId: systemManifest.id, + documentSystemVersion: systemPackage.version, + coreVersion, +}) + +console.info(`Base module root: ${targetRoot}`) + +for (const summary of summaries) { + if (summary.copiedOnly) { + console.info(`${summary.fileName}: copied as-is`) + } else { + console.info(`${summary.fileName}: cleared ${summary.clearedFields} rich fields in system source`) + } +}