Compare commits

...

9 Commits

104 changed files with 1462 additions and 702 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -3,12 +3,12 @@ import { HawkmoonUtility } from "./hawkmoon-utility.js";
export class HawkmoonRollDialog extends Dialog {
/* -------------------------------------------- */
static async create(actor, rollData ) {
static async create(actor, rollData) {
let options = { classes: ["HawkmoonDialog"], width: 320, height: 'fit-content', 'z-index': 99999 };
let options = { classes: ["HawkmoonDialog"], width: 420, height: 'fit-content', 'z-index': 99999 };
let html = await foundry.applications.handlebars.renderTemplate('systems/fvtt-hawkmoon-cyd/templates/roll-dialog-generic.html', rollData);
return new HawkmoonRollDialog(actor, rollData, html, options );
return new HawkmoonRollDialog(actor, rollData, html, options);
}
/* -------------------------------------------- */
@@ -18,20 +18,21 @@ export class HawkmoonRollDialog extends Dialog {
content: html,
buttons: {
rolld10: {
icon: '<i class="fas fa-check"></i>',
label: "Lancer 1d10",
callback: () => { this.roll("d10") }
},
rolld20: {
icon: '<i class="fas fa-check"></i>',
label: "Lancer 1d20",
callback: () => { this.roll("d20") }
},
cancel: {
icon: '<i class="fas fa-times"></i>',
label: "Annuler",
callback: () => { this.close() }
} },
icon: '<i class="fas fa-check"></i>',
label: "Lancer 1d10",
callback: () => { this.roll("d10") }
},
rolld20: {
icon: '<i class="fas fa-check"></i>',
label: "Lancer 1d20",
callback: () => { this.roll("d20") }
},
cancel: {
icon: '<i class="fas fa-times"></i>',
label: "Annuler",
callback: () => { this.close() }
}
},
close: close
}
@@ -42,9 +43,9 @@ export class HawkmoonRollDialog extends Dialog {
}
/* -------------------------------------------- */
roll ( dice) {
roll(dice) {
this.rollData.mainDice = dice
HawkmoonUtility.rollHawkmoon( this.rollData )
HawkmoonUtility.rollHawkmoon(this.rollData)
}
@@ -57,20 +58,20 @@ export class HawkmoonRollDialog extends Dialog {
}
$(function () { onLoad(); });
html.find('#modificateur').change(async (event) => {
html.find('#modificateur').change(async (event) => {
this.rollData.modificateur = Number(event.currentTarget.value)
})
html.find('#difficulte').change( (event) => {
html.find('#difficulte').change((event) => {
console.log("Difficulte: " + event.currentTarget.value)
this.rollData.difficulte = Number(event.currentTarget.value)
})
html.find('#attrKey').change(async (event) => {
html.find('#attrKey').change(async (event) => {
this.rollData.attrKey = String(event.currentTarget.value)
})
html.find('#attrKey2').change(async (event) => {
html.find('#attrKey2').change(async (event) => {
this.rollData.attrKey2 = String(event.currentTarget.value)
})
html.find('#select-maitrise').change(async (event) => {
html.find('#select-maitrise').change(async (event) => {
this.rollData.maitriseId = String(event.currentTarget.value)
})
html.find('#competence-talents').change((event) => {

View File

@@ -104,15 +104,33 @@ export class HawkmoonUtility {
return this.skills
}
/* -------------------------------------------- */
static updatePauseLogo(html) {
let logoPause = "systems/fvtt-hawkmoon-cyd/assets/logos/" + game.settings.get("fvtt-hawkmoon-cyd", "hawkmoon-pause-logo") + ".webp"
console.log("Hawkmoon | Updating pause logo to:", logoPause)
// Supprimer l'ancien style s'il existe
let oldStyle = document.getElementById('hawkmoon-pause-logo-override')
if (oldStyle) {
oldStyle.remove()
}
// Injecter une règle CSS pour override le logo
let styleSheet = document.createElement('style')
styleSheet.id = 'hawkmoon-pause-logo-override'
styleSheet.textContent = `#pause>img { content: url(${logoPause}) !important; }`
document.head.appendChild(styleSheet)
console.log("Hawkmoon | Logo CSS rule injected")
}
/* -------------------------------------------- */
static async ready() {
const skills = await HawkmoonUtility.loadCompendium("fvtt-hawkmoon-cyd.skills")
this.skills = skills.map(i => i.toObject())
// Setup pause logo
let logoPause = "systems/fvtt-hawkmoon-cyd/assets/logos/" + game.settings.get("fvtt-hawkmoon-cyd", "hawkmoon-pause-logo") + ".webp"
let logoImg = document.querySelector('#pause').children[0]
logoImg.setAttribute('style', `content: url(${logoPause})`)
this.updatePauseLogo()
game.system.hawkmoon.config.listeNiveauSkill = this.createDirectOptionList(0, 10)
game.system.hawkmoon.config.listeNiveauCreature = this.createDirectOptionList(0, 35)

31
modules/models/arme.mjs Normal file
View File

@@ -0,0 +1,31 @@
/**
* Data model pour les armes
*/
export class ArmeDataModel extends foundry.abstract.TypeDataModel {
static defineSchema() {
const fields = foundry.data.fields;
return {
description: new fields.HTMLField({ initial: "" }),
prixpo: new fields.NumberField({ initial: 0, integer: true }),
prixca: new fields.NumberField({ initial: 0, integer: true }),
prixsc: new fields.NumberField({ initial: 0, integer: true }),
rarete: new fields.NumberField({ initial: 0, integer: true }),
quantite: new fields.NumberField({ initial: 1, integer: true }),
equipped: new fields.BooleanField({ initial: false }),
typearme: new fields.StringField({ initial: "" }),
armenaturelle: new fields.BooleanField({ initial: false }),
armefortune: new fields.BooleanField({ initial: false }),
bonusmaniementoff: new fields.NumberField({ initial: 0, integer: true }),
seuildefense: new fields.NumberField({ initial: 0, integer: true }),
onlevelonly: new fields.BooleanField({ initial: false }),
degats: new fields.StringField({ initial: "" }),
deuxmains: new fields.BooleanField({ initial: false }),
percearmure: new fields.BooleanField({ initial: false }),
percearmurevalue: new fields.NumberField({ initial: 0, integer: true }),
courte: new fields.NumberField({ initial: 0, integer: true }),
moyenne: new fields.NumberField({ initial: 0, integer: true }),
longue: new fields.NumberField({ initial: 0, integer: true }),
tr: new fields.NumberField({ initial: 0, integer: true })
};
}
}

View File

@@ -0,0 +1,28 @@
/**
* Data model pour les artefacts
*/
export class ArtefactDataModel extends foundry.abstract.TypeDataModel {
static defineSchema() {
const fields = foundry.data.fields;
return {
description: new fields.HTMLField({ initial: "" }),
prixpo: new fields.NumberField({ initial: 0, integer: true }),
prixca: new fields.NumberField({ initial: 0, integer: true }),
prixsc: new fields.NumberField({ initial: 0, integer: true }),
rarete: new fields.NumberField({ initial: 0, integer: true }),
quantite: new fields.NumberField({ initial: 1, integer: true }),
equipped: new fields.BooleanField({ initial: false }),
complexite: new fields.NumberField({ initial: 0, integer: true }),
branche: new fields.StringField({ initial: "" }),
branche2: new fields.StringField({ initial: "none" }),
dureerealisation: new fields.StringField({ initial: "" }),
tempsroute: new fields.StringField({ initial: "" }),
effetdejeu: new fields.StringField({ initial: "" }),
defautcourant: new fields.StringField({ initial: "" }),
autrescarac: new fields.StringField({ initial: "" }),
avantagespossibles: new fields.StringField({ initial: "" }),
avantages: new fields.StringField({ initial: "" }),
competences: new fields.StringField({ initial: "" })
};
}
}

View File

@@ -0,0 +1,53 @@
/**
* Template de base pour tous les items
*/
export class BaseItemModel extends foundry.abstract.TypeDataModel {
static defineSchema() {
const fields = foundry.data.fields;
return {
description: new fields.HTMLField({ initial: "" })
};
}
}
/**
* Template pour les équipements de base
*/
export class BaseEquipItemModel extends foundry.abstract.TypeDataModel {
static defineSchema() {
const fields = foundry.data.fields;
return {
prixpo: new fields.NumberField({ initial: 0, integer: true }),
prixca: new fields.NumberField({ initial: 0, integer: true }),
prixsc: new fields.NumberField({ initial: 0, integer: true }),
rarete: new fields.NumberField({ initial: 0, integer: true }),
quantite: new fields.NumberField({ initial: 1, integer: true }),
equipped: new fields.BooleanField({ initial: false })
};
}
}
/**
* Template pour l'automatisation
*/
export class AutomationItemModel extends foundry.abstract.TypeDataModel {
static defineSchema() {
const fields = foundry.data.fields;
return {
isautomated: new fields.BooleanField({ initial: false }),
automations: new fields.ArrayField(
new fields.SchemaField({
id: new fields.StringField({ initial: "" }),
eventtype: new fields.StringField({ initial: "on-drop" }),
name: new fields.StringField({ initial: "" }),
bonusname: new fields.StringField({ initial: "vigueur" }),
bonus: new fields.NumberField({ initial: 0, integer: true }),
competence: new fields.StringField({ initial: "" }),
minLevel: new fields.NumberField({ initial: 0, integer: true }),
baCost: new fields.NumberField({ initial: 0, integer: true })
}),
{ initial: [] }
)
};
}
}

View File

@@ -0,0 +1,15 @@
/**
* Data model pour les cellules
*/
export class CelluleDataModel extends foundry.abstract.TypeDataModel {
static defineSchema() {
const fields = foundry.data.fields;
return {
notoriete: new fields.NumberField({ initial: 0, integer: true }),
resistance: new fields.NumberField({ initial: 0, integer: true }),
developpement: new fields.NumberField({ initial: 0, integer: true }),
members: new fields.ArrayField(new fields.StringField(), { initial: [] }),
description: new fields.HTMLField({ initial: "" })
};
}
}

View File

@@ -0,0 +1,27 @@
/**
* Data model pour les compétences
*/
export class CompetenceDataModel extends foundry.abstract.TypeDataModel {
static defineSchema() {
const fields = foundry.data.fields;
return {
description: new fields.HTMLField({ initial: "" }),
niveau: new fields.NumberField({ initial: 0, integer: true }),
attribut1: new fields.StringField({ initial: "" }),
attribut2: new fields.StringField({ initial: "" }),
attribut3: new fields.StringField({ initial: "" }),
doublebonus: new fields.BooleanField({ initial: false }),
predilections: new fields.ArrayField(
new fields.SchemaField({
id: new fields.StringField({ initial: "" }),
name: new fields.StringField({ initial: "" }),
description: new fields.StringField({ initial: "" }),
acquise: new fields.BooleanField({ initial: false }),
maitrise: new fields.BooleanField({ initial: false }),
used: new fields.BooleanField({ initial: false })
}),
{ initial: [] }
)
};
}
}

View File

@@ -0,0 +1,14 @@
/**
* Data model pour les contacts
*/
export class ContactDataModel extends foundry.abstract.TypeDataModel {
static defineSchema() {
const fields = foundry.data.fields;
return {
contacttype: new fields.StringField({ initial: "" }),
niveau: new fields.StringField({ initial: "" }),
pointdev: new fields.NumberField({ initial: 0, integer: true }),
description: new fields.HTMLField({ initial: "" })
};
}
}

View File

@@ -0,0 +1,97 @@
/**
* Data model pour les créatures
*/
export class CreatureDataModel extends foundry.abstract.TypeDataModel {
static defineSchema() {
const fields = foundry.data.fields;
return {
// Template biodata
biodata: new fields.SchemaField({
name: new fields.StringField({ initial: "" }),
age: new fields.NumberField({ initial: 0, integer: true }),
poids: new fields.StringField({ initial: "" }),
taille: new fields.StringField({ initial: "" }),
cheveux: new fields.StringField({ initial: "" }),
sexe: new fields.StringField({ initial: "" }),
yeux: new fields.StringField({ initial: "" }),
description: new fields.StringField({ initial: "" }),
habitat: new fields.StringField({ initial: "" }),
notes: new fields.StringField({ initial: "" }),
statut: new fields.StringField({ initial: "" }),
gmnotes: new fields.StringField({ initial: "" }),
statutresistant: new fields.StringField({ initial: "commun" })
}),
// Template core
subactors: new fields.ArrayField(new fields.StringField(), { initial: [] }),
attributs: new fields.SchemaField({
adr: new fields.SchemaField({
label: new fields.StringField({ initial: "Adresse" }),
labelnorm: new fields.StringField({ initial: "adresse" }),
abbrev: new fields.StringField({ initial: "adr" }),
value: new fields.NumberField({ initial: 1, integer: true })
}),
pui: new fields.SchemaField({
label: new fields.StringField({ initial: "Puissance" }),
labelnorm: new fields.StringField({ initial: "puissance" }),
abbrev: new fields.StringField({ initial: "pui" }),
value: new fields.NumberField({ initial: 1, integer: true })
}),
cla: new fields.SchemaField({
label: new fields.StringField({ initial: "Clairvoyance" }),
labelnorm: new fields.StringField({ initial: "clairvoyance" }),
abbrev: new fields.StringField({ initial: "cla" }),
value: new fields.NumberField({ initial: 1, integer: true })
}),
pre: new fields.SchemaField({
label: new fields.StringField({ initial: "Présence" }),
labelnorm: new fields.StringField({ initial: "presence" }),
abbrev: new fields.StringField({ initial: "pre" }),
value: new fields.NumberField({ initial: 0, integer: true })
}),
tre: new fields.SchemaField({
label: new fields.StringField({ initial: "Trempe" }),
labelnorm: new fields.StringField({ initial: "trempe" }),
abbrev: new fields.StringField({ initial: "tre" }),
value: new fields.NumberField({ initial: 0, integer: true })
})
}),
bonneaventure: new fields.SchemaField({
base: new fields.NumberField({ initial: 0, integer: true }),
actuelle: new fields.NumberField({ initial: 0, integer: true })
}),
experience: new fields.SchemaField({
value: new fields.NumberField({ initial: 0, integer: true })
}),
eclat: new fields.SchemaField({
value: new fields.NumberField({ initial: 0, integer: true })
}),
sante: new fields.SchemaField({
vigueur: new fields.NumberField({ initial: 0, integer: true }),
etat: new fields.NumberField({ initial: 0, integer: true }),
vigueurmodifier: new fields.NumberField({ initial: 0, integer: true }),
nbcombativite: new fields.NumberField({ initial: 5, integer: true })
}),
adversite: new fields.SchemaField({
bleue: new fields.NumberField({ initial: 0, integer: true }),
rouge: new fields.NumberField({ initial: 0, integer: true }),
noire: new fields.NumberField({ initial: 0, integer: true })
}),
vitesse: new fields.SchemaField({
value: new fields.NumberField({ initial: 0, integer: true })
}),
combat: new fields.SchemaField({
initbonus: new fields.NumberField({ initial: 0, integer: true }),
vitessebonus: new fields.NumberField({ initial: 0, integer: true }),
bonusdegats: new fields.NumberField({ initial: 0, integer: true }),
attaquebonus: new fields.NumberField({ initial: 0, integer: true }),
defensebonus: new fields.NumberField({ initial: 0, integer: true }),
defensetotale: new fields.BooleanField({ initial: false }),
monte: new fields.BooleanField({ initial: false })
}),
// Propriétés spécifiques aux créatures
ressources: new fields.SchemaField({
value: new fields.NumberField({ initial: 0, integer: true })
})
};
}
}

View File

@@ -0,0 +1,17 @@
/**
* Data model pour l'équipement
*/
export class EquipementDataModel extends foundry.abstract.TypeDataModel {
static defineSchema() {
const fields = foundry.data.fields;
return {
description: new fields.HTMLField({ initial: "" }),
prixpo: new fields.NumberField({ initial: 0, integer: true }),
prixca: new fields.NumberField({ initial: 0, integer: true }),
prixsc: new fields.NumberField({ initial: 0, integer: true }),
rarete: new fields.NumberField({ initial: 0, integer: true }),
quantite: new fields.NumberField({ initial: 1, integer: true }),
equipped: new fields.BooleanField({ initial: false })
};
}
}

View File

@@ -0,0 +1,12 @@
/**
* Data model pour les historiques
*/
export class HistoriqueDataModel extends foundry.abstract.TypeDataModel {
static defineSchema() {
const fields = foundry.data.fields;
return {
description: new fields.HTMLField({ initial: "" }),
bonusmalus: new fields.StringField({ initial: "" })
};
}
}

26
modules/models/index.mjs Normal file
View File

@@ -0,0 +1,26 @@
/**
* Index des DataModels pour Hawkmoon CYD
* Ce fichier centralise tous les exports des modèles de données
*/
// Modèles d'items
export { TalentDataModel } from './talent.mjs';
export { HistoriqueDataModel } from './historique.mjs';
export { ProfilDataModel } from './profil.mjs';
export { CompetenceDataModel } from './competence.mjs';
export { ArmeDataModel } from './arme.mjs';
export { ProtectionDataModel } from './protection.mjs';
export { MonnaieDataModel } from './monnaie.mjs';
export { EquipementDataModel } from './equipement.mjs';
export { ArtefactDataModel } from './artefact.mjs';
export { RessourceDataModel } from './ressource.mjs';
export { ContactDataModel } from './contact.mjs';
export { MutationDataModel } from './mutation.mjs';
// Modèles d'acteurs
export { PersonnageDataModel } from './personnage.mjs';
export { CelluleDataModel } from './cellule.mjs';
export { CreatureDataModel } from './creature.mjs';
// Templates de base (si nécessaire pour extension)
export { BaseItemModel, BaseEquipItemModel, AutomationItemModel } from './base-item.mjs';

View File

@@ -0,0 +1,17 @@
/**
* Data model pour les monnaies
*/
export class MonnaieDataModel extends foundry.abstract.TypeDataModel {
static defineSchema() {
const fields = foundry.data.fields;
return {
description: new fields.HTMLField({ initial: "" }),
prixpo: new fields.NumberField({ initial: 0, integer: true }),
prixca: new fields.NumberField({ initial: 0, integer: true }),
prixsc: new fields.NumberField({ initial: 0, integer: true }),
rarete: new fields.NumberField({ initial: 0, integer: true }),
quantite: new fields.NumberField({ initial: 1, integer: true }),
equipped: new fields.BooleanField({ initial: false })
};
}
}

View File

@@ -0,0 +1,14 @@
/**
* Data model pour les mutations
*/
export class MutationDataModel extends foundry.abstract.TypeDataModel {
static defineSchema() {
const fields = foundry.data.fields;
return {
description: new fields.HTMLField({ initial: "" }),
mutationcategorie: new fields.StringField({ initial: "tares_communes" }),
hascomplexite: new fields.BooleanField({ initial: false }),
complexite: new fields.NumberField({ initial: 0, integer: true })
};
}
}

View File

@@ -0,0 +1,93 @@
/**
* Data model pour les personnages
*/
export class PersonnageDataModel extends foundry.abstract.TypeDataModel {
static defineSchema() {
const fields = foundry.data.fields;
return {
// Template biodata
biodata: new fields.SchemaField({
name: new fields.StringField({ initial: "" }),
age: new fields.NumberField({ initial: 0, integer: true }),
poids: new fields.StringField({ initial: "" }),
taille: new fields.StringField({ initial: "" }),
cheveux: new fields.StringField({ initial: "" }),
sexe: new fields.StringField({ initial: "" }),
yeux: new fields.StringField({ initial: "" }),
description: new fields.StringField({ initial: "" }),
habitat: new fields.StringField({ initial: "" }),
notes: new fields.StringField({ initial: "" }),
statut: new fields.StringField({ initial: "" }),
gmnotes: new fields.StringField({ initial: "" }),
statutresistant: new fields.StringField({ initial: "commun" })
}),
// Template core
subactors: new fields.ArrayField(new fields.StringField(), { initial: [] }),
attributs: new fields.SchemaField({
adr: new fields.SchemaField({
label: new fields.StringField({ initial: "Adresse" }),
labelnorm: new fields.StringField({ initial: "adresse" }),
abbrev: new fields.StringField({ initial: "adr" }),
value: new fields.NumberField({ initial: 1, integer: true })
}),
pui: new fields.SchemaField({
label: new fields.StringField({ initial: "Puissance" }),
labelnorm: new fields.StringField({ initial: "puissance" }),
abbrev: new fields.StringField({ initial: "pui" }),
value: new fields.NumberField({ initial: 1, integer: true })
}),
cla: new fields.SchemaField({
label: new fields.StringField({ initial: "Clairvoyance" }),
labelnorm: new fields.StringField({ initial: "clairvoyance" }),
abbrev: new fields.StringField({ initial: "cla" }),
value: new fields.NumberField({ initial: 1, integer: true })
}),
pre: new fields.SchemaField({
label: new fields.StringField({ initial: "Présence" }),
labelnorm: new fields.StringField({ initial: "presence" }),
abbrev: new fields.StringField({ initial: "pre" }),
value: new fields.NumberField({ initial: 0, integer: true })
}),
tre: new fields.SchemaField({
label: new fields.StringField({ initial: "Trempe" }),
labelnorm: new fields.StringField({ initial: "trempe" }),
abbrev: new fields.StringField({ initial: "tre" }),
value: new fields.NumberField({ initial: 0, integer: true })
})
}),
bonneaventure: new fields.SchemaField({
base: new fields.NumberField({ initial: 0, integer: true }),
actuelle: new fields.NumberField({ initial: 0, integer: true })
}),
experience: new fields.SchemaField({
value: new fields.NumberField({ initial: 0, integer: true })
}),
eclat: new fields.SchemaField({
value: new fields.NumberField({ initial: 0, integer: true })
}),
sante: new fields.SchemaField({
vigueur: new fields.NumberField({ initial: 0, integer: true }),
etat: new fields.NumberField({ initial: 0, integer: true }),
vigueurmodifier: new fields.NumberField({ initial: 0, integer: true }),
nbcombativite: new fields.NumberField({ initial: 5, integer: true })
}),
adversite: new fields.SchemaField({
bleue: new fields.NumberField({ initial: 0, integer: true }),
rouge: new fields.NumberField({ initial: 0, integer: true }),
noire: new fields.NumberField({ initial: 0, integer: true })
}),
vitesse: new fields.SchemaField({
value: new fields.NumberField({ initial: 0, integer: true })
}),
combat: new fields.SchemaField({
initbonus: new fields.NumberField({ initial: 0, integer: true }),
vitessebonus: new fields.NumberField({ initial: 0, integer: true }),
bonusdegats: new fields.NumberField({ initial: 0, integer: true }),
attaquebonus: new fields.NumberField({ initial: 0, integer: true }),
defensebonus: new fields.NumberField({ initial: 0, integer: true }),
defensetotale: new fields.BooleanField({ initial: false }),
monte: new fields.BooleanField({ initial: false })
})
};
}
}

23
modules/models/profil.mjs Normal file
View File

@@ -0,0 +1,23 @@
/**
* Data model pour les profils
*/
export class ProfilDataModel extends foundry.abstract.TypeDataModel {
static defineSchema() {
const fields = foundry.data.fields;
return {
description: new fields.HTMLField({ initial: "" }),
exemples: new fields.StringField({ initial: "" }),
attribut1: new fields.StringField({ initial: "" }),
attribut2: new fields.StringField({ initial: "" }),
attribut3: new fields.StringField({ initial: "" }),
competences: new fields.StringField({ initial: "" }),
talentsinitie: new fields.StringField({ initial: "" }),
prerequisaguerri: new fields.StringField({ initial: "" }),
talentsaguerri: new fields.StringField({ initial: "" }),
prerequismaitre: new fields.StringField({ initial: "" }),
talentsmaitre: new fields.StringField({ initial: "" }),
celluleinfo: new fields.StringField({ initial: "" }),
equipement: new fields.StringField({ initial: "" })
};
}
}

View File

@@ -0,0 +1,19 @@
/**
* Data model pour les protections
*/
export class ProtectionDataModel extends foundry.abstract.TypeDataModel {
static defineSchema() {
const fields = foundry.data.fields;
return {
description: new fields.HTMLField({ initial: "" }),
prixpo: new fields.NumberField({ initial: 0, integer: true }),
prixca: new fields.NumberField({ initial: 0, integer: true }),
prixsc: new fields.NumberField({ initial: 0, integer: true }),
rarete: new fields.NumberField({ initial: 0, integer: true }),
quantite: new fields.NumberField({ initial: 1, integer: true }),
equipped: new fields.BooleanField({ initial: false }),
protection: new fields.NumberField({ initial: 0, integer: true }),
adversitepoids: new fields.NumberField({ initial: 0, integer: true })
};
}
}

View File

@@ -0,0 +1,12 @@
/**
* Data model pour les ressources
*/
export class RessourceDataModel extends foundry.abstract.TypeDataModel {
static defineSchema() {
const fields = foundry.data.fields;
return {
pointdev: new fields.NumberField({ initial: 0, integer: true }),
description: new fields.HTMLField({ initial: "" })
};
}
}

30
modules/models/talent.mjs Normal file
View File

@@ -0,0 +1,30 @@
/**
* Data model pour les talents
*/
export class TalentDataModel extends foundry.abstract.TypeDataModel {
static defineSchema() {
const fields = foundry.data.fields;
return {
description: new fields.HTMLField({ initial: "" }),
isautomated: new fields.BooleanField({ initial: false }),
automations: new fields.ArrayField(
new fields.SchemaField({
id: new fields.StringField({ initial: "" }),
eventtype: new fields.StringField({ initial: "on-drop" }),
name: new fields.StringField({ initial: "" }),
bonusname: new fields.StringField({ initial: "vigueur" }),
bonus: new fields.NumberField({ initial: 0, integer: true }),
competence: new fields.StringField({ initial: "" }),
minLevel: new fields.NumberField({ initial: 0, integer: true }),
baCost: new fields.NumberField({ initial: 0, integer: true })
}),
{ initial: [] }
),
talenttype: new fields.StringField({ initial: "" }),
utilisation: new fields.StringField({ initial: "" }),
prerequis: new fields.StringField({ initial: "" }),
resumebonus: new fields.StringField({ initial: "" }),
used: new fields.BooleanField({ initial: false })
};
}
}

View File

@@ -1 +1 @@
MANIFEST-000309
MANIFEST-000333

View File

@@ -1,8 +1,8 @@
2025/08/24-16:39:04.800687 7f99ca7fc6c0 Recovering log #307
2025/08/24-16:39:04.811571 7f99ca7fc6c0 Delete type=3 #305
2025/08/24-16:39:04.811645 7f99ca7fc6c0 Delete type=0 #307
2025/08/24-16:59:15.773185 7f99c8ff96c0 Level-0 table #312: started
2025/08/24-16:59:15.773255 7f99c8ff96c0 Level-0 table #312: 0 bytes OK
2025/08/24-16:59:15.779965 7f99c8ff96c0 Delete type=0 #310
2025/08/24-16:59:15.786903 7f99c8ff96c0 Manual compaction at level-0 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end)
2025/08/24-16:59:15.786956 7f99c8ff96c0 Manual compaction at level-1 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end)
2026/01/05-22:20:56.155164 7f93eb7fe6c0 Recovering log #331
2026/01/05-22:20:56.166270 7f93eb7fe6c0 Delete type=3 #329
2026/01/05-22:20:56.166327 7f93eb7fe6c0 Delete type=0 #331
2026/01/05-22:39:51.165703 7f93e9ffb6c0 Level-0 table #336: started
2026/01/05-22:39:51.165730 7f93e9ffb6c0 Level-0 table #336: 0 bytes OK
2026/01/05-22:39:51.171765 7f93e9ffb6c0 Delete type=0 #334
2026/01/05-22:39:51.199079 7f93e9ffb6c0 Manual compaction at level-0 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end)
2026/01/05-22:39:51.199117 7f93e9ffb6c0 Manual compaction at level-1 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2025/07/02-22:46:22.187484 7f0798bfa6c0 Recovering log #303
2025/07/02-22:46:22.198111 7f0798bfa6c0 Delete type=3 #301
2025/07/02-22:46:22.198158 7f0798bfa6c0 Delete type=0 #303
2025/07/02-22:48:09.734542 7f07923ff6c0 Level-0 table #308: started
2025/07/02-22:48:09.734569 7f07923ff6c0 Level-0 table #308: 0 bytes OK
2025/07/02-22:48:09.744356 7f07923ff6c0 Delete type=0 #306
2025/07/02-22:48:09.791085 7f07923ff6c0 Manual compaction at level-0 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end)
2025/07/02-22:48:09.791154 7f07923ff6c0 Manual compaction at level-1 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end)
2025/11/21-21:17:11.288531 7f34ccff96c0 Recovering log #327
2025/11/21-21:17:11.303357 7f34ccff96c0 Delete type=3 #325
2025/11/21-21:17:11.303441 7f34ccff96c0 Delete type=0 #327
2025/11/21-21:20:34.182000 7f322ffff6c0 Level-0 table #332: started
2025/11/21-21:20:34.182040 7f322ffff6c0 Level-0 table #332: 0 bytes OK
2025/11/21-21:20:34.189103 7f322ffff6c0 Delete type=0 #330
2025/11/21-21:20:34.199156 7f322ffff6c0 Manual compaction at level-0 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end)
2025/11/21-21:20:34.220809 7f322ffff6c0 Manual compaction at level-1 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end)

View File

@@ -1 +1 @@
MANIFEST-000308
MANIFEST-000332

View File

@@ -1,8 +1,8 @@
2025/08/24-16:39:04.657736 7f99ca7fc6c0 Recovering log #306
2025/08/24-16:39:04.668479 7f99ca7fc6c0 Delete type=3 #304
2025/08/24-16:39:04.668567 7f99ca7fc6c0 Delete type=0 #306
2025/08/24-16:59:15.720000 7f99c8ff96c0 Level-0 table #311: started
2025/08/24-16:59:15.720030 7f99c8ff96c0 Level-0 table #311: 0 bytes OK
2025/08/24-16:59:15.726074 7f99c8ff96c0 Delete type=0 #309
2025/08/24-16:59:15.733124 7f99c8ff96c0 Manual compaction at level-0 from '!items!0fit7HelSjaFtXcW' @ 72057594037927935 : 1 .. '!items!wxrzP3NyiHiYnAMJ' @ 0 : 0; will stop at (end)
2025/08/24-16:59:15.733174 7f99c8ff96c0 Manual compaction at level-1 from '!items!0fit7HelSjaFtXcW' @ 72057594037927935 : 1 .. '!items!wxrzP3NyiHiYnAMJ' @ 0 : 0; will stop at (end)
2026/01/05-22:20:56.048400 7f93eaffd6c0 Recovering log #330
2026/01/05-22:20:56.058614 7f93eaffd6c0 Delete type=3 #328
2026/01/05-22:20:56.058678 7f93eaffd6c0 Delete type=0 #330
2026/01/05-22:39:51.125881 7f93e9ffb6c0 Level-0 table #335: started
2026/01/05-22:39:51.125907 7f93e9ffb6c0 Level-0 table #335: 0 bytes OK
2026/01/05-22:39:51.131746 7f93e9ffb6c0 Delete type=0 #333
2026/01/05-22:39:51.137885 7f93e9ffb6c0 Manual compaction at level-0 from '!items!0fit7HelSjaFtXcW' @ 72057594037927935 : 1 .. '!items!wxrzP3NyiHiYnAMJ' @ 0 : 0; will stop at (end)
2026/01/05-22:39:51.137919 7f93e9ffb6c0 Manual compaction at level-1 from '!items!0fit7HelSjaFtXcW' @ 72057594037927935 : 1 .. '!items!wxrzP3NyiHiYnAMJ' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2025/07/02-22:46:22.075956 7f07937fe6c0 Recovering log #302
2025/07/02-22:46:22.086980 7f07937fe6c0 Delete type=3 #300
2025/07/02-22:46:22.087033 7f07937fe6c0 Delete type=0 #302
2025/07/02-22:48:09.675327 7f07923ff6c0 Level-0 table #307: started
2025/07/02-22:48:09.675362 7f07923ff6c0 Level-0 table #307: 0 bytes OK
2025/07/02-22:48:09.686702 7f07923ff6c0 Delete type=0 #305
2025/07/02-22:48:09.686958 7f07923ff6c0 Manual compaction at level-0 from '!items!0fit7HelSjaFtXcW' @ 72057594037927935 : 1 .. '!items!wxrzP3NyiHiYnAMJ' @ 0 : 0; will stop at (end)
2025/07/02-22:48:09.686996 7f07923ff6c0 Manual compaction at level-1 from '!items!0fit7HelSjaFtXcW' @ 72057594037927935 : 1 .. '!items!wxrzP3NyiHiYnAMJ' @ 0 : 0; will stop at (end)
2025/11/21-21:17:11.119952 7f34cd7fa6c0 Recovering log #326
2025/11/21-21:17:11.135840 7f34cd7fa6c0 Delete type=3 #324
2025/11/21-21:17:11.135940 7f34cd7fa6c0 Delete type=0 #326
2025/11/21-21:20:34.115063 7f322ffff6c0 Level-0 table #331: started
2025/11/21-21:20:34.115090 7f322ffff6c0 Level-0 table #331: 0 bytes OK
2025/11/21-21:20:34.121038 7f322ffff6c0 Delete type=0 #329
2025/11/21-21:20:34.121241 7f322ffff6c0 Manual compaction at level-0 from '!items!0fit7HelSjaFtXcW' @ 72057594037927935 : 1 .. '!items!wxrzP3NyiHiYnAMJ' @ 0 : 0; will stop at (end)
2025/11/21-21:20:34.121271 7f322ffff6c0 Manual compaction at level-1 from '!items!0fit7HelSjaFtXcW' @ 72057594037927935 : 1 .. '!items!wxrzP3NyiHiYnAMJ' @ 0 : 0; will stop at (end)

View File

@@ -1 +1 @@
MANIFEST-000308
MANIFEST-000332

View File

@@ -1,8 +1,8 @@
2025/08/24-16:39:04.627677 7f99c97fa6c0 Recovering log #306
2025/08/24-16:39:04.637852 7f99c97fa6c0 Delete type=3 #304
2025/08/24-16:39:04.637963 7f99c97fa6c0 Delete type=0 #306
2025/08/24-16:59:15.678161 7f99c8ff96c0 Level-0 table #311: started
2025/08/24-16:59:15.678292 7f99c8ff96c0 Level-0 table #311: 0 bytes OK
2025/08/24-16:59:15.685710 7f99c8ff96c0 Delete type=0 #309
2025/08/24-16:59:15.705541 7f99c8ff96c0 Manual compaction at level-0 from '!items!0nhTxujlIUB63Aqt' @ 72057594037927935 : 1 .. '!items!tFU5yISK6spdNWco' @ 0 : 0; will stop at (end)
2025/08/24-16:59:15.705635 7f99c8ff96c0 Manual compaction at level-1 from '!items!0nhTxujlIUB63Aqt' @ 72057594037927935 : 1 .. '!items!tFU5yISK6spdNWco' @ 0 : 0; will stop at (end)
2026/01/05-22:20:56.023009 7f93eb7fe6c0 Recovering log #330
2026/01/05-22:20:56.032779 7f93eb7fe6c0 Delete type=3 #328
2026/01/05-22:20:56.032853 7f93eb7fe6c0 Delete type=0 #330
2026/01/05-22:39:51.087705 7f93e9ffb6c0 Level-0 table #335: started
2026/01/05-22:39:51.087797 7f93e9ffb6c0 Level-0 table #335: 0 bytes OK
2026/01/05-22:39:51.094096 7f93e9ffb6c0 Delete type=0 #333
2026/01/05-22:39:51.112531 7f93e9ffb6c0 Manual compaction at level-0 from '!items!0nhTxujlIUB63Aqt' @ 72057594037927935 : 1 .. '!items!tFU5yISK6spdNWco' @ 0 : 0; will stop at (end)
2026/01/05-22:39:51.112576 7f93e9ffb6c0 Manual compaction at level-1 from '!items!0nhTxujlIUB63Aqt' @ 72057594037927935 : 1 .. '!items!tFU5yISK6spdNWco' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2025/07/02-22:46:22.050017 7f0793fff6c0 Recovering log #302
2025/07/02-22:46:22.059979 7f0793fff6c0 Delete type=3 #300
2025/07/02-22:46:22.060037 7f0793fff6c0 Delete type=0 #302
2025/07/02-22:48:09.634420 7f07923ff6c0 Level-0 table #307: started
2025/07/02-22:48:09.634441 7f07923ff6c0 Level-0 table #307: 0 bytes OK
2025/07/02-22:48:09.644014 7f07923ff6c0 Delete type=0 #305
2025/07/02-22:48:09.644146 7f07923ff6c0 Manual compaction at level-0 from '!items!0nhTxujlIUB63Aqt' @ 72057594037927935 : 1 .. '!items!tFU5yISK6spdNWco' @ 0 : 0; will stop at (end)
2025/07/02-22:48:09.644167 7f07923ff6c0 Manual compaction at level-1 from '!items!0nhTxujlIUB63Aqt' @ 72057594037927935 : 1 .. '!items!tFU5yISK6spdNWco' @ 0 : 0; will stop at (end)
2025/11/21-21:17:11.082663 7f34ccff96c0 Recovering log #326
2025/11/21-21:17:11.097415 7f34ccff96c0 Delete type=3 #324
2025/11/21-21:17:11.097522 7f34ccff96c0 Delete type=0 #326
2025/11/21-21:20:34.082672 7f322ffff6c0 Level-0 table #331: started
2025/11/21-21:20:34.082698 7f322ffff6c0 Level-0 table #331: 0 bytes OK
2025/11/21-21:20:34.088631 7f322ffff6c0 Delete type=0 #329
2025/11/21-21:20:34.094927 7f322ffff6c0 Manual compaction at level-0 from '!items!0nhTxujlIUB63Aqt' @ 72057594037927935 : 1 .. '!items!tFU5yISK6spdNWco' @ 0 : 0; will stop at (end)
2025/11/21-21:20:34.094971 7f322ffff6c0 Manual compaction at level-1 from '!items!0nhTxujlIUB63Aqt' @ 72057594037927935 : 1 .. '!items!tFU5yISK6spdNWco' @ 0 : 0; will stop at (end)

View File

@@ -1 +1 @@
MANIFEST-000308
MANIFEST-000332

View File

@@ -1,8 +1,8 @@
2025/08/24-16:39:04.595109 7f99caffd6c0 Recovering log #306
2025/08/24-16:39:04.604941 7f99caffd6c0 Delete type=3 #304
2025/08/24-16:39:04.605009 7f99caffd6c0 Delete type=0 #306
2025/08/24-16:59:15.698867 7f99c8ff96c0 Level-0 table #311: started
2025/08/24-16:59:15.698952 7f99c8ff96c0 Level-0 table #311: 0 bytes OK
2025/08/24-16:59:15.705403 7f99c8ff96c0 Delete type=0 #309
2025/08/24-16:59:15.705617 7f99c8ff96c0 Manual compaction at level-0 from '!items!15IDGG6JoZnRCQtY' @ 72057594037927935 : 1 .. '!items!yI1zY5k8mAdx9wHK' @ 0 : 0; will stop at (end)
2025/08/24-16:59:15.705693 7f99c8ff96c0 Manual compaction at level-1 from '!items!15IDGG6JoZnRCQtY' @ 72057594037927935 : 1 .. '!items!yI1zY5k8mAdx9wHK' @ 0 : 0; will stop at (end)
2026/01/05-22:20:55.998572 7f93ea7fc6c0 Recovering log #330
2026/01/05-22:20:56.008503 7f93ea7fc6c0 Delete type=3 #328
2026/01/05-22:20:56.008556 7f93ea7fc6c0 Delete type=0 #330
2026/01/05-22:39:51.100430 7f93e9ffb6c0 Level-0 table #335: started
2026/01/05-22:39:51.100453 7f93e9ffb6c0 Level-0 table #335: 0 bytes OK
2026/01/05-22:39:51.106283 7f93e9ffb6c0 Delete type=0 #333
2026/01/05-22:39:51.112557 7f93e9ffb6c0 Manual compaction at level-0 from '!items!15IDGG6JoZnRCQtY' @ 72057594037927935 : 1 .. '!items!yI1zY5k8mAdx9wHK' @ 0 : 0; will stop at (end)
2026/01/05-22:39:51.112589 7f93e9ffb6c0 Manual compaction at level-1 from '!items!15IDGG6JoZnRCQtY' @ 72057594037927935 : 1 .. '!items!yI1zY5k8mAdx9wHK' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2025/07/02-22:46:22.022022 7f07937fe6c0 Recovering log #302
2025/07/02-22:46:22.031802 7f07937fe6c0 Delete type=3 #300
2025/07/02-22:46:22.031862 7f07937fe6c0 Delete type=0 #302
2025/07/02-22:48:09.604476 7f07923ff6c0 Level-0 table #307: started
2025/07/02-22:48:09.604540 7f07923ff6c0 Level-0 table #307: 0 bytes OK
2025/07/02-22:48:09.616123 7f07923ff6c0 Delete type=0 #305
2025/07/02-22:48:09.644121 7f07923ff6c0 Manual compaction at level-0 from '!items!15IDGG6JoZnRCQtY' @ 72057594037927935 : 1 .. '!items!yI1zY5k8mAdx9wHK' @ 0 : 0; will stop at (end)
2025/07/02-22:48:09.644157 7f07923ff6c0 Manual compaction at level-1 from '!items!15IDGG6JoZnRCQtY' @ 72057594037927935 : 1 .. '!items!yI1zY5k8mAdx9wHK' @ 0 : 0; will stop at (end)
2025/11/21-21:17:11.044217 7f34ce7fc6c0 Recovering log #326
2025/11/21-21:17:11.059351 7f34ce7fc6c0 Delete type=3 #324
2025/11/21-21:17:11.059409 7f34ce7fc6c0 Delete type=0 #326
2025/11/21-21:20:34.076024 7f322ffff6c0 Level-0 table #331: started
2025/11/21-21:20:34.076057 7f322ffff6c0 Level-0 table #331: 0 bytes OK
2025/11/21-21:20:34.082546 7f322ffff6c0 Delete type=0 #329
2025/11/21-21:20:34.094915 7f322ffff6c0 Manual compaction at level-0 from '!items!15IDGG6JoZnRCQtY' @ 72057594037927935 : 1 .. '!items!yI1zY5k8mAdx9wHK' @ 0 : 0; will stop at (end)
2025/11/21-21:20:34.094962 7f322ffff6c0 Manual compaction at level-1 from '!items!15IDGG6JoZnRCQtY' @ 72057594037927935 : 1 .. '!items!yI1zY5k8mAdx9wHK' @ 0 : 0; will stop at (end)

View File

@@ -1 +1 @@
MANIFEST-000308
MANIFEST-000332

View File

@@ -1,8 +1,8 @@
2025/08/24-16:39:04.685664 7f99c9ffb6c0 Recovering log #306
2025/08/24-16:39:04.696583 7f99c9ffb6c0 Delete type=3 #304
2025/08/24-16:39:04.696664 7f99c9ffb6c0 Delete type=0 #306
2025/08/24-16:59:15.713614 7f99c8ff96c0 Level-0 table #311: started
2025/08/24-16:59:15.713701 7f99c8ff96c0 Level-0 table #311: 0 bytes OK
2025/08/24-16:59:15.719863 7f99c8ff96c0 Delete type=0 #309
2025/08/24-16:59:15.733110 7f99c8ff96c0 Manual compaction at level-0 from '!items!0BopmCu8vGK2923j' @ 72057594037927935 : 1 .. '!items!zYx0Ak2y1LNTcKlO' @ 0 : 0; will stop at (end)
2025/08/24-16:59:15.733164 7f99c8ff96c0 Manual compaction at level-1 from '!items!0BopmCu8vGK2923j' @ 72057594037927935 : 1 .. '!items!zYx0Ak2y1LNTcKlO' @ 0 : 0; will stop at (end)
2026/01/05-22:20:56.073305 7f93eb7fe6c0 Recovering log #330
2026/01/05-22:20:56.084269 7f93eb7fe6c0 Delete type=3 #328
2026/01/05-22:20:56.084336 7f93eb7fe6c0 Delete type=0 #330
2026/01/05-22:39:51.112726 7f93e9ffb6c0 Level-0 table #335: started
2026/01/05-22:39:51.112760 7f93e9ffb6c0 Level-0 table #335: 0 bytes OK
2026/01/05-22:39:51.119133 7f93e9ffb6c0 Delete type=0 #333
2026/01/05-22:39:51.137862 7f93e9ffb6c0 Manual compaction at level-0 from '!items!0BopmCu8vGK2923j' @ 72057594037927935 : 1 .. '!items!zYx0Ak2y1LNTcKlO' @ 0 : 0; will stop at (end)
2026/01/05-22:39:51.137903 7f93e9ffb6c0 Manual compaction at level-1 from '!items!0BopmCu8vGK2923j' @ 72057594037927935 : 1 .. '!items!zYx0Ak2y1LNTcKlO' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2025/07/02-22:46:22.103691 7f0798bfa6c0 Recovering log #302
2025/07/02-22:46:22.113425 7f0798bfa6c0 Delete type=3 #300
2025/07/02-22:46:22.113488 7f0798bfa6c0 Delete type=0 #302
2025/07/02-22:48:09.644254 7f07923ff6c0 Level-0 table #307: started
2025/07/02-22:48:09.644276 7f07923ff6c0 Level-0 table #307: 0 bytes OK
2025/07/02-22:48:09.654757 7f07923ff6c0 Delete type=0 #305
2025/07/02-22:48:09.686905 7f07923ff6c0 Manual compaction at level-0 from '!items!0BopmCu8vGK2923j' @ 72057594037927935 : 1 .. '!items!zYx0Ak2y1LNTcKlO' @ 0 : 0; will stop at (end)
2025/07/02-22:48:09.686969 7f07923ff6c0 Manual compaction at level-1 from '!items!0BopmCu8vGK2923j' @ 72057594037927935 : 1 .. '!items!zYx0Ak2y1LNTcKlO' @ 0 : 0; will stop at (end)
2025/11/21-21:17:11.157103 7f34ce7fc6c0 Recovering log #326
2025/11/21-21:17:11.172875 7f34ce7fc6c0 Delete type=3 #324
2025/11/21-21:17:11.172939 7f34ce7fc6c0 Delete type=0 #326
2025/11/21-21:20:34.095092 7f322ffff6c0 Level-0 table #331: started
2025/11/21-21:20:34.095126 7f322ffff6c0 Level-0 table #331: 0 bytes OK
2025/11/21-21:20:34.102295 7f322ffff6c0 Delete type=0 #329
2025/11/21-21:20:34.121183 7f322ffff6c0 Manual compaction at level-0 from '!items!0BopmCu8vGK2923j' @ 72057594037927935 : 1 .. '!items!zYx0Ak2y1LNTcKlO' @ 0 : 0; will stop at (end)
2025/11/21-21:20:34.121249 7f322ffff6c0 Manual compaction at level-1 from '!items!0BopmCu8vGK2923j' @ 72057594037927935 : 1 .. '!items!zYx0Ak2y1LNTcKlO' @ 0 : 0; will stop at (end)

View File

@@ -1 +1 @@
MANIFEST-000308
MANIFEST-000332

View File

@@ -1,8 +1,8 @@
2025/08/24-16:39:04.642541 7f99c9ffb6c0 Recovering log #306
2025/08/24-16:39:04.652781 7f99c9ffb6c0 Delete type=3 #304
2025/08/24-16:39:04.652862 7f99c9ffb6c0 Delete type=0 #306
2025/08/24-16:59:15.685953 7f99c8ff96c0 Level-0 table #311: started
2025/08/24-16:59:15.686013 7f99c8ff96c0 Level-0 table #311: 0 bytes OK
2025/08/24-16:59:15.692263 7f99c8ff96c0 Delete type=0 #309
2025/08/24-16:59:15.705571 7f99c8ff96c0 Manual compaction at level-0 from '!items!15foLG7y3LUXNzkK' @ 72057594037927935 : 1 .. '!items!z1HtkvazCGHut7cz' @ 0 : 0; will stop at (end)
2025/08/24-16:59:15.705656 7f99c8ff96c0 Manual compaction at level-1 from '!items!15foLG7y3LUXNzkK' @ 72057594037927935 : 1 .. '!items!z1HtkvazCGHut7cz' @ 0 : 0; will stop at (end)
2026/01/05-22:20:56.034759 7f93ea7fc6c0 Recovering log #330
2026/01/05-22:20:56.045303 7f93ea7fc6c0 Delete type=3 #328
2026/01/05-22:20:56.045387 7f93ea7fc6c0 Delete type=0 #330
2026/01/05-22:39:51.094206 7f93e9ffb6c0 Level-0 table #335: started
2026/01/05-22:39:51.094228 7f93e9ffb6c0 Level-0 table #335: 0 bytes OK
2026/01/05-22:39:51.100330 7f93e9ffb6c0 Delete type=0 #333
2026/01/05-22:39:51.112546 7f93e9ffb6c0 Manual compaction at level-0 from '!items!15foLG7y3LUXNzkK' @ 72057594037927935 : 1 .. '!items!z1HtkvazCGHut7cz' @ 0 : 0; will stop at (end)
2026/01/05-22:39:51.112583 7f93e9ffb6c0 Manual compaction at level-1 from '!items!15foLG7y3LUXNzkK' @ 72057594037927935 : 1 .. '!items!z1HtkvazCGHut7cz' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2025/07/02-22:46:22.062411 7f0798bfa6c0 Recovering log #302
2025/07/02-22:46:22.072211 7f0798bfa6c0 Delete type=3 #300
2025/07/02-22:46:22.072276 7f0798bfa6c0 Delete type=0 #302
2025/07/02-22:48:09.625684 7f07923ff6c0 Level-0 table #307: started
2025/07/02-22:48:09.625708 7f07923ff6c0 Level-0 table #307: 0 bytes OK
2025/07/02-22:48:09.634315 7f07923ff6c0 Delete type=0 #305
2025/07/02-22:48:09.644139 7f07923ff6c0 Manual compaction at level-0 from '!items!15foLG7y3LUXNzkK' @ 72057594037927935 : 1 .. '!items!z1HtkvazCGHut7cz' @ 0 : 0; will stop at (end)
2025/07/02-22:48:09.644162 7f07923ff6c0 Manual compaction at level-1 from '!items!15foLG7y3LUXNzkK' @ 72057594037927935 : 1 .. '!items!z1HtkvazCGHut7cz' @ 0 : 0; will stop at (end)
2025/11/21-21:17:11.100312 7f34ce7fc6c0 Recovering log #326
2025/11/21-21:17:11.117500 7f34ce7fc6c0 Delete type=3 #324
2025/11/21-21:17:11.117567 7f34ce7fc6c0 Delete type=0 #326
2025/11/21-21:20:34.069446 7f322ffff6c0 Level-0 table #331: started
2025/11/21-21:20:34.069505 7f322ffff6c0 Level-0 table #331: 0 bytes OK
2025/11/21-21:20:34.075899 7f322ffff6c0 Delete type=0 #329
2025/11/21-21:20:34.094892 7f322ffff6c0 Manual compaction at level-0 from '!items!15foLG7y3LUXNzkK' @ 72057594037927935 : 1 .. '!items!z1HtkvazCGHut7cz' @ 0 : 0; will stop at (end)
2025/11/21-21:20:34.094951 7f322ffff6c0 Manual compaction at level-1 from '!items!15foLG7y3LUXNzkK' @ 72057594037927935 : 1 .. '!items!z1HtkvazCGHut7cz' @ 0 : 0; will stop at (end)

View File

@@ -1 +1 @@
MANIFEST-000218
MANIFEST-000242

View File

@@ -1,8 +1,8 @@
2025/08/24-16:39:04.611112 7f99ca7fc6c0 Recovering log #216
2025/08/24-16:39:04.621971 7f99ca7fc6c0 Delete type=3 #214
2025/08/24-16:39:04.622127 7f99ca7fc6c0 Delete type=0 #216
2025/08/24-16:59:15.692465 7f99c8ff96c0 Level-0 table #221: started
2025/08/24-16:59:15.692517 7f99c8ff96c0 Level-0 table #221: 0 bytes OK
2025/08/24-16:59:15.698622 7f99c8ff96c0 Delete type=0 #219
2025/08/24-16:59:15.705597 7f99c8ff96c0 Manual compaction at level-0 from '!folders!5d4Zn28TUcPxRyXd' @ 72057594037927935 : 1 .. '!items!zttESycGKltfwCzJ' @ 0 : 0; will stop at (end)
2025/08/24-16:59:15.705674 7f99c8ff96c0 Manual compaction at level-1 from '!folders!5d4Zn28TUcPxRyXd' @ 72057594037927935 : 1 .. '!items!zttESycGKltfwCzJ' @ 0 : 0; will stop at (end)
2026/01/05-22:20:56.010250 7f93eaffd6c0 Recovering log #240
2026/01/05-22:20:56.020208 7f93eaffd6c0 Delete type=3 #238
2026/01/05-22:20:56.020270 7f93eaffd6c0 Delete type=0 #240
2026/01/05-22:39:51.106439 7f93e9ffb6c0 Level-0 table #245: started
2026/01/05-22:39:51.106472 7f93e9ffb6c0 Level-0 table #245: 0 bytes OK
2026/01/05-22:39:51.112404 7f93e9ffb6c0 Delete type=0 #243
2026/01/05-22:39:51.112570 7f93e9ffb6c0 Manual compaction at level-0 from '!folders!5d4Zn28TUcPxRyXd' @ 72057594037927935 : 1 .. '!items!zttESycGKltfwCzJ' @ 0 : 0; will stop at (end)
2026/01/05-22:39:51.112598 7f93e9ffb6c0 Manual compaction at level-1 from '!folders!5d4Zn28TUcPxRyXd' @ 72057594037927935 : 1 .. '!items!zttESycGKltfwCzJ' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2025/07/02-22:46:22.035824 7f0798bfa6c0 Recovering log #212
2025/07/02-22:46:22.046033 7f0798bfa6c0 Delete type=3 #210
2025/07/02-22:46:22.046089 7f0798bfa6c0 Delete type=0 #212
2025/07/02-22:48:09.616234 7f07923ff6c0 Level-0 table #217: started
2025/07/02-22:48:09.616258 7f07923ff6c0 Level-0 table #217: 0 bytes OK
2025/07/02-22:48:09.625537 7f07923ff6c0 Delete type=0 #215
2025/07/02-22:48:09.644131 7f07923ff6c0 Manual compaction at level-0 from '!folders!5d4Zn28TUcPxRyXd' @ 72057594037927935 : 1 .. '!items!zttESycGKltfwCzJ' @ 0 : 0; will stop at (end)
2025/07/02-22:48:09.644152 7f07923ff6c0 Manual compaction at level-1 from '!folders!5d4Zn28TUcPxRyXd' @ 72057594037927935 : 1 .. '!items!zttESycGKltfwCzJ' @ 0 : 0; will stop at (end)
2025/11/21-21:17:11.062660 7f34cdffb6c0 Recovering log #236
2025/11/21-21:17:11.079663 7f34cdffb6c0 Delete type=3 #234
2025/11/21-21:17:11.079731 7f34cdffb6c0 Delete type=0 #236
2025/11/21-21:20:34.088817 7f322ffff6c0 Level-0 table #241: started
2025/11/21-21:20:34.088856 7f322ffff6c0 Level-0 table #241: 0 bytes OK
2025/11/21-21:20:34.094750 7f322ffff6c0 Delete type=0 #239
2025/11/21-21:20:34.094940 7f322ffff6c0 Manual compaction at level-0 from '!folders!5d4Zn28TUcPxRyXd' @ 72057594037927935 : 1 .. '!items!zttESycGKltfwCzJ' @ 0 : 0; will stop at (end)
2025/11/21-21:20:34.094980 7f322ffff6c0 Manual compaction at level-1 from '!folders!5d4Zn28TUcPxRyXd' @ 72057594037927935 : 1 .. '!items!zttESycGKltfwCzJ' @ 0 : 0; will stop at (end)

View File

@@ -1 +1 @@
MANIFEST-000308
MANIFEST-000332

View File

@@ -1,8 +1,8 @@
2025/08/24-16:39:04.701459 7f99caffd6c0 Recovering log #306
2025/08/24-16:39:04.712420 7f99caffd6c0 Delete type=3 #304
2025/08/24-16:39:04.712492 7f99caffd6c0 Delete type=0 #306
2025/08/24-16:59:15.746507 7f99c8ff96c0 Level-0 table #311: started
2025/08/24-16:59:15.746545 7f99c8ff96c0 Level-0 table #311: 0 bytes OK
2025/08/24-16:59:15.752641 7f99c8ff96c0 Delete type=0 #309
2025/08/24-16:59:15.759929 7f99c8ff96c0 Manual compaction at level-0 from '!items!26mRstKhCJoXkhu1' @ 72057594037927935 : 1 .. '!items!tFQqcxmkS3MT6ASE' @ 0 : 0; will stop at (end)
2025/08/24-16:59:15.759962 7f99c8ff96c0 Manual compaction at level-1 from '!items!26mRstKhCJoXkhu1' @ 72057594037927935 : 1 .. '!items!tFQqcxmkS3MT6ASE' @ 0 : 0; will stop at (end)
2026/01/05-22:20:56.088422 7f93eaffd6c0 Recovering log #330
2026/01/05-22:20:56.098507 7f93eaffd6c0 Delete type=3 #328
2026/01/05-22:20:56.098565 7f93eaffd6c0 Delete type=0 #330
2026/01/05-22:39:51.119253 7f93e9ffb6c0 Level-0 table #335: started
2026/01/05-22:39:51.119282 7f93e9ffb6c0 Level-0 table #335: 0 bytes OK
2026/01/05-22:39:51.125789 7f93e9ffb6c0 Delete type=0 #333
2026/01/05-22:39:51.137875 7f93e9ffb6c0 Manual compaction at level-0 from '!items!26mRstKhCJoXkhu1' @ 72057594037927935 : 1 .. '!items!tFQqcxmkS3MT6ASE' @ 0 : 0; will stop at (end)
2026/01/05-22:39:51.137911 7f93e9ffb6c0 Manual compaction at level-1 from '!items!26mRstKhCJoXkhu1' @ 72057594037927935 : 1 .. '!items!tFQqcxmkS3MT6ASE' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2025/07/02-22:46:22.117261 7f07937fe6c0 Recovering log #302
2025/07/02-22:46:22.127319 7f07937fe6c0 Delete type=3 #300
2025/07/02-22:46:22.127379 7f07937fe6c0 Delete type=0 #302
2025/07/02-22:48:09.664713 7f07923ff6c0 Level-0 table #307: started
2025/07/02-22:48:09.664747 7f07923ff6c0 Level-0 table #307: 0 bytes OK
2025/07/02-22:48:09.675149 7f07923ff6c0 Delete type=0 #305
2025/07/02-22:48:09.686945 7f07923ff6c0 Manual compaction at level-0 from '!items!26mRstKhCJoXkhu1' @ 72057594037927935 : 1 .. '!items!tFQqcxmkS3MT6ASE' @ 0 : 0; will stop at (end)
2025/07/02-22:48:09.686987 7f07923ff6c0 Manual compaction at level-1 from '!items!26mRstKhCJoXkhu1' @ 72057594037927935 : 1 .. '!items!tFQqcxmkS3MT6ASE' @ 0 : 0; will stop at (end)
2025/11/21-21:17:11.175622 7f34cd7fa6c0 Recovering log #326
2025/11/21-21:17:11.190667 7f34cd7fa6c0 Delete type=3 #324
2025/11/21-21:17:11.190757 7f34cd7fa6c0 Delete type=0 #326
2025/11/21-21:20:34.109081 7f322ffff6c0 Level-0 table #331: started
2025/11/21-21:20:34.109106 7f322ffff6c0 Level-0 table #331: 0 bytes OK
2025/11/21-21:20:34.114933 7f322ffff6c0 Delete type=0 #329
2025/11/21-21:20:34.121229 7f322ffff6c0 Manual compaction at level-0 from '!items!26mRstKhCJoXkhu1' @ 72057594037927935 : 1 .. '!items!tFQqcxmkS3MT6ASE' @ 0 : 0; will stop at (end)
2025/11/21-21:20:34.121264 7f322ffff6c0 Manual compaction at level-1 from '!items!26mRstKhCJoXkhu1' @ 72057594037927935 : 1 .. '!items!tFQqcxmkS3MT6ASE' @ 0 : 0; will stop at (end)

View File

@@ -1 +1 @@
MANIFEST-000308
MANIFEST-000332

View File

@@ -1,8 +1,8 @@
2025/08/24-16:39:04.672110 7f99c97fa6c0 Recovering log #306
2025/08/24-16:39:04.682415 7f99c97fa6c0 Delete type=3 #304
2025/08/24-16:39:04.682496 7f99c97fa6c0 Delete type=0 #306
2025/08/24-16:59:15.705816 7f99c8ff96c0 Level-0 table #311: started
2025/08/24-16:59:15.705873 7f99c8ff96c0 Level-0 table #311: 0 bytes OK
2025/08/24-16:59:15.713330 7f99c8ff96c0 Delete type=0 #309
2025/08/24-16:59:15.733088 7f99c8ff96c0 Manual compaction at level-0 from '!items!16iPa2yIzB0V3pxb' @ 72057594037927935 : 1 .. '!items!yszkersMTE4p9VzP' @ 0 : 0; will stop at (end)
2025/08/24-16:59:15.733151 7f99c8ff96c0 Manual compaction at level-1 from '!items!16iPa2yIzB0V3pxb' @ 72057594037927935 : 1 .. '!items!yszkersMTE4p9VzP' @ 0 : 0; will stop at (end)
2026/01/05-22:20:56.060705 7f93ebfff6c0 Recovering log #330
2026/01/05-22:20:56.070672 7f93ebfff6c0 Delete type=3 #328
2026/01/05-22:20:56.070726 7f93ebfff6c0 Delete type=0 #330
2026/01/05-22:39:51.131859 7f93e9ffb6c0 Level-0 table #335: started
2026/01/05-22:39:51.131886 7f93e9ffb6c0 Level-0 table #335: 0 bytes OK
2026/01/05-22:39:51.137774 7f93e9ffb6c0 Delete type=0 #333
2026/01/05-22:39:51.137894 7f93e9ffb6c0 Manual compaction at level-0 from '!items!16iPa2yIzB0V3pxb' @ 72057594037927935 : 1 .. '!items!yszkersMTE4p9VzP' @ 0 : 0; will stop at (end)
2026/01/05-22:39:51.137928 7f93e9ffb6c0 Manual compaction at level-1 from '!items!16iPa2yIzB0V3pxb' @ 72057594037927935 : 1 .. '!items!yszkersMTE4p9VzP' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2025/07/02-22:46:22.089999 7f0793fff6c0 Recovering log #302
2025/07/02-22:46:22.100226 7f0793fff6c0 Delete type=3 #300
2025/07/02-22:46:22.100296 7f0793fff6c0 Delete type=0 #302
2025/07/02-22:48:09.654876 7f07923ff6c0 Level-0 table #307: started
2025/07/02-22:48:09.654897 7f07923ff6c0 Level-0 table #307: 0 bytes OK
2025/07/02-22:48:09.664567 7f07923ff6c0 Delete type=0 #305
2025/07/02-22:48:09.686931 7f07923ff6c0 Manual compaction at level-0 from '!items!16iPa2yIzB0V3pxb' @ 72057594037927935 : 1 .. '!items!yszkersMTE4p9VzP' @ 0 : 0; will stop at (end)
2025/07/02-22:48:09.686978 7f07923ff6c0 Manual compaction at level-1 from '!items!16iPa2yIzB0V3pxb' @ 72057594037927935 : 1 .. '!items!yszkersMTE4p9VzP' @ 0 : 0; will stop at (end)
2025/11/21-21:17:11.139151 7f34cdffb6c0 Recovering log #326
2025/11/21-21:17:11.154714 7f34cdffb6c0 Delete type=3 #324
2025/11/21-21:17:11.154795 7f34cdffb6c0 Delete type=0 #326
2025/11/21-21:20:34.102428 7f322ffff6c0 Level-0 table #331: started
2025/11/21-21:20:34.102452 7f322ffff6c0 Level-0 table #331: 0 bytes OK
2025/11/21-21:20:34.108966 7f322ffff6c0 Delete type=0 #329
2025/11/21-21:20:34.121216 7f322ffff6c0 Manual compaction at level-0 from '!items!16iPa2yIzB0V3pxb' @ 72057594037927935 : 1 .. '!items!yszkersMTE4p9VzP' @ 0 : 0; will stop at (end)
2025/11/21-21:20:34.121256 7f322ffff6c0 Manual compaction at level-1 from '!items!16iPa2yIzB0V3pxb' @ 72057594037927935 : 1 .. '!items!yszkersMTE4p9VzP' @ 0 : 0; will stop at (end)

View File

@@ -1 +1 @@
MANIFEST-000147
MANIFEST-000171

View File

@@ -1,8 +1,8 @@
2025/08/24-16:39:04.786487 7f99c97fa6c0 Recovering log #145
2025/08/24-16:39:04.796655 7f99c97fa6c0 Delete type=3 #143
2025/08/24-16:39:04.796726 7f99c97fa6c0 Delete type=0 #145
2025/08/24-16:59:15.752769 7f99c8ff96c0 Level-0 table #150: started
2025/08/24-16:59:15.752800 7f99c8ff96c0 Level-0 table #150: 0 bytes OK
2025/08/24-16:59:15.759765 7f99c8ff96c0 Delete type=0 #148
2025/08/24-16:59:15.759940 7f99c8ff96c0 Manual compaction at level-0 from '!scenes!VOzC5ey4qi1C34MY' @ 72057594037927935 : 1 .. '!scenes!mfosNsLsHN5Pf4TO' @ 0 : 0; will stop at (end)
2025/08/24-16:59:15.759971 7f99c8ff96c0 Manual compaction at level-1 from '!scenes!VOzC5ey4qi1C34MY' @ 72057594037927935 : 1 .. '!scenes!mfosNsLsHN5Pf4TO' @ 0 : 0; will stop at (end)
2026/01/05-22:20:56.140241 7f93ea7fc6c0 Recovering log #169
2026/01/05-22:20:56.150593 7f93ea7fc6c0 Delete type=3 #167
2026/01/05-22:20:56.150657 7f93ea7fc6c0 Delete type=0 #169
2026/01/05-22:39:51.158340 7f93e9ffb6c0 Level-0 table #174: started
2026/01/05-22:39:51.158381 7f93e9ffb6c0 Level-0 table #174: 0 bytes OK
2026/01/05-22:39:51.165430 7f93e9ffb6c0 Delete type=0 #172
2026/01/05-22:39:51.165599 7f93e9ffb6c0 Manual compaction at level-0 from '!scenes!VOzC5ey4qi1C34MY' @ 72057594037927935 : 1 .. '!scenes!mfosNsLsHN5Pf4TO' @ 0 : 0; will stop at (end)
2026/01/05-22:39:51.165621 7f93e9ffb6c0 Manual compaction at level-1 from '!scenes!VOzC5ey4qi1C34MY' @ 72057594037927935 : 1 .. '!scenes!mfosNsLsHN5Pf4TO' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2025/07/02-22:46:22.172671 7f0793fff6c0 Recovering log #141
2025/07/02-22:46:22.182219 7f0793fff6c0 Delete type=3 #139
2025/07/02-22:46:22.182282 7f0793fff6c0 Delete type=0 #141
2025/07/02-22:48:09.722959 7f07923ff6c0 Level-0 table #146: started
2025/07/02-22:48:09.722995 7f07923ff6c0 Level-0 table #146: 0 bytes OK
2025/07/02-22:48:09.734269 7f07923ff6c0 Delete type=0 #144
2025/07/02-22:48:09.734444 7f07923ff6c0 Manual compaction at level-0 from '!scenes!VOzC5ey4qi1C34MY' @ 72057594037927935 : 1 .. '!scenes!mfosNsLsHN5Pf4TO' @ 0 : 0; will stop at (end)
2025/07/02-22:48:09.734466 7f07923ff6c0 Manual compaction at level-1 from '!scenes!VOzC5ey4qi1C34MY' @ 72057594037927935 : 1 .. '!scenes!mfosNsLsHN5Pf4TO' @ 0 : 0; will stop at (end)
2025/11/21-21:17:11.269484 7f34cdffb6c0 Recovering log #165
2025/11/21-21:17:11.284464 7f34cdffb6c0 Delete type=3 #163
2025/11/21-21:17:11.284524 7f34cdffb6c0 Delete type=0 #165
2025/11/21-21:20:34.145250 7f322ffff6c0 Level-0 table #170: started
2025/11/21-21:20:34.145279 7f322ffff6c0 Level-0 table #170: 0 bytes OK
2025/11/21-21:20:34.151544 7f322ffff6c0 Delete type=0 #168
2025/11/21-21:20:34.151702 7f322ffff6c0 Manual compaction at level-0 from '!scenes!VOzC5ey4qi1C34MY' @ 72057594037927935 : 1 .. '!scenes!mfosNsLsHN5Pf4TO' @ 0 : 0; will stop at (end)
2025/11/21-21:20:34.164154 7f322ffff6c0 Manual compaction at level-1 from '!scenes!VOzC5ey4qi1C34MY' @ 72057594037927935 : 1 .. '!scenes!mfosNsLsHN5Pf4TO' @ 0 : 0; will stop at (end)

View File

@@ -1 +1 @@
MANIFEST-000304
MANIFEST-000328

View File

@@ -1,7 +1,7 @@
2025/08/24-16:39:04.771948 7f99ca7fc6c0 Recovering log #302
2025/08/24-16:39:04.782426 7f99ca7fc6c0 Delete type=3 #300
2025/08/24-16:39:04.782565 7f99ca7fc6c0 Delete type=0 #302
2025/08/24-16:59:15.733312 7f99c8ff96c0 Level-0 table #307: started
2025/08/24-16:59:15.733353 7f99c8ff96c0 Level-0 table #307: 0 bytes OK
2025/08/24-16:59:15.740079 7f99c8ff96c0 Delete type=0 #305
2025/08/24-16:59:15.759900 7f99c8ff96c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)
2026/01/05-22:20:56.127066 7f93eaffd6c0 Recovering log #326
2026/01/05-22:20:56.136649 7f93eaffd6c0 Delete type=3 #324
2026/01/05-22:20:56.136722 7f93eaffd6c0 Delete type=0 #326
2026/01/05-22:39:51.151918 7f93e9ffb6c0 Level-0 table #331: started
2026/01/05-22:39:51.151946 7f93e9ffb6c0 Level-0 table #331: 0 bytes OK
2026/01/05-22:39:51.158214 7f93e9ffb6c0 Delete type=0 #329
2026/01/05-22:39:51.165589 7f93e9ffb6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)

View File

@@ -1,7 +1,7 @@
2025/07/02-22:46:22.159913 7f07937fe6c0 Recovering log #298
2025/07/02-22:46:22.169652 7f07937fe6c0 Delete type=3 #296
2025/07/02-22:46:22.169703 7f07937fe6c0 Delete type=0 #298
2025/07/02-22:48:09.697135 7f07923ff6c0 Level-0 table #303: started
2025/07/02-22:48:09.697160 7f07923ff6c0 Level-0 table #303: 0 bytes OK
2025/07/02-22:48:09.712571 7f07923ff6c0 Delete type=0 #301
2025/07/02-22:48:09.734426 7f07923ff6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)
2025/11/21-21:17:11.238038 7f34ccff96c0 Recovering log #322
2025/11/21-21:17:11.266542 7f34ccff96c0 Delete type=3 #320
2025/11/21-21:17:11.266608 7f34ccff96c0 Delete type=0 #322
2025/11/21-21:20:34.138228 7f322ffff6c0 Level-0 table #327: started
2025/11/21-21:20:34.138262 7f322ffff6c0 Level-0 table #327: 0 bytes OK
2025/11/21-21:20:34.145084 7f322ffff6c0 Delete type=0 #325
2025/11/21-21:20:34.151692 7f322ffff6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000308
MANIFEST-000332

View File

@@ -1,8 +1,8 @@
2025/08/24-16:39:04.733160 7f99c9ffb6c0 Recovering log #306
2025/08/24-16:39:04.744154 7f99c9ffb6c0 Delete type=3 #304
2025/08/24-16:39:04.744234 7f99c9ffb6c0 Delete type=0 #306
2025/08/24-16:59:15.740237 7f99c8ff96c0 Level-0 table #311: started
2025/08/24-16:59:15.740282 7f99c8ff96c0 Level-0 table #311: 0 bytes OK
2025/08/24-16:59:15.746375 7f99c8ff96c0 Delete type=0 #309
2025/08/24-16:59:15.759915 7f99c8ff96c0 Manual compaction at level-0 from '!items!0jRgc9a9L8i7j1Uk' @ 72057594037927935 : 1 .. '!items!yRTYaNKyXBX9wHhb' @ 0 : 0; will stop at (end)
2025/08/24-16:59:15.759952 7f99c8ff96c0 Manual compaction at level-1 from '!items!0jRgc9a9L8i7j1Uk' @ 72057594037927935 : 1 .. '!items!yRTYaNKyXBX9wHhb' @ 0 : 0; will stop at (end)
2026/01/05-22:20:56.113832 7f93ebfff6c0 Recovering log #330
2026/01/05-22:20:56.124998 7f93ebfff6c0 Delete type=3 #328
2026/01/05-22:20:56.125086 7f93ebfff6c0 Delete type=0 #330
2026/01/05-22:39:51.145629 7f93e9ffb6c0 Level-0 table #335: started
2026/01/05-22:39:51.145659 7f93e9ffb6c0 Level-0 table #335: 0 bytes OK
2026/01/05-22:39:51.151770 7f93e9ffb6c0 Delete type=0 #333
2026/01/05-22:39:51.165579 7f93e9ffb6c0 Manual compaction at level-0 from '!items!0jRgc9a9L8i7j1Uk' @ 72057594037927935 : 1 .. '!items!yRTYaNKyXBX9wHhb' @ 0 : 0; will stop at (end)
2026/01/05-22:39:51.165614 7f93e9ffb6c0 Manual compaction at level-1 from '!items!0jRgc9a9L8i7j1Uk' @ 72057594037927935 : 1 .. '!items!yRTYaNKyXBX9wHhb' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2025/07/02-22:46:22.145913 7f0798bfa6c0 Recovering log #302
2025/07/02-22:46:22.155615 7f0798bfa6c0 Delete type=3 #300
2025/07/02-22:46:22.155666 7f0798bfa6c0 Delete type=0 #302
2025/07/02-22:48:09.687134 7f07923ff6c0 Level-0 table #307: started
2025/07/02-22:48:09.687193 7f07923ff6c0 Level-0 table #307: 0 bytes OK
2025/07/02-22:48:09.697012 7f07923ff6c0 Delete type=0 #305
2025/07/02-22:48:09.734415 7f07923ff6c0 Manual compaction at level-0 from '!items!0jRgc9a9L8i7j1Uk' @ 72057594037927935 : 1 .. '!items!yRTYaNKyXBX9wHhb' @ 0 : 0; will stop at (end)
2025/07/02-22:48:09.734451 7f07923ff6c0 Manual compaction at level-1 from '!items!0jRgc9a9L8i7j1Uk' @ 72057594037927935 : 1 .. '!items!yRTYaNKyXBX9wHhb' @ 0 : 0; will stop at (end)
2025/11/21-21:17:11.214544 7f34ce7fc6c0 Recovering log #326
2025/11/21-21:17:11.234732 7f34ce7fc6c0 Delete type=3 #324
2025/11/21-21:17:11.234809 7f34ce7fc6c0 Delete type=0 #326
2025/11/21-21:20:34.121434 7f322ffff6c0 Level-0 table #331: started
2025/11/21-21:20:34.121467 7f322ffff6c0 Level-0 table #331: 0 bytes OK
2025/11/21-21:20:34.128698 7f322ffff6c0 Delete type=0 #329
2025/11/21-21:20:34.151669 7f322ffff6c0 Manual compaction at level-0 from '!items!0jRgc9a9L8i7j1Uk' @ 72057594037927935 : 1 .. '!items!yRTYaNKyXBX9wHhb' @ 0 : 0; will stop at (end)
2025/11/21-21:20:34.151712 7f322ffff6c0 Manual compaction at level-1 from '!items!0jRgc9a9L8i7j1Uk' @ 72057594037927935 : 1 .. '!items!yRTYaNKyXBX9wHhb' @ 0 : 0; will stop at (end)

View File

@@ -1 +1 @@
MANIFEST-000309
MANIFEST-000334

View File

@@ -1,8 +1,8 @@
2025/08/24-16:39:04.718260 7f99c97fa6c0 Recovering log #307
2025/08/24-16:39:04.727948 7f99c97fa6c0 Delete type=3 #305
2025/08/24-16:39:04.728050 7f99c97fa6c0 Delete type=0 #307
2025/08/24-16:59:15.726211 7f99c8ff96c0 Level-0 table #312: started
2025/08/24-16:59:15.726242 7f99c8ff96c0 Level-0 table #312: 0 bytes OK
2025/08/24-16:59:15.732909 7f99c8ff96c0 Delete type=0 #310
2025/08/24-16:59:15.733138 7f99c8ff96c0 Manual compaction at level-0 from '!items!07bq0fsbn653i81y' @ 72057594037927935 : 1 .. '!items!zKvlDHBalR4UdwUx' @ 0 : 0; will stop at (end)
2025/08/24-16:59:15.733186 7f99c8ff96c0 Manual compaction at level-1 from '!items!07bq0fsbn653i81y' @ 72057594037927935 : 1 .. '!items!zKvlDHBalR4UdwUx' @ 0 : 0; will stop at (end)
2026/01/05-22:20:56.100568 7f93ea7fc6c0 Recovering log #331
2026/01/05-22:20:56.110337 7f93ea7fc6c0 Delete type=3 #329
2026/01/05-22:20:56.110396 7f93ea7fc6c0 Delete type=0 #331
2026/01/05-22:39:51.138048 7f93e9ffb6c0 Level-0 table #337: started
2026/01/05-22:39:51.138074 7f93e9ffb6c0 Level-0 table #337: 0 bytes OK
2026/01/05-22:39:51.145522 7f93e9ffb6c0 Delete type=0 #335
2026/01/05-22:39:51.165565 7f93e9ffb6c0 Manual compaction at level-0 from '!items!07bq0fsbn653i81y' @ 72057594037927935 : 1 .. '!items!zKvlDHBalR4UdwUx' @ 0 : 0; will stop at (end)
2026/01/05-22:39:51.165606 7f93e9ffb6c0 Manual compaction at level-1 from '!items!07bq0fsbn653i81y' @ 72057594037927935 : 1 .. '!items!zKvlDHBalR4UdwUx' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,15 @@
2025/07/02-22:46:22.131492 7f0793fff6c0 Recovering log #303
2025/07/02-22:46:22.141741 7f0793fff6c0 Delete type=3 #301
2025/07/02-22:46:22.141789 7f0793fff6c0 Delete type=0 #303
2025/07/02-22:48:09.712754 7f07923ff6c0 Level-0 table #308: started
2025/07/02-22:48:09.712777 7f07923ff6c0 Level-0 table #308: 0 bytes OK
2025/07/02-22:48:09.722787 7f07923ff6c0 Delete type=0 #306
2025/07/02-22:48:09.734435 7f07923ff6c0 Manual compaction at level-0 from '!items!07bq0fsbn653i81y' @ 72057594037927935 : 1 .. '!items!zKvlDHBalR4UdwUx' @ 0 : 0; will stop at (end)
2025/07/02-22:48:09.734459 7f07923ff6c0 Manual compaction at level-1 from '!items!07bq0fsbn653i81y' @ 72057594037927935 : 1 .. '!items!zKvlDHBalR4UdwUx' @ 0 : 0; will stop at (end)
2025/11/21-21:17:11.194230 7f34cdffb6c0 Recovering log #327
2025/11/21-21:17:11.210969 7f34cdffb6c0 Delete type=3 #325
2025/11/21-21:17:11.211033 7f34cdffb6c0 Delete type=0 #327
2025/11/21-21:20:34.128800 7f322ffff6c0 Level-0 table #332: started
2025/11/21-21:20:34.131893 7f322ffff6c0 Level-0 table #332: 3527 bytes OK
2025/11/21-21:20:34.137994 7f322ffff6c0 Delete type=0 #330
2025/11/21-21:20:34.151683 7f322ffff6c0 Manual compaction at level-0 from '!items!07bq0fsbn653i81y' @ 72057594037927935 : 1 .. '!items!zKvlDHBalR4UdwUx' @ 0 : 0; will stop at (end)
2025/11/21-21:20:34.151734 7f322ffff6c0 Manual compaction at level-1 from '!items!07bq0fsbn653i81y' @ 72057594037927935 : 1 .. '!items!zKvlDHBalR4UdwUx' @ 0 : 0; will stop at '!items!PfuzDohW3l2ds0hu' @ 1159 : 1
2025/11/21-21:20:34.151743 7f322ffff6c0 Compacting 1@1 + 1@2 files
2025/11/21-21:20:34.157101 7f322ffff6c0 Generated table #333@1: 193 keys, 105016 bytes
2025/11/21-21:20:34.157139 7f322ffff6c0 Compacted 1@1 + 1@2 files => 105016 bytes
2025/11/21-21:20:34.163649 7f322ffff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2025/11/21-21:20:34.163835 7f322ffff6c0 Delete type=2 #276
2025/11/21-21:20:34.164056 7f322ffff6c0 Delete type=2 #332
2025/11/21-21:20:34.181980 7f322ffff6c0 Manual compaction at level-1 from '!items!PfuzDohW3l2ds0hu' @ 1159 : 1 .. '!items!zKvlDHBalR4UdwUx' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

View File

@@ -1,33 +1,38 @@
/* ==================== (A) Fonts ==================== */
/* ==================== (A) Fonts ==================== */
@font-face {
font-family: "Charlemagne";
src: url('../assets/fonts/CharlemagneStd-Bold.otf') format("otf");
font-family: "Pfeffer";
src: url('../assets/fonts/pfeffer-simpelgotisch.regular2.otf') format("opentype");
}
@font-face {
font-family: "Montserrat";
src: url('../assets/fonts/Montserrat-Medium.woff') format("woff");
font-weight: normal;
}
:root {
/* =================== 1. ACTOR SHEET FONT STYLES =========== */
--window-header-font-family: Charlemagne;
--window-header-title-font-size: 1.1rem;
--window-header-font-family: Montserrat;
--window-header-title-font-size: 0.95rem;
--window-header-title-font-weight: normal;
--window-header-title-color: #f5f5f5;
--major-button-font-family: Charlemagne;
--major-button-font-size: 1.05rem;
--major-button-font-family: Montserrat;
--major-button-font-size: 0.95rem;
--major-button-font-weight: normal;
--major-button-color: #dadada;
--tab-header-font-family: Charlemagne;
--tab-header-font-family: Montserrat;
--tab-header-font-size: 1.0rem;
--tab-header-font-weight: 700;
--tab-header-color: #403f3e;
--tab-header-color-active: #4a0404;
--actor-input-font-size: 0.8rem;
--actor-input-font-size: 0.9rem;
--actor-input-font-weight: 500;
--actor-input-color: black;
--actor-label-font-size: 0.8rem;
--actor-label-font-size: 0.9rem;
--actor-label-font-weight: 700;
--actor-label-color: #464331c4;
@@ -56,10 +61,17 @@
}
}
.window-app button,
.window-app select,
.window-app input {
font-family: "Montserrat";
text-align: center;
}
/*@import url("https://fonts.googleapis.com/css2?family=Martel:wght@400;800&family=Roboto:wght@300;400;500&display=swap");*/
/* Global styles & Font */
.window-app {
font-family: Charlemagne;
font-family: Montserrat;
text-align: justify;
font-size: 12px;
letter-spacing: 1px;
@@ -71,19 +83,25 @@
.window-app .window-header,
#actors .directory-list,
#navigation #scene-list .scene.nav-item {
font-family: "Charlemagne";
font-family: "Montserrat";
font-size: 0.8rem;
}
/* For title, sidebar character and scene */
.sheet header.sheet-header h1 input {
font-family: "Charlemagne";
font-family: "Pfeffer";
font-size: 0.8rem;
color: lightgray;
}
.journal-sidebar .headings .heading.h3,
.journal-sidebar .headings .heading.h4,
.journal-sidebar .headings .heading.h2 {
color: #e6dede;
}
.sheet nav.sheet-tabs {
font-family: "Charlemagne";
font-family: "Pfeffer";
font-size: 0.8rem;
color: #151c1f;
}
@@ -350,8 +368,9 @@
border-bottom: 0;
font-weight: bold;
font-size: 2rem;
font-family: "Charlemagne";
font-family: "Pfeffer";
color: lightgray;
text-align: left;
}
.fvtt-hawkmoon-cyd .sheet-header h1.charname input {
@@ -359,9 +378,10 @@
height: 100%;
margin: 0;
font-weight: bold;
font-family: "Charlemagne";
font-family: "Pfeffer";
font-size: 2rem;
color: lightgray;
text-align: left;
}
.fvtt-hawkmoon-cyd .sheet-tabs {
@@ -969,6 +989,11 @@
font-size: 0.9rem;
}
.chat-message .message-content {
font-size: 0.9rem;
font-family: CentaurMT;
}
.chat-actor-name {
padding: 4px;
}
@@ -986,7 +1011,7 @@
font-weight: bold;
position: absolute;
top: 50%;
left: 40%;
left: 54%;
transform: translate(-50%, -50%);
}
@@ -1001,6 +1026,7 @@
.icon-adversite {
width: 48px;
border: 0px;
margin-left: 8px;
}
.hud-adversite-container {
@@ -1490,8 +1516,8 @@
.item-field-label-medium {
padding-top: 6px;
flex-grow: 1;
max-width: 6rem;
min-width: 6rem;
max-width: 7rem;
min-width: 7rem;
}
.item-field-label-long {
@@ -1568,7 +1594,7 @@
}
textarea {
font-family: "Charlemagne";
font-family: "Montserrat";
font-size: 0.8rem;
}

View File

@@ -1,7 +1,7 @@
{
"id": "fvtt-hawkmoon-cyd",
"description": "Hawkmoon RPG for FoundryVTT (CYD system - French)",
"version": "13.0.3",
"version": "13.0.7",
"grid": {
"distance": 2,
"units": "m"
@@ -37,7 +37,7 @@
],
"license": "LICENSE.txt",
"manifest": "https://www.uberwald.me/gitea/public/fvtt-hawkmoon-cyd/raw/branch/master/system.json",
"download": "https://www.uberwald.me/gitea/public/fvtt-hawkmoon-cyd/archive/fvtt-hawkmoon-cyd-13.0.3.zip",
"download": "https://www.uberwald.me/gitea/public/fvtt-hawkmoon-cyd/archive/fvtt-hawkmoon-cyd-13.0.7.zip",
"languages": [
{
"lang": "fr",

View File

@@ -40,7 +40,7 @@
{{selectOptions combativiteList selected=system.sante.etat valueAttr="value" nameAttr="value" labelAttr="label"}}
</select>
</li>
</ul>
</div>
</div>
@@ -55,6 +55,7 @@
<a class="item" data-tab="equipement">Equipement</a>
<a class="item" data-tab="biodata">Bio&Notes</a>
</nav>
<hr>
{{!-- Sheet Body --}}
<section class="sheet-body">
@@ -63,7 +64,7 @@
<div class="tab principal" data-group="primary" data-tab="principal">
<div class="flexcol">
<div class="grid grid-2col">
<div class="sheet-box color-bg-archetype">
@@ -86,7 +87,7 @@
<input type="text" class="padd-right numeric-input item-field-label-short" name="system.vitesse.value"
value="{{system.vitesse.value}}" data-dtype="Number" />
</li>
</ul>
</div>
@@ -236,17 +237,17 @@
{{#each skills as |skill key|}}
<li class="item flexrow " data-item-id="{{skill._id}}" data-item-type="competence">
<img class="item-name-img" src="{{skill.img}}" />
<div class="flexcol item-name-label">
<span class="item-name-label competence-name"><a class="roll-competence item-field-label-short"
<span class="item-name-label competence-name"><a class="roll-competence "
data-attr-key="tochoose">{{skill.name}}</a></span>
<span class="predilection-text">
{{#each skill.system.predilections as |pred key|}}
{{#if (and pred.acquise (not pred.used))}}
{{pred.name}},
{{/if}}
{{/if}}
{{/each}}
</span>
</div>
@@ -410,21 +411,21 @@
<div class="tab equipement" data-group="primary" data-tab="equipement">
<div class="flexcol">
<hr>
<div class="sheet-box color-bg-archetype">
<h4>
<label class="argent-total-text">
Argent Total : {{richesse.po}} PO - {{richesse.pa}} PA - {{richesse.sc}} SC (total {{richesse.valueSC}} SC)
</label>
</h4>
</h4>
</div>
<div class="sheet-box color-bg-archetype">
<ul class="item-list alternate-list">
<li class="item flexrow list-item items-title-bg">
<span class="item-name-label-header">
<h3><label class="items-title-text">Richesses et Argent</label></h3>
<h3><label class="items-title-text">Richesses et Argent</label></h3>
</span>
<span class="item-field-label-short">
<label class="short-label">Quantité</label>
@@ -440,7 +441,7 @@
<li class="item flexrow " data-item-id="{{monnaie._id}}" data-item-type="monnaie">
<img class="item-name-img" src="{{monnaie.img}}" />
<span class="item-name-label competence-name">{{monnaie.name}}</span>
<span class="item-name-label competence-name item-field-label-medium">{{monnaie.system.quantite}}
<span class="item-name-label competence-name item-field-label-medium">{{monnaie.system.quantite}}
<a class="quantity-modify plus-minus-button" data-quantite-value="-1">-</a>
<a class="quantity-modify plus-minus-button" data-quantite-value="+1">+</a>
</span>
@@ -460,7 +461,7 @@
<label class="argent-total-text">
Valeur Total Equipement : {{valeurEquipement.po}} PO - {{valeurEquipement.pa}} PA - {{valeurEquipement.sc}} SC (total {{valeurEquipement.valueSC}} SC)
</label>
</h4>
</h4>
</div>
<div class="sheet-box color-bg-archetype">

View File

@@ -2,10 +2,10 @@
{{#if actorImg}}
<img class="actor-icon" src="{{actorImg}}" alt="{{alias}}" />
{{/if}}
<h4 class=chat-actor-name>{{alias}}</h4>
<h4 class="chat-actor-name">{{alias}}</h4>
</div>
<hr>
<hr />
{{#if actionImg}}
<div>
@@ -13,145 +13,126 @@
</div>
{{/if}}
<div class="flexcol">
</div>
<div class="flexcol"></div>
<div>
<ul>
<li class="hawkmoon-roll">Attribut : {{attr.label}} ({{attr.value}})</li>
<li class="hawkmoon-roll">
<strong>Attribut</strong> : {{attr.label}} ({{attr.value}})
</li>
{{#if attr2}}
<li>Attribut : {{attr2.label}} ({{attr2.value}})</li>
<li><strong>Attribut</strong> : {{attr2.label}} ({{attr2.value}})</li>
{{/if}} {{#if competence}}
<li>
<strong>Compétence</strong> : {{competence.name}}
({{competence.system.niveau}})
</li>
{{/if}} {{#if selectedMaitrise}}
<li><strong>Maitrise</strong> : {{selectedMaitrise.name}}</li>
{{/if}} {{#if arme}}
<li>
<strong>Arme</strong> : {{arme.name}} (+{{arme.system.bonusmaniementoff}})
</li>
{{/if}}
{{#if competence}}
<li>Compétence : {{competence.name}} ({{competence.system.niveau}})</li>
{{/if}}
{{#if selectedMaitrise}}
<li>Maitrise : {{selectedMaitrise.name}}</li>
{{/if}}
{{#if arme}}
<li>Arme : {{arme.name}} (+{{arme.system.bonusmaniementoff}})</li>
{{/if}}
<li>Formule : {{diceFormula}}</li>
<li>Résultat du dé : {{diceResult}}</li>
<li><strong>Formule</strong> : {{diceFormula}}</li>
<li><strong>Résultat du dé</strong> : {{diceResult}}</li>
{{#if bonusRoll}}
<li>{{textBonus}} : +{{bonusRoll.total}}</li>
{{/if}}
<li>Total : {{finalResult}}</li>
<li><strong>Total</strong> : {{finalResult}}</li>
{{#if attaqueCharge}}
<li>Vous avez chargé : vos adversaires bénéficient de +3 pour vous attaquer</li>
{{/if}}
{{#if difficulte}}
<li>SD : {{difficulte}}</li>
{{#if isSuccess}}
<li class="chat-success">Succés...
</li>
{{#if attaqueDesarme}}
<li>Vous désarmez votre adversaire ! Son arme tombe hors de sa portée.</li>
{{/if}}
{{else}}
<li class="chat-failure">Echec...</li>
{{/if}}
{{/if}}
{{#if isHeroique}}
<li class="chat-success">Héroïque !!!</li>
{{#if attaqueDesarme}}
<li>... Et en plus vous récupérez l'arme de votre adversaire dans votre main (si vous le souhaitez) !.</li>
{{/if}}
{{/if}}
{{#if isDramatique}}
<li class="chat-failure">Dramatique !!!</li>
{{/if}}
{{#if isInit}}
<li>Initiative stockée ! </li>
{{/if}}
{{#if isSuccess}}
{{#if immobiliser}}
{{#if isHeroique}}
<li>Votre cible est immobilisée, et vous pouvez faire une action complexe.</li>
{{else}}
<li>Votre cible est immobilisée.</li>
{{/if}}
{{/if}}
{{#if desengager}}
{{#if isSuccess}}
<li>Vous vous désengagez de votre adversaire.</li>
{{else}}
<li>Vous ne parvenez pas à vous désengager de votre adversaire, il a un bonus de +3 pour vous attaquer</li>
{{/if}}
{{/if}}
{{#if repousser}}
{{#if isHeroique}}
<li>Votre cible est repoussée de 3 mètres et tombe au sol.</li>
{{else}}
<li>Votre cible tombe au sol.</li>
{{/if}}
{{/if}}
{{#if assomer}}
{{#if isHeroique}}
<li>Votre cible est assomée pour [[/r 1d10+10]] minutes.</li>
{{else}}
<li>Votre cible est assomée pour [[/r 1d10]] minutes.</li>
{{/if}}
{{/if}}
{{#if coupBas}}
<li>La cible a reçu 2 adversités bleues et a perdu 1 niveau de combativité (auto).</li>
{{#if isHeroique}}
<li>Et votre cible perd sa prochaine action complexe.</li>
{{/if}}
{{/if}}
{{#if arme}}
{{#if contenir}}
{{#if isHeroique}}
<li>Aucun dégât, mais tous les adversaires dont le Seuil de Défense + 10 est atteint ou dépassé par le résultat de la manœuvre ne peuvent déclarer dattaque contre le personnage lors de leur prochaine action complexe (à ce tour de jeu ou au suivant).</li>
{{else}}
<li>Aucun dégât, mais la cible de cette manœuvre ne peut pas déclarer dattaque contre vous lors de sa prochaine action complexe (à ce tour de jeu ou au suivant).</li>
{{/if}}
{{else}}
{{#if (eq nbCombativitePerdu "vaincu")}}
<li>Votre adversaire est vaincu !</li>
{{else}}
<li>Votre adversaire a perdu {{nbCombativitePerdu}} Etat de Combativité (auto)</li>
{{#if (not arme.system.onlevelonly)}}
<button class="chat-card-button roll-chat-degat">Dégats de l'arme</button>
{{#if coupDevastateur}}
<button class="chat-card-button roll-chat-degat-devastateur">Dégats de l'arme avec Coup Dévastateur</button>
{{/if}}
{{/if}}
{{/if}}
{{/if}}
{{/if}}
{{/if}}
{{#each predilections as |pred key|}}
<li>
{{#if (and (and pred.acquise (not pred.maitrise)) (not pred.used))}}
<button class="chat-card-button predilection-reroll" data-predilection-index="{{key}}">Predilection :
{{pred.name}}
</button>
{{/if}}
Vous avez chargé : vos adversaires bénéficient de +3 pour vous attaquer
</li>
{{/if}} {{#if difficulte}}
<li><strong>SD</strong> : {{difficulte}}</li>
{{#if isSuccess}}
<li class="chat-success">Succés...</li>
{{#if attaqueDesarme}}
<li>Vous désarmez votre adversaire ! Son arme tombe hors de sa portée.</li>
{{/if}} {{else}}
<li class="chat-failure">Echec...</li>
{{/if}} {{/if}} {{#if isHeroique}}
<li class="chat-success">Héroïque !!!</li>
{{#if attaqueDesarme}}
<li>
... Et en plus vous récupérez l'arme de votre adversaire dans votre main
(si vous le souhaitez) !.
</li>
{{/if}} {{/if}} {{#if isDramatique}}
<li class="chat-failure">Dramatique !!!</li>
{{/if}} {{#if isInit}}
<li>Initiative stockée !</li>
{{/if}} {{#if isSuccess}} {{#if immobiliser}} {{#if isHeroique}}
<li>
Votre cible est immobilisée, et vous pouvez faire une action complexe.
</li>
{{else}}
<li>Votre cible est immobilisée.</li>
{{/if}} {{/if}} {{#if desengager}} {{#if isSuccess}}
<li>Vous vous désengagez de votre adversaire.</li>
{{else}}
<li>
Vous ne parvenez pas à vous désengager de votre adversaire, il a un bonus
de +3 pour vous attaquer
</li>
{{/if}} {{/if}} {{#if repousser}} {{#if isHeroique}}
<li>Votre cible est repoussée de 3 mètres et tombe au sol.</li>
{{else}}
<li>Votre cible tombe au sol.</li>
{{/if}} {{/if}} {{#if assomer}} {{#if isHeroique}}
<li>Votre cible est assomée pour [[/r 1d10+10]] minutes.</li>
{{else}}
<li>Votre cible est assomée pour [[/r 1d10]] minutes.</li>
{{/if}} {{/if}} {{#if coupBas}}
<li>
La cible a reçu 2 adversités bleues et a perdu 1 niveau de combativité
(auto).
</li>
{{#if isHeroique}}
<li>Et votre cible perd sa prochaine action complexe.</li>
{{/if}} {{/if}} {{#if arme}} {{#if contenir}} {{#if isHeroique}}
<li>
Aucun dégât, mais tous les adversaires dont le Seuil de Défense + 10 est
atteint ou dépassé par le résultat de la manœuvre ne peuvent déclarer
dattaque contre le personnage lors de leur prochaine action complexe (à
ce tour de jeu ou au suivant).
</li>
{{else}}
<li>
Aucun dégât, mais la cible de cette manœuvre ne peut pas déclarer
dattaque contre vous lors de sa prochaine action complexe (à ce tour de
jeu ou au suivant).
</li>
{{/if}} {{else}} {{#if (eq nbCombativitePerdu "vaincu")}}
<li>Votre adversaire est vaincu !</li>
{{else}}
<li>
Votre adversaire a perdu {{nbCombativitePerdu}} Etat de Combativité (auto)
</li>
{{#if (not arme.system.onlevelonly)}}
<button class="chat-card-button roll-chat-degat">Dégats de l'arme</button>
{{#if coupDevastateur}}
<button class="chat-card-button roll-chat-degat-devastateur">
Dégats de l'arme avec Coup Dévastateur
</button>
{{/if}} {{/if}} {{/if}} {{/if}} {{/if}} {{/if}} {{#each predilections as
|pred key|}}
<li>
{{#if (and (and pred.acquise (not pred.maitrise)) (not pred.used))}}
<button
class="chat-card-button predilection-reroll"
data-predilection-index="{{key}}"
>
Predilection : {{pred.name}}
</button>
{{/if}}
</li>
{{/each}}
</ul>
</div>

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