Compare commits
50 Commits
fvtt-mourn
...
v10
Author | SHA1 | Date | |
---|---|---|---|
e840b70ac9 | |||
03b8779862 | |||
580a2ccaba | |||
699dba5511 | |||
aac552102a | |||
4762dc33ac | |||
0a030460e4 | |||
ed2dc58680 | |||
9c20f277ea | |||
2a8617d781 | |||
91ad26730a | |||
e1816b3dd7 | |||
c48401a199 | |||
f487908ecd | |||
e9dc31ada1 | |||
e504427dbb | |||
6aa63f9a98 | |||
861aa19637 | |||
ddb3f9dee1 | |||
da074d6ea1 | |||
1c0c722bd0 | |||
fef42b7093 | |||
a63ec19362 | |||
a26af23c9c | |||
983bc6a2ed | |||
da6d6584c4 | |||
f08ec8eaff | |||
c34bfbf229 | |||
e7de42cf16 | |||
0f2348fec6 | |||
98ccd8fde1 | |||
fcec785f00 | |||
734945d68e | |||
33916c9ec2 | |||
dda8fee616 | |||
1730a8d390 | |||
4a0a57870c | |||
8d43ae6b6e | |||
3f91a161ab | |||
1e72eaec04 | |||
09cdd1923a | |||
fce03107b5 | |||
43183d60ea | |||
55cb3ca806 | |||
e7ed5bd02c | |||
cb74799b42 | |||
b985da2eca | |||
f23bdca66d | |||
d7387ac062 | |||
fb6463aba5 |
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.history/
|
23
README.md
@ -1,4 +1,23 @@
|
|||||||
# fvtt-mournblade
|
# Système Foundry pour Mournblade (French RPG, Titam France/Sombres Projets)
|
||||||
|
|
||||||
FoundryVTT system for Mournblade from Sombres Projets
|
## EN
|
||||||
|
|
||||||
|
Unofficial system for Mournblade (French version from Titam France).
|
||||||
|
|
||||||
|
Books are mandatory to play and are available at : http://www.titam-france.fr
|
||||||
|
|
||||||
|
## FR
|
||||||
|
|
||||||
|
Système non-officiel pour le JDR Mournblade (Titam France).
|
||||||
|
|
||||||
|
Ce système a été autorisé par Le Département des Sombres Projets, merci à eux !
|
||||||
|
|
||||||
|
Les livres du jeu sont nécessaires pour jouer, et sont disponibles ici : http://www.titam-france.fr
|
||||||
|
|
||||||
|
# Credits
|
||||||
|
|
||||||
|
Mournblade, le jeu de rôle de Sword & Sorcery, is a property of Titam France/Sombres Projets.
|
||||||
|
|
||||||
|
# Developmement
|
||||||
|
|
||||||
|
LeRatierBretonnien
|
||||||
|
BIN
assets/icons/heritage.webp
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
assets/icons/origine.webp
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
assets/icons/profession.webp
Normal file
After Width: | Height: | Size: 7.1 KiB |
BIN
assets/tokens/token_chaos.webp
Normal file
After Width: | Height: | Size: 57 KiB |
BIN
assets/tokens/token_chaos2.webp
Normal file
After Width: | Height: | Size: 55 KiB |
BIN
assets/tokens/token_chaos3.webp
Normal file
After Width: | Height: | Size: 53 KiB |
BIN
assets/tokens/token_loi.webp
Normal file
After Width: | Height: | Size: 40 KiB |
BIN
assets/tokens/token_loi2.webp
Normal file
After Width: | Height: | Size: 44 KiB |
BIN
assets/tokens/token_loi3.webp
Normal file
After Width: | Height: | Size: 57 KiB |
BIN
assets/tokens/token_loi4.webp
Normal file
After Width: | Height: | Size: 45 KiB |
BIN
assets/ui/fond_mournblade.webp
Normal file
After Width: | Height: | Size: 236 KiB |
BIN
assets/ui/landing_page_mournblade.webp
Normal file
After Width: | Height: | Size: 380 KiB |
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 11 KiB |
201
lang/en.json
Normal file
@ -0,0 +1,201 @@
|
|||||||
|
{
|
||||||
|
"Adresse": "Agility",
|
||||||
|
"Clairvoyance": "Clarity",
|
||||||
|
"MNBL.abilities": "Gifts/Pacts",
|
||||||
|
"MNBL.activatedrunes": "Activated Runes",
|
||||||
|
"MNBL.addpredilection": "Add a specialization",
|
||||||
|
"MNBL.aimingbonus": "Aiming Bonus",
|
||||||
|
"MNBL.alignement": "Alignment",
|
||||||
|
"MNBL.all": "All",
|
||||||
|
"MNBL.allegiance": "Allegiance",
|
||||||
|
"MNBL.applydamage": "Apply damage/bonus/penalty",
|
||||||
|
"MNBL.aspect": "Aspect",
|
||||||
|
"MNBL.Assaut": "Smite",
|
||||||
|
"MNBL.attack": "Attack",
|
||||||
|
"MNBL.attackcapacity": "Offensive Ability",
|
||||||
|
"MNBL.attackmountbonus": "Mounted attacker vs ground defender (+5)",
|
||||||
|
"MNBL.attacks": "Attacks",
|
||||||
|
"MNBL.attribut": "Attribute",
|
||||||
|
"MNBL.attributes": "Attributes",
|
||||||
|
"MNBL.automalus": "Auto Penalty",
|
||||||
|
"MNBL.base": "Base",
|
||||||
|
"MNBL.beastslords": "Beast Lords",
|
||||||
|
"MNBL.bio": "Bio & Notes",
|
||||||
|
"MNBL.bonus": "Bonus",
|
||||||
|
"MNBL.candoublebonusskill": "Bonuses can be doubled (cf. Profession)",
|
||||||
|
"MNBL.chaos": "Chaos",
|
||||||
|
"MNBL.chaotictraits": "Chaotic Traits",
|
||||||
|
"MNBL.charge": "Charge",
|
||||||
|
"MNBL.consumed": "Consumed",
|
||||||
|
"MNBL.contain": "Contain the opponent",
|
||||||
|
"MNBL.creatureresourcecost": "Resource Cost (creatures)",
|
||||||
|
"MNBL.current": "Current",
|
||||||
|
"MNBL.currentmax": "Current Max",
|
||||||
|
"MNBL.damage": "Damage",
|
||||||
|
"MNBL.damagebonus": "Damage Bonus",
|
||||||
|
"MNBL.defense": "Defense",
|
||||||
|
"MNBL.defensebonus": "Defense Bonus",
|
||||||
|
"MNBL.defensecapacity": "Defensive Ability",
|
||||||
|
"MNBL.dice": "Dice",
|
||||||
|
"MNBL.difficulty": "Difficulty",
|
||||||
|
"MNBL.dirtyattack": "Cheap Shot",
|
||||||
|
"MNBL.disadvantagepositions": "Disadvantageous positions (Max bonus +15)",
|
||||||
|
"MNBL.disarm": "Disarm",
|
||||||
|
"MNBL.doubleD20": "Double d20 (1 Shard Point)",
|
||||||
|
"MNBL.dramaticfailure": "Dramatic Failure",
|
||||||
|
"MNBL.duration": "Duration",
|
||||||
|
"MNBL.easy": "Easy (5)",
|
||||||
|
"MNBL.eclat": "Shard",
|
||||||
|
"MNBL.elementslords": "Elemental Lords",
|
||||||
|
"MNBL.equipmentactions": "Equipment/Actions",
|
||||||
|
"MNBL.equipments": "Equipments",
|
||||||
|
"MNBL.equipped": "Equipped",
|
||||||
|
"MNBL.exp": "Experience",
|
||||||
|
"MNBL.eyes": "Eyes",
|
||||||
|
"MNBL.failure": "Failure",
|
||||||
|
"MNBL.feint": "Feint",
|
||||||
|
"MNBL.flee": "Flee",
|
||||||
|
"MNBL.formula": "Formula",
|
||||||
|
"MNBL.genre": "Gender",
|
||||||
|
"MNBL.gifts": "Gifts",
|
||||||
|
"MNBL.goodadventure": "Good Adventure",
|
||||||
|
"MNBL.hair": "Hair",
|
||||||
|
"MNBL.hard": "Hard (15)",
|
||||||
|
"MNBL.hascover": "Cover",
|
||||||
|
"MNBL.hazardous": "Tricky (20)",
|
||||||
|
"MNBL.health": "Health",
|
||||||
|
"MNBL.healthmalus": "Health Penalty",
|
||||||
|
"MNBL.heavycover": "Almost complete (-10)",
|
||||||
|
"MNBL.heroicsuccess": "Heroic Success",
|
||||||
|
"MNBL.highlanguage": "High Melnibonéan",
|
||||||
|
"MNBL.ignorearmor": "Ignore Armor",
|
||||||
|
"MNBL.ignorehealthmalus": "Ignore Health Penalty",
|
||||||
|
"MNBL.ignoresoulmalus": "Ignore Soul Penalty",
|
||||||
|
"MNBL.immobilize": "Immobilize",
|
||||||
|
"MNBL.insane": "Ridiculous (25)",
|
||||||
|
"MNBL.isdefense": "Defensive",
|
||||||
|
"MNBL.knockout": "Knock Out",
|
||||||
|
"MNBL.law": "Law",
|
||||||
|
"MNBL.legacy": "Legacy",
|
||||||
|
"MNBL.lessthanshort": "Less than short (10)",
|
||||||
|
"MNBL.lethal": "Lethal",
|
||||||
|
"MNBL.level": "Level",
|
||||||
|
"MNBL.lightcover": "Buckler or light (-2)",
|
||||||
|
"MNBL.longmore": "Long and more (25)",
|
||||||
|
"MNBL.longrange": "Long Range",
|
||||||
|
"MNBL.malus": "Penalty",
|
||||||
|
"MNBL.margin": "Margin",
|
||||||
|
"MNBL.medium": "Average (10)",
|
||||||
|
"MNBL.mediumcover": "Pavise or half (-5)",
|
||||||
|
"MNBL.mediummore": "Medium and more (20)",
|
||||||
|
"MNBL.mediumrange": "Medium Range",
|
||||||
|
"MNBL.meleethrowweapon": "Melee and Throwing Weapon",
|
||||||
|
"MNBL.meleeweapon": "Melee Weapon",
|
||||||
|
"MNBL.mode": "Mode",
|
||||||
|
"MNBL.modifier": "Modifiers",
|
||||||
|
"MNBL.modifiertype": "Modifier Type",
|
||||||
|
"MNBL.mounted": "Mounted",
|
||||||
|
"MNBL.nextactionmalus": "Penalty for next action",
|
||||||
|
"MNBL.nextattackbonus": "Bonus for next attack",
|
||||||
|
"MNBL.none": "None",
|
||||||
|
"MNBL.noneunknwon": "None/Unknown",
|
||||||
|
"MNBL.nonlethal": "Non-Lethal",
|
||||||
|
"MNBL.nonlethaldamage": "Non-Lethal Damage",
|
||||||
|
"MNBL.notarget": "No designated target",
|
||||||
|
"MNBL.origin": "Origin",
|
||||||
|
"MNBL.pacts": "Pacts",
|
||||||
|
"MNBL.points": "Points",
|
||||||
|
"MNBL.preciseattack": "Precision Attack",
|
||||||
|
"MNBL.predilections": "Specializations",
|
||||||
|
"MNBL.preferredhand": "Preferred Hand",
|
||||||
|
"MNBL.prerequisites": "Prerequisites",
|
||||||
|
"MNBL.price": "Price",
|
||||||
|
"MNBL.profession": "Profession",
|
||||||
|
"MNBL.pronounced": "Spoken",
|
||||||
|
"MNBL.pronouncedrune": "Spoken Rune",
|
||||||
|
"MNBL.pronouncerune": "Speak the rune",
|
||||||
|
"MNBL.protections": "Protections",
|
||||||
|
"MNBL.puremadness": "Insane (30)",
|
||||||
|
"MNBL.quantity": "Quantity",
|
||||||
|
"MNBL.range": "Range",
|
||||||
|
"MNBL.rarity": "Rarity",
|
||||||
|
"MNBL.registeredmodifiers": "Registered Modifiers",
|
||||||
|
"MNBL.reloadduration": "Reload Time",
|
||||||
|
"MNBL.ressources": "Resources",
|
||||||
|
"MNBL.roll": "Roll",
|
||||||
|
"MNBL.runes": "Runes",
|
||||||
|
"MNBL.runningtarget": "Running target (-5/-10 depending on range)",
|
||||||
|
"MNBL.shootmodifier": "Shooting Modifiers",
|
||||||
|
"MNBL.shootweapon": "Shoot Weapon",
|
||||||
|
"MNBL.shortmore": "Short and more (10)",
|
||||||
|
"MNBL.shortrange": "Short Range",
|
||||||
|
"MNBL.size": "Size",
|
||||||
|
"MNBL.skill": "Skill",
|
||||||
|
"MNBL.skills": "Skills",
|
||||||
|
"MNBL.smallroomtarget": "Target in confined space (+5)",
|
||||||
|
"MNBL.soul": "Soul",
|
||||||
|
"MNBL.soulmalus": "Soul Penalty",
|
||||||
|
"MNBL.soulmultiplier": "Soul Multiplier",
|
||||||
|
"MNBL.soulpoints": "Soul Points",
|
||||||
|
"MNBL.specialactions": "Special Actions",
|
||||||
|
"MNBL.specialweapon": "Special (ability/gift)",
|
||||||
|
"MNBL.speciestrait": "Species Trait",
|
||||||
|
"MNBL.speed": "Speed",
|
||||||
|
"MNBL.success": "Success",
|
||||||
|
"MNBL.target": "Target",
|
||||||
|
"MNBL.targetbelow": "Target below (+5)",
|
||||||
|
"MNBL.targetcantmove": "Target immobilized (+5)",
|
||||||
|
"MNBL.targetdefense": "Opponent's Defense",
|
||||||
|
"MNBL.targetground": "Target on the ground (+5)",
|
||||||
|
"MNBL.targetseeshoot": "Target is aware of the shot",
|
||||||
|
"MNBL.tendancies": "Tendencies",
|
||||||
|
"MNBL.throwweapon": "Throwing Weapon",
|
||||||
|
"MNBL.totalprotection": "Total Protection",
|
||||||
|
"MNBL.traced": "Written",
|
||||||
|
"MNBL.tracedrune": "Written Rune",
|
||||||
|
"MNBL.tracerune": "Write the rune",
|
||||||
|
"MNBL.treasuremoney": "Treasures and Money",
|
||||||
|
"MNBL.twohands": "Two-handed",
|
||||||
|
"MNBL.type": "Type",
|
||||||
|
"MNBL.unarmedtarget": "Unarmed target (+5)",
|
||||||
|
"MNBL.unit": "Unit",
|
||||||
|
"MNBL.use": "Use",
|
||||||
|
"MNBL.usedpredilection": "Used Predilection",
|
||||||
|
"MNBL.value": "Value",
|
||||||
|
"MNBL.weapon": "Weapon",
|
||||||
|
"MNBL.weaponbonusattack": "Handling Bonus (offensive)",
|
||||||
|
"MNBL.weaponbonusdefense": "Handling Bonus (defensive)",
|
||||||
|
"MNBL.weapons": "Weapons",
|
||||||
|
"MNBL.weaponscapacities": "Weapons/Abilities",
|
||||||
|
"MNBL.weapontype": "Weapon Type",
|
||||||
|
"MNBL.weight": "Weight",
|
||||||
|
"Présence": "Presence",
|
||||||
|
"Puissance": "Might",
|
||||||
|
"Trempe": "Mettle",
|
||||||
|
"TYPES": {
|
||||||
|
"Actor": {
|
||||||
|
"creature": "Creature",
|
||||||
|
"personnage": "Character"
|
||||||
|
},
|
||||||
|
"Item": {
|
||||||
|
"arme": "Weapon",
|
||||||
|
"bouclier": "Shield",
|
||||||
|
"capacite": "Ability",
|
||||||
|
"competence": "Skill",
|
||||||
|
"don": "Gifts",
|
||||||
|
"equipement": "Equipment",
|
||||||
|
"heritage": "Background",
|
||||||
|
"metier": "Profession",
|
||||||
|
"modifier": "Modifier",
|
||||||
|
"monnaie": "Currency",
|
||||||
|
"origine": "Origin",
|
||||||
|
"pacte": "Pacts",
|
||||||
|
"protection": "Protections",
|
||||||
|
"rune": "Rune",
|
||||||
|
"runeeffect": "Rune Effect",
|
||||||
|
"tendance": "Signs of Chaos",
|
||||||
|
"traitchaotique": "Background",
|
||||||
|
"traitespece": "Species Trait"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
213
lang/fr.json
Normal file
@ -0,0 +1,213 @@
|
|||||||
|
{
|
||||||
|
"TYPES": {
|
||||||
|
"Actor": {
|
||||||
|
"personnage": "Personnage",
|
||||||
|
"creature": "Créature"
|
||||||
|
},
|
||||||
|
"Item": {
|
||||||
|
"arme": "Arme",
|
||||||
|
"competence": "Compétence",
|
||||||
|
"protection": "Protection",
|
||||||
|
"pacte": "Pacte",
|
||||||
|
"traitchaotique": "Trait Chaotique",
|
||||||
|
"monnaie": "Monnaie",
|
||||||
|
"don": "Don",
|
||||||
|
"tendance": "Tendance",
|
||||||
|
"rune": "Rune",
|
||||||
|
"equipement": "Equipement",
|
||||||
|
"capacite": "Capacité",
|
||||||
|
"origine": "Origine",
|
||||||
|
"heritage": "Héritage",
|
||||||
|
"metier": "Métier",
|
||||||
|
"runeeffect": "Effet de Rune",
|
||||||
|
"bouclier": "Bouclier",
|
||||||
|
"modifier": "Modificateur",
|
||||||
|
"traitespece": "Trait d'Espèce"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Adresse": "Adresse",
|
||||||
|
"Puissance": "Puissance",
|
||||||
|
"Clairvoyance": "Clairvoyance",
|
||||||
|
"Présence": "Présence",
|
||||||
|
"Trempe": "Trempe",
|
||||||
|
|
||||||
|
"MNBL.assaut": "Assaut",
|
||||||
|
"MNBL.preciseattack": "Attaque Précise",
|
||||||
|
"MNBL.feint": "Feinte",
|
||||||
|
"MNBL.dirtyattack": "Coup Bas",
|
||||||
|
"MNBL.charge": "Charger",
|
||||||
|
"MNBL.contain": "Contenir l'adversaire",
|
||||||
|
"MNBL.disarm": "Désarmer",
|
||||||
|
|
||||||
|
"MNBL.none": "Aucun",
|
||||||
|
"MNBL.lightcover": "Rondache ou léger (-2)",
|
||||||
|
"MNBL.mediumcover": "Pavois ou à moitié (-5)",
|
||||||
|
"MNBL.heavycover": "Quasi complet (-10)",
|
||||||
|
"MNBL.roll": "Jet",
|
||||||
|
"MNBL.defensecapacity": "Capacité défensive",
|
||||||
|
"MNBL.attackcapacity": "Capacité offensive",
|
||||||
|
|
||||||
|
"MNBL.lessthanshort": "Moins que courte (10)",
|
||||||
|
"MNBL.shortmore": "Courte et + (10)",
|
||||||
|
"MNBL.mediummore": "Moyenne et + (20)",
|
||||||
|
"MNBL.longmore": "Longue et + (25)",
|
||||||
|
|
||||||
|
"MNBL.noneunknwon": "Aucune/Inconnue",
|
||||||
|
"MNBL.easy": "Facile (5)",
|
||||||
|
"MNBL.medium": "Moyenne (10)",
|
||||||
|
"MNBL.hard": "Ardue (15)",
|
||||||
|
"MNBL.hazardous": "Hasardeuse (20)",
|
||||||
|
"MNBL.insane": "Insensée (25)",
|
||||||
|
"MNBL.puremadness": "Pure Folie (30)",
|
||||||
|
|
||||||
|
"MNBL.pronouncerune": "Prononcer la rune",
|
||||||
|
"MNBL.tracerune": "Tracer la rune",
|
||||||
|
"MNBL.pronounced": "Prononcée",
|
||||||
|
"MNBL.traced": "Tracée",
|
||||||
|
|
||||||
|
"MNBL.meleeweapon": "Arme de contact",
|
||||||
|
"MNBL.meleethrowweapon": "Arme de contact et de Jet",
|
||||||
|
"MNBL.throwweapon": "Arme de Lancer",
|
||||||
|
"MNBL.shootweapon": "Arme de Tir",
|
||||||
|
"MNBL.specialweapon": "Spécial (capacité/don)",
|
||||||
|
|
||||||
|
"MNBL.all": "Tous",
|
||||||
|
"MNBL.beastslords": "Seigneurs des Bêtes",
|
||||||
|
"MNBL.elementslords": "Seigneurs Elementaires",
|
||||||
|
|
||||||
|
"MNBL.law": "Loi",
|
||||||
|
"MNBL.chaos": "Chaos",
|
||||||
|
"MNBL.level": "Niveau",
|
||||||
|
"MNBL.points": "Points",
|
||||||
|
"MNBL.aspect": "Aspect",
|
||||||
|
"MNBL.margin": "Marge",
|
||||||
|
"MNBL.goodadventure" : "Bonne Aventure",
|
||||||
|
"MNBL.base": "Base",
|
||||||
|
"MNBL.current": "Actuelle",
|
||||||
|
"MNBL.alignement" : "Alignement",
|
||||||
|
"MNBL.eclat": "Eclat",
|
||||||
|
"MNBL.exp": "Expérience",
|
||||||
|
"MNBL.attributes": "Attributs",
|
||||||
|
"MNBL.skills": "Compétences",
|
||||||
|
"MNBL.abilities": "Dons/Pactes",
|
||||||
|
"MNBL.equipmentactions": "Equipements/Actions",
|
||||||
|
"MNBL.bio": "Bio&Notes",
|
||||||
|
"MNBL.health": "Santé",
|
||||||
|
"MNBL.bonus": "Bonus",
|
||||||
|
"MNBL.malus": "Malus",
|
||||||
|
"MNBL.nonlethal": "Non Létaux",
|
||||||
|
"MNBL.lethal": "Létaux",
|
||||||
|
"MNBL.automalus" : "Malus Auto",
|
||||||
|
"MNBL.soul": "Ame",
|
||||||
|
"MNBL.currentmax": "Max Actuel",
|
||||||
|
"MNBL.consumed": "Consommé",
|
||||||
|
"MNBL.damagebonus": "B. Dégats",
|
||||||
|
"MNBL.speed": "Vitesse",
|
||||||
|
"MNBL.defense": "Défense",
|
||||||
|
"MNBL.totalprotection": "Protection Totale",
|
||||||
|
"MNBL.modifier": "Modificateurs",
|
||||||
|
"MNBL.type": "Type",
|
||||||
|
"MNBL.value": "Valeur",
|
||||||
|
"MNBL.gifts": "Dons",
|
||||||
|
"MNBL.allegiance": "Allégeance",
|
||||||
|
"MNBL.pacts": "Pactes",
|
||||||
|
"MNBL.runes": "Runes",
|
||||||
|
"MNBL.highlanguage": "Haut Parler",
|
||||||
|
"MNBL.difficulty": "Difficulté",
|
||||||
|
"MNBL.tendancies": "Tendances",
|
||||||
|
"MNBL.chaotictraits": "Traits Chaotique",
|
||||||
|
"MNBL.activatedrunes": "Runes actives",
|
||||||
|
"MNBL.mode": "Mode",
|
||||||
|
"MNBL.duration": "Durée",
|
||||||
|
"MNBL.treasuremoney": "Richesses et Argent",
|
||||||
|
"MNBL.quantity": "Quantité",
|
||||||
|
"MNBL.unit": "Unité",
|
||||||
|
"MNBL.specialactions": "Actions spéciales",
|
||||||
|
"MNBL.knockout": "Assomer",
|
||||||
|
"MNBL.flee": "Fuir",
|
||||||
|
"MNBL.immobilize": "Immobiliser",
|
||||||
|
"MNBL.mounted": "Monté",
|
||||||
|
"MNBL.weapons": "Armes",
|
||||||
|
"MNBL.attack": "Attaque",
|
||||||
|
"MNBL.damage": "Dégats",
|
||||||
|
"MNBL.protections": "Protections",
|
||||||
|
"MNBL.equipments": "Equipements",
|
||||||
|
"MNBL.origin": "Origine",
|
||||||
|
"MNBL.legacy": "Héritage",
|
||||||
|
"MNBL.profession": "Métier",
|
||||||
|
"MNBL.genre": "Genre",
|
||||||
|
"MNBL.size": "Taille",
|
||||||
|
"MNBL.hair": "Cheveux",
|
||||||
|
"MNBL.eyes": "Yeux",
|
||||||
|
"MNBL.preferredhand": "Main Préférée",
|
||||||
|
"MNBL.weight": "Weight",
|
||||||
|
"MNBL.soulmultiplier": "Multiplicateur d'âme",
|
||||||
|
"MNBL.ignorehealthmalus": "Ignore le malus de santé",
|
||||||
|
"MNBL.ignoresoulmalus": "Ignore le malus d'âme",
|
||||||
|
|
||||||
|
"MNBL.weapon": "Arme",
|
||||||
|
"MNBL.nextattackbonus": "Bonus pour prochaine attaque",
|
||||||
|
"MNBL.nextactionmalus": "Malus au défenseur pour prochaine action",
|
||||||
|
"MNBL.applydamage": "Appliquer les dégats/bonus/malus",
|
||||||
|
"MNBL.attribut": "Attribut",
|
||||||
|
"MNBL.skill": "Compétence",
|
||||||
|
"MNBL.target": "Cible",
|
||||||
|
"MNBL.usedpredilection": "Prédilection utilisée",
|
||||||
|
"MNBL.soulpoints": "Points d'âme",
|
||||||
|
"MNBL.formula": "Formule",
|
||||||
|
"MNBL.dice":"Dé",
|
||||||
|
"MNBL.success": "Succés",
|
||||||
|
"MNBL.failure": "Echec",
|
||||||
|
"MNBL.heroicsuccess": "Succés Héroïque",
|
||||||
|
"MNBL.dramaticfailure": "Echec Dramatique",
|
||||||
|
|
||||||
|
"MNBL.attackmountbonus": "Attaquant monté vs def. au sol (+5)",
|
||||||
|
"MNBL.targetdefense": "Défense adversaire",
|
||||||
|
"MNBL.shootmodifier": "Modificateurs de Tir",
|
||||||
|
"MNBL.aimingbonus": "Bonus de visée",
|
||||||
|
"MNBL.targetseeshoot": "La cible est consciente du tir",
|
||||||
|
"MNBL.notarget": "Pas de cible désignée",
|
||||||
|
"MNBL.runningtarget": "La cible court (-5/-10 selon portée)",
|
||||||
|
"MNBL.hascover": "Couvert",
|
||||||
|
"MNBL.range": "Portée",
|
||||||
|
"MNBL.disadvantagepositions": "Positions désavantageuses (Bonus max +15)",
|
||||||
|
"MNBL.targetground": "Cible au sol (+5)",
|
||||||
|
"MNBL.unarmedtarget": "Cible désarmée (+5)",
|
||||||
|
"MNBL.smallroomtarget": "Cible en espace restreint (+5)",
|
||||||
|
"MNBL.targetcantmove": "Cible immobilisée (+5)",
|
||||||
|
"MNBL.targetbelow": "Cible surplombée (+5)",
|
||||||
|
"MNBL.healthmalus": "Malus de santé",
|
||||||
|
"MNBL.soulmalus": "Malus d'âme",
|
||||||
|
"MNBL.registeredmodifiers": "Modificateurs enregistrés",
|
||||||
|
"MNBL.doubleD20": "Doubler le d20 (1 Point d'Eclat)",
|
||||||
|
|
||||||
|
"MNBL.pronouncedrune": "Rune prononcée",
|
||||||
|
"MNBL.tracedrune": "Rune tracée",
|
||||||
|
"MNBL.equipped": "Equipé",
|
||||||
|
"MNBL.rarity": "Rareté",
|
||||||
|
"MNBL.price": "Prix",
|
||||||
|
"MNBL.modifiertype": "Type de modificateur",
|
||||||
|
"MNBL.prerequisites": "Prérequis",
|
||||||
|
"MNBL.predilections": "Prédilections",
|
||||||
|
"MNBL.candoublebonusskill": "Les bonus de Bonne Aventure et d'Eclat peuvent être doublés (cf. Métier)",
|
||||||
|
"MNBL.addpredilection": "Ajouter une prédilection",
|
||||||
|
"MNBL.defensebonus": "Bonus de défense",
|
||||||
|
"MNBL.nonlethaldamage": "Dégâts non létaux",
|
||||||
|
"MNBL.weapontype": "Type d'arme",
|
||||||
|
"MNBL.weaponbonusattack": "Bonus de maniement (offensif)",
|
||||||
|
"MNBL.weaponbonusdefense": "Bonus de maniement (défensif)",
|
||||||
|
"MNBL.isdefense": "Défensive",
|
||||||
|
"MNBL.twohands": "A deux mains",
|
||||||
|
"MNBL.ignorearmor": "Ignore l'armure",
|
||||||
|
"MNBL.creatureresourcecost": "Cout en Ressources (créatures)",
|
||||||
|
"MNBL.shortrange": "Portée courte",
|
||||||
|
"MNBL.mediumrange":"Portée moyenne",
|
||||||
|
"MNBL.longrange":"Portée longue",
|
||||||
|
"MNBL.reloadduration": "Temps de rechargement",
|
||||||
|
"MNBL.attacks": "Attaques",
|
||||||
|
"MNBL.ressources": "Ressources",
|
||||||
|
"MNBL.weaponscapacities": "Armes/Capacités",
|
||||||
|
"MNBL.use": "Utiliser",
|
||||||
|
"MNBL.speciestrait": "Trait d'espèce"
|
||||||
|
|
||||||
|
}
|
@ -12,7 +12,7 @@ export class MournbladeActorSheet extends ActorSheet {
|
|||||||
/** @override */
|
/** @override */
|
||||||
static get defaultOptions() {
|
static get defaultOptions() {
|
||||||
|
|
||||||
return mergeObject(super.defaultOptions, {
|
return foundry.utils.mergeObject(super.defaultOptions, {
|
||||||
classes: ["fvtt-mournblade", "sheet", "actor"],
|
classes: ["fvtt-mournblade", "sheet", "actor"],
|
||||||
template: "systems/fvtt-mournblade/templates/actor-sheet.html",
|
template: "systems/fvtt-mournblade/templates/actor-sheet.html",
|
||||||
width: 640,
|
width: 640,
|
||||||
@ -25,9 +25,8 @@ export class MournbladeActorSheet extends ActorSheet {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async getData() {
|
async getData() {
|
||||||
const objectData = MournbladeUtility.data(this.object);
|
const objectData = foundry.utils.duplicate(this.object)
|
||||||
|
let actorData = objectData
|
||||||
let actorData = duplicate(MournbladeUtility.templateData(this.object))
|
|
||||||
|
|
||||||
let formData = {
|
let formData = {
|
||||||
title: this.title,
|
title: this.title,
|
||||||
@ -37,14 +36,34 @@ export class MournbladeActorSheet extends ActorSheet {
|
|||||||
name: objectData.name,
|
name: objectData.name,
|
||||||
editable: this.isEditable,
|
editable: this.isEditable,
|
||||||
cssClass: this.isEditable ? "editable" : "locked",
|
cssClass: this.isEditable ? "editable" : "locked",
|
||||||
data: actorData,
|
data: actorData.system,
|
||||||
effects: this.object.effects.map(e => foundry.utils.deepClone(e.data)),
|
effects: this.object.effects.map(e => foundry.utils.deepClone(e.data)),
|
||||||
limited: this.object.limited,
|
limited: this.object.limited,
|
||||||
skills: duplicate(this.actor.getSkills()),
|
skills: this.actor.getSkills(),
|
||||||
weapons: duplicate(this.actor.getWeapons()),
|
armes: foundry.utils.duplicate(this.actor.getWeapons()),
|
||||||
armors: duplicate(this.actor.getArmors()),
|
protections: foundry.utils.duplicate(this.actor.getArmors()),
|
||||||
|
dons: foundry.utils.duplicate(this.actor.getDons()),
|
||||||
|
pactes: foundry.utils.duplicate(this.actor.getPactes()),
|
||||||
alignement: this.actor.getAlignement(),
|
alignement: this.actor.getAlignement(),
|
||||||
//equipments: duplicate(this.actor.getEquipments()),
|
aspect: this.actor.getAspect(),
|
||||||
|
marge: this.actor.getMarge(),
|
||||||
|
tendances:foundry.utils.duplicate(this.actor.getTendances()),
|
||||||
|
runes:foundry.utils.duplicate(this.actor.getRunes()),
|
||||||
|
traitsChaotiques:foundry.utils.duplicate(this.actor.getTraitsChaotiques()),
|
||||||
|
traitsEspeces: foundry.utils.duplicate(this.actor.getTraitsEspeces()),
|
||||||
|
origine: foundry.utils.duplicate(this.actor.getOrigine() || {}),
|
||||||
|
heritage: foundry.utils.duplicate(this.actor.getHeritage() || {}),
|
||||||
|
metier: foundry.utils.duplicate(this.actor.getMetier() || {}),
|
||||||
|
combat: this.actor.getCombatValues(),
|
||||||
|
equipements: foundry.utils.duplicate(this.actor.getEquipments()),
|
||||||
|
modifiers: foundry.utils.duplicate(this.actor.getModifiers()),
|
||||||
|
monnaies: foundry.utils.duplicate(this.actor.getMonnaies()),
|
||||||
|
runeEffects: foundry.utils.duplicate(this.actor.getRuneEffects()),
|
||||||
|
config: game.system.mournblade.config,
|
||||||
|
protectionTotal: this.actor.getProtectionTotal(),
|
||||||
|
santeMalus: this.actor.getStatusMalus(),
|
||||||
|
ameMalus: this.actor.getAmeMalus(),
|
||||||
|
description: await TextEditor.enrichHTML(this.object.system.biodata.description, {async: true}),
|
||||||
options: this.options,
|
options: this.options,
|
||||||
owner: this.document.isOwner,
|
owner: this.document.isOwner,
|
||||||
editScore: this.options.editScore,
|
editScore: this.options.editScore,
|
||||||
@ -107,28 +126,55 @@ export class MournbladeActorSheet extends ActorSheet {
|
|||||||
let compId = li.data("item-id")
|
let compId = li.data("item-id")
|
||||||
this.actor.rollCompetence(attrKey, compId)
|
this.actor.rollCompetence(attrKey, compId)
|
||||||
})
|
})
|
||||||
|
html.find('.roll-rune').click((event) => {
|
||||||
|
const li = $(event.currentTarget).parents(".item")
|
||||||
|
let runeId = li.data("item-id")
|
||||||
|
this.actor.rollRune(runeId)
|
||||||
|
})
|
||||||
|
html.find('.roll-arme-offensif').click((event) => {
|
||||||
|
const li = $(event.currentTarget).parents(".item")
|
||||||
|
let armeId = li.data("item-id")
|
||||||
|
this.actor.rollArmeOffensif(armeId)
|
||||||
|
})
|
||||||
|
html.find('.roll-assomer').click((event) => {
|
||||||
|
this.actor.rollAssomer()
|
||||||
|
})
|
||||||
|
html.find('.roll-fuir').click((event) => {
|
||||||
|
this.actor.rollFuir()
|
||||||
|
})
|
||||||
|
html.find('.roll-immobiliser').click((event) => {
|
||||||
|
this.actor.rollImmobiliser()
|
||||||
|
})
|
||||||
|
html.find('.roll-arme-special').click((event) => {
|
||||||
|
const li = $(event.currentTarget).parents(".item")
|
||||||
|
let armeId = li.data("item-id")
|
||||||
|
this.actor.rollArmeSpecial(armeId)
|
||||||
|
})
|
||||||
|
|
||||||
html.find('.roll-spec').click((event) => {
|
html.find('.roll-arme-degats').click((event) => {
|
||||||
const li = $(event.currentTarget).parents(".item");
|
const li = $(event.currentTarget).parents(".item")
|
||||||
const specId = li.data("item-id");
|
let armeId = li.data("item-id")
|
||||||
this.actor.rollSpec(specId);
|
this.actor.rollArmeDegats(armeId)
|
||||||
});
|
})
|
||||||
html.find('.weapon-roll').click((event) => {
|
html.find('.quantity-modify').click(event => {
|
||||||
const li = $(event.currentTarget).parents(".item");
|
const li = $(event.currentTarget).parents(".item")
|
||||||
const weaponId = li.data("item-id");
|
const value = Number($(event.currentTarget).data("quantite-value"))
|
||||||
this.actor.rollWeapon(weaponId);
|
this.actor.incDecQuantity( li.data("item-id"), value );
|
||||||
});
|
})
|
||||||
html.find('.armor-roll').click((event) => {
|
html.find('.item-add').click((event) => {
|
||||||
const li = $(event.currentTarget).parents(".item");
|
const itemType = $(event.currentTarget).data("type")
|
||||||
const armorId = li.data("item-id");
|
this.actor.createEmbeddedDocuments('Item', [{ name: `Nouveau ${itemType}`, type: itemType }], { renderSheet: true })
|
||||||
this.actor.rollArmor(armorId);
|
})
|
||||||
});
|
html.find('.sante-modify').click((event) => {
|
||||||
|
const santeType = $(event.currentTarget).data("type")
|
||||||
|
const value = $(event.currentTarget).data("value")
|
||||||
|
this.actor.incDecSante(santeType, value, false)
|
||||||
|
})
|
||||||
|
html.find('.ame-modify').click((event) => {
|
||||||
|
const value = $(event.currentTarget).data("value")
|
||||||
|
this.actor.incDecAme(value)
|
||||||
|
})
|
||||||
|
|
||||||
html.find('.weapon-damage-roll').click((event) => {
|
|
||||||
const li = $(event.currentTarget).parents(".item");
|
|
||||||
const weaponId = li.data("item-id");
|
|
||||||
this.actor.rollWeapon(weaponId, true);
|
|
||||||
});
|
|
||||||
|
|
||||||
html.find('.lock-unlock-sheet').click((event) => {
|
html.find('.lock-unlock-sheet').click((event) => {
|
||||||
this.options.editScore = !this.options.editScore;
|
this.options.editScore = !this.options.editScore;
|
||||||
@ -153,11 +199,11 @@ export class MournbladeActorSheet extends ActorSheet {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async _onDropItem(event, dragData) {
|
/*async _onDropItem(event, dragData) {
|
||||||
let item = await MournbladeUtility.searchItem( dragData)
|
let item = await MournbladeUtility.searchItem( dragData)
|
||||||
this.actor.preprocessItem( event, item, true )
|
this.actor.preprocessItem( event, item, true )
|
||||||
super._onDropItem(event, dragData)
|
super._onDropItem(event, dragData)
|
||||||
}
|
}*/
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
/** @override */
|
/** @override */
|
||||||
|
@ -3,6 +3,9 @@ import { MournbladeUtility } from "./mournblade-utility.js";
|
|||||||
import { MournbladeRollDialog } from "./mournblade-roll-dialog.js";
|
import { MournbladeRollDialog } from "./mournblade-roll-dialog.js";
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
|
const __degatsBonus = [-2, -2, -1, -1, 0, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 8, 8, 9, 9, 10, 10]
|
||||||
|
const __vitesseBonus = [-2, -2, -1, -1, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8]
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
/**
|
/**
|
||||||
* Extend the base Actor entity by defining a custom roll data structure which is ideal for the Simple system.
|
* Extend the base Actor entity by defining a custom roll data structure which is ideal for the Simple system.
|
||||||
@ -28,7 +31,7 @@ export class MournbladeActor extends Actor {
|
|||||||
if (data instanceof Array) {
|
if (data instanceof Array) {
|
||||||
return super.create(data, options);
|
return super.create(data, options);
|
||||||
}
|
}
|
||||||
// If the created actor has items (only applicable to duplicated actors) bypass the new actor creation logic
|
// If the created actor has items (only applicable to foundry.utils.duplicated actors) bypass the new actor creation logic
|
||||||
if (data.items) {
|
if (data.items) {
|
||||||
let actor = super.create(data, options);
|
let actor = super.create(data, options);
|
||||||
return actor;
|
return actor;
|
||||||
@ -38,46 +41,216 @@ export class MournbladeActor extends Actor {
|
|||||||
const skills = await MournbladeUtility.loadCompendium("fvtt-mournblade.skills")
|
const skills = await MournbladeUtility.loadCompendium("fvtt-mournblade.skills")
|
||||||
data.items = skills.map(i => i.toObject())
|
data.items = skills.map(i => i.toObject())
|
||||||
}
|
}
|
||||||
if (data.type == 'pnj') {
|
if (data.type == 'creature') {
|
||||||
|
const skills = await MournbladeUtility.loadCompendium("fvtt-mournblade.skills-creatures")
|
||||||
|
data.items = skills.map(i => i.toObject())
|
||||||
|
data.items.push({ name: "Arme naturelle 1", type: 'arme', img: "systems/fvtt-mournblade/assets/icons/arme.webp", system: { typearme: "contact", bonusmaniementoff: 0, seuildefense: 0, degats: "0" } })
|
||||||
|
data.items.push({ name: "Arme naturelle 2", type: 'arme', img: "systems/fvtt-mournblade/assets/icons/arme.webp", system: { typearme: "contact", bonusmaniementoff: 0, seuildefense: 0, degats: "0" } })
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return super.create(data, options);
|
return super.create(data, options);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
getWeapons() {
|
setModifier(name, type, value) {
|
||||||
return this.data.items.filter(item => item.type == "arme")
|
this.createEmbeddedDocuments("Item", [{ type: "modifier", name: name, system: { modifiertype: type, value: value } }])
|
||||||
|
ui.notifications.info("Le modificateur " + name + " a été ajouté à " + this.name + ".")
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
prepareArme(arme) {
|
||||||
|
arme = foundry.utils.duplicate(arme)
|
||||||
|
let combat = this.getCombatValues()
|
||||||
|
if (arme.system.typearme == "contact" || arme.system.typearme == "contactjet") {
|
||||||
|
arme.system.isMelee = true
|
||||||
|
arme.system.competence = foundry.utils.duplicate(this.items.find(item => item.type == "competence" && item.name.toLowerCase() == "mêlée"))
|
||||||
|
arme.system.attrKey = "pui"
|
||||||
|
arme.system.totalDegats = arme.system.degats + "+" + combat.bonusDegatsTotal
|
||||||
|
arme.system.totalOffensif = this.system.attributs.pui.value + arme.system.competence.system.niveau + arme.system.bonusmaniementoff + combat.attaqueModifier
|
||||||
|
if (arme.system.isdefense) {
|
||||||
|
arme.system.totalDefensif = combat.defenseTotal + arme.system.competence.system.niveau + arme.system.bonusmaniementdef
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (arme.system.typearme == "jet" || arme.system.typearme == "tir") {
|
||||||
|
arme.system.isDistance = true
|
||||||
|
arme.system.competence = foundry.utils.duplicate(this.items.find(item => item.type == "competence" && item.name.toLowerCase() == "armes à distance"))
|
||||||
|
arme.system.attrKey = "adr"
|
||||||
|
arme.system.totalOffensif = this.system.attributs.adr.value + arme.system.competence.system.niveau + arme.system.bonusmaniementoff + combat.attaqueModifier
|
||||||
|
arme.system.totalDegats = arme.system.degats
|
||||||
|
if (arme.system.isdefense) {
|
||||||
|
arme.system.totalDefensif = combat.defenseTotal + arme.system.competence.system.niveau + arme.system.bonusmaniementdef
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return arme
|
||||||
}
|
}
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
|
prepareBouclier(bouclier) {
|
||||||
|
bouclier = foundry.utils.duplicate(bouclier)
|
||||||
|
let combat = this.getCombatValues()
|
||||||
|
bouclier.system.competence = foundry.utils.duplicate(this.items.find(item => item.type == "competence" && item.name.toLowerCase() == "mêlée"))
|
||||||
|
bouclier.system.attrKey = "pui"
|
||||||
|
bouclier.system.totalDegats = bouclier.system.degats + "+" + combat.bonusDegatsTotal
|
||||||
|
bouclier.system.totalOffensif = this.system.attributs.pui.value + bouclier.system.competence.system.niveau
|
||||||
|
bouclier.system.isdefense = true
|
||||||
|
bouclier.system.bonusmaniementoff = 0
|
||||||
|
bouclier.system.totalDefensif = combat.defenseTotal + bouclier.system.competence.system.niveau + bouclier.system.bonusdefense
|
||||||
|
return bouclier
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
getWeapons() {
|
||||||
|
let armes = []
|
||||||
|
for (let arme of this.items) {
|
||||||
|
if (arme.type == "arme") {
|
||||||
|
armes.push(this.prepareArme(arme))
|
||||||
|
}
|
||||||
|
if (arme.type == "bouclier") {
|
||||||
|
armes.push(this.prepareBouclier(arme))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
MournbladeUtility.sortArrayObjectsByName(armes)
|
||||||
|
return armes
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
getModifiersForRoll() {
|
||||||
|
let modifiers = []
|
||||||
|
for (let mod of this.items) {
|
||||||
|
if (mod.type == "modifier" && mod.system.modifiertype == "roll") {
|
||||||
|
let modObj = mod.toObject()
|
||||||
|
modObj.system.apply = true
|
||||||
|
modifiers.push(modObj)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
MournbladeUtility.sortArrayObjectsByName(modifiers)
|
||||||
|
return modifiers
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
getItemSorted(types) {
|
||||||
|
let items = this.items.filter(item => types.includes(item.type)) || []
|
||||||
|
MournbladeUtility.sortArrayObjectsByName(items)
|
||||||
|
return items
|
||||||
|
}
|
||||||
|
getDons() {
|
||||||
|
return this.getItemSorted(["don"])
|
||||||
|
}
|
||||||
|
getPactes() {
|
||||||
|
return this.getItemSorted(["pacte"])
|
||||||
|
}
|
||||||
|
getTendances() {
|
||||||
|
return this.getItemSorted(["tendance"])
|
||||||
|
}
|
||||||
|
getRunes() {
|
||||||
|
return this.getItemSorted(["rune"])
|
||||||
|
}
|
||||||
|
getEquipments() {
|
||||||
|
return this.getItemSorted(["equipement"])
|
||||||
|
}
|
||||||
|
getModifiers() {
|
||||||
|
return this.getItemSorted(["modifier"])
|
||||||
|
}
|
||||||
|
getTraitsChaotiques() {
|
||||||
|
return this.getItemSorted(["traitchaotique"])
|
||||||
|
}
|
||||||
|
getTraitsEspeces() {
|
||||||
|
return this.getItemSorted(["traitespece"])
|
||||||
|
}
|
||||||
|
getMonnaies() {
|
||||||
|
return this.getItemSorted(["monnaie"])
|
||||||
|
}
|
||||||
getArmors() {
|
getArmors() {
|
||||||
return this.data.items.filter(item => item.type == "protection")
|
return this.getItemSorted(["protection"])
|
||||||
|
}
|
||||||
|
getRuneEffects() {
|
||||||
|
return this.getItemSorted(["runeeffect"])
|
||||||
|
}
|
||||||
|
getOrigine() {
|
||||||
|
return this.items.find(item => item.type == "origine")
|
||||||
|
}
|
||||||
|
getMetier() {
|
||||||
|
return this.items.find(item => item.type == "metier")
|
||||||
|
}
|
||||||
|
getHeritage() {
|
||||||
|
return this.items.find(item => item.type == "heritage")
|
||||||
}
|
}
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
getSkills() {
|
getSkills() {
|
||||||
let comp = []
|
let comp = []
|
||||||
for (let item of this.data.items) {
|
for (let item of this.items) {
|
||||||
item = duplicate(item)
|
item = foundry.utils.duplicate(item)
|
||||||
if (item.type == "competence") {
|
if (item.type == "competence") {
|
||||||
item.data.attribut1total = item.data.niveau + (this.data.data.attributs[item.data.attribut1]?.value || 0)
|
item.system.attribut1total = item.system.niveau + (this.system.attributs[item.system.attribut1]?.value || 0)
|
||||||
item.data.attribut2total = item.data.niveau + (this.data.data.attributs[item.data.attribut2]?.value || 0)
|
item.system.attribut2total = item.system.niveau + (this.system.attributs[item.system.attribut2]?.value || 0)
|
||||||
item.data.attribut3total = item.data.niveau + (this.data.data.attributs[item.data.attribut3]?.value || 0)
|
item.system.attribut3total = item.system.niveau + (this.system.attributs[item.system.attribut3]?.value || 0)
|
||||||
if (item.data.niveau == 0) {
|
if (item.system.niveau == 0) {
|
||||||
item.data.attribut1total -= 3
|
item.system.attribut1total -= 3
|
||||||
item.data.attribut2total -= 3
|
item.system.attribut2total -= 3
|
||||||
item.data.attribut3total -= 3
|
item.system.attribut3total -= 3
|
||||||
}
|
}
|
||||||
item.data.attribut1label = this.data.data.attributs[item.data.attribut1]?.label || ""
|
item.system.attribut1label = this.system.attributs[item.system.attribut1]?.label || ""
|
||||||
item.data.attribut2label = this.data.data.attributs[item.data.attribut2]?.label || ""
|
item.system.attribut2label = this.system.attributs[item.system.attribut2]?.label || ""
|
||||||
item.data.attribut3label = this.data.data.attributs[item.data.attribut3]?.label || ""
|
item.system.attribut3label = this.system.attributs[item.system.attribut3]?.label || ""
|
||||||
comp.push(item)
|
comp.push(item)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
MournbladeUtility.sortArrayObjectsByName(comp)
|
||||||
return comp
|
return comp
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
|
getProtectionTotal() {
|
||||||
|
let protection = 0
|
||||||
|
for (let item of this.items) {
|
||||||
|
if (item.type == "protection" && item.system.equipped) {
|
||||||
|
protection += item.system.protection
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return protection
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
getAspect() {
|
||||||
|
return (this.system.balance.loi > this.system.balance.chaos) ? this.system.balance.loi : this.system.balance.chaos
|
||||||
|
}
|
||||||
|
getMarge() {
|
||||||
|
return Math.abs(this.system.balance.loi - this.system.balance.chaos)
|
||||||
|
}
|
||||||
getAlignement() {
|
getAlignement() {
|
||||||
return (this.data.data.balance.loi > this.data.data.balance.chaos) ? "loyal" : "chaotique"
|
return (this.system.balance.loi > this.system.balance.chaos) ? "loyal" : "chaotique"
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
getDefenseBase() {
|
||||||
|
return this.system.attributs.tre.value + 5
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
getVitesseBase() {
|
||||||
|
return 5 + __vitesseBonus[this.system.attributs.adr.value]
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
getCombatValues() {
|
||||||
|
let defenserModifier = 0
|
||||||
|
this.items.filter(item => item.type == "modifier" && item.system.modifiertype == "defense").map(e => defenserModifier += e.system.value)
|
||||||
|
let attaqueModifier = 0
|
||||||
|
this.items.filter(item => item.type == "modifier" && item.system.modifiertype == "attaque").map(e => attaqueModifier += e.system.value)
|
||||||
|
|
||||||
|
let combat = {
|
||||||
|
defenserModifier,
|
||||||
|
attaqueModifier,
|
||||||
|
initBase: this.system.attributs.adr.value,
|
||||||
|
initTotal: this.system.attributs.adr.value + this.system.combat.initbonus,
|
||||||
|
bonusDegats: this.getBonusDegats(),
|
||||||
|
bonusDegatsTotal: this.getBonusDegats() + this.system.combat.bonusdegats,
|
||||||
|
vitesseBase: this.getVitesseBase(),
|
||||||
|
vitesseTotal: this.getVitesseBase() + this.system.combat.vitessebonus,
|
||||||
|
defenseBase: this.getDefenseBase(),
|
||||||
|
defenseTotal: this.getDefenseBase() + this.system.combat.defensebonus + defenserModifier
|
||||||
|
}
|
||||||
|
return combat
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
@ -93,13 +266,13 @@ export class MournbladeActor extends Actor {
|
|||||||
prepareDerivedData() {
|
prepareDerivedData() {
|
||||||
|
|
||||||
if (this.type == 'personnage') {
|
if (this.type == 'personnage') {
|
||||||
let newSante = (this.data.data.attributs.pui.value + this.data.data.attributs.tre.value)*2 + 5
|
let newSante = this.system.sante.bonus + (this.system.attributs.pui.value + this.system.attributs.tre.value) * 2 + 5
|
||||||
if (this.data.data.sante.base!=newSante ) {
|
if (this.system.sante.base != newSante) {
|
||||||
this.update( {'data.sante.base': newSante} )
|
this.update({ 'system.sante.base': newSante })
|
||||||
}
|
}
|
||||||
let newAme = (this.data.data.attributs.cla.value + this.data.data.attributs.tre.value)*2 + 5
|
let newAme = (this.system.attributs.cla.value + this.system.attributs.tre.value) * this.system.biodata.amemultiplier + 5
|
||||||
if (this.data.data.ame.base!=newAme ) {
|
if (this.system.ame.fullmax != newAme) {
|
||||||
this.update( {'data.ame.base': newAme} )
|
this.update({ 'system.ame.fullmax': newAme })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -114,25 +287,62 @@ export class MournbladeActor extends Actor {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
getItemById(id) {
|
getItemById(id) {
|
||||||
let item = this.data.items.find(item => item.id == id);
|
let item = this.items.find(item => item.id == id);
|
||||||
if (item) {
|
if (item) {
|
||||||
item = duplicate(item)
|
item = foundry.utils.duplicate(item)
|
||||||
}
|
}
|
||||||
return item;
|
return item;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async equipItem(itemId) {
|
async equipItem(itemId) {
|
||||||
let item = this.data.items.find(item => item.id == itemId);
|
let item = this.items.find(item => item.id == itemId)
|
||||||
if (item && item.data.data) {
|
if (item?.system) {
|
||||||
let update = { _id: item.id, "data.equipped": !item.data.data.equipped };
|
let update = { _id: item.id, "system.equipped": !item.system.equipped }
|
||||||
await this.updateEmbeddedDocuments('Item', [update]); // Updates one EmbeddedEntity
|
await this.updateEmbeddedDocuments('Item', [update]); // Updates one EmbeddedEntity
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
getStatusMalus() {
|
||||||
|
if (this.system.biodata.ignoresantemalus) {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
let malusL = 0
|
||||||
|
let malusNL = 0
|
||||||
|
if (this.system.sante.base - this.system.sante.letaux < 10) {
|
||||||
|
malusL = -2
|
||||||
|
}
|
||||||
|
if (this.system.sante.base - this.system.sante.letaux < 5) {
|
||||||
|
malusL = -5
|
||||||
|
}
|
||||||
|
if (this.system.sante.base - this.system.sante.nonletaux < 10) {
|
||||||
|
malusNL = -2
|
||||||
|
}
|
||||||
|
if (this.system.sante.base - this.system.sante.nonletaux < 5) {
|
||||||
|
malusNL = -5
|
||||||
|
}
|
||||||
|
return Math.min(malusL, malusNL)
|
||||||
|
}
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
getAmeMalus() {
|
||||||
|
if (this.system.biodata.ignoreamemalus) {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
let malusA = 0
|
||||||
|
if (this.system.ame.currentmax - this.system.ame.value < 10) {
|
||||||
|
malusA = -2
|
||||||
|
}
|
||||||
|
if (this.system.ame.currentmax - this.system.ame.value < 5) {
|
||||||
|
malusA = -5
|
||||||
|
}
|
||||||
|
return malusA
|
||||||
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
editItemField(itemId, itemType, itemField, dataType, value) {
|
editItemField(itemId, itemType, itemField, dataType, value) {
|
||||||
let item = this.data.items.find(item => item.id == itemId)
|
let item = this.items.find(item => item.id == itemId)
|
||||||
if (item) {
|
if (item) {
|
||||||
console.log("Item ", item, itemField, dataType, value)
|
console.log("Item ", item, itemField, dataType, value)
|
||||||
if (dataType.toLowerCase() == "number") {
|
if (dataType.toLowerCase() == "number") {
|
||||||
@ -140,38 +350,86 @@ export class MournbladeActor extends Actor {
|
|||||||
} else {
|
} else {
|
||||||
value = String(value)
|
value = String(value)
|
||||||
}
|
}
|
||||||
let update = { _id: item.id, [`data.${itemField}`]: value };
|
let update = { _id: item.id, [`system.${itemField}`]: value };
|
||||||
this.updateEmbeddedDocuments("Item", [update])
|
this.updateEmbeddedDocuments("Item", [update])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
incDecSante(type, value, applyArmure = true) {
|
||||||
|
value = Number(value)
|
||||||
|
if (value && applyArmure) {
|
||||||
|
let protection = this.getProtectionTotal()
|
||||||
|
value -= protection
|
||||||
|
value = Math.max(0, Number(value))
|
||||||
|
}
|
||||||
|
if (value) {
|
||||||
|
let newSante = foundry.utils.duplicate(this.system.sante)
|
||||||
|
newSante[type] += Number(value)
|
||||||
|
newSante[type] = Math.max(0, newSante[type])
|
||||||
|
if (newSante[type] > this.system.sante.base) {
|
||||||
|
value -= this.system.sante.base - newSante[type]
|
||||||
|
newSante[type] = this.system.sante.base
|
||||||
|
} else {
|
||||||
|
value = 0
|
||||||
|
}
|
||||||
|
newSante[type] = Math.min(newSante[type], newSante.base)
|
||||||
|
if (value && type == "nonletaux") {
|
||||||
|
newSante["letaux"] += value
|
||||||
|
}
|
||||||
|
this.update({ 'system.sante': newSante })
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
incDecAme(value) {
|
||||||
|
value = Number(value)
|
||||||
|
if (value) {
|
||||||
|
let newAme = foundry.utils.duplicate(this.system.ame)
|
||||||
|
newAme.value += Number(value)
|
||||||
|
newAme.value = Math.max(0, newAme.value)
|
||||||
|
newAme.value = Math.min(newAme.value, newAme.currentmax)
|
||||||
|
this.update({ 'system.ame': newAme })
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
getBonneAventure() {
|
getBonneAventure() {
|
||||||
return this.data.data.bonneaventure.actuelle
|
return this.system.bonneaventure.actuelle
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
changeBonneAventure(value) {
|
changeBonneAventure(value) {
|
||||||
let newBA = this.data.data.bonneaventure.actuelle
|
let newBA = this.system.bonneaventure.actuelle
|
||||||
newBA += value
|
newBA += value
|
||||||
this.update({ 'data.bonneaventure.actuelle': newBA })
|
this.update({ 'system.bonneaventure.actuelle': newBA })
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
getEclat() {
|
getEclat() {
|
||||||
return this.data.data.eclat.value
|
return this.system.eclat.value
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
changeEclat(value) {
|
changeEclat(value) {
|
||||||
let newE = this.data.data.eclat.value
|
let newE = this.system.eclat.value
|
||||||
newE += value
|
newE += value
|
||||||
this.update({ 'data.eclat.value': newE })
|
this.update({ 'system.eclat.value': newE })
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
canEclatDoubleD20() {
|
canEclatDoubleD20() {
|
||||||
return (this.getAlignement() == "loyal" && this.data.data.eclat.value > 0)
|
return (this.getAlignement() == "loyal" && this.system.eclat.value > 0)
|
||||||
|
}
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
subPointsAme(runeMode, value) {
|
||||||
|
let ame = foundry.utils.duplicate(this.system.ame)
|
||||||
|
if (runeMode == "prononcer") {
|
||||||
|
ame.value += value
|
||||||
|
} else {
|
||||||
|
ame.currentmax -= value
|
||||||
|
}
|
||||||
|
this.update({ 'system.ame': ame })
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
@ -187,14 +445,22 @@ export class MournbladeActor extends Actor {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
getAttribute(attrKey) {
|
getAttribute(attrKey) {
|
||||||
return this.data.data.attributes[attrKey]
|
return this.system.attributes[attrKey]
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
getBonusDegats() {
|
||||||
|
if (this.type == "creature") {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
return __degatsBonus[this.system.attributs.pui.value]
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async equipGear(equipmentId) {
|
async equipGear(equipmentId) {
|
||||||
let item = this.data.items.find(item => item.id == equipmentId);
|
let item = this.items.find(item => item.id == equipmentId);
|
||||||
if (item && item.data.data) {
|
if (item && item.system.data) {
|
||||||
let update = { _id: item.id, "data.equipped": !item.data.data.equipped };
|
let update = { _id: item.id, "system.equipped": !item.system.equipped };
|
||||||
await this.updateEmbeddedDocuments('Item', [update]); // Updates one EmbeddedEntity
|
await this.updateEmbeddedDocuments('Item', [update]); // Updates one EmbeddedEntity
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -202,71 +468,129 @@ export class MournbladeActor extends Actor {
|
|||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
getSubActors() {
|
getSubActors() {
|
||||||
let subActors = [];
|
let subActors = [];
|
||||||
for (let id of this.data.data.subactors) {
|
for (let id of this.system.subactors) {
|
||||||
subActors.push(duplicate(game.actors.get(id)));
|
subActors.push(foundry.utils.duplicate(game.actors.get(id)));
|
||||||
}
|
}
|
||||||
return subActors;
|
return subActors;
|
||||||
}
|
}
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async addSubActor(subActorId) {
|
async addSubActor(subActorId) {
|
||||||
let subActors = duplicate(this.data.data.subactors);
|
let subActors = foundry.utils.duplicate(this.system.subactors);
|
||||||
subActors.push(subActorId);
|
subActors.push(subActorId);
|
||||||
await this.update({ 'data.subactors': subActors });
|
await this.update({ 'system.subactors': subActors });
|
||||||
}
|
}
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async delSubActor(subActorId) {
|
async delSubActor(subActorId) {
|
||||||
let newArray = [];
|
let newArray = [];
|
||||||
for (let id of this.data.data.subactors) {
|
for (let id of this.system.subactors) {
|
||||||
if (id != subActorId) {
|
if (id != subActorId) {
|
||||||
newArray.push(id);
|
newArray.push(id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
await this.update({ 'data.subactors': newArray });
|
await this.update({ 'system.subactors': newArray });
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async incDecQuantity(objetId, incDec = 0) {
|
async incDecQuantity(objetId, incDec = 0) {
|
||||||
let objetQ = this.data.items.get(objetId)
|
let objetQ = this.items.get(objetId)
|
||||||
if (objetQ) {
|
if (objetQ) {
|
||||||
let newQ = objetQ.data.data.quantity + incDec;
|
let newQ = objetQ.system.quantite + incDec;
|
||||||
const updated = await this.updateEmbeddedDocuments('Item', [{ _id: objetQ.id, 'data.quantity': newQ }]); // pdates one EmbeddedEntity
|
const updated = await this.updateEmbeddedDocuments('Item', [{ _id: objetQ.id, 'system.quantite': newQ }]); // pdates one EmbeddedEntity
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
getCompetence(compId) {
|
getCompetence(compId) {
|
||||||
return this.data.items.get(compId)
|
return this.items.get(compId)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async setPredilectionUsed(compId, predIdx) {
|
async setPredilectionUsed(compId, predIdx) {
|
||||||
let comp = this.data.items.get(compId)
|
let comp = this.items.get(compId)
|
||||||
let pred = duplicate(comp.data.data.predilections)
|
let pred = foundry.utils.duplicate(comp.system.predilections)
|
||||||
pred[predIdx].used = true
|
pred[predIdx].used = true
|
||||||
await this.updateEmbeddedDocuments('Item', [ {_id: compId, 'data.predilections': pred}])
|
await this.updateEmbeddedDocuments('Item', [{ _id: compId, 'system.predilections': pred }])
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
getCommonRollData(attrKey = undefined, compId = undefined) {
|
getInitiativeScore() {
|
||||||
|
return Number(this.system.attributs.adr.value) + Number(this.system.combat.initbonus)
|
||||||
|
}
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
getBestDefenseValue() {
|
||||||
|
let defenseList = this.items.filter(item => (item.type == "arme" || item.type == "bouclier") && item.system.equipped)
|
||||||
|
let maxDef = 0
|
||||||
|
let bestArme
|
||||||
|
for (let arme of defenseList) {
|
||||||
|
if (arme.type == "arme" && arme.system.isdefense) {
|
||||||
|
arme = this.prepareArme(arme)
|
||||||
|
}
|
||||||
|
if (arme.type == "bouclier") {
|
||||||
|
arme = this.prepareBouclier(arme)
|
||||||
|
}
|
||||||
|
if (arme.system.totalDefensif > maxDef) {
|
||||||
|
maxDef = arme.system.totalDefensif
|
||||||
|
bestArme = foundry.utils.duplicate(arme)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return bestArme
|
||||||
|
}
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
depenseRessources(arme) {
|
||||||
|
if (arme.system.nbressources && Number(arme.system.nbressources) > 0) {
|
||||||
|
if (this.type == "creature") {
|
||||||
|
let ressources = foundry.utils.duplicate(this.system.ressources)
|
||||||
|
if (Number(ressources.value) >= Number(arme.system.nbressources)) {
|
||||||
|
ressources.value -= arme.system.nbressources
|
||||||
|
this.update({ 'system.ressources': ressources })
|
||||||
|
ChatMessage.create({
|
||||||
|
content: "L'utilisation de la capacité/arme a dépensé " + arme.system.nbressources + " ressources.",
|
||||||
|
whisper: game.user._id,
|
||||||
|
user: game.user._id
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
ui.notifications.warn("Points de ressources insuffisants.")
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
ui.notifications.warn("Les ressources ne sont pas disponibles pour les personnages.")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
getCommonRollData(attrKey = undefined, compId = undefined, compName = undefined) {
|
||||||
let rollData = MournbladeUtility.getBasicRollData()
|
let rollData = MournbladeUtility.getBasicRollData()
|
||||||
rollData.alias = this.name
|
rollData.alias = this.name
|
||||||
rollData.actorImg = this.img
|
rollData.actorImg = this.img
|
||||||
rollData.actorId = this.id
|
rollData.actorId = this.id
|
||||||
|
rollData.tokenId = this.token?.id
|
||||||
rollData.img = this.img
|
rollData.img = this.img
|
||||||
rollData.canEclatDoubleD20 = this.canEclatDoubleD20()
|
rollData.canEclatDoubleD20 = this.canEclatDoubleD20()
|
||||||
rollData.doubleD20 = false
|
rollData.doubleD20 = false
|
||||||
rollData.attributs = MournbladeUtility.getAttributs()
|
rollData.attributs = MournbladeUtility.getAttributs()
|
||||||
|
rollData.selectDifficulte = true
|
||||||
|
rollData.malusSante = this.getStatusMalus() + this.system.sante.malusmanuel
|
||||||
|
rollData.malusAme = this.getAmeMalus()
|
||||||
|
rollData.modifiers = this.getModifiersForRoll()
|
||||||
|
rollData.desavantages = {}
|
||||||
|
rollData.isMonte = this.system.combat.monte
|
||||||
|
if (rollData.isMonte) {
|
||||||
|
rollData.config.attaques["chargecavalerie"] = "Charge de cavalerie"
|
||||||
|
}
|
||||||
|
|
||||||
if (attrKey) {
|
if (attrKey) {
|
||||||
rollData.attrKey = attrKey
|
rollData.attrKey = attrKey
|
||||||
if (attrKey != "tochoose") {
|
if (attrKey != "tochoose") {
|
||||||
rollData.actionImg = "systems/fvtt-mournblade/assets/icons/" + this.data.data.attributs[attrKey].labelnorm + ".webp"
|
rollData.actionImg = "systems/fvtt-mournblade/assets/icons/" + this.system.attributs[attrKey].labelnorm + ".webp"
|
||||||
rollData.attr = duplicate(this.data.data.attributs[attrKey])
|
rollData.attr = foundry.utils.duplicate(this.system.attributs[attrKey])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (compId) {
|
if (compId) {
|
||||||
rollData.competence = duplicate(this.data.items.get(compId) || {})
|
rollData.competence = foundry.utils.duplicate(this.items.get(compId) || {})
|
||||||
rollData.actionImg = rollData.competence.img
|
rollData.actionImg = rollData.competence?.img
|
||||||
|
}
|
||||||
|
if (compName) {
|
||||||
|
rollData.competence = foundry.utils.duplicate(this.items.find(item => item.name.toLowerCase() == compName.toLowerCase()) || {})
|
||||||
|
rollData.actionImg = rollData.competence?.img
|
||||||
}
|
}
|
||||||
return rollData
|
return rollData
|
||||||
}
|
}
|
||||||
@ -274,7 +598,6 @@ export class MournbladeActor extends Actor {
|
|||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async rollAttribut(attrKey) {
|
async rollAttribut(attrKey) {
|
||||||
let rollData = this.getCommonRollData(attrKey)
|
let rollData = this.getCommonRollData(attrKey)
|
||||||
console.log("RollDatra", rollData)
|
|
||||||
let rollDialog = await MournbladeRollDialog.create(this, rollData)
|
let rollDialog = await MournbladeRollDialog.create(this, rollData)
|
||||||
rollDialog.render(true)
|
rollDialog.render(true)
|
||||||
}
|
}
|
||||||
@ -287,4 +610,128 @@ export class MournbladeActor extends Actor {
|
|||||||
rollDialog.render(true)
|
rollDialog.render(true)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
async rollRune(runeId) {
|
||||||
|
let comp = this.items.find(comp => comp.type == "competence" && comp.name.toLowerCase() == "savoir : runes")
|
||||||
|
if (!comp) {
|
||||||
|
ui.notifications.warn("La compétence Savoirs : Runes n'a pas été trouvée, abandon.")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
let rollData = this.getCommonRollData("cla", undefined, "Savoir : Runes")
|
||||||
|
rollData.rune = foundry.utils.duplicate(this.items.get(runeId) || {})
|
||||||
|
rollData.difficulte = rollData.rune?.system?.seuil || 0
|
||||||
|
rollData.runemode = "prononcer"
|
||||||
|
rollData.runeame = 1
|
||||||
|
console.log("runeData", rollData)
|
||||||
|
let rollDialog = await MournbladeRollDialog.create(this, rollData)
|
||||||
|
rollDialog.render(true)
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
async rollArmeOffensif(armeId) {
|
||||||
|
let arme = this.items.get(armeId)
|
||||||
|
if (arme.type == "arme") {
|
||||||
|
arme = this.prepareArme(arme)
|
||||||
|
}
|
||||||
|
if (arme.type == "bouclier") {
|
||||||
|
arme = this.prepareBouclier(arme)
|
||||||
|
}
|
||||||
|
let rollData = this.getCommonRollData(arme.system.attrKey, arme.system.competence._id)
|
||||||
|
rollData.arme = arme
|
||||||
|
rollData.typeAttaque = "assaut"
|
||||||
|
rollData.typeCouvert = "aucun"
|
||||||
|
rollData.hasDesavantageBonus = true
|
||||||
|
rollData.visee = false
|
||||||
|
rollData.ciblecourt = false
|
||||||
|
rollData.cibleconsciente = false
|
||||||
|
// Do not display difficulte if defense weapon or distance
|
||||||
|
if (rollData.armeDefense || rollData.arme.system.isDistance) {
|
||||||
|
rollData.selectDifficulte = false
|
||||||
|
rollData.difficulte = (rollData.arme.system.isDistance) ? 0 : rollData.difficulte
|
||||||
|
}
|
||||||
|
console.log("ARME!", rollData)
|
||||||
|
this.depenseRessources(arme)
|
||||||
|
let rollDialog = await MournbladeRollDialog.create(this, rollData)
|
||||||
|
rollDialog.render(true)
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
async rollAssomer() {
|
||||||
|
let rollData = this.getCommonRollData("adr", undefined, "Filouterie")
|
||||||
|
rollData.typeAttaque = "assomer"
|
||||||
|
rollData.typeCouvert = "aucun"
|
||||||
|
rollData.hasDesavantageBonus = true
|
||||||
|
if (rollData.defender) {
|
||||||
|
rollData.selectDifficulte = false
|
||||||
|
rollData.difficulte = rollData.defender.system.attributs.tre.value * 2
|
||||||
|
}
|
||||||
|
console.log("Assomer!", rollData)
|
||||||
|
let rollDialog = await MournbladeRollDialog.create(this, rollData)
|
||||||
|
rollDialog.render(true)
|
||||||
|
}
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
async rollFuir() {
|
||||||
|
let rollData = this.getCommonRollData("adr", undefined, "Mouvements")
|
||||||
|
rollData.typeAttaque = "fuir"
|
||||||
|
rollData.typeCouvert = "aucun"
|
||||||
|
rollData.hasDesavantageBonus = true
|
||||||
|
if (rollData.defender) {
|
||||||
|
rollData.selectDifficulte = false
|
||||||
|
let comp = rollData.defender.items.find(it => it.type == "competence" && it.name.toLowerCase() == "mouvements")
|
||||||
|
rollData.difficulte = rollData.defender.system.attributs.adr.value + ((comp) ? comp.system.niveau : rollData.defender.system.attributs.adr.value)
|
||||||
|
}
|
||||||
|
console.log("Fuir!", rollData)
|
||||||
|
let rollDialog = await MournbladeRollDialog.create(this, rollData)
|
||||||
|
rollDialog.render(true)
|
||||||
|
}
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
async rollImmobiliser() {
|
||||||
|
let rollData = this.getCommonRollData("pui", undefined, "Mêlée")
|
||||||
|
rollData.typeAttaque = "immobiliser"
|
||||||
|
rollData.typeCouvert = "aucun"
|
||||||
|
rollData.hasDesavantageBonus = true
|
||||||
|
if (rollData.defender) {
|
||||||
|
rollData.selectDifficulte = false
|
||||||
|
rollData.difficulte = rollData.defenderCombatValues.defenseTotal
|
||||||
|
}
|
||||||
|
console.log("Immobiliser!", rollData)
|
||||||
|
let rollDialog = await MournbladeRollDialog.create(this, rollData)
|
||||||
|
rollDialog.render(true)
|
||||||
|
}
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
async rollArmeSpecial(armeId) {
|
||||||
|
let arme = this.items.get(armeId)
|
||||||
|
if (arme) {
|
||||||
|
MournbladeUtility.createChatWithRollMode("GM", {
|
||||||
|
content: await renderTemplate(`systems/fvtt-mournblade/templates/chat-display-description.html`, arme)
|
||||||
|
}, arme)
|
||||||
|
this.depenseRessources(arme)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
async rollArmeDegats(armeId) {
|
||||||
|
let arme = this.items.get(armeId)
|
||||||
|
if (arme.type == "arme") {
|
||||||
|
arme = this.prepareArme(arme)
|
||||||
|
}
|
||||||
|
if (arme.type == "bouclier") {
|
||||||
|
arme = this.prepareBouclier(arme)
|
||||||
|
}
|
||||||
|
rollData.degatsFormula = arme.system.totalDegats
|
||||||
|
let roll = new Roll(arme.system.totalDegats).roll({ async: false })
|
||||||
|
await MournbladeUtility.showDiceSoNice(roll, game.settings.get("core", "rollMode"));
|
||||||
|
let rollData = {
|
||||||
|
arme: arme,
|
||||||
|
finalResult: roll.total,
|
||||||
|
alias: this.name,
|
||||||
|
actorImg: this.img,
|
||||||
|
actorId: this.id,
|
||||||
|
actionImg: arme.img,
|
||||||
|
}
|
||||||
|
MournbladeUtility.createChatWithRollMode(rollData.alias, {
|
||||||
|
content: await renderTemplate(`systems/fvtt-mournblade/templates/chat-degats-result.html`, rollData)
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -9,8 +9,11 @@ export class MournbladeCombat extends Combat {
|
|||||||
for (let cId = 0; cId < ids.length; cId++) {
|
for (let cId = 0; cId < ids.length; cId++) {
|
||||||
const c = this.combatants.get(ids[cId]);
|
const c = this.combatants.get(ids[cId]);
|
||||||
let id = c._id || c.id;
|
let id = c._id || c.id;
|
||||||
let initBonus = c.actor ? c.actor.getInitiativeScore( this.id, id ) : -1;
|
let initBonus = c.actor ? c.actor.getInitiativeScore() : 0
|
||||||
await this.updateEmbeddedDocuments("Combatant", [ { _id: id, initiative: initBonus } ]);
|
let roll = new Roll("1d10 + "+initBonus).roll({ async: false})
|
||||||
|
await MournbladeUtility.showDiceSoNice(roll, game.settings.get("core", "rollMode"))
|
||||||
|
//console.log("Init bonus", initBonus, roll.total)
|
||||||
|
await this.updateEmbeddedDocuments("Combatant", [ { _id: id, initiative: roll.total } ]);
|
||||||
}
|
}
|
||||||
|
|
||||||
return this;
|
return this;
|
||||||
|
81
modules/mournblade-config.js
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
|
||||||
|
export class MournbladeConfig {
|
||||||
|
|
||||||
|
static getConfig() {
|
||||||
|
let MOURNBLADE_CONFIG = {
|
||||||
|
|
||||||
|
attaques: {
|
||||||
|
assaut: game.i18n.localize("MNBL.assaut"),
|
||||||
|
precise: game.i18n.localize("MNBL.preciseattack"),
|
||||||
|
feinte: game.i18n.localize("MNBL.feint"),
|
||||||
|
coupbas: game.i18n.localize("MNBL.dirtyattack"),
|
||||||
|
charger: game.i18n.localize("MNBL.charge"),
|
||||||
|
contenir: game.i18n.localize("MNBL.contain"),
|
||||||
|
desarmer: game.i18n.localize("MNBL.disarm")
|
||||||
|
},
|
||||||
|
couverts: {
|
||||||
|
aucun: { name: game.i18n.localize("MNBL.none"), value: 0 },
|
||||||
|
rondache: { name: game.i18n.localize("MNBL.lightcover"), value: -2 },
|
||||||
|
pavois: { name: game.i18n.localize("MNBL.mediumcover"), value: -5 },
|
||||||
|
complet: { name: game.i18n.localize("MNBL.heavycover"), value: -10 },
|
||||||
|
},
|
||||||
|
modifierTypes: {
|
||||||
|
aucun: { name: game.i18n.localize("MNBL.none"), value: 0 },
|
||||||
|
roll: { name: game.i18n.localize("MNBL.roll"), value: 0 },
|
||||||
|
degats: { name: game.i18n.localize("MNBL.damage"), value: 0 },
|
||||||
|
defense: { name: game.i18n.localize("MNBL.defensecapacity"), value: 0 },
|
||||||
|
attaque: { name: game.i18n.localize("MNBL.attackcapacity"), value: 0 },
|
||||||
|
},
|
||||||
|
listeNiveau: {
|
||||||
|
},
|
||||||
|
listeNiveauCreature: {
|
||||||
|
},
|
||||||
|
listePortees: {
|
||||||
|
"10": game.i18n.localize("MNBL.lessthanshort"),
|
||||||
|
"15": game.i18n.localize("MNBL.shortmore"),
|
||||||
|
"20": game.i18n.localize("MNBL.mediummore"),
|
||||||
|
"25": game.i18n.localize("MNBL.longmore")
|
||||||
|
},
|
||||||
|
modificateurOptions: {},
|
||||||
|
pointsAmeOptions: {},
|
||||||
|
difficulteOptions: {
|
||||||
|
"0": game.i18n.localize("MNBL.noneunknwon"),
|
||||||
|
"5": game.i18n.localize("MNBL.easy"),
|
||||||
|
"10": game.i18n.localize("MNBL.medium"),
|
||||||
|
"15": game.i18n.localize("MNBL.hard"),
|
||||||
|
"20": game.i18n.localize("MNBL.hazardous"),
|
||||||
|
"25": game.i18n.localize("MNBL.insane"),
|
||||||
|
"30": game.i18n.localize("MNBL.puremadness")
|
||||||
|
},
|
||||||
|
attributs: {
|
||||||
|
adr: game.i18n.localize("Adresse"), pui: game.i18n.localize("Puissance"),
|
||||||
|
cla: game.i18n.localize("Clairvoyance"), pre: game.i18n.localize("Présence"), tre: game.i18n.localize("Trempe")
|
||||||
|
},
|
||||||
|
lancementRuneOptions: {
|
||||||
|
prononcer: game.i18n.localize("MNBL.pronouncerune"),
|
||||||
|
inscrire: game.i18n.localize("MNBL.tracerune")
|
||||||
|
},
|
||||||
|
effetRuneOptions: {
|
||||||
|
prononcee: game.i18n.localize("MNBL.pronounced"),
|
||||||
|
inscrite: game.i18n.localize("MNBL.traced")
|
||||||
|
},
|
||||||
|
typeArmeOptions: {
|
||||||
|
contact: game.i18n.localize("MNBL.meleeweapon"),
|
||||||
|
contactjet: game.i18n.localize("MNBL.meleethrowweapon"),
|
||||||
|
jet: game.i18n.localize("MNBL.throwweapon"),
|
||||||
|
tir: game.i18n.localize("MNBL.shootweapon"),
|
||||||
|
special: game.i18n.localize("MNBL.specialweapon")
|
||||||
|
},
|
||||||
|
allegeanceOptions: {
|
||||||
|
tous: game.i18n.localize("MNBL.all"),
|
||||||
|
chaos: game.i18n.localize("MNBL.chaos"),
|
||||||
|
loi: game.i18n.localize("MNBL.law"),
|
||||||
|
betes: game.i18n.localize("MNBL.beastslords"),
|
||||||
|
elementaires: game.i18n.localize("MNBL.elementslords")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return MOURNBLADE_CONFIG;
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
25
modules/mournblade-creature-sheet.js
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
/**
|
||||||
|
* Extend the basic ActorSheet with some very simple modifications
|
||||||
|
* @extends {ActorSheet}
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { MournbladeActorSheet } from "./mournblade-actor-sheet.js";
|
||||||
|
import { MournbladeUtility } from "./mournblade-utility.js";
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
export class MournbladeCreatureSheet extends MournbladeActorSheet {
|
||||||
|
|
||||||
|
/** @override */
|
||||||
|
static get defaultOptions() {
|
||||||
|
|
||||||
|
return foundry.utils.mergeObject(super.defaultOptions, {
|
||||||
|
classes: ["fvtt-mournblade", "sheet", "actor"],
|
||||||
|
template: "systems/fvtt-mournblade/templates/creature-sheet.html",
|
||||||
|
width: 640,
|
||||||
|
height: 720,
|
||||||
|
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "stats" }],
|
||||||
|
dragDrop: [{ dragSelector: ".item-list .item", dropSelector: null }],
|
||||||
|
editScore: false
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
@ -9,7 +9,7 @@ export class MournbladeItemSheet extends ItemSheet {
|
|||||||
/** @override */
|
/** @override */
|
||||||
static get defaultOptions() {
|
static get defaultOptions() {
|
||||||
|
|
||||||
return mergeObject(super.defaultOptions, {
|
return foundry.utils.mergeObject(super.defaultOptions, {
|
||||||
classes: ["fvtt-mournblade", "sheet", "item"],
|
classes: ["fvtt-mournblade", "sheet", "item"],
|
||||||
template: "systems/fvtt-mournblade/templates/item-sheet.html",
|
template: "systems/fvtt-mournblade/templates/item-sheet.html",
|
||||||
dragDrop: [{ dragSelector: null, dropSelector: null }],
|
dragDrop: [{ dragSelector: null, dropSelector: null }],
|
||||||
@ -48,9 +48,8 @@ export class MournbladeItemSheet extends ItemSheet {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async getData() {
|
async getData() {
|
||||||
const objectData = MournbladeUtility.data(this.object);
|
const objectData = foundry.utils.duplicate(this.object)
|
||||||
|
let itemData = objectData
|
||||||
let itemData = foundry.utils.deepClone(MournbladeUtility.templateData(this.object));
|
|
||||||
let formData = {
|
let formData = {
|
||||||
title: this.title,
|
title: this.title,
|
||||||
id: this.id,
|
id: this.id,
|
||||||
@ -60,15 +59,20 @@ export class MournbladeItemSheet extends ItemSheet {
|
|||||||
editable: this.isEditable,
|
editable: this.isEditable,
|
||||||
cssClass: this.isEditable ? "editable" : "locked",
|
cssClass: this.isEditable ? "editable" : "locked",
|
||||||
attributs: MournbladeUtility.getAttributs(),
|
attributs: MournbladeUtility.getAttributs(),
|
||||||
data: itemData,
|
data: itemData.system,
|
||||||
limited: this.object.limited,
|
limited: this.object.limited,
|
||||||
options: this.options,
|
options: this.options,
|
||||||
owner: this.document.isOwner,
|
owner: this.document.isOwner,
|
||||||
|
description: await TextEditor.enrichHTML(this.object.system.description, {async: true}),
|
||||||
|
config: game.system.mournblade.config,
|
||||||
mr: (this.object.type == 'specialisation'),
|
mr: (this.object.type == 'specialisation'),
|
||||||
isGM: game.user.isGM
|
isGM: game.user.isGM
|
||||||
}
|
}
|
||||||
|
|
||||||
this.options.editable = !(this.object.data.origin == "embeddedItem");
|
if ( objectData.type == "don") {
|
||||||
|
formData.sacrifice = await TextEditor.enrichHTML(this.object.system.sacrifice, {async: true})
|
||||||
|
}
|
||||||
|
//this.options.editable = !(this.object.origin == "embeddedItem");
|
||||||
console.log("ITEM DATA", formData, this);
|
console.log("ITEM DATA", formData, this);
|
||||||
return formData;
|
return formData;
|
||||||
}
|
}
|
||||||
@ -87,7 +91,7 @@ export class MournbladeItemSheet extends ItemSheet {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
postItem() {
|
postItem() {
|
||||||
let chatData = duplicate(MournbladeUtility.data(this.item));
|
let chatData = foundry.utils.duplicate(MournbladeUtility.data(this.item));
|
||||||
if (this.actor) {
|
if (this.actor) {
|
||||||
chatData.actor = { id: this.actor.id };
|
chatData.actor = { id: this.actor.id };
|
||||||
}
|
}
|
||||||
@ -130,28 +134,28 @@ export class MournbladeItemSheet extends ItemSheet {
|
|||||||
html.find('.edit-prediction').change(ev => {
|
html.find('.edit-prediction').change(ev => {
|
||||||
const li = $(ev.currentTarget).parents(".prediction-item")
|
const li = $(ev.currentTarget).parents(".prediction-item")
|
||||||
let index = li.data("prediction-index")
|
let index = li.data("prediction-index")
|
||||||
let pred = duplicate(this.object.data.data.predilections)
|
let pred = foundry.utils.duplicate(this.object.system.predilections)
|
||||||
pred[index].name = ev.currentTarget.value
|
pred[index].name = ev.currentTarget.value
|
||||||
this.object.update( { 'data.predilections': pred })
|
this.object.update( { 'system.predilections': pred })
|
||||||
})
|
})
|
||||||
html.find('.delete-prediction').click(ev => {
|
html.find('.delete-prediction').click(ev => {
|
||||||
const li = $(ev.currentTarget).parents(".prediction-item")
|
const li = $(ev.currentTarget).parents(".prediction-item")
|
||||||
let index = li.data("prediction-index")
|
let index = li.data("prediction-index")
|
||||||
let pred = duplicate(this.object.data.data.predilections)
|
let pred = foundry.utils.duplicate(this.object.system.predilections)
|
||||||
pred.splice(index,1)
|
pred.splice(index,1)
|
||||||
this.object.update( { 'data.predilections': pred })
|
this.object.update( { 'system.predilections': pred })
|
||||||
})
|
})
|
||||||
html.find('.use-prediction').change(ev => {
|
html.find('.use-prediction').change(ev => {
|
||||||
const li = $(ev.currentTarget).parents(".prediction-item")
|
const li = $(ev.currentTarget).parents(".prediction-item")
|
||||||
let index = li.data("prediction-index")
|
let index = li.data("prediction-index")
|
||||||
let pred = duplicate(this.object.data.data.predilections)
|
let pred = foundry.utils.duplicate(this.object.system.predilections)
|
||||||
pred[index].used = ev.currentTarget.checked
|
pred[index].used = ev.currentTarget.checked
|
||||||
this.object.update( { 'data.predilections': pred })
|
this.object.update( { 'system.predilections': pred })
|
||||||
})
|
})
|
||||||
html.find('#add-predilection').click(ev => {
|
html.find('#add-predilection').click(ev => {
|
||||||
let pred = duplicate(this.object.data.data.predilections)
|
let pred = foundry.utils.duplicate(this.object.system.predilections)
|
||||||
pred.push( { name: "Nouvelle prédilection", used: false })
|
pred.push( { name: "Nouvelle prédilection", id: randomID(), used: false })
|
||||||
this.object.update( { 'data.predilections': pred })
|
this.object.update( { 'system.predilections': pred })
|
||||||
})
|
})
|
||||||
// Update Inventory Item
|
// Update Inventory Item
|
||||||
html.find('.item-delete').click(ev => {
|
html.find('.item-delete').click(ev => {
|
||||||
|
@ -11,8 +11,10 @@ export const defaultItemImg = {
|
|||||||
predilection: "systems/fvtt-mournblade/assets/icons/predilection.webp",
|
predilection: "systems/fvtt-mournblade/assets/icons/predilection.webp",
|
||||||
protection: "systems/fvtt-mournblade/assets/icons/protection.webp",
|
protection: "systems/fvtt-mournblade/assets/icons/protection.webp",
|
||||||
rune: "systems/fvtt-mournblade/assets/icons/rune.webp",
|
rune: "systems/fvtt-mournblade/assets/icons/rune.webp",
|
||||||
|
runeeffect: "systems/fvtt-mournblade/assets/icons/rune.webp",
|
||||||
tendance: "systems/fvtt-mournblade/assets/icons/tendance.webp",
|
tendance: "systems/fvtt-mournblade/assets/icons/tendance.webp",
|
||||||
traitchaotique: "systems/fvtt-mournblade/assets/icons/traitchaotique.webp",
|
traitchaotique: "systems/fvtt-mournblade/assets/icons/traitchaotique.webp",
|
||||||
|
traitespece: "systems/fvtt-mournblade/assets/icons/capacite.webp"
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -11,10 +11,11 @@
|
|||||||
import { MournbladeActor } from "./mournblade-actor.js";
|
import { MournbladeActor } from "./mournblade-actor.js";
|
||||||
import { MournbladeItemSheet } from "./mournblade-item-sheet.js";
|
import { MournbladeItemSheet } from "./mournblade-item-sheet.js";
|
||||||
import { MournbladeActorSheet } from "./mournblade-actor-sheet.js";
|
import { MournbladeActorSheet } from "./mournblade-actor-sheet.js";
|
||||||
//import { MournbladeNPCSheet } from "./mournblade-npc-sheet.js";
|
import { MournbladeCreatureSheet } from "./mournblade-creature-sheet.js";
|
||||||
import { MournbladeUtility } from "./mournblade-utility.js";
|
import { MournbladeUtility } from "./mournblade-utility.js";
|
||||||
import { MournbladeCombat } from "./mournblade-combat.js";
|
import { MournbladeCombat } from "./mournblade-combat.js";
|
||||||
import { MournbladeItem } from "./mournblade-item.js";
|
import { MournbladeItem } from "./mournblade-item.js";
|
||||||
|
import { MournbladeConfig } from "./mournblade-config.js";
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
/* Foundry VTT Initialization */
|
/* Foundry VTT Initialization */
|
||||||
@ -45,13 +46,15 @@ Hooks.once("init", async function () {
|
|||||||
CONFIG.Combat.documentClass = MournbladeCombat
|
CONFIG.Combat.documentClass = MournbladeCombat
|
||||||
CONFIG.Actor.documentClass = MournbladeActor
|
CONFIG.Actor.documentClass = MournbladeActor
|
||||||
CONFIG.Item.documentClass = MournbladeItem
|
CONFIG.Item.documentClass = MournbladeItem
|
||||||
game.system.mournblade = { }
|
game.system.mournblade = {
|
||||||
|
config : MournbladeConfig.getConfig(),
|
||||||
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
// Register sheet application classes
|
// Register sheet application classes
|
||||||
Actors.unregisterSheet("core", ActorSheet);
|
Actors.unregisterSheet("core", ActorSheet);
|
||||||
Actors.registerSheet("fvtt-mournblade", MournbladeActorSheet, { types: ["personnage"], makeDefault: true })
|
Actors.registerSheet("fvtt-mournblade", MournbladeActorSheet, { types: ["personnage"], makeDefault: true })
|
||||||
//Actors.registerSheet("fvtt-mournblade", MournbladeNPCSheet, { types: ["npc"], makeDefault: false });
|
Actors.registerSheet("fvtt-mournblade", MournbladeCreatureSheet, { types: ["creature"], makeDefault: true })
|
||||||
|
|
||||||
Items.unregisterSheet("core", ItemSheet);
|
Items.unregisterSheet("core", ItemSheet);
|
||||||
Items.registerSheet("fvtt-mournblade", MournbladeItemSheet, { makeDefault: true })
|
Items.registerSheet("fvtt-mournblade", MournbladeItemSheet, { makeDefault: true })
|
||||||
@ -67,14 +70,32 @@ function welcomeMessage() {
|
|||||||
whisper: [game.user.id],
|
whisper: [game.user.id],
|
||||||
content: `<div id="welcome-message-Mournblade"><span class="rdd-roll-part">
|
content: `<div id="welcome-message-Mournblade"><span class="rdd-roll-part">
|
||||||
<strong>Bienvenue dans les Jeunes Royaumes de Mournblade !</strong>
|
<strong>Bienvenue dans les Jeunes Royaumes de Mournblade !</strong>
|
||||||
|
<p>Les livres de Mournblade sont nécessaires pour jouer : https://www.titam-france.fr</p>
|
||||||
|
<p>Mournblade est jeu de rôle publié par Titam France/Sombres projets, tout les droits leur appartiennent.</p>
|
||||||
|
<p>Système développé par LeRatierBretonnien, support sur le <a href="https://discord.gg/pPSDNJk">Discord FR de Foundry</a>.</p>
|
||||||
` });
|
` });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
async function importDefaultScene() {
|
||||||
|
let exists = game.scenes.find(j => j.name == "Accueil");
|
||||||
|
if (!exists) {
|
||||||
|
const scenes = await MournbladeUtility.loadCompendium("fvtt-mournblade.scenes")
|
||||||
|
let newDocuments = scenes.filter(i => i.name == "Accueil");
|
||||||
|
await game.scenes.documentClass.create(newDocuments);
|
||||||
|
game.scenes.find(i => i.name == "Accueil").activate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
/* Foundry VTT Initialization */
|
/* Foundry VTT Initialization */
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
Hooks.once("ready", function () {
|
Hooks.once("ready", function () {
|
||||||
|
|
||||||
|
game.system.mournblade = {
|
||||||
|
config : MournbladeConfig.getConfig(),
|
||||||
|
}
|
||||||
|
|
||||||
MournbladeUtility.ready();
|
MournbladeUtility.ready();
|
||||||
// User warning
|
// User warning
|
||||||
if (!game.user.isGM && game.user.character == undefined) {
|
if (!game.user.isGM && game.user.character == undefined) {
|
||||||
@ -84,13 +105,22 @@ Hooks.once("ready", function () {
|
|||||||
user: game.user._id
|
user: game.user._id
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
if (!game.user.isGM && game.user.character && !game.user.character.prototypeToken.actorLink) {
|
||||||
// CSS patch for v9
|
ui.notifications.info("Le token de du joueur n'est pas connecté à l'acteur !");
|
||||||
if (game.version) {
|
ChatMessage.create({
|
||||||
let sidebar = document.getElementById("sidebar");
|
content: "<b>ATTENTION</b> Le token du joueur " + game.user.name + " n'est pas connecté à l'acteur !",
|
||||||
sidebar.style.width = "min-content";
|
user: game.user._id
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
import("https://www.uberwald.me/fvtt_appcount/count-class-ready.js").then(moduleCounter=>{
|
||||||
|
console.log("ClassCounter loaded", moduleCounter)
|
||||||
|
moduleCounter.ClassCounter.registerUsageCount()
|
||||||
|
}).catch(err=>
|
||||||
|
console.log("No stats available, giving up.")
|
||||||
|
)
|
||||||
|
|
||||||
|
importDefaultScene();
|
||||||
welcomeMessage();
|
welcomeMessage();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ export class MournbladeRollDialog extends Dialog {
|
|||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static async create(actor, rollData ) {
|
static async create(actor, rollData ) {
|
||||||
|
|
||||||
let options = { classes: ["MournbladeDialog"], width: 620, height: 380, 'z-index': 99999 };
|
let options = { classes: ["MournbladeDialog"], width: 340, height: 'fit-content', 'z-index': 99999 };
|
||||||
let html = await renderTemplate('systems/fvtt-mournblade/templates/roll-dialog-generic.html', rollData);
|
let html = await renderTemplate('systems/fvtt-mournblade/templates/roll-dialog-generic.html', rollData);
|
||||||
|
|
||||||
return new MournbladeRollDialog(actor, rollData, html, options );
|
return new MournbladeRollDialog(actor, rollData, html, options );
|
||||||
@ -52,22 +52,69 @@ export class MournbladeRollDialog extends Dialog {
|
|||||||
activateListeners(html) {
|
activateListeners(html) {
|
||||||
super.activateListeners(html);
|
super.activateListeners(html);
|
||||||
|
|
||||||
var dialog = this;
|
|
||||||
function onLoad() {
|
function onLoad() {
|
||||||
}
|
}
|
||||||
$(function () { onLoad(); });
|
$(function () { onLoad(); });
|
||||||
|
|
||||||
|
html.find('.apply-modifier').change(async (event) => {
|
||||||
|
let modifierIdx = $(event.currentTarget).data("modifier-idx")
|
||||||
|
let modifier = this.rollData.modifiers[modifierIdx]
|
||||||
|
modifier.system.apply = event.currentTarget.checked
|
||||||
|
})
|
||||||
|
|
||||||
html.find('#modificateur').change(async (event) => {
|
html.find('#modificateur').change(async (event) => {
|
||||||
this.rollData.modificateur = Number(event.currentTarget.value)
|
this.rollData.modificateur = Number(event.currentTarget.value)
|
||||||
})
|
})
|
||||||
|
html.find('#typeAttaque').change(async (event) => {
|
||||||
|
this.rollData.typeAttaque = String(event.currentTarget.value)
|
||||||
|
})
|
||||||
html.find('#difficulte').change(async (event) => {
|
html.find('#difficulte').change(async (event) => {
|
||||||
this.rollData.difficulte = Number(event.currentTarget.value)
|
this.rollData.difficulte = Number(event.currentTarget.value)
|
||||||
})
|
})
|
||||||
html.find('#attrKey').change(async (event) => {
|
html.find('#attrKey').change(async (event) => {
|
||||||
this.rollData.attrKey = String(event.currentTarget.value)
|
this.rollData.attrKey = String(event.currentTarget.value)
|
||||||
})
|
})
|
||||||
|
html.find('#runemode').change(async (event) => {
|
||||||
|
this.rollData.runemode = String(event.currentTarget.value)
|
||||||
|
})
|
||||||
|
html.find('#runeame').change(async (event) => {
|
||||||
|
this.rollData.runeame = Number(event.currentTarget.value)
|
||||||
|
})
|
||||||
|
html.find('#isMonte').change(async (event) => {
|
||||||
|
this.rollData.desavantages.isMonte = event.currentTarget.checked
|
||||||
|
})
|
||||||
|
|
||||||
|
html.find('#cibleausol').change(async (event) => {
|
||||||
|
this.rollData.desavantages.cibleausol = event.currentTarget.checked
|
||||||
|
})
|
||||||
|
html.find('#cibledesarmee').change(async (event) => {
|
||||||
|
this.rollData.desavantages.cibledesarmee = event.currentTarget.checked
|
||||||
|
})
|
||||||
|
html.find('#ciblerestreint').change(async (event) => {
|
||||||
|
this.rollData.desavantages.ciblerestreint = event.currentTarget.checked
|
||||||
|
})
|
||||||
|
html.find('#cibleimmobilisée').change(async (event) => {
|
||||||
|
this.rollData.desavantages.cibleimmobilisée = event.currentTarget.checked
|
||||||
|
})
|
||||||
|
html.find('#ciblesurplomb').change(async (event) => {
|
||||||
|
this.rollData.desavantages.ciblesurplomb = event.currentTarget.checked
|
||||||
|
})
|
||||||
|
|
||||||
html.find('#doubleD20').change(async (event) => {
|
html.find('#doubleD20').change(async (event) => {
|
||||||
this.rollData.doubleD20 = event.currentTarget.checked
|
this.rollData.doubleD20 = event.currentTarget.checked
|
||||||
})
|
})
|
||||||
|
html.find('#visee').change(async (event) => {
|
||||||
|
this.rollData.visee = event.currentTarget.checked
|
||||||
|
})
|
||||||
|
html.find('#cibleconsciente').change(async (event) => {
|
||||||
|
this.rollData.cibleconsciente = event.currentTarget.checked
|
||||||
|
})
|
||||||
|
html.find('#ciblecourt').change(async (event) => {
|
||||||
|
this.rollData.ciblecourt = event.currentTarget.checked
|
||||||
|
})
|
||||||
|
html.find('#typeCouvert').change(async (event) => {
|
||||||
|
this.rollData.typeCouvert = String(event.currentTarget.value)
|
||||||
|
})
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -10,13 +10,11 @@ export class MournbladeUtility {
|
|||||||
static async init() {
|
static async init() {
|
||||||
Hooks.on('renderChatLog', (log, html, data) => MournbladeUtility.chatListeners(html))
|
Hooks.on('renderChatLog', (log, html, data) => MournbladeUtility.chatListeners(html))
|
||||||
Hooks.on("getChatLogEntryContext", (html, options) => MournbladeUtility.chatRollMenu(html, options))
|
Hooks.on("getChatLogEntryContext", (html, options) => MournbladeUtility.chatRollMenu(html, options))
|
||||||
|
Hooks.on('renderChatMessage', (message, html, data) => MournbladeUtility.chatMessageHandler(message, html, data))
|
||||||
|
|
||||||
Hooks.on("getCombatTrackerEntryContext", (html, options) => {
|
Hooks.on("getCombatTrackerEntryContext", (html, options) => {
|
||||||
MournbladeUtility.pushInitiativeOptions(html, options);
|
MournbladeUtility.pushInitiativeOptions(html, options);
|
||||||
})
|
})
|
||||||
Hooks.on("dropCanvasData", (canvas, data) => {
|
|
||||||
MournbladeUtility.dropItemOnToken(canvas, data)
|
|
||||||
});
|
|
||||||
|
|
||||||
this.rollDataStore = {}
|
this.rollDataStore = {}
|
||||||
this.defenderStore = {}
|
this.defenderStore = {}
|
||||||
@ -46,19 +44,28 @@ export class MournbladeUtility {
|
|||||||
})
|
})
|
||||||
|
|
||||||
}
|
}
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
static getActorFromRollData(rollData) {
|
||||||
|
let actor = game.actors.get(rollData.actorId)
|
||||||
|
if (rollData.tokenId) {
|
||||||
|
let token = canvas.tokens.placeables.find(t => t.id == rollData.tokenId)
|
||||||
|
if (token) {
|
||||||
|
actor = token.actor
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return actor
|
||||||
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static getModificateurOptions() {
|
static sortArrayObjectsByName(myArray) {
|
||||||
let opt = []
|
myArray.sort((a, b) => {
|
||||||
for (let i = -15; i <= 15; i++) {
|
return a.name.localeCompare(b.name);
|
||||||
opt.push(`<option value="${i}">${i}</option>`)
|
})
|
||||||
}
|
|
||||||
return opt.concat("\n")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static getAttributs() {
|
static getAttributs() {
|
||||||
return { adr: "Adresse", pui: "Puissance", cla: "Clairvoyance", pre: "Présence", tre: "Trempe" }
|
return game.system.mournblade.config.attributs
|
||||||
}
|
}
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static pushInitiativeOptions(html, options) {
|
static pushInitiativeOptions(html, options) {
|
||||||
@ -73,6 +80,11 @@ export class MournbladeUtility {
|
|||||||
static async ready() {
|
static async ready() {
|
||||||
const skills = await MournbladeUtility.loadCompendium("fvtt-mournblade.skills")
|
const skills = await MournbladeUtility.loadCompendium("fvtt-mournblade.skills")
|
||||||
this.skills = skills.map(i => i.toObject())
|
this.skills = skills.map(i => i.toObject())
|
||||||
|
|
||||||
|
game.system.mournblade.config.listeNiveauSkill = MournbladeUtility.createDirectOptionList(0, 10)
|
||||||
|
game.system.mournblade.config.listeNiveauCreature = MournbladeUtility.createDirectOptionList(0, 35)
|
||||||
|
game.system.mournblade.config.modificateurOptions = MournbladeUtility.createArrayOptionList(-15, 15)
|
||||||
|
game.system.mournblade.config.pointsAmeOptions = MournbladeUtility.createDirectOptionList(0, 20)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
@ -91,6 +103,27 @@ export class MournbladeUtility {
|
|||||||
static getOptionsStatusList() {
|
static getOptionsStatusList() {
|
||||||
return this.optionsStatusList;
|
return this.optionsStatusList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
static getPredilection(comp, predIdx) {
|
||||||
|
let pred = foundry.utils.duplicate(comp.system.predilections)
|
||||||
|
return foundry.utils.duplicate(pred[predIdx] || { name: "Error!" })
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
static async chatMessageHandler(message, html, data) {
|
||||||
|
const chatCard = html.find('.action-section')
|
||||||
|
if (chatCard.length > 0) {
|
||||||
|
// If the user is the message author or the actor owner, proceed
|
||||||
|
const actor = game.actors.get(data.message.speaker.actor)
|
||||||
|
// DEBUG : console.log("FOUND 1!!! ", actor, data.message)
|
||||||
|
if (actor?.isOwner || game.user.isGM) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
chatCard.hide()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static async chatListeners(html) {
|
static async chatListeners(html) {
|
||||||
|
|
||||||
@ -99,10 +132,30 @@ export class MournbladeUtility {
|
|||||||
let messageId = MournbladeUtility.findChatMessageId(event.currentTarget)
|
let messageId = MournbladeUtility.findChatMessageId(event.currentTarget)
|
||||||
let message = game.messages.get(messageId)
|
let message = game.messages.get(messageId)
|
||||||
let rollData = message.getFlag("world", "mournblade-roll")
|
let rollData = message.getFlag("world", "mournblade-roll")
|
||||||
let actor = game.actors.get(rollData.actorId)
|
let actor = MournbladeUtility.getActorFromRollData(rollData)
|
||||||
await actor.setPredilectionUsed(rollData.competence._id, predIdx)
|
await actor.setPredilectionUsed(rollData.competence._id, predIdx)
|
||||||
rollData.competence = duplicate( actor.getCompetence(rollData.competence._id) )
|
rollData.competence = foundry.utils.duplicate(actor.getCompetence(rollData.competence._id))
|
||||||
MournbladeUtility.rollMournblade(rollData)
|
rollData.predilectionUsed = MournbladeUtility.getPredilection(rollData.competence, predIdx)
|
||||||
|
await MournbladeUtility.rollMournblade(rollData)
|
||||||
|
})
|
||||||
|
|
||||||
|
html.on("click", '.arme-roll-degats', async event => {
|
||||||
|
let messageId = MournbladeUtility.findChatMessageId(event.currentTarget)
|
||||||
|
let message = game.messages.get(messageId)
|
||||||
|
let rollData = message.getFlag("world", "mournblade-roll")
|
||||||
|
MournbladeUtility.rollDegatsFromAttaque(rollData)
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
html.on("click", '.arme-apply-degats', async event => {
|
||||||
|
let messageId = MournbladeUtility.findChatMessageId(event.currentTarget)
|
||||||
|
let message = game.messages.get(messageId)
|
||||||
|
let rollData = message.getFlag("world", "mournblade-roll")
|
||||||
|
if (game.user.isGM) {
|
||||||
|
MournbladeUtility.applyDegatsFromAttaque(rollData)
|
||||||
|
} else {
|
||||||
|
game.socket.emit("system.fvtt-mournblade", { name: "msg_apply_damage", data: { rolLData: rollData } })
|
||||||
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -111,8 +164,7 @@ export class MournbladeUtility {
|
|||||||
|
|
||||||
const templatePaths = [
|
const templatePaths = [
|
||||||
'systems/fvtt-mournblade/templates/editor-notes-gm.html',
|
'systems/fvtt-mournblade/templates/editor-notes-gm.html',
|
||||||
'systems/fvtt-mournblade/templates/partial-item-description.html',
|
'systems/fvtt-mournblade/templates/partial-item-description.html'
|
||||||
'systems/fvtt-mournblade/templates/partial-list-niveau.html'
|
|
||||||
]
|
]
|
||||||
return loadTemplates(templatePaths);
|
return loadTemplates(templatePaths);
|
||||||
}
|
}
|
||||||
@ -146,19 +198,6 @@ export class MournbladeUtility {
|
|||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
|
||||||
static templateData(it) {
|
|
||||||
return MournbladeUtility.data(it)?.data ?? {}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
|
||||||
static data(it) {
|
|
||||||
if (it instanceof Actor || it instanceof Item || it instanceof Combatant) {
|
|
||||||
return it.data;
|
|
||||||
}
|
|
||||||
return it;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static createDirectOptionList(min, max) {
|
static createDirectOptionList(min, max) {
|
||||||
let options = {};
|
let options = {};
|
||||||
@ -167,12 +206,10 @@ export class MournbladeUtility {
|
|||||||
}
|
}
|
||||||
return options;
|
return options;
|
||||||
}
|
}
|
||||||
|
static createArrayOptionList(min, max) {
|
||||||
/* -------------------------------------------- */
|
let options = [];
|
||||||
static buildListOptions(min, max) {
|
|
||||||
let options = ""
|
|
||||||
for (let i = min; i <= max; i++) {
|
for (let i = min; i <= max; i++) {
|
||||||
options += `<option value="${i}">${i}</option>`
|
options.push({key:`${i}`, label:`${i}`});
|
||||||
}
|
}
|
||||||
return options;
|
return options;
|
||||||
}
|
}
|
||||||
@ -187,27 +224,6 @@ export class MournbladeUtility {
|
|||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
|
||||||
static getDefenseState(actorId) {
|
|
||||||
return this.defenderStore[actorId];
|
|
||||||
}
|
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
|
||||||
static updateRollData(rollData) {
|
|
||||||
|
|
||||||
let id = rollData.rollId;
|
|
||||||
let oldRollData = this.rollDataStore[id] || {};
|
|
||||||
let newRollData = mergeObject(oldRollData, rollData);
|
|
||||||
this.rollDataStore[id] = newRollData;
|
|
||||||
}
|
|
||||||
/* -------------------------------------------- */
|
|
||||||
static saveRollData(rollData) {
|
|
||||||
game.socket.emit("system.fvtt-mournblade", {
|
|
||||||
name: "msg_update_roll", data: rollData
|
|
||||||
}); // Notify all other clients of the roll
|
|
||||||
this.updateRollData(rollData);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static getRollData(id) {
|
static getRollData(id) {
|
||||||
return this.rollDataStore[id];
|
return this.rollDataStore[id];
|
||||||
@ -215,12 +231,10 @@ export class MournbladeUtility {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static onSocketMesssage(msg) {
|
static onSocketMesssage(msg) {
|
||||||
//console.log("SOCKET MESSAGE", msg.name, game.user.character.id, msg.data.defenderId);
|
if (msg.name == "msg_apply_damage") {
|
||||||
if (msg.name == "msg_update_defense_state") {
|
if (game.user.isGM) {
|
||||||
this.updateDefenseState(msg.data.defenderId, msg.data.rollId);
|
this.applyDegatsFromAttaque(msg.data.rollData);
|
||||||
}
|
}
|
||||||
if (msg.name == "msg_update_roll") {
|
|
||||||
this.updateRollData(msg.data);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -285,23 +299,25 @@ export class MournbladeUtility {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//console.log("Result : ", rollData)
|
||||||
if (rollData.difficulte > 0 && !rollData.isDramatique) {
|
if (rollData.difficulte > 0 && !rollData.isDramatique) {
|
||||||
rollData.isSuccess = (rollData.roll.finalResult >= rollData.difficulte)
|
rollData.isSuccess = (rollData.finalResult >= rollData.difficulte)
|
||||||
rollData.isHeroique = ((rollData.roll.finalResult - rollData.difficulte) >= 10)
|
rollData.isHeroique = ((rollData.finalResult - rollData.difficulte) >= 10)
|
||||||
rollData.isDramatique = ((rollData.roll.finalResult - rollData.difficulte) <= -10)
|
rollData.isDramatique = ((rollData.finalResult - rollData.difficulte) <= -10)
|
||||||
|
rollData.isPureSuccess = (rollData.isSuccess && !rollData.isHeroique)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static async rollMournblade(rollData) {
|
static async rollMournblade(rollData) {
|
||||||
|
|
||||||
let actor = game.actors.get(rollData.actorId)
|
let actor = MournbladeUtility.getActorFromRollData(rollData)
|
||||||
if (rollData.attrKey == "tochoose") { // No attr selected, force address
|
if (rollData.attrKey == "tochoose") { // No attr selected, force address
|
||||||
rollData.attrKey = "adr"
|
rollData.attrKey = "adr"
|
||||||
}
|
}
|
||||||
if (!rollData.attr) {
|
if (!rollData.attr) {
|
||||||
rollData.actionImg = "systems/fvtt-mournblade/assets/icons/" + actor.data.data.attributs[rollData.attrKey].labelnorm + ".webp"
|
rollData.actionImg = "systems/fvtt-mournblade/assets/icons/" + actor.system.attributs[rollData.attrKey].labelnorm + ".webp"
|
||||||
rollData.attr = duplicate(actor.data.data.attributs[rollData.attrKey])
|
rollData.attr = foundry.utils.duplicate(actor.system.attributs[rollData.attrKey])
|
||||||
}
|
}
|
||||||
|
|
||||||
rollData.diceFormula = rollData.mainDice
|
rollData.diceFormula = rollData.mainDice
|
||||||
@ -311,35 +327,242 @@ export class MournbladeUtility {
|
|||||||
actor.changeEclat(-1)
|
actor.changeEclat(-1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//console.log("BEFORE COMP", rollData)
|
||||||
if (rollData.competence) {
|
if (rollData.competence) {
|
||||||
rollData.predilections = duplicate( rollData.competence.data.predilections.filter( pred => !pred.used) || [] )
|
rollData.predilections = foundry.utils.duplicate(rollData.competence.system.predilections)
|
||||||
let compmod = (rollData.competence.data.niveau == 0) ? -3 : 0
|
let compmod = (rollData.competence.system.niveau == 0) ? -3 : 0
|
||||||
rollData.diceFormula += `+${rollData.attr.value}+${rollData.competence.data.niveau}+${rollData.modificateur}+${compmod}`
|
rollData.diceFormula += `+${rollData.attr.value}+${rollData.competence.system.niveau}+${rollData.modificateur}+${compmod}`
|
||||||
} else {
|
} else {
|
||||||
rollData.diceFormula += `+${rollData.attr.value}*2+${rollData.modificateur}`
|
rollData.diceFormula += `+${rollData.attr.value}*2+${rollData.modificateur}`
|
||||||
}
|
}
|
||||||
|
rollData.diceFormula += `+${rollData.malusSante}+${rollData.malusAme}`
|
||||||
|
|
||||||
let myRoll = new Roll(rollData.diceFormula).roll({ async: false })
|
if (rollData.arme?.type == "arme") {
|
||||||
await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"));
|
rollData.diceFormula += `+${rollData.arme.system.bonusmaniementoff}`
|
||||||
rollData.roll = myRoll
|
}
|
||||||
|
|
||||||
|
// Apply modifiers
|
||||||
|
for (let modifier of rollData.modifiers) {
|
||||||
|
if (modifier.system.modifiertype == "roll" && modifier.system.apply) {
|
||||||
|
rollData.diceFormula += `+${modifier.system.value}`
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Apply desavantages
|
||||||
|
let desavantagesBonus = 0
|
||||||
|
for (let desavantage in rollData.desavantages) {
|
||||||
|
if (rollData.desavantages[desavantage]) {
|
||||||
|
desavantagesBonus += 5
|
||||||
|
}
|
||||||
|
}
|
||||||
|
desavantagesBonus = Math.min(15, desavantagesBonus)
|
||||||
|
rollData.diceFormula += `+${desavantagesBonus}`
|
||||||
|
|
||||||
|
// Monté ?
|
||||||
|
if (rollData.isMonte) {
|
||||||
|
rollData.diceFormula += "+5"
|
||||||
|
}
|
||||||
|
|
||||||
|
// Specific modifier for distance
|
||||||
|
if (rollData.arme?.system?.isDistance) {
|
||||||
|
if (rollData.visee) {
|
||||||
|
rollData.diceFormula += "+5"
|
||||||
|
}
|
||||||
|
if (rollData.cibleconsciente) {
|
||||||
|
rollData.diceFormula += `-${rollData.defender.system.attributs.adr.value}`
|
||||||
|
}
|
||||||
|
if (rollData.ciblecourt) {
|
||||||
|
if (rollData.difficulte <= 15) { // Portée courte ou moins
|
||||||
|
rollData.diceFormula += `-5`
|
||||||
|
} else {
|
||||||
|
rollData.diceFormula += `-10`
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (rollData.typeCouvert != "aucun") {
|
||||||
|
rollData.diceFormula += `+${rollData.config.couverts[rollData.typeCouvert].value}`
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (rollData.rune) {
|
||||||
|
rollData.runeduree = Math.ceil((rollData.runeame + 3) / 3)
|
||||||
|
if (rollData.runemode == "inscrire") {
|
||||||
|
rollData.runeduree *= 2
|
||||||
|
}
|
||||||
|
if (rollData.runemode == "prononcer") {
|
||||||
|
rollData.runeduree = 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
let myRoll = await new Roll(rollData.diceFormula).evaluate();
|
||||||
|
await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
|
||||||
|
rollData.roll = foundry.utils.duplicate(myRoll)
|
||||||
|
rollData.diceResult = myRoll.terms[0].results[0].result
|
||||||
console.log(">>>> ", myRoll)
|
console.log(">>>> ", myRoll)
|
||||||
|
|
||||||
rollData.finalResult = myRoll.total
|
rollData.finalResult = myRoll.total
|
||||||
this.computeResult(rollData)
|
this.computeResult(rollData)
|
||||||
|
|
||||||
|
// Application immédiate selon type de jet
|
||||||
|
if (rollData.rune) {
|
||||||
|
let subAme = rollData.runeame
|
||||||
|
if (rollData.isEchec && !rollData.isDramatique) {
|
||||||
|
subAme = Math.ceil((subAme + 1) / 2)
|
||||||
|
}
|
||||||
|
actor.subPointsAme(rollData.runemode, subAme)
|
||||||
|
}
|
||||||
|
if (rollData.typeAttaque == "assomer" && rollData.defenderTokenId && rollData.isPureSuccess) {
|
||||||
|
let defender = game.canvas.tokens.get(rollData?.defenderTokenId)?.actor
|
||||||
|
defender.setModifier("Assomer : Prochaine action", "roll", -5)
|
||||||
|
}
|
||||||
|
if (rollData.typeAttaque == "fuir" && rollData.difficulte > 0 && !rollData.isSuccess) {
|
||||||
|
actor.setModifier("Fuite échouée : -5 en défense ce round et suivant", "defense", -5)
|
||||||
|
}
|
||||||
|
if (rollData.typeAttaque == "immobiliser" && rollData.difficulte > 0 && rollData.isPureSuccess) {
|
||||||
|
actor.setModifier("Immobilisation en cours : -5 pour prochaine action", "roll", -5)
|
||||||
|
}
|
||||||
|
if (rollData.typeAttaque == "chargecavalerie") {
|
||||||
|
actor.setModifier("Charge de Cavalerie : -5 défense pour le tour", "defense", -5)
|
||||||
|
}
|
||||||
this.createChatWithRollMode(rollData.alias, {
|
this.createChatWithRollMode(rollData.alias, {
|
||||||
content: await renderTemplate(`systems/fvtt-mournblade/templates/chat-generic-result.html`, rollData)
|
content: await renderTemplate(`systems/fvtt-mournblade/templates/chat-generic-result.html`, rollData)
|
||||||
}, rollData)
|
}, rollData)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
static async rollDegatsFromAttaque(rollData) {
|
||||||
|
let maximize = false
|
||||||
|
let degatsMessage = "Degats normaux"
|
||||||
|
|
||||||
|
if (rollData.arme?.system?.isMelee) {
|
||||||
|
rollData.degatsFormula = rollData.arme.system.totalDegats
|
||||||
|
if (rollData.isHeroique) { // Deux fois les dés de dégats
|
||||||
|
degatsMessage = "Dégats doublés"
|
||||||
|
}
|
||||||
|
|
||||||
|
if (rollData.typeAttaque == "assomer") {
|
||||||
|
rollData.degatsFormula = false
|
||||||
|
}
|
||||||
|
|
||||||
|
if (rollData.typeAttaque == "charger") {
|
||||||
|
rollData.degatsFormula += "+2"
|
||||||
|
}
|
||||||
|
if (rollData.typeAttaque == "chargecavalerie") {
|
||||||
|
rollData.degatsFormula += "+5"
|
||||||
|
}
|
||||||
|
|
||||||
|
if (rollData.typeAttaque == "precise") {
|
||||||
|
degatsMessage = "Degats normaux"
|
||||||
|
if (rollData.isHeroique) { // Degats max
|
||||||
|
maximize = true
|
||||||
|
degatsMessage = "Dégats maximaux, ignore l'armure du défenseur";
|
||||||
|
rollData.ignoreDefenseArmor = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (rollData.typeAttaque == "feinte") {
|
||||||
|
degatsMessage = "Pas de dégats, mais bonus pour prochaine attaque"
|
||||||
|
rollData.degatsFormula = false
|
||||||
|
rollData.nextBonus = 5
|
||||||
|
if (rollData.isHeroique) { // Bonus pour prochaine action
|
||||||
|
rollData.nextBonus = 10
|
||||||
|
rollData.nextBonusDegats = 10
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (rollData.typeAttaque == "coupbas") {
|
||||||
|
degatsMessage = "Pas de dégats, mais malus pour prochaine action complexe du défenseur"
|
||||||
|
rollData.degatsFormula = false
|
||||||
|
rollData.nextMalus = 5
|
||||||
|
if (rollData.isHeroique) { // Malus pour prochaine action
|
||||||
|
rollData.nextMalus = 15
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (rollData.typeAttaque == "contenir") {
|
||||||
|
degatsMessage = "Pas de dégats, mais l'adversaire ne peut pas vous attaquer pour le reste du tour"
|
||||||
|
rollData.degatsFormula = false
|
||||||
|
if (rollData.isHeroique) { // Malus pour prochaine action
|
||||||
|
degatsMessage = "Pas de dégats, mais tout les adversaires avec une défense inférieure ou égale à " + rollData.finalResult - 10 +
|
||||||
|
" ne peuvent pas vous attaquer pour le reste du tour"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (rollData.typeAttaque == "desarmer") {
|
||||||
|
degatsMessage = "Pas de dégats, mais l'adversaire reçoit un malus de -5 pour sa prochaine action"
|
||||||
|
rollData.degatsFormula = false
|
||||||
|
if (rollData.isHeroique) { // Malus pour prochaine action
|
||||||
|
rollData.defenderDesarme = true
|
||||||
|
degatsMessage = "Pas de dégats, mais l'arme de votre adversaire est arrachée de ses mains"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else { // Armes à distance
|
||||||
|
rollData.degatsFormula = rollData.arme.system.totalDegats
|
||||||
|
}
|
||||||
|
|
||||||
|
// Perform the roll, show the dice
|
||||||
|
rollData.finalResult = 0
|
||||||
|
rollData.degatsMessage = degatsMessage
|
||||||
|
if (rollData.degatsFormula) {
|
||||||
|
console.log("Degats formula", rollData.degatsFormula)
|
||||||
|
// Twice!maximize
|
||||||
|
if (rollData.isHeroique && !maximize) {
|
||||||
|
rollData.degatsFormula += "+" + rollData.degatsFormula
|
||||||
|
}
|
||||||
|
// Latest modifiers
|
||||||
|
for (let mod of rollData.modifiers) {
|
||||||
|
if (mod.system.modifiertype == "degats") {
|
||||||
|
rollData.degatsFormula += `+${mod.system.value}`
|
||||||
|
}
|
||||||
|
}
|
||||||
|
let degatsRoll = await new Roll(rollData.degatsFormula).evaluate({ maximize: maximize })
|
||||||
|
await this.showDiceSoNice(degatsRoll, game.settings.get("core", "rollMode"))
|
||||||
|
rollData.degatsRoll = foundry.utils.duplicate(degatsRoll)
|
||||||
|
rollData.finalResult = degatsRoll.total
|
||||||
|
}
|
||||||
|
|
||||||
|
this.createChatWithRollMode(rollData.alias, {
|
||||||
|
content: await renderTemplate(`systems/fvtt-mournblade/templates/chat-degats-result.html`, rollData)
|
||||||
|
}, rollData)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
static applyDegatsFromAttaque(rollData) {
|
||||||
|
let defender = game.canvas.tokens.get(rollData?.defenderTokenId)?.actor
|
||||||
|
if (defender && rollData.arme) {
|
||||||
|
let actor = MournbladeUtility.getActorFromRollData(rollData)
|
||||||
|
if (rollData.typeAttaque == "desarmer" && !rollData.isHeroique) {
|
||||||
|
defender.setModifier("Malus suite à désarmement", "roll", -5)
|
||||||
|
}
|
||||||
|
if (rollData.typeAttaque == "charger") {
|
||||||
|
actor.setModifier("Défense suite à charge", "roll", -5)
|
||||||
|
}
|
||||||
|
if (rollData.nextBonus) {
|
||||||
|
actor.setModifier("Prochaine attaque", "roll", rollData.nextBonus)
|
||||||
|
if (rollData.nextDegatsBonus) {
|
||||||
|
actor.setModifier("Prochaine attaque", "degats", rollData.nextDegatsBonus)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (rollData.nextMalus) {
|
||||||
|
defender.setModifier("Prochaine action complexe", "roll", -rollData.nextMalus)
|
||||||
|
}
|
||||||
|
if (rollData.defenderDesarme) {
|
||||||
|
ui.notifications.info("L'arme de " + defender.name + " est arrachée de ses mains (à gérer manuellement)")
|
||||||
|
}
|
||||||
|
let degats = rollData.finalResult
|
||||||
|
|
||||||
|
let type = (rollData.arme.system.nonletaux) ? "nonletaux" : "letaux"
|
||||||
|
if (rollData.arme.system.ignorearmure) {
|
||||||
|
rollData.ignoreDefenseArmor = true
|
||||||
|
}
|
||||||
|
defender.incDecSante(type, +degats, rollData.ignoreDefenseArmor)
|
||||||
|
ui.notifications.info(defender.name + "a subi " + degats + " points de santé " + type + ".")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static async bonusRollMournblade(rollData) {
|
static async bonusRollMournblade(rollData) {
|
||||||
rollData.bonusFormula = rollData.addedBonus
|
rollData.bonusFormula = rollData.addedBonus
|
||||||
|
|
||||||
let bonusRoll = new Roll(rollData.bonusFormula).roll({async: false})
|
let bonusRoll = await new Roll(rollData.bonusFormula).evaluate()
|
||||||
await this.showDiceSoNice(bonusRoll, game.settings.get("core", "rollMode"));
|
await this.showDiceSoNice(bonusRoll, game.settings.get("core", "rollMode"));
|
||||||
rollData.bonusRoll = bonusRoll
|
rollData.bonusRoll = foundry.utils.duplicate(bonusRoll)
|
||||||
|
|
||||||
rollData.finalResult += rollData.bonusRoll.total
|
rollData.finalResult += rollData.bonusRoll.total
|
||||||
|
|
||||||
@ -355,6 +578,7 @@ export class MournbladeUtility {
|
|||||||
static getUsers(filter) {
|
static getUsers(filter) {
|
||||||
return game.users.filter(filter).map(user => user.data._id);
|
return game.users.filter(filter).map(user => user.data._id);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static getWhisperRecipients(rollMode, name) {
|
static getWhisperRecipients(rollMode, name) {
|
||||||
switch (rollMode) {
|
switch (rollMode) {
|
||||||
@ -372,7 +596,7 @@ export class MournbladeUtility {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static blindMessageToGM(chatOptions) {
|
static blindMessageToGM(chatOptions) {
|
||||||
let chatGM = duplicate(chatOptions);
|
let chatGM = foundry.utils.duplicate(chatOptions);
|
||||||
chatGM.whisper = this.getUsers(user => user.isGM);
|
chatGM.whisper = this.getUsers(user => user.isGM);
|
||||||
chatGM.content = "Blinde message of " + game.user.name + "<br>" + chatOptions.content;
|
chatGM.content = "Blinde message of " + game.user.name + "<br>" + chatOptions.content;
|
||||||
console.log("blindMessageToGM", chatGM);
|
console.log("blindMessageToGM", chatGM);
|
||||||
@ -425,7 +649,8 @@ export class MournbladeUtility {
|
|||||||
chatOptions.whisper = this.getWhisperRecipients(rollMode, name);
|
chatOptions.whisper = this.getWhisperRecipients(rollMode, name);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
chatOptions.alias = chatOptions.alias || name
|
chatOptions.alias = chatOptions.alias || name;
|
||||||
|
chatOptions.speaker = ChatMessage.getSpeaker();
|
||||||
let msg = await ChatMessage.create(chatOptions)
|
let msg = await ChatMessage.create(chatOptions)
|
||||||
console.log("=======>", rollData)
|
console.log("=======>", rollData)
|
||||||
msg.setFlag("world", "mournblade-roll", rollData)
|
msg.setFlag("world", "mournblade-roll", rollData)
|
||||||
@ -434,11 +659,11 @@ export class MournbladeUtility {
|
|||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static getBasicRollData() {
|
static getBasicRollData() {
|
||||||
let rollData = {
|
let rollData = {
|
||||||
rollId: randomID(16),
|
rollId: foundry.utils.randomID(16),
|
||||||
rollMode: game.settings.get("core", "rollMode"),
|
rollMode: game.settings.get("core", "rollMode"),
|
||||||
modificateursOptions: this.getModificateurOptions(),
|
|
||||||
difficulte: 0,
|
difficulte: 0,
|
||||||
modificateur: 0,
|
modificateur: 0,
|
||||||
|
config: foundry.utils.duplicate(game.system.mournblade.config),
|
||||||
}
|
}
|
||||||
MournbladeUtility.updateWithTarget(rollData)
|
MournbladeUtility.updateWithTarget(rollData)
|
||||||
return rollData
|
return rollData
|
||||||
@ -446,15 +671,19 @@ export class MournbladeUtility {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static updateWithTarget(rollData) {
|
static updateWithTarget(rollData) {
|
||||||
let objectDefender
|
let target = MournbladeUtility.getTarget()
|
||||||
let target = MournbladeUtility.getTarget();
|
|
||||||
if (target) {
|
if (target) {
|
||||||
let defenderActor = game.actors.get(target.data.actorId)
|
rollData.defenderTokenId = target.id
|
||||||
objectDefender = MournbladeUtility.data(defenderActor)
|
let defender = game.canvas.tokens.get(rollData.defenderTokenId).actor
|
||||||
objectDefender = mergeObject(objectDefender, target.data.actorData)
|
rollData.defenderCombatValues = defender.getCombatValues()
|
||||||
rollData.defender = objectDefender
|
rollData.defender = defender.toObject() // Simpler
|
||||||
rollData.attackerId = this.id
|
rollData.defenderDefense = defender.getBestDefenseValue()
|
||||||
rollData.defenderId = objectDefender._id
|
rollData.armeDefense = defender.getBestDefenseValue()
|
||||||
|
if (rollData.armeDefense) {
|
||||||
|
rollData.difficulte = rollData.armeDefense.system.totalDefensif
|
||||||
|
} else {
|
||||||
|
ui.notifications.warn("Aucune arme de défense équipée, difficulté manuelle à positionner.")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -469,7 +698,7 @@ export class MournbladeUtility {
|
|||||||
let msg = game.messages.get(msgId)
|
let msg = game.messages.get(msgId)
|
||||||
if (msg) {
|
if (msg) {
|
||||||
let rollData = msg.getFlag("world", "mournblade-roll")
|
let rollData = msg.getFlag("world", "mournblade-roll")
|
||||||
let actor = game.actors.get(rollData.actorId)
|
let actor = MournbladeUtility.getActorFromRollData(rollData)
|
||||||
actor.changeBonneAventure(changed)
|
actor.changeBonneAventure(changed)
|
||||||
rollData.isReroll = true
|
rollData.isReroll = true
|
||||||
rollData.textBonus = "Bonus de Points d'Aventure"
|
rollData.textBonus = "Bonus de Points d'Aventure"
|
||||||
@ -488,7 +717,7 @@ export class MournbladeUtility {
|
|||||||
let msg = game.messages.get(msgId)
|
let msg = game.messages.get(msgId)
|
||||||
if (msg) {
|
if (msg) {
|
||||||
let rollData = msg.getFlag("world", "mournblade-roll")
|
let rollData = msg.getFlag("world", "mournblade-roll")
|
||||||
let actor = game.actors.get(rollData.actorId)
|
let actor = MournbladeUtility.getActorFromRollData(rollData)
|
||||||
actor.changeEclat(changed)
|
actor.changeEclat(changed)
|
||||||
rollData.isReroll = true
|
rollData.isReroll = true
|
||||||
rollData.textBonus = "Bonus d'Eclat"
|
rollData.textBonus = "Bonus d'Eclat"
|
||||||
@ -503,44 +732,52 @@ export class MournbladeUtility {
|
|||||||
let canApplyBALoyal = function (li) {
|
let canApplyBALoyal = function (li) {
|
||||||
let message = game.messages.get(li.attr("data-message-id"))
|
let message = game.messages.get(li.attr("data-message-id"))
|
||||||
let rollData = message.getFlag("world", "mournblade-roll")
|
let rollData = message.getFlag("world", "mournblade-roll")
|
||||||
let actor = game.actors.get(rollData.actorId)
|
let actor = MournbladeUtility.getActorFromRollData(rollData)
|
||||||
return (!rollData.isReroll && actor.getBonneAventure() > 0 && actor.getAlignement() == "loyal")
|
return (!rollData.isReroll && actor.getBonneAventure() > 0 && actor.getAlignement() == "loyal")
|
||||||
}
|
}
|
||||||
let canApplyPELoyal = function (li) {
|
let canApplyPELoyal = function (li) {
|
||||||
let message = game.messages.get(li.attr("data-message-id"))
|
let message = game.messages.get(li.attr("data-message-id"))
|
||||||
let rollData = message.getFlag("world", "mournblade-roll")
|
let rollData = message.getFlag("world", "mournblade-roll")
|
||||||
let actor = game.actors.get(rollData.actorId)
|
let actor = MournbladeUtility.getActorFromRollData(rollData)
|
||||||
return (!rollData.isReroll && actor.getEclat() > 0 && actor.getAlignement() == "loyal")
|
return (!rollData.isReroll && actor.getEclat() > 0 && actor.getAlignement() == "loyal")
|
||||||
}
|
}
|
||||||
let canApplyBAChaotique = function (li) {
|
let canApplyBAChaotique = function (li) {
|
||||||
let message = game.messages.get(li.attr("data-message-id"))
|
let message = game.messages.get(li.attr("data-message-id"))
|
||||||
let rollData = message.getFlag("world", "mournblade-roll")
|
let rollData = message.getFlag("world", "mournblade-roll")
|
||||||
let actor = game.actors.get(rollData.actorId)
|
let actor = MournbladeUtility.getActorFromRollData(rollData)
|
||||||
return (!rollData.isReroll && actor.getBonneAventure() > 0 && actor.getAlignement() == "chaotique")
|
return (!rollData.isReroll && actor.getBonneAventure() > 0 && actor.getAlignement() == "chaotique")
|
||||||
}
|
}
|
||||||
let canApplyBAChaotique3 = function (li) {
|
let canApplyBAChaotique3 = function (li) {
|
||||||
let message = game.messages.get(li.attr("data-message-id"))
|
let message = game.messages.get(li.attr("data-message-id"))
|
||||||
let rollData = message.getFlag("world", "mournblade-roll")
|
let rollData = message.getFlag("world", "mournblade-roll")
|
||||||
let actor = game.actors.get(rollData.actorId)
|
let actor = MournbladeUtility.getActorFromRollData(rollData)
|
||||||
return (!rollData.isReroll && actor.getBonneAventure() > 2 && actor.getAlignement() == "chaotique")
|
return (!rollData.isReroll && actor.getBonneAventure() > 2 && actor.getAlignement() == "chaotique")
|
||||||
}
|
}
|
||||||
let canApplyPEChaotique = function (li) {
|
let canApplyPEChaotique = function (li) {
|
||||||
let message = game.messages.get(li.attr("data-message-id"))
|
let message = game.messages.get(li.attr("data-message-id"))
|
||||||
let rollData = message.getFlag("world", "mournblade-roll")
|
let rollData = message.getFlag("world", "mournblade-roll")
|
||||||
let actor = game.actors.get(rollData.actorId)
|
let actor = MournbladeUtility.getActorFromRollData(rollData)
|
||||||
return (!rollData.isReroll && actor.getEclat() > 0 && actor.getAlignement() == "chaotique")
|
return (!rollData.isReroll && actor.getEclat() > 0 && actor.getAlignement() == "chaotique")
|
||||||
}
|
}
|
||||||
let hasPredilection = function (li) {
|
let hasPredilection = function (li) {
|
||||||
let message = game.messages.get(li.attr("data-message-id"))
|
let message = game.messages.get(li.attr("data-message-id"))
|
||||||
let rollData = message.getFlag("world", "mournblade-roll")
|
let rollData = message.getFlag("world", "mournblade-roll")
|
||||||
let actor = game.actors.get(rollData.actorId)
|
let actor = MournbladeUtility.getActorFromRollData(rollData)
|
||||||
if (rollData.competence) {
|
if (rollData.competence) {
|
||||||
let nbPred = rollData.competence.data.predilections.filter(pred => !pred.used).length
|
let nbPred = rollData.competence.data.predilections.filter(pred => !pred.used).length
|
||||||
return (!rollData.isReroll && rollData.competence && nbPred > 0)
|
return (!rollData.isReroll && rollData.competence && nbPred > 0)
|
||||||
}
|
}
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
let canCompetenceDouble = function (li) {
|
||||||
|
let message = game.messages.get(li.attr("data-message-id"))
|
||||||
|
let rollData = message.getFlag("world", "mournblade-roll")
|
||||||
|
let actor = MournbladeUtility.getActorFromRollData(rollData)
|
||||||
|
if (rollData.competence) {
|
||||||
|
return rollData.competence.data.doublebonus
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
options.push(
|
options.push(
|
||||||
{
|
{
|
||||||
name: "Ajouer +3 (1 point de Bonne Aventure)",
|
name: "Ajouer +3 (1 point de Bonne Aventure)",
|
||||||
@ -549,6 +786,14 @@ export class MournbladeUtility {
|
|||||||
callback: li => MournbladeUtility.applyBonneAventureRoll(li, -1, "+3")
|
callback: li => MournbladeUtility.applyBonneAventureRoll(li, -1, "+3")
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
options.push(
|
||||||
|
{
|
||||||
|
name: "Ajouer +6 (1 point de Bonne Aventure)",
|
||||||
|
icon: "<i class='fas fa-user-plus'></i>",
|
||||||
|
condition: canApply && canApplyBALoyal && canCompetenceDouble,
|
||||||
|
callback: li => MournbladeUtility.applyBonneAventureRoll(li, -1, "+6")
|
||||||
|
}
|
||||||
|
)
|
||||||
options.push(
|
options.push(
|
||||||
{
|
{
|
||||||
name: "Ajouer +1d6 (1 point de Bonne Aventure)",
|
name: "Ajouer +1d6 (1 point de Bonne Aventure)",
|
||||||
@ -557,6 +802,14 @@ export class MournbladeUtility {
|
|||||||
callback: li => MournbladeUtility.applyBonneAventureRoll(li, -1, "+1d6")
|
callback: li => MournbladeUtility.applyBonneAventureRoll(li, -1, "+1d6")
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
options.push(
|
||||||
|
{
|
||||||
|
name: "Ajouer +2d6 (1 point de Bonne Aventure)",
|
||||||
|
icon: "<i class='fas fa-user-plus'></i>",
|
||||||
|
condition: canApply && canApplyBAChaotique && canCompetenceDouble,
|
||||||
|
callback: li => MournbladeUtility.applyBonneAventureRoll(li, -1, "+2d6")
|
||||||
|
}
|
||||||
|
)
|
||||||
options.push(
|
options.push(
|
||||||
{
|
{
|
||||||
name: "Relancer le dé (3 points de Bonne Aventure)",
|
name: "Relancer le dé (3 points de Bonne Aventure)",
|
||||||
@ -573,17 +826,25 @@ export class MournbladeUtility {
|
|||||||
callback: li => MournbladeUtility.applyEclatRoll(li, -1, "+10")
|
callback: li => MournbladeUtility.applyEclatRoll(li, -1, "+10")
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
options.push(
|
||||||
|
{
|
||||||
|
name: "Ajouter +20 (1 Point d'Eclat)",
|
||||||
|
icon: "<i class='fas fa-user-plus'></i>",
|
||||||
|
condition: canApply && canApplyPELoyal && canCompetenceDouble,
|
||||||
|
callback: li => MournbladeUtility.applyEclatRoll(li, -1, "+20")
|
||||||
|
}
|
||||||
|
)
|
||||||
return options
|
return options
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static async confirmDelete(actorSheet, li) {
|
static async confirmDelete(actorSheet, li) {
|
||||||
let itemId = li.data("item-id");
|
let itemId = li.data("item-id");
|
||||||
let msgTxt = "<p>Are you sure to remove this Item ?";
|
let msgTxt = "<p>Voulez vous supprimer cet item ?";
|
||||||
let buttons = {
|
let buttons = {
|
||||||
delete: {
|
delete: {
|
||||||
icon: '<i class="fas fa-check"></i>',
|
icon: '<i class="fas fa-check"></i>',
|
||||||
label: "Yes, remove it",
|
label: "Oui !",
|
||||||
callback: () => {
|
callback: () => {
|
||||||
actorSheet.actor.deleteEmbeddedDocuments("Item", [itemId]);
|
actorSheet.actor.deleteEmbeddedDocuments("Item", [itemId]);
|
||||||
li.slideUp(200, () => actorSheet.render(false));
|
li.slideUp(200, () => actorSheet.render(false));
|
||||||
@ -591,12 +852,12 @@ export class MournbladeUtility {
|
|||||||
},
|
},
|
||||||
cancel: {
|
cancel: {
|
||||||
icon: '<i class="fas fa-times"></i>',
|
icon: '<i class="fas fa-times"></i>',
|
||||||
label: "Cancel"
|
label: "Non !"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
msgTxt += "</p>";
|
msgTxt += "</p>";
|
||||||
let d = new Dialog({
|
let d = new Dialog({
|
||||||
title: "Confirm removal",
|
title: "Confirmer la suppression",
|
||||||
content: msgTxt,
|
content: msgTxt,
|
||||||
buttons: buttons,
|
buttons: buttons,
|
||||||
default: "cancel"
|
default: "cancel"
|
||||||
|
@ -1,42 +1,46 @@
|
|||||||
{"name":"Fouet","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contactjet","bonusmaniementoff":0,"bonusmaniementdef":0,"degats":"1d4 + 1","deuxmains":false,"courte":3,"moyenne":0,"longue":0,"tr":0,"rarete":4,"prix":40},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.Qb1h25U88mTM4h72"}},"_id":"0swiE8k5zfUIqmXu"}
|
{"name":"Fouet","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.Qb1h25U88mTM4h72"}},"_id":"0swiE8k5zfUIqmXu","system":{"description":"","typearme":"contactjet","isdefense":false,"bonusmaniementoff":0,"bonusmaniementdef":0,"degats":"1d4 + 1","nonletaux":true,"deuxmains":false,"courte":3,"moyenne":0,"longue":0,"tr":0,"rarete":4,"prix":40,"equipped":false},"ownership":{"default":0,"RiMAsQHaUMojde7N":3},"_stats":{"systemId":"fvtt-mournblade","systemVersion":"10.0.9","coreVersion":"10.286","createdTime":1664572964292,"modifiedTime":1664573659387,"lastModifiedBy":"1Hr6ON03ooIXzvIm"}}
|
||||||
{"name":"Hache des mers","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","bonusmaniementoff":2,"bonusmaniementdef":0,"degats":"2d6","deuxmains":true,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":7,"prix":150},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.mGYFgteaWBDo10Xb"}},"_id":"2BSVJXr0FGZZJ9fh"}
|
{"_id":"2BSVJXr0FGZZJ9fh","name":"Hache des mers","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.mGYFgteaWBDo10Xb"}},"system":{"description":"","typearme":"contact","isdefense":true,"bonusmaniementoff":2,"bonusmaniementdef":0,"degats":"2d6","nonletaux":false,"deuxmains":true,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":7,"prix":150,"equipped":false},"ownership":{"default":0,"RiMAsQHaUMojde7N":3},"_stats":{"systemId":"fvtt-mournblade","systemVersion":"10.0.9","coreVersion":"10.286","createdTime":1664572964293,"modifiedTime":1664573659388,"lastModifiedBy":"1Hr6ON03ooIXzvIm"}}
|
||||||
{"name":"Fléau d’armes","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","bonusmaniementoff":0,"bonusmaniementdef":0,"degats":"1D10+1","deuxmains":false,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":7,"prix":70},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.PHQabMgfk1GNOjKo"}},"_id":"2qezkR1BdC0DcRIl"}
|
{"name":"Ecu d'acier","type":"bouclier","img":"systems/fvtt-mournblade/assets/icons/protection.webp","system":{"description":"","bonusdefense":3,"degats":"1d8","nonletaux":"false","rarete":9,"prix":10,"equipped":false,"isdefense":null},"effects":[],"ownership":{"default":0,"1Hr6ON03ooIXzvIm":3},"flags":{"core":{"sourceId":"Item.Gn52Vfp6Vg4cnpd0"}},"_stats":{"systemId":"fvtt-mournblade","systemVersion":"10.0.9","coreVersion":"10.286","createdTime":1664572521380,"modifiedTime":1664573706183,"lastModifiedBy":"1Hr6ON03ooIXzvIm"},"folder":null,"sort":0,"_id":"2PmIgKP4wZLHGp0s"}
|
||||||
{"name":"Arbalète","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"tir","bonusmaniementoff":1,"bonusmaniementdef":0,"degats":"2d6","deuxmains":false,"courte":25,"moyenne":50,"longue":75,"tr":3,"rarete":10,"prix":500},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.WYp8ojQN8HYJwUJc"}},"_id":"2zIdrBK88iuMbOF0"}
|
{"_id":"2qezkR1BdC0DcRIl","name":"Fléau d’armes","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.PHQabMgfk1GNOjKo"}},"system":{"description":"","typearme":"contact","isdefense":true,"bonusmaniementoff":0,"bonusmaniementdef":0,"degats":"1D10+1","nonletaux":false,"deuxmains":false,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":7,"prix":70,"equipped":false},"ownership":{"default":0,"RiMAsQHaUMojde7N":3},"_stats":{"systemId":"fvtt-mournblade","systemVersion":"10.0.9","coreVersion":"10.286","createdTime":1664572964293,"modifiedTime":1664573659387,"lastModifiedBy":"1Hr6ON03ooIXzvIm"}}
|
||||||
{"name":"Cimeterre","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","bonusmaniementoff":1,"bonusmaniementdef":1,"degats":"1d10","deuxmains":false,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":8,"prix":100},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.RYxEg0gJfAlIZ4mw"}},"_id":"3Iv1oLpZcPEJVaI4"}
|
{"name":"Arbalète","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.WYp8ojQN8HYJwUJc"}},"_id":"2zIdrBK88iuMbOF0","system":{"description":"","typearme":"tir","isdefense":null,"bonusmaniementoff":1,"bonusmaniementdef":0,"degats":"2d6","nonletaux":null,"deuxmains":"","courte":25,"moyenne":50,"longue":75,"tr":3,"rarete":10,"prix":500,"equipped":false},"ownership":{"default":0,"RiMAsQHaUMojde7N":3},"_stats":{"systemId":"fvtt-mournblade","systemVersion":"10.0.9","coreVersion":"10.286","createdTime":1664572964293,"modifiedTime":1664573659385,"lastModifiedBy":"1Hr6ON03ooIXzvIm"}}
|
||||||
{"name":"Fronde","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"tir","bonusmaniementoff":0,"bonusmaniementdef":0,"degats":"1D4","deuxmains":false,"courte":10,"moyenne":25,"longue":50,"tr":1,"rarete":2,"prix":1},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.TgVuNnytO9k2K0Xe"}},"_id":"4To8rLxv4efsoZK0"}
|
{"_id":"3Iv1oLpZcPEJVaI4","name":"Cimeterre","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.RYxEg0gJfAlIZ4mw"}},"system":{"description":"","typearme":"contact","isdefense":true,"bonusmaniementoff":1,"bonusmaniementdef":1,"degats":"1d10","nonletaux":false,"deuxmains":false,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":8,"prix":100,"equipped":false},"ownership":{"default":0,"RiMAsQHaUMojde7N":3},"_stats":{"systemId":"fvtt-mournblade","systemVersion":"10.0.9","coreVersion":"10.286","createdTime":1664572964294,"modifiedTime":1664573659386,"lastModifiedBy":"1Hr6ON03ooIXzvIm"}}
|
||||||
{"name":"Pierre","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contactjet","bonusmaniementoff":0,"bonusmaniementdef":0,"degats":"1D4","deuxmains":false,"courte":3,"moyenne":6,"longue":15,"tr":1,"rarete":0,"prix":0},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.3YS9IfQddECnoagK"}},"_id":"4yKlK8MeSj5Zk8lM"}
|
{"name":"Fronde","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.TgVuNnytO9k2K0Xe"}},"_id":"4To8rLxv4efsoZK0","system":{"description":"","typearme":"tir","isdefense":false,"bonusmaniementoff":0,"bonusmaniementdef":0,"degats":"1D4","nonletaux":false,"deuxmains":false,"courte":10,"moyenne":25,"longue":50,"tr":1,"rarete":2,"prix":1,"equipped":false},"ownership":{"default":0,"RiMAsQHaUMojde7N":3},"_stats":{"systemId":"fvtt-mournblade","systemVersion":"10.0.9","coreVersion":"10.286","createdTime":1664572964294,"modifiedTime":1664573659388,"lastModifiedBy":"1Hr6ON03ooIXzvIm"}}
|
||||||
{"name":"Grand marteau","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","bonusmaniementoff":1,"bonusmaniementdef":0,"degats":"2D6+2","deuxmains":true,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":7,"prix":120},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.vjic4cPkJ0iMCIt5"}},"_id":"6e1JHoD1Jrz020R7"}
|
{"name":"Pierre","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.3YS9IfQddECnoagK"}},"_id":"4yKlK8MeSj5Zk8lM","system":{"description":"","typearme":"contactjet","isdefense":false,"bonusmaniementoff":0,"bonusmaniementdef":0,"degats":"1D4","nonletaux":true,"deuxmains":false,"courte":3,"moyenne":6,"longue":15,"tr":1,"rarete":0,"prix":0,"equipped":false},"ownership":{"default":0,"RiMAsQHaUMojde7N":3},"_stats":{"systemId":"fvtt-mournblade","systemVersion":"10.0.9","coreVersion":"10.286","createdTime":1664572964294,"modifiedTime":1664573659390,"lastModifiedBy":"1Hr6ON03ooIXzvIm"}}
|
||||||
{"name":"Arc de cavalerie","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"tir","bonusmaniementoff":1,"bonusmaniementdef":0,"degats":"1d6","deuxmains":false,"courte":25,"moyenne":50,"longue":75,"tr":1,"rarete":7,"prix":100},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.5EWrgNQjJMx1t2v1"}},"_id":"88UuW1bdpFuCmkqb"}
|
{"_id":"6e1JHoD1Jrz020R7","name":"Grand marteau","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.vjic4cPkJ0iMCIt5"}},"system":{"description":"","typearme":"contact","isdefense":true,"bonusmaniementoff":1,"bonusmaniementdef":0,"degats":"2D6+2","nonletaux":false,"deuxmains":true,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":7,"prix":120,"equipped":false},"ownership":{"default":0,"RiMAsQHaUMojde7N":3},"_stats":{"systemId":"fvtt-mournblade","systemVersion":"10.0.9","coreVersion":"10.286","createdTime":1664572964294,"modifiedTime":1664573659388,"lastModifiedBy":"1Hr6ON03ooIXzvIm"}}
|
||||||
{"name":"Épée de maître","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","bonusmaniementoff":2,"bonusmaniementdef":1,"degats":"1d8+ 2","deuxmains":false,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":7,"prix":120},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.kX3MbDFu9uYZVNf2"}},"_id":"9Eo9mRbPPZHN98Cr"}
|
{"name":"Arc de cavalerie","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.5EWrgNQjJMx1t2v1"}},"_id":"88UuW1bdpFuCmkqb","system":{"description":"","typearme":"tir","isdefense":null,"bonusmaniementoff":1,"bonusmaniementdef":0,"degats":"1d6","nonletaux":null,"deuxmains":null,"courte":25,"moyenne":50,"longue":75,"tr":1,"rarete":7,"prix":100,"equipped":false},"ownership":{"default":0,"RiMAsQHaUMojde7N":3},"_stats":{"systemId":"fvtt-mournblade","systemVersion":"10.0.9","coreVersion":"10.286","createdTime":1664572964294,"modifiedTime":1664573659385,"lastModifiedBy":"1Hr6ON03ooIXzvIm"}}
|
||||||
{"name":"Lance ilmioréenne","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"<p>La lance ilmioréenne est un solide bâton de combat surmonté d’une pointe sur lequel est fi xé quasi perpendiculairement un fer de hache plat et étroit. Un contrepoids fi xé à l’autre extrémité sert à équilibrer l’arme qui peut être maniée à la fois comme une lance et comme une hache à deux mains, ce qui permet de maintenir ses ennemis à distance ou de leur porter des coups dévastateurs. Ces lances furent inventées à l’époque de la tribu d’Ilm, quand les lances et épées étaient déclarées illégales par les gouverneurs melnibonéens de la région. Certaines écoles militaires ilmioréennes enseignent toujours le Style Imar, qui mêle en une seule et même technique le combat à deux mains à la lance et le combat au bâton.</p>","typearme":"contact","bonusmaniementoff":0,"bonusmaniementdef":2,"degats":"1d8 + 2","deuxmains":true,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":8,"prix":100},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.8ApbiVgkx79OHVp2"}},"_id":"9xPd4ITtyk3nmMoN"}
|
{"_id":"9Eo9mRbPPZHN98Cr","name":"Épée de maître","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.kX3MbDFu9uYZVNf2"}},"system":{"description":"","typearme":"contact","isdefense":true,"bonusmaniementoff":2,"bonusmaniementdef":1,"degats":"1d8+ 2","nonletaux":false,"deuxmains":false,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":7,"prix":120,"equipped":false},"ownership":{"default":0,"RiMAsQHaUMojde7N":3},"_stats":{"systemId":"fvtt-mournblade","systemVersion":"10.0.9","coreVersion":"10.286","createdTime":1664572964294,"modifiedTime":1664573659386,"lastModifiedBy":"1Hr6ON03ooIXzvIm"}}
|
||||||
{"name":"Masse lourde","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","bonusmaniementoff":2,"bonusmaniementdef":0,"degats":"1d10 + 1","deuxmains":true,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":5,"prix":80},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.DPfXgFj3gpjJ3nbR"}},"_id":"CeC5lAKs7NdPF05l"}
|
{"_id":"9xPd4ITtyk3nmMoN","name":"Lance ilmioréenne","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.8ApbiVgkx79OHVp2"}},"system":{"description":"<p>La lance ilmioréenne est un solide bâton de combat surmonté d’une pointe sur lequel est fi xé quasi perpendiculairement un fer de hache plat et étroit. Un contrepoids fi xé à l’autre extrémité sert à équilibrer l’arme qui peut être maniée à la fois comme une lance et comme une hache à deux mains, ce qui permet de maintenir ses ennemis à distance ou de leur porter des coups dévastateurs. Ces lances furent inventées à l’époque de la tribu d’Ilm, quand les lances et épées étaient déclarées illégales par les gouverneurs melnibonéens de la région. Certaines écoles militaires ilmioréennes enseignent toujours le Style Imar, qui mêle en une seule et même technique le combat à deux mains à la lance et le combat au bâton.</p>","typearme":"contact","isdefense":true,"bonusmaniementoff":0,"bonusmaniementdef":2,"degats":"1d8 + 2","nonletaux":false,"deuxmains":true,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":8,"prix":100,"equipped":false},"ownership":{"default":0,"RiMAsQHaUMojde7N":3},"_stats":{"systemId":"fvtt-mournblade","systemVersion":"10.0.9","coreVersion":"10.286","createdTime":1664572964294,"modifiedTime":1664573659389,"lastModifiedBy":"1Hr6ON03ooIXzvIm"}}
|
||||||
{"name":"Gourdin","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","bonusmaniementoff":2,"bonusmaniementdef":0,"degats":"1D6","deuxmains":false,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":0,"prix":5},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.CBIfq9eRd2RmoI4H"}},"_id":"CqP80SQFQOefpGgd"}
|
{"_id":"CeC5lAKs7NdPF05l","name":"Masse lourde","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.DPfXgFj3gpjJ3nbR"}},"system":{"description":"","typearme":"contact","isdefense":true,"bonusmaniementoff":2,"bonusmaniementdef":0,"degats":"1d10 + 1","nonletaux":false,"deuxmains":true,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":5,"prix":80,"equipped":false},"ownership":{"default":0,"RiMAsQHaUMojde7N":3},"_stats":{"systemId":"fvtt-mournblade","systemVersion":"10.0.9","coreVersion":"10.286","createdTime":1664572964294,"modifiedTime":1664573659389,"lastModifiedBy":"1Hr6ON03ooIXzvIm"}}
|
||||||
{"name":"Rapière","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","bonusmaniementoff":3,"bonusmaniementdef":1,"degats":"1d8+ 1","deuxmains":false,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":8,"prix":150},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.XIStcClTnmLoSwyR"}},"_id":"CupT9m8L909l4Fo5"}
|
{"_id":"CqP80SQFQOefpGgd","name":"Gourdin","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.CBIfq9eRd2RmoI4H"}},"system":{"description":"","typearme":"contact","isdefense":true,"bonusmaniementoff":2,"bonusmaniementdef":0,"degats":"1D6","nonletaux":true,"deuxmains":false,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":0,"prix":5,"equipped":false},"ownership":{"default":0,"RiMAsQHaUMojde7N":3},"_stats":{"systemId":"fvtt-mournblade","systemVersion":"10.0.9","coreVersion":"10.286","createdTime":1664572964294,"modifiedTime":1664573659388,"lastModifiedBy":"1Hr6ON03ooIXzvIm"}}
|
||||||
{"name":"Hachette / Hache de lancer","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contactjet","bonusmaniementoff":2,"bonusmaniementdef":0,"degats":"1d4 + 1","deuxmains":false,"courte":5,"moyenne":10,"longue":15,"tr":1,"rarete":5,"prix":50},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.5NHbRanxXA5vUE3B"}},"_id":"DzkeP7jbruqW4nQH"}
|
{"_id":"CupT9m8L909l4Fo5","name":"Rapière","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.XIStcClTnmLoSwyR"}},"system":{"description":"","typearme":"contact","isdefense":true,"bonusmaniementoff":3,"bonusmaniementdef":1,"degats":"1d8+ 1","nonletaux":false,"deuxmains":false,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":8,"prix":150,"equipped":false},"ownership":{"default":0,"RiMAsQHaUMojde7N":3},"_stats":{"systemId":"fvtt-mournblade","systemVersion":"10.0.9","coreVersion":"10.286","createdTime":1664572964295,"modifiedTime":1664573659390,"lastModifiedBy":"1Hr6ON03ooIXzvIm"}}
|
||||||
{"name":"Lance légère","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","bonusmaniementoff":2,"bonusmaniementdef":0,"degats":"1d8","deuxmains":false,"courte":10,"moyenne":25,"longue":50,"tr":1,"rarete":5,"prix":5},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.LIVeq22E9EanRS9L"}},"_id":"FDeRBkxXwoZIuL9B"}
|
{"name":"Hachette / Hache de lancer","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.5NHbRanxXA5vUE3B"}},"_id":"DzkeP7jbruqW4nQH","system":{"description":"","typearme":"contactjet","isdefense":false,"bonusmaniementoff":2,"bonusmaniementdef":0,"degats":"1d4 + 1","nonletaux":false,"deuxmains":false,"courte":5,"moyenne":10,"longue":15,"tr":1,"rarete":5,"prix":50,"equipped":false},"ownership":{"default":0,"RiMAsQHaUMojde7N":3},"_stats":{"systemId":"fvtt-mournblade","systemVersion":"10.0.9","coreVersion":"10.286","createdTime":1664572964295,"modifiedTime":1664573659388,"lastModifiedBy":"1Hr6ON03ooIXzvIm"}}
|
||||||
{"name":"Arc de chasse","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"tir","bonusmaniementoff":2,"bonusmaniementdef":0,"degats":"1d6 - 1","deuxmains":false,"courte":25,"moyenne":50,"longue":75,"tr":1,"rarete":8,"prix":250},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.TrYZ9BxYukS1mbBX"}},"_id":"Hrm08cpgAMMV6Jpq"}
|
{"_id":"FDeRBkxXwoZIuL9B","name":"Lance légère","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.LIVeq22E9EanRS9L"}},"system":{"description":"","typearme":"contact","isdefense":true,"bonusmaniementoff":2,"bonusmaniementdef":0,"degats":"1d8","nonletaux":false,"deuxmains":false,"courte":10,"moyenne":25,"longue":50,"tr":1,"rarete":5,"prix":5,"equipped":false},"ownership":{"default":0,"RiMAsQHaUMojde7N":3},"_stats":{"systemId":"fvtt-mournblade","systemVersion":"10.0.9","coreVersion":"10.286","createdTime":1664572964295,"modifiedTime":1664573659389,"lastModifiedBy":"1Hr6ON03ooIXzvIm"}}
|
||||||
{"name":"Coup de pied / poing / tête","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","bonusmaniementoff":3,"bonusmaniementdef":0,"degats":"1d4","deuxmains":false,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":0,"prix":0},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.nBPKHsYIM0HgMcBy"}},"_id":"Iw3j4oC6H8HJ9MFQ"}
|
{"name":"Arc de chasse","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.TrYZ9BxYukS1mbBX"}},"_id":"Hrm08cpgAMMV6Jpq","system":{"description":"","typearme":"tir","isdefense":false,"bonusmaniementoff":2,"bonusmaniementdef":0,"degats":"1d6 - 1","nonletaux":false,"deuxmains":false,"courte":25,"moyenne":50,"longue":75,"tr":1,"rarete":8,"prix":250,"equipped":false},"ownership":{"default":0,"RiMAsQHaUMojde7N":3},"_stats":{"systemId":"fvtt-mournblade","systemVersion":"10.0.9","coreVersion":"10.286","createdTime":1664572964295,"modifiedTime":1664573659385,"lastModifiedBy":"1Hr6ON03ooIXzvIm"}}
|
||||||
{"name":"Lance lourde","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","bonusmaniementoff":1,"bonusmaniementdef":2,"degats":"1d10","deuxmains":true,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":5,"prix":50},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.Kcl07bs7TOcne37W"}},"_id":"KY22L6Lx5WxgvyGD"}
|
{"_id":"Iw3j4oC6H8HJ9MFQ","name":"Coup de pied / poing / tête","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.nBPKHsYIM0HgMcBy"}},"system":{"description":"","typearme":"contact","isdefense":true,"bonusmaniementoff":3,"bonusmaniementdef":0,"degats":"1d4","nonletaux":true,"deuxmains":false,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":0,"prix":0,"equipped":false},"ownership":{"default":0,"RiMAsQHaUMojde7N":3},"_stats":{"systemId":"fvtt-mournblade","systemVersion":"10.0.9","coreVersion":"10.286","createdTime":1664572964295,"modifiedTime":1664573659386,"lastModifiedBy":"1Hr6ON03ooIXzvIm"}}
|
||||||
{"name":"Arc du Désert des Larmes","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"<p>Cet arc composite fait de bois, d’andouillers de cerf et/ou d’os est un arc court et très recourbé utilisé par les barbares du Désert des Larmes pour la chasse. On peut également trouver ce type d’arcs à Pikarayd et au Dorel.</p>","typearme":"tir","bonusmaniementoff":2,"bonusmaniementdef":0,"degats":"1d6 + 1","deuxmains":false,"courte":25,"moyenne":50,"longue":75,"tr":1,"rarete":8,"prix":250},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.QmYjdRCAk3MnxKJg"}},"_id":"MDpFpqmXpIX5VV80"}
|
{"_id":"KY22L6Lx5WxgvyGD","name":"Lance lourde","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.Kcl07bs7TOcne37W"}},"system":{"description":"","typearme":"contact","isdefense":true,"bonusmaniementoff":1,"bonusmaniementdef":2,"degats":"1d10","nonletaux":false,"deuxmains":true,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":5,"prix":50,"equipped":false},"ownership":{"default":0,"RiMAsQHaUMojde7N":3},"_stats":{"systemId":"fvtt-mournblade","systemVersion":"10.0.9","coreVersion":"10.286","createdTime":1664572964295,"modifiedTime":1664573659389,"lastModifiedBy":"1Hr6ON03ooIXzvIm"}}
|
||||||
{"name":"Hache de bataille dite lormyrienne","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"<p>Cette double hache parfaitement équilibrée et proportionnée est l’arme favorite des chevaliers lormyriens. Il s’agit de l’arme idéale pour trancher, découper les lances ennemies et fendre les crânes.</p>","typearme":"contact","bonusmaniementoff":2,"bonusmaniementdef":0,"degats":"2d6 + 2","deuxmains":true,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":8,"prix":250},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.Lpa6kesbzgKVtogn"}},"_id":"MP49mYF7FVuW9ALB"}
|
{"name":"Arc du Désert des Larmes","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.QmYjdRCAk3MnxKJg"}},"_id":"MDpFpqmXpIX5VV80","system":{"description":"<p>Cet arc composite fait de bois, d’andouillers de cerf et/ou d’os est un arc court et très recourbé utilisé par les barbares du Désert des Larmes pour la chasse. On peut également trouver ce type d’arcs à Pikarayd et au Dorel.</p>","typearme":"tir","isdefense":null,"bonusmaniementoff":2,"bonusmaniementdef":0,"degats":"1d6 + 1","nonletaux":null,"deuxmains":null,"courte":25,"moyenne":50,"longue":75,"tr":1,"rarete":8,"prix":250,"equipped":false},"ownership":{"default":0,"RiMAsQHaUMojde7N":3},"_stats":{"systemId":"fvtt-mournblade","systemVersion":"10.0.9","coreVersion":"10.286","createdTime":1664572964296,"modifiedTime":1664573659385,"lastModifiedBy":"1Hr6ON03ooIXzvIm"}}
|
||||||
{"name":"Couteau / Dague","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contactjet","bonusmaniementoff":3,"bonusmaniementdef":0,"degats":"1d4","deuxmains":false,"courte":3,"moyenne":6,"longue":15,"tr":1,"rarete":1,"prix":10},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.5a9GKIvNgbbXBq3s"}},"_id":"N5BbO2lGwzQnpvH0"}
|
{"_id":"MP49mYF7FVuW9ALB","name":"Hache de bataille dite lormyrienne","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.Lpa6kesbzgKVtogn"}},"system":{"description":"<p>Cette double hache parfaitement équilibrée et proportionnée est l’arme favorite des chevaliers lormyriens. Il s’agit de l’arme idéale pour trancher, découper les lances ennemies et fendre les crânes.</p>","typearme":"contact","isdefense":true,"bonusmaniementoff":2,"bonusmaniementdef":0,"degats":"2d6 + 2","nonletaux":false,"deuxmains":true,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":8,"prix":250,"equipped":false},"ownership":{"default":0,"RiMAsQHaUMojde7N":3},"_stats":{"systemId":"fvtt-mournblade","systemVersion":"10.0.9","coreVersion":"10.286","createdTime":1664572964296,"modifiedTime":1664573659388,"lastModifiedBy":"1Hr6ON03ooIXzvIm"}}
|
||||||
{"name":"Pique filkharienne","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"<p>Cette longue pique à grande lame de près de trois mètres de long est l’arme de prédilection des piquiers de l’armée de Filkhar. Très effi cace pour lutter contre des cavaliers ou des ennemis en train de charger, elle l’est beaucoup moins en combat rapproché.</p>","typearme":"contact","bonusmaniementoff":2,"bonusmaniementdef":0,"degats":"1d8 + 2","deuxmains":true,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":8,"prix":150},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.dF9LxfA1crZBmT92"}},"_id":"QwrZbFeJUQv2OBqI"}
|
{"_id":"N5BbO2lGwzQnpvH0","name":"Couteau / Dague","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.5a9GKIvNgbbXBq3s"}},"system":{"description":"","typearme":"contactjet","isdefense":true,"bonusmaniementoff":3,"bonusmaniementdef":0,"degats":"1d4","nonletaux":false,"deuxmains":false,"courte":3,"moyenne":6,"longue":15,"tr":1,"rarete":1,"prix":10,"equipped":false},"ownership":{"default":0,"RiMAsQHaUMojde7N":3},"_stats":{"systemId":"fvtt-mournblade","systemVersion":"10.0.9","coreVersion":"10.286","createdTime":1664572964297,"modifiedTime":1664573659386,"lastModifiedBy":"1Hr6ON03ooIXzvIm"}}
|
||||||
{"name":"Masse légère","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","bonusmaniementoff":2,"bonusmaniementdef":0,"degats":"1d6 + 2","deuxmains":false,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":5,"prix":5},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.xrWRNZBrEzkUQzRG"}},"_id":"SzgkzHvzma8NiMd5"}
|
{"_id":"QwrZbFeJUQv2OBqI","name":"Pique filkharienne","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.dF9LxfA1crZBmT92"}},"system":{"description":"<p>Cette longue pique à grande lame de près de trois mètres de long est l’arme de prédilection des piquiers de l’armée de Filkhar. Très effi cace pour lutter contre des cavaliers ou des ennemis en train de charger, elle l’est beaucoup moins en combat rapproché.</p>","typearme":"contact","isdefense":true,"bonusmaniementoff":2,"bonusmaniementdef":0,"degats":"1d8 + 2","nonletaux":false,"deuxmains":true,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":8,"prix":150,"equipped":false},"ownership":{"default":0,"RiMAsQHaUMojde7N":3},"_stats":{"systemId":"fvtt-mournblade","systemVersion":"10.0.9","coreVersion":"10.286","createdTime":1664572964297,"modifiedTime":1664573659390,"lastModifiedBy":"1Hr6ON03ooIXzvIm"}}
|
||||||
{"name":"Sabre d’abordage","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","bonusmaniementoff":1,"bonusmaniementdef":0,"degats":"1d8","deuxmains":false,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":5,"prix":50},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.aNUqO9OZT0GBszvv"}},"_id":"U8CoqFhGuT3ZHeq1"}
|
{"_id":"SzgkzHvzma8NiMd5","name":"Masse légère","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.xrWRNZBrEzkUQzRG"}},"system":{"description":"","typearme":"contact","isdefense":true,"bonusmaniementoff":2,"bonusmaniementdef":0,"degats":"1d6 + 2","nonletaux":false,"deuxmains":false,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":5,"prix":5,"equipped":false},"ownership":{"default":0,"RiMAsQHaUMojde7N":3},"_stats":{"systemId":"fvtt-mournblade","systemVersion":"10.0.9","coreVersion":"10.286","createdTime":1664572964297,"modifiedTime":1664573659389,"lastModifiedBy":"1Hr6ON03ooIXzvIm"}}
|
||||||
{"name":"Javelot","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"jet","bonusmaniementoff":1,"bonusmaniementdef":0,"degats":"1d6","deuxmains":false,"courte":25,"moyenne":50,"longue":75,"tr":1,"rarete":5,"prix":30},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.Zwiz9E3TbeUP8qHH"}},"_id":"aELvOR7A9DIJKgBk"}
|
{"_id":"U8CoqFhGuT3ZHeq1","name":"Sabre d’abordage","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.aNUqO9OZT0GBszvv"}},"system":{"description":"","typearme":"contact","isdefense":true,"bonusmaniementoff":1,"bonusmaniementdef":0,"degats":"1d8","nonletaux":false,"deuxmains":false,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":5,"prix":50,"equipped":false},"ownership":{"default":0,"RiMAsQHaUMojde7N":3},"_stats":{"systemId":"fvtt-mournblade","systemVersion":"10.0.9","coreVersion":"10.286","createdTime":1664572964297,"modifiedTime":1664573659390,"lastModifiedBy":"1Hr6ON03ooIXzvIm"}}
|
||||||
{"name":"Fourche / Faux de paysan","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","bonusmaniementoff":0,"bonusmaniementdef":0,"degats":"1D6","deuxmains":true,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":1,"prix":10},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.K5Ayim6mPKZoCSCc"}},"_id":"aJBVfqQ3JQNyVL7c"}
|
{"name":"Javelot","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.Zwiz9E3TbeUP8qHH"}},"_id":"aELvOR7A9DIJKgBk","system":{"description":"","typearme":"jet","isdefense":false,"bonusmaniementoff":1,"bonusmaniementdef":0,"degats":"1d6","nonletaux":false,"deuxmains":false,"courte":25,"moyenne":50,"longue":75,"tr":1,"rarete":5,"prix":30,"equipped":false},"ownership":{"default":0,"RiMAsQHaUMojde7N":3},"_stats":{"systemId":"fvtt-mournblade","systemVersion":"10.0.9","coreVersion":"10.286","createdTime":1664572964297,"modifiedTime":1664573659389,"lastModifiedBy":"1Hr6ON03ooIXzvIm"}}
|
||||||
{"name":"Arme improvisée","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","bonusmaniementoff":0,"bonusmaniementdef":0,"degats":"1d6","deuxmains":false,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":0,"prix":0},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.E7gcmnNQK2t5OQjv"}},"_id":"c6l49ZmEBjUxfI3W"}
|
{"_id":"aJBVfqQ3JQNyVL7c","name":"Fourche / Faux de paysan","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.K5Ayim6mPKZoCSCc"}},"system":{"description":"","typearme":"contact","isdefense":true,"bonusmaniementoff":0,"bonusmaniementdef":0,"degats":"1D6","nonletaux":false,"deuxmains":true,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":1,"prix":10,"equipped":false},"ownership":{"default":0,"RiMAsQHaUMojde7N":3},"_stats":{"systemId":"fvtt-mournblade","systemVersion":"10.0.9","coreVersion":"10.286","createdTime":1664572964298,"modifiedTime":1664573659387,"lastModifiedBy":"1Hr6ON03ooIXzvIm"}}
|
||||||
{"name":"Arc de guerre","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"tir","bonusmaniementoff":0,"bonusmaniementdef":0,"degats":"1d10 + 1","deuxmains":false,"courte":30,"moyenne":50,"longue":100,"tr":1,"rarete":6,"prix":70},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.Tq6lUFPTkBN5cBwn"}},"_id":"cKf5z3fajUnxJh0r"}
|
{"name":"Pavois","type":"bouclier","img":"systems/fvtt-mournblade/assets/icons/protection.webp","system":{"description":"<p>Le Pavois se plante dans le sol au début du combat et ne peut plus être déplacé jusqu'à son issue.</p>","bonusdefense":3,"degats":"0","nonletaux":"false","rarete":7,"prix":5,"equipped":false,"isdefense":"false"},"effects":[],"ownership":{"default":0,"1Hr6ON03ooIXzvIm":3},"flags":{"core":{"sourceId":"Item.E3A8EnGzQctvYndd"}},"_stats":{"systemId":"fvtt-mournblade","systemVersion":"10.0.9","coreVersion":"10.286","createdTime":1664572521380,"modifiedTime":1664573708981,"lastModifiedBy":"1Hr6ON03ooIXzvIm"},"folder":null,"sort":0,"_id":"b2VNhFBgbvlzaMw8"}
|
||||||
{"name":"Main gauche","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","bonusmaniementoff":0,"bonusmaniementdef":3,"degats":"1d4 + 1","deuxmains":false,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":8,"prix":10},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.BBii0qi1unvSRNO4"}},"_id":"fLHX6ut131CQI630"}
|
{"name":"Bouclier d'Infanterie","type":"bouclier","img":"systems/fvtt-mournblade/assets/icons/protection.webp","system":{"description":"","bonusdefense":2,"degats":"1d6","nonletaux":"false","rarete":5,"prix":2,"equipped":false},"effects":[],"ownership":{"default":0,"1Hr6ON03ooIXzvIm":3},"flags":{"core":{"sourceId":"Item.jeMLhLTJhTU6TJ58"}},"_stats":{"systemId":"fvtt-mournblade","systemVersion":"10.0.9","coreVersion":"10.286","createdTime":1664572521380,"modifiedTime":1664573703190,"lastModifiedBy":"1Hr6ON03ooIXzvIm"},"folder":null,"sort":0,"_id":"bqDEyPj9OlGnEJsr"}
|
||||||
{"name":"Marteau de guerre","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","bonusmaniementoff":0,"bonusmaniementdef":0,"degats":"1d8 + 2","deuxmains":false,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":6,"prix":70},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.6n2uSdYfRAsSqQnA"}},"_id":"freCCeiYGfWmUAQU"}
|
{"_id":"c6l49ZmEBjUxfI3W","name":"Arme improvisée","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.E7gcmnNQK2t5OQjv"}},"system":{"description":"","typearme":"contact","isdefense":true,"bonusmaniementoff":0,"bonusmaniementdef":0,"degats":"1d6","nonletaux":true,"deuxmains":false,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":0,"prix":0,"equipped":false},"ownership":{"default":0,"RiMAsQHaUMojde7N":3},"_stats":{"systemId":"fvtt-mournblade","systemVersion":"10.0.9","coreVersion":"10.286","createdTime":1664572964298,"modifiedTime":1664573659386,"lastModifiedBy":"1Hr6ON03ooIXzvIm"}}
|
||||||
{"name":"Sabre de Pan Tang","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"<p>Ce long sabre effi lé sert aux Cavaliers démoniaques de Pan Tang pour couper les têtes depuis le dos de leurs monstrueuses montures reptiliennes à six pattes.</p>","typearme":"contact","bonusmaniementoff":2,"bonusmaniementdef":0,"degats":"1d10 + 2","deuxmains":false,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":8,"prix":120},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.l3ffzso7GyHMKguD"}},"_id":"j5659PJlrHz56V1k"}
|
{"name":"Arc de guerre","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.Tq6lUFPTkBN5cBwn"}},"_id":"cKf5z3fajUnxJh0r","system":{"description":"","typearme":"tir","isdefense":false,"bonusmaniementoff":0,"bonusmaniementdef":0,"degats":"1d10 + 1","nonletaux":false,"deuxmains":false,"courte":30,"moyenne":50,"longue":100,"tr":1,"rarete":6,"prix":70,"equipped":false},"ownership":{"default":0,"RiMAsQHaUMojde7N":3},"_stats":{"systemId":"fvtt-mournblade","systemVersion":"10.0.9","coreVersion":"10.286","createdTime":1664572964298,"modifiedTime":1664573659385,"lastModifiedBy":"1Hr6ON03ooIXzvIm"}}
|
||||||
{"name":"Hallebarde","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","bonusmaniementoff":0,"bonusmaniementdef":2,"degats":"2d6","deuxmains":true,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":7,"prix":150},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.ZTdyIoMzE9kqm4e6"}},"_id":"lYtm5MwP96numskx"}
|
{"name":"Targe","type":"bouclier","img":"systems/fvtt-mournblade/assets/icons/protection.webp","system":{"description":"","bonusdefense":1,"degats":"1d4","nonletaux":"false","rarete":4,"prix":2,"equipped":false},"effects":[],"ownership":{"default":0,"1Hr6ON03ooIXzvIm":3},"flags":{"core":{"sourceId":"Item.9rJkBsRltxH08QT8"}},"_stats":{"systemId":"fvtt-mournblade","systemVersion":"10.0.9","coreVersion":"10.286","createdTime":1664572521380,"modifiedTime":1664573712553,"lastModifiedBy":"1Hr6ON03ooIXzvIm"},"folder":null,"sort":0,"_id":"cZorS8WAKNS0dN0T"}
|
||||||
{"name":"Lance melnibonéenne","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"<p>La lance melnibonéenne, faite pour le combat à cheval ou à dos de dragon, ressemble à une lance ordinaire. Son fer est cependant plus fi n et plus étroit. Avant la chute d’Imrryr, il est quasi impossible de se procurer de telles armes sur les marchés des Jeunes Royaumes. Elles peuvent être maniées à une main comme lors des joutes à cheval ou à deux mains au cœur des mêlées.</p>","typearme":"contact","bonusmaniementoff":1,"bonusmaniementdef":2,"degats":"2d6+ 4","deuxmains":true,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":10,"prix":70},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.KAl5qXHeYDoYRU6G"}},"_id":"mQGT0vmDjoTZCW5u"}
|
{"_id":"fLHX6ut131CQI630","name":"Main gauche","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.BBii0qi1unvSRNO4"}},"system":{"description":"","typearme":"contact","isdefense":true,"bonusmaniementoff":0,"bonusmaniementdef":3,"degats":"1d4 + 1","nonletaux":false,"deuxmains":false,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":8,"prix":10,"equipped":false},"ownership":{"default":0,"RiMAsQHaUMojde7N":3},"_stats":{"systemId":"fvtt-mournblade","systemVersion":"10.0.9","coreVersion":"10.286","createdTime":1664572964298,"modifiedTime":1664573659389,"lastModifiedBy":"1Hr6ON03ooIXzvIm"}}
|
||||||
{"name":"Arc en os","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"<p>Arc composite recourbé fait de bois, d’os et d’acier, l’arc en os melnibonéen est une arme extraordinairement puissante entre les mains d’un guerrier melnibonéen ou d’un archer esclave du Glorieux Empire. On peut se le procurer dans les Jeunes Royaumes après la chute d’Imrryr.</p>","typearme":"tir","bonusmaniementoff":3,"bonusmaniementdef":0,"degats":"1d8 + 1","deuxmains":false,"courte":30,"moyenne":60,"longue":125,"tr":2,"rarete":10,"prix":500},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.Dy9dzVhXbNAVm3zn"}},"_id":"nzve5qucVN6FC5wn"}
|
{"_id":"freCCeiYGfWmUAQU","name":"Marteau de guerre","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.6n2uSdYfRAsSqQnA"}},"system":{"description":"","typearme":"contact","isdefense":true,"bonusmaniementoff":0,"bonusmaniementdef":0,"degats":"1d8 + 2","nonletaux":false,"deuxmains":false,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":6,"prix":70,"equipped":false},"ownership":{"default":0,"RiMAsQHaUMojde7N":3},"_stats":{"systemId":"fvtt-mournblade","systemVersion":"10.0.9","coreVersion":"10.286","createdTime":1664572964298,"modifiedTime":1664573659389,"lastModifiedBy":"1Hr6ON03ooIXzvIm"}}
|
||||||
{"name":"Bâton ferré ou lesté","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","bonusmaniementoff":1,"bonusmaniementdef":2,"degats":"1D8","deuxmains":true,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":0,"prix":1},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.zoBHSbvJPnjbtPh6"}},"_id":"sHj90bPcMaDlOw51"}
|
{"_id":"j5659PJlrHz56V1k","name":"Sabre de Pan Tang","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.l3ffzso7GyHMKguD"}},"system":{"description":"<p>Ce long sabre effi lé sert aux Cavaliers démoniaques de Pan Tang pour couper les têtes depuis le dos de leurs monstrueuses montures reptiliennes à six pattes.</p>","typearme":"contact","isdefense":true,"bonusmaniementoff":2,"bonusmaniementdef":0,"degats":"1d10 + 2","nonletaux":false,"deuxmains":false,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":8,"prix":120,"equipped":false},"ownership":{"default":0,"RiMAsQHaUMojde7N":3},"_stats":{"systemId":"fvtt-mournblade","systemVersion":"10.0.9","coreVersion":"10.286","createdTime":1664572964299,"modifiedTime":1664573659390,"lastModifiedBy":"1Hr6ON03ooIXzvIm"}}
|
||||||
{"name":"Épée courte / Glaive","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","bonusmaniementoff":2,"bonusmaniementdef":1,"degats":"1D6+1","deuxmains":false,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":4,"prix":40},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.Mxv5gMHRvRrsuhPA"}},"_id":"sju2r73hUHyGbHYg"}
|
{"_id":"lYtm5MwP96numskx","name":"Hallebarde","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.ZTdyIoMzE9kqm4e6"}},"system":{"description":"","typearme":"contact","isdefense":true,"bonusmaniementoff":0,"bonusmaniementdef":2,"degats":"2d6","nonletaux":false,"deuxmains":true,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":7,"prix":150,"equipped":false},"ownership":{"default":0,"RiMAsQHaUMojde7N":3},"_stats":{"systemId":"fvtt-mournblade","systemVersion":"10.0.9","coreVersion":"10.286","createdTime":1664572964299,"modifiedTime":1664573659389,"lastModifiedBy":"1Hr6ON03ooIXzvIm"}}
|
||||||
{"name":"Faucheur","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","bonusmaniementoff":2,"bonusmaniementdef":1,"degats":"1d4 + 1","deuxmains":false,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":7,"prix":100},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.OlmzE29fh9DFd8TF"}},"_id":"t2uQcWe7kirUOp3D"}
|
{"_id":"mQGT0vmDjoTZCW5u","name":"Lance melnibonéenne","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.KAl5qXHeYDoYRU6G"}},"system":{"description":"<p>La lance melnibonéenne, faite pour le combat à cheval ou à dos de dragon, ressemble à une lance ordinaire. Son fer est cependant plus fi n et plus étroit. Avant la chute d’Imrryr, il est quasi impossible de se procurer de telles armes sur les marchés des Jeunes Royaumes. Elles peuvent être maniées à une main comme lors des joutes à cheval ou à deux mains au cœur des mêlées.</p>","typearme":"contact","isdefense":true,"bonusmaniementoff":1,"bonusmaniementdef":2,"degats":"2d6+ 4","nonletaux":false,"deuxmains":true,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":10,"prix":70,"equipped":false},"ownership":{"default":0,"RiMAsQHaUMojde7N":3},"_stats":{"systemId":"fvtt-mournblade","systemVersion":"10.0.9","coreVersion":"10.286","createdTime":1664572964299,"modifiedTime":1664573659389,"lastModifiedBy":"1Hr6ON03ooIXzvIm"}}
|
||||||
{"name":"Fléau lourd","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","bonusmaniementoff":1,"bonusmaniementdef":0,"degats":"1d10+ 3","deuxmains":true,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":7,"prix":150},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.vDDw0qqM1Kg7Pu6T"}},"_id":"uatjBTFCE5ZCqhAd"}
|
{"name":"Arc en os","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.Dy9dzVhXbNAVm3zn"}},"_id":"nzve5qucVN6FC5wn","system":{"description":"<p>Arc composite recourbé fait de bois, d’os et d’acier, l’arc en os melnibonéen est une arme extraordinairement puissante entre les mains d’un guerrier melnibonéen ou d’un archer esclave du Glorieux Empire. On peut se le procurer dans les Jeunes Royaumes après la chute d’Imrryr.</p>","typearme":"tir","isdefense":false,"bonusmaniementoff":3,"bonusmaniementdef":0,"degats":"1d8 + 1","nonletaux":false,"deuxmains":false,"courte":30,"moyenne":60,"longue":125,"tr":2,"rarete":10,"prix":500,"equipped":false},"ownership":{"default":0,"RiMAsQHaUMojde7N":3},"_stats":{"systemId":"fvtt-mournblade","systemVersion":"10.0.9","coreVersion":"10.286","createdTime":1664572964299,"modifiedTime":1664573659385,"lastModifiedBy":"1Hr6ON03ooIXzvIm"}}
|
||||||
{"name":"Hache","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","bonusmaniementoff":2,"bonusmaniementdef":0,"degats":"1d6 + 2","deuxmains":false,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":2,"prix":30},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.2MwgptY2kE4tgYBe"}},"_id":"v7ymzlEALvsk0poA"}
|
{"_id":"sHj90bPcMaDlOw51","name":"Bâton ferré ou lesté","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.zoBHSbvJPnjbtPh6"}},"system":{"description":"","typearme":"contact","isdefense":true,"bonusmaniementoff":1,"bonusmaniementdef":2,"degats":"1D8","nonletaux":true,"deuxmains":true,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":0,"prix":1,"equipped":false},"ownership":{"default":0,"RiMAsQHaUMojde7N":3},"_stats":{"systemId":"fvtt-mournblade","systemVersion":"10.0.9","coreVersion":"10.286","createdTime":1664572964299,"modifiedTime":1664573659386,"lastModifiedBy":"1Hr6ON03ooIXzvIm"}}
|
||||||
{"name":"Épée large","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","bonusmaniementoff":2,"bonusmaniementdef":1,"degats":"1d6+ 2","deuxmains":false,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":5,"prix":70},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.iuAizxCvnUxmsjrn"}},"_id":"wWk0Wfer06Ttmouv"}
|
{"_id":"sju2r73hUHyGbHYg","name":"Épée courte / Glaive","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.Mxv5gMHRvRrsuhPA"}},"system":{"description":"","typearme":"contact","isdefense":true,"bonusmaniementoff":2,"bonusmaniementdef":1,"degats":"1D6+1","nonletaux":false,"deuxmains":false,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":4,"prix":40,"equipped":false},"ownership":{"default":0,"RiMAsQHaUMojde7N":3},"_stats":{"systemId":"fvtt-mournblade","systemVersion":"10.0.9","coreVersion":"10.286","createdTime":1664572964300,"modifiedTime":1664573659386,"lastModifiedBy":"1Hr6ON03ooIXzvIm"}}
|
||||||
{"name":"Épée longue","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","bonusmaniementoff":2,"bonusmaniementdef":0,"degats":"2d6 + 1","deuxmains":true,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":8,"prix":250},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.yiYtZ0sCUpMihvzz"}},"_id":"wv5EiePmPTpqFutt"}
|
{"_id":"t2uQcWe7kirUOp3D","name":"Faucheur","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.OlmzE29fh9DFd8TF"}},"system":{"description":"","typearme":"contact","isdefense":true,"bonusmaniementoff":2,"bonusmaniementdef":1,"degats":"1d4 + 1","nonletaux":false,"deuxmains":false,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":7,"prix":100,"equipped":false},"ownership":{"default":0,"RiMAsQHaUMojde7N":3},"_stats":{"systemId":"fvtt-mournblade","systemVersion":"10.0.9","coreVersion":"10.286","createdTime":1664572964300,"modifiedTime":1664573659386,"lastModifiedBy":"1Hr6ON03ooIXzvIm"}}
|
||||||
|
{"_id":"uatjBTFCE5ZCqhAd","name":"Fléau lourd","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.vDDw0qqM1Kg7Pu6T"}},"system":{"description":"","typearme":"contact","isdefense":true,"bonusmaniementoff":1,"bonusmaniementdef":0,"degats":"1d10+ 3","nonletaux":false,"deuxmains":true,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":7,"prix":150,"equipped":false},"ownership":{"default":0,"RiMAsQHaUMojde7N":3},"_stats":{"systemId":"fvtt-mournblade","systemVersion":"10.0.9","coreVersion":"10.286","createdTime":1664572964300,"modifiedTime":1664573659387,"lastModifiedBy":"1Hr6ON03ooIXzvIm"}}
|
||||||
|
{"_id":"v7ymzlEALvsk0poA","name":"Hache","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.2MwgptY2kE4tgYBe"}},"system":{"description":"","typearme":"contact","isdefense":true,"bonusmaniementoff":2,"bonusmaniementdef":0,"degats":"1d6 + 2","nonletaux":false,"deuxmains":false,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":2,"prix":30,"equipped":false},"ownership":{"default":0,"RiMAsQHaUMojde7N":3},"_stats":{"systemId":"fvtt-mournblade","systemVersion":"10.0.9","coreVersion":"10.286","createdTime":1664572964300,"modifiedTime":1664573659388,"lastModifiedBy":"1Hr6ON03ooIXzvIm"}}
|
||||||
|
{"_id":"wWk0Wfer06Ttmouv","name":"Épée large","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.iuAizxCvnUxmsjrn"}},"system":{"description":"","typearme":"contact","isdefense":true,"bonusmaniementoff":2,"bonusmaniementdef":1,"degats":"1d6+ 2","nonletaux":false,"deuxmains":false,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":5,"prix":70,"equipped":false},"ownership":{"default":0,"RiMAsQHaUMojde7N":3},"_stats":{"systemId":"fvtt-mournblade","systemVersion":"10.0.9","coreVersion":"10.286","createdTime":1664572964300,"modifiedTime":1664573659386,"lastModifiedBy":"1Hr6ON03ooIXzvIm"}}
|
||||||
|
{"_id":"wv5EiePmPTpqFutt","name":"Épée longue","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.yiYtZ0sCUpMihvzz"}},"system":{"description":"","typearme":"contact","isdefense":true,"bonusmaniementoff":2,"bonusmaniementdef":0,"degats":"2d6 + 1","nonletaux":false,"deuxmains":true,"courte":0,"moyenne":0,"longue":0,"tr":0,"rarete":8,"prix":250,"equipped":false},"ownership":{"default":0,"RiMAsQHaUMojde7N":3},"_stats":{"systemId":"fvtt-mournblade","systemVersion":"10.0.9","coreVersion":"10.286","createdTime":1664572964301,"modifiedTime":1664573659386,"lastModifiedBy":"1Hr6ON03ooIXzvIm"}}
|
||||||
|
BIN
packs/armes/000212.ldb
Normal file
0
packs/armes/000219.log
Normal file
1
packs/armes/CURRENT
Normal file
@ -0,0 +1 @@
|
|||||||
|
MANIFEST-000217
|
0
packs/armes/LOCK
Normal file
8
packs/armes/LOG
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
2024/09/10-07:14:44.885743 7f7ed4e006c0 Recovering log #215
|
||||||
|
2024/09/10-07:14:44.956966 7f7ed4e006c0 Delete type=3 #213
|
||||||
|
2024/09/10-07:14:44.957144 7f7ed4e006c0 Delete type=0 #215
|
||||||
|
2024/09/10-07:20:33.463210 7f7ecd6006c0 Level-0 table #220: started
|
||||||
|
2024/09/10-07:20:33.463253 7f7ecd6006c0 Level-0 table #220: 0 bytes OK
|
||||||
|
2024/09/10-07:20:33.501220 7f7ecd6006c0 Delete type=0 #218
|
||||||
|
2024/09/10-07:20:33.538862 7f7ecd6006c0 Manual compaction at level-0 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end)
|
||||||
|
2024/09/10-07:20:33.538937 7f7ecd6006c0 Manual compaction at level-1 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end)
|
8
packs/armes/LOG.old
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
2024/09/09-21:51:17.138004 7f7ecf4006c0 Recovering log #210
|
||||||
|
2024/09/09-21:51:17.149501 7f7ecf4006c0 Delete type=3 #208
|
||||||
|
2024/09/09-21:51:17.149609 7f7ecf4006c0 Delete type=0 #210
|
||||||
|
2024/09/09-21:52:48.597265 7f7ecd6006c0 Level-0 table #216: started
|
||||||
|
2024/09/09-21:52:48.597313 7f7ecd6006c0 Level-0 table #216: 0 bytes OK
|
||||||
|
2024/09/09-21:52:48.604438 7f7ecd6006c0 Delete type=0 #214
|
||||||
|
2024/09/09-21:52:48.611351 7f7ecd6006c0 Manual compaction at level-0 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end)
|
||||||
|
2024/09/09-21:52:48.611418 7f7ecd6006c0 Manual compaction at level-1 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end)
|
BIN
packs/armes/MANIFEST-000217
Normal file
30
packs/dons.db
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
{"name":"Protection du Sorcier","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>L’Élu est protégé contre les attaques des créatures nées ou invoquées par la sorcellerie (un type d’Élémentaire, les Démons, les Automata…). La protection dont il bénéficie dépend du nombre de points d’Âme sacrifiés.</p>","allegeance":"chaos","prerequis":"6 ou plus en Trempe.","sacrifice":"<ul>\n<li>1 point d’Âme pour 1 point de protection. Accès réservé aux Novices et aux Adeptes.</li>\n<li>2 points d’Âme pour 2 points de protection. Accès réservé aux Chevaliers et aux Hérauts.</li>\n<li>3 points d’Âme pour un 3 points de protection. Accès réservé aux Champions.</li>\n</ul>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.WUPne9oDFTcdLtW9"}},"_id":"5dGXNiL3WN4cAk7X"}
|
||||||
|
{"name":"Conscience extraplanaire","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>L’Élu a conscience du tissu de la réalité. Il peut percevoir les passages et les portails menant vers d’autres plans dans une zone de 10 mètres par point d’Aspect chaotique grâce à un simple test de Clairvoyance + Perception / 15. S’il ignore l’existence de ce passage et qu’il passe devant, le MJ peut faire un test de Clairvoyance + Perception / 25 pour l’Élu derrière son écran.</p>","allegeance":"chaos","prerequis":"6 ou plus en Clairvoyance.","sacrifice":"<p>1 point d’Âme.</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.1nIGWsNtx1NKxjPn"}},"_id":"5v0Y35LzqfAd0KnX"}
|
||||||
|
{"name":"Santé renforcée (Loi)","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>Les points de Santé de l’Élu sont recalculés en ajoutant à [(Puissance + Trempe) x 2]+ 5 le nombre de points d’Âme sacrifiés. Ce Don ne peut être pris qu’une seule fois même si l’Élu conclut plusieurs Pactes.</p>","allegeance":"loi","prerequis":"6 ou plus en Trempe.","sacrifice":"<p>1 point d’Âme par point de Santé supplémentaire, pour un maximum égal à l’Aspect du personnage.</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.4ow7N6kdAWXbTApf"}},"_id":"6IS4zstVwJxG2lwy"}
|
||||||
|
{"name":"Repos de l’Âme","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>L’Élu récupère deux fois plus vite ses points d’Âme, soit 2 par heure et 4 en cas de repos.</p>","allegeance":"chaos","prerequis":"6 ou plus en Présence.","sacrifice":"<p>3 points d’Âme.</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.KXciI0xwd6gSOLcZ"}},"_id":"8WLUjxBJtd33mZFp"}
|
||||||
|
{"name":"Trait chaotique","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>L’Élu gagne un trait du Chaos qu’il tire au hasard dans le tableau de la page 185 avec un d20. Il peut prendre ce Don trois fois. S’il tire un trait qu’il possède déjà, il doit relancer le d20. Ces traits sont permanents et définitifs, à moins que les Seigneurs du Chaos n’en décident autrement, notamment si l’Élu les dissimule trop à leur goût alors qu’il n’y est pas absolument contraint par des impératifs de survie immédiats.</p>","allegeance":"chaos","prerequis":"aucun","sacrifice":"<p>2 points d’Âme par Trait chaotique. L’Élu ne peut en avoir plus que sa Marge.</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.BKzeOjGA13wQgO0S"}},"_id":"BuZM5BnSaPIGEiEq"}
|
||||||
|
{"name":"Guérison","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>L’Élu régénère rapidement. Chaque jour de repos, il regagne un nombre de points de Santé égal à sa Trempe /2 + son Aspect.</p>","allegeance":"loi","prerequis":"6 ou plus en Trempe.","sacrifice":"<p>3 point d’Âme.</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.yvY0G3PffZWEl92R"}},"_id":"Eme2iVAF670LCeIH"}
|
||||||
|
{"name":"Aide Élémentaire","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>Ce Don permet d’appeler un Élémentaire à son secours une fois par scénario. La Puissance de l’Élémentaire est fi xée lors de l’octroi du Don. La nature de l’Élémentaire correspond à celle du Seigneur Élémentaire avec lequel le Pacte a été passé. Ce Don ne peut être pris qu’une fois par Seigneur Élémentaire vénéré.</p>","allegeance":"elementaires","prerequis":"","sacrifice":"<ul>\n<li>1 point d’Âme pour un Élémentaire mineur disposant de 5 points d’Âme. Accès réservé aux Novices et aux Adeptes.</li>\n<li>3 points d’Âme pour un Élémentaire médian disposant de 10 points d’Âme. Accès réservé aux Chevaliers et aux Hérauts.</li>\n<li>5 points d’Âme pour un Élémentaire majeur disposant de 15 points d’Âme. Accès réservé aux Champions.</li>\n</ul>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.Wo42z8L33wLerUM8"}},"_id":"JAkSopwrh4QmKrPY"}
|
||||||
|
{"name":"Augmentation du modificateur de dégâts","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>Les dégâts causés par l’Élu bénéficient d’un bonus pour <em>un type d’armes donné</em>. Le bonus dépend du nombre de points d’Âme sacrifiés.</p>","allegeance":"loi","prerequis":"6 ou plus en Puissance.","sacrifice":"<ul>\n<li>1 point d’Âme pour un bonus de + 1. Accès réservé aux Novices et aux Adeptes.</li>\n<li>3 points d’Âme pour un bonus de + 2. Accès réservé aux Chevaliers et aux Hérauts.</li>\n<li>5 points d’Âme pour un bonus de + 3. Accès réservé aux Champions.</li>\n</ul>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.bqdkbOf7EsdsCRqu"}},"_id":"K4H2VC0jTCy7pYj7"}
|
||||||
|
{"name":"L’exemple du Juste","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>L’Élu est un exemple rayonnant pour ses camarades. Une fois par scénario, si l’Élu adresse pendant un tour de jeu une prière à une divinité de la Loi, lui et ses camarades (une dizaine tout au plus) seront bénis et recevront jusqu’à la fin de la scène un bonus à toutes leurs actions.</p>","allegeance":"loi","prerequis":"6 ou plus en Trempe.","sacrifice":"<ul>\n<li>1 point d’Âme pour un bonus de + 1. Accès réservé aux Novices et aux Adeptes.</li>\n<li>2 points d’Âme pour un bonus de + 2. Accès réservé aux Chevaliers et aux Hérauts.</li>\n<li>3 points d’Âme pour un bonus de + 3. Accès réservé aux Champions. </li>\n</ul>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.C5ofSFNXoXZFo8ak"}},"_id":"KlfScJjqvlPtkcdZ"}
|
||||||
|
{"name":"Abstinence","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>L’Élu peut survivre en se privant d’un élément vital (nourriture, eau, sommeil, mais pas air) pendant un certain temps. La durée de ce pouvoir dépend du nombre de points d’Âme sacrifiés.</p>","allegeance":"tous","prerequis":"6 ou plus en Trempe","sacrifice":"<ul>\n<li>2 points d’Âme pour un jour. Accès réservé aux Novices et aux Adeptes.</li>\n<li>6 points d’Âme pour une semaine. Accès réservé aux Che\u0002valiers et aux Hérauts.</li>\n<li>10 points d’Âme pour un mois. Accès réservé aux Cham\u0002pions.</li>\n</ul>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.Q4Sy7vOGgU7Zgi9p"}},"_id":"OJKMNtFsuVgkV3gh"}
|
||||||
|
{"name":"Rupture Chaotique","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>Lorsque l’Élu manie un certain type d’armes, il peut ajouter un bonus à son initiative ou bénéficier d’un bonus aux dégâts lors d’un combat, une fois par séance de jeu.</p>","allegeance":"chaos","prerequis":"6 ou plus en Puissance.","sacrifice":"<ul>\n<li>1 point d’Âme pour un bonus de + 1 aux dégâts ou + 5 en initiative. Accès réservé aux Novices et aux Adeptes.</li>\n<li>3 points d’Âme pour un bonus de + 2 aux dégâts ou + 7 en initiative. Accès réservé aux Chevaliers et aux Hérauts.</li>\n<li>5 points d’Âme pour un bonus de + 3 aux dégâts ou + 10 en initiative. Accès réservé aux Champions.</li>\n</ul>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.gMI6F4qY5Fi6okZ7"}},"_id":"Q1xDyjQy59lr5wAG"}
|
||||||
|
{"name":"Sens du Pur","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>L’Élu a immédiatement conscience de la présence passée ou actuelle du Chaos (sortilège à l’œuvre, puissant serviteur…). Le personnage est très sensible aux émanations chaotiques, elles lui soulèvent le cœur. La distance de détection peut aug\u0002menter en sacrifiant davantage de points d’Âme</p>","allegeance":"loi","prerequis":"6 ou plus en Adresse ou Clairvoyance.","sacrifice":"<ul>\n<li>1 point d’Âme pour détecter les ennemis dans un rayon de 10 mètres. Accès réservé aux Novices et aux Adeptes.</li>\n<li>2 points d’Âme pour détecter les ennemis dans un rayon de 100 mètres. Accès réservé aux Chevaliers et aux Hérauts.</li>\n<li>3 points d’Âme pour détecter les ennemis dans un rayon de 1000 mètres. Accès réservé aux Champions.</li>\n</ul>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.tp2435vHrj63GeAK"}},"_id":"RYgdBIikcBfN8xAp"}
|
||||||
|
{"name":"Gardien des Millions de Sphères","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>L’Élu a conscience du tissu de la réalité. Il peut sceller, par de longues prières psalmodiées, les passages et les portails donnant sur d’autres plans du Multivers. Cette action lui coûte le sacrifice d’un point d’Éclat. Tant que sa concentration reste tournée vers ce passage, le portail demeure scellé, comme si Donblas lui-même le gardait. Mais dès que le personnage s’endort, la porte, bien que fermée, n’est plus scellée. Certains plans très importants possèdent plusieurs passages menant vers les Jeunes Royaumes.</p>","allegeance":"loi","prerequis":"6 ou plus en Clairvoyance.","sacrifice":"<p>5 points d’Âme.</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.tm1fjaETqhMAldqJ"}},"_id":"TKCaHLHccYw7JvFy"}
|
||||||
|
{"name":"Vivacité","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>Lors d’un test de Capacité Offensive, l’Élu voit la marge nécessaire à l’obtention d’une réussite héroïque diminuer de 1 (9 ou plus), de 2 (8 ou plus) ou de 3 (7 ou plus). </p>","allegeance":"tous","prerequis":"6 ou plus en Adresse ou Clairvoyance.","sacrifice":"<ul>\n<li>3 points d’Âme pour diminuer la marge de 1 (réussite héroïque sur 9 ou plus). Accès réservé aux Novices et aux Adeptes.</li>\n<li>5 points d’Âme pour diminuer la marge de 2 (réussite héroïque sur 8 ou plus). Accès réservé aux Chevaliers et aux Hérauts.</li>\n<li>7 points d’Âme pour diminuer la marge de 3 (réussite héroïque sur 7 ou plus). Accès réservé aux Champions.</li>\n</ul>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.GlhqSASDW0XdR243"}},"_id":"XaJAo8otOXmgtjzA"}
|
||||||
|
{"name":"Augmentation de compétence (Chaos)","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>Ce Don permet d’augmenter une compétence importante pour la voie spirituelle choisie. Le bonus octroyé dépend du nombre de points d’Âme sacrifi és. Ce Don peut être choisi plusieurs fois, mais il ne peut s’appliquer qu’une fois par compétence. </p>","allegeance":"chaos","prerequis":"6 ou plus en Clairvoyance.","sacrifice":"<ul>\n<li>1 point d’Âme pour un + 1 à une compétence. Accès réservé aux Novices et aux Adeptes.</li>\n<li>2 points d’Âme pour un + 2 à une compétence. Accès réservé aux Chevaliers et aux Hérauts.</li>\n<li>3 points d’Âme pour un + 3 à une compétence. Accès réservé aux Champions.</li>\n</ul>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.75OYBq5iGgdXVQcA"}},"_id":"aP4vSk6WOL4wXyyb"}
|
||||||
|
{"name":"Dur à cuire","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>L’Élu résiste aux effets liés à la fatigue et à la maladie. Le béné\u0002fi ciaire de ce Don a droit à un bonus de + 1 lors de ses tests de Trempe pour résister à la fatigue et à la maladie. Ce bonus peut augmenter en sacrifi ant davantage de points d’Âme.</p>","allegeance":"tous","prerequis":"6 ou plus en Trempe.","sacrifice":"<ul>\n<li>1 point d’Âme pour un bonus de + 2. Accès réservé aux Novices et aux Adeptes.</li>\n<li>2 points d’Âme pour un bonus de + 3. Accès réservé aux Chevaliers et aux Hérauts.</li>\n<li>3 points d’Âme pour un bonus de + 4. Accès réservé aux Champions.</li>\n</ul>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.jNeLj9DyylUj7LAl"}},"_id":"gK3glTgKTKRw9ref"}
|
||||||
|
{"name":"Animal apprivoisé","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>Le croyant se voit confier un animal normal (c’est-à-dire non surnaturel). L’animal apprivoisé est un membre standard de son espèce et obéit à des ordres simples, mais sans jamais aller contre sa nature. Le coût de ce Don dépend de la Puissance de la créature qui est fixée lors de son octroi. Si 1 point d’Âme supplémentaire est investi, la créature peut communiquer télé\u0002pathiquement avec son maître (et uniquement avec lui).</p>","allegeance":"betes","prerequis":"6 ou plus en Présence.","sacrifice":"<ul>\n<li>1 point d’Âme pour une créature d’une Puissance de 0 à 4. Accès réservé aux Novices et aux Adeptes.</li>\n<li>3 points d’Âme pour une créature d’une Puissance de 5 à 7. Accès réservé aux Chevaliers et aux Hérauts.</li>\n<li>5 points d’Âme pour une créature d’une Puissance de 8 à 10. Accès réservé aux Champions.</li>\n</ul>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.qDUei4wRjpRYi9Ps"}},"_id":"gN7DtvMJPASpPpQl"}
|
||||||
|
{"name":"Protection du Mage","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>L’Élu est protégé contre les attaques des créatures engendrées ou invoquées par la Sorcellerie (les Élémentaires, les Démons, les Automata…). La protection dont il bénéficie dépend du nombre de points d’Âme sacrifiés.</p>","allegeance":"loi","prerequis":"6 ou plus en Trempe.","sacrifice":"<ul>\n<li>1 point d’Âme pour 1 point de protection. Accès réservé aux Novices et aux Adeptes.</li>\n<li>2 points d’Âme pour 2 points de protection. Accès réservé aux Chevaliers et aux Hérauts.</li>\n<li>3 points d’Âme pour un 3 points de protection. Accès réservé aux Champions.</li>\n</ul>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.NVIG52HOiWGm6JcW"}},"_id":"j7iTQOFdiJUviTC9"}
|
||||||
|
{"name":"Sang-Froid","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>L’Élu peut supporter n’importe quel type de souffrance psy\u0002chique. Il ne subit pas les pénalités dues à l’état Déstabilisé (– 2) et Choqué (– 5). Il est immunisé à la torture mentale.</p>","allegeance":"chaos","prerequis":"6 ou plus en Trempe.","sacrifice":"<p>1 point d’Âme.</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.KvdQLDhSpfAd2Iig"}},"_id":"lWXxInM05EiBu6uX"}
|
||||||
|
{"name":"Dur à cuire (Chaos)","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>L’Élu résiste aux effets liés à la fatigue et à la maladie. Le bénéfi ciaire de ce Don a droit à un bonus de + 1 lors de ses tests de Trempe pour résister à la fatigue et à la maladie. Ce bonus peut augmenter en sacrifi ant davantage de points d’Âme.</p>","allegeance":"chaos","prerequis":"6 ou plus en Trempe.","sacrifice":"<ul>\n<li>1 point d’Âme pour un bonus de + 1. Accès réservé aux Novices et aux Adeptes.</li>\n<li>2 points d’Âme pour un bonus de + 2. Accès réservé aux Chevaliers et aux Hérauts.</li>\n<li>3 points d’Âme pour un bonus de + 3.Accès réservé aux Champions.</li>\n</ul>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.E0kyJQ5gqCEcm0Aj"}},"_id":"oAKqbsLVd8cX4tjN"}
|
||||||
|
{"name":"Augmentation de compétence","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>Ce Don permet d’augmenter une compétence relative à la voie spirituelle choisie. Le bonus octroyé dépend du nombre de points d’Âme sacrifi és. Ce Don peut être choisi plusieurs fois, mais il ne peut s’appliquer qu’une fois par compétence. </p>","allegeance":"tous","prerequis":"6 ou plus en Clairvoyance.","sacrifice":"<ul>\n<li>1 point d’Âme pour un + 1 à une compétence. Accès réservé aux Novices et aux Adeptes.</li>\n<li>2 points d’Âme pour un + 2 à une compétence. Accès réservé aux Chevaliers et aux Hérauts.</li>\n<li>3 points d’Âme pour un + 3 à une compétence. Accès réservé aux Champions.</li>\n</ul>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.djDFklKJaW1oVTds"}},"_id":"pPNKneH7scfaEmGq"}
|
||||||
|
{"name":"Augmentation de compétence (Loi)","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>Ce Don permet d’augmenter une compétence importante pour la voie spirituelle choisie. Le bonus octroyé dépend du nombre de points d’Âme sacrifiés. Ce Don peut être choisi plusieurs fois mais il ne peut s’appliquer qu’une fois par compétence.</p>","allegeance":"loi","prerequis":"6 ou plus en Clairvoyance.","sacrifice":"<ul>\n<li>1 point d’Âme pour un + 1 à une compétence. Accès réservé aux Novices et aux Adeptes.</li>\n<li>2 points d’Âme pour un + 2 à une compétence. Accès réservé aux Chevaliers et aux Hérauts.</li>\n<li>3 points d’Âme pour un + 3 à une compétence. Accès réservé aux Champions.</li>\n</ul>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.gNL9lD7hofK32H7D"}},"_id":"qhOE8OTe5hNNgDtt"}
|
||||||
|
{"name":"Santé renforcée","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>Les points de Santé de l’Élu sont recalculés en ajoutant à [(Puissance + Trempe) x 2]+ 5 le nombre de points d’Âme sacrifiés. Ce Don ne peut être pris qu’une seule fois même si l’Élu conclut plusieurs Pactes.</p>","allegeance":"tous","prerequis":"6 ou plus en Trempe.","sacrifice":"<p>1 point d’Âme par point de Santé supplémentaire.</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.dJnYsDcETkidd2s5"}},"_id":"sLgGn6zhkDdbpQlH"}
|
||||||
|
{"name":"Rectitude","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>L’Élu peut supporter n’importe quel type de souffrance. Il ne subit pas les pénalités dues à l’état Blessé (-2) et Gravement Blessé (-5). Il est immunisé contre la torture.</p>","allegeance":"loi","prerequis":"6 ou plus en Trempe.","sacrifice":"<p>1 point d’Âme.</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.HpoTP9idEKi1NQGL"}},"_id":"t7Ez0rzqYOf48GfY"}
|
||||||
|
{"name":"La voie du milieu","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>Lors d’un combat, l’Élu ne subit plus les effets d’une réussite héroïque contre lui lors des tests de Capacité offensive. Il n’en profite plus non plus. À un haut niveau, il ne peut plus être affecté par les échecs dramatiques.</p>","allegeance":"loi","prerequis":"6 ou plus en Adresse ou Clairvoyance.","sacrifice":"<ul>\n<li>3 points d’Âme pour ne plus être affecté par les réussite héroïques.</li>\n<li>7 points d’Âme pour ne plus être affecté ni par les réus\u0002sites héroïques ni par les échecs dramatiques. Accès réser\u0002vé aux Champions</li>\n</ul>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.rOXDZ2020snvhtR2"}},"_id":"taXCPXiPEuOIKaUO"}
|
||||||
|
{"name":"Perfection","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>L’un des attributs de l’Élu est augmenté, grâce à la bienveil\u0002lance de la divinité. Il ne peut dépasser le maximum imposé par l’espèce. Ce Don peut être choisi plusieurs fois, mais il ne peut s’appliquer qu’une fois par attribut.</p>","allegeance":"tous","prerequis":"6 ou plus dans l’attribut modifié.","sacrifice":"<ul>\n<li>3 points d’Âme pour un bonus de + 1. Accès réservé aux Novices et aux Adeptes.</li>\n<li>6 points d’Âme pour un bonus de + 2. Accès réservé aux Chevaliers et aux Hérauts.</li>\n<li>9 points d’Âme pour un bonus de + 3. Accès réservé aux Champions.</li>\n</ul>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.nSlFw6q7TCqxZ6tH"}},"_id":"vZBNRTeGGU5hsXtT"}
|
||||||
|
{"name":"Sixième sens","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>L’Élu sait où se trouvent des ennemis dont il a conscience et qui cherchent à lui nuire directement dans un rayon de 10 mètres. Attention, cette détection ne fonctionnera pas pour deviner que quelqu’un est simplement hostile à l’Élu ou le hait viscéralement. Il s’agit d’un pouvoir de localisation et de vigilance. La distance de détection peut augmenter en sacrifiant davantage de points d’Âme.</p>","allegeance":"chaos","prerequis":"6 ou plus en Adresse ou Clairvoyance.","sacrifice":"<ul>\n<li>1 point d’Âme pour détecter les ennemis dans un rayon de 10 mètres. Accès réservé aux Novices et aux Adeptes.</li>\n<li>2 points d’Âme pour détecter les ennemis dans un rayon de 100 mètres. Accès réservé aux Chevaliers et aux Hérauts.</li>\n<li>3 points d’Âme pour détecter les ennemis dans un rayon de 1000 mètres. Accès réservé aux Champions.</li>\n</ul>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.6CIPAVjSVsOqZBYc"}},"_id":"wsbGuOoFjHO6aQEm"}
|
||||||
|
{"name":"Endurance","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>L’Élu peut supporter n’importe quel type de souffrance. Il ne subit pas les pénalités dues à l’état Blessé (-2) et Gravement Blessé (-5). Il est immunisé à la torture si elle est infl igée à partir d’un des éléments tutélaires du personnage.</p>","allegeance":"elementaires","prerequis":"6 ou plus en Trempe.","sacrifice":"<p>3 points d’Âme.</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.on94N7pylXJ8gtdF"}},"_id":"yJ6K9dYrdNxr5uWj"}
|
||||||
|
{"name":"Le pilier de la Loi","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>Une fois par scénario, l’Élu peut résister à une menace ou agres\u0002sion, physique ou mentale, sans jeter les dés. Il est toutefois néces\u0002saire que l’Élu ait conscience du danger. L’Élu pourra par exemple résister à la terreur provoquée par une créature du Chaos parti\u0002culièrement abominable ou légendaire, mais ne pourra pas éviter d’être assommé par un habile voleur de Bakshaan qu’il n’avait pas vu. Cette résistance peut même être « extraordinaire » si l’Aspect de l’Élu est très haut.</p>\n<p>S’il est un Adepte ou un Novice, l’Élu peut résister à l’ivresse lors d’une nuit de beuverie chez un Prince-Marchand de Bakshaan.</p>\n<p>S’il est un Chevalier ou un Héraut, l’Élu peut résister à un coup surpuissant (celui-ci est annulé) ou à l’apparition gla\u0002çante d’un Démon. S’il est un Champion, il peut par exemple soutenir l’arche d’un temple qui s’écroule pendant quelques précieuses secondes afi n de laisser le temps à ses camarades de se mettre à l’abri (songez à Maciste, à Samson, ou tout simplement à Conan). Bref, n’hésitez pas à faire dans l’extraordinaire, mais ne bas\u0002culez pas dans le grosbillisme sans limite (ou alors ne nous le dites pas). Il revient au MJ de doser avec justesse ce Don.</p>","allegeance":"loi","prerequis":"7 ou plus en Trempe","sacrifice":"<p>3 points d’Âme.</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.yZ84qzrGeIDfZXr1"}},"_id":"zef3VQat06Ronc5W"}
|
||||||
|
{"name":"Œil exercé","type":"don","img":"systems/fvtt-mournblade/assets/icons/don.webp","data":{"description":"<p>L’Élu reçoit de la divinité qu’il vénère l’équivalent d’une Prédilection dans la Capacité spéciale Œil du sorcier (voir p. 199). Une fois par séance, il peut donc relancer le test de Clairvoyance + Perception.</p>","allegeance":"chaos","prerequis":"6 ou plus en Clairvoyance.","sacrifice":"<p>2 points d’Âme.</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.9Xrm1cfrCmkRtOBc"}},"_id":"zzz9JrtWjELdoAfK"}
|
BIN
packs/dons/000211.ldb
Normal file
0
packs/dons/000218.log
Normal file
1
packs/dons/CURRENT
Normal file
@ -0,0 +1 @@
|
|||||||
|
MANIFEST-000216
|
0
packs/dons/LOCK
Normal file
8
packs/dons/LOG
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
2024/09/10-07:14:45.086238 7f7ecf4006c0 Recovering log #214
|
||||||
|
2024/09/10-07:14:45.144857 7f7ecf4006c0 Delete type=3 #212
|
||||||
|
2024/09/10-07:14:45.145056 7f7ecf4006c0 Delete type=0 #214
|
||||||
|
2024/09/10-07:20:33.607105 7f7ecd6006c0 Level-0 table #219: started
|
||||||
|
2024/09/10-07:20:33.607143 7f7ecd6006c0 Level-0 table #219: 0 bytes OK
|
||||||
|
2024/09/10-07:20:33.638955 7f7ecd6006c0 Delete type=0 #217
|
||||||
|
2024/09/10-07:20:33.678483 7f7ecd6006c0 Manual compaction at level-0 from '!items!5dGXNiL3WN4cAk7X' @ 72057594037927935 : 1 .. '!items!zzz9JrtWjELdoAfK' @ 0 : 0; will stop at (end)
|
||||||
|
2024/09/10-07:20:33.678561 7f7ecd6006c0 Manual compaction at level-1 from '!items!5dGXNiL3WN4cAk7X' @ 72057594037927935 : 1 .. '!items!zzz9JrtWjELdoAfK' @ 0 : 0; will stop at (end)
|
8
packs/dons/LOG.old
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
2024/09/09-21:51:17.180244 7f7ecea006c0 Recovering log #209
|
||||||
|
2024/09/09-21:51:17.191008 7f7ecea006c0 Delete type=3 #207
|
||||||
|
2024/09/09-21:51:17.191115 7f7ecea006c0 Delete type=0 #209
|
||||||
|
2024/09/09-21:52:48.625325 7f7ecd6006c0 Level-0 table #215: started
|
||||||
|
2024/09/09-21:52:48.625386 7f7ecd6006c0 Level-0 table #215: 0 bytes OK
|
||||||
|
2024/09/09-21:52:48.631864 7f7ecd6006c0 Delete type=0 #213
|
||||||
|
2024/09/09-21:52:48.638978 7f7ecd6006c0 Manual compaction at level-0 from '!items!5dGXNiL3WN4cAk7X' @ 72057594037927935 : 1 .. '!items!zzz9JrtWjELdoAfK' @ 0 : 0; will stop at (end)
|
||||||
|
2024/09/09-21:52:48.639033 7f7ecd6006c0 Manual compaction at level-1 from '!items!5dGXNiL3WN4cAk7X' @ 72057594037927935 : 1 .. '!items!zzz9JrtWjELdoAfK' @ 0 : 0; will stop at (end)
|
BIN
packs/dons/MANIFEST-000216
Normal file
BIN
packs/equipement/000211.ldb
Normal file
0
packs/equipement/000218.log
Normal file
1
packs/equipement/CURRENT
Normal file
@ -0,0 +1 @@
|
|||||||
|
MANIFEST-000216
|
0
packs/equipement/LOCK
Normal file
8
packs/equipement/LOG
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
2024/09/10-07:14:45.020069 7f7ecfe006c0 Recovering log #214
|
||||||
|
2024/09/10-07:14:45.082360 7f7ecfe006c0 Delete type=3 #212
|
||||||
|
2024/09/10-07:14:45.082521 7f7ecfe006c0 Delete type=0 #214
|
||||||
|
2024/09/10-07:20:33.576805 7f7ecd6006c0 Level-0 table #219: started
|
||||||
|
2024/09/10-07:20:33.576855 7f7ecd6006c0 Level-0 table #219: 0 bytes OK
|
||||||
|
2024/09/10-07:20:33.606927 7f7ecd6006c0 Delete type=0 #217
|
||||||
|
2024/09/10-07:20:33.678460 7f7ecd6006c0 Manual compaction at level-0 from '!items!1cZd2hlTV9tykDED' @ 72057594037927935 : 1 .. '!items!y47dBO3Mf5Pn7tOd' @ 0 : 0; will stop at (end)
|
||||||
|
2024/09/10-07:20:33.678542 7f7ecd6006c0 Manual compaction at level-1 from '!items!1cZd2hlTV9tykDED' @ 72057594037927935 : 1 .. '!items!y47dBO3Mf5Pn7tOd' @ 0 : 0; will stop at (end)
|
8
packs/equipement/LOG.old
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
2024/09/09-21:51:17.166142 7f7ecfe006c0 Recovering log #209
|
||||||
|
2024/09/09-21:51:17.176865 7f7ecfe006c0 Delete type=3 #207
|
||||||
|
2024/09/09-21:51:17.176960 7f7ecfe006c0 Delete type=0 #209
|
||||||
|
2024/09/09-21:52:48.618041 7f7ecd6006c0 Level-0 table #215: started
|
||||||
|
2024/09/09-21:52:48.618105 7f7ecd6006c0 Level-0 table #215: 0 bytes OK
|
||||||
|
2024/09/09-21:52:48.625105 7f7ecd6006c0 Delete type=0 #213
|
||||||
|
2024/09/09-21:52:48.638957 7f7ecd6006c0 Manual compaction at level-0 from '!items!1cZd2hlTV9tykDED' @ 72057594037927935 : 1 .. '!items!y47dBO3Mf5Pn7tOd' @ 0 : 0; will stop at (end)
|
||||||
|
2024/09/09-21:52:48.639048 7f7ecd6006c0 Manual compaction at level-1 from '!items!1cZd2hlTV9tykDED' @ 72057594037927935 : 1 .. '!items!y47dBO3Mf5Pn7tOd' @ 0 : 0; will stop at (end)
|
BIN
packs/equipement/MANIFEST-000216
Normal file
10
packs/heritages.db
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
{"name":"Abomination","type":"heritage","img":"systems/fvtt-mournblade/assets/icons/heritage.webp","data":{"description":"<div class=\"page\" title=\"Page 120\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Avantage : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">avec l’accord du MJ, le personnage choisit un bonus de + 1 dans un attribut (ou un bonus de + 2 dans une Compétence, ou tout autre avantage équivalent).<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Défaut : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">avec l’accord du MJ, le personnage choisit un malus de – 1 dans un attribut (ou tout autre désavantage équivalent). Il souffre par ailleurs du désavantage « Répulsion ». </span></p>\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Effets </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; color: rgb(29.700000%, 0.600000%, 13.200000%);\">:<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-style: italic; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Répulsion : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">si la nature abominable du personnage est découverte, il subit un malus de – 3 à tous ses tests de Présence devant quelqu’un qui a des préjugés défavorables contre de tels personnages (ce qui veut dire pratiquement tout le monde dans les Jeunes Royaumes). </span></p>\n</div>\n</div>\n</div>\n</div>\n<div class=\"page\" title=\"Page 120\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Exemples de mutations : </span></p>\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-style: italic; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Longues jambes : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">le personnage a + 2 en Vitesse et – 1 en Présence.<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-style: italic; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Froideur reptilienne : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">le personnage a + 1 en Trempe et – 3 à tous ses tests de Persuasion. Son impassibilité met facilement ses interlocuteurs mal à l’aise. </span></p>\n</div>\n</div>\n</div>\n</div>\n<div class=\"page\" title=\"Page 121\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-style: italic; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Régénération : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">le sang du personnage est d’une couleur étrange, mais à chaque fois qu’il regagne de la Santé, le nombre de points récupérés est doublé.<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-style: italic; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Résistance à la corruption : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">le personnage est naturellement résistant aux poisons et aux maladies courantes, mais sa peau ressemble par endroits à celle d’un grand brûlé. Il est immunisé contre ces dernières mais subit un malus de – 1 en Présence. </span></p>\n</div>\n</div>\n</div>\n</div>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"xLCohqWYqWL3nwTN":3},"flags":{"core":{"sourceId":"Item.OxYgUbhQ92N44GLs"}},"_id":"2GaJZsqr2c2mcDRv"}
|
||||||
|
{"name":"Isolationniste","type":"heritage","img":"systems/fvtt-mournblade/assets/icons/heritage.webp","data":{"description":"<div class=\"page\" title=\"Page 120\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Avantage : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">le personnage bénéficie du trait « J’ai mieux à la maison ».<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Défaut : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">vous subissez un malus permanent de – 2 à tous vos tests de Savoir : Jeunes Royaumes. C’est un sujet qui ne vous intéresse pas et il se peut même que certaines choses que vous sachiez soient fausses (et probablement le fruit d’un bon bourrage de crâne). </span></p>\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Effets </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; color: rgb(29.700000%, 0.600000%, 13.200000%);\">:<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-style: italic; color: rgb(29.700000%, 0.600000%, 13.200000%);\">J’ai mieux à la maison : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">vous tirez un grand réconfort moral de la supériorité évidente de vos origines. Vous gagnez + 2 en Âme. </span></p>\n</div>\n</div>\n</div>\n</div>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"xLCohqWYqWL3nwTN":3},"flags":{"core":{"sourceId":"Item.hYd6nv1QDp0EkFQY"}},"_id":"9bao8syTKYQDLjpR"}
|
||||||
|
{"name":"Noble","type":"heritage","img":"systems/fvtt-mournblade/assets/icons/heritage.webp","data":{"description":"<div class=\"page\" title=\"Page 121\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Avantages </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; color: rgb(29.700000%, 0.600000%, 13.200000%);\">: </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">le personnage possède la Prédilection Comman- dement (Coercition) et commence la partie avec une arme, une armure et un cheval.<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Défaut : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">peu habitué à faire profil bas, le personnage subit un malus de – 2 aux tests de Discrétion. </span></p>\n</div>\n</div>\n</div>\n</div>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"xLCohqWYqWL3nwTN":3},"flags":{"core":{"sourceId":"Item.S7GzdRLOlRHqyRcb"}},"_id":"Hl7o7HTX5OYoOLWV"}
|
||||||
|
{"name":"Paria","type":"heritage","img":"systems/fvtt-mournblade/assets/icons/heritage.webp","data":{"description":"<div class=\"page\" title=\"Page 119\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Avantage : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">le personnage bénéficie d’un bonus de + 1 en Trempe.<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Défaut : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">« Persécuté ».<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Effets </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; color: rgb(29.700000%, 0.600000%, 13.200000%);\">: </span></p>\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-style: italic; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Persécuté : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">le personnage a tendance à se croire l’objet de moqueries ou de regards méprisants... et il se trompe souvent sur le compte de ses interlocuteurs. Il souffre d’un malus de – 2 à tous ses tests de Perception lorsqu’ils concernent le domaine de l’empathie. </span></p>\n</div>\n</div>\n</div>\n</div>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"xLCohqWYqWL3nwTN":3},"flags":{"core":{"sourceId":"Item.w24oZ4LobhR9KXt3"}},"_id":"JChFEYx3dueDB3i0"}
|
||||||
|
{"name":"Colosse","type":"heritage","img":"systems/fvtt-mournblade/assets/icons/heritage.webp","data":{"description":"<div class=\"page\" title=\"Page 120\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Avantage : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">votre taille est augmentée de 20 cm et vous avez + 1 en Puissance.<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Défaut : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">– 1 en Adresse. </span></p>\n</div>\n</div>\n</div>\n</div>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"xLCohqWYqWL3nwTN":3},"flags":{"core":{"sourceId":"Item.L8Jijr1R3uKveuum"}},"_id":"LsQhqznKS70nzLtB"}
|
||||||
|
{"name":"Commun","type":"heritage","img":"systems/fvtt-mournblade/assets/icons/heritage.webp","data":{"description":"<div class=\"page\" title=\"Page 120\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Avantage : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">aucun<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Défaut : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">aucun </span></p>\n</div>\n</div>\n</div>\n</div>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"xLCohqWYqWL3nwTN":3},"flags":{"core":{"sourceId":"Item.O8laCAr0z6FSdd4t"}},"_id":"OZpha6BHfwq1siGM"}
|
||||||
|
{"name":"Crapule","type":"heritage","img":"systems/fvtt-mournblade/assets/icons/heritage.webp","data":{"description":"<div class=\"page\" title=\"Page 121\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Avantage : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">le personnage bénéficie d’un bonus de + 2 en Filouterie. </span></p>\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Défaut : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">« Sales manières » </span></p>\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Effets </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; color: rgb(29.700000%, 0.600000%, 13.200000%);\">: </span></p>\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-style: italic; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Sales manières : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">– 2 aux tests de Présence devant des person- nages d’une classe sociale supérieure. </span></p>\n</div>\n</div>\n</div>\n</div>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"xLCohqWYqWL3nwTN":3},"flags":{"core":{"sourceId":"Item.hZDnJDQsTP0Q34vt"}},"_id":"WfM40Irs2ZybFPz6"}
|
||||||
|
{"name":"Érudit","type":"heritage","img":"systems/fvtt-mournblade/assets/icons/heritage.webp","data":{"description":"<div class=\"page\" title=\"Page 121\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Avantage : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">+ 3, + 2, + 2 dans trois compétences de Savoir au choix, dont Lire & Écrire. </span></p>\n</div>\n</div>\n</div>\n</div>\n<div class=\"page\" title=\"Page 121\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Défaut : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">– 3 en Santé. </span></p>\n</div>\n</div>\n</div>\n</div>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"xLCohqWYqWL3nwTN":3},"flags":{"core":{"sourceId":"Item.85lFszp9ztGHJ2Gh"}},"_id":"g1XSpX4Khnedpz4I"}
|
||||||
|
{"name":"Voyageur","type":"heritage","img":"systems/fvtt-mournblade/assets/icons/heritage.webp","data":{"description":"<div class=\"page\" title=\"Page 121\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Avantage : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">le personnage bénéficie d’un bonus de + 2 dans la compétence Savoir : Jeunes Royaumes et il dispose de la Prédilection Routes (Commerce). </span></p>\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Défaut : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">« Le feu aux trousses ». </span></p>\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Effets : </span></p>\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-style: italic; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Le feu aux trousses : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">vous avez du mal à rester longtemps au même endroit. Cela vous rend nerveux. Vous subissez un malus de – 1 en Trempe chaque fois que vous restez plus d’une semaine dans la même communauté (ville, village, navire). </span></p>\n</div>\n</div>\n</div>\n</div>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"xLCohqWYqWL3nwTN":3},"flags":{"core":{"sourceId":"Item.sIwut35hb96eQwdi"}},"_id":"i1RCQ66Lep3UfHr7"}
|
||||||
|
{"name":"Sang-mêlé","type":"heritage","img":"systems/fvtt-mournblade/assets/icons/heritage.webp","data":{"description":"<div class=\"page\" title=\"Page 120\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Avantages </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; color: rgb(29.700000%, 0.600000%, 13.200000%);\">: </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">vous partagez avec vos ancêtres melnibonéens des ressources mentales insoupçonnées. Votre réserve d’Âme est égale à (Trempe + Clairvoyance) x 3 + 5. </span></p>\n</div>\n</div>\n</div>\n</div>\n<div class=\"page\" title=\"Page 120\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Défauts : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">vous êtes l’objet de toutes les haines et de tous les préjugés. Vous subissez en permanence un malus de – 2 à tout test lors d’une interaction sociale avec une personne n’appar- tenant pas à votre cercle proche. Ce malus ne s’applique évi- demment pas à la Sorcellerie. </span></p>\n</div>\n</div>\n</div>\n</div>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"xLCohqWYqWL3nwTN":3},"flags":{"core":{"sourceId":"Item.rFZS2h1BHUa6vk3l"}},"_id":"ui4JGsGwHNlSXVK3"}
|
BIN
packs/heritages/000211.ldb
Normal file
0
packs/heritages/000218.log
Normal file
1
packs/heritages/CURRENT
Normal file
@ -0,0 +1 @@
|
|||||||
|
MANIFEST-000216
|
0
packs/heritages/LOCK
Normal file
8
packs/heritages/LOG
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
2024/09/10-07:14:45.210943 7f7ecea006c0 Recovering log #214
|
||||||
|
2024/09/10-07:14:45.265940 7f7ecea006c0 Delete type=3 #212
|
||||||
|
2024/09/10-07:14:45.266060 7f7ecea006c0 Delete type=0 #214
|
||||||
|
2024/09/10-07:20:33.678752 7f7ecd6006c0 Level-0 table #219: started
|
||||||
|
2024/09/10-07:20:33.678827 7f7ecd6006c0 Level-0 table #219: 0 bytes OK
|
||||||
|
2024/09/10-07:20:33.713480 7f7ecd6006c0 Delete type=0 #217
|
||||||
|
2024/09/10-07:20:33.816847 7f7ecd6006c0 Manual compaction at level-0 from '!items!2GaJZsqr2c2mcDRv' @ 72057594037927935 : 1 .. '!items!ui4JGsGwHNlSXVK3' @ 0 : 0; will stop at (end)
|
||||||
|
2024/09/10-07:20:33.816952 7f7ecd6006c0 Manual compaction at level-1 from '!items!2GaJZsqr2c2mcDRv' @ 72057594037927935 : 1 .. '!items!ui4JGsGwHNlSXVK3' @ 0 : 0; will stop at (end)
|
8
packs/heritages/LOG.old
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
2024/09/09-21:51:17.208104 7f7ed4e006c0 Recovering log #209
|
||||||
|
2024/09/09-21:51:17.219088 7f7ed4e006c0 Delete type=3 #207
|
||||||
|
2024/09/09-21:51:17.219197 7f7ed4e006c0 Delete type=0 #209
|
||||||
|
2024/09/09-21:52:48.639145 7f7ecd6006c0 Level-0 table #215: started
|
||||||
|
2024/09/09-21:52:48.639185 7f7ecd6006c0 Level-0 table #215: 0 bytes OK
|
||||||
|
2024/09/09-21:52:48.646533 7f7ecd6006c0 Delete type=0 #213
|
||||||
|
2024/09/09-21:52:48.668071 7f7ecd6006c0 Manual compaction at level-0 from '!items!2GaJZsqr2c2mcDRv' @ 72057594037927935 : 1 .. '!items!ui4JGsGwHNlSXVK3' @ 0 : 0; will stop at (end)
|
||||||
|
2024/09/09-21:52:48.668151 7f7ecd6006c0 Manual compaction at level-1 from '!items!2GaJZsqr2c2mcDRv' @ 72057594037927935 : 1 .. '!items!ui4JGsGwHNlSXVK3' @ 0 : 0; will stop at (end)
|
BIN
packs/heritages/MANIFEST-000216
Normal file
17
packs/metiers.db
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
{"name":"Esclave en fuite","type":"metier","img":"systems/fvtt-mournblade/assets/icons/profession.webp","data":{"description":"<div class=\"page\" title=\"Page 131\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Capacité spéciale : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">lorsqu’un esclave dépense un point de Bonne Aventure ou un point d’Éclat pour obtenir un bonus à un test de Trempe, ce bonus est doublé.<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Bonus d’attributs : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">+ 2 en Trempe, + 1 en Puissance. </span></p>\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Compétences exercées : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">Discrétion, Filouterie, Mêlée, Mouvements, Perception, Savoir : un artisanat au choix, Survie. </span></p>\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Équipement de départ : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">la marque de son ancien propriétaire et une arme de fortune. </span></p>\n</div>\n</div>\n</div>\n</div>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"xLCohqWYqWL3nwTN":3},"flags":{"core":{"sourceId":"Item.3ERM97vfdcd0YwHi"}},"_id":"09s33sFuju8zjPqI"}
|
||||||
|
{"name":"Marin","type":"metier","img":"systems/fvtt-mournblade/assets/icons/profession.webp","data":{"description":"<div class=\"page\" title=\"Page 132\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Capacité spéciale : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">tant que le marin se trouve sur une embarcation, chaque point de Bonne Aventure qu’il dépense double le bonus aux tests de Capacité.<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Bonus d’attributs : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">+ 1 en Adresse, + 2 en Trempe. </span></p>\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Compétences exercées : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">Commerce, Mêlée, Mouvements, Nage, Navigation, Savoir : Bas-fonds, Savoir : Jeunes Royaumes, Savoir : Jeux. </span></p>\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Équipement de départ : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">une arme de son choix, une veste et des bottes de mer. </span></p>\n</div>\n</div>\n</div>\n</div>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"xLCohqWYqWL3nwTN":3},"flags":{"core":{"sourceId":"Item.6j1tKkyPuwo5uaPL"}},"_id":"35f1mCziUKfGWgTu"}
|
||||||
|
{"name":"Racaille","type":"metier","img":"systems/fvtt-mournblade/assets/icons/profession.webp","data":{"description":"<div class=\"page\" title=\"Page 132\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Capacité spéciale : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">lorsqu’une racaille dépense un point de Bonne Aventure ou un point d’Éclat pour obtenir un bonus à un test de Discrétion ou Savoir : Bas-fonds, ce bonus est doublé. </span></p>\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Bonus d’attributs : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">+ 1 en Adresse, + 1 en Clairvoyance, + 1 en Présence. </span></p>\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Compétences exercées : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">Coercition, Discrétion, Filouterie, Mêlée, Mouvements, Perception, Persuasion, Savoir : Bas-fonds, Savoir : Jeux.<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Équipement de départ : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">une arme de son choix et un jeu de carte ou une paire de dés truqués. </span></p>\n</div>\n</div>\n</div>\n</div>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"xLCohqWYqWL3nwTN":3},"flags":{"core":{"sourceId":"Item.mKsk20fOPrcDNgMW"}},"_id":"4vOELIgz6PlyEBXz"}
|
||||||
|
{"name":"Chasseur de primes","type":"metier","img":"systems/fvtt-mournblade/assets/icons/profession.webp","data":{"description":"<div class=\"page\" title=\"Page 126\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Capacité spéciale : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">lorsqu’un chasseur de prime fait un test de Per- ception ou de Savoir : Bas-fonds pour trouver une personne dont il connaît le nom (collecte d’information auprès de ses proches, piste à suivre dans la nature, vigilance devant un déguisement qu’il pourrait revêtir, etc.), et qu’il dépense un point de Bonne Aventure ou un point d’Éclat le bonus octroyé est doublé. </span></p>\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Bonus d’attributs : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">+ 2 en Trempe, + 1 en Clairvoyance. </span></p>\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Compétences exercées : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">Coercition, Discrétion, Filoute- rie, Mêlée, Perception, Savoir : Bas-fonds, Savoir : Jeunes Royaumes.<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Équipement de départ : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">une arme de son choix, une descrip- tion de la personne ou de l’objet recherché et une lettre de recommandation émanant d’un client satisfait. </span></p>\n</div>\n</div>\n</div>\n</div>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"xLCohqWYqWL3nwTN":3},"flags":{"core":{"sourceId":"Item.7srRNPIWcpvbvqho"}},"_id":"DuHrBepvID2T5iiG"}
|
||||||
|
{"name":"Assassin","type":"metier","img":"systems/fvtt-mournblade/assets/icons/profession.webp","data":{"description":"<div class=\"page\" title=\"Page 126\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Capacité spéciale : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">en dépensant 3 points de Bonne Aven- ture, un assassin peut lancer 1d8 points de dégâts supplémen- taires. Cette capacité ne peut être utilisée qu’une seule fois par attaque. En dépensant un point d’Éclat, l’assassin peut, à la place, choisir le résultat de ce dé. </span></p>\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Bonus d’attributs : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">+ 1 en Adresse, + 1 en Clairvoyance, + 1 en Puissance.<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Compétences exercées : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">Armes à Distance, Discrétion, Filou- terie, Mêlée, Mouvements, Perception, Savoir : Alchimie, Savoir : Bas-fonds. </span></p>\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Équipement de départ : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">une arme de son choix, une dague et une grande pélerine à capuche. </span></p>\n</div>\n</div>\n</div>\n</div>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"xLCohqWYqWL3nwTN":3},"flags":{"core":{"sourceId":"Item.lNQwoZdyMOgwIdlL"}},"_id":"ENN5Hbnhh9FurhNg"}
|
||||||
|
{"name":"Dresseur","type":"metier","img":"systems/fvtt-mournblade/assets/icons/profession.webp","data":{"description":"<div class=\"page\" title=\"Page 127\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Capacité spéciale : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">lorsqu’un dresseur dépense un point de Bonne Aventure ou un point d’Éclat pour obtenir un bonus à un test de Coercition ou de Monte impliquant un animal, ce bonus est doublé. </span></p>\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Bonus d’attributs : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">+ 1 en Adresse, + 1 en Présence, + 1 en Trempe.<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Compétences exercées : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">Coercition, Monte, Mouvements, Nage, Perception, Savoir : Plantes & Animaux, Soins, Survie. </span></p>\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold;\">Compagnon animal : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">choisissez votre compagnon animal avec l’accord du Maître. Ce dernier est un membre standard de son espèce. Il connaît un nombre de tours simples égal à votre score en Coercition. </span></p>\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Équipement de départ : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">un compagnon animal au choix, un bâton de marche et des vêtements de voyage </span></p>\n</div>\n</div>\n</div>\n</div>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"xLCohqWYqWL3nwTN":3},"flags":{"core":{"sourceId":"Item.guXczFFiJxwvXqy5"}},"_id":"Kbfmr5bdBKKX1HPG"}
|
||||||
|
{"name":"Courtisan","type":"metier","img":"systems/fvtt-mournblade/assets/icons/profession.webp","data":{"description":"<div class=\"page\" title=\"Page 127\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Capacité spéciale : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">lorsqu’un courtisan dépense un point de Bonne Aventure ou un point d’Éclat pour obtenir un bonus à un test de Savoir : Courtisan ou de Persuasion, ce bonus est doublé. </span></p>\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Bonus d’attributs : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">+ 1 en Clairvoyance, + 2 en Présence. </span></p>\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Compétences exercées : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">Discrétion, Mêlée, Perception, Per- suasion, Savoir : Courtisan, Savoir : Droit, Savoir : Jeunes Royaumes, Savoir : Lire & Écrire, Savoir : Bas-Parler. </span></p>\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Équipement de départ : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">une arme d’apparat et un élégant habit de cour. </span></p>\n</div>\n</div>\n</div>\n</div>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"xLCohqWYqWL3nwTN":3},"flags":{"core":{"sourceId":"Item.7dwahKzRakMU36N3"}},"_id":"Mmbet07iWYFBXdkM"}
|
||||||
|
{"name":"Capitaine","type":"metier","img":"systems/fvtt-mournblade/assets/icons/profession.webp","data":{"description":"<div class=\"page\" title=\"Page 126\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Capacité spéciale : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">le capitaine peut coordonner ses alliés afin d’améliorer leur efficacité au combat. En dépensant 3 points de Bonne Aventure lors d’un combat, il fait bénéficier ses alliés d’un + 1 à leur Capacité offensive et à leur Défense jusqu’à la fin de l’affrontement. En dépensant à la place 1 point d’Éclat, ce bonus est porté à + 3. </span></p>\n</div>\n</div>\n</div>\n</div>\n<div class=\"page\" title=\"Page 126\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Bonus d’attributs : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">+ 1 en Présence, + 1 en Puissance, + 1 en Trempe.<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Compétences exercées : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">Coercition, Mêlée, Monte, Mouve- ments, Persuasion, Savoir : Art de la guerre, Savoir : Courti- san, Savoir : Jeunes Royaumes, Savoir : Lire & Écrire. </span></p>\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Équipement de départ : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">une arme de son choix, un cheval fatigué et un habit d’apparat démodé. </span></p>\n</div>\n</div>\n</div>\n</div>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"xLCohqWYqWL3nwTN":3},"flags":{"core":{"sourceId":"Item.iihYwC2uJXsa1Goz"}},"_id":"NToYuFMXJgu88HCz"}
|
||||||
|
{"name":"Ecclésiaste","type":"metier","img":"systems/fvtt-mournblade/assets/icons/profession.webp","data":{"description":"<div class=\"page\" title=\"Page 129\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Capacités spéciales : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">lorsqu’un ecclésiaste dépense un point de Bonne Aventure ou un point d’Éclat pour obte- nir un bonus à un test de Savoir ou de Persuasion lié à son culte ou à sa propagation, ce bonus est doublé. L’ecclésiaste maîtrise l’Œil d’Arkyn ou l’Œil du Sorcier </span></p>\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Pacte obligatoire : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">vous devez lier un pacte avec votre divinité. Pour ce faire, vous devez respecter les prérequis. Vous gagnez un niveau en Loi si votre divinité fait partie des Seigneurs de la Loi ou un niveau en Chaos si votre divinité fait partie des Seigneurs du Chaos et un niveau dans l’Alignement que vous souhaitez si votre divinité est un Seigneur Élémentaire ou des Bêtes. Vous êtes limité à un pacte de base lors de la création de votre Élu mais vous pouvez choisir un deuxième Don en rapport avec votre divinité. </span></p>\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Bonus d’attributs : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">+ 2 en Présence, + 1 en Trempe. </span></p>\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Compétences exercées : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">Persuasion, Savoir : Alchimie, Savoir : Jeunes Royaumes, Savoir : Bas-Parler, Savoir : Lire & Écrire, Savoir : Haut-Parler, Savoir : Loi & Chaos, Savoir : Seigneurs Élémentaires, Savoir : Seigneurs des Bêtes, Savoir : Runes, Soins. </span></p>\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Équipement de départ : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">un vêtement ecclésiastique, un livre de prière ou son équivalent, le symbole de son culte. </span></p>\n</div>\n</div>\n</div>\n</div>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"xLCohqWYqWL3nwTN":3},"flags":{"core":{"sourceId":"Item.utPrwKXVt7Ry1rJC"}},"_id":"QX7Nx1jfkOd5rzmP"}
|
||||||
|
{"name":"Sorcier","type":"metier","img":"systems/fvtt-mournblade/assets/icons/profession.webp","data":{"description":"<div class=\"page\" title=\"Page 134\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Capacités spéciales : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">lorsqu’un sorcier dépense un point de Bonne Aventure ou un point d’Éclat pour obtenir un bonus à un test de Terreur ou d’Extase, ce bonus est doublé.<br />Le sorcier maîtrise l’Œil du Sorcier ou l’Œil d’Arkyn. </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold;\">De plus, contrairement aux autres personnages, le sorcier maîtrise à la création un nombre de Runes égal à deux fois son score en Savoir : Runes. </span></p>\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Bonus d’attributs : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">+ 2 en Clairvoyance, + 1 en Trempe. </span></p>\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Compétences exercées : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">Coercition, Persuasion, Savoir : Alchi- mie, Savoir : Jeunes Royaumes, Savoir : Bas-Parler, Savoir : Lire & Écrire, Savoir : Haut-Parler, Savoir : Loi & Chaos, Savoir : Runes, Savoir : Seigneurs Élémentaires, Savoir : Sei- gneurs des Bêtes. </span></p>\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Équipement de départ : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">un couteau sacrificiel, un bol, un pinceau et une robe de cérémonie. </span></p>\n</div>\n</div>\n</div>\n</div>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"xLCohqWYqWL3nwTN":3},"flags":{"core":{"sourceId":"Item.o1FzLjXoOx8n3vpH"}},"_id":"UOITxMrVdITBe0W7"}
|
||||||
|
{"name":"Artiste","type":"metier","img":"systems/fvtt-mournblade/assets/icons/profession.webp","data":{"description":"<div class=\"page\" title=\"Page 124\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Capacité spéciale : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">lorsque l’artiste pratique son art et dépense un point de Bonne Aventure ou un point d’Éclat pour obtenir un bonus à son test de compétence, ce bonus est doublé. De surcroît, si l’artiste a dépensé un point d’Éclat et obtenu à son test une réussite héroïque, il crée un véritable chef-d’œuvre ou produit une performance hors du commun qui est à même d’augmenter sa renommée, de lui obtenir un nouveau patron ou de faire d’un ou de plusieurs spectateurs des admirateurs prêts à presque tout pour satisfaire l’artiste. Enfin, tous les spectateurs ou personnes qui voient pour la première fois ce chef-d’œuvre doivent faire un test d’Extase </span></p>\n</div>\n</div>\n</div>\n</div>\n<div class=\"page\" title=\"Page 124\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Bonus d’attributs : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">+ 2 en Présence, + 1 en Adresse. </span></p>\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Compétences exercées : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">Mouvements, Persuasion, Percep- tion, Savoir : Chant & Musique, Savoir : Courtisan, Savoir : Jeunes Royaumes, Savoir : Lire & Écrire, Savoir : Bas-Parler, Savoir : Peinture & Sculpture, Savoir : Théâtre & Poésie. </span></p>\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Équipement de départ : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">l’équipement et les accessoires néces- saires à son art, des vêtements de voyage et un vieil habit de cour défraîchi. </span></p>\n</div>\n</div>\n</div>\n</div>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"xLCohqWYqWL3nwTN":3},"flags":{"core":{"sourceId":"Item.DowptUubMeGDEdC3"}},"_id":"XCkrH4ZihwM9l4HF"}
|
||||||
|
{"name":"Soldat de fortune","type":"metier","img":"systems/fvtt-mournblade/assets/icons/profession.webp","data":{"description":"<div class=\"page\" title=\"Page 135\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Capacité spéciale : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">en dépensant 2 points de Bonne Aven- ture lors d’un combat, le soldat de fortune perd dorénavant 1 point de Santé de moins à chaque blessure et ce jusqu’à la fin du combat. En dépensant à la place 1 point d’Éclat, le soldat de fortune perd 3 points de Santé de moins à chaque blessure jusqu’à la fin du combat. Toutefois, dans ce dernier cas, sa réserve de points de Santé tombe à 1 une fois le combat achevé. </span></p>\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Bonus d’attributs : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">+ 2 en Puissance, + 1 en Trempe. </span></p>\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Compétences exercées : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">Armes à distance, Coercition, Mêlée, Monte, Mouvements, Savoir : Art de la guerre, Savoir : Jeunes Royaumes, Savoir : Jeux, Soins.<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Équipement de départ : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">une arme de son choix, une armure de son choix et une cicatrice impressionnante et reconnaissable. </span></p>\n</div>\n</div>\n</div>\n</div>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"xLCohqWYqWL3nwTN":3},"flags":{"core":{"sourceId":"Item.JsYaRLD7xkXq8qV4"}},"_id":"ZhMLA8SYagTCZAPu"}
|
||||||
|
{"name":"Artisan","type":"metier","img":"systems/fvtt-mournblade/assets/icons/profession.webp","data":{"description":"<div class=\"page\" title=\"Page 122\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Capacité spéciale : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">lorsque l’artisan dépense un point de Bonne Aventure ou un point d’Éclat pour obtenir un bonus à un test d’artisanat, ce bonus est doublé. De surcroît, si l’artisan a dépensé un point d’Éclat et obtenu à son test une réussite héroïque, il crée un véritable chef-d’œuvre (doué d’une propriété spéciale définie par le MJ, par exemple un bonus à une arme comme + 1 aux dégâts, + 1 au BM, ou + 1 en protection pour une armure etc.) </span></p>\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Bonus d’attributs : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">+ 1 en Clairvoyance, + 2 en Adresse. </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Compétences exercées : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">Commerce, Perception, Persuasion, Savoir : Architecture, Savoir : un artisanat au choix, Savoir : un deuxième artisanat au choix, Savoir : Jeunes Royaumes, Savoir : Lire & Écrire. </span></p>\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Équipement de départ : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">les outils nécessaires à son art, un carnet de note et un matériel d’écriture si le personnage pos- sède un niveau en Savoir : Lire & Écrire ou de solides bottes et un bâton de marche dans le cas contraire. </span></p>\n</div>\n</div>\n</div>\n</div>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"xLCohqWYqWL3nwTN":3},"flags":{"core":{"sourceId":"Item.kEGlsQqhdtPfqg6d"}},"_id":"agSi2gNfXcBDD0A6"}
|
||||||
|
{"name":"Érudit","type":"metier","img":"systems/fvtt-mournblade/assets/icons/profession.webp","data":{"description":"<div class=\"page\" title=\"Page 130\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Capacité spéciale : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">lorsqu’un érudit dépense un point de Bonne Aventure ou un point d’Éclat pour obtenir un bonus à un test de Savoir, ce bonus est doublé.<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Bonus d’attributs : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">+ 2 en Clairvoyance, + 1 en Présence. </span></p>\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Compétences exercées : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">tous les savoirs sauf Bas-fonds, Courtisan et Runes. </span></p>\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Équipement de départ : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">un carnet de croquis, une plume et un ouvrage savant. </span></p>\n</div>\n</div>\n</div>\n</div>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"xLCohqWYqWL3nwTN":3},"flags":{"core":{"sourceId":"Item.Y3F5yjwrlKhKaRDP"}},"_id":"nMkFZvawdalFjlKW"}
|
||||||
|
{"name":"Éclaireur","type":"metier","img":"systems/fvtt-mournblade/assets/icons/profession.webp","data":{"description":"<div class=\"page\" title=\"Page 130\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Capacité spéciale : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">lorsqu’un éclaireur dépense un point de Bonne Aventure ou un point d’Éclat pour obtenir un bonus à un test de Savoir : Jeunes Royaumes ou de Survie, ce bonus est doublé. </span></p>\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Bonus d’attributs : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">+ 1 en Adresse, + 1 en Clairvoyance, + 1 en Trempe.<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Compétences exercées : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">Armes à distance, Discrétion, Monte, Mouvements, Nage, Navigation, Perception, Savoir : Jeunes Royaumes, Savoir : Plantes & Animaux, Survie. </span></p>\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Équipement de départ : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">une arme à distance, un couteau et une tenue adaptée à l’environnement du lieu de départ. </span></p>\n</div>\n</div>\n</div>\n</div>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"xLCohqWYqWL3nwTN":3},"flags":{"core":{"sourceId":"Item.TW3TxALpjCwsYM3o"}},"_id":"tqspjN18J3I11XMW"}
|
||||||
|
{"name":"Spadassin","type":"metier","img":"systems/fvtt-mournblade/assets/icons/profession.webp","data":{"description":"<div class=\"page\" title=\"Page 135\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Capacité spéciale : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">lorsqu’un spadassin veut assommer quelqu’un et dépense un point de Bonne Aventure ou un point d’Éclat pour obtenir un bonus à son test de Filouterie, ce bonus est doublé. </span></p>\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Bonus d’attributs : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">+ 1 en Adresse, + 1 en Puissance, + 1 en Trempe.<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Compétences exercées : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">Armes à Distance, Coercition, Com- merce, Discrétion, Filouterie, Mêlée, Mouvements, Survie. </span></p>\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Équipement de départ : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">un assommoir, une arme de son choix, un grand chapeau et de quoi masquer son visage. </span></p>\n</div>\n</div>\n</div>\n</div>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"xLCohqWYqWL3nwTN":3},"flags":{"core":{"sourceId":"Item.kwUJsy2uCziq4Tdo"}},"_id":"xDZsB5dza1cgurXe"}
|
||||||
|
{"name":"Marchand","type":"metier","img":"systems/fvtt-mournblade/assets/icons/profession.webp","data":{"description":"<div class=\"page\" title=\"Page 131\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Capacité spéciale : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">lorsqu’un marchand dépense un point de Bonne Aventure ou un point d’Éclat pour obtenir un bonus à un test de Commerce, ce bonus est doublé.<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Bonus d’attributs : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">+ 1 en Présence, + 1 en Clairvoyance et + 1 en Trempe. </span></p>\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Compétences exercées : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">Commerce, Monte, Navigation, Persuasion, Savoir : Courtisan, Savoir : Droit, Savoir : Lire & Écrire, Savoir : Jeunes Royaumes, Survie.<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Équipement de départ : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">un attelage ou un bateau, et quelques marchandises à vendre. </span></p>\n</div>\n</div>\n</div>\n</div>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"xLCohqWYqWL3nwTN":3},"flags":{"core":{"sourceId":"Item.XSL2MnXd6Q642JFO"}},"_id":"xlyFCQClBZ1N3O1B"}
|
BIN
packs/metiers/000211.ldb
Normal file
0
packs/metiers/000218.log
Normal file
1
packs/metiers/CURRENT
Normal file
@ -0,0 +1 @@
|
|||||||
|
MANIFEST-000216
|
0
packs/metiers/LOCK
Normal file
8
packs/metiers/LOG
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
2024/09/10-07:14:45.269926 7f7ecfe006c0 Recovering log #214
|
||||||
|
2024/09/10-07:14:45.328808 7f7ecfe006c0 Delete type=3 #212
|
||||||
|
2024/09/10-07:14:45.328977 7f7ecfe006c0 Delete type=0 #214
|
||||||
|
2024/09/10-07:20:33.783195 7f7ecd6006c0 Level-0 table #219: started
|
||||||
|
2024/09/10-07:20:33.783241 7f7ecd6006c0 Level-0 table #219: 0 bytes OK
|
||||||
|
2024/09/10-07:20:33.816523 7f7ecd6006c0 Delete type=0 #217
|
||||||
|
2024/09/10-07:20:33.816931 7f7ecd6006c0 Manual compaction at level-0 from '!items!09s33sFuju8zjPqI' @ 72057594037927935 : 1 .. '!items!xlyFCQClBZ1N3O1B' @ 0 : 0; will stop at (end)
|
||||||
|
2024/09/10-07:20:33.817030 7f7ecd6006c0 Manual compaction at level-1 from '!items!09s33sFuju8zjPqI' @ 72057594037927935 : 1 .. '!items!xlyFCQClBZ1N3O1B' @ 0 : 0; will stop at (end)
|
8
packs/metiers/LOG.old
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
2024/09/09-21:51:17.222186 7f7ecfe006c0 Recovering log #209
|
||||||
|
2024/09/09-21:51:17.233209 7f7ecfe006c0 Delete type=3 #207
|
||||||
|
2024/09/09-21:51:17.233359 7f7ecfe006c0 Delete type=0 #209
|
||||||
|
2024/09/09-21:52:48.646768 7f7ecd6006c0 Level-0 table #215: started
|
||||||
|
2024/09/09-21:52:48.646827 7f7ecd6006c0 Level-0 table #215: 0 bytes OK
|
||||||
|
2024/09/09-21:52:48.653236 7f7ecd6006c0 Delete type=0 #213
|
||||||
|
2024/09/09-21:52:48.668098 7f7ecd6006c0 Manual compaction at level-0 from '!items!09s33sFuju8zjPqI' @ 72057594037927935 : 1 .. '!items!xlyFCQClBZ1N3O1B' @ 0 : 0; will stop at (end)
|
||||||
|
2024/09/09-21:52:48.668166 7f7ecd6006c0 Manual compaction at level-1 from '!items!09s33sFuju8zjPqI' @ 72057594037927935 : 1 .. '!items!xlyFCQClBZ1N3O1B' @ 0 : 0; will stop at (end)
|
BIN
packs/metiers/MANIFEST-000216
Normal file
20
packs/origines.db
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
{"name":"Les Terres Silencieuses","type":"origine","img":"systems/fvtt-mournblade/assets/icons/origine.webp","data":{"description":"<div class=\"page\" title=\"Page 118\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Région : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">les Terres de l’Ouest<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Divinités principales </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; color: rgb(29.700000%, 0.600000%, 13.200000%);\">: </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">aucune<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Avantages </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; color: rgb(29.700000%, 0.600000%, 13.200000%);\">: </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">+ 1 Savoir : Logique & Mécanique ou + 1 en Survie </span></p>\n</div>\n</div>\n</div>\n</div>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"xLCohqWYqWL3nwTN":3},"flags":{"core":{"sourceId":"Item.oh4K1mgUrcUc4zdl"}},"_id":"2t1KmBeQNuKK5qlN"}
|
||||||
|
{"name":"Le Dorel","type":"origine","img":"systems/fvtt-mournblade/assets/icons/origine.webp","data":{"description":"<div class=\"page\" title=\"Page 114\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Région : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">les Terres du Sud<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Divinités principales </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; color: rgb(29.700000%, 0.600000%, 13.200000%);\">: </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">Lassa (Élémentaire), Grome (Élémentaire), Kakatal (Élémentaire)<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Avantages </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; color: rgb(29.700000%, 0.600000%, 13.200000%);\">: </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">+ 1 en Savoir : Théâtre & Poésie ou Prédilection : Arme à une Main (Mêlée) ou Prédilection : Attelage (Monte) </span></p>\n</div>\n</div>\n</div>\n</div>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"xLCohqWYqWL3nwTN":3},"flags":{"core":{"sourceId":"Item.9zbcuoRfiWVEMTmF"}},"_id":"8cStkkGtsnEqyMMV"}
|
||||||
|
{"name":"Le Dharijor","type":"origine","img":"systems/fvtt-mournblade/assets/icons/origine.webp","data":{"description":"<div class=\"page\" title=\"Page 117\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Région : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">les Terres de l’Ouest<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Divinités principales </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; color: rgb(29.700000%, 0.600000%, 13.200000%);\">: </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">Chardros (Chaos), Pyaray (Chaos), Hionhurn (Chaos)<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Avantages </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; color: rgb(29.700000%, 0.600000%, 13.200000%);\">: </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">+ 1 en Savoir : Art de la Guerre ou + 1 en Mêlée </span></p>\n</div>\n</div>\n</div>\n</div>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"xLCohqWYqWL3nwTN":3},"flags":{"core":{"sourceId":"Item.eqh8NilLhxKsHPzY"}},"_id":"8ytKK10eQ9KWomUx"}
|
||||||
|
{"name":"Le Lormyr","type":"origine","img":"systems/fvtt-mournblade/assets/icons/origine.webp","data":{"description":"<div class=\"page\" title=\"Page 116\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Région : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">les Terres du Sud<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Divinités principales </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; color: rgb(29.700000%, 0.600000%, 13.200000%);\">: </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">Arkyn (Loi), Donblas (Loi), Shalod (Loi) </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Avantages </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; color: rgb(29.700000%, 0.600000%, 13.200000%);\">: </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">+ 1 en Savoir : Courtisan ou Prédilection : Arme à deux mains (Mêlée) ou Prédilection : Chevaucher (Monte) </span></p>\n</div>\n</div>\n</div>\n</div>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"xLCohqWYqWL3nwTN":3},"flags":{"core":{"sourceId":"Item.uEO1bupVGqZtwGoV"}},"_id":"BMjZUFdt23TcZolr"}
|
||||||
|
{"name":"Le Vilmir","type":"origine","img":"systems/fvtt-mournblade/assets/icons/origine.webp","data":{"description":"<div class=\"page\" title=\"Page 113\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Région : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">les Terres du Nord<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Divinités principales </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; color: rgb(29.700000%, 0.600000%, 13.200000%);\">: </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">Arkyn (Loi), Miggea (Loi), Tovik (Loi)<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Avantages </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; color: rgb(29.700000%, 0.600000%, 13.200000%);\">: </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">+ 1 en Savoir : Loi & Chaos ou Prédilection : Intimidation (Coercition) ou Prédilection : Se Cacher (Discrétion) </span></p>\n</div>\n</div>\n</div>\n</div>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"xLCohqWYqWL3nwTN":3},"flags":{"core":{"sourceId":"Item.gdu6A7llcbDAu55D"}},"_id":"CJAC49IJOYwSn27K"}
|
||||||
|
{"name":"Oin & Yu","type":"origine","img":"systems/fvtt-mournblade/assets/icons/origine.webp","data":{"description":"<div class=\"page\" title=\"Page 116\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Région : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">les Terres du Sud<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Divinités principales </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; color: rgb(29.700000%, 0.600000%, 13.200000%);\">: </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">Straasha (Élémentaire), Ap-yss-Alara (Bête), Teer (Chaos)<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Avantages </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; color: rgb(29.700000%, 0.600000%, 13.200000%);\">: </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">+ 1 en Navigation ou Prédilection : Pêche (Sur- vie) ou Prédilection : Arme de Jet (Armes à Distance) </span></p>\n</div>\n</div>\n</div>\n</div>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"xLCohqWYqWL3nwTN":3},"flags":{"core":{"sourceId":"Item.0AkiZr4ZbIH8Mk3i"}},"_id":"HPgTW8rEMwKXaV3y"}
|
||||||
|
{"name":"Désert des Larmes","type":"origine","img":"systems/fvtt-mournblade/assets/icons/origine.webp","data":{"description":"<div class=\"page\" title=\"Page 111\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Région : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">les Terres du Nord<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Divinités principales </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; color: rgb(29.700000%, 0.600000%, 13.200000%);\">: </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">Lassa (Élémentaire), Straasha (Élémentaire), Grome (Élémentaire)<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Avantages </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; color: rgb(29.700000%, 0.600000%, 13.200000%);\">: </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">+ 1 en Monte ou Prédilection : Arme à Projectile (Armes à Distance) ou Prédilection : Steppe (Survie) </span></p>\n</div>\n</div>\n</div>\n</div>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"xLCohqWYqWL3nwTN":3},"flags":{"core":{"sourceId":"Item.u1PZyAQpywvcf5nl"}},"_id":"JhhvvGRFo2vW8hao"}
|
||||||
|
{"name":"Nadsokor","type":"origine","img":"systems/fvtt-mournblade/assets/icons/origine.webp","data":{"description":"<div class=\"page\" title=\"Page 111\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Région : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">les Terres du Nord<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Divinités principales : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">Mashabak (Chaos), Balo (Chaos), Checkalakh (Chaos)<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Avantages </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; color: rgb(29.700000%, 0.600000%, 13.200000%);\">: </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">+ 1 en Filouterie ou Prédilection : Escamoter (Filouterie) ou Prédilection : Baratin (Persuasion) </span></p>\n</div>\n</div>\n</div>\n</div>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"xLCohqWYqWL3nwTN":3},"flags":{"core":{"sourceId":"Item.FE1qvvd0k4SYZoGn"}},"_id":"JsG2lEiGLLr5mKaX"}
|
||||||
|
{"name":"Org","type":"origine","img":"systems/fvtt-mournblade/assets/icons/origine.webp","data":{"description":"<div class=\"page\" title=\"Page 113\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Région : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">les Terres du Nord<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Divinités principales </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; color: rgb(29.700000%, 0.600000%, 13.200000%);\">: </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">Teer (Chaos), Hionhurn (Chaos), Balaan (Chaos)<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Avantages </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; color: rgb(29.700000%, 0.600000%, 13.200000%);\">: </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">+ 1 en Survie ou Prédilection : Forêt (Survie) ou Prédilection : Mains Nues (Mêlée) </span></p>\n</div>\n</div>\n</div>\n</div>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"xLCohqWYqWL3nwTN":3},"flags":{"core":{"sourceId":"Item.jPYHmcP6BxDRH0KU"}},"_id":"Pt2RP047qe8sj8MA"}
|
||||||
|
{"name":"L’Argimiliar","type":"origine","img":"systems/fvtt-mournblade/assets/icons/origine.webp","data":{"description":"<div class=\"page\" title=\"Page 113\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Région : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">les Terres du Sud<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Divinités principales </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; color: rgb(29.700000%, 0.600000%, 13.200000%);\">: </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">Arkyn (Loi), Donblas (Loi), Shalod (Loi)<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Avantages </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; color: rgb(29.700000%, 0.600000%, 13.200000%);\">: </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">+ 1 en Monte ou + 1 en Savoir : une Connaissance au choix </span></p>\n</div>\n</div>\n</div>\n</div>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"xLCohqWYqWL3nwTN":3},"flags":{"core":{"sourceId":"Item.CcUF5rrbuiFCdpTv"}},"_id":"b12em5uYSh5Fegrs"}
|
||||||
|
{"name":"Le Pikarayd","type":"origine","img":"systems/fvtt-mournblade/assets/icons/origine.webp","data":{"description":"<div class=\"page\" title=\"Page 117\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Région : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">les Terres du Sud<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Divinités principales </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; color: rgb(29.700000%, 0.600000%, 13.200000%);\">: </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">Lassa (Élémentaire), Chardros (Cha- os), Hionhurn (Chaos)<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Avantages </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; color: rgb(29.700000%, 0.600000%, 13.200000%);\">: </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">+ 1 en Mêlée ou Prédilection : Arme à une Main (Mêlée) ou Prédilection : Mains Nues (Mêlée) </span></p>\n</div>\n</div>\n</div>\n</div>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"xLCohqWYqWL3nwTN":3},"flags":{"core":{"sourceId":"Item.ftXOOnpHGyMRADCu"}},"_id":"bQ7Kh9ydUDzl3p82"}
|
||||||
|
{"name":"Le Jharkor","type":"origine","img":"systems/fvtt-mournblade/assets/icons/origine.webp","data":{"description":"<div class=\"page\" title=\"Page 117\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Région : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">les Terres de l’Ouest<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Divinités principales </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; color: rgb(29.700000%, 0.600000%, 13.200000%);\">: </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">Arkyn (Loi), Donblas (Loi), Grome (Élémentaire)<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Avantages </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; color: rgb(29.700000%, 0.600000%, 13.200000%);\">: </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">+ 1 Savoir : Chant & Musique ou + 1 Savoir : Agriculture </span></p>\n</div>\n</div>\n</div>\n</div>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"xLCohqWYqWL3nwTN":3},"flags":{"core":{"sourceId":"Item.5HT5Pz9FZ6zQe9dF"}},"_id":"bV5olFnvZUja7eKV"}
|
||||||
|
{"name":"Séred Öma","type":"origine","img":"systems/fvtt-mournblade/assets/icons/origine.webp","data":{"description":"<div class=\"page\" title=\"Page 111\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Région : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">les Terres du Nord<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Divinités principales </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; color: rgb(29.700000%, 0.600000%, 13.200000%);\">: </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">Arkyn (Loi), Arioch (Chaos), Shalod (Loi)<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Avantages </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; color: rgb(29.700000%, 0.600000%, 13.200000%);\">: </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">+ 1 en Savoir : Art (au choix) ou + 1 en Commerce </span></p>\n</div>\n</div>\n</div>\n</div>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"xLCohqWYqWL3nwTN":3},"flags":{"core":{"sourceId":"Item.jI24OzfnMcmvECtC"}},"_id":"iCy3p5teOoBZ5zG6"}
|
||||||
|
{"name":"Le Shazaar (ou Shazar)","type":"origine","img":"systems/fvtt-mournblade/assets/icons/origine.webp","data":{"description":"<div class=\"page\" title=\"Page 117\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Région : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">les Terres de l’Ouest<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Divinités principales </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; color: rgb(29.700000%, 0.600000%, 13.200000%);\">: </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">Arkyn (Loi), Donblas (Loi), Aponaä, Seigneur des Chevaux (Bête)<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Avantages </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; color: rgb(29.700000%, 0.600000%, 13.200000%);\">: </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">+ 1 en Monte ou Prédilection : Soins aux Animaux (Monte) ou Prédilection : Combat Monté (Mêlée) </span></p>\n</div>\n</div>\n</div>\n</div>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"xLCohqWYqWL3nwTN":3},"flags":{"core":{"sourceId":"Item.YY1bH6U8s8xvG3p5"}},"_id":"jXCdgNNIOAOEjGDt"}
|
||||||
|
{"name":"Le Tarkesh","type":"origine","img":"systems/fvtt-mournblade/assets/icons/origine.webp","data":{"description":"<div class=\"page\" title=\"Page 118\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Région : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">les Terres de l’Ouest<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Divinités principales </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; color: rgb(29.700000%, 0.600000%, 13.200000%);\">: </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">Donblas (Loi), Straasha (Élémentaire), Roofdrak (Bête)<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Avantages </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; color: rgb(29.700000%, 0.600000%, 13.200000%);\">: </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">+ 1 Savoir : Travail du Bois ou + 1 en Navigation </span></p>\n</div>\n</div>\n</div>\n</div>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"xLCohqWYqWL3nwTN":3},"flags":{"core":{"sourceId":"Item.CKkvlezivsKCgb7q"}},"_id":"kk9ysBFuqedZqJ1U"}
|
||||||
|
{"name":"Pan Tang","type":"origine","img":"systems/fvtt-mournblade/assets/icons/origine.webp","data":{"description":"<div class=\"page\" title=\"Page 119\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Région : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">les Îles des Jeunes Royaumes<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Divinités principales </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; color: rgb(29.700000%, 0.600000%, 13.200000%);\">: </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">Chardros (Chaos), Balaan (Chaos), Maluk (Chaos)<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Avantages </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; color: rgb(29.700000%, 0.600000%, 13.200000%);\">: </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">+ 1 en Savoir : Loi & Chaos ou Prédilection : Arme à une Main (Mêlée) ou Prédilection : Éloquence (Persuasion) </span></p>\n</div>\n</div>\n</div>\n</div>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"xLCohqWYqWL3nwTN":3},"flags":{"core":{"sourceId":"Item.rc82LHSc7a9925uY"}},"_id":"lHUMxB4peDFfhvod"}
|
||||||
|
{"name":"Quarzhasaat","type":"origine","img":"systems/fvtt-mournblade/assets/icons/origine.webp","data":{"description":"<div class=\"page\" title=\"Page 113\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Région : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">les Terres du Nord<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Divinités principales </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; color: rgb(29.700000%, 0.600000%, 13.200000%);\">: </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">Mabelode (Chaos), Eequor (Chaos), Maluk (Chaos)<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Avantages </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; color: rgb(29.700000%, 0.600000%, 13.200000%);\">: </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">+ 1 en Savoir : Courtisan ou Prédilection : Charme (Persuasion) ou Prédilection : Désert (Survie) </span></p>\n</div>\n</div>\n</div>\n</div>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"xLCohqWYqWL3nwTN":3},"flags":{"core":{"sourceId":"Item.izSuvh9fVBvgtmG6"}},"_id":"tGD2uoQgNEoSqHnj"}
|
||||||
|
{"name":"Le Filkhar","type":"origine","img":"systems/fvtt-mournblade/assets/icons/origine.webp","data":{"description":"<div class=\"page\" title=\"Page 116\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Région : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">les Terres du Sud<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Divinités principales </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; color: rgb(29.700000%, 0.600000%, 13.200000%);\">: </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">Arkyn (Loi), Donblas (Loi), Shalod (Loi) </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Avantages </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; color: rgb(29.700000%, 0.600000%, 13.200000%);\">: </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">+ 1 en Persuasion ou + 1 en Savoir : Artisanat (Cuisine) </span></p>\n</div>\n</div>\n</div>\n</div>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"xLCohqWYqWL3nwTN":3},"flags":{"core":{"sourceId":"Item.dUJk3mrziQM5Rnbd"}},"_id":"wmI6blFpV0BIYHtE"}
|
||||||
|
{"name":"L’Ilmiora","type":"origine","img":"systems/fvtt-mournblade/assets/icons/origine.webp","data":{"description":"<div class=\"page\" title=\"Page 110\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Région : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">les Terres du Nord<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Divinités principales </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; color: rgb(29.700000%, 0.600000%, 13.200000%);\">: </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">Arkyn (Loi), Donblas (Loi), Shalod (Loi)<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Avantages : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">+ 1 en Savoir : Artisanat (au choix) ou + 1 en Savoir : Courtisan </span></p>\n</div>\n</div>\n</div>\n</div>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"xLCohqWYqWL3nwTN":3},"flags":{"core":{"sourceId":"Item.8GzEvygEWuX3QNZ9"}},"_id":"xBXKDFKKxua8RGoy"}
|
||||||
|
{"name":"Les Îles des Cités Pourpres","type":"origine","img":"systems/fvtt-mournblade/assets/icons/origine.webp","data":{"description":"<div class=\"page\" title=\"Page 119\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<p><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Région : </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">les Îles des Jeunes Royaumes<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Divinités principales </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; color: rgb(29.700000%, 0.600000%, 13.200000%);\">: </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">Donblas (Loi), Slortar (Chaos), Straasha (Élémentaire)<br /></span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; font-weight: bold; color: rgb(29.700000%, 0.600000%, 13.200000%);\">Avantages </span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT'; color: rgb(29.700000%, 0.600000%, 13.200000%);\">:</span><span style=\"font-size: 11.000000pt; font-family: 'CentaurMT';\">+ 1 en Commerce ou + 1 en Navigation </span></p>\n</div>\n</div>\n</div>\n</div>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"xLCohqWYqWL3nwTN":3},"flags":{"core":{"sourceId":"Item.3s6ixAvW5lPVoRg9"}},"_id":"yBvkQb9S64s908sR"}
|
BIN
packs/origines/000211.ldb
Normal file
0
packs/origines/000218.log
Normal file
1
packs/origines/CURRENT
Normal file
@ -0,0 +1 @@
|
|||||||
|
MANIFEST-000216
|
0
packs/origines/LOCK
Normal file
8
packs/origines/LOG
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
2024/09/10-07:14:45.148885 7f7ed4e006c0 Recovering log #214
|
||||||
|
2024/09/10-07:14:45.204991 7f7ed4e006c0 Delete type=3 #212
|
||||||
|
2024/09/10-07:14:45.205146 7f7ed4e006c0 Delete type=0 #214
|
||||||
|
2024/09/10-07:20:33.639140 7f7ecd6006c0 Level-0 table #219: started
|
||||||
|
2024/09/10-07:20:33.639178 7f7ecd6006c0 Level-0 table #219: 0 bytes OK
|
||||||
|
2024/09/10-07:20:33.677964 7f7ecd6006c0 Delete type=0 #217
|
||||||
|
2024/09/10-07:20:33.678505 7f7ecd6006c0 Manual compaction at level-0 from '!items!2t1KmBeQNuKK5qlN' @ 72057594037927935 : 1 .. '!items!yBvkQb9S64s908sR' @ 0 : 0; will stop at (end)
|
||||||
|
2024/09/10-07:20:33.678580 7f7ecd6006c0 Manual compaction at level-1 from '!items!2t1KmBeQNuKK5qlN' @ 72057594037927935 : 1 .. '!items!yBvkQb9S64s908sR' @ 0 : 0; will stop at (end)
|
8
packs/origines/LOG.old
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
2024/09/09-21:51:17.194403 7f7ecf4006c0 Recovering log #209
|
||||||
|
2024/09/09-21:51:17.204990 7f7ecf4006c0 Delete type=3 #207
|
||||||
|
2024/09/09-21:51:17.205104 7f7ecf4006c0 Delete type=0 #209
|
||||||
|
2024/09/09-21:52:48.632133 7f7ecd6006c0 Level-0 table #215: started
|
||||||
|
2024/09/09-21:52:48.632191 7f7ecd6006c0 Level-0 table #215: 0 bytes OK
|
||||||
|
2024/09/09-21:52:48.638748 7f7ecd6006c0 Delete type=0 #213
|
||||||
|
2024/09/09-21:52:48.638992 7f7ecd6006c0 Manual compaction at level-0 from '!items!2t1KmBeQNuKK5qlN' @ 72057594037927935 : 1 .. '!items!yBvkQb9S64s908sR' @ 0 : 0; will stop at (end)
|
||||||
|
2024/09/09-21:52:48.639018 7f7ecd6006c0 Manual compaction at level-1 from '!items!2t1KmBeQNuKK5qlN' @ 72057594037927935 : 1 .. '!items!yBvkQb9S64s908sR' @ 0 : 0; will stop at (end)
|
BIN
packs/origines/MANIFEST-000216
Normal file
BIN
packs/pnj-creatures/000107.ldb
Normal file
0
packs/pnj-creatures/000114.log
Normal file
1
packs/pnj-creatures/CURRENT
Normal file
@ -0,0 +1 @@
|
|||||||
|
MANIFEST-000112
|
0
packs/pnj-creatures/LOCK
Normal file
8
packs/pnj-creatures/LOG
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
2024/09/10-07:14:44.657561 7f7ecf4006c0 Recovering log #110
|
||||||
|
2024/09/10-07:14:44.756808 7f7ecf4006c0 Delete type=3 #108
|
||||||
|
2024/09/10-07:14:44.756963 7f7ecf4006c0 Delete type=0 #110
|
||||||
|
2024/09/10-07:20:33.399722 7f7ecd6006c0 Level-0 table #115: started
|
||||||
|
2024/09/10-07:20:33.399823 7f7ecd6006c0 Level-0 table #115: 0 bytes OK
|
||||||
|
2024/09/10-07:20:33.426020 7f7ecd6006c0 Delete type=0 #113
|
||||||
|
2024/09/10-07:20:33.538803 7f7ecd6006c0 Manual compaction at level-0 from '!actors!00CKDCqVh5fLZbYo' @ 72057594037927935 : 1 .. '!folders!dwT9WnH0ZnpuZh92' @ 0 : 0; will stop at (end)
|
||||||
|
2024/09/10-07:20:33.538898 7f7ecd6006c0 Manual compaction at level-1 from '!actors!00CKDCqVh5fLZbYo' @ 72057594037927935 : 1 .. '!folders!dwT9WnH0ZnpuZh92' @ 0 : 0; will stop at (end)
|
8
packs/pnj-creatures/LOG.old
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
2024/09/09-21:51:17.088284 7f7ecea006c0 Recovering log #105
|
||||||
|
2024/09/09-21:51:17.099095 7f7ecea006c0 Delete type=3 #103
|
||||||
|
2024/09/09-21:51:17.099204 7f7ecea006c0 Delete type=0 #105
|
||||||
|
2024/09/09-21:52:48.582588 7f7ecd6006c0 Level-0 table #111: started
|
||||||
|
2024/09/09-21:52:48.582673 7f7ecd6006c0 Level-0 table #111: 0 bytes OK
|
||||||
|
2024/09/09-21:52:48.589717 7f7ecd6006c0 Delete type=0 #109
|
||||||
|
2024/09/09-21:52:48.611309 7f7ecd6006c0 Manual compaction at level-0 from '!actors!00CKDCqVh5fLZbYo' @ 72057594037927935 : 1 .. '!folders!dwT9WnH0ZnpuZh92' @ 0 : 0; will stop at (end)
|
||||||
|
2024/09/09-21:52:48.611384 7f7ecd6006c0 Manual compaction at level-1 from '!actors!00CKDCqVh5fLZbYo' @ 72057594037927935 : 1 .. '!folders!dwT9WnH0ZnpuZh92' @ 0 : 0; will stop at (end)
|
BIN
packs/pnj-creatures/MANIFEST-000112
Normal file
@ -1,11 +1,7 @@
|
|||||||
{"name":"Armure de plaques melnibonéenne","type":"protection","img":"systems/fvtt-mournblade/assets/icons/protection.webp","data":{"description":"<p>Cette armure ornée et fi nement gravée est ajustée aux mensurations de celui qui la porte. On ne peut en trouver en dehors d’Imrryr avant sa chute. L’armure couvre tout le corps des pieds à la tête. Le casque est toujours surmonté d’une sculpture en forme de dragon ou de serpent de mer. Des motifs complexes et imbriqués recouvrent la surface de tous les éléments de l’armure. Après la chute d’Imrryr, quelques pièces d’armure melnibonéennes apparaissent de temps en temps sur les marchés mais les armures entières restent rarissimes. Si elle a été spécialement conçue pour son porteur, une armure de plaques melnibonéenne n’impose pas de pénalité d’encombrement à ce dernier.</p>","typeprotection":"armure","protection":6,"degats":"","rarete":10,"prix":1000},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.09OukepQ8Oep0642"}},"_id":"FFX0dFDZoVXFzyXk"}
|
|
||||||
{"name":"Armure de plates, harnois","type":"protection","img":"systems/fvtt-mournblade/assets/icons/protection.webp","data":{"description":"","typeprotection":"armure","protection":5,"degats":"","rarete":10,"prix":500},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.7JErvrlTYaFbCvoR"}},"_id":"so7x8hK8qEc5QqnQ"}
|
|
||||||
{"name":"Armure du Désert des Larmes","type":"protection","img":"systems/fvtt-mournblade/assets/icons/protection.webp","data":{"description":"<p>Les barbares et les nomades du Désert des Larmes ont créé des armures de bois protégeant l’abdomen, la poitrine et les bras. Ces armures sont faites à partir du bois de l’arbre Fal, originaire de plateaux pluvieux situés au-delà du désert. Les barbares décorent souvent leurs armures de symboles tribaux et en protègent la surface avec de la laque. Conçue en bois, cette armure a la particularité de pouvoir flotter quoiqu’un séjour prolongé dans l’eau risque de la détériorer très rapidement. Elle n’en reste pas moins une protection très recherchée par ceux qui ont à s’aventurer sur les flots.</p>","typeprotection":"armure","protection":2,"degats":"","rarete":8,"prix":200},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.b1JGc5OlrIzlQbTO"}},"_id":"ZzzXZUn5PU1lnP0X"}
|
|
||||||
{"name":"Bouclier d’infanterie","type":"protection","img":"systems/fvtt-mournblade/assets/icons/protection.webp","data":{"description":"","typeprotection":"armure","protection":2,"degats":"1D6","rarete":5,"prix":50},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.Xn1tVJgKinG0hc10"}},"_id":"I2X36O7hkpigZmJo"}
|
|
||||||
{"name":"Broigne, cotte de maille","type":"protection","img":"systems/fvtt-mournblade/assets/icons/protection.webp","data":{"description":"","typeprotection":"armure","protection":3,"degats":"","rarete":7,"prix":150},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.th6blCtgBmsWSYdY"}},"_id":"veoS6Gtzj6Dq087V"}
|
|
||||||
{"name":"Cuir bouilli, cuir clouté","type":"protection","img":"systems/fvtt-mournblade/assets/icons/protection.webp","data":{"description":"","typeprotection":"armure","protection":2,"degats":"","rarete":5,"prix":50},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.T9RAyLXDPSHlvoDR"}},"_id":"kis2lI7oEtdWzJbQ"}
|
|
||||||
{"name":"Cuirasse, armure de demi-plaques","type":"protection","img":"systems/fvtt-mournblade/assets/icons/protection.webp","data":{"description":"","typeprotection":"armure","protection":4,"degats":"","rarete":8,"prix":200},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.FvufSkzJOSftZhYt"}},"_id":"2hD1DQVeCIQIXFU7"}
|
{"name":"Cuirasse, armure de demi-plaques","type":"protection","img":"systems/fvtt-mournblade/assets/icons/protection.webp","data":{"description":"","typeprotection":"armure","protection":4,"degats":"","rarete":8,"prix":200},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.FvufSkzJOSftZhYt"}},"_id":"2hD1DQVeCIQIXFU7"}
|
||||||
{"name":"Écu d’acier","type":"protection","img":"systems/fvtt-mournblade/assets/icons/protection.webp","data":{"description":"","typeprotection":"armure","protection":3,"degats":"1D8","rarete":9,"prix":100},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.TAA8qb6POO0HyhU5"}},"_id":"zqKOtmrDNrDYBu2z"}
|
{"name":"Armure de plaques melnibonéenne","type":"protection","img":"systems/fvtt-mournblade/assets/icons/protection.webp","data":{"description":"<p>Cette armure ornée et fi nement gravée est ajustée aux mensurations de celui qui la porte. On ne peut en trouver en dehors d’Imrryr avant sa chute. L’armure couvre tout le corps des pieds à la tête. Le casque est toujours surmonté d’une sculpture en forme de dragon ou de serpent de mer. Des motifs complexes et imbriqués recouvrent la surface de tous les éléments de l’armure. Après la chute d’Imrryr, quelques pièces d’armure melnibonéennes apparaissent de temps en temps sur les marchés mais les armures entières restent rarissimes. Si elle a été spécialement conçue pour son porteur, une armure de plaques melnibonéenne n’impose pas de pénalité d’encombrement à ce dernier.</p>","typeprotection":"armure","protection":6,"degats":"","rarete":10,"prix":1000},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.09OukepQ8Oep0642"}},"_id":"FFX0dFDZoVXFzyXk"}
|
||||||
{"name":"Pavois","type":"protection","img":"systems/fvtt-mournblade/assets/icons/protection.webp","data":{"description":"<p>Le pavois se plante dans le sol au début du combat et ne peut normalement plus être déplacé jusqu’à son issue.</p>","typeprotection":"armure","protection":3,"degats":"","rarete":7,"prix":50},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.y1kNQJYRCEol83IA"}},"_id":"2uqB1doLYK4S2EN2"}
|
|
||||||
{"name":"Targe","type":"protection","img":"systems/fvtt-mournblade/assets/icons/protection.webp","data":{"description":"","typeprotection":"armure","protection":1,"degats":"1D4","rarete":4,"prix":20},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.dyTeMFfvg5mAKT2n"}},"_id":"WH1m35jgm7ilTTuG"}
|
|
||||||
{"name":"Tenues rembourrées, cuir souple, fourrures","type":"protection","img":"systems/fvtt-mournblade/assets/icons/protection.webp","data":{"description":"","typeprotection":"armure","protection":1,"degats":"","rarete":2,"prix":10},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.5dV4DORRrNdAd2Z5"}},"_id":"SqyKvR1GJMJvgHCJ"}
|
{"name":"Tenues rembourrées, cuir souple, fourrures","type":"protection","img":"systems/fvtt-mournblade/assets/icons/protection.webp","data":{"description":"","typeprotection":"armure","protection":1,"degats":"","rarete":2,"prix":10},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.5dV4DORRrNdAd2Z5"}},"_id":"SqyKvR1GJMJvgHCJ"}
|
||||||
|
{"name":"Armure du Désert des Larmes","type":"protection","img":"systems/fvtt-mournblade/assets/icons/protection.webp","data":{"description":"<p>Les barbares et les nomades du Désert des Larmes ont créé des armures de bois protégeant l’abdomen, la poitrine et les bras. Ces armures sont faites à partir du bois de l’arbre Fal, originaire de plateaux pluvieux situés au-delà du désert. Les barbares décorent souvent leurs armures de symboles tribaux et en protègent la surface avec de la laque. Conçue en bois, cette armure a la particularité de pouvoir flotter quoiqu’un séjour prolongé dans l’eau risque de la détériorer très rapidement. Elle n’en reste pas moins une protection très recherchée par ceux qui ont à s’aventurer sur les flots.</p>","typeprotection":"armure","protection":2,"degats":"","rarete":8,"prix":200},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.b1JGc5OlrIzlQbTO"}},"_id":"ZzzXZUn5PU1lnP0X"}
|
||||||
|
{"name":"Cuir bouilli, cuir clouté","type":"protection","img":"systems/fvtt-mournblade/assets/icons/protection.webp","data":{"description":"","typeprotection":"armure","protection":2,"degats":"","rarete":5,"prix":50},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.T9RAyLXDPSHlvoDR"}},"_id":"kis2lI7oEtdWzJbQ"}
|
||||||
|
{"name":"Armure de plates, harnois","type":"protection","img":"systems/fvtt-mournblade/assets/icons/protection.webp","data":{"description":"","typeprotection":"armure","protection":5,"degats":"","rarete":10,"prix":500},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.7JErvrlTYaFbCvoR"}},"_id":"so7x8hK8qEc5QqnQ"}
|
||||||
|
{"name":"Broigne, cotte de maille","type":"protection","img":"systems/fvtt-mournblade/assets/icons/protection.webp","data":{"description":"","typeprotection":"armure","protection":3,"degats":"","rarete":7,"prix":150},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.th6blCtgBmsWSYdY"}},"_id":"veoS6Gtzj6Dq087V"}
|
||||||
|
BIN
packs/protection/000211.ldb
Normal file
0
packs/protection/000218.log
Normal file
1
packs/protection/CURRENT
Normal file
@ -0,0 +1 @@
|
|||||||
|
MANIFEST-000216
|
0
packs/protection/LOCK
Normal file
8
packs/protection/LOG
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
2024/09/10-07:14:44.961549 7f7ecea006c0 Recovering log #214
|
||||||
|
2024/09/10-07:14:45.016222 7f7ecea006c0 Delete type=3 #212
|
||||||
|
2024/09/10-07:14:45.016606 7f7ecea006c0 Delete type=0 #214
|
||||||
|
2024/09/10-07:20:33.539100 7f7ecd6006c0 Level-0 table #219: started
|
||||||
|
2024/09/10-07:20:33.539159 7f7ecd6006c0 Level-0 table #219: 0 bytes OK
|
||||||
|
2024/09/10-07:20:33.576585 7f7ecd6006c0 Delete type=0 #217
|
||||||
|
2024/09/10-07:20:33.678420 7f7ecd6006c0 Manual compaction at level-0 from '!items!2hD1DQVeCIQIXFU7' @ 72057594037927935 : 1 .. '!items!veoS6Gtzj6Dq087V' @ 0 : 0; will stop at (end)
|
||||||
|
2024/09/10-07:20:33.678524 7f7ecd6006c0 Manual compaction at level-1 from '!items!2hD1DQVeCIQIXFU7' @ 72057594037927935 : 1 .. '!items!veoS6Gtzj6Dq087V' @ 0 : 0; will stop at (end)
|
8
packs/protection/LOG.old
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
2024/09/09-21:51:17.152829 7f7ed4e006c0 Recovering log #209
|
||||||
|
2024/09/09-21:51:17.163037 7f7ed4e006c0 Delete type=3 #207
|
||||||
|
2024/09/09-21:51:17.163143 7f7ed4e006c0 Delete type=0 #209
|
||||||
|
2024/09/09-21:52:48.611545 7f7ecd6006c0 Level-0 table #215: started
|
||||||
|
2024/09/09-21:52:48.611586 7f7ecd6006c0 Level-0 table #215: 0 bytes OK
|
||||||
|
2024/09/09-21:52:48.617883 7f7ecd6006c0 Delete type=0 #213
|
||||||
|
2024/09/09-21:52:48.638938 7f7ecd6006c0 Manual compaction at level-0 from '!items!2hD1DQVeCIQIXFU7' @ 72057594037927935 : 1 .. '!items!veoS6Gtzj6Dq087V' @ 0 : 0; will stop at (end)
|
||||||
|
2024/09/09-21:52:48.639004 7f7ecd6006c0 Manual compaction at level-1 from '!items!2hD1DQVeCIQIXFU7' @ 72057594037927935 : 1 .. '!items!veoS6Gtzj6Dq087V' @ 0 : 0; will stop at (end)
|
BIN
packs/protection/MANIFEST-000216
Normal file
45
packs/runes.db
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
{"name":"Garde","type":"rune","img":"systems/fvtt-mournblade/assets/icons/rune.webp","data":{"description":"<p>La Rune de Garde dissipe les effets des Runes employées contre le sorcier, <strong>même celles qu’il ne connaît pas.</strong> Chaque point d’Âme utilisé annule un point d’effet magique de la Rune contrée. La Rune de Garde ne bloque pas l’effet d’une Rune que le sorcier active sur lui-même.</p>","formule":"Kest’","seuil":20,"prononcee":"effet normal","tracee":"effet normal"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.1qARybMHY7tyvRCN"}},"_id":"1JqWbEkHUoKXbsgn"}
|
||||||
|
{"name":"Vérité","type":"rune","img":"systems/fvtt-mournblade/assets/icons/rune.webp","data":{"description":"<p>La Rune de Vérité oblige sa cible à répondre avec une totale sin\u0002cérité à une question. Pour chaque tranche de 3 points d’Âme, le sorcier peut poser une question fermée, c’est-à-dire une question dont la réponse est obligatoirement oui ou non. Un test en oppo\u0002sition Clairvoyance + Trempe / Clairvoyance + Savoir : Runes du sorcier peut être tenté, mais seule une réussite héroïque permet de mentir avec succès. Une réussite simple permet simplement de ne pas répondre à la question posée. La Rune de Vérité est usuellement activée en prononçant son nom bien qu’elle puisse également être intégrée par un enchantement dans une potion que l’on donne à boire. La victime est consciente qu’une force magique la pousse à révéler ses secrets.</p>","formule":"Léth’ Hé’ Yyr","seuil":10,"prononcee":"effet normal","tracee":"tracée sur un onguent ou, par exemple, dans les remous d’une potion bouillonnante, elle confère son pouvoir à la potion qui peut ensuite être donnée à boire. Elle a pour particularité de retirer la saveur de tout aliment avec lequel elle est mélangée."},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.wqTA4HN4c0mW0ctT"}},"_id":"1gjuH4gFroHLx4yX"}
|
||||||
|
{"name":"Passage","type":"rune","img":"systems/fvtt-mournblade/assets/icons/rune.webp","data":{"description":"<p>La Rune du Passage contre les effets de la Rune de Barrage et de la Rune d’Emprisonnement. Elle permet également d’ou\u0002vrir n’importe quel mécanisme de fermeture (comme un cade\u0002nas ou un verrou) même si ce mécanisme n’est pas apparent (comme un verrou posé de l’autre côté d’une porte). Comptez 1 point pour une simple serrure, 10 points pour un pont\u0002levis. Pour activer cette Rune, le sorcier peut prononcer son nom ou l’inscrire sur l’objet selon ce qui est le plus approprié.</p>","formule":"Ne’Hel Fikhorn","seuil":15,"prononcee":"effet normal","tracee":"effet normal"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.n2tV6CX4qcHdxCQf"}},"_id":"4mgRvTPQR2JP6VAE"}
|
||||||
|
{"name":"Emprisonnement","type":"rune","img":"systems/fvtt-mournblade/assets/icons/rune.webp","data":{"description":"<p>La Rune d’Emprisonnement ne peut pas être activée en pro\u0002nonçant son nom : elle doit être inscrite. La Rune est la plu\u0002part du temps utilisée pour définir une zone dans laquelle il est possible d’entrer mais non de sortir tant que son pouvoir dure. La Rune d’Emprisonnement est très similaire à la Rune de Barrage ; reportez-vous à cette Rune. Le sorcier doit tou\u0002jours définir précisément la zone sous l’emprise de l’effet. Quiconque est emprisonné par la Rune ne souffre d’aucune affliction, sauf celles éventuellement causées par l’environne\u0002ment. Il ne subit aucun dommage s’il tente de sortir de la zone d’Emprisonnement. La victime sait qu’elle est prisonnière et se doute qu’elle est sans doute victime de Sorcellerie, mais elle ne peut sortir de la zone dans laquelle elle est retenue. Il n’y a pas de barrière invisible qui s’élève ou de mains de pierre qui lui saisissent les pieds. Elle ne peut simplement plus sortir de cette zone, comme si une part de son esprit s’y refusait, même si un compagnon tente de la porter ou de l’en faire sortir de force. Et il y a de fortes chances que ledit compagnon ne puisse plus en sortir non plus. </p>","formule":"Ân’Tan mahau","seuil":15,"prononcee":"sans effet","tracee":"effet normal"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.eAcWKxN0AAyCTSUp"}},"_id":"5JgGBHAz9aZQTGIR"}
|
||||||
|
{"name":"Bêtes","type":"rune","img":"systems/fvtt-mournblade/assets/icons/rune.webp","data":{"description":"<p>Chaque bête – insecte, poisson, reptile, mammifère ou oiseau – possède sa propre Rune. Il faut dépenser 1 point d’Âme pour les activer. Les Runes des Bêtes ne font rien de plus qu’indi\u0002quer la nature de la bête. Quand une autre Rune est assemblée avec Rune des Bêtes, leurs pouvoirs n’affectent que la créature associée à la Rune. Ainsi, combiner la Rune de Garde avec la Rune de l’Insecte permet de tenir les insectes, et seulement les insectes, à distance.</p>","formule":"Galab","seuil":5,"prononcee":"effet normal","tracee":"effet normal"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.56G3xBhwVK9k3jVA"}},"_id":"87qaL20n9DqU6b9B"}
|
||||||
|
{"name":"Miroir","type":"rune","img":"systems/fvtt-mournblade/assets/icons/rune.webp","data":{"description":"<p>La Rune du Miroir renvoie toute attaque physique portée sur le sorcier vers l’attaquant. L’attaquant s’attaque en réalité lui\u0002-même. Le nombre total d’attaques contrées dépend du nombre de points d’Âme utilisés pour activer la Rune. Chaque attaque entame la réserve de la Rune de 3 points d’Âme. Lorsque cette réserve est vide, la Rune est épuisée et cesse de faire effet.</p>\n<p>Pour que l’effet se produise, il faut que le magicien sache qu’il fait l’objet d’une attaque.</p>","formule":"Aé’Kholôn","seuil":15,"prononcee":"effet normal","tracee":"effet normal mais la Rune doit être tracée sur un bouclier, une armure ou un corps."},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.UR8FXYlqxp5Vi3jr"}},"_id":"8dSf90NE4cpByZxu"}
|
||||||
|
{"name":"Air","type":"rune","img":"systems/fvtt-mournblade/assets/icons/rune.webp","data":{"description":"<p>La Rune de l’Air permet au sorcier de contrôler l’air, de l’ani\u0002mer et dans une certaine mesure d’en créer quand il fait défaut, comme lorsque le sorcier se trouve sous l’eau. Le contrôle de l’air permet d’influencer la force et la direction du vent. Le sor\u0002cier peut également, grâce à la force de l’air, soulever à distance des objets et leur faire effectuer des mouvements simples. Un point d’Âme permet de réaliser l’un des effets suivants :</p>\n<ul>\n<li>augmenter ou diminuer la vitesse du vent de 15 mètres par seconde ;</li>\n<li>dissiper un gaz empoisonné ou nauséabond contenu dans un verre (1 point) dans une jarre (2 points), dans une petite pièce (5 points), dans une salle (8 points), etc. ;</li>\n<li>soulever et déplacer à toute petite vitesse un objet de 500 grammes environ.</li>\n</ul>\n<p>La connaissance de la Rune de l’Air est nécessaire pour invo\u0002quer et contrôler un Élémentaire d’Air</p>","formule":"Aïlé","seuil":10,"prononcee":"effet normal","tracee":"effet normal"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.v6eXdl7ZxbB1qC6s"}},"_id":"AUAoyxiocnxSPxyq"}
|
||||||
|
{"name":"Hybride","type":"rune","img":"systems/fvtt-mournblade/assets/icons/rune.webp","data":{"description":"<p>Cette Rune fut découverte au temps des Guerres Dharzi, mais fut peu employée par les Dharzi qui préféraient user de sa Rune jumelle : Chimère.</p>\n<p>La Rune peut être employée sur des cadavres ou des corps bien vivants, ou un immonde mélange des deux.</p>\n<p>La Rune Hybride permet de fusionner deux ou plusieurs corps humains (ou humanoïdes) afin de créer un nouvel homme ou une nouvelle femme. Le nombre de points d’Âme utili\u0002sés pour l’activer doit être égal au nombre total de points de Trempe combinés de l’ensemble des créatures affectées. Le sorcier peut interchanger les parties du corps comme il le sou\u0002haite. Il est possible à un être vivant ciblé par cette Rune d’y résister en réussissant un test en opposition de Clairvoyance + Trempe / Clairvoyance + Savoir : Runes du sorcier. Quand la Rune est désactivée, la créature hybride se disloque et ses parties vivantes subissent [[/roll 1d10 + 3]] points de dégâts létaux.</p>","formule":"An’An’","seuil":25,"prononcee":"effet normal","tracee":"si la Rune est tracée, les conséquences de l’échec dramatique du Sort ne peuvent être que la perte des points d’Âme."},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.JUczeoZCX72Y2eil"}},"_id":"AYeUGdCvSSwdKEky"}
|
||||||
|
{"name":"Homme","type":"rune","img":"systems/fvtt-mournblade/assets/icons/rune.webp","data":{"description":"<p>En tant que telle, la Rune de l’Homme est une indication de genre. Quand elle est combinée avec une autre Rune, elle restreint les effets de cette Rune aux seuls êtres masculins. Il faut dépenser 1 point d’Âme pour l’activer.</p>","formule":"An’ Haer","seuil":5,"prononcee":"effet normal","tracee":"effet normal"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.YQYed3IAkTFmF1Mj"}},"_id":"Asg637gk3ciMb8nG"}
|
||||||
|
{"name":"Vision","type":"rune","img":"systems/fvtt-mournblade/assets/icons/rune.webp","data":{"description":"<p>Pour activer la Rune de Vision, le sorcier peut prononcer son nom ou l’inscrire.</p>","formule":"Katz’ Hyyr","seuil":10,"prononcee":"quand il prononce le nom de cette Rune, la compétence Perception du sorcier est augmentée de 1 point pour 2 points d’Âme dépensés, uniquement dans le cas de tests de perception visuelle.","tracee":"si la Rune est inscrite sur un objet, un mur ou un arbre, le sorcier peut voir comme s’il se trouvait là où elle est tracée, aussi longtemps que la Rune est maintenue (coût : 5 points d’Âme)."},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.6JaFdIj3DloGOs7Z"}},"_id":"Dx1aqAbGPjlYcGKm"}
|
||||||
|
{"name":"Chimère","type":"rune","img":"systems/fvtt-mournblade/assets/icons/rune.webp","data":{"description":"<p>Cette Rune fut découverte au temps des Guerres Dharzi. Elle permet de fusionner deux ou plusieurs créatures ensemble pour en créer une nouvelle. Le nombre de points d’Âme utilisés pour l’activer doit être égal au nombre total de points de Puis\u0002sance combinés de l’ensemble des créatures affectées. Le sorcier peut décider de quel attribut et de quelle partie du corps de chaque créature dispose la chimère ainsi constituée. Cette Rune doit être assemblée avec les Runes des Bêtes appropriées pour chaque type de créature touché. Quand la Rune est désactivée, la chimère se disloque en un répugnant amas de chairs mortes.</p>","formule":"An’ Galab","seuil":20,"prononcee":"effet normal","tracee":"si la Rune est tracée, les conséquences de l’échec dramatique du Sort ne peuvent être que la perte des points d’Âme."},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.I9hHQiphvR5K0Rlh"}},"_id":"EEjjKvuPrVGuF5kp"}
|
||||||
|
{"name":"Parfum","type":"rune","img":"systems/fvtt-mournblade/assets/icons/rune.webp","data":{"description":"<p>Pour activer la Rune du Parfum, le sorcier peut prononcer son nom ou l’inscrire. Il convient de noter que la Rune du Parfum ne supprime pas les effets du poison ou de la maladie ; elle ne fait qu’en masquer l’odeur ou le goût. </p>","formule":"O’ Khaïm","seuil":10,"prononcee":"quand le sorcier prononce le nom de la Rune, sa compétence Perception est augmentée de 1 point pour 2 points d’Âme dépensés, uniquement dans le cas de tests de perception olfactive ou gustative.","tracee":"si la Rune est inscrite sur un objet approprié (comme un bol, une assiette ou un gobelet), son contenu, quel qu’il soit et quel que soit son état, devient pour celui qui l’ingère incroyablement savoureux."},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.YAFRcdM6nAIiQTRD"}},"_id":"FEMjhQ3csQXkVvIn"}
|
||||||
|
{"name":"Chaos","type":"rune","img":"systems/fvtt-mournblade/assets/icons/rune.webp","data":{"description":"<p>La Rune du Chaos est une étoile composée de huit flèches provenant toutes d’un même point central. Il faut dépenser 1 point d’Âme pour l’activer. Elle n’a en fait aucun pouvoir intrinsèque. Elle sert simplement à marquer l’influence du Chaos sur un endroit ou l’allégeance d’un sorcier. Assemblée avec une autre Rune, elle focalise l’effet de celle-ci sur qui\u0002conque est affi lié d’une manière ou d’une autre au Chaos. <strong>La connaissance de la Rune du Chaos est nécessaire pour pou\u0002voir invoquer et contrôler des Démons.</strong></p>","formule":"Fa’Hi ou Ka’He","seuil":10,"prononcee":"effet normal","tracee":"si la Rune du Chaos est tracée sur une arme, l’arme bénéfi cie d’un bonus de + 1 aux dégâts (par tranche de 5 points d’Âmes investis) lorsqu’elle frappe un Automaton ou un être ayant conclu un Pacte avec la Loi."},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.YDQgSU1dJZWqtb9G"}},"_id":"GYNL8PAjFzH6HBfh"}
|
||||||
|
{"name":"Amélioration","type":"rune","img":"systems/fvtt-mournblade/assets/icons/rune.webp","data":{"description":"<p>Chaque Rune d’Amélioration augmente un unique attribut d’un point pour cinq points d’Âme dépensés. L’amélioration de la Clairvoyance ou de la Trempe par ce biais n’a aucun effet sur le nombre de points d’Âme. Le sorcier doit connaître la Rune correspondant à l’attribut qu’il souhaite améliorer. Tous les attributs secondaires, à l’exception de l’Âme, sont recal\u0002culés en fonction de l’amélioration pendant toute la durée d’activité de la Rune. Les cinq Runes d’Amélioration sont : la Rune d’Adresse, la Rune de Clairvoyance, la Rune de Pré\u0002sence, la Rune de Puissance et la Rune de Trempe.</p>\n<p>Cette Rune ne peut qu’être tracée sur le corps de la cible.</p>","formule":"Ach S’erem","seuil":10,"prononcee":"sans effet","tracee":"effet normal"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.mAvirNh3g3q4t2fe"}},"_id":"Hqi40av8JOGqNQ1S"}
|
||||||
|
{"name":"Influence","type":"rune","img":"systems/fvtt-mournblade/assets/icons/rune.webp","data":{"description":"<p>Le sorcier peut infl uencer la cible qu’il touche de manière à obtenir ses faveurs. Par tranche de 3 points d’Âme dépensés, il obtient un bonus de + 1 à tous ses tests de Persuasion ou de Coercition. La cible peut y résister en réussissant un test en opposition Clairvoyance + Trempe / Clairvoyance + Savoir : Runes du sorcier.</p>","formule":"Akh’A’Haïme","seuil":15,"prononcee":"effet normal","tracee":"les conséquences de l’échec dramatique du Sort ne peuvent être que la perte de points d’Âme."},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.fxq2glX79V7Wv0xY"}},"_id":"KGK11U6UJbtv4CHH"}
|
||||||
|
{"name":"Silence","type":"rune","img":"systems/fvtt-mournblade/assets/icons/rune.webp","data":{"description":"<p>Pour activer la Rune de Silence, le sorcier peut murmurer son nom ou l’inscrire. La Rune de Silence ne rend pas invisible : elle est inutile lorsqu’il s’agit de ne pas être vu.</p>","formule":"Hess ’lan","seuil":10,"prononcee":"si le sorcier murmure le nom de la Rune, sa compétence Discrétion augmente d’un point pour 2 points d’Âme dépensés.","tracee":"si la Rune est inscrite sur un objet, tous les sons dans un rayon de 1 mètre par point d’Âme dépensé sont étouffés, ce qui a également pour effet d’augmenter la discré\u0002tion du porteur de l’objet et de ceux qui l’entourent. Il faut alors dépenser 3 points d’Âme pour 1 point supplémentaire en Discrétion."},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.y9tz2MnBJSn34tcL"}},"_id":"LF2NIr48WTpGJF2a"}
|
||||||
|
{"name":"Sommeil","type":"rune","img":"systems/fvtt-mournblade/assets/icons/rune.webp","data":{"description":"<p>La Rune de Sommeil plonge la cible dans un sommeil répa\u0002rateur et sans rêve. Pour l’activer, il faut dépenser un nombre de points d’Âme égal au niveau de Trempe de la cible. Il est impossible de réveiller le dormeur tant que l’effet de la Rune est actif. Si la cible de la Rune n’est pas consentante, elle peut y résister en réussissant un test en opposition de Clairvoyance + Trempe / Clairvoyance + Savoir : Runes du sorcier. Pour activer la Rune de Sommeil, le sorcier peut prononcer son nom ou l’inscrire. La Rune de Sommeil protège également le dormeur contre toute attaque des Voleurs de Rêves (qui seront traités dans un supplément à venir).</p>","formule":"Syk’Myyr","seuil":15,"prononcee":"si le sorcier prononce le nom de la Rune, il doit également toucher la cible pour que la Rune fasse effet.","tracee":"si la Rune est inscrite, l’objet qui la porte doit être en contact avec la cible."},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.L1SaKkFkFF7Of8j6"}},"_id":"N8c4UlQacW1nBeVx"}
|
||||||
|
{"name":"Lien de l’âme","type":"rune","img":"systems/fvtt-mournblade/assets/icons/rune.webp","data":{"description":"<p>Cette Rune autorise le sorcier à transférer temporairement son âme, ou celle d’une personne consentante qu’il touche, hors de son corps vers un autre réceptacle. Le nombre de points d’Âme utilisés pour l’activer doit être égal au niveau de Clair\u0002voyance de la cible. Un être affecté par cet effet ne souffre pas du transfert et n’est pas repérable par l’Œil du Sorcier. Une âme introduite dans le corps d’une autre créature continue à vivre si son corps originel vient à mourir. Elle peut à nouveau changer de corps si la Rune est une nouvelle fois activée. Si l’âme est introduite dans un objet et que son corps originel est tué, l’âme reste liée à l’objet jusqu’à ce que quelqu’un la délivre ou que la Rune soit désactivée. Dans ce second cas, l’âme captive meurt sur-le-champ.</p>","formule":"Kh’Ân’Tan mahau","seuil":30,"prononcee":"effet normal","tracee":"effet normal"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.Y6H0d6itYEKRSk29"}},"_id":"Q7ErQMozGsQRjakA"}
|
||||||
|
{"name":"Froid","type":"rune","img":"systems/fvtt-mournblade/assets/icons/rune.webp","data":{"description":"<p>La Rune du Froid rend le sorcier, ou l’objet sur lequel elle est inscrite, froid au toucher. Un seul point d’Âme investi rend la cible aussi froide qu’une source d’eau fraîche (ou qu’un cadavre). Les points supplémentaires dépensés causent des dégâts létaux dus au froid à quiconque touche la cible : les dégâts sont de 1 point pour 2 points d’Âme dépensés. Les dégâts continuent à chaque tour de jeu tant que la victime est en contact avec la cible du sort. Pour geler de l’eau ou de la nourriture, le sorcier doit prononcer le nom de la Rune, dépenser 2 points d’Âme et toucher l’objet ou le liquide qu’il souhaite geler. Il peut geler pour 1 point d’Âme 1 litre de liquide, pour 2 points l’auge des chevaux dans une écurie, pour 5 points un agneau, 8 points une mare ou un puits, 50 points un petit lac, etc. </p>","formule":"Kalda","seuil":10,"prononcee":"effet normal","tracee":"si la Rune est tracée, elle ne cause pas de dom\u0002mage au support sur lequel elle est inscrite"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.4NDeb8AQrKteJacI"}},"_id":"SF4NMsUpaoOYBWUJ"}
|
||||||
|
{"name":"Domination","type":"rune","img":"systems/fvtt-mournblade/assets/icons/rune.webp","data":{"description":"<p>Cette Rune permet d’obtenir une obéissance totale de l’être sur lequel elle est activée. Le nombre de points d’Âme uti\u0002lisés pour la Rune doit être égal à la Trempe de la cible. Si la Rune est utilisée contre un être pensant, celui-ci peut y résister en réussissant un test d’opposition Clairvoyance + Trempe / Clairvoyance + Savoir : Runes du sorcier. Il lui est possible de refaire ce test chaque fois qu’il reçoit un ordre mettant sa vie en péril direct (par exemple, l’ordre de se jeter dans le vide).</p>","formule":"Saë Tar","seuil":20,"prononcee":"effet normal","tracee":"si la Rune est tracée sur le corps de la victime, effet normal."},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.0KyAUGiKJlSADYBD"}},"_id":"XDpno2OGwpRx082M"}
|
||||||
|
{"name":"Vitesse","type":"rune","img":"systems/fvtt-mournblade/assets/icons/rune.webp","data":{"description":"<p>Cette augmente d’1 niveau la Vitesse de la cible par point d’Âme dépensé. Elle octroie également un bonus de + 1 point d’initiative pour 2 points d’Âme dépensés.</p>","formule":"Aé’Ké’Léon","seuil":10,"prononcee":"effet normal","tracee":"la Rune doit être tracée sur la cible."},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.xfEG6nj0R2eblfYM"}},"_id":"XkaQxMd65Pt5Le5A"}
|
||||||
|
{"name":"Feu","type":"rune","img":"systems/fvtt-mournblade/assets/icons/rune.webp","data":{"description":"<p>La Rune du Feu permet au sorcier de contrôler, mais pas de créer, le feu. La Rune peut être utilisée pour éteindre des flammes ou pour contrôler leur direction.</p>\n<p>Un point d’Âme permet d’éteindre une flamme, 2 points le petit feu d’un bivouac, 5 points un grand feu de joie, 8 points un feu qui embrase une chambre, 50 points un feu de forêt, etc. La connaissance de la Rune du Feu est nécessaire pour invo\u0002quer et contrôler un Élémentaire de Feu.</p>","formule":"At’ra","seuil":10,"prononcee":"effet normal","tracee":"effet normal"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.1dkIsj4ZTIi8e4Zj"}},"_id":"XvFeI7mbRNcu1Ara"}
|
||||||
|
{"name":"Animation des morts","type":"rune","img":"systems/fvtt-mournblade/assets/icons/rune.webp","data":{"description":"<p>Cette Rune très dangereuse permet de restituer aux morts un semblant de vie. Pour réanimer un mort, le sorcier doit dépen\u0002ser autant de points d’Âme que le corps avait de Puissance. Lorsqu’un mort est ramené dans le monde des vivants, le sor\u0002cier doit accomplir un test de Capacité de Présence + Coer\u0002cition / 15. En cas d’échec, la créature devient incontrôlable. En cas de réussite, elle obéira à des ordres simples.</p>\n<p>Les créatures ainsi réanimées utilisent les attributs – à l’excep\u0002tion de la Clairvoyance et des points d’Âme – et compétences physiques qu’elles possédaient de leur vivant. Si elles tombent à 0 point de Santé, elles sont détruites. Le corps reste dans l’état dans lequel il a été trouvé. Si le corps n’a plus de forme, s’il est à l’état de poussière ou de squelette épars, la Rune d’Animation ne fonctionne pas. Un squelette intact, portant encore ses armes et son armure, pourra être réanimé, mais deux fémurs, quelques côtes et un crâne ne serviront à rien. </p>","formule":"Li’Nokhaïm","seuil":25,"prononcee":"effet normal","tracee":"si la Rune est tracée, les conséquences de l’échec dramatique du Sort ne peuvent être que la perte des points d’Âme."},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.lGm46q8kB1hZ3JFL"}},"_id":"aSlGu6bN9EBWr66s"}
|
||||||
|
{"name":"Santé","type":"rune","img":"systems/fvtt-mournblade/assets/icons/rune.webp","data":{"description":"<p>La Rune de Santé peut être inscrite ou prononcée. Elle est la composition de base des Sortilèges et des potions de soin. Elle possède les effets suivants :</p>\n<ul>\n<li>elle soigne les blessures et referme les plaies à raison de 1 point de dégât létal pour 2 points d’Âme dépensés ;</li>\n<li>elle soigne une maladie d’une Virulence égale au nombre de points d’Âme investis multiplié par deux, à condition que le sorcier ait pu identifier la maladie. Le patient recouvre norma\u0002lement ses points de Santé.</li>\n</ul>","formule":"Oû Kheïa","seuil":15,"prononcee":"si la Rune est prononcée, elle doit l’être à nouveau chaque jour jusqu’à la guérison complète du malade.","tracee":"si la Rune est inscrite, elle doit l’être sur tout le corps, et le malade doit la garder tout au long du processus."},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.9skcG3NV0xqxZjMk"}},"_id":"df0XfMeNhaP6RPQ8"}
|
||||||
|
{"name":"Barrage, Interdiction ou Excommunication","type":"rune","img":"systems/fvtt-mournblade/assets/icons/rune.webp","data":{"description":"<p>Les créatures prises dans l’aire d’effet de la Rune peuvent s’en échapper mais elles ne peuvent pas y retourner tant que l’effet n’est pas dissipé. Toute tentative pour abattre les murs, bri\u0002ser les fenêtres ou creuser un tunnel dans la zone d’effet de la Rune est vouée à l’échec. Le seul moyen de contrer l’effet d’une Rune de Barrage est d’utiliser une Rune de Passage, pour laquelle le sorcier doit dépenser au moins autant de points d’Âme que le pouvoir de la Rune.</p>","formule":"Na’Khal’Rlye Na","seuil":10,"prononcee":"effet normal","tracee":"si la Rune est tracée, les conséquences de l’échec dramatique du Sort ne peuvent être que la perte des points d’Âme."},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.UD13BGbUPdOJsBBL"}},"_id":"elc9fGa5mmssw8GT"}
|
||||||
|
{"name":"Toucher","type":"rune","img":"systems/fvtt-mournblade/assets/icons/rune.webp","data":{"description":"<p>La Rune de Caresse permet de toucher virtuellement un objet ou un être vivant sans être en contact avec lui. Les sorciers ont l’habitude de prononcer son nom plutôt que de l’inscrire. Pour chaque point d’Âme investi, le sorcier peut toucher et ressentir le contact d’un objet distant de 10 mètres. Il convient de noter que la Rune de Caresse ne permet en aucune façon de faire bouger l’objet. Si la cible est un être vivant, elle peut faire un test d’opposition de Clairvoyance + Trempe / Clairvoyance + Savoir : Runes du sorcier. Si le test est réussi, la cible est consciente de l’effet de la Rune comme si les mains du sorcier étaient réellement en contact avec elle, bien que l’origine de la sensation puisse ne pas être visible. Cette Rune est surtout utile en combinaison avec d’autres Runes, afin d’appliquer leur effet sur une cible hors de portée de la main du sorcier.</p>","formule":"Bliss’ Bissa’ët","seuil":10,"prononcee":"effet normal","tracee":"effet normal"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.nIz4B2jKV0Eo32ta"}},"_id":"f3HcCBLRhM5qC1pN"}
|
||||||
|
{"name":"Lumière","type":"rune","img":"systems/fvtt-mournblade/assets/icons/rune.webp","data":{"description":"<p>Cette Rune crée de la lumière autour du sorcier, s’il prononce son nom, ou de l’objet, si la Rune est inscrite. La zone est considérée comme éclairée. Il convient de noter que seule la zone indiquée est éclairée, tout ce qui se trouve en dehors de l’aire d’effet reste dans l’ombre. La Rune de la Lumière crée de la lumière, pas une fl amme, dans une zone allant de la taille d’une main pour 1 point d’Âme dépensé, à une maison pour 10 points d’Âme, et ainsi de suite.</p>","formule":"K’hos","seuil":10,"prononcee":"effet normal","tracee":"effet normal"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.gT44LzC7XJKlIwOh"}},"_id":"hDfxyYJvN5jOt3b9"}
|
||||||
|
{"name":"Transfert","type":"rune","img":"systems/fvtt-mournblade/assets/icons/rune.webp","data":{"description":"<p>Cette puissante Rune est toujours créée en deux parties. Elle per\u0002met le transfert d’un objet entre ces deux parties. On peut inscrire la première moitié dans un lieu, sur un objet ou un être vivant, en dépensant un seul point d’Âme pour s’assurer de la durée de l’effet. L’effet de la Rune est déclenché quand la deuxième moitié est ins\u0002crite ou que son nom est prononcé. Le sorcier peut alors transférer la cible de la deuxième moitié vers la première ou vice-versa. Si l’une des deux moitiés est liée à un lieu, l’autre moitié, être vivant ou objet, est alors immédiatement transférée vers ce lieu. Le sorcier peut ainsi déplacer un point de Puissance par point d’Âme dépensé dans la seconde partie de la Rune. Si la cible du Transfert n’est pas consentante, elle peut y résister en réussissant un test en opposition de Clairvoyance + Trempe / Clairvoyance + Savoir : Runes du sorcier. La portée du Transfert est illimitée, que ce soit dans notre monde ou dans l’ensemble des plans d’existence.</p>\n<p>Une fois que les deux moitiés de la Rune sont réunies, le pou\u0002voir de la Rune de Transfert se dissipe.</p>","formule":"Laef’ Eren","seuil":25,"prononcee":"sans effet","tracee":"effet normal"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.WgQ2pbdqhjswvtuS"}},"_id":"hG2yf6gcEgl54gvt"}
|
||||||
|
{"name":"Alarme","type":"rune","img":"systems/fvtt-mournblade/assets/icons/rune.webp","data":{"description":"<p>Quand elle est inscrite sur une personne ou un objet, le sorcier est immédiatement informé de ses déplacements et de tout contact extérieur. La Rune d’Alarme ne peut pas être activée verbalement. Sa portée est de 1 kilomètre par point d’Âme investi.</p>","formule":"Haer’ Gan","seuil":10,"prononcee":"sans effet","tracee":"effet normal"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.YSyh6AX3tHrDWfja"}},"_id":"iiltK3LhCxfXwGbB"}
|
||||||
|
{"name":"Ténèbres","type":"rune","img":"systems/fvtt-mournblade/assets/icons/rune.webp","data":{"description":"<p>Cette Rune crée un manteau de ténèbres. Au sein de la zone affectée, les sources de lumière n’apportent aucun éclairage et nul ne peut voir quoi que ce soit, pas même le sorcier. Les autres sens, comme le sonar d’une chauve-souris, fonc\u0002tionnent normalement. L’Œil n’est pas affecté par le pouvoir de la Rune. Celle-ci affecte une zone de la taille d’une main pour 1 point d’Âme dépensé, d’une maison pour 10 points d’Âme, et ainsi de suite. </p>","formule":"Mel’Koô’Ros","seuil":10,"prononcee":"le manteau de ténèbres se tisse autour du sorcier.","tracee":"le manteau de ténèbres se tisse autour de l’objet sur lequel la Rune est inscrite."},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.a7MD1ZIKAYMJ8uvZ"}},"_id":"jr7YHR7SJp9fWTk7"}
|
||||||
|
{"name":"Végétaux","type":"rune","img":"systems/fvtt-mournblade/assets/icons/rune.webp","data":{"description":"<p>Chaque végétal – arbre, buisson, fleur ou mousse – possède sa propre Rune. Il faut dépenser 1 point d’Âme pour l’ac\u0002tiver. Les Runes des Végétaux ne font ne font rien de plus qu’indiquer la nature du végétal. Quand une autre Rune est assemblée avec l’une des Runes des Végétaux, ses pouvoirs n’affectent que le végétal associé.</p>","formule":"Dhen Drôn","seuil":5,"prononcee":"effet normal","tracee":"effet normal"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.n32BpC0hhiEQeQNp"}},"_id":"jymqWk93AuF9piFA"}
|
||||||
|
{"name":"Loi","type":"rune","img":"systems/fvtt-mournblade/assets/icons/rune.webp","data":{"description":"<p>La Rune de la Loi est une simple fl èche tournée vers le haut. Elle n’a en fait aucun pouvoir intrinsèque. Il faut dépenser 1 point d’Âme pour l’activer. Elle sert juste à marquer l’influence de la Loi sur un endroit ou à indiquer l’allégeance de l’ecclésiaste por\u0002tant ce symbole. Quand elle est assemblée avec une autre Rune, elle focalise l’effet de celle-ci sur les êtres affi liés d’une manière ou d’une autre à la Loi. <strong>La connaissance de la Rune de la Loi est nécessaire pour invoquer et contrôler des créations de la Loi.</strong></p>","formule":"Aerk’Hyn","seuil":10,"prononcee":"effet normal","tracee":"si la Rune de la Loi est tracée sur une arme, l’arme bénéfi cie d’un bonus de + 1 aux dégâts (par tranche de 5 points d’Âmes investis) lorsqu’elle frappe un Démon ou un être ayant conclu un Pacte avec le Chaos."},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.uDEeZsq3sUvVEFOl"}},"_id":"kWwx24Zw4tmkrTrq"}
|
||||||
|
{"name":"Purification","type":"rune","img":"systems/fvtt-mournblade/assets/icons/rune.webp","data":{"description":"<p>La Rune de Purification possède plusieurs pouvoirs. Elle peut en premier lieu stériliser un liquide ou de la nourriture pour 1 point d’Âme. Elle est également capable de réduire de 5 points la Virulence d’un poison (y compris un poison magique) pour chaque point d’Âme investi. Enfin, chaque point d’Âme investi offre 1 point supplémentaire sur les tests de résistance à la maladie.</p>","formule":"Anak’h Sis","seuil":10,"prononcee":"effet normal","tracee":"effet normal"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.gKWHe4cgM72aGjfv"}},"_id":"mP50AhMJJbjT3sWG"}
|
||||||
|
{"name":"Dégradation","type":"rune","img":"systems/fvtt-mournblade/assets/icons/rune.webp","data":{"description":"<p>Chaque Rune de Dégradation abaisse un seul attribut de 1 point pour 5 points d’Âme dépensés. La dégradation de la Clairvoyance ou de la Trempe par ce biais n’a aucun effet sur le nombre de points d’Âme. Le sorcier doit connaître la Rune correspondant à l’attribut qu’il souhaite détériorer. Tous les attributs secondaires, à l’exception de l’Âme, sont recalculés en fonction de la dégradation pendant toute la durée d’acti\u0002vité de la Rune. Les cinq Runes de Dégradation sont : la Rune de Maladresse, la Rune d’Imbécilité, la Rune d’Insignifiance, la Rune de Faiblesse et la Rune de Couardise.</p>","formule":"Kha Nekhaim Assat","seuil":25,"prononcee":"effet normal","tracee":"si la Rune est tracée sur le corps de la victime, effet normal."},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.vOdAOu2d81xY9cnm"}},"_id":"mcdSaXloOXRB6S31"}
|
||||||
|
{"name":"Eau","type":"rune","img":"systems/fvtt-mournblade/assets/icons/rune.webp","data":{"description":"<p>La Rune de l’Eau permet au sorcier de contrôler l’eau mais pas de la créer. La Rune peut être utilisée pour mettre en mouvement une masse liquide inerte ou pour contrôler la direction d’un torrent ou de vagues.</p>\n<p>L’efficacité de la Rune varie en fonction du nombre de points d’Âmes dépensés. Elle permet de manipuler une masse de liquide égale à :</p>\n<ul>\n<li>un verre (1 point) ;</li>\n<li>une bouteille (2 points) ;</li>\n<li>un tonneau (4 points) ;</li>\n<li>une cuve (10 points) ;</li>\n<li>une fontaine ou un puits (20 points) ;</li>\n<li>un petit étang, un ruisseau ou une vague (40 points) ;</li>\n<li>un lac, un torrent ou une lame de pleine mer (50 points) ;</li>\n<li>un grand lac, une rivière ou un petit raz de marée (200 points).</li>\n</ul>\n<p>La connaissance de la Rune de l’Eau est nécessaire pour invo\u0002quer et contrôler un Élémentaire d’Eau.</p>","formule":"Néh’Khan","seuil":10,"prononcee":"effet normal","tracee":"effet normal"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.ILxlXoCYq4Db8wOr"}},"_id":"nGgoDFnZPS6uYGcD"}
|
||||||
|
{"name":"Protection","type":"rune","img":"systems/fvtt-mournblade/assets/icons/rune.webp","data":{"description":"<p>La surface protégée par la Rune semble durcir légèrement et pourtant conserve sa souplesse initiale. Frappée, la surface protégée produit un son plus mat ou assourdi que la normale. Sur une armure, des reflets étranges apparaissent parfois, comme si elle luisait d’une lueur irréelle. Le sorcier ajoute des points de Protection temporaire à sa cible : 1 point pour 1 point d’Âme investi dans la Rune, 2 pour 2 points d’Âme, 3 pour 6 points d’Âme et 4 pour 11 points. Ces points se cumulent avec la Protection existante.</p>\n<p>La Rune peut être activée en prononçant son nom ou en l’inscrivant.</p>","formule":"Kha’ Maé ’Mellôn","seuil":15,"prononcee":"effet normal","tracee":"effet normal mais la Rune doit être tracée sur un bouclier, une armure ou un corps."},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.kSaiqifyg6eq02vj"}},"_id":"nymd8UI4AWnE74fk"}
|
||||||
|
{"name":"Écoute","type":"rune","img":"systems/fvtt-mournblade/assets/icons/rune.webp","data":{"description":"<p>Pour activer la Rune d’Écoute, le sorcier peut prononcer son nom ou l’inscrire. </p>","formule":"Hénak","seuil":10,"prononcee":"quand il prononce le nom de la Rune, la compétence Perception du sorcier est augmentée de 1 point pour 2 points d’Âme dépensés. Cette augmentation n’est effective que dans le cas de tests de perception auditive.","tracee":"si la Rune est inscrite sur un objet, sur un mur, ou un arbre, le sorcier peut entendre comme s’il se trouvait près du lieu où elle est tracée aussi longtemps que la Rune est maintenue."},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.6RJicyLNG50WfnJ7"}},"_id":"olzDZforp9LsxUEJ"}
|
||||||
|
{"name":"Contre-Sort","type":"rune","img":"systems/fvtt-mournblade/assets/icons/rune.webp","data":{"description":"<p><strong>Seuil de difficulté :</strong> égal à celui de la Rune à contrer, ou de la Rune la plus puissante dans le cas d’un Sortilège à contrer.</p>\n<p>La Rune de Contre-Sort affaiblit ou annihile le pouvoir des autres Runes. Quand elle draine le pouvoir d’une Rune, elle absorbe autant de points d’effet que le nombre de points attri\u0002bués à sa création. Si ce nombre de points dépasse celui de la Rune vampirisée, cette dernière est détruite. Le sorcier ne peut pas contrer une Rune qu’il ne maîtrise pas. Pour absorber une Rune, la Rune de Contre-Sort doit être inscrite ou prononcée à une distance maximum de l’endroit où se manifeste la Rune contrée d’un mètre par point d’Âme dépensé.</p>\n<p>NB : pour contrer un Sortilège à l’effet indésirable, il suffit parfois de contrer une seule de ses Runes, les autres se mani\u0002festent normalement.</p>","formule":"Thâ Ereb","seuil":0,"prononcee":"effet normal","tracee":"effet normal"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.45YcQxfXYYzSaZ15"}},"_id":"q3ypyD55RBR220l7"}
|
||||||
|
{"name":"Terre","type":"rune","img":"systems/fvtt-mournblade/assets/icons/rune.webp","data":{"description":"<p>En utilisant la Rune de la Terre, le sorcier peut affecter une brouette de terre ou de pierre pour chaque point d’Âme dépensé. Considérez qu’à 10 points d’Âme, un muret est affecté, et qu’à 100 points, le sorcier peut manipuler un bout de rempart.</p>\n<p>Un point d’Âme permet de réaliser l’un des effets suivants :</p>\n<ul>\n<li>déplacer un mètre cube de terre ou de pierre à la vitesse d’un homme qui marche pour chaque point d’Âme dépensé ;</li>\n<li>ramollir ou fissurer une pierre, en infl igeant 2 points de dégâts par point d’Âme utilisé (rappel : une pierre mince possède une résistance de 15, une pierre épaisse de 20) ;</li>\n<li>renforcer ou solidifier de la terre ou de la pierre. Chaque point d’Âme dépensé augmente de 2 points le facteur de résistance de la pierre ou de la masse de terre ciblée.</li>\n</ul>\n<p>Pour l’utiliser, le sorcier peut prononcer son nom ou l’inscrire, selon les circonstances ou son humeur. La connaissance de la Rune de la Terre est nécessaire pour invoquer et contrôler un Élémentaire de Terre.</p>","formule":"Tul’Rah’","seuil":10,"prononcee":"effet normal","tracee":"effet normal"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.YSbkTWYOCH5chkpv"}},"_id":"q6spSOEdcr1hsoF2"}
|
||||||
|
{"name":"Contact","type":"rune","img":"systems/fvtt-mournblade/assets/icons/rune.webp","data":{"description":"<p>Tant que la Rune de Contact est maintenue, elle permet de créer un lien mental avec une personne à longue distance. La Rune doit être inscrite sur un objet ou un vêtement porté par la personne que le sorcier souhaite contacter. Pour chaque tranche de 3 points d’Âme dépensés, le contact inclut un nou\u0002veau canal : la vision, les paroles, le goût, les sensations tactiles ou encore les émotions. Il est possible d’inclure une personne supplémentaire dans le lien mental par la dépense d’un point supplémentaire par cible. La portée de la Rune de Contact est illimitée, que ce soit dans les Jeunes Royaumes ou dans l’ensemble des plans d’existence.</p>","formule":"Elam Ans’Ha","seuil":15,"prononcee":"sans effet","tracee":"effet normal"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.wmQ1EbWCuIwwY85F"}},"_id":"rVmgDzp6LcXEILvS"}
|
||||||
|
{"name":"Incandescence","type":"rune","img":"systems/fvtt-mournblade/assets/icons/rune.webp","data":{"description":"<p>La Rune d’Incandescence rend le sorcier ou l’objet sur lequel elle est inscrite chaud au toucher. Un seul point d’Âme investi rend la cible agréablement chaude (comme si elle était enve\u0002loppée dans une couverture au coin du feu) et elle ne subit aucun désagrément dû à un environnement froid tant que la Rune est active. Les points supplémentaires dépensés causent des dégâts létaux dus à la chaleur à quiconque touche la cible : les dégâts sont de 1 point pour 2 points d’Âme dépensés. Les dégâts continuent à chaque tour de jeu tant que la victime est en contact avec la cible du sort. </p>","formule":"Néhan Hira","seuil":10,"prononcee":"effet normal","tracee":"si la Rune est tracée, elle ne cause pas de dom\u0002mage au support sur lequel elle est inscrite."},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.Swlx5c5xQ0PmOT9M"}},"_id":"tpXavlZ4WBurbY8X"}
|
||||||
|
{"name":"Secret des morts","type":"rune","img":"systems/fvtt-mournblade/assets/icons/rune.webp","data":{"description":"<p>La Rune de Secret des morts redonne temporairement vie à un mort, permettant au sorcier de lui poser des questions durant une courte période. Tous les sorciers savent que les morts ne peuvent pas répondre directement aux questions. Ils peuvent répondre par un poème, par une sorte de prophétie ou, plus sim\u0002plement, de manière alambiquée. Le mort est cependant tenu de dire la vérité ou, du moins, ce qu’il croit sincèrement être vrai. Le mort se remémore ses souvenirs sur une période précédant sa mort qui dépend du nombre de points d’Âme investis : 1 jour pour 1 point d’Âme, 2 jours pour 3 points d’Âme, 3 jours pour 6 points d’Âme et jusqu’à 4 jours pour 11 points d’Âme. La magie nécessaire pour rappeler l’âme de la créature d’au-delà du Multivers est telle que la Rune ne dure qu’une minute. La Rune ne ramène pas le mort définitivement et il ne peut pas mouvoir son corps. Il peut seulement répondre aux questions. En fonction de sa personnalité et de son existence dans l’au-delà, la fiabilité de ses réponses peut être très variable.</p>\n<p>Si le mort avait conclu un Pacte avec une puissance, l’utilisation de la Rune de Secret des morts attire immanquablement la colère du Seigneur concerné. Lui seul dispose légitimement du droit de vie et de mort sur ses serviteurs. Le MJ décide de la forme que prend sa vengeance contre le sorcier : il peut s’agir de la mise en échec de ses projet de manière vicieuse, systématique et particulièrement efficace ou d’une malchance subtile mais insidieuse.</p>","formule":"Nad’Melnë","seuil":30,"prononcee":"effet normal","tracee":"effet normal"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.uqwvF7B9Lk0EkNf6"}},"_id":"uIg9xU0wI5jRLyED"}
|
||||||
|
{"name":"Confusion","type":"rune","img":"systems/fvtt-mournblade/assets/icons/rune.webp","data":{"description":"<p>Cette Rune suscite la confusion et le trouble. Il convient de noter que la Rune de Confusion ne rend pas invisible ; elle altère simplement les perceptions du spectateur, en masquant la véritable nature du sujet. L’Œil peut percer le voile d’une Rune de Confusion (Clairvoyance + Perception / Seuil de difficulté de la Rune). Ceux qui ne pratiquent pas la Sorcelle\u0002rie doivent obtenir une réussite héroïque à un test de Percep\u0002tion pour comprendre que quelque chose ne va pas, mais ils ne pourront pas, même dans ce cas, percevoir la réalité telle qu’elle est.</p>","formule":"Aës Thir’ N’Hab","seuil":15,"prononcee":"quand le sorcier prononce le nom de la Rune, il brouille la vue et les souvenirs des gens qui le ren\u0002contrent. Il devient impossible de se souvenir avec précision des actions, du visage, des mots du sorcier ou encore de ses vêtements. Chaque point utilisé pour activer la Rune permet de rendre indistinct l’un de ces éléments.","tracee":"quand la Rune est inscrite sur un objet, son apparence est modifi ée de la même manière (coût : 2 points d’Âme)."},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.CFlDvIIQBP1hAtWG"}},"_id":"vI9EoswpPCJoUV1L"}
|
||||||
|
{"name":"Femme","type":"rune","img":"systems/fvtt-mournblade/assets/icons/rune.webp","data":{"description":"<p>En tant que telle, la Rune de la Femme est une indication de genre. Quand elle est combinée avec une autre Rune, elle res\u0002treint les effets de cette Rune aux seuls êtres féminins. Il faut dépenser 1 point d’Âme pour l’activer.</p>","formule":"No’Hos","seuil":5,"prononcee":"effet normal","tracee":"effet normal"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.DwfdRyBDNi7A7bQe"}},"_id":"vV6BZHznNdJ0f4IR"}
|
||||||
|
{"name":"Dissolution","type":"rune","img":"systems/fvtt-mournblade/assets/icons/rune.webp","data":{"description":"<p>La Rune de Dissolution dissout, ou désintègre, une substance particulière. Cette Rune doit être assemblée avec une autre pour affecter le matériau ciblé. Par exemple, pour désintégrer une pierre de fondation, le magicien doit assembler une Rune de Dissolution avec une Rune de Terre. L’aire d’effet de la Rune varie en fonction du nombre de points d’Âmes dépen\u0002sés. Elle peut désintégrer un objet ou une surface :</p>\n<ul>\n<li>de la taille d’un poing (1 point) ;</li>\n<li>de la taille d’un bras (2 points) ;</li>\n<li>de la taille d’un loup (4 points) ;</li>\n<li>de la taille d’un homme (10 points) ;</li>\n<li>de la taille d’un arbre ordinaire (20 points) ;</li>\n<li>de la taille d’une pièce (40 points) ;</li>\n<li>de la taille d’une maison (50 points) ;</li>\n<li>de la taille d’un navire (200 points).</li>\n</ul>\n<p>Si la Rune est utilisée contre un être vivant, celui-ci peut y résis\u0002ter en réussissant un test de Clairvoyance + Trempe / Clair\u0002voyance + Savoir : Runes du sorcier. Quand la Rune est utilisée contre un être vivant, chaque point d’Âme utilisé inflige un point de dommage létal mais la Rune doit être assemblée avec la Rune appropriée en fonction de l’adversaire (Rune de l’Homme, Rune de la Femme, Runes des Végétaux, Runes des Bêtes).</p>","formule":"Kha Aërgôn","seuil":15,"prononcee":"effet normal","tracee":"si la Rune est tracée, les conséquences de l’échec dramatique du Sort ne peuvent être que la perte des points d’Âme."},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"RiMAsQHaUMojde7N":3},"flags":{"core":{"sourceId":"Item.XBMARAPavdX7yq1c"}},"_id":"xnCf2xIPzdsUoBTy"}
|
BIN
packs/runes/000211.ldb
Normal file
0
packs/runes/000218.log
Normal file
1
packs/runes/CURRENT
Normal file
@ -0,0 +1 @@
|
|||||||
|
MANIFEST-000216
|
0
packs/runes/LOCK
Normal file
8
packs/runes/LOG
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
2024/09/10-07:14:45.464393 7f7ecea006c0 Recovering log #214
|
||||||
|
2024/09/10-07:14:45.568041 7f7ecea006c0 Delete type=3 #212
|
||||||
|
2024/09/10-07:14:45.568192 7f7ecea006c0 Delete type=0 #214
|
||||||
|
2024/09/10-07:20:33.817119 7f7ecd6006c0 Level-0 table #219: started
|
||||||
|
2024/09/10-07:20:33.817259 7f7ecd6006c0 Level-0 table #219: 0 bytes OK
|
||||||
|
2024/09/10-07:20:33.853842 7f7ecd6006c0 Delete type=0 #217
|
||||||
|
2024/09/10-07:20:33.990487 7f7ecd6006c0 Manual compaction at level-0 from '!items!1JqWbEkHUoKXbsgn' @ 72057594037927935 : 1 .. '!items!xnCf2xIPzdsUoBTy' @ 0 : 0; will stop at (end)
|
||||||
|
2024/09/10-07:20:33.990597 7f7ecd6006c0 Manual compaction at level-1 from '!items!1JqWbEkHUoKXbsgn' @ 72057594037927935 : 1 .. '!items!xnCf2xIPzdsUoBTy' @ 0 : 0; will stop at (end)
|
8
packs/runes/LOG.old
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
2024/09/09-21:51:17.266111 7f7ed4e006c0 Recovering log #209
|
||||||
|
2024/09/09-21:51:17.276764 7f7ed4e006c0 Delete type=3 #207
|
||||||
|
2024/09/09-21:51:17.276860 7f7ed4e006c0 Delete type=0 #209
|
||||||
|
2024/09/09-21:52:48.668305 7f7ecd6006c0 Level-0 table #215: started
|
||||||
|
2024/09/09-21:52:48.668347 7f7ecd6006c0 Level-0 table #215: 0 bytes OK
|
||||||
|
2024/09/09-21:52:48.674748 7f7ecd6006c0 Delete type=0 #213
|
||||||
|
2024/09/09-21:52:48.696639 7f7ecd6006c0 Manual compaction at level-0 from '!items!1JqWbEkHUoKXbsgn' @ 72057594037927935 : 1 .. '!items!xnCf2xIPzdsUoBTy' @ 0 : 0; will stop at (end)
|
||||||
|
2024/09/09-21:52:48.696713 7f7ecd6006c0 Manual compaction at level-1 from '!items!1JqWbEkHUoKXbsgn' @ 72057594037927935 : 1 .. '!items!xnCf2xIPzdsUoBTy' @ 0 : 0; will stop at (end)
|
BIN
packs/runes/MANIFEST-000216
Normal file
BIN
packs/scenes/000127.ldb
Normal file
0
packs/scenes/000134.log
Normal file
1
packs/scenes/CURRENT
Normal file
@ -0,0 +1 @@
|
|||||||
|
MANIFEST-000132
|