Fix after testing
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -29,26 +29,16 @@ export class HeritiersRollDialog {
|
||||
// Préparer les boutons selon le mode et le niveau
|
||||
const buttons = this._prepareButtons(rollData)
|
||||
|
||||
// Lancer le dialog de manière asynchrone (sans attendre)
|
||||
setTimeout(() => {
|
||||
foundry.applications.api.DialogV2.wait({
|
||||
window: { title: "Test de Capacité", icon: "fa-solid fa-dice" },
|
||||
classes: ["heritiers-roll-dialog"],
|
||||
position: { width: 420, height: 'fit-content' },
|
||||
modal: false,
|
||||
content,
|
||||
buttons,
|
||||
rejectClose: false,
|
||||
render: (event, html) => {
|
||||
this._activateListeners(html, rollData)
|
||||
}
|
||||
})
|
||||
}, 0)
|
||||
|
||||
// Retourner un objet avec une méthode render() vide pour compatibilité
|
||||
return {
|
||||
render: () => {} // No-op for compatibility with old code
|
||||
}
|
||||
// Utiliser DialogV2.wait avec le HTML rendu
|
||||
return foundry.applications.api.DialogV2.wait({
|
||||
window: { title: "Test de Capacité", icon: "fa-solid fa-dice" },
|
||||
classes: ["heritiers-roll-dialog"],
|
||||
position: { width: 420 },
|
||||
modal: false,
|
||||
content,
|
||||
buttons,
|
||||
rejectClose: false
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -63,7 +53,7 @@ export class HeritiersRollDialog {
|
||||
// Bouton d8 toujours disponible
|
||||
buttons.push({
|
||||
action: "rolld8",
|
||||
label: "Lancer 1d8",
|
||||
label: "1d8",
|
||||
icon: "fa-solid fa-dice-d8",
|
||||
default: true,
|
||||
callback: (event, button, dialog) => {
|
||||
@@ -77,7 +67,7 @@ export class HeritiersRollDialog {
|
||||
if (enableD10) {
|
||||
buttons.push({
|
||||
action: "rolld10",
|
||||
label: "Lancer 1d10",
|
||||
label: "1d10",
|
||||
icon: "fa-solid fa-dice-d10",
|
||||
callback: (event, button, dialog) => {
|
||||
this._updateRollDataFromForm(rollData, button.form.elements)
|
||||
@@ -91,7 +81,7 @@ export class HeritiersRollDialog {
|
||||
if (enableD12) {
|
||||
buttons.push({
|
||||
action: "rolld12",
|
||||
label: "Lancer 1d12",
|
||||
label: "1d12",
|
||||
icon: "fa-solid fa-dice-d12",
|
||||
callback: (event, button, dialog) => {
|
||||
this._updateRollDataFromForm(rollData, button.form.elements)
|
||||
@@ -104,7 +94,7 @@ export class HeritiersRollDialog {
|
||||
if (rollData.tricherie) {
|
||||
buttons.push({
|
||||
action: "rollTricherie",
|
||||
label: "Lancer avec 1 Point de Tricherie",
|
||||
label: "Lancer 1 Tricherie",
|
||||
icon: "fa-solid fa-mask",
|
||||
callback: (event, button, dialog) => {
|
||||
this._updateRollDataFromForm(rollData, button.form.elements)
|
||||
@@ -117,7 +107,7 @@ export class HeritiersRollDialog {
|
||||
if (rollData.heritage) {
|
||||
buttons.push({
|
||||
action: "rollHeritage",
|
||||
label: "Lancer avec 1 Point d'Héritage",
|
||||
label: "Lancer 1 Héritage",
|
||||
icon: "fa-solid fa-crown",
|
||||
callback: (event, button, dialog) => {
|
||||
this._updateRollDataFromForm(rollData, button.form.elements)
|
||||
@@ -145,94 +135,6 @@ export class HeritiersRollDialog {
|
||||
return buttons
|
||||
}
|
||||
|
||||
/**
|
||||
* Activer les listeners sur le formulaire
|
||||
* @param {HTMLElement} html - L'élément HTML du dialog
|
||||
* @param {Object} rollData - Data for the roll
|
||||
* @private
|
||||
*/
|
||||
static _activateListeners(html, rollData) {
|
||||
// Seuil de Difficulté
|
||||
const sdValue = html.querySelector('#sdValue')
|
||||
if (sdValue) {
|
||||
sdValue.addEventListener('change', (event) => {
|
||||
rollData.sdValue = Number(event.currentTarget.value)
|
||||
})
|
||||
}
|
||||
|
||||
// Caractéristique
|
||||
const caracKey = html.querySelector('#caracKey')
|
||||
if (caracKey) {
|
||||
caracKey.addEventListener('change', (event) => {
|
||||
rollData.caracKey = String(event.currentTarget.value)
|
||||
})
|
||||
}
|
||||
|
||||
// Bonus/Malus contextuel
|
||||
const bonusMalusContext = html.querySelector('#bonus-malus-context')
|
||||
if (bonusMalusContext) {
|
||||
bonusMalusContext.addEventListener('change', (event) => {
|
||||
rollData.bonusMalusContext = Number(event.currentTarget.value)
|
||||
})
|
||||
}
|
||||
|
||||
// Attaque à plusieurs
|
||||
const bonusAttaquePlusieurs = html.querySelector('#bonus-attaque-plusieurs')
|
||||
if (bonusAttaquePlusieurs) {
|
||||
bonusAttaquePlusieurs.addEventListener('change', (event) => {
|
||||
rollData.bonusAttaquePlusieurs = Number(event.currentTarget.value)
|
||||
})
|
||||
}
|
||||
|
||||
// Spécialité
|
||||
const useSpecialite = html.querySelector('#useSpecialite')
|
||||
if (useSpecialite) {
|
||||
useSpecialite.addEventListener('change', (event) => {
|
||||
rollData.useSpecialite = event.currentTarget.checked
|
||||
})
|
||||
}
|
||||
|
||||
// Points d'usage du pouvoir
|
||||
const pouvoirPointsUsage = html.querySelector('#pouvoirPointsUsage')
|
||||
if (pouvoirPointsUsage) {
|
||||
pouvoirPointsUsage.addEventListener('change', (event) => {
|
||||
rollData.pouvoirPointsUsage = Number(event.currentTarget.value)
|
||||
})
|
||||
}
|
||||
|
||||
// Attaque dans le dos
|
||||
const attaqueDos = html.querySelector('#attaqueDos')
|
||||
if (attaqueDos) {
|
||||
attaqueDos.addEventListener('change', (event) => {
|
||||
rollData.attaqueDos = event.currentTarget.checked
|
||||
})
|
||||
}
|
||||
|
||||
// Seconde arme
|
||||
const secondeArme = html.querySelector('#bonus-attaque-seconde-arme')
|
||||
if (secondeArme) {
|
||||
secondeArme.addEventListener('change', (event) => {
|
||||
rollData.secondeArme = String(event.currentTarget.value)
|
||||
})
|
||||
}
|
||||
|
||||
// Attaque ciblée
|
||||
const attaqueCible = html.querySelector('#attaque-cible')
|
||||
if (attaqueCible) {
|
||||
attaqueCible.addEventListener('change', (event) => {
|
||||
rollData.attaqueCible = String(event.currentTarget.value)
|
||||
})
|
||||
}
|
||||
|
||||
// Attaque à deux armes
|
||||
const attaqueDeuxArmes = html.querySelector('#bonus-attaque-deux-armes')
|
||||
if (attaqueDeuxArmes) {
|
||||
attaqueDeuxArmes.addEventListener('change', (event) => {
|
||||
rollData.attaqueDeuxArmes = Number(event.currentTarget.value)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Mettre à jour rollData avec les valeurs du formulaire
|
||||
* @param {Object} rollData - L'objet rollData à mettre à jour
|
||||
@@ -305,7 +207,7 @@ export class HeritiersRollDialog {
|
||||
} else {
|
||||
rollData.mainDice = dice
|
||||
}
|
||||
|
||||
|
||||
HeritiersUtility.rollHeritiers(rollData)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ export default class HeritiersAccessoireSheet extends HeritiersItemSheet {
|
||||
/** @override */
|
||||
static PARTS = {
|
||||
sheet: {
|
||||
template: "systems/fvtt-les-heritiers/templates/item-accessoire-sheet.html",
|
||||
template: "systems/fvtt-les-heritiers/templates/item-accessoire-sheet.hbs",
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ export default class HeritiersArmeSheet extends HeritiersItemSheet {
|
||||
/** @override */
|
||||
static PARTS = {
|
||||
sheet: {
|
||||
template: "systems/fvtt-les-heritiers/templates/item-arme-sheet.html",
|
||||
template: "systems/fvtt-les-heritiers/templates/item-arme-sheet.hbs",
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ export default class HeritiersAtoutFeeriqueSheet extends HeritiersItemSheet {
|
||||
/** @override */
|
||||
static PARTS = {
|
||||
sheet: {
|
||||
template: "systems/fvtt-les-heritiers/templates/item-atoutfeerique-sheet.html",
|
||||
template: "systems/fvtt-les-heritiers/templates/item-atoutfeerique-sheet.hbs",
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ export default class HeritiersAvantageSheet extends HeritiersItemSheet {
|
||||
/** @override */
|
||||
static PARTS = {
|
||||
sheet: {
|
||||
template: "systems/fvtt-les-heritiers/templates/item-avantage-sheet.html",
|
||||
template: "systems/fvtt-les-heritiers/templates/item-avantage-sheet.hbs",
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,6 +40,10 @@ export default class HeritiersActorSheet extends HandlebarsApplicationMixin(foun
|
||||
createItem: HeritiersActorSheet.#onCreateItem,
|
||||
equipItem: HeritiersActorSheet.#onEquipItem,
|
||||
modifyQuantity: HeritiersActorSheet.#onModifyQuantity,
|
||||
quantityIncrease: HeritiersActorSheet.#onQuantityIncrease,
|
||||
quantityDecrease: HeritiersActorSheet.#onQuantityDecrease,
|
||||
pvIncrease: HeritiersActorSheet.#onPvIncrease,
|
||||
pvDecrease: HeritiersActorSheet.#onPvDecrease,
|
||||
rollInitiative: HeritiersActorSheet.#onRollInitiative,
|
||||
rollCarac: HeritiersActorSheet.#onRollCarac,
|
||||
rollRang: HeritiersActorSheet.#onRollRang,
|
||||
@@ -78,7 +82,7 @@ export default class HeritiersActorSheet extends HandlebarsApplicationMixin(foun
|
||||
* Tab groups state
|
||||
* @type {object}
|
||||
*/
|
||||
tabGroups = { primary: "stats" }
|
||||
tabGroups = { primary: "competences" }
|
||||
|
||||
/** @override */
|
||||
async _prepareContext() {
|
||||
@@ -370,18 +374,18 @@ export default class HeritiersActorSheet extends HandlebarsApplicationMixin(foun
|
||||
*/
|
||||
static async #onCreateItem(event, target) {
|
||||
const itemType = target.dataset.type
|
||||
|
||||
|
||||
// Cas spécial pour les sorts avec une compétence spécifique
|
||||
if (itemType === "sort" && target.dataset.sortCompetence) {
|
||||
const sortCompetence = target.dataset.sortCompetence
|
||||
await this.actor.createEmbeddedDocuments('Item', [{
|
||||
name: `Nouveau ${itemType} de ${sortCompetence}`,
|
||||
type: itemType,
|
||||
system: { competence: sortCompetence }
|
||||
await this.actor.createEmbeddedDocuments('Item', [{
|
||||
name: `Nouveau ${itemType} de ${sortCompetence}`,
|
||||
type: itemType,
|
||||
system: { competence: sortCompetence }
|
||||
}], { renderSheet: true })
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
await this.actor.createEmbeddedDocuments("Item", [{ name: `Nouveau ${itemType}`, type: itemType }], { renderSheet: true })
|
||||
}
|
||||
|
||||
@@ -415,6 +419,59 @@ export default class HeritiersActorSheet extends HandlebarsApplicationMixin(foun
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Increase item quantity
|
||||
* @param {Event} event
|
||||
* @param {HTMLElement} target
|
||||
* @private
|
||||
*/
|
||||
static async #onQuantityIncrease(event, target) {
|
||||
const li = target.closest(".item")
|
||||
const itemId = li?.dataset.itemId
|
||||
if (itemId) {
|
||||
await this.actor.incDecQuantity(itemId, 1)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Decrease item quantity
|
||||
* @param {Event} event
|
||||
* @param {HTMLElement} target
|
||||
* @private
|
||||
*/
|
||||
static async #onQuantityDecrease(event, target) {
|
||||
const li = target.closest(".item")
|
||||
const itemId = li?.dataset.itemId
|
||||
if (itemId) {
|
||||
await this.actor.incDecQuantity(itemId, -1)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Increase PV
|
||||
* @param {Event} event
|
||||
* @param {HTMLElement} target
|
||||
* @private
|
||||
*/
|
||||
static async #onPvIncrease(event, target) {
|
||||
const currentPv = this.actor.system.pv.value || 0
|
||||
const maxPv = this.actor.system.pv.max || 0
|
||||
const newPv = Math.min(currentPv + 1, maxPv)
|
||||
await this.actor.update({ 'system.pv.value': newPv })
|
||||
}
|
||||
|
||||
/**
|
||||
* Decrease PV
|
||||
* @param {Event} event
|
||||
* @param {HTMLElement} target
|
||||
* @private
|
||||
*/
|
||||
static async #onPvDecrease(event, target) {
|
||||
const currentPv = this.actor.system.pv.value || 0
|
||||
const newPv = Math.max(currentPv - 1, 0)
|
||||
await this.actor.update({ 'system.pv.value': newPv })
|
||||
}
|
||||
|
||||
/**
|
||||
* Roll initiative
|
||||
* @param {Event} event
|
||||
|
||||
@@ -13,7 +13,7 @@ export default class HeritiersCapaciteNaturelleSheet extends HeritiersItemSheet
|
||||
/** @override */
|
||||
static PARTS = {
|
||||
sheet: {
|
||||
template: "systems/fvtt-les-heritiers/templates/item-capacitenaturelle-sheet.html",
|
||||
template: "systems/fvtt-les-heritiers/templates/item-capacitenaturelle-sheet.hbs",
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,12 +8,58 @@ export default class HeritiersCompetenceSheet extends HeritiersItemSheet {
|
||||
...super.DEFAULT_OPTIONS.window,
|
||||
title: "SHEETS.Item.competence",
|
||||
},
|
||||
actions: {
|
||||
addSpecialite: HeritiersCompetenceSheet.#onAddSpecialite,
|
||||
deleteSpecialite: HeritiersCompetenceSheet.#onDeleteSpecialite,
|
||||
editSpecialite: HeritiersCompetenceSheet.#onEditSpecialite,
|
||||
editSpecialiteDescription: HeritiersCompetenceSheet.#onEditSpecialiteDescription,
|
||||
}
|
||||
}
|
||||
|
||||
/** @override */
|
||||
static PARTS = {
|
||||
sheet: {
|
||||
template: "systems/fvtt-les-heritiers/templates/item-competence-sheet.html",
|
||||
template: "systems/fvtt-les-heritiers/templates/item-competence-sheet.hbs",
|
||||
},
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/* Event Handlers */
|
||||
/* -------------------------------------------- */
|
||||
|
||||
static async #onAddSpecialite(event, target) {
|
||||
let spec = foundry.utils.duplicate(this.item.system.specialites) || []
|
||||
spec.push({ name: "Nouvelle Spécialité", id: foundry.utils.randomID(16), used: false })
|
||||
await this.item.update({ 'system.specialites': spec })
|
||||
}
|
||||
|
||||
static async #onDeleteSpecialite(event, target) {
|
||||
const li = target.closest(".specialite-item")
|
||||
let index = parseInt(li.dataset.specialiteIndex)
|
||||
let spec = foundry.utils.duplicate(this.item.system.specialites) || []
|
||||
spec.splice(index, 1)
|
||||
await this.item.update({ 'system.specialites': spec })
|
||||
}
|
||||
|
||||
static async #onEditSpecialite(event, target) {
|
||||
const li = target.closest(".specialite-item")
|
||||
let index = parseInt(li.dataset.specialiteIndex)
|
||||
let spec = foundry.utils.duplicate(this.item.system.specialites) || []
|
||||
if (spec[index]) {
|
||||
spec[index].name = target.value
|
||||
spec[index].id = spec[index].id || foundry.utils.randomID(16)
|
||||
await this.item.update({ 'system.specialites': spec })
|
||||
}
|
||||
}
|
||||
|
||||
static async #onEditSpecialiteDescription(event, target) {
|
||||
const li = target.closest(".specialite-item")
|
||||
let index = parseInt(li.dataset.specialiteIndex)
|
||||
let spec = foundry.utils.duplicate(this.item.system.specialites) || []
|
||||
if (spec[index]) {
|
||||
spec[index].description = target.value
|
||||
spec[index].id = spec[index].id || foundry.utils.randomID(16)
|
||||
await this.item.update({ 'system.specialites': spec })
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ export default class HeritiersContactSheet extends HeritiersItemSheet {
|
||||
/** @override */
|
||||
static PARTS = {
|
||||
sheet: {
|
||||
template: "systems/fvtt-les-heritiers/templates/item-contact-sheet.html",
|
||||
template: "systems/fvtt-les-heritiers/templates/item-contact-sheet.hbs",
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ export default class HeritiersDesavantageSheet extends HeritiersItemSheet {
|
||||
/** @override */
|
||||
static PARTS = {
|
||||
sheet: {
|
||||
template: "systems/fvtt-les-heritiers/templates/item-desavantage-sheet.html",
|
||||
template: "systems/fvtt-les-heritiers/templates/item-desavantage-sheet.hbs",
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ export default class HeritiersEquipementSheet extends HeritiersItemSheet {
|
||||
/** @override */
|
||||
static PARTS = {
|
||||
sheet: {
|
||||
template: "systems/fvtt-les-heritiers/templates/item-equipement-sheet.html",
|
||||
template: "systems/fvtt-les-heritiers/templates/item-equipement-sheet.hbs",
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ export default class HeritiersFeeSheet extends HeritiersItemSheet {
|
||||
/** @override */
|
||||
static PARTS = {
|
||||
sheet: {
|
||||
template: "systems/fvtt-les-heritiers/templates/item-fee-sheet.html",
|
||||
template: "systems/fvtt-les-heritiers/templates/item-fee-sheet.hbs",
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,12 +17,12 @@ export default class HeritiersPersonnageSheet extends HeritiersActorSheet {
|
||||
/** @override */
|
||||
static PARTS = {
|
||||
sheet: {
|
||||
template: "systems/fvtt-les-heritiers/templates/actor-sheet.html",
|
||||
template: "systems/fvtt-les-heritiers/templates/actor-sheet.hbs",
|
||||
},
|
||||
}
|
||||
|
||||
/** @override */
|
||||
tabGroups = { primary: "stats" }
|
||||
tabGroups = { primary: "competences" }
|
||||
|
||||
/** @override */
|
||||
async _prepareContext() {
|
||||
|
||||
@@ -17,12 +17,12 @@ export default class HeritiersPnjSheet extends HeritiersActorSheet {
|
||||
/** @override */
|
||||
static PARTS = {
|
||||
sheet: {
|
||||
template: "systems/fvtt-les-heritiers/templates/actor-pnj-sheet.html",
|
||||
template: "systems/fvtt-les-heritiers/templates/actor-pnj-sheet.hbs",
|
||||
},
|
||||
}
|
||||
|
||||
/** @override */
|
||||
tabGroups = { primary: "stats" }
|
||||
tabGroups = { primary: "competences" }
|
||||
|
||||
/** @override */
|
||||
async _prepareContext() {
|
||||
|
||||
@@ -13,7 +13,7 @@ export default class HeritiersPouvoirSheet extends HeritiersItemSheet {
|
||||
/** @override */
|
||||
static PARTS = {
|
||||
sheet: {
|
||||
template: "systems/fvtt-les-heritiers/templates/item-pouvoir-sheet.html",
|
||||
template: "systems/fvtt-les-heritiers/templates/item-pouvoir-sheet.hbs",
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ export default class HeritiersProfilSheet extends HeritiersItemSheet {
|
||||
/** @override */
|
||||
static PARTS = {
|
||||
sheet: {
|
||||
template: "systems/fvtt-les-heritiers/templates/item-profil-sheet.html",
|
||||
template: "systems/fvtt-les-heritiers/templates/item-profil-sheet.hbs",
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ export default class HeritiersProtectionSheet extends HeritiersItemSheet {
|
||||
/** @override */
|
||||
static PARTS = {
|
||||
sheet: {
|
||||
template: "systems/fvtt-les-heritiers/templates/item-protection-sheet.html",
|
||||
template: "systems/fvtt-les-heritiers/templates/item-protection-sheet.hbs",
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import HeritiersItemSheet from "./base-item-sheet.mjs"
|
||||
import { HeritiersUtility } from "../../heritiers-utility.js"
|
||||
|
||||
export default class HeritiersSortSheet extends HeritiersItemSheet {
|
||||
/** @override */
|
||||
@@ -13,7 +14,14 @@ export default class HeritiersSortSheet extends HeritiersItemSheet {
|
||||
/** @override */
|
||||
static PARTS = {
|
||||
sheet: {
|
||||
template: "systems/fvtt-les-heritiers/templates/item-sort-sheet.html",
|
||||
template: "systems/fvtt-les-heritiers/templates/item-sort-sheet.hbs",
|
||||
},
|
||||
}
|
||||
|
||||
/** @override */
|
||||
async _prepareContext() {
|
||||
const context = await super._prepareContext()
|
||||
context.competencesMagie = HeritiersUtility.getCompetencesMagie() || []
|
||||
return context
|
||||
}
|
||||
}
|
||||
|
||||
@@ -158,6 +158,20 @@ export class HeritiersActorSheet extends foundry.appv1.sheets.ActorSheet {
|
||||
this.actor.incDecQuantity(li.data("item-id"), value);
|
||||
})
|
||||
|
||||
html.find('[data-action="quantityIncrease"]').click(event => {
|
||||
event.preventDefault()
|
||||
event.stopPropagation()
|
||||
const li = $(event.currentTarget).parents(".item")
|
||||
this.actor.incDecQuantity(li.data("item-id"), 1);
|
||||
})
|
||||
|
||||
html.find('[data-action="quantityDecrease"]').click(event => {
|
||||
event.preventDefault()
|
||||
event.stopPropagation()
|
||||
const li = $(event.currentTarget).parents(".item")
|
||||
this.actor.incDecQuantity(li.data("item-id"), -1);
|
||||
})
|
||||
|
||||
html.find('.roll-initiative').click((event) => {
|
||||
this.actor.rollInitiative()
|
||||
})
|
||||
|
||||
@@ -360,18 +360,6 @@ export class HeritiersActor extends Actor {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async prepareData() {
|
||||
|
||||
let pvMax = (this.system.caracteristiques.con.rang * 3) + 9 + this.system.pv.mod
|
||||
if (this.system.pv.max != pvMax) {
|
||||
this.update({ 'system.pv.max': pvMax })
|
||||
}
|
||||
if (this.system.biodata.magie || this.type == "pnj") {
|
||||
let pointsAmes = this.system.caracteristiques.esp.rang + this.system.caracteristiques.san.rang + this.getMaxRangMagie()
|
||||
if (this.system.magie.pointsame.max != pointsAmes) {
|
||||
this.update({ 'system.magie.pointsame.max': pointsAmes })
|
||||
}
|
||||
}
|
||||
|
||||
super.prepareData();
|
||||
}
|
||||
|
||||
@@ -395,6 +383,15 @@ export class HeritiersActor extends Actor {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
prepareDerivedData() {
|
||||
// Calculate derived PV max
|
||||
let pvMax = (this.system.caracteristiques.con.rang * 3) + 9 + this.system.pv.mod
|
||||
this.system.pv.max = pvMax
|
||||
|
||||
// Calculate derived Points d'Âme max
|
||||
if (this.system.biodata.magie || this.type == "pnj") {
|
||||
let pointsAmes = this.system.caracteristiques.esp.rang + this.system.caracteristiques.san.rang + this.getMaxRangMagie()
|
||||
this.system.magie.pointsame.max = pointsAmes
|
||||
}
|
||||
|
||||
if (this.type == 'personnage') {
|
||||
}
|
||||
@@ -713,8 +710,7 @@ export class HeritiersActor extends Actor {
|
||||
rollData.caracKey = "per"
|
||||
}
|
||||
rollData.carac = this.system.caracteristiques[rollData.caracKey]
|
||||
let rollDialog = await HeritiersRollDialog.create(this, rollData)
|
||||
rollDialog.render(true)
|
||||
await HeritiersRollDialog.create(this, rollData)
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@@ -723,8 +719,7 @@ export class HeritiersActor extends Actor {
|
||||
rollData.mode = "carac"
|
||||
rollData.carac = this.system.caracteristiques[key]
|
||||
rollData.caracKey = key
|
||||
let rollDialog = await HeritiersRollDialog.create(this, rollData)
|
||||
rollDialog.render(true)
|
||||
await HeritiersRollDialog.create(this, rollData)
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@@ -733,8 +728,7 @@ export class HeritiersActor extends Actor {
|
||||
rollData.mode = "rang"
|
||||
rollData.rang = this.system.rang[key]
|
||||
rollData.rangKey = key
|
||||
let rollDialog = await HeritiersRollDialog.create(this, rollData)
|
||||
rollDialog.render(true)
|
||||
await HeritiersRollDialog.create(this, rollData)
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
async rollRootCompetence(compKey) {
|
||||
@@ -742,8 +736,7 @@ export class HeritiersActor extends Actor {
|
||||
rollData.mode = "competence"
|
||||
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)
|
||||
rollDialog.render(true)
|
||||
await HeritiersRollDialog.create(this, rollData)
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@@ -751,8 +744,7 @@ export class HeritiersActor extends Actor {
|
||||
let rollData = this.getCommonRollData(compId)
|
||||
rollData.mode = "competence"
|
||||
console.log("RollDatra", rollData)
|
||||
let rollDialog = await HeritiersRollDialog.create(this, rollData)
|
||||
rollDialog.render(true)
|
||||
await HeritiersRollDialog.create(this, rollData)
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@@ -824,8 +816,7 @@ export class HeritiersActor extends Actor {
|
||||
rollData.caracKey = sort.system.carac1
|
||||
}
|
||||
console.log("RollData", rollData)
|
||||
let rollDialog = await HeritiersRollDialog.create(this, rollData)
|
||||
rollDialog.render(true)
|
||||
await HeritiersRollDialog.create(this, rollData)
|
||||
}
|
||||
|
||||
|
||||
@@ -846,13 +837,13 @@ export class HeritiersActor extends Actor {
|
||||
rollData.caracKey = key
|
||||
rollData.arme = arme
|
||||
rollData.mode = "arme"
|
||||
rollData.attackType = "Attaque normale"
|
||||
rollData.armes = this.getOtherMeleeWeapons(arme)
|
||||
if (rollData.defenderTokenId && arme.system.isMelee) {
|
||||
rollData.cacheDifficulte = true
|
||||
}
|
||||
console.log(">>>> ARME", rollData)
|
||||
let rollDialog = await HeritiersRollDialog.create(this, rollData)
|
||||
rollDialog.render(true)
|
||||
await HeritiersRollDialog.create(this, rollData)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -868,10 +859,10 @@ export class HeritiersActor extends Actor {
|
||||
rollData.caracKey = key
|
||||
rollData.arme = foundry.utils.duplicate(arme)
|
||||
rollData.mode = "attaquebrutale"
|
||||
rollData.attackType = "Attaque brutale"
|
||||
rollData.armes = this.getOtherMeleeWeapons(arme)
|
||||
rollData.rulesMalus.push({ name: "Attaque brutale", value: -2 })
|
||||
let rollDialog = await HeritiersRollDialog.create(this, rollData)
|
||||
rollDialog.render(true)
|
||||
await HeritiersRollDialog.create(this, rollData)
|
||||
}
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
@@ -887,8 +878,8 @@ export class HeritiersActor extends Actor {
|
||||
rollData.arme = foundry.utils.duplicate(arme)
|
||||
rollData.armes = this.getOtherMeleeWeapons(arme)
|
||||
rollData.mode = "attaquecharge"
|
||||
let rollDialog = await HeritiersRollDialog.create(this, rollData)
|
||||
rollDialog.render(true)
|
||||
rollData.attackType = "Attaque en charge"
|
||||
await HeritiersRollDialog.create(this, rollData)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -903,11 +894,11 @@ export class HeritiersActor extends Actor {
|
||||
rollData.caracKey = "agi"
|
||||
rollData.arme = foundry.utils.duplicate(arme)
|
||||
rollData.mode = "assommer"
|
||||
rollData.attackType = "Assommer"
|
||||
if (rollData.defenderTokenId) {
|
||||
rollData.cacheDifficulte = true
|
||||
}
|
||||
let rollDialog = await HeritiersRollDialog.create(this, rollData)
|
||||
rollDialog.render(true)
|
||||
await HeritiersRollDialog.create(this, rollData)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1001,8 +992,7 @@ export class HeritiersActor extends Actor {
|
||||
//ui.notifications.warn("Le pouvoir actif " + pouvoir.name + " a été utilisé, dépense de " + pouvoirPointsUsage + " points d'usage")
|
||||
}
|
||||
}
|
||||
let rollDialog = await HeritiersRollDialog.create(this, rollData)
|
||||
rollDialog.render(true)
|
||||
await HeritiersRollDialog.create(this, rollData)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -11,7 +11,6 @@ export class HeritiersItemSheet extends foundry.appv1.sheets.ItemSheet {
|
||||
|
||||
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 }],
|
||||
width: 620,
|
||||
height: 550,
|
||||
@@ -142,32 +141,36 @@ export class HeritiersItemSheet extends foundry.appv1.sheets.ItemSheet {
|
||||
})
|
||||
|
||||
html.find('#add-specialite').click(ev => {
|
||||
let spec = foundry.utils.duplicate(this.object.system.specialites)
|
||||
let spec = foundry.utils.duplicate(this.item.system.specialites) || []
|
||||
spec.push({ name: "Nouvelle Spécialité", id: foundry.utils.randomID(16), used: false })
|
||||
this.object.update({ 'system.specialites': spec })
|
||||
this.item.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 = foundry.utils.duplicate(this.object.system.specialites)
|
||||
let spec = foundry.utils.duplicate(this.item.system.specialites) || []
|
||||
spec.splice(index, 1)
|
||||
this.object.update({ 'system.specialites': spec })
|
||||
this.item.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 = foundry.utils.duplicate(this.object.system.specialites)
|
||||
spec[index].name = ev.currentTarget.value
|
||||
spec[index].id = spec[index].id || foundry.utils.randomID(16)
|
||||
this.object.update({ 'system.specialites': spec })
|
||||
let spec = foundry.utils.duplicate(this.item.system.specialites) || []
|
||||
if (spec[index]) {
|
||||
spec[index].name = ev.currentTarget.value
|
||||
spec[index].id = spec[index].id || foundry.utils.randomID(16)
|
||||
this.item.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 = foundry.utils.duplicate(this.object.system.specialites)
|
||||
spec[index].description = ev.currentTarget.value
|
||||
spec[index].id = spec[index].id || foundry.utils.randomID(16)
|
||||
this.object.update({ 'system.specialites': spec })
|
||||
let spec = foundry.utils.duplicate(this.item.system.specialites) || []
|
||||
if (spec[index]) {
|
||||
spec[index].description = ev.currentTarget.value
|
||||
spec[index].id = spec[index].id || foundry.utils.randomID(16)
|
||||
this.item.update({ 'system.specialites': spec })
|
||||
}
|
||||
})
|
||||
|
||||
html.find('#add-automation').click(ev => {
|
||||
@@ -203,7 +206,7 @@ export class HeritiersItemSheet extends foundry.appv1.sheets.ItemSheet {
|
||||
/* -------------------------------------------- */
|
||||
get template() {
|
||||
let type = this.item.type;
|
||||
return `systems/fvtt-les-heritiers/templates/item-${type}-sheet.html`;
|
||||
return `systems/fvtt-les-heritiers/templates/item-${type}-sheet.hbs`;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
||||
@@ -114,12 +114,38 @@ function welcomeMessage() {
|
||||
ChatMessage.create({
|
||||
user: game.user.id,
|
||||
whisper: [game.user.id],
|
||||
content: `<div id="welcome-message-heritiers"><span class="rdd-roll-part">
|
||||
<strong>Bienvenue dans Les Heritiers et la Belle Epoque !</strong>
|
||||
<p>Les livres du JDR Les Heritiers sont nécessaires pour jouer : https://www.titam-france.fr</p>
|
||||
<p>Les Heritiers est jeu de rôle publié par Titam France/Sombres projets, tout les droits leur appartiennent.</p>
|
||||
<p>Système développé par LeRatierBretonnien, support sur le <a href="https://discord.gg/pPSDNJk">Discord FR de Foundry</a>.</p>
|
||||
` });
|
||||
content: `
|
||||
<div class="heritiers-chat-card heritiers-welcome-card">
|
||||
<div class="chat-card-header welcome-header">
|
||||
<div class="welcome-icon-wrapper">
|
||||
<i class="fas fa-book-open welcome-icon"></i>
|
||||
</div>
|
||||
<div class="chat-actor-info">
|
||||
<h3 class="chat-actor-name">Bienvenue dans Les Héritiers !</h3>
|
||||
<div class="chat-action-name">et la Belle Époque</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="chat-card-content welcome-content">
|
||||
<div class="welcome-section">
|
||||
<i class="fas fa-info-circle"></i>
|
||||
<p>Les livres du JDR <strong>Les Héritiers</strong> sont nécessaires pour jouer.</p>
|
||||
</div>
|
||||
|
||||
<div class="welcome-section">
|
||||
<i class="fas fa-copyright"></i>
|
||||
<p><em>Les Héritiers</em> est un jeu de rôle publié par <strong>Titam France / Sombres Projets</strong>. Tous les droits leur appartiennent.</p>
|
||||
</div>
|
||||
|
||||
<div class="welcome-section">
|
||||
<i class="fas fa-code"></i>
|
||||
<p>Système développé par <strong>LeRatierBretonnien</strong></p>
|
||||
<p>Support sur le <a href="https://discord.gg/pPSDNJk" target="_blank"><i class="fab fa-discord"></i> Discord FR de Foundry</a></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
`
|
||||
});
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
||||
@@ -46,14 +46,14 @@ export class HeritiersRollDialog extends Dialog {
|
||||
if (rollData.tricherie) {
|
||||
buttons["rollTricherie"] = {
|
||||
icon: '<i class="fas fa-check"></i>',
|
||||
label: "Lancer avec 1 Point de Tricherie",
|
||||
label: "Avec 1 Tricherie",
|
||||
callback: () => { this.roll("tricherie") }
|
||||
}
|
||||
}
|
||||
if (rollData.heritage) {
|
||||
buttons["rollHeritage"] = {
|
||||
icon: '<i class="fas fa-check"></i>',
|
||||
label: "Lancer avec 1 Point d'Héritage",
|
||||
label: "Avec 1 Héritage",
|
||||
callback: () => { this.roll("heritage") }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -76,6 +76,10 @@ export class HeritiersUtility {
|
||||
Handlebars.registerHelper('mul', function (a, b) {
|
||||
return parseInt(a) * parseInt(b);
|
||||
})
|
||||
Handlebars.registerHelper('and', function (...args) {
|
||||
// Last argument is Handlebars options object, ignore it
|
||||
return args.slice(0, -1).every(Boolean);
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
@@ -197,10 +201,11 @@ export class HeritiersUtility {
|
||||
|
||||
const templatePaths = [
|
||||
'systems/fvtt-les-heritiers/templates/editor-notes-gm.html',
|
||||
'systems/fvtt-les-heritiers/templates/partial-item-header.html',
|
||||
'systems/fvtt-les-heritiers/templates/partial-item-description.html',
|
||||
'systems/fvtt-les-heritiers/templates/partial-item-nav.html',
|
||||
'systems/fvtt-les-heritiers/templates/partial-utile-skills.html'
|
||||
'systems/fvtt-les-heritiers/templates/partial-item-header.hbs',
|
||||
'systems/fvtt-les-heritiers/templates/partial-item-description.hbs',
|
||||
'systems/fvtt-les-heritiers/templates/partial-item-nav.hbs',
|
||||
'systems/fvtt-les-heritiers/templates/partial-utile-skills.hbs',
|
||||
'systems/fvtt-les-heritiers/templates/partial-actor-equipment.hbs'
|
||||
]
|
||||
return foundry.applications.handlebars.loadTemplates(templatePaths);
|
||||
}
|
||||
@@ -478,7 +483,7 @@ export class HeritiersUtility {
|
||||
this.computeArmeDegats(rollData, actor)
|
||||
}
|
||||
this.createChatWithRollMode(rollData.alias, {
|
||||
content: await foundry.applications.handlebars.renderTemplate(`systems/fvtt-les-heritiers/templates/chat-cc-result.html`, rollData)
|
||||
content: await foundry.applications.handlebars.renderTemplate(`systems/fvtt-les-heritiers/templates/chat-cc-result.hbs`, rollData)
|
||||
}, rollData, "selfroll")
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
@@ -490,7 +495,7 @@ export class HeritiersUtility {
|
||||
this.computeMarge(rollData, valeurDefense)
|
||||
rollData.dureeAssommer = (rollData.marge) ? rollData.marge * 2 : 1
|
||||
this.createChatWithRollMode(rollData.alias, {
|
||||
content: await foundry.applications.handlebars.renderTemplate(`systems/fvtt-les-heritiers/templates/chat-assommer-result.html`, rollData)
|
||||
content: await foundry.applications.handlebars.renderTemplate(`systems/fvtt-les-heritiers/templates/chat-assommer-result.hbs`, rollData)
|
||||
}, rollData, "selfroll")
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
@@ -570,6 +575,10 @@ export class HeritiersUtility {
|
||||
console.log(">>>> ", myRoll)
|
||||
this.computeResult(actor, rollData)
|
||||
this.computeMarge(rollData, rollData.sdValue) // Calcul de la marge si seuil présent
|
||||
// Compute weapon damage for successful attacks
|
||||
if (rollData.arme && rollData.isSuccess) {
|
||||
this.computeArmeDegats(rollData, actor)
|
||||
}
|
||||
}
|
||||
|
||||
if (rollData.mode == "init") {
|
||||
@@ -593,7 +602,7 @@ export class HeritiersUtility {
|
||||
}
|
||||
|
||||
this.createChatWithRollMode(rollData.alias, {
|
||||
content: await foundry.applications.handlebars.renderTemplate(`systems/fvtt-les-heritiers/templates/chat-generic-result.html`, rollData)
|
||||
content: await foundry.applications.handlebars.renderTemplate(`systems/fvtt-les-heritiers/templates/chat-generic-result.hbs`, rollData)
|
||||
}, rollData)
|
||||
|
||||
// Gestion attaque standard
|
||||
@@ -631,7 +640,7 @@ export class HeritiersUtility {
|
||||
this.computeResult(rollData)
|
||||
|
||||
this.createChatWithRollMode(rollData.alias, {
|
||||
content: await foundry.applications.handlebars.renderTemplate(`systems/fvtt-les-heritiers/templates/chat-generic-result.html`, rollData)
|
||||
content: await foundry.applications.handlebars.renderTemplate(`systems/fvtt-les-heritiers/templates/chat-generic-result.hbs`, rollData)
|
||||
}, rollData)
|
||||
|
||||
}
|
||||
@@ -844,7 +853,8 @@ export class HeritiersUtility {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static async confirmDelete(actorSheet, li) {
|
||||
let itemId = li.data("item-id");
|
||||
// Support both jQuery and native elements
|
||||
let itemId = li.dataset ? li.dataset.itemId : li.data("item-id");
|
||||
let msgTxt = "<p>Certain de supprimer cet item ?";
|
||||
let buttons = {
|
||||
delete: {
|
||||
@@ -852,7 +862,11 @@ export class HeritiersUtility {
|
||||
label: "Oui !",
|
||||
callback: () => {
|
||||
actorSheet.actor.deleteEmbeddedDocuments("Item", [itemId]);
|
||||
li.slideUp(200, () => actorSheet.render(false));
|
||||
if (li.slideUp) {
|
||||
li.slideUp(200, () => actorSheet.render(false));
|
||||
} else {
|
||||
actorSheet.render(false);
|
||||
}
|
||||
}
|
||||
},
|
||||
cancel: {
|
||||
|
||||
@@ -23,7 +23,7 @@ export default class CompetenceDataModel extends foundry.abstract.TypeDataModel
|
||||
}),
|
||||
soufflemouvement: new fields.SchemaField({
|
||||
1: new fields.StringField({ initial: "" }),
|
||||
2: new fields.NumberField({ initial: 0, integer: true }),
|
||||
2: new fields.StringField({ initial: "" }),
|
||||
3: new fields.StringField({ initial: "" }),
|
||||
4: new fields.StringField({ initial: "" })
|
||||
}),
|
||||
|
||||
@@ -5,7 +5,7 @@ export default class ContactDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
contacttype: new fields.StringField({ initial: "" }),
|
||||
contacttype: new fields.StringField({ initial: "contact" }),
|
||||
description: new fields.HTMLField({ initial: "" })
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1 +1 @@
|
||||
MANIFEST-000300
|
||||
MANIFEST-000308
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
2025/09/15-22:15:24.823326 7f307affd6c0 Recovering log #298
|
||||
2025/09/15-22:15:24.833041 7f307affd6c0 Delete type=3 #296
|
||||
2025/09/15-22:15:24.833115 7f307affd6c0 Delete type=0 #298
|
||||
2025/09/15-22:23:01.584235 7f307a7fc6c0 Level-0 table #303: started
|
||||
2025/09/15-22:23:01.584266 7f307a7fc6c0 Level-0 table #303: 0 bytes OK
|
||||
2025/09/15-22:23:01.590949 7f307a7fc6c0 Delete type=0 #301
|
||||
2025/09/15-22:23:01.597083 7f307a7fc6c0 Manual compaction at level-0 from '!items!1NhJH4IJpxsGmLB8' @ 72057594037927935 : 1 .. '!items!y1yOenfAJTsb3r6e' @ 0 : 0; will stop at (end)
|
||||
2025/09/15-22:23:01.597126 7f307a7fc6c0 Manual compaction at level-1 from '!items!1NhJH4IJpxsGmLB8' @ 72057594037927935 : 1 .. '!items!y1yOenfAJTsb3r6e' @ 0 : 0; will stop at (end)
|
||||
2026/01/10-17:13:21.499762 7fd462ffd6c0 Recovering log #306
|
||||
2026/01/10-17:13:21.510831 7fd462ffd6c0 Delete type=3 #304
|
||||
2026/01/10-17:13:21.511011 7fd462ffd6c0 Delete type=0 #306
|
||||
2026/01/10-22:35:10.944218 7fd4627fc6c0 Level-0 table #311: started
|
||||
2026/01/10-22:35:10.944249 7fd4627fc6c0 Level-0 table #311: 0 bytes OK
|
||||
2026/01/10-22:35:10.950116 7fd4627fc6c0 Delete type=0 #309
|
||||
2026/01/10-22:35:10.963623 7fd4627fc6c0 Manual compaction at level-0 from '!items!1NhJH4IJpxsGmLB8' @ 72057594037927935 : 1 .. '!items!y1yOenfAJTsb3r6e' @ 0 : 0; will stop at (end)
|
||||
2026/01/10-22:35:10.963688 7fd4627fc6c0 Manual compaction at level-1 from '!items!1NhJH4IJpxsGmLB8' @ 72057594037927935 : 1 .. '!items!y1yOenfAJTsb3r6e' @ 0 : 0; will stop at (end)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
2025/09/15-21:06:27.325495 7f307affd6c0 Recovering log #294
|
||||
2025/09/15-21:06:27.335836 7f307affd6c0 Delete type=3 #292
|
||||
2025/09/15-21:06:27.335957 7f307affd6c0 Delete type=0 #294
|
||||
2025/09/15-21:08:54.705256 7f307a7fc6c0 Level-0 table #299: started
|
||||
2025/09/15-21:08:54.705333 7f307a7fc6c0 Level-0 table #299: 0 bytes OK
|
||||
2025/09/15-21:08:54.712270 7f307a7fc6c0 Delete type=0 #297
|
||||
2025/09/15-21:08:54.731675 7f307a7fc6c0 Manual compaction at level-0 from '!items!1NhJH4IJpxsGmLB8' @ 72057594037927935 : 1 .. '!items!y1yOenfAJTsb3r6e' @ 0 : 0; will stop at (end)
|
||||
2025/09/15-21:08:54.731735 7f307a7fc6c0 Manual compaction at level-1 from '!items!1NhJH4IJpxsGmLB8' @ 72057594037927935 : 1 .. '!items!y1yOenfAJTsb3r6e' @ 0 : 0; will stop at (end)
|
||||
2026/01/10-16:36:53.969467 7fd4637fe6c0 Recovering log #302
|
||||
2026/01/10-16:36:53.980503 7fd4637fe6c0 Delete type=3 #300
|
||||
2026/01/10-16:36:53.980609 7fd4637fe6c0 Delete type=0 #302
|
||||
2026/01/10-17:13:09.472065 7fd4627fc6c0 Level-0 table #307: started
|
||||
2026/01/10-17:13:09.472120 7fd4627fc6c0 Level-0 table #307: 0 bytes OK
|
||||
2026/01/10-17:13:09.478554 7fd4627fc6c0 Delete type=0 #305
|
||||
2026/01/10-17:13:09.492266 7fd4627fc6c0 Manual compaction at level-0 from '!items!1NhJH4IJpxsGmLB8' @ 72057594037927935 : 1 .. '!items!y1yOenfAJTsb3r6e' @ 0 : 0; will stop at (end)
|
||||
2026/01/10-17:13:09.492326 7fd4627fc6c0 Manual compaction at level-1 from '!items!1NhJH4IJpxsGmLB8' @ 72057594037927935 : 1 .. '!items!y1yOenfAJTsb3r6e' @ 0 : 0; will stop at (end)
|
||||
|
||||
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000300
|
||||
MANIFEST-000308
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
2025/09/15-22:15:24.848609 7f307b7fe6c0 Recovering log #298
|
||||
2025/09/15-22:15:24.859061 7f307b7fe6c0 Delete type=3 #296
|
||||
2025/09/15-22:15:24.859140 7f307b7fe6c0 Delete type=0 #298
|
||||
2025/09/15-22:23:01.577999 7f307a7fc6c0 Level-0 table #303: started
|
||||
2025/09/15-22:23:01.578051 7f307a7fc6c0 Level-0 table #303: 0 bytes OK
|
||||
2025/09/15-22:23:01.584148 7f307a7fc6c0 Delete type=0 #301
|
||||
2025/09/15-22:23:01.597073 7f307a7fc6c0 Manual compaction at level-0 from '!items!1ETVaPBtjDtzelK1' @ 72057594037927935 : 1 .. '!items!zbsVCsWxRzkzzG1N' @ 0 : 0; will stop at (end)
|
||||
2025/09/15-22:23:01.597114 7f307a7fc6c0 Manual compaction at level-1 from '!items!1ETVaPBtjDtzelK1' @ 72057594037927935 : 1 .. '!items!zbsVCsWxRzkzzG1N' @ 0 : 0; will stop at (end)
|
||||
2026/01/10-17:13:21.528896 7fd478fff6c0 Recovering log #306
|
||||
2026/01/10-17:13:21.539812 7fd478fff6c0 Delete type=3 #304
|
||||
2026/01/10-17:13:21.539902 7fd478fff6c0 Delete type=0 #306
|
||||
2026/01/10-22:35:10.963778 7fd4627fc6c0 Level-0 table #311: started
|
||||
2026/01/10-22:35:10.963855 7fd4627fc6c0 Level-0 table #311: 0 bytes OK
|
||||
2026/01/10-22:35:10.969945 7fd4627fc6c0 Delete type=0 #309
|
||||
2026/01/10-22:35:10.989919 7fd4627fc6c0 Manual compaction at level-0 from '!items!1ETVaPBtjDtzelK1' @ 72057594037927935 : 1 .. '!items!zbsVCsWxRzkzzG1N' @ 0 : 0; will stop at (end)
|
||||
2026/01/10-22:35:10.989967 7fd4627fc6c0 Manual compaction at level-1 from '!items!1ETVaPBtjDtzelK1' @ 72057594037927935 : 1 .. '!items!zbsVCsWxRzkzzG1N' @ 0 : 0; will stop at (end)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
2025/09/15-21:06:27.351420 7f307bfff6c0 Recovering log #294
|
||||
2025/09/15-21:06:27.362201 7f307bfff6c0 Delete type=3 #292
|
||||
2025/09/15-21:06:27.362258 7f307bfff6c0 Delete type=0 #294
|
||||
2025/09/15-21:08:54.712395 7f307a7fc6c0 Level-0 table #299: started
|
||||
2025/09/15-21:08:54.712426 7f307a7fc6c0 Level-0 table #299: 0 bytes OK
|
||||
2025/09/15-21:08:54.718406 7f307a7fc6c0 Delete type=0 #297
|
||||
2025/09/15-21:08:54.731696 7f307a7fc6c0 Manual compaction at level-0 from '!items!1ETVaPBtjDtzelK1' @ 72057594037927935 : 1 .. '!items!zbsVCsWxRzkzzG1N' @ 0 : 0; will stop at (end)
|
||||
2025/09/15-21:08:54.731747 7f307a7fc6c0 Manual compaction at level-1 from '!items!1ETVaPBtjDtzelK1' @ 72057594037927935 : 1 .. '!items!zbsVCsWxRzkzzG1N' @ 0 : 0; will stop at (end)
|
||||
2026/01/10-16:36:54.002327 7fd462ffd6c0 Recovering log #302
|
||||
2026/01/10-16:36:54.012517 7fd462ffd6c0 Delete type=3 #300
|
||||
2026/01/10-16:36:54.012642 7fd462ffd6c0 Delete type=0 #302
|
||||
2026/01/10-17:13:09.492537 7fd4627fc6c0 Level-0 table #307: started
|
||||
2026/01/10-17:13:09.492568 7fd4627fc6c0 Level-0 table #307: 0 bytes OK
|
||||
2026/01/10-17:13:09.498555 7fd4627fc6c0 Delete type=0 #305
|
||||
2026/01/10-17:13:09.518553 7fd4627fc6c0 Manual compaction at level-0 from '!items!1ETVaPBtjDtzelK1' @ 72057594037927935 : 1 .. '!items!zbsVCsWxRzkzzG1N' @ 0 : 0; will stop at (end)
|
||||
2026/01/10-17:13:09.518642 7fd4627fc6c0 Manual compaction at level-1 from '!items!1ETVaPBtjDtzelK1' @ 72057594037927935 : 1 .. '!items!zbsVCsWxRzkzzG1N' @ 0 : 0; will stop at (end)
|
||||
|
||||
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000300
|
||||
MANIFEST-000308
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
2025/09/15-22:15:24.798700 7f307bfff6c0 Recovering log #298
|
||||
2025/09/15-22:15:24.808066 7f307bfff6c0 Delete type=3 #296
|
||||
2025/09/15-22:15:24.808115 7f307bfff6c0 Delete type=0 #298
|
||||
2025/09/15-22:23:01.541562 7f307a7fc6c0 Level-0 table #303: started
|
||||
2025/09/15-22:23:01.541615 7f307a7fc6c0 Level-0 table #303: 0 bytes OK
|
||||
2025/09/15-22:23:01.547814 7f307a7fc6c0 Delete type=0 #301
|
||||
2025/09/15-22:23:01.565908 7f307a7fc6c0 Manual compaction at level-0 from '!items!0fPXtA5LkLgG8uDj' @ 72057594037927935 : 1 .. '!items!zvtBlG6KCIn0oCVk' @ 0 : 0; will stop at (end)
|
||||
2025/09/15-22:23:01.565949 7f307a7fc6c0 Manual compaction at level-1 from '!items!0fPXtA5LkLgG8uDj' @ 72057594037927935 : 1 .. '!items!zvtBlG6KCIn0oCVk' @ 0 : 0; will stop at (end)
|
||||
2026/01/10-17:13:21.469395 7fd4637fe6c0 Recovering log #306
|
||||
2026/01/10-17:13:21.479611 7fd4637fe6c0 Delete type=3 #304
|
||||
2026/01/10-17:13:21.479687 7fd4637fe6c0 Delete type=0 #306
|
||||
2026/01/10-22:35:10.919012 7fd4627fc6c0 Level-0 table #311: started
|
||||
2026/01/10-22:35:10.919040 7fd4627fc6c0 Level-0 table #311: 0 bytes OK
|
||||
2026/01/10-22:35:10.924958 7fd4627fc6c0 Delete type=0 #309
|
||||
2026/01/10-22:35:10.937993 7fd4627fc6c0 Manual compaction at level-0 from '!items!0fPXtA5LkLgG8uDj' @ 72057594037927935 : 1 .. '!items!zvtBlG6KCIn0oCVk' @ 0 : 0; will stop at (end)
|
||||
2026/01/10-22:35:10.938027 7fd4627fc6c0 Manual compaction at level-1 from '!items!0fPXtA5LkLgG8uDj' @ 72057594037927935 : 1 .. '!items!zvtBlG6KCIn0oCVk' @ 0 : 0; will stop at (end)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
2025/09/15-21:06:27.300488 7f307bfff6c0 Recovering log #294
|
||||
2025/09/15-21:06:27.310028 7f307bfff6c0 Delete type=3 #292
|
||||
2025/09/15-21:06:27.310094 7f307bfff6c0 Delete type=0 #294
|
||||
2025/09/15-21:08:54.685417 7f307a7fc6c0 Level-0 table #299: started
|
||||
2025/09/15-21:08:54.685439 7f307a7fc6c0 Level-0 table #299: 0 bytes OK
|
||||
2025/09/15-21:08:54.692723 7f307a7fc6c0 Delete type=0 #297
|
||||
2025/09/15-21:08:54.705096 7f307a7fc6c0 Manual compaction at level-0 from '!items!0fPXtA5LkLgG8uDj' @ 72057594037927935 : 1 .. '!items!zvtBlG6KCIn0oCVk' @ 0 : 0; will stop at (end)
|
||||
2025/09/15-21:08:54.705139 7f307a7fc6c0 Manual compaction at level-1 from '!items!0fPXtA5LkLgG8uDj' @ 72057594037927935 : 1 .. '!items!zvtBlG6KCIn0oCVk' @ 0 : 0; will stop at (end)
|
||||
2026/01/10-16:36:53.937580 7fd463fff6c0 Recovering log #302
|
||||
2026/01/10-16:36:53.948656 7fd463fff6c0 Delete type=3 #300
|
||||
2026/01/10-16:36:53.948746 7fd463fff6c0 Delete type=0 #302
|
||||
2026/01/10-17:13:09.478691 7fd4627fc6c0 Level-0 table #307: started
|
||||
2026/01/10-17:13:09.478722 7fd4627fc6c0 Level-0 table #307: 0 bytes OK
|
||||
2026/01/10-17:13:09.485719 7fd4627fc6c0 Delete type=0 #305
|
||||
2026/01/10-17:13:09.492280 7fd4627fc6c0 Manual compaction at level-0 from '!items!0fPXtA5LkLgG8uDj' @ 72057594037927935 : 1 .. '!items!zvtBlG6KCIn0oCVk' @ 0 : 0; will stop at (end)
|
||||
2026/01/10-17:13:09.492336 7fd4627fc6c0 Manual compaction at level-1 from '!items!0fPXtA5LkLgG8uDj' @ 72057594037927935 : 1 .. '!items!zvtBlG6KCIn0oCVk' @ 0 : 0; will stop at (end)
|
||||
|
||||
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000300
|
||||
MANIFEST-000308
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
2025/09/15-22:15:24.760919 7f3080dfa6c0 Recovering log #298
|
||||
2025/09/15-22:15:24.770694 7f3080dfa6c0 Delete type=3 #296
|
||||
2025/09/15-22:15:24.770767 7f3080dfa6c0 Delete type=0 #298
|
||||
2025/09/15-22:23:01.521581 7f307a7fc6c0 Level-0 table #303: started
|
||||
2025/09/15-22:23:01.521642 7f307a7fc6c0 Level-0 table #303: 0 bytes OK
|
||||
2025/09/15-22:23:01.528012 7f307a7fc6c0 Delete type=0 #301
|
||||
2025/09/15-22:23:01.534278 7f307a7fc6c0 Manual compaction at level-0 from '!items!0EAAt0qSzcD9VRBH' @ 72057594037927935 : 1 .. '!items!zfpjROW9LDAlXUkN' @ 0 : 0; will stop at (end)
|
||||
2025/09/15-22:23:01.534315 7f307a7fc6c0 Manual compaction at level-1 from '!items!0EAAt0qSzcD9VRBH' @ 72057594037927935 : 1 .. '!items!zfpjROW9LDAlXUkN' @ 0 : 0; will stop at (end)
|
||||
2026/01/10-17:13:21.429229 7fd463fff6c0 Recovering log #306
|
||||
2026/01/10-17:13:21.439355 7fd463fff6c0 Delete type=3 #304
|
||||
2026/01/10-17:13:21.439437 7fd463fff6c0 Delete type=0 #306
|
||||
2026/01/10-22:35:10.925075 7fd4627fc6c0 Level-0 table #311: started
|
||||
2026/01/10-22:35:10.925115 7fd4627fc6c0 Level-0 table #311: 0 bytes OK
|
||||
2026/01/10-22:35:10.931575 7fd4627fc6c0 Delete type=0 #309
|
||||
2026/01/10-22:35:10.938004 7fd4627fc6c0 Manual compaction at level-0 from '!items!0EAAt0qSzcD9VRBH' @ 72057594037927935 : 1 .. '!items!zfpjROW9LDAlXUkN' @ 0 : 0; will stop at (end)
|
||||
2026/01/10-22:35:10.938039 7fd4627fc6c0 Manual compaction at level-1 from '!items!0EAAt0qSzcD9VRBH' @ 72057594037927935 : 1 .. '!items!zfpjROW9LDAlXUkN' @ 0 : 0; will stop at (end)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
2025/09/15-21:06:27.262631 7f307bfff6c0 Recovering log #294
|
||||
2025/09/15-21:06:27.272396 7f307bfff6c0 Delete type=3 #292
|
||||
2025/09/15-21:06:27.272468 7f307bfff6c0 Delete type=0 #294
|
||||
2025/09/15-21:08:54.666847 7f307a7fc6c0 Level-0 table #299: started
|
||||
2025/09/15-21:08:54.666873 7f307a7fc6c0 Level-0 table #299: 0 bytes OK
|
||||
2025/09/15-21:08:54.672959 7f307a7fc6c0 Delete type=0 #297
|
||||
2025/09/15-21:08:54.679358 7f307a7fc6c0 Manual compaction at level-0 from '!items!0EAAt0qSzcD9VRBH' @ 72057594037927935 : 1 .. '!items!zfpjROW9LDAlXUkN' @ 0 : 0; will stop at (end)
|
||||
2025/09/15-21:08:54.679384 7f307a7fc6c0 Manual compaction at level-1 from '!items!0EAAt0qSzcD9VRBH' @ 72057594037927935 : 1 .. '!items!zfpjROW9LDAlXUkN' @ 0 : 0; will stop at (end)
|
||||
2026/01/10-16:36:53.884816 7fd463fff6c0 Recovering log #302
|
||||
2026/01/10-16:36:53.895475 7fd463fff6c0 Delete type=3 #300
|
||||
2026/01/10-16:36:53.895553 7fd463fff6c0 Delete type=0 #302
|
||||
2026/01/10-17:13:09.459290 7fd4627fc6c0 Level-0 table #307: started
|
||||
2026/01/10-17:13:09.459318 7fd4627fc6c0 Level-0 table #307: 0 bytes OK
|
||||
2026/01/10-17:13:09.465368 7fd4627fc6c0 Delete type=0 #305
|
||||
2026/01/10-17:13:09.465682 7fd4627fc6c0 Manual compaction at level-0 from '!items!0EAAt0qSzcD9VRBH' @ 72057594037927935 : 1 .. '!items!zfpjROW9LDAlXUkN' @ 0 : 0; will stop at (end)
|
||||
2026/01/10-17:13:09.465759 7fd4627fc6c0 Manual compaction at level-1 from '!items!0EAAt0qSzcD9VRBH' @ 72057594037927935 : 1 .. '!items!zfpjROW9LDAlXUkN' @ 0 : 0; will stop at (end)
|
||||
|
||||
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000300
|
||||
MANIFEST-000308
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
2025/09/15-22:15:24.786128 7f307affd6c0 Recovering log #298
|
||||
2025/09/15-22:15:24.796141 7f307affd6c0 Delete type=3 #296
|
||||
2025/09/15-22:15:24.796205 7f307affd6c0 Delete type=0 #298
|
||||
2025/09/15-22:23:01.534415 7f307a7fc6c0 Level-0 table #303: started
|
||||
2025/09/15-22:23:01.534493 7f307a7fc6c0 Level-0 table #303: 0 bytes OK
|
||||
2025/09/15-22:23:01.541334 7f307a7fc6c0 Delete type=0 #301
|
||||
2025/09/15-22:23:01.565894 7f307a7fc6c0 Manual compaction at level-0 from '!items!0cNSRJVPk3GbvxfD' @ 72057594037927935 : 1 .. '!items!yWDg2KlXEz33TSmZ' @ 0 : 0; will stop at (end)
|
||||
2025/09/15-22:23:01.565940 7f307a7fc6c0 Manual compaction at level-1 from '!items!0cNSRJVPk3GbvxfD' @ 72057594037927935 : 1 .. '!items!yWDg2KlXEz33TSmZ' @ 0 : 0; will stop at (end)
|
||||
2026/01/10-17:13:21.456371 7fd462ffd6c0 Recovering log #306
|
||||
2026/01/10-17:13:21.466637 7fd462ffd6c0 Delete type=3 #304
|
||||
2026/01/10-17:13:21.466715 7fd462ffd6c0 Delete type=0 #306
|
||||
2026/01/10-22:35:10.912772 7fd4627fc6c0 Level-0 table #311: started
|
||||
2026/01/10-22:35:10.912830 7fd4627fc6c0 Level-0 table #311: 0 bytes OK
|
||||
2026/01/10-22:35:10.918894 7fd4627fc6c0 Delete type=0 #309
|
||||
2026/01/10-22:35:10.937977 7fd4627fc6c0 Manual compaction at level-0 from '!items!0cNSRJVPk3GbvxfD' @ 72057594037927935 : 1 .. '!items!yWDg2KlXEz33TSmZ' @ 0 : 0; will stop at (end)
|
||||
2026/01/10-22:35:10.938019 7fd4627fc6c0 Manual compaction at level-1 from '!items!0cNSRJVPk3GbvxfD' @ 72057594037927935 : 1 .. '!items!yWDg2KlXEz33TSmZ' @ 0 : 0; will stop at (end)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
2025/09/15-21:06:27.288049 7f307b7fe6c0 Recovering log #294
|
||||
2025/09/15-21:06:27.298262 7f307b7fe6c0 Delete type=3 #292
|
||||
2025/09/15-21:06:27.298356 7f307b7fe6c0 Delete type=0 #294
|
||||
2025/09/15-21:08:54.692841 7f307a7fc6c0 Level-0 table #299: started
|
||||
2025/09/15-21:08:54.692870 7f307a7fc6c0 Level-0 table #299: 0 bytes OK
|
||||
2025/09/15-21:08:54.698762 7f307a7fc6c0 Delete type=0 #297
|
||||
2025/09/15-21:08:54.705111 7f307a7fc6c0 Manual compaction at level-0 from '!items!0cNSRJVPk3GbvxfD' @ 72057594037927935 : 1 .. '!items!yWDg2KlXEz33TSmZ' @ 0 : 0; will stop at (end)
|
||||
2025/09/15-21:08:54.705145 7f307a7fc6c0 Manual compaction at level-1 from '!items!0cNSRJVPk3GbvxfD' @ 72057594037927935 : 1 .. '!items!yWDg2KlXEz33TSmZ' @ 0 : 0; will stop at (end)
|
||||
2026/01/10-16:36:53.922222 7fd4637fe6c0 Recovering log #302
|
||||
2026/01/10-16:36:53.933241 7fd4637fe6c0 Delete type=3 #300
|
||||
2026/01/10-16:36:53.933388 7fd4637fe6c0 Delete type=0 #302
|
||||
2026/01/10-17:13:09.439054 7fd4627fc6c0 Level-0 table #307: started
|
||||
2026/01/10-17:13:09.439130 7fd4627fc6c0 Level-0 table #307: 0 bytes OK
|
||||
2026/01/10-17:13:09.445231 7fd4627fc6c0 Delete type=0 #305
|
||||
2026/01/10-17:13:09.465606 7fd4627fc6c0 Manual compaction at level-0 from '!items!0cNSRJVPk3GbvxfD' @ 72057594037927935 : 1 .. '!items!yWDg2KlXEz33TSmZ' @ 0 : 0; will stop at (end)
|
||||
2026/01/10-17:13:09.465720 7fd4627fc6c0 Manual compaction at level-1 from '!items!0cNSRJVPk3GbvxfD' @ 72057594037927935 : 1 .. '!items!yWDg2KlXEz33TSmZ' @ 0 : 0; will stop at (end)
|
||||
|
||||
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000306
|
||||
MANIFEST-000314
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
2025/09/15-22:15:24.748857 7f307affd6c0 Recovering log #304
|
||||
2025/09/15-22:15:24.758566 7f307affd6c0 Delete type=3 #302
|
||||
2025/09/15-22:15:24.758631 7f307affd6c0 Delete type=0 #304
|
||||
2025/09/15-22:23:01.528222 7f307a7fc6c0 Level-0 table #309: started
|
||||
2025/09/15-22:23:01.528266 7f307a7fc6c0 Level-0 table #309: 0 bytes OK
|
||||
2025/09/15-22:23:01.534172 7f307a7fc6c0 Delete type=0 #307
|
||||
2025/09/15-22:23:01.534287 7f307a7fc6c0 Manual compaction at level-0 from '!folders!FBCujRu055QLePB2' @ 72057594037927935 : 1 .. '!items!zEl2NQsnCpELVWzh' @ 0 : 0; will stop at (end)
|
||||
2025/09/15-22:23:01.534306 7f307a7fc6c0 Manual compaction at level-1 from '!folders!FBCujRu055QLePB2' @ 72057594037927935 : 1 .. '!items!zEl2NQsnCpELVWzh' @ 0 : 0; will stop at (end)
|
||||
2026/01/10-17:13:21.415001 7fd4637fe6c0 Recovering log #312
|
||||
2026/01/10-17:13:21.425375 7fd4637fe6c0 Delete type=3 #310
|
||||
2026/01/10-17:13:21.425467 7fd4637fe6c0 Delete type=0 #312
|
||||
2026/01/10-22:35:10.931688 7fd4627fc6c0 Level-0 table #317: started
|
||||
2026/01/10-22:35:10.931718 7fd4627fc6c0 Level-0 table #317: 0 bytes OK
|
||||
2026/01/10-22:35:10.937843 7fd4627fc6c0 Delete type=0 #315
|
||||
2026/01/10-22:35:10.938011 7fd4627fc6c0 Manual compaction at level-0 from '!folders!FBCujRu055QLePB2' @ 72057594037927935 : 1 .. '!items!zEl2NQsnCpELVWzh' @ 0 : 0; will stop at (end)
|
||||
2026/01/10-22:35:10.938033 7fd4627fc6c0 Manual compaction at level-1 from '!folders!FBCujRu055QLePB2' @ 72057594037927935 : 1 .. '!items!zEl2NQsnCpELVWzh' @ 0 : 0; will stop at (end)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
2025/09/15-21:06:27.249709 7f307b7fe6c0 Recovering log #300
|
||||
2025/09/15-21:06:27.260222 7f307b7fe6c0 Delete type=3 #298
|
||||
2025/09/15-21:06:27.260307 7f307b7fe6c0 Delete type=0 #300
|
||||
2025/09/15-21:08:54.660355 7f307a7fc6c0 Level-0 table #305: started
|
||||
2025/09/15-21:08:54.660389 7f307a7fc6c0 Level-0 table #305: 0 bytes OK
|
||||
2025/09/15-21:08:54.666754 7f307a7fc6c0 Delete type=0 #303
|
||||
2025/09/15-21:08:54.679346 7f307a7fc6c0 Manual compaction at level-0 from '!folders!FBCujRu055QLePB2' @ 72057594037927935 : 1 .. '!items!zEl2NQsnCpELVWzh' @ 0 : 0; will stop at (end)
|
||||
2025/09/15-21:08:54.679378 7f307a7fc6c0 Manual compaction at level-1 from '!folders!FBCujRu055QLePB2' @ 72057594037927935 : 1 .. '!items!zEl2NQsnCpELVWzh' @ 0 : 0; will stop at (end)
|
||||
2026/01/10-16:36:53.866020 7fd4637fe6c0 Recovering log #308
|
||||
2026/01/10-16:36:53.876591 7fd4637fe6c0 Delete type=3 #306
|
||||
2026/01/10-16:36:53.876659 7fd4637fe6c0 Delete type=0 #308
|
||||
2026/01/10-17:13:09.451819 7fd4627fc6c0 Level-0 table #313: started
|
||||
2026/01/10-17:13:09.451873 7fd4627fc6c0 Level-0 table #313: 0 bytes OK
|
||||
2026/01/10-17:13:09.459165 7fd4627fc6c0 Delete type=0 #311
|
||||
2026/01/10-17:13:09.465661 7fd4627fc6c0 Manual compaction at level-0 from '!folders!FBCujRu055QLePB2' @ 72057594037927935 : 1 .. '!items!zEl2NQsnCpELVWzh' @ 0 : 0; will stop at (end)
|
||||
2026/01/10-17:13:09.465741 7fd4627fc6c0 Manual compaction at level-1 from '!folders!FBCujRu055QLePB2' @ 72057594037927935 : 1 .. '!items!zEl2NQsnCpELVWzh' @ 0 : 0; will stop at (end)
|
||||
|
||||
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000300
|
||||
MANIFEST-000308
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
2025/09/15-22:15:24.773117 7f307b7fe6c0 Recovering log #298
|
||||
2025/09/15-22:15:24.783458 7f307b7fe6c0 Delete type=3 #296
|
||||
2025/09/15-22:15:24.783520 7f307b7fe6c0 Delete type=0 #298
|
||||
2025/09/15-22:23:01.559017 7f307a7fc6c0 Level-0 table #303: started
|
||||
2025/09/15-22:23:01.559048 7f307a7fc6c0 Level-0 table #303: 0 bytes OK
|
||||
2025/09/15-22:23:01.565802 7f307a7fc6c0 Delete type=0 #301
|
||||
2025/09/15-22:23:01.565930 7f307a7fc6c0 Manual compaction at level-0 from '!items!2QqvtClSVnh5ejXu' @ 72057594037927935 : 1 .. '!items!xzRJ6JP1HqoqxLdj' @ 0 : 0; will stop at (end)
|
||||
2025/09/15-22:23:01.565957 7f307a7fc6c0 Manual compaction at level-1 from '!items!2QqvtClSVnh5ejXu' @ 72057594037927935 : 1 .. '!items!xzRJ6JP1HqoqxLdj' @ 0 : 0; will stop at (end)
|
||||
2026/01/10-17:13:21.442425 7fd478fff6c0 Recovering log #306
|
||||
2026/01/10-17:13:21.453357 7fd478fff6c0 Delete type=3 #304
|
||||
2026/01/10-17:13:21.453438 7fd478fff6c0 Delete type=0 #306
|
||||
2026/01/10-22:35:10.950222 7fd4627fc6c0 Level-0 table #311: started
|
||||
2026/01/10-22:35:10.950248 7fd4627fc6c0 Level-0 table #311: 0 bytes OK
|
||||
2026/01/10-22:35:10.957326 7fd4627fc6c0 Delete type=0 #309
|
||||
2026/01/10-22:35:10.963639 7fd4627fc6c0 Manual compaction at level-0 from '!items!2QqvtClSVnh5ejXu' @ 72057594037927935 : 1 .. '!items!xzRJ6JP1HqoqxLdj' @ 0 : 0; will stop at (end)
|
||||
2026/01/10-22:35:10.963675 7fd4627fc6c0 Manual compaction at level-1 from '!items!2QqvtClSVnh5ejXu' @ 72057594037927935 : 1 .. '!items!xzRJ6JP1HqoqxLdj' @ 0 : 0; will stop at (end)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
2025/09/15-21:06:27.274645 7f3080dfa6c0 Recovering log #294
|
||||
2025/09/15-21:06:27.285405 7f3080dfa6c0 Delete type=3 #292
|
||||
2025/09/15-21:06:27.285486 7f3080dfa6c0 Delete type=0 #294
|
||||
2025/09/15-21:08:54.679508 7f307a7fc6c0 Level-0 table #299: started
|
||||
2025/09/15-21:08:54.679542 7f307a7fc6c0 Level-0 table #299: 0 bytes OK
|
||||
2025/09/15-21:08:54.685322 7f307a7fc6c0 Delete type=0 #297
|
||||
2025/09/15-21:08:54.705080 7f307a7fc6c0 Manual compaction at level-0 from '!items!2QqvtClSVnh5ejXu' @ 72057594037927935 : 1 .. '!items!xzRJ6JP1HqoqxLdj' @ 0 : 0; will stop at (end)
|
||||
2025/09/15-21:08:54.705123 7f307a7fc6c0 Manual compaction at level-1 from '!items!2QqvtClSVnh5ejXu' @ 72057594037927935 : 1 .. '!items!xzRJ6JP1HqoqxLdj' @ 0 : 0; will stop at (end)
|
||||
2026/01/10-16:36:53.901069 7fd462ffd6c0 Recovering log #302
|
||||
2026/01/10-16:36:53.911601 7fd462ffd6c0 Delete type=3 #300
|
||||
2026/01/10-16:36:53.911674 7fd462ffd6c0 Delete type=0 #302
|
||||
2026/01/10-17:13:09.445468 7fd4627fc6c0 Level-0 table #307: started
|
||||
2026/01/10-17:13:09.445527 7fd4627fc6c0 Level-0 table #307: 0 bytes OK
|
||||
2026/01/10-17:13:09.451617 7fd4627fc6c0 Delete type=0 #305
|
||||
2026/01/10-17:13:09.465640 7fd4627fc6c0 Manual compaction at level-0 from '!items!2QqvtClSVnh5ejXu' @ 72057594037927935 : 1 .. '!items!xzRJ6JP1HqoqxLdj' @ 0 : 0; will stop at (end)
|
||||
2026/01/10-17:13:09.465701 7fd4627fc6c0 Manual compaction at level-1 from '!items!2QqvtClSVnh5ejXu' @ 72057594037927935 : 1 .. '!items!xzRJ6JP1HqoqxLdj' @ 0 : 0; will stop at (end)
|
||||
|
||||
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000018
|
||||
MANIFEST-000026
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
2025/09/15-22:15:24.887393 7f3080dfa6c0 Recovering log #16
|
||||
2025/09/15-22:15:24.897947 7f3080dfa6c0 Delete type=3 #14
|
||||
2025/09/15-22:15:24.898013 7f3080dfa6c0 Delete type=0 #16
|
||||
2025/09/15-22:23:01.610372 7f307a7fc6c0 Level-0 table #21: started
|
||||
2025/09/15-22:23:01.610444 7f307a7fc6c0 Level-0 table #21: 0 bytes OK
|
||||
2025/09/15-22:23:01.616579 7f307a7fc6c0 Delete type=0 #19
|
||||
2025/09/15-22:23:01.623474 7f307a7fc6c0 Manual compaction at level-0 from '!journal!QZDy8zwSVh7t4meA' @ 72057594037927935 : 1 .. '!journal.pages!QZDy8zwSVh7t4meA.gdXBDBkPlBjfmTy7' @ 0 : 0; will stop at (end)
|
||||
2025/09/15-22:23:01.623518 7f307a7fc6c0 Manual compaction at level-1 from '!journal!QZDy8zwSVh7t4meA' @ 72057594037927935 : 1 .. '!journal.pages!QZDy8zwSVh7t4meA.gdXBDBkPlBjfmTy7' @ 0 : 0; will stop at (end)
|
||||
2026/01/10-17:13:21.571878 7fd462ffd6c0 Recovering log #24
|
||||
2026/01/10-17:13:21.582771 7fd462ffd6c0 Delete type=3 #22
|
||||
2026/01/10-17:13:21.582857 7fd462ffd6c0 Delete type=0 #24
|
||||
2026/01/10-22:35:10.976802 7fd4627fc6c0 Level-0 table #29: started
|
||||
2026/01/10-22:35:10.976847 7fd4627fc6c0 Level-0 table #29: 0 bytes OK
|
||||
2026/01/10-22:35:10.983280 7fd4627fc6c0 Delete type=0 #27
|
||||
2026/01/10-22:35:10.989948 7fd4627fc6c0 Manual compaction at level-0 from '!journal!QZDy8zwSVh7t4meA' @ 72057594037927935 : 1 .. '!journal.pages!QZDy8zwSVh7t4meA.gdXBDBkPlBjfmTy7' @ 0 : 0; will stop at (end)
|
||||
2026/01/10-22:35:10.989976 7fd4627fc6c0 Manual compaction at level-1 from '!journal!QZDy8zwSVh7t4meA' @ 72057594037927935 : 1 .. '!journal.pages!QZDy8zwSVh7t4meA.gdXBDBkPlBjfmTy7' @ 0 : 0; will stop at (end)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
2025/09/15-21:06:27.389764 7f307affd6c0 Recovering log #12
|
||||
2025/09/15-21:06:27.400118 7f307affd6c0 Delete type=3 #10
|
||||
2025/09/15-21:06:27.400175 7f307affd6c0 Delete type=0 #12
|
||||
2025/09/15-21:08:54.731831 7f307a7fc6c0 Level-0 table #17: started
|
||||
2025/09/15-21:08:54.731879 7f307a7fc6c0 Level-0 table #17: 0 bytes OK
|
||||
2025/09/15-21:08:54.738151 7f307a7fc6c0 Delete type=0 #15
|
||||
2025/09/15-21:08:54.758915 7f307a7fc6c0 Manual compaction at level-0 from '!journal!QZDy8zwSVh7t4meA' @ 72057594037927935 : 1 .. '!journal.pages!QZDy8zwSVh7t4meA.gdXBDBkPlBjfmTy7' @ 0 : 0; will stop at (end)
|
||||
2025/09/15-21:08:54.758952 7f307a7fc6c0 Manual compaction at level-1 from '!journal!QZDy8zwSVh7t4meA' @ 72057594037927935 : 1 .. '!journal.pages!QZDy8zwSVh7t4meA.gdXBDBkPlBjfmTy7' @ 0 : 0; will stop at (end)
|
||||
2026/01/10-16:36:54.053637 7fd4637fe6c0 Recovering log #20
|
||||
2026/01/10-16:36:54.063508 7fd4637fe6c0 Delete type=3 #18
|
||||
2026/01/10-16:36:54.063638 7fd4637fe6c0 Delete type=0 #20
|
||||
2026/01/10-17:13:09.505493 7fd4627fc6c0 Level-0 table #25: started
|
||||
2026/01/10-17:13:09.505547 7fd4627fc6c0 Level-0 table #25: 0 bytes OK
|
||||
2026/01/10-17:13:09.512124 7fd4627fc6c0 Delete type=0 #23
|
||||
2026/01/10-17:13:09.518599 7fd4627fc6c0 Manual compaction at level-0 from '!journal!QZDy8zwSVh7t4meA' @ 72057594037927935 : 1 .. '!journal.pages!QZDy8zwSVh7t4meA.gdXBDBkPlBjfmTy7' @ 0 : 0; will stop at (end)
|
||||
2026/01/10-17:13:09.518680 7fd4627fc6c0 Manual compaction at level-1 from '!journal!QZDy8zwSVh7t4meA' @ 72057594037927935 : 1 .. '!journal.pages!QZDy8zwSVh7t4meA.gdXBDBkPlBjfmTy7' @ 0 : 0; will stop at (end)
|
||||
|
||||
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000103
|
||||
MANIFEST-000112
|
||||
|
||||
@@ -1,15 +1,8 @@
|
||||
2025/09/15-22:15:24.810480 7f307b7fe6c0 Recovering log #101
|
||||
2025/09/15-22:15:24.820390 7f307b7fe6c0 Delete type=3 #99
|
||||
2025/09/15-22:15:24.820446 7f307b7fe6c0 Delete type=0 #101
|
||||
2025/09/15-22:23:01.547894 7f307a7fc6c0 Level-0 table #106: started
|
||||
2025/09/15-22:23:01.552623 7f307a7fc6c0 Level-0 table #106: 132165 bytes OK
|
||||
2025/09/15-22:23:01.558854 7f307a7fc6c0 Delete type=0 #104
|
||||
2025/09/15-22:23:01.565921 7f307a7fc6c0 Manual compaction at level-0 from '!folders!5pCYN0vTiCKOHrXM' @ 72057594037927935 : 1 .. '!items!zbZ88BQkH9ZCYlDK' @ 0 : 0; will stop at (end)
|
||||
2025/09/15-22:23:01.565970 7f307a7fc6c0 Manual compaction at level-1 from '!folders!5pCYN0vTiCKOHrXM' @ 72057594037927935 : 1 .. '!items!zbZ88BQkH9ZCYlDK' @ 0 : 0; will stop at '!items!zbZ88BQkH9ZCYlDK' @ 457 : 0
|
||||
2025/09/15-22:23:01.565979 7f307a7fc6c0 Compacting 1@1 + 1@2 files
|
||||
2025/09/15-22:23:01.571458 7f307a7fc6c0 Generated table #107@1: 146 keys, 129863 bytes
|
||||
2025/09/15-22:23:01.571503 7f307a7fc6c0 Compacted 1@1 + 1@2 files => 129863 bytes
|
||||
2025/09/15-22:23:01.577463 7f307a7fc6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
|
||||
2025/09/15-22:23:01.577659 7f307a7fc6c0 Delete type=2 #86
|
||||
2025/09/15-22:23:01.577865 7f307a7fc6c0 Delete type=2 #106
|
||||
2025/09/15-22:23:01.597062 7f307a7fc6c0 Manual compaction at level-1 from '!items!zbZ88BQkH9ZCYlDK' @ 457 : 0 .. '!items!zbZ88BQkH9ZCYlDK' @ 0 : 0; will stop at (end)
|
||||
2026/01/10-17:13:21.484535 7fd478fff6c0 Recovering log #110
|
||||
2026/01/10-17:13:21.495192 7fd478fff6c0 Delete type=3 #108
|
||||
2026/01/10-17:13:21.495268 7fd478fff6c0 Delete type=0 #110
|
||||
2026/01/10-22:35:10.938160 7fd4627fc6c0 Level-0 table #115: started
|
||||
2026/01/10-22:35:10.938192 7fd4627fc6c0 Level-0 table #115: 0 bytes OK
|
||||
2026/01/10-22:35:10.944117 7fd4627fc6c0 Delete type=0 #113
|
||||
2026/01/10-22:35:10.963606 7fd4627fc6c0 Manual compaction at level-0 from '!folders!5pCYN0vTiCKOHrXM' @ 72057594037927935 : 1 .. '!items!zbZ88BQkH9ZCYlDK' @ 0 : 0; will stop at (end)
|
||||
2026/01/10-22:35:10.963664 7fd4627fc6c0 Manual compaction at level-1 from '!folders!5pCYN0vTiCKOHrXM' @ 72057594037927935 : 1 .. '!items!zbZ88BQkH9ZCYlDK' @ 0 : 0; will stop at (end)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
2025/09/15-21:06:27.312840 7f3080dfa6c0 Recovering log #97
|
||||
2025/09/15-21:06:27.322814 7f3080dfa6c0 Delete type=3 #95
|
||||
2025/09/15-21:06:27.322901 7f3080dfa6c0 Delete type=0 #97
|
||||
2025/09/15-21:08:54.698842 7f307a7fc6c0 Level-0 table #102: started
|
||||
2025/09/15-21:08:54.698870 7f307a7fc6c0 Level-0 table #102: 0 bytes OK
|
||||
2025/09/15-21:08:54.704908 7f307a7fc6c0 Delete type=0 #100
|
||||
2025/09/15-21:08:54.705132 7f307a7fc6c0 Manual compaction at level-0 from '!folders!1ENmqNfRLUTmKPc6' @ 72057594037927935 : 1 .. '!items!zbZ88BQkH9ZCYlDK' @ 0 : 0; will stop at (end)
|
||||
2025/09/15-21:08:54.705168 7f307a7fc6c0 Manual compaction at level-1 from '!folders!1ENmqNfRLUTmKPc6' @ 72057594037927935 : 1 .. '!items!zbZ88BQkH9ZCYlDK' @ 0 : 0; will stop at (end)
|
||||
2026/01/10-16:36:53.954476 7fd462ffd6c0 Recovering log #105
|
||||
2026/01/10-16:36:53.964579 7fd462ffd6c0 Delete type=3 #103
|
||||
2026/01/10-16:36:53.964711 7fd462ffd6c0 Delete type=0 #105
|
||||
2026/01/10-17:13:09.485886 7fd4627fc6c0 Level-0 table #111: started
|
||||
2026/01/10-17:13:09.485937 7fd4627fc6c0 Level-0 table #111: 0 bytes OK
|
||||
2026/01/10-17:13:09.492028 7fd4627fc6c0 Delete type=0 #109
|
||||
2026/01/10-17:13:09.492315 7fd4627fc6c0 Manual compaction at level-0 from '!folders!5pCYN0vTiCKOHrXM' @ 72057594037927935 : 1 .. '!items!zbZ88BQkH9ZCYlDK' @ 0 : 0; will stop at (end)
|
||||
2026/01/10-17:13:09.492345 7fd4627fc6c0 Manual compaction at level-1 from '!folders!5pCYN0vTiCKOHrXM' @ 72057594037927935 : 1 .. '!items!zbZ88BQkH9ZCYlDK' @ 0 : 0; will stop at (end)
|
||||
|
||||
Binary file not shown.
BIN
packs/magie-sorts/MANIFEST-000112
Normal file
BIN
packs/magie-sorts/MANIFEST-000112
Normal file
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000301
|
||||
MANIFEST-000309
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
2025/09/15-22:15:24.835820 7f307bfff6c0 Recovering log #299
|
||||
2025/09/15-22:15:24.845487 7f307bfff6c0 Delete type=3 #297
|
||||
2025/09/15-22:15:24.845568 7f307bfff6c0 Delete type=0 #299
|
||||
2025/09/15-22:23:01.591108 7f307a7fc6c0 Level-0 table #304: started
|
||||
2025/09/15-22:23:01.591136 7f307a7fc6c0 Level-0 table #304: 0 bytes OK
|
||||
2025/09/15-22:23:01.596986 7f307a7fc6c0 Delete type=0 #302
|
||||
2025/09/15-22:23:01.597090 7f307a7fc6c0 Manual compaction at level-0 from '!items!19r9ijZUyvnlIqgm' @ 72057594037927935 : 1 .. '!items!zON0h5SjFyANjPnA' @ 0 : 0; will stop at (end)
|
||||
2025/09/15-22:23:01.597120 7f307a7fc6c0 Manual compaction at level-1 from '!items!19r9ijZUyvnlIqgm' @ 72057594037927935 : 1 .. '!items!zON0h5SjFyANjPnA' @ 0 : 0; will stop at (end)
|
||||
2026/01/10-17:13:21.514326 7fd4637fe6c0 Recovering log #307
|
||||
2026/01/10-17:13:21.524571 7fd4637fe6c0 Delete type=3 #305
|
||||
2026/01/10-17:13:21.524713 7fd4637fe6c0 Delete type=0 #307
|
||||
2026/01/10-22:35:10.957462 7fd4627fc6c0 Level-0 table #312: started
|
||||
2026/01/10-22:35:10.957496 7fd4627fc6c0 Level-0 table #312: 0 bytes OK
|
||||
2026/01/10-22:35:10.963461 7fd4627fc6c0 Delete type=0 #310
|
||||
2026/01/10-22:35:10.963651 7fd4627fc6c0 Manual compaction at level-0 from '!items!19r9ijZUyvnlIqgm' @ 72057594037927935 : 1 .. '!items!zON0h5SjFyANjPnA' @ 0 : 0; will stop at (end)
|
||||
2026/01/10-22:35:10.963700 7fd4627fc6c0 Manual compaction at level-1 from '!items!19r9ijZUyvnlIqgm' @ 72057594037927935 : 1 .. '!items!zON0h5SjFyANjPnA' @ 0 : 0; will stop at (end)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
2025/09/15-21:06:27.338726 7f307b7fe6c0 Recovering log #295
|
||||
2025/09/15-21:06:27.348432 7f307b7fe6c0 Delete type=3 #293
|
||||
2025/09/15-21:06:27.348491 7f307b7fe6c0 Delete type=0 #295
|
||||
2025/09/15-21:08:54.718495 7f307a7fc6c0 Level-0 table #300: started
|
||||
2025/09/15-21:08:54.718519 7f307a7fc6c0 Level-0 table #300: 0 bytes OK
|
||||
2025/09/15-21:08:54.724957 7f307a7fc6c0 Delete type=0 #298
|
||||
2025/09/15-21:08:54.731709 7f307a7fc6c0 Manual compaction at level-0 from '!items!19r9ijZUyvnlIqgm' @ 72057594037927935 : 1 .. '!items!zON0h5SjFyANjPnA' @ 0 : 0; will stop at (end)
|
||||
2025/09/15-21:08:54.731758 7f307a7fc6c0 Manual compaction at level-1 from '!items!19r9ijZUyvnlIqgm' @ 72057594037927935 : 1 .. '!items!zON0h5SjFyANjPnA' @ 0 : 0; will stop at (end)
|
||||
2026/01/10-16:36:53.985018 7fd463fff6c0 Recovering log #303
|
||||
2026/01/10-16:36:53.995735 7fd463fff6c0 Delete type=3 #301
|
||||
2026/01/10-16:36:53.995805 7fd463fff6c0 Delete type=0 #303
|
||||
2026/01/10-17:13:09.498747 7fd4627fc6c0 Level-0 table #308: started
|
||||
2026/01/10-17:13:09.498805 7fd4627fc6c0 Level-0 table #308: 0 bytes OK
|
||||
2026/01/10-17:13:09.505290 7fd4627fc6c0 Delete type=0 #306
|
||||
2026/01/10-17:13:09.518578 7fd4627fc6c0 Manual compaction at level-0 from '!items!19r9ijZUyvnlIqgm' @ 72057594037927935 : 1 .. '!items!zON0h5SjFyANjPnA' @ 0 : 0; will stop at (end)
|
||||
2026/01/10-17:13:09.518661 7fd4627fc6c0 Manual compaction at level-1 from '!items!19r9ijZUyvnlIqgm' @ 72057594037927935 : 1 .. '!items!zON0h5SjFyANjPnA' @ 0 : 0; will stop at (end)
|
||||
|
||||
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000298
|
||||
MANIFEST-000306
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
2025/09/15-22:15:24.861471 7f3080dfa6c0 Recovering log #296
|
||||
2025/09/15-22:15:24.871507 7f3080dfa6c0 Delete type=3 #294
|
||||
2025/09/15-22:15:24.871573 7f3080dfa6c0 Delete type=0 #296
|
||||
2025/09/15-22:23:01.597208 7f307a7fc6c0 Level-0 table #301: started
|
||||
2025/09/15-22:23:01.597240 7f307a7fc6c0 Level-0 table #301: 0 bytes OK
|
||||
2025/09/15-22:23:01.603183 7f307a7fc6c0 Delete type=0 #299
|
||||
2025/09/15-22:23:01.623429 7f307a7fc6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)
|
||||
2026/01/10-17:13:21.543192 7fd463fff6c0 Recovering log #304
|
||||
2026/01/10-17:13:21.553430 7fd463fff6c0 Delete type=3 #302
|
||||
2026/01/10-17:13:21.553529 7fd463fff6c0 Delete type=0 #304
|
||||
2026/01/10-22:35:10.970109 7fd4627fc6c0 Level-0 table #309: started
|
||||
2026/01/10-22:35:10.970150 7fd4627fc6c0 Level-0 table #309: 0 bytes OK
|
||||
2026/01/10-22:35:10.976638 7fd4627fc6c0 Delete type=0 #307
|
||||
2026/01/10-22:35:10.989936 7fd4627fc6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
2025/09/15-21:06:27.364429 7f3080dfa6c0 Recovering log #292
|
||||
2025/09/15-21:06:27.374643 7f3080dfa6c0 Delete type=3 #290
|
||||
2025/09/15-21:06:27.374720 7f3080dfa6c0 Delete type=0 #292
|
||||
2025/09/15-21:08:54.725160 7f307a7fc6c0 Level-0 table #297: started
|
||||
2025/09/15-21:08:54.725200 7f307a7fc6c0 Level-0 table #297: 0 bytes OK
|
||||
2025/09/15-21:08:54.731505 7f307a7fc6c0 Delete type=0 #295
|
||||
2025/09/15-21:08:54.731723 7f307a7fc6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)
|
||||
2026/01/10-16:36:54.016444 7fd4637fe6c0 Recovering log #300
|
||||
2026/01/10-16:36:54.027547 7fd4637fe6c0 Delete type=3 #298
|
||||
2026/01/10-16:36:54.027611 7fd4637fe6c0 Delete type=0 #300
|
||||
2026/01/10-17:13:09.465917 7fd4627fc6c0 Level-0 table #305: started
|
||||
2026/01/10-17:13:09.465950 7fd4627fc6c0 Level-0 table #305: 0 bytes OK
|
||||
2026/01/10-17:13:09.471878 7fd4627fc6c0 Delete type=0 #303
|
||||
2026/01/10-17:13:09.492251 7fd4627fc6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)
|
||||
|
||||
Binary file not shown.
BIN
packs/profils/MANIFEST-000306
Normal file
BIN
packs/profils/MANIFEST-000306
Normal file
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000269
|
||||
MANIFEST-000277
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
2025/09/15-22:15:24.873861 7f307affd6c0 Recovering log #267
|
||||
2025/09/15-22:15:24.883924 7f307affd6c0 Delete type=3 #265
|
||||
2025/09/15-22:15:24.884000 7f307affd6c0 Delete type=0 #267
|
||||
2025/09/15-22:23:01.616718 7f307a7fc6c0 Level-0 table #272: started
|
||||
2025/09/15-22:23:01.616761 7f307a7fc6c0 Level-0 table #272: 0 bytes OK
|
||||
2025/09/15-22:23:01.623192 7f307a7fc6c0 Delete type=0 #270
|
||||
2025/09/15-22:23:01.623491 7f307a7fc6c0 Manual compaction at level-0 from '!scenes!8DjkNeeujp2qff1N' @ 72057594037927935 : 1 .. '!scenes!ypDutqjqZcr7lx6I' @ 0 : 0; will stop at (end)
|
||||
2025/09/15-22:23:01.623509 7f307a7fc6c0 Manual compaction at level-1 from '!scenes!8DjkNeeujp2qff1N' @ 72057594037927935 : 1 .. '!scenes!ypDutqjqZcr7lx6I' @ 0 : 0; will stop at (end)
|
||||
2026/01/10-17:13:21.556875 7fd4637fe6c0 Recovering log #275
|
||||
2026/01/10-17:13:21.568002 7fd4637fe6c0 Delete type=3 #273
|
||||
2026/01/10-17:13:21.568079 7fd4637fe6c0 Delete type=0 #275
|
||||
2026/01/10-22:35:10.983465 7fd4627fc6c0 Level-0 table #280: started
|
||||
2026/01/10-22:35:10.983518 7fd4627fc6c0 Level-0 table #280: 0 bytes OK
|
||||
2026/01/10-22:35:10.989758 7fd4627fc6c0 Delete type=0 #278
|
||||
2026/01/10-22:35:10.989959 7fd4627fc6c0 Manual compaction at level-0 from '!scenes!8DjkNeeujp2qff1N' @ 72057594037927935 : 1 .. '!scenes!ypDutqjqZcr7lx6I' @ 0 : 0; will stop at (end)
|
||||
2026/01/10-22:35:10.989984 7fd4627fc6c0 Manual compaction at level-1 from '!scenes!8DjkNeeujp2qff1N' @ 72057594037927935 : 1 .. '!scenes!ypDutqjqZcr7lx6I' @ 0 : 0; will stop at (end)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
2025/09/15-21:06:27.376909 7f307b7fe6c0 Recovering log #263
|
||||
2025/09/15-21:06:27.386759 7f307b7fe6c0 Delete type=3 #261
|
||||
2025/09/15-21:06:27.386852 7f307b7fe6c0 Delete type=0 #263
|
||||
2025/09/15-21:08:54.752330 7f307a7fc6c0 Level-0 table #268: started
|
||||
2025/09/15-21:08:54.752369 7f307a7fc6c0 Level-0 table #268: 0 bytes OK
|
||||
2025/09/15-21:08:54.758780 7f307a7fc6c0 Delete type=0 #266
|
||||
2025/09/15-21:08:54.758945 7f307a7fc6c0 Manual compaction at level-0 from '!scenes!8DjkNeeujp2qff1N' @ 72057594037927935 : 1 .. '!scenes!ypDutqjqZcr7lx6I' @ 0 : 0; will stop at (end)
|
||||
2025/09/15-21:08:54.758971 7f307a7fc6c0 Manual compaction at level-1 from '!scenes!8DjkNeeujp2qff1N' @ 72057594037927935 : 1 .. '!scenes!ypDutqjqZcr7lx6I' @ 0 : 0; will stop at (end)
|
||||
2026/01/10-16:36:54.030870 7fd463fff6c0 Recovering log #271
|
||||
2026/01/10-16:36:54.048804 7fd463fff6c0 Delete type=3 #269
|
||||
2026/01/10-16:36:54.048881 7fd463fff6c0 Delete type=0 #271
|
||||
2026/01/10-17:13:09.512260 7fd4627fc6c0 Level-0 table #276: started
|
||||
2026/01/10-17:13:09.512293 7fd4627fc6c0 Level-0 table #276: 0 bytes OK
|
||||
2026/01/10-17:13:09.518322 7fd4627fc6c0 Delete type=0 #274
|
||||
2026/01/10-17:13:09.518622 7fd4627fc6c0 Manual compaction at level-0 from '!scenes!8DjkNeeujp2qff1N' @ 72057594037927935 : 1 .. '!scenes!ypDutqjqZcr7lx6I' @ 0 : 0; will stop at (end)
|
||||
2026/01/10-17:13:09.518702 7fd4627fc6c0 Manual compaction at level-1 from '!scenes!8DjkNeeujp2qff1N' @ 72057594037927935 : 1 .. '!scenes!ypDutqjqZcr7lx6I' @ 0 : 0; will stop at (end)
|
||||
|
||||
Binary file not shown.
62
system.json
62
system.json
@@ -15,6 +15,68 @@
|
||||
"esmodules": [
|
||||
"modules/heritiers-main.js"
|
||||
],
|
||||
"documentTypes": {
|
||||
"Actor": {
|
||||
"personnage": {
|
||||
"htmlFields": [
|
||||
"biodata.description",
|
||||
"biodata.habitat",
|
||||
"biodata.notes",
|
||||
"biodata.gmnotes",
|
||||
"biodata.playernotes"
|
||||
]
|
||||
},
|
||||
"pnj": {
|
||||
"htmlFields": [
|
||||
"description"
|
||||
]
|
||||
}
|
||||
},
|
||||
"Item": {
|
||||
"accessoire": {
|
||||
"htmlFields": ["description"]
|
||||
},
|
||||
"arme": {
|
||||
"htmlFields": ["description"]
|
||||
},
|
||||
"atoutfeerique": {
|
||||
"htmlFields": ["description"]
|
||||
},
|
||||
"avantage": {
|
||||
"htmlFields": ["description"]
|
||||
},
|
||||
"capacitenaturelle": {
|
||||
"htmlFields": ["description"]
|
||||
},
|
||||
"competence": {
|
||||
"htmlFields": ["description"]
|
||||
},
|
||||
"contact": {
|
||||
"htmlFields": ["description"]
|
||||
},
|
||||
"desavantage": {
|
||||
"htmlFields": ["description"]
|
||||
},
|
||||
"equipement": {
|
||||
"htmlFields": ["description"]
|
||||
},
|
||||
"fee": {
|
||||
"htmlFields": ["description"]
|
||||
},
|
||||
"pouvoir": {
|
||||
"htmlFields": ["description"]
|
||||
},
|
||||
"profil": {
|
||||
"htmlFields": ["description"]
|
||||
},
|
||||
"protection": {
|
||||
"htmlFields": ["description"]
|
||||
},
|
||||
"sort": {
|
||||
"htmlFields": ["description"]
|
||||
}
|
||||
}
|
||||
},
|
||||
"grid": {
|
||||
"distance": 5,
|
||||
"units": "m"
|
||||
|
||||
420
template.json.backup
Normal file
420
template.json.backup
Normal file
@@ -0,0 +1,420 @@
|
||||
{
|
||||
"Actor": {
|
||||
"types": [
|
||||
"personnage",
|
||||
"pnj"
|
||||
],
|
||||
"templates": {
|
||||
"biodata": {
|
||||
"biodata": {
|
||||
"name": "",
|
||||
"activite":"",
|
||||
"nomhumain": "",
|
||||
"activites": "",
|
||||
"fortune": 0,
|
||||
"traitscaracteres": "",
|
||||
"tailledemasquee": "",
|
||||
"taillemasquee": "",
|
||||
"poidsmasquee": "",
|
||||
"poidsdemasquee": "",
|
||||
"apparencemasquee": "",
|
||||
"apparencedemasquee": "",
|
||||
"titrefamille": "",
|
||||
"langues": "",
|
||||
"factionfeerique": "",
|
||||
"typetaille": "",
|
||||
"age": 0,
|
||||
"poids": "",
|
||||
"taille": "",
|
||||
"cheveux": "",
|
||||
"sexe": "",
|
||||
"yeux": "",
|
||||
"description": "",
|
||||
"revesetranges": "",
|
||||
"secretsdecouverts": "",
|
||||
"questions": "",
|
||||
"habitat": "",
|
||||
"notes": "",
|
||||
"statut": "",
|
||||
"playernotes":"",
|
||||
"gmnotes": "",
|
||||
"magie": false
|
||||
}
|
||||
},
|
||||
"core": {
|
||||
"subactors": [],
|
||||
"caracteristiques": {
|
||||
"agi": {
|
||||
"label": "Agilité",
|
||||
"labelnorm": "agilite",
|
||||
"abbrev": "agi",
|
||||
"kind": "physical",
|
||||
"value": 1,
|
||||
"rang": 0,
|
||||
"max": 1
|
||||
},
|
||||
"con": {
|
||||
"label": "Constitution",
|
||||
"labelnorm": "constitution",
|
||||
"abbrev": "con",
|
||||
"kind": "physical",
|
||||
"value": 1,
|
||||
"rang": 0,
|
||||
"max": 1
|
||||
},
|
||||
"for": {
|
||||
"label": "Force",
|
||||
"labelnorm": "force",
|
||||
"abbrev": "for",
|
||||
"kind": "physical",
|
||||
"value": 1,
|
||||
"rang": 0,
|
||||
"max": 1
|
||||
},
|
||||
"prec": {
|
||||
"label": "Précision",
|
||||
"labelnorm": "precision",
|
||||
"abbrev": "prec",
|
||||
"kind": "physical",
|
||||
"value": 1,
|
||||
"rang": 0,
|
||||
"max": 1
|
||||
},
|
||||
"esp": {
|
||||
"label": "Esprit",
|
||||
"labelnorm": "esprit",
|
||||
"abbrev": "esp",
|
||||
"kind": "mental",
|
||||
"value": 1,
|
||||
"rang": 0,
|
||||
"max": 1
|
||||
},
|
||||
"per": {
|
||||
"label": "Perception",
|
||||
"labelnorm": "perception",
|
||||
"abbrev": "per",
|
||||
"kind": "mental",
|
||||
"value": 1,
|
||||
"rang": 0,
|
||||
"max": 1
|
||||
},
|
||||
"pres": {
|
||||
"label": "Prestance",
|
||||
"labelnorm": "pres",
|
||||
"abbrev": "pres",
|
||||
"kind": "mental",
|
||||
"value": 1,
|
||||
"rang": 0,
|
||||
"max": 1
|
||||
},
|
||||
"san": {
|
||||
"label": "Sang-Froid",
|
||||
"labelnorm": "sangfroid",
|
||||
"abbrev": "san",
|
||||
"kind": "mental",
|
||||
"value": 1,
|
||||
"rang": 0,
|
||||
"max": 1
|
||||
}
|
||||
},
|
||||
"statutmasque": "masque",
|
||||
"rang": {
|
||||
"tricherie": {
|
||||
"label": "Tricherie",
|
||||
"value": 0,
|
||||
"max": 0
|
||||
},
|
||||
"feerie": {
|
||||
"label": "Féerie",
|
||||
"value": 0,
|
||||
"max": 0
|
||||
},
|
||||
"masque": {
|
||||
"label": "Masque",
|
||||
"value": 0,
|
||||
"max": 0
|
||||
},
|
||||
"heritage": {
|
||||
"label": "Héritage",
|
||||
"value": 0,
|
||||
"max": 0,
|
||||
"scenarios": 0
|
||||
}
|
||||
},
|
||||
"pv": {
|
||||
"value": 0,
|
||||
"max": 0,
|
||||
"mod": 0
|
||||
},
|
||||
"competences": {
|
||||
"aventurier": {
|
||||
"label": "Aventurier",
|
||||
"niveau": 0,
|
||||
"rang": 0,
|
||||
"pp": 0
|
||||
},
|
||||
"combattant": {
|
||||
"label": "Aventurier",
|
||||
"niveau": 0,
|
||||
"rang": 0,
|
||||
"pp": 0
|
||||
},
|
||||
"erudit": {
|
||||
"label": "Erudit",
|
||||
"niveau": 0,
|
||||
"rang": 0,
|
||||
"pp": 0
|
||||
},
|
||||
"gentleman": {
|
||||
"label": "Gentleman",
|
||||
"niveau": 0,
|
||||
"rang": 0,
|
||||
"pp": 0
|
||||
},
|
||||
"roublard": {
|
||||
"label": "Roublard",
|
||||
"niveau": 0,
|
||||
"rang": 0,
|
||||
"pp": 0
|
||||
},
|
||||
"savant": {
|
||||
"label": "Savant",
|
||||
"niveau": 0,
|
||||
"rang": 0,
|
||||
"pp": 0
|
||||
}
|
||||
},
|
||||
"magie": {
|
||||
"pointsame": {
|
||||
"value": 0,
|
||||
"max": 0
|
||||
}
|
||||
},
|
||||
"experience": {
|
||||
"value": 0,
|
||||
"pourtricher": 0
|
||||
},
|
||||
"combat": {
|
||||
"esquive": {
|
||||
"masquee": 0,
|
||||
"demasquee": 0
|
||||
},
|
||||
"parade": {
|
||||
"masquee": 0,
|
||||
"demasquee": 0,
|
||||
"value": 0
|
||||
},
|
||||
"resistancephysique": {
|
||||
"value": 0
|
||||
},
|
||||
"resistancepsychique": {
|
||||
"value": 0
|
||||
},
|
||||
"protection": {
|
||||
"value": 0
|
||||
},
|
||||
"effetssecondaires": "",
|
||||
"dissimulation": {
|
||||
"value": 0
|
||||
},
|
||||
"initiative": {
|
||||
"masquee": 0,
|
||||
"demasquee": 0
|
||||
},
|
||||
"corpsacorps": {
|
||||
"masquee": 0,
|
||||
"demasquee": 0
|
||||
},
|
||||
"tir": {
|
||||
"masquee": 0,
|
||||
"demasquee": 0
|
||||
}
|
||||
}
|
||||
},
|
||||
"npccore": {
|
||||
"npctype": "",
|
||||
"description": ""
|
||||
}
|
||||
},
|
||||
"personnage": {
|
||||
"templates": [
|
||||
"biodata",
|
||||
"core"
|
||||
]
|
||||
},
|
||||
"pnj": {
|
||||
"templates": [
|
||||
"biodata",
|
||||
"core"
|
||||
]
|
||||
}
|
||||
},
|
||||
"Item": {
|
||||
"templates": {
|
||||
"base": {
|
||||
"description": ""
|
||||
},
|
||||
"basequip": {
|
||||
"rarete": 0,
|
||||
"quantite": 0,
|
||||
"prix":0,
|
||||
"equipped": false
|
||||
}
|
||||
},
|
||||
"types": [
|
||||
"accessoire",
|
||||
"arme",
|
||||
"atoutfeerique",
|
||||
"avantage",
|
||||
"capacitenaturelle",
|
||||
"competence",
|
||||
"contact",
|
||||
"desavantage",
|
||||
"equipement",
|
||||
"fee",
|
||||
"pouvoir",
|
||||
"profil",
|
||||
"protection",
|
||||
"sort"
|
||||
],
|
||||
"profil": {
|
||||
"profiltype": "majeur",
|
||||
"description": ""
|
||||
},
|
||||
"contact": {
|
||||
"contacttype": "",
|
||||
"description": ""
|
||||
},
|
||||
"fee": {
|
||||
"feetype": 0,
|
||||
"avantages": "",
|
||||
"desavantages": "",
|
||||
"pouvoirsfeeriquesmasque": "",
|
||||
"pouvoirsfeeriquesdemasque": "",
|
||||
"atoutsfeeriques": "",
|
||||
"competences": "",
|
||||
"capacitenaturelles": "",
|
||||
"description": ""
|
||||
},
|
||||
"avantage": {
|
||||
"description": ""
|
||||
},
|
||||
"desavantage": {
|
||||
"description": ""
|
||||
},
|
||||
"capacitenaturelle": {
|
||||
"pouvoirtype": "",
|
||||
"activation": "",
|
||||
"cibles": "",
|
||||
"effet": "",
|
||||
"duree": "",
|
||||
"portee": "",
|
||||
"resistance": "",
|
||||
"resistanceautre":"",
|
||||
"isvirulence": false,
|
||||
"virulence":"",
|
||||
"description": ""
|
||||
},
|
||||
"pouvoir": {
|
||||
"pouvoirtype": "",
|
||||
"masquetype": "",
|
||||
"niveau": "",
|
||||
"activation": "",
|
||||
"istest": false,
|
||||
"feeriemasque": "feerie",
|
||||
"zoneffet": "",
|
||||
"testautre": "",
|
||||
"carac": "pre",
|
||||
"duree": "",
|
||||
"cibles": "",
|
||||
"effet": "",
|
||||
"portee": "",
|
||||
"resistance": "",
|
||||
"resistanceautre":"",
|
||||
"pointsusagecourant": -1,
|
||||
"isvirulence": false,
|
||||
"virulence":"",
|
||||
"description": ""
|
||||
},
|
||||
"atoutfeerique": {
|
||||
"description": ""
|
||||
},
|
||||
"competence": {
|
||||
"categorie": "",
|
||||
"profil": "",
|
||||
"niveau": 0,
|
||||
"nomniveau": { "1": "", "2": "", "3": "", "4": ""},
|
||||
"nomniveausouffle": { "soufflecombat": { "1":"", "2": "", "3": "", "4": "" },
|
||||
"soufflemouvement": { "1": "", "2": 0, "3": "", "4": "" },
|
||||
"souffleesprit": { "1": "", "2": "", "3": "", "4": "" } },
|
||||
"predilection": false,
|
||||
"specialites": [],
|
||||
"ismagie": false,
|
||||
"description": ""
|
||||
},
|
||||
"equipement": {
|
||||
"templates": [
|
||||
"base",
|
||||
"basequip"
|
||||
]
|
||||
},
|
||||
"sort": {
|
||||
"niveau": "1",
|
||||
"rang": "1",
|
||||
"competence": "Druidisme",
|
||||
"carac1": "esp",
|
||||
"carac2": "none",
|
||||
"sdspecial": "",
|
||||
"duree": "",
|
||||
"portee": "",
|
||||
"concentration": "",
|
||||
"informatif": false,
|
||||
"texteinformatif": "",
|
||||
"critique": "",
|
||||
"ingredients": "",
|
||||
"resistance": "",
|
||||
"coutactivation": "",
|
||||
"souffle": "",
|
||||
"description": ""
|
||||
},
|
||||
"arme": {
|
||||
"categorie": "",
|
||||
"armetype": "",
|
||||
"degats": 0,
|
||||
"precision": 0,
|
||||
"cadence": "",
|
||||
"enraiement": "",
|
||||
"magasin": 0,
|
||||
"charge": 0,
|
||||
"portee": "",
|
||||
"legalite": "",
|
||||
"dissimulation": "",
|
||||
"zone": 0,
|
||||
"temps": "",
|
||||
"allumage": "",
|
||||
"special": "",
|
||||
"templates": [
|
||||
"base",
|
||||
"basequip"
|
||||
]
|
||||
},
|
||||
"protection": {
|
||||
"points": 0,
|
||||
"protectiontype": "",
|
||||
"effetsecondaire": "",
|
||||
"malusagilite": 0,
|
||||
"dissimulation": "",
|
||||
"templates": [
|
||||
"base",
|
||||
"basequip"
|
||||
]
|
||||
},
|
||||
"accessoire": {
|
||||
"lieu": 0,
|
||||
"templates": [
|
||||
"base",
|
||||
"basequip"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -16,9 +16,11 @@
|
||||
<li class="item flexrow ">
|
||||
<h4 class="item-name-label competence-name roll-style"><a class="roll-carac" data-action="rollCarac" data-key="{{key}}">{{carac.label}}</a></h4>
|
||||
<input type="text" class="padd-right status-small-label color-class-common item-field-label-short"
|
||||
name="system.caracteristiques.{{key}}.value" value="{{carac.value}}" data-dtype="Number" />
|
||||
name="system.caracteristiques.{{key}}.value" data-tooltip="Valeur actuelle" value="{{carac.value}}"
|
||||
data-dtype="Number" />
|
||||
<input type="text" class="padd-right status-small-label color-class-common item-field-label-short"
|
||||
name="system.caracteristiques.{{key}}.rang" value="{{carac.rang}}" data-dtype="Number" />
|
||||
name="system.caracteristiques.{{key}}.rang" data-tooltip="Rang" value="{{carac.rang}}"
|
||||
data-dtype="Number" />
|
||||
</li>
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
@@ -32,9 +34,11 @@
|
||||
<li class="item flexrow ">
|
||||
<h4 class="item-name-label competence-name roll-style"><a class="roll-carac" data-action="rollCarac" data-key="{{key}}">{{carac.label}}</a></h4>
|
||||
<input type="text" class="padd-right status-small-label color-class-common item-field-label-short"
|
||||
name="system.caracteristiques.{{key}}.value" value="{{carac.value}}" data-dtype="Number" />
|
||||
name="system.caracteristiques.{{key}}.value" value="{{carac.value}}" data-tooltip="Valeur actuelle"
|
||||
data-dtype="Number" />
|
||||
<input type="text" class="padd-right status-small-label color-class-common item-field-label-short"
|
||||
name="system.caracteristiques.{{key}}.rang" value="{{carac.rang}}" data-dtype="Number" />
|
||||
name="system.caracteristiques.{{key}}.rang" value="{{carac.rang}}" data-tooltip="Rang"
|
||||
data-dtype="Number" />
|
||||
</li>
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
@@ -42,24 +46,33 @@
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="flexrow">
|
||||
<label class="item-field-label-short">PV</label>
|
||||
<input type="text" class="item-field-label-short" name="system.pv.value" value="{{system.pv.value}}" data-dtype="Number" />
|
||||
<input type="text" class="item-field-label-short" name="system.pv.max" value="{{system.pv.max}}" data-dtype="Number" />
|
||||
<label class="item-field-label-short">Malus</label>
|
||||
<input type="text" class="item-field-label-short" value="{{pvMalus.value}}" data-dtype="Number" disabled />
|
||||
<span> </span>
|
||||
|
||||
<select class="item-field-label-medium" type="text" name="system.statutmasque" value="{{system.statutmasque}}" data-dtype="string">
|
||||
{{selectOptions config.statutMasque selected=system.statutmasque}}
|
||||
</select>
|
||||
|
||||
<span> </span>
|
||||
<label class="item-field-label-short">Tricherie</label>
|
||||
<input type="text" class="item-field-label-short" name="system.rang.tricherie.value" value="{{system.rang.tricherie.value}}" data-dtype="Number" />
|
||||
<input type="text" class="item-field-label-short" name="system.rang.tricherie.max" value="{{system.rang.tricherie.max}}" data-dtype="Number" />
|
||||
<div class="flexrow" style="align-items: center;">
|
||||
<label class="item-field-label-short">PV</label>
|
||||
<div style="display: flex; align-items: center; gap: 0.2rem;">
|
||||
<button type="button" data-action="pvDecrease" title="Diminuer PV" style="cursor: pointer; padding: 0 0.3rem; font-size: 1rem; background: none; border: 1px solid #666; border-radius: 3px; color: #fff;">−</button>
|
||||
<input type="text" class="item-field-label-short" name="system.pv.value" value="{{system.pv.value}}"
|
||||
data-dtype="Number" data-tooltip="PV actuels" style="text-align: center; width: 3rem;" />
|
||||
<button type="button" data-action="pvIncrease" title="Augmenter PV" style="cursor: pointer; padding: 0 0.3rem; font-size: 1rem; background: none; border: 1px solid #666; border-radius: 3px; color: #fff;">+</button>
|
||||
<span style="margin-left: 0.2rem;">/</span>
|
||||
<input type="text" class="item-field-label-short" name="system.pv.max" value="{{system.pv.max}}"
|
||||
data-dtype="Number" data-tooltip="PV maximum" style="text-align: center; width: 3rem;" />
|
||||
</div>
|
||||
<label class="item-field-label-short">Malus</label>
|
||||
<input type="text" class="item-field-label-short" value="{{pvMalus.value}}" data-dtype="Number" disabled data-tooltip="Malus dû aux blessures" style="text-align: center; width: 3rem;" />
|
||||
<span> </span>
|
||||
|
||||
<select class="item-field-label-medium" type="text" name="system.statutmasque"
|
||||
value="{{system.statutmasque}}" data-dtype="string">
|
||||
{{selectOptions config.statutMasque selected=system.statutmasque}}
|
||||
</select>
|
||||
|
||||
<span> </span>
|
||||
<label class="item-field-label-short">Tricherie</label>
|
||||
<input type="text" class="item-field-label-short-num" name="system.rang.tricherie.value"
|
||||
value="{{system.rang.tricherie.value}}" data-dtype="Number" data-tooltip="Points de tricherie actuels" />
|
||||
<input type="text" class="item-field-label-short-num" name="system.rang.tricherie.max"
|
||||
value="{{system.rang.tricherie.max}}" data-dtype="Number" data-tooltip="Points de tricherie maximum" />
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -85,13 +98,13 @@
|
||||
|
||||
<div>
|
||||
{{#each utileSkillsPhysical as |skillDef keyProfil|}}
|
||||
{{> systems/fvtt-les-heritiers/templates/partial-utile-skills.hbs skillDef=skillDef keyProfil=keyProfil isPNJ=true}}
|
||||
{{> systems/fvtt-les-heritiers/templates/partial-utile-skills.hbs skillDef=skillDef keyProfil=keyProfil isPNJ=true config=config}}
|
||||
{{/each}}
|
||||
</div>
|
||||
|
||||
<div>
|
||||
{{#each utileSkillsMental as |skillDef keyProfil|}}
|
||||
{{> systems/fvtt-les-heritiers/templates/partial-utile-skills.hbs skillDef=skillDef keyProfil=keyProfil isPNJ=true}}
|
||||
{{> systems/fvtt-les-heritiers/templates/partial-utile-skills.hbs skillDef=skillDef keyProfil=keyProfil isPNJ=true config=config}}
|
||||
{{/each}}
|
||||
</div>
|
||||
|
||||
@@ -127,9 +140,8 @@
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
<li class="item flexrow " >
|
||||
<h2>Magie</h3>
|
||||
<li class="item flexrow">
|
||||
<h2 style="color: #8b6914; margin: 0.5rem 0;">Magie</h2>
|
||||
</li>
|
||||
|
||||
<div class="flexrow">
|
||||
@@ -146,14 +158,19 @@
|
||||
</div>
|
||||
|
||||
{{#each magieList as |magie idx|}}
|
||||
<li class="item flexrow " data-item-id="{{magie.competence._id}}" data-item-type="competence">
|
||||
<h2 class="flexrow"><label class="items-title-text "><a class="roll-competence" data-action="rollRootCompetence" item-field-label-short"
|
||||
data-attr-key="tochoose">{{magie.name}} {{magie.competence.system.niveau}} </a> </label>
|
||||
<li class="item flexrow magie-section-header" data-item-id="{{magie.competence._id}}" data-item-type="competence">
|
||||
<div class="magie-section-title">
|
||||
<label class="items-title-text">
|
||||
<a class="roll-competence" data-action="rollRootCompetence" data-attr-key="tochoose">
|
||||
{{magie.name}} {{magie.competence.system.niveau}}
|
||||
</a>
|
||||
</label>
|
||||
</div>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-edit" data-action="editItem" title="Editer l'item"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-control item-delete" data-action="deleteItem" title="Supprimer l'item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</h2>
|
||||
</li>
|
||||
|
||||
<div class="sheet-box color-bg-archetype">
|
||||
@@ -193,55 +210,92 @@
|
||||
|
||||
</div>
|
||||
|
||||
{{!-- Equipement Tab --}}
|
||||
{{!-- Combat Tab --}}
|
||||
<div class="tab combat" data-group="primary" data-tab="combat">
|
||||
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow">
|
||||
<li class="item flexrow" style="justify-content: center; margin-bottom: 0.5rem;">
|
||||
<button class="chat-card-button roll-initiative" data-action="rollInitiative">Initiative (actuelle : {{initiative}} )</button>
|
||||
</li>
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<label class="item-field-label-medium"><strong>Esquive</strong></label>
|
||||
<label class="item-field-label-medium">Masquée</label>
|
||||
<input type="text" class="item-field-label-short" name="system.combat.esquive.masquee" value="{{system.combat.esquive.masquee}}" data-dtype="Number" />
|
||||
<label class="item-field-label-medium">Démasquée</label>
|
||||
<input type="text" class="item-field-label-short" name="system.combat.esquive.demasquee" value="{{system.combat.esquive.demasquee}}" data-dtype="Number" />
|
||||
<label class="item-field-label-medium"><strong>Parade</strong></label>
|
||||
<label class="item-field-label-medium">Masquée</label>
|
||||
<input type="text" class="item-field-label-short" name="system.combat.parade.masquee" value="{{system.combat.parade.masquee}}" data-dtype="Number" />
|
||||
<label class="item-field-label-medium">Démasquée</label>
|
||||
<input type="text" class="item-field-label-short" name="system.combat.parade.demasquee" value="{{system.combat.parade.demasquee}}" data-dtype="Number" />
|
||||
</li>
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<label class="item-field-label-long">Rés. physique</label>
|
||||
<input type="text" class="item-field-label-short" name="system.combat.resistancephysique.value" value="{{system.combat.resistancephysique.value}}" data-dtype="Number" />
|
||||
<label class="item-field-label-long">Rés. psychique</label>
|
||||
<input type="text" class="item-field-label-short" name="system.combat.resistancepsychique.value" value="{{system.combat.resistancepsychique.value}}" data-dtype="Number" />
|
||||
<label class="item-field-label-medium">Protection : </label>
|
||||
<input type="text" class="item-field-label-short" name="system.combat.protection.value" value="{{system.combat.protection.value}}" data-dtype="Number" />
|
||||
</li>
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<label class="item-field-label-long">Effets secondaires</label>
|
||||
<input type="text" class="item-field-label-short" name="system.combat.effetssecondaires" value="{{system.combat.effetssecondaires}}" data-dtype="String" />
|
||||
<label class="item-field-label-long">Dissimulation : </label>
|
||||
<input type="text" class="item-field-label-short" name="system.combat.dissimulation.value" value="{{system.combat.dissimulation.value}}" data-dtype="Number" />
|
||||
</li>
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<label class="item-field-label-long"><strong>Corps à Corps</strong></label>
|
||||
<label class="item-field-label-medium">Masqué</label>
|
||||
<input type="text" class="item-field-label-short" name="system.combat.corpsacorps.masquee" value="{{system.combat.corpsacorps.masquee}}" data-dtype="Number" />
|
||||
<label class="item-field-label-medium">Démasqué</label>
|
||||
<input type="text" class="item-field-label-short" name="system.combat.corpsacorps.demasquee" value="{{system.combat.corpsacorps.demasquee}}" data-dtype="Number" />
|
||||
</li>
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<label class="item-field-label-long"><strong>A distance</strong></label>
|
||||
<label class="item-field-label-medium">Masqué</label>
|
||||
<input type="text" class="item-field-label-short" name="system.combat.tir.masquee" value="{{system.combat.tir.masquee}}" data-dtype="Number" />
|
||||
<label class="item-field-label-medium">Démasqué</label>
|
||||
<input type="text" class="item-field-label-short" name="system.combat.tir.demasquee" value="{{system.combat.tir.demasquee}}" data-dtype="Number" />
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; margin-bottom: 0.5rem;">
|
||||
<!-- Esquive -->
|
||||
<div style="background: rgba(56, 32, 32, 0.3); border-radius: 0.25rem; padding: 0.3rem 0.5rem;">
|
||||
<div style="text-align: center; font-weight: bold; margin-bottom: 0.25rem; color: #8b6914; font-size: 0.85rem;">Esquive</div>
|
||||
<div class="flexrow" style="gap: 0.5rem; align-items: center; justify-content: center;">
|
||||
<label style="font-size: 0.75rem; color: #999;">Masquée</label>
|
||||
<input type="text" class="item-field-label-short" name="system.combat.esquive.masquee"
|
||||
value="{{system.combat.esquive.masquee}}" data-dtype="Number" style="text-align: center; max-width: 3rem; padding: 0.15rem;" />
|
||||
<label style="font-size: 0.75rem; color: #999; margin-left: 0.3rem;">Démasquée</label>
|
||||
<input type="text" class="item-field-label-short" name="system.combat.esquive.demasquee"
|
||||
value="{{system.combat.esquive.demasquee}}" data-dtype="Number" style="text-align: center; max-width: 3rem; padding: 0.15rem;" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Parade -->
|
||||
<div style="background: rgba(56, 32, 32, 0.3); border-radius: 0.25rem; padding: 0.3rem 0.5rem;">
|
||||
<div style="text-align: center; font-weight: bold; margin-bottom: 0.25rem; color: #8b6914; font-size: 0.85rem;">Parade</div>
|
||||
<div class="flexrow" style="gap: 0.5rem; align-items: center; justify-content: center;">
|
||||
<label style="font-size: 0.75rem; color: #999;">Masquée</label>
|
||||
<input type="text" class="item-field-label-short" name="system.combat.parade.masquee"
|
||||
value="{{system.combat.parade.masquee}}" data-dtype="Number" style="text-align: center; max-width: 3rem; padding: 0.15rem;" />
|
||||
<label style="font-size: 0.75rem; color: #999; margin-left: 0.3rem;">Démasquée</label>
|
||||
<input type="text" class="item-field-label-short" name="system.combat.parade.demasquee"
|
||||
value="{{system.combat.parade.demasquee}}" data-dtype="Number" style="text-align: center; max-width: 3rem; padding: 0.15rem;" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 0.5rem; margin-bottom: 0.5rem;">
|
||||
<!-- Résistance Physique -->
|
||||
<div style="background: rgba(56, 32, 32, 0.3); border-radius: 0.25rem; padding: 0.3rem 0.5rem;">
|
||||
<div class="flexrow" style="align-items: center; justify-content: center; gap: 0.4rem;">
|
||||
<label style="font-size: 0.75rem; font-weight: bold; color: #d4a574;">Rés. physique</label>
|
||||
<input type="text" class="item-field-label-short" name="system.combat.resistancephysique.value"
|
||||
value="{{system.combat.resistancephysique.value}}" data-dtype="Number" style="text-align: center; max-width: 3rem; padding: 0.15rem;" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Résistance Psychique -->
|
||||
<div style="background: rgba(56, 32, 32, 0.3); border-radius: 0.25rem; padding: 0.3rem 0.5rem;">
|
||||
<div class="flexrow" style="align-items: center; justify-content: center; gap: 0.4rem;">
|
||||
<label style="font-size: 0.75rem; font-weight: bold; color: #d4a574;">Rés. psychique</label>
|
||||
<input type="text" class="item-field-label-short" name="system.combat.resistancepsychique.value"
|
||||
value="{{system.combat.resistancepsychique.value}}" data-dtype="Number" style="text-align: center; max-width: 3rem; padding: 0.15rem;" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Protection -->
|
||||
<div style="background: rgba(56, 32, 32, 0.3); border-radius: 0.25rem; padding: 0.3rem 0.5rem;">
|
||||
<div class="flexrow" style="align-items: center; justify-content: center; gap: 0.4rem;">
|
||||
<label style="font-size: 0.75rem; font-weight: bold; color: #d4a574;">Protection</label>
|
||||
<input type="text" class="item-field-label-short" name="system.combat.protection.value"
|
||||
value="{{system.combat.protection.value}}" data-dtype="Number" style="text-align: center; max-width: 3rem; padding: 0.15rem;" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="display: grid; grid-template-columns: 2fr 1fr; gap: 0.5rem; margin-bottom: 0.5rem;">
|
||||
<!-- Effets secondaires -->
|
||||
<div style="background: rgba(56, 32, 32, 0.3); border-radius: 0.25rem; padding: 0.3rem 0.4rem;">
|
||||
<div class="flexcol" style="gap: 0.2rem;">
|
||||
<label style="font-size: 0.75rem; font-weight: bold; color: #d4a574; text-align: center;">Effets secondaires</label>
|
||||
<input type="text" name="system.combat.effetssecondaires"
|
||||
value="{{system.combat.effetssecondaires}}" data-dtype="String" style="text-align: center; width: 100%; padding: 0.15rem;" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Dissimulation -->
|
||||
<div style="background: rgba(56, 32, 32, 0.3); border-radius: 0.25rem; padding: 0.3rem 0.5rem;">
|
||||
<div class="flexrow" style="align-items: center; justify-content: center; gap: 0.4rem;">
|
||||
<label style="font-size: 0.75rem; font-weight: bold; color: #d4a574;">Dissimulation</label>
|
||||
<input type="text" class="item-field-label-short" name="system.combat.dissimulation.value"
|
||||
value="{{system.combat.dissimulation.value}}" data-dtype="Number" style="text-align: center; max-width: 3rem; padding: 0.15rem;" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flexcol">
|
||||
|
||||
<div class="sheet-box color-bg-archetype">
|
||||
@@ -251,10 +305,10 @@
|
||||
<h3><label class="items-title-text">Armes</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Attaque</label>
|
||||
<label class="short-label">Dégats</label>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Dégats</label>
|
||||
<label class="short-label">Attaque</label>
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
@@ -263,18 +317,31 @@
|
||||
</div>
|
||||
</li>
|
||||
{{#each armes as |arme key|}}
|
||||
<li class="item flexrow " data-item-id="{{arme._id}}" data-item-type="arme">
|
||||
<li class="item flexrow " data-item-id="{{arme._id}}" data-item-type="arme" style="gap: 0.3rem;">
|
||||
<img class="item-name-img" src="{{arme.img}}" />
|
||||
<span class="item-name-label competence-name">{{arme.name}}</span>
|
||||
|
||||
<span class="item-field-label-short">
|
||||
<button class="roll-attaque-arme" data-action="rollAttaqueArme" button-sheet-roll">Attaquer</button>
|
||||
</span>
|
||||
|
||||
<span class="item-field-label-short">
|
||||
{{arme.system.degats}}
|
||||
</span>
|
||||
|
||||
<span style="min-width: 4.5rem;">
|
||||
<button class="roll-attaque-arme" data-action="rollAttaqueArme" button-sheet-roll>Attaque</button>
|
||||
</span>
|
||||
|
||||
<span style="min-width: 4.5rem;">
|
||||
<button class="roll-assomer-arme" data-action="rollAssomerArme" button-sheet-roll>Assommer</button>
|
||||
</span>
|
||||
|
||||
{{#if arme.system.isMelee}}
|
||||
<span style="min-width: 4.5rem;">
|
||||
<button class="roll-attaque-charge-arme" data-action="rollAttaqueChargeArme" button-sheet-roll>Charger</button>
|
||||
</span>
|
||||
<span style="min-width: 6.1rem;">
|
||||
<button class="roll-attaque-brutale-arme" data-action="rollAttaqueBrutaleArme" button-sheet-roll button-sheet-roll-long1>Att. brutale</button>
|
||||
</span>
|
||||
{{/if}}
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-equip" data-action="equipItem" title="Equipé">{{#if arme.system.equipped}}<i
|
||||
@@ -534,11 +601,19 @@
|
||||
|
||||
|
||||
<div class="tab notes" data-group="primary" data-tab="notes">
|
||||
<span>
|
||||
<h3>Historique</h3>
|
||||
</span>
|
||||
<div class="medium-editor item-text-long-line">
|
||||
{{editor description target="system.biodata.description" button=true owner=owner editable=editable}}
|
||||
|
||||
<div style="background: rgba(56, 32, 32, 0.3); border-radius: 0.3rem; padding: 0.5rem; margin-bottom: 0.75rem;">
|
||||
<h3 style="color: #8b6914; margin-bottom: 0.5rem;">Historique</h3>
|
||||
<div class="medium-editor item-text-long-line">
|
||||
{{formInput systemFields.biodata.fields.description enriched=enrichedDescription value=system.biodata.description name="system.biodata.description" toggled=true}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="background: rgba(56, 32, 32, 0.3); border-radius: 0.3rem; padding: 0.5rem; margin-bottom: 0.75rem;">
|
||||
<h3 style="color: #8b6914; margin-bottom: 0.5rem;">Notes MJ</h3>
|
||||
<div class="medium-editor item-text-long-line">
|
||||
{{formInput systemFields.biodata.fields.playernotes enriched=enrichedPlayernotes value=system.biodata.playernotes name="system.biodata.playernotes" toggled=true}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
@@ -48,16 +48,21 @@
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="flexrow">
|
||||
<div class="flexrow" style="align-items: center;">
|
||||
<label class="item-field-label-short">PV</label>
|
||||
<input type="text" class="item-field-label-short" name="system.pv.value" value="{{system.pv.value}}"
|
||||
data-dtype="Number" />
|
||||
<input type="text" class="item-field-label-short" name="system.pv.max" value="{{system.pv.max}}" disabled
|
||||
data-dtype="Number" />
|
||||
<div style="display: flex; align-items: center; gap: 0.2rem;">
|
||||
<button type="button" data-action="pvDecrease" title="Diminuer PV" style="cursor: pointer; padding: 0 0.3rem; font-size: 1rem; background: none; border: 1px solid #666; border-radius: 3px; color: #fff;">−</button>
|
||||
<input type="text" class="item-field-label-short" name="system.pv.value" value="{{system.pv.value}}"
|
||||
data-dtype="Number" data-tooltip="PV actuels" style="text-align: center; width: 3rem;" />
|
||||
<button type="button" data-action="pvIncrease" title="Augmenter PV" style="cursor: pointer; padding: 0 0.3rem; font-size: 1rem; background: none; border: 1px solid #666; border-radius: 3px; color: #fff;">+</button>
|
||||
<span style="margin-left: 0.2rem;">/</span>
|
||||
<input type="text" class="item-field-label-short" name="system.pv.max" value="{{system.pv.max}}" disabled
|
||||
data-dtype="Number" data-tooltip="PV maximum" style="text-align: center; width: 3rem;" />
|
||||
</div>
|
||||
<input type="text" class="item-field-label-short" name="system.pv.mod" value="{{system.pv.mod}}"
|
||||
data-dtype="Number" />
|
||||
data-dtype="Number" data-tooltip="Modificateur de PV" style="text-align: center; width: 3rem;" />
|
||||
<label class="item-field-label-short">Malus</label>
|
||||
<input type="text" class="item-field-label-short" value="{{pvMalus.value}}" data-dtype="Number" disabled />
|
||||
<input type="text" class="item-field-label-short" value="{{pvMalus.value}}" data-dtype="Number" disabled data-tooltip="Malus dû aux blessures" style="text-align: center; width: 3rem;" />
|
||||
<span> </span>
|
||||
|
||||
<select class="item-field-label-medium" type="text" name="system.statutmasque"
|
||||
@@ -68,9 +73,9 @@
|
||||
<span> </span>
|
||||
<label class="item-field-label-short">Tricherie</label>
|
||||
<input type="text" class="item-field-label-short-num" name="system.rang.tricherie.value"
|
||||
value="{{system.rang.tricherie.value}}" data-dtype="Number" />
|
||||
value="{{system.rang.tricherie.value}}" data-dtype="Number" data-tooltip="Points de tricherie actuels" />
|
||||
<input type="text" class="item-field-label-short-num" name="system.rang.tricherie.max"
|
||||
value="{{system.rang.tricherie.max}}" data-dtype="Number" />
|
||||
value="{{system.rang.tricherie.max}}" data-dtype="Number" data-tooltip="Points de tricherie maximum" />
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -134,8 +139,7 @@
|
||||
</li>
|
||||
{{#each futileSkills as |skill key|}}
|
||||
<li class="item flexrow " data-item-id="{{skill._id}}" data-item-type="competence">
|
||||
<span class="item-field-label-long2 roll-style"><a class="roll-competence" data-action="rollRootCompetence" item-field-label-short"
|
||||
data-attr-key="tochoose">{{skill.name}}</a></span>
|
||||
<span class="item-field-label-long2 roll-style"><a class="roll-competence" data-action="rollCompetence">{{skill.name}}</a></span>
|
||||
|
||||
<select class="item-field-label-short edit-item-data" type="text" data-item-field="niveau"
|
||||
value="{{skill.system.niveau}}" data-dtype="Number">
|
||||
@@ -159,50 +163,88 @@
|
||||
<div class="tab combat" data-group="primary" data-tab="combat">
|
||||
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow">
|
||||
<li class="item flexrow" style="justify-content: center; margin-bottom: 0.5rem;">
|
||||
<button class="chat-card-button roll-initiative" data-action="rollInitiative">Initiative (actuelle : {{initiative}} )</button>
|
||||
</li>
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<label class="item-field-label-medium"><strong>Esquive</strong></label>
|
||||
<label class="item-field-label-medium">Masquée</label>
|
||||
<input type="text" class="item-field-label-short" name="system.combat.esquive.masquee"
|
||||
value="{{system.combat.esquive.masquee}}" data-dtype="Number" />
|
||||
<label class="item-field-label-medium">Démasquée</label>
|
||||
<input type="text" class="item-field-label-short" name="system.combat.esquive.demasquee"
|
||||
value="{{system.combat.esquive.demasquee}}" data-dtype="Number" />
|
||||
<label class="item-field-label-short"> </label>
|
||||
<label class="item-field-label-medium"><strong>Parade</strong></label>
|
||||
<label class="item-field-label-medium">Masquée</label>
|
||||
<input type="text" class="item-field-label-short" name="system.combat.parade.masquee"
|
||||
value="{{system.combat.parade.masquee}}" data-dtype="Number" />
|
||||
<label class="item-field-label-medium">Démasquée</label>
|
||||
<input type="text" class="item-field-label-short" name="system.combat.parade.demasquee"
|
||||
value="{{system.combat.parade.demasquee}}" data-dtype="Number" />
|
||||
</li>
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<label class="item-field-label-long">Rés. physique</label>
|
||||
<input type="text" class="item-field-label-short" name="system.combat.resistancephysique.value"
|
||||
value="{{system.combat.resistancephysique.value}}" data-dtype="Number" />
|
||||
<label class="item-field-label-short"> </label>
|
||||
<label class="item-field-label-long">Rés. psychique</label>
|
||||
<input type="text" class="item-field-label-short" name="system.combat.resistancepsychique.value"
|
||||
value="{{system.combat.resistancepsychique.value}}" data-dtype="Number" />
|
||||
<label class="item-field-label-short"> </label>
|
||||
<label class="item-field-label-medium">Protection : </label>
|
||||
<input type="text" class="item-field-label-short" name="system.combat.protection.value"
|
||||
value="{{system.combat.protection.value}}" data-dtype="Number" />
|
||||
</li>
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<label class="item-field-label-long">Effets secondaires</label>
|
||||
<input type="text" class="item-field-label-short" name="system.combat.effetssecondaires"
|
||||
value="{{system.combat.effetssecondaires}}" data-dtype="String" />
|
||||
<label class="item-field-label-short"> </label>
|
||||
<label class="item-field-label-long">Dissimulation : </label>
|
||||
<input type="text" class="item-field-label-short" name="system.combat.dissimulation.value"
|
||||
value="{{system.combat.dissimulation.value}}" data-dtype="Number" />
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; margin-bottom: 0.5rem;">
|
||||
<!-- Esquive -->
|
||||
<div style="background: rgba(56, 32, 32, 0.3); border-radius: 0.25rem; padding: 0.3rem 0.5rem;">
|
||||
<div style="text-align: center; font-weight: bold; margin-bottom: 0.25rem; color: #8b6914; font-size: 0.85rem;">Esquive</div>
|
||||
<div class="flexrow" style="gap: 0.5rem; align-items: center; justify-content: center;">
|
||||
<label style="font-size: 0.75rem; color: #999;">Masquée</label>
|
||||
<input type="text" class="item-field-label-short" name="system.combat.esquive.masquee"
|
||||
value="{{system.combat.esquive.masquee}}" data-dtype="Number" style="text-align: center; max-width: 3rem; padding: 0.15rem;" />
|
||||
<label style="font-size: 0.75rem; color: #999; margin-left: 0.3rem;">Démasquée</label>
|
||||
<input type="text" class="item-field-label-short" name="system.combat.esquive.demasquee"
|
||||
value="{{system.combat.esquive.demasquee}}" data-dtype="Number" style="text-align: center; max-width: 3rem; padding: 0.15rem;" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Parade -->
|
||||
<div style="background: rgba(56, 32, 32, 0.3); border-radius: 0.25rem; padding: 0.3rem 0.5rem;">
|
||||
<div style="text-align: center; font-weight: bold; margin-bottom: 0.25rem; color: #8b6914; font-size: 0.85rem;">Parade</div>
|
||||
<div class="flexrow" style="gap: 0.5rem; align-items: center; justify-content: center;">
|
||||
<label style="font-size: 0.75rem; color: #999;">Masquée</label>
|
||||
<input type="text" class="item-field-label-short" name="system.combat.parade.masquee"
|
||||
value="{{system.combat.parade.masquee}}" data-dtype="Number" style="text-align: center; max-width: 3rem; padding: 0.15rem;" />
|
||||
<label style="font-size: 0.75rem; color: #999; margin-left: 0.3rem;">Démasquée</label>
|
||||
<input type="text" class="item-field-label-short" name="system.combat.parade.demasquee"
|
||||
value="{{system.combat.parade.demasquee}}" data-dtype="Number" style="text-align: center; max-width: 3rem; padding: 0.15rem;" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 0.5rem; margin-bottom: 0.5rem;">
|
||||
<!-- Résistance Physique -->
|
||||
<div style="background: rgba(56, 32, 32, 0.3); border-radius: 0.25rem; padding: 0.3rem 0.5rem;">
|
||||
<div class="flexrow" style="align-items: center; justify-content: center; gap: 0.4rem;">
|
||||
<label style="font-size: 0.75rem; font-weight: bold; color: #d4a574;">Rés. physique</label>
|
||||
<input type="text" class="item-field-label-short" name="system.combat.resistancephysique.value"
|
||||
value="{{system.combat.resistancephysique.value}}" data-dtype="Number" style="text-align: center; max-width: 3rem; padding: 0.15rem;" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Résistance Psychique -->
|
||||
<div style="background: rgba(56, 32, 32, 0.3); border-radius: 0.25rem; padding: 0.3rem 0.5rem;">
|
||||
<div class="flexrow" style="align-items: center; justify-content: center; gap: 0.4rem;">
|
||||
<label style="font-size: 0.75rem; font-weight: bold; color: #d4a574;">Rés. psychique</label>
|
||||
<input type="text" class="item-field-label-short" name="system.combat.resistancepsychique.value"
|
||||
value="{{system.combat.resistancepsychique.value}}" data-dtype="Number" style="text-align: center; max-width: 3rem; padding: 0.15rem;" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Protection -->
|
||||
<div style="background: rgba(56, 32, 32, 0.3); border-radius: 0.25rem; padding: 0.3rem 0.5rem;">
|
||||
<div class="flexrow" style="align-items: center; justify-content: center; gap: 0.4rem;">
|
||||
<label style="font-size: 0.75rem; font-weight: bold; color: #d4a574;">Protection</label>
|
||||
<input type="text" class="item-field-label-short" name="system.combat.protection.value"
|
||||
value="{{system.combat.protection.value}}" data-dtype="Number" style="text-align: center; max-width: 3rem; padding: 0.15rem;" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="display: grid; grid-template-columns: 2fr 1fr; gap: 0.5rem; margin-bottom: 0.5rem;">
|
||||
<!-- Effets secondaires -->
|
||||
<div style="background: rgba(56, 32, 32, 0.3); border-radius: 0.25rem; padding: 0.3rem 0.4rem;">
|
||||
<div class="flexcol" style="gap: 0.2rem;">
|
||||
<label style="font-size: 0.75rem; font-weight: bold; color: #d4a574; text-align: center;">Effets secondaires</label>
|
||||
<input type="text" name="system.combat.effetssecondaires"
|
||||
value="{{system.combat.effetssecondaires}}" data-dtype="String" style="text-align: center; width: 100%; padding: 0.15rem;" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Dissimulation -->
|
||||
<div style="background: rgba(56, 32, 32, 0.3); border-radius: 0.25rem; padding: 0.3rem 0.5rem;">
|
||||
<div class="flexrow" style="align-items: center; justify-content: center; gap: 0.4rem;">
|
||||
<label style="font-size: 0.75rem; font-weight: bold; color: #d4a574;">Dissimulation</label>
|
||||
<input type="text" class="item-field-label-short" name="system.combat.dissimulation.value"
|
||||
value="{{system.combat.dissimulation.value}}" data-dtype="Number" style="text-align: center; max-width: 3rem; padding: 0.15rem;" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flexcol">
|
||||
|
||||
<div class="sheet-box color-bg-archetype">
|
||||
@@ -224,7 +266,7 @@
|
||||
</div>
|
||||
</li>
|
||||
{{#each armes as |arme key|}}
|
||||
<li class="item flexrow " data-item-id="{{arme._id}}" data-item-type="arme">
|
||||
<li class="item flexrow " data-item-id="{{arme._id}}" data-item-type="arme" style="gap: 0.3rem;">
|
||||
<img class="item-name-img" src="{{arme.img}}" />
|
||||
<span class="item-name-label competence-name">{{arme.name}}</span>
|
||||
|
||||
@@ -232,21 +274,20 @@
|
||||
{{arme.system.degats}}
|
||||
</span>
|
||||
|
||||
<span class="item-field-label-short">
|
||||
<span style="min-width: 4.5rem;">
|
||||
<button class="roll-attaque-arme" data-action="rollAttaqueArme" button-sheet-roll">Attaque</button>
|
||||
</span>
|
||||
|
||||
<span class="item-field-label-short">
|
||||
<span style="min-width: 4.5rem;">
|
||||
<button class="roll-assomer-arme" data-action="rollAssomerArme" button-sheet-roll">Assommer</button>
|
||||
</span>
|
||||
|
||||
{{#if arme.system.isMelee}}
|
||||
<span class="item-field-label-short">
|
||||
<span style="min-width: 4.5rem;">
|
||||
<button class="roll-attaque-charge-arme" data-action="rollAttaqueChargeArme" button-sheet-roll">Charger</button>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<button class="roll-attaque-brutale-arme" data-action="rollAttaqueBrutaleArme" button-sheet-roll button-sheet-roll-long1">Attaque
|
||||
brutale</button>
|
||||
<span style="min-width: 6.1rem;">
|
||||
<button class="roll-attaque-brutale-arme" data-action="rollAttaqueBrutaleArme" button-sheet-roll button-sheet-roll-long1">Att. brutale</button>
|
||||
</span>
|
||||
{{/if}}
|
||||
|
||||
@@ -282,7 +323,7 @@
|
||||
<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>
|
||||
class="arme-defensif">{{protection.system.points}}</label>
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
@@ -313,24 +354,48 @@
|
||||
</div>
|
||||
|
||||
<div class="flexrow">
|
||||
<ul>
|
||||
<li class="flexrow item">
|
||||
<label class="item-field-label-medium roll-style"><a class="roll-rang" data-action="rollRang" item-field-label-short"
|
||||
data-rang-key="feerie">Féerie</a></label>
|
||||
<input type="text" class="item-field-label-short" name="system.rang.feerie.value"
|
||||
value="{{system.rang.feerie.value}}" data-dtype="Number" />
|
||||
<input type="text" class="item-field-label-short" name="system.rang.feerie.max"
|
||||
value="{{system.rang.feerie.max}}" data-dtype="Number" />
|
||||
<span class="item-field-label-medium"></span>
|
||||
<label class="item-field-label-medium roll-style"><a class="roll-rang" data-action="rollRang" 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" data-action="dialogRecupUsage" item-field-label-long">Récup.
|
||||
P. d'Usage</a></label>
|
||||
<ul style="width: 100%;">
|
||||
<li class="flexrow item" style="gap: 0.5rem; align-items: flex-end;">
|
||||
<div class="flexcol" style="gap: 0.1rem;">
|
||||
<label style="font-size: 0.7rem; color: #999; text-align: center;">Rang</label>
|
||||
<label class="item-field-label-medium roll-style"><a class="roll-rang" data-action="rollRang"
|
||||
data-rang-key="feerie">Féerie</a></label>
|
||||
</div>
|
||||
<div class="flexcol" style="align-items: center; gap: 0.1rem;">
|
||||
<label style="font-size: 0.7rem; color: #999;">Valeur</label>
|
||||
<input type="text" class="item-field-label-short" name="system.rang.feerie.value"
|
||||
value="{{system.rang.feerie.value}}" data-dtype="Number" style="text-align: center;" />
|
||||
</div>
|
||||
<div class="flexcol" style="align-items: center; gap: 0.1rem;">
|
||||
<label style="font-size: 0.7rem; color: #999;">Max</label>
|
||||
<input type="text" class="item-field-label-short" name="system.rang.feerie.max"
|
||||
value="{{system.rang.feerie.max}}" data-dtype="Number" style="text-align: center;" />
|
||||
</div>
|
||||
|
||||
<span style="width: 1.5rem;"></span>
|
||||
|
||||
<div class="flexcol" style="gap: 0.1rem;">
|
||||
<label style="font-size: 0.7rem; color: #999; text-align: center;">Rang</label>
|
||||
<label class="item-field-label-medium roll-style"><a class="roll-rang" data-action="rollRang"
|
||||
data-rang-key="masque">Masque</a></label>
|
||||
</div>
|
||||
<div class="flexcol" style="align-items: center; gap: 0.1rem;">
|
||||
<label style="font-size: 0.7rem; color: #999;">Valeur</label>
|
||||
<input type="text" class="item-field-label-short" name="system.rang.masque.value"
|
||||
value="{{system.rang.masque.value}}" data-dtype="Number" style="text-align: center;" />
|
||||
</div>
|
||||
<div class="flexcol" style="align-items: center; gap: 0.1rem;">
|
||||
<label style="font-size: 0.7rem; color: #999;">Max</label>
|
||||
<input type="text" class="item-field-label-short" name="system.rang.masque.max"
|
||||
value="{{system.rang.masque.max}}" data-dtype="Number" style="text-align: center;" />
|
||||
</div>
|
||||
|
||||
<span style="flex: 1;"></span>
|
||||
|
||||
<div class="flexcol" style="gap: 0.1rem;">
|
||||
<label style="font-size: 0.7rem; color: transparent;">Action</label>
|
||||
<label class="item-field-label-long roll-style"><a class="dialog-recup-usage" data-action="dialogRecupUsage">Récup. P. d'Usage</a></label>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -506,16 +571,20 @@
|
||||
</div>
|
||||
|
||||
{{#each magieList as |magie idx|}}
|
||||
<li class="item flexrow " data-item-id="{{magie.competence._id}}" data-item-type="competence">
|
||||
<h3 class="flexrow"><label class="items-title-text "><a class="roll-competence" data-action="rollRootCompetence" item-field-label-short"
|
||||
data-attr-key="tochoose">{{magie.name}} {{magie.competence.system.niveau}} </a> </label>
|
||||
<!-- <span>Rang : {{magie.rang}}</span> -->
|
||||
<span>{{magie.rangSpecificName}}</span>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-edit" data-action="editItem" title="Editer l'item"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-control item-delete" data-action="deleteItem" title="Supprimer l'item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</h3>
|
||||
<li class="item flexrow magie-section-header" data-item-id="{{magie.competence._id}}" data-item-type="competence">
|
||||
<div class="magie-section-title">
|
||||
<label class="items-title-text">
|
||||
<a class="roll-competence" data-action="rollRootCompetence" data-attr-key="tochoose">
|
||||
{{magie.name}} {{magie.competence.system.niveau}}
|
||||
</a>
|
||||
</label>
|
||||
<span class="magie-rang-name">{{magie.rangSpecificName}}</span>
|
||||
</div>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-edit" data-action="editItem" title="Editer l'item"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-control item-delete" data-action="deleteItem" title="Supprimer l'item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
{{#if (eq magie.name "Magie du Clan")}}
|
||||
@@ -667,9 +736,16 @@
|
||||
<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">
|
||||
<span class="item-name-img" style="visibility: hidden;"></span>
|
||||
<span class="item-field-label-long2">
|
||||
<h3><label class="items-title-text">Equipements</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-short" style="text-align: center;">
|
||||
<label class="short-label">Quantité</label>
|
||||
</span>
|
||||
<span class="item-field-label-short" style="text-align: center;">
|
||||
<label class="short-label">Rareté</label>
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-action="createItem" data-type="equipement" title="Créer un équipement"><i
|
||||
@@ -677,9 +753,18 @@
|
||||
</div>
|
||||
</li>
|
||||
{{#each equipements as |equip key|}}
|
||||
<li class="item flexrow " data-item-id="{{equip._id}}" data-item-type="equipement">
|
||||
<li class="item flexrow " data-item-id="{{equip._id}}" data-item-type="equipement" style="align-items: center;">
|
||||
<img class="item-name-img" src="{{equip.img}}" />
|
||||
<span class="item-field-label-long2">{{equip.name}}</span>
|
||||
<span class="item-field-label-short" style="display: flex; align-items: center; justify-content: center; gap: 0.2rem;">
|
||||
<button type="button" data-action="quantityDecrease" title="Diminuer" style="cursor: pointer; padding: 0 0.3rem; font-size: 1rem; background: none; border: 1px solid #666; border-radius: 3px; color: #fff;">−</button>
|
||||
<input type="text" name="system.quantite" value="{{equip.system.quantite}}" data-dtype="Number"
|
||||
style="text-align: center; width: 2.5rem; padding: 0.1rem;" readonly />
|
||||
<button type="button" data-action="quantityIncrease" title="Augmenter" style="cursor: pointer; padding: 0 0.3rem; font-size: 1rem; background: none; border: 1px solid #666; border-radius: 3px; color: #fff;">+</button>
|
||||
</span>
|
||||
<span class="item-field-label-short" style="text-align: center;">
|
||||
{{equip.system.rarete}}
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-edit" data-action="editItem" title="Editer l'item"><i class="fas fa-edit"></i></a>
|
||||
@@ -725,6 +810,7 @@
|
||||
<li class="item flexrow " data-item-id="{{contact._id}}" data-item-type="contact">
|
||||
<img class="item-name-img" src="{{contact.img}}" />
|
||||
<span class="item-field-label-long2">{{contact.name}}</span>
|
||||
<span class="item-field-label-medium" style="text-align: center; font-style: italic; color: #999;">{{contact.system.contacttype}}</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-edit" data-action="editItem" title="Editer l'item"><i class="fas fa-edit"></i></a>
|
||||
@@ -769,71 +855,73 @@
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="flexrow">
|
||||
<div class="grid-2col">
|
||||
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 0.5rem;">
|
||||
<!-- Colonne 1: Identité et Activités -->
|
||||
<div style="background: rgba(56, 32, 32, 0.3); border-radius: 0.3rem; padding: 0.5rem;">
|
||||
<div style="text-align: center; font-weight: bold; margin-bottom: 0.5rem; color: #8b6914; font-size: 0.9rem;">Identité</div>
|
||||
<ul>
|
||||
<li class="flexrow item">
|
||||
<label class="item-field-label-long2">Nom humain</label> <input type="text" class=""
|
||||
name="system.biodata.nomhumain" value="{{system.biodata.nomhumain}}" data-dtype="String" />
|
||||
<label class="item-field-label-long2">Nom humain</label>
|
||||
<input type="text" name="system.biodata.nomhumain" value="{{system.biodata.nomhumain}}" data-dtype="String" style="flex: 1;" />
|
||||
</li>
|
||||
<li class="flexrow item">
|
||||
<label class="item-field-label-long2">Activités</label> <input type="text" class=""
|
||||
name="system.biodata.activites" value="{{system.biodata.activites}}" data-dtype="String" />
|
||||
<label class="item-field-label-long2">Activités</label>
|
||||
<input type="text" name="system.biodata.activites" value="{{system.biodata.activites}}" data-dtype="String" style="flex: 1;" />
|
||||
</li>
|
||||
<li class="flexrow item">
|
||||
<label class="item-field-label-long2">Apparence masquée</label> <input type="text" class=""
|
||||
name="system.biodata.apparencemasquee" value="{{system.biodata.apparencemasquee}}"
|
||||
data-dtype="String" />
|
||||
<label class="item-field-label-long2">Titre et Famille</label>
|
||||
<input type="text" name="system.biodata.titrefamille" value="{{system.biodata.titrefamille}}" data-dtype="String" style="flex: 1;" />
|
||||
</li>
|
||||
<li class="flexrow item">
|
||||
<label class="item-field-label-long2">Apparence démasquée</label> <input type="text" class=""
|
||||
name="system.biodata.apparencedemasquee" value="{{system.biodata.apparencedemasquee}}"
|
||||
data-dtype="String" />
|
||||
<label class="item-field-label-long2">Factions féériques</label>
|
||||
<input type="text" name="system.biodata.factionfeerique" value="{{system.biodata.factionfeerique}}" data-dtype="String" style="flex: 1;" />
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<!-- Colonne 2: Traits -->
|
||||
<div style="background: rgba(56, 32, 32, 0.3); border-radius: 0.3rem; padding: 0.5rem;">
|
||||
<div style="text-align: center; font-weight: bold; margin-bottom: 0.5rem; color: #8b6914; font-size: 0.9rem;">Traits & Langues</div>
|
||||
<ul>
|
||||
<li class="flexrow item">
|
||||
<label class="item-field-label-long2">Titre et Famille</label> <input type="text" class=""
|
||||
name="system.biodata.titrefamille" value="{{system.biodata.titrefamille}}" data-dtype="String" />
|
||||
<label class="item-field-label-long2">Traits de caractères</label>
|
||||
<input type="text" name="system.biodata.traitscaracteres" value="{{system.biodata.traitscaracteres}}" data-dtype="String" style="flex: 1;" />
|
||||
</li>
|
||||
<li class="flexrow item">
|
||||
<label class="item-field-label-long2">Factions féériques</label> <input type="text" class=""
|
||||
name="system.biodata.factionfeerique" value="{{system.biodata.factionfeerique}}"
|
||||
data-dtype="String" />
|
||||
</li>
|
||||
<li class="flexrow item">
|
||||
<label class="item-field-label-long2">Traits de caractères dominants</label> <input type="text" class=""
|
||||
name="system.biodata.traitscaracteres" value="{{system.biodata.traitscaracteres}}"
|
||||
data-dtype="String" />
|
||||
</li>
|
||||
<li class="flexrow item">
|
||||
<label class="item-field-label-long2">Langues</label> <input type="text" class=""
|
||||
name="system.biodata.langues" value="{{system.biodata.langues}}" data-dtype="String" />
|
||||
<label class="item-field-label-long2">Langues</label>
|
||||
<input type="text" name="system.biodata.langues" value="{{system.biodata.langues}}" data-dtype="String" style="flex: 1;" />
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="grid grid-3col">
|
||||
<div>
|
||||
<div style="display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 1rem; margin-top: 0.5rem;">
|
||||
<!-- Colonne 1: Informations générales -->
|
||||
<div style="background: rgba(56, 32, 32, 0.3); border-radius: 0.3rem; padding: 0.5rem;">
|
||||
<div style="text-align: center; font-weight: bold; margin-bottom: 0.5rem; color: #8b6914; font-size: 0.9rem;">Informations générales</div>
|
||||
<ul>
|
||||
<li class="flexrow item">
|
||||
<label class="generic-label">Fortune</label>
|
||||
<input type="text" class="" name="system.biodata.fortune" value="{{system.biodata.fortune}}"
|
||||
data-dtype="String" />
|
||||
data-dtype="String" style="flex: 1;" />
|
||||
</li>
|
||||
<li class="flexrow item">
|
||||
<label class="generic-label">Genre</label>
|
||||
<input type="text" class="" name="system.biodata.sex" value="{{system.biodata.sex}}"
|
||||
data-dtype="String" />
|
||||
data-dtype="String" style="flex: 1;" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">Age</label>
|
||||
<input type="text" class="" name="system.biodata.age" value="{{system.biodata.age}}"
|
||||
data-dtype="String" />
|
||||
data-dtype="String" style="flex: 1;" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">Type de taille</label>
|
||||
<input type="text" class="" name="system.experience.typetaille" value="{{system.experience.typetaille}}"
|
||||
data-dtype="String" style="flex: 1;" />
|
||||
</li>
|
||||
{{#if isGM}}
|
||||
<li class="item flexrow">
|
||||
<li class="item flexrow" style="align-items: center;">
|
||||
<label class="generic-label">Fiche de Magie ?</label>
|
||||
<input type="checkbox" class="item-field-label-short edit-item-data" name="system.biodata.magie"
|
||||
{{checked system.biodata.magie}} />
|
||||
@@ -842,53 +930,86 @@
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<!-- Colonne 2: Apparence Masquée -->
|
||||
<div style="background: rgba(56, 32, 32, 0.3); border-radius: 0.3rem; padding: 0.5rem;">
|
||||
<div style="text-align: center; font-weight: bold; margin-bottom: 0.5rem; color: #8b6914; font-size: 0.9rem;">Apparence Masquée</div>
|
||||
<ul>
|
||||
<li class="flexrow item">
|
||||
<label class="generic-label">Description</label>
|
||||
<input type="text" name="system.biodata.apparencemasquee" value="{{system.biodata.apparencemasquee}}" data-dtype="String" style="flex: 1;" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">Taille Masquée</label>
|
||||
<label class="generic-label">Taille</label>
|
||||
<input type="text" class="" name="system.biodata.taillemasquee" value="{{system.biodata.taillemasquee}}"
|
||||
data-dtype="String" />
|
||||
data-dtype="String" style="flex: 1;" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">Taille Démasquée</label>
|
||||
<input type="text" class="" name="system.biodata.tailledemasquee"
|
||||
value="{{system.biodata.tailledemasquee}}" data-dtype="String" />
|
||||
<label class="generic-label">Poids</label>
|
||||
<input type="text" class="" name="system.biodata.poidsmasquee" value="{{system.biodata.poidsmasquee}}"
|
||||
data-dtype="String" style="flex: 1;" />
|
||||
</li>
|
||||
<li class="flexrow item">
|
||||
<label class="generic-label">Type de taille</label>
|
||||
<input type="text" class="" name="system.experience.typetaille" value="{{system.experience.typetaille}}"
|
||||
data-dtype="String" />
|
||||
</li>
|
||||
<li class="flexrow item">
|
||||
<label class="generic-label">Points d'héritage</label>
|
||||
<input type="text" class="" name="system.rang.heritage.value" value="{{system.rang.heritage.value}}"
|
||||
data-dtype="String" />
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<!-- Colonne 3: Apparence Démasquée -->
|
||||
<div style="background: rgba(56, 32, 32, 0.3); border-radius: 0.3rem; padding: 0.5rem;">
|
||||
<div style="text-align: center; font-weight: bold; margin-bottom: 0.5rem; color: #8b6914; font-size: 0.9rem;">Apparence Démasquée</div>
|
||||
<ul>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">Poids Masqué</label>
|
||||
<input type="text" class="" name="system.biodata.poidsmasquee" value="{{system.biodata.poidsmasquee}}"
|
||||
data-dtype="String" />
|
||||
<li class="flexrow item">
|
||||
<label class="generic-label">Description</label>
|
||||
<input type="text" name="system.biodata.apparencedemasquee" value="{{system.biodata.apparencedemasquee}}" data-dtype="String" style="flex: 1;" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">Poids Démasqué</label>
|
||||
<label class="generic-label">Taille</label>
|
||||
<input type="text" class="" name="system.biodata.tailledemasquee"
|
||||
value="{{system.biodata.tailledemasquee}}" data-dtype="String" style="flex: 1;" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">Poids</label>
|
||||
<input type="text" class="" name="system.biodata.poidsdemasquee"
|
||||
value="{{system.biodata.poidsdemasquee}}" data-dtype="String" />
|
||||
value="{{system.biodata.poidsdemasquee}}" data-dtype="String" style="flex: 1;" />
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 0.5rem;">
|
||||
<!-- Expérience -->
|
||||
<div style="background: rgba(56, 32, 32, 0.3); border-radius: 0.3rem; padding: 0.5rem;">
|
||||
<div style="text-align: center; font-weight: bold; margin-bottom: 0.5rem; color: #8b6914; font-size: 0.9rem;">Expérience</div>
|
||||
<ul>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">XP</label>
|
||||
<input type="text" class="" name="system.experience.value" value="{{system.experience.value}}"
|
||||
data-dtype="String" />
|
||||
data-dtype="String" style="flex: 1;" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">XP pour tricher</label>
|
||||
<input type="text" class="" name="system.experience.pourtricher"
|
||||
value="{{system.experience.pourtricher}}" data-dtype="String" />
|
||||
value="{{system.experience.pourtricher}}" data-dtype="String" style="flex: 1;" />
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<!-- Points d'héritage -->
|
||||
<div style="background: rgba(56, 32, 32, 0.3); border-radius: 0.3rem; padding: 0.5rem;">
|
||||
<div style="text-align: center; font-weight: bold; margin-bottom: 0.5rem; color: #8b6914; font-size: 0.9rem;">Héritage</div>
|
||||
<ul>
|
||||
<li class="flexrow item">
|
||||
<label class="generic-label">Points d'héritage</label>
|
||||
<input type="text" class="" name="system.rang.heritage.value" value="{{system.rang.heritage.value}}"
|
||||
data-dtype="String" style="flex: 1;" />
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="display: none;">
|
||||
<div>
|
||||
<ul>
|
||||
<li class="flexrow item" style="display: none;">
|
||||
<label class="item-field-label-long2">Nom humain (old)</label> <input type="text" class=""
|
||||
name="system.biodata.nomhumain_old" value="" data-dtype="String" />
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -906,40 +1027,40 @@
|
||||
</div>
|
||||
|
||||
<div class="tab notes" data-group="primary" data-tab="notes">
|
||||
<span>
|
||||
<h3>Historique</h3>
|
||||
</span>
|
||||
<div class="medium-editor item-text-long-line">
|
||||
{{editor description target="system.biodata.description" button=true owner=owner editable=editable}}
|
||||
|
||||
<div style="background: rgba(56, 32, 32, 0.3); border-radius: 0.3rem; padding: 0.5rem; margin-bottom: 0.75rem;">
|
||||
<h3 style="color: #8b6914; margin-bottom: 0.5rem;">Historique</h3>
|
||||
<div class="medium-editor item-text-long-line">
|
||||
{{formInput systemFields.biodata.fields.description enriched=enrichedDescription value=system.biodata.description name="system.biodata.description" toggled=true}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<span>
|
||||
<h3>Notes diverses</h3>
|
||||
</span>
|
||||
<div class="medium-editor item-text-long-line">
|
||||
{{editor playernotes target="system.biodata.playernotes" button=true owner=owner editable=editable}}
|
||||
<div style="background: rgba(56, 32, 32, 0.3); border-radius: 0.3rem; padding: 0.5rem; margin-bottom: 0.75rem;">
|
||||
<h3 style="color: #8b6914; margin-bottom: 0.5rem;">Notes diverses</h3>
|
||||
<div class="medium-editor item-text-long-line">
|
||||
{{formInput systemFields.biodata.fields.playernotes enriched=enrichedPlayernotes value=system.biodata.playernotes name="system.biodata.playernotes" toggled=true}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<span>
|
||||
<h3>Rêves étranges</h3>
|
||||
</span>
|
||||
<div class="medium-editor item-text-long-line">
|
||||
{{editor revesetranges target="system.biodata.revesetranges" button=true owner=owner editable=editable}}
|
||||
<div style="background: rgba(56, 32, 32, 0.3); border-radius: 0.3rem; padding: 0.5rem; margin-bottom: 0.75rem;">
|
||||
<h3 style="color: #8b6914; margin-bottom: 0.5rem;">Rêves étranges</h3>
|
||||
<div class="medium-editor item-text-long-line">
|
||||
{{formInput systemFields.biodata.fields.revesetranges enriched=enrichedRevesetranges value=system.biodata.revesetranges name="system.biodata.revesetranges" toggled=true}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<span>
|
||||
<h3>Secrets découverts</h3>
|
||||
</span>
|
||||
<div class="medium-editor item-text-long-line">
|
||||
{{editor secretsdecouverts target="system.biodata.secretsdecouverts" button=true owner=owner
|
||||
editable=editable}}
|
||||
<div style="background: rgba(56, 32, 32, 0.3); border-radius: 0.3rem; padding: 0.5rem; margin-bottom: 0.75rem;">
|
||||
<h3 style="color: #8b6914; margin-bottom: 0.5rem;">Secrets découverts</h3>
|
||||
<div class="medium-editor item-text-long-line">
|
||||
{{formInput systemFields.biodata.fields.secretsdecouverts enriched=enrichedSecretsdecouverts value=system.biodata.secretsdecouverts name="system.biodata.secretsdecouverts" toggled=true}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<span>
|
||||
<h3>Questions en suspens</h3>
|
||||
</span>
|
||||
<div class="medium-editor item-text-long-line">
|
||||
{{editor questions target="system.biodata.questions" button=true owner=owner editable=editable}}
|
||||
<div style="background: rgba(56, 32, 32, 0.3); border-radius: 0.3rem; padding: 0.5rem; margin-bottom: 0.75rem;">
|
||||
<h3 style="color: #8b6914; margin-bottom: 0.5rem;">Questions en suspens</h3>
|
||||
<div class="medium-editor item-text-long-line">
|
||||
{{formInput systemFields.biodata.fields.questions enriched=enrichedQuestions value=system.biodata.questions name="system.biodata.questions" toggled=true}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
176
templates/chat-generic-result-old.hbs
Normal file
176
templates/chat-generic-result-old.hbs
Normal file
@@ -0,0 +1,176 @@
|
||||
{{!-- Chat Card for Roll Results --}}
|
||||
<div class="heritiers-chat-card">
|
||||
|
||||
{{!-- Header --}}
|
||||
<div class="chat-card-header">
|
||||
{{#if actorImg}}
|
||||
<img class="chat-actor-avatar" src="{{actorImg}}" alt="{{alias}}" />
|
||||
{{/if}}
|
||||
<div class="chat-actor-info">
|
||||
<h4 class="chat-actor-name">{{alias}}</h4>
|
||||
{{#if competence}}
|
||||
<div class="chat-action-name">{{competence.name}}{{#if arme}} - {{arme.name}}{{/if}}</div>
|
||||
{{else if pouvoir}}
|
||||
<div class="chat-action-name">{{pouvoir.name}}</div>
|
||||
{{else if sort}}
|
||||
<div class="chat-action-name">{{sort.name}}</div>
|
||||
{{else if rang}}
|
||||
<div class="chat-action-name">{{rang.label}}</div>
|
||||
{{else}}
|
||||
<div class="chat-action-name">{{carac.label}}</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{#if actionImg}}
|
||||
<img class="chat-action-icon" src="{{actionImg}}" alt="{{name}}" />
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
{{!-- Attack Type Badge --}}
|
||||
{{#if attackType}}
|
||||
<div class="chat-attack-badge">{{attackType}}</div>
|
||||
{{/if}}
|
||||
|
||||
{{!-- Roll Calculation Grid --}}
|
||||
{{#unless noRoll}}
|
||||
<div class="chat-roll-grid">
|
||||
<div class="chat-roll-item">
|
||||
<span class="chat-roll-label">Carac</span>
|
||||
<span class="chat-roll-value">{{carac.label}} ({{carac.value}})</span>
|
||||
</div>
|
||||
|
||||
{{#if rang}}
|
||||
<div class="chat-roll-item">
|
||||
<span class="chat-roll-label">Rang</span>
|
||||
<span class="chat-roll-value">{{rang.value}}</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if competence}}
|
||||
<div class="chat-roll-item">
|
||||
<span class="chat-roll-label">Compétence</span>
|
||||
<span class="chat-roll-value">{{competence.system.niveau}}</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if useSpecialite}}
|
||||
<div class="chat-roll-item">
|
||||
<span class="chat-roll-label">Spécialité</span>
|
||||
<span class="chat-roll-value">+1</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
<div class="chat-roll-item">
|
||||
<span class="chat-roll-label">Formule</span>
|
||||
<span class="chat-roll-value">{{diceFormula}}</span>
|
||||
</div>
|
||||
|
||||
<div class="chat-roll-item">
|
||||
<span class="chat-roll-label">Dé</span>
|
||||
<span class="chat-roll-value chat-dice-result">{{diceResult}}</span>
|
||||
</div>
|
||||
</div>
|
||||
{{/unless}}
|
||||
|
||||
{{!-- Result Display --}}
|
||||
{{#unless noRoll}}
|
||||
<div class="chat-result-box {{#if isSuccess}}success{{else}}{{#if isCriticalFailure}}critical-failure{{else}}failure{{/if}}{{/if}}">
|
||||
<div class="chat-result-total">
|
||||
<span class="chat-result-label">Total</span>
|
||||
<span class="chat-result-number">{{finalResult}}</span>
|
||||
</div>
|
||||
|
||||
{{#if (gt sdValue "-1")}}
|
||||
<div class="chat-result-details">
|
||||
<span>SD: {{sdValue}}</span>
|
||||
<span>Marge: {{marge}}</span>
|
||||
</div>
|
||||
<div class="chat-result-status">
|
||||
{{#if isCriticalSuccess}}
|
||||
<i class="fas fa-star"></i> RÉUSSITE CRITIQUE !
|
||||
{{else if isCriticalFailure}}
|
||||
<i class="fas fa-skull"></i> ÉCHEC CRITIQUE !
|
||||
{{else if isSuccess}}
|
||||
<i class="fas fa-check"></i> Succès
|
||||
{{else}}
|
||||
<i class="fas fa-times"></i> Échec
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if isBrelan}}
|
||||
<div class="chat-special-result"><i class="fas fa-dice"></i> Brelan !</div>
|
||||
{{/if}}
|
||||
{{#if isSuite}}
|
||||
<div class="chat-special-result"><i class="fas fa-dice"></i> Suite !</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/unless}}
|
||||
|
||||
{{!-- Tricherie Adjacent Faces --}}
|
||||
{{#if adjacentFaces}}
|
||||
<div class="chat-tricherie-box">
|
||||
<span class="chat-tricherie-label">Faces adjacentes (2 pts Tricherie) :</span>
|
||||
<div class="chat-tricherie-faces">
|
||||
{{#each adjacentFaces as |value key|}}
|
||||
<a class="roll-tricherie-2 chat-tricherie-face" data-dice-value="{{value}}">{{value}}</a>
|
||||
{{/each}}
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{!-- Details Section (Collapsible) --}}
|
||||
{{#if pouvoir}}
|
||||
<details class="chat-details-section">
|
||||
<summary class="chat-details-summary"><i class="fas fa-magic"></i> Détails du pouvoir</summary>
|
||||
<div class="chat-details-content">
|
||||
<div><strong>Effet :</strong> {{pouvoir.system.effet}}</div>
|
||||
{{#if (ne pouvoir.system.duree "")}}
|
||||
<div><strong>Durée :</strong> {{pouvoir.system.duree}}</div>
|
||||
{{/if}}
|
||||
{{#if (ne pouvoir.system.portee "")}}
|
||||
<div><strong>Portée :</strong> {{pouvoir.system.portee}}</div>
|
||||
{{/if}}
|
||||
{{#if (ne pouvoir.system.resistance "")}}
|
||||
<div><strong>Résistance :</strong> {{pouvoir.system.resistance}}</div>
|
||||
{{/if}}
|
||||
{{#if (ne pouvoir.system.zoneeffet "")}}
|
||||
<div><strong>Zone d'effet :</strong> {{pouvoir.system.zoneeffet}}</div>
|
||||
{{/if}}
|
||||
{{#if (ne pouvoir.system.cibles "")}}
|
||||
<div><strong>Cibles :</strong> {{pouvoir.system.cibles}}</div>
|
||||
{{/if}}
|
||||
<div><strong>Points d'usage :</strong> {{pouvoirPointsUsage}}</div>
|
||||
</div>
|
||||
</details>
|
||||
{{/if}}
|
||||
|
||||
{{#if sort}}
|
||||
<details class="chat-details-section">
|
||||
<summary class="chat-details-summary"><i class="fas fa-hat-wizard"></i> Détails du sort</summary>
|
||||
<div class="chat-details-content">
|
||||
{{#if (ne sort.system.duree "")}}
|
||||
<div><strong>Durée :</strong> {{sort.system.duree}}</div>
|
||||
{{/if}}
|
||||
{{#if (ne sort.system.portee "")}}
|
||||
<div><strong>Portée :</strong> {{sort.system.portee}}</div>
|
||||
{{/if}}
|
||||
{{#if (ne sort.system.ingredients "")}}
|
||||
<div><strong>Ingrédients :</strong> {{sort.system.ingredients}}</div>
|
||||
{{/if}}
|
||||
{{#if (ne sort.system.resistance "")}}
|
||||
<div><strong>Résistance :</strong> {{sort.system.resistance}}</div>
|
||||
{{/if}}
|
||||
{{#if spendEsprit}}
|
||||
<div><strong>Points d'Esprit :</strong> 1</div>
|
||||
{{else}}
|
||||
<div><strong>Points d'Âme :</strong> {{sortPointsAme}}</div>
|
||||
{{#if (eq sort.system.competence "Magie du Clan")}}
|
||||
<div><strong>Souffle :</strong> {{sort.system.souffle}}</div>
|
||||
<div><strong>Coût PV :</strong> 2</div>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</details>
|
||||
{{/if}}
|
||||
|
||||
</div>
|
||||
@@ -1,145 +1,190 @@
|
||||
<div class="chat-message-header">
|
||||
{{#if actorImg}}
|
||||
<img class="actor-icon" src="{{actorImg}}" alt="{{alias}}" />
|
||||
{{!-- Chat Card for Roll Results --}}
|
||||
<div class="heritiers-chat-card">
|
||||
|
||||
{{!-- Header --}}
|
||||
<div class="chat-card-header">
|
||||
{{#if actorImg}}
|
||||
<img class="chat-actor-avatar" src="{{actorImg}}" alt="{{alias}}" />
|
||||
{{/if}}
|
||||
<div class="chat-actor-info">
|
||||
<h4 class="chat-actor-name">{{alias}}</h4>
|
||||
{{#if competence}}
|
||||
<div class="chat-action-name">{{competence.name}}{{#if arme}} - {{arme.name}}{{/if}}</div>
|
||||
{{else if pouvoir}}
|
||||
<div class="chat-action-name">{{pouvoir.name}}</div>
|
||||
{{else if sort}}
|
||||
<div class="chat-action-name">{{sort.name}}</div>
|
||||
{{else if rang}}
|
||||
<div class="chat-action-name">{{rang.label}}</div>
|
||||
{{else}}
|
||||
<div class="chat-action-name">{{carac.label}}</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{#if actionImg}}
|
||||
<img class="chat-action-icon" src="{{actionImg}}" alt="{{name}}" />
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
{{!-- Attack Type Badge --}}
|
||||
{{#if attackType}}
|
||||
<div class="chat-attack-badge">{{attackType}}</div>
|
||||
{{/if}}
|
||||
<h4 class=chat-actor-name>{{alias}}</h4>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
{{#if actionImg}}
|
||||
<div>
|
||||
<img class="chat-icon" src="{{actionImg}}" alt="{{name}}" />
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
<div class="flexcol">
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<ul>
|
||||
<li class="heritiers-roll"><strong>Caractéristique :</strong> {{carac.label}} ({{carac.value}})</li>
|
||||
|
||||
{{!-- Roll Calculation Grid --}}
|
||||
{{#unless noRoll}}
|
||||
<div class="chat-roll-grid">
|
||||
<div class="chat-roll-item">
|
||||
<span class="chat-roll-label">Carac</span>
|
||||
<span class="chat-roll-value">{{carac.label}} {{carac.value}}</span>
|
||||
</div>
|
||||
|
||||
{{#if rang}}
|
||||
<li><strong>{{rang.label}} :</strong> {{rang.value}}</li>
|
||||
<div class="chat-roll-item">
|
||||
<span class="chat-roll-label">Rang</span>
|
||||
<span class="chat-roll-value">{{rang.value}}</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
|
||||
{{#if competence}}
|
||||
<li><strong>Compétence :</strong> {{competence.name}} ({{competence.system.niveau}})</li>
|
||||
<div class="chat-roll-item">
|
||||
<span class="chat-roll-label">Compétence</span>
|
||||
<span class="chat-roll-value">{{competence.name}} {{competence.system.niveau}}</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if useSpecialite}}
|
||||
<li>Bonus de spécialité +1</li>
|
||||
<div class="chat-roll-item">
|
||||
<span class="chat-roll-label">Spécialité</span>
|
||||
<span class="chat-roll-value">+1</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
{{#if arme}}
|
||||
<li><strong>Attaque avec : </strong>{{arme.name}}</li>
|
||||
{{#if (eq mode "assommer")}}
|
||||
<li>Attaque pour assommer</li>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
{{#if pouvoir}}
|
||||
<li><strong>Pouvoir</strong> : {{pouvoir.name}}</li>
|
||||
<li><strong>Effet</strong> : {{pouvoir.system.effet}}</li>
|
||||
{{#if (ne pouvoir.system.duree "")}}
|
||||
<li><strong>Durée :</strong> {{pouvoir.system.duree}}</li>
|
||||
{{/if}}
|
||||
{{#if (ne pouvoir.system.portee "")}}
|
||||
<li><strong>Portée :</strong> {{pouvoir.system.portee}}</li>
|
||||
{{/if}}
|
||||
{{#if (ne pouvoir.system.resistance "")}}
|
||||
<li><strong>Résistance :</strong> {{pouvoir.system.resistance}}</li>
|
||||
{{/if}}
|
||||
{{#if (ne pouvoir.system.resistanceautre "")}}
|
||||
<li><strong>Résistance autre :</strong> {{pouvoir.system.resistanceautre}}</li>
|
||||
{{/if}}
|
||||
{{#if (ne pouvoir.system.zoneeffet "")}}
|
||||
<li><strong>Zone d'effet :</strong> {{pouvoir.system.zoneeffet}}</li>
|
||||
{{/if}}
|
||||
{{#if (ne pouvoir.system.cibles "")}}
|
||||
<li><strong>Cibles :</strong> {{pouvoir.system.cibles}}</li>
|
||||
{{/if}}
|
||||
{{#if (ne pouvoir.system.virulence "")}}
|
||||
<li><strong>Virulence :</strong> {{pouvoir.system.virulence}}</li>
|
||||
{{/if}}
|
||||
<li><strong>Points d'usage consommés :</strong> {{pouvoirPointsUsage}}</li>
|
||||
{{/if}}
|
||||
|
||||
{{#if sort}}
|
||||
<li><strong>Sort :</strong> {{sort.name}}</li>
|
||||
{{#if (ne sort.system.resistance "")}}
|
||||
<li><strong>Résistance :</strong> {{sort.system.resistance}}</li>
|
||||
{{/if}}
|
||||
{{#if (ne sort.system.concentration "")}}
|
||||
<li><strong>Concentration :</strong> {{sort.system.concentration}}</li>
|
||||
{{/if}}
|
||||
{{#if (ne sort.system.duree "")}}
|
||||
<li><strong>Durée :</strong> {{sort.system.duree}}</li>
|
||||
{{/if}}
|
||||
{{#if (ne sort.system.portee "")}}
|
||||
<li><strong>Portée :</strong> {{sort.system.portee}}</li>
|
||||
{{/if}}
|
||||
{{#if (ne sort.system.ingredients "")}}
|
||||
<li><strong>Ingrédients :</strong> {{sort.system.ingredients}}</li>
|
||||
{{/if}}
|
||||
{{#if (ne sort.system.coutactivation "")}}
|
||||
<li><strong>Coût d'activation :</strong> {{sort.system.coutactivation}}</li>
|
||||
{{/if}}
|
||||
{{#if spendEsprit}}
|
||||
<li><strong>Points d'Esprit dépensé :</strong> 1</li>
|
||||
{{else}}
|
||||
<li><strong>Coût en points d'Âme</strong> : {{sortPointsAme}}</li>
|
||||
{{#if (eq sort.system.competence "Magie du Clan")}}
|
||||
<li><strong>Souffle :</strong> {{sort.system.souffle}}</li>
|
||||
<li><strong>Cout en PV :</strong> 2</li>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
|
||||
<div class="chat-roll-item">
|
||||
<span class="chat-roll-label">Formule</span>
|
||||
<span class="chat-roll-value">{{diceFormula}}</span>
|
||||
</div>
|
||||
|
||||
<div class="chat-roll-item">
|
||||
<span class="chat-roll-label">Dé</span>
|
||||
<span class="chat-roll-value chat-dice-result">{{mainDice}} ({{diceValue}})</span>
|
||||
</div>
|
||||
|
||||
{{#if forcedValue}}
|
||||
<li>Vous dépensez 2 points de Tricherie et utilisez une face adjacente du dé !</li>
|
||||
<div class="chat-roll-item chat-tricherie-used">
|
||||
<span class="chat-roll-label">Tricherie</span>
|
||||
<span class="chat-roll-value">Face {{forcedValue}} utilisée (2 pts)</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/unless}}
|
||||
|
||||
{{#if noRoll}}
|
||||
{{else}}
|
||||
<li><strong>Formule :</strong> {{diceFormula}}</li>
|
||||
<li><strong>Résultat du dé :</strong> {{diceResult}} </li>
|
||||
|
||||
{{#if adjacentFaces}}
|
||||
<li><strong>Faces adjacentes :</strong>
|
||||
{{#each adjacentFaces as |value key|}}
|
||||
<a class="roll-tricherie-2" data-dice-value="{{value}}">{{value}}</a>
|
||||
{{/each}}
|
||||
</li>
|
||||
{{/if}}
|
||||
|
||||
<li><strong>Total : {{finalResult}} {{#if (gt sdValue "-1")}}(Marge : {{marge}}){{/if}}</strong></li>
|
||||
|
||||
|
||||
{{!-- Result Display --}}
|
||||
{{#unless noRoll}}
|
||||
<div class="chat-result-box {{#if isSuccess}}success{{else}}{{#if isCriticalFailure}}critical-failure{{else}}failure{{/if}}{{/if}}">
|
||||
<div class="chat-result-total">
|
||||
<span class="chat-result-label">Total</span>
|
||||
<span class="chat-result-number">{{finalResult}}</span>
|
||||
</div>
|
||||
|
||||
{{#if (gt sdValue "-1")}}
|
||||
<li><strong>Seuil de difficulté :</strong> {{sdValue}}</li>
|
||||
{{#if isSuccess}}
|
||||
<li class="chat-success">Succès...
|
||||
</li>
|
||||
{{else}}
|
||||
<li class="chat-failure">Echec...</li>
|
||||
<div class="chat-result-details">
|
||||
<span>SD: {{sdValue}}</span>
|
||||
<span>Marge: {{marge}}</span>
|
||||
</div>
|
||||
<div class="chat-result-status">
|
||||
{{#if isCriticalSuccess}}
|
||||
<i class="fas fa-star"></i> RÉUSSITE CRITIQUE !
|
||||
{{else if isCriticalFailure}}
|
||||
<i class="fas fa-skull"></i> ÉCHEC CRITIQUE !
|
||||
{{else if isSuccess}}
|
||||
<i class="fas fa-check"></i> Succès
|
||||
{{else}}
|
||||
<i class="fas fa-times"></i> Échec
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
|
||||
{{#if isBrelan}}
|
||||
<li class="chat-success">Brelan sur 3 dés !</li>
|
||||
<div class="chat-special-result"><i class="fas fa-dice"></i> Brelan !</div>
|
||||
{{/if}}
|
||||
{{#if isSuite}}
|
||||
<li class="chat-success">Suite sur 3 dés !</li>
|
||||
<div class="chat-special-result"><i class="fas fa-dice"></i> Suite !</div>
|
||||
{{/if}}
|
||||
|
||||
{{!-- Damage display for successful weapon attacks --}}
|
||||
{{#if (and arme isSuccess degatsArme)}}
|
||||
<div class="chat-damage-display">
|
||||
<i class="fas fa-heart-broken"></i> <strong>Dégâts : {{degatsArme}}</strong>
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/unless}}
|
||||
|
||||
{{#if isCriticalSuccess}}
|
||||
<li class="chat-success">Réussite Critique !!!</li>
|
||||
{{/if}}
|
||||
{{#if isCriticalFailure}}
|
||||
<li class="chat-failure">Echec Critique !!!</li>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
{{!-- Tricherie Adjacent Faces --}}
|
||||
{{#if (and adjacentFaces (not forcedValue))}}
|
||||
<div class="chat-tricherie-box">
|
||||
<span class="chat-tricherie-label">Faces adjacentes (2 pts Tricherie) :</span>
|
||||
<div class="chat-tricherie-faces">
|
||||
{{#each adjacentFaces as |value key|}}
|
||||
<a class="roll-tricherie-2 chat-tricherie-face" data-dice-value="{{value}}">{{value}}</a>
|
||||
{{/each}}
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
{{!-- Details Section (Collapsible) --}}
|
||||
{{#if pouvoir}}
|
||||
<details class="chat-details-section">
|
||||
<summary class="chat-details-summary"><i class="fas fa-magic"></i> Détails du pouvoir</summary>
|
||||
<div class="chat-details-content">
|
||||
<div><strong>Effet :</strong> {{pouvoir.system.effet}}</div>
|
||||
{{#if (ne pouvoir.system.duree "")}}
|
||||
<div><strong>Durée :</strong> {{pouvoir.system.duree}}</div>
|
||||
{{/if}}
|
||||
{{#if (ne pouvoir.system.portee "")}}
|
||||
<div><strong>Portée :</strong> {{pouvoir.system.portee}}</div>
|
||||
{{/if}}
|
||||
{{#if (ne pouvoir.system.resistance "")}}
|
||||
<div><strong>Résistance :</strong> {{pouvoir.system.resistance}}</div>
|
||||
{{/if}}
|
||||
{{#if (ne pouvoir.system.zoneeffet "")}}
|
||||
<div><strong>Zone d'effet :</strong> {{pouvoir.system.zoneeffet}}</div>
|
||||
{{/if}}
|
||||
{{#if (ne pouvoir.system.cibles "")}}
|
||||
<div><strong>Cibles :</strong> {{pouvoir.system.cibles}}</div>
|
||||
{{/if}}
|
||||
<div><strong>Points d'usage :</strong> {{pouvoirPointsUsage}}</div>
|
||||
</div>
|
||||
</details>
|
||||
{{/if}}
|
||||
|
||||
{{#if sort}}
|
||||
<details class="chat-details-section">
|
||||
<summary class="chat-details-summary"><i class="fas fa-hat-wizard"></i> Détails du sort</summary>
|
||||
<div class="chat-details-content">
|
||||
{{#if (ne sort.system.duree "")}}
|
||||
<div><strong>Durée :</strong> {{sort.system.duree}}</div>
|
||||
{{/if}}
|
||||
{{#if (ne sort.system.portee "")}}
|
||||
<div><strong>Portée :</strong> {{sort.system.portee}}</div>
|
||||
{{/if}}
|
||||
{{#if (ne sort.system.ingredients "")}}
|
||||
<div><strong>Ingrédients :</strong> {{sort.system.ingredients}}</div>
|
||||
{{/if}}
|
||||
{{#if (ne sort.system.resistance "")}}
|
||||
<div><strong>Résistance :</strong> {{sort.system.resistance}}</div>
|
||||
{{/if}}
|
||||
{{#if spendEsprit}}
|
||||
<div><strong>Points d'Esprit :</strong> 1</div>
|
||||
{{else}}
|
||||
<div><strong>Points d'Âme :</strong> {{sortPointsAme}}</div>
|
||||
{{#if (eq sort.system.competence "Magie du Clan")}}
|
||||
<div><strong>Souffle :</strong> {{sort.system.souffle}}</div>
|
||||
<div><strong>Coût PV :</strong> 2</div>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</details>
|
||||
{{/if}}
|
||||
|
||||
</div>
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<section class="{{cssClass}}" autocomplete="off">
|
||||
|
||||
{{> systems/fvtt-les-heritiers/templates/partial-item-header.hbs this}}
|
||||
{{> systems/fvtt-les-heritiers/templates/partial-item-header.hbs }}
|
||||
|
||||
{{> systems/fvtt-les-heritiers/templates/partial-item-nav.hbs this}}
|
||||
{{> systems/fvtt-les-heritiers/templates/partial-item-nav.hbs }}
|
||||
|
||||
{{> systems/fvtt-les-heritiers/templates/partial-item-description.hbs this}}
|
||||
{{> systems/fvtt-les-heritiers/templates/partial-item-description.hbs }}
|
||||
|
||||
<div class="tab details" data-group="primary" data-tab="details">
|
||||
<ul class="item-list alternate-list">
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<form class="{{cssClass}}" autocomplete="off">
|
||||
<section class="{{cssClass}}" autocomplete="off">
|
||||
{{> systems/fvtt-les-heritiers/templates/partial-item-header.html}}
|
||||
|
||||
{{> systems/fvtt-les-heritiers/templates/partial-item-nav.html}}
|
||||
@@ -37,4 +37,4 @@
|
||||
</div>
|
||||
|
||||
</section>
|
||||
</form>
|
||||
</section>
|
||||
@@ -1,4 +1,4 @@
|
||||
<form class="{{cssClass}}" autocomplete="off">
|
||||
<section class="{{cssClass}}" autocomplete="off">
|
||||
{{> systems/fvtt-les-heritiers/templates/partial-item-header.html}}
|
||||
|
||||
{{> systems/fvtt-les-heritiers/templates/partial-item-nav.html}}
|
||||
@@ -118,4 +118,4 @@
|
||||
</div>
|
||||
|
||||
</section>
|
||||
</form>
|
||||
</section>
|
||||
@@ -1,4 +1,4 @@
|
||||
<form class="{{cssClass}}" autocomplete="off">
|
||||
<section class="{{cssClass}}" autocomplete="off">
|
||||
{{> systems/fvtt-les-heritiers/templates/partial-item-header.html}}
|
||||
|
||||
{{> systems/fvtt-les-heritiers/templates/partial-item-nav.html}}
|
||||
@@ -17,4 +17,4 @@
|
||||
</div>
|
||||
|
||||
</section>
|
||||
</form>
|
||||
</section>
|
||||
@@ -1,4 +1,4 @@
|
||||
<form class="{{cssClass}}" autocomplete="off">
|
||||
<section class="{{cssClass}}" autocomplete="off">
|
||||
{{> systems/fvtt-les-heritiers/templates/partial-item-header.html}}
|
||||
|
||||
{{> systems/fvtt-les-heritiers/templates/partial-item-nav.html}}
|
||||
@@ -19,4 +19,4 @@
|
||||
</div>
|
||||
|
||||
</section>
|
||||
</form>
|
||||
</section>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user