Compare commits
8 Commits
Author | SHA1 | Date | |
---|---|---|---|
5176b4ce87 | |||
3d6f195fc2 | |||
3693d68c24 | |||
16ccd2f3e1 | |||
631eb280ca | |||
88ca98945f | |||
edfb2105d3 | |||
84cc59c57d |
12
changelog.md
12
changelog.md
@@ -1,9 +1,13 @@
|
||||
# 13.0.0
|
||||
|
||||
- Support de Foundry v13
|
||||
|
||||
# 12.0.23
|
||||
|
||||
- Correction sur les jets réussie en tir
|
||||
- Correction sur le dés négatif pour les échecs critiques
|
||||
- Correction sur l'XP et édition de l'XP en mode MJ
|
||||
|
||||
|
||||
# 12.0.22
|
||||
|
||||
- Correction pour les armes d'hast
|
||||
@@ -14,12 +18,12 @@
|
||||
|
||||
# 12.0.21
|
||||
|
||||
- Creation de PNJ OK
|
||||
- Creation de PNJ OK
|
||||
|
||||
# 12.0.20
|
||||
|
||||
- Corrections sur la création de perso
|
||||
|
||||
- Corrections sur la création de perso
|
||||
|
||||
# 12.0.19
|
||||
|
||||
- Initial release !
|
@@ -6,7 +6,7 @@
|
||||
import { TeDeumUtility } from "../common/tedeum-utility.js";
|
||||
|
||||
/* -------------------------------------------- */
|
||||
export class TeDeumActorPJSheet extends ActorSheet {
|
||||
export class TeDeumActorPJSheet extends foundry.appv1.sheets.ActorSheet {
|
||||
|
||||
/** @override */
|
||||
static get defaultOptions() {
|
||||
@@ -42,6 +42,7 @@ export class TeDeumActorPJSheet extends ActorSheet {
|
||||
providence: this.actor.prepareProvidence(),
|
||||
arbreCompetences: this.actor.prepareArbreCompetences(),
|
||||
equipements: this.actor.getEquipements(),
|
||||
simples: this.actor.getSimples(),
|
||||
armures: this.actor.getArmures(),
|
||||
graces: this.actor.getGraces(),
|
||||
blessures: this.actor.getBlessures(),
|
||||
@@ -55,10 +56,10 @@ export class TeDeumActorPJSheet extends ActorSheet {
|
||||
nbArmuresLourdes: this.actor.getNbArmuresLourdesActuel(),
|
||||
santeModifier: this.actor.getSanteModifier(),
|
||||
educations: this.actor.getEducations(),
|
||||
description: await TextEditor.enrichHTML(this.object.system.description, { async: true }),
|
||||
equipmentfree: await TextEditor.enrichHTML(this.object.system.equipmentfree, { async: true }),
|
||||
notes: await TextEditor.enrichHTML(this.object.system.notes, { async: true }),
|
||||
histoire: await TextEditor.enrichHTML(this.object.system.histoire, { async: true }),
|
||||
description: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.description, { async: true }),
|
||||
equipmentfree: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.equipmentfree, { async: true }),
|
||||
notes: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.notes, { async: true }),
|
||||
histoire: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.histoire, { async: true }),
|
||||
options: this.options,
|
||||
owner: this.document.isOwner,
|
||||
editScore: this.options.editScore,
|
||||
@@ -78,10 +79,10 @@ export class TeDeumActorPJSheet extends ActorSheet {
|
||||
|
||||
// Everything below here is only needed if the sheet is editable
|
||||
if (!this.options.editable) return;
|
||||
|
||||
|
||||
html.bind("keydown", function(e) { // Ignore Enter in actores sheet
|
||||
if (e.keyCode === 13) return false;
|
||||
});
|
||||
});
|
||||
|
||||
// Update Inventory Item
|
||||
html.find('.item-edit').click(ev => {
|
||||
@@ -97,16 +98,21 @@ export class TeDeumActorPJSheet extends ActorSheet {
|
||||
})
|
||||
html.find('.item-add').click(ev => {
|
||||
let dataType = $(ev.currentTarget).data("type")
|
||||
this.actor.createEmbeddedDocuments('Item', [{ name: "NewItem", type: dataType }], { renderSheet: true })
|
||||
this.actor.createEmbeddedDocuments('Item', [{ name: "Nouveau " + dataType, type: dataType }], { renderSheet: true })
|
||||
})
|
||||
|
||||
html.find('.competence-add').click(ev => {
|
||||
let dataType = $(ev.currentTarget).data("type")
|
||||
let caracKey = $(ev.currentTarget).data("carac-key")
|
||||
this.actor.createEmbeddedDocuments('Item', [{ name: "Nouvelle " + dataType, type: dataType, system: {caracteristique: caracKey} }], { renderSheet: true })
|
||||
})
|
||||
|
||||
html.find('.subactor-edit').click(ev => {
|
||||
const li = $(ev.currentTarget).parents(".item");
|
||||
let actorId = li.data("actor-id");
|
||||
let actor = game.actors.get( actorId );
|
||||
actor.sheet.render(true);
|
||||
});
|
||||
|
||||
|
||||
html.find('.subactor-delete').click(ev => {
|
||||
const li = $(ev.currentTarget).parents(".item");
|
||||
let actorId = li.data("actor-id");
|
||||
@@ -124,7 +130,7 @@ export class TeDeumActorPJSheet extends ActorSheet {
|
||||
html.find('.roll-competence').click((event) => {
|
||||
let compId = $(event.currentTarget).data("comp-id")
|
||||
this.actor.rollCompetence(compId)
|
||||
});
|
||||
});
|
||||
html.find('.roll-arme').click((event) => {
|
||||
const armeId = $(event.currentTarget).data("arme-id")
|
||||
this.actor.rollArme(armeId)
|
||||
@@ -133,24 +139,24 @@ export class TeDeumActorPJSheet extends ActorSheet {
|
||||
const armeId = $(event.currentTarget).data("arme-id")
|
||||
this.actor.rollDegatsArme(armeId)
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
html.find('.lock-unlock-sheet').click((event) => {
|
||||
this.options.editScore = !this.options.editScore;
|
||||
this.render(true);
|
||||
});
|
||||
});
|
||||
html.find('.item-equip').click(ev => {
|
||||
const li = $(ev.currentTarget).parents(".item");
|
||||
this.actor.equipItem( li.data("item-id") );
|
||||
this.render(true);
|
||||
this.render(true);
|
||||
});
|
||||
html.find('.update-field').change(ev => {
|
||||
const fieldName = $(ev.currentTarget).data("field-name");
|
||||
let value = Number(ev.currentTarget.value);
|
||||
this.actor.update( { [`${fieldName}`]: value } );
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/** @override */
|
||||
setPosition(options = {}) {
|
||||
|
@@ -14,8 +14,8 @@ export class TeDeumActor extends Actor {
|
||||
/**
|
||||
* Override the create() function to provide additional SoS functionality.
|
||||
*
|
||||
* This overrided create() function adds initial items
|
||||
* Namely: Basic skills, money,
|
||||
* This overrided create() function adds initial items
|
||||
* Namely: Basic skills, money,
|
||||
*
|
||||
* @param {Object} data Barebones actor data which this function adds onto.
|
||||
* @param {Object} options (Unused) Additional options which customize the creation workflow.
|
||||
@@ -64,7 +64,7 @@ export class TeDeumActor extends Actor {
|
||||
|
||||
super._preUpdate(changed, options, user);
|
||||
}
|
||||
|
||||
|
||||
getCompetenceScore(compName) {
|
||||
let competence = this.items.find(item => item.type == "competence" && item.name.toLowerCase() == compName.toLowerCase())
|
||||
if (competence) {
|
||||
@@ -127,8 +127,10 @@ export class TeDeumActor extends Actor {
|
||||
if (updates.length > 0) {
|
||||
this.updateEmbeddedDocuments('Item', updates)
|
||||
}
|
||||
|
||||
super._onUpdate(changed, options, userId);
|
||||
}
|
||||
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async _preCreate(data, options, user) {
|
||||
await super._preCreate(data, options, user);
|
||||
@@ -198,6 +200,11 @@ export class TeDeumActor extends Actor {
|
||||
TeDeumUtility.sortArrayObjectsByName(comp)
|
||||
return comp;
|
||||
}
|
||||
getSimples() {
|
||||
let comp = foundry.utils.duplicate(this.items.filter(item => item.type == 'simple') || [])
|
||||
TeDeumUtility.sortArrayObjectsByName(comp)
|
||||
return comp;
|
||||
}
|
||||
getArmures() {
|
||||
let comp = foundry.utils.duplicate(this.items.filter(item => item.type == 'armure') || [])
|
||||
TeDeumUtility.sortArrayObjectsByName(comp)
|
||||
@@ -275,7 +282,7 @@ export class TeDeumActor extends Actor {
|
||||
for (let bId in game.system.tedeum.config.blessures) {
|
||||
let blessure = game.system.tedeum.config.blessures[bId]
|
||||
if (diff >= blessure.degatsMin && diff <= blessure.degatsMax) {
|
||||
// Create a new blessure object
|
||||
// Create a new blessure object
|
||||
let blessureObj = {
|
||||
name: blessure.label,
|
||||
type: "blessure",
|
||||
@@ -303,7 +310,11 @@ export class TeDeumActor extends Actor {
|
||||
c.key = key
|
||||
c.name = game.system.tedeum.config.caracteristiques[key].label
|
||||
c.generalqualite = game.system.tedeum.config.descriptionValeur[c.value].qualite
|
||||
c.qualite = game.system.tedeum.config.descriptionValeur[c.value][key]
|
||||
if (this.system.genre.toLowerCase() == "homme") {
|
||||
c.qualite = game.system.tedeum.config.descriptionValeur[c.value][key]
|
||||
} else {
|
||||
c.qualite = game.system.tedeum.config.descriptionValeurFemme[c.value][key]
|
||||
}
|
||||
c.dice = game.system.tedeum.config.descriptionValeur[c.value].dice
|
||||
c.negativeDice = game.system.tedeum.config.descriptionValeur[c.value].negativeDice
|
||||
}
|
||||
@@ -322,7 +333,11 @@ export class TeDeumActor extends Actor {
|
||||
prepareProvidence() {
|
||||
let providence = foundry.utils.deepClone(this.system.providence)
|
||||
providence.name = "Providence"
|
||||
providence.qualite = game.system.tedeum.config.providence[providence.value].labelM
|
||||
if (this.system.genre.toLowerCase() == "homme") {
|
||||
providence.qualite = game.system.tedeum.config.providence[providence.value].labelM
|
||||
} else {
|
||||
providence.qualite = game.system.tedeum.config.providence[providence.value].labelF
|
||||
}
|
||||
providence.dice = game.system.tedeum.config.providence[providence.value].diceValue
|
||||
providence.description = "La Providence représente la Volonté Divine à l'œuvre pour guider ou sauver un être humain. Les PJ montent dans l’échelle de la Providence en menant à bien leurs missions et en se montrant vertueux. Les points de Providence peuvent servir à augmenter temporairement une caractéris- tique, à modifier la gravité d'une blessure, et à résister au vieillissement. Chaque person- nage commence avec un score initial de 1 en Providence (au niveau Pauvre pécheur)."
|
||||
return providence
|
||||
@@ -580,6 +595,7 @@ export class TeDeumActor extends Actor {
|
||||
let rollData = this.getCommonCompetence(compId)
|
||||
rollData.mode = "competence"
|
||||
rollData.title = rollData.competence.name
|
||||
rollData.compScore = rollData.competence.system.isBase ? this.system.caracteristiques[rollData.competence.system.caracteristique].value : rollData.competence.system.score
|
||||
this.startRoll(rollData).catch("Error on startRoll")
|
||||
}
|
||||
|
||||
|
@@ -6,13 +6,14 @@ export class TeDeumCharacterCreator {
|
||||
async init() {
|
||||
this.stages = {}
|
||||
this.currentStage = "origineSociale"
|
||||
this.sex = undefined
|
||||
this.sexe = undefined
|
||||
this.origineSociale = undefined
|
||||
this.religion = undefined
|
||||
this.caracBonus = {}
|
||||
this.competenceBonus = {}
|
||||
this.suiviReponses = []
|
||||
this.competences = TeDeumUtility.getCompetencesForDropDown()
|
||||
this.choiceSummary = {}
|
||||
|
||||
for (let k in game.system.tedeum.config.caracteristiques) {
|
||||
this.caracBonus[k] = { value: 0 }
|
||||
@@ -39,6 +40,7 @@ export class TeDeumCharacterCreator {
|
||||
} else {
|
||||
this.competenceBonus[compName].value += 1
|
||||
}
|
||||
this.choiceSummary[this.currentStage].competences[compName] = 1
|
||||
}
|
||||
|
||||
/*--------------------------------------------*/
|
||||
@@ -69,7 +71,7 @@ export class TeDeumCharacterCreator {
|
||||
|
||||
/*--------------------------------------------*/
|
||||
async askStageName(context) {
|
||||
const content = await renderTemplate("systems/fvtt-te-deum/templates/dialogs/character-creator-select-stage-name.hbs", context)
|
||||
const content = await foundry.applications.handlebars.renderTemplate("systems/fvtt-te-deum/templates/dialogs/character-creator-select-stage-name.hbs", context)
|
||||
const choiceResult = await foundry.applications.api.DialogV2.wait({
|
||||
window: { title: context.title },
|
||||
classes: ["fvtt-te-deum"],
|
||||
@@ -116,6 +118,7 @@ export class TeDeumCharacterCreator {
|
||||
/*--------------------------------------------*/
|
||||
async askQuestionnaire(stage, context) {
|
||||
context.subtitle = "Questionnaire"
|
||||
this.choiceSummary[this.currentStage].questionnaire = {}
|
||||
|
||||
for (let key in stage.system.questionnaire) {
|
||||
let question = stage.system.questionnaire[key]
|
||||
@@ -127,7 +130,7 @@ export class TeDeumCharacterCreator {
|
||||
context.competences = {}
|
||||
context.responseKey = "reponse1" // By default
|
||||
|
||||
const content = await renderTemplate("systems/fvtt-te-deum/templates/dialogs/character-creator-select-questions.hbs", context)
|
||||
const content = await foundry.applications.handlebars.renderTemplate("systems/fvtt-te-deum/templates/dialogs/character-creator-select-questions.hbs", context)
|
||||
const choiceResult = await foundry.applications.api.DialogV2.wait({
|
||||
window: { title: context.title },
|
||||
classes: ["fvtt-te-deum"],
|
||||
@@ -156,7 +159,7 @@ export class TeDeumCharacterCreator {
|
||||
// Get the responseKey data
|
||||
let responseKey = $(event.target).data("response-key")
|
||||
let compName = event.target.value
|
||||
console.log("Questionnaire Change", responseKey, compName)
|
||||
console.log("Questionnaire Change", responseKey, compName)
|
||||
context.competences[responseKey] = compName.toLowerCase()
|
||||
})
|
||||
}
|
||||
@@ -170,13 +173,14 @@ export class TeDeumCharacterCreator {
|
||||
let compName = context.competences[context.responseKey] || selectedResponse.compName
|
||||
this.increaseCompetence(compName)
|
||||
|
||||
this.suiviReponses.push({ etape: stage.name, question: question.question, reponse: selectedResponse.reponse, compName: compName })
|
||||
this.suiviReponses.push({ key: this.currentStage, etape: stage.name, question: question.question, reponse: selectedResponse.reponse, compName: compName })
|
||||
}
|
||||
}
|
||||
|
||||
/*------------- -------------------------------*/
|
||||
async askCompetences(stage, context) {
|
||||
context.subtitle = "Choix des Compétences"
|
||||
this.choiceSummary[this.currentStage].competences = {}
|
||||
|
||||
context.fixedCompetences = {}
|
||||
context.selectCompetences = {}
|
||||
@@ -192,7 +196,7 @@ export class TeDeumCharacterCreator {
|
||||
}
|
||||
}
|
||||
|
||||
const content = await renderTemplate("systems/fvtt-te-deum/templates/dialogs/character-creator-select-competences.hbs", context)
|
||||
const content = await foundry.applications.handlebars.renderTemplate("systems/fvtt-te-deum/templates/dialogs/character-creator-select-competences.hbs", context)
|
||||
const choiceResult = await foundry.applications.api.DialogV2.wait({
|
||||
window: { title: context.title },
|
||||
classes: ["fvtt-te-deum"],
|
||||
@@ -236,7 +240,7 @@ export class TeDeumCharacterCreator {
|
||||
}
|
||||
}
|
||||
|
||||
const content = await renderTemplate("systems/fvtt-te-deum/templates/dialogs/character-creator-select-competences.hbs", context)
|
||||
const content = await foundry.applications.handlebars.renderTemplate("systems/fvtt-te-deum/templates/dialogs/character-creator-select-competences.hbs", context)
|
||||
const choiceResult = await foundry.applications.api.DialogV2.wait({
|
||||
window: { title: context.title },
|
||||
classes: ["fvtt-te-deum"],
|
||||
@@ -273,6 +277,10 @@ export class TeDeumCharacterCreator {
|
||||
/*------------- -------------------------------*/
|
||||
async askCarac(stage, context) {
|
||||
context.subtitle = "Choix des Caractéristiques"
|
||||
this.choiceSummary[this.currentStage] = {
|
||||
caracBonus : {},
|
||||
competences : {}
|
||||
}
|
||||
|
||||
let selected = []
|
||||
for (let i = 0; i < stage.system.nbChoixCarac; i++) {
|
||||
@@ -283,7 +291,7 @@ export class TeDeumCharacterCreator {
|
||||
context.caracList.push(game.system.tedeum.config.caracteristiques[carac.caracId])
|
||||
}
|
||||
|
||||
const content = await renderTemplate("systems/fvtt-te-deum/templates/dialogs/character-creator-select-carac.hbs", context)
|
||||
const content = await foundry.applications.handlebars.renderTemplate("systems/fvtt-te-deum/templates/dialogs/character-creator-select-carac.hbs", context)
|
||||
const choiceResult = await foundry.applications.api.DialogV2.wait({
|
||||
window: { title: context.title },
|
||||
classes: ["fvtt-te-deum"],
|
||||
@@ -312,6 +320,7 @@ export class TeDeumCharacterCreator {
|
||||
}
|
||||
this.caracBonus[choiceResult.carac].value += 1
|
||||
selected.push(choiceResult.carac)
|
||||
this.choiceSummary[this.currentStage].caracBonus[choiceResult.carac] = 1
|
||||
}
|
||||
}
|
||||
|
||||
@@ -325,7 +334,7 @@ export class TeDeumCharacterCreator {
|
||||
origineChoice: game.system.tedeum.config.origineSociale
|
||||
}
|
||||
|
||||
const content = await renderTemplate("systems/fvtt-te-deum/templates/dialogs/character-creator-origine.hbs", context)
|
||||
const content = await foundry.applications.handlebars.renderTemplate("systems/fvtt-te-deum/templates/dialogs/character-creator-origine.hbs", context)
|
||||
const label = "Valider le choix de l'Origine Sociale"
|
||||
const choiceResult = await foundry.applications.api.DialogV2.wait({
|
||||
window: { title: context.title },
|
||||
@@ -360,6 +369,12 @@ export class TeDeumCharacterCreator {
|
||||
for (let key in this.origineSociale.caracteristiques) {
|
||||
this.caracBonus[key].value += this.origineSociale.caracteristiques[key]
|
||||
}
|
||||
this.choiceSummary['origineSociale'] = {
|
||||
sexe: this.sexe,
|
||||
religion: this.religion,
|
||||
origineSociale: this.origineSociale.label,
|
||||
caracBonus: this.caracBonus,
|
||||
}
|
||||
this.currentStage = "pouponniere"
|
||||
|
||||
}
|
||||
@@ -388,6 +403,7 @@ export class TeDeumCharacterCreator {
|
||||
this.pouponniere = foundry.utils.duplicate(stage.items.find(item => item.id === choiceResult.selectedItem))
|
||||
context.title = `La Pouponnière - ${this.pouponniere.name}`
|
||||
TeDeumUtility.prepareEducationContent(this.pouponniere);
|
||||
this.choiceSummary['pouponniere'] = {}
|
||||
|
||||
context.label = "Valider l'augmentation de caracteristique"
|
||||
await this.askCarac(this.pouponniere, context)
|
||||
@@ -404,7 +420,7 @@ export class TeDeumCharacterCreator {
|
||||
/*--------------------------------------------*/
|
||||
async renderPetitsGrimauds(stage) {
|
||||
// Filter available pouponniere from origineSociale
|
||||
let grimaudsItems = stage.items.filter(item => item.system.accessible[this.origineSociale.id].isaccessible && (item.system.genre === this.sexe || item.system.genre === "Mixte"))
|
||||
let grimaudsItems = stage.items.filter(item => item.system.accessible[this.origineSociale.id].isaccessible && (item.system.genre === this.sexe || item.system.genre === "Mixte"))
|
||||
|
||||
let context = {
|
||||
title: "Les Petits Grimauds",
|
||||
@@ -545,7 +561,7 @@ export class TeDeumCharacterCreator {
|
||||
let actor = await TeDeumActor.create({name: "Nouveau personnage", type: "pj"})
|
||||
let updates = {}
|
||||
for (let key in this.caracBonus) {
|
||||
updates[`system.caracteristiques.${key}.value`] = Number(this.caracBonus[key].value)+1
|
||||
updates[`system.caracteristiques.${key}.value`] = Number(this.caracBonus[key].value)+1
|
||||
}
|
||||
updates['system.genre'] = this.sexe
|
||||
updates['system.religion'] = TeDeumUtility.upperFirst(this.religion)
|
||||
@@ -553,7 +569,7 @@ export class TeDeumCharacterCreator {
|
||||
updates['system.equipmentfree'] = this.ageViril.system.trousseau
|
||||
actor.update( updates);
|
||||
|
||||
// Process competences : increase know skills
|
||||
// Process competences : increase know skills
|
||||
let updateComp = []
|
||||
let toAdd = []
|
||||
for (let compName in this.competenceBonus) {
|
||||
@@ -562,13 +578,13 @@ export class TeDeumCharacterCreator {
|
||||
updateComp.push({ _id: comp._id, "system.score": this.competenceBonus[compName].value })
|
||||
} else {
|
||||
toAdd.push( compName)
|
||||
}
|
||||
}
|
||||
}
|
||||
actor.updateEmbeddedDocuments("Item", updateComp)
|
||||
|
||||
// Process adding skills
|
||||
|
||||
// Process adding skills
|
||||
let compendiumSkill = TeDeumUtility.getCompetences()
|
||||
let compToAdd = [ this.pouponniere, this.grimauds, this.roses, this.ageViril ]
|
||||
let compToAdd = [ this.pouponniere, this.grimauds, this.roses, this.ageViril ]
|
||||
for (let compName of toAdd) {
|
||||
let comp = compendiumSkill.find( i => i.name.toLowerCase() === compName.toLowerCase())
|
||||
comp.system.score = this.competenceBonus[compName].value
|
||||
@@ -581,14 +597,42 @@ export class TeDeumCharacterCreator {
|
||||
await actor.update({ [`system.fortune.${this.origineSociale.cagnotteUnit}`]: newArgent})
|
||||
|
||||
let histoire = ""
|
||||
for (let reponse of this.suiviReponses) {
|
||||
histoire += `<p>${reponse.question}<br>${reponse.reponse} (${reponse.compName})</p>`
|
||||
for ( let key in this.choiceSummary) {
|
||||
let stageSummary = this.choiceSummary[key]
|
||||
if (stageSummary.sexe) {
|
||||
histoire += `<h3>Origine Sociale</h3>`
|
||||
histoire += `<p>${stageSummary.sexe} - ${stageSummary.religion} - ${stageSummary.origineSociale}</p>`
|
||||
} else {
|
||||
histoire += `<h3>${game.system.tedeum.config.etapesEducation[key].label}</h3>`
|
||||
}
|
||||
if (stageSummary.caracBonus) {
|
||||
histoire += `<p><strong>Caractéristiques : </strong><ul>`
|
||||
for (let caracKey in stageSummary.caracBonus) {
|
||||
histoire += `<li>${TeDeumUtility.upperFirst(caracKey)} +1</li>`
|
||||
}
|
||||
histoire += `</ul></p>`
|
||||
}
|
||||
if (stageSummary.competences) {
|
||||
histoire += `<p><strong>Compétences : </strong><ul>`
|
||||
for (let compName in stageSummary.competences) {
|
||||
histoire += `<li>${TeDeumUtility.upperFirst(compName)} +1</li>`
|
||||
}
|
||||
histoire += `</ul></p>`
|
||||
}
|
||||
let questions = this.suiviReponses.filter( r => r.key === key)
|
||||
if (questions.length > 0) {
|
||||
histoire += `<p><strong>Réponses au questionnaire : </strong><ul>`
|
||||
for (let question of questions) {
|
||||
histoire += `<li>${question.question} : <i>${question.reponse}</i> (${TeDeumUtility.upperFirst(question.compName)}+1)</li>`
|
||||
}
|
||||
histoire += `</ul></p>`
|
||||
}
|
||||
}
|
||||
await actor.update({ "system.histoire": histoire})
|
||||
actor.render(true)
|
||||
|
||||
context.pointsCompetence = {
|
||||
"savoir": { score: actor.getCompetenceScore("Mémoriser"), label: "Savoir" },
|
||||
"savoir": { score: actor.getCompetenceScore("Mémoriser"), label: "Savoir" },
|
||||
"sensibilite": { score: actor.getCompetenceScore("Perception"), label: "Sensibilité" },
|
||||
"entregent": { score: actor.getCompetenceScore("Charme"), label: "Entregent" },
|
||||
"puissance": { score: actor.getCompetenceScore("Effort"), label: "Puissance" },
|
||||
@@ -596,7 +640,7 @@ export class TeDeumCharacterCreator {
|
||||
"adresse": { score: actor.getCompetenceScore("Initiative"), label: "Adresse" },
|
||||
}
|
||||
|
||||
const content = await renderTemplate("systems/fvtt-te-deum/templates/dialogs/character-creator-finished.hbs", context)
|
||||
const content = await foundry.applications.handlebars.renderTemplate("systems/fvtt-te-deum/templates/dialogs/character-creator-finished.hbs", context)
|
||||
const label = "Terminer"
|
||||
const choiceResult = await foundry.applications.api.DialogV2.wait({
|
||||
window: { title: context.title },
|
||||
|
@@ -57,7 +57,7 @@ export const TEDEUM_CONFIG = {
|
||||
|
||||
descriptionValeurOdd: {
|
||||
1: { valeur: 1, qualite: "Mauvais", dice: "d4", negativeDice: "d20", savoir: "Sot", sensibilite: "Obtus", entregent: "Rustaud", puissance: "Menu", complexion: "Anémique", adresse: "Empesé" },
|
||||
2: { valeur: 2, qualite: "Médiocre", dice: "d6", negativeDice: "d12", savoir: "Limité", sensibilite: "Etriqué", entregent: "Frustre", puissance: "Délicat", complexion: "Languide", adresse: "Gauche" },
|
||||
2: { valeur: 2, qualite: "Médiocre", dice: "d6", negativeDice: "d12", savoir: "Limité", sensibilite: "Etriqué", entregent: "Fruste", puissance: "Délicat", complexion: "Languide", adresse: "Gauche" },
|
||||
3: { valeur: 3, qualite: "Correct", dice: "d8", negativeDice: "d10", savoir: "Mêlé", sensibilite: "Ouvert", entregent: "Badin", puissance: "Membru", complexion: "Dispos", adresse: "Ingambe" },
|
||||
4: { valeur: 4, qualite: "Bon", dice: "d10", negativeDice: "d8", savoir: "Lettré", sensibilite: "Fin", entregent: "Disert", puissance: "Vigoureux", complexion: "Gaillard", adresse: "Leste" },
|
||||
5: { valeur: 5, qualite: "Bon", dice: "d10", negativeDice: "d8", savoir: "Lettré", sensibilite: "Fin", entregent: "Disert", puissance: "Vigoureux", complexion: "Gaillard", adresse: "Leste" },
|
||||
@@ -71,12 +71,20 @@ export const TEDEUM_CONFIG = {
|
||||
},
|
||||
descriptionValeur: {
|
||||
1: { valeur: 1, qualite: "Mauvais", dice: "d4", negativeDice: "d20", savoir: "Sot", sensibilite: "Obtus", entregent: "Rustaud", puissance: "Menu", complexion: "Anémique", adresse: "Empesé" },
|
||||
2: { valeur: 2, qualite: "Médiocre", dice: "d6", negativeDice: "d12", savoir: "Limité", sensibilite: "Etriqué", entregent: "Frustre", puissance: "Délicat", complexion: "Languide", adresse: "Gauche" },
|
||||
2: { valeur: 2, qualite: "Médiocre", dice: "d6", negativeDice: "d12", savoir: "Limité", sensibilite: "Etriqué", entregent: "Fruste", puissance: "Délicat", complexion: "Languide", adresse: "Gauche" },
|
||||
3: { valeur: 3, qualite: "Correct", dice: "d8", negativeDice: "d10", savoir: "Mêlé", sensibilite: "Ouvert", entregent: "Badin", puissance: "Membru", complexion: "Dispos", adresse: "Ingambe" },
|
||||
4: { valeur: 4, qualite: "Bon", dice: "d10", negativeDice: "d8", savoir: "Lettré", sensibilite: "Fin", entregent: "Disert", puissance: "Vigoureux", complexion: "Gaillard", adresse: "Leste" },
|
||||
5: { valeur: 5, qualite: "Excellent", dice: "d12", negativeDice: "d6", savoir: "Docte", sensibilite: "Subtil", entregent: "Galant", puissance: "Musculeux", complexion: "Sanguin", adresse: "Preste" },
|
||||
6: { valeur: 6, qualite: "Admirable", dice: "d20", negativeDice: "d4", savoir: "Humaniste", sensibilite: "Spirituel", entregent: "Sémillant", puissance: "Hercule", complexion: "Aguerri", adresse: "Alerte" },
|
||||
},
|
||||
descriptionValeurFemme: {
|
||||
1: { valeur: 1, qualite: "Mauvais", dice: "d4", negativeDice: "d20", savoir: "Sotte", sensibilite: "Obtuse", entregent: "Rustaude", puissance: "Menue", complexion: "Anémique", adresse: "Empesée" },
|
||||
2: { valeur: 2, qualite: "Médiocre", dice: "d6", negativeDice: "d12", savoir: "Limitée", sensibilite: "Etriquée", entregent: "Fruste", puissance: "Délicate", complexion: "Languide", adresse: "Gauche" },
|
||||
3: { valeur: 3, qualite: "Correct", dice: "d8", negativeDice: "d10", savoir: "Mêlée", sensibilite: "Ouverte", entregent: "Badine", puissance: "Membrue", complexion: "Dispose", adresse: "Ingambe" },
|
||||
4: { valeur: 4, qualite: "Bon", dice: "d10", negativeDice: "d8", savoir: "Lettrée", sensibilite: "Fine", entregent: "Diserte", puissance: "Vigoureuse", complexion: "Gaillarde", adresse: "Leste" },
|
||||
5: { valeur: 5, qualite: "Excellent", dice: "d12", negativeDice: "d6", savoir: "Docte", sensibilite: "Subtile", entregent: "Galante", puissance: "Musculeuse", complexion: "Sanguine", adresse: "Preste" },
|
||||
6: { valeur: 6, qualite: "Admirable", dice: "d20", negativeDice: "d4", savoir: "Humaniste", sensibilite: "Spirituelle", entregent: "Sémillante", puissance: "Hercule", complexion: "Aguerrie", adresse: "Alerte" },
|
||||
},
|
||||
diceValeur: ["d4", "d6", "d8", "d10", "d12", "d20"],
|
||||
degatsArmure: {
|
||||
sansarmure: { label: "Sans armure" },
|
||||
@@ -157,6 +165,11 @@ export const TEDEUM_CONFIG = {
|
||||
sol: { label: "Sols", id: "sol", value: 10 },
|
||||
livre: { label: "Livres", id: "livre", value: 100 }
|
||||
},
|
||||
monnaieUnit: {
|
||||
"1": { label: "Deniers", id: "denier", value: 1 },
|
||||
"10": { label: "Sols", id: "sol", value: 10 },
|
||||
"100": { label: "Livres", id: "livre", value: 100 }
|
||||
},
|
||||
etapesEducation: {
|
||||
pouponniere: { label: "La Pouponnière", value: "pouponniere", agemin: 0, agemax: 6, nbCompetences: 2, nbCaracteristiques: 3, hasGenre: false, hasQuestionnaire: true, hasDebouches: false, hasMultiplier: false, canCompetencesOpt: false },
|
||||
petitsgrimauds: { label: "La classe des Petits Grimauds", value: "petitsgrimauds", agemin: 7, agemax: 12, nbCompetences: 10, hasGenre: true, nbCaracteristiques: 3, hasDebouches: false, hasQuestionnaire: true, hasMultiplier: false, canCompetencesOpt: false },
|
||||
|
@@ -18,13 +18,14 @@ export class TeDeumUtility {
|
||||
Hooks.on("renderActorDirectory", (app, html, data) => {
|
||||
if (game.user.can('ACTOR_CREATE')) {
|
||||
const button = document.createElement('button');
|
||||
button.style.width = '90%';
|
||||
button.style.width = '60%';
|
||||
button.classList.add('tedeum-create-character');
|
||||
button.innerHTML = 'Créer un Personnage'
|
||||
button.addEventListener('click', () => {
|
||||
let cr = new game.system.tedeum.TeDeumCharacterCreator();
|
||||
cr.init()
|
||||
})
|
||||
html.find('.header-actions').after(button)
|
||||
$(html).find('.header-actions').after(button)
|
||||
}
|
||||
})
|
||||
//Hooks.on("getChatLogEntryContext", (html, options) => TeDeumUtility.chatMenuManager(html, options));
|
||||
@@ -92,6 +93,13 @@ export class TeDeumUtility {
|
||||
Handlebars.registerHelper('isGM', function () {
|
||||
return game.user.isGM
|
||||
})
|
||||
Handlebars.registerHelper('monnaie', function (value) {
|
||||
let monnaie = game.system.tedeum.config.monnaieUnit[String(value)]
|
||||
if (monnaie) {
|
||||
return monnaie.label
|
||||
}
|
||||
return value
|
||||
})
|
||||
|
||||
// Load compendium data
|
||||
const competences = await TeDeumUtility.loadCompendium("fvtt-te-deum.competences")
|
||||
@@ -202,7 +210,7 @@ export class TeDeumUtility {
|
||||
} else {
|
||||
// Perform the opposition
|
||||
let isAttackWinner = true
|
||||
let rWinner = this.currentOpposition
|
||||
let rWinner = this.currentOpposition
|
||||
let rLooser = rollData
|
||||
if (rWinner.total < rLooser.total) {
|
||||
rWinner = rollData
|
||||
@@ -215,15 +223,15 @@ export class TeDeumUtility {
|
||||
looser: rLooser
|
||||
}
|
||||
let msg = await this.createChatWithRollMode(rollData.alias, {
|
||||
content: await renderTemplate(`systems/fvtt-te-deum/templates/chat/chat-opposition-result.hbs`, oppositionData)
|
||||
content: await foundry.applications.handlebars.renderTemplate(`systems/fvtt-te-deum/templates/chat/chat-opposition-result.hbs`, oppositionData)
|
||||
})
|
||||
await msg.setFlag("world", "te-deum-rolldata", rollData)
|
||||
|
||||
|
||||
// Si le gagnant est l'attaquant, appliquer les dégats sur la victime
|
||||
if ( isAttackWinner && rWinner.isSuccess && rWinner.mode == "arme" && rWinner.arme?.system.typeArme == "melee" && rWinner.defenderTokenId) {
|
||||
this.appliquerDegats(rWinner)
|
||||
}
|
||||
|
||||
|
||||
console.log("Rolldata result", rollData)
|
||||
}
|
||||
}
|
||||
@@ -243,7 +251,7 @@ export class TeDeumUtility {
|
||||
/* -------------------------------------------- */ /* -------------------------------------------- */
|
||||
static async chatListeners(html) {
|
||||
|
||||
html.on("click", '.chat-command-opposition', event => {
|
||||
$(html).on("click", '.chat-command-opposition', event => {
|
||||
let messageId = TeDeumUtility.findChatMessageId(event.currentTarget)
|
||||
let message = game.messages.get(messageId)
|
||||
let rollData = message.getFlag("world", "te-deum-rolldata")
|
||||
@@ -251,7 +259,7 @@ export class TeDeumUtility {
|
||||
TeDeumUtility.manageOpposition(rollData, messageId)
|
||||
}
|
||||
})
|
||||
html.on("click", '.chat-command-appliquer-degats', event => {
|
||||
$(html).on("click", '.chat-command-appliquer-degats', event => {
|
||||
let messageId = TeDeumUtility.findChatMessageId(event.currentTarget)
|
||||
let message = game.messages.get(messageId)
|
||||
let rollData = message.getFlag("world", "te-deum-rolldata")
|
||||
@@ -270,7 +278,7 @@ export class TeDeumUtility {
|
||||
'systems/fvtt-te-deum/templates/items/partial-item-description.hbs',
|
||||
'systems/fvtt-te-deum/templates/dialogs/partial-creator-status.hbs'
|
||||
]
|
||||
return loadTemplates(templatePaths);
|
||||
return foundry.applications.handlebars.loadTemplates(templatePaths);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@@ -347,7 +355,7 @@ export class TeDeumUtility {
|
||||
let rollData = msg.data.rollData
|
||||
if (game.user.isGM) {
|
||||
let chatMsg = await this.createChatMessage(rollData.alias, "blindroll", {
|
||||
content: await renderTemplate(msg.data.template, rollData),
|
||||
content: await foundry.applications.handlebars.renderTemplate(msg.data.template, rollData),
|
||||
whisper: game.user.id
|
||||
})
|
||||
chatMsg.setFlag("world", "tedeum-rolldata", rollData)
|
||||
@@ -471,7 +479,7 @@ export class TeDeumUtility {
|
||||
}
|
||||
let diceBase = this.modifyDice(rollData.carac.dice, localModifier + Number(rollData.bonusMalus) + rollData.santeModifier)
|
||||
if (!diceBase) return;
|
||||
diceFormula = diceBase + "x + " + rollData.competence.system.score
|
||||
diceFormula = diceBase + "x + " + rollData.compScore
|
||||
}
|
||||
if (rollData.enableProvidence) {
|
||||
diceFormula += " + " + rollData.providence.dice
|
||||
@@ -529,6 +537,14 @@ export class TeDeumUtility {
|
||||
rollData.difficulty = "pardefaut"
|
||||
}
|
||||
rollData.difficulty = game.system.tedeum.config.difficulte[rollData.difficulty].value
|
||||
// Compute the real competence score
|
||||
if ( rollData.competence ) {
|
||||
if ( rollData.competence.system.isBase) {
|
||||
rollData.compScore = actor.system.caracteristiques[rollData.competence.system.caracteristique].value
|
||||
} else {
|
||||
rollData.compScore = rollData.competence.system.score
|
||||
}
|
||||
}
|
||||
let diceFormula = this.computeRollFormula(rollData, actor)
|
||||
if (!diceFormula) return;
|
||||
console.log("RollData", rollData, diceFormula)
|
||||
@@ -546,7 +562,7 @@ export class TeDeumUtility {
|
||||
await this.processAttaqueDistance(rollData)
|
||||
|
||||
let msg = await this.createChatWithRollMode(rollData.alias, {
|
||||
content: await renderTemplate(`systems/fvtt-te-deum/templates/chat/chat-generic-result.hbs`, rollData)
|
||||
content: await foundry.applications.handlebars.renderTemplate(`systems/fvtt-te-deum/templates/chat/chat-generic-result.hbs`, rollData)
|
||||
})
|
||||
await msg.setFlag("world", "te-deum-rolldata", rollData)
|
||||
console.log("Rolldata result", rollData)
|
||||
@@ -555,7 +571,7 @@ export class TeDeumUtility {
|
||||
if (rollData.enableProvidence) {
|
||||
actor.modifyProvidence(-1)
|
||||
}
|
||||
// Manage XP
|
||||
// Manage XP
|
||||
if (rollData.isReussiteCritique || rollData.isEchecCritique) {
|
||||
actor.modifyXP(rollData.carac.key, 1)
|
||||
}
|
||||
|
@@ -14,7 +14,7 @@ export class TeDeumEducationSchema extends foundry.abstract.TypeDataModel {
|
||||
return obj;
|
||||
}, {})
|
||||
);
|
||||
|
||||
|
||||
schema.genre = new fields.StringField({required: true, initial: "Homme", choices: ["masculin", "mixte", "Homme", "Femme", "Mixte"]});
|
||||
|
||||
schema.nbChoixCarac = new fields.NumberField({ ...requiredInteger, initial: 1, min: 1 });
|
||||
@@ -32,7 +32,7 @@ export class TeDeumEducationSchema extends foundry.abstract.TypeDataModel {
|
||||
});
|
||||
return comps;
|
||||
}, {}));
|
||||
|
||||
|
||||
schema.hasCompetencesOpt = new fields.BooleanField({initial: false})
|
||||
schema.competencesOptNumber = new fields.NumberField({ ...requiredInteger, initial: 1, min:0 })
|
||||
schema.competencesOpt = new fields.SchemaField(Array.fromRange(14, 1).reduce((comps, i) => {
|
||||
@@ -51,7 +51,7 @@ export class TeDeumEducationSchema extends foundry.abstract.TypeDataModel {
|
||||
reponse: new fields.StringField({ required: true, blank: true, initial: "" }),
|
||||
compName: new fields.StringField({ required: true, blank: true, initial: "" }),
|
||||
toSelect: new fields.BooleanField({ initial: false }),
|
||||
compList: new fields.SchemaField(Array.fromRange(10, 1).reduce((comps, i) => {
|
||||
compList: new fields.SchemaField(Array.fromRange(16, 1).reduce((comps, i) => {
|
||||
comps[`comp${i}`] = new fields.SchemaField({
|
||||
compName: new fields.StringField({ required: true, blank: true, initial: "" }),
|
||||
});
|
||||
@@ -63,7 +63,7 @@ export class TeDeumEducationSchema extends foundry.abstract.TypeDataModel {
|
||||
});
|
||||
return questions;
|
||||
}, {}));
|
||||
|
||||
|
||||
schema.debouches = new fields.SchemaField(Array.fromRange(24, 1).reduce((debouches, i) => {
|
||||
debouches[`debouche${i}`] = new fields.SchemaField({
|
||||
debouche: new fields.StringField({ required: true, blank: true, initial: "" })
|
||||
@@ -73,7 +73,7 @@ export class TeDeumEducationSchema extends foundry.abstract.TypeDataModel {
|
||||
|
||||
schema.cagnotteMultiplier = new fields.NumberField({ ...requiredDouble, initial: 1.0, min: 0 });
|
||||
schema.cagnotteDivider = new fields.NumberField({ ...requiredDouble, initial: 1.0, min: 0 });
|
||||
|
||||
|
||||
schema.description = new fields.HTMLField({ required: true, blank: true });
|
||||
schema.trousseau = new fields.StringField({ required: true, blank: true, initial: "" });
|
||||
|
||||
|
@@ -13,4 +13,10 @@ export class TeDeumEquipementSchema extends foundry.abstract.TypeDataModel {
|
||||
|
||||
return schema;
|
||||
}
|
||||
|
||||
get monnaieLabel() {
|
||||
console.log("monnaieLabel", this.monnaie,game.system.tedeum.config.monnaieUnit)
|
||||
return game.system.tedeum.config.monnaieUnit[String(this.monnaie)]?.label;
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -9,7 +9,8 @@ export class TeDeumMaladieSchema extends foundry.abstract.TypeDataModel {
|
||||
schema.virulence = new fields.StringField({required: true, choices: ["fatigue", "epuisement", "souffrance", "agonie"], initial: "fatigue"});
|
||||
schema.fievre = new fields.StringField({required: true, choices: ["aucune", "legere", "forte", "grave"], initial: "aucune"});
|
||||
schema.symptomes = new fields.HTMLField({ required: true, blank: true });
|
||||
schema.appliquee = new fields.BooleanField({initial: false}),
|
||||
schema.complications = new fields.HTMLField({ required: true, blank: true });
|
||||
schema.appliquee = new fields.BooleanField({initial: false});
|
||||
|
||||
schema.description = new fields.HTMLField({ required: true, blank: true });
|
||||
|
||||
|
@@ -26,33 +26,35 @@ export class TeDeumPJSchema extends foundry.abstract.TypeDataModel {
|
||||
obj[loc.id] = new fields.SchemaField({
|
||||
armure: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0, max: 20 }),
|
||||
touche: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0, max: 20 }),
|
||||
blessures: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0, max: 20 })
|
||||
blessures: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0, max: 20 })
|
||||
});
|
||||
return obj;
|
||||
}, {})
|
||||
);
|
||||
|
||||
schema.fortune = new fields.SchemaField({
|
||||
"ecus": new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
||||
"ecus": new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
||||
"livres": new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }) ,
|
||||
"sous": new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }) ,
|
||||
"deniers": new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 })
|
||||
"deniers": new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 })
|
||||
});
|
||||
|
||||
schema.description = new fields.HTMLField({required: true, blank: true});
|
||||
schema.notes = new fields.HTMLField({required: true, blank: true});
|
||||
schema.connaissances = new fields.HTMLField({required: true, blank: true});
|
||||
schema.histoire = new fields.HTMLField({required: true, blank: true});
|
||||
schema.vetements = new fields.HTMLField({required: true, blank: true});
|
||||
schema.equipmentfree = new fields.HTMLField({required: true, blank: true});
|
||||
|
||||
schema.genre = new fields.StringField({required: true, choices: game.system.tedeum.config.genre, initial: "Femme"});
|
||||
schema.age = new fields.StringField({ required: false, blank: true, initial: undefined });
|
||||
schema.statutocial = new fields.StringField({ required: false, blank: true, initial: undefined });
|
||||
schema.chargestitre = new fields.StringField({ required: false, blank: true, initial: undefined });
|
||||
schema.charges = new fields.StringField({ required: false, blank: true, initial: undefined });
|
||||
schema.religion = new fields.StringField({ required: false, blank: true, initial: undefined });
|
||||
schema.lieunaissance = new fields.StringField({ required: false, blank: true, initial: undefined });
|
||||
|
||||
schema.age = new fields.StringField({ required: false, blank: true, initial: "" });
|
||||
schema.datenaissance = new fields.StringField({ required: false, blank: true, initial: "" });
|
||||
schema.statutocial = new fields.StringField({ required: false, blank: true, initial: "" });
|
||||
schema.chargestitre = new fields.StringField({ required: false, blank: true, initial: "" });
|
||||
schema.charges = new fields.StringField({ required: false, blank: true, initial: "" });
|
||||
schema.religion = new fields.StringField({ required: false, blank: true, initial: "" });
|
||||
schema.lieunaissance = new fields.StringField({ required: false, blank: true, initial: "" });
|
||||
|
||||
return schema;
|
||||
}
|
||||
}
|
||||
|
@@ -4,7 +4,7 @@ import { TeDeumUtility } from "../common/tedeum-utility.js";
|
||||
* Extend the basic ItemSheet with some very simple modifications
|
||||
* @extends {ItemSheet}
|
||||
*/
|
||||
export class TeDeumItemSheet extends ItemSheet {
|
||||
export class TeDeumItemSheet extends foundry.appv1.sheets.ItemSheet {
|
||||
|
||||
/** @override */
|
||||
static get defaultOptions() {
|
||||
@@ -49,11 +49,11 @@ export class TeDeumItemSheet extends ItemSheet {
|
||||
limited: this.object.limited,
|
||||
options: this.options,
|
||||
owner: this.document.isOwner,
|
||||
description: await TextEditor.enrichHTML(this.object.system.description, { async: true }),
|
||||
notes: await TextEditor.enrichHTML(this.object.system.notes, { async: true }),
|
||||
description: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.description, { async: true }),
|
||||
notes: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.notes, { async: true }),
|
||||
isGM: game.user.isGM
|
||||
}
|
||||
|
||||
|
||||
if (this.object.type == "education") {
|
||||
TeDeumUtility.prepareEducationContent(formData);
|
||||
}
|
||||
@@ -103,7 +103,7 @@ export class TeDeumItemSheet extends ItemSheet {
|
||||
let levelIndex = Number($(ev.currentTarget).parents(".item").data("level-index"))
|
||||
let choiceIndex = Number($(ev.currentTarget).parents(".item").data("choice-index"))
|
||||
let featureId = $(ev.currentTarget).parents(".item").data("feature-id")
|
||||
|
||||
|
||||
let itemData = this.object.system.levels[levelIndex].choices[choiceIndex].features[featureId]
|
||||
|
||||
if (itemData.name != 'None') {
|
||||
|
@@ -51,7 +51,7 @@ Hooks.once("init", async function () {
|
||||
// preload handlebars templates
|
||||
TeDeumUtility.preloadHandlebarsTemplates();
|
||||
|
||||
// Set an initiative formula for the system
|
||||
// Set an initiative formula for the system
|
||||
CONFIG.Combat.initiative = {
|
||||
formula: "1d6",
|
||||
decimals: 1
|
||||
@@ -79,17 +79,17 @@ Hooks.once("init", async function () {
|
||||
blessure: TeDeumBlessureSchema,
|
||||
maladie: TeDeumMaladieSchema,
|
||||
};
|
||||
|
||||
|
||||
console.log("TeDeum RPG | Ready");
|
||||
|
||||
Actors.unregisterSheet("core", ActorSheet);
|
||||
Actors.registerSheet("fvtt-te-deum", TeDeumActorPJSheet, { types: ["pj"], makeDefault: true });
|
||||
Actors.registerSheet("fvtt-te-deum", TeDeumActorPJSheet, { types: ["pnj"], makeDefault: true });
|
||||
|
||||
Items.unregisterSheet("core", ItemSheet);
|
||||
Items.registerSheet("fvtt-te-deum", TeDeumItemSheet, { makeDefault: true });
|
||||
foundry.documents.collections.Actors.unregisterSheet("core", foundry.appv1.sheets.ActorSheet);
|
||||
foundry.documents.collections.Actors.registerSheet("fvtt-te-deum", TeDeumActorPJSheet, { types: ["pj"], makeDefault: true });
|
||||
foundry.documents.collections.Actors.registerSheet("fvtt-te-deum", TeDeumActorPJSheet, { types: ["pnj"], makeDefault: true });
|
||||
|
||||
TeDeumUtility.init()
|
||||
foundry.documents.collections.Items.unregisterSheet("core", foundry.appv1.sheets.ItemSheet);
|
||||
foundry.documents.collections.Items.registerSheet("fvtt-te-deum", TeDeumItemSheet, { makeDefault: true });
|
||||
|
||||
TeDeumUtility.init()
|
||||
});
|
||||
|
||||
|
||||
@@ -106,7 +106,7 @@ Hooks.once("ready", function () {
|
||||
user: game.user._id
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
import("https://www.uberwald.me/fvtt_appcount/count-class-ready.js").then(moduleCounter=>{
|
||||
console.log("ClassCounter loaded", moduleCounter)
|
||||
moduleCounter.ClassCounter.registerUsageCount()
|
||||
@@ -134,4 +134,3 @@ Hooks.on("chatMessage", (html, content, msg) => {
|
||||
}
|
||||
return true;
|
||||
});
|
||||
|
||||
|
Binary file not shown.
BIN
packs/aides/000103.ldb
Normal file
BIN
packs/aides/000103.ldb
Normal file
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000081
|
||||
MANIFEST-000120
|
||||
|
@@ -1,7 +1,7 @@
|
||||
2025/03/18-20:02:55.715587 7fbe66ffd6c0 Recovering log #79
|
||||
2025/03/18-20:02:55.727775 7fbe66ffd6c0 Delete type=3 #77
|
||||
2025/03/18-20:02:55.727902 7fbe66ffd6c0 Delete type=0 #79
|
||||
2025/03/18-20:34:57.401764 7fbe663ff6c0 Level-0 table #84: started
|
||||
2025/03/18-20:34:57.401796 7fbe663ff6c0 Level-0 table #84: 0 bytes OK
|
||||
2025/03/18-20:34:57.408016 7fbe663ff6c0 Delete type=0 #82
|
||||
2025/03/18-20:34:57.415964 7fbe663ff6c0 Manual compaction at level-0 from '!journal!uNwJgi4kXBCiZmAH' @ 72057594037927935 : 1 .. '!journal.pages!uNwJgi4kXBCiZmAH.onhNU0mXhOpdNZJF' @ 0 : 0; will stop at (end)
|
||||
2025/07/09-17:43:10.022659 7f2a0effd6c0 Recovering log #118
|
||||
2025/07/09-17:43:10.033191 7f2a0effd6c0 Delete type=3 #116
|
||||
2025/07/09-17:43:10.033247 7f2a0effd6c0 Delete type=0 #118
|
||||
2025/07/09-18:03:48.854204 7f276ffff6c0 Level-0 table #123: started
|
||||
2025/07/09-18:03:48.854235 7f276ffff6c0 Level-0 table #123: 0 bytes OK
|
||||
2025/07/09-18:03:48.860211 7f276ffff6c0 Delete type=0 #121
|
||||
2025/07/09-18:03:48.860371 7f276ffff6c0 Manual compaction at level-0 from '!journal!uNwJgi4kXBCiZmAH' @ 72057594037927935 : 1 .. '!journal.pages!uNwJgi4kXBCiZmAH.onhNU0mXhOpdNZJF' @ 0 : 0; will stop at (end)
|
||||
|
@@ -1,7 +1,7 @@
|
||||
2025/03/11-18:04:31.143055 7f24c6ffd6c0 Recovering log #75
|
||||
2025/03/11-18:04:31.153035 7f24c6ffd6c0 Delete type=3 #73
|
||||
2025/03/11-18:04:31.153146 7f24c6ffd6c0 Delete type=0 #75
|
||||
2025/03/11-18:27:51.833675 7f24c4bff6c0 Level-0 table #80: started
|
||||
2025/03/11-18:27:51.833743 7f24c4bff6c0 Level-0 table #80: 0 bytes OK
|
||||
2025/03/11-18:27:51.840981 7f24c4bff6c0 Delete type=0 #78
|
||||
2025/03/11-18:27:51.853984 7f24c4bff6c0 Manual compaction at level-0 from '!journal!uNwJgi4kXBCiZmAH' @ 72057594037927935 : 1 .. '!journal.pages!uNwJgi4kXBCiZmAH.onhNU0mXhOpdNZJF' @ 0 : 0; will stop at (end)
|
||||
2025/07/02-23:06:08.560525 7f0793fff6c0 Recovering log #114
|
||||
2025/07/02-23:06:08.610681 7f0793fff6c0 Delete type=3 #112
|
||||
2025/07/02-23:06:08.610784 7f0793fff6c0 Delete type=0 #114
|
||||
2025/07/02-23:08:13.585521 7f07923ff6c0 Level-0 table #119: started
|
||||
2025/07/02-23:08:13.585561 7f07923ff6c0 Level-0 table #119: 0 bytes OK
|
||||
2025/07/02-23:08:13.592021 7f07923ff6c0 Delete type=0 #117
|
||||
2025/07/02-23:08:13.592190 7f07923ff6c0 Manual compaction at level-0 from '!journal!uNwJgi4kXBCiZmAH' @ 72057594037927935 : 1 .. '!journal.pages!uNwJgi4kXBCiZmAH.onhNU0mXhOpdNZJF' @ 0 : 0; will stop at (end)
|
||||
|
Binary file not shown.
BIN
packs/aides/MANIFEST-000120
Normal file
BIN
packs/aides/MANIFEST-000120
Normal file
Binary file not shown.
Binary file not shown.
BIN
packs/armes/000206.ldb
Normal file
BIN
packs/armes/000206.ldb
Normal file
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000183
|
||||
MANIFEST-000223
|
||||
|
@@ -1,7 +1,7 @@
|
||||
2025/03/18-20:02:55.593062 7fbe67fff6c0 Recovering log #181
|
||||
2025/03/18-20:02:55.605860 7fbe67fff6c0 Delete type=3 #179
|
||||
2025/03/18-20:02:55.605967 7fbe67fff6c0 Delete type=0 #181
|
||||
2025/03/18-20:34:57.329715 7fbe663ff6c0 Level-0 table #186: started
|
||||
2025/03/18-20:34:57.329814 7fbe663ff6c0 Level-0 table #186: 0 bytes OK
|
||||
2025/03/18-20:34:57.336235 7fbe663ff6c0 Delete type=0 #184
|
||||
2025/03/18-20:34:57.356288 7fbe663ff6c0 Manual compaction at level-0 from '!folders!InCQeTRdT5jXMX82' @ 72057594037927935 : 1 .. '!items!wxIHkrq98eQ3cOvp' @ 0 : 0; will stop at (end)
|
||||
2025/07/09-17:43:09.933075 7f2a0e7fc6c0 Recovering log #221
|
||||
2025/07/09-17:43:09.943069 7f2a0e7fc6c0 Delete type=3 #219
|
||||
2025/07/09-17:43:09.943126 7f2a0e7fc6c0 Delete type=0 #221
|
||||
2025/07/09-18:03:48.778823 7f276ffff6c0 Level-0 table #226: started
|
||||
2025/07/09-18:03:48.778862 7f276ffff6c0 Level-0 table #226: 0 bytes OK
|
||||
2025/07/09-18:03:48.785076 7f276ffff6c0 Delete type=0 #224
|
||||
2025/07/09-18:03:48.804468 7f276ffff6c0 Manual compaction at level-0 from '!folders!InCQeTRdT5jXMX82' @ 72057594037927935 : 1 .. '!items!wxIHkrq98eQ3cOvp' @ 0 : 0; will stop at (end)
|
||||
|
@@ -1,7 +1,7 @@
|
||||
2025/03/11-18:04:31.045395 7f24c5ffb6c0 Recovering log #177
|
||||
2025/03/11-18:04:31.056356 7f24c5ffb6c0 Delete type=3 #175
|
||||
2025/03/11-18:04:31.056467 7f24c5ffb6c0 Delete type=0 #177
|
||||
2025/03/11-18:27:51.772304 7f24c4bff6c0 Level-0 table #182: started
|
||||
2025/03/11-18:27:51.772338 7f24c4bff6c0 Level-0 table #182: 0 bytes OK
|
||||
2025/03/11-18:27:51.778305 7f24c4bff6c0 Delete type=0 #180
|
||||
2025/03/11-18:27:51.798039 7f24c4bff6c0 Manual compaction at level-0 from '!folders!InCQeTRdT5jXMX82' @ 72057594037927935 : 1 .. '!items!wxIHkrq98eQ3cOvp' @ 0 : 0; will stop at (end)
|
||||
2025/07/02-23:06:08.061648 7f0792ffd6c0 Recovering log #217
|
||||
2025/07/02-23:06:08.112616 7f0792ffd6c0 Delete type=3 #215
|
||||
2025/07/02-23:06:08.112666 7f0792ffd6c0 Delete type=0 #217
|
||||
2025/07/02-23:08:13.519462 7f07923ff6c0 Level-0 table #222: started
|
||||
2025/07/02-23:08:13.519492 7f07923ff6c0 Level-0 table #222: 0 bytes OK
|
||||
2025/07/02-23:08:13.525466 7f07923ff6c0 Delete type=0 #220
|
||||
2025/07/02-23:08:13.539414 7f07923ff6c0 Manual compaction at level-0 from '!folders!InCQeTRdT5jXMX82' @ 72057594037927935 : 1 .. '!items!wxIHkrq98eQ3cOvp' @ 0 : 0; will stop at (end)
|
||||
|
Binary file not shown.
BIN
packs/armes/MANIFEST-000223
Normal file
BIN
packs/armes/MANIFEST-000223
Normal file
Binary file not shown.
Binary file not shown.
BIN
packs/armures/000205.ldb
Normal file
BIN
packs/armures/000205.ldb
Normal file
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000183
|
||||
MANIFEST-000222
|
||||
|
@@ -1,7 +1,7 @@
|
||||
2025/03/18-20:02:55.610587 7fbe66ffd6c0 Recovering log #181
|
||||
2025/03/18-20:02:55.621230 7fbe66ffd6c0 Delete type=3 #179
|
||||
2025/03/18-20:02:55.621425 7fbe66ffd6c0 Delete type=0 #181
|
||||
2025/03/18-20:34:57.336450 7fbe663ff6c0 Level-0 table #186: started
|
||||
2025/03/18-20:34:57.336506 7fbe663ff6c0 Level-0 table #186: 0 bytes OK
|
||||
2025/03/18-20:34:57.343480 7fbe663ff6c0 Delete type=0 #184
|
||||
2025/03/18-20:34:57.356316 7fbe663ff6c0 Manual compaction at level-0 from '!folders!2wTJBj3dicRKzNOE' @ 72057594037927935 : 1 .. '!items!ufvhWG5V8pX0qrtR' @ 0 : 0; will stop at (end)
|
||||
2025/07/09-17:43:09.945259 7f2a0dffb6c0 Recovering log #220
|
||||
2025/07/09-17:43:09.955705 7f2a0dffb6c0 Delete type=3 #218
|
||||
2025/07/09-17:43:09.955844 7f2a0dffb6c0 Delete type=0 #220
|
||||
2025/07/09-18:03:48.791392 7f276ffff6c0 Level-0 table #225: started
|
||||
2025/07/09-18:03:48.791426 7f276ffff6c0 Level-0 table #225: 0 bytes OK
|
||||
2025/07/09-18:03:48.797485 7f276ffff6c0 Delete type=0 #223
|
||||
2025/07/09-18:03:48.804509 7f276ffff6c0 Manual compaction at level-0 from '!folders!2wTJBj3dicRKzNOE' @ 72057594037927935 : 1 .. '!items!ufvhWG5V8pX0qrtR' @ 0 : 0; will stop at (end)
|
||||
|
@@ -1,7 +1,7 @@
|
||||
2025/03/11-18:04:31.059498 7f24c6ffd6c0 Recovering log #177
|
||||
2025/03/11-18:04:31.068855 7f24c6ffd6c0 Delete type=3 #175
|
||||
2025/03/11-18:04:31.068919 7f24c6ffd6c0 Delete type=0 #177
|
||||
2025/03/11-18:27:51.778439 7f24c4bff6c0 Level-0 table #182: started
|
||||
2025/03/11-18:27:51.778466 7f24c4bff6c0 Level-0 table #182: 0 bytes OK
|
||||
2025/03/11-18:27:51.784375 7f24c4bff6c0 Delete type=0 #180
|
||||
2025/03/11-18:27:51.798058 7f24c4bff6c0 Manual compaction at level-0 from '!folders!2wTJBj3dicRKzNOE' @ 72057594037927935 : 1 .. '!items!ufvhWG5V8pX0qrtR' @ 0 : 0; will stop at (end)
|
||||
2025/07/02-23:06:08.115418 7f07937fe6c0 Recovering log #216
|
||||
2025/07/02-23:06:08.203034 7f07937fe6c0 Delete type=3 #214
|
||||
2025/07/02-23:06:08.203104 7f07937fe6c0 Delete type=0 #216
|
||||
2025/07/02-23:08:13.507158 7f07923ff6c0 Level-0 table #221: started
|
||||
2025/07/02-23:08:13.507179 7f07923ff6c0 Level-0 table #221: 0 bytes OK
|
||||
2025/07/02-23:08:13.513412 7f07923ff6c0 Delete type=0 #219
|
||||
2025/07/02-23:08:13.539385 7f07923ff6c0 Manual compaction at level-0 from '!folders!2wTJBj3dicRKzNOE' @ 72057594037927935 : 1 .. '!items!ufvhWG5V8pX0qrtR' @ 0 : 0; will stop at (end)
|
||||
|
Binary file not shown.
BIN
packs/armures/MANIFEST-000222
Normal file
BIN
packs/armures/MANIFEST-000222
Normal file
Binary file not shown.
Binary file not shown.
BIN
packs/competences/000202.ldb
Normal file
BIN
packs/competences/000202.ldb
Normal file
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000180
|
||||
MANIFEST-000219
|
||||
|
@@ -1,7 +1,7 @@
|
||||
2025/03/18-20:02:55.575835 7fbe677fe6c0 Recovering log #178
|
||||
2025/03/18-20:02:55.586561 7fbe677fe6c0 Delete type=3 #176
|
||||
2025/03/18-20:02:55.586685 7fbe677fe6c0 Delete type=0 #178
|
||||
2025/03/18-20:34:57.343590 7fbe663ff6c0 Level-0 table #183: started
|
||||
2025/03/18-20:34:57.343614 7fbe663ff6c0 Level-0 table #183: 0 bytes OK
|
||||
2025/03/18-20:34:57.349686 7fbe663ff6c0 Delete type=0 #181
|
||||
2025/03/18-20:34:57.356337 7fbe663ff6c0 Manual compaction at level-0 from '!folders!4OPhigzcPv46qbWW' @ 72057594037927935 : 1 .. '!items!yx4k7lQHGcom99mk' @ 0 : 0; will stop at (end)
|
||||
2025/07/09-17:43:09.919870 7f2a0d7fa6c0 Recovering log #217
|
||||
2025/07/09-17:43:09.930288 7f2a0d7fa6c0 Delete type=3 #215
|
||||
2025/07/09-17:43:09.930358 7f2a0d7fa6c0 Delete type=0 #217
|
||||
2025/07/09-18:03:48.785230 7f276ffff6c0 Level-0 table #222: started
|
||||
2025/07/09-18:03:48.785267 7f276ffff6c0 Level-0 table #222: 0 bytes OK
|
||||
2025/07/09-18:03:48.791250 7f276ffff6c0 Delete type=0 #220
|
||||
2025/07/09-18:03:48.804490 7f276ffff6c0 Manual compaction at level-0 from '!folders!4OPhigzcPv46qbWW' @ 72057594037927935 : 1 .. '!items!yx4k7lQHGcom99mk' @ 0 : 0; will stop at (end)
|
||||
|
@@ -1,7 +1,7 @@
|
||||
2025/03/11-18:04:31.031690 7f24c57fa6c0 Recovering log #174
|
||||
2025/03/11-18:04:31.041244 7f24c57fa6c0 Delete type=3 #172
|
||||
2025/03/11-18:04:31.041294 7f24c57fa6c0 Delete type=0 #174
|
||||
2025/03/11-18:27:51.791921 7f24c4bff6c0 Level-0 table #179: started
|
||||
2025/03/11-18:27:51.791971 7f24c4bff6c0 Level-0 table #179: 0 bytes OK
|
||||
2025/03/11-18:27:51.797892 7f24c4bff6c0 Delete type=0 #177
|
||||
2025/03/11-18:27:51.798085 7f24c4bff6c0 Manual compaction at level-0 from '!folders!4OPhigzcPv46qbWW' @ 72057594037927935 : 1 .. '!items!yx4k7lQHGcom99mk' @ 0 : 0; will stop at (end)
|
||||
2025/07/02-23:06:08.011331 7f0798bfa6c0 Recovering log #213
|
||||
2025/07/02-23:06:08.059546 7f0798bfa6c0 Delete type=3 #211
|
||||
2025/07/02-23:06:08.059612 7f0798bfa6c0 Delete type=0 #213
|
||||
2025/07/02-23:08:13.513511 7f07923ff6c0 Level-0 table #218: started
|
||||
2025/07/02-23:08:13.513531 7f07923ff6c0 Level-0 table #218: 0 bytes OK
|
||||
2025/07/02-23:08:13.519351 7f07923ff6c0 Delete type=0 #216
|
||||
2025/07/02-23:08:13.539400 7f07923ff6c0 Manual compaction at level-0 from '!folders!4OPhigzcPv46qbWW' @ 72057594037927935 : 1 .. '!items!yx4k7lQHGcom99mk' @ 0 : 0; will stop at (end)
|
||||
|
Binary file not shown.
BIN
packs/competences/MANIFEST-000219
Normal file
BIN
packs/competences/MANIFEST-000219
Normal file
Binary file not shown.
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000191
|
||||
MANIFEST-000232
|
||||
|
@@ -1,7 +1,7 @@
|
||||
2025/03/18-20:02:55.625718 7fbe6c9fa6c0 Recovering log #189
|
||||
2025/03/18-20:02:55.637706 7fbe6c9fa6c0 Delete type=3 #187
|
||||
2025/03/18-20:02:55.637826 7fbe6c9fa6c0 Delete type=0 #189
|
||||
2025/03/18-20:34:57.349890 7fbe663ff6c0 Level-0 table #194: started
|
||||
2025/03/18-20:34:57.349944 7fbe663ff6c0 Level-0 table #194: 0 bytes OK
|
||||
2025/03/18-20:34:57.356029 7fbe663ff6c0 Delete type=0 #192
|
||||
2025/03/18-20:34:57.356358 7fbe663ff6c0 Manual compaction at level-0 from '!folders!9PQi3Lv54rpcxavo' @ 72057594037927935 : 1 .. '!items!zGlRtP7zSnkjuuue' @ 0 : 0; will stop at (end)
|
||||
2025/07/09-17:43:09.957922 7f2a0d7fa6c0 Recovering log #229
|
||||
2025/07/09-17:43:09.968395 7f2a0d7fa6c0 Delete type=3 #227
|
||||
2025/07/09-17:43:09.968449 7f2a0d7fa6c0 Delete type=0 #229
|
||||
2025/07/09-18:03:48.797598 7f276ffff6c0 Level-0 table #235: started
|
||||
2025/07/09-18:03:48.797621 7f276ffff6c0 Level-0 table #235: 0 bytes OK
|
||||
2025/07/09-18:03:48.804333 7f276ffff6c0 Delete type=0 #233
|
||||
2025/07/09-18:03:48.804527 7f276ffff6c0 Manual compaction at level-0 from '!folders!9PQi3Lv54rpcxavo' @ 72057594037927935 : 1 .. '!items!zGlRtP7zSnkjuuue' @ 0 : 0; will stop at (end)
|
||||
|
@@ -1,7 +1,14 @@
|
||||
2025/03/11-18:04:31.072608 7f24c67fc6c0 Recovering log #184
|
||||
2025/03/11-18:04:31.084241 7f24c67fc6c0 Delete type=3 #182
|
||||
2025/03/11-18:04:31.084398 7f24c67fc6c0 Delete type=0 #184
|
||||
2025/03/11-18:27:51.784510 7f24c4bff6c0 Level-0 table #190: started
|
||||
2025/03/11-18:27:51.784541 7f24c4bff6c0 Level-0 table #190: 0 bytes OK
|
||||
2025/03/11-18:27:51.791721 7f24c4bff6c0 Delete type=0 #188
|
||||
2025/03/11-18:27:51.798072 7f24c4bff6c0 Manual compaction at level-0 from '!folders!9PQi3Lv54rpcxavo' @ 72057594037927935 : 1 .. '!items!zGlRtP7zSnkjuuue' @ 0 : 0; will stop at (end)
|
||||
2025/07/02-23:06:08.205635 7f0798bfa6c0 Recovering log #225
|
||||
2025/07/02-23:06:08.258516 7f0798bfa6c0 Delete type=3 #223
|
||||
2025/07/02-23:06:08.258587 7f0798bfa6c0 Delete type=0 #225
|
||||
2025/07/02-23:08:13.497309 7f07923ff6c0 Level-0 table #230: started
|
||||
2025/07/02-23:08:13.500727 7f07923ff6c0 Level-0 table #230: 31862 bytes OK
|
||||
2025/07/02-23:08:13.507034 7f07923ff6c0 Delete type=0 #228
|
||||
2025/07/02-23:08:13.525588 7f07923ff6c0 Manual compaction at level-0 from '!folders!9PQi3Lv54rpcxavo' @ 72057594037927935 : 1 .. '!items!zGlRtP7zSnkjuuue' @ 0 : 0; will stop at '!items!dbl7clezSXISzlqE' @ 511 : 1
|
||||
2025/07/02-23:08:13.525598 7f07923ff6c0 Compacting 1@0 + 1@1 files
|
||||
2025/07/02-23:08:13.532830 7f07923ff6c0 Generated table #231@0: 71 keys, 264331 bytes
|
||||
2025/07/02-23:08:13.532886 7f07923ff6c0 Compacted 1@0 + 1@1 files => 264331 bytes
|
||||
2025/07/02-23:08:13.538890 7f07923ff6c0 compacted to: files[ 0 1 0 0 0 0 0 ]
|
||||
2025/07/02-23:08:13.539063 7f07923ff6c0 Delete type=2 #214
|
||||
2025/07/02-23:08:13.539294 7f07923ff6c0 Delete type=2 #230
|
||||
2025/07/02-23:08:13.539429 7f07923ff6c0 Manual compaction at level-0 from '!items!dbl7clezSXISzlqE' @ 511 : 1 .. '!items!zGlRtP7zSnkjuuue' @ 0 : 0; will stop at (end)
|
||||
|
Binary file not shown.
BIN
packs/education/MANIFEST-000232
Normal file
BIN
packs/education/MANIFEST-000232
Normal file
Binary file not shown.
Binary file not shown.
BIN
packs/graces/000205.ldb
Normal file
BIN
packs/graces/000205.ldb
Normal file
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000182
|
||||
MANIFEST-000222
|
||||
|
@@ -1,7 +1,7 @@
|
||||
2025/03/18-20:02:55.645262 7fbe677fe6c0 Recovering log #180
|
||||
2025/03/18-20:02:55.657308 7fbe677fe6c0 Delete type=3 #178
|
||||
2025/03/18-20:02:55.657414 7fbe677fe6c0 Delete type=0 #180
|
||||
2025/03/18-20:34:57.370748 7fbe663ff6c0 Level-0 table #185: started
|
||||
2025/03/18-20:34:57.370813 7fbe663ff6c0 Level-0 table #185: 0 bytes OK
|
||||
2025/03/18-20:34:57.377323 7fbe663ff6c0 Delete type=0 #183
|
||||
2025/03/18-20:34:57.384883 7fbe663ff6c0 Manual compaction at level-0 from '!items!17mjvwS8R3B6LloG' @ 72057594037927935 : 1 .. '!items!zUYIVOuFpRur9aAR' @ 0 : 0; will stop at (end)
|
||||
2025/07/09-17:43:09.971163 7f2a0e7fc6c0 Recovering log #220
|
||||
2025/07/09-17:43:09.980955 7f2a0e7fc6c0 Delete type=3 #218
|
||||
2025/07/09-17:43:09.981011 7f2a0e7fc6c0 Delete type=0 #220
|
||||
2025/07/09-18:03:48.811156 7f276ffff6c0 Level-0 table #225: started
|
||||
2025/07/09-18:03:48.811194 7f276ffff6c0 Level-0 table #225: 0 bytes OK
|
||||
2025/07/09-18:03:48.817214 7f276ffff6c0 Delete type=0 #223
|
||||
2025/07/09-18:03:48.830580 7f276ffff6c0 Manual compaction at level-0 from '!items!17mjvwS8R3B6LloG' @ 72057594037927935 : 1 .. '!items!zUYIVOuFpRur9aAR' @ 0 : 0; will stop at (end)
|
||||
|
@@ -1,7 +1,7 @@
|
||||
2025/03/11-18:04:31.089058 7f24c57fa6c0 Recovering log #176
|
||||
2025/03/11-18:04:31.099719 7f24c57fa6c0 Delete type=3 #174
|
||||
2025/03/11-18:04:31.099830 7f24c57fa6c0 Delete type=0 #176
|
||||
2025/03/11-18:27:51.804396 7f24c4bff6c0 Level-0 table #181: started
|
||||
2025/03/11-18:27:51.804421 7f24c4bff6c0 Level-0 table #181: 0 bytes OK
|
||||
2025/03/11-18:27:51.810625 7f24c4bff6c0 Delete type=0 #179
|
||||
2025/03/11-18:27:51.823828 7f24c4bff6c0 Manual compaction at level-0 from '!items!17mjvwS8R3B6LloG' @ 72057594037927935 : 1 .. '!items!zUYIVOuFpRur9aAR' @ 0 : 0; will stop at (end)
|
||||
2025/07/02-23:06:08.261714 7f0792ffd6c0 Recovering log #216
|
||||
2025/07/02-23:06:08.311445 7f0792ffd6c0 Delete type=3 #214
|
||||
2025/07/02-23:06:08.311538 7f0792ffd6c0 Delete type=0 #216
|
||||
2025/07/02-23:08:13.545827 7f07923ff6c0 Level-0 table #221: started
|
||||
2025/07/02-23:08:13.545856 7f07923ff6c0 Level-0 table #221: 0 bytes OK
|
||||
2025/07/02-23:08:13.552104 7f07923ff6c0 Delete type=0 #219
|
||||
2025/07/02-23:08:13.565260 7f07923ff6c0 Manual compaction at level-0 from '!items!17mjvwS8R3B6LloG' @ 72057594037927935 : 1 .. '!items!zUYIVOuFpRur9aAR' @ 0 : 0; will stop at (end)
|
||||
|
Binary file not shown.
BIN
packs/graces/MANIFEST-000222
Normal file
BIN
packs/graces/MANIFEST-000222
Normal file
Binary file not shown.
Binary file not shown.
BIN
packs/maladies/000205.ldb
Normal file
BIN
packs/maladies/000205.ldb
Normal file
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000182
|
||||
MANIFEST-000222
|
||||
|
@@ -1,7 +1,7 @@
|
||||
2025/03/18-20:02:55.662488 7fbe67fff6c0 Recovering log #180
|
||||
2025/03/18-20:02:55.673613 7fbe67fff6c0 Delete type=3 #178
|
||||
2025/03/18-20:02:55.673721 7fbe67fff6c0 Delete type=0 #180
|
||||
2025/03/18-20:34:57.356547 7fbe663ff6c0 Level-0 table #185: started
|
||||
2025/03/18-20:34:57.356623 7fbe663ff6c0 Level-0 table #185: 0 bytes OK
|
||||
2025/03/18-20:34:57.363717 7fbe663ff6c0 Delete type=0 #183
|
||||
2025/03/18-20:34:57.384818 7fbe663ff6c0 Manual compaction at level-0 from '!items!1icaxIywAwDXQcMz' @ 72057594037927935 : 1 .. '!items!ysGehYm1VkMWrI22' @ 0 : 0; will stop at (end)
|
||||
2025/07/09-17:43:09.982946 7f2a0effd6c0 Recovering log #220
|
||||
2025/07/09-17:43:09.994498 7f2a0effd6c0 Delete type=3 #218
|
||||
2025/07/09-17:43:09.994574 7f2a0effd6c0 Delete type=0 #220
|
||||
2025/07/09-18:03:48.804608 7f276ffff6c0 Level-0 table #225: started
|
||||
2025/07/09-18:03:48.804666 7f276ffff6c0 Level-0 table #225: 0 bytes OK
|
||||
2025/07/09-18:03:48.810987 7f276ffff6c0 Delete type=0 #223
|
||||
2025/07/09-18:03:48.830569 7f276ffff6c0 Manual compaction at level-0 from '!items!1icaxIywAwDXQcMz' @ 72057594037927935 : 1 .. '!items!ysGehYm1VkMWrI22' @ 0 : 0; will stop at (end)
|
||||
|
@@ -1,7 +1,7 @@
|
||||
2025/03/11-18:04:31.102877 7f24c5ffb6c0 Recovering log #176
|
||||
2025/03/11-18:04:31.112795 7f24c5ffb6c0 Delete type=3 #174
|
||||
2025/03/11-18:04:31.112850 7f24c5ffb6c0 Delete type=0 #176
|
||||
2025/03/11-18:27:51.798175 7f24c4bff6c0 Level-0 table #181: started
|
||||
2025/03/11-18:27:51.798273 7f24c4bff6c0 Level-0 table #181: 0 bytes OK
|
||||
2025/03/11-18:27:51.804291 7f24c4bff6c0 Delete type=0 #179
|
||||
2025/03/11-18:27:51.823814 7f24c4bff6c0 Manual compaction at level-0 from '!items!1icaxIywAwDXQcMz' @ 72057594037927935 : 1 .. '!items!ysGehYm1VkMWrI22' @ 0 : 0; will stop at (end)
|
||||
2025/07/02-23:06:08.314387 7f07937fe6c0 Recovering log #216
|
||||
2025/07/02-23:06:08.375793 7f07937fe6c0 Delete type=3 #214
|
||||
2025/07/02-23:06:08.375871 7f07937fe6c0 Delete type=0 #216
|
||||
2025/07/02-23:08:13.539538 7f07923ff6c0 Level-0 table #221: started
|
||||
2025/07/02-23:08:13.539632 7f07923ff6c0 Level-0 table #221: 0 bytes OK
|
||||
2025/07/02-23:08:13.545699 7f07923ff6c0 Delete type=0 #219
|
||||
2025/07/02-23:08:13.565250 7f07923ff6c0 Manual compaction at level-0 from '!items!1icaxIywAwDXQcMz' @ 72057594037927935 : 1 .. '!items!ysGehYm1VkMWrI22' @ 0 : 0; will stop at (end)
|
||||
|
Binary file not shown.
BIN
packs/maladies/MANIFEST-000222
Normal file
BIN
packs/maladies/MANIFEST-000222
Normal file
Binary file not shown.
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000120
|
||||
MANIFEST-000159
|
||||
|
@@ -1,7 +1,7 @@
|
||||
2025/03/18-20:02:55.697082 7fbe6c9fa6c0 Recovering log #118
|
||||
2025/03/18-20:02:55.708073 7fbe6c9fa6c0 Delete type=3 #116
|
||||
2025/03/18-20:02:55.708254 7fbe6c9fa6c0 Delete type=0 #118
|
||||
2025/03/18-20:34:57.377570 7fbe663ff6c0 Level-0 table #123: started
|
||||
2025/03/18-20:34:57.377636 7fbe663ff6c0 Level-0 table #123: 0 bytes OK
|
||||
2025/03/18-20:34:57.384565 7fbe663ff6c0 Delete type=0 #121
|
||||
2025/03/18-20:34:57.384911 7fbe663ff6c0 Manual compaction at level-0 from '!scenes!FJXugdbkBpEJEdR6' @ 72057594037927935 : 1 .. '!scenes!FJXugdbkBpEJEdR6' @ 0 : 0; will stop at (end)
|
||||
2025/07/09-17:43:10.009504 7f2a0dffb6c0 Recovering log #157
|
||||
2025/07/09-17:43:10.019481 7f2a0dffb6c0 Delete type=3 #155
|
||||
2025/07/09-17:43:10.019581 7f2a0dffb6c0 Delete type=0 #157
|
||||
2025/07/09-18:03:48.823612 7f276ffff6c0 Level-0 table #162: started
|
||||
2025/07/09-18:03:48.823646 7f276ffff6c0 Level-0 table #162: 0 bytes OK
|
||||
2025/07/09-18:03:48.830454 7f276ffff6c0 Delete type=0 #160
|
||||
2025/07/09-18:03:48.830610 7f276ffff6c0 Manual compaction at level-0 from '!scenes!FJXugdbkBpEJEdR6' @ 72057594037927935 : 1 .. '!scenes!FJXugdbkBpEJEdR6' @ 0 : 0; will stop at (end)
|
||||
|
@@ -1,7 +1,7 @@
|
||||
2025/03/11-18:04:31.129320 7f24c67fc6c0 Recovering log #114
|
||||
2025/03/11-18:04:31.139477 7f24c67fc6c0 Delete type=3 #112
|
||||
2025/03/11-18:04:31.139583 7f24c67fc6c0 Delete type=0 #114
|
||||
2025/03/11-18:27:51.817747 7f24c4bff6c0 Level-0 table #119: started
|
||||
2025/03/11-18:27:51.817804 7f24c4bff6c0 Level-0 table #119: 0 bytes OK
|
||||
2025/03/11-18:27:51.823741 7f24c4bff6c0 Delete type=0 #117
|
||||
2025/03/11-18:27:51.823845 7f24c4bff6c0 Manual compaction at level-0 from '!scenes!FJXugdbkBpEJEdR6' @ 72057594037927935 : 1 .. '!scenes!FJXugdbkBpEJEdR6' @ 0 : 0; will stop at (end)
|
||||
2025/07/02-23:06:08.461850 7f0792ffd6c0 Recovering log #153
|
||||
2025/07/02-23:06:08.557282 7f0792ffd6c0 Delete type=3 #151
|
||||
2025/07/02-23:06:08.557355 7f0792ffd6c0 Delete type=0 #153
|
||||
2025/07/02-23:08:13.559253 7f07923ff6c0 Level-0 table #158: started
|
||||
2025/07/02-23:08:13.559274 7f07923ff6c0 Level-0 table #158: 0 bytes OK
|
||||
2025/07/02-23:08:13.565147 7f07923ff6c0 Delete type=0 #156
|
||||
2025/07/02-23:08:13.565275 7f07923ff6c0 Manual compaction at level-0 from '!scenes!FJXugdbkBpEJEdR6' @ 72057594037927935 : 1 .. '!scenes!FJXugdbkBpEJEdR6' @ 0 : 0; will stop at (end)
|
||||
|
Binary file not shown.
BIN
packs/scenes/MANIFEST-000159
Normal file
BIN
packs/scenes/MANIFEST-000159
Normal file
Binary file not shown.
Binary file not shown.
BIN
packs/simples/000218.ldb
Normal file
BIN
packs/simples/000218.ldb
Normal file
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000182
|
||||
MANIFEST-000223
|
||||
|
@@ -1,7 +1,7 @@
|
||||
2025/03/18-20:02:55.678229 7fbe66ffd6c0 Recovering log #180
|
||||
2025/03/18-20:02:55.689316 7fbe66ffd6c0 Delete type=3 #178
|
||||
2025/03/18-20:02:55.689561 7fbe66ffd6c0 Delete type=0 #180
|
||||
2025/03/18-20:34:57.363967 7fbe663ff6c0 Level-0 table #185: started
|
||||
2025/03/18-20:34:57.364030 7fbe663ff6c0 Level-0 table #185: 0 bytes OK
|
||||
2025/03/18-20:34:57.370504 7fbe663ff6c0 Delete type=0 #183
|
||||
2025/03/18-20:34:57.384856 7fbe663ff6c0 Manual compaction at level-0 from '!items!1bAL2MQVpVBd0c5Z' @ 72057594037927935 : 1 .. '!items!zs67k4sxCid6oTK3' @ 0 : 0; will stop at (end)
|
||||
2025/07/09-17:43:09.996493 7f2a0d7fa6c0 Recovering log #221
|
||||
2025/07/09-17:43:10.006963 7f2a0d7fa6c0 Delete type=3 #219
|
||||
2025/07/09-17:43:10.007040 7f2a0d7fa6c0 Delete type=0 #221
|
||||
2025/07/09-18:03:48.817353 7f276ffff6c0 Level-0 table #226: started
|
||||
2025/07/09-18:03:48.817401 7f276ffff6c0 Level-0 table #226: 0 bytes OK
|
||||
2025/07/09-18:03:48.823494 7f276ffff6c0 Delete type=0 #224
|
||||
2025/07/09-18:03:48.830589 7f276ffff6c0 Manual compaction at level-0 from '!items!1bAL2MQVpVBd0c5Z' @ 72057594037927935 : 1 .. '!items!zs67k4sxCid6oTK3' @ 0 : 0; will stop at (end)
|
||||
|
@@ -1,7 +1,7 @@
|
||||
2025/03/11-18:04:31.115280 7f24c6ffd6c0 Recovering log #176
|
||||
2025/03/11-18:04:31.125809 7f24c6ffd6c0 Delete type=3 #174
|
||||
2025/03/11-18:04:31.125868 7f24c6ffd6c0 Delete type=0 #176
|
||||
2025/03/11-18:27:51.810753 7f24c4bff6c0 Level-0 table #181: started
|
||||
2025/03/11-18:27:51.810792 7f24c4bff6c0 Level-0 table #181: 0 bytes OK
|
||||
2025/03/11-18:27:51.817530 7f24c4bff6c0 Delete type=0 #179
|
||||
2025/03/11-18:27:51.823838 7f24c4bff6c0 Manual compaction at level-0 from '!items!1bAL2MQVpVBd0c5Z' @ 72057594037927935 : 1 .. '!items!zs67k4sxCid6oTK3' @ 0 : 0; will stop at (end)
|
||||
2025/07/02-23:06:08.378229 7f0793fff6c0 Recovering log #216
|
||||
2025/07/02-23:06:08.459001 7f0793fff6c0 Delete type=3 #214
|
||||
2025/07/02-23:06:08.459067 7f0793fff6c0 Delete type=0 #216
|
||||
2025/07/02-23:08:13.552198 7f07923ff6c0 Level-0 table #222: started
|
||||
2025/07/02-23:08:13.552225 7f07923ff6c0 Level-0 table #222: 0 bytes OK
|
||||
2025/07/02-23:08:13.559173 7f07923ff6c0 Delete type=0 #220
|
||||
2025/07/02-23:08:13.565269 7f07923ff6c0 Manual compaction at level-0 from '!items!1bAL2MQVpVBd0c5Z' @ 72057594037927935 : 1 .. '!items!zs67k4sxCid6oTK3' @ 0 : 0; will stop at (end)
|
||||
|
Binary file not shown.
BIN
packs/simples/MANIFEST-000223
Normal file
BIN
packs/simples/MANIFEST-000223
Normal file
Binary file not shown.
@@ -886,16 +886,12 @@ ul, li {
|
||||
border-radius: 0;
|
||||
background: rgba(30, 25, 20, 1);
|
||||
background-origin: padding-box;
|
||||
-o-border-image: url(img/ui/footer-button.png) 10 repeat;
|
||||
border-image: url(img/ui/footer-button.png) 10 repeat;
|
||||
border-image-width: 4px;
|
||||
border-image-outset: 0px;
|
||||
}
|
||||
#controls .scene-control.active, #controls .control-tool.active, #controls .scene-control:hover, #controls .control-tool:hover {
|
||||
background: rgba(72, 46, 28, 1);
|
||||
background-origin: padding-box;
|
||||
-o-border-image: url(img/ui/footer-button.png) 10 repeat;
|
||||
border-image: url(img/ui/footer-button.png) 10 repeat;
|
||||
border-image-width: 4px;
|
||||
border-image-outset: 0px;
|
||||
box-shadow: 0 0 3px #ff6400;
|
||||
@@ -907,7 +903,6 @@ ul, li {
|
||||
box-shadow: 2px 2px 5px #000000;
|
||||
}
|
||||
.macro {
|
||||
-o-border-image: url(img/ui/bg_control.jpg) 21 repeat;
|
||||
border-image: url(img/ui/bg_control.jpg) 21 repeat;
|
||||
border-image-slice: 6 6 6 6 fill;
|
||||
border-image-width: 6px 6px 6px 6px;
|
||||
@@ -921,8 +916,6 @@ ul, li {
|
||||
}
|
||||
}
|
||||
#players {
|
||||
-o-border-image: url(img/ui/footer-button.png) 10 repeat;
|
||||
border-image: url(img/ui/footer-button.png) 10 repeat;
|
||||
border-image-width: 4px;
|
||||
border-image-outset: 0px;
|
||||
background: rgba(30, 25, 20, 1);
|
||||
@@ -933,8 +926,6 @@ ul, li {
|
||||
&.nav-item {
|
||||
background: rgba(30, 25, 20, 1);
|
||||
background-origin: padding-box;
|
||||
-o-border-image: url(img/ui/footer-button.png) 10 repeat;
|
||||
border-image: url(img/ui/footer-button.png) 10 repeat;
|
||||
border-image-width: 4px;
|
||||
border-image-outset: 0px;
|
||||
&.active {
|
||||
@@ -946,8 +937,6 @@ ul, li {
|
||||
#nav-toggle {
|
||||
background: rgba(30, 25, 20, 1);
|
||||
background-origin: padding-box;
|
||||
-o-border-image: url(img/ui/footer-button.png) 10 repeat;
|
||||
border-image: url(img/ui/footer-button.png) 10 repeat;
|
||||
border-image-width: 4px;
|
||||
border-image-outset: 0px;
|
||||
}
|
||||
@@ -955,8 +944,6 @@ ul, li {
|
||||
#navigation #scene-list .scene.view, #navigation #scene-list .scene.context {
|
||||
background: rgba(72, 46, 28, 1);
|
||||
background-origin: padding-box;
|
||||
-o-border-image: url(img/ui/footer-button.png) 10 repeat;
|
||||
border-image: url(img/ui/footer-button.png) 10 repeat;
|
||||
border-image-width: 4px;
|
||||
border-image-outset: 0px;
|
||||
box-shadow: 0 0 3px #ff6400;
|
||||
@@ -1105,6 +1092,11 @@ ul, li {
|
||||
.item-field {
|
||||
margin-top: 4px;
|
||||
}
|
||||
.item-field-xp {
|
||||
margin-top: 4px;
|
||||
min-width: 8rem;
|
||||
max-width: 8rem;
|
||||
}
|
||||
.item-field-label-short {
|
||||
flex-grow: 1;
|
||||
max-width: 4rem;
|
||||
@@ -1245,27 +1237,27 @@ ul, li {
|
||||
|
||||
.chat-message .message {
|
||||
font-family: "GreatPrimer";
|
||||
font-size: 0.9rem;
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
|
||||
.skill-roll-dialog {
|
||||
font-family: "GreatPrimer";
|
||||
font-size: 0.9rem;
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
|
||||
.fvtt-te-deum-character-creator {
|
||||
background: rgba(226, 226, 222, 0.95);
|
||||
/*background: rgba(226, 226, 222, 0.95);*/
|
||||
font-family: "GreatPrimer";
|
||||
font-size: 0.9rem;
|
||||
font-size: 0.9rem;
|
||||
.field-title {
|
||||
font-weight: bold;
|
||||
}
|
||||
.status-section {
|
||||
display: block;
|
||||
display: block;
|
||||
max-width: 34rem;
|
||||
}
|
||||
.creator-finished-section {
|
||||
display: block;
|
||||
display: block;
|
||||
max-width: 34rem;
|
||||
text-align: center;
|
||||
margin-bottom: 1rem;
|
||||
@@ -1301,4 +1293,7 @@ ul, li {
|
||||
padding: 1px 0.5rem 0 0.25rem;
|
||||
border-radius: 0 3px 0 0;
|
||||
background: rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
.tedeum-create-character {
|
||||
align-self: anchor-center;
|
||||
}
|
@@ -834,16 +834,12 @@ ul, li {
|
||||
border-radius: 0;
|
||||
background: rgba(30, 25, 20, 1);
|
||||
background-origin: padding-box;
|
||||
-o-border-image: url(img/ui/footer-button.png) 10 repeat;
|
||||
border-image: url(img/ui/footer-button.png) 10 repeat;
|
||||
border-image-width: 4px;
|
||||
border-image-outset: 0px;
|
||||
}
|
||||
#controls .scene-control.active, #controls .control-tool.active, #controls .scene-control:hover, #controls .control-tool:hover {
|
||||
background: rgba(72, 46, 28, 1);
|
||||
background-origin: padding-box;
|
||||
-o-border-image: url(img/ui/footer-button.png) 10 repeat;
|
||||
border-image: url(img/ui/footer-button.png) 10 repeat;
|
||||
border-image-width: 4px;
|
||||
border-image-outset: 0px;
|
||||
box-shadow: 0 0 3px #ff6400;
|
||||
@@ -854,7 +850,7 @@ ul, li {
|
||||
}
|
||||
#hotbar #action-bar .macro {
|
||||
-o-border-image: url(img/ui/bg_control.jpg) 21 repeat;
|
||||
border-image: url(img/ui/bg_control.jpg) 21 repeat;
|
||||
border-image: url(img/ui/bg_control.jpg) 21 repeat;
|
||||
border-image-slice: 6 6 6 6 fill;
|
||||
border-image-width: 6px 6px 6px 6px;
|
||||
border-image-outset: 0px 0px 0px 0px;
|
||||
@@ -865,8 +861,6 @@ ul, li {
|
||||
border: 1px solid rgba(72, 46, 28, 1);
|
||||
}
|
||||
#players {
|
||||
-o-border-image: url(img/ui/footer-button.png) 10 repeat;
|
||||
border-image: url(img/ui/footer-button.png) 10 repeat;
|
||||
border-image-width: 4px;
|
||||
border-image-outset: 0px;
|
||||
background: rgba(30, 25, 20, 1);
|
||||
@@ -874,8 +868,6 @@ ul, li {
|
||||
#navigation #scene-list .scene.nav-item {
|
||||
background: rgba(30, 25, 20, 1);
|
||||
background-origin: padding-box;
|
||||
-o-border-image: url(img/ui/footer-button.png) 10 repeat;
|
||||
border-image: url(img/ui/footer-button.png) 10 repeat;
|
||||
border-image-width: 4px;
|
||||
border-image-outset: 0px
|
||||
}
|
||||
@@ -885,16 +877,12 @@ ul, li {
|
||||
#navigation #nav-toggle {
|
||||
background: rgba(30, 25, 20, 1);
|
||||
background-origin: padding-box;
|
||||
-o-border-image: url(img/ui/footer-button.png) 10 repeat;
|
||||
border-image: url(img/ui/footer-button.png) 10 repeat;
|
||||
border-image-width: 4px;
|
||||
border-image-outset: 0px;
|
||||
}
|
||||
#navigation #scene-list .scene.view, #navigation #scene-list .scene.context {
|
||||
background: rgba(72, 46, 28, 1);
|
||||
background-origin: padding-box;
|
||||
-o-border-image: url(img/ui/footer-button.png) 10 repeat;
|
||||
border-image: url(img/ui/footer-button.png) 10 repeat;
|
||||
border-image-width: 4px;
|
||||
border-image-outset: 0px;
|
||||
box-shadow: 0 0 3px #ff6400;
|
||||
@@ -1045,6 +1033,11 @@ ul, li {
|
||||
.item-field {
|
||||
margin-top: 4px;
|
||||
}
|
||||
.item-field-xp {
|
||||
margin-top: 4px;
|
||||
min-width: 8rem;
|
||||
max-width: 8rem;
|
||||
}
|
||||
.item-field-label-short {
|
||||
flex-grow: 1;
|
||||
max-width: 4rem;
|
||||
@@ -1182,16 +1175,16 @@ ul, li {
|
||||
|
||||
.chat-message .message {
|
||||
font-family: "GreatPrimer";
|
||||
font-size: 0.9rem;
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
|
||||
.skill-roll-dialog {
|
||||
font-family: "GreatPrimer";
|
||||
font-size: 0.9rem;
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
|
||||
.fvtt-te-deum-character-creator {
|
||||
background: rgba(226, 226, 222, 0.95);
|
||||
/*background: rgba(226, 226, 222, 0.95);*/
|
||||
font-family: "GreatPrimer";
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
@@ -1201,12 +1194,12 @@ ul, li {
|
||||
}
|
||||
|
||||
.fvtt-te-deum-character-creator .status-section {
|
||||
display: block;
|
||||
display: block;
|
||||
max-width: 34rem;
|
||||
}
|
||||
|
||||
.fvtt-te-deum-character-creator .creator-finished-section {
|
||||
display: block;
|
||||
display: block;
|
||||
max-width: 34rem;
|
||||
text-align: center;
|
||||
margin-bottom: 1rem;
|
||||
@@ -1242,4 +1235,7 @@ ul, li {
|
||||
padding: 1px 0.5rem 0 0.25rem;
|
||||
border-radius: 0 3px 0 0;
|
||||
background: rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
.tedeum-create-character {
|
||||
align-self: anchor-center;
|
||||
}
|
18
system.json
18
system.json
@@ -3,7 +3,7 @@
|
||||
"esmodules": [
|
||||
"modules/tedeum-main.js"
|
||||
],
|
||||
"grid": {
|
||||
"grid": {
|
||||
"distance": 2,
|
||||
"units": "m"
|
||||
},
|
||||
@@ -134,22 +134,22 @@
|
||||
"license": "LICENSE.txt",
|
||||
"manifest": "https://www.uberwald.me/gitea/public/fvtt-te-deum/releases/download/latest/system.json",
|
||||
"compatibility": {
|
||||
"minimum": "12",
|
||||
"verified": "12"
|
||||
"minimum": "13",
|
||||
"verified": "13"
|
||||
},
|
||||
"id": "fvtt-te-deum",
|
||||
"primaryTokenAttribute": "secondary.health",
|
||||
"secondaryTokenAttribute": "secondary.delirium",
|
||||
"socket": true,
|
||||
"styles": [
|
||||
"styles/tedeum.css"
|
||||
{
|
||||
"src": "styles/tedeum.css"
|
||||
}
|
||||
],
|
||||
"relationships": {
|
||||
},
|
||||
"title": "Te Deum pour Un Massacre, le Jeu de Rôles (Officiel)",
|
||||
"url": "https://www.uberwald.me/gitea/public/fvtt-te-deum",
|
||||
"version": "12.0.17",
|
||||
"download": "https://www.uberwald.me/gitea/public/fvtt-te-deum/archive/fvtt-te-deum-v12.0.17.zip",
|
||||
"version": "13.0.1",
|
||||
"download": "https://www.uberwald.me/gitea/public/fvtt-te-deum/releases/download/13.0.1/fvtt-te-deum-13.0.1.zip",
|
||||
"background": "systems/fvtt-te-deum/images/ui/tdeum_welcome_page_01.webp",
|
||||
"flags": {
|
||||
"hotReload": {
|
||||
@@ -166,4 +166,4 @@
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -43,7 +43,7 @@
|
||||
<ul class="item-list alternate-list">
|
||||
{{#each caracList as |char key|}}
|
||||
<li class="item flexrow list-item carac-box">
|
||||
<img class="sheet-competence-img" src="/systems/fvtt-te-deum/images/icons/{{key}}.webp" />
|
||||
<img class="sheet-competence-img" src="systems/fvtt-te-deum/images/icons/{{key}}.webp" />
|
||||
<label class="item-left-pad item-field item-field-label-medium" data-tooltip="{{char.description}}">{{char.name}}</label>
|
||||
<select type="text" class="input-numeric-short" name="system.caracteristiques.{{key}}.value"
|
||||
data-dtype="Number" />
|
||||
@@ -54,7 +54,7 @@
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
|
||||
|
||||
<div>
|
||||
<h4>Malus de santé : {{santeModifier}} niveaux</h4>
|
||||
</div>
|
||||
@@ -91,7 +91,7 @@
|
||||
</ul>
|
||||
|
||||
{{#if (or (count maladies) (count poisons))}}
|
||||
<ul class="item-list alternate-list">
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-field-title-long">
|
||||
<h3><label class="item-field-label-long">Maladies & Poisons</label></h3>
|
||||
@@ -157,7 +157,7 @@
|
||||
</li>
|
||||
<li class="item flexrow list-item carac-box">
|
||||
<label class="item-left-pad item-field item-field-label-medium">Armures Lourdes</label>
|
||||
<input class="input-numeric-short" type="text" value="{{nbArmuresLourdes}}" disabled data-dtype="Number" /> /
|
||||
<input class="input-numeric-short" type="text" value="{{nbArmuresLourdes}}" disabled data-dtype="Number" /> /
|
||||
<input class="input-numeric-short" type="text" value="{{pointsArmuresLourdes.value}}" disabled data-dtype="Number" />
|
||||
<label class="item-left-pad item-field item-field-label-medium">Actions/Tour</label>
|
||||
<input class="input-numeric-short" type="text" value="{{nbActions.value}}" disabled data-dtype="Number" />
|
||||
@@ -169,6 +169,11 @@
|
||||
<span class="item-field-title-long">
|
||||
<h3><label class="item-field-label-long">Grâces</label></h3>
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="grace" title="Créer une Grâce"><i
|
||||
class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{#each graces as |grace key|}}
|
||||
<li class="item flexrow list-item list-item-shadow item-id" data-item-id="{{grace._id}}">
|
||||
@@ -196,17 +201,22 @@
|
||||
{{#each arbreCompetences as |carac key|}}
|
||||
<ul>
|
||||
<li class="flexrow">
|
||||
<img class="sheet-competence-img" src="/systems/fvtt-te-deum/images/icons/{{key}}.webp" />
|
||||
<img class="sheet-competence-img" src="systems/fvtt-te-deum/images/icons/{{key}}.webp" />
|
||||
<h3 class="item-field-label-long14" data-tooltip="Caracteristique">{{carac.name}} : {{carac.qualite}}</h3>
|
||||
<label class="item-field item-field-label-short">{{carac.value}}</label>
|
||||
<label class="item-field ">{{carac.dice}} (xp :
|
||||
<label class="item-field-xp ">{{carac.dice}} (xp :
|
||||
{{#if @root.isGM}}
|
||||
<input class="input-numeric-short" type="text" name="system.caracteristiques.{{key}}.xp" value="{{carac.experience}}" data-dtype="Number" />
|
||||
<input class="input-numeric-short" type="text" name="system.caracteristiques.{{key}}.experience" value="{{carac.experience}}" data-dtype="Number" />
|
||||
{{else}}
|
||||
{{carac.experience}})
|
||||
{{/if}}
|
||||
)
|
||||
</label>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control competence-add" data-type="competence" data-carac-key="{{key}}" title="Ajouter une Compétence"><i
|
||||
class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
<ul class="ul-level1 flexrow item-list">
|
||||
{{#each carac.competences as |comp skillkey|}}
|
||||
@@ -299,9 +309,9 @@
|
||||
|
||||
<div class="center-content">
|
||||
<div class="corps-combat-block flexrow">
|
||||
<img src="/systems/fvtt-te-deum/images/ui/femme_gauche.webp" class="silhouette-combat-picture" />
|
||||
<img src="systems/fvtt-te-deum/images/ui/femme_gauche.webp" class="silhouette-combat-picture" />
|
||||
<div class="silhouette-combat-space"></div>
|
||||
<img src="/systems/fvtt-te-deum/images/ui/homme_droit.webp" class="silhouette-combat-picture" />
|
||||
<img src="systems/fvtt-te-deum/images/ui/homme_droit.webp" class="silhouette-combat-picture" />
|
||||
|
||||
{{#each combat as |loc key|}}
|
||||
<div class="silhouette-combat-block" style="top:{{loc.coord.top}}px;left:{{loc.coord.left}}px;">
|
||||
@@ -314,7 +324,7 @@
|
||||
<span>Blessures : </span>
|
||||
{{#each loc.blessures as |blessure idx| }}
|
||||
<span>{{blessure.name}} ({{blessure.malus}})</span>
|
||||
{{/each}}
|
||||
{{/each}}
|
||||
</div>
|
||||
</div>
|
||||
{{/each}}
|
||||
@@ -335,7 +345,7 @@
|
||||
<input type="text" class="input-numeric-short" name="system.fortune.{{key}}" value="{{fortune}}"
|
||||
data-dtype="Number" />
|
||||
</div>
|
||||
{{/each}}
|
||||
{{/each}}
|
||||
</div>
|
||||
|
||||
<span class="item-name-label-header items-title-bg">
|
||||
@@ -365,7 +375,7 @@
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{equip.img}}" /></a>
|
||||
<span class="item-name-label">{{equip.name}}</span>
|
||||
<span class="item-field-label-medium">{{equip.system.prix}} {{equip.system.monnaie}}</span>
|
||||
<span class="item-field-label-medium">{{equip.system.prix}} {{monnaie equip.system.monnaie}}</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
@@ -374,7 +384,39 @@
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
|
||||
</ul>
|
||||
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-field-label-long">
|
||||
<h3><label class="item-field-label-long">Simples</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="item-field-label-medium">Prix</label>
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="simple" title="Créer une simple"><i
|
||||
class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{#each simples as |simple key|}}
|
||||
<li class="item list-item flexrow list-item-shadow item-id" data-item-id="{{simple._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{simple.img}}" /></a>
|
||||
<span class="item-name-label">{{simple.name}}</span>
|
||||
<span class="item-field-label-medium">{{simple.system.prix}} {{monnaie simple.system.monnaie}}</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-edit" title="Editer une simple"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-control item-delete" title="Supprimer une simple"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
||||
{{!-- Biography Tab --}}
|
||||
@@ -399,6 +441,11 @@
|
||||
<input type="text" class="" name="system.age" value="{{system.age}}"
|
||||
data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="item-name-label-medium">Date de Naissance</label>
|
||||
<input type="text" class="" name="system.datenaissance" value="{{system.datenaissance}}"
|
||||
data-dtype="String" />
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div>
|
||||
|
@@ -6,7 +6,7 @@
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
|
||||
{{#if img}}
|
||||
<div >
|
||||
<img class="chat-icon" src="{{img}}" alt="{{name}}" />
|
||||
@@ -22,7 +22,7 @@
|
||||
<li>{{carac.name}}: {{carac.qualite}} ({{carac.dice}}) </li>
|
||||
{{/if}}
|
||||
{{#if competence}}
|
||||
<li>{{competence.name}}: {{competence.system.score}} </li>
|
||||
<li>{{competence.name}}: {{compScore}} </li>
|
||||
{{/if}}
|
||||
{{#if bonusMalus}}
|
||||
<li>Bonus/Malus: {{bonusMalus}} </li>
|
||||
@@ -45,7 +45,7 @@
|
||||
<li>Portée: {{porteeLabel}} ( {{difficulty}} )</li>
|
||||
{{else}}
|
||||
<li>Difficulté: {{difficulty}} </li>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
@@ -57,36 +57,36 @@
|
||||
<li><strong class="chat-result-success">Succès !</strong> </li>
|
||||
{{#if isReussiteCritique}}
|
||||
<li><strong class="chat-result-success">Réussite critique ! 1 XP gagné en {{carac.name}}.</strong> </li>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
{{#if arme}}
|
||||
{{#if arme}}
|
||||
<li><strong class="">Attaque réussie ! Faites une opposition avec la défense de la cible ou appliquez directement les dégats.</strong> </li>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
{{else}}
|
||||
{{else}}
|
||||
<li><strong class="chat-result-failure">Echec !</strong> </li>
|
||||
{{#if isEchecCritique}}
|
||||
<li><strong class="chat-result-failure">Echec critique ! 1 XP gagné en {{carac.name}}.</strong> </li>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
{{#if loc}}
|
||||
<li><strong>Attaque réussie !!</strong> </li>
|
||||
<li>Localisation: {{loc.label}} </li>
|
||||
<li>Dégats: {{degats}} {{#if isReussiteCritique}}(Augmentez la gravité de la blessure d'un niveau){{/if}}</li>
|
||||
{{/if}}
|
||||
</ul>
|
||||
</ul>
|
||||
<div>
|
||||
<a class="chat-command-opposition" >
|
||||
<img class="chat-command-img" data-tooltip="Test en opposition" src="systems/fvtt-te-deum/images/icons/opposition.webp">
|
||||
</a>
|
||||
|
||||
{{#if arme}}
|
||||
{{#if isSuccess}}
|
||||
{{#if isSuccess}}
|
||||
<a class="chat-command-appliquer-degats" >
|
||||
<img class="chat-command-img" data-tooltip="Appliquer les dégats directement sans opposition" src="systems/fvtt-te-deum/images/icons/appliquer-degats.webp">
|
||||
</a>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
|
||||
|
@@ -15,7 +15,7 @@
|
||||
{{#if competence}}
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">Compétence </span>
|
||||
<span class="roll-dialog-label">{{competence.name}} ({{competence.system.score}})</span>
|
||||
<span class="roll-dialog-label">{{competence.name}} ({{compScore}})</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
|
@@ -12,21 +12,38 @@
|
||||
{{!-- Sheet Body --}}
|
||||
<section class="sheet-body">
|
||||
|
||||
{{> systems/fvtt-te-deum/templates/items/partial-item-description.hbs}}
|
||||
<div class="tab description" data-group="primary" data-tab="description">
|
||||
<div class="grace-texte">
|
||||
<strong>Transmission</strong> : {{system.transmission}}
|
||||
</div>
|
||||
<div class="grace-texte">
|
||||
<strong>Symptômes</strong> : {{system.symptomes}}
|
||||
</div>
|
||||
<div class="grace-texte">
|
||||
<strong>Complications</strong> : {{system.complications}}
|
||||
</div>
|
||||
<hr>
|
||||
{{editor description target="system.description" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
|
||||
<div class="tab details" data-group="primary" data-tab="details">
|
||||
|
||||
<h4 class="item-name-label-long">Transmission</h4>
|
||||
<textarea name="system.transmission" data-dtype="String">
|
||||
<textarea name="system.transmission" rows="6" data-dtype="String">
|
||||
{{{system.transmission}}}
|
||||
</textarea>
|
||||
|
||||
<h4 class="item-name-label-long">Symptômes</h4>
|
||||
<textarea name="system.symptomes" data-dtype="String">
|
||||
<textarea name="system.symptomes" rows="6" data-dtype="String">
|
||||
{{{system.symptomes}}}
|
||||
</textarea>
|
||||
|
||||
<ul>
|
||||
<h4 class="item-name-label-long">Complications</h4>
|
||||
<textarea name="system.complications" rows="6" data-dtype="String">
|
||||
{{{system.complications}}}
|
||||
</textarea>
|
||||
|
||||
<ul>
|
||||
<li class="flexrow">
|
||||
<label class="item-name-label-long">Difficulté au test d'Endurance</label>
|
||||
<select class="" type="text" name="system.difficulteEndurance" data-dtype="String">
|
||||
|
@@ -12,21 +12,30 @@
|
||||
{{!-- Sheet Body --}}
|
||||
<section class="sheet-body">
|
||||
|
||||
{{> systems/fvtt-te-deum/templates/items/partial-item-description.hbs}}
|
||||
<div class="tab description" data-group="primary" data-tab="description">
|
||||
<div class="grace-texte">
|
||||
<strong>Vertus médicinales</strong> : {{system.vertus}}
|
||||
</div>
|
||||
<div class="grace-texte">
|
||||
<strong>Toxicité</strong> : {{system.toxicite}}
|
||||
</div>
|
||||
<hr>
|
||||
{{editor description target="system.description" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
|
||||
<div class="tab details" data-group="primary" data-tab="details">
|
||||
|
||||
<h4 class="item-name-label-long">Vertus médicinales</h4>
|
||||
<textarea name="system.vertus" data-dtype="String">
|
||||
<textarea name="system.vertus" rows="6" data-dtype="String">
|
||||
{{{system.vertus}}}
|
||||
</textarea>
|
||||
|
||||
<h4 class="item-name-label-long">Toxicité</h4>
|
||||
<textarea name="system.toxicite" data-dtype="String">
|
||||
<textarea name="system.toxicite" rows="6" data-dtype="String">
|
||||
{{{system.toxicite}}}
|
||||
</textarea>
|
||||
|
||||
<ul>
|
||||
<ul>
|
||||
<li class="flexrow">
|
||||
<label class="item-name-label-long">Difficulté au test d'Endurance</label>
|
||||
<select class="" type="text" name="system.difficulteEndurance" data-dtype="String">
|
||||
|
Reference in New Issue
Block a user