Compare commits

..

13 Commits

116 changed files with 1279 additions and 1166 deletions

BIN
assets/icons/sort.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

@ -2,22 +2,23 @@
"TYPES": {
"Actor": {
"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 */
static get defaultOptions() {
return mergeObject(super.defaultOptions, {
return foundry.utils.mergeObject(super.defaultOptions, {
classes: ["fvtt-les-heritiers", "sheet", "actor"],
template: "systems/fvtt-les-heritiers/templates/actor-pnj-sheet.html",
width: 780,

View File

@ -6,12 +6,12 @@
import { HeritiersUtility } from "./heritiers-utility.js";
/* -------------------------------------------- */
export class HeritiersActorSheet extends ActorSheet {
export class HeritiersActorSheet extends foundry.appv1.sheets.ActorSheet {
/** @override */
static get defaultOptions() {
return mergeObject(super.defaultOptions, {
return foundry.utils.mergeObject(super.defaultOptions, {
classes: ["fvtt-les-heritiers", "sheet", "actor"],
template: "systems/fvtt-les-heritiers/templates/actor-sheet.html",
width: 780,
@ -24,7 +24,7 @@ export class HeritiersActorSheet extends ActorSheet {
/* -------------------------------------------- */
async getData() {
const objectData = duplicate(this.object)
const objectData = foundry.utils.duplicate(this.object)
let formData = {
title: this.title,
@ -42,27 +42,28 @@ export class HeritiersActorSheet extends ActorSheet {
utileSkillsPhysical :this.actor.organizeUtileSkills("physical"),
futileSkills :this.actor.organizeFutileSkills(),
contacts: this.actor.organizeContacts(),
armes: duplicate(this.actor.getWeapons()),
monnaies: duplicate(this.actor.getMonnaies()),
pouvoirs: duplicate(this.actor.getPouvoirs()),
fee: duplicate(this.actor.getFee() || {} ),
protections: duplicate(this.actor.getArmors()),
combat: this.actor.getCombatValues(),
equipements: duplicate(this.actor.getEquipments()),
avantages: duplicate(this.actor.getAvantages()),
atouts: duplicate(this.actor.getAtouts()),
capacites: duplicate(this.actor.getCapacites()),
desavantages: duplicate(this.actor.getDesavantages()),
profils: duplicate(this.actor.getProfils()),
pvMalus: this.actor.getPvMalus(),
armes: foundry.utils.duplicate(this.actor.getWeapons()),
monnaies: foundry.utils.duplicate(this.actor.getMonnaies()),
pouvoirs: foundry.utils.duplicate(this.actor.getPouvoirs()),
fee: foundry.utils.duplicate(this.actor.getFee() || {} ),
protections: foundry.utils.duplicate(this.actor.getArmors()),
combat: this.actor.getCombatValues(),
equipements: foundry.utils.duplicate(this.actor.getEquipments()),
avantages: foundry.utils.duplicate(this.actor.getAvantages()),
atouts: foundry.utils.duplicate(this.actor.getAtouts()),
capacites: foundry.utils.duplicate(this.actor.getCapacites()),
desavantages: foundry.utils.duplicate(this.actor.getDesavantages()),
profils: foundry.utils.duplicate(this.actor.getProfils()),
pvMalus: this.actor.getPvMalus(),
heritage: game.settings.get("fvtt-les-heritiers", "heritiers-heritage"),
initiative: this.actor.getFlag("world", "last-initiative") || -1,
description: await TextEditor.enrichHTML(this.object.system.biodata.description, {async: true}),
revesetranges: await TextEditor.enrichHTML(this.object.system.biodata.revesetranges, {async: true}),
secretsdecouverts: await TextEditor.enrichHTML(this.object.system.biodata.secretsdecouverts, {async: true}),
questions: await TextEditor.enrichHTML(this.object.system.biodata.questions, {async: true}),
habitat: await TextEditor.enrichHTML(this.object.system.biodata.habitat, {async: true}),
playernotes: await TextEditor.enrichHTML(this.object.system.biodata.playernotes, {async: true}),
description: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.biodata.description, {async: true}),
revesetranges: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.biodata.revesetranges, {async: true}),
secretsdecouverts: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.biodata.secretsdecouverts, {async: true}),
questions: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.biodata.questions, {async: true}),
habitat: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.biodata.habitat, {async: true}),
playernotes: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.biodata.playernotes, {async: true}),
magieList: this.actor.prepareMagie(),
options: this.options,
owner: this.document.isOwner,
editScore: this.options.editScore,
@ -120,14 +121,14 @@ export class HeritiersActorSheet extends ActorSheet {
// Everything below here is only needed if the sheet is editable
if (!this.options.editable) return;
// Update Inventory Item
html.find('.item-edit').click(ev => {
const li = $(ev.currentTarget).parents(".item")
let itemId = li.data("item-id")
const item = this.actor.items.get( itemId )
item.sheet.render(true)
})
})
// Delete Inventory Item
html.find('.item-delete').click(ev => {
const li = $(ev.currentTarget).parents(".item");
@ -149,7 +150,7 @@ export class HeritiersActorSheet extends ActorSheet {
let value = Number($(event.currentTarget).data("adversite-value"))
this.actor.incDecAdversite(adv, value)
})
html.find('.quantity-modify').click(event => {
const li = $(event.currentTarget).parents(".item")
const value = Number($(event.currentTarget).data("quantite-value"))
@ -159,7 +160,7 @@ export class HeritiersActorSheet extends ActorSheet {
html.find('.roll-initiative').click((event) => {
this.actor.rollInitiative()
})
html.find('.roll-carac').click((event) => {
const key = $(event.currentTarget).data("key")
this.actor.rollCarac(key, false)
@ -167,7 +168,7 @@ export class HeritiersActorSheet extends ActorSheet {
html.find('.roll-rang').click((event) => {
const key = $(event.currentTarget).data("rang-key")
this.actor.rollRang(key, false)
})
})
html.find('.roll-root-competence').click((event) => {
const compKey = $(event.currentTarget).data("attr-key")
this.actor.rollRootCompetence(compKey)
@ -177,6 +178,11 @@ export class HeritiersActorSheet extends ActorSheet {
let compId = li.data("item-id")
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) => {
const li = $(event.currentTarget).parents(".item")
let armeId = li.data("item-id")
@ -186,7 +192,7 @@ export class HeritiersActorSheet extends ActorSheet {
const li = $(event.currentTarget).parents(".item")
let armeId = li.data("item-id")
this.actor.rollAttaqueBrutaleArme(armeId)
})
})
html.find('.roll-attaque-charge-arme').click((event) => {
const li = $(event.currentTarget).parents(".item")
let armeId = li.data("item-id")
@ -197,7 +203,7 @@ export class HeritiersActorSheet extends ActorSheet {
let armeId = li.data("item-id")
this.actor.rollAssomerArme(armeId)
})
html.find('.roll-pouvoir').click((event) => {
const li = $(event.currentTarget).parents(".item")
let pouvoirId = li.data("item-id")
@ -211,19 +217,19 @@ export class HeritiersActorSheet extends ActorSheet {
const itemType = $(event.currentTarget).data("type")
this.actor.createEmbeddedDocuments('Item', [{ name: `Nouveau ${itemType}`, type: itemType }], { renderSheet: true })
})
html.find('.lock-unlock-sheet').click((event) => {
this.options.editScore = !this.options.editScore;
this.render(true);
});
});
html.find('.item-equip').click(ev => {
const li = $(ev.currentTarget).parents(".item");
this.actor.equipItem( li.data("item-id") );
this.render(true);
this.render(true);
});
}
/* -------------------------------------------- */
/** @override */
setPosition(options = {}) {

View File

@ -41,7 +41,7 @@ export class HeritiersActor extends Actor {
const skills = await HeritiersUtility.loadCompendium("fvtt-les-heritiers.competences")
data.items = []
for (let skill of skills) {
if (skill.system.categorie == "utile") {
if (skill.system.categorie == "utile" && skill.system.profil != "magie") {
data.items.push(skill.toObject())
}
}
@ -54,7 +54,7 @@ export class HeritiersActor extends Actor {
/* -------------------------------------------- */
prepareArme(arme) {
arme = duplicate(arme)
arme = foundry.utils.duplicate(arme)
arme.system.isMelee = HeritiersUtility.isArmeMelee(arme)
return arme
}
@ -86,7 +86,7 @@ export class HeritiersActor extends Actor {
/* ----------------------- --------------------- */
addMember(actorId) {
let members = duplicate(this.system.members)
let members = foundry.utils.duplicate(this.system.members)
members.push({ id: actorId })
this.update({ 'system.members': members })
}
@ -138,7 +138,7 @@ export class HeritiersActor extends Actor {
let pouvoirs = []
for (let item of this.items) {
if (item.type == "pouvoir") {
let itemObj = duplicate(item)
let itemObj = foundry.utils.duplicate(item)
itemObj.maxUsage = this.getPouvoirUsageMax(item)
pouvoirs.push(itemObj)
}
@ -146,12 +146,44 @@ export class HeritiersActor extends Actor {
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() {
let comp = []
for (let item of this.items) {
item = duplicate(item)
item = foundry.utils.duplicate(item)
if (item.type == "competence") {
comp.push(item)
}
@ -258,9 +290,39 @@ export class HeritiersActor extends Actor {
/* -------------------------------------------- */
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();
}
/* -------------------------------------------- */
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() {
@ -280,7 +342,7 @@ export class HeritiersActor extends Actor {
getItemById(id) {
let item = this.items.find(item => item.id == id);
if (item) {
item = duplicate(item)
item = foundry.utils.duplicate(item)
}
return item;
}
@ -338,7 +400,7 @@ export class HeritiersActor extends Actor {
/* -------------------------------------------- */
getCarac(attrKey) {
return duplicate(this.system.caracteristiques)
return foundry.utils.duplicate(this.system.caracteristiques)
}
/* -------------------------------------------- */
@ -359,13 +421,13 @@ export class HeritiersActor extends Actor {
getSubActors() {
let 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;
}
/* -------------------------------------------- */
async addSubActor(subActorId) {
let subActors = duplicate(this.system.subactors);
let subActors = foundry.utils.duplicate(this.system.subactors);
subActors.push(subActorId);
await this.update({ 'system.subactors': subActors });
}
@ -387,7 +449,7 @@ export class HeritiersActor extends Actor {
/* -------------------------------------------- */
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] = Math.max(adversite[adv], 0)
this.update({ 'system.adversite': adversite })
@ -434,7 +496,7 @@ export class HeritiersActor extends Actor {
/* -------------------------------------------- */
async setPredilectionUsed(compId, predIdx) {
let comp = this.items.get(compId)
let pred = duplicate(comp.system.predilections)
let pred = foundry.utils.duplicate(comp.system.predilections)
pred[predIdx].used = true
await this.updateEmbeddedDocuments('Item', [{ _id: compId, 'system.predilections': pred }])
}
@ -456,7 +518,7 @@ export class HeritiersActor extends Actor {
}
if (arme.system.totalDefensif > maxDef) {
maxDef = arme.system.totalDefensif
bestArme = duplicate(arme)
bestArme = foundry.utils.duplicate(arme)
}
}
return bestArme
@ -471,7 +533,7 @@ export class HeritiersActor extends Actor {
for (let auto of talent.system.automations) {
if (auto.eventtype === "prepare-roll") {
if (auto.competence.toLowerCase() == competence.name.toLowerCase()) {
talent = duplicate(talent)
talent = foundry.utils.duplicate(talent)
talent.system.bonus = auto.bonus
talent.system.baCost = auto.baCost
talents.push(talent)
@ -533,6 +595,7 @@ export class HeritiersActor extends Actor {
}
return undefined
}
/* -------------------------------------------- */
getCommonRollData(compId = undefined, compName = undefined) {
let rollData = HeritiersUtility.getBasicRollData()
@ -552,12 +615,12 @@ export class HeritiersActor extends Actor {
rollData.rulesMalus.push(this.getPvMalus())
if (compId) {
rollData.competence = duplicate(this.items.get(compId) || {})
rollData.competence = foundry.utils.duplicate(this.items.get(compId) || {})
this.prepareUtileSkill(rollData.competence)
rollData.actionImg = rollData.competence?.img
}
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) {
this.prepareUtileSkill(rollData.competence)
rollData.actionImg = rollData.competence?.img
@ -621,11 +684,31 @@ export class HeritiersActor extends Actor {
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) {
let arme = this.items.get(armeId)
if (arme) {
arme = duplicate(arme)
arme = foundry.utils.duplicate(arme)
arme.system.isMelee = HeritiersUtility.isArmeMelee(arme)
let competenceName = "Tir"
let key = "prec"
@ -658,7 +741,7 @@ export class HeritiersActor extends Actor {
let rollData = this.getCommonRollData(undefined, competenceName)
rollData.carac = this.system.caracteristiques[key]
rollData.caracKey = key
rollData.arme = duplicate(arme)
rollData.arme = foundry.utils.duplicate(arme)
rollData.mode = "attaquebrutale"
rollData.armes = this.getOtherMeleeWeapons(arme)
rollData.rulesMalus.push({ name: "Attaque brutale", value: -2 })
@ -676,7 +759,7 @@ export class HeritiersActor extends Actor {
let rollData = this.getCommonRollData(undefined, pireCompetence.name)
rollData.carac = this.system.caracteristiques[key]
rollData.caracKey = key
rollData.arme = duplicate(arme)
rollData.arme = foundry.utils.duplicate(arme)
rollData.armes = this.getOtherMeleeWeapons(arme)
rollData.mode = "attaquecharge"
let rollDialog = await HeritiersRollDialog.create(this, rollData)
@ -693,7 +776,7 @@ export class HeritiersActor extends Actor {
let rollData = this.getCommonRollData(undefined, competenceName)
rollData.carac = this.system.caracteristiques["agi"]
rollData.caracKey = "agi"
rollData.arme = duplicate(arme)
rollData.arme = foundry.utils.duplicate(arme)
rollData.mode = "assommer"
if (rollData.defenderTokenId) {
rollData.cacheDifficulte = true
@ -703,20 +786,96 @@ 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) {
let pouvoir = this.items.get(pouvoirId)
if (pouvoir) {
let rollData = this.getCommonRollData(undefined, undefined)
if (pouvoir.system.feeriemasque != "autre") {
rollData.pouvoirBase = duplicate(this.system.rang[pouvoir.system.feeriemasque.toLowerCase()])
rollData.pouvoirBase.label = "Féerie"
rollData.carac = duplicate(this.system.caracteristiques[pouvoir.system.carac])
rollData.caracKey = pouvoir.system.carac
if (pouvoir.system.pouvoirtype == "passif") {
this.pouvoirPassifDialog(pouvoir)
return
}
let rollData = this.getCommonRollData(undefined, undefined)
rollData.pouvoirMaxUsage = this.getPouvoirUsageMax(pouvoir)
rollData.pouvoir = duplicate(pouvoir)
rollData.pouvoir = foundry.utils.duplicate(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)
rollDialog.render(true)
}
@ -755,7 +914,7 @@ export class HeritiersActor extends Actor {
updates.push({ _id: pouvoir.id, 'system.pointsusagecourant': newValue })
}
}
if (updates.length > 0) {
if (updates.length > 0) {
this.updateEmbeddedDocuments('Item', updates)
}
}

View File

@ -30,7 +30,8 @@ export const HERITIERS_CONFIG = {
"combattant": {kind: "physical",name:"Combattant"},
"erudit": {kind: "mental",name:"Erudit"},
"savant": {kind: "mental",name:"Savant"},
"gentleman": {kind: "mental",name:"Gentleman"}
"gentleman": {kind: "mental",name:"Gentleman"},
"magie": {kind: "magical", name: "Magie"},
},
baseTestPouvoir: {
"feerie": "Féerie",
@ -65,32 +66,32 @@ export const HERITIERS_CONFIG = {
},
seuilsDifficulte: {
"-1": "Aucun/Non applicable",
"5": "Enfantine",
"6": "Triviale",
"7": "Moins Triviale",
"8": "Aisée",
"7": "Moins Aisée",
"10": "Normale",
"11": "Moins Normale",
"12": "Compliquée",
"13": "Plus Compliquée",
"14": "Difficile",
"15": "Plus Difficile",
"16": "Très Difficile",
"17": "Très Très Difficile",
"18": "Critique",
"19": "Plus Critique",
"20": "Insurmontable",
"20": "Très Insurmontable",
"22": "Surhumaine",
"23": "Très Surhumaine",
"24": "Epique",
"25": "Plus Epique",
"26": "Légendaire",
"26": "Très Légendaire",
"28": "Mythique",
"29": "Plus Mythique",
"30": "Divine"
"5": "Enfantine (5)",
"6": "Triviale (6)",
"7": "Moins Triviale (7)",
"8": "Aisée (8)",
"9": "Moins Aisée (9)",
"10": "Normale (10)",
"11": "Moins Normale (11)",
"12": "Compliquée (12)",
"13": "Plus Compliquée (13)",
"14": "Difficile (14)",
"15": "Plus Difficile (15)",
"16": "Très Difficile (16)",
"17": "Très Très Difficile (17)",
"18": "Critique (18)",
"19": "Plus Critique (19)",
"20": "Insurmontable (20)",
"21": "Très Insurmontable (21)",
"22": "Surhumaine (22)",
"23": "Très Surhumaine (23)",
"24": "Epique (24)",
"25": "Plus Epique (25)",
"26": "Légendaire (26)",
"27": "Très Légendaire (27)",
"28": "Mythique (28)",
"29": "Plus Mythique (29)",
"30": "Divine (30)"
},
attaqueCible: {
@ -145,7 +146,72 @@ export const HERITIERS_CONFIG = {
"traditionnelle": "Traditionnelle",
"moderne": "Moderne",
"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

@ -4,12 +4,12 @@ import { HeritiersUtility } from "./heritiers-utility.js";
* Extend the basic ItemSheet with some very simple modifications
* @extends {ItemSheet}
*/
export class HeritiersItemSheet extends ItemSheet {
export class HeritiersItemSheet extends foundry.appv1.sheets.ItemSheet {
/** @override */
static get defaultOptions() {
return mergeObject(super.defaultOptions, {
return foundry.utils.mergeObject(super.defaultOptions, {
classes: ["fvtt-les-heritiers", "sheet", "item"],
template: "systems/fvtt-les-heritiers/templates/item-sheet.html",
dragDrop: [{ dragSelector: null, dropSelector: null }],
@ -48,7 +48,7 @@ export class HeritiersItemSheet extends ItemSheet {
/* -------------------------------------------- */
async getData() {
const objectData = duplicate(this.object)
const objectData = foundry.utils.duplicate(this.object)
let formData = {
title: this.title,
id: this.id,
@ -61,9 +61,9 @@ export class HeritiersItemSheet extends ItemSheet {
limited: this.object.limited,
options: this.options,
owner: this.document.isOwner,
config: game.system.lesheritiers.config,
config: game.system.lesheritiers.config,
isArmeMelee: HeritiersUtility.isArmeMelee(this.object),
description: await TextEditor.enrichHTML(this.object.system.description, {async: true}),
description: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.description, {async: true}),
mr: (this.object.type == 'specialisation'),
isGM: game.user.isGM,
usageMax: -1
@ -76,6 +76,10 @@ export class HeritiersItemSheet extends ItemSheet {
this.object.system.pointsusagecourant = formData.usageMax
}
}
if (this.object.type == 'sort' ) {
formData.competencesMagie = HeritiersUtility.getCompetencesMagie()
}
//this.options.editable = !(this.object.origin == "embeddedItem");
console.log("ITEM DATA", formData, this);
@ -96,7 +100,7 @@ export class HeritiersItemSheet extends ItemSheet {
/* -------------------------------------------- */
postItem() {
let chatData = duplicate(HeritiersUtility.data(this.item));
let chatData = foundry.utils.duplicate(HeritiersUtility.data(this.item));
if (this.actor) {
chatData.actor = { id: this.actor.id };
}
@ -138,55 +142,55 @@ export class HeritiersItemSheet extends ItemSheet {
})
html.find('#add-specialite').click(ev => {
let spec = duplicate(this.object.system.specialites)
spec.push( { name: "Nouvelle Spécialité", id: randomID(16), used: false })
let spec = foundry.utils.duplicate(this.object.system.specialites)
spec.push( { name: "Nouvelle Spécialité", id: foundry.utils.randomID(16), used: false })
this.object.update( { 'system.specialites': spec })
})
html.find('.delete-specialite').click(ev => {
const li = $(ev.currentTarget).parents(".specialite-item")
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)
this.object.update( { 'system.specialites': spec })
})
html.find('.edit-specialite').change(ev => {
const li = $(ev.currentTarget).parents(".specialite-item")
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].id = spec[index].id || randomID(16)
spec[index].id = spec[index].id || foundry.utils.randomID(16)
this.object.update( { 'system.specialites': spec })
})
html.find('.edit-specialite-description').change(ev => {
const li = $(ev.currentTarget).parents(".specialite-item")
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].id = spec[index].id || randomID(16)
spec[index].id = spec[index].id || foundry.utils.randomID(16)
this.object.update( { 'system.specialites': spec })
})
})
html.find('#add-automation').click(ev => {
let autom = duplicate(this.object.system.automations)
autom.push( { eventtype: "on-drop", name: "Automatisation 1", competence: "", minLevel: 0, id: randomID(16) })
let autom = foundry.utils.duplicate(this.object.system.automations)
autom.push( { eventtype: "on-drop", name: "Automatisation 1", competence: "", minLevel: 0, id: foundry.utils.randomID(16) })
this.object.update( { 'system.automations': autom })
})
html.find('.delete-automation').click(ev => {
const li = $(ev.currentTarget).parents(".automation-item")
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)
this.object.update( { 'system.automations': autom })
})
html.find('.automation-edit-field').change(ev => {
let index = $(ev.currentTarget).data("automation-index")
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].id = auto[index].id || randomID(16)
auto[index].id = auto[index].id || foundry.utils.randomID(16)
this.object.update( { 'system.automations': auto })
})
})
// Update Inventory Item
html.find('.item-delete').click(ev => {
const li = $(ev.currentTarget).parents(".item");

View File

@ -18,6 +18,7 @@ export const defaultItemImg = {
fee: "systems/fvtt-les-heritiers/assets/icons/faery_type.webp",
profil: "systems/fvtt-les-heritiers/assets/icons/profil.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 { HeritiersActorSheet } from "./heritiers-actor-sheet.js";
import { HeritiersActorPNJSheet } from "./heritiers-actor-pnj-sheet.js";
import { HeritiersCreatureSheet } from "./heritiers-creature-sheet.js";
import { HeritiersUtility } from "./heritiers-utility.js";
import { HeritiersCombat } from "./heritiers-combat.js";
import { HeritiersItem } from "./heritiers-item.js";
@ -31,7 +30,7 @@ Hooks.once("init", async function () {
HeritiersUtility.preloadHandlebarsTemplates()
/* -------------------------------------------- */
// Set an initiative formula for the system
// Set an initiative formula for the system
CONFIG.Combat.initiative = {
formula: "1d10",
decimals: 1
@ -47,6 +46,8 @@ Hooks.once("init", async function () {
CONFIG.Combat.documentClass = HeritiersCombat
CONFIG.Actor.documentClass = HeritiersActor
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 = {
HeritiersUtility,
config: HERITIERS_CONFIG
@ -54,12 +55,12 @@ Hooks.once("init", async function () {
/* -------------------------------------------- */
// Register sheet application classes
Actors.unregisterSheet("core", ActorSheet);
Actors.registerSheet("fvtt-les-heritiers", HeritiersActorSheet, { types: ["personnage"], makeDefault: true })
Actors.registerSheet("fvtt-les-heritiers", HeritiersActorPNJSheet, { types: ["pnj"], makeDefault: true })
foundry.documents.collections.Actors.unregisterSheet("core", foundry.appv1.sheets.ActorSheet);
foundry.documents.collections.Actors.registerSheet("fvtt-les-heritiers", HeritiersActorSheet, { types: ["personnage"], makeDefault: true })
foundry.documents.collections.Actors.registerSheet("fvtt-les-heritiers", HeritiersActorPNJSheet, { types: ["pnj"], makeDefault: true })
Items.unregisterSheet("core", ItemSheet);
Items.registerSheet("fvtt-les-heritiers", HeritiersItemSheet, { makeDefault: true })
foundry.documents.collections.Items.unregisterSheet("core", foundry.appv1.sheets.ItemSheet);
foundry.documents.collections.Items.registerSheet("fvtt-les-heritiers", HeritiersItemSheet, { makeDefault: true })
HeritiersUtility.init()
@ -105,13 +106,13 @@ Hooks.once("ready", function () {
user: game.user._id
});
}
import("https://www.uberwald.me/fvtt_appcount/count-class-ready.js").then(moduleCounter=>{
console.log("ClassCounter loaded", moduleCounter)
moduleCounter.ClassCounter.registerUsageCount()
}).catch(err=>
console.log("No stats available, giving up.")
)
)
welcomeMessage();
importDefaultScene();
@ -130,4 +131,3 @@ Hooks.on("chatMessage", (html, content, msg) => {
}
return true;
});

View File

@ -6,7 +6,7 @@ export class HeritiersRollDialog extends Dialog {
static async create(actor, rollData) {
let options = { classes: ["HeritiersDialog"], width: 420, height: 'fit-content', 'z-index': 99999 };
let html = await renderTemplate('systems/fvtt-les-heritiers/templates/roll-dialog-generic.html', rollData);
let html = await foundry.applications.handlebars.renderTemplate('systems/fvtt-les-heritiers/templates/roll-dialog-generic.html', rollData);
return new HeritiersRollDialog(actor, rollData, html, options);
}
@ -22,10 +22,10 @@ export class HeritiersRollDialog extends Dialog {
}
let enableD10 = false
let enableD12 = false
if (rollData.competence?.system.niveau > 0) {
if (rollData.mode == "pouvoir" || rollData.competence?.system.niveau > 0) {
enableD10 = true
}
if (rollData.competence?.system.niveau > 1) {
if (rollData.mode == "pouvoir" || rollData.competence?.system.niveau > 1) {
enableD12 = true
}
if (enableD10) {
@ -109,7 +109,6 @@ export class HeritiersRollDialog extends Dialog {
activateListeners(html) {
super.activateListeners(html);
var dialog = this;
function onLoad() {
}
$(function () { onLoad(); });
@ -118,6 +117,7 @@ export class HeritiersRollDialog extends Dialog {
this.rollData.sdValue = Number(event.currentTarget.value)
})
html.find('#caracKey').change(async (event) => {
//console.log("caracKey", event.currentTarget.value)
this.rollData.caracKey = String(event.currentTarget.value)
})
html.find('#bonus-malus-context').change((event) => {
@ -141,6 +141,6 @@ export class HeritiersRollDialog extends Dialog {
html.find('#attaque-cible').change((event) => {
this.rollData.attaqueCible = String(event.currentTarget.value)
})
}
}

View File

@ -48,7 +48,7 @@ export class HeritiersUtility {
/* -------------------------------------------- */
static async init() {
Hooks.on('renderChatLog', (log, html, data) => HeritiersUtility.chatListeners(html))
Hooks.on("getChatLogEntryContext", (html, options) => HeritiersUtility.chatRollMenu(html, options))
/* Unused for Heitiers : Hooks.on("getChatMessageContextOptions", (html, options) => HeritiersUtility.chatRollMenu(html, options))*/
this.rollDataStore = {}
this.defenderStore = {}
@ -104,6 +104,8 @@ export class HeritiersUtility {
const skills = await HeritiersUtility.loadCompendium("fvtt-les-heritiers.competences")
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", {
name: "Points d'héritage",
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) {
const pack = game.packs.get(compendium);
@ -133,29 +148,29 @@ export class HeritiersUtility {
/* -------------------------------------------- */
static async chatListeners(html) {
html.on("click", '.predilection-reroll', async event => {
$(html).on("click", '.predilection-reroll', async event => {
let predIdx = $(event.currentTarget).data("predilection-index")
let messageId = HeritiersUtility.findChatMessageId(event.currentTarget)
let message = game.messages.get(messageId)
let rollData = message.getFlag("world", "heritiers-roll")
let actor = this.getActorFromRollData(rollData)
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)
})
html.on("click", '.roll-tricherie-2', async event => {
$(html).on("click", '.roll-tricherie-2', async event => {
let messageId = HeritiersUtility.findChatMessageId(event.currentTarget)
let message = game.messages.get(messageId)
let rollData = message.getFlag("world", "heritiers-roll")
let actor = this.getActorFromRollData(rollData)
if ( await actor.incDecTricherie(-2) ) {
rollData.forcedValue = Number($(event.currentTarget).data("dice-value"))
HeritiersUtility.rollHeritiers(rollData)
HeritiersUtility.rollHeritiers(rollData)
}
})
html.on("click", '.roll-chat-degat', async event => {
$(html).on("click", '.roll-chat-degat', async event => {
let messageId = HeritiersUtility.findChatMessageId(event.currentTarget)
let message = game.messages.get(messageId)
let rollData = message.getFlag("world", "heritiers-roll")
@ -172,10 +187,9 @@ export class HeritiersUtility {
'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-nav.html',
'systems/fvtt-les-heritiers/templates/partial-utile-skills.html',
'systems/fvtt-les-heritiers/templates/partial-list-niveau.html'
'systems/fvtt-les-heritiers/templates/partial-utile-skills.html'
]
return loadTemplates(templatePaths);
return foundry.applications.handlebars.loadTemplates(templatePaths);
}
/* -------------------------------------------- */
@ -252,14 +266,14 @@ export class HeritiersUtility {
let id = rollData.rollId;
let oldRollData = this.rollDataStore[id] || {};
let newRollData = mergeObject(oldRollData, rollData);
let newRollData = foundry.utils.mergeObject(oldRollData, rollData);
this.rollDataStore[id] = newRollData;
}
/* -------------------------------------------- */
static saveRollData(rollData) {
game.socket.emit("system.fvtt-les-heritiers", {
name: "msg_update_roll", data: rollData
}); // Notify all other clients of the roll
}); // Notify all other clients of the roll
this.updateRollData(rollData);
}
@ -391,7 +405,7 @@ export class HeritiersUtility {
}
}
if ( !rollData.forcedValue) {
rollData.adjacentFaces = duplicate(__facesAdjacentes[rollData.mainDice][rollData.diceValue])
rollData.adjacentFaces = foundry.utils.duplicate(__facesAdjacentes[rollData.mainDice][rollData.diceValue])
}
}
}
@ -451,7 +465,7 @@ export class HeritiersUtility {
this.computeArmeDegats(rollData, actor)
}
this.createChatWithRollMode(rollData.alias, {
content: await renderTemplate(`systems/fvtt-les-heritiers/templates/chat-cc-result.html`, rollData)
content: await foundry.applications.handlebars.renderTemplate(`systems/fvtt-les-heritiers/templates/chat-cc-result.html`, rollData)
}, rollData, "selfroll")
}
/* -------------------------------------------- */
@ -463,7 +477,7 @@ export class HeritiersUtility {
this.computeMarge(rollData, valeurDefense)
rollData.dureeAssommer = (rollData.marge) ? rollData.marge * 2 : 1
this.createChatWithRollMode(rollData.alias, {
content: await renderTemplate(`systems/fvtt-les-heritiers/templates/chat-assommer-result.html`, rollData)
content: await foundry.applications.handlebars.renderTemplate(`systems/fvtt-les-heritiers/templates/chat-assommer-result.html`, rollData)
}, rollData, "selfroll")
}
/* -------------------------------------------- */
@ -475,9 +489,10 @@ export class HeritiersUtility {
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.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) {
rollData.diceFormula = rollData.forcedValue
@ -486,7 +501,7 @@ export class HeritiersUtility {
rollData.diceFormula = "{1d8, 1d10, 1d12}"
} else {
rollData.diceFormula = "1" + rollData.mainDice + "kh1"
}
}
}
let rangValue = 0
@ -535,25 +550,26 @@ export class HeritiersUtility {
}
}
let myRoll = new Roll(rollData.diceFormula).roll({ async: false })
await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
rollData.roll = duplicate(myRoll)
console.log(">>>> ", myRoll)
this.computeResult(actor, rollData)
this.computeMarge(rollData, rollData.sdValue) // Calcul de la marge si seuil présent
if ( !rollData.noRoll) {
let myRoll = await new Roll(rollData.diceFormula).roll()
await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
rollData.roll = foundry.utils.duplicate(myRoll)
console.log(">>>> ", myRoll)
this.computeResult(actor, rollData)
this.computeMarge(rollData, rollData.sdValue) // Calcul de la marge si seuil présent
}
if (rollData.mode == "init") {
actor.setFlag("world", "last-initiative", rollData.finalResult)
}
// Gestion pouvoir et points d'usage
if (rollData.mode == "pouvoir") {
if (rollData.mode == "pouvoir" || rollData.mode == "pouvoirpassif") {
actor.incDecPointsUsage(rollData.pouvoir._id, -rollData.pouvoirPointsUsage)
}
this.createChatWithRollMode(rollData.alias, {
content: await renderTemplate(`systems/fvtt-les-heritiers/templates/chat-generic-result.html`, rollData)
content: await foundry.applications.handlebars.renderTemplate(`systems/fvtt-les-heritiers/templates/chat-generic-result.html`, rollData)
}, rollData)
// Gestion attaque standard
@ -582,16 +598,16 @@ export class HeritiersUtility {
static async bonusRollHeritiers(rollData) {
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"));
rollData.bonusRoll = duplicate(bonusRoll)
rollData.bonusRoll = foundry.utils.duplicate(bonusRoll)
rollData.finalResult += rollData.bonusRoll.total
this.computeResult(rollData)
this.createChatWithRollMode(rollData.alias, {
content: await renderTemplate(`systems/fvtt-les-heritiers/templates/chat-generic-result.html`, rollData)
content: await foundry.applications.handlebars.renderTemplate(`systems/fvtt-les-heritiers/templates/chat-generic-result.html`, rollData)
}, rollData)
}
@ -622,7 +638,7 @@ export class HeritiersUtility {
/* -------------------------------------------- */
static blindMessageToGM(chatOptions) {
let chatGM = duplicate(chatOptions);
let chatGM = foundry.utils.duplicate(chatOptions);
chatGM.whisper = this.getUsers(user => user.isGM);
chatGM.content = "Blinde message of " + game.user.name + "<br>" + chatOptions.content;
console.log("blindMessageToGM", chatGM);
@ -686,7 +702,7 @@ export class HeritiersUtility {
/* -------------------------------------------- */
static getBasicRollData() {
let rollData = {
rollId: randomID(16),
rollId: foundry.utils.randomID(16),
rollMode: game.settings.get("core", "rollMode"),
sdList: game.system.lesheritiers.config.seuilsDifficulte,
sdValue: -1,
@ -764,13 +780,13 @@ export class HeritiersUtility {
static chatRollMenu(html, options) {
let canApply = li => canvas.tokens.controlled.length && li.find(".heritiers-roll").length
let canApplyBA = function (li) {
let message = game.messages.get(li.attr("data-message-id"))
let message = game.messages.get($(li).attr("data-message-id"))
let rollData = message.getFlag("world", "heritiers-roll")
let actor = this.getActorFromRollData(rollData)
return (!rollData.isReroll && actor.getBonneAventure() > 0)
}
let canApplyPE = function (li) {
let message = game.messages.get(li.attr("data-message-id"))
let message = game.messages.get($(li).attr("data-message-id"))
let rollData = message.getFlag("world", "heritiers-roll")
let actor = this.getActorFromRollData(rollData)
return (!rollData.isReroll && actor.getEclat() > 0)
@ -805,11 +821,11 @@ export class HeritiersUtility {
/* -------------------------------------------- */
static async confirmDelete(actorSheet, li) {
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 = {
delete: {
icon: '<i class="fas fa-check"></i>',
label: "Yes, remove it",
label: "Oui !",
callback: () => {
actorSheet.actor.deleteEmbeddedDocuments("Item", [itemId]);
li.slideUp(200, () => actorSheet.render(false));
@ -817,12 +833,12 @@ export class HeritiersUtility {
},
cancel: {
icon: '<i class="fas fa-times"></i>',
label: "Cancel"
label: "Non !"
}
}
msgTxt += "</p>";
let d = new Dialog({
title: "Confirm removal",
title: "Confirmer la suppression",
content: msgTxt,
buttons: buttons,
default: "cancel"
@ -830,21 +846,4 @@ export class HeritiersUtility {
d.render(true);
}
/************************************************************************************/
static async __create_talents_table() {
let compName = "fvtt-les-heritiers.talents-cellule"
const compData = await HeritiersUtility.loadCompendium(compName)
let talents = compData.map(i => i.toObject())
let htmlTab = "<table border='1'><tbody>";
for (let entryData of talents) {
console.log(entryData)
htmlTab += `<tr><td>@UUID[Compendium.${compName}.${entryData._id}]{${entryData.name}}</td>`
htmlTab += `<td>${entryData.system.description}</td>`;
//htmlTab += `<td>${entryData.system.resumebonus}</td>`;
htmlTab += "</tr>\n";
}
htmlTab += "</table>";
await JournalEntry.create({ name: 'Liste des Talents de Cellule', content: htmlTab });
}
}

Binary file not shown.

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000050
MANIFEST-000175

View File

@ -1,8 +1,15 @@
2024/03/23-10:48:02.571733 7fed73e006c0 Recovering log #48
2024/03/23-10:48:02.582541 7fed73e006c0 Delete type=3 #46
2024/03/23-10:48:02.582617 7fed73e006c0 Delete type=0 #48
2024/03/23-11:37:00.840004 7fed720006c0 Level-0 table #53: started
2024/03/23-11:37:00.840024 7fed720006c0 Level-0 table #53: 0 bytes OK
2024/03/23-11:37:00.846784 7fed720006c0 Delete type=0 #51
2024/03/23-11:37:00.846952 7fed720006c0 Manual compaction at level-0 from '!items!1NhJH4IJpxsGmLB8' @ 72057594037927935 : 1 .. '!items!y1yOenfAJTsb3r6e' @ 0 : 0; will stop at (end)
2024/03/23-11:37:00.846980 7fed720006c0 Manual compaction at level-1 from '!items!1NhJH4IJpxsGmLB8' @ 72057594037927935 : 1 .. '!items!y1yOenfAJTsb3r6e' @ 0 : 0; will stop at (end)
2025/05/02-08:12:38.578482 7f4168bf96c0 Recovering log #173
2025/05/02-08:12:38.589780 7f4168bf96c0 Delete type=3 #171
2025/05/02-08:12:38.589884 7f4168bf96c0 Delete type=0 #173
2025/05/02-08:32:33.547850 7f4162bff6c0 Level-0 table #178: started
2025/05/02-08:32:33.552846 7f4162bff6c0 Level-0 table #178: 76976 bytes OK
2025/05/02-08:32:33.560090 7f4162bff6c0 Delete type=0 #176
2025/05/02-08:32:33.575866 7f4162bff6c0 Manual compaction at level-0 from '!items!1NhJH4IJpxsGmLB8' @ 72057594037927935 : 1 .. '!items!y1yOenfAJTsb3r6e' @ 0 : 0; will stop at (end)
2025/05/02-08:32:33.601802 7f4162bff6c0 Manual compaction at level-1 from '!items!1NhJH4IJpxsGmLB8' @ 72057594037927935 : 1 .. '!items!y1yOenfAJTsb3r6e' @ 0 : 0; will stop at '!items!y1yOenfAJTsb3r6e' @ 93 : 1
2025/05/02-08:32:33.601825 7f4162bff6c0 Compacting 1@1 + 1@2 files
2025/05/02-08:32:33.607383 7f4162bff6c0 Generated table #179@1: 31 keys, 76976 bytes
2025/05/02-08:32:33.607418 7f4162bff6c0 Compacted 1@1 + 1@2 files => 76976 bytes
2025/05/02-08:32:33.613654 7f4162bff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2025/05/02-08:32:33.613823 7f4162bff6c0 Delete type=2 #106
2025/05/02-08:32:33.614198 7f4162bff6c0 Delete type=2 #178
2025/05/02-08:32:33.630595 7f4162bff6c0 Manual compaction at level-1 from '!items!y1yOenfAJTsb3r6e' @ 93 : 1 .. '!items!y1yOenfAJTsb3r6e' @ 0 : 0; will stop at (end)

View File

@ -1,8 +1,8 @@
2024/03/23-10:36:32.618548 7fed73e006c0 Recovering log #44
2024/03/23-10:36:32.628885 7fed73e006c0 Delete type=3 #42
2024/03/23-10:36:32.628941 7fed73e006c0 Delete type=0 #44
2024/03/23-10:47:49.111695 7fed720006c0 Level-0 table #49: started
2024/03/23-10:47:49.111718 7fed720006c0 Level-0 table #49: 0 bytes OK
2024/03/23-10:47:49.117669 7fed720006c0 Delete type=0 #47
2024/03/23-10:47:49.124617 7fed720006c0 Manual compaction at level-0 from '!items!1NhJH4IJpxsGmLB8' @ 72057594037927935 : 1 .. '!items!y1yOenfAJTsb3r6e' @ 0 : 0; will stop at (end)
2024/03/23-10:47:49.124645 7fed720006c0 Manual compaction at level-1 from '!items!1NhJH4IJpxsGmLB8' @ 72057594037927935 : 1 .. '!items!y1yOenfAJTsb3r6e' @ 0 : 0; will stop at (end)
2024/11/17-22:48:43.433551 7f1d08bf96c0 Recovering log #169
2024/11/17-22:48:43.443811 7f1d08bf96c0 Delete type=3 #167
2024/11/17-22:48:43.443896 7f1d08bf96c0 Delete type=0 #169
2024/11/17-22:50:28.249266 7f1d027ff6c0 Level-0 table #174: started
2024/11/17-22:50:28.249291 7f1d027ff6c0 Level-0 table #174: 0 bytes OK
2024/11/17-22:50:28.255594 7f1d027ff6c0 Delete type=0 #172
2024/11/17-22:50:28.274735 7f1d027ff6c0 Manual compaction at level-0 from '!items!1NhJH4IJpxsGmLB8' @ 72057594037927935 : 1 .. '!items!y1yOenfAJTsb3r6e' @ 0 : 0; will stop at (end)
2024/11/17-22:50:28.274768 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-000050
MANIFEST-000175

View File

@ -1,8 +1,15 @@
2024/03/23-10:48:02.597243 7fed73e006c0 Recovering log #48
2024/03/23-10:48:02.607708 7fed73e006c0 Delete type=3 #46
2024/03/23-10:48:02.607775 7fed73e006c0 Delete type=0 #48
2024/03/23-11:37:00.827007 7fed720006c0 Level-0 table #53: started
2024/03/23-11:37:00.827057 7fed720006c0 Level-0 table #53: 0 bytes OK
2024/03/23-11:37:00.833771 7fed720006c0 Delete type=0 #51
2024/03/23-11:37:00.846910 7fed720006c0 Manual compaction at level-0 from '!items!1ETVaPBtjDtzelK1' @ 72057594037927935 : 1 .. '!items!zbsVCsWxRzkzzG1N' @ 0 : 0; will stop at (end)
2024/03/23-11:37:00.846959 7fed720006c0 Manual compaction at level-1 from '!items!1ETVaPBtjDtzelK1' @ 72057594037927935 : 1 .. '!items!zbsVCsWxRzkzzG1N' @ 0 : 0; will stop at (end)
2025/05/02-08:12:38.625683 7f41693fa6c0 Recovering log #173
2025/05/02-08:12:38.636729 7f41693fa6c0 Delete type=3 #171
2025/05/02-08:12:38.636867 7f41693fa6c0 Delete type=0 #173
2025/05/02-08:32:33.536656 7f4162bff6c0 Level-0 table #178: started
2025/05/02-08:32:33.540777 7f4162bff6c0 Level-0 table #178: 18161 bytes OK
2025/05/02-08:32:33.547563 7f4162bff6c0 Delete type=0 #176
2025/05/02-08:32:33.575848 7f4162bff6c0 Manual compaction at level-0 from '!items!1ETVaPBtjDtzelK1' @ 72057594037927935 : 1 .. '!items!zbsVCsWxRzkzzG1N' @ 0 : 0; will stop at (end)
2025/05/02-08:32:33.589023 7f4162bff6c0 Manual compaction at level-1 from '!items!1ETVaPBtjDtzelK1' @ 72057594037927935 : 1 .. '!items!zbsVCsWxRzkzzG1N' @ 0 : 0; will stop at '!items!zbsVCsWxRzkzzG1N' @ 216 : 1
2025/05/02-08:32:33.589042 7f4162bff6c0 Compacting 1@1 + 1@2 files
2025/05/02-08:32:33.593271 7f4162bff6c0 Generated table #179@1: 72 keys, 18161 bytes
2025/05/02-08:32:33.593306 7f4162bff6c0 Compacted 1@1 + 1@2 files => 18161 bytes
2025/05/02-08:32:33.600921 7f4162bff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2025/05/02-08:32:33.601153 7f4162bff6c0 Delete type=2 #106
2025/05/02-08:32:33.601536 7f4162bff6c0 Delete type=2 #178
2025/05/02-08:32:33.630581 7f4162bff6c0 Manual compaction at level-1 from '!items!zbsVCsWxRzkzzG1N' @ 216 : 1 .. '!items!zbsVCsWxRzkzzG1N' @ 0 : 0; will stop at (end)

View File

@ -1,8 +1,8 @@
2024/03/23-10:36:32.649726 7fed73e006c0 Recovering log #44
2024/03/23-10:36:32.660737 7fed73e006c0 Delete type=3 #42
2024/03/23-10:36:32.660854 7fed73e006c0 Delete type=0 #44
2024/03/23-10:47:49.138231 7fed720006c0 Level-0 table #49: started
2024/03/23-10:47:49.138277 7fed720006c0 Level-0 table #49: 0 bytes OK
2024/03/23-10:47:49.144999 7fed720006c0 Delete type=0 #47
2024/03/23-10:47:49.151672 7fed720006c0 Manual compaction at level-0 from '!items!1ETVaPBtjDtzelK1' @ 72057594037927935 : 1 .. '!items!zbsVCsWxRzkzzG1N' @ 0 : 0; will stop at (end)
2024/03/23-10:47:49.151719 7fed720006c0 Manual compaction at level-1 from '!items!1ETVaPBtjDtzelK1' @ 72057594037927935 : 1 .. '!items!zbsVCsWxRzkzzG1N' @ 0 : 0; will stop at (end)
2024/11/17-22:48:43.459868 7f1d093fa6c0 Recovering log #169
2024/11/17-22:48:43.470425 7f1d093fa6c0 Delete type=3 #167
2024/11/17-22:48:43.470517 7f1d093fa6c0 Delete type=0 #169
2024/11/17-22:50:28.262661 7f1d027ff6c0 Level-0 table #174: started
2024/11/17-22:50:28.262685 7f1d027ff6c0 Level-0 table #174: 0 bytes OK
2024/11/17-22:50:28.268581 7f1d027ff6c0 Delete type=0 #172
2024/11/17-22:50:28.274758 7f1d027ff6c0 Manual compaction at level-0 from '!items!1ETVaPBtjDtzelK1' @ 72057594037927935 : 1 .. '!items!zbsVCsWxRzkzzG1N' @ 0 : 0; will stop at (end)
2024/11/17-22:50:28.274792 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-000050
MANIFEST-000175

View File

@ -1,8 +1,15 @@
2024/03/23-10:48:02.559259 7fed734006c0 Recovering log #48
2024/03/23-10:48:02.569488 7fed734006c0 Delete type=3 #46
2024/03/23-10:48:02.569553 7fed734006c0 Delete type=0 #48
2024/03/23-11:37:00.820791 7fed720006c0 Level-0 table #53: started
2024/03/23-11:37:00.820819 7fed720006c0 Level-0 table #53: 0 bytes OK
2024/03/23-11:37:00.826839 7fed720006c0 Delete type=0 #51
2024/03/23-11:37:00.846901 7fed720006c0 Manual compaction at level-0 from '!items!0fPXtA5LkLgG8uDj' @ 72057594037927935 : 1 .. '!items!zvtBlG6KCIn0oCVk' @ 0 : 0; will stop at (end)
2024/03/23-11:37:00.846946 7fed720006c0 Manual compaction at level-1 from '!items!0fPXtA5LkLgG8uDj' @ 72057594037927935 : 1 .. '!items!zvtBlG6KCIn0oCVk' @ 0 : 0; will stop at (end)
2025/05/02-08:12:38.561663 7f41637fe6c0 Recovering log #173
2025/05/02-08:12:38.572350 7f41637fe6c0 Delete type=3 #171
2025/05/02-08:12:38.572464 7f41637fe6c0 Delete type=0 #173
2025/05/02-08:32:33.524401 7f4162bff6c0 Level-0 table #178: started
2025/05/02-08:32:33.529756 7f4162bff6c0 Level-0 table #178: 61883 bytes OK
2025/05/02-08:32:33.536322 7f4162bff6c0 Delete type=0 #176
2025/05/02-08:32:33.575825 7f4162bff6c0 Manual compaction at level-0 from '!items!0fPXtA5LkLgG8uDj' @ 72057594037927935 : 1 .. '!items!zvtBlG6KCIn0oCVk' @ 0 : 0; will stop at (end)
2025/05/02-08:32:33.575912 7f4162bff6c0 Manual compaction at level-1 from '!items!0fPXtA5LkLgG8uDj' @ 72057594037927935 : 1 .. '!items!zvtBlG6KCIn0oCVk' @ 0 : 0; will stop at '!items!zvtBlG6KCIn0oCVk' @ 459 : 1
2025/05/02-08:32:33.575922 7f4162bff6c0 Compacting 1@1 + 1@2 files
2025/05/02-08:32:33.581216 7f4162bff6c0 Generated table #179@1: 153 keys, 61883 bytes
2025/05/02-08:32:33.581273 7f4162bff6c0 Compacted 1@1 + 1@2 files => 61883 bytes
2025/05/02-08:32:33.588098 7f4162bff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2025/05/02-08:32:33.588368 7f4162bff6c0 Delete type=2 #106
2025/05/02-08:32:33.588802 7f4162bff6c0 Delete type=2 #178
2025/05/02-08:32:33.630551 7f4162bff6c0 Manual compaction at level-1 from '!items!zvtBlG6KCIn0oCVk' @ 459 : 1 .. '!items!zvtBlG6KCIn0oCVk' @ 0 : 0; will stop at (end)

View File

@ -1,8 +1,8 @@
2024/03/23-10:36:32.605189 7fed78a006c0 Recovering log #44
2024/03/23-10:36:32.615490 7fed78a006c0 Delete type=3 #42
2024/03/23-10:36:32.615554 7fed78a006c0 Delete type=0 #44
2024/03/23-10:47:49.098509 7fed720006c0 Level-0 table #49: started
2024/03/23-10:47:49.098542 7fed720006c0 Level-0 table #49: 0 bytes OK
2024/03/23-10:47:49.104751 7fed720006c0 Delete type=0 #47
2024/03/23-10:47:49.124594 7fed720006c0 Manual compaction at level-0 from '!items!0fPXtA5LkLgG8uDj' @ 72057594037927935 : 1 .. '!items!zvtBlG6KCIn0oCVk' @ 0 : 0; will stop at (end)
2024/03/23-10:47:49.124632 7fed720006c0 Manual compaction at level-1 from '!items!0fPXtA5LkLgG8uDj' @ 72057594037927935 : 1 .. '!items!zvtBlG6KCIn0oCVk' @ 0 : 0; will stop at (end)
2024/11/17-22:48:43.420896 7f1d03fff6c0 Recovering log #169
2024/11/17-22:48:43.431112 7f1d03fff6c0 Delete type=3 #167
2024/11/17-22:48:43.431187 7f1d03fff6c0 Delete type=0 #169
2024/11/17-22:50:28.236628 7f1d027ff6c0 Level-0 table #174: started
2024/11/17-22:50:28.236663 7f1d027ff6c0 Level-0 table #174: 0 bytes OK
2024/11/17-22:50:28.242846 7f1d027ff6c0 Delete type=0 #172
2024/11/17-22:50:28.249127 7f1d027ff6c0 Manual compaction at level-0 from '!items!0fPXtA5LkLgG8uDj' @ 72057594037927935 : 1 .. '!items!zvtBlG6KCIn0oCVk' @ 0 : 0; will stop at (end)
2024/11/17-22:50:28.249160 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/000179.ldb Normal file

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000050
MANIFEST-000175

View File

@ -1,8 +1,15 @@
2024/03/23-10:48:02.521231 7fed73e006c0 Recovering log #48
2024/03/23-10:48:02.532005 7fed73e006c0 Delete type=3 #46
2024/03/23-10:48:02.532101 7fed73e006c0 Delete type=0 #48
2024/03/23-11:37:00.801358 7fed720006c0 Level-0 table #53: started
2024/03/23-11:37:00.801380 7fed720006c0 Level-0 table #53: 0 bytes OK
2024/03/23-11:37:00.807396 7fed720006c0 Delete type=0 #51
2024/03/23-11:37:00.820567 7fed720006c0 Manual compaction at level-0 from '!items!0EAAt0qSzcD9VRBH' @ 72057594037927935 : 1 .. '!items!zfpjROW9LDAlXUkN' @ 0 : 0; will stop at (end)
2024/03/23-11:37:00.820617 7fed720006c0 Manual compaction at level-1 from '!items!0EAAt0qSzcD9VRBH' @ 72057594037927935 : 1 .. '!items!zfpjROW9LDAlXUkN' @ 0 : 0; will stop at (end)
2025/05/02-08:12:38.502811 7f41637fe6c0 Recovering log #173
2025/05/02-08:12:38.513277 7f41637fe6c0 Delete type=3 #171
2025/05/02-08:12:38.513388 7f41637fe6c0 Delete type=0 #173
2025/05/02-08:32:33.465976 7f4162bff6c0 Level-0 table #178: started
2025/05/02-08:32:33.470234 7f4162bff6c0 Level-0 table #178: 27421 bytes OK
2025/05/02-08:32:33.477187 7f4162bff6c0 Delete type=0 #176
2025/05/02-08:32:33.477436 7f4162bff6c0 Manual compaction at level-0 from '!items!0EAAt0qSzcD9VRBH' @ 72057594037927935 : 1 .. '!items!zfpjROW9LDAlXUkN' @ 0 : 0; will stop at (end)
2025/05/02-08:32:33.512028 7f4162bff6c0 Manual compaction at level-1 from '!items!0EAAt0qSzcD9VRBH' @ 72057594037927935 : 1 .. '!items!zfpjROW9LDAlXUkN' @ 0 : 0; will stop at '!items!zfpjROW9LDAlXUkN' @ 189 : 1
2025/05/02-08:32:33.512048 7f4162bff6c0 Compacting 1@1 + 1@2 files
2025/05/02-08:32:33.516387 7f4162bff6c0 Generated table #179@1: 63 keys, 27421 bytes
2025/05/02-08:32:33.516430 7f4162bff6c0 Compacted 1@1 + 1@2 files => 27421 bytes
2025/05/02-08:32:33.523531 7f4162bff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2025/05/02-08:32:33.523711 7f4162bff6c0 Delete type=2 #106
2025/05/02-08:32:33.523938 7f4162bff6c0 Delete type=2 #178
2025/05/02-08:32:33.524156 7f4162bff6c0 Manual compaction at level-1 from '!items!zfpjROW9LDAlXUkN' @ 189 : 1 .. '!items!zfpjROW9LDAlXUkN' @ 0 : 0; will stop at (end)

View File

@ -1,8 +1,8 @@
2024/03/23-10:36:32.565243 7fed73e006c0 Recovering log #44
2024/03/23-10:36:32.575390 7fed73e006c0 Delete type=3 #42
2024/03/23-10:36:32.575442 7fed73e006c0 Delete type=0 #44
2024/03/23-10:47:49.091958 7fed720006c0 Level-0 table #49: started
2024/03/23-10:47:49.092014 7fed720006c0 Level-0 table #49: 0 bytes OK
2024/03/23-10:47:49.098272 7fed720006c0 Delete type=0 #47
2024/03/23-10:47:49.098402 7fed720006c0 Manual compaction at level-0 from '!items!0EAAt0qSzcD9VRBH' @ 72057594037927935 : 1 .. '!items!zfpjROW9LDAlXUkN' @ 0 : 0; will stop at (end)
2024/03/23-10:47:49.098427 7fed720006c0 Manual compaction at level-1 from '!items!0EAAt0qSzcD9VRBH' @ 72057594037927935 : 1 .. '!items!zfpjROW9LDAlXUkN' @ 0 : 0; will stop at (end)
2024/11/17-22:48:43.382022 7f1d08bf96c0 Recovering log #169
2024/11/17-22:48:43.392929 7f1d08bf96c0 Delete type=3 #167
2024/11/17-22:48:43.392989 7f1d08bf96c0 Delete type=0 #169
2024/11/17-22:50:28.229453 7f1d027ff6c0 Level-0 table #174: started
2024/11/17-22:50:28.229478 7f1d027ff6c0 Level-0 table #174: 0 bytes OK
2024/11/17-22:50:28.236445 7f1d027ff6c0 Delete type=0 #172
2024/11/17-22:50:28.249116 7f1d027ff6c0 Manual compaction at level-0 from '!items!0EAAt0qSzcD9VRBH' @ 72057594037927935 : 1 .. '!items!zfpjROW9LDAlXUkN' @ 0 : 0; will stop at (end)
2024/11/17-22:50:28.249151 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/000179.ldb Normal file

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000050
MANIFEST-000175

View File

@ -1,8 +1,15 @@
2024/03/23-10:48:02.547542 7fed73e006c0 Recovering log #48
2024/03/23-10:48:02.557329 7fed73e006c0 Delete type=3 #46
2024/03/23-10:48:02.557386 7fed73e006c0 Delete type=0 #48
2024/03/23-11:37:00.807508 7fed720006c0 Level-0 table #53: started
2024/03/23-11:37:00.807530 7fed720006c0 Level-0 table #53: 0 bytes OK
2024/03/23-11:37:00.813725 7fed720006c0 Delete type=0 #51
2024/03/23-11:37:00.820593 7fed720006c0 Manual compaction at level-0 from '!items!0cNSRJVPk3GbvxfD' @ 72057594037927935 : 1 .. '!items!yWDg2KlXEz33TSmZ' @ 0 : 0; will stop at (end)
2024/03/23-11:37:00.820630 7fed720006c0 Manual compaction at level-1 from '!items!0cNSRJVPk3GbvxfD' @ 72057594037927935 : 1 .. '!items!yWDg2KlXEz33TSmZ' @ 0 : 0; will stop at (end)
2025/05/02-08:12:38.545135 7f4163fff6c0 Recovering log #173
2025/05/02-08:12:38.556273 7f4163fff6c0 Delete type=3 #171
2025/05/02-08:12:38.556450 7f4163fff6c0 Delete type=0 #173
2025/05/02-08:32:33.455447 7f4162bff6c0 Level-0 table #178: started
2025/05/02-08:32:33.459276 7f4162bff6c0 Level-0 table #178: 24174 bytes OK
2025/05/02-08:32:33.465795 7f4162bff6c0 Delete type=0 #176
2025/05/02-08:32:33.477419 7f4162bff6c0 Manual compaction at level-0 from '!items!0cNSRJVPk3GbvxfD' @ 72057594037927935 : 1 .. '!items!yWDg2KlXEz33TSmZ' @ 0 : 0; will stop at (end)
2025/05/02-08:32:33.500781 7f4162bff6c0 Manual compaction at level-1 from '!items!0cNSRJVPk3GbvxfD' @ 72057594037927935 : 1 .. '!items!yWDg2KlXEz33TSmZ' @ 0 : 0; will stop at '!items!yWDg2KlXEz33TSmZ' @ 108 : 1
2025/05/02-08:32:33.500794 7f4162bff6c0 Compacting 1@1 + 1@2 files
2025/05/02-08:32:33.504939 7f4162bff6c0 Generated table #179@1: 36 keys, 24174 bytes
2025/05/02-08:32:33.504980 7f4162bff6c0 Compacted 1@1 + 1@2 files => 24174 bytes
2025/05/02-08:32:33.511393 7f4162bff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2025/05/02-08:32:33.511579 7f4162bff6c0 Delete type=2 #106
2025/05/02-08:32:33.511848 7f4162bff6c0 Delete type=2 #178
2025/05/02-08:32:33.524138 7f4162bff6c0 Manual compaction at level-1 from '!items!yWDg2KlXEz33TSmZ' @ 108 : 1 .. '!items!yWDg2KlXEz33TSmZ' @ 0 : 0; will stop at (end)

View File

@ -1,8 +1,8 @@
2024/03/23-10:36:32.591905 7fed73e006c0 Recovering log #44
2024/03/23-10:36:32.601706 7fed73e006c0 Delete type=3 #42
2024/03/23-10:36:32.601822 7fed73e006c0 Delete type=0 #44
2024/03/23-10:47:49.104862 7fed720006c0 Level-0 table #49: started
2024/03/23-10:47:49.104884 7fed720006c0 Level-0 table #49: 0 bytes OK
2024/03/23-10:47:49.111582 7fed720006c0 Delete type=0 #47
2024/03/23-10:47:49.124607 7fed720006c0 Manual compaction at level-0 from '!items!0cNSRJVPk3GbvxfD' @ 72057594037927935 : 1 .. '!items!yWDg2KlXEz33TSmZ' @ 0 : 0; will stop at (end)
2024/03/23-10:47:49.124638 7fed720006c0 Manual compaction at level-1 from '!items!0cNSRJVPk3GbvxfD' @ 72057594037927935 : 1 .. '!items!yWDg2KlXEz33TSmZ' @ 0 : 0; will stop at (end)
2024/11/17-22:48:43.408818 7f1d093fa6c0 Recovering log #169
2024/11/17-22:48:43.418583 7f1d093fa6c0 Delete type=3 #167
2024/11/17-22:48:43.418635 7f1d093fa6c0 Delete type=0 #169
2024/11/17-22:50:28.268699 7f1d027ff6c0 Level-0 table #174: started
2024/11/17-22:50:28.268724 7f1d027ff6c0 Level-0 table #174: 0 bytes OK
2024/11/17-22:50:28.274639 7f1d027ff6c0 Delete type=0 #172
2024/11/17-22:50:28.274776 7f1d027ff6c0 Manual compaction at level-0 from '!items!0cNSRJVPk3GbvxfD' @ 72057594037927935 : 1 .. '!items!yWDg2KlXEz33TSmZ' @ 0 : 0; will stop at (end)
2024/11/17-22:50:28.274799 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-000050
MANIFEST-000176

View File

@ -1,8 +1,15 @@
2024/03/23-10:48:02.509092 7fed734006c0 Recovering log #48
2024/03/23-10:48:02.519097 7fed734006c0 Delete type=3 #46
2024/03/23-10:48:02.519155 7fed734006c0 Delete type=0 #48
2024/03/23-11:37:00.794140 7fed720006c0 Level-0 table #53: started
2024/03/23-11:37:00.794164 7fed720006c0 Level-0 table #53: 0 bytes OK
2024/03/23-11:37:00.801230 7fed720006c0 Delete type=0 #51
2024/03/23-11:37:00.807497 7fed720006c0 Manual compaction at level-0 from '!items!0V86n4TU8NegrR2B' @ 72057594037927935 : 1 .. '!items!zEl2NQsnCpELVWzh' @ 0 : 0; will stop at (end)
2024/03/23-11:37:00.820584 7fed720006c0 Manual compaction at level-1 from '!items!0V86n4TU8NegrR2B' @ 72057594037927935 : 1 .. '!items!zEl2NQsnCpELVWzh' @ 0 : 0; will stop at (end)
2025/05/02-08:12:38.486843 7f4163fff6c0 Recovering log #174
2025/05/02-08:12:38.497823 7f4163fff6c0 Delete type=3 #172
2025/05/02-08:12:38.497971 7f4163fff6c0 Delete type=0 #174
2025/05/02-08:32:33.432014 7f4162bff6c0 Level-0 table #179: started
2025/05/02-08:32:33.436580 7f4162bff6c0 Level-0 table #179: 30205 bytes OK
2025/05/02-08:32:33.443380 7f4162bff6c0 Delete type=0 #177
2025/05/02-08:32:33.477388 7f4162bff6c0 Manual compaction at level-0 from '!items!0V86n4TU8NegrR2B' @ 72057594037927935 : 1 .. '!items!zEl2NQsnCpELVWzh' @ 0 : 0; will stop at (end)
2025/05/02-08:32:33.477460 7f4162bff6c0 Manual compaction at level-1 from '!items!0V86n4TU8NegrR2B' @ 72057594037927935 : 1 .. '!items!zEl2NQsnCpELVWzh' @ 0 : 0; will stop at '!items!zEl2NQsnCpELVWzh' @ 285 : 1
2025/05/02-08:32:33.477471 7f4162bff6c0 Compacting 1@1 + 1@2 files
2025/05/02-08:32:33.481585 7f4162bff6c0 Generated table #180@1: 74 keys, 30205 bytes
2025/05/02-08:32:33.481642 7f4162bff6c0 Compacted 1@1 + 1@2 files => 30205 bytes
2025/05/02-08:32:33.488072 7f4162bff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2025/05/02-08:32:33.488265 7f4162bff6c0 Delete type=2 #159
2025/05/02-08:32:33.488483 7f4162bff6c0 Delete type=2 #179
2025/05/02-08:32:33.524098 7f4162bff6c0 Manual compaction at level-1 from '!items!zEl2NQsnCpELVWzh' @ 285 : 1 .. '!items!zEl2NQsnCpELVWzh' @ 0 : 0; will stop at (end)

View File

@ -1,8 +1,8 @@
2024/03/23-10:36:32.552707 7fed78a006c0 Recovering log #44
2024/03/23-10:36:32.562757 7fed78a006c0 Delete type=3 #42
2024/03/23-10:36:32.562811 7fed78a006c0 Delete type=0 #44
2024/03/23-10:47:49.078056 7fed720006c0 Level-0 table #49: started
2024/03/23-10:47:49.078086 7fed720006c0 Level-0 table #49: 0 bytes OK
2024/03/23-10:47:49.084141 7fed720006c0 Delete type=0 #47
2024/03/23-10:47:49.098382 7fed720006c0 Manual compaction at level-0 from '!items!0V86n4TU8NegrR2B' @ 72057594037927935 : 1 .. '!items!zEl2NQsnCpELVWzh' @ 0 : 0; will stop at (end)
2024/03/23-10:47:49.098433 7fed720006c0 Manual compaction at level-1 from '!items!0V86n4TU8NegrR2B' @ 72057594037927935 : 1 .. '!items!zEl2NQsnCpELVWzh' @ 0 : 0; will stop at (end)
2024/11/17-22:48:43.369953 7f1d03fff6c0 Recovering log #170
2024/11/17-22:48:43.379524 7f1d03fff6c0 Delete type=3 #168
2024/11/17-22:48:43.379589 7f1d03fff6c0 Delete type=0 #170
2024/11/17-22:50:28.223060 7f1d027ff6c0 Level-0 table #175: started
2024/11/17-22:50:28.223138 7f1d027ff6c0 Level-0 table #175: 0 bytes OK
2024/11/17-22:50:28.229321 7f1d027ff6c0 Delete type=0 #173
2024/11/17-22:50:28.249101 7f1d027ff6c0 Manual compaction at level-0 from '!items!0V86n4TU8NegrR2B' @ 72057594037927935 : 1 .. '!items!zEl2NQsnCpELVWzh' @ 0 : 0; will stop at (end)
2024/11/17-22:50:28.249144 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-000050
MANIFEST-000175

View File

@ -1,8 +1,15 @@
2024/03/23-10:48:02.534354 7fed734006c0 Recovering log #48
2024/03/23-10:48:02.545488 7fed734006c0 Delete type=3 #46
2024/03/23-10:48:02.545545 7fed734006c0 Delete type=0 #48
2024/03/23-11:37:00.813815 7fed720006c0 Level-0 table #53: started
2024/03/23-11:37:00.813835 7fed720006c0 Level-0 table #53: 0 bytes OK
2024/03/23-11:37:00.820461 7fed720006c0 Delete type=0 #51
2024/03/23-11:37:00.820601 7fed720006c0 Manual compaction at level-0 from '!items!2QqvtClSVnh5ejXu' @ 72057594037927935 : 1 .. '!items!xzRJ6JP1HqoqxLdj' @ 0 : 0; will stop at (end)
2024/03/23-11:37:00.820624 7fed720006c0 Manual compaction at level-1 from '!items!2QqvtClSVnh5ejXu' @ 72057594037927935 : 1 .. '!items!xzRJ6JP1HqoqxLdj' @ 0 : 0; will stop at (end)
2025/05/02-08:12:38.518058 7f41693fa6c0 Recovering log #173
2025/05/02-08:12:38.529950 7f41693fa6c0 Delete type=3 #171
2025/05/02-08:12:38.530055 7f41693fa6c0 Delete type=0 #173
2025/05/02-08:32:33.443582 7f4162bff6c0 Level-0 table #178: started
2025/05/02-08:32:33.448404 7f4162bff6c0 Level-0 table #178: 31582 bytes OK
2025/05/02-08:32:33.455254 7f4162bff6c0 Delete type=0 #176
2025/05/02-08:32:33.477406 7f4162bff6c0 Manual compaction at level-0 from '!items!2QqvtClSVnh5ejXu' @ 72057594037927935 : 1 .. '!items!xzRJ6JP1HqoqxLdj' @ 0 : 0; will stop at (end)
2025/05/02-08:32:33.488601 7f4162bff6c0 Manual compaction at level-1 from '!items!2QqvtClSVnh5ejXu' @ 72057594037927935 : 1 .. '!items!xzRJ6JP1HqoqxLdj' @ 0 : 0; will stop at '!items!xzRJ6JP1HqoqxLdj' @ 195 : 1
2025/05/02-08:32:33.488624 7f4162bff6c0 Compacting 1@1 + 1@2 files
2025/05/02-08:32:33.493136 7f4162bff6c0 Generated table #179@1: 65 keys, 31582 bytes
2025/05/02-08:32:33.493174 7f4162bff6c0 Compacted 1@1 + 1@2 files => 31582 bytes
2025/05/02-08:32:33.500214 7f4162bff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2025/05/02-08:32:33.500377 7f4162bff6c0 Delete type=2 #106
2025/05/02-08:32:33.500642 7f4162bff6c0 Delete type=2 #178
2025/05/02-08:32:33.524120 7f4162bff6c0 Manual compaction at level-1 from '!items!xzRJ6JP1HqoqxLdj' @ 195 : 1 .. '!items!xzRJ6JP1HqoqxLdj' @ 0 : 0; will stop at (end)

View File

@ -1,8 +1,8 @@
2024/03/23-10:36:32.577869 7fed78a006c0 Recovering log #44
2024/03/23-10:36:32.588845 7fed78a006c0 Delete type=3 #42
2024/03/23-10:36:32.588930 7fed78a006c0 Delete type=0 #44
2024/03/23-10:47:49.084257 7fed720006c0 Level-0 table #49: started
2024/03/23-10:47:49.084286 7fed720006c0 Level-0 table #49: 0 bytes OK
2024/03/23-10:47:49.091721 7fed720006c0 Delete type=0 #47
2024/03/23-10:47:49.098393 7fed720006c0 Manual compaction at level-0 from '!items!2QqvtClSVnh5ejXu' @ 72057594037927935 : 1 .. '!items!xzRJ6JP1HqoqxLdj' @ 0 : 0; will stop at (end)
2024/03/23-10:47:49.098420 7fed720006c0 Manual compaction at level-1 from '!items!2QqvtClSVnh5ejXu' @ 72057594037927935 : 1 .. '!items!xzRJ6JP1HqoqxLdj' @ 0 : 0; will stop at (end)
2024/11/17-22:48:43.395898 7f1d037fe6c0 Recovering log #169
2024/11/17-22:48:43.406363 7f1d037fe6c0 Delete type=3 #167
2024/11/17-22:48:43.406473 7f1d037fe6c0 Delete type=0 #169
2024/11/17-22:50:28.242967 7f1d027ff6c0 Level-0 table #174: started
2024/11/17-22:50:28.242990 7f1d027ff6c0 Level-0 table #174: 0 bytes OK
2024/11/17-22:50:28.248975 7f1d027ff6c0 Delete type=0 #172
2024/11/17-22:50:28.249136 7f1d027ff6c0 Manual compaction at level-0 from '!items!2QqvtClSVnh5ejXu' @ 72057594037927935 : 1 .. '!items!xzRJ6JP1HqoqxLdj' @ 0 : 0; will stop at (end)
2024/11/17-22:50:28.249166 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/000180.ldb Normal file

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000050
MANIFEST-000176

View File

@ -1,8 +1,15 @@
2024/03/23-10:48:02.584567 7fed734006c0 Recovering log #48
2024/03/23-10:48:02.594353 7fed734006c0 Delete type=3 #46
2024/03/23-10:48:02.594417 7fed734006c0 Delete type=0 #48
2024/03/23-11:37:00.833866 7fed720006c0 Level-0 table #53: started
2024/03/23-11:37:00.833890 7fed720006c0 Level-0 table #53: 0 bytes OK
2024/03/23-11:37:00.839913 7fed720006c0 Delete type=0 #51
2024/03/23-11:37:00.846918 7fed720006c0 Manual compaction at level-0 from '!items!19r9ijZUyvnlIqgm' @ 72057594037927935 : 1 .. '!items!zON0h5SjFyANjPnA' @ 0 : 0; will stop at (end)
2024/03/23-11:37:00.846966 7fed720006c0 Manual compaction at level-1 from '!items!19r9ijZUyvnlIqgm' @ 72057594037927935 : 1 .. '!items!zON0h5SjFyANjPnA' @ 0 : 0; will stop at (end)
2025/05/02-08:12:38.599663 7f4163fff6c0 Recovering log #174
2025/05/02-08:12:38.610256 7f4163fff6c0 Delete type=3 #172
2025/05/02-08:12:38.610386 7f4163fff6c0 Delete type=0 #174
2025/05/02-08:32:33.560393 7f4162bff6c0 Level-0 table #179: started
2025/05/02-08:32:33.568946 7f4162bff6c0 Level-0 table #179: 279479 bytes OK
2025/05/02-08:32:33.575435 7f4162bff6c0 Delete type=0 #177
2025/05/02-08:32:33.575893 7f4162bff6c0 Manual compaction at level-0 from '!items!19r9ijZUyvnlIqgm' @ 72057594037927935 : 1 .. '!items!zON0h5SjFyANjPnA' @ 0 : 0; will stop at (end)
2025/05/02-08:32:33.614470 7f4162bff6c0 Manual compaction at level-1 from '!items!19r9ijZUyvnlIqgm' @ 72057594037927935 : 1 .. '!items!zON0h5SjFyANjPnA' @ 0 : 0; will stop at '!items!zON0h5SjFyANjPnA' @ 540 : 1
2025/05/02-08:32:33.614491 7f4162bff6c0 Compacting 1@1 + 1@2 files
2025/05/02-08:32:33.623438 7f4162bff6c0 Generated table #180@1: 135 keys, 279479 bytes
2025/05/02-08:32:33.623477 7f4162bff6c0 Compacted 1@1 + 1@2 files => 279479 bytes
2025/05/02-08:32:33.629748 7f4162bff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2025/05/02-08:32:33.629951 7f4162bff6c0 Delete type=2 #139
2025/05/02-08:32:33.630303 7f4162bff6c0 Delete type=2 #179
2025/05/02-08:32:33.630622 7f4162bff6c0 Manual compaction at level-1 from '!items!zON0h5SjFyANjPnA' @ 540 : 1 .. '!items!zON0h5SjFyANjPnA' @ 0 : 0; will stop at (end)

View File

@ -1,8 +1,8 @@
2024/03/23-10:36:32.634942 7fed78a006c0 Recovering log #44
2024/03/23-10:36:32.645370 7fed78a006c0 Delete type=3 #42
2024/03/23-10:36:32.645438 7fed78a006c0 Delete type=0 #44
2024/03/23-10:47:49.117785 7fed720006c0 Level-0 table #49: started
2024/03/23-10:47:49.117808 7fed720006c0 Level-0 table #49: 0 bytes OK
2024/03/23-10:47:49.124476 7fed720006c0 Delete type=0 #47
2024/03/23-10:47:49.124625 7fed720006c0 Manual compaction at level-0 from '!items!19r9ijZUyvnlIqgm' @ 72057594037927935 : 1 .. '!items!zON0h5SjFyANjPnA' @ 0 : 0; will stop at (end)
2024/03/23-10:47:49.124651 7fed720006c0 Manual compaction at level-1 from '!items!19r9ijZUyvnlIqgm' @ 72057594037927935 : 1 .. '!items!zON0h5SjFyANjPnA' @ 0 : 0; will stop at (end)
2024/11/17-22:48:43.446368 7f1d037fe6c0 Recovering log #170
2024/11/17-22:48:43.456501 7f1d037fe6c0 Delete type=3 #168
2024/11/17-22:48:43.456578 7f1d037fe6c0 Delete type=0 #170
2024/11/17-22:50:28.255715 7f1d027ff6c0 Level-0 table #175: started
2024/11/17-22:50:28.255743 7f1d027ff6c0 Level-0 table #175: 0 bytes OK
2024/11/17-22:50:28.262546 7f1d027ff6c0 Delete type=0 #173
2024/11/17-22:50:28.274749 7f1d027ff6c0 Manual compaction at level-0 from '!items!19r9ijZUyvnlIqgm' @ 72057594037927935 : 1 .. '!items!zON0h5SjFyANjPnA' @ 0 : 0; will stop at (end)
2024/11/17-22:50:28.274785 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-000050
MANIFEST-000174

View File

@ -1,7 +1,7 @@
2024/03/23-10:48:02.609984 7fed734006c0 Recovering log #48
2024/03/23-10:48:02.619777 7fed734006c0 Delete type=3 #46
2024/03/23-10:48:02.619840 7fed734006c0 Delete type=0 #48
2024/03/23-11:37:00.847087 7fed720006c0 Level-0 table #53: started
2024/03/23-11:37:00.847153 7fed720006c0 Level-0 table #53: 0 bytes OK
2024/03/23-11:37:00.853979 7fed720006c0 Delete type=0 #51
2024/03/23-11:37:00.867118 7fed720006c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)
2025/05/02-08:12:38.642095 7f4168bf96c0 Recovering log #172
2025/05/02-08:12:38.652987 7f4168bf96c0 Delete type=3 #170
2025/05/02-08:12:38.653107 7f4168bf96c0 Delete type=0 #172
2025/05/02-08:32:33.630766 7f4162bff6c0 Level-0 table #177: started
2025/05/02-08:32:33.630831 7f4162bff6c0 Level-0 table #177: 0 bytes OK
2025/05/02-08:32:33.637591 7f4162bff6c0 Delete type=0 #175
2025/05/02-08:32:33.669383 7f4162bff6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)

View File

@ -1,7 +1,7 @@
2024/03/23-10:36:32.663217 7fed78a006c0 Recovering log #44
2024/03/23-10:36:32.673264 7fed78a006c0 Delete type=3 #42
2024/03/23-10:36:32.673319 7fed78a006c0 Delete type=0 #44
2024/03/23-10:47:49.131076 7fed720006c0 Level-0 table #49: started
2024/03/23-10:47:49.131099 7fed720006c0 Level-0 table #49: 0 bytes OK
2024/03/23-10:47:49.137951 7fed720006c0 Delete type=0 #47
2024/03/23-10:47:49.151656 7fed720006c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)
2024/11/17-22:48:43.473498 7f1d093fa6c0 Recovering log #168
2024/11/17-22:48:43.483301 7f1d093fa6c0 Delete type=3 #166
2024/11/17-22:48:43.483362 7f1d093fa6c0 Delete type=0 #168
2024/11/17-22:50:28.281429 7f1d027ff6c0 Level-0 table #173: started
2024/11/17-22:50:28.281470 7f1d027ff6c0 Level-0 table #173: 0 bytes OK
2024/11/17-22:50:28.288046 7f1d027ff6c0 Delete type=0 #171
2024/11/17-22:50:28.300645 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/000148.ldb Normal file

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000018
MANIFEST-000144

View File

@ -1,8 +1,15 @@
2024/03/23-10:48:02.622403 7fed73e006c0 Recovering log #16
2024/03/23-10:48:02.632700 7fed73e006c0 Delete type=3 #14
2024/03/23-10:48:02.632756 7fed73e006c0 Delete type=0 #16
2024/03/23-11:37:00.854073 7fed720006c0 Level-0 table #21: started
2024/03/23-11:37:00.854095 7fed720006c0 Level-0 table #21: 0 bytes OK
2024/03/23-11:37:00.860110 7fed720006c0 Delete type=0 #19
2024/03/23-11:37:00.867128 7fed720006c0 Manual compaction at level-0 from '!scenes!8DjkNeeujp2qff1N' @ 72057594037927935 : 1 .. '!scenes!ypDutqjqZcr7lx6I' @ 0 : 0; will stop at (end)
2024/03/23-11:37:00.867164 7fed720006c0 Manual compaction at level-1 from '!scenes!8DjkNeeujp2qff1N' @ 72057594037927935 : 1 .. '!scenes!ypDutqjqZcr7lx6I' @ 0 : 0; will stop at (end)
2025/05/02-08:12:38.657367 7f41637fe6c0 Recovering log #142
2025/05/02-08:12:38.668877 7f41637fe6c0 Delete type=3 #140
2025/05/02-08:12:38.668996 7f41637fe6c0 Delete type=0 #142
2025/05/02-08:32:33.658042 7f4162bff6c0 Level-0 table #147: started
2025/05/02-08:32:33.662480 7f4162bff6c0 Level-0 table #147: 4682 bytes OK
2025/05/02-08:32:33.669142 7f4162bff6c0 Delete type=0 #145
2025/05/02-08:32:33.669454 7f4162bff6c0 Manual compaction at level-0 from '!scenes!8DjkNeeujp2qff1N' @ 72057594037927935 : 1 .. '!scenes!ypDutqjqZcr7lx6I' @ 0 : 0; will stop at (end)
2025/05/02-08:32:33.669512 7f4162bff6c0 Manual compaction at level-1 from '!scenes!8DjkNeeujp2qff1N' @ 72057594037927935 : 1 .. '!scenes!ypDutqjqZcr7lx6I' @ 0 : 0; will stop at '!scenes!ypDutqjqZcr7lx6I' @ 16 : 1
2025/05/02-08:32:33.669532 7f4162bff6c0 Compacting 1@1 + 1@2 files
2025/05/02-08:32:33.673201 7f4162bff6c0 Generated table #148@1: 4 keys, 2992 bytes
2025/05/02-08:32:33.673241 7f4162bff6c0 Compacted 1@1 + 1@2 files => 2992 bytes
2025/05/02-08:32:33.681539 7f4162bff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2025/05/02-08:32:33.681688 7f4162bff6c0 Delete type=2 #87
2025/05/02-08:32:33.681917 7f4162bff6c0 Delete type=2 #147
2025/05/02-08:32:33.707107 7f4162bff6c0 Manual compaction at level-1 from '!scenes!ypDutqjqZcr7lx6I' @ 16 : 1 .. '!scenes!ypDutqjqZcr7lx6I' @ 0 : 0; will stop at (end)

View File

@ -1,8 +1,8 @@
2024/03/23-10:36:32.675856 7fed73e006c0 Recovering log #12
2024/03/23-10:36:32.687073 7fed73e006c0 Delete type=3 #10
2024/03/23-10:36:32.687168 7fed73e006c0 Delete type=0 #12
2024/03/23-10:47:49.124780 7fed720006c0 Level-0 table #17: started
2024/03/23-10:47:49.124802 7fed720006c0 Level-0 table #17: 0 bytes OK
2024/03/23-10:47:49.130952 7fed720006c0 Delete type=0 #15
2024/03/23-10:47:49.151626 7fed720006c0 Manual compaction at level-0 from '!scenes!8DjkNeeujp2qff1N' @ 72057594037927935 : 1 .. '!scenes!ypDutqjqZcr7lx6I' @ 0 : 0; will stop at (end)
2024/03/23-10:47:49.151703 7fed720006c0 Manual compaction at level-1 from '!scenes!8DjkNeeujp2qff1N' @ 72057594037927935 : 1 .. '!scenes!ypDutqjqZcr7lx6I' @ 0 : 0; will stop at (end)
2024/11/17-22:48:43.485905 7f1d08bf96c0 Recovering log #138
2024/11/17-22:48:43.496531 7f1d08bf96c0 Delete type=3 #136
2024/11/17-22:48:43.496608 7f1d08bf96c0 Delete type=0 #138
2024/11/17-22:50:28.294362 7f1d027ff6c0 Level-0 table #143: started
2024/11/17-22:50:28.294392 7f1d027ff6c0 Level-0 table #143: 0 bytes OK
2024/11/17-22:50:28.300492 7f1d027ff6c0 Delete type=0 #141
2024/11/17-22:50:28.300663 7f1d027ff6c0 Manual compaction at level-0 from '!scenes!8DjkNeeujp2qff1N' @ 72057594037927935 : 1 .. '!scenes!ypDutqjqZcr7lx6I' @ 0 : 0; will stop at (end)
2024/11/17-22:50:28.300690 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

@ -12,7 +12,7 @@
font-family: Garamond;
src: url('../assets/fonts/Garamond.woff') format("woff");
}
:root {
/* =================== 1. ACTOR SHEET FONT STYLES =========== */
--window-header-font-family: GismondaFG;
@ -39,7 +39,7 @@
--actor-label-font-weight: 700;
--actor-label-color: #464331c4;
/* =================== 2. DEBUGGING HIGHLIGHTERS ============ */
/* =================== 2. DEBUGGING HIGHLIGHTERS ============ */
--debug-background-color-red: #ff000054;
--debug-background-color-blue: #1d00ff54;
--debug-background-color-green: #54ff0054;
@ -482,15 +482,15 @@ table {border: 1px solid #7a7971;}
line-height: 1.5rem;
border-top: 0 none;
border-bottom: 0 none;
/*background-color:#2e5561;*/
color: #cbdaa3;
background-image: url("../assets/ui/bandeau_01.webp");
}
/* background: rgb(245,245,240) url("../images/ui/fond4.webp") repeat left top;*/
nav.sheet-tabs a,
nav.sheet-tabs .item {
position: relative;
padding: 0 0.25rem;
color: beige;
}
nav.sheet-tabs .item:after {
@ -500,7 +500,6 @@ nav.sheet-tabs .item:after {
right: 0;
height: 2rem;
width: 1px;
/*border-right: 1px dashed rgba(52, 52, 52, 0.25);*/
}
.sheet .tab[data-tab] {
@ -708,10 +707,10 @@ ul, li {
margin-right: 0.25rem;
margin-left: 0.25rem;
}
.blessures-title {
.blessures-title {
font-weight: bold;
}
.alchimie-title {
.alchimie-title {
font-weight: bold;
}
.blessure-data {
@ -793,7 +792,7 @@ ul, li {
/* ======================================== */
.tokenhudext {
display: flex;
display: flex;
flex: 0 !important;
font-weight: 600;
}
@ -870,7 +869,7 @@ ul, li {
.sidebar-tab .directory-list .entity {
border-top: 1px dashed rgba(0,0,0,0.25);
border-bottom: 0 none;
padding: 0.25rem 0;
padding: 0.25rem 0;
}
.sidebar-tab .directory-list .entity:hover {
@ -884,10 +883,10 @@ ul, li {
text-align: center;
vertical-align: middle;
display: flex;
align-items: center;
align-items: center;
}
.chat-message .message-header .flavor-text, .chat-message .message-header .whisper-to {
.chat-message .message-header .flavor-text, .chat-message .message-header .whisper-to {
font-size: 0.9rem;
}
.chat-actor-name {
@ -1067,7 +1066,7 @@ ul, li {
border-radius: 0px;
}
#hotbar .bar-controls {
#hotbar .bar-controls {
background: rgba(30, 25, 20, 1);
border: 1px solid rgba(72, 46, 28, 1);
}
@ -1127,7 +1126,7 @@ ul, li {
top: 1px;
position: absolute;
z-index: 1;
/* Fade in tooltip */
visibility: hidden;
opacity: 0;
@ -1136,7 +1135,7 @@ ul, li {
.tooltip .ttt-fatigue{
width: 360px;
background: rgba(30, 25, 20, 0.9);
border-image: url(img/ui/bg_control.jpg) 21 repeat;
border-image-slice: 6 6 6 6 fill;
@ -1200,7 +1199,7 @@ ul, li {
}
h4.entry-name.document-name {
color: #f3eeee;
color: #f3eeee;
}
.compendium h4.entry-name.document-name {
color: black;
@ -1243,6 +1242,7 @@ h4.entry-name.document-name {
padding: 1px 1px 0px 1px;
text-decoration: none;
text-shadow: 0px 1px 0px #4d3534;
color: beige;
}
.button-sheet-roll:active {
position:relative;
@ -1320,7 +1320,7 @@ h4.entry-name.document-name {
.drop-ability-power,
.drop-ability-spec,
.drop-spec-power,
.drop-abilities,
.drop-abilities,
.drop-optionnal-abilities,
.drop-specialperk1,
.drop-perk2,
@ -1393,7 +1393,7 @@ h4.entry-name.document-name {
height: 40px;
}
.dice-cell {
.dice-cell {
padding-left: 12px;
padding-right: 12px;
width: 60px;
@ -1427,6 +1427,12 @@ h4.entry-name.document-name {
max-width: 4rem;
min-width: 4rem;
}
.item-field-label-short-num {
padding-top: 6px;
flex-grow:1;
max-width: 2rem;
min-width: 2rem;
}
.item-field-label-medium {
padding-top: 6px;
flex-grow:1;
@ -1463,7 +1469,7 @@ h4.entry-name.document-name {
flex-wrap: nowrap;
}
.item-filler {
flex-grow: 6;
flex-grow: 6;
flex-shrink: 7;
}
.item-controls-fixed {

View File

@ -1,7 +1,7 @@
{
"id": "fvtt-les-heritiers",
"description": "Les Héritiers pour FoundryVTT",
"version": "11.0.9",
"version": "13.0.0",
"authors": [
{
"name": "Uberwald/LeRatierBretonnien",
@ -15,11 +15,13 @@
"esmodules": [
"modules/heritiers-main.js"
],
"gridDistance": 5,
"gridUnits": "m",
"grid": {
"distance": 5,
"units": "m"
},
"license": "LICENSE.txt",
"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.9.zip",
"download": "https://www.uberwald.me/gitea/public/fvtt-les-heritiers/archive/fvtt-les-heritiers-13.0.0.zip",
"languages": [
{
"lang": "fr",
@ -61,7 +63,7 @@
"folders": []
}
],
"packs":
"packs":
["scenes"]
}
],
@ -197,7 +199,7 @@
"url": "https://www.uberwald.me/gitea/public/fvtt-les-heritiers",
"background": "systems/fvtt-les-heritiers/assets/ui/wallpaper_foundry2.webp",
"compatibility": {
"minimum": "10",
"verified": "11"
"minimum": "13",
"verified": "13"
}
}

View File

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

View File

@ -52,11 +52,7 @@
<span>&nbsp;&nbsp;</span>
<select class="item-field-label-medium" type="text" name="system.statutmasque" value="{{system.statutmasque}}" data-dtype="string">
{{#select system.statutmasque}}
{{#each config.statutMasque as |categ cKey|}}
<option value="{{cKey}}">{{categ}}</option>
{{/each}}
{{/select}}
{{selectOptions config.statutMasque selected=system.statutmasque}}
</select>
<span>&nbsp;&nbsp;</span>
@ -100,7 +96,7 @@
</div>
</div>
<div class="sheet-box color-bg-archetype">
<ul class="item-list alternate-list">
<li class="item flexrow">
@ -117,22 +113,82 @@
<span class="item-field-label-long2 roll-style"><a class="roll-competence item-field-label-short"
data-attr-key="tochoose">{{skill.name}}</a></span>
<select class="item-field-label-short edit-item-data" 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 class="item-field-label-short edit-item-data" type="text"
data-item-field="niveau" value="{{skill.system.niveau}}" data-dtype="Number">
{{selectOptions @root.config.listNiveau selected=skill.system.niveau}}
</select>
<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>
<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>
<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>
@ -221,10 +277,10 @@
<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
<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>
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
<a class="item-control item-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}}
@ -242,7 +298,7 @@
</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
<a class="item-control item-add" data-type="protection" title="Ajouter une protection"><i
class="fas fa-plus"></i></a>
</div>
</li>
@ -255,8 +311,8 @@
</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>
<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}}
@ -275,8 +331,8 @@
<span class="item-field-label-long2">{{fee.name}}</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>
<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>
</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>
<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" />
<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>
<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>
</ul>
</div>
@ -305,6 +363,8 @@
</span>
<div class="item-filler">&nbsp;</div>
<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>
</li>
{{#each avantages as |avantage key|}}
@ -313,8 +373,8 @@
<span class="item-field-label-long2">{{avantage.name}}</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>
<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}}
@ -329,6 +389,8 @@
</span>
<div class="item-filler">&nbsp;</div>
<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>
</li>
{{#each desavantages as |desavantage key|}}
@ -337,8 +399,8 @@
<span class="item-field-label-long2">{{desavantage.name}}</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>
<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}}
@ -353,6 +415,8 @@
</span>
<div class="item-filler">&nbsp;</div>
<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>
</li>
{{#each atouts as |atout key|}}
@ -361,8 +425,8 @@
<span class="item-field-label-long2">{{atout.name}}</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>
<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}}
@ -384,33 +448,34 @@
<span class="item-field-label-medium">
<label class="short-label">Niveau</label>
</span>
<span class="item-field-label-medium">
<label class="short-label">Usage</label>
</span>
<div class="item-filler">&nbsp;</div>
<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>
</li>
{{#each pouvoirs as |pouvoir key|}}
<li class="item flexrow " data-item-id="{{pouvoir._id}}" data-item-type="pouvoir">
<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>
{{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.pouvoirtype}}</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-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>
<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>
<div class="sheet-box color-bg-archetype">
<ul class="item-list alternate-list">
<li class="item flexrow list-item items-title-bg">
@ -419,6 +484,8 @@
</span>
<div class="item-filler">&nbsp;</div>
<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>
</li>
{{#each capacites as |capa key|}}
@ -427,8 +494,8 @@
<span class="item-field-label-long2">{{capa.name}}</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>
<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}}
@ -452,8 +519,8 @@
<span class="item-field-label-long2">{{equip.name}}</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>
<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}}

View File

@ -14,7 +14,8 @@
{{#each system.caracteristiques as |carac key|}}
{{#if (eq kind "physical")}}
<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"
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"
@ -30,7 +31,8 @@
{{#each system.caracteristiques as |carac key|}}
{{#if (eq kind "mental")}}
<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"
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"
@ -41,28 +43,31 @@
</ul>
</div>
</div>
<div class="flexrow">
<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.max" value="{{system.pv.max}}" 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>
</div>
<div class="flexrow">
<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.max" value="{{system.pv.max}}" disabled
data-dtype="Number" />
<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 system.statutmasque}}
{{#each config.statutMasque as |categ cKey|}}
<option value="{{cKey}}">{{categ}}</option>
{{/each}}
{{/select}}
</select>
<span>&nbsp;&nbsp;</span>
<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.max" value="{{system.rang.tricherie.max}}" data-dtype="Number" />
</div>
<select class="item-field-label-medium" type="text" name="system.statutmasque"
value="{{system.statutmasque}}" data-dtype="string">
{{selectOptions config.statutMasque selected=system.statutmasque}}
</select>
<span>&nbsp;&nbsp;</span>
<label class="item-field-label-short">Tricherie</label>
<input type="text" class="item-field-label-short-num" name="system.rang.tricherie.value"
value="{{system.rang.tricherie.value}}" data-dtype="Number" />
<input type="text" class="item-field-label-short-num" name="system.rang.tricherie.max"
value="{{system.rang.tricherie.max}}" data-dtype="Number" />
</div>
</div>
</div>
@ -72,6 +77,9 @@
<nav class="sheet-tabs tabs" data-group="primary">
<a class="item" data-tab="competences">Compétences</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="equipement">Equipement</a>
<a class="item" data-tab="contact">Contacts</a>
@ -91,13 +99,15 @@
<div>
{{#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}}
</div>
<div>
{{#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}}
</div>
@ -113,22 +123,24 @@
<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="competence" title="Ajouter une compétence futile"><i
class="fas fa-plus"></i></a>
</div>
</li>
{{#each futileSkills as |skill key|}}
<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"
data-attr-key="tochoose">{{skill.name}}</a></span>
<select class="item-field-label-short edit-item-data" 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 class="item-field-label-short edit-item-data" type="text" data-item-field="niveau"
value="{{skill.system.niveau}}" data-dtype="Number">
{{selectOptions @root.config.listNiveau selected=skill.system.niveau}}
</select>
<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>
<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}}
@ -149,32 +161,41 @@
<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">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>
<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-medium"><strong>Parade</strong></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>
<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 class="item flexrow list-item items-title-bg">
<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-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-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 class="item flexrow list-item items-title-bg">
<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-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>
</ul>
@ -214,22 +235,23 @@
<span class="item-field-label-short">
<button class="roll-assomer-arme button-sheet-roll">Assomer</button>
</span>
{{#if arme.system.isMelee}}
<span class="item-field-label-short">
<button class="roll-attaque-charge-arme button-sheet-roll">Charger</button>
</span>
<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>
{{/if}}
<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
<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>
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
<a class="item-control item-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}}
@ -247,7 +269,7 @@
</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
<a class="item-control item-add" data-type="protection" title="Ajouter une protection"><i
class="fas fa-plus"></i></a>
</div>
</li>
@ -260,8 +282,8 @@
</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>
<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}}
@ -273,15 +295,15 @@
{{!-- Fee Tab --}}
<div class="tab fee" data-group="primary" data-tab="fee">
<div class="flexrow">
<li class="item flexrow " data-item-id="{{fee._id}}" data-item-type="avantage">
<img class="item-name-img" src="{{fee.img}}" />
<span class="item-field-label-long2">{{fee.name}}</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>
<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>
</div>
@ -289,15 +311,22 @@
<div class="flexrow">
<ul>
<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>
<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" />
<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.max"
value="{{system.rang.feerie.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" />
<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>
<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>
</ul>
</div>
@ -312,6 +341,8 @@
</span>
<div class="item-filler">&nbsp;</div>
<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>
</li>
{{#each avantages as |avantage key|}}
@ -320,8 +351,8 @@
<span class="item-field-label-long2">{{avantage.name}}</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>
<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}}
@ -336,6 +367,8 @@
</span>
<div class="item-filler">&nbsp;</div>
<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>
</li>
{{#each desavantages as |desavantage key|}}
@ -344,8 +377,8 @@
<span class="item-field-label-long2">{{desavantage.name}}</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>
<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}}
@ -360,6 +393,8 @@
</span>
<div class="item-filler">&nbsp;</div>
<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>
</li>
{{#each atouts as |atout key|}}
@ -368,8 +403,8 @@
<span class="item-field-label-long2">{{atout.name}}</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>
<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}}
@ -396,25 +431,23 @@
</span>
<div class="item-filler">&nbsp;</div>
<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>
</li>
{{#each pouvoirs as |pouvoir key|}}
<li class="item flexrow " data-item-id="{{pouvoir._id}}" data-item-type="pouvoir">
<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>
{{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.pouvoirtype}}</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-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>
<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}}
@ -430,6 +463,8 @@
</span>
<div class="item-filler">&nbsp;</div>
<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>
</li>
{{#each capacites as |capa key|}}
@ -438,8 +473,8 @@
<span class="item-field-label-long2">{{capa.name}}</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>
<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}}
@ -451,9 +486,71 @@
</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 --}}
<div class="tab equipement" data-group="primary" data-tab="equipement">
<div class="sheet-box color-bg-archetype">
<ul class="item-list alternate-list">
<li class="item flexrow list-item items-title-bg">
@ -461,8 +558,9 @@
<h3><label class="items-title-text">Equipements</label></h3>
</span>
<div class="item-filler">&nbsp;</div>
<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>
<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>
</div>
</li>
{{#each equipements as |equip key|}}
@ -471,8 +569,8 @@
<span class="item-field-label-long2">{{equip.name}}</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>
<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}}
@ -490,8 +588,9 @@
<h3><label class="items-title-text">Contacts, Allies et Ennemis</label></h3>
</span>
<div class="item-filler">&nbsp;</div>
<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>
<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>
</div>
</li>
</div>
@ -504,8 +603,9 @@
<h3><label class="items-title-text">{{contactList.label}}</label></h3>
</span>
<div class="item-filler">&nbsp;</div>
<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>
<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>
</div>
</li>
{{#each contactList.list as |contact key|}}
@ -514,8 +614,8 @@
<span class="item-field-label-long2">{{contact.name}}</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>
<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}}
@ -548,8 +648,8 @@
<span class="item-field-label-medium">{{upperFirst profil.system.profiltype}}</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>
<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}}
@ -559,28 +659,37 @@
<div class="flexrow">
<ul>
<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 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 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 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 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 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 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 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>
</ul>
</div>
@ -603,6 +712,13 @@
<input type="text" class="" name="system.biodata.age" value="{{system.biodata.age}}"
data-dtype="String" />
</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>
</div>
<div>
@ -614,8 +730,8 @@
</li>
<li class="item flexrow">
<label class="generic-label">Taille Démasquée</label>
<input type="text" class="" name="system.biodata.tailledemasquee" value="{{system.biodata.tailledemasquee}}"
data-dtype="String" />
<input type="text" class="" name="system.biodata.tailledemasquee"
value="{{system.biodata.tailledemasquee}}" data-dtype="String" />
</li>
<li class="flexrow item">
<label class="generic-label">Type de taille</label>
@ -624,7 +740,8 @@
</li>
<li class="flexrow item">
<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>
</ul>
@ -653,7 +770,7 @@
data-dtype="String" />
</li>
</ul>
</div>
</div>
</div>
</div>

View File

@ -18,13 +18,13 @@
<div>
<ul>
<li>Assomer {{defenderName}} en état de : {{etatAssommer}}</li>
<li>Assomer {{defenderName}} en état de : {{etatAssommer}}</li>
{{#if isSuccess}}
<li>Marge : {{marge}}</li>
<li>{{defenderName}} est assomé pour {{dureeAssommer}} minutes !</li>
<li>Marge : {{marge}}</li>
<li>{{defenderName}} est assomé pour {{dureeAssommer}} minutes !</li>
{{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}}
</ul>
</div>
</div>

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