Compare commits

..

14 Commits

111 changed files with 1289 additions and 1082 deletions

BIN
assets/icons/sort.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

View File

@@ -2,22 +2,23 @@
"TYPES": { "TYPES": {
"Actor": { "Actor": {
"personnage": "Personnage", "personnage": "Personnage",
"PNJ": "PNJ" "pnj": "PNJ"
},
"Item": {
"accessoire": "Accessoire",
"arme": "Arme",
"atoutfeerique": "Atout féerique",
"avantage": "Avantage",
"capacitenaturelle": "Capacité naturelle",
"competence": "Compétence",
"contact": "Contact",
"desavantage": "Désavantage",
"equipement": "Equipement",
"fee": "Fée",
"pouvoir": "Pouvoir",
"profil": "Profil",
"protection": "Protection",
"sort": "Sort"
} }
},
"Item": {
"accessoire": "Accessoire",
"arme": "Arme",
"atoutfeerique": "Atout féerique",
"avantage": "Avantage",
"capacitenaturelle": "Capacité naturelle",
"competence": "Compétence",
"contact": "Contact",
"desavantage": "Désavantage",
"equipement": "Equipement",
"fee": "Fée",
"pouvoir": "Pouvoir",
"profil": "Profil",
"protection": "Protection"
} }
} }

View File

@@ -12,7 +12,7 @@ export class HeritiersActorPNJSheet extends HeritiersActorSheet {
/** @override */ /** @override */
static get defaultOptions() { static get defaultOptions() {
return mergeObject(super.defaultOptions, { return foundry.utils.mergeObject(super.defaultOptions, {
classes: ["fvtt-les-heritiers", "sheet", "actor"], classes: ["fvtt-les-heritiers", "sheet", "actor"],
template: "systems/fvtt-les-heritiers/templates/actor-pnj-sheet.html", template: "systems/fvtt-les-heritiers/templates/actor-pnj-sheet.html",
width: 780, width: 780,

View File

@@ -11,7 +11,7 @@ export class HeritiersActorSheet extends ActorSheet {
/** @override */ /** @override */
static get defaultOptions() { static get defaultOptions() {
return mergeObject(super.defaultOptions, { return foundry.utils.mergeObject(super.defaultOptions, {
classes: ["fvtt-les-heritiers", "sheet", "actor"], classes: ["fvtt-les-heritiers", "sheet", "actor"],
template: "systems/fvtt-les-heritiers/templates/actor-sheet.html", template: "systems/fvtt-les-heritiers/templates/actor-sheet.html",
width: 780, width: 780,
@@ -24,7 +24,7 @@ export class HeritiersActorSheet extends ActorSheet {
/* -------------------------------------------- */ /* -------------------------------------------- */
async getData() { async getData() {
const objectData = duplicate(this.object) const objectData = foundry.utils.duplicate(this.object)
let formData = { let formData = {
title: this.title, title: this.title,
@@ -42,18 +42,18 @@ export class HeritiersActorSheet extends ActorSheet {
utileSkillsPhysical :this.actor.organizeUtileSkills("physical"), utileSkillsPhysical :this.actor.organizeUtileSkills("physical"),
futileSkills :this.actor.organizeFutileSkills(), futileSkills :this.actor.organizeFutileSkills(),
contacts: this.actor.organizeContacts(), contacts: this.actor.organizeContacts(),
armes: duplicate(this.actor.getWeapons()), armes: foundry.utils.duplicate(this.actor.getWeapons()),
monnaies: duplicate(this.actor.getMonnaies()), monnaies: foundry.utils.duplicate(this.actor.getMonnaies()),
pouvoirs: duplicate(this.actor.getPouvoirs()), pouvoirs: foundry.utils.duplicate(this.actor.getPouvoirs()),
fee: duplicate(this.actor.getFee() || {} ), fee: foundry.utils.duplicate(this.actor.getFee() || {} ),
protections: duplicate(this.actor.getArmors()), protections: foundry.utils.duplicate(this.actor.getArmors()),
combat: this.actor.getCombatValues(), combat: this.actor.getCombatValues(),
equipements: duplicate(this.actor.getEquipments()), equipements: foundry.utils.duplicate(this.actor.getEquipments()),
avantages: duplicate(this.actor.getAvantages()), avantages: foundry.utils.duplicate(this.actor.getAvantages()),
atouts: duplicate(this.actor.getAtouts()), atouts: foundry.utils.duplicate(this.actor.getAtouts()),
capacites: duplicate(this.actor.getCapacites()), capacites: foundry.utils.duplicate(this.actor.getCapacites()),
desavantages: duplicate(this.actor.getDesavantages()), desavantages: foundry.utils.duplicate(this.actor.getDesavantages()),
profils: duplicate(this.actor.getProfils()), profils: foundry.utils.duplicate(this.actor.getProfils()),
pvMalus: this.actor.getPvMalus(), pvMalus: this.actor.getPvMalus(),
heritage: game.settings.get("fvtt-les-heritiers", "heritiers-heritage"), heritage: game.settings.get("fvtt-les-heritiers", "heritiers-heritage"),
initiative: this.actor.getFlag("world", "last-initiative") || -1, initiative: this.actor.getFlag("world", "last-initiative") || -1,
@@ -63,6 +63,7 @@ export class HeritiersActorSheet extends ActorSheet {
questions: await TextEditor.enrichHTML(this.object.system.biodata.questions, {async: true}), questions: await TextEditor.enrichHTML(this.object.system.biodata.questions, {async: true}),
habitat: await TextEditor.enrichHTML(this.object.system.biodata.habitat, {async: true}), habitat: await TextEditor.enrichHTML(this.object.system.biodata.habitat, {async: true}),
playernotes: await TextEditor.enrichHTML(this.object.system.biodata.playernotes, {async: true}), playernotes: await TextEditor.enrichHTML(this.object.system.biodata.playernotes, {async: true}),
magieList: this.actor.prepareMagie(),
options: this.options, options: this.options,
owner: this.document.isOwner, owner: this.document.isOwner,
editScore: this.options.editScore, editScore: this.options.editScore,
@@ -77,19 +78,42 @@ export class HeritiersActorSheet extends ActorSheet {
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
getCelluleTalents( ) { dialogRecupUsage() {
let talents = [] new Dialog({
for(let cellule of game.actors) { title: "Récupération des Points d'Usage",
if (cellule.type == "cellule") { content: "<p>Combien de Points d'Usage souhaitez-vous récupérer ?</p>",
let found = cellule.system.members.find( it => it.id == this.actor.id) buttons: {
if (found) { one: {
talents = talents.concat( cellule.getTalents() ) icon: '<i class="fas fa-check"></i>',
label: "1 Point",
callback: () => {
this.actor.recupUsage(1)
}
},
two: {
icon: '<i class="fas fa-check"></i>',
label: "2 Points",
callback: () => {
this.actor.recupUsage(2)
}
},
four: {
icon: '<i class="fas fa-check"></i>',
label: "4 Points",
callback: () => {
this.actor.recupUsage(4)
}
},
all: {
icon: '<i class="fas fa-check"></i>',
label: "Tous les Points",
callback: () => {
this.actor.recupUsage(100)
}
} }
} }
} }).render(true)
return talents
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
/** @override */ /** @override */
activateListeners(html) { activateListeners(html) {
@@ -154,6 +178,11 @@ export class HeritiersActorSheet extends ActorSheet {
let compId = li.data("item-id") let compId = li.data("item-id")
this.actor.rollCompetence(compId) this.actor.rollCompetence(compId)
}) })
html.find('.roll-sort').click((event) => {
const li = $(event.currentTarget).parents(".item")
let sortId = li.data("item-id")
this.actor.rollSort(sortId)
})
html.find('.roll-attaque-arme').click((event) => { html.find('.roll-attaque-arme').click((event) => {
const li = $(event.currentTarget).parents(".item") const li = $(event.currentTarget).parents(".item")
let armeId = li.data("item-id") let armeId = li.data("item-id")
@@ -180,6 +209,9 @@ export class HeritiersActorSheet extends ActorSheet {
let pouvoirId = li.data("item-id") let pouvoirId = li.data("item-id")
this.actor.rollPouvoir(pouvoirId) this.actor.rollPouvoir(pouvoirId)
}) })
html.find('.dialog-recup-usage').click((event) => {
this.dialogRecupUsage()
})
html.find('.item-add').click((event) => { html.find('.item-add').click((event) => {
const itemType = $(event.currentTarget).data("type") const itemType = $(event.currentTarget).data("type")

View File

@@ -41,7 +41,7 @@ export class HeritiersActor extends Actor {
const skills = await HeritiersUtility.loadCompendium("fvtt-les-heritiers.competences") const skills = await HeritiersUtility.loadCompendium("fvtt-les-heritiers.competences")
data.items = [] data.items = []
for (let skill of skills) { for (let skill of skills) {
if (skill.system.categorie == "utile") { if (skill.system.categorie == "utile" && skill.system.profil != "magie") {
data.items.push(skill.toObject()) data.items.push(skill.toObject())
} }
} }
@@ -54,7 +54,7 @@ export class HeritiersActor extends Actor {
/* -------------------------------------------- */ /* -------------------------------------------- */
prepareArme(arme) { prepareArme(arme) {
arme = duplicate(arme) arme = foundry.utils.duplicate(arme)
arme.system.isMelee = HeritiersUtility.isArmeMelee(arme) arme.system.isMelee = HeritiersUtility.isArmeMelee(arme)
return arme return arme
} }
@@ -86,7 +86,7 @@ export class HeritiersActor extends Actor {
/* ----------------------- --------------------- */ /* ----------------------- --------------------- */
addMember(actorId) { addMember(actorId) {
let members = duplicate(this.system.members) let members = foundry.utils.duplicate(this.system.members)
members.push({ id: actorId }) members.push({ id: actorId })
this.update({ 'system.members': members }) this.update({ 'system.members': members })
} }
@@ -135,13 +135,55 @@ export class HeritiersActor extends Actor {
return this.getItemSorted(["profil"]) return this.getItemSorted(["profil"])
} }
getPouvoirs() { getPouvoirs() {
return this.getItemSorted(["pouvoir"]) let pouvoirs = []
for (let item of this.items) {
if (item.type == "pouvoir") {
let itemObj = foundry.utils.duplicate(item)
itemObj.maxUsage = this.getPouvoirUsageMax(item)
pouvoirs.push(itemObj)
}
}
HeritiersUtility.sortArrayObjectsByName(pouvoirs)
return pouvoirs
} }
getSorts() {
return this.getItemSorted(["sort"])
}
getCompetencesMagie() {
let comp = []
for (let item of this.items) {
if (item.type == "competence" && item.system.profil == "magie") {
let itemObj = foundry.utils.duplicate(item)
comp.push(itemObj)
}
}
HeritiersUtility.sortArrayObjectsByName(comp)
return comp
}
prepareMagie() {
let magieList = []
for (let item of this.items) {
if (item.type == "competence" && item.system.profil == "magie") {
let magie = {}
magie.name = item.name
magie.competence = foundry.utils.duplicate(item)
magie.sorts = []
for (let sort of this.items) {
if (sort.type == "sort" && sort.system.competence == item.name) {
magie.sorts.push(sort)
}
}
magieList.push(magie)
}
}
return magieList
}
/* -------------------------------------------- */ /* -------------------------------------------- */
getSkills() { getSkills() {
let comp = [] let comp = []
for (let item of this.items) { for (let item of this.items) {
item = duplicate(item) item = foundry.utils.duplicate(item)
if (item.type == "competence") { if (item.type == "competence") {
comp.push(item) comp.push(item)
} }
@@ -248,9 +290,39 @@ export class HeritiersActor extends Actor {
/* -------------------------------------------- */ /* -------------------------------------------- */
async prepareData() { async prepareData() {
let pvMax = (this.system.caracteristiques.con.rang * 3) + 9 + this.system.pv.mod
if (this.system.pv.max != pvMax) {
this.update({ 'system.pv.max': pvMax })
}
if (this.system.biodata.magie || this.type == "pnj") {
let pointsAmes = this.system.caracteristiques.esp.rang + this.system.caracteristiques.san.rang + this.getMaxRangMagie()
if (this.system.magie.pointsame.max != pointsAmes) {
this.update({ 'system.magie.pointsame.max': pointsAmes })
}
}
super.prepareData(); super.prepareData();
} }
/* -------------------------------------------- */
getMaxRangMagie() {
let niv = 0
let bestMagie
for (let comp of this.items) {
if (comp.type == "competence" && comp.system.profil == "magie") {
if (comp.system.niveau > niv) {
bestMagie = comp
niv = comp.system.niveau
}
}
}
if (bestMagie) {
return Math.round(bestMagie.system.niveau / 2)
}
return 0
}
/* -------------------------------------------- */ /* -------------------------------------------- */
prepareDerivedData() { prepareDerivedData() {
@@ -270,7 +342,7 @@ export class HeritiersActor extends Actor {
getItemById(id) { getItemById(id) {
let item = this.items.find(item => item.id == id); let item = this.items.find(item => item.id == id);
if (item) { if (item) {
item = duplicate(item) item = foundry.utils.duplicate(item)
} }
return item; return item;
} }
@@ -328,7 +400,7 @@ export class HeritiersActor extends Actor {
/* -------------------------------------------- */ /* -------------------------------------------- */
getCarac(attrKey) { getCarac(attrKey) {
return duplicate(this.system.caracteristiques) return foundry.utils.duplicate(this.system.caracteristiques)
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
@@ -349,13 +421,13 @@ export class HeritiersActor extends Actor {
getSubActors() { getSubActors() {
let subActors = []; let subActors = [];
for (let id of this.system.subactors) { for (let id of this.system.subactors) {
subActors.push(duplicate(game.actors.get(id))); subActors.push(foundry.utils.duplicate(game.actors.get(id)));
} }
return subActors; return subActors;
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
async addSubActor(subActorId) { async addSubActor(subActorId) {
let subActors = duplicate(this.system.subactors); let subActors = foundry.utils.duplicate(this.system.subactors);
subActors.push(subActorId); subActors.push(subActorId);
await this.update({ 'system.subactors': subActors }); await this.update({ 'system.subactors': subActors });
} }
@@ -377,7 +449,7 @@ export class HeritiersActor extends Actor {
/* -------------------------------------------- */ /* -------------------------------------------- */
async incDecAdversite(adv, incDec = 0) { async incDecAdversite(adv, incDec = 0) {
let adversite = duplicate(this.system.adversite) let adversite = foundry.utils.duplicate(this.system.adversite)
adversite[adv] += Number(incDec) adversite[adv] += Number(incDec)
adversite[adv] = Math.max(adversite[adv], 0) adversite[adv] = Math.max(adversite[adv], 0)
this.update({ 'system.adversite': adversite }) this.update({ 'system.adversite': adversite })
@@ -424,7 +496,7 @@ export class HeritiersActor extends Actor {
/* -------------------------------------------- */ /* -------------------------------------------- */
async setPredilectionUsed(compId, predIdx) { async setPredilectionUsed(compId, predIdx) {
let comp = this.items.get(compId) let comp = this.items.get(compId)
let pred = duplicate(comp.system.predilections) let pred = foundry.utils.duplicate(comp.system.predilections)
pred[predIdx].used = true pred[predIdx].used = true
await this.updateEmbeddedDocuments('Item', [{ _id: compId, 'system.predilections': pred }]) await this.updateEmbeddedDocuments('Item', [{ _id: compId, 'system.predilections': pred }])
} }
@@ -446,7 +518,7 @@ export class HeritiersActor extends Actor {
} }
if (arme.system.totalDefensif > maxDef) { if (arme.system.totalDefensif > maxDef) {
maxDef = arme.system.totalDefensif maxDef = arme.system.totalDefensif
bestArme = duplicate(arme) bestArme = foundry.utils.duplicate(arme)
} }
} }
return bestArme return bestArme
@@ -461,7 +533,7 @@ export class HeritiersActor extends Actor {
for (let auto of talent.system.automations) { for (let auto of talent.system.automations) {
if (auto.eventtype === "prepare-roll") { if (auto.eventtype === "prepare-roll") {
if (auto.competence.toLowerCase() == competence.name.toLowerCase()) { if (auto.competence.toLowerCase() == competence.name.toLowerCase()) {
talent = duplicate(talent) talent = foundry.utils.duplicate(talent)
talent.system.bonus = auto.bonus talent.system.bonus = auto.bonus
talent.system.baCost = auto.baCost talent.system.baCost = auto.baCost
talents.push(talent) talents.push(talent)
@@ -523,6 +595,7 @@ export class HeritiersActor extends Actor {
} }
return undefined return undefined
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
getCommonRollData(compId = undefined, compName = undefined) { getCommonRollData(compId = undefined, compName = undefined) {
let rollData = HeritiersUtility.getBasicRollData() let rollData = HeritiersUtility.getBasicRollData()
@@ -538,15 +611,16 @@ export class HeritiersActor extends Actor {
rollData.useTricherie = false rollData.useTricherie = false
rollData.useSpecialite = false rollData.useSpecialite = false
rollData.useHeritage = false rollData.useHeritage = false
rollData.pouvoirPointsUsage = 1
rollData.rulesMalus.push(this.getPvMalus()) rollData.rulesMalus.push(this.getPvMalus())
if (compId) { if (compId) {
rollData.competence = duplicate(this.items.get(compId) || {}) rollData.competence = foundry.utils.duplicate(this.items.get(compId) || {})
this.prepareUtileSkill(rollData.competence) this.prepareUtileSkill(rollData.competence)
rollData.actionImg = rollData.competence?.img rollData.actionImg = rollData.competence?.img
} }
if (compName) { if (compName) {
rollData.competence = duplicate(this.items.find(item => item.name.toLowerCase() == compName.toLowerCase()) || {}) rollData.competence = foundry.utils.duplicate(this.items.find(item => item.name.toLowerCase() == compName.toLowerCase()) || {})
if (rollData.competence?.name) { if (rollData.competence?.name) {
this.prepareUtileSkill(rollData.competence) this.prepareUtileSkill(rollData.competence)
rollData.actionImg = rollData.competence?.img rollData.actionImg = rollData.competence?.img
@@ -610,11 +684,31 @@ export class HeritiersActor extends Actor {
rollDialog.render(true) rollDialog.render(true)
} }
/* -------------------------------------------- */
async rollSort(sortId) {
let sort = this.items.get(sortId)
let comp = this.items.find(it => it.type =="competence" && it.name.toLowerCase() == sort.system.competence.toLowerCase())
if (!comp) {
ui.notifications.warn("Compétence de magie associée non trouvée !")
return
}
let rollData = this.getCommonRollData(comp.id)
rollData.mode = "sort"
rollData.sort = foundry.utils.duplicate(sort)
rollData.sdValue = HeritiersUtility.getSDSortValue(sort.system.niveau)
rollData.sortPointsAme = sort.system.niveau
rollData.caracKey = sort.system.carac
console.log("RollData", rollData)
let rollDialog = await HeritiersRollDialog.create(this, rollData)
rollDialog.render(true)
}
/* -------------------------------------------- */ /* -------------------------------------------- */
async rollAttaqueArme(armeId) { async rollAttaqueArme(armeId) {
let arme = this.items.get(armeId) let arme = this.items.get(armeId)
if (arme) { if (arme) {
arme = duplicate(arme) arme = foundry.utils.duplicate(arme)
arme.system.isMelee = HeritiersUtility.isArmeMelee(arme) arme.system.isMelee = HeritiersUtility.isArmeMelee(arme)
let competenceName = "Tir" let competenceName = "Tir"
let key = "prec" let key = "prec"
@@ -647,7 +741,7 @@ export class HeritiersActor extends Actor {
let rollData = this.getCommonRollData(undefined, competenceName) let rollData = this.getCommonRollData(undefined, competenceName)
rollData.carac = this.system.caracteristiques[key] rollData.carac = this.system.caracteristiques[key]
rollData.caracKey = key rollData.caracKey = key
rollData.arme = duplicate(arme) rollData.arme = foundry.utils.duplicate(arme)
rollData.mode = "attaquebrutale" rollData.mode = "attaquebrutale"
rollData.armes = this.getOtherMeleeWeapons(arme) rollData.armes = this.getOtherMeleeWeapons(arme)
rollData.rulesMalus.push({ name: "Attaque brutale", value: -2 }) rollData.rulesMalus.push({ name: "Attaque brutale", value: -2 })
@@ -665,7 +759,7 @@ export class HeritiersActor extends Actor {
let rollData = this.getCommonRollData(undefined, pireCompetence.name) let rollData = this.getCommonRollData(undefined, pireCompetence.name)
rollData.carac = this.system.caracteristiques[key] rollData.carac = this.system.caracteristiques[key]
rollData.caracKey = key rollData.caracKey = key
rollData.arme = duplicate(arme) rollData.arme = foundry.utils.duplicate(arme)
rollData.armes = this.getOtherMeleeWeapons(arme) rollData.armes = this.getOtherMeleeWeapons(arme)
rollData.mode = "attaquecharge" rollData.mode = "attaquecharge"
let rollDialog = await HeritiersRollDialog.create(this, rollData) let rollDialog = await HeritiersRollDialog.create(this, rollData)
@@ -682,7 +776,7 @@ export class HeritiersActor extends Actor {
let rollData = this.getCommonRollData(undefined, competenceName) let rollData = this.getCommonRollData(undefined, competenceName)
rollData.carac = this.system.caracteristiques["agi"] rollData.carac = this.system.caracteristiques["agi"]
rollData.caracKey = "agi" rollData.caracKey = "agi"
rollData.arme = duplicate(arme) rollData.arme = foundry.utils.duplicate(arme)
rollData.mode = "assommer" rollData.mode = "assommer"
if (rollData.defenderTokenId) { if (rollData.defenderTokenId) {
rollData.cacheDifficulte = true rollData.cacheDifficulte = true
@@ -692,22 +786,136 @@ export class HeritiersActor extends Actor {
} }
} }
/* -------------------------------------------- */
pouvoirPassifDialog(pouvoir) {
let rollData = this.getCommonRollData()
rollData.pouvoir = pouvoir
rollData.mode = "pouvoirpassif"
rollData.pouvoirPointsUsage = 0
rollData.noRoll = true
let d = new Dialog({
title: "Activer le pouvoir passif " + pouvoir.name,
content: "<p>Choisissez le nombre de Points d'Usage</p>",
buttons: {
one: {
icon: '<i class="fas fa-check"></i>',
label: "1 Point d'Usage",
callback: () => {
rollData.pouvoirPointsUsage = 1;
HeritiersUtility.rollHeritiers(rollData);
}
},
two: {
icon: '<i class="fas fa-check"></i>',
label: "2 Points d'Usage",
callback: () => {
rollData.pouvoirPointsUsage = 2;
HeritiersUtility.rollHeritiers(rollData);
}
},
three: {
icon: '<i class="fas fa-check"></i>',
label: "3 Points d'Usage",
callback: () => {
rollData.pouvoirPointsUsage = 3;
HeritiersUtility.rollHeritiers(rollData);
}
},
four: {
icon: '<i class="fas fa-check"></i>',
label: "4 Points d'Usage",
callback: () => {
rollData.pouvoirPointsUsage = 4;
HeritiersUtility.rollHeritiers(rollData);
}
},
close: {
icon: '<i class="fas fa-times"></i>',
label: "Annuler",
callback: () => {
}
}
},
default: "one",
render: html => console.log("Pouvoir passif"),
close: html => console.log("No option")
});
d.render(true);
}
/* -------------------------------------------- */ /* -------------------------------------------- */
async rollPouvoir(pouvoirId) { async rollPouvoir(pouvoirId) {
let pouvoir = this.items.get(pouvoirId) let pouvoir = this.items.get(pouvoirId)
if (pouvoir) { if (pouvoir) {
let rollData = this.getCommonRollData(undefined, undefined) if (pouvoir.system.pouvoirtype == "passif") {
if (pouvoir.system.feeriemasque != "autre") { this.pouvoirPassifDialog(pouvoir)
rollData.pouvoirBase = duplicate(this.system.rang[pouvoir.system.feeriemasque.toLowerCase()]) return
rollData.pouvoirBase.label = "Féerie"
rollData.carac = duplicate(this.system.caracteristiques[pouvoir.system.carac])
rollData.caracKey = pouvoir.system.carac
} }
rollData.pouvoir = duplicate(pouvoir)
let rollData = this.getCommonRollData(undefined, undefined)
rollData.pouvoirMaxUsage = this.getPouvoirUsageMax(pouvoir)
rollData.pouvoir = foundry.utils.duplicate(pouvoir)
rollData.mode = "pouvoir" rollData.mode = "pouvoir"
if (pouvoir.system.feeriemasque != "autre") {
rollData.pouvoirBase = foundry.utils.duplicate(this.system.rang[pouvoir.system.feeriemasque.toLowerCase()])
rollData.pouvoirBase.label = "Féerie"
if (pouvoir.system.istest && !pouvoir.system.carac) {
ui.notifications.warn("Le pouvoir actif " + pouvoir.name + " n'a pas de caractéristique associée")
}
if (pouvoir.system.istest) {
rollData.carac = foundry.utils.duplicate(this.system.caracteristiques[pouvoir.system.carac])
rollData.caracKey = pouvoir.system.carac
} else {
rollData.noRoll = true
HeritiersUtility.rollHeritiers(rollData);
return;
//this.incDecPointsUsage(pouvoir.id, -rollData.pouvoirPointsUsage)
//ui.notifications.warn("Le pouvoir actif " + pouvoir.name + " a été utilisé, dépense de " + pouvoirPointsUsage + " points d'usage")
}
}
let rollDialog = await HeritiersRollDialog.create(this, rollData) let rollDialog = await HeritiersRollDialog.create(this, rollData)
rollDialog.render(true) rollDialog.render(true)
} }
} }
/* -------------------------------------------- */
incDecPointsUsage(pouvoirId, value) {
let pouvoir = this.items.get(pouvoirId)
let newValue = pouvoir.system.pointsusagecourant + value
newValue = Math.max(newValue, 0)
newValue = Math.min(newValue, this.getPouvoirUsageMax(pouvoir))
this.updateEmbeddedDocuments('Item', [{ _id: pouvoirId, 'system.pointsusagecourant': newValue }])
}
/* -------------------------------------------- */
getPouvoirUsage(pouvoirId) {
let pouvoir = this.items.get(pouvoirId)
return pouvoir.system.pointsusagecourant
}
/* -------------------------------------------- */
getPouvoirUsageMax(pouvoir) {
if (pouvoir.system.masquetype == "masque") {
return this.system.rang.masque.value
}
return this.system.rang.feerie.value
}
/* -------------------------------------------- */
recupUsage(value) {
let updates = []
for (let pouvoir of this.items) {
if (pouvoir.type == "pouvoir") {
let newValue = pouvoir.system.pointsusagecourant + value
newValue = Math.max(newValue, 0)
newValue = Math.min(newValue, this.getPouvoirUsageMax(pouvoir))
updates.push({ _id: pouvoir.id, 'system.pointsusagecourant': newValue })
}
}
if (updates.length > 0) {
this.updateEmbeddedDocuments('Item', updates)
}
}
} }

View File

@@ -30,7 +30,8 @@ export const HERITIERS_CONFIG = {
"combattant": {kind: "physical",name:"Combattant"}, "combattant": {kind: "physical",name:"Combattant"},
"erudit": {kind: "mental",name:"Erudit"}, "erudit": {kind: "mental",name:"Erudit"},
"savant": {kind: "mental",name:"Savant"}, "savant": {kind: "mental",name:"Savant"},
"gentleman": {kind: "mental",name:"Gentleman"} "gentleman": {kind: "mental",name:"Gentleman"},
"magie": {kind: "magical", name: "Magie"},
}, },
baseTestPouvoir: { baseTestPouvoir: {
"feerie": "Féerie", "feerie": "Féerie",
@@ -65,32 +66,32 @@ export const HERITIERS_CONFIG = {
}, },
seuilsDifficulte: { seuilsDifficulte: {
"-1": "Aucun/Non applicable", "-1": "Aucun/Non applicable",
"5": "Enfantine", "5": "Enfantine (5)",
"6": "Triviale", "6": "Triviale (6)",
"7": "Moins Triviale", "7": "Moins Triviale (7)",
"8": "Aisée", "8": "Aisée (8)",
"7": "Moins Aisée", "9": "Moins Aisée (9)",
"10": "Normale", "10": "Normale (10)",
"11": "Moins Normale", "11": "Moins Normale (11)",
"12": "Compliquée", "12": "Compliquée (12)",
"13": "Plus Compliquée", "13": "Plus Compliquée (13)",
"14": "Difficile", "14": "Difficile (14)",
"15": "Plus Difficile", "15": "Plus Difficile (15)",
"16": "Très Difficile", "16": "Très Difficile (16)",
"17": "Très Très Difficile", "17": "Très Très Difficile (17)",
"18": "Critique", "18": "Critique (18)",
"19": "Plus Critique", "19": "Plus Critique (19)",
"20": "Insurmontable", "20": "Insurmontable (20)",
"20": "Très Insurmontable", "21": "Très Insurmontable (21)",
"22": "Surhumaine", "22": "Surhumaine (22)",
"23": "Très Surhumaine", "23": "Très Surhumaine (23)",
"24": "Epique", "24": "Epique (24)",
"25": "Plus Epique", "25": "Plus Epique (25)",
"26": "Légendaire", "26": "Légendaire (26)",
"26": "Très Légendaire", "27": "Très Légendaire (27)",
"28": "Mythique", "28": "Mythique (28)",
"29": "Plus Mythique", "29": "Plus Mythique (29)",
"30": "Divine" "30": "Divine (30)"
}, },
attaqueCible: { attaqueCible: {
@@ -145,7 +146,72 @@ export const HERITIERS_CONFIG = {
"traditionnelle": "Traditionnelle", "traditionnelle": "Traditionnelle",
"moderne": "Moderne", "moderne": "Moderne",
"orientale": "Orientale" "orientale": "Orientale"
} },
typeContact: {
"contact": "Contact",
"allie": "Allié",
"ennemi": "Ennemi",
"interet": "Personne d'interêt"
},
niveauContact: {
"1": "1",
"2": "2",
"3": "3",
},
pointsUsageList: {
"1": "1",
"2": "2",
"3": "3",
"4": "4",
},
attaquePlusieursList : {
"0": "0",
"1": "+1",
"2": "+2",
},
attaque2ArmesListe: [
{value: "0", label: "Aucun"},
{value: "-4", label: "Deux armes à 1 main"},
{value: "-2", label: "Deux armes naturelles"},
{value: "-2", label: "Avec spécialisation \"Mauvaise Main\""}
],
typeProfil: {
"mineur": "Mineur",
"majeur": "Majeur",
},
bonusMalusContext: [
{value: "-6", label: "-6"},
{value: "-5", label: "-5"},
{value: "-4", label: "-4"},
{value: "-3", label: "-3"},
{value: "-2", label: "-2"},
{value: "-1", label: "-1"},
{value: "0", label: "0"},
{value: "1", label: "+1"},
{value: "2", label: "+2"},
{value: "3", label: "+3"},
{value: "4", label: "+4"},
{value: "5", label: "+5"},
{value: "6", label: "+6"}
],
listNiveauSort: {
"1" : "1",
"2" : "2",
"3" : "3",
"4" : "4"
},
listNiveau: {
"0": "0",
"1": "1",
"2": "2",
"3": "3",
"4": "4",
"5": "5",
"6": "6",
"7": "7",
"8": "8",
"9": "9",
"10": "10"
},
} }

View File

@@ -1,25 +0,0 @@
/**
* Extend the basic ActorSheet with some very simple modifications
* @extends {ActorSheet}
*/
import { HeritiersActorSheet } from "./heritiers-actor-sheet.js";
import { HeritiersUtility } from "./heritiers-utility.js";
/* -------------------------------------------- */
export class HeritiersCreatureSheet extends HeritiersActorSheet {
/** @override */
static get defaultOptions() {
return mergeObject(super.defaultOptions, {
classes: ["fvtt-les-heritiers", "sheet", "actor"],
template: "systems/fvtt-les-heritiers/templates/creature-sheet.html",
width: 640,
height: 720,
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "stats" }],
dragDrop: [{ dragSelector: ".item-list .item", dropSelector: null }],
editScore: false
})
}
}

View File

@@ -9,7 +9,7 @@ export class HeritiersItemSheet extends ItemSheet {
/** @override */ /** @override */
static get defaultOptions() { static get defaultOptions() {
return mergeObject(super.defaultOptions, { return foundry.utils.mergeObject(super.defaultOptions, {
classes: ["fvtt-les-heritiers", "sheet", "item"], classes: ["fvtt-les-heritiers", "sheet", "item"],
template: "systems/fvtt-les-heritiers/templates/item-sheet.html", template: "systems/fvtt-les-heritiers/templates/item-sheet.html",
dragDrop: [{ dragSelector: null, dropSelector: null }], dragDrop: [{ dragSelector: null, dropSelector: null }],
@@ -48,7 +48,7 @@ export class HeritiersItemSheet extends ItemSheet {
/* -------------------------------------------- */ /* -------------------------------------------- */
async getData() { async getData() {
const objectData = duplicate(this.object) const objectData = foundry.utils.duplicate(this.object)
let formData = { let formData = {
title: this.title, title: this.title,
id: this.id, id: this.id,
@@ -65,9 +65,22 @@ export class HeritiersItemSheet extends ItemSheet {
isArmeMelee: HeritiersUtility.isArmeMelee(this.object), isArmeMelee: HeritiersUtility.isArmeMelee(this.object),
description: await TextEditor.enrichHTML(this.object.system.description, {async: true}), 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,
usageMax: -1
} }
// Items specific data
if (this.object.type == 'pouvoir' && this.document.isOwner && this.actor) {
formData.usageMax = this.actor.getPouvoirUsageMax(this.object)
if (this.object.system.pointsusagecourant == -1) {
this.object.system.pointsusagecourant = formData.usageMax
}
}
if (this.object.type == 'sort' ) {
formData.competencesMagie = HeritiersUtility.getCompetencesMagie()
}
//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;
@@ -87,7 +100,7 @@ export class HeritiersItemSheet extends ItemSheet {
/* -------------------------------------------- */ /* -------------------------------------------- */
postItem() { postItem() {
let chatData = duplicate(HeritiersUtility.data(this.item)); let chatData = foundry.utils.duplicate(HeritiersUtility.data(this.item));
if (this.actor) { if (this.actor) {
chatData.actor = { id: this.actor.id }; chatData.actor = { id: this.actor.id };
} }
@@ -129,52 +142,52 @@ export class HeritiersItemSheet extends ItemSheet {
}) })
html.find('#add-specialite').click(ev => { html.find('#add-specialite').click(ev => {
let spec = duplicate(this.object.system.specialites) let spec = foundry.utils.duplicate(this.object.system.specialites)
spec.push( { name: "Nouvelle Spécialité", id: randomID(16), used: false }) spec.push( { name: "Nouvelle Spécialité", id: foundry.utils.randomID(16), used: false })
this.object.update( { 'system.specialites': spec }) this.object.update( { 'system.specialites': spec })
}) })
html.find('.delete-specialite').click(ev => { html.find('.delete-specialite').click(ev => {
const li = $(ev.currentTarget).parents(".specialite-item") const li = $(ev.currentTarget).parents(".specialite-item")
let index = li.data("specialite-index") let index = li.data("specialite-index")
let spec = duplicate(this.object.system.specialites) let spec = foundry.utils.duplicate(this.object.system.specialites)
spec.splice(index,1) spec.splice(index,1)
this.object.update( { 'system.specialites': spec }) this.object.update( { 'system.specialites': spec })
}) })
html.find('.edit-specialite').change(ev => { html.find('.edit-specialite').change(ev => {
const li = $(ev.currentTarget).parents(".specialite-item") const li = $(ev.currentTarget).parents(".specialite-item")
let index = li.data("specialite-index") let index = li.data("specialite-index")
let spec = duplicate(this.object.system.specialites) let spec = foundry.utils.duplicate(this.object.system.specialites)
spec[index].name = ev.currentTarget.value spec[index].name = ev.currentTarget.value
spec[index].id = spec[index].id || randomID(16) spec[index].id = spec[index].id || foundry.utils.randomID(16)
this.object.update( { 'system.specialites': spec }) this.object.update( { 'system.specialites': spec })
}) })
html.find('.edit-specialite-description').change(ev => { html.find('.edit-specialite-description').change(ev => {
const li = $(ev.currentTarget).parents(".specialite-item") const li = $(ev.currentTarget).parents(".specialite-item")
let index = li.data("specialite-index") let index = li.data("specialite-index")
let spec = duplicate(this.object.system.specialites) let spec = foundry.utils.duplicate(this.object.system.specialites)
spec[index].description = ev.currentTarget.value spec[index].description = ev.currentTarget.value
spec[index].id = spec[index].id || randomID(16) spec[index].id = spec[index].id || foundry.utils.randomID(16)
this.object.update( { 'system.specialites': spec }) this.object.update( { 'system.specialites': spec })
}) })
html.find('#add-automation').click(ev => { html.find('#add-automation').click(ev => {
let autom = duplicate(this.object.system.automations) let autom = foundry.utils.duplicate(this.object.system.automations)
autom.push( { eventtype: "on-drop", name: "Automatisation 1", competence: "", minLevel: 0, id: randomID(16) }) autom.push( { eventtype: "on-drop", name: "Automatisation 1", competence: "", minLevel: 0, id: foundry.utils.randomID(16) })
this.object.update( { 'system.automations': autom }) this.object.update( { 'system.automations': autom })
}) })
html.find('.delete-automation').click(ev => { html.find('.delete-automation').click(ev => {
const li = $(ev.currentTarget).parents(".automation-item") const li = $(ev.currentTarget).parents(".automation-item")
let index = li.data("automation-index") let index = li.data("automation-index")
let autom = duplicate(this.object.system.automations) let autom = foundry.utils.duplicate(this.object.system.automations)
autom.splice(index,1) autom.splice(index,1)
this.object.update( { 'system.automations': autom }) this.object.update( { 'system.automations': autom })
}) })
html.find('.automation-edit-field').change(ev => { html.find('.automation-edit-field').change(ev => {
let index = $(ev.currentTarget).data("automation-index") let index = $(ev.currentTarget).data("automation-index")
let field = $(ev.currentTarget).data("automation-field") let field = $(ev.currentTarget).data("automation-field")
let auto = duplicate(this.object.system.automations) let auto = foundry.utils.duplicate(this.object.system.automations)
auto[index][field] = ev.currentTarget.value auto[index][field] = ev.currentTarget.value
auto[index].id = auto[index].id || randomID(16) auto[index].id = auto[index].id || foundry.utils.randomID(16)
this.object.update( { 'system.automations': auto }) this.object.update( { 'system.automations': auto })
}) })

View File

@@ -18,6 +18,7 @@ export const defaultItemImg = {
fee: "systems/fvtt-les-heritiers/assets/icons/faery_type.webp", fee: "systems/fvtt-les-heritiers/assets/icons/faery_type.webp",
profil: "systems/fvtt-les-heritiers/assets/icons/profil.webp", profil: "systems/fvtt-les-heritiers/assets/icons/profil.webp",
equipement: "systems/fvtt-les-heritiers/assets/icons/equipement.webp", equipement: "systems/fvtt-les-heritiers/assets/icons/equipement.webp",
sort: "systems/fvtt-les-heritiers/assets/icons/sort.webp",
} }
/** /**

View File

@@ -12,7 +12,6 @@ import { HeritiersActor } from "./heritiers-actor.js";
import { HeritiersItemSheet } from "./heritiers-item-sheet.js"; import { HeritiersItemSheet } from "./heritiers-item-sheet.js";
import { HeritiersActorSheet } from "./heritiers-actor-sheet.js"; import { HeritiersActorSheet } from "./heritiers-actor-sheet.js";
import { HeritiersActorPNJSheet } from "./heritiers-actor-pnj-sheet.js"; import { HeritiersActorPNJSheet } from "./heritiers-actor-pnj-sheet.js";
import { HeritiersCreatureSheet } from "./heritiers-creature-sheet.js";
import { HeritiersUtility } from "./heritiers-utility.js"; import { HeritiersUtility } from "./heritiers-utility.js";
import { HeritiersCombat } from "./heritiers-combat.js"; import { HeritiersCombat } from "./heritiers-combat.js";
import { HeritiersItem } from "./heritiers-item.js"; import { HeritiersItem } from "./heritiers-item.js";
@@ -47,6 +46,8 @@ Hooks.once("init", async function () {
CONFIG.Combat.documentClass = HeritiersCombat CONFIG.Combat.documentClass = HeritiersCombat
CONFIG.Actor.documentClass = HeritiersActor CONFIG.Actor.documentClass = HeritiersActor
CONFIG.Item.documentClass = HeritiersItem CONFIG.Item.documentClass = HeritiersItem
// Create an object of bonus/malus from -6 to +6 signed
HERITIERS_CONFIG.bonusMalus = Array.from({ length: 7 }, (v, k) => toString(k - 6))
game.system.lesheritiers = { game.system.lesheritiers = {
HeritiersUtility, HeritiersUtility,
config: HERITIERS_CONFIG config: HERITIERS_CONFIG

View File

@@ -20,17 +20,23 @@ export class HeritiersRollDialog extends Dialog {
callback: () => { this.roll("d8") } callback: () => { this.roll("d8") }
} }
} }
let enableD10D12 = true let enableD10 = false
if (rollData.competence?.system.niveau == 0) { let enableD12 = false
enableD10D12 = false if (rollData.mode == "pouvoir" || rollData.competence?.system.niveau > 0) {
enableD10 = true
} }
if (enableD10D12) { if (rollData.mode == "pouvoir" || rollData.competence?.system.niveau > 1) {
enableD12 = true
}
if (enableD10) {
buttons.rolld10 = { buttons.rolld10 = {
icon: '<i class="fas fa-check"></i>', icon: '<i class="fas fa-check"></i>',
label: "Lancer 1d10", label: "Lancer 1d10",
callback: () => { this.roll("d10") } callback: () => { this.roll("d10") }
} }
buttons.rolld12 = { }
if (enableD12) {
buttons.rolld12 = {
icon: '<i class="fas fa-check"></i>', icon: '<i class="fas fa-check"></i>',
label: "Lancer 1d12", label: "Lancer 1d12",
callback: () => { this.roll("d12") } callback: () => { this.roll("d12") }
@@ -112,6 +118,7 @@ export class HeritiersRollDialog extends Dialog {
this.rollData.sdValue = Number(event.currentTarget.value) this.rollData.sdValue = Number(event.currentTarget.value)
}) })
html.find('#caracKey').change(async (event) => { html.find('#caracKey').change(async (event) => {
//console.log("caracKey", event.currentTarget.value)
this.rollData.caracKey = String(event.currentTarget.value) this.rollData.caracKey = String(event.currentTarget.value)
}) })
html.find('#bonus-malus-context').change((event) => { html.find('#bonus-malus-context').change((event) => {
@@ -123,6 +130,9 @@ export class HeritiersRollDialog extends Dialog {
html.find('#useSpecialite').change((event) => { html.find('#useSpecialite').change((event) => {
this.rollData.useSpecialite = event.currentTarget.checked this.rollData.useSpecialite = event.currentTarget.checked
}) })
html.find('#pouvoirPointsUsage').change((event) => {
this.rollData.pouvoirPointsUsage = Number(event.currentTarget.value)
})
html.find('#attaqueDos').change((event) => { html.find('#attaqueDos').change((event) => {
this.rollData.attaqueDos = event.currentTarget.checked this.rollData.attaqueDos = event.currentTarget.checked
}) })

View File

@@ -104,6 +104,8 @@ export class HeritiersUtility {
const skills = await HeritiersUtility.loadCompendium("fvtt-les-heritiers.competences") const skills = await HeritiersUtility.loadCompendium("fvtt-les-heritiers.competences")
this.skills = skills.map(i => i.toObject()) this.skills = skills.map(i => i.toObject())
this.competencesMagie = this.skills.filter(s => s.system.profil == "magie")
game.settings.register("fvtt-les-heritiers", "heritiers-heritage", { game.settings.register("fvtt-les-heritiers", "heritiers-heritage", {
name: "Points d'héritage", name: "Points d'héritage",
hint: "Points d'héritage du groupe", hint: "Points d'héritage du groupe",
@@ -114,6 +116,19 @@ export class HeritiersUtility {
}) })
} }
/* -------------------------------------------- */
static getSDSortValue(niveau) {
if (niveau <= 2) return 12;
if (niveau <= 4) return 14;
if (niveau <= 6) return 16;
return 18;
}
/* -------------------------------------------- */
static getCompetencesMagie() {
return this.competencesMagie
}
/* -------------------------------------------- */ /* -------------------------------------------- */
static async loadCompendiumData(compendium) { static async loadCompendiumData(compendium) {
const pack = game.packs.get(compendium); const pack = game.packs.get(compendium);
@@ -140,7 +155,7 @@ export class HeritiersUtility {
let rollData = message.getFlag("world", "heritiers-roll") let rollData = message.getFlag("world", "heritiers-roll")
let actor = this.getActorFromRollData(rollData) let actor = this.getActorFromRollData(rollData)
await actor.setPredilectionUsed(rollData.competence._id, predIdx) await actor.setPredilectionUsed(rollData.competence._id, predIdx)
rollData.competence = duplicate(actor.getCompetence(rollData.competence._id)) rollData.competence = foundry.utils.duplicate(actor.getCompetence(rollData.competence._id))
HeritiersUtility.rollHeritiers(rollData) HeritiersUtility.rollHeritiers(rollData)
}) })
@@ -172,8 +187,7 @@ export class HeritiersUtility {
'systems/fvtt-les-heritiers/templates/partial-item-header.html', 'systems/fvtt-les-heritiers/templates/partial-item-header.html',
'systems/fvtt-les-heritiers/templates/partial-item-description.html', 'systems/fvtt-les-heritiers/templates/partial-item-description.html',
'systems/fvtt-les-heritiers/templates/partial-item-nav.html', 'systems/fvtt-les-heritiers/templates/partial-item-nav.html',
'systems/fvtt-les-heritiers/templates/partial-utile-skills.html', 'systems/fvtt-les-heritiers/templates/partial-utile-skills.html'
'systems/fvtt-les-heritiers/templates/partial-list-niveau.html'
] ]
return loadTemplates(templatePaths); return loadTemplates(templatePaths);
} }
@@ -252,7 +266,7 @@ export class HeritiersUtility {
let id = rollData.rollId; let id = rollData.rollId;
let oldRollData = this.rollDataStore[id] || {}; let oldRollData = this.rollDataStore[id] || {};
let newRollData = mergeObject(oldRollData, rollData); let newRollData = foundry.utils.mergeObject(oldRollData, rollData);
this.rollDataStore[id] = newRollData; this.rollDataStore[id] = newRollData;
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
@@ -391,7 +405,7 @@ export class HeritiersUtility {
} }
} }
if ( !rollData.forcedValue) { if ( !rollData.forcedValue) {
rollData.adjacentFaces = duplicate(__facesAdjacentes[rollData.mainDice][rollData.diceValue]) rollData.adjacentFaces = foundry.utils.duplicate(__facesAdjacentes[rollData.mainDice][rollData.diceValue])
} }
} }
} }
@@ -434,6 +448,10 @@ export class HeritiersUtility {
rollData.isSuccess = (rollData.finalResult >= seuil) rollData.isSuccess = (rollData.finalResult >= seuil)
rollData.isCriticalSuccess = ((rollData.finalResult - seuil) >= 7) rollData.isCriticalSuccess = ((rollData.finalResult - seuil) >= 7)
rollData.isCriticalFailure = ((rollData.finalResult - seuil) <= -7) rollData.isCriticalFailure = ((rollData.finalResult - seuil) <= -7)
// Si compétence > 0 et d8 -> echec critique impossible
if (rollData?.competence?.system.niveau > 0 && rollData?.mainDice == "d8") {
rollData.isCriticalFailure = false
}
} }
} }
@@ -467,8 +485,14 @@ export class HeritiersUtility {
let actor = this.getActorFromRollData(rollData) let actor = this.getActorFromRollData(rollData)
if ( rollData.mode == "pouvoir" && actor.getPouvoirUsage(rollData.pouvoir._id) < rollData.pouvoirPointsUsage) {
ui.notifications.warn("Pas assez de points d'usage pour ce pouvoir.")
return
}
//rollData.actionImg = "systems/fvtt-les-heritiers/assets/icons/" + actor.system.attributs[rollData.attrKey].labelnorm + ".webp" //rollData.actionImg = "systems/fvtt-les-heritiers/assets/icons/" + actor.system.attributs[rollData.attrKey].labelnorm + ".webp"
rollData.carac = duplicate(actor.system.caracteristiques[rollData.caracKey]) if (rollData.caracKey == "pre") rollData.caracKey = "pres"; // Patch tomanage wrong carac key
rollData.carac = foundry.utils.duplicate(actor.system.caracteristiques[rollData.caracKey])
if (rollData.forcedValue) { if (rollData.forcedValue) {
rollData.diceFormula = rollData.forcedValue rollData.diceFormula = rollData.forcedValue
@@ -526,18 +550,24 @@ export class HeritiersUtility {
} }
} }
if ( !rollData.noRoll) {
let myRoll = new Roll(rollData.diceFormula).roll({ async: false }) let myRoll = await new Roll(rollData.diceFormula).roll()
await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode")) await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
rollData.roll = duplicate(myRoll) rollData.roll = foundry.utils.duplicate(myRoll)
console.log(">>>> ", myRoll) console.log(">>>> ", myRoll)
this.computeResult(actor, rollData) this.computeResult(actor, rollData)
this.computeMarge(rollData, rollData.sdValue) // Calcul de la marge si seuil présent this.computeMarge(rollData, rollData.sdValue) // Calcul de la marge si seuil présent
}
if (rollData.mode == "init") { if (rollData.mode == "init") {
actor.setFlag("world", "last-initiative", rollData.finalResult) actor.setFlag("world", "last-initiative", rollData.finalResult)
} }
// Gestion pouvoir et points d'usage
if (rollData.mode == "pouvoir" || rollData.mode == "pouvoirpassif") {
actor.incDecPointsUsage(rollData.pouvoir._id, -rollData.pouvoirPointsUsage)
}
this.createChatWithRollMode(rollData.alias, { this.createChatWithRollMode(rollData.alias, {
content: await renderTemplate(`systems/fvtt-les-heritiers/templates/chat-generic-result.html`, rollData) content: await renderTemplate(`systems/fvtt-les-heritiers/templates/chat-generic-result.html`, rollData)
}, rollData) }, rollData)
@@ -568,9 +598,9 @@ export class HeritiersUtility {
static async bonusRollHeritiers(rollData) { static async bonusRollHeritiers(rollData) {
rollData.bonusFormula = rollData.addedBonus rollData.bonusFormula = rollData.addedBonus
let bonusRoll = new Roll(rollData.bonusFormula).roll({ async: false }) let bonusRoll = await new Roll(rollData.bonusFormula).roll()
await this.showDiceSoNice(bonusRoll, game.settings.get("core", "rollMode")); await this.showDiceSoNice(bonusRoll, game.settings.get("core", "rollMode"));
rollData.bonusRoll = duplicate(bonusRoll) rollData.bonusRoll = foundry.utils.duplicate(bonusRoll)
rollData.finalResult += rollData.bonusRoll.total rollData.finalResult += rollData.bonusRoll.total
@@ -589,7 +619,7 @@ export class HeritiersUtility {
/* -------------------------------------------- */ /* -------------------------------------------- */
static isArmeMelee(arme) { static isArmeMelee(arme) {
return (arme.type == "arme" && (arme.system.categorie == "lourde" || arme.system.categorie == "blanche" || arme.system.categorie == "improvise")) ? true : false return (arme.type == "arme" && (arme.system.categorie == "lourde" || arme.system.categorie == "blanche" || arme.system.categorie == "improvise"))
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
static getWhisperRecipients(rollMode, name) { static getWhisperRecipients(rollMode, name) {
@@ -608,7 +638,7 @@ export class HeritiersUtility {
/* -------------------------------------------- */ /* -------------------------------------------- */
static blindMessageToGM(chatOptions) { static blindMessageToGM(chatOptions) {
let chatGM = duplicate(chatOptions); let chatGM = foundry.utils.duplicate(chatOptions);
chatGM.whisper = this.getUsers(user => user.isGM); chatGM.whisper = this.getUsers(user => user.isGM);
chatGM.content = "Blinde message of " + game.user.name + "<br>" + chatOptions.content; chatGM.content = "Blinde message of " + game.user.name + "<br>" + chatOptions.content;
console.log("blindMessageToGM", chatGM); console.log("blindMessageToGM", chatGM);
@@ -672,7 +702,7 @@ export class HeritiersUtility {
/* -------------------------------------------- */ /* -------------------------------------------- */
static getBasicRollData() { static getBasicRollData() {
let rollData = { let rollData = {
rollId: randomID(16), rollId: foundry.utils.randomID(16),
rollMode: game.settings.get("core", "rollMode"), rollMode: game.settings.get("core", "rollMode"),
sdList: game.system.lesheritiers.config.seuilsDifficulte, sdList: game.system.lesheritiers.config.seuilsDifficulte,
sdValue: -1, sdValue: -1,
@@ -791,11 +821,11 @@ export class HeritiersUtility {
/* -------------------------------------------- */ /* -------------------------------------------- */
static async confirmDelete(actorSheet, li) { static async confirmDelete(actorSheet, li) {
let itemId = li.data("item-id"); let itemId = li.data("item-id");
let msgTxt = "<p>Are you sure to remove this Item ?"; let msgTxt = "<p>Certain de supprimer cet item ?";
let buttons = { let buttons = {
delete: { delete: {
icon: '<i class="fas fa-check"></i>', icon: '<i class="fas fa-check"></i>',
label: "Yes, remove it", label: "Oui !",
callback: () => { callback: () => {
actorSheet.actor.deleteEmbeddedDocuments("Item", [itemId]); actorSheet.actor.deleteEmbeddedDocuments("Item", [itemId]);
li.slideUp(200, () => actorSheet.render(false)); li.slideUp(200, () => actorSheet.render(false));
@@ -803,12 +833,12 @@ export class HeritiersUtility {
}, },
cancel: { cancel: {
icon: '<i class="fas fa-times"></i>', icon: '<i class="fas fa-times"></i>',
label: "Cancel" label: "Non !"
} }
} }
msgTxt += "</p>"; msgTxt += "</p>";
let d = new Dialog({ let d = new Dialog({
title: "Confirm removal", title: "Confirmer la suppression",
content: msgTxt, content: msgTxt,
buttons: buttons, buttons: buttons,
default: "cancel" default: "cancel"

Binary file not shown.

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000038 MANIFEST-000167

View File

@@ -1,8 +1,8 @@
2024/03/06-18:44:25.568521 7f0ad34006c0 Recovering log #36 2024/11/17-20:47:41.966228 7f1d08bf96c0 Recovering log #165
2024/03/06-18:44:25.578793 7f0ad34006c0 Delete type=3 #34 2024/11/17-20:47:41.976910 7f1d08bf96c0 Delete type=3 #163
2024/03/06-18:44:25.578840 7f0ad34006c0 Delete type=0 #36 2024/11/17-20:47:41.976994 7f1d08bf96c0 Delete type=0 #165
2024/03/06-18:46:24.175017 7f0ad20006c0 Level-0 table #41: started 2024/11/17-20:55:29.667200 7f1d027ff6c0 Level-0 table #170: started
2024/03/06-18:46:24.175038 7f0ad20006c0 Level-0 table #41: 0 bytes OK 2024/11/17-20:55:29.667241 7f1d027ff6c0 Level-0 table #170: 0 bytes OK
2024/03/06-18:46:24.182284 7f0ad20006c0 Delete type=0 #39 2024/11/17-20:55:29.695843 7f1d027ff6c0 Delete type=0 #168
2024/03/06-18:46:24.188691 7f0ad20006c0 Manual compaction at level-0 from '!items!1NhJH4IJpxsGmLB8' @ 72057594037927935 : 1 .. '!items!y1yOenfAJTsb3r6e' @ 0 : 0; will stop at (end) 2024/11/17-20:55:29.814123 7f1d027ff6c0 Manual compaction at level-0 from '!items!1NhJH4IJpxsGmLB8' @ 72057594037927935 : 1 .. '!items!y1yOenfAJTsb3r6e' @ 0 : 0; will stop at (end)
2024/03/06-18:46:24.195894 7f0ad20006c0 Manual compaction at level-1 from '!items!1NhJH4IJpxsGmLB8' @ 72057594037927935 : 1 .. '!items!y1yOenfAJTsb3r6e' @ 0 : 0; will stop at (end) 2024/11/17-20:55:29.814179 7f1d027ff6c0 Manual compaction at level-1 from '!items!1NhJH4IJpxsGmLB8' @ 72057594037927935 : 1 .. '!items!y1yOenfAJTsb3r6e' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2024/03/06-18:38:24.774853 7f0ad34006c0 Recovering log #32 2024/11/17-19:16:31.322926 7f1d093fa6c0 Recovering log #161
2024/03/06-18:38:24.785470 7f0ad34006c0 Delete type=3 #30 2024/11/17-19:16:31.332853 7f1d093fa6c0 Delete type=3 #159
2024/03/06-18:38:24.785662 7f0ad34006c0 Delete type=0 #32 2024/11/17-19:16:31.332928 7f1d093fa6c0 Delete type=0 #161
2024/03/06-18:42:43.343014 7f0ad20006c0 Level-0 table #37: started 2024/11/17-20:47:32.626275 7f1d027ff6c0 Level-0 table #166: started
2024/03/06-18:42:43.343041 7f0ad20006c0 Level-0 table #37: 0 bytes OK 2024/11/17-20:47:32.626301 7f1d027ff6c0 Level-0 table #166: 0 bytes OK
2024/03/06-18:42:43.348988 7f0ad20006c0 Delete type=0 #35 2024/11/17-20:47:32.657840 7f1d027ff6c0 Delete type=0 #164
2024/03/06-18:42:43.349144 7f0ad20006c0 Manual compaction at level-0 from '!items!1NhJH4IJpxsGmLB8' @ 72057594037927935 : 1 .. '!items!y1yOenfAJTsb3r6e' @ 0 : 0; will stop at (end) 2024/11/17-20:47:32.759216 7f1d027ff6c0 Manual compaction at level-0 from '!items!1NhJH4IJpxsGmLB8' @ 72057594037927935 : 1 .. '!items!y1yOenfAJTsb3r6e' @ 0 : 0; will stop at (end)
2024/03/06-18:42:43.349169 7f0ad20006c0 Manual compaction at level-1 from '!items!1NhJH4IJpxsGmLB8' @ 72057594037927935 : 1 .. '!items!y1yOenfAJTsb3r6e' @ 0 : 0; will stop at (end) 2024/11/17-20:47:32.759268 7f1d027ff6c0 Manual compaction at level-1 from '!items!1NhJH4IJpxsGmLB8' @ 72057594037927935 : 1 .. '!items!y1yOenfAJTsb3r6e' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000038 MANIFEST-000167

View File

@@ -1,8 +1,8 @@
2024/03/06-18:44:25.594975 7f0ad34006c0 Recovering log #36 2024/11/17-20:47:41.991855 7f1d03fff6c0 Recovering log #165
2024/03/06-18:44:25.604899 7f0ad34006c0 Delete type=3 #34 2024/11/17-20:47:42.001751 7f1d03fff6c0 Delete type=3 #163
2024/03/06-18:44:25.605412 7f0ad34006c0 Delete type=0 #36 2024/11/17-20:47:42.001836 7f1d03fff6c0 Delete type=0 #165
2024/03/06-18:46:24.188713 7f0ad20006c0 Level-0 table #41: started 2024/11/17-20:55:29.814290 7f1d027ff6c0 Level-0 table #170: started
2024/03/06-18:46:24.188737 7f0ad20006c0 Level-0 table #41: 0 bytes OK 2024/11/17-20:55:29.814335 7f1d027ff6c0 Level-0 table #170: 0 bytes OK
2024/03/06-18:46:24.195790 7f0ad20006c0 Delete type=0 #39 2024/11/17-20:55:29.851112 7f1d027ff6c0 Delete type=0 #168
2024/03/06-18:46:24.202331 7f0ad20006c0 Manual compaction at level-0 from '!items!1ETVaPBtjDtzelK1' @ 72057594037927935 : 1 .. '!items!zbsVCsWxRzkzzG1N' @ 0 : 0; will stop at (end) 2024/11/17-20:55:29.988613 7f1d027ff6c0 Manual compaction at level-0 from '!items!1ETVaPBtjDtzelK1' @ 72057594037927935 : 1 .. '!items!zbsVCsWxRzkzzG1N' @ 0 : 0; will stop at (end)
2024/03/06-18:46:24.209583 7f0ad20006c0 Manual compaction at level-1 from '!items!1ETVaPBtjDtzelK1' @ 72057594037927935 : 1 .. '!items!zbsVCsWxRzkzzG1N' @ 0 : 0; will stop at (end) 2024/11/17-20:55:29.988660 7f1d027ff6c0 Manual compaction at level-1 from '!items!1ETVaPBtjDtzelK1' @ 72057594037927935 : 1 .. '!items!zbsVCsWxRzkzzG1N' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2024/03/06-18:38:24.800967 7f0ad34006c0 Recovering log #32 2024/11/17-19:16:31.349130 7f1d03fff6c0 Recovering log #161
2024/03/06-18:38:24.811663 7f0ad34006c0 Delete type=3 #30 2024/11/17-19:16:31.359002 7f1d03fff6c0 Delete type=3 #159
2024/03/06-18:38:24.811726 7f0ad34006c0 Delete type=0 #32 2024/11/17-19:16:31.359058 7f1d03fff6c0 Delete type=0 #161
2024/03/06-18:42:43.329313 7f0ad20006c0 Level-0 table #37: started 2024/11/17-20:47:32.693837 7f1d027ff6c0 Level-0 table #166: started
2024/03/06-18:42:43.329342 7f0ad20006c0 Level-0 table #37: 0 bytes OK 2024/11/17-20:47:32.693864 7f1d027ff6c0 Level-0 table #166: 0 bytes OK
2024/03/06-18:42:43.335373 7f0ad20006c0 Delete type=0 #35 2024/11/17-20:47:32.727625 7f1d027ff6c0 Delete type=0 #164
2024/03/06-18:42:43.349122 7f0ad20006c0 Manual compaction at level-0 from '!items!1ETVaPBtjDtzelK1' @ 72057594037927935 : 1 .. '!items!zbsVCsWxRzkzzG1N' @ 0 : 0; will stop at (end) 2024/11/17-20:47:32.759243 7f1d027ff6c0 Manual compaction at level-0 from '!items!1ETVaPBtjDtzelK1' @ 72057594037927935 : 1 .. '!items!zbsVCsWxRzkzzG1N' @ 0 : 0; will stop at (end)
2024/03/06-18:42:43.349153 7f0ad20006c0 Manual compaction at level-1 from '!items!1ETVaPBtjDtzelK1' @ 72057594037927935 : 1 .. '!items!zbsVCsWxRzkzzG1N' @ 0 : 0; will stop at (end) 2024/11/17-20:47:32.759293 7f1d027ff6c0 Manual compaction at level-1 from '!items!1ETVaPBtjDtzelK1' @ 72057594037927935 : 1 .. '!items!zbsVCsWxRzkzzG1N' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000038 MANIFEST-000167

View File

@@ -1,8 +1,8 @@
2024/03/06-18:44:25.556505 7f0ad94006c0 Recovering log #36 2024/11/17-20:47:41.953072 7f1d037fe6c0 Recovering log #165
2024/03/06-18:44:25.565851 7f0ad94006c0 Delete type=3 #34 2024/11/17-20:47:41.963084 7f1d037fe6c0 Delete type=3 #163
2024/03/06-18:44:25.565906 7f0ad94006c0 Delete type=0 #36 2024/11/17-20:47:41.963158 7f1d037fe6c0 Delete type=0 #165
2024/03/06-18:46:24.168720 7f0ad20006c0 Level-0 table #41: started 2024/11/17-20:55:29.696001 7f1d027ff6c0 Level-0 table #170: started
2024/03/06-18:46:24.168740 7f0ad20006c0 Level-0 table #41: 0 bytes OK 2024/11/17-20:55:29.696033 7f1d027ff6c0 Level-0 table #170: 0 bytes OK
2024/03/06-18:46:24.174891 7f0ad20006c0 Delete type=0 #39 2024/11/17-20:55:29.736230 7f1d027ff6c0 Delete type=0 #168
2024/03/06-18:46:24.182563 7f0ad20006c0 Manual compaction at level-0 from '!items!0fPXtA5LkLgG8uDj' @ 72057594037927935 : 1 .. '!items!zvtBlG6KCIn0oCVk' @ 0 : 0; will stop at (end) 2024/11/17-20:55:29.814140 7f1d027ff6c0 Manual compaction at level-0 from '!items!0fPXtA5LkLgG8uDj' @ 72057594037927935 : 1 .. '!items!zvtBlG6KCIn0oCVk' @ 0 : 0; will stop at (end)
2024/03/06-18:46:24.188703 7f0ad20006c0 Manual compaction at level-1 from '!items!0fPXtA5LkLgG8uDj' @ 72057594037927935 : 1 .. '!items!zvtBlG6KCIn0oCVk' @ 0 : 0; will stop at (end) 2024/11/17-20:55:29.814191 7f1d027ff6c0 Manual compaction at level-1 from '!items!0fPXtA5LkLgG8uDj' @ 72057594037927935 : 1 .. '!items!zvtBlG6KCIn0oCVk' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2024/03/06-18:38:24.762318 7f0ad3e006c0 Recovering log #32 2024/11/17-19:16:31.310339 7f1d08bf96c0 Recovering log #161
2024/03/06-18:38:24.771804 7f0ad3e006c0 Delete type=3 #30 2024/11/17-19:16:31.319876 7f1d08bf96c0 Delete type=3 #159
2024/03/06-18:38:24.772061 7f0ad3e006c0 Delete type=0 #32 2024/11/17-19:16:31.319986 7f1d08bf96c0 Delete type=0 #161
2024/03/06-18:42:43.316209 7f0ad20006c0 Level-0 table #37: started 2024/11/17-20:47:32.658010 7f1d027ff6c0 Level-0 table #166: started
2024/03/06-18:42:43.316229 7f0ad20006c0 Level-0 table #37: 0 bytes OK 2024/11/17-20:47:32.658044 7f1d027ff6c0 Level-0 table #166: 0 bytes OK
2024/03/06-18:42:43.322596 7f0ad20006c0 Delete type=0 #35 2024/11/17-20:47:32.693699 7f1d027ff6c0 Delete type=0 #164
2024/03/06-18:42:43.322731 7f0ad20006c0 Manual compaction at level-0 from '!items!0fPXtA5LkLgG8uDj' @ 72057594037927935 : 1 .. '!items!zvtBlG6KCIn0oCVk' @ 0 : 0; will stop at (end) 2024/11/17-20:47:32.759230 7f1d027ff6c0 Manual compaction at level-0 from '!items!0fPXtA5LkLgG8uDj' @ 72057594037927935 : 1 .. '!items!zvtBlG6KCIn0oCVk' @ 0 : 0; will stop at (end)
2024/03/06-18:42:43.322763 7f0ad20006c0 Manual compaction at level-1 from '!items!0fPXtA5LkLgG8uDj' @ 72057594037927935 : 1 .. '!items!zvtBlG6KCIn0oCVk' @ 0 : 0; will stop at (end) 2024/11/17-20:47:32.759275 7f1d027ff6c0 Manual compaction at level-1 from '!items!0fPXtA5LkLgG8uDj' @ 72057594037927935 : 1 .. '!items!zvtBlG6KCIn0oCVk' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

BIN
packs/avantages/000106.ldb Normal file

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000038 MANIFEST-000167

View File

@@ -1,8 +1,8 @@
2024/03/06-18:44:25.520679 7f0ad34006c0 Recovering log #36 2024/11/17-20:47:41.915911 7f1d08bf96c0 Recovering log #165
2024/03/06-18:44:25.530573 7f0ad34006c0 Delete type=3 #34 2024/11/17-20:47:41.926300 7f1d08bf96c0 Delete type=3 #163
2024/03/06-18:44:25.530645 7f0ad34006c0 Delete type=0 #36 2024/11/17-20:47:41.926363 7f1d08bf96c0 Delete type=0 #165
2024/03/06-18:46:24.149265 7f0ad20006c0 Level-0 table #41: started 2024/11/17-20:55:29.595033 7f1d027ff6c0 Level-0 table #170: started
2024/03/06-18:46:24.149287 7f0ad20006c0 Level-0 table #41: 0 bytes OK 2024/11/17-20:55:29.595055 7f1d027ff6c0 Level-0 table #170: 0 bytes OK
2024/03/06-18:46:24.155653 7f0ad20006c0 Delete type=0 #39 2024/11/17-20:55:29.634810 7f1d027ff6c0 Delete type=0 #168
2024/03/06-18:46:24.161941 7f0ad20006c0 Manual compaction at level-0 from '!items!0EAAt0qSzcD9VRBH' @ 72057594037927935 : 1 .. '!items!zfpjROW9LDAlXUkN' @ 0 : 0; will stop at (end) 2024/11/17-20:55:29.667026 7f1d027ff6c0 Manual compaction at level-0 from '!items!0EAAt0qSzcD9VRBH' @ 72057594037927935 : 1 .. '!items!zfpjROW9LDAlXUkN' @ 0 : 0; will stop at (end)
2024/03/06-18:46:24.168702 7f0ad20006c0 Manual compaction at level-1 from '!items!0EAAt0qSzcD9VRBH' @ 72057594037927935 : 1 .. '!items!zfpjROW9LDAlXUkN' @ 0 : 0; will stop at (end) 2024/11/17-20:55:29.667075 7f1d027ff6c0 Manual compaction at level-1 from '!items!0EAAt0qSzcD9VRBH' @ 72057594037927935 : 1 .. '!items!zfpjROW9LDAlXUkN' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2024/03/06-18:38:24.726349 7f0ad34006c0 Recovering log #32 2024/11/17-19:16:31.272923 7f1d093fa6c0 Recovering log #161
2024/03/06-18:38:24.736299 7f0ad34006c0 Delete type=3 #30 2024/11/17-19:16:31.282628 7f1d093fa6c0 Delete type=3 #159
2024/03/06-18:38:24.736397 7f0ad34006c0 Delete type=0 #32 2024/11/17-19:16:31.282691 7f1d093fa6c0 Delete type=0 #161
2024/03/06-18:42:43.296768 7f0ad20006c0 Level-0 table #37: started 2024/11/17-20:47:32.572143 7f1d027ff6c0 Level-0 table #166: started
2024/03/06-18:42:43.296798 7f0ad20006c0 Level-0 table #37: 0 bytes OK 2024/11/17-20:47:32.572175 7f1d027ff6c0 Level-0 table #166: 0 bytes OK
2024/03/06-18:42:43.302818 7f0ad20006c0 Delete type=0 #35 2024/11/17-20:47:32.625976 7f1d027ff6c0 Delete type=0 #164
2024/03/06-18:42:43.316198 7f0ad20006c0 Manual compaction at level-0 from '!items!0EAAt0qSzcD9VRBH' @ 72057594037927935 : 1 .. '!items!zfpjROW9LDAlXUkN' @ 0 : 0; will stop at (end) 2024/11/17-20:47:32.626160 7f1d027ff6c0 Manual compaction at level-0 from '!items!0EAAt0qSzcD9VRBH' @ 72057594037927935 : 1 .. '!items!zfpjROW9LDAlXUkN' @ 0 : 0; will stop at (end)
2024/03/06-18:42:43.322723 7f0ad20006c0 Manual compaction at level-1 from '!items!0EAAt0qSzcD9VRBH' @ 72057594037927935 : 1 .. '!items!zfpjROW9LDAlXUkN' @ 0 : 0; will stop at (end) 2024/11/17-20:47:32.626196 7f1d027ff6c0 Manual compaction at level-1 from '!items!0EAAt0qSzcD9VRBH' @ 72057594037927935 : 1 .. '!items!zfpjROW9LDAlXUkN' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
packs/capacites/000106.ldb Normal file

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000038 MANIFEST-000167

View File

@@ -1,8 +1,8 @@
2024/03/06-18:44:25.544510 7f0ad34006c0 Recovering log #36 2024/11/17-20:47:41.941224 7f1d03fff6c0 Recovering log #165
2024/03/06-18:44:25.554577 7f0ad34006c0 Delete type=3 #34 2024/11/17-20:47:41.950797 7f1d03fff6c0 Delete type=3 #163
2024/03/06-18:44:25.554623 7f0ad34006c0 Delete type=0 #36 2024/11/17-20:47:41.950873 7f1d03fff6c0 Delete type=0 #165
2024/03/06-18:46:24.161959 7f0ad20006c0 Level-0 table #41: started 2024/11/17-20:55:29.528760 7f1d027ff6c0 Level-0 table #170: started
2024/03/06-18:46:24.161984 7f0ad20006c0 Level-0 table #41: 0 bytes OK 2024/11/17-20:55:29.528801 7f1d027ff6c0 Level-0 table #170: 0 bytes OK
2024/03/06-18:46:24.168612 7f0ad20006c0 Delete type=0 #39 2024/11/17-20:55:29.560031 7f1d027ff6c0 Delete type=0 #168
2024/03/06-18:46:24.174998 7f0ad20006c0 Manual compaction at level-0 from '!items!0cNSRJVPk3GbvxfD' @ 72057594037927935 : 1 .. '!items!yWDg2KlXEz33TSmZ' @ 0 : 0; will stop at (end) 2024/11/17-20:55:29.666990 7f1d027ff6c0 Manual compaction at level-0 from '!items!0cNSRJVPk3GbvxfD' @ 72057594037927935 : 1 .. '!items!yWDg2KlXEz33TSmZ' @ 0 : 0; will stop at (end)
2024/03/06-18:46:24.182577 7f0ad20006c0 Manual compaction at level-1 from '!items!0cNSRJVPk3GbvxfD' @ 72057594037927935 : 1 .. '!items!yWDg2KlXEz33TSmZ' @ 0 : 0; will stop at (end) 2024/11/17-20:55:29.667050 7f1d027ff6c0 Manual compaction at level-1 from '!items!0cNSRJVPk3GbvxfD' @ 72057594037927935 : 1 .. '!items!yWDg2KlXEz33TSmZ' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2024/03/06-18:38:24.750612 7f0ad34006c0 Recovering log #32 2024/11/17-19:16:31.297314 7f1d03fff6c0 Recovering log #161
2024/03/06-18:38:24.760735 7f0ad34006c0 Delete type=3 #30 2024/11/17-19:16:31.308272 7f1d03fff6c0 Delete type=3 #159
2024/03/06-18:38:24.760785 7f0ad34006c0 Delete type=0 #32 2024/11/17-19:16:31.308340 7f1d03fff6c0 Delete type=0 #161
2024/03/06-18:42:43.302940 7f0ad20006c0 Level-0 table #37: started 2024/11/17-20:47:32.448494 7f1d027ff6c0 Level-0 table #166: started
2024/03/06-18:42:43.302963 7f0ad20006c0 Level-0 table #37: 0 bytes OK 2024/11/17-20:47:32.448544 7f1d027ff6c0 Level-0 table #166: 0 bytes OK
2024/03/06-18:42:43.309925 7f0ad20006c0 Delete type=0 #35 2024/11/17-20:47:32.501661 7f1d027ff6c0 Delete type=0 #164
2024/03/06-18:42:43.322702 7f0ad20006c0 Manual compaction at level-0 from '!items!0cNSRJVPk3GbvxfD' @ 72057594037927935 : 1 .. '!items!yWDg2KlXEz33TSmZ' @ 0 : 0; will stop at (end) 2024/11/17-20:47:32.626129 7f1d027ff6c0 Manual compaction at level-0 from '!items!0cNSRJVPk3GbvxfD' @ 72057594037927935 : 1 .. '!items!yWDg2KlXEz33TSmZ' @ 0 : 0; will stop at (end)
2024/03/06-18:42:43.322749 7f0ad20006c0 Manual compaction at level-1 from '!items!0cNSRJVPk3GbvxfD' @ 72057594037927935 : 1 .. '!items!yWDg2KlXEz33TSmZ' @ 0 : 0; will stop at (end) 2024/11/17-20:47:32.626179 7f1d027ff6c0 Manual compaction at level-1 from '!items!0cNSRJVPk3GbvxfD' @ 72057594037927935 : 1 .. '!items!yWDg2KlXEz33TSmZ' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000038 MANIFEST-000168

View File

@@ -1,8 +1,8 @@
2024/03/06-18:44:25.508577 7f0ad94006c0 Recovering log #36 2024/11/17-20:47:41.902247 7f1d037fe6c0 Recovering log #166
2024/03/06-18:44:25.518629 7f0ad94006c0 Delete type=3 #34 2024/11/17-20:47:41.912542 7f1d037fe6c0 Delete type=3 #164
2024/03/06-18:44:25.518679 7f0ad94006c0 Delete type=0 #36 2024/11/17-20:47:41.912623 7f1d037fe6c0 Delete type=0 #166
2024/03/06-18:46:24.142406 7f0ad20006c0 Level-0 table #41: started 2024/11/17-20:55:29.560168 7f1d027ff6c0 Level-0 table #171: started
2024/03/06-18:46:24.142437 7f0ad20006c0 Level-0 table #41: 0 bytes OK 2024/11/17-20:55:29.560198 7f1d027ff6c0 Level-0 table #171: 0 bytes OK
2024/03/06-18:46:24.149137 7f0ad20006c0 Delete type=0 #39 2024/11/17-20:55:29.594914 7f1d027ff6c0 Delete type=0 #169
2024/03/06-18:46:24.155816 7f0ad20006c0 Manual compaction at level-0 from '!items!0V86n4TU8NegrR2B' @ 72057594037927935 : 1 .. '!items!zEl2NQsnCpELVWzh' @ 0 : 0; will stop at (end) 2024/11/17-20:55:29.667010 7f1d027ff6c0 Manual compaction at level-0 from '!items!0V86n4TU8NegrR2B' @ 72057594037927935 : 1 .. '!items!zEl2NQsnCpELVWzh' @ 0 : 0; will stop at (end)
2024/03/06-18:46:24.161951 7f0ad20006c0 Manual compaction at level-1 from '!items!0V86n4TU8NegrR2B' @ 72057594037927935 : 1 .. '!items!zEl2NQsnCpELVWzh' @ 0 : 0; will stop at (end) 2024/11/17-20:55:29.667062 7f1d027ff6c0 Manual compaction at level-1 from '!items!0V86n4TU8NegrR2B' @ 72057594037927935 : 1 .. '!items!zEl2NQsnCpELVWzh' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2024/03/06-18:38:24.713502 7f0ad3e006c0 Recovering log #32 2024/11/17-19:16:31.259795 7f1d08bf96c0 Recovering log #162
2024/03/06-18:38:24.724430 7f0ad3e006c0 Delete type=3 #30 2024/11/17-19:16:31.270586 7f1d08bf96c0 Delete type=3 #160
2024/03/06-18:38:24.724484 7f0ad3e006c0 Delete type=0 #32 2024/11/17-19:16:31.270657 7f1d08bf96c0 Delete type=0 #162
2024/03/06-18:42:43.280171 7f0ad20006c0 Level-0 table #37: started 2024/11/17-20:47:32.416148 7f1d027ff6c0 Level-0 table #167: started
2024/03/06-18:42:43.280236 7f0ad20006c0 Level-0 table #37: 0 bytes OK 2024/11/17-20:47:32.416193 7f1d027ff6c0 Level-0 table #167: 0 bytes OK
2024/03/06-18:42:43.286427 7f0ad20006c0 Delete type=0 #35 2024/11/17-20:47:32.448325 7f1d027ff6c0 Delete type=0 #165
2024/03/06-18:42:43.286549 7f0ad20006c0 Manual compaction at level-0 from '!items!0V86n4TU8NegrR2B' @ 72057594037927935 : 1 .. '!items!zEl2NQsnCpELVWzh' @ 0 : 0; will stop at (end) 2024/11/17-20:47:32.626111 7f1d027ff6c0 Manual compaction at level-0 from '!items!0V86n4TU8NegrR2B' @ 72057594037927935 : 1 .. '!items!zEl2NQsnCpELVWzh' @ 0 : 0; will stop at (end)
2024/03/06-18:42:43.296750 7f0ad20006c0 Manual compaction at level-1 from '!items!0V86n4TU8NegrR2B' @ 72057594037927935 : 1 .. '!items!zEl2NQsnCpELVWzh' @ 0 : 0; will stop at (end) 2024/11/17-20:47:32.626172 7f1d027ff6c0 Manual compaction at level-1 from '!items!0V86n4TU8NegrR2B' @ 72057594037927935 : 1 .. '!items!zEl2NQsnCpELVWzh' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000038 MANIFEST-000167

View File

@@ -1,8 +1,8 @@
2024/03/06-18:44:25.532864 7f0ad94006c0 Recovering log #36 2024/11/17-20:47:41.928516 7f1d093fa6c0 Recovering log #165
2024/03/06-18:44:25.542781 7f0ad94006c0 Delete type=3 #34 2024/11/17-20:47:41.938715 7f1d093fa6c0 Delete type=3 #163
2024/03/06-18:44:25.542832 7f0ad94006c0 Delete type=0 #36 2024/11/17-20:47:41.938787 7f1d093fa6c0 Delete type=0 #165
2024/03/06-18:46:24.155844 7f0ad20006c0 Level-0 table #41: started 2024/11/17-20:55:29.634990 7f1d027ff6c0 Level-0 table #170: started
2024/03/06-18:46:24.155874 7f0ad20006c0 Level-0 table #41: 0 bytes OK 2024/11/17-20:55:29.635028 7f1d027ff6c0 Level-0 table #170: 0 bytes OK
2024/03/06-18:46:24.161851 7f0ad20006c0 Delete type=0 #39 2024/11/17-20:55:29.666837 7f1d027ff6c0 Delete type=0 #168
2024/03/06-18:46:24.168712 7f0ad20006c0 Manual compaction at level-0 from '!items!2QqvtClSVnh5ejXu' @ 72057594037927935 : 1 .. '!items!xzRJ6JP1HqoqxLdj' @ 0 : 0; will stop at (end) 2024/11/17-20:55:29.667040 7f1d027ff6c0 Manual compaction at level-0 from '!items!2QqvtClSVnh5ejXu' @ 72057594037927935 : 1 .. '!items!xzRJ6JP1HqoqxLdj' @ 0 : 0; will stop at (end)
2024/03/06-18:46:24.175009 7f0ad20006c0 Manual compaction at level-1 from '!items!2QqvtClSVnh5ejXu' @ 72057594037927935 : 1 .. '!items!xzRJ6JP1HqoqxLdj' @ 0 : 0; will stop at (end) 2024/11/17-20:55:29.667088 7f1d027ff6c0 Manual compaction at level-1 from '!items!2QqvtClSVnh5ejXu' @ 72057594037927935 : 1 .. '!items!xzRJ6JP1HqoqxLdj' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2024/03/06-18:38:24.738330 7f0ad3e006c0 Recovering log #32 2024/11/17-19:16:31.284731 7f1d037fe6c0 Recovering log #161
2024/03/06-18:38:24.748511 7f0ad3e006c0 Delete type=3 #30 2024/11/17-19:16:31.294840 7f1d037fe6c0 Delete type=3 #159
2024/03/06-18:38:24.748603 7f0ad3e006c0 Delete type=0 #32 2024/11/17-19:16:31.294933 7f1d037fe6c0 Delete type=0 #161
2024/03/06-18:42:43.310037 7f0ad20006c0 Level-0 table #37: started 2024/11/17-20:47:32.501776 7f1d027ff6c0 Level-0 table #166: started
2024/03/06-18:42:43.310060 7f0ad20006c0 Level-0 table #37: 0 bytes OK 2024/11/17-20:47:32.501803 7f1d027ff6c0 Level-0 table #166: 0 bytes OK
2024/03/06-18:42:43.316084 7f0ad20006c0 Delete type=0 #35 2024/11/17-20:47:32.572001 7f1d027ff6c0 Delete type=0 #164
2024/03/06-18:42:43.322714 7f0ad20006c0 Manual compaction at level-0 from '!items!2QqvtClSVnh5ejXu' @ 72057594037927935 : 1 .. '!items!xzRJ6JP1HqoqxLdj' @ 0 : 0; will stop at (end) 2024/11/17-20:47:32.626142 7f1d027ff6c0 Manual compaction at level-0 from '!items!2QqvtClSVnh5ejXu' @ 72057594037927935 : 1 .. '!items!xzRJ6JP1HqoqxLdj' @ 0 : 0; will stop at (end)
2024/03/06-18:42:43.322757 7f0ad20006c0 Manual compaction at level-1 from '!items!2QqvtClSVnh5ejXu' @ 72057594037927935 : 1 .. '!items!xzRJ6JP1HqoqxLdj' @ 0 : 0; will stop at (end) 2024/11/17-20:47:32.626186 7f1d027ff6c0 Manual compaction at level-1 from '!items!2QqvtClSVnh5ejXu' @ 72057594037927935 : 1 .. '!items!xzRJ6JP1HqoqxLdj' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
packs/pouvoirs/000139.ldb Normal file

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000038 MANIFEST-000168

View File

@@ -1,8 +1,8 @@
2024/03/06-18:44:25.581915 7f0ad94006c0 Recovering log #36 2024/11/17-20:47:41.979353 7f1d093fa6c0 Recovering log #166
2024/03/06-18:44:25.592375 7f0ad94006c0 Delete type=3 #34 2024/11/17-20:47:41.988865 7f1d093fa6c0 Delete type=3 #164
2024/03/06-18:44:25.592428 7f0ad94006c0 Delete type=0 #36 2024/11/17-20:47:41.988953 7f1d093fa6c0 Delete type=0 #166
2024/03/06-18:46:24.182586 7f0ad20006c0 Level-0 table #41: started 2024/11/17-20:55:29.771397 7f1d027ff6c0 Level-0 table #171: started
2024/03/06-18:46:24.182611 7f0ad20006c0 Level-0 table #41: 0 bytes OK 2024/11/17-20:55:29.771431 7f1d027ff6c0 Level-0 table #171: 0 bytes OK
2024/03/06-18:46:24.188586 7f0ad20006c0 Delete type=0 #39 2024/11/17-20:55:29.813952 7f1d027ff6c0 Delete type=0 #169
2024/03/06-18:46:24.195882 7f0ad20006c0 Manual compaction at level-0 from '!items!19r9ijZUyvnlIqgm' @ 72057594037927935 : 1 .. '!items!zON0h5SjFyANjPnA' @ 0 : 0; will stop at (end) 2024/11/17-20:55:29.814167 7f1d027ff6c0 Manual compaction at level-0 from '!items!19r9ijZUyvnlIqgm' @ 72057594037927935 : 1 .. '!items!zON0h5SjFyANjPnA' @ 0 : 0; will stop at (end)
2024/03/06-18:46:24.202340 7f0ad20006c0 Manual compaction at level-1 from '!items!19r9ijZUyvnlIqgm' @ 72057594037927935 : 1 .. '!items!zON0h5SjFyANjPnA' @ 0 : 0; will stop at (end) 2024/11/17-20:55:29.814200 7f1d027ff6c0 Manual compaction at level-1 from '!items!19r9ijZUyvnlIqgm' @ 72057594037927935 : 1 .. '!items!zON0h5SjFyANjPnA' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2024/03/06-18:38:24.787435 7f0ad3e006c0 Recovering log #32 2024/11/17-19:16:31.335127 7f1d037fe6c0 Recovering log #162
2024/03/06-18:38:24.797940 7f0ad3e006c0 Delete type=3 #30 2024/11/17-19:16:31.346078 7f1d037fe6c0 Delete type=3 #160
2024/03/06-18:38:24.798012 7f0ad3e006c0 Delete type=0 #32 2024/11/17-19:16:31.346156 7f1d037fe6c0 Delete type=0 #162
2024/03/06-18:42:43.335473 7f0ad20006c0 Level-0 table #37: started 2024/11/17-20:47:32.727805 7f1d027ff6c0 Level-0 table #167: started
2024/03/06-18:42:43.335496 7f0ad20006c0 Level-0 table #37: 0 bytes OK 2024/11/17-20:47:32.727843 7f1d027ff6c0 Level-0 table #167: 0 bytes OK
2024/03/06-18:42:43.342907 7f0ad20006c0 Delete type=0 #35 2024/11/17-20:47:32.759083 7f1d027ff6c0 Delete type=0 #165
2024/03/06-18:42:43.349133 7f0ad20006c0 Manual compaction at level-0 from '!items!19r9ijZUyvnlIqgm' @ 72057594037927935 : 1 .. '!items!zON0h5SjFyANjPnA' @ 0 : 0; will stop at (end) 2024/11/17-20:47:32.759259 7f1d027ff6c0 Manual compaction at level-0 from '!items!19r9ijZUyvnlIqgm' @ 72057594037927935 : 1 .. '!items!zON0h5SjFyANjPnA' @ 0 : 0; will stop at (end)
2024/03/06-18:42:43.349161 7f0ad20006c0 Manual compaction at level-1 from '!items!19r9ijZUyvnlIqgm' @ 72057594037927935 : 1 .. '!items!zON0h5SjFyANjPnA' @ 0 : 0; will stop at (end) 2024/11/17-20:47:32.759283 7f1d027ff6c0 Manual compaction at level-1 from '!items!19r9ijZUyvnlIqgm' @ 72057594037927935 : 1 .. '!items!zON0h5SjFyANjPnA' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000038 MANIFEST-000166

View File

@@ -1,7 +1,7 @@
2024/03/06-18:44:25.607498 7f0ad94006c0 Recovering log #36 2024/11/17-20:47:42.004094 7f1d037fe6c0 Recovering log #164
2024/03/06-18:44:25.619089 7f0ad94006c0 Delete type=3 #34 2024/11/17-20:47:42.014786 7f1d037fe6c0 Delete type=3 #162
2024/03/06-18:44:25.619169 7f0ad94006c0 Delete type=0 #36 2024/11/17-20:47:42.014871 7f1d037fe6c0 Delete type=0 #164
2024/03/06-18:46:24.195903 7f0ad20006c0 Level-0 table #41: started 2024/11/17-20:55:29.736353 7f1d027ff6c0 Level-0 table #169: started
2024/03/06-18:46:24.195928 7f0ad20006c0 Level-0 table #41: 0 bytes OK 2024/11/17-20:55:29.736382 7f1d027ff6c0 Level-0 table #169: 0 bytes OK
2024/03/06-18:46:24.202215 7f0ad20006c0 Delete type=0 #39 2024/11/17-20:55:29.771248 7f1d027ff6c0 Delete type=0 #167
2024/03/06-18:46:24.209558 7f0ad20006c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end) 2024/11/17-20:55:29.814153 7f1d027ff6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)

View File

@@ -1,7 +1,7 @@
2024/03/06-18:38:24.814232 7f0ad3e006c0 Recovering log #32 2024/11/17-19:16:31.360847 7f1d08bf96c0 Recovering log #160
2024/03/06-18:38:24.824843 7f0ad3e006c0 Delete type=3 #30 2024/11/17-19:16:31.371569 7f1d08bf96c0 Delete type=3 #158
2024/03/06-18:38:24.824931 7f0ad3e006c0 Delete type=0 #32 2024/11/17-19:16:31.371638 7f1d08bf96c0 Delete type=0 #160
2024/03/06-18:42:43.322942 7f0ad20006c0 Level-0 table #37: started 2024/11/17-20:47:32.759358 7f1d027ff6c0 Level-0 table #165: started
2024/03/06-18:42:43.322968 7f0ad20006c0 Level-0 table #37: 0 bytes OK 2024/11/17-20:47:32.759390 7f1d027ff6c0 Level-0 table #165: 0 bytes OK
2024/03/06-18:42:43.329218 7f0ad20006c0 Delete type=0 #35 2024/11/17-20:47:32.795162 7f1d027ff6c0 Delete type=0 #163
2024/03/06-18:42:43.349108 7f0ad20006c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end) 2024/11/17-20:47:32.931748 7f1d027ff6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
packs/scenes/000087.ldb Normal file

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000006 MANIFEST-000136

View File

@@ -1,8 +1,8 @@
2024/03/06-18:44:25.621882 7f0ad34006c0 Recovering log #4 2024/11/17-20:47:42.017285 7f1d08bf96c0 Recovering log #134
2024/03/06-18:44:25.632172 7f0ad34006c0 Delete type=3 #2 2024/11/17-20:47:42.027032 7f1d08bf96c0 Delete type=3 #132
2024/03/06-18:44:25.632258 7f0ad34006c0 Delete type=0 #4 2024/11/17-20:47:42.027111 7f1d08bf96c0 Delete type=0 #134
2024/03/06-18:46:24.202350 7f0ad20006c0 Level-0 table #9: started 2024/11/17-20:55:29.950168 7f1d027ff6c0 Level-0 table #139: started
2024/03/06-18:46:24.202372 7f0ad20006c0 Level-0 table #9: 0 bytes OK 2024/11/17-20:55:29.950201 7f1d027ff6c0 Level-0 table #139: 0 bytes OK
2024/03/06-18:46:24.209447 7f0ad20006c0 Delete type=0 #7 2024/11/17-20:55:29.988480 7f1d027ff6c0 Delete type=0 #137
2024/03/06-18:46:24.216156 7f0ad20006c0 Manual compaction at level-0 from '!scenes!8DjkNeeujp2qff1N' @ 72057594037927935 : 1 .. '!scenes!ypDutqjqZcr7lx6I' @ 0 : 0; will stop at (end) 2024/11/17-20:55:29.988652 7f1d027ff6c0 Manual compaction at level-0 from '!scenes!8DjkNeeujp2qff1N' @ 72057594037927935 : 1 .. '!scenes!ypDutqjqZcr7lx6I' @ 0 : 0; will stop at (end)
2024/03/06-18:46:24.216180 7f0ad20006c0 Manual compaction at level-1 from '!scenes!8DjkNeeujp2qff1N' @ 72057594037927935 : 1 .. '!scenes!ypDutqjqZcr7lx6I' @ 0 : 0; will stop at (end) 2024/11/17-20:55:30.050927 7f1d027ff6c0 Manual compaction at level-1 from '!scenes!8DjkNeeujp2qff1N' @ 72057594037927935 : 1 .. '!scenes!ypDutqjqZcr7lx6I' @ 0 : 0; will stop at (end)

View File

@@ -1,5 +1,8 @@
2024/03/06-18:38:24.841322 7f0ad8a006c0 Delete type=3 #1 2024/11/17-19:16:31.373782 7f1d093fa6c0 Recovering log #130
2024/03/06-18:42:43.349231 7f0ad20006c0 Level-0 table #5: started 2024/11/17-19:16:31.384144 7f1d093fa6c0 Delete type=3 #128
2024/03/06-18:42:43.352595 7f0ad20006c0 Level-0 table #5: 1578 bytes OK 2024/11/17-19:16:31.384217 7f1d093fa6c0 Delete type=0 #130
2024/03/06-18:42:43.359762 7f0ad20006c0 Delete type=0 #3 2024/11/17-20:47:32.894670 7f1d027ff6c0 Level-0 table #135: started
2024/03/06-18:42:43.366135 7f0ad20006c0 Manual compaction at level-0 from '!scenes!8DjkNeeujp2qff1N' @ 72057594037927935 : 1 .. '!scenes!ypDutqjqZcr7lx6I' @ 0 : 0; will stop at (end) 2024/11/17-20:47:32.894721 7f1d027ff6c0 Level-0 table #135: 0 bytes OK
2024/11/17-20:47:32.931619 7f1d027ff6c0 Delete type=0 #133
2024/11/17-20:47:32.931783 7f1d027ff6c0 Manual compaction at level-0 from '!scenes!8DjkNeeujp2qff1N' @ 72057594037927935 : 1 .. '!scenes!ypDutqjqZcr7lx6I' @ 0 : 0; will stop at (end)
2024/11/17-20:47:32.983298 7f1d027ff6c0 Manual compaction at level-1 from '!scenes!8DjkNeeujp2qff1N' @ 72057594037927935 : 1 .. '!scenes!ypDutqjqZcr7lx6I' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

View File

@@ -1,7 +1,7 @@
{ {
"id": "fvtt-les-heritiers", "id": "fvtt-les-heritiers",
"description": "Les Héritiers pour FoundryVTT", "description": "Les Héritiers pour FoundryVTT",
"version": "11.0.7", "version": "12.1.1",
"authors": [ "authors": [
{ {
"name": "Uberwald/LeRatierBretonnien", "name": "Uberwald/LeRatierBretonnien",
@@ -15,11 +15,13 @@
"esmodules": [ "esmodules": [
"modules/heritiers-main.js" "modules/heritiers-main.js"
], ],
"gridDistance": 5, "grid": {
"gridUnits": "m", "distance": 5,
"units": "m"
},
"license": "LICENSE.txt", "license": "LICENSE.txt",
"manifest": "https://www.uberwald.me/gitea/public/fvtt-les-heritiers/raw/branch/master/system.json", "manifest": "https://www.uberwald.me/gitea/public/fvtt-les-heritiers/raw/branch/master/system.json",
"download": "https://www.uberwald.me/gitea/public/fvtt-les-heritiers/archive/fvtt-les-heritiers-11.0.7.zip", "download": "https://www.uberwald.me/gitea/public/fvtt-les-heritiers/archive/fvtt-les-heritiers-12.1.1.zip",
"languages": [ "languages": [
{ {
"lang": "fr", "lang": "fr",
@@ -197,7 +199,7 @@
"url": "https://www.uberwald.me/gitea/public/fvtt-les-heritiers", "url": "https://www.uberwald.me/gitea/public/fvtt-les-heritiers",
"background": "systems/fvtt-les-heritiers/assets/ui/wallpaper_foundry2.webp", "background": "systems/fvtt-les-heritiers/assets/ui/wallpaper_foundry2.webp",
"compatibility": { "compatibility": {
"minimum": "10", "minimum": "11",
"verified": "11" "verified": "12"
} }
} }

View File

@@ -37,7 +37,8 @@
"notes": "", "notes": "",
"statut": "", "statut": "",
"playernotes":"", "playernotes":"",
"gmnotes": "" "gmnotes": "",
"magie": false
} }
}, },
"core": { "core": {
@@ -100,7 +101,7 @@
"pres": { "pres": {
"label": "Prestance", "label": "Prestance",
"labelnorm": "prestance", "labelnorm": "prestance",
"abbrev": "pre", "abbrev": "pres",
"kind": "mental", "kind": "mental",
"value": 1, "value": 1,
"rang": 0, "rang": 0,
@@ -142,7 +143,8 @@
}, },
"pv": { "pv": {
"value": 0, "value": 0,
"max": 0 "max": 0,
"mod": 0
}, },
"competences": { "competences": {
"aventurier": { "aventurier": {
@@ -182,6 +184,12 @@
"pp": 0 "pp": 0
} }
}, },
"magie": {
"pointsame": {
"value": 0,
"max": 0
}
},
"experience": { "experience": {
"value": 0, "value": 0,
"pourtricher": 0 "pourtricher": 0
@@ -266,7 +274,8 @@
"fee", "fee",
"pouvoir", "pouvoir",
"profil", "profil",
"protection" "protection",
"sort"
], ],
"profil": { "profil": {
"profiltype": "majeur", "profiltype": "majeur",
@@ -322,6 +331,7 @@
"portee": "", "portee": "",
"resistance": "", "resistance": "",
"resistanceautre":"", "resistanceautre":"",
"pointsusagecourant": -1,
"isvirulence": false, "isvirulence": false,
"virulence":"", "virulence":"",
"description": "" "description": ""
@@ -335,6 +345,7 @@
"niveau": 0, "niveau": 0,
"predilection": false, "predilection": false,
"specialites": [], "specialites": [],
"ismagie": false,
"description": "" "description": ""
}, },
"equipement": { "equipement": {
@@ -343,6 +354,19 @@
"basequip" "basequip"
] ]
}, },
"sort": {
"niveau": "novice",
"competence": "Druidisme",
"carac": "esp",
"duree": "",
"portee": "",
"concentration": "",
"critique": "",
"ingredients": "",
"resistance": "",
"coutactivation": "",
"description": ""
},
"arme": { "arme": {
"categorie": "", "categorie": "",
"armetype": "", "armetype": "",

View File

@@ -52,11 +52,7 @@
<span>&nbsp;&nbsp;</span> <span>&nbsp;&nbsp;</span>
<select class="item-field-label-medium" type="text" name="system.statutmasque" value="{{system.statutmasque}}" data-dtype="string"> <select class="item-field-label-medium" type="text" name="system.statutmasque" value="{{system.statutmasque}}" data-dtype="string">
{{#select system.statutmasque}} {{selectOptions config.statutMasque selected=system.statutmasque}}
{{#each config.statutMasque as |categ cKey|}}
<option value="{{cKey}}">{{categ}}</option>
{{/each}}
{{/select}}
</select> </select>
<span>&nbsp;&nbsp;</span> <span>&nbsp;&nbsp;</span>
@@ -117,22 +113,82 @@
<span class="item-field-label-long2 roll-style"><a class="roll-competence item-field-label-short" <span class="item-field-label-long2 roll-style"><a class="roll-competence item-field-label-short"
data-attr-key="tochoose">{{skill.name}}</a></span> data-attr-key="tochoose">{{skill.name}}</a></span>
<select class="item-field-label-short edit-item-data" type="text" <select class="item-field-label-short edit-item-data" 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}} {{selectOptions @root.config.listNiveau selected=skill.system.niveau}}
{{> systems/fvtt-les-heritiers/templates/partial-list-niveau.html}}
{{/select}}
</select> </select>
<div class="item-controls item-controls-fixed"> <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-edit" title="Editer l'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="Supprimer l'item"><i class="fas fa-trash"></i></a>
</div> </div>
</li> </li>
{{/each}} {{/each}}
</ul> </ul>
</div> </div>
<li class="item flexrow " >
<h2>Magie</h3>
</li>
<div class="flexrow">
<ul>
<li class="flexrow item">
<label class="item-field-label-medium roll-style"><a class="item-field-label-short"
data-rang-key="feerie">Point d'Ame</a></label>
<input type="text" class="item-field-label-short" name="system.magie.pointsame.value"
value="{{system.magie.pointsame.value}}" data-dtype="Number" />
<input type="text" class="item-field-label-short" name="system.magie.pointsame.max"
value="{{system.magie.pointsame.max}}" data-dtype="Number" {{#if issGM}} {{else}} disabled {{/if}} />
</li>
</ul>
</div>
{{#each magieList as |magie idx|}}
<li class="item flexrow " data-item-id="{{magie.competence._id}}" data-item-type="competence">
<h2 class="flexrow"><label class="items-title-text "><a class="roll-competence item-field-label-short"
data-attr-key="tochoose">{{magie.name}} {{magie.competence.system.niveau}} </a> </label>
<div class="item-controls item-controls-fixed">
<a class="item-control item-edit" title="Editer l'item"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="Supprimer l'item"><i class="fas fa-trash"></i></a>
</div>
</h2>
</li>
<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 item-field-label-long2-img">
<h3><label class="items-title-text">Nom du sort</label></h3>
</span>
<span class="item-field-label-medium">
<label class="short-label">Niveau</label>
</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-add" data-type="sort" title="Ajouter un sort"><i
class="fas fa-plus"></i></a>
</div>
</li>
{{#each sorts as |sort key|}}
<li class="item flexrow " data-item-id="{{sort._id}}" data-item-type="sort">
<img class="item-name-img" src="{{sort.img}}" />
<span class="item-field-label-long2 roll-style"><a class="roll-sort">{{sort.name}}</a></span>
<span class="item-field-label-medium">{{upperFirst sort.system.niveau}}</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-edit" title="Editer l'item"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="Supprimer l'item"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ul>
</div>
{{/each}}
</div> </div>
</div> </div>
@@ -221,10 +277,10 @@
<div class="item-filler">&nbsp;</div> <div class="item-filler">&nbsp;</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 <a class="item-control item-equip" title="Equipé">{{#if arme.system.equipped}}<i
class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a> 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="Editer l'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="Supprimer l'item"><i class="fas fa-trash"></i></a>
</div> </div>
</li> </li>
{{/each}} {{/each}}
@@ -242,7 +298,7 @@
</span> </span>
<div class="item-filler">&nbsp;</div> <div class="item-filler">&nbsp;</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>
@@ -255,8 +311,8 @@
</span> </span>
<div class="item-filler">&nbsp;</div> <div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed"> <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-edit" title="Editer l'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="Supprimer l'item"><i class="fas fa-trash"></i></a>
</div> </div>
</li> </li>
{{/each}} {{/each}}
@@ -275,8 +331,8 @@
<span class="item-field-label-long2">{{fee.name}}</span> <span class="item-field-label-long2">{{fee.name}}</span>
<div class="item-filler">&nbsp;</div> <div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed"> <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-edit" title="Editer l'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="Supprimer l'item"><i class="fas fa-trash"></i></a>
</div> </div>
</li> </li>
</div> </div>
@@ -287,10 +343,12 @@
<label class="item-field-label-medium roll-style"><a class="roll-rang item-field-label-short" data-rang-key="feerie">Féerie</a></label> <label class="item-field-label-medium roll-style"><a class="roll-rang item-field-label-short" data-rang-key="feerie">Féerie</a></label>
<input type="text" class="item-field-label-short" name="system.rang.feerie.value" value="{{system.rang.feerie.value}}" data-dtype="Number" /> <input type="text" class="item-field-label-short" name="system.rang.feerie.value" value="{{system.rang.feerie.value}}" data-dtype="Number" />
<input type="text" class="item-field-label-short" name="system.rang.feerie.max" value="{{system.rang.feerie.max}}" data-dtype="Number" /> <input type="text" class="item-field-label-short" name="system.rang.feerie.max" value="{{system.rang.feerie.max}}" data-dtype="Number" />
<span class="item-field-label-long"></span> <span class="item-field-label-medium"></span>
<label class="item-field-label-medium roll-style"><a class="roll-rang item-field-label-short" data-rang-key="masque">Masque</a></label> <label class="item-field-label-medium roll-style"><a class="roll-rang item-field-label-short" data-rang-key="masque">Masque</a></label>
<input type="text" class="item-field-label-short" name="system.rang.masque.value" value="{{system.rang.masque.value}}" data-dtype="Number" /> <input type="text" class="item-field-label-short" name="system.rang.masque.value" value="{{system.rang.masque.value}}" data-dtype="Number" />
<input type="text" class="item-field-label-short" name="system.rang.masque.max" value="{{system.rang.masque.max}}" data-dtype="Number" /> <input type="text" class="item-field-label-short" name="system.rang.masque.max" value="{{system.rang.masque.max}}" data-dtype="Number" />
<span class="item-field-label-medium"></span>
<label class="item-field-label-long roll-style"><a class="dialog-recup-usage item-field-label-long">Récup. P. d'Usage</a></label>
</li> </li>
</ul> </ul>
</div> </div>
@@ -305,6 +363,8 @@
</span> </span>
<div class="item-filler">&nbsp;</div> <div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed"> <div class="item-controls item-controls-fixed">
<a class="item-control item-add" data-type="avantage" title="Ajouter un avantage"><i
class="fas fa-plus"></i></a>
</div> </div>
</li> </li>
{{#each avantages as |avantage key|}} {{#each avantages as |avantage key|}}
@@ -313,8 +373,8 @@
<span class="item-field-label-long2">{{avantage.name}}</span> <span class="item-field-label-long2">{{avantage.name}}</span>
<div class="item-filler">&nbsp;</div> <div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed"> <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-edit" title="Editer l'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="Supprimer l'item"><i class="fas fa-trash"></i></a>
</div> </div>
</li> </li>
{{/each}} {{/each}}
@@ -329,6 +389,8 @@
</span> </span>
<div class="item-filler">&nbsp;</div> <div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed"> <div class="item-controls item-controls-fixed">
<a class="item-control item-add" data-type="desavantage" title="Ajouter un Désavantage"><i
class="fas fa-plus"></i></a>
</div> </div>
</li> </li>
{{#each desavantages as |desavantage key|}} {{#each desavantages as |desavantage key|}}
@@ -337,8 +399,8 @@
<span class="item-field-label-long2">{{desavantage.name}}</span> <span class="item-field-label-long2">{{desavantage.name}}</span>
<div class="item-filler">&nbsp;</div> <div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed"> <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-edit" title="Editer l'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="Supprimer l'item"><i class="fas fa-trash"></i></a>
</div> </div>
</li> </li>
{{/each}} {{/each}}
@@ -353,6 +415,8 @@
</span> </span>
<div class="item-filler">&nbsp;</div> <div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed"> <div class="item-controls item-controls-fixed">
<a class="item-control item-add" data-type="atoutfeerique" title="Ajouter un Atout féerique"><i
class="fas fa-plus"></i></a>
</div> </div>
</li> </li>
{{#each atouts as |atout key|}} {{#each atouts as |atout key|}}
@@ -361,8 +425,8 @@
<span class="item-field-label-long2">{{atout.name}}</span> <span class="item-field-label-long2">{{atout.name}}</span>
<div class="item-filler">&nbsp;</div> <div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed"> <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-edit" title="Editer l'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="Supprimer l'item"><i class="fas fa-trash"></i></a>
</div> </div>
</li> </li>
{{/each}} {{/each}}
@@ -384,33 +448,34 @@
<span class="item-field-label-medium"> <span class="item-field-label-medium">
<label class="short-label">Niveau</label> <label class="short-label">Niveau</label>
</span> </span>
<span class="item-field-label-medium">
<label class="short-label">Usage</label>
</span>
<div class="item-filler">&nbsp;</div> <div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed"> <div class="item-controls item-controls-fixed">
<a class="item-control item-add" data-type="pouvoir" title="Ajouter un pouvoir"><i
class="fas fa-plus"></i></a>
</div> </div>
</li> </li>
{{#each pouvoirs as |pouvoir key|}} {{#each pouvoirs as |pouvoir key|}}
<li class="item flexrow " data-item-id="{{pouvoir._id}}" data-item-type="pouvoir"> <li class="item flexrow " data-item-id="{{pouvoir._id}}" data-item-type="pouvoir">
<img class="item-name-img" src="{{pouvoir.img}}" /> <img class="item-name-img" src="{{pouvoir.img}}" />
{{#if pouvoir.system.istest}}
<span class="item-field-label-long2 roll-style"><a class="roll-pouvoir">{{pouvoir.name}}</a></span> <span class="item-field-label-long2 roll-style"><a class="roll-pouvoir">{{pouvoir.name}}</a></span>
{{else}}
<span class="item-field-label-long2">{{pouvoir.name}}</span>
{{/if}}
<span class="item-field-label-medium">{{upperFirst pouvoir.system.masquetype}}</span> <span class="item-field-label-medium">{{upperFirst pouvoir.system.masquetype}}</span>
<span class="item-field-label-medium">{{upperFirst pouvoir.system.pouvoirtype}}</span> <span class="item-field-label-medium">{{upperFirst pouvoir.system.pouvoirtype}}</span>
<span class="item-field-label-medium">{{upperFirst pouvoir.system.niveau}}</span> <span class="item-field-label-medium">{{upperFirst pouvoir.system.niveau}}</span>
<span class="item-field-label-medium">{{pouvoir.system.pointsusagecourant}}/{{pouvoir.maxUsage}}</span>
<div class="item-filler">&nbsp;</div> <div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed"> <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-edit" title="Editer l'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="Supprimer l'item"><i class="fas fa-trash"></i></a>
</div> </div>
</li> </li>
{{/each}} {{/each}}
</ul> </ul>
</div> </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">
@@ -419,6 +484,8 @@
</span> </span>
<div class="item-filler">&nbsp;</div> <div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed"> <div class="item-controls item-controls-fixed">
<a class="item-control item-add" data-type="capacitenaturelle" title="Ajouter une Capacité naturelle"><i
class="fas fa-plus"></i></a>
</div> </div>
</li> </li>
{{#each capacites as |capa key|}} {{#each capacites as |capa key|}}
@@ -427,8 +494,8 @@
<span class="item-field-label-long2">{{capa.name}}</span> <span class="item-field-label-long2">{{capa.name}}</span>
<div class="item-filler">&nbsp;</div> <div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed"> <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-edit" title="Editer l'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="Supprimer l'item"><i class="fas fa-trash"></i></a>
</div> </div>
</li> </li>
{{/each}} {{/each}}
@@ -452,8 +519,8 @@
<span class="item-field-label-long2">{{equip.name}}</span> <span class="item-field-label-long2">{{equip.name}}</span>
<div class="item-filler">&nbsp;</div> <div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed"> <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-edit" title="Editer l'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="Supprimer l'item"><i class="fas fa-trash"></i></a>
</div> </div>
</li> </li>
{{/each}} {{/each}}

View File

@@ -14,7 +14,8 @@
{{#each system.caracteristiques as |carac key|}} {{#each system.caracteristiques as |carac key|}}
{{#if (eq kind "physical")}} {{#if (eq kind "physical")}}
<li class="item flexrow "> <li class="item flexrow ">
<h4 class="item-name-label competence-name roll-style"><a class="roll-carac" data-key="{{key}}">{{carac.label}}</a></h4> <h4 class="item-name-label competence-name roll-style"><a class="roll-carac"
data-key="{{key}}">{{carac.label}}</a></h4>
<input type="text" class="padd-right status-small-label color-class-common item-field-label-short" <input type="text" class="padd-right status-small-label color-class-common item-field-label-short"
name="system.caracteristiques.{{key}}.value" value="{{carac.value}}" data-dtype="Number" /> name="system.caracteristiques.{{key}}.value" value="{{carac.value}}" data-dtype="Number" />
<input type="text" class="padd-right status-small-label color-class-common item-field-label-short" <input type="text" class="padd-right status-small-label color-class-common item-field-label-short"
@@ -30,7 +31,8 @@
{{#each system.caracteristiques as |carac key|}} {{#each system.caracteristiques as |carac key|}}
{{#if (eq kind "mental")}} {{#if (eq kind "mental")}}
<li class="item flexrow "> <li class="item flexrow ">
<h4 class="item-name-label competence-name roll-style"><a class="roll-carac" data-key="{{key}}">{{carac.label}}</a></h4> <h4 class="item-name-label competence-name roll-style"><a class="roll-carac"
data-key="{{key}}">{{carac.label}}</a></h4>
<input type="text" class="padd-right status-small-label color-class-common item-field-label-short" <input type="text" class="padd-right status-small-label color-class-common item-field-label-short"
name="system.caracteristiques.{{key}}.value" value="{{carac.value}}" data-dtype="Number" /> name="system.caracteristiques.{{key}}.value" value="{{carac.value}}" data-dtype="Number" />
<input type="text" class="padd-right status-small-label color-class-common item-field-label-short" <input type="text" class="padd-right status-small-label color-class-common item-field-label-short"
@@ -42,27 +44,30 @@
</div> </div>
</div> </div>
<div class="flexrow"> <div class="flexrow">
<label class="item-field-label-short">PV</label> <label class="item-field-label-short">PV</label>
<input type="text" class="item-field-label-short" name="system.pv.value" value="{{system.pv.value}}" data-dtype="Number" /> <input type="text" class="item-field-label-short" name="system.pv.value" value="{{system.pv.value}}"
<input type="text" class="item-field-label-short" name="system.pv.max" value="{{system.pv.max}}" data-dtype="Number" /> data-dtype="Number" />
<label class="item-field-label-short">Malus</label> <input type="text" class="item-field-label-short" name="system.pv.max" value="{{system.pv.max}}" disabled
<input type="text" class="item-field-label-short" value="{{pvMalus.value}}" data-dtype="Number" disabled /> data-dtype="Number" />
<span>&nbsp;&nbsp;</span> <input type="text" class="item-field-label-short" name="system.pv.mod" value="{{system.pv.mod}}"
data-dtype="Number" />
<label class="item-field-label-short">Malus</label>
<input type="text" class="item-field-label-short" value="{{pvMalus.value}}" data-dtype="Number" disabled />
<span>&nbsp;&nbsp;</span>
<select class="item-field-label-medium" type="text" name="system.statutmasque" value="{{system.statutmasque}}" data-dtype="string"> <select class="item-field-label-medium" type="text" name="system.statutmasque"
{{#select system.statutmasque}} value="{{system.statutmasque}}" data-dtype="string">
{{#each config.statutMasque as |categ cKey|}} {{selectOptions config.statutMasque selected=system.statutmasque}}
<option value="{{cKey}}">{{categ}}</option> </select>
{{/each}}
{{/select}}
</select>
<span>&nbsp;&nbsp;</span> <span>&nbsp;&nbsp;</span>
<label class="item-field-label-short">Tricherie</label> <label class="item-field-label-short">Tricherie</label>
<input type="text" class="item-field-label-short" name="system.rang.tricherie.value" value="{{system.rang.tricherie.value}}" data-dtype="Number" /> <input type="text" class="item-field-label-short" name="system.rang.tricherie.value"
<input type="text" class="item-field-label-short" name="system.rang.tricherie.max" value="{{system.rang.tricherie.max}}" data-dtype="Number" /> value="{{system.rang.tricherie.value}}" data-dtype="Number" />
</div> <input type="text" class="item-field-label-short" name="system.rang.tricherie.max"
value="{{system.rang.tricherie.max}}" data-dtype="Number" />
</div>
</div> </div>
</div> </div>
@@ -72,6 +77,9 @@
<nav class="sheet-tabs tabs" data-group="primary"> <nav class="sheet-tabs tabs" data-group="primary">
<a class="item" data-tab="competences">Compétences</a> <a class="item" data-tab="competences">Compétences</a>
<a class="item" data-tab="fee">Fée</a> <a class="item" data-tab="fee">Fée</a>
{{#if system.biodata.magie}}
<a class="item" data-tab="magie">Magie</a>
{{/if}}
<a class="item" data-tab="combat">Combat</a> <a class="item" data-tab="combat">Combat</a>
<a class="item" data-tab="equipement">Equipement</a> <a class="item" data-tab="equipement">Equipement</a>
<a class="item" data-tab="contact">Contacts</a> <a class="item" data-tab="contact">Contacts</a>
@@ -91,13 +99,15 @@
<div> <div>
{{#each utileSkillsPhysical as |skillDef keyProfil|}} {{#each utileSkillsPhysical as |skillDef keyProfil|}}
{{> systems/fvtt-les-heritiers/templates/partial-utile-skills.html skillDef=skillDef keyProfil=keyProfil}} {{> systems/fvtt-les-heritiers/templates/partial-utile-skills.html skillDef=skillDef keyProfil=keyProfil
config=config}}
{{/each}} {{/each}}
</div> </div>
<div> <div>
{{#each utileSkillsMental as |skillDef keyProfil|}} {{#each utileSkillsMental as |skillDef keyProfil|}}
{{> systems/fvtt-les-heritiers/templates/partial-utile-skills.html skillDef=skillDef keyProfil=keyProfil}} {{> systems/fvtt-les-heritiers/templates/partial-utile-skills.html skillDef=skillDef keyProfil=keyProfil
config=config}}
{{/each}} {{/each}}
</div> </div>
@@ -113,22 +123,24 @@
<label class="short-label">Niveau</label> <label class="short-label">Niveau</label>
</span> </span>
<div class="item-filler">&nbsp;</div> <div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-add" data-type="competence" title="Ajouter une compétence futile"><i
class="fas fa-plus"></i></a>
</div>
</li> </li>
{{#each futileSkills as |skill key|}} {{#each futileSkills 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">
<span class="item-field-label-long2 roll-style"><a class="roll-competence item-field-label-short" <span class="item-field-label-long2 roll-style"><a class="roll-competence item-field-label-short"
data-attr-key="tochoose">{{skill.name}}</a></span> data-attr-key="tochoose">{{skill.name}}</a></span>
<select class="item-field-label-short edit-item-data" type="text" <select class="item-field-label-short edit-item-data" type="text" data-item-field="niveau"
data-item-field="niveau" value="{{skill.system.niveau}}" data-dtype="Number"> value="{{skill.system.niveau}}" data-dtype="Number">
{{#select skill.system.niveau}} {{selectOptions @root.config.listNiveau selected=skill.system.niveau}}
{{> systems/fvtt-les-heritiers/templates/partial-list-niveau.html}}
{{/select}}
</select> </select>
<div class="item-controls item-controls-fixed"> <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-edit" title="Editer l'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="Supprimer l'item"><i class="fas fa-trash"></i></a>
</div> </div>
</li> </li>
{{/each}} {{/each}}
@@ -149,32 +161,41 @@
<li class="item flexrow list-item items-title-bg"> <li class="item flexrow list-item items-title-bg">
<label class="item-field-label-medium"><strong>Esquive</strong></label> <label class="item-field-label-medium"><strong>Esquive</strong></label>
<label class="item-field-label-medium">Masquée</label> <label class="item-field-label-medium">Masquée</label>
<input type="text" class="item-field-label-short" name="system.combat.esquive.masquee" value="{{system.combat.esquive.masquee}}" data-dtype="Number" /> <input type="text" class="item-field-label-short" name="system.combat.esquive.masquee"
value="{{system.combat.esquive.masquee}}" data-dtype="Number" />
<label class="item-field-label-medium">Démasquée</label> <label class="item-field-label-medium">Démasquée</label>
<input type="text" class="item-field-label-short" name="system.combat.esquive.demasquee" value="{{system.combat.esquive.demasquee}}" data-dtype="Number" /> <input type="text" class="item-field-label-short" name="system.combat.esquive.demasquee"
value="{{system.combat.esquive.demasquee}}" data-dtype="Number" />
<label class="item-field-label-short">&nbsp;&nbsp;</label> <label class="item-field-label-short">&nbsp;&nbsp;</label>
<label class="item-field-label-medium"><strong>Parade</strong></label> <label class="item-field-label-medium"><strong>Parade</strong></label>
<label class="item-field-label-medium">Masquée</label> <label class="item-field-label-medium">Masquée</label>
<input type="text" class="item-field-label-short" name="system.combat.parade.masquee" value="{{system.combat.parade.masquee}}" data-dtype="Number" /> <input type="text" class="item-field-label-short" name="system.combat.parade.masquee"
value="{{system.combat.parade.masquee}}" data-dtype="Number" />
<label class="item-field-label-medium">Démasquée</label> <label class="item-field-label-medium">Démasquée</label>
<input type="text" class="item-field-label-short" name="system.combat.parade.demasquee" value="{{system.combat.parade.demasquee}}" data-dtype="Number" /> <input type="text" class="item-field-label-short" name="system.combat.parade.demasquee"
value="{{system.combat.parade.demasquee}}" data-dtype="Number" />
</li> </li>
<li class="item flexrow list-item items-title-bg"> <li class="item flexrow list-item items-title-bg">
<label class="item-field-label-long">Rés. physique</label> <label class="item-field-label-long">Rés. physique</label>
<input type="text" class="item-field-label-short" name="system.combat.resistancephysique.value" value="{{system.combat.resistancephysique.value}}" data-dtype="Number" /> <input type="text" class="item-field-label-short" name="system.combat.resistancephysique.value"
value="{{system.combat.resistancephysique.value}}" data-dtype="Number" />
<label class="item-field-label-short">&nbsp;&nbsp;</label> <label class="item-field-label-short">&nbsp;&nbsp;</label>
<label class="item-field-label-long">Rés. psychique</label> <label class="item-field-label-long">Rés. psychique</label>
<input type="text" class="item-field-label-short" name="system.combat.resistancepsychique.value" value="{{system.combat.resistancepsychique.value}}" data-dtype="Number" /> <input type="text" class="item-field-label-short" name="system.combat.resistancepsychique.value"
value="{{system.combat.resistancepsychique.value}}" data-dtype="Number" />
<label class="item-field-label-short">&nbsp;&nbsp;</label> <label class="item-field-label-short">&nbsp;&nbsp;</label>
<label class="item-field-label-medium">Protection : </label> <label class="item-field-label-medium">Protection : </label>
<input type="text" class="item-field-label-short" name="system.combat.protection.value" value="{{system.combat.protection.value}}" data-dtype="Number" /> <input type="text" class="item-field-label-short" name="system.combat.protection.value"
value="{{system.combat.protection.value}}" data-dtype="Number" />
</li> </li>
<li class="item flexrow list-item items-title-bg"> <li class="item flexrow list-item items-title-bg">
<label class="item-field-label-long">Effets secondaires</label> <label class="item-field-label-long">Effets secondaires</label>
<input type="text" class="item-field-label-short" name="system.combat.effetssecondaires" value="{{system.combat.effetssecondaires}}" data-dtype="String" /> <input type="text" class="item-field-label-short" name="system.combat.effetssecondaires"
value="{{system.combat.effetssecondaires}}" data-dtype="String" />
<label class="item-field-label-short">&nbsp;&nbsp;</label> <label class="item-field-label-short">&nbsp;&nbsp;</label>
<label class="item-field-label-long">Dissimulation : </label> <label class="item-field-label-long">Dissimulation : </label>
<input type="text" class="item-field-label-short" name="system.combat.dissimulation.value" value="{{system.combat.dissimulation.value}}" data-dtype="Number" /> <input type="text" class="item-field-label-short" name="system.combat.dissimulation.value"
value="{{system.combat.dissimulation.value}}" data-dtype="Number" />
</li> </li>
</ul> </ul>
@@ -220,16 +241,17 @@
<button class="roll-attaque-charge-arme button-sheet-roll">Charger</button> <button class="roll-attaque-charge-arme button-sheet-roll">Charger</button>
</span> </span>
<span class="item-field-label-short"> <span class="item-field-label-short">
<button class="roll-attaque-brutale-arme button-sheet-roll button-sheet-roll-long1">Attaque brutale</button> <button class="roll-attaque-brutale-arme button-sheet-roll button-sheet-roll-long1">Attaque
brutale</button>
</span> </span>
{{/if}} {{/if}}
<div class="item-filler">&nbsp;</div> <div class="item-filler">&nbsp;</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 <a class="item-control item-equip" title="Equipé">{{#if arme.system.equipped}}<i
class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a> 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="Editer l'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="Supprimer l'item"><i class="fas fa-trash"></i></a>
</div> </div>
</li> </li>
{{/each}} {{/each}}
@@ -247,7 +269,7 @@
</span> </span>
<div class="item-filler">&nbsp;</div> <div class="item-filler">&nbsp;</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>
@@ -260,8 +282,8 @@
</span> </span>
<div class="item-filler">&nbsp;</div> <div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed"> <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-edit" title="Editer l'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="Supprimer l'item"><i class="fas fa-trash"></i></a>
</div> </div>
</li> </li>
{{/each}} {{/each}}
@@ -280,8 +302,8 @@
<span class="item-field-label-long2">{{fee.name}}</span> <span class="item-field-label-long2">{{fee.name}}</span>
<div class="item-filler">&nbsp;</div> <div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed"> <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-edit" title="Editer l'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="Supprimer l'item"><i class="fas fa-trash"></i></a>
</div> </div>
</li> </li>
</div> </div>
@@ -289,13 +311,22 @@
<div class="flexrow"> <div class="flexrow">
<ul> <ul>
<li class="flexrow item"> <li class="flexrow item">
<label class="item-field-label-medium roll-style"><a class="roll-rang item-field-label-short" data-rang-key="feerie">Féerie</a></label> <label class="item-field-label-medium roll-style"><a class="roll-rang item-field-label-short"
<input type="text" class="item-field-label-short" name="system.rang.feerie.value" value="{{system.rang.feerie.value}}" data-dtype="Number" /> data-rang-key="feerie">Féerie</a></label>
<input type="text" class="item-field-label-short" name="system.rang.feerie.max" value="{{system.rang.feerie.max}}" data-dtype="Number" /> <input type="text" class="item-field-label-short" name="system.rang.feerie.value"
<span class="item-field-label-long"></span> value="{{system.rang.feerie.value}}" data-dtype="Number" />
<label class="item-field-label-medium roll-style"><a class="roll-rang item-field-label-short" data-rang-key="masque">Masque</a></label> <input type="text" class="item-field-label-short" name="system.rang.feerie.max"
<input type="text" class="item-field-label-short" name="system.rang.masque.value" value="{{system.rang.masque.value}}" data-dtype="Number" /> value="{{system.rang.feerie.max}}" data-dtype="Number" />
<input type="text" class="item-field-label-short" name="system.rang.masque.max" value="{{system.rang.masque.max}}" data-dtype="Number" /> <span class="item-field-label-medium"></span>
<label class="item-field-label-medium roll-style"><a class="roll-rang item-field-label-short"
data-rang-key="masque">Masque</a></label>
<input type="text" class="item-field-label-short" name="system.rang.masque.value"
value="{{system.rang.masque.value}}" data-dtype="Number" />
<input type="text" class="item-field-label-short" name="system.rang.masque.max"
value="{{system.rang.masque.max}}" data-dtype="Number" />
<span class="item-field-label-medium"></span>
<label class="item-field-label-long roll-style"><a class="dialog-recup-usage item-field-label-long">Récup.
P. d'Usage</a></label>
</li> </li>
</ul> </ul>
</div> </div>
@@ -310,6 +341,8 @@
</span> </span>
<div class="item-filler">&nbsp;</div> <div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed"> <div class="item-controls item-controls-fixed">
<a class="item-control item-add" data-type="avantage" title="Ajouter un avantage"><i
class="fas fa-plus"></i></a>
</div> </div>
</li> </li>
{{#each avantages as |avantage key|}} {{#each avantages as |avantage key|}}
@@ -318,8 +351,8 @@
<span class="item-field-label-long2">{{avantage.name}}</span> <span class="item-field-label-long2">{{avantage.name}}</span>
<div class="item-filler">&nbsp;</div> <div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed"> <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-edit" title="Editer l'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="Supprimer l'item"><i class="fas fa-trash"></i></a>
</div> </div>
</li> </li>
{{/each}} {{/each}}
@@ -334,6 +367,8 @@
</span> </span>
<div class="item-filler">&nbsp;</div> <div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed"> <div class="item-controls item-controls-fixed">
<a class="item-control item-add" data-type="desavantage" title="Ajouter un désavantage"><i
class="fas fa-plus"></i></a>
</div> </div>
</li> </li>
{{#each desavantages as |desavantage key|}} {{#each desavantages as |desavantage key|}}
@@ -342,8 +377,8 @@
<span class="item-field-label-long2">{{desavantage.name}}</span> <span class="item-field-label-long2">{{desavantage.name}}</span>
<div class="item-filler">&nbsp;</div> <div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed"> <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-edit" title="Editer l'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="Supprimer l'item"><i class="fas fa-trash"></i></a>
</div> </div>
</li> </li>
{{/each}} {{/each}}
@@ -358,6 +393,8 @@
</span> </span>
<div class="item-filler">&nbsp;</div> <div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed"> <div class="item-controls item-controls-fixed">
<a class="item-control item-add" data-type="atoutfeerique" title="Ajouter un atout féerique"><i
class="fas fa-plus"></i></a>
</div> </div>
</li> </li>
{{#each atouts as |atout key|}} {{#each atouts as |atout key|}}
@@ -366,8 +403,8 @@
<span class="item-field-label-long2">{{atout.name}}</span> <span class="item-field-label-long2">{{atout.name}}</span>
<div class="item-filler">&nbsp;</div> <div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed"> <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-edit" title="Editer l'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="Supprimer l'item"><i class="fas fa-trash"></i></a>
</div> </div>
</li> </li>
{{/each}} {{/each}}
@@ -389,26 +426,28 @@
<span class="item-field-label-medium"> <span class="item-field-label-medium">
<label class="short-label">Niveau</label> <label class="short-label">Niveau</label>
</span> </span>
<span class="item-field-label-medium">
<label class="short-label">Usage</label>
</span>
<div class="item-filler">&nbsp;</div> <div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed"> <div class="item-controls item-controls-fixed">
<a class="item-control item-add" data-type="pouvoir" title="Ajouter un pouvoir"><i
class="fas fa-plus"></i></a>
</div> </div>
</li> </li>
{{#each pouvoirs as |pouvoir key|}} {{#each pouvoirs as |pouvoir key|}}
<li class="item flexrow " data-item-id="{{pouvoir._id}}" data-item-type="pouvoir"> <li class="item flexrow " data-item-id="{{pouvoir._id}}" data-item-type="pouvoir">
<img class="item-name-img" src="{{pouvoir.img}}" /> <img class="item-name-img" src="{{pouvoir.img}}" />
{{#if pouvoir.system.istest}}
<span class="item-field-label-long2 roll-style"><a class="roll-pouvoir">{{pouvoir.name}}</a></span> <span class="item-field-label-long2 roll-style"><a class="roll-pouvoir">{{pouvoir.name}}</a></span>
{{else}}
<span class="item-field-label-long2">{{pouvoir.name}}</span>
{{/if}}
<span class="item-field-label-medium">{{upperFirst pouvoir.system.masquetype}}</span> <span class="item-field-label-medium">{{upperFirst pouvoir.system.masquetype}}</span>
<span class="item-field-label-medium">{{upperFirst pouvoir.system.pouvoirtype}}</span> <span class="item-field-label-medium">{{upperFirst pouvoir.system.pouvoirtype}}</span>
<span class="item-field-label-medium">{{upperFirst pouvoir.system.niveau}}</span> <span class="item-field-label-medium">{{upperFirst pouvoir.system.niveau}}</span>
<span class="item-field-label-medium">{{pouvoir.system.pointsusagecourant}}/{{pouvoir.maxUsage}}</span>
<div class="item-filler">&nbsp;</div> <div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed"> <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-edit" title="Editer l'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="Supprimer l'item"><i class="fas fa-trash"></i></a>
</div> </div>
</li> </li>
{{/each}} {{/each}}
@@ -424,6 +463,8 @@
</span> </span>
<div class="item-filler">&nbsp;</div> <div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed"> <div class="item-controls item-controls-fixed">
<a class="item-control item-add" data-type="capacitenaturelle" title="Ajouter une capacité naturelle"><i
class="fas fa-plus"></i></a>
</div> </div>
</li> </li>
{{#each capacites as |capa key|}} {{#each capacites as |capa key|}}
@@ -432,8 +473,8 @@
<span class="item-field-label-long2">{{capa.name}}</span> <span class="item-field-label-long2">{{capa.name}}</span>
<div class="item-filler">&nbsp;</div> <div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed"> <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-edit" title="Editer l'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="Supprimer l'item"><i class="fas fa-trash"></i></a>
</div> </div>
</li> </li>
{{/each}} {{/each}}
@@ -445,6 +486,68 @@
</div> </div>
{{!-- Magie Tab --}}
<div class="tab magie" data-group="primary" data-tab="magie">
<div class="flexrow">
<ul>
<li class="flexrow item">
<label class="item-field-label-medium roll-style"><a class="item-field-label-short"
data-rang-key="feerie">Point d'Ame</a></label>
<input type="text" class="item-field-label-short" name="system.magie.pointsame.value"
value="{{system.magie.pointsame.value}}" data-dtype="Number" />
<input type="text" class="item-field-label-short" name="system.magie.pointsame.max"
value="{{system.magie.pointsame.max}}" data-dtype="Number" {{#if issGM}} {{else}} disabled {{/if}} />
</li>
</ul>
</div>
{{#each magieList as |magie idx|}}
<li class="item flexrow " data-item-id="{{magie.competence._id}}" data-item-type="competence">
<h2 class="flexrow"><label class="items-title-text "><a class="roll-competence item-field-label-short"
data-attr-key="tochoose">{{magie.name}} {{magie.competence.system.niveau}} </a> </label>
<div class="item-controls item-controls-fixed">
<a class="item-control item-edit" title="Editer l'item"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="Supprimer l'item"><i class="fas fa-trash"></i></a>
</div>
</h2>
</li>
<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 item-field-label-long2-img">
<h3><label class="items-title-text">Nom du sort</label></h3>
</span>
<span class="item-field-label-medium">
<label class="short-label">Niveau</label>
</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-add" data-type="sort" title="Ajouter un sort"><i
class="fas fa-plus"></i></a>
</div>
</li>
{{#each sorts as |sort key|}}
<li class="item flexrow " data-item-id="{{sort._id}}" data-item-type="sort">
<img class="item-name-img" src="{{sort.img}}" />
<span class="item-field-label-long2 roll-style"><a class="roll-sort">{{sort.name}}</a></span>
<span class="item-field-label-medium">{{upperFirst sort.system.niveau}}</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-edit" title="Editer l'item"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="Supprimer l'item"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ul>
</div>
{{/each}}
</div>
{{!-- Equipement Tab --}} {{!-- Equipement Tab --}}
<div class="tab equipement" data-group="primary" data-tab="equipement"> <div class="tab equipement" data-group="primary" data-tab="equipement">
@@ -455,8 +558,9 @@
<h3><label class="items-title-text">Equipements</label></h3> <h3><label class="items-title-text">Equipements</label></h3>
</span> </span>
<div class="item-filler">&nbsp;</div> <div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed"> <div class="item-controls item-controls-fixed">
<a class="item-control item-add" data-type="equipement" title="Créer un équipement"><i class="fas fa-plus"></i></a> <a class="item-control item-add" data-type="equipement" title="Créer un équipement"><i
class="fas fa-plus"></i></a>
</div> </div>
</li> </li>
{{#each equipements as |equip key|}} {{#each equipements as |equip key|}}
@@ -465,8 +569,8 @@
<span class="item-field-label-long2">{{equip.name}}</span> <span class="item-field-label-long2">{{equip.name}}</span>
<div class="item-filler">&nbsp;</div> <div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed"> <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-edit" title="Editer l'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="Supprimer l'item"><i class="fas fa-trash"></i></a>
</div> </div>
</li> </li>
{{/each}} {{/each}}
@@ -484,8 +588,9 @@
<h3><label class="items-title-text">Contacts, Allies et Ennemis</label></h3> <h3><label class="items-title-text">Contacts, Allies et Ennemis</label></h3>
</span> </span>
<div class="item-filler">&nbsp;</div> <div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed"> <div class="item-controls item-controls-fixed">
<a class="item-control item-add" data-type="contact" title="Créer un contact"><i class="fas fa-plus"></i></a> <a class="item-control item-add" data-type="contact" title="Créer un contact"><i
class="fas fa-plus"></i></a>
</div> </div>
</li> </li>
</div> </div>
@@ -498,8 +603,9 @@
<h3><label class="items-title-text">{{contactList.label}}</label></h3> <h3><label class="items-title-text">{{contactList.label}}</label></h3>
</span> </span>
<div class="item-filler">&nbsp;</div> <div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed"> <div class="item-controls item-controls-fixed">
<a class="item-control item-add" data-type="contact" title="Créer un contact"><i class="fas fa-plus"></i></a> <a class="item-control item-add" data-type="contact" title="Créer un contact"><i
class="fas fa-plus"></i></a>
</div> </div>
</li> </li>
{{#each contactList.list as |contact key|}} {{#each contactList.list as |contact key|}}
@@ -508,8 +614,8 @@
<span class="item-field-label-long2">{{contact.name}}</span> <span class="item-field-label-long2">{{contact.name}}</span>
<div class="item-filler">&nbsp;</div> <div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed"> <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-edit" title="Editer l'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="Supprimer l'item"><i class="fas fa-trash"></i></a>
</div> </div>
</li> </li>
{{/each}} {{/each}}
@@ -542,8 +648,8 @@
<span class="item-field-label-medium">{{upperFirst profil.system.profiltype}}</span> <span class="item-field-label-medium">{{upperFirst profil.system.profiltype}}</span>
<div class="item-filler">&nbsp;</div> <div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed"> <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-edit" title="Editer l'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="Supprimer l'item"><i class="fas fa-trash"></i></a>
</div> </div>
</li> </li>
{{/each}} {{/each}}
@@ -553,28 +659,37 @@
<div class="flexrow"> <div class="flexrow">
<ul> <ul>
<li class="flexrow item"> <li class="flexrow item">
<label class="item-field-label-long2">Nom humain</label> <input type="text" class="" name="system.biodata.nomhumain" value="{{system.biodata.nomhumain}}" data-dtype="String" /> <label class="item-field-label-long2">Nom humain</label> <input type="text" class=""
name="system.biodata.nomhumain" value="{{system.biodata.nomhumain}}" data-dtype="String" />
</li> </li>
<li class="flexrow item"> <li class="flexrow item">
<label class="item-field-label-long2">Activités</label> <input type="text" class="" name="system.biodata.activites" value="{{system.biodata.activites}}" data-dtype="String" /> <label class="item-field-label-long2">Activités</label> <input type="text" class=""
name="system.biodata.activites" value="{{system.biodata.activites}}" data-dtype="String" />
</li> </li>
<li class="flexrow item"> <li class="flexrow item">
<label class="item-field-label-long2">Apparence masquée</label> <input type="text" class="" name="system.biodata.apparencemasquee" value="{{system.biodata.apparencemasquee}}" data-dtype="String" /> <label class="item-field-label-long2">Apparence masquée</label> <input type="text" class=""
name="system.biodata.apparencemasquee" value="{{system.biodata.apparencemasquee}}" data-dtype="String" />
</li> </li>
<li class="flexrow item"> <li class="flexrow item">
<label class="item-field-label-long2">Apparence démasquée</label> <input type="text" class="" name="system.biodata.apparencedemasquee" value="{{system.biodata.apparencedemasquee}}" data-dtype="String" /> <label class="item-field-label-long2">Apparence démasquée</label> <input type="text" class=""
name="system.biodata.apparencedemasquee" value="{{system.biodata.apparencedemasquee}}"
data-dtype="String" />
</li> </li>
<li class="flexrow item"> <li class="flexrow item">
<label class="item-field-label-long2">Titre et Famille</label> <input type="text" class="" name="system.biodata.titrefamille" value="{{system.biodata.titrefamille}}" data-dtype="String" /> <label class="item-field-label-long2">Titre et Famille</label> <input type="text" class=""
name="system.biodata.titrefamille" value="{{system.biodata.titrefamille}}" data-dtype="String" />
</li> </li>
<li class="flexrow item"> <li class="flexrow item">
<label class="item-field-label-long2">Factions féériques</label> <input type="text" class="" name="system.biodata.factionfeerique" value="{{system.biodata.factionfeerique}}" data-dtype="String" /> <label class="item-field-label-long2">Factions féériques</label> <input type="text" class=""
name="system.biodata.factionfeerique" value="{{system.biodata.factionfeerique}}" data-dtype="String" />
</li> </li>
<li class="flexrow item"> <li class="flexrow item">
<label class="item-field-label-long2">Traits de caractères dominants</label> <input type="text" class="" name="system.biodata.traitscaracteres" value="{{system.biodata.traitscaracteres}}" data-dtype="String" /> <label class="item-field-label-long2">Traits de caractères dominants</label> <input type="text" class=""
name="system.biodata.traitscaracteres" value="{{system.biodata.traitscaracteres}}" data-dtype="String" />
</li> </li>
<li class="flexrow item"> <li class="flexrow item">
<label class="item-field-label-long2">Langues</label> <input type="text" class="" name="system.biodata.langues" value="{{system.biodata.langues}}" data-dtype="String" /> <label class="item-field-label-long2">Langues</label> <input type="text" class=""
name="system.biodata.langues" value="{{system.biodata.langues}}" data-dtype="String" />
</li> </li>
</ul> </ul>
</div> </div>
@@ -597,6 +712,13 @@
<input type="text" class="" name="system.biodata.age" value="{{system.biodata.age}}" <input type="text" class="" name="system.biodata.age" value="{{system.biodata.age}}"
data-dtype="String" /> data-dtype="String" />
</li> </li>
{{#if isGM}}
<li class="item flexrow">
<label class="generic-label">Fiche de Magie ?</label>
<input type="checkbox" class="item-field-label-short edit-item-data" name="system.biodata.magie" {{checked
system.biodata.magie}} />
</li>
{{/if}}
</ul> </ul>
</div> </div>
<div> <div>
@@ -608,8 +730,8 @@
</li> </li>
<li class="item flexrow"> <li class="item flexrow">
<label class="generic-label">Taille Démasquée</label> <label class="generic-label">Taille Démasquée</label>
<input type="text" class="" name="system.biodata.tailledemasquee" value="{{system.biodata.tailledemasquee}}" <input type="text" class="" name="system.biodata.tailledemasquee"
data-dtype="String" /> value="{{system.biodata.tailledemasquee}}" data-dtype="String" />
</li> </li>
<li class="flexrow item"> <li class="flexrow item">
<label class="generic-label">Type de taille</label> <label class="generic-label">Type de taille</label>
@@ -618,7 +740,8 @@
</li> </li>
<li class="flexrow item"> <li class="flexrow item">
<label class="generic-label">Points d'héritage</label> <label class="generic-label">Points d'héritage</label>
<input type="text" class="" name="system.rang.heritage.value" value="{{system.rang.heritage.value}}" data-dtype="String" /> <input type="text" class="" name="system.rang.heritage.value" value="{{system.rang.heritage.value}}"
data-dtype="String" />
</li> </li>
</ul> </ul>
@@ -647,7 +770,7 @@
data-dtype="String" /> data-dtype="String" />
</li> </li>
</ul> </ul>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -21,10 +21,10 @@
<li>Assomer {{defenderName}} en état de : {{etatAssommer}}</li> <li>Assomer {{defenderName}} en état de : {{etatAssommer}}</li>
{{#if isSuccess}} {{#if isSuccess}}
<li>Marge : {{marge}}</li> <li>Marge : {{marge}}</li>
<li>{{defenderName}} est assomé pour {{dureeAssommer}} minutes !</li> <li>{{defenderName}} est assomé pour {{dureeAssommer}} minutes !</li>
{{else}} {{else}}
<li>{{defenderName}} n'a pas été assomé et est conscient la tentative !</li> <li>{{defenderName}} n'a pas été assomé et est conscient la tentative !</li>
{{/if}} {{/if}}
</ul> </ul>
</div> </div>

View File

@@ -21,21 +21,22 @@
<li>Défense de {{defenderName}} : {{defenderMode}} ({{defenderValue}})</li> <li>Défense de {{defenderName}} : {{defenderMode}} ({{defenderValue}})</li>
{{#if isSuccess}} {{#if isSuccess}}
<li>Marge : {{marge}}</li> <li>Marge : {{marge}}</li>
<li>Degats de l'arme : {{degatsArme}}</li> <li>Degats de l'arme : {{degatsArme}}</li>
{{#if (eq attaqueCible "membre")}} {{#if (eq attaqueCible "membre")}}
<li><strong>Cible un membre : La cible a -2 de malus sur ces actions avec ce membre (mouvement 2 si jambes)</strong></li> <li><strong>Cible un membre : La cible a -2 de malus sur ces actions avec ce membre (mouvement 2 si jambes)</strong>
{{/if}} </li>
{{#if (eq attaqueCible "main")}} {{/if}}
<li><strong>Cible une main : La cible ne peut plus utiliser sa main</strong></li> {{#if (eq attaqueCible "main")}}
{{/if}} <li><strong>Cible une main : La cible ne peut plus utiliser sa main</strong></li>
{{/if}}
{{#if isCriticalSuccess}} {{#if isCriticalSuccess}}
<Li>Critique : Aubaine ou +2 aux dégats ci-dessus</li> <Li>Critique : Aubaine ou +2 aux dégats ci-dessus</li>
{{/if}} {{/if}}
{{else}} {{else}}
<li>Echec face à la {{defenderMode}} !</li> <li>Echec face à la {{defenderMode}} !</li>
{{/if}} {{/if}}
</ul> </ul>

View File

@@ -26,42 +26,51 @@
{{#if competence}} {{#if competence}}
<li>Compétence : {{competence.name}} ({{competence.system.niveau}})</li> <li>Compétence : {{competence.name}} ({{competence.system.niveau}})</li>
{{#if useSpecialite}} {{#if useSpecialite}}
<li>Bonus de spécialité +1</li> <li>Bonus de spécialité +1</li>
{{/if}} {{/if}}
{{/if}} {{/if}}
{{#if arme}} {{#if arme}}
<li>Attaque avec : {{arme.name}}</li> <li>Attaque avec : {{arme.name}}</li>
{{#if (eq mode "assommer")}} {{#if (eq mode "assommer")}}
<li>Attaque pour assommer</li> <li>Attaque pour assommer</li>
{{/if}} {{/if}}
{{/if}} {{/if}}
{{#if pouvoir}} {{#if pouvoir}}
<li>Pouvoir : {{pouvoir.name}}</li> <li>Pouvoir : {{pouvoir.name}}</li>
<li>Effet : {{pouvoir.system.effet}}</li> <li>Effet : {{pouvoir.system.effet}}</li>
<li>Points d'usage consommés : {{pouvoirPointsUsage}}</li>
{{/if}}
{{#if sort}}
<li>Sort : {{sort.name}}</li>
<li>Cout en Points d'âmes : {{sortPointsAme}}</li>
{{/if}} {{/if}}
{{#if forcedValue}} {{#if forcedValue}}
<li>Vous dépense 2 points de Tricherie et utilisé une face adjacente du dé !</li> <li>Vous dépense 2 points de Tricherie et utilisé une face adjacente du dé !</li>
{{/if}} {{/if}}
{{#if noRoll}}
{{else}}
<li>Formule : {{diceFormula}}</li> <li>Formule : {{diceFormula}}</li>
<li>Résultat du dé : {{diceResult}} </li> <li>Résultat du dé : {{diceResult}} </li>
{{#if adjacentFaces}} {{#if adjacentFaces}}
<li>Faces Adjacentes : <li>Faces Adjacentes :
{{#each adjacentFaces as |value key|}} {{#each adjacentFaces as |value key|}}
<a class="roll-tricherie-2" data-dice-value="{{value}}">{{value}}</a> <a class="roll-tricherie-2" data-dice-value="{{value}}">{{value}}</a>
{{/each}} {{/each}}
</li> </li>
{{/if}} {{/if}}
<li>Total : {{finalResult}} {{#if (gt sdValue "-1")}}(Marge : {{marge}}){{/if}}</li> <li>Total : {{finalResult}} {{#if (gt sdValue "-1")}}(Marge : {{marge}}){{/if}}</li>
{{#if (gt sdValue "-1")}} {{#if (gt sdValue "-1")}}
<li>Seuil de difficulté : {{sdValue}}</li>
{{#if isSuccess}} {{#if isSuccess}}
<li class="chat-success">Succès... <li class="chat-success">Succès...
</li> </li>
@@ -83,7 +92,7 @@
{{#if isCriticalFailure}} {{#if isCriticalFailure}}
<li class="chat-failure">Echec Critique !!!</li> <li class="chat-failure">Echec Critique !!!</li>
{{/if}} {{/if}}
{{/if}}
</ul> </ul>
</div> </div>

View File

@@ -1,356 +0,0 @@
<form class="{{cssClass}}" autocomplete="off">
{{!-- Sheet Header --}}
<header class="sheet-header">
<div class="header-fields background-sheet-header">
<div class="flexrow">
<img class="profile-img" src="{{img}}" data-edit="img" title="{{name}}" />
<div class="flexcol">
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name" /></h1>
<div class="flexrow">
<ul class="item-list alternate-list">
<li class="item flexrow ">
<h4 class="item-name-label competence-name">Ressources</h4>
<input type="text" class="padd-right status-small-label color-class-common item-field-label-short"
name="system.ressources.value" value="{{system.ressources.value}}" data-dtype="Number" />
</li>
</ul>
</div>
</div>
</div>
</header>
{{!-- Sheet Tab Navigation --}}
<nav class="sheet-tabs tabs" data-group="primary">
<a class="item" data-tab="principal">Technique</a>
<a class="item" data-tab="competences">Compétences</a>
<a class="item" data-tab="talents">Talents</a>
<a class="item" data-tab="armes">Armes</a>
<a class="item" data-tab="biodata">Bio&Notes</a>
</nav>
{{!-- Sheet Body --}}
<section class="sheet-body">
{{!-- Main Tab --}}
<div class="tab principal" data-group="primary" data-tab="principal">
<div class="grid grid-2col">
<div class="sheet-box color-bg-archetype">
<ul class="item-list alternate-list">
{{#each system.attributs as |attr key|}}
<li class="item flexrow " data-attr-key="{{key}}">
<img class="item-name-img" src="systems/fvtt-les-heritiers/assets/icons/{{attr.labelnorm}}.webp">
<span class="item-name-label competence-name item-field-label-medium"><a
class="roll-attribut">{{attr.label}}</a></span>
<select class="status-small-label color-class-common edit-item-data competence-niveau" type="text"
name="system.attributs.{{key}}.value" value="{{attr.value}}" data-dtype="Number">
{{#select attr.value}}
{{> systems/fvtt-les-heritiers/templates/partial-list-niveau.html}}
{{/select}}
</select>
</li>
{{/each}}
<li class="item flexrow">
<img class="item-name-img" src="systems/fvtt-les-heritiers/assets/icons/vitesse.webp">
<span class="item-name-label competence-name item-field-label-medium">Vitesse</span>
<input type="text" class="padd-right numeric-input item-field-label-short" name="system.vitesse.value"
value="{{system.vitesse.value}}" data-dtype="Number" />
</li>
</ul>
<h4 class="item-name-label competence-name">Santé</h4>
<ul class="item-list alternate-list">
<li class="item flexrow">
<label class="label-name item-field-label-short">Vigueur</label>
<label class="label-name item-field-label-short">{{system.sante.vigueur}}</label>
</li>
<li class="item flexrow">
<label class="label-name item-field-label-short">Etat</label>
<select class="label-name item-field-label-medium" type="text" name="system.sante.etat" value="{{system.sante.etat}}" data-dtype="Number">
{{#select system.sante.etat}}
{{> systems/fvtt-les-heritiers/templates/partial-sante-etat.html}}
{{/select}}
</select>
</li>
</ul>
<h4 class="item-name-label competence-name">Combat</h4>
<ul class="item-list alternate-list">
<li class="item flexrow">
<button class="chat-card-button roll-initiative">Initiative</button>
</li>
</ul>
</div>
<div class="sheet-box color-bg-archetype">
<h4 class="item-name-label competence-name">Adversité</h4>
<ul class="item-list alternate-list">
{{#each system.adversite as |adv key|}}
<li class="item flexrow" data-adversite="{{key}}">
<a class="adversite-modify plus-minus-button" data-adversite-value="-1">-</a>
<div class="icon-adversite-container">
<img class="icon-adversite" src="systems/fvtt-les-heritiers/assets/icons/gemme_{{key}}.webp">
<div class="adversite-text">{{adv}}</div>
</div>
<a class="adversite-modify plus-minus-button" data-adversite-value="1">+</a>
<div class="">&nbsp;</div>
<div class="">&nbsp;</div>
<div class="">&nbsp;</div>
</li>
{{/each}}
</ul>
</div>
</div>
</div>
{{!-- Competence Tab --}}
<div class="tab competences" data-group="primary" data-tab="competences">
<div class="flexrow">
<div class="sheet-box color-bg-archetype">
<ul class="item-list alternate-list">
<li class="item flexrow">
<span class="item-name-label-header">
<h3><label class="items-title-text">Compétences</label></h3>
</span>
<span class="item-field-label-short">
<label class="short-label">Niveau</label>
</span>
<div class="item-filler">&nbsp;</div>
</li>
{{#each skills as |skill key|}}
<li class="item flexrow " data-item-id="{{skill._id}}" data-item-type="competence">
<img class="item-name-img" src="{{skill.img}}" />
<span class="item-name-label competence-name"><a class="roll-competence item-field-label-short"
data-attr-key="tochoose">{{skill.name}}</a></span>
<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">
{{#select skill.system.niveau}}
{{> systems/fvtt-les-heritiers/templates/partial-list-niveau.html}}
{{/select}}
</select>
{{#if (ne skill.system.attribut1 "none")}}
<button class="roll-competence button-sheet-roll" data-attr-key="{{skill.system.attribut1}}">{{upper
skill.system.attribut1}} : {{skill.system.attribut1total}}</button>
{{/if}}
{{#if (ne skill.system.attribut2 "none")}}
<button class="roll-competence button-sheet-roll" data-attr-key="{{skill.system.attribut2}}">{{upper
skill.system.attribut2}} : {{skill.system.attribut2total}}</button>
{{/if}}
{{#if (ne skill.system.attribut3 "none")}}
<button class="roll-competence button-sheet-roll" data-attr-key="{{skill.system.attribut3}}">{{upper
skill.system.attribut3}} : {{skill.system.attribut3total}}</button>
{{/if}}
<div class="item-filler">&nbsp;</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>
{{!-- Talents Tab --}}
<div class="tab talents" data-group="primary" data-tab="talents">
<div class="flexrow">
<div class="sheet-box color-bg-archetype">
<ul class="item-list alternate-list">
<li class="item flexrow">
<span class="item-name-label-header">
<h3><label class="items-title-text">Talents</label></h3>
</span>
<span class="item-field-label-short">
<label class="short-label">Résumé</label>
</span>
<div class="item-filler">&nbsp;</div>
</li>
{{#each talents as |talent key|}}
<li class="item flexrow " data-item-id="{{talent._id}}" data-item-type="competence">
<img class="item-name-img" src="{{talent.img}}" />
<span class="item-name-label competence-name">{{talent.name}}</span>
<span class="item-name-label item-field-label-long2">{{talent.system.resumebonus}}</span>
<div class="item-filler">&nbsp;</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 class="flexrow">
<div class="sheet-box color-bg-archetype">
<ul class="item-list alternate-list">
<li class="item flexrow">
<span class="item-name-label-header">
<h3><label class="items-title-text">Talents de Cellule</label></h3>
</span>
<span class="item-field-label-short">
<label class="short-label">Résumé</label>
</span>
<div class="item-filler">&nbsp;</div>
</li>
{{#each talentsCell as |talent key|}}
<li class="item flexrow " data-item-id="{{talent._id}}" data-item-type="competence">
<img class="item-name-img" src="{{talent.img}}" />
<span class="item-name-label competence-name">{{talent.name}}</span>
<span class="item-name-label item-field-label-long2">{{talent.system.resumebonus}}</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
</div>
</li>
{{/each}}
</ul>
</div>
</div>
</div>
{{!-- Equipement Tab --}}
<div class="tab armes" data-group="primary" data-tab="armes">
<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">Armes</label></h3>
</span>
<span class="item-field-label-short">
<label class="short-label">Attaque</label>
</span>
<span class="item-field-label-short">
<label class="short-label">Défense</label>
</span>
<span class="item-field-label-short">
<label class="short-label">Dégats</label>
</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-add" data-type="arme" title="Ajouter une arme"><i
class="fas fa-plus"></i></a>
</div>
</li>
{{#each armes as |arme key|}}
<li class="item flexrow " data-item-id="{{arme._id}}" data-item-type="arme">
<img class="item-name-img" src="{{arme.img}}" />
<span class="item-name-label competence-name">{{arme.name}}</span>
<span class="item-field-label-short">
{{#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>
{{#if arme.system.isdefense}}
<span class="item-field-label-short arme-defensif item-field-label-short"><label
class="arme-defensif item-field-label-short defense-sheet">{{arme.system.totalDefensif}}</label></span>
{{else}}
<span class="item-field-label-short arme-defensif item-field-label-short"><label
class="arme-defensif item-field-label-short defense-sheet">N/A</label></span>
{{/if}}
<span class="item-field-label-short">
{{#if arme.system.equipped}}
<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">&nbsp;</div>
<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-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ul>
</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">Protections</label></h3>
</span>
<span class="item-field-label-short">
<label class="short-label">Protection</label>
</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-add" data-type="arme" title="Ajouter une arme"><i
class="fas fa-plus"></i></a>
</div>
</li>
{{#each protections as |protection key|}}
<li class="item flexrow " data-item-id="{{protection._id}}" data-item-type="protection">
<img class="item-name-img" src="{{protection.img}}" />
<span class="item-name-label competence-name">{{protection.name}}</span>
<span class="item-field-label-short arme-defensif"><label
class="arme-defensif">{{protection.system.protection}}</label>
</span>
<div class="item-filler">&nbsp;</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>
{{!-- Biography Tab --}}
<div class="tab biodata" data-group="primary" data-tab="biodata">
<span>
<h3>Description</h3>
</span>
<div class="medium-editor item-text-long-line">
{{editor description target="system.biodata.description" button=true owner=owner editable=editable}}
</div>
<span>
<h3>Habitat</h3>
</span>
<div class="medium-editor item-text-long-line">
{{editor habitat target="system.biodata.habitat" button=true owner=owner editable=editable}}
</div>
</div>
</section>
</form>

View File

@@ -16,11 +16,7 @@
<label class="item-field-label-long">Catégorie : </label> <label class="item-field-label-long">Catégorie : </label>
<select class="item-field-label-long" type="text" name="system.categorie" <select class="item-field-label-long" type="text" name="system.categorie"
value="{{system.categorie}}" data-dtype="string"> value="{{system.categorie}}" data-dtype="string">
{{#select system.categorie}} {{selectOptions config.categorieArme selected=system.categorie}}
{{#each config.categorieArme as |categ key|}}
<option value="{{key}}">{{categ}}</option>
{{/each}}
{{/select}}
</select> </select>
</li> </li>
@@ -28,11 +24,7 @@
<label class="item-field-label-long">Type : </label> <label class="item-field-label-long">Type : </label>
<select class="item-field-label-long" type="text" name="system.armetype" <select class="item-field-label-long" type="text" name="system.armetype"
value="{{system.armetype}}" data-dtype="string"> value="{{system.armetype}}" data-dtype="string">
{{#select system.armetype}} {{selectOptions config.typeArme selected=system.armetype}}
{{#each config.typeArme as |type key|}}
<option value="{{key}}">{{type}}</option>
{{/each}}
{{/select}}
</select> </select>
</li> </li>
@@ -74,22 +66,14 @@
<label class="generic-label item-field-label-long">Légalité : </label> <label class="generic-label item-field-label-long">Légalité : </label>
<select class="item-field-label-long" type="text" name="system.legalite" <select class="item-field-label-long" type="text" name="system.legalite"
value="{{system.legalite}}" data-dtype="string"> value="{{system.legalite}}" data-dtype="string">
{{#select system.legalite}} {{selectOptions config.armeLegalite selected=system.legalite}}
{{#each config.armeLegalite as |legal key|}}
<option value="{{key}}">{{legal}}</option>
{{/each}}
{{/select}}
</select> </select>
</li> </li>
<li class="flexrow item"> <li class="flexrow item">
<label class="generic-label item-field-label-long">Dissimulation : </label> <label class="generic-label item-field-label-long">Dissimulation : </label>
<select class="item-field-label-long" type="text" name="system.dissimulation" <select class="item-field-label-long" type="text" name="system.dissimulation"
value="{{system.dissimulation}}" data-dtype="string"> value="{{system.dissimulation}}" data-dtype="string">
{{#select system.dissimulation}} {{selectOptions config.armeDissimulation selected=system.dissimulation}}
{{#each config.armeDissimulation as |diss key|}}
<option value="{{key}}">{{diss}}</option>
{{/each}}
{{/select}}
</select> </select>
</li> </li>
<li class="flexrow item"> <li class="flexrow item">

View File

@@ -12,8 +12,6 @@
<div class="tab details" data-group="primary" data-tab="details"> <div class="tab details" data-group="primary" data-tab="details">
<ul class="item-list alternate-list"> <ul class="item-list alternate-list">
</ul> </ul>
</div> </div>

Some files were not shown because too many files have changed in this diff Show More