Compare commits
21 Commits
fvtt-mourn
...
fvtt-mourn
Author | SHA1 | Date | |
---|---|---|---|
f487908ecd | |||
e9dc31ada1 | |||
e504427dbb | |||
6aa63f9a98 | |||
861aa19637 | |||
ddb3f9dee1 | |||
da074d6ea1 | |||
1c0c722bd0 | |||
fef42b7093 | |||
a63ec19362 | |||
a26af23c9c | |||
983bc6a2ed | |||
da6d6584c4 | |||
f08ec8eaff | |||
c34bfbf229 | |||
e7de42cf16 | |||
0f2348fec6 | |||
98ccd8fde1 | |||
fcec785f00 | |||
734945d68e | |||
33916c9ec2 |
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.history/
|
23
README.md
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
|
||||||
|
27
lang/fr.json
Normal file
27
lang/fr.json
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
{
|
||||||
|
"ACTOR": {
|
||||||
|
"TypePersonnage": "Personnage",
|
||||||
|
"TypePNJ": "PNJ"
|
||||||
|
},
|
||||||
|
|
||||||
|
"ITEM": {
|
||||||
|
"TypeArme": "Arme",
|
||||||
|
"TypeCompetence": "Compétence",
|
||||||
|
"TypeProtection": "Protection",
|
||||||
|
"TypePacte": "Pacte",
|
||||||
|
"TypeTraitchaotique": "Trait Chaotique",
|
||||||
|
"TypeMonnaie": "Monnaie",
|
||||||
|
"TypeDon": "Don",
|
||||||
|
"TypeTendance": "Tendance",
|
||||||
|
"TypeRune": "Rune",
|
||||||
|
"TypeEquipement": "Equipement",
|
||||||
|
"TypeCapacite": "Capacité",
|
||||||
|
"TypeOrigine": "Origine",
|
||||||
|
"TypeHeritage": "Héritage",
|
||||||
|
"TypeMetier": "Métier",
|
||||||
|
"TypeRuneeffect": "Effet de Rune",
|
||||||
|
"TypeBouclier": "Bouclier"
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -44,13 +44,18 @@ export class MournbladeActorSheet extends ActorSheet {
|
|||||||
protections: duplicate(this.actor.getArmors()),
|
protections: duplicate(this.actor.getArmors()),
|
||||||
dons: duplicate(this.actor.getDons()),
|
dons: duplicate(this.actor.getDons()),
|
||||||
alignement: this.actor.getAlignement(),
|
alignement: this.actor.getAlignement(),
|
||||||
|
aspect: this.actor.getAspect(),
|
||||||
|
marge: this.actor.getMarge(),
|
||||||
tendances:duplicate(this.actor.getTendances()),
|
tendances:duplicate(this.actor.getTendances()),
|
||||||
runes:duplicate(this.actor.getRunes()),
|
runes:duplicate(this.actor.getRunes()),
|
||||||
|
traitsChaotiques:duplicate(this.actor.getTraitsChaotiques()),
|
||||||
origine: duplicate(this.actor.getOrigine() || {}),
|
origine: duplicate(this.actor.getOrigine() || {}),
|
||||||
heritage: duplicate(this.actor.getHeritage() || {}),
|
heritage: duplicate(this.actor.getHeritage() || {}),
|
||||||
metier: duplicate(this.actor.getMetier() || {}),
|
metier: duplicate(this.actor.getMetier() || {}),
|
||||||
combat: this.actor.getCombatValues(),
|
combat: this.actor.getCombatValues(),
|
||||||
equipements: duplicate(this.actor.getEquipments()),
|
equipements: duplicate(this.actor.getEquipments()),
|
||||||
|
monnaies: duplicate(this.actor.getMonnaies()),
|
||||||
|
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,
|
||||||
@ -92,7 +97,7 @@ export class MournbladeActorSheet extends ActorSheet {
|
|||||||
let value = ev.currentTarget.value
|
let value = ev.currentTarget.value
|
||||||
this.actor.editItemField(itemId, itemType, itemField, dataType, value)
|
this.actor.editItemField(itemId, itemType, itemField, dataType, value)
|
||||||
})
|
})
|
||||||
|
|
||||||
html.find('.quantity-minus').click(event => {
|
html.find('.quantity-minus').click(event => {
|
||||||
const li = $(event.currentTarget).parents(".item");
|
const li = $(event.currentTarget).parents(".item");
|
||||||
this.actor.incDecQuantity( li.data("item-id"), -1 );
|
this.actor.incDecQuantity( li.data("item-id"), -1 );
|
||||||
@ -128,7 +133,16 @@ export class MournbladeActorSheet extends ActorSheet {
|
|||||||
let armeId = li.data("item-id")
|
let armeId = li.data("item-id")
|
||||||
this.actor.rollArmeDegats(armeId)
|
this.actor.rollArmeDegats(armeId)
|
||||||
})
|
})
|
||||||
|
html.find('.quantity-modify').click(event => {
|
||||||
|
const li = $(event.currentTarget).parents(".item")
|
||||||
|
const value = Number($(event.currentTarget).data("quantite-value"))
|
||||||
|
this.actor.incDecQuantity( li.data("item-id"), value );
|
||||||
|
})
|
||||||
|
html.find('.item-add').click((event) => {
|
||||||
|
const itemType = $(event.currentTarget).data("type")
|
||||||
|
this.actor.createEmbeddedDocuments('Item', [{ name: `Nouveau ${itemType}`, type: itemType }], { renderSheet: 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;
|
||||||
|
@ -71,6 +71,19 @@ export class MournbladeActor extends Actor {
|
|||||||
}
|
}
|
||||||
return arme
|
return arme
|
||||||
}
|
}
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
prepareBouclier(bouclier) {
|
||||||
|
bouclier = duplicate(bouclier)
|
||||||
|
let combat = this.getCombatValues()
|
||||||
|
bouclier.system.competence = 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() {
|
getWeapons() {
|
||||||
@ -79,28 +92,40 @@ export class MournbladeActor extends Actor {
|
|||||||
if (arme.type == "arme") {
|
if (arme.type == "arme") {
|
||||||
armes.push(this.prepareArme(arme))
|
armes.push(this.prepareArme(arme))
|
||||||
}
|
}
|
||||||
|
if (arme.type == "bouclier") {
|
||||||
|
armes.push(this.prepareBouclier(arme))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
MournbladeUtility.sortArrayObjectsByName(armes)
|
||||||
return armes
|
return armes
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
getDons() {
|
getItemSorted( types) {
|
||||||
return this.items.filter(item => item.type == "don")
|
let items = this.items.filter(item => types.includes(item.type )) || []
|
||||||
|
MournbladeUtility.sortArrayObjectsByName(items)
|
||||||
|
return items
|
||||||
|
}
|
||||||
|
getDons() {
|
||||||
|
return this.getItemSorted(["don"])
|
||||||
}
|
}
|
||||||
/* -------------------------------------------- */
|
|
||||||
getTendances() {
|
getTendances() {
|
||||||
return this.items.filter(item => item.type == "tendance")
|
return this.getItemSorted(["tendance"])
|
||||||
}
|
}
|
||||||
getRunes() {
|
getRunes() {
|
||||||
return this.items.filter(item => item.type == "rune")
|
return this.getItemSorted(["rune"])
|
||||||
}
|
}
|
||||||
/* -------------------------------------------- */
|
|
||||||
getEquipments() {
|
getEquipments() {
|
||||||
return this.items.filter(item => item.type == "equipement")
|
return this.getItemSorted(["equipement"])
|
||||||
|
}
|
||||||
|
getTraitsChaotiques() {
|
||||||
|
return this.getItemSorted(["traitchaotique"])
|
||||||
|
}
|
||||||
|
getMonnaies() {
|
||||||
|
return this.getItemSorted(["monnaie"])
|
||||||
}
|
}
|
||||||
/* -------------------------------------------- */
|
|
||||||
getArmors() {
|
getArmors() {
|
||||||
return this.items.filter(item => item.type == "protection")
|
return this.getItemSorted(["protection"])
|
||||||
}
|
}
|
||||||
getOrigine() {
|
getOrigine() {
|
||||||
return this.items.find(item => item.type == "origine")
|
return this.items.find(item => item.type == "origine")
|
||||||
@ -131,20 +156,17 @@ export class MournbladeActor extends Actor {
|
|||||||
comp.push(item)
|
comp.push(item)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return comp.sort(function (a, b) {
|
MournbladeUtility.sortArrayObjectsByName(comp)
|
||||||
let fa = a.name.toLowerCase(),
|
return comp
|
||||||
fb = b.name.toLowerCase();
|
|
||||||
if (fa < fb) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
if (fa > fb) {
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
|
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.system.balance.loi > this.system.balance.chaos) ? "loyal" : "chaotique"
|
return (this.system.balance.loi > this.system.balance.chaos) ? "loyal" : "chaotique"
|
||||||
}
|
}
|
||||||
@ -173,6 +195,7 @@ export class MournbladeActor extends Actor {
|
|||||||
}
|
}
|
||||||
return combat
|
return combat
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
prepareBaseData() {
|
prepareBaseData() {
|
||||||
}
|
}
|
||||||
@ -188,11 +211,11 @@ export class MournbladeActor extends Actor {
|
|||||||
if (this.type == 'personnage') {
|
if (this.type == 'personnage') {
|
||||||
let newSante = this.system.sante.bonus + (this.system.attributs.pui.value + this.system.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.system.sante.base != newSante) {
|
if (this.system.sante.base != newSante) {
|
||||||
this.update({ 'data.sante.base': newSante })
|
this.update({ 'system.sante.base': newSante })
|
||||||
}
|
}
|
||||||
let newAme = (this.system.attributs.cla.value + this.system.attributs.tre.value) * this.system.biodata.amemultiplier + 5
|
let newAme = (this.system.attributs.cla.value + this.system.attributs.tre.value) * this.system.biodata.amemultiplier + 5
|
||||||
if (this.system.ame.fullmax != newAme) {
|
if (this.system.ame.fullmax != newAme) {
|
||||||
this.update({ 'data.ame.fullmax': newAme })
|
this.update({ 'system.ame.fullmax': newAme })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -216,9 +239,9 @@ export class MournbladeActor extends Actor {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async equipItem(itemId) {
|
async equipItem(itemId) {
|
||||||
let item = this.items.find(item => item.id == itemId);
|
let item = this.items.find(item => item.id == itemId)
|
||||||
if (item && item.system.data) {
|
if (item && item.system) {
|
||||||
let update = { _id: item.id, "data.equipped": !item.system.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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -233,7 +256,7 @@ 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])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -247,7 +270,7 @@ export class MournbladeActor extends Actor {
|
|||||||
changeBonneAventure(value) {
|
changeBonneAventure(value) {
|
||||||
let newBA = this.system.bonneaventure.actuelle
|
let newBA = this.system.bonneaventure.actuelle
|
||||||
newBA += value
|
newBA += value
|
||||||
this.update({ 'data.bonneaventure.actuelle': newBA })
|
this.update({ 'system.bonneaventure.actuelle': newBA })
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
@ -259,7 +282,7 @@ export class MournbladeActor extends Actor {
|
|||||||
changeEclat(value) {
|
changeEclat(value) {
|
||||||
let newE = this.system.eclat.value
|
let newE = this.system.eclat.value
|
||||||
newE += value
|
newE += value
|
||||||
this.update({ 'data.eclat.value': newE })
|
this.update({ 'system.eclat.value': newE })
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
@ -274,7 +297,7 @@ export class MournbladeActor extends Actor {
|
|||||||
} else {
|
} else {
|
||||||
ame.currentmax -= value
|
ame.currentmax -= value
|
||||||
}
|
}
|
||||||
this.update( {'data.ame': ame})
|
this.update( {'system.ame': ame})
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
@ -302,7 +325,7 @@ export class MournbladeActor extends Actor {
|
|||||||
async equipGear(equipmentId) {
|
async equipGear(equipmentId) {
|
||||||
let item = this.items.find(item => item.id == equipmentId);
|
let item = this.items.find(item => item.id == equipmentId);
|
||||||
if (item && item.system.data) {
|
if (item && item.system.data) {
|
||||||
let update = { _id: item.id, "data.equipped": !item.system.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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -319,7 +342,7 @@ export class MournbladeActor extends Actor {
|
|||||||
async addSubActor(subActorId) {
|
async addSubActor(subActorId) {
|
||||||
let subActors = duplicate(this.system.subactors);
|
let subActors = 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) {
|
||||||
@ -329,18 +352,17 @@ export class MournbladeActor extends Actor {
|
|||||||
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.items.get(objetId)
|
let objetQ = this.items.get(objetId)
|
||||||
if (objetQ) {
|
if (objetQ) {
|
||||||
let newQ = objetQ.system.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.items.get(compId)
|
return this.items.get(compId)
|
||||||
@ -351,7 +373,31 @@ export class MournbladeActor extends Actor {
|
|||||||
let comp = this.items.get(compId)
|
let comp = this.items.get(compId)
|
||||||
let pred = duplicate(comp.system.predilections)
|
let pred = 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 }])
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
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 = duplicate(arme)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return bestArme
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
@ -360,6 +406,7 @@ export class MournbladeActor extends Actor {
|
|||||||
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
|
||||||
@ -386,7 +433,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)
|
||||||
}
|
}
|
||||||
@ -401,9 +447,14 @@ export class MournbladeActor extends Actor {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async rollRune(runeId) {
|
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")
|
let rollData = this.getCommonRollData("cla", undefined, "Savoir : Runes")
|
||||||
rollData.rune = duplicate(this.items.get(runeId) || {})
|
rollData.rune = duplicate(this.items.get(runeId) || {})
|
||||||
rollData.difficulte = rollData.rune?.data?.seuil || 0
|
rollData.difficulte = rollData.rune?.system?.seuil || 0
|
||||||
rollData.runemode = "prononcer"
|
rollData.runemode = "prononcer"
|
||||||
rollData.runeame = 1
|
rollData.runeame = 1
|
||||||
console.log("runeData", rollData)
|
console.log("runeData", rollData)
|
||||||
@ -414,7 +465,12 @@ export class MournbladeActor extends Actor {
|
|||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async rollArmeOffensif(armeId) {
|
async rollArmeOffensif(armeId) {
|
||||||
let arme = this.items.get(armeId)
|
let arme = this.items.get(armeId)
|
||||||
arme = this.prepareArme(arme)
|
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)
|
let rollData = this.getCommonRollData(arme.system.attrKey, arme.system.competence._id)
|
||||||
rollData.arme = arme
|
rollData.arme = arme
|
||||||
console.log("ARME!", rollData)
|
console.log("ARME!", rollData)
|
||||||
@ -425,7 +481,12 @@ export class MournbladeActor extends Actor {
|
|||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async rollArmeDegats(armeId) {
|
async rollArmeDegats(armeId) {
|
||||||
let arme = this.items.get(armeId)
|
let arme = this.items.get(armeId)
|
||||||
arme = this.prepareArme(arme)
|
if (arme.type == "arme") {
|
||||||
|
arme = this.prepareArme(arme)
|
||||||
|
}
|
||||||
|
if (arme.type == "bouclier") {
|
||||||
|
arme = this.prepareBouclier(arme)
|
||||||
|
}
|
||||||
let roll = new Roll(arme.system.totalDegats).roll({ async: false })
|
let roll = new Roll(arme.system.totalDegats).roll({ async: false })
|
||||||
await MournbladeUtility.showDiceSoNice(roll, game.settings.get("core", "rollMode"));
|
await MournbladeUtility.showDiceSoNice(roll, game.settings.get("core", "rollMode"));
|
||||||
let rollData = {
|
let 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;
|
||||||
|
@ -63,10 +63,14 @@ export class MournbladeItemSheet extends ItemSheet {
|
|||||||
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}),
|
||||||
mr: (this.object.type == 'specialisation'),
|
mr: (this.object.type == 'specialisation'),
|
||||||
isGM: game.user.isGM
|
isGM: game.user.isGM
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( objectData.type == "don") {
|
||||||
|
formData.sacrifice = await TextEditor.enrichHTML(this.object.system.sacrifice, {async: true})
|
||||||
|
}
|
||||||
//this.options.editable = !(this.object.origin == "embeddedItem");
|
//this.options.editable = !(this.object.origin == "embeddedItem");
|
||||||
console.log("ITEM DATA", formData, this);
|
console.log("ITEM DATA", formData, this);
|
||||||
return formData;
|
return formData;
|
||||||
|
@ -67,9 +67,38 @@ 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>
|
||||||
` });
|
` });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
// Register world usage statistics
|
||||||
|
function registerUsageCount( registerKey ) {
|
||||||
|
if ( game.user.isGM ) {
|
||||||
|
game.settings.register(registerKey, "world-key", {
|
||||||
|
name: "Unique world key",
|
||||||
|
scope: "world",
|
||||||
|
config: false,
|
||||||
|
default: "",
|
||||||
|
type: String
|
||||||
|
});
|
||||||
|
|
||||||
|
let worldKey = game.settings.get(registerKey, "world-key")
|
||||||
|
if ( worldKey == undefined || worldKey == "" ) {
|
||||||
|
worldKey = randomID(32)
|
||||||
|
game.settings.set(registerKey, "world-key", worldKey )
|
||||||
|
}
|
||||||
|
// Simple API counter
|
||||||
|
let regURL = `https://www.uberwald.me/fvtt_appcount/count.php?name="${registerKey}"&worldKey="${worldKey}"&version="${game.release.generation}.${game.release.build}"&system="${game.system.id}"&systemversion="${game.system.version}"`
|
||||||
|
//$.ajaxSetup({
|
||||||
|
//headers: { 'Access-Control-Allow-Origin': '*' }
|
||||||
|
//})
|
||||||
|
$.ajax(regURL)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
/* Foundry VTT Initialization */
|
/* Foundry VTT Initialization */
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
@ -85,12 +114,7 @@ Hooks.once("ready", function () {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// CSS patch for v9
|
registerUsageCount('fvtt-mournblade')
|
||||||
if (game.version) {
|
|
||||||
let sidebar = document.getElementById("sidebar");
|
|
||||||
sidebar.style.width = "min-content";
|
|
||||||
}
|
|
||||||
|
|
||||||
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: 340, height: 420, '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 );
|
||||||
|
@ -46,6 +46,17 @@ 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 getModificateurOptions() {
|
||||||
@ -56,6 +67,13 @@ export class MournbladeUtility {
|
|||||||
return opt.concat("\n")
|
return opt.concat("\n")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
static sortArrayObjectsByName(myArray) {
|
||||||
|
myArray.sort((a, b) => {
|
||||||
|
return a.name.localeCompare(b.name);
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static getPointAmeOptions() {
|
static getPointAmeOptions() {
|
||||||
let opt = []
|
let opt = []
|
||||||
@ -64,7 +82,7 @@ export class MournbladeUtility {
|
|||||||
}
|
}
|
||||||
return opt.concat("\n")
|
return opt.concat("\n")
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static getAttributs() {
|
static getAttributs() {
|
||||||
return { adr: "Adresse", pui: "Puissance", cla: "Clairvoyance", pre: "Présence", tre: "Trempe" }
|
return { adr: "Adresse", pui: "Puissance", cla: "Clairvoyance", pre: "Présence", tre: "Trempe" }
|
||||||
@ -104,15 +122,15 @@ export class MournbladeUtility {
|
|||||||
static async chatListeners(html) {
|
static async chatListeners(html) {
|
||||||
|
|
||||||
html.on("click", '.predilection-reroll', async event => {
|
html.on("click", '.predilection-reroll', async event => {
|
||||||
let predIdx = $(event.currentTarget).data("predilection-index")
|
let predIdx = $(event.currentTarget).data("predilection-index")
|
||||||
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 = duplicate(actor.getCompetence(rollData.competence._id))
|
||||||
MournbladeUtility.rollMournblade(rollData)
|
await MournbladeUtility.rollMournblade(rollData)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
@ -183,11 +201,6 @@ export class MournbladeUtility {
|
|||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
|
||||||
static getDefenseState(actorId) {
|
|
||||||
return this.defenderStore[actorId];
|
|
||||||
}
|
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static updateRollData(rollData) {
|
static updateRollData(rollData) {
|
||||||
|
|
||||||
@ -211,7 +224,6 @@ 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_update_defense_state") {
|
if (msg.name == "msg_update_defense_state") {
|
||||||
this.updateDefenseState(msg.data.defenderId, msg.data.rollId);
|
this.updateDefenseState(msg.data.defenderId, msg.data.rollId);
|
||||||
}
|
}
|
||||||
@ -281,63 +293,69 @@ 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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
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.system.attributs[rollData.attrKey].labelnorm + ".webp"
|
rollData.actionImg = "systems/fvtt-mournblade/assets/icons/" + actor.system.attributs[rollData.attrKey].labelnorm + ".webp"
|
||||||
rollData.attr = duplicate(actor.system.attributs[rollData.attrKey])
|
rollData.attr = duplicate(actor.system.attributs[rollData.attrKey])
|
||||||
}
|
}
|
||||||
|
|
||||||
rollData.diceFormula = rollData.mainDice
|
rollData.diceFormula = rollData.mainDice
|
||||||
if ( rollData.doubleD20) { // Multiply result !
|
if (rollData.doubleD20) { // Multiply result !
|
||||||
rollData.diceFormula += "*2"
|
rollData.diceFormula += "*2"
|
||||||
if (!rollData.isReroll) {
|
if (!rollData.isReroll) {
|
||||||
actor.changeEclat(-1)
|
actor.changeEclat(-1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//console.log("BEFORE COMP", rollData)
|
||||||
if (rollData.competence) {
|
if (rollData.competence) {
|
||||||
rollData.predilections = duplicate( rollData.competence.system.predilections.filter( pred => !pred.used) || [] )
|
rollData.predilections = duplicate(rollData.competence.system.predilections.filter(pred => !pred.used) || [])
|
||||||
let compmod = (rollData.competence.system.niveau == 0) ? -3 : 0
|
let compmod = (rollData.competence.system.niveau == 0) ? -3 : 0
|
||||||
rollData.diceFormula += `+${rollData.attr.value}+${rollData.competence.system.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}`
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rollData.arme) {
|
if (rollData.arme && rollData.arme.type == "arme") {
|
||||||
rollData.diceFormula += `+${rollData.arme.system.bonusmaniementoff}`
|
rollData.diceFormula += `+${rollData.arme.system.bonusmaniementoff}`
|
||||||
}
|
}
|
||||||
|
|
||||||
if(rollData.rune) {
|
if (rollData.rune) {
|
||||||
rollData.runeduree = Math.ceil((rollData.runeame+3) / 3)
|
rollData.runeduree = Math.ceil((rollData.runeame + 3) / 3)
|
||||||
if ( rollData.runemode == "inscrire") {
|
if (rollData.runemode == "inscrire") {
|
||||||
rollData.runeduree *= 2
|
rollData.runeduree *= 2
|
||||||
}
|
}
|
||||||
|
if (rollData.runemode == "prononcer") {
|
||||||
|
rollData.runeduree = 1
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let myRoll = new Roll(rollData.diceFormula).roll({ async: false })
|
let myRoll = new Roll(rollData.diceFormula).roll({ async: false })
|
||||||
await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"));
|
await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
|
||||||
rollData.roll = myRoll
|
rollData.roll = 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)
|
||||||
|
|
||||||
if (rollData.rune ) {
|
if (rollData.rune) {
|
||||||
let subAme = rollData.runeame
|
let subAme = rollData.runeame
|
||||||
if ( rollData.isEchec && !rollData.isDramatique) {
|
if (rollData.isEchec && !rollData.isDramatique) {
|
||||||
subAme = Math.ceil((subAme+1) / 2)
|
subAme = Math.ceil((subAme + 1) / 2)
|
||||||
}
|
}
|
||||||
actor.subPointsAme(rollData.runemode, subAme)
|
actor.subPointsAme(rollData.runemode, subAme)
|
||||||
}
|
}
|
||||||
@ -351,14 +369,14 @@ export class MournbladeUtility {
|
|||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
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 = new Roll(rollData.bonusFormula).roll({ async: false })
|
||||||
await this.showDiceSoNice(bonusRoll, game.settings.get("core", "rollMode"));
|
await this.showDiceSoNice(bonusRoll, game.settings.get("core", "rollMode"));
|
||||||
rollData.bonusRoll = bonusRoll
|
rollData.bonusRoll = duplicate(bonusRoll)
|
||||||
|
|
||||||
rollData.finalResult += rollData.bonusRoll.total
|
rollData.finalResult += rollData.bonusRoll.total
|
||||||
|
|
||||||
this.computeResult( rollData)
|
this.computeResult(rollData)
|
||||||
|
|
||||||
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)
|
||||||
@ -370,6 +388,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) {
|
||||||
@ -462,15 +481,16 @@ 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.armeDefense = defender.getBestDefenseValue()
|
||||||
rollData.defender = objectDefender
|
if (rollData.armeDefense) {
|
||||||
rollData.attackerId = this.id
|
rollData.difficulte = rollData.armeDefense.system.totalDefensif
|
||||||
rollData.defenderId = objectDefender._id
|
} else {
|
||||||
|
ui.notifications.warn("Aucune arme de défense équipée, difficulté manuelle à positionner.")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -485,82 +505,82 @@ 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"
|
||||||
if (addedBonus == "reroll") {
|
if (addedBonus == "reroll") {
|
||||||
MournbladeUtility.rollMournblade(rollData)
|
MournbladeUtility.rollMournblade(rollData)
|
||||||
} else {
|
} else {
|
||||||
rollData.addedBonus = addedBonus
|
rollData.addedBonus = addedBonus
|
||||||
MournbladeUtility.bonusRollMournblade(rollData)
|
MournbladeUtility.bonusRollMournblade(rollData)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static applyEclatRoll(li, changed, addedBonus) {
|
static applyEclatRoll(li, changed, addedBonus) {
|
||||||
let msgId = li.data("message-id")
|
let msgId = li.data("message-id")
|
||||||
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"
|
||||||
rollData.addedBonus = addedBonus
|
rollData.addedBonus = addedBonus
|
||||||
MournbladeUtility.bonusRollMournblade(rollData)
|
MournbladeUtility.bonusRollMournblade(rollData)
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static chatRollMenu(html, options) {
|
static chatRollMenu(html, options) {
|
||||||
let canApply = li => canvas.tokens.controlled.length && li.find(".mournblade-roll").length
|
let canApply = li => canvas.tokens.controlled.length && li.find(".mournblade-roll").length
|
||||||
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 canCompetenceDouble = 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) {
|
||||||
return rollData.competence.data.doublebonus
|
return rollData.competence.data.doublebonus
|
||||||
}
|
}
|
||||||
return false
|
return false
|
||||||
|
@ -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"}}
|
||||||
{"_id":"2BSVJXr0FGZZJ9fh","name":"Hache des mers","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","isdefense":true,"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","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"}}
|
||||||
{"_id":"2qezkR1BdC0DcRIl","name":"Fléau d’armes","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","isdefense":true,"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"}}}
|
{"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"}}
|
||||||
{"_id":"3Iv1oLpZcPEJVaI4","name":"Cimeterre","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","isdefense":true,"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"}}}
|
{"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"}}
|
||||||
{"_id":"6e1JHoD1Jrz020R7","name":"Grand marteau","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","isdefense":true,"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"}}}
|
{"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"}}
|
||||||
{"_id":"9Eo9mRbPPZHN98Cr","name":"Épée de maître","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","isdefense":true,"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"}}}
|
{"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"}}
|
||||||
{"_id":"9xPd4ITtyk3nmMoN","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","isdefense":true,"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":"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"}}
|
||||||
{"_id":"CeC5lAKs7NdPF05l","name":"Masse lourde","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","isdefense":true,"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":"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"}}
|
||||||
{"_id":"CqP80SQFQOefpGgd","name":"Gourdin","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","isdefense":true,"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":"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"}}
|
||||||
{"_id":"CupT9m8L909l4Fo5","name":"Rapière","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","isdefense":true,"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":"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"}}
|
||||||
{"_id":"FDeRBkxXwoZIuL9B","name":"Lance légère","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","isdefense":true,"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"}}}
|
{"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"}}
|
||||||
{"_id":"Iw3j4oC6H8HJ9MFQ","name":"Coup de pied / poing / tête","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","isdefense":true,"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"}}}
|
{"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"}}
|
||||||
{"_id":"KY22L6Lx5WxgvyGD","name":"Lance lourde","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","isdefense":true,"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":"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"}}
|
||||||
{"_id":"MP49mYF7FVuW9ALB","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","isdefense":true,"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"}}}
|
{"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"}}
|
||||||
{"_id":"N5BbO2lGwzQnpvH0","name":"Couteau / Dague","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contactjet","isdefense":true,"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":"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"}}
|
||||||
{"_id":"QwrZbFeJUQv2OBqI","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","isdefense":true,"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":"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"}}
|
||||||
{"_id":"SzgkzHvzma8NiMd5","name":"Masse légère","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","isdefense":true,"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":"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"}}
|
||||||
{"_id":"U8CoqFhGuT3ZHeq1","name":"Sabre d’abordage","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","isdefense":true,"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":"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"}}
|
||||||
{"_id":"aJBVfqQ3JQNyVL7c","name":"Fourche / Faux de paysan","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","isdefense":true,"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"}}}
|
{"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"}}
|
||||||
{"_id":"c6l49ZmEBjUxfI3W","name":"Arme improvisée","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","isdefense":true,"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":"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"}
|
||||||
{"_id":"fLHX6ut131CQI630","name":"Main gauche","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","isdefense":true,"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"}}}
|
{"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"}
|
||||||
{"_id":"freCCeiYGfWmUAQU","name":"Marteau de guerre","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","isdefense":true,"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":"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"}}
|
||||||
{"_id":"j5659PJlrHz56V1k","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","isdefense":true,"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"}}}
|
{"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"}}
|
||||||
{"_id":"lYtm5MwP96numskx","name":"Hallebarde","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","isdefense":true,"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"}}}
|
{"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"}
|
||||||
{"_id":"mQGT0vmDjoTZCW5u","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","isdefense":true,"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":"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"}}
|
||||||
{"_id":"sHj90bPcMaDlOw51","name":"Bâton ferré ou lesté","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","isdefense":true,"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":"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"}}
|
||||||
{"_id":"sju2r73hUHyGbHYg","name":"Épée courte / Glaive","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","isdefense":true,"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":"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"}}
|
||||||
{"_id":"t2uQcWe7kirUOp3D","name":"Faucheur","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","isdefense":true,"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":"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"}}
|
||||||
{"_id":"uatjBTFCE5ZCqhAd","name":"Fléau lourd","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","isdefense":true,"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"}}}
|
{"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"}}
|
||||||
{"_id":"v7ymzlEALvsk0poA","name":"Hache","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","isdefense":true,"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":"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"}}
|
||||||
{"_id":"wWk0Wfer06Ttmouv","name":"Épée large","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","isdefense":true,"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":"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"}}
|
||||||
{"_id":"wv5EiePmPTpqFutt","name":"Épée longue","type":"arme","img":"systems/fvtt-mournblade/assets/icons/arme.webp","data":{"description":"","typearme":"contact","isdefense":true,"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":"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/000005.ldb
Normal file
BIN
packs/armes/000005.ldb
Normal file
Binary file not shown.
0
packs/armes/000016.log
Normal file
0
packs/armes/000016.log
Normal file
1
packs/armes/CURRENT
Normal file
1
packs/armes/CURRENT
Normal file
@ -0,0 +1 @@
|
|||||||
|
MANIFEST-000014
|
0
packs/armes/LOCK
Normal file
0
packs/armes/LOCK
Normal file
8
packs/armes/LOG
Normal file
8
packs/armes/LOG
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
2023/12/19-22:15:44.879816 7f3323fff6c0 Recovering log #12
|
||||||
|
2023/12/19-22:15:44.890587 7f3323fff6c0 Delete type=3 #10
|
||||||
|
2023/12/19-22:15:44.890683 7f3323fff6c0 Delete type=0 #12
|
||||||
|
2023/12/19-22:15:56.534936 7f33223ff6c0 Level-0 table #17: started
|
||||||
|
2023/12/19-22:15:56.535009 7f33223ff6c0 Level-0 table #17: 0 bytes OK
|
||||||
|
2023/12/19-22:15:56.541696 7f33223ff6c0 Delete type=0 #15
|
||||||
|
2023/12/19-22:15:56.548995 7f33223ff6c0 Manual compaction at level-0 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end)
|
||||||
|
2023/12/19-22:15:56.555645 7f33223ff6c0 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
8
packs/armes/LOG.old
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
2023/12/19-21:45:05.580403 7f3323fff6c0 Recovering log #8
|
||||||
|
2023/12/19-21:45:05.635099 7f3323fff6c0 Delete type=3 #6
|
||||||
|
2023/12/19-21:45:05.635255 7f3323fff6c0 Delete type=0 #8
|
||||||
|
2023/12/19-21:45:32.368329 7f33223ff6c0 Level-0 table #13: started
|
||||||
|
2023/12/19-21:45:32.368364 7f33223ff6c0 Level-0 table #13: 0 bytes OK
|
||||||
|
2023/12/19-21:45:32.374930 7f33223ff6c0 Delete type=0 #11
|
||||||
|
2023/12/19-21:45:32.386871 7f33223ff6c0 Manual compaction at level-0 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end)
|
||||||
|
2023/12/19-21:45:32.393727 7f33223ff6c0 Manual compaction at level-1 from '!items!0swiE8k5zfUIqmXu' @ 72057594037927935 : 1 .. '!items!wv5EiePmPTpqFutt' @ 0 : 0; will stop at (end)
|
BIN
packs/armes/MANIFEST-000014
Normal file
BIN
packs/armes/MANIFEST-000014
Normal file
Binary file not shown.
BIN
packs/dons/000005.ldb
Normal file
BIN
packs/dons/000005.ldb
Normal file
Binary file not shown.
0
packs/dons/000016.log
Normal file
0
packs/dons/000016.log
Normal file
1
packs/dons/CURRENT
Normal file
1
packs/dons/CURRENT
Normal file
@ -0,0 +1 @@
|
|||||||
|
MANIFEST-000014
|
0
packs/dons/LOCK
Normal file
0
packs/dons/LOCK
Normal file
8
packs/dons/LOG
Normal file
8
packs/dons/LOG
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
2023/12/19-22:15:44.922363 7f3322ffd6c0 Recovering log #12
|
||||||
|
2023/12/19-22:15:44.933242 7f3322ffd6c0 Delete type=3 #10
|
||||||
|
2023/12/19-22:15:44.933334 7f3322ffd6c0 Delete type=0 #12
|
||||||
|
2023/12/19-22:15:56.541869 7f33223ff6c0 Level-0 table #17: started
|
||||||
|
2023/12/19-22:15:56.541915 7f33223ff6c0 Level-0 table #17: 0 bytes OK
|
||||||
|
2023/12/19-22:15:56.548800 7f33223ff6c0 Delete type=0 #15
|
||||||
|
2023/12/19-22:15:56.555609 7f33223ff6c0 Manual compaction at level-0 from '!items!5dGXNiL3WN4cAk7X' @ 72057594037927935 : 1 .. '!items!zzz9JrtWjELdoAfK' @ 0 : 0; will stop at (end)
|
||||||
|
2023/12/19-22:15:56.555674 7f33223ff6c0 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
8
packs/dons/LOG.old
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
2023/12/19-21:45:05.751995 7f33237fe6c0 Recovering log #8
|
||||||
|
2023/12/19-21:45:05.802361 7f33237fe6c0 Delete type=3 #6
|
||||||
|
2023/12/19-21:45:05.802459 7f33237fe6c0 Delete type=0 #8
|
||||||
|
2023/12/19-21:45:32.401535 7f33223ff6c0 Level-0 table #13: started
|
||||||
|
2023/12/19-21:45:32.401586 7f33223ff6c0 Level-0 table #13: 0 bytes OK
|
||||||
|
2023/12/19-21:45:32.408618 7f33223ff6c0 Delete type=0 #11
|
||||||
|
2023/12/19-21:45:32.416737 7f33223ff6c0 Manual compaction at level-0 from '!items!5dGXNiL3WN4cAk7X' @ 72057594037927935 : 1 .. '!items!zzz9JrtWjELdoAfK' @ 0 : 0; will stop at (end)
|
||||||
|
2023/12/19-21:45:32.416779 7f33223ff6c0 Manual compaction at level-1 from '!items!5dGXNiL3WN4cAk7X' @ 72057594037927935 : 1 .. '!items!zzz9JrtWjELdoAfK' @ 0 : 0; will stop at (end)
|
BIN
packs/dons/MANIFEST-000014
Normal file
BIN
packs/dons/MANIFEST-000014
Normal file
Binary file not shown.
BIN
packs/equipement/000005.ldb
Normal file
BIN
packs/equipement/000005.ldb
Normal file
Binary file not shown.
0
packs/equipement/000016.log
Normal file
0
packs/equipement/000016.log
Normal file
1
packs/equipement/CURRENT
Normal file
1
packs/equipement/CURRENT
Normal file
@ -0,0 +1 @@
|
|||||||
|
MANIFEST-000014
|
0
packs/equipement/LOCK
Normal file
0
packs/equipement/LOCK
Normal file
8
packs/equipement/LOG
Normal file
8
packs/equipement/LOG
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
2023/12/19-22:15:44.907560 7f33237fe6c0 Recovering log #12
|
||||||
|
2023/12/19-22:15:44.919038 7f33237fe6c0 Delete type=3 #10
|
||||||
|
2023/12/19-22:15:44.919177 7f33237fe6c0 Delete type=0 #12
|
||||||
|
2023/12/19-22:15:56.527537 7f33223ff6c0 Level-0 table #17: started
|
||||||
|
2023/12/19-22:15:56.527579 7f33223ff6c0 Level-0 table #17: 0 bytes OK
|
||||||
|
2023/12/19-22:15:56.534748 7f33223ff6c0 Delete type=0 #15
|
||||||
|
2023/12/19-22:15:56.548969 7f33223ff6c0 Manual compaction at level-0 from '!items!1cZd2hlTV9tykDED' @ 72057594037927935 : 1 .. '!items!y47dBO3Mf5Pn7tOd' @ 0 : 0; will stop at (end)
|
||||||
|
2023/12/19-22:15:56.555629 7f33223ff6c0 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
8
packs/equipement/LOG.old
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
2023/12/19-21:45:05.694845 7f3322ffd6c0 Recovering log #8
|
||||||
|
2023/12/19-21:45:05.749080 7f3322ffd6c0 Delete type=3 #6
|
||||||
|
2023/12/19-21:45:05.749173 7f3322ffd6c0 Delete type=0 #8
|
||||||
|
2023/12/19-21:45:32.393743 7f33223ff6c0 Level-0 table #13: started
|
||||||
|
2023/12/19-21:45:32.393776 7f33223ff6c0 Level-0 table #13: 0 bytes OK
|
||||||
|
2023/12/19-21:45:32.401345 7f33223ff6c0 Delete type=0 #11
|
||||||
|
2023/12/19-21:45:32.416703 7f33223ff6c0 Manual compaction at level-0 from '!items!1cZd2hlTV9tykDED' @ 72057594037927935 : 1 .. '!items!y47dBO3Mf5Pn7tOd' @ 0 : 0; will stop at (end)
|
||||||
|
2023/12/19-21:45:32.416767 7f33223ff6c0 Manual compaction at level-1 from '!items!1cZd2hlTV9tykDED' @ 72057594037927935 : 1 .. '!items!y47dBO3Mf5Pn7tOd' @ 0 : 0; will stop at (end)
|
BIN
packs/equipement/MANIFEST-000014
Normal file
BIN
packs/equipement/MANIFEST-000014
Normal file
Binary file not shown.
BIN
packs/heritages/000005.ldb
Normal file
BIN
packs/heritages/000005.ldb
Normal file
Binary file not shown.
0
packs/heritages/000016.log
Normal file
0
packs/heritages/000016.log
Normal file
1
packs/heritages/CURRENT
Normal file
1
packs/heritages/CURRENT
Normal file
@ -0,0 +1 @@
|
|||||||
|
MANIFEST-000014
|
0
packs/heritages/LOCK
Normal file
0
packs/heritages/LOCK
Normal file
8
packs/heritages/LOG
Normal file
8
packs/heritages/LOG
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
2023/12/19-22:15:44.951754 7f35b8bfa6c0 Recovering log #12
|
||||||
|
2023/12/19-22:15:44.963535 7f35b8bfa6c0 Delete type=3 #10
|
||||||
|
2023/12/19-22:15:44.964185 7f35b8bfa6c0 Delete type=0 #12
|
||||||
|
2023/12/19-22:15:56.555768 7f33223ff6c0 Level-0 table #17: started
|
||||||
|
2023/12/19-22:15:56.555799 7f33223ff6c0 Level-0 table #17: 0 bytes OK
|
||||||
|
2023/12/19-22:15:56.562320 7f33223ff6c0 Delete type=0 #15
|
||||||
|
2023/12/19-22:15:56.583577 7f33223ff6c0 Manual compaction at level-0 from '!items!2GaJZsqr2c2mcDRv' @ 72057594037927935 : 1 .. '!items!ui4JGsGwHNlSXVK3' @ 0 : 0; will stop at (end)
|
||||||
|
2023/12/19-22:15:56.583652 7f33223ff6c0 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
8
packs/heritages/LOG.old
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
2023/12/19-21:45:05.858392 7f3323fff6c0 Recovering log #8
|
||||||
|
2023/12/19-21:45:05.908553 7f3323fff6c0 Delete type=3 #6
|
||||||
|
2023/12/19-21:45:05.908991 7f3323fff6c0 Delete type=0 #8
|
||||||
|
2023/12/19-21:45:32.431375 7f33223ff6c0 Level-0 table #13: started
|
||||||
|
2023/12/19-21:45:32.431443 7f33223ff6c0 Level-0 table #13: 0 bytes OK
|
||||||
|
2023/12/19-21:45:32.438078 7f33223ff6c0 Delete type=0 #11
|
||||||
|
2023/12/19-21:45:32.445311 7f33223ff6c0 Manual compaction at level-0 from '!items!2GaJZsqr2c2mcDRv' @ 72057594037927935 : 1 .. '!items!ui4JGsGwHNlSXVK3' @ 0 : 0; will stop at (end)
|
||||||
|
2023/12/19-21:45:32.445367 7f33223ff6c0 Manual compaction at level-1 from '!items!2GaJZsqr2c2mcDRv' @ 72057594037927935 : 1 .. '!items!ui4JGsGwHNlSXVK3' @ 0 : 0; will stop at (end)
|
BIN
packs/heritages/MANIFEST-000014
Normal file
BIN
packs/heritages/MANIFEST-000014
Normal file
Binary file not shown.
BIN
packs/metiers/000005.ldb
Normal file
BIN
packs/metiers/000005.ldb
Normal file
Binary file not shown.
0
packs/metiers/000016.log
Normal file
0
packs/metiers/000016.log
Normal file
1
packs/metiers/CURRENT
Normal file
1
packs/metiers/CURRENT
Normal file
@ -0,0 +1 @@
|
|||||||
|
MANIFEST-000014
|
0
packs/metiers/LOCK
Normal file
0
packs/metiers/LOCK
Normal file
8
packs/metiers/LOG
Normal file
8
packs/metiers/LOG
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
2023/12/19-22:15:44.970720 7f33237fe6c0 Recovering log #12
|
||||||
|
2023/12/19-22:15:44.981711 7f33237fe6c0 Delete type=3 #10
|
||||||
|
2023/12/19-22:15:44.981816 7f33237fe6c0 Delete type=0 #12
|
||||||
|
2023/12/19-22:15:56.562486 7f33223ff6c0 Level-0 table #17: started
|
||||||
|
2023/12/19-22:15:56.562523 7f33223ff6c0 Level-0 table #17: 0 bytes OK
|
||||||
|
2023/12/19-22:15:56.569457 7f33223ff6c0 Delete type=0 #15
|
||||||
|
2023/12/19-22:15:56.583598 7f33223ff6c0 Manual compaction at level-0 from '!items!09s33sFuju8zjPqI' @ 72057594037927935 : 1 .. '!items!xlyFCQClBZ1N3O1B' @ 0 : 0; will stop at (end)
|
||||||
|
2023/12/19-22:15:56.583681 7f33223ff6c0 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
8
packs/metiers/LOG.old
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
2023/12/19-21:45:05.912064 7f35b8bfa6c0 Recovering log #8
|
||||||
|
2023/12/19-21:45:05.963227 7f35b8bfa6c0 Delete type=3 #6
|
||||||
|
2023/12/19-21:45:05.963379 7f35b8bfa6c0 Delete type=0 #8
|
||||||
|
2023/12/19-21:45:32.416916 7f33223ff6c0 Level-0 table #13: started
|
||||||
|
2023/12/19-21:45:32.416965 7f33223ff6c0 Level-0 table #13: 0 bytes OK
|
||||||
|
2023/12/19-21:45:32.424040 7f33223ff6c0 Delete type=0 #11
|
||||||
|
2023/12/19-21:45:32.445274 7f33223ff6c0 Manual compaction at level-0 from '!items!09s33sFuju8zjPqI' @ 72057594037927935 : 1 .. '!items!xlyFCQClBZ1N3O1B' @ 0 : 0; will stop at (end)
|
||||||
|
2023/12/19-21:45:32.445341 7f33223ff6c0 Manual compaction at level-1 from '!items!09s33sFuju8zjPqI' @ 72057594037927935 : 1 .. '!items!xlyFCQClBZ1N3O1B' @ 0 : 0; will stop at (end)
|
BIN
packs/metiers/MANIFEST-000014
Normal file
BIN
packs/metiers/MANIFEST-000014
Normal file
Binary file not shown.
BIN
packs/origines/000005.ldb
Normal file
BIN
packs/origines/000005.ldb
Normal file
Binary file not shown.
0
packs/origines/000016.log
Normal file
0
packs/origines/000016.log
Normal file
1
packs/origines/CURRENT
Normal file
1
packs/origines/CURRENT
Normal file
@ -0,0 +1 @@
|
|||||||
|
MANIFEST-000014
|
0
packs/origines/LOCK
Normal file
0
packs/origines/LOCK
Normal file
8
packs/origines/LOG
Normal file
8
packs/origines/LOG
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
2023/12/19-22:15:44.936602 7f3323fff6c0 Recovering log #12
|
||||||
|
2023/12/19-22:15:44.948721 7f3323fff6c0 Delete type=3 #10
|
||||||
|
2023/12/19-22:15:44.948846 7f3323fff6c0 Delete type=0 #12
|
||||||
|
2023/12/19-22:15:56.549013 7f33223ff6c0 Level-0 table #17: started
|
||||||
|
2023/12/19-22:15:56.549045 7f33223ff6c0 Level-0 table #17: 0 bytes OK
|
||||||
|
2023/12/19-22:15:56.555450 7f33223ff6c0 Delete type=0 #15
|
||||||
|
2023/12/19-22:15:56.555659 7f33223ff6c0 Manual compaction at level-0 from '!items!2t1KmBeQNuKK5qlN' @ 72057594037927935 : 1 .. '!items!yBvkQb9S64s908sR' @ 0 : 0; will stop at (end)
|
||||||
|
2023/12/19-22:15:56.555725 7f33223ff6c0 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
8
packs/origines/LOG.old
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
2023/12/19-21:45:05.805812 7f3322ffd6c0 Recovering log #8
|
||||||
|
2023/12/19-21:45:05.854930 7f3322ffd6c0 Delete type=3 #6
|
||||||
|
2023/12/19-21:45:05.855021 7f3322ffd6c0 Delete type=0 #8
|
||||||
|
2023/12/19-21:45:32.408791 7f33223ff6c0 Level-0 table #13: started
|
||||||
|
2023/12/19-21:45:32.408828 7f33223ff6c0 Level-0 table #13: 0 bytes OK
|
||||||
|
2023/12/19-21:45:32.416539 7f33223ff6c0 Delete type=0 #11
|
||||||
|
2023/12/19-21:45:32.416752 7f33223ff6c0 Manual compaction at level-0 from '!items!2t1KmBeQNuKK5qlN' @ 72057594037927935 : 1 .. '!items!yBvkQb9S64s908sR' @ 0 : 0; will stop at (end)
|
||||||
|
2023/12/19-21:45:32.416795 7f33223ff6c0 Manual compaction at level-1 from '!items!2t1KmBeQNuKK5qlN' @ 72057594037927935 : 1 .. '!items!yBvkQb9S64s908sR' @ 0 : 0; will stop at (end)
|
BIN
packs/origines/MANIFEST-000014
Normal file
BIN
packs/origines/MANIFEST-000014
Normal file
Binary file not shown.
@ -1,11 +1,7 @@
|
|||||||
{"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":"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":"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 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":"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":"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":"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":"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":"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":"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":"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"}
|
{"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":"É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"}
|
|
||||||
|
BIN
packs/protection/000005.ldb
Normal file
BIN
packs/protection/000005.ldb
Normal file
Binary file not shown.
0
packs/protection/000016.log
Normal file
0
packs/protection/000016.log
Normal file
1
packs/protection/CURRENT
Normal file
1
packs/protection/CURRENT
Normal file
@ -0,0 +1 @@
|
|||||||
|
MANIFEST-000014
|
0
packs/protection/LOCK
Normal file
0
packs/protection/LOCK
Normal file
8
packs/protection/LOG
Normal file
8
packs/protection/LOG
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
2023/12/19-22:15:44.893322 7f35b8bfa6c0 Recovering log #12
|
||||||
|
2023/12/19-22:15:44.904529 7f35b8bfa6c0 Delete type=3 #10
|
||||||
|
2023/12/19-22:15:44.904658 7f35b8bfa6c0 Delete type=0 #12
|
||||||
|
2023/12/19-22:15:56.509351 7f33223ff6c0 Level-0 table #17: started
|
||||||
|
2023/12/19-22:15:56.509416 7f33223ff6c0 Level-0 table #17: 0 bytes OK
|
||||||
|
2023/12/19-22:15:56.516961 7f33223ff6c0 Delete type=0 #15
|
||||||
|
2023/12/19-22:15:56.517201 7f33223ff6c0 Manual compaction at level-0 from '!items!2hD1DQVeCIQIXFU7' @ 72057594037927935 : 1 .. '!items!veoS6Gtzj6Dq087V' @ 0 : 0; will stop at (end)
|
||||||
|
2023/12/19-22:15:56.517244 7f33223ff6c0 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
8
packs/protection/LOG.old
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
2023/12/19-21:45:05.639391 7f35b8bfa6c0 Recovering log #8
|
||||||
|
2023/12/19-21:45:05.691389 7f35b8bfa6c0 Delete type=3 #6
|
||||||
|
2023/12/19-21:45:05.691500 7f35b8bfa6c0 Delete type=0 #8
|
||||||
|
2023/12/19-21:45:32.386932 7f33223ff6c0 Level-0 table #13: started
|
||||||
|
2023/12/19-21:45:32.386986 7f33223ff6c0 Level-0 table #13: 0 bytes OK
|
||||||
|
2023/12/19-21:45:32.393562 7f33223ff6c0 Delete type=0 #11
|
||||||
|
2023/12/19-21:45:32.401503 7f33223ff6c0 Manual compaction at level-0 from '!items!2hD1DQVeCIQIXFU7' @ 72057594037927935 : 1 .. '!items!veoS6Gtzj6Dq087V' @ 0 : 0; will stop at (end)
|
||||||
|
2023/12/19-21:45:32.416722 7f33223ff6c0 Manual compaction at level-1 from '!items!2hD1DQVeCIQIXFU7' @ 72057594037927935 : 1 .. '!items!veoS6Gtzj6Dq087V' @ 0 : 0; will stop at (end)
|
BIN
packs/protection/MANIFEST-000014
Normal file
BIN
packs/protection/MANIFEST-000014
Normal file
Binary file not shown.
BIN
packs/runes/000005.ldb
Normal file
BIN
packs/runes/000005.ldb
Normal file
Binary file not shown.
0
packs/runes/000016.log
Normal file
0
packs/runes/000016.log
Normal file
1
packs/runes/CURRENT
Normal file
1
packs/runes/CURRENT
Normal file
@ -0,0 +1 @@
|
|||||||
|
MANIFEST-000014
|
0
packs/runes/LOCK
Normal file
0
packs/runes/LOCK
Normal file
8
packs/runes/LOG
Normal file
8
packs/runes/LOG
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
2023/12/19-22:15:45.016188 7f35b8bfa6c0 Recovering log #12
|
||||||
|
2023/12/19-22:15:45.028467 7f35b8bfa6c0 Delete type=3 #10
|
||||||
|
2023/12/19-22:15:45.028598 7f35b8bfa6c0 Delete type=0 #12
|
||||||
|
2023/12/19-22:15:56.583825 7f33223ff6c0 Level-0 table #17: started
|
||||||
|
2023/12/19-22:15:56.583863 7f33223ff6c0 Level-0 table #17: 0 bytes OK
|
||||||
|
2023/12/19-22:15:56.591144 7f33223ff6c0 Delete type=0 #15
|
||||||
|
2023/12/19-22:15:56.598388 7f33223ff6c0 Manual compaction at level-0 from '!items!1JqWbEkHUoKXbsgn' @ 72057594037927935 : 1 .. '!items!xnCf2xIPzdsUoBTy' @ 0 : 0; will stop at (end)
|
||||||
|
2023/12/19-22:15:56.598452 7f33223ff6c0 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
8
packs/runes/LOG.old
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
2023/12/19-21:45:06.072103 7f3323fff6c0 Recovering log #8
|
||||||
|
2023/12/19-21:45:06.135204 7f3323fff6c0 Delete type=3 #6
|
||||||
|
2023/12/19-21:45:06.135349 7f3323fff6c0 Delete type=0 #8
|
||||||
|
2023/12/19-21:45:32.445521 7f33223ff6c0 Level-0 table #13: started
|
||||||
|
2023/12/19-21:45:32.445555 7f33223ff6c0 Level-0 table #13: 0 bytes OK
|
||||||
|
2023/12/19-21:45:32.453598 7f33223ff6c0 Delete type=0 #11
|
||||||
|
2023/12/19-21:45:32.461415 7f33223ff6c0 Manual compaction at level-0 from '!items!1JqWbEkHUoKXbsgn' @ 72057594037927935 : 1 .. '!items!xnCf2xIPzdsUoBTy' @ 0 : 0; will stop at (end)
|
||||||
|
2023/12/19-21:45:32.461494 7f33223ff6c0 Manual compaction at level-1 from '!items!1JqWbEkHUoKXbsgn' @ 72057594037927935 : 1 .. '!items!xnCf2xIPzdsUoBTy' @ 0 : 0; will stop at (end)
|
BIN
packs/runes/MANIFEST-000014
Normal file
BIN
packs/runes/MANIFEST-000014
Normal file
Binary file not shown.
BIN
packs/skills/000005.ldb
Normal file
BIN
packs/skills/000005.ldb
Normal file
Binary file not shown.
0
packs/skills/000016.log
Normal file
0
packs/skills/000016.log
Normal file
1
packs/skills/CURRENT
Normal file
1
packs/skills/CURRENT
Normal file
@ -0,0 +1 @@
|
|||||||
|
MANIFEST-000014
|
0
packs/skills/LOCK
Normal file
0
packs/skills/LOCK
Normal file
8
packs/skills/LOG
Normal file
8
packs/skills/LOG
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
2023/12/19-22:15:44.865290 7f3322ffd6c0 Recovering log #12
|
||||||
|
2023/12/19-22:15:44.876647 7f3322ffd6c0 Delete type=3 #10
|
||||||
|
2023/12/19-22:15:44.876743 7f3322ffd6c0 Delete type=0 #12
|
||||||
|
2023/12/19-22:15:56.490933 7f33223ff6c0 Level-0 table #17: started
|
||||||
|
2023/12/19-22:15:56.490979 7f33223ff6c0 Level-0 table #17: 0 bytes OK
|
||||||
|
2023/12/19-22:15:56.498758 7f33223ff6c0 Delete type=0 #15
|
||||||
|
2023/12/19-22:15:56.517170 7f33223ff6c0 Manual compaction at level-0 from '!items!0LlzDyCurJedqeyG' @ 72057594037927935 : 1 .. '!items!tq6mEgXog7h4VyWk' @ 0 : 0; will stop at (end)
|
||||||
|
2023/12/19-22:15:56.527510 7f33223ff6c0 Manual compaction at level-1 from '!items!0LlzDyCurJedqeyG' @ 72057594037927935 : 1 .. '!items!tq6mEgXog7h4VyWk' @ 0 : 0; will stop at (end)
|
8
packs/skills/LOG.old
Normal file
8
packs/skills/LOG.old
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
2023/12/19-21:45:05.522800 7f33237fe6c0 Recovering log #8
|
||||||
|
2023/12/19-21:45:05.576713 7f33237fe6c0 Delete type=3 #6
|
||||||
|
2023/12/19-21:45:05.576894 7f33237fe6c0 Delete type=0 #8
|
||||||
|
2023/12/19-21:45:32.360607 7f33223ff6c0 Level-0 table #13: started
|
||||||
|
2023/12/19-21:45:32.360665 7f33223ff6c0 Level-0 table #13: 0 bytes OK
|
||||||
|
2023/12/19-21:45:32.368046 7f33223ff6c0 Delete type=0 #11
|
||||||
|
2023/12/19-21:45:32.375090 7f33223ff6c0 Manual compaction at level-0 from '!items!0LlzDyCurJedqeyG' @ 72057594037927935 : 1 .. '!items!tq6mEgXog7h4VyWk' @ 0 : 0; will stop at (end)
|
||||||
|
2023/12/19-21:45:32.386907 7f33223ff6c0 Manual compaction at level-1 from '!items!0LlzDyCurJedqeyG' @ 72057594037927935 : 1 .. '!items!tq6mEgXog7h4VyWk' @ 0 : 0; will stop at (end)
|
BIN
packs/skills/MANIFEST-000014
Normal file
BIN
packs/skills/MANIFEST-000014
Normal file
Binary file not shown.
BIN
packs/tables/000005.ldb
Normal file
BIN
packs/tables/000005.ldb
Normal file
Binary file not shown.
0
packs/tables/000016.log
Normal file
0
packs/tables/000016.log
Normal file
1
packs/tables/CURRENT
Normal file
1
packs/tables/CURRENT
Normal file
@ -0,0 +1 @@
|
|||||||
|
MANIFEST-000014
|
0
packs/tables/LOCK
Normal file
0
packs/tables/LOCK
Normal file
8
packs/tables/LOG
Normal file
8
packs/tables/LOG
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
2023/12/19-22:15:45.032291 7f33237fe6c0 Recovering log #12
|
||||||
|
2023/12/19-22:15:45.043647 7f33237fe6c0 Delete type=3 #10
|
||||||
|
2023/12/19-22:15:45.043790 7f33237fe6c0 Delete type=0 #12
|
||||||
|
2023/12/19-22:15:56.591612 7f33223ff6c0 Level-0 table #17: started
|
||||||
|
2023/12/19-22:15:56.591671 7f33223ff6c0 Level-0 table #17: 0 bytes OK
|
||||||
|
2023/12/19-22:15:56.598156 7f33223ff6c0 Delete type=0 #15
|
||||||
|
2023/12/19-22:15:56.598427 7f33223ff6c0 Manual compaction at level-0 from '!tables!zV2oJy8JZE0nngRY' @ 72057594037927935 : 1 .. '!tables.results!zV2oJy8JZE0nngRY.wTMX1TbxljHmHImp' @ 0 : 0; will stop at (end)
|
||||||
|
2023/12/19-22:15:56.598479 7f33223ff6c0 Manual compaction at level-1 from '!tables!zV2oJy8JZE0nngRY' @ 72057594037927935 : 1 .. '!tables.results!zV2oJy8JZE0nngRY.wTMX1TbxljHmHImp' @ 0 : 0; will stop at (end)
|
8
packs/tables/LOG.old
Normal file
8
packs/tables/LOG.old
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
2023/12/19-21:45:06.139613 7f35b8bfa6c0 Recovering log #8
|
||||||
|
2023/12/19-21:45:06.235086 7f35b8bfa6c0 Delete type=3 #6
|
||||||
|
2023/12/19-21:45:06.235238 7f35b8bfa6c0 Delete type=0 #8
|
||||||
|
2023/12/19-21:45:32.453793 7f33223ff6c0 Level-0 table #13: started
|
||||||
|
2023/12/19-21:45:32.454273 7f33223ff6c0 Level-0 table #13: 0 bytes OK
|
||||||
|
2023/12/19-21:45:32.461277 7f33223ff6c0 Delete type=0 #11
|
||||||
|
2023/12/19-21:45:32.461479 7f33223ff6c0 Manual compaction at level-0 from '!tables!zV2oJy8JZE0nngRY' @ 72057594037927935 : 1 .. '!tables.results!zV2oJy8JZE0nngRY.wTMX1TbxljHmHImp' @ 0 : 0; will stop at (end)
|
||||||
|
2023/12/19-21:45:32.461521 7f33223ff6c0 Manual compaction at level-1 from '!tables!zV2oJy8JZE0nngRY' @ 72057594037927935 : 1 .. '!tables.results!zV2oJy8JZE0nngRY.wTMX1TbxljHmHImp' @ 0 : 0; will stop at (end)
|
BIN
packs/tables/MANIFEST-000014
Normal file
BIN
packs/tables/MANIFEST-000014
Normal file
Binary file not shown.
BIN
packs/tendances/000005.ldb
Normal file
BIN
packs/tendances/000005.ldb
Normal file
Binary file not shown.
0
packs/tendances/000016.log
Normal file
0
packs/tendances/000016.log
Normal file
1
packs/tendances/CURRENT
Normal file
1
packs/tendances/CURRENT
Normal file
@ -0,0 +1 @@
|
|||||||
|
MANIFEST-000014
|
0
packs/tendances/LOCK
Normal file
0
packs/tendances/LOCK
Normal file
8
packs/tendances/LOG
Normal file
8
packs/tendances/LOG
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
2023/12/19-22:15:44.985004 7f3322ffd6c0 Recovering log #12
|
||||||
|
2023/12/19-22:15:44.996556 7f3322ffd6c0 Delete type=3 #10
|
||||||
|
2023/12/19-22:15:44.996666 7f3322ffd6c0 Delete type=0 #12
|
||||||
|
2023/12/19-22:15:56.569866 7f33223ff6c0 Level-0 table #17: started
|
||||||
|
2023/12/19-22:15:56.569902 7f33223ff6c0 Level-0 table #17: 0 bytes OK
|
||||||
|
2023/12/19-22:15:56.576414 7f33223ff6c0 Delete type=0 #15
|
||||||
|
2023/12/19-22:15:56.583619 7f33223ff6c0 Manual compaction at level-0 from '!items!0CYP1JpZu9mst5tK' @ 72057594037927935 : 1 .. '!items!zhPPsmTtLv7cyNHJ' @ 0 : 0; will stop at (end)
|
||||||
|
2023/12/19-22:15:56.583665 7f33223ff6c0 Manual compaction at level-1 from '!items!0CYP1JpZu9mst5tK' @ 72057594037927935 : 1 .. '!items!zhPPsmTtLv7cyNHJ' @ 0 : 0; will stop at (end)
|
8
packs/tendances/LOG.old
Normal file
8
packs/tendances/LOG.old
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
2023/12/19-21:45:05.967132 7f33237fe6c0 Recovering log #8
|
||||||
|
2023/12/19-21:45:06.023933 7f33237fe6c0 Delete type=3 #6
|
||||||
|
2023/12/19-21:45:06.024035 7f33237fe6c0 Delete type=0 #8
|
||||||
|
2023/12/19-21:45:32.424193 7f33223ff6c0 Level-0 table #13: started
|
||||||
|
2023/12/19-21:45:32.424227 7f33223ff6c0 Level-0 table #13: 0 bytes OK
|
||||||
|
2023/12/19-21:45:32.431033 7f33223ff6c0 Delete type=0 #11
|
||||||
|
2023/12/19-21:45:32.445293 7f33223ff6c0 Manual compaction at level-0 from '!items!0CYP1JpZu9mst5tK' @ 72057594037927935 : 1 .. '!items!zhPPsmTtLv7cyNHJ' @ 0 : 0; will stop at (end)
|
||||||
|
2023/12/19-21:45:32.445354 7f33223ff6c0 Manual compaction at level-1 from '!items!0CYP1JpZu9mst5tK' @ 72057594037927935 : 1 .. '!items!zhPPsmTtLv7cyNHJ' @ 0 : 0; will stop at (end)
|
BIN
packs/tendances/MANIFEST-000014
Normal file
BIN
packs/tendances/MANIFEST-000014
Normal file
Binary file not shown.
BIN
packs/traits-chaotiques/000005.ldb
Normal file
BIN
packs/traits-chaotiques/000005.ldb
Normal file
Binary file not shown.
0
packs/traits-chaotiques/000016.log
Normal file
0
packs/traits-chaotiques/000016.log
Normal file
1
packs/traits-chaotiques/CURRENT
Normal file
1
packs/traits-chaotiques/CURRENT
Normal file
@ -0,0 +1 @@
|
|||||||
|
MANIFEST-000014
|
0
packs/traits-chaotiques/LOCK
Normal file
0
packs/traits-chaotiques/LOCK
Normal file
8
packs/traits-chaotiques/LOG
Normal file
8
packs/traits-chaotiques/LOG
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
2023/12/19-22:15:45.002228 7f3323fff6c0 Recovering log #12
|
||||||
|
2023/12/19-22:15:45.012868 7f3323fff6c0 Delete type=3 #10
|
||||||
|
2023/12/19-22:15:45.013004 7f3323fff6c0 Delete type=0 #12
|
||||||
|
2023/12/19-22:15:56.576566 7f33223ff6c0 Level-0 table #17: started
|
||||||
|
2023/12/19-22:15:56.576602 7f33223ff6c0 Level-0 table #17: 0 bytes OK
|
||||||
|
2023/12/19-22:15:56.583396 7f33223ff6c0 Delete type=0 #15
|
||||||
|
2023/12/19-22:15:56.583635 7f33223ff6c0 Manual compaction at level-0 from '!items!3J0HKjcVtBT39BiR' @ 72057594037927935 : 1 .. '!items!zeOtWz6oscp8Su5l' @ 0 : 0; will stop at (end)
|
||||||
|
2023/12/19-22:15:56.583698 7f33223ff6c0 Manual compaction at level-1 from '!items!3J0HKjcVtBT39BiR' @ 72057594037927935 : 1 .. '!items!zeOtWz6oscp8Su5l' @ 0 : 0; will stop at (end)
|
8
packs/traits-chaotiques/LOG.old
Normal file
8
packs/traits-chaotiques/LOG.old
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
2023/12/19-21:45:06.026707 7f3322ffd6c0 Recovering log #8
|
||||||
|
2023/12/19-21:45:06.068733 7f3322ffd6c0 Delete type=3 #6
|
||||||
|
2023/12/19-21:45:06.068870 7f3322ffd6c0 Delete type=0 #8
|
||||||
|
2023/12/19-21:45:32.438292 7f33223ff6c0 Level-0 table #13: started
|
||||||
|
2023/12/19-21:45:32.438343 7f33223ff6c0 Level-0 table #13: 0 bytes OK
|
||||||
|
2023/12/19-21:45:32.445131 7f33223ff6c0 Delete type=0 #11
|
||||||
|
2023/12/19-21:45:32.445326 7f33223ff6c0 Manual compaction at level-0 from '!items!3J0HKjcVtBT39BiR' @ 72057594037927935 : 1 .. '!items!zeOtWz6oscp8Su5l' @ 0 : 0; will stop at (end)
|
||||||
|
2023/12/19-21:45:32.445381 7f33223ff6c0 Manual compaction at level-1 from '!items!3J0HKjcVtBT39BiR' @ 72057594037927935 : 1 .. '!items!zeOtWz6oscp8Su5l' @ 0 : 0; will stop at (end)
|
BIN
packs/traits-chaotiques/MANIFEST-000014
Normal file
BIN
packs/traits-chaotiques/MANIFEST-000014
Normal file
Binary file not shown.
@ -302,6 +302,12 @@ table {border: 1px solid #7a7971;}
|
|||||||
font-size: 0.8rem;
|
font-size: 0.8rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.predilection-text {
|
||||||
|
padding-left: 8px;
|
||||||
|
font-style: italic;
|
||||||
|
font-size: 0.6rem;
|
||||||
|
}
|
||||||
|
|
||||||
.editor {
|
.editor {
|
||||||
border: 2;
|
border: 2;
|
||||||
height: 300px;
|
height: 300px;
|
||||||
@ -924,8 +930,6 @@ ul, li {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#sidebar #sidebar-tabs i{
|
#sidebar #sidebar-tabs i{
|
||||||
width: 25px;
|
|
||||||
height: 25px;
|
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
background-position:center;
|
background-position:center;
|
||||||
background-size:cover;
|
background-size:cover;
|
||||||
@ -1367,6 +1371,6 @@ ul, li {
|
|||||||
flex-shrink: 7;
|
flex-shrink: 7;
|
||||||
}
|
}
|
||||||
.item-controls-fixed {
|
.item-controls-fixed {
|
||||||
min-width:2rem;
|
min-width:3.2rem;
|
||||||
max-width: 2rem;
|
max-width: 3.2rem;
|
||||||
}
|
}
|
116
system.json
116
system.json
@ -1,147 +1,137 @@
|
|||||||
{
|
{
|
||||||
"id": "fvtt-mournblade",
|
"id": "fvtt-mournblade",
|
||||||
"description": "Mournblade RPG for FoundryVTT",
|
"description": "Mournblade RPG for FoundryVTT",
|
||||||
"version": "10.0.1",
|
"version": "11.0.2",
|
||||||
"authors": [
|
"authors": [
|
||||||
{
|
{
|
||||||
"name": "Uberwald/LeRatierBretonnien"
|
"name": "Uberwald/LeRatierBretonnien",
|
||||||
|
"flags": {}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"esmodules": [
|
"esmodules": [
|
||||||
"modules/mournblade-main.js"
|
"modules/mournblade-main.js"
|
||||||
],
|
],
|
||||||
|
"languages": [
|
||||||
|
{
|
||||||
|
"lang": "fr",
|
||||||
|
"name": "French",
|
||||||
|
"path": "lang/fr.json",
|
||||||
|
"flags": {}
|
||||||
|
}
|
||||||
|
],
|
||||||
"gridDistance": 5,
|
"gridDistance": 5,
|
||||||
"gridUnits": "m",
|
"gridUnits": "m",
|
||||||
"languages": [
|
|
||||||
],
|
|
||||||
"library": false,
|
|
||||||
"license": "LICENSE.txt",
|
"license": "LICENSE.txt",
|
||||||
"manifest": "https://www.uberwald.me/gitea/public/fvtt-mournblade/raw/branch/v10/system.json",
|
"manifest": "https://www.uberwald.me/gitea/public/fvtt-mournblade/raw/branch/v10/system.json",
|
||||||
"download": "https://www.uberwald.me/gitea/public/fvtt-mournblade/archive/fvtt-mournblade-10.0.1.zip",
|
"download": "https://www.uberwald.me/gitea/public/fvtt-mournblade/archive/fvtt-mournblade-11.0.2.zip",
|
||||||
"manifestPlusVersion": "1.0.0",
|
|
||||||
"media": [],
|
|
||||||
"packs": [
|
"packs": [
|
||||||
{
|
{
|
||||||
"type": "Item",
|
"type": "Item",
|
||||||
"label": "Compétences",
|
"label": "Compétences",
|
||||||
"name": "skills",
|
"name": "skills",
|
||||||
"path": "./packs/skills.db",
|
"path": "packs/skills.db",
|
||||||
"system": "fvtt-mournblade",
|
"system": "fvtt-mournblade",
|
||||||
"tags": [
|
"flags": {},
|
||||||
"skill",
|
"private": false
|
||||||
"competence"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "Item",
|
"type": "Item",
|
||||||
"label": "Armes",
|
"label": "Armes & Boucliers",
|
||||||
"name": "armes",
|
"name": "armes",
|
||||||
"path": "./packs/armes.db",
|
"path": "packs/armes.db",
|
||||||
"system": "fvtt-mournblade",
|
"system": "fvtt-mournblade",
|
||||||
"tags": [
|
"flags": {},
|
||||||
"arme"
|
"private": false
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "Item",
|
"type": "Item",
|
||||||
"label": "Protections",
|
"label": "Protections",
|
||||||
"name": "protection",
|
"name": "protection",
|
||||||
"path": "./packs/protection.db",
|
"path": "packs/protection.db",
|
||||||
"system": "fvtt-mournblade",
|
"system": "fvtt-mournblade",
|
||||||
"tags": [
|
"flags": {},
|
||||||
"armor",
|
"private": false
|
||||||
"shield"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "Item",
|
"type": "Item",
|
||||||
"label": "Equipement",
|
"label": "Equipement",
|
||||||
"name": "equipement",
|
"name": "equipement",
|
||||||
"path": "./packs/equipement.db",
|
"path": "packs/equipement.db",
|
||||||
"system": "fvtt-mournblade",
|
"system": "fvtt-mournblade",
|
||||||
"tags": [
|
"flags": {},
|
||||||
"equipement"
|
"private": false
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": "Dons",
|
"label": "Dons",
|
||||||
"type": "Item",
|
"type": "Item",
|
||||||
"name": "dons",
|
"name": "dons",
|
||||||
"path": "./packs/dons.db",
|
"path": "packs/dons.db",
|
||||||
"system": "fvtt-mournblade",
|
"system": "fvtt-mournblade",
|
||||||
"tags": [
|
"flags": {},
|
||||||
"don"
|
"private": false
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "Item",
|
"type": "Item",
|
||||||
"label": "Origines",
|
"label": "Origines",
|
||||||
"name": "origines",
|
"name": "origines",
|
||||||
"path": "./packs/origines.db",
|
"path": "packs/origines.db",
|
||||||
"system": "fvtt-mournblade",
|
"system": "fvtt-mournblade",
|
||||||
"tags": [
|
"flags": {},
|
||||||
"originess"
|
"private": false
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "Item",
|
"type": "Item",
|
||||||
"label": "Héritages",
|
"label": "Héritages",
|
||||||
"name": "heritages",
|
"name": "heritages",
|
||||||
"path": "./packs/heritages.db",
|
"path": "packs/heritages.db",
|
||||||
"system": "fvtt-mournblade",
|
"system": "fvtt-mournblade",
|
||||||
"tags": [
|
"flags": {},
|
||||||
"héritage"
|
"private": false
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "Item",
|
"type": "Item",
|
||||||
"label": "Métiers",
|
"label": "Métiers",
|
||||||
"name": "metiers",
|
"name": "metiers",
|
||||||
"path": "./packs/metiers.db",
|
"path": "packs/metiers.db",
|
||||||
"system": "fvtt-mournblade",
|
"system": "fvtt-mournblade",
|
||||||
"tags": [
|
"flags": {},
|
||||||
"metier"
|
"private": false
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "Item",
|
"type": "Item",
|
||||||
"label": "Tendances",
|
"label": "Tendances",
|
||||||
"name": "tendances",
|
"name": "tendances",
|
||||||
"path": "./packs/tendances.db",
|
"path": "packs/tendances.db",
|
||||||
"system": "fvtt-mournblade",
|
"system": "fvtt-mournblade",
|
||||||
"tags": [
|
"flags": {},
|
||||||
"tendance"
|
"private": false
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "Item",
|
"type": "Item",
|
||||||
"label": "Traits chaotiques",
|
"label": "Traits chaotiques",
|
||||||
"name": "traits-chaotiques",
|
"name": "traits-chaotiques",
|
||||||
"path": "./packs/traits-chaotiques.db",
|
"path": "packs/traits-chaotiques.db",
|
||||||
"system": "fvtt-mournblade",
|
"system": "fvtt-mournblade",
|
||||||
"tags": [
|
"flags": {},
|
||||||
"traits chaotiques"
|
"private": false
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "Item",
|
"type": "Item",
|
||||||
"label": "Runes",
|
"label": "Runes",
|
||||||
"name": "runes",
|
"name": "runes",
|
||||||
"path": "./packs/runes.db",
|
"path": "packs/runes.db",
|
||||||
"system": "fvtt-mournblade",
|
"system": "fvtt-mournblade",
|
||||||
"tags": [
|
"flags": {},
|
||||||
"runes"
|
"private": false
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "RollTable",
|
"type": "RollTable",
|
||||||
"label": "Tables",
|
"label": "Tables",
|
||||||
"name": "tables",
|
"name": "tables",
|
||||||
"path": "./packs/tables.db",
|
"path": "packs/tables.db",
|
||||||
"system": "fvtt-mournblade",
|
"system": "fvtt-mournblade",
|
||||||
"tags": [
|
"flags": {},
|
||||||
"tables"
|
"private": false
|
||||||
]
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"primaryTokenAttribute": "secondary.health",
|
"primaryTokenAttribute": "secondary.health",
|
||||||
@ -150,8 +140,12 @@
|
|||||||
"styles": [
|
"styles": [
|
||||||
"styles/simple.css"
|
"styles/simple.css"
|
||||||
],
|
],
|
||||||
"templateVersion": 18,
|
|
||||||
"title": "Mournblade",
|
"title": "Mournblade",
|
||||||
"url": "https://www.uberwald.me/gitea/public/fvtt-mournblade",
|
"url": "https://www.uberwald.me/gitea/public/fvtt-mournblade",
|
||||||
"background": "systems/fvtt-mournblade/assets/ui/fond_mournblade.webp"
|
"background": "systems/fvtt-mournblade/assets/ui/fond_mournblade.webp",
|
||||||
|
"compatibility": {
|
||||||
|
"minimum": "10",
|
||||||
|
"maximum": "11",
|
||||||
|
"verified": "11"
|
||||||
|
}
|
||||||
}
|
}
|
@ -1,8 +1,7 @@
|
|||||||
{
|
{
|
||||||
"Actor": {
|
"Actor": {
|
||||||
"types": [
|
"types": [
|
||||||
"personnage",
|
"personnage"
|
||||||
"pnj"
|
|
||||||
],
|
],
|
||||||
"templates": {
|
"templates": {
|
||||||
"biodata": {
|
"biodata": {
|
||||||
@ -131,7 +130,8 @@
|
|||||||
"origine",
|
"origine",
|
||||||
"heritage",
|
"heritage",
|
||||||
"metier",
|
"metier",
|
||||||
"runeeffect"
|
"runeeffect",
|
||||||
|
"bouclier"
|
||||||
],
|
],
|
||||||
"runeeffect": {
|
"runeeffect": {
|
||||||
"rune": "",
|
"rune": "",
|
||||||
@ -175,6 +175,7 @@
|
|||||||
"bonusmaniementoff": 0,
|
"bonusmaniementoff": 0,
|
||||||
"bonusmaniementdef": 0,
|
"bonusmaniementdef": 0,
|
||||||
"degats": "",
|
"degats": "",
|
||||||
|
"nonletaux": false,
|
||||||
"deuxmains": false,
|
"deuxmains": false,
|
||||||
"courte": 0,
|
"courte": 0,
|
||||||
"moyenne": 0,
|
"moyenne": 0,
|
||||||
@ -182,6 +183,7 @@
|
|||||||
"tr": 0,
|
"tr": 0,
|
||||||
"rarete": 0,
|
"rarete": 0,
|
||||||
"prix": 0,
|
"prix": 0,
|
||||||
|
"equipped": false,
|
||||||
"templates": [
|
"templates": [
|
||||||
"base"
|
"base"
|
||||||
]
|
]
|
||||||
@ -203,6 +205,18 @@
|
|||||||
"degats": "",
|
"degats": "",
|
||||||
"rarete": 0,
|
"rarete": 0,
|
||||||
"prix": 0,
|
"prix": 0,
|
||||||
|
"equipped": false,
|
||||||
|
"templates": [
|
||||||
|
"base"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"bouclier": {
|
||||||
|
"bonusdefense": 0,
|
||||||
|
"degats": "",
|
||||||
|
"nonletaux": false,
|
||||||
|
"rarete": 0,
|
||||||
|
"prix": 0,
|
||||||
|
"equipped": false,
|
||||||
"templates": [
|
"templates": [
|
||||||
"base"
|
"base"
|
||||||
]
|
]
|
||||||
@ -219,6 +233,8 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"monnaie": {
|
"monnaie": {
|
||||||
|
"quantite": 0,
|
||||||
|
"unite": "",
|
||||||
"templates": [
|
"templates": [
|
||||||
"base"
|
"base"
|
||||||
]
|
]
|
||||||
|
@ -8,41 +8,62 @@
|
|||||||
<div class="flexcol">
|
<div class="flexcol">
|
||||||
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name" /></h1>
|
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name" /></h1>
|
||||||
<div class="flexrow">
|
<div class="flexrow">
|
||||||
<span class="flexrow">
|
|
||||||
<h4 class="item-name-label competence-name item-field-label-short">{{upperFirst alignement}}</h4>
|
|
||||||
<label class="item-name-label competence-name item-field-label-short">Loi</label>
|
|
||||||
<select class="status-small-label color-class-common item-field-label-short" type="text"
|
|
||||||
name="system.balance.loi" value="{{data.balance.loi}}" data-dtype="Number">
|
|
||||||
{{#select data.balance.loi}}
|
|
||||||
{{> systems/fvtt-mournblade/templates/partial-list-niveau.html}}
|
|
||||||
{{/select}}
|
|
||||||
</select>
|
|
||||||
<label class="item-name-label competence-name item-field-label-short">Chaos</label>
|
|
||||||
<select class="status-small-label color-class-common item-field-label-short" type="text"
|
|
||||||
name="system.balance.chaos" value="{{data.balance.chaos}}" data-dtype="Number">
|
|
||||||
{{#select data.balance.chaos}}
|
|
||||||
{{> systems/fvtt-mournblade/templates/partial-list-niveau.html}}
|
|
||||||
{{/select}}
|
|
||||||
</select>
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
<div class="flexrow">
|
|
||||||
<h4 class="item-name-label competence-name">Bonne Aventure</h4>
|
|
||||||
<label class="item-name-label competence-name item-field-label-short">Base</label>
|
|
||||||
<input type="text" class="padd-right status-small-label color-class-common item-field-label-short"
|
|
||||||
name="system.bonneaventure.base" value="{{data.bonneaventure.base}}" data-dtype="Number" />
|
|
||||||
<label class="item-name-label competence-name item-field-label-short">Actuelle</label>
|
|
||||||
<input type="text" class="padd-right status-small-label color-class-common item-field-label-short"
|
|
||||||
name="system.bonneaventure.actuelle" value="{{data.bonneaventure.actuelle}}" data-dtype="Number" />
|
|
||||||
</div>
|
|
||||||
<div class="flexrow">
|
|
||||||
<h4 class="item-name-label competence-name item-field-label-short">Eclat</h4>
|
|
||||||
<input type="text" class="padd-right status-small-label color-class-common item-field-label-short"
|
|
||||||
name="system.eclat.value" value="{{data.eclat.value}}" data-dtype="Number" />
|
|
||||||
|
|
||||||
<h4 class="item-name-label competence-name item-field-label-medium">Expérience</h4>
|
<ul class="item-list alternate-list">
|
||||||
<input type="text" class="padd-right status-small-label color-class-common item-field-label-short"
|
<li class="item flexrow ">
|
||||||
name="system.experience.value" value="{{data.experience.value}}" data-dtype="Number" />
|
<label class="item-name-label competence-name item-field-label-short"><strong>Loi</strong></label>
|
||||||
|
|
||||||
|
<label class="item-name-label competence-name item-field-label-short">Niveau</label><input type="text" class="padd-right status-small-label color-class-common item-field-label-short"
|
||||||
|
name="system.balance.loi" value="{{data.balance.loi}}" data-dtype="Number" />
|
||||||
|
|
||||||
|
<label class="item-name-label competence-name item-field-label-short">Points</label>
|
||||||
|
<select class="status-small-label color-class-common item-field-label-short" type="text"
|
||||||
|
name="system.balance.pointsloi" value="{{data.balance.pointsloi}}" data-dtype="Number">
|
||||||
|
{{#select data.balance.pointsloi}}
|
||||||
|
{{> systems/fvtt-mournblade/templates/partial-list-niveau.html}}
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<label class="item-name-label competence-name item-field-label-medium">Aspect {{aspect}}</label>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="item flexrow ">
|
||||||
|
<label class="item-name-label competence-name item-field-label-short"><strong>Chaos</strong></label>
|
||||||
|
|
||||||
|
<label class="item-name-label competence-name item-field-label-short">Niveau</label><input type="text" class="padd-right status-small-label color-class-common item-field-label-short"
|
||||||
|
name="system.balance.chaos" value="{{data.balance.chaos}}" data-dtype="Number" />
|
||||||
|
|
||||||
|
<label class="item-name-label competence-name item-field-label-short">Points</label><select class="status-small-label color-class-common item-field-label-short" type="text"
|
||||||
|
name="system.balance.pointschaos" value="{{data.balance.pointschaos}}" data-dtype="Number">
|
||||||
|
{{#select data.balance.pointschaos}}
|
||||||
|
{{> systems/fvtt-mournblade/templates/partial-list-niveau.html}}
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
<label class="item-name-label competence-name item-field-label-medium">Marge {{marge}}</label>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="item flexrow ">
|
||||||
|
<h4 class="item-name-label competence-name">Bonne Aventure</h4>
|
||||||
|
<label class="item-name-label competence-name item-field-label-short">Base</label>
|
||||||
|
<input type="text" class="padd-right status-small-label color-class-common item-field-label-short"
|
||||||
|
name="system.bonneaventure.base" value="{{data.bonneaventure.base}}" data-dtype="Number" />
|
||||||
|
<label class="item-name-label competence-name item-field-label-short">Actuelle</label>
|
||||||
|
<input type="text" class="padd-right status-small-label color-class-common item-field-label-short"
|
||||||
|
name="system.bonneaventure.actuelle" value="{{data.bonneaventure.actuelle}}" data-dtype="Number" />
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="item flexrow ">
|
||||||
|
<h4 class="item-name-label competence-name">Alignement {{alignement}}</h4>
|
||||||
|
<h4 class="item-name-label competence-name item-field-label-short">Eclat</h4>
|
||||||
|
<input type="text" class="padd-right status-small-label color-class-common item-field-label-short"
|
||||||
|
name="system.eclat.value" value="{{data.eclat.value}}" data-dtype="Number" />
|
||||||
|
|
||||||
|
<h4 class="item-name-label competence-name item-field-label-medium">Expérience</h4>
|
||||||
|
<input type="text" class="padd-right status-small-label color-class-common item-field-label-short"
|
||||||
|
name="system.experience.value" value="{{data.experience.value}}" data-dtype="Number" />
|
||||||
|
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@ -175,8 +196,17 @@
|
|||||||
{{#each skills as |skill key|}}
|
{{#each skills as |skill key|}}
|
||||||
<li class="item flexrow " data-item-id="{{skill._id}}" data-item-type="competence">
|
<li class="item flexrow " data-item-id="{{skill._id}}" data-item-type="competence">
|
||||||
<img class="item-name-img" src="{{skill.img}}" />
|
<img class="item-name-img" src="{{skill.img}}" />
|
||||||
<span class="item-name-label competence-name"><a class="roll-competence"
|
<div class="flexcol item-name-label">
|
||||||
data-attr-key="tochoose">{{skill.name}}</a></span>
|
|
||||||
|
<span class="item-name-label competence-name"><a class="roll-competence"
|
||||||
|
data-attr-key="tochoose">{{skill.name}}</a></span>
|
||||||
|
|
||||||
|
<span class="predilection-text">
|
||||||
|
{{#each skill.system.predilections as |pred key|}}
|
||||||
|
{{pred.name}},
|
||||||
|
{{/each}}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
<select class="status-small-label color-class-common edit-item-data competence-niveau" type="text"
|
<select class="status-small-label color-class-common edit-item-data competence-niveau" type="text"
|
||||||
data-item-field="niveau" value="{{skill.system.niveau}}" data-dtype="Number">
|
data-item-field="niveau" value="{{skill.system.niveau}}" data-dtype="Number">
|
||||||
{{#select skill.system.niveau}}
|
{{#select skill.system.niveau}}
|
||||||
@ -256,7 +286,7 @@
|
|||||||
<span class="item-name-label-header">
|
<span class="item-name-label-header">
|
||||||
<h3><label class="items-title-text">Runes</label></h3>
|
<h3><label class="items-title-text">Runes</label></h3>
|
||||||
</span>
|
</span>
|
||||||
<span class="item-field-label-short">
|
<span class="item-field-label-long">
|
||||||
<label class="short-label">Haut parler</label>
|
<label class="short-label">Haut parler</label>
|
||||||
</span>
|
</span>
|
||||||
<span class="item-field-label-short">
|
<span class="item-field-label-short">
|
||||||
@ -270,7 +300,7 @@
|
|||||||
<li class="item flexrow " data-item-id="{{rune._id}}" data-item-type="rune">
|
<li class="item flexrow " data-item-id="{{rune._id}}" data-item-type="rune">
|
||||||
<img class="item-name-img" src="{{rune.img}}" />
|
<img class="item-name-img" src="{{rune.img}}" />
|
||||||
<span class="item-name-label competence-name"><a class="roll-rune">{{rune.name}}</a></span>
|
<span class="item-name-label competence-name"><a class="roll-rune">{{rune.name}}</a></span>
|
||||||
<span class="item-field-label-short">{{rune.system.formule}}</span>
|
<span class="item-field-label-long">{{rune.system.formule}}</span>
|
||||||
<span class="item-field-label-short">{{rune.system.seuil}}</span>
|
<span class="item-field-label-short">{{rune.system.seuil}}</span>
|
||||||
<div class="item-filler"> </div>
|
<div class="item-filler"> </div>
|
||||||
<div class="item-controls item-controls-fixed">
|
<div class="item-controls item-controls-fixed">
|
||||||
@ -311,6 +341,30 @@
|
|||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="sheet-box color-bg-archetype">
|
||||||
|
<ul class="item-list alternate-list">
|
||||||
|
<li class="item flexrow list-item items-title-bg">
|
||||||
|
<span class="item-name-label-header">
|
||||||
|
<h3><label class="items-title-text">Traits Chaotiques</label></h3>
|
||||||
|
</span>
|
||||||
|
<div class="item-filler"> </div>
|
||||||
|
<div class="item-controls item-controls-fixed">
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
{{#each traitsChaotiques as |trait key|}}
|
||||||
|
<li class="item flexrow " data-item-id="{{trait._id}}" data-item-type="traitchaotique">
|
||||||
|
<img class="item-name-img" src="{{trait.img}}" />
|
||||||
|
<span class="item-name-label competence-name">{{trait.name}}</span>
|
||||||
|
<div class="item-filler"> </div>
|
||||||
|
<div class="item-controls item-controls-fixed">
|
||||||
|
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
|
||||||
|
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
{{/each}}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@ -321,6 +375,43 @@
|
|||||||
|
|
||||||
<div class="flexcol">
|
<div class="flexcol">
|
||||||
|
|
||||||
|
<div class="sheet-box color-bg-archetype">
|
||||||
|
<ul class="item-list alternate-list">
|
||||||
|
<li class="item flexrow list-item items-title-bg">
|
||||||
|
<span class="item-name-label-header">
|
||||||
|
<h3><label class="items-title-text">Richesses et Argent</label></h3>
|
||||||
|
</span>
|
||||||
|
<span class="item-field-label-medium">
|
||||||
|
<label class="short-label">Quantité</label>
|
||||||
|
</span>
|
||||||
|
<span class="item-field-label-medium">
|
||||||
|
<label class="short-label">Unité</label>
|
||||||
|
</span>
|
||||||
|
<div class="item-filler"> </div>
|
||||||
|
<div class="item-controls item-controls-fixed">
|
||||||
|
<a class="item-control item-add" data-type="monnaie" title="Ajouter une monnaie"><i
|
||||||
|
class="fas fa-plus"></i></a>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
{{#each monnaies as |monnaie key|}}
|
||||||
|
<li class="item flexrow " data-item-id="{{monnaie._id}}" data-item-type="monnaie">
|
||||||
|
<img class="item-name-img" src="{{monnaie.img}}" />
|
||||||
|
<span class="item-name-label competence-name">{{monnaie.name}}</span>
|
||||||
|
<span class="item-name-label competence-name item-field-label-medium">{{monnaie.system.quantite}}
|
||||||
|
<a class="quantity-modify plus-minus-button" data-quantite-value="-1">-</a>
|
||||||
|
<a class="quantity-modify plus-minus-button" data-quantite-value="+1">+</a>
|
||||||
|
</span>
|
||||||
|
<span class="item-name-label competence-name item-field-label-medium">{{monnaie.system.unite}}</span>
|
||||||
|
<div class="item-filler"> </div>
|
||||||
|
<div class="item-controls item-controls-fixed">
|
||||||
|
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
|
||||||
|
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
{{/each}}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="sheet-box color-bg-archetype">
|
<div class="sheet-box color-bg-archetype">
|
||||||
<ul class="item-list alternate-list">
|
<ul class="item-list alternate-list">
|
||||||
<li class="item flexrow list-item items-title-bg">
|
<li class="item flexrow list-item items-title-bg">
|
||||||
@ -346,20 +437,33 @@
|
|||||||
<li class="item flexrow " data-item-id="{{arme._id}}" data-item-type="arme">
|
<li class="item flexrow " data-item-id="{{arme._id}}" data-item-type="arme">
|
||||||
<img class="item-name-img" src="{{arme.img}}" />
|
<img class="item-name-img" src="{{arme.img}}" />
|
||||||
<span class="item-name-label competence-name">{{arme.name}}</span>
|
<span class="item-name-label competence-name">{{arme.name}}</span>
|
||||||
|
|
||||||
<span class="item-field-label-short">
|
<span class="item-field-label-short">
|
||||||
<button class="roll-arme-offensif button-sheet-roll">{{arme.system.totalOffensif}}</button>
|
{{#if arme.system.equipped}}
|
||||||
|
<button class="roll-arme-offensif button-sheet-roll" >{{arme.system.totalOffensif}}</button>
|
||||||
|
{{else}}
|
||||||
|
<button disabled class="roll-arme-offensif button-sheet-roll" >{{arme.system.totalOffensif}}</button>
|
||||||
|
{{/if}}
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
{{#if arme.system.isdefense}}
|
{{#if arme.system.isdefense}}
|
||||||
<span class="item-field-label-short arme-defensif"><label
|
<span class="item-field-label-short arme-defensif"><label class="arme-defensif">{{arme.system.totalDefensif}}</label></span>
|
||||||
class="arme-defensif">{{arme.system.totalDefensif}}</label></span>
|
|
||||||
{{else}}
|
{{else}}
|
||||||
<span class="item-field-label-short arme-defensif"><label class="arme-defensif">-</label></span>
|
<span class="item-field-label-short arme-defensif"><label class="arme-defensif">-</label></span>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
<span class="item-field-label-short">
|
|
||||||
<button class="roll-arme-degats button-sheet-roll">{{arme.system.totalDegats}}</button>
|
<span class="item-field-label-short">
|
||||||
</span>
|
{{#if arme.system.equipped}}
|
||||||
<div class="item-filler"> </div>
|
<button class="roll-arme-degats button-sheet-roll">{{arme.system.totalDegats}}</button>
|
||||||
|
{{else}}
|
||||||
|
<button disabled class="roll-arme-degats button-sheet-roll">{{arme.system.totalDegats}}</button>
|
||||||
|
{{/if}}
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<div class="item-filler"> </div>
|
||||||
<div class="item-controls item-controls-fixed">
|
<div class="item-controls item-controls-fixed">
|
||||||
|
<a class="item-control item-equip" title="Worn">{{#if arme.system.equipped}}<i
|
||||||
|
class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a>
|
||||||
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
|
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
|
||||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||||
</div>
|
</div>
|
||||||
@ -379,7 +483,7 @@
|
|||||||
</span>
|
</span>
|
||||||
<div class="item-filler"> </div>
|
<div class="item-filler"> </div>
|
||||||
<div class="item-controls item-controls-fixed">
|
<div class="item-controls item-controls-fixed">
|
||||||
<a class="item-control item-add" data-type="arme" title="Ajouter une arme"><i
|
<a class="item-control item-add" data-type="protection" title="Ajouter une protection"><i
|
||||||
class="fas fa-plus"></i></a>
|
class="fas fa-plus"></i></a>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
@ -408,7 +512,7 @@
|
|||||||
</span>
|
</span>
|
||||||
<div class="item-filler"> </div>
|
<div class="item-filler"> </div>
|
||||||
<div class="item-controls item-controls-fixed">
|
<div class="item-controls item-controls-fixed">
|
||||||
<a class="item-control item-add" data-type="arme" title="Ajouter une arme"><i
|
<a class="item-control item-add" data-type="equipement" title="Ajouter un équipement"><i
|
||||||
class="fas fa-plus"></i></a>
|
class="fas fa-plus"></i></a>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
@ -511,7 +615,7 @@
|
|||||||
<h3>Description</h3>
|
<h3>Description</h3>
|
||||||
</span>
|
</span>
|
||||||
<div class="medium-editor item-text-long-line">
|
<div class="medium-editor item-text-long-line">
|
||||||
{{editor data.biodata.description target="system.biodata.description" button=true owner=owner editable=editable}}
|
{{editor description target="system.biodata.description" button=true owner=owner editable=editable}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user