Compare commits

...

12 Commits

105 changed files with 930 additions and 923 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 KiB

View File

@ -1,30 +1,23 @@
{
"ACTOR": {
"TypePersonnage": "Personnage",
"TypePNJ": "PNJ"
"TYPES": {
"Actor": {
"personnage": "Personnage",
"pnj": "PNJ"
},
"ITEM": {
"TypeArtefact": "Artefact",
"TypeArme": "Arme",
"TypeTalent": "Talent",
"TypeHistorique": "Historique",
"TypeProfil": "Profil",
"TypeCompetence": "Compétence",
"TypeProtection": "Protection",
"TypeMonnaie": "Monnaie",
"TypeEquipement": "Equipement",
"TypeRessource": "Ressource",
"TypeContact": "Contact"
},
"HAWKMOON": {
"ui": {
"editContact": "Modifier le contact",
"deleteContact": "Supprimer le contact",
"editTrait": "Modifier le trait",
"deleteTrait": "Supprimer le trait"
"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

@ -11,7 +11,7 @@ export class HeritiersActorSheet extends 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,18 +42,18 @@ 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()),
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: 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()),
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,
@ -77,19 +77,42 @@ export class HeritiersActorSheet extends ActorSheet {
}
/* -------------------------------------------- */
getCelluleTalents( ) {
let talents = []
for(let cellule of game.actors) {
if (cellule.type == "cellule") {
let found = cellule.system.members.find( it => it.id == this.actor.id)
if (found) {
talents = talents.concat( cellule.getTalents() )
dialogRecupUsage() {
new Dialog({
title: "Récupération des Points d'Usage",
content: "<p>Combien de Points d'Usage souhaitez-vous récupérer ?</p>",
buttons: {
one: {
icon: '<i class="fas fa-check"></i>',
label: "1 Point",
callback: () => {
this.actor.recupUsage(1)
}
},
two: {
icon: '<i class="fas fa-check"></i>',
label: "2 Points",
callback: () => {
this.actor.recupUsage(2)
}
},
four: {
icon: '<i class="fas fa-check"></i>',
label: "4 Points",
callback: () => {
this.actor.recupUsage(4)
}
},
all: {
icon: '<i class="fas fa-check"></i>',
label: "Tous les Points",
callback: () => {
this.actor.recupUsage(100)
}
}
}
return talents
}).render(true)
}
/* -------------------------------------------- */
/** @override */
activateListeners(html) {
@ -180,6 +203,9 @@ export class HeritiersActorSheet extends ActorSheet {
let pouvoirId = li.data("item-id")
this.actor.rollPouvoir(pouvoirId)
})
html.find('.dialog-recup-usage').click((event) => {
this.dialogRecupUsage()
})
html.find('.item-add').click((event) => {
const itemType = $(event.currentTarget).data("type")

View File

@ -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 })
}
@ -135,13 +135,23 @@ export class HeritiersActor extends Actor {
return this.getItemSorted(["profil"])
}
getPouvoirs() {
return this.getItemSorted(["pouvoir"])
let pouvoirs = []
for (let item of this.items) {
if (item.type == "pouvoir") {
let itemObj = foundry.utils.duplicate(item)
itemObj.maxUsage = this.getPouvoirUsageMax(item)
pouvoirs.push(itemObj)
}
}
HeritiersUtility.sortArrayObjectsByName(pouvoirs)
return pouvoirs
}
/* -------------------------------------------- */
getSkills() {
let comp = []
for (let item of this.items) {
item = duplicate(item)
item = foundry.utils.duplicate(item)
if (item.type == "competence") {
comp.push(item)
}
@ -152,7 +162,7 @@ export class HeritiersActor extends Actor {
/* -------------------------------------------- */
prepareUtileSkill(item) {
let specList = []
if (item && item.system.categorie && item.system.categorie == "utile") {
if (item?.system?.categorie == "utile") {
for (let spec of item.system.specialites) {
specList.push(spec.name)
}
@ -249,6 +259,11 @@ export class HeritiersActor extends Actor {
/* -------------------------------------------- */
async prepareData() {
super.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 })
}
}
/* -------------------------------------------- */
@ -270,7 +285,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;
}
@ -278,7 +293,7 @@ export class HeritiersActor extends Actor {
/* -------------------------------------------- */
async equipItem(itemId) {
let item = this.items.find(item => item.id == itemId)
if (item && item.system) {
if (item?.system) {
let update = { _id: item.id, "system.equipped": !item.system.equipped }
await this.updateEmbeddedDocuments('Item', [update]); // Updates one EmbeddedEntity
}
@ -328,7 +343,7 @@ export class HeritiersActor extends Actor {
/* -------------------------------------------- */
getCarac(attrKey) {
return duplicate(this.system.caracteristiques)
return foundry.utils.duplicate(this.system.caracteristiques)
}
/* -------------------------------------------- */
@ -339,7 +354,7 @@ export class HeritiersActor extends Actor {
/* -------------------------------------------- */
async equipGear(equipmentId) {
let item = this.items.find(item => item.id == equipmentId);
if (item && item.system.data) {
if (item?.system) {
let update = { _id: item.id, "system.equipped": !item.system.equipped };
await this.updateEmbeddedDocuments('Item', [update]); // Updates one EmbeddedEntity
}
@ -349,13 +364,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 });
}
@ -377,7 +392,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 })
@ -424,7 +439,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 }])
}
@ -446,7 +461,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
@ -461,7 +476,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)
@ -523,6 +538,7 @@ export class HeritiersActor extends Actor {
}
return undefined
}
/* -------------------------------------------- */
getCommonRollData(compId = undefined, compName = undefined) {
let rollData = HeritiersUtility.getBasicRollData()
@ -538,16 +554,17 @@ export class HeritiersActor extends Actor {
rollData.useTricherie = false
rollData.useSpecialite = false
rollData.useHeritage = false
rollData.pouvoirPointsUsage = 1
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()) || {})
if (rollData.competence && rollData.competence.name) {
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
} else {
@ -595,7 +612,6 @@ export class HeritiersActor extends Actor {
async rollRootCompetence(compKey) {
let rollData = this.getCommonRollData()
rollData.mode = "competence"
console.log("Compkey", compKey)
rollData.competence = { name: this.system.competences[compKey].label, system: { niveau: this.system.competences[compKey].niveau } }
console.log("RollDatra", rollData)
let rollDialog = await HeritiersRollDialog.create(this, rollData)
@ -615,7 +631,7 @@ export class HeritiersActor extends Actor {
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"
@ -648,7 +664,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 })
@ -666,7 +682,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)
@ -683,7 +699,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
@ -693,22 +709,127 @@ 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) {
if (pouvoir.system.pouvoirtype == "passif") {
this.pouvoirPassifDialog(pouvoir)
return
}
let rollData = this.getCommonRollData(undefined, undefined)
if (pouvoir.system.feeriemasque != "autre") {
rollData.pouvoirBase = duplicate(this.system.rang[pouvoir.system.feeriemasque.toLowerCase()])
rollData.pouvoirBase = foundry.utils.duplicate(this.system.rang[pouvoir.system.feeriemasque.toLowerCase()])
rollData.pouvoirBase.label = "Féerie"
rollData.carac = duplicate(this.system.caracteristiques[pouvoir.system.carac])
if (!pouvoir.system.carac) {
ui.notifications.warn("Le pouvoir actif " + pouvoir.name + " n'a pas de caractéristique associée")
return
}
rollData.carac = foundry.utils.duplicate(this.system.caracteristiques[pouvoir.system.carac])
rollData.caracKey = pouvoir.system.carac
}
rollData.pouvoir = duplicate(pouvoir)
rollData.pouvoirMaxUsage = this.getPouvoirUsageMax(pouvoir)
rollData.pouvoir = foundry.utils.duplicate(pouvoir)
rollData.mode = "pouvoir"
let rollDialog = await HeritiersRollDialog.create(this, rollData)
rollDialog.render(true)
}
}
/* -------------------------------------------- */
incDecPointsUsage(pouvoirId, value) {
let pouvoir = this.items.get(pouvoirId)
let newValue = pouvoir.system.pointsusagecourant + value
newValue = Math.max(newValue, 0)
newValue = Math.min(newValue, this.getPouvoirUsageMax(pouvoir))
this.updateEmbeddedDocuments('Item', [{ _id: pouvoirId, 'system.pointsusagecourant': newValue }])
}
/* -------------------------------------------- */
getPouvoirUsage(pouvoirId) {
let pouvoir = this.items.get(pouvoirId)
return pouvoir.system.pointsusagecourant
}
/* -------------------------------------------- */
getPouvoirUsageMax(pouvoir) {
if (pouvoir.system.masquetype == "masque") {
return this.system.rang.masque.value
}
return this.system.rang.feerie.value
}
/* -------------------------------------------- */
recupUsage(value) {
let updates = []
for (let pouvoir of this.items) {
if (pouvoir.type == "pouvoir") {
let newValue = pouvoir.system.pointsusagecourant + value
newValue = Math.max(newValue, 0)
newValue = Math.min(newValue, this.getPouvoirUsageMax(pouvoir))
updates.push({ _id: pouvoir.id, 'system.pointsusagecourant': newValue })
}
}
if (updates.length > 0) {
this.updateEmbeddedDocuments('Item', updates)
}
}
}

View File

@ -145,7 +145,66 @@ 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"}
],
listNiveau: {
"0": "0",
"1": "1",
"2": "2",
"3": "3",
"4": "4",
"5": "5",
"6": "6",
"7": "7",
"8": "8",
"9": "9",
"10": "10"
},
}

View File

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

View File

@ -9,7 +9,7 @@ export class HeritiersItemSheet extends ItemSheet {
/** @override */
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,
@ -65,7 +65,16 @@ export class HeritiersItemSheet extends ItemSheet {
isArmeMelee: HeritiersUtility.isArmeMelee(this.object),
description: await TextEditor.enrichHTML(this.object.system.description, {async: true}),
mr: (this.object.type == 'specialisation'),
isGM: game.user.isGM
isGM: game.user.isGM,
usageMax: -1
}
// Items specific data
if (this.object.type == 'pouvoir' && this.document.isOwner && this.actor) {
formData.usageMax = this.actor.getPouvoirUsageMax(this.object)
if (this.object.system.pointsusagecourant == -1) {
this.object.system.pointsusagecourant = formData.usageMax
}
}
//this.options.editable = !(this.object.origin == "embeddedItem");
@ -87,7 +96,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 };
}
@ -129,52 +138,52 @@ 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 })
})

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";
@ -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
@ -79,30 +80,16 @@ function welcomeMessage() {
}
/* -------------------------------------------- */
// Register world usage statistics
function registerUsageCount(registerKey) {
if (game.user.isGM) {
game.settings.register(registerKey, "world-key", {
name: "Unique world key",
scope: "world",
config: false,
default: "",
type: String
});
async function importDefaultScene() {
let exists = game.scenes.find(j => j.name == "Accueil");
if (!exists) {
const scenes = await HeritiersUtility.loadCompendium("fvtt-les-heritiers.scenes")
let newDocuments = scenes.filter(i => i.name == "Accueil");
await game.scenes.documentClass.create(newDocuments);
game.scenes.find(i => i.name == "Accueil").activate();
}
}
let worldKey = game.settings.get(registerKey, "world-key")
if (worldKey == undefined || worldKey == "") {
worldKey = randomID(32)
game.settings.set(registerKey, "world-key", worldKey)
}
// Simple API counter
let regURL = `https://www.uberwald.me/fvtt_appcount/count.php?name="${registerKey}"&worldKey="${worldKey}"&version="${game.release.generation}.${game.release.build}"&system="${game.system.id}"&systemversion="${game.system.version}"`
//$.ajaxSetup({
//headers: { 'Access-Control-Allow-Origin': '*' }
//})
$.ajax(regURL)
}
}
/* -------------------------------------------- */
/* Foundry VTT Initialization */
@ -120,14 +107,15 @@ Hooks.once("ready", function () {
});
}
registerUsageCount(game.system.id)
welcomeMessage()
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();
// CSS patch for v9
if (game.version) {
let sidebar = document.getElementById("sidebar");
sidebar.style.width = "min-content";
}
});
/* -------------------------------------------- */
@ -137,7 +125,7 @@ Hooks.on("chatMessage", (html, content, msg) => {
if (content[0] == '/') {
let regExp = /(\S+)/g;
let commands = content.match(regExp);
if (game.system.mournblade.commands.processChatCommand(commands, content, msg)) {
if (game.system.lesheritiers.commands.processChatCommand(commands, content, msg)) {
return false;
}
}

View File

@ -18,18 +18,31 @@ export class HeritiersRollDialog extends Dialog {
icon: '<i class="fas fa-check"></i>',
label: "Lancer 1d8",
callback: () => { this.roll("d8") }
},
rolld10: {
}
}
let enableD10 = false
let enableD12 = false
if (rollData.mode == "pouvoir" || rollData.competence?.system.niveau > 0) {
enableD10 = true
}
if (rollData.mode == "pouvoir" || rollData.competence?.system.niveau > 1) {
enableD12 = true
}
if (enableD10) {
buttons.rolld10 = {
icon: '<i class="fas fa-check"></i>',
label: "Lancer 1d10",
callback: () => { this.roll("d10") }
},
rolld12: {
}
}
if (enableD12) {
buttons.rolld12 = {
icon: '<i class="fas fa-check"></i>',
label: "Lancer 1d12",
callback: () => { this.roll("d12") }
}
}
if (rollData.tricherie) {
buttons["rollTricherie"] = {
icon: '<i class="fas fa-check"></i>',
@ -55,7 +68,7 @@ export class HeritiersRollDialog extends Dialog {
buttons: buttons,
close: close
}
// Overwrite in case of carac only -> 1d10
// Overwrite in case of carac only -> 1d8
if (rollData.mode == "carac") {
conf.buttons = {
rolld8: {
@ -116,6 +129,9 @@ export class HeritiersRollDialog extends Dialog {
html.find('#useSpecialite').change((event) => {
this.rollData.useSpecialite = event.currentTarget.checked
})
html.find('#pouvoirPointsUsage').change((event) => {
this.rollData.pouvoirPointsUsage = Number(event.currentTarget.value)
})
html.find('#attaqueDos').change((event) => {
this.rollData.attaqueDos = event.currentTarget.checked
})

View File

@ -140,7 +140,7 @@ export class HeritiersUtility {
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)
})
@ -252,7 +252,7 @@ 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;
}
/* -------------------------------------------- */
@ -391,7 +391,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])
}
}
}
@ -434,6 +434,10 @@ export class HeritiersUtility {
rollData.isSuccess = (rollData.finalResult >= seuil)
rollData.isCriticalSuccess = ((rollData.finalResult - seuil) >= 7)
rollData.isCriticalFailure = ((rollData.finalResult - seuil) <= -7)
// Si compétence > 0 et d8 -> echec critique impossible
if (rollData?.competence?.system.niveau > 0 && rollData?.mainDice == "d8") {
rollData.isCriticalFailure = false
}
}
}
@ -467,8 +471,13 @@ export class HeritiersUtility {
let actor = this.getActorFromRollData(rollData)
if ( rollData.mode == "pouvoir" && actor.getPouvoirUsage(rollData.pouvoir._id) < rollData.pouvoirPointsUsage) {
ui.notifications.warn("Pas assez de points d'usage pour ce pouvoir.")
return
}
//rollData.actionImg = "systems/fvtt-les-heritiers/assets/icons/" + actor.system.attributs[rollData.attrKey].labelnorm + ".webp"
rollData.carac = duplicate(actor.system.caracteristiques[rollData.caracKey])
rollData.carac = foundry.utils.duplicate(actor.system.caracteristiques[rollData.caracKey])
if (rollData.forcedValue) {
rollData.diceFormula = rollData.forcedValue
@ -485,7 +494,7 @@ export class HeritiersUtility {
rangValue = rollData.rang.value
}
if (rollData.competence) {
let compmod = (rollData.competence.system.niveau == 0) ? -3 : 0
let compmod = 0 // Bonus de compétence à 0 dans Les Heritiers
let specBonus = (rollData.useSpecialite) ? 1 : 0
rollData.diceFormula += `+${rollData.carac.value}+${rangValue}+${rollData.competence.system.niveau}+${specBonus}+${rollData.bonusMalusContext}+${compmod}`
} else if (rollData.pouvoirBase) {
@ -526,18 +535,24 @@ export class HeritiersUtility {
}
}
let myRoll = new Roll(rollData.diceFormula).roll({ async: false })
if ( !rollData.noRoll) {
let myRoll = await new Roll(rollData.diceFormula).roll()
await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
rollData.roll = duplicate(myRoll)
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" || 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)
}, rollData)
@ -568,9 +583,9 @@ 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
@ -589,7 +604,7 @@ export class HeritiersUtility {
/* -------------------------------------------- */
static isArmeMelee(arme) {
return (arme.type == "arme" && (arme.system.categorie == "lourde" || arme.system.categorie == "blanche" || arme.system.categorie == "improvise")) ? true : false
return (arme.type == "arme" && (arme.system.categorie == "lourde" || arme.system.categorie == "blanche" || arme.system.categorie == "improvise"))
}
/* -------------------------------------------- */
static getWhisperRecipients(rollMode, name) {
@ -608,7 +623,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);
@ -672,7 +687,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,

Binary file not shown.

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000002
MANIFEST-000107

View File

@ -1,5 +1,8 @@
2023/12/19-21:28:12.654905 7f3323fff6c0 Delete type=3 #1
2023/12/19-21:34:54.787106 7f33223ff6c0 Level-0 table #5: started
2023/12/19-21:34:54.792294 7f33223ff6c0 Level-0 table #5: 75294 bytes OK
2023/12/19-21:34:54.798740 7f33223ff6c0 Delete type=0 #3
2023/12/19-21:34:54.828243 7f33223ff6c0 Manual compaction at level-0 from '!items!1NhJH4IJpxsGmLB8' @ 72057594037927935 : 1 .. '!items!y1yOenfAJTsb3r6e' @ 0 : 0; will stop at (end)
2024/05/23-14:51:24.000188 7f7a316006c0 Recovering log #104
2024/05/23-14:51:24.010463 7f7a316006c0 Delete type=3 #102
2024/05/23-14:51:24.010514 7f7a316006c0 Delete type=0 #104
2024/05/23-15:00:04.398824 7f7a2b8006c0 Level-0 table #110: started
2024/05/23-15:00:04.398861 7f7a2b8006c0 Level-0 table #110: 0 bytes OK
2024/05/23-15:00:04.405139 7f7a2b8006c0 Delete type=0 #108
2024/05/23-15:00:04.405289 7f7a2b8006c0 Manual compaction at level-0 from '!items!1NhJH4IJpxsGmLB8' @ 72057594037927935 : 1 .. '!items!y1yOenfAJTsb3r6e' @ 0 : 0; will stop at (end)
2024/05/23-15:00:04.405345 7f7a2b8006c0 Manual compaction at level-1 from '!items!1NhJH4IJpxsGmLB8' @ 72057594037927935 : 1 .. '!items!y1yOenfAJTsb3r6e' @ 0 : 0; will stop at (end)

View File

@ -0,0 +1,15 @@
2024/05/23-10:57:45.623302 7f80456006c0 Recovering log #100
2024/05/23-10:57:45.634017 7f80456006c0 Delete type=3 #98
2024/05/23-10:57:45.634148 7f80456006c0 Delete type=0 #100
2024/05/23-11:25:01.407869 7f803fe006c0 Level-0 table #105: started
2024/05/23-11:25:01.412121 7f803fe006c0 Level-0 table #105: 76980 bytes OK
2024/05/23-11:25:01.418196 7f803fe006c0 Delete type=0 #103
2024/05/23-11:25:01.442441 7f803fe006c0 Manual compaction at level-0 from '!items!1NhJH4IJpxsGmLB8' @ 72057594037927935 : 1 .. '!items!y1yOenfAJTsb3r6e' @ 0 : 0; will stop at (end)
2024/05/23-11:25:01.466948 7f803fe006c0 Manual compaction at level-1 from '!items!1NhJH4IJpxsGmLB8' @ 72057594037927935 : 1 .. '!items!y1yOenfAJTsb3r6e' @ 0 : 0; will stop at '!items!y1yOenfAJTsb3r6e' @ 62 : 1
2024/05/23-11:25:01.466958 7f803fe006c0 Compacting 1@1 + 1@2 files
2024/05/23-11:25:01.471640 7f803fe006c0 Generated table #106@1: 31 keys, 76980 bytes
2024/05/23-11:25:01.471673 7f803fe006c0 Compacted 1@1 + 1@2 files => 76980 bytes
2024/05/23-11:25:01.477983 7f803fe006c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2024/05/23-11:25:01.478100 7f803fe006c0 Delete type=2 #5
2024/05/23-11:25:01.478228 7f803fe006c0 Delete type=2 #105
2024/05/23-11:25:01.488781 7f803fe006c0 Manual compaction at level-1 from '!items!y1yOenfAJTsb3r6e' @ 62 : 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-000002
MANIFEST-000107

View File

@ -1,5 +1,8 @@
2023/12/19-21:28:12.795275 7f3323fff6c0 Delete type=3 #1
2023/12/19-21:34:54.816711 7f33223ff6c0 Level-0 table #5: started
2023/12/19-21:34:54.820965 7f33223ff6c0 Level-0 table #5: 16828 bytes OK
2023/12/19-21:34:54.828050 7f33223ff6c0 Delete type=0 #3
2023/12/19-21:34:54.835440 7f33223ff6c0 Manual compaction at level-0 from '!items!1ETVaPBtjDtzelK1' @ 72057594037927935 : 1 .. '!items!zbsVCsWxRzkzzG1N' @ 0 : 0; will stop at (end)
2024/05/23-14:51:24.026186 7f7a316006c0 Recovering log #104
2024/05/23-14:51:24.036947 7f7a316006c0 Delete type=3 #102
2024/05/23-14:51:24.037049 7f7a316006c0 Delete type=0 #104
2024/05/23-15:00:04.391521 7f7a2b8006c0 Level-0 table #110: started
2024/05/23-15:00:04.391574 7f7a2b8006c0 Level-0 table #110: 0 bytes OK
2024/05/23-15:00:04.398604 7f7a2b8006c0 Delete type=0 #108
2024/05/23-15:00:04.405267 7f7a2b8006c0 Manual compaction at level-0 from '!items!1ETVaPBtjDtzelK1' @ 72057594037927935 : 1 .. '!items!zbsVCsWxRzkzzG1N' @ 0 : 0; will stop at (end)
2024/05/23-15:00:04.405337 7f7a2b8006c0 Manual compaction at level-1 from '!items!1ETVaPBtjDtzelK1' @ 72057594037927935 : 1 .. '!items!zbsVCsWxRzkzzG1N' @ 0 : 0; will stop at (end)

View File

@ -0,0 +1,15 @@
2024/05/23-10:57:45.655135 7f8046a006c0 Recovering log #100
2024/05/23-10:57:45.665774 7f8046a006c0 Delete type=3 #98
2024/05/23-10:57:45.665849 7f8046a006c0 Delete type=0 #100
2024/05/23-11:25:01.418338 7f803fe006c0 Level-0 table #105: started
2024/05/23-11:25:01.422571 7f803fe006c0 Level-0 table #105: 17369 bytes OK
2024/05/23-11:25:01.428914 7f803fe006c0 Delete type=0 #103
2024/05/23-11:25:01.442459 7f803fe006c0 Manual compaction at level-0 from '!items!1ETVaPBtjDtzelK1' @ 72057594037927935 : 1 .. '!items!zbsVCsWxRzkzzG1N' @ 0 : 0; will stop at (end)
2024/05/23-11:25:01.478313 7f803fe006c0 Manual compaction at level-1 from '!items!1ETVaPBtjDtzelK1' @ 72057594037927935 : 1 .. '!items!zbsVCsWxRzkzzG1N' @ 0 : 0; will stop at '!items!zbsVCsWxRzkzzG1N' @ 144 : 1
2024/05/23-11:25:01.478324 7f803fe006c0 Compacting 1@1 + 1@2 files
2024/05/23-11:25:01.482030 7f803fe006c0 Generated table #106@1: 72 keys, 17369 bytes
2024/05/23-11:25:01.482057 7f803fe006c0 Compacted 1@1 + 1@2 files => 17369 bytes
2024/05/23-11:25:01.488371 7f803fe006c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2024/05/23-11:25:01.488544 7f803fe006c0 Delete type=2 #5
2024/05/23-11:25:01.488680 7f803fe006c0 Delete type=2 #105
2024/05/23-11:25:01.488790 7f803fe006c0 Manual compaction at level-1 from '!items!zbsVCsWxRzkzzG1N' @ 144 : 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-000002
MANIFEST-000107

View File

@ -1,5 +1,8 @@
2023/12/19-21:28:12.601487 7f3322ffd6c0 Delete type=3 #1
2023/12/19-21:34:54.774727 7f33223ff6c0 Level-0 table #5: started
2023/12/19-21:34:54.779620 7f33223ff6c0 Level-0 table #5: 59886 bytes OK
2023/12/19-21:34:54.786884 7f33223ff6c0 Delete type=0 #3
2023/12/19-21:34:54.816678 7f33223ff6c0 Manual compaction at level-0 from '!items!0fPXtA5LkLgG8uDj' @ 72057594037927935 : 1 .. '!items!zvtBlG6KCIn0oCVk' @ 0 : 0; will stop at (end)
2024/05/23-14:51:23.987816 7f7a30c006c0 Recovering log #104
2024/05/23-14:51:23.997550 7f7a30c006c0 Delete type=3 #102
2024/05/23-14:51:23.997629 7f7a30c006c0 Delete type=0 #104
2024/05/23-15:00:04.371340 7f7a2b8006c0 Level-0 table #110: started
2024/05/23-15:00:04.371366 7f7a2b8006c0 Level-0 table #110: 0 bytes OK
2024/05/23-15:00:04.377577 7f7a2b8006c0 Delete type=0 #108
2024/05/23-15:00:04.377847 7f7a2b8006c0 Manual compaction at level-0 from '!items!0fPXtA5LkLgG8uDj' @ 72057594037927935 : 1 .. '!items!zvtBlG6KCIn0oCVk' @ 0 : 0; will stop at (end)
2024/05/23-15:00:04.377924 7f7a2b8006c0 Manual compaction at level-1 from '!items!0fPXtA5LkLgG8uDj' @ 72057594037927935 : 1 .. '!items!zvtBlG6KCIn0oCVk' @ 0 : 0; will stop at (end)

View File

@ -0,0 +1,15 @@
2024/05/23-10:57:45.608985 7f80460006c0 Recovering log #100
2024/05/23-10:57:45.618959 7f80460006c0 Delete type=3 #98
2024/05/23-10:57:45.619067 7f80460006c0 Delete type=0 #100
2024/05/23-11:25:01.397161 7f803fe006c0 Level-0 table #105: started
2024/05/23-11:25:01.401554 7f803fe006c0 Level-0 table #105: 63133 bytes OK
2024/05/23-11:25:01.407613 7f803fe006c0 Delete type=0 #103
2024/05/23-11:25:01.442406 7f803fe006c0 Manual compaction at level-0 from '!items!0fPXtA5LkLgG8uDj' @ 72057594037927935 : 1 .. '!items!zvtBlG6KCIn0oCVk' @ 0 : 0; will stop at (end)
2024/05/23-11:25:01.442493 7f803fe006c0 Manual compaction at level-1 from '!items!0fPXtA5LkLgG8uDj' @ 72057594037927935 : 1 .. '!items!zvtBlG6KCIn0oCVk' @ 0 : 0; will stop at '!items!zvtBlG6KCIn0oCVk' @ 306 : 1
2024/05/23-11:25:01.442500 7f803fe006c0 Compacting 1@1 + 1@2 files
2024/05/23-11:25:01.447773 7f803fe006c0 Generated table #106@1: 153 keys, 63133 bytes
2024/05/23-11:25:01.447818 7f803fe006c0 Compacted 1@1 + 1@2 files => 63133 bytes
2024/05/23-11:25:01.453866 7f803fe006c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2024/05/23-11:25:01.454036 7f803fe006c0 Delete type=2 #5
2024/05/23-11:25:01.454195 7f803fe006c0 Delete type=2 #105
2024/05/23-11:25:01.488757 7f803fe006c0 Manual compaction at level-1 from '!items!zvtBlG6KCIn0oCVk' @ 306 : 1 .. '!items!zvtBlG6KCIn0oCVk' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

BIN
packs/avantages/000106.ldb Normal file

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000002
MANIFEST-000107

View File

@ -1,5 +1,8 @@
2023/12/19-21:28:12.469210 7f3323fff6c0 Delete type=3 #1
2023/12/19-21:34:54.739813 7f33223ff6c0 Level-0 table #5: started
2023/12/19-21:34:54.744244 7f33223ff6c0 Level-0 table #5: 26203 bytes OK
2023/12/19-21:34:54.751692 7f33223ff6c0 Delete type=0 #3
2023/12/19-21:34:54.774674 7f33223ff6c0 Manual compaction at level-0 from '!items!0EAAt0qSzcD9VRBH' @ 72057594037927935 : 1 .. '!items!zfpjROW9LDAlXUkN' @ 0 : 0; will stop at (end)
2024/05/23-14:51:23.948792 7f7a316006c0 Recovering log #104
2024/05/23-14:51:23.958442 7f7a316006c0 Delete type=3 #102
2024/05/23-14:51:23.958537 7f7a316006c0 Delete type=0 #104
2024/05/23-15:00:04.351486 7f7a2b8006c0 Level-0 table #110: started
2024/05/23-15:00:04.351511 7f7a2b8006c0 Level-0 table #110: 0 bytes OK
2024/05/23-15:00:04.357671 7f7a2b8006c0 Delete type=0 #108
2024/05/23-15:00:04.377771 7f7a2b8006c0 Manual compaction at level-0 from '!items!0EAAt0qSzcD9VRBH' @ 72057594037927935 : 1 .. '!items!zfpjROW9LDAlXUkN' @ 0 : 0; will stop at (end)
2024/05/23-15:00:04.377867 7f7a2b8006c0 Manual compaction at level-1 from '!items!0EAAt0qSzcD9VRBH' @ 72057594037927935 : 1 .. '!items!zfpjROW9LDAlXUkN' @ 0 : 0; will stop at (end)

15
packs/avantages/LOG.old Normal file
View File

@ -0,0 +1,15 @@
2024/05/23-10:57:45.566585 7f80456006c0 Recovering log #100
2024/05/23-10:57:45.576456 7f80456006c0 Delete type=3 #98
2024/05/23-10:57:45.576513 7f80456006c0 Delete type=0 #100
2024/05/23-11:25:01.323826 7f803fe006c0 Level-0 table #105: started
2024/05/23-11:25:01.327636 7f803fe006c0 Level-0 table #105: 27634 bytes OK
2024/05/23-11:25:01.333591 7f803fe006c0 Delete type=0 #103
2024/05/23-11:25:01.354630 7f803fe006c0 Manual compaction at level-0 from '!items!0EAAt0qSzcD9VRBH' @ 72057594037927935 : 1 .. '!items!zfpjROW9LDAlXUkN' @ 0 : 0; will stop at (end)
2024/05/23-11:25:01.364975 7f803fe006c0 Manual compaction at level-1 from '!items!0EAAt0qSzcD9VRBH' @ 72057594037927935 : 1 .. '!items!zfpjROW9LDAlXUkN' @ 0 : 0; will stop at '!items!zfpjROW9LDAlXUkN' @ 126 : 1
2024/05/23-11:25:01.364987 7f803fe006c0 Compacting 1@1 + 1@2 files
2024/05/23-11:25:01.368745 7f803fe006c0 Generated table #106@1: 63 keys, 27634 bytes
2024/05/23-11:25:01.368762 7f803fe006c0 Compacted 1@1 + 1@2 files => 27634 bytes
2024/05/23-11:25:01.375071 7f803fe006c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2024/05/23-11:25:01.375332 7f803fe006c0 Delete type=2 #5
2024/05/23-11:25:01.375618 7f803fe006c0 Delete type=2 #105
2024/05/23-11:25:01.397027 7f803fe006c0 Manual compaction at level-1 from '!items!zfpjROW9LDAlXUkN' @ 126 : 1 .. '!items!zfpjROW9LDAlXUkN' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
packs/capacites/000106.ldb Normal file

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000002
MANIFEST-000107

View File

@ -1,5 +1,8 @@
2023/12/19-21:28:12.559042 7f3323fff6c0 Delete type=3 #1
2023/12/19-21:34:54.762976 7f33223ff6c0 Level-0 table #5: started
2023/12/19-21:34:54.766856 7f33223ff6c0 Level-0 table #5: 23734 bytes OK
2023/12/19-21:34:54.774441 7f33223ff6c0 Delete type=0 #3
2023/12/19-21:34:54.787085 7f33223ff6c0 Manual compaction at level-0 from '!items!0cNSRJVPk3GbvxfD' @ 72057594037927935 : 1 .. '!items!yWDg2KlXEz33TSmZ' @ 0 : 0; will stop at (end)
2024/05/23-14:51:23.974743 7f7a316006c0 Recovering log #104
2024/05/23-14:51:23.985682 7f7a316006c0 Delete type=3 #102
2024/05/23-14:51:23.985779 7f7a316006c0 Delete type=0 #104
2024/05/23-15:00:04.365258 7f7a2b8006c0 Level-0 table #110: started
2024/05/23-15:00:04.365295 7f7a2b8006c0 Level-0 table #110: 0 bytes OK
2024/05/23-15:00:04.371198 7f7a2b8006c0 Delete type=0 #108
2024/05/23-15:00:04.377826 7f7a2b8006c0 Manual compaction at level-0 from '!items!0cNSRJVPk3GbvxfD' @ 72057594037927935 : 1 .. '!items!yWDg2KlXEz33TSmZ' @ 0 : 0; will stop at (end)
2024/05/23-15:00:04.377906 7f7a2b8006c0 Manual compaction at level-1 from '!items!0cNSRJVPk3GbvxfD' @ 72057594037927935 : 1 .. '!items!yWDg2KlXEz33TSmZ' @ 0 : 0; will stop at (end)

15
packs/capacites/LOG.old Normal file
View File

@ -0,0 +1,15 @@
2024/05/23-10:57:45.594438 7f8046a006c0 Recovering log #100
2024/05/23-10:57:45.605133 7f8046a006c0 Delete type=3 #98
2024/05/23-10:57:45.605268 7f8046a006c0 Delete type=0 #100
2024/05/23-11:25:01.333752 7f803fe006c0 Level-0 table #105: started
2024/05/23-11:25:01.337048 7f803fe006c0 Level-0 table #105: 24250 bytes OK
2024/05/23-11:25:01.343059 7f803fe006c0 Delete type=0 #103
2024/05/23-11:25:01.354655 7f803fe006c0 Manual compaction at level-0 from '!items!0cNSRJVPk3GbvxfD' @ 72057594037927935 : 1 .. '!items!yWDg2KlXEz33TSmZ' @ 0 : 0; will stop at (end)
2024/05/23-11:25:01.375782 7f803fe006c0 Manual compaction at level-1 from '!items!0cNSRJVPk3GbvxfD' @ 72057594037927935 : 1 .. '!items!yWDg2KlXEz33TSmZ' @ 0 : 0; will stop at '!items!yWDg2KlXEz33TSmZ' @ 72 : 1
2024/05/23-11:25:01.375804 7f803fe006c0 Compacting 1@1 + 1@2 files
2024/05/23-11:25:01.379818 7f803fe006c0 Generated table #106@1: 36 keys, 24250 bytes
2024/05/23-11:25:01.379847 7f803fe006c0 Compacted 1@1 + 1@2 files => 24250 bytes
2024/05/23-11:25:01.386783 7f803fe006c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2024/05/23-11:25:01.386889 7f803fe006c0 Delete type=2 #5
2024/05/23-11:25:01.387092 7f803fe006c0 Delete type=2 #105
2024/05/23-11:25:01.397039 7f803fe006c0 Manual compaction at level-1 from '!items!yWDg2KlXEz33TSmZ' @ 72 : 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-000002
MANIFEST-000107

View File

@ -1,5 +1,8 @@
2023/12/19-21:28:12.424090 7f3322ffd6c0 Delete type=3 #1
2023/12/19-21:34:54.711352 7f33223ff6c0 Level-0 table #5: started
2023/12/19-21:34:54.715753 7f33223ff6c0 Level-0 table #5: 26885 bytes OK
2023/12/19-21:34:54.722148 7f33223ff6c0 Delete type=0 #3
2023/12/19-21:34:54.729274 7f33223ff6c0 Manual compaction at level-0 from '!items!0V86n4TU8NegrR2B' @ 72057594037927935 : 1 .. '!items!zEl2NQsnCpELVWzh' @ 0 : 0; will stop at (end)
2024/05/23-14:51:23.935654 7f7a30c006c0 Recovering log #104
2024/05/23-14:51:23.946200 7f7a30c006c0 Delete type=3 #102
2024/05/23-14:51:23.946253 7f7a30c006c0 Delete type=0 #104
2024/05/23-15:00:04.344781 7f7a2b8006c0 Level-0 table #110: started
2024/05/23-15:00:04.344815 7f7a2b8006c0 Level-0 table #110: 0 bytes OK
2024/05/23-15:00:04.351256 7f7a2b8006c0 Delete type=0 #108
2024/05/23-15:00:04.351383 7f7a2b8006c0 Manual compaction at level-0 from '!items!0V86n4TU8NegrR2B' @ 72057594037927935 : 1 .. '!items!zEl2NQsnCpELVWzh' @ 0 : 0; will stop at (end)
2024/05/23-15:00:04.351414 7f7a2b8006c0 Manual compaction at level-1 from '!items!0V86n4TU8NegrR2B' @ 72057594037927935 : 1 .. '!items!zEl2NQsnCpELVWzh' @ 0 : 0; will stop at (end)

15
packs/competences/LOG.old Normal file
View File

@ -0,0 +1,15 @@
2024/05/23-10:57:45.551260 7f80460006c0 Recovering log #100
2024/05/23-10:57:45.562116 7f80460006c0 Delete type=3 #98
2024/05/23-10:57:45.562204 7f80460006c0 Delete type=0 #100
2024/05/23-11:25:01.313504 7f803fe006c0 Level-0 table #105: started
2024/05/23-11:25:01.317069 7f803fe006c0 Level-0 table #105: 27947 bytes OK
2024/05/23-11:25:01.323555 7f803fe006c0 Delete type=0 #103
2024/05/23-11:25:01.354597 7f803fe006c0 Manual compaction at level-0 from '!items!0V86n4TU8NegrR2B' @ 72057594037927935 : 1 .. '!items!zEl2NQsnCpELVWzh' @ 0 : 0; will stop at (end)
2024/05/23-11:25:01.354715 7f803fe006c0 Manual compaction at level-1 from '!items!0V86n4TU8NegrR2B' @ 72057594037927935 : 1 .. '!items!zEl2NQsnCpELVWzh' @ 0 : 0; will stop at '!items!zEl2NQsnCpELVWzh' @ 136 : 1
2024/05/23-11:25:01.354732 7f803fe006c0 Compacting 1@1 + 1@2 files
2024/05/23-11:25:01.358690 7f803fe006c0 Generated table #106@1: 68 keys, 27947 bytes
2024/05/23-11:25:01.358722 7f803fe006c0 Compacted 1@1 + 1@2 files => 27947 bytes
2024/05/23-11:25:01.364610 7f803fe006c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2024/05/23-11:25:01.364754 7f803fe006c0 Delete type=2 #5
2024/05/23-11:25:01.364898 7f803fe006c0 Delete type=2 #105
2024/05/23-11:25:01.397013 7f803fe006c0 Manual compaction at level-1 from '!items!zEl2NQsnCpELVWzh' @ 136 : 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-000002
MANIFEST-000107

View File

@ -1,5 +1,8 @@
2023/12/19-21:28:12.513826 7f3322ffd6c0 Delete type=3 #1
2023/12/19-21:34:54.752015 7f33223ff6c0 Level-0 table #5: started
2023/12/19-21:34:54.756291 7f33223ff6c0 Level-0 table #5: 31112 bytes OK
2023/12/19-21:34:54.762759 7f33223ff6c0 Delete type=0 #3
2023/12/19-21:34:54.774705 7f33223ff6c0 Manual compaction at level-0 from '!items!2QqvtClSVnh5ejXu' @ 72057594037927935 : 1 .. '!items!xzRJ6JP1HqoqxLdj' @ 0 : 0; will stop at (end)
2024/05/23-14:51:23.961299 7f7a30c006c0 Recovering log #104
2024/05/23-14:51:23.971920 7f7a30c006c0 Delete type=3 #102
2024/05/23-14:51:23.972033 7f7a30c006c0 Delete type=0 #104
2024/05/23-15:00:04.357792 7f7a2b8006c0 Level-0 table #110: started
2024/05/23-15:00:04.357813 7f7a2b8006c0 Level-0 table #110: 0 bytes OK
2024/05/23-15:00:04.365124 7f7a2b8006c0 Delete type=0 #108
2024/05/23-15:00:04.377799 7f7a2b8006c0 Manual compaction at level-0 from '!items!2QqvtClSVnh5ejXu' @ 72057594037927935 : 1 .. '!items!xzRJ6JP1HqoqxLdj' @ 0 : 0; will stop at (end)
2024/05/23-15:00:04.377887 7f7a2b8006c0 Manual compaction at level-1 from '!items!2QqvtClSVnh5ejXu' @ 72057594037927935 : 1 .. '!items!xzRJ6JP1HqoqxLdj' @ 0 : 0; will stop at (end)

View File

@ -0,0 +1,15 @@
2024/05/23-10:57:45.580069 7f80474006c0 Recovering log #100
2024/05/23-10:57:45.590125 7f80474006c0 Delete type=3 #98
2024/05/23-10:57:45.590216 7f80474006c0 Delete type=0 #100
2024/05/23-11:25:01.343215 7f803fe006c0 Level-0 table #105: started
2024/05/23-11:25:01.347909 7f803fe006c0 Level-0 table #105: 32297 bytes OK
2024/05/23-11:25:01.354293 7f803fe006c0 Delete type=0 #103
2024/05/23-11:25:01.354677 7f803fe006c0 Manual compaction at level-0 from '!items!2QqvtClSVnh5ejXu' @ 72057594037927935 : 1 .. '!items!xzRJ6JP1HqoqxLdj' @ 0 : 0; will stop at (end)
2024/05/23-11:25:01.387156 7f803fe006c0 Manual compaction at level-1 from '!items!2QqvtClSVnh5ejXu' @ 72057594037927935 : 1 .. '!items!xzRJ6JP1HqoqxLdj' @ 0 : 0; will stop at '!items!xzRJ6JP1HqoqxLdj' @ 130 : 1
2024/05/23-11:25:01.387165 7f803fe006c0 Compacting 1@1 + 1@2 files
2024/05/23-11:25:01.390635 7f803fe006c0 Generated table #106@1: 65 keys, 32297 bytes
2024/05/23-11:25:01.390672 7f803fe006c0 Compacted 1@1 + 1@2 files => 32297 bytes
2024/05/23-11:25:01.396695 7f803fe006c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2024/05/23-11:25:01.396816 7f803fe006c0 Delete type=2 #5
2024/05/23-11:25:01.396942 7f803fe006c0 Delete type=2 #105
2024/05/23-11:25:01.397065 7f803fe006c0 Manual compaction at level-1 from '!items!xzRJ6JP1HqoqxLdj' @ 130 : 1 .. '!items!xzRJ6JP1HqoqxLdj' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
packs/pouvoirs/000106.ldb Normal file

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000002
MANIFEST-000107

View File

@ -1,5 +1,8 @@
2023/12/19-21:28:12.700301 7f3322ffd6c0 Delete type=3 #1
2023/12/19-21:34:54.798956 7f33223ff6c0 Level-0 table #5: started
2023/12/19-21:34:54.809620 7f33223ff6c0 Level-0 table #5: 273133 bytes OK
2023/12/19-21:34:54.816368 7f33223ff6c0 Delete type=0 #3
2023/12/19-21:34:54.828262 7f33223ff6c0 Manual compaction at level-0 from '!items!19r9ijZUyvnlIqgm' @ 72057594037927935 : 1 .. '!items!zON0h5SjFyANjPnA' @ 0 : 0; will stop at (end)
2024/05/23-14:51:24.013125 7f7a30c006c0 Recovering log #104
2024/05/23-14:51:24.022843 7f7a30c006c0 Delete type=3 #102
2024/05/23-14:51:24.022897 7f7a30c006c0 Delete type=0 #104
2024/05/23-15:00:04.385412 7f7a2b8006c0 Level-0 table #110: started
2024/05/23-15:00:04.385430 7f7a2b8006c0 Level-0 table #110: 0 bytes OK
2024/05/23-15:00:04.391306 7f7a2b8006c0 Delete type=0 #108
2024/05/23-15:00:04.405247 7f7a2b8006c0 Manual compaction at level-0 from '!items!19r9ijZUyvnlIqgm' @ 72057594037927935 : 1 .. '!items!zON0h5SjFyANjPnA' @ 0 : 0; will stop at (end)
2024/05/23-15:00:04.405313 7f7a2b8006c0 Manual compaction at level-1 from '!items!19r9ijZUyvnlIqgm' @ 72057594037927935 : 1 .. '!items!zON0h5SjFyANjPnA' @ 0 : 0; will stop at (end)

15
packs/pouvoirs/LOG.old Normal file
View File

@ -0,0 +1,15 @@
2024/05/23-10:57:45.639116 7f80474006c0 Recovering log #100
2024/05/23-10:57:45.650216 7f80474006c0 Delete type=3 #98
2024/05/23-10:57:45.650332 7f80474006c0 Delete type=0 #100
2024/05/23-11:25:01.429060 7f803fe006c0 Level-0 table #105: started
2024/05/23-11:25:01.434691 7f803fe006c0 Level-0 table #105: 278813 bytes OK
2024/05/23-11:25:01.442092 7f803fe006c0 Delete type=0 #103
2024/05/23-11:25:01.442475 7f803fe006c0 Manual compaction at level-0 from '!items!19r9ijZUyvnlIqgm' @ 72057594037927935 : 1 .. '!items!zON0h5SjFyANjPnA' @ 0 : 0; will stop at (end)
2024/05/23-11:25:01.454285 7f803fe006c0 Manual compaction at level-1 from '!items!19r9ijZUyvnlIqgm' @ 72057594037927935 : 1 .. '!items!zON0h5SjFyANjPnA' @ 0 : 0; will stop at '!items!zON0h5SjFyANjPnA' @ 270 : 1
2024/05/23-11:25:01.454301 7f803fe006c0 Compacting 1@1 + 1@2 files
2024/05/23-11:25:01.460432 7f803fe006c0 Generated table #106@1: 135 keys, 278813 bytes
2024/05/23-11:25:01.460474 7f803fe006c0 Compacted 1@1 + 1@2 files => 278813 bytes
2024/05/23-11:25:01.466560 7f803fe006c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2024/05/23-11:25:01.466676 7f803fe006c0 Delete type=2 #5
2024/05/23-11:25:01.466841 7f803fe006c0 Delete type=2 #105
2024/05/23-11:25:01.488770 7f803fe006c0 Manual compaction at level-1 from '!items!zON0h5SjFyANjPnA' @ 270 : 1 .. '!items!zON0h5SjFyANjPnA' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000002
MANIFEST-000106

View File

@ -1,5 +1,7 @@
2023/12/19-21:28:12.843064 7f3322ffd6c0 Delete type=3 #1
2023/12/19-21:34:54.828277 7f33223ff6c0 Level-0 table #5: started
2023/12/19-21:34:54.828314 7f33223ff6c0 Level-0 table #5: 0 bytes OK
2023/12/19-21:34:54.835165 7f33223ff6c0 Delete type=0 #3
2023/12/19-21:34:54.842202 7f33223ff6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)
2024/05/23-14:51:24.039438 7f7a30c006c0 Recovering log #104
2024/05/23-14:51:24.050533 7f7a30c006c0 Delete type=3 #102
2024/05/23-14:51:24.050611 7f7a30c006c0 Delete type=0 #104
2024/05/23-15:00:04.378166 7f7a2b8006c0 Level-0 table #109: started
2024/05/23-15:00:04.378221 7f7a2b8006c0 Level-0 table #109: 0 bytes OK
2024/05/23-15:00:04.385336 7f7a2b8006c0 Delete type=0 #107
2024/05/23-15:00:04.405233 7f7a2b8006c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)

7
packs/profils/LOG.old Normal file
View File

@ -0,0 +1,7 @@
2024/05/23-10:57:45.671074 7f80460006c0 Recovering log #100
2024/05/23-10:57:45.681323 7f80460006c0 Delete type=3 #98
2024/05/23-10:57:45.681382 7f80460006c0 Delete type=0 #100
2024/05/23-11:25:01.496104 7f803fe006c0 Level-0 table #105: started
2024/05/23-11:25:01.496136 7f803fe006c0 Level-0 table #105: 0 bytes OK
2024/05/23-11:25:01.502167 7f803fe006c0 Delete type=0 #103
2024/05/23-11:25:01.524678 7f803fe006c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

BIN
packs/scenes/000074.ldb Normal file

Binary file not shown.

0
packs/scenes/000077.log Normal file
View File

1
packs/scenes/CURRENT Normal file
View File

@ -0,0 +1 @@
MANIFEST-000075

0
packs/scenes/LOCK Normal file
View File

8
packs/scenes/LOG Normal file
View File

@ -0,0 +1,8 @@
2024/05/23-14:51:24.052512 7f7a316006c0 Recovering log #72
2024/05/23-14:51:24.102351 7f7a316006c0 Delete type=3 #70
2024/05/23-14:51:24.102451 7f7a316006c0 Delete type=0 #72
2024/05/23-15:00:04.412618 7f7a2b8006c0 Level-0 table #78: started
2024/05/23-15:00:04.412676 7f7a2b8006c0 Level-0 table #78: 0 bytes OK
2024/05/23-15:00:04.419314 7f7a2b8006c0 Delete type=0 #76
2024/05/23-15:00:04.419478 7f7a2b8006c0 Manual compaction at level-0 from '!scenes!8DjkNeeujp2qff1N' @ 72057594037927935 : 1 .. '!scenes!ypDutqjqZcr7lx6I' @ 0 : 0; will stop at (end)
2024/05/23-15:00:04.419505 7f7a2b8006c0 Manual compaction at level-1 from '!scenes!8DjkNeeujp2qff1N' @ 72057594037927935 : 1 .. '!scenes!ypDutqjqZcr7lx6I' @ 0 : 0; will stop at (end)

15
packs/scenes/LOG.old Normal file
View File

@ -0,0 +1,15 @@
2024/05/23-10:57:45.683789 7f80456006c0 Recovering log #68
2024/05/23-10:57:45.693418 7f80456006c0 Delete type=3 #66
2024/05/23-10:57:45.693474 7f80456006c0 Delete type=0 #68
2024/05/23-11:25:01.514263 7f803fe006c0 Level-0 table #73: started
2024/05/23-11:25:01.517780 7f803fe006c0 Level-0 table #73: 3022 bytes OK
2024/05/23-11:25:01.524517 7f803fe006c0 Delete type=0 #71
2024/05/23-11:25:01.524699 7f803fe006c0 Manual compaction at level-0 from '!scenes!8DjkNeeujp2qff1N' @ 72057594037927935 : 1 .. '!scenes!ypDutqjqZcr7lx6I' @ 0 : 0; will stop at (end)
2024/05/23-11:25:01.524729 7f803fe006c0 Manual compaction at level-1 from '!scenes!8DjkNeeujp2qff1N' @ 72057594037927935 : 1 .. '!scenes!ypDutqjqZcr7lx6I' @ 0 : 0; will stop at '!scenes!ypDutqjqZcr7lx6I' @ 8 : 1
2024/05/23-11:25:01.524738 7f803fe006c0 Compacting 1@1 + 1@2 files
2024/05/23-11:25:01.528936 7f803fe006c0 Generated table #74@1: 4 keys, 3022 bytes
2024/05/23-11:25:01.528972 7f803fe006c0 Compacted 1@1 + 1@2 files => 3022 bytes
2024/05/23-11:25:01.535109 7f803fe006c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2024/05/23-11:25:01.535211 7f803fe006c0 Delete type=2 #5
2024/05/23-11:25:01.535345 7f803fe006c0 Delete type=2 #73
2024/05/23-11:25:01.558900 7f803fe006c0 Manual compaction at level-1 from '!scenes!ypDutqjqZcr7lx6I' @ 8 : 1 .. '!scenes!ypDutqjqZcr7lx6I' @ 0 : 0; will stop at (end)

Binary file not shown.

View File

@ -573,6 +573,7 @@ ul, li {
.specialisation-label {
font-size: 0.8rem;
font-style: italic;
}
.carac-label,
@ -1023,8 +1024,6 @@ ul, li {
}
#sidebar #sidebar-tabs i{
width: 25px;
height: 25px;
display: inline-block;
background-position:center;
background-size:cover;
@ -1032,23 +1031,6 @@ ul, li {
}
/*#sidebar #sidebar-tabs i.fa-comments:before, #sidebar #sidebar-tabs i.fa-fist-raised:before, #sidebar #sidebar-tabs i.fa-users:before, #sidebar #sidebar-tabs i.fa-map:before, #sidebar #sidebar-tabs i.fa-suitcase:before, #sidebar #sidebar-tabs i.fa-book-open:before, #sidebar #sidebar-tabs i.fa-th-list:before, #sidebar #sidebar-tabs i.fa-music:before, #sidebar #sidebar-tabs i.fa-atlas:before, #sidebar #sidebar-tabs i.fa-cogs:before {content: "";}
#sidebar #sidebar-tabs i.fa-comments {background: url("img/ui/icon_sidebar_chat.svg") no-repeat;}
#sidebar #sidebar-tabs i.fa-fist-raised {background: url("img/ui/icon_sidebar_fight.svg") no-repeat;}
#sidebar #sidebar-tabs i.fa-users {background: url("img/ui/icon_sidebar_actor.svg") no-repeat;}
#sidebar #sidebar-tabs i.fa-map {background: url("img/ui/icon_sidebar_scene.svg") no-repeat;}
#sidebar #sidebar-tabs i.fa-suitcase {background: url("img/ui/icon_sidebar_item.svg") no-repeat;}
#sidebar #sidebar-tabs i.fa-book-open {background: url("img/ui/icon_sidebar_journal.svg") no-repeat;}
#sidebar #sidebar-tabs i.fa-th-list {background: url("img/ui/icon_sidebar_rolltable.svg") no-repeat;}
#sidebar #sidebar-tabs i.fa-music {background: url("img/ui/icon_sidebar_music.svg") no-repeat;}
#sidebar #sidebar-tabs i.fa-atlas {background: url("img/ui/icon_sidebar_compendium.svg") no-repeat;}
#sidebar #sidebar-tabs i.fa-cogs {background: url("img/ui/icon_sidebar_settings.svg") no-repeat;}
#combat #combat-controls {
box-shadow: inset 0 0 2rem rgba(0,0,0,0.5);
}
*/
/*--------------------------------------------------------------------------*/
/* Control, Tool, hotbar & navigation */

View File

@ -1,7 +1,7 @@
{
"id": "fvtt-les-heritiers",
"description": "Les Héritiers pour FoundryVTT",
"version": "11.0.4",
"version": "12.0.1",
"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.4.zip",
"download": "https://www.uberwald.me/gitea/public/fvtt-les-heritiers/archive/fvtt-les-heritiers-12.0.1.zip",
"languages": [
{
"lang": "fr",
@ -28,87 +30,163 @@
"flags": {}
}
],
"packFolders": [
{
"name": "Les Héritiers",
"sorting": "m",
"color": "#00435c",
"folders": [
{
"name": "Création de Personnage",
"sorting": "a",
"color": "#00435c",
"packs": [
"competences",
"atouts-feeriques",
"avantages",
"capacites",
"competences",
"desavantages",
"pouvoirs",
"profils",
"archetypes-fees"
],
"folders": []
},
{
"name": "Equipement",
"sorting": "a",
"color": "#00435c",
"packs": [
"armes-et-protection"
],
"folders": []
}
],
"packs":
["scenes"]
}
],
"packs": [
{
"type": "Item",
"label": "Compétences",
"name": "competences",
"path": "packs/competences.db",
"path": "packs/competences",
"system": "fvtt-les-heritiers",
"private": false,
"flags": {}
"flags": {},
"ownership": {
"PLAYER": "OBSERVER",
"ASSISTANT": "OWNER"
}
},
{
"type": "Item",
"label": "Avantages",
"name": "avantages",
"path": "packs/avantages.db",
"path": "packs/avantages",
"system": "fvtt-les-heritiers",
"private": false,
"flags": {}
"flags": {},
"ownership": {
"PLAYER": "OBSERVER",
"ASSISTANT": "OWNER"
}
},
{
"type": "Item",
"label": "Désavantages",
"name": "desavantages",
"path": "packs/desavantages.db",
"path": "packs/desavantages",
"system": "fvtt-les-heritiers",
"private": false,
"flags": {}
"flags": {},
"ownership": {
"PLAYER": "OBSERVER",
"ASSISTANT": "OWNER"
}
},
{
"type": "Item",
"label": "Capacités Naturelles",
"name": "capacites",
"path": "packs/capacites.db",
"path": "packs/capacites",
"system": "fvtt-les-heritiers",
"private": false,
"flags": {}
"flags": {},
"ownership": {
"PLAYER": "OBSERVER",
"ASSISTANT": "OWNER"
}
},
{
"type": "Item",
"label": "Atouts Féériques",
"name": "atouts-feeriques",
"path": "packs/atouts-feeriques.db",
"path": "packs/atouts-feeriques",
"system": "fvtt-les-heritiers",
"private": false,
"flags": {}
"flags": {},
"ownership": {
"PLAYER": "OBSERVER",
"ASSISTANT": "OWNER"
}
},
{
"type": "Item",
"label": "Fées",
"name": "archetypes-fees",
"path": "packs/archetypes-fees.db",
"path": "packs/archetypes-fees",
"system": "fvtt-les-heritiers",
"private": false,
"flags": {}
"flags": {},
"ownership": {
"PLAYER": "OBSERVER",
"ASSISTANT": "OWNER"
}
},
{
"type": "Item",
"label": "Pouvoirs",
"name": "pouvoirs",
"path": "packs/pouvoirs.db",
"path": "packs/pouvoirs",
"system": "fvtt-les-heritiers",
"private": false,
"flags": {}
"flags": {},
"ownership": {
"PLAYER": "OBSERVER",
"ASSISTANT": "OWNER"
}
},
{
"type": "Item",
"label": "Armes et Protections",
"name": "armes-et-protection",
"path": "packs/armes-et-protection.db",
"path": "packs/armes-et-protection",
"system": "fvtt-les-heritiers",
"private": false,
"flags": {}
"flags": {},
"ownership": {
"PLAYER": "OBSERVER",
"ASSISTANT": "OWNER"
}
},
{
"type": "Item",
"label": "Profils",
"name": "profils",
"path": "packs/profils.db",
"path": "packs/profils",
"system": "fvtt-les-heritiers",
"private": false,
"flags": {}
"flags": {},
"ownership": {
"PLAYER": "OBSERVER",
"ASSISTANT": "OWNER"
}
},
{
"type": "Scene",
"label": "Scènes",
"name": "scenes",
"path": "packs/scenes",
"system": "fvtt-les-heritiers",
"flags": {},
"ownership": {
"PLAYER": "OBSERVER",
"ASSISTANT": "OWNER"
}
}
],
"primaryTokenAttribute": "sante.vigueur",
@ -121,8 +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",
"maximum": "11"
"minimum": "11",
"verified": "12"
}
}

View File

@ -142,7 +142,8 @@
},
"pv": {
"value": 0,
"max": 0
"max": 0,
"mod": 0
},
"competences": {
"aventurier": {
@ -254,19 +255,19 @@
}
},
"types": [
"fee",
"avantage",
"desavantage",
"capacitenaturelle",
"pouvoir",
"atoutfeerique",
"competence",
"arme",
"protection",
"equipement",
"accessoire",
"arme",
"atoutfeerique",
"avantage",
"capacitenaturelle",
"competence",
"contact",
"profil"
"desavantage",
"equipement",
"fee",
"pouvoir",
"profil",
"protection"
],
"profil": {
"profiltype": "majeur",
@ -322,6 +323,7 @@
"portee": "",
"resistance": "",
"resistanceautre":"",
"pointsusagecourant": -1,
"isvirulence": false,
"virulence":"",
"description": ""

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>
@ -119,14 +115,12 @@
<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}}
{{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}}
@ -221,10 +215,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 +236,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 +249,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 +269,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 +281,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 +301,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 +311,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 +327,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 +337,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 +353,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 +363,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 +386,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 +422,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 +432,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 +457,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

@ -45,17 +45,14 @@
<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" />
<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}}
{{selectOptions config.statutMasque selected=system.statutmasque}}
</select>
<span>&nbsp;&nbsp;</span>
@ -91,13 +88,13 @@
<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,6 +110,10 @@
<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">
@ -121,14 +122,12 @@
<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}}
{{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}}
@ -226,10 +225,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}}
@ -247,7 +246,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 +259,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}}
@ -280,8 +279,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>
@ -292,10 +291,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>
@ -310,6 +311,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|}}
@ -318,8 +321,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}}
@ -334,6 +337,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|}}
@ -342,8 +347,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}}
@ -358,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="atoutfeerique" title="Ajouter un atout féerique"><i
class="fas fa-plus"></i></a>
</div>
</li>
{{#each atouts as |atout key|}}
@ -366,8 +373,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}}
@ -389,26 +396,28 @@
<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}}
@ -424,6 +433,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|}}
@ -432,8 +443,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}}
@ -465,8 +476,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}}
@ -508,8 +519,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}}
@ -542,8 +553,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}}
@ -618,7 +629,7 @@
</li>
<li class="flexrow item">
<label class="generic-label">Points d'héritage</label>
<input type="text" class="" value="{{system.heritage.value}}" value="{{system.heritage.value}}" data-dtype="String" />
<input type="text" class="" name="system.rang.heritage.value" value="{{system.rang.heritage.value}}" data-dtype="String" />
</li>
</ul>

View File

@ -41,12 +41,15 @@
{{#if pouvoir}}
<li>Pouvoir : {{pouvoir.name}}</li>
<li>Effet : {{pouvoir.system.effet}}</li>
<li>Points d'usage consommés : {{pouvoirPointsUsage}}</li>
{{/if}}
{{#if forcedValue}}
<li>Vous dépense 2 points de Tricherie et utilisé une face adjacente du dé !</li>
{{/if}}
{{#if noRoll}}
{{else}}
<li>Formule : {{diceFormula}}</li>
<li>Résultat du dé : {{diceResult}} </li>
@ -83,6 +86,7 @@
{{#if isCriticalFailure}}
<li class="chat-failure">Echec Critique !!!</li>
{{/if}}
{{/if}}
</ul>
</div>

View File

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

View File

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

View File

@ -16,11 +16,7 @@
<label class="generic-label item-field-label-long2">Type </label>
<select class="status-small-label color-class-common item-field-label-long" type="text"
name="system.pouvoirtype" value="{{system.pouvoirtype}}" data-dtype="string">
{{#select system.pouvoirtype}}
{{#each config.typePouvoir as |categ cKey|}}
<option value="{{cKey}}">{{categ}}</option>
{{/each}}
{{/select}}
{{selectOptions config.typePouvoir selected=system.pouvoirtype}}
</select>
</li>
@ -52,11 +48,7 @@
<label class="generic-label item-field-label-long2">Résistance</label>
<select class="status-small-label color-class-common item-field-label-long" type="text"
name="system.resistance" value="{{system.resistance}}" data-dtype="string">
{{#select system.resistance}}
{{#each config.resistancePouvoir as |categ cKey|}}
<option value="{{cKey}}">{{categ}}</option>
{{/each}}
{{/select}}
{{selectOptions config.resistancePouvoir selected=system.resistance}}
</select>
</li>

View File

@ -16,11 +16,7 @@
<label class="generic-label item-field-label-long2">Catégorie </label>
<select class="status-small-label color-class-common item-field-label-long" type="text"
name="system.categorie" value="{{system.categorie}}" data-dtype="string">
{{#select system.categorie}}
{{#each config.competenceCategorie as |categ cKey|}}
<option value="{{cKey}}">{{categ}}</option>
{{/each}}
{{/select}}
{{selectOptions config.competenceCategorie selected=system.categorie}}
</select>
</li>
@ -28,11 +24,7 @@
<label class="generic-label item-field-label-long2">Profil </label>
<select class="status-small-label color-class-common item-field-label-long" type="text"
name="system.profil" value="{{system.profil}}" data-dtype="string">
{{#select system.profil}}
{{#each config.competenceProfil as |profil pKey|}}
<option value="{{pKey}}">{{profil}}</option>
{{/each}}
{{/select}}
{{selectOptions config.competenceProfil selected=system.profil labelAttr="name"}}
</select>
</li>

View File

@ -15,23 +15,14 @@
<li class="flexrow item">
<label class="generic-label item-field-label-long">Type : </label>
<select class="item-field-label-long" type="text" name="system.contacttype" value="{{system.contacttype}}" data-dtype="String">
{{#select system.contacttype}}
<option value="contact">Contact</option>
<option value="allie">Allié</option>
<option value="ennemi">Ennemis</option>
<option value="interet">Personne d'interêt</option>
{{/select}}
{{selectOptions config.typeContact selected=system.contacttype}}
</select>
</li>
<li class="flexrow item">
<label class="generic-label item-field-label-long">Niveau : </label>
<select class="item-field-label-long" type="text" name="system.niveau" value="{{system.niveau}}" data-dtype="Number">
{{#select system.niveau}}
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
{{/select}}
{{selectOptions config.niveauContact selected=system.niveau}}
</select>
</li>

View File

@ -17,11 +17,7 @@
<label class="item-field-label-long">Type de féé</label>
<select class="item-field-label-long" type="text" name="system.feetype"
value="{{system.feetype}}" data-dtype="string">
{{#select system.feetype}}
{{#each config.typeFee as |type key|}}
<option value="{{key}}">{{type}}</option>
{{/each}}
{{/select}}
{{selectOptions config.typeFee selected=system.feetype}}
</select>
</li>

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