Compare commits

...

7 Commits

68 changed files with 250 additions and 263 deletions

View File

@ -1,3 +1,8 @@
v12.0.0
- Support Foundry v11/v12
- Correction sur le niveau de jeu par défaut
v11.0.39
- Modification sur la prise en compte des traits en bonus/malus

View File

@ -6,7 +6,7 @@
import { EcrymeUtility } from "../common/ecryme-utility.js";
/* -------------------------------------------- */
export class EcrymeActorSheet extends ActorSheet {
export class EcrymeActorSheet extends foundry.appv1.sheets.ActorSheet {
/** @override */
static get defaultOptions() {
@ -53,9 +53,9 @@ export class EcrymeActorSheet extends ActorSheet {
cephalySkills: this.actor.getCephalySkills(),
subActors: foundry.utils.duplicate(this.actor.getSubActors()),
annency: this.actor.getAnnency(),
description: await TextEditor.enrichHTML(this.object.system.biodata.description, { async: true }),
notes: await TextEditor.enrichHTML(this.object.system.biodata.notes, { async: true }),
equipementlibre: await TextEditor.enrichHTML(this.object.system.equipmentfree, { async: true }),
description: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.biodata.description, { async: true }),
notes: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.biodata.notes, { async: true }),
equipementlibre: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.equipmentfree, { async: true }),
options: this.options,
owner: this.document.isOwner,
editScore: this.options.editScore,
@ -75,10 +75,10 @@ export class EcrymeActorSheet 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;
});
});
html.find('.open-annency').click(ev => {
let actorId = $(ev.currentTarget).data("annency-id")
@ -105,14 +105,14 @@ export class EcrymeActorSheet extends ActorSheet {
let dataType = $(ev.currentTarget).data("type")
this.actor.createEmbeddedDocuments('Item', [{ name: "NewItem", type: dataType }], { 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");
@ -131,13 +131,13 @@ export class EcrymeActorSheet extends ActorSheet {
let categKey = $(event.currentTarget).data("category-key")
let skillKey = $(event.currentTarget).data("skill-key")
this.actor.rollSkill(categKey, skillKey)
});
});
html.find('.roll-spec').click((event) => {
let categKey = $(event.currentTarget).data("category-key")
let skillKey = $(event.currentTarget).data("skill-key")
let specId = $(event.currentTarget).data("spec-id")
this.actor.rollSpec(categKey, skillKey, specId)
});
});
html.find('.roll-skill-confront').click((event) => {
let categKey = $(event.currentTarget).data("category-key")
let skillKey = $(event.currentTarget).data("skill-key")
@ -151,36 +151,36 @@ export class EcrymeActorSheet extends ActorSheet {
const li = $(event.currentTarget).parents(".item")
let weaponId = li.data("item-id");
this.actor.rollWeaponConfront(weaponId)
});
});
html.find('.impact-modify').click((event) => {
let impactType = $(event.currentTarget).data("impact-type")
let impactLevel = $(event.currentTarget).data("impact-level")
let modifier = Number($(event.currentTarget).data("impact-modifier"))
this.actor.modifyImpact(impactType, impactLevel, modifier)
});
html.find('.roll-weapon').click((event) => {
const armeId = $(event.currentTarget).data("arme-id")
this.actor.rollArme(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 = {}) {

View File

@ -449,6 +449,7 @@ export class EcrymeActor extends Actor {
rollData.applyTranscendence = "execution"
rollData.traitsBonus = foundry.utils.duplicate(rollData.traits)
rollData.traitsMalus = foundry.utils.duplicate(rollData.traits)
console.log("ROLLDATA", rollData)
let confrontStartDialog = await EcrymeConfrontStartDialog.create(this, rollData)
confrontStartDialog.render(true)
}

View File

@ -6,7 +6,7 @@
import { EcrymeUtility } from "../common/ecryme-utility.js";
/* -------------------------------------------- */
export class EcrymeAnnencySheet extends ActorSheet {
export class EcrymeAnnencySheet extends foundry.appv1.sheets.ActorSheet {
/** @override */
static get defaultOptions() {
@ -75,7 +75,7 @@ export class EcrymeAnnencySheet extends ActorSheet {
let actorId = li.data("actor-id")
this.actor.removeAnnencyActor(actorId)
})
// Update Inventory Item
html.find('.item-edit').click(ev => {

View File

@ -10,14 +10,14 @@ export const ECRYME_CONFIG = {
"melee": "ECRY.ui.melee",
"ranged": "ECRY.ui.ranged"
},
traitLevel: [
{value: -3, text: "-3"},
{value: -2, text: "-2"},
{value: -1, text: "-1"},
{value: +1, text: "+1"},
{value: +2, text: "+2"},
{value: +3, text: "+3"}
],
traitLevel: {
"-3":{value: "-3", text: "-3"},
"-2":{value: "-2", text: "-2"},
"-1":{value: "-1", text: "-1"},
"+1":{value: "+1", text: "+1"},
"+2":{value: "+2", text: "+2"},
"+3":{value: "+3", text: "+3"}
},
impactTypes: {
physical: "ECRY.ui.physical",
mental: "ECRY.ui.mental",
@ -30,7 +30,7 @@ export const ECRYME_CONFIG = {
major: "ECRY.ui.major"
},
difficulty: {
"-1": {difficulty: "ECRY.ui.none", frequency: "ECRY.ui.none", value: "-"},
"-1": {difficulty: "ECRY.ui.none", frequency: "ECRY.ui.none", value: "-1"},
"8": { difficulty: "ECRY.ui.troublesome", frequency: "ECRY.ui.occasional", value: 8 },
"10": { difficulty: "ECRY.ui.difficult", frequency: "ECRY.ui.uncommon", value: 10 },
"12": { difficulty: "ECRY.ui.verydifficult", frequency: "ECRY.ui.rare", value: 12 },
@ -60,17 +60,16 @@ export const ECRYME_CONFIG = {
},
transcendanceOptions: {
"execution": "ECRY.ui.execution",
"preservation": "EC,RY.ui.preservation"
"preservation": "ECRY.ui.preservation"
},
bonusMalusPersoOptions: [
{value: "-3", label: "-3"},
{value: "-2", label: "-2"},
{value: "-1", label: "-1"},
{value: "0", label: "0"},
{value: "+1", label: "+1"},
{value: "+2", label: "+2"},
{value: "+3", label: "+3"}
]
bonusMalusPersoOptions: {
"-3": {value: "-3", label: "-3"},
"-2": {value: "-2", label: "-2"},
"-1": {value: "-1", label: "-1"},
"0": {value: "0", label: "0"},
"+1": {value: "1", label: "+1"},
"+2": {value: "2", label: "+2"},
"+3": {value: "3", label: "+3"}
}
}

View File

@ -36,7 +36,7 @@ export class EcrymeUtility {
/* -------------------------------------------- */
static async init() {
Hooks.on('renderChatLog', (log, html, data) => EcrymeUtility.chatListeners(html));
Hooks.on("getChatLogEntryContext", (html, options) => EcrymeUtility.chatMenuManager(html, options));
Hooks.on("getChatMessageContextOptions", (html, options) => EcrymeUtility.chatMenuManager(html, options));
this.rollDataStore = {}
this.defenderStore = {}
@ -120,7 +120,7 @@ export class EcrymeUtility {
let level = game.settings.get("fvtt-ecryme", "ecryme-game-level")
return level == "level_a"
}
/*-------------------------------------------- */
static buildSkillConfig() {
game.system.ecryme.config.skills = {}
@ -216,7 +216,7 @@ export class EcrymeUtility {
confront.impactPreservation = this.getImpactFromEffect(Math.abs(confront.effectPreservation))
}
if (confront.marginPreservation > 0) {
confront.bonus1 = -confront.marginPreservation
confront.bonus1 = confront.marginPreservation
}
let msg = await this.createChatWithRollMode(this.confrontData1.alias, {
@ -273,20 +273,17 @@ export class EcrymeUtility {
let canTranscendRoll = []
for (let i = 1; i <= 10; i++) {
canTranscendRoll[i] = function (li) {
let message = game.messages.get(li.attr("data-message-id"))
let message = game.messages.get($(li).attr("data-message-id"))
let rollData = message.getFlag("world", "rolldata")
//console.log(">>>>>>>>>>>>>>>>>>>>>>>>>> Menu !!!!", rollData)
if (rollData.skill && rollData.skill.value >= i && !rollData.transcendUsed && rollData.spec) {
return true
}
return false
return (rollData?.skill?.value >= i && !rollData.transcendUsed && rollData.spec)
}
options.push({
name: game.i18n.localize("ECRY.chat.spectranscend") + i,
icon: '<i class="fas fa-plus-square"></i>',
condition: canTranscendRoll[i],
callback: li => {
let message = game.messages.get(li.attr("data-message-id"))
let message = game.messages.get($(li).attr("data-message-id"))
let rollData = message.getFlag("world", "rolldata")
EcrymeUtility.transcendFromSpec(rollData, i).catch("Error on Transcend")
}
@ -297,27 +294,27 @@ export class EcrymeUtility {
/* -------------------------------------------- */
static async chatListeners(html) {
html.on("click", '.button-select-confront', event => {
$(html).on("click", '.button-select-confront', event => {
let messageId = EcrymeUtility.findChatMessageId(event.currentTarget)
let message = game.messages.get(messageId)
let rollData = message.getFlag("world", "ecryme-rolldata")
ui.notifications.info( game.i18n.localize("ECRY.chat.confrontselect"))
EcrymeUtility.manageConfrontation(rollData)
})
html.on("click", '.button-apply-cephaly-difficulty', event => {
$(html).on("click", '.button-apply-cephaly-difficulty', event => {
let messageId = EcrymeUtility.findChatMessageId(event.currentTarget)
let message = game.messages.get(messageId)
let rollData = message.getFlag("world", "ecryme-rolldata")
let difficulty = $("#" + rollData.rollId + "-cephaly-difficulty").val()
EcrymeUtility.manageCephalyDifficulty(rollData, difficulty)
})
html.on("click", '.button-apply-impact', event => {
$(html).on("click", '.button-apply-impact', event => {
let messageId = EcrymeUtility.findChatMessageId(event.currentTarget)
let message = game.messages.get(messageId)
let actor = game.actors.get($(event.currentTarget).data("actor-id"))
actor.modifyImpact($(event.currentTarget).data("impact-type"), $(event.currentTarget).data("impact"), 1)
})
html.on("click", '.button-apply-bonus', event => {
$(html).on("click", '.button-apply-bonus', event => {
let messageId = EcrymeUtility.findChatMessageId(event.currentTarget)
let message = game.messages.get(messageId)
let actor = game.actors.get($(event.currentTarget).data("actor-id"))
@ -339,7 +336,7 @@ export class EcrymeUtility {
'systems/fvtt-ecryme/templates/dialogs/partial-confront-bonus-area.hbs',
'systems/fvtt-ecryme/templates/actors/partial-impacts.hbs',
]
return loadTemplates(templatePaths);
return foundry.applications.handlebars.loadTemplates(templatePaths);
}
/* -------------------------------------------- */
@ -558,7 +555,7 @@ export class EcrymeUtility {
let actor = game.actors.get(rollData.actorId)
// Fix difficulty
if (!rollData.difficulty || rollData.difficulty == "-") {
if (!rollData.difficulty || rollData.difficulty == "-1") {
rollData.difficulty = 0
}
rollData.difficulty = Number(rollData.difficulty)
@ -575,7 +572,7 @@ export class EcrymeUtility {
this.computeResults(rollData)
let msg = await this.createChatWithRollMode(rollData.alias, {
content: await renderTemplate(`systems/fvtt-ecryme/templates/chat/chat-generic-result.hbs`, rollData)
content: await foundry.applications.handlebars.renderTemplate(`systems/fvtt-ecryme/templates/chat/chat-generic-result.hbs`, rollData)
})
await msg.setFlag("world", "ecryme-rolldata", rollData)
console.log("Rolldata result", rollData)
@ -661,7 +658,7 @@ export class EcrymeUtility {
}
return array;
}
/* -------------------------------------------- */
static async createChatMessage(name, rollMode, chatOptions) {
switch (rollMode) {
@ -685,14 +682,14 @@ export class EcrymeUtility {
let rollData = {
rollId: foundry.utils.randomID(16),
type: "roll-data",
bonusMalusPerso: 0,
bonusMalusPerso: "0",
bonusMalusSituation: 0,
bonusMalusDef: 0,
annencyBonus: 0,
bonusMalusPortee: 0,
skillTranscendence: 0,
rollMode: game.settings.get("core", "rollMode"),
difficulty: "-",
difficulty: "-1",
useSpleen: false,
useIdeal: false,
impactMalus: 0,

View File

@ -12,7 +12,7 @@ export class EcrymeConfrontDialog extends Dialog {
width: 620, height: 'fit-content', 'z-index': 99999
});
let html = await renderTemplate('systems/fvtt-ecryme/templates/dialogs/confront-dialog.hbs', rollData);
let html = await foundry.applications.handlebars.renderTemplate('systems/fvtt-ecryme/templates/dialogs/confront-dialog.hbs', rollData);
return new EcrymeConfrontDialog(actor, rollData, html, options);
}
@ -72,7 +72,7 @@ export class EcrymeConfrontDialog extends Dialog {
$("#confront-dice-pool").html(content)
content = await renderTemplate("systems/fvtt-ecryme/templates/dialogs/partial-confront-bonus-area.hbs", this.rollData )
$("#confront-bonus-pool").html(content)
}
/* -------------------------------------------- */
async refreshDialog() {
@ -83,7 +83,7 @@ export class EcrymeConfrontDialog extends Dialog {
let button = this.buttonDisabled
setTimeout(function () { $(".launchConfront").attr("disabled", button) }, 180)
}
/* ------------------ -------------------------- */
_canDragStart(selector) {
console.log("CAN DRAG START", selector, super._canDragStart(selector) )
@ -124,23 +124,23 @@ export class EcrymeConfrontDialog extends Dialog {
if ( data.dragType == "dice") {
let idx = Number(data.diceIndex)
console.log("DATA", data, event, event.srcElement.className)
if (event.srcElement.className.includes("execution") &&
if (event.srcElement.className.includes("execution") &&
this.rollData.availableDices.filter(d => d.location == "execution").length < 2) {
this.rollData.availableDices[idx].location = "execution"
}
if (event.srcElement.className.includes("preservation") &&
if (event.srcElement.className.includes("preservation") &&
this.rollData.availableDices.filter(d => d.location == "preservation").length < 2) {
this.rollData.availableDices[idx].location = "preservation"
}
if (event.srcElement.className.includes("dice-list")) {
this.rollData.availableDices[idx].location = "mainpool"
}
if (this.rollData.availableDices.filter(d => d.location == "execution").length == 2 && this.rollData.availableDices.filter(d => d.location == "preservation").length == 2) {
this.buttonDisabled = false
} else {
this.buttonDisabled = true
}
}
} else {
let idx = Number(data.bonusIndex)
if (event.srcElement.className.includes("execution")) {
@ -163,9 +163,9 @@ export class EcrymeConfrontDialog extends Dialog {
// Apply Transcend if needed
if (this.rollData.skillTranscendence > 0) {
if (this.rollData.applyTranscendence == "execution") {
this.rollData.executionTotal += this.rollData.skillTranscendence
this.rollData.executionTotal += Number(this.rollData.skillTranscendence)
} else {
this.rollData.preservationTotal += this.rollData.skillTranscendence
this.rollData.preservationTotal += Number(this.rollData.skillTranscendence)
}
}
}
@ -192,7 +192,7 @@ export class EcrymeConfrontDialog extends Dialog {
this.processTranscendence()
if (rollData.selectedSpecs && rollData.selectedSpecs.length > 0) {
rollData.spec = foundry.utils.duplicate(actor.getSpecialization(rollData.selectedSpecs[0]))
rollData.spec = foundry.utils.duplicate(actor.getSpecialization(rollData.selectedSpecs[0]))
rollData.specApplied = true
rollData.executionTotal += 2
rollData.preservationTotal += 2
@ -212,19 +212,19 @@ export class EcrymeConfrontDialog extends Dialog {
for (let id of rollData.traitsBonusSelected) {
let trait = rollData.traitsBonus.find(t => t._id == id)
trait.activated = true
rollData.bonusMalusTraits += trait.system.level
rollData.bonusMalusTraits += Number(trait.system.level)
}
}
if (rollData.traitsMalusSelected && rollData.traitsMalusSelected.length > 0) {
for (let id of rollData.traitsMalusSelected) {
let trait = rollData.traitsMalus.find(t => t._id == id)
trait.activated = true
rollData.bonusMalusTraits -= trait.system.level
rollData.bonusMalusTraits -= Number(trait.system.level)
}
}
rollData.executionTotal += rollData.bonusMalusTraits + rollData.bonusMalusPerso
rollData.preservationTotal += rollData.bonusMalusTraits + rollData.bonusMalusPerso
rollData.executionTotal += Number(rollData.bonusMalusTraits) + Number(rollData.bonusMalusPerso)
rollData.preservationTotal += Number(rollData.bonusMalusTraits) + Number(rollData.bonusMalusPerso)
this.refreshDialog()
}
@ -234,7 +234,7 @@ export class EcrymeConfrontDialog extends Dialog {
super.activateListeners(html);
html.find('#bonusMalusPerso').change((event) => {
this.rollData.bonusMalusPerso = Number(event.currentTarget.value)
this.rollData.bonusMalusPerso = event.currentTarget.value
this.computeTotals()
})
html.find('#roll-specialization').change((event) => {

View File

@ -7,7 +7,7 @@ export class EcrymeConfrontStartDialog extends Dialog {
static async create(actor, rollData) {
let options = { classes: ["fvtt-ecryme ecryme-confront-dialog"], width: 540, height: 'fit-content', 'z-index': 99999 }
let html = await renderTemplate('systems/fvtt-ecryme/templates/dialogs/confront-start-dialog.hbs', rollData);
let html = await foundry.applications.handlebars.renderTemplate('systems/fvtt-ecryme/templates/dialogs/confront-start-dialog.hbs', rollData);
return new EcrymeConfrontStartDialog(actor, rollData, html, options);
}

View File

@ -6,7 +6,7 @@ export class EcrymeRollDialog extends Dialog {
static async create(actor, rollData) {
let options = { classes: ["ecryme-roll-dialog"], width: 540, height: 'fit-content', 'z-index': 99999 }
let html = await renderTemplate('systems/fvtt-ecryme/templates/dialogs/roll-dialog-generic.hbs', rollData);
let html = await foundry.applications.handlebars.renderTemplate('systems/fvtt-ecryme/templates/dialogs/roll-dialog-generic.hbs', rollData);
return new EcrymeRollDialog(actor, rollData, html, options);
}
@ -52,12 +52,12 @@ export class EcrymeRollDialog extends Dialog {
activateListeners(html) {
super.activateListeners(html);
var dialog = this;
function onLoad() {
}
$(function () { onLoad(); });
html.find('#bonusMalusPerso').change((event) => {
console.log("DIFF", event.currentTarget.value)
this.rollData.bonusMalusPerso = Number(event.currentTarget.value)
})
html.find('#roll-difficulty').change((event) => {
@ -74,13 +74,13 @@ export class EcrymeRollDialog extends Dialog {
})
html.find('#roll-select-transcendence').change((event) => {
this.rollData.skillTranscendence = Number($('#roll-select-transcendence').val())
})
})
html.find('#roll-use-spleen').change((event) => {
this.rollData.useSpleen = event.currentTarget.checked
})
})
html.find('#roll-use-ideal').change((event) => {
this.rollData.useIdeal = event.currentTarget.checked
})
})
}
}

View File

@ -38,7 +38,7 @@ Hooks.once("init", async function () {
EcrymeUtility.preloadHandlebarsTemplates();
/* -------------------------------------------- */
// Set an initiative formula for the system
// Set an initiative formula for the system
CONFIG.Combat.initiative = {
formula: "1d6",
decimals: 1
@ -57,18 +57,16 @@ Hooks.once("init", async function () {
/* -------------------------------------------- */
// Register sheet application classes
Actors.unregisterSheet("core", ActorSheet);
Actors.registerSheet("fvtt-ecryme", EcrymeActorSheet, { types: ["pc"], makeDefault: true });
Actors.registerSheet("fvtt-ecryme", EcrymeActorSheet, { types: ["npc"], makeDefault: true });
Actors.registerSheet("fvtt-ecryme", EcrymeAnnencySheet, { types: ["annency"], makeDefault: false });
foundry.documents.collections.Actors.unregisterSheet("core", foundry.appv1.sheets.ActorSheet);
foundry.documents.collections.Actors.registerSheet("fvtt-ecryme", EcrymeActorSheet, { types: ["pc"], makeDefault: true });
foundry.documents.collections.Actors.registerSheet("fvtt-ecryme", EcrymeActorSheet, { types: ["npc"], makeDefault: true });
foundry.documents.collections.Actors.registerSheet("fvtt-ecryme", EcrymeAnnencySheet, { types: ["annency"], makeDefault: false });
Items.unregisterSheet("core", ItemSheet);
Items.registerSheet("fvtt-ecryme", EcrymeItemSheet, { makeDefault: true });
foundry.documents.collections.Items.unregisterSheet("core", foundry.appv1.sheets.ItemSheet);
foundry.documents.collections.Items.registerSheet("fvtt-ecryme", EcrymeItemSheet, { makeDefault: true });
EcrymeUtility.init()
Babele.get().setSystemTranslationsDir("translated")
});
/* -------------------------------------------- */
@ -91,6 +89,7 @@ async function importDefaultScene() {
await game.scenes.documentClass.create(newDocuments);
game.scenes.find(i => i.name == "Landing page 1").activate();
}
}
/* -------------------------------------------- */
@ -107,10 +106,10 @@ Hooks.once("ready", function () {
});
}
import("https://www.uberwald.me/fvtt_appcount/count-class-ready.js").then(moduleCounter=>{
import("https://www.uberwald.me/fvtt_appcount/count-class-ready.js").then(moduleCounter => {
console.log("ClassCounter loaded", moduleCounter)
moduleCounter.ClassCounter.registerUsageCount()
}).catch(err=>
}).catch(err =>
console.log("No stats available, giving up.")
)
@ -119,6 +118,9 @@ Hooks.once("ready", function () {
EcrymeCharacterSummary.ready();
importDefaultScene();
// Load translations
Babele.get().setSystemTranslationsDir("translated")
})
@ -135,4 +137,3 @@ Hooks.on("chatMessage", (html, content, msg) => {
}
return true;
});

View File

@ -4,7 +4,7 @@ import { EcrymeUtility } from "../common/ecryme-utility.js";
* Extend the basic ItemSheet with some very simple modifications
* @extends {ItemSheet}
*/
export class EcrymeItemSheet extends ItemSheet {
export class EcrymeItemSheet extends foundry.appv1.sheets.ItemSheet {
/** @override */
static get defaultOptions() {
@ -61,15 +61,15 @@ export class EcrymeItemSheet 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 == "archetype") {
formData.tarots = EcrymeUtility.getTarots()
}
this.options.editable = !(this.object.origin == "embeddedItem");
console.log("ITEM DATA", formData, this);
return formData;
@ -115,7 +115,7 @@ export class EcrymeItemSheet 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') {

Binary file not shown.

BIN
packs/equipment/000192.ldb Normal file

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000159
MANIFEST-000205

View File

@ -1,7 +1,7 @@
2024/04/26-19:22:08.707793 7f89060006c0 Recovering log #156
2024/04/26-19:22:08.718085 7f89060006c0 Delete type=3 #154
2024/04/26-19:22:08.718160 7f89060006c0 Delete type=0 #156
2024/04/26-19:25:18.674002 7f88ffe006c0 Level-0 table #162: started
2024/04/26-19:25:18.674046 7f88ffe006c0 Level-0 table #162: 0 bytes OK
2024/04/26-19:25:18.715930 7f88ffe006c0 Delete type=0 #160
2024/04/26-19:25:18.747436 7f88ffe006c0 Manual compaction at level-0 from '!folders!1GrTlI1xWvaxdKRI' @ 72057594037927935 : 1 .. '!items!zs7krgXhDRndtqbl' @ 0 : 0; will stop at (end)
2025/05/01-23:23:34.950257 7f11177fe6c0 Recovering log #203
2025/05/01-23:23:34.960390 7f11177fe6c0 Delete type=3 #201
2025/05/01-23:23:34.960497 7f11177fe6c0 Delete type=0 #203
2025/05/01-23:27:45.498796 7f11153ff6c0 Level-0 table #208: started
2025/05/01-23:27:45.498850 7f11153ff6c0 Level-0 table #208: 0 bytes OK
2025/05/01-23:27:45.505411 7f11153ff6c0 Delete type=0 #206
2025/05/01-23:27:45.518830 7f11153ff6c0 Manual compaction at level-0 from '!folders!1GrTlI1xWvaxdKRI' @ 72057594037927935 : 1 .. '!items!zs7krgXhDRndtqbl' @ 0 : 0; will stop at (end)

View File

@ -1,14 +1,7 @@
2024/04/26-18:42:26.253704 7f89060006c0 Recovering log #152
2024/04/26-18:42:26.264507 7f89060006c0 Delete type=3 #150
2024/04/26-18:42:26.264666 7f89060006c0 Delete type=0 #152
2024/04/26-19:22:04.326808 7f88ffe006c0 Level-0 table #157: started
2024/04/26-19:22:04.330698 7f88ffe006c0 Level-0 table #157: 26343 bytes OK
2024/04/26-19:22:04.337326 7f88ffe006c0 Delete type=0 #155
2024/04/26-19:22:04.358386 7f88ffe006c0 Manual compaction at level-0 from '!folders!1GrTlI1xWvaxdKRI' @ 72057594037927935 : 1 .. '!items!zs7krgXhDRndtqbl' @ 0 : 0; will stop at '!items!zs7krgXhDRndtqbl' @ 338 : 1
2024/04/26-19:22:04.358402 7f88ffe006c0 Compacting 1@0 + 1@1 files
2024/04/26-19:22:04.362396 7f88ffe006c0 Generated table #158@0: 174 keys, 27263 bytes
2024/04/26-19:22:04.362426 7f88ffe006c0 Compacted 1@0 + 1@1 files => 27263 bytes
2024/04/26-19:22:04.368459 7f88ffe006c0 compacted to: files[ 0 1 0 0 0 0 0 ]
2024/04/26-19:22:04.368664 7f88ffe006c0 Delete type=2 #9
2024/04/26-19:22:04.368919 7f88ffe006c0 Delete type=2 #157
2024/04/26-19:22:04.400712 7f88ffe006c0 Manual compaction at level-0 from '!items!zs7krgXhDRndtqbl' @ 338 : 1 .. '!items!zs7krgXhDRndtqbl' @ 0 : 0; will stop at (end)
2025/05/01-23:18:27.056956 7f1115ffb6c0 Recovering log #199
2025/05/01-23:18:27.067437 7f1115ffb6c0 Delete type=3 #197
2025/05/01-23:18:27.067539 7f1115ffb6c0 Delete type=0 #199
2025/05/01-23:23:12.722068 7f11153ff6c0 Level-0 table #204: started
2025/05/01-23:23:12.722089 7f11153ff6c0 Level-0 table #204: 0 bytes OK
2025/05/01-23:23:12.728871 7f11153ff6c0 Delete type=0 #202
2025/05/01-23:23:12.744842 7f11153ff6c0 Manual compaction at level-0 from '!folders!1GrTlI1xWvaxdKRI' @ 72057594037927935 : 1 .. '!items!zs7krgXhDRndtqbl' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
packs/help/000129.ldb Normal file

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000096
MANIFEST-000142

View File

@ -1,8 +1,8 @@
2024/04/26-19:22:08.762783 7f89074006c0 Recovering log #93
2024/04/26-19:22:08.773921 7f89074006c0 Delete type=3 #91
2024/04/26-19:22:08.774007 7f89074006c0 Delete type=0 #93
2024/04/26-19:25:18.785678 7f88ffe006c0 Level-0 table #99: started
2024/04/26-19:25:18.785720 7f88ffe006c0 Level-0 table #99: 0 bytes OK
2024/04/26-19:25:18.821605 7f88ffe006c0 Delete type=0 #97
2024/04/26-19:25:18.901806 7f88ffe006c0 Manual compaction at level-0 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end)
2024/04/26-19:25:18.901870 7f88ffe006c0 Manual compaction at level-1 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end)
2025/05/01-23:23:35.002627 7f1116ffd6c0 Recovering log #140
2025/05/01-23:23:35.013325 7f1116ffd6c0 Delete type=3 #138
2025/05/01-23:23:35.013430 7f1116ffd6c0 Delete type=0 #140
2025/05/01-23:27:45.532648 7f11153ff6c0 Level-0 table #145: started
2025/05/01-23:27:45.532688 7f11153ff6c0 Level-0 table #145: 0 bytes OK
2025/05/01-23:27:45.540035 7f11153ff6c0 Delete type=0 #143
2025/05/01-23:27:45.546611 7f11153ff6c0 Manual compaction at level-0 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end)
2025/05/01-23:27:45.546647 7f11153ff6c0 Manual compaction at level-1 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end)

View File

@ -1,15 +1,8 @@
2024/04/26-18:42:26.318647 7f8906a006c0 Recovering log #89
2024/04/26-18:42:26.329907 7f8906a006c0 Delete type=3 #87
2024/04/26-18:42:26.329974 7f8906a006c0 Delete type=0 #89
2024/04/26-19:22:04.427916 7f88ffe006c0 Level-0 table #94: started
2024/04/26-19:22:04.431410 7f88ffe006c0 Level-0 table #94: 2184 bytes OK
2024/04/26-19:22:04.438566 7f88ffe006c0 Delete type=0 #92
2024/04/26-19:22:04.449035 7f88ffe006c0 Manual compaction at level-0 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end)
2024/04/26-19:22:04.449082 7f88ffe006c0 Manual compaction at level-1 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 14 : 1
2024/04/26-19:22:04.449091 7f88ffe006c0 Compacting 1@1 + 1@2 files
2024/04/26-19:22:04.452506 7f88ffe006c0 Generated table #95@1: 4 keys, 2184 bytes
2024/04/26-19:22:04.452542 7f88ffe006c0 Compacted 1@1 + 1@2 files => 2184 bytes
2024/04/26-19:22:04.458702 7f88ffe006c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2024/04/26-19:22:04.458800 7f88ffe006c0 Delete type=2 #74
2024/04/26-19:22:04.458954 7f88ffe006c0 Delete type=2 #94
2024/04/26-19:22:04.482775 7f88ffe006c0 Manual compaction at level-1 from '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 14 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end)
2025/05/01-23:18:27.111839 7f1116ffd6c0 Recovering log #136
2025/05/01-23:18:27.122280 7f1116ffd6c0 Delete type=3 #134
2025/05/01-23:18:27.122337 7f1116ffd6c0 Delete type=0 #136
2025/05/01-23:23:12.768196 7f11153ff6c0 Level-0 table #141: started
2025/05/01-23:23:12.768227 7f11153ff6c0 Level-0 table #141: 0 bytes OK
2025/05/01-23:23:12.774547 7f11153ff6c0 Delete type=0 #139
2025/05/01-23:23:12.774689 7f11153ff6c0 Manual compaction at level-0 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end)
2025/05/01-23:23:12.774707 7f11153ff6c0 Manual compaction at level-1 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end)

Binary file not shown.

BIN
packs/help/MANIFEST-000142 Normal file

Binary file not shown.

Binary file not shown.

BIN
packs/maneuvers/000192.ldb Normal file

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000159
MANIFEST-000205

View File

@ -1,7 +1,7 @@
2024/04/26-19:22:08.749669 7f8906a006c0 Recovering log #156
2024/04/26-19:22:08.759716 7f8906a006c0 Delete type=3 #154
2024/04/26-19:22:08.759885 7f8906a006c0 Delete type=0 #156
2024/04/26-19:25:18.747562 7f88ffe006c0 Level-0 table #162: started
2024/04/26-19:25:18.747596 7f88ffe006c0 Level-0 table #162: 0 bytes OK
2024/04/26-19:25:18.785476 7f88ffe006c0 Delete type=0 #160
2024/04/26-19:25:18.901779 7f88ffe006c0 Manual compaction at level-0 from '!items!13IYF6BPUTivFZzB' @ 72057594037927935 : 1 .. '!items!oSutlbe9wyBZccmf' @ 0 : 0; will stop at (end)
2025/05/01-23:23:34.989243 7f11177fe6c0 Recovering log #203
2025/05/01-23:23:34.999290 7f11177fe6c0 Delete type=3 #201
2025/05/01-23:23:34.999338 7f11177fe6c0 Delete type=0 #203
2025/05/01-23:27:45.505528 7f11153ff6c0 Level-0 table #208: started
2025/05/01-23:27:45.505551 7f11153ff6c0 Level-0 table #208: 0 bytes OK
2025/05/01-23:27:45.512071 7f11153ff6c0 Delete type=0 #206
2025/05/01-23:27:45.518845 7f11153ff6c0 Manual compaction at level-0 from '!items!13IYF6BPUTivFZzB' @ 72057594037927935 : 1 .. '!items!oSutlbe9wyBZccmf' @ 0 : 0; will stop at (end)

View File

@ -1,14 +1,7 @@
2024/04/26-18:42:26.305585 7f89056006c0 Recovering log #152
2024/04/26-18:42:26.316048 7f89056006c0 Delete type=3 #150
2024/04/26-18:42:26.316142 7f89056006c0 Delete type=0 #152
2024/04/26-19:22:04.400858 7f88ffe006c0 Level-0 table #157: started
2024/04/26-19:22:04.404082 7f88ffe006c0 Level-0 table #157: 6648 bytes OK
2024/04/26-19:22:04.410232 7f88ffe006c0 Delete type=0 #155
2024/04/26-19:22:04.438765 7f88ffe006c0 Manual compaction at level-0 from '!items!13IYF6BPUTivFZzB' @ 72057594037927935 : 1 .. '!items!oSutlbe9wyBZccmf' @ 0 : 0; will stop at '!items!oSutlbe9wyBZccmf' @ 45 : 1
2024/04/26-19:22:04.438781 7f88ffe006c0 Compacting 1@0 + 1@1 files
2024/04/26-19:22:04.442180 7f88ffe006c0 Generated table #158@0: 15 keys, 6648 bytes
2024/04/26-19:22:04.442217 7f88ffe006c0 Compacted 1@0 + 1@1 files => 6648 bytes
2024/04/26-19:22:04.448645 7f88ffe006c0 compacted to: files[ 0 1 0 0 0 0 0 ]
2024/04/26-19:22:04.448777 7f88ffe006c0 Delete type=2 #9
2024/04/26-19:22:04.448921 7f88ffe006c0 Delete type=2 #157
2024/04/26-19:22:04.449050 7f88ffe006c0 Manual compaction at level-0 from '!items!oSutlbe9wyBZccmf' @ 45 : 1 .. '!items!oSutlbe9wyBZccmf' @ 0 : 0; will stop at (end)
2025/05/01-23:18:27.099266 7f1115ffb6c0 Recovering log #199
2025/05/01-23:18:27.109501 7f1115ffb6c0 Delete type=3 #197
2025/05/01-23:18:27.109566 7f1115ffb6c0 Delete type=0 #199
2025/05/01-23:23:12.745080 7f11153ff6c0 Level-0 table #204: started
2025/05/01-23:23:12.745126 7f11153ff6c0 Level-0 table #204: 0 bytes OK
2025/05/01-23:23:12.751818 7f11153ff6c0 Delete type=0 #202
2025/05/01-23:23:12.774663 7f11153ff6c0 Manual compaction at level-0 from '!items!13IYF6BPUTivFZzB' @ 72057594037927935 : 1 .. '!items!oSutlbe9wyBZccmf' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
packs/scenes/000090.ldb Normal file

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000043
MANIFEST-000091

View File

@ -1,8 +1,8 @@
2024/04/26-19:22:08.735377 7f89074006c0 Recovering log #40
2024/04/26-19:22:08.745776 7f89074006c0 Delete type=3 #38
2024/04/26-19:22:08.745887 7f89074006c0 Delete type=0 #40
2024/04/26-19:25:18.595904 7f88ffe006c0 Level-0 table #46: started
2024/04/26-19:25:18.595980 7f88ffe006c0 Level-0 table #46: 0 bytes OK
2024/04/26-19:25:18.630930 7f88ffe006c0 Delete type=0 #44
2024/04/26-19:25:18.747411 7f88ffe006c0 Manual compaction at level-0 from '!scenes!YYBr138LR7ntGFdo' @ 72057594037927935 : 1 .. '!scenes!wJJTdzEVyJpkUXaM' @ 0 : 0; will stop at (end)
2024/04/26-19:25:18.747487 7f88ffe006c0 Manual compaction at level-1 from '!scenes!YYBr138LR7ntGFdo' @ 72057594037927935 : 1 .. '!scenes!wJJTdzEVyJpkUXaM' @ 0 : 0; will stop at (end)
2025/05/01-23:23:34.977246 7f1116ffd6c0 Recovering log #88
2025/05/01-23:23:34.986582 7f1116ffd6c0 Delete type=3 #86
2025/05/01-23:23:34.986642 7f1116ffd6c0 Delete type=0 #88
2025/05/01-23:27:45.512228 7f11153ff6c0 Level-0 table #94: started
2025/05/01-23:27:45.512262 7f11153ff6c0 Level-0 table #94: 0 bytes OK
2025/05/01-23:27:45.518665 7f11153ff6c0 Delete type=0 #92
2025/05/01-23:27:45.518856 7f11153ff6c0 Manual compaction at level-0 from '!scenes!DDibQQLAvyIq9y09' @ 72057594037927935 : 1 .. '!scenes!zvY1RwBhTfwdZIBa' @ 0 : 0; will stop at (end)
2025/05/01-23:27:45.518892 7f11153ff6c0 Manual compaction at level-1 from '!scenes!DDibQQLAvyIq9y09' @ 72057594037927935 : 1 .. '!scenes!zvY1RwBhTfwdZIBa' @ 0 : 0; will stop at (end)

View File

@ -1,15 +1,15 @@
2024/04/26-18:42:26.291319 7f8906a006c0 Recovering log #36
2024/04/26-18:42:26.301937 7f8906a006c0 Delete type=3 #34
2024/04/26-18:42:26.302002 7f8906a006c0 Delete type=0 #36
2024/04/26-19:22:04.316977 7f88ffe006c0 Level-0 table #41: started
2024/04/26-19:22:04.320512 7f88ffe006c0 Level-0 table #41: 1610 bytes OK
2024/04/26-19:22:04.326671 7f88ffe006c0 Delete type=0 #39
2024/04/26-19:22:04.358352 7f88ffe006c0 Manual compaction at level-0 from '!scenes!YYBr138LR7ntGFdo' @ 72057594037927935 : 1 .. '!scenes!wJJTdzEVyJpkUXaM' @ 0 : 0; will stop at (end)
2024/04/26-19:22:04.389705 7f88ffe006c0 Manual compaction at level-1 from '!scenes!YYBr138LR7ntGFdo' @ 72057594037927935 : 1 .. '!scenes!wJJTdzEVyJpkUXaM' @ 0 : 0; will stop at '!scenes!wJJTdzEVyJpkUXaM' @ 4 : 1
2024/04/26-19:22:04.389720 7f88ffe006c0 Compacting 1@1 + 1@2 files
2024/04/26-19:22:04.392996 7f88ffe006c0 Generated table #42@1: 2 keys, 1610 bytes
2024/04/26-19:22:04.393035 7f88ffe006c0 Compacted 1@1 + 1@2 files => 1610 bytes
2024/04/26-19:22:04.400428 7f88ffe006c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2024/04/26-19:22:04.400531 7f88ffe006c0 Delete type=2 #5
2024/04/26-19:22:04.400646 7f88ffe006c0 Delete type=2 #41
2024/04/26-19:22:04.400749 7f88ffe006c0 Manual compaction at level-1 from '!scenes!wJJTdzEVyJpkUXaM' @ 4 : 1 .. '!scenes!wJJTdzEVyJpkUXaM' @ 0 : 0; will stop at (end)
2025/05/01-23:18:27.084819 7f1116ffd6c0 Recovering log #82
2025/05/01-23:18:27.095491 7f1116ffd6c0 Delete type=3 #80
2025/05/01-23:18:27.095539 7f1116ffd6c0 Delete type=0 #82
2025/05/01-23:23:12.735355 7f11153ff6c0 Level-0 table #89: started
2025/05/01-23:23:12.738432 7f11153ff6c0 Level-0 table #89: 1551 bytes OK
2025/05/01-23:23:12.744606 7f11153ff6c0 Delete type=0 #87
2025/05/01-23:23:12.744906 7f11153ff6c0 Manual compaction at level-0 from '!scenes!DDibQQLAvyIq9y09' @ 72057594037927935 : 1 .. '!scenes!zvY1RwBhTfwdZIBa' @ 0 : 0; will stop at (end)
2025/05/01-23:23:12.751899 7f11153ff6c0 Manual compaction at level-1 from '!scenes!DDibQQLAvyIq9y09' @ 72057594037927935 : 1 .. '!scenes!zvY1RwBhTfwdZIBa' @ 0 : 0; will stop at '!scenes!zvY1RwBhTfwdZIBa' @ 18 : 1
2025/05/01-23:23:12.751905 7f11153ff6c0 Compacting 1@1 + 1@2 files
2025/05/01-23:23:12.755259 7f11153ff6c0 Generated table #90@1: 2 keys, 1586 bytes
2025/05/01-23:23:12.755289 7f11153ff6c0 Compacted 1@1 + 1@2 files => 1586 bytes
2025/05/01-23:23:12.761436 7f11153ff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2025/05/01-23:23:12.761603 7f11153ff6c0 Delete type=2 #85
2025/05/01-23:23:12.761813 7f11153ff6c0 Delete type=2 #89
2025/05/01-23:23:12.774673 7f11153ff6c0 Manual compaction at level-1 from '!scenes!zvY1RwBhTfwdZIBa' @ 18 : 1 .. '!scenes!zvY1RwBhTfwdZIBa' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000159
MANIFEST-000205

View File

@ -1,7 +1,7 @@
2024/04/26-19:22:08.694940 7f89056006c0 Recovering log #156
2024/04/26-19:22:08.705096 7f89056006c0 Delete type=3 #154
2024/04/26-19:22:08.705158 7f89056006c0 Delete type=0 #156
2024/04/26-19:25:18.631092 7f88ffe006c0 Level-0 table #162: started
2024/04/26-19:25:18.631157 7f88ffe006c0 Level-0 table #162: 0 bytes OK
2024/04/26-19:25:18.673806 7f88ffe006c0 Delete type=0 #160
2024/04/26-19:25:18.747426 7f88ffe006c0 Manual compaction at level-0 from '!folders!00Hn2nNarlL7b0DR' @ 72057594037927935 : 1 .. '!items!yozTUjNuc2rEGjFK' @ 0 : 0; will stop at (end)
2025/05/01-23:23:34.938221 7f1116ffd6c0 Recovering log #203
2025/05/01-23:23:34.947805 7f1116ffd6c0 Delete type=3 #201
2025/05/01-23:23:34.947853 7f1116ffd6c0 Delete type=0 #203
2025/05/01-23:27:45.491261 7f11153ff6c0 Level-0 table #208: started
2025/05/01-23:27:45.491305 7f11153ff6c0 Level-0 table #208: 0 bytes OK
2025/05/01-23:27:45.498558 7f11153ff6c0 Delete type=0 #206
2025/05/01-23:27:45.518813 7f11153ff6c0 Manual compaction at level-0 from '!folders!00Hn2nNarlL7b0DR' @ 72057594037927935 : 1 .. '!items!yozTUjNuc2rEGjFK' @ 0 : 0; will stop at (end)

View File

@ -1,14 +1,7 @@
2024/04/26-18:42:26.237456 7f89074006c0 Recovering log #152
2024/04/26-18:42:26.248857 7f89074006c0 Delete type=3 #150
2024/04/26-18:42:26.249007 7f89074006c0 Delete type=0 #152
2024/04/26-19:22:04.337456 7f88ffe006c0 Level-0 table #157: started
2024/04/26-19:22:04.340711 7f88ffe006c0 Level-0 table #157: 14514 bytes OK
2024/04/26-19:22:04.346950 7f88ffe006c0 Delete type=0 #155
2024/04/26-19:22:04.369097 7f88ffe006c0 Manual compaction at level-0 from '!folders!00Hn2nNarlL7b0DR' @ 72057594037927935 : 1 .. '!items!yozTUjNuc2rEGjFK' @ 0 : 0; will stop at '!items!yozTUjNuc2rEGjFK' @ 208 : 1
2024/04/26-19:22:04.369120 7f88ffe006c0 Compacting 1@0 + 1@1 files
2024/04/26-19:22:04.373318 7f88ffe006c0 Generated table #158@0: 113 keys, 16306 bytes
2024/04/26-19:22:04.373343 7f88ffe006c0 Compacted 1@0 + 1@1 files => 16306 bytes
2024/04/26-19:22:04.379990 7f88ffe006c0 compacted to: files[ 0 1 0 0 0 0 0 ]
2024/04/26-19:22:04.380097 7f88ffe006c0 Delete type=2 #9
2024/04/26-19:22:04.380204 7f88ffe006c0 Delete type=2 #157
2024/04/26-19:22:04.400725 7f88ffe006c0 Manual compaction at level-0 from '!items!yozTUjNuc2rEGjFK' @ 208 : 1 .. '!items!yozTUjNuc2rEGjFK' @ 0 : 0; will stop at (end)
2025/05/01-23:18:27.043700 7f11167fc6c0 Recovering log #199
2025/05/01-23:18:27.054373 7f11167fc6c0 Delete type=3 #197
2025/05/01-23:18:27.054431 7f11167fc6c0 Delete type=0 #199
2025/05/01-23:23:12.728954 7f11153ff6c0 Level-0 table #204: started
2025/05/01-23:23:12.728976 7f11153ff6c0 Level-0 table #204: 0 bytes OK
2025/05/01-23:23:12.735241 7f11153ff6c0 Delete type=0 #202
2025/05/01-23:23:12.744865 7f11153ff6c0 Manual compaction at level-0 from '!folders!00Hn2nNarlL7b0DR' @ 72057594037927935 : 1 .. '!items!yozTUjNuc2rEGjFK' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
packs/traits/000192.ldb Normal file

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000159
MANIFEST-000205

View File

@ -1,7 +1,7 @@
2024/04/26-19:22:08.721470 7f8906a006c0 Recovering log #156
2024/04/26-19:22:08.732531 7f8906a006c0 Delete type=3 #154
2024/04/26-19:22:08.732624 7f8906a006c0 Delete type=0 #156
2024/04/26-19:25:18.716069 7f88ffe006c0 Level-0 table #162: started
2024/04/26-19:25:18.716099 7f88ffe006c0 Level-0 table #162: 0 bytes OK
2024/04/26-19:25:18.747273 7f88ffe006c0 Delete type=0 #160
2024/04/26-19:25:18.747446 7f88ffe006c0 Manual compaction at level-0 from '!folders!DiwHbtGAkTYxtshX' @ 72057594037927935 : 1 .. '!items!zgNI2haxhBxBDBdl' @ 0 : 0; will stop at (end)
2025/05/01-23:23:34.963229 7f1115ffb6c0 Recovering log #203
2025/05/01-23:23:34.973922 7f1115ffb6c0 Delete type=3 #201
2025/05/01-23:23:34.974025 7f1115ffb6c0 Delete type=0 #203
2025/05/01-23:27:45.518950 7f11153ff6c0 Level-0 table #208: started
2025/05/01-23:27:45.518982 7f11153ff6c0 Level-0 table #208: 0 bytes OK
2025/05/01-23:27:45.525989 7f11153ff6c0 Delete type=0 #206
2025/05/01-23:27:45.546586 7f11153ff6c0 Manual compaction at level-0 from '!folders!DiwHbtGAkTYxtshX' @ 72057594037927935 : 1 .. '!items!zgNI2haxhBxBDBdl' @ 0 : 0; will stop at (end)

View File

@ -1,14 +1,7 @@
2024/04/26-18:42:26.268836 7f89056006c0 Recovering log #152
2024/04/26-18:42:26.284952 7f89056006c0 Delete type=3 #150
2024/04/26-18:42:26.285029 7f89056006c0 Delete type=0 #152
2024/04/26-19:22:04.347189 7f88ffe006c0 Level-0 table #157: started
2024/04/26-19:22:04.350819 7f88ffe006c0 Level-0 table #157: 3577 bytes OK
2024/04/26-19:22:04.358154 7f88ffe006c0 Delete type=0 #155
2024/04/26-19:22:04.380268 7f88ffe006c0 Manual compaction at level-0 from '!folders!DiwHbtGAkTYxtshX' @ 72057594037927935 : 1 .. '!items!zgNI2haxhBxBDBdl' @ 0 : 0; will stop at '!items!zgNI2haxhBxBDBdl' @ 98 : 1
2024/04/26-19:22:04.380277 7f88ffe006c0 Compacting 1@0 + 1@1 files
2024/04/26-19:22:04.383386 7f88ffe006c0 Generated table #158@0: 25 keys, 4133 bytes
2024/04/26-19:22:04.383409 7f88ffe006c0 Compacted 1@0 + 1@1 files => 4133 bytes
2024/04/26-19:22:04.389454 7f88ffe006c0 compacted to: files[ 0 1 0 0 0 0 0 ]
2024/04/26-19:22:04.389551 7f88ffe006c0 Delete type=2 #9
2024/04/26-19:22:04.389636 7f88ffe006c0 Delete type=2 #157
2024/04/26-19:22:04.400736 7f88ffe006c0 Manual compaction at level-0 from '!items!zgNI2haxhBxBDBdl' @ 98 : 1 .. '!items!zgNI2haxhBxBDBdl' @ 0 : 0; will stop at (end)
2025/05/01-23:18:27.070994 7f11167fc6c0 Recovering log #199
2025/05/01-23:18:27.081264 7f11167fc6c0 Delete type=3 #197
2025/05/01-23:18:27.081417 7f11167fc6c0 Delete type=0 #199
2025/05/01-23:23:12.715522 7f11153ff6c0 Level-0 table #204: started
2025/05/01-23:23:12.715566 7f11153ff6c0 Level-0 table #204: 0 bytes OK
2025/05/01-23:23:12.721964 7f11153ff6c0 Delete type=0 #202
2025/05/01-23:23:12.744818 7f11153ff6c0 Manual compaction at level-0 from '!folders!DiwHbtGAkTYxtshX' @ 72057594037927935 : 1 .. '!items!zgNI2haxhBxBDBdl' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

View File

@ -3,7 +3,7 @@
font-family: "MailartRubberstamp";
src: url('../fonts/MailartRubberstamp-Regular.woff') format("woff");
}
:root {
/* =================== 1. ACTOR SHEET FONT STYLES =========== */
--window-header-title-font-size: 1.3rem;
@ -27,7 +27,7 @@
--actor-label-font-weight: 700;
--actor-label-color: rgba(70,67,49,0.76863);
/* =================== 2. DEBUGGING HIGHLIGHTERS ============ */
/* =================== 2. DEBUGGING HIGHLIGHTERS ============ */
--debug-background-color-red: rgba(255,0,0,0.32941);
--debug-background-color-blue: rgba(29,0,255,0.32941);
--debug-background-color-green: rgba(84,255,0,0.32941);
@ -454,9 +454,11 @@ section.sheet-body{padding: 0.25rem 0.5rem;}
/* background: rgb(245,245,240) url("../images/ui/fond4.webp") repeat left top;*/
nav.sheet-tabs a,
nav.sheet-tabs .item {
position: relative;
padding: 0 0.25rem;
color: beige;
}
nav.sheet-tabs .item:after {
@ -697,7 +699,7 @@ ul, li {
/* ======================================== */
.tokenhudext {
display: flex;
display: flex;
flex: 0 !important;
font-weight: 600;
}
@ -755,7 +757,7 @@ ul, li {
.skill-label {
font-size: 0.7rem;
}
.skill-good-checkbox {
.skill-good-checkbox {
max-height: 10px;
max-width: 10px;
}
@ -790,7 +792,7 @@ ul, li {
.sidebar-tab .directory-list .entity {
border-top: 1px dashed rgba(0,0,0,0.25);
border-bottom: 0 none;
padding: 0.25rem 0;
padding: 0.25rem 0;
}
.sidebar-tab .directory-list .entity:hover {
@ -804,10 +806,10 @@ ul, li {
text-align: center;
vertical-align: middle;
display: flex;
align-items: center;
align-items: center;
}
.chat-message .message-header .flavor-text, .chat-message .message-header .whisper-to {
.chat-message .message-header .flavor-text, .chat-message .message-header .whisper-to {
font-size: 0.9rem;
}
.chat-result-text,
@ -978,7 +980,7 @@ ul, li {
border-radius: 0px;
}
#hotbar .bar-controls {
#hotbar .bar-controls {
background: rgba(30, 25, 20, 1);
border: 1px solid rgba(72, 46, 28, 1);
}
@ -1042,7 +1044,7 @@ ul, li {
top: 1px;
position: absolute;
z-index: 1;
/* Fade in tooltip */
visibility: hidden;
opacity: 0;
@ -1148,7 +1150,7 @@ ul, li {
height: 60px;
}
.dice-cell {
.dice-cell {
padding-left: 12px;
padding-right: 12px;
width: 60px;
@ -1194,8 +1196,8 @@ ul, li {
display: flex;
align-items: center;
justify-content: center;
margin-left: auto;
margin-right: auto;
margin-left: auto;
margin-right: auto;
text-align: center;
}
@ -1312,7 +1314,7 @@ ul, li {
flex-wrap: nowrap;
}
.item-filler {
flex-grow: 6;
flex-grow: 6;
flex-shrink: 7;
}
.item-controls-fixed {
@ -1327,7 +1329,7 @@ ul, li {
font-weight: bold;
}
.flexrow-no-expand {
flex-grow: 0;
flex-grow: 0;
}
.flexrow-start {
justify-content: flex-start;

View File

@ -3,8 +3,10 @@
"esmodules": [
"modules/ecryme-main.js"
],
"gridDistance": 1,
"gridUnits": "m",
"grid": {
"distance": 2,
"units": "m"
},
"languages": [
{
"lang": "fr",
@ -102,8 +104,8 @@
"license": "LICENSE.txt",
"manifest": "https://www.uberwald.me/gitea/public/fvtt-ecryme/raw/branch/master/system.json",
"compatibility": {
"minimum": "11",
"verified": "12"
"minimum": "13",
"verified": "13"
},
"id": "fvtt-ecryme",
"primaryTokenAttribute": "secondary.health",
@ -123,7 +125,7 @@
},
"title": "Ecryme, le Jeu de Rôles",
"url": "https://www.uberwald.me/gitea/public/fvtt-ecryme",
"version": "12.0.0",
"download": "https://www.uberwald.me/gitea/public/fvtt-ecryme/archive/fvtt-ecryme-v12.0.0.zip",
"version": "13.0.0",
"download": "https://www.uberwald.me/gitea/public/fvtt-ecryme/archive/fvtt-ecryme-v13.0.0.zip",
"background": "systems/fvtt-ecryme/images/assets/ecryme_extract_panel_01.webp"
}

View File

@ -31,26 +31,31 @@
"pnjvalue": 0,
"skilllist": {
"athletics": {
"key": "athletics",
"name": "ECRY.ui.athletics",
"max": 0,
"value": 0
},
"driving": {
"key": "driving",
"name": "ECRY.ui.driving",
"max": 0,
"value": 0
},
"fencing": {
"key": "fencing",
"name": "ECRY.ui.fencing",
"max": 0,
"value": 0
},
"brawling": {
"key": "brawling",
"name": "ECRY.ui.brawling",
"max": 0,
"value": 0
},
"shooting": {
"key": "shooting",
"name": "ECRY.ui.shooting",
"max": 0,
"value": 0
@ -62,26 +67,31 @@
"pnjvalue": 0,
"skilllist": {
"anthropomecanology": {
"key": "anthropomecanology",
"name": "ECRY.ui.anthropomecanology",
"value": 0,
"max": 10
},
"ecrymology": {
"key": "ecrymology",
"name": "ECRY.ui.ecrymology",
"value": 0,
"max": 10
},
"traumatology": {
"key": "traumatology",
"name": "ECRY.ui.traumatology",
"value": 0,
"max": 10
},
"traversology": {
"key": "traversology",
"name": "ECRY.ui.traversology",
"value": 0,
"max": 10
},
"urbatechnology": {
"key": "urbatechnology",
"name": "ECRY.ui.urbatechnology",
"value": 0,
"max": 10
@ -93,26 +103,31 @@
"pnjvalue": 0,
"skilllist": {
"quibbling": {
"key": "quibbling",
"name": "ECRY.ui.quibbling",
"value": 0,
"max": 10
},
"creativity": {
"key": "creativity",
"name": "ECRY.ui.creativity",
"value": 0,
"max": 10
},
"loquacity": {
"key": "loquacity",
"name": "ECRY.ui.loquacity",
"value": 0,
"max": 10
},
"guile": {
"key": "guile",
"name": "ECRY.ui.guile",
"value": 0,
"max": 10
},
"performance": {
"key": "performance",
"name": "ECRY.ui.performance",
"value": 0,
"max": 10

View File

@ -114,8 +114,8 @@
<div class="flexrow">
<span class="roll-dialog-label">Bonus/Malus : </span>
<select id="bonusMalusPerso" name="bonusMalusPerso">
{{selectOptions config.bonusMalusPersoOptions selected=bonusMalusPerso valueAttr="value" labelAttr="label"}}
<select id="bonusMalusPerso" name="bonusMalusPerso" type="text" data-dtype="String">
{{selectOptions config.bonusMalusPersoOptions selected=bonusMalusPerso labelAttr="label"}}
</select>
</div>

View File

@ -71,8 +71,8 @@
<div class="flexrow">
<span class="roll-dialog-label">Bonus/Malus : </span>
<select id="bonusMalusPerso" name="bonusMalusPerso">
{{selectOptions config.bonusMalusPersoOptions selected=bonusMalusPerso valueAttr="value" labelAttr="label"}}
<select type="text" id="bonusMalusPerso" name="bonusMalusPerso" data-dtype="String">
{{selectOptions config.bonusMalusPersoOptions selected=bonusMalusPerso labelAttr="label"}}
</select>
</div>

View File

@ -12,8 +12,8 @@
<div class="flexrow">
<span class="roll-dialog-label">Difficulté : </span>
<select class="" type="text" id="roll-difficulty" data-dtype="Number">
{{selectOptions config.difficulty selected=difficulty localize=true valueAttr="value" labelAttr="difficulty"}}
<select class="" type="text" id="roll-difficulty" data-dtype="String">
{{selectOptions config.difficulty selected=difficulty localize=true labelAttr="difficulty"}}
</select>
</div>

View File

@ -22,7 +22,7 @@
<li class="flexrow">
<label class="item-name-label-long">{{localize "ECRY.ui.skill"}}</label>
<select class="item-field-label-medium" type="text" name="system.skillkey" value="{{system.skillkey}}" data-dtype="String">
{{selectOptions config.skills selected=system.skillkey localize=true valueAttr="key" textAttr="name"}}
{{selectOptions config.skills selected=system.skillkey localize=true valueAttr="key" labelAttr="name"}}
</select>
</li>

View File

@ -28,8 +28,8 @@
<li class="flexrow">
<label class="item-name-label-long">{{localize "ECRY.ui.niveauTrait"}}</label>
<select class="item-field-label-medium" type="text" name="system.level" value="{{system.level}}" data-dtype="Number">
{{selectOptions config.traitLevel selected=system.level valueAttr="value" textAttr="text"}}
<select class="item-field-label-medium" type="text" name="system.level" value="{{system.level}}" data-dtype="String">
{{selectOptions config.traitLevel selected=system.level labelAttr="text"}}
</li>
</ul>
</div>

View File

@ -8,7 +8,7 @@
<label class="item-field-label-long">{{localize "ECRY.ui.cost"}}</label>
<input type="text" class="item-field-label-short" name="system.cost" value="{{system.cost}}" data-dtype="Number" />
<select class="item-field-label-medium" type="text" name="system.costunit" value="{{system.costunit}}" data-dtype="String">
{{selectOptions config.costUnits selected=system.costunit localize=true}}
{{selectOptions config.costUnits selected=system.costunit localize=true labelAttr="name"}}
</select>
</li>