fixes v12

This commit is contained in:
rwanoux
2024-06-24 08:41:59 +02:00
parent 9d74f5fe14
commit f4a56aa6b0
61 changed files with 485 additions and 422 deletions
+1 -1
View File
@@ -23,7 +23,7 @@
### les jets de dés ### les jets de dés
- [ ] redesign de rollDialog => <details>+<sumary>=> rendre moins dense - [ ] redesign de rollDialog => `<details>+<sumary>`=> rendre moins dense
- [ ] envoyer les spécialités utilisables au rollDialog - [ ] envoyer les spécialités utilisables au rollDialog
- [ ] envoyer les items utilisables au rollDialog - [ ] envoyer les items utilisables au rollDialog
- [ ] gérer le fait de choisir quel totem garder : recalcul des réussites - [ ] gérer le fait de choisir quel totem garder : recalcul des réussites
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -27,7 +27,7 @@ exports.watch = function () {
{ {
server: false, server: false,
proxy: { proxy: {
target: "https://localhost:443/", target: "https://localhost:30000/",
ws: true, ws: true,
} }
+1 -1
View File
@@ -9,7 +9,7 @@ export class VermineActorSheet extends ActorSheet {
/** @override */ /** @override */
static get defaultOptions() { static get defaultOptions() {
return mergeObject(super.defaultOptions, { return foundry.utils.mergeObject(super.defaultOptions, {
/*classes: ["vermine2047", "sheet", "actor"], /*classes: ["vermine2047", "sheet", "actor"],
template: "systems/vermine2047/templates/actor/actor-sheet.hbs", template: "systems/vermine2047/templates/actor/actor-sheet.hbs",
height: 800, height: 800,
+1 -1
View File
@@ -11,7 +11,7 @@ export class VermineCharacterSheet extends VermineActorSheet {
/** @override */ /** @override */
static get defaultOptions() { static get defaultOptions() {
return mergeObject(super.defaultOptions, { return foundry.utils.mergeObject(super.defaultOptions, {
classes: ["vermine2047", "sheet", "character", "actor"], classes: ["vermine2047", "sheet", "character", "actor"],
template: "systems/vermine2047/templates/actor/actor-sheet.hbs", template: "systems/vermine2047/templates/actor/actor-sheet.hbs",
width: "fit-content", width: "fit-content",
+1 -1
View File
@@ -9,7 +9,7 @@ export class VermineCreatureSheet extends VermineActorSheet {
/** @override */ /** @override */
static get defaultOptions() { static get defaultOptions() {
return mergeObject(super.defaultOptions, { return foundry.utils.mergeObject(super.defaultOptions, {
classes: ["vermine2047", "sheet", "actor", "creature"], classes: ["vermine2047", "sheet", "actor", "creature"],
template: "systems/vermine2047/templates/actor/actor-sheet.hbs", template: "systems/vermine2047/templates/actor/actor-sheet.hbs",
width: 300, width: 300,
+1 -1
View File
@@ -6,7 +6,7 @@ export class VermineItemSheet extends ItemSheet {
/** @override */ /** @override */
static get defaultOptions() { static get defaultOptions() {
return mergeObject(super.defaultOptions, { return foundry.utils.mergeObject(super.defaultOptions, {
classes: ["vermine2047", "sheet", "item"], classes: ["vermine2047", "sheet", "item"],
width: "fit-content", width: "fit-content",
height: "auto", height: "auto",
+3 -10
View File
@@ -10,7 +10,7 @@ export class VermineGroupSheet extends VermineActorSheet {
/** @override */ /** @override */
static get defaultOptions() { static get defaultOptions() {
return mergeObject(super.defaultOptions, { return foundry.utils.mergeObject(super.defaultOptions, {
classes: ["vermine2047", "sheet", "actor", "group"], classes: ["vermine2047", "sheet", "actor", "group"],
template: "systems/vermine2047/templates/actor/actor-sheet.hbs", template: "systems/vermine2047/templates/actor/actor-sheet.hbs",
width: 500, width: 500,
@@ -101,16 +101,9 @@ export class VermineGroupSheet extends VermineActorSheet {
context.totem_abilities = this.actor.itemTypes['ability'].filter(i => i.system.type === 'totem'); context.totem_abilities = this.actor.itemTypes['ability'].filter(i => i.system.type === 'totem');
context.abilities = this.actor.itemTypes['ability'].filter(i => i.system.type !== 'totem'); context.abilities = this.actor.itemTypes['ability'].filter(i => i.system.type !== 'totem');
context.members = []; context.members = this.actor.system.members;
context.encounters = []; context.encounters = this.actor.system.encounters;
for (let memberId of context.actor.system.members) {
context.members.push(game.actors.get(memberId));
}
for (let encounterId of context.actor.system.encounters) {
context.encounters.push(game.actors.get(encounterId));
}
} }
+2 -2
View File
@@ -1,4 +1,4 @@
import {onManageActiveEffect, prepareActiveEffectCategories} from "../system/effects.mjs"; import { onManageActiveEffect, prepareActiveEffectCategories } from "../system/effects.mjs";
import { VermineActorSheet } from "./actor-sheet.mjs"; import { VermineActorSheet } from "./actor-sheet.mjs";
/** /**
@@ -9,7 +9,7 @@ export class VermineNpcSheet extends VermineActorSheet {
/** @override */ /** @override */
static get defaultOptions() { static get defaultOptions() {
return mergeObject(super.defaultOptions, { return foundry.utils.mergeObject(super.defaultOptions, {
classes: ["vermine2047", "sheet", "actor", "npc"], classes: ["vermine2047", "sheet", "actor", "npc"],
template: "systems/vermine2047/templates/actor/actor-sheet.hbs", template: "systems/vermine2047/templates/actor/actor-sheet.hbs",
width: 400, width: 400,
+30 -36
View File
@@ -9,14 +9,14 @@ export class TotemPicker extends Application {
/* -------------------------------------------- */ /* -------------------------------------------- */
static get defaultOptions() { static get defaultOptions() {
return mergeObject(super.defaultOptions, { return foundry.utils.mergeObject(super.defaultOptions, {
id:"TOTEM_PICKER", id: "TOTEM_PICKER",
title:game.i18n.localize("VERMINE.totem_picker"), title: game.i18n.localize("VERMINE.totem_picker"),
template:'systems/vermine2047/templates/applications/choose-totem.hbs', template: 'systems/vermine2047/templates/applications/choose-totem.hbs',
popOut:true, popOut: true,
resizable:true, resizable: true,
height:"800", height: "800",
width:"800" width: "800"
}); });
} }
@@ -24,12 +24,6 @@ export class TotemPicker extends Application {
// Send data to the template // Send data to the template
return { return {
config: CONFIG.VERMINE, config: CONFIG.VERMINE,
/*anarchy: this.gmAnarchy.getAnarchy(),
convergences: this.gmConvergence.getConvergences(),
difficultyPools: this.gmDifficulty.getDifficultyData(),
options: {
classes: [game.system.anarchy.styles.selectCssClass()]
}*/
} }
} }
@@ -37,7 +31,7 @@ export class TotemPicker extends Application {
super.activateListeners(html); super.activateListeners(html);
html.find('.totem').click(event => { html.find('.totem').click(event => {
const totem = $(event.target).parent('a').data('totem'); const totem = $(event.target).parent('a').data('totem');
if (totem != null){ if (totem != null) {
this.actor.update({ 'system.identity.totem': totem }); this.actor.update({ 'system.identity.totem': totem });
} }
this.close(); this.close();
@@ -61,14 +55,14 @@ export class ActorPicker extends Application {
/* -------------------------------------------- */ /* -------------------------------------------- */
static get defaultOptions() { static get defaultOptions() {
return mergeObject(super.defaultOptions, { return foundry.utils.mergeObject(super.defaultOptions, {
id:"ACTOR_PICKER", id: "ACTOR_PICKER",
title:game.i18n.localize("VERMINE.actor_picker"), title: game.i18n.localize("VERMINE.actor_picker"),
template:'systems/vermine2047/templates/applications/choose-actor.hbs', template: 'systems/vermine2047/templates/applications/choose-actor.hbs',
popOut:true, popOut: true,
resizable:true, resizable: true,
height:"350", height: "350",
width:"600" width: "600"
}); });
} }
@@ -78,16 +72,16 @@ export class ActorPicker extends Application {
// Send data to the template // Send data to the template
const npcs = game.actors.filter(a => a.type == "npc"); const npcs = game.actors.filter(a => a.type == "npc");
const characters = game.actors.filter(a => a.type == "character"); const characters = game.actors.filter(a => a.type == "character");
const encounters = game.actors.filter(a => a.type == "npc" || a.type == 'character'); const all = game.actors.filter(a => a.type == "npc" || a.type == 'character');
const type = $(this.linkEl).data('type'); const type = $(this.linkEl).data('type');
let actorsList = []; let actorsList = [];
if (type == 'members'){ if (type == 'members') {
actorsList = characters; actorsList = characters;
} else if (type == 'relations'){ } else if (type == 'relations') {
actorsList = npc; actorsList = npc;//[...npc, ...characters];
} else { } else {
actorsList = encounters; actorsList = all;
} }
return { return {
config: CONFIG.VERMINE, config: CONFIG.VERMINE,
@@ -95,28 +89,28 @@ export class ActorPicker extends Application {
} }
} }
activateListeners(html) { async activateListeners(html) {
super.activateListeners(html); super.activateListeners(html);
html.find('.actor').click(event => { html.find('.actor').click(async (event) => {
const actorId = $(event.target).parent('div').data('id'); const actorId = $(event.target).parent('div').data('actor-id');
const type = $(this.linkEl).data('type'); const type = $(this.linkEl).data('type');
let actorsList = []; let actorsList = [];
if (type == 'members'){ if (type == 'members') {
actorsList = this.actor.system.members; actorsList = this.actor.system.members;
} else if (type == 'encounters'){ } else if (type == 'encounters') {
actorsList = this.actor.system.encounters; actorsList = this.actor.system.encounters;
} }
if (!Array.isArray(actorsList)){ if (!Array.isArray(actorsList)) {
actorsList = []; actorsList = [];
} }
actorsList.push(actorId); actorsList.push(actorId);
if (type == 'members'){ if (type == 'members') {
actorsList = this.actor.system.members; actorsList = this.actor.system.members;
this.actor.update({ 'system.members': actorsList }); this.actor.update({ 'system.members': actorsList });
} else if (type == 'encounters'){ } else if (type == 'encounters') {
this.actor.update({ 'system.encounters': actorsList }); this.actor.update({ 'system.encounters': actorsList });
} }
+1 -1
View File
@@ -5,7 +5,7 @@
export async function initUserDice(dice3d, user) { export async function initUserDice(dice3d, user) {
let baseColor = user.color; let baseColor = user.color.css;
dice3d.addColorset({ dice3d.addColorset({
name: 'regular_' + user.name, name: 'regular_' + user.name,
description: "regular dice for " + user.name, description: "regular dice for " + user.name,
+1 -1
View File
@@ -42,7 +42,7 @@ export const registerHooks = function () {
if (rerollTitle) { if (rerollTitle) {
rerollTitle.addEventListener("click", () => { html[0].querySelector(".reroll").classList.toggle('visible') }) rerollTitle.addEventListener("click", () => { html[0].querySelector(".reroll").classList.toggle('visible') })
} }
if (message.user._id != game.user._id || !game.user.isGM) { if (message.author._id != game.user._id || !game.user.isGM) {
html[0].querySelectorAll("input").forEach(inp => inp.disabled = true); html[0].querySelectorAll("input").forEach(inp => inp.disabled = true);
html[0].querySelectorAll("div.reroll-from-effort").forEach(el => el.style.display = "none") html[0].querySelectorAll("div.reroll-from-effort").forEach(el => el.style.display = "none")
return return
+8 -8
View File
@@ -1,12 +1,12 @@
function compact(array) { function compact(array) {
var index2 = -1, length = array == null ? 0 : array.length, resIndex = 0, result = []; var index2 = -1, length = array == null ? 0 : array.length, resIndex = 0, result = [];
while (++index2 < length) { while (++index2 < length) {
var value2 = array[index2]; var value2 = array[index2];
if (value2) { if (value2) {
result[resIndex++] = value2; result[resIndex++] = value2;
} }
} }
return result; return result;
} }
class CreateActorDialog extends FormApplication { class CreateActorDialog extends FormApplication {
constructor() { constructor() {
@@ -15,7 +15,7 @@ class CreateActorDialog extends FormApplication {
async _updateObject() { async _updateObject() {
} }
static get defaultOptions() { static get defaultOptions() {
return mergeObject(super.defaultOptions, { return foundry.utils.mergeObject(super.defaultOptions, {
title: game.i18n.format("DOCUMENT.Create", { title: game.i18n.format("DOCUMENT.Create", {
type: game.i18n.localize("DOCUMENT.Actor") type: game.i18n.localize("DOCUMENT.Actor")
}), }),
@@ -136,8 +136,8 @@ class WelcomeTour extends VermineTour {
} }
]); ]);
} }
} }
export async function registerTours() { export async function registerTours() {
game.tours.register("vermine2047", "welcome", new WelcomeTour()); game.tours.register("vermine2047", "welcome", new WelcomeTour());
$(document).on("click", "#chat-log #vermine-tour-chat-button", (el) => { $(document).on("click", "#chat-log #vermine-tour-chat-button", (el) => {
const tour = game.tours.get("vermine2047.welcome"); const tour = game.tours.get("vermine2047.welcome");
@@ -154,4 +154,4 @@ class WelcomeTour extends VermineTour {
content: game.i18n.localize("TOURS.ChatMessage") content: game.i18n.localize("TOURS.ChatMessage")
}); });
game.settings.set("vermine2047", "first-run-tips-shown", true); game.settings.set("vermine2047", "first-run-tips-shown", true);
} }
+1 -1
View File
@@ -36,7 +36,7 @@ Hooks.once('init', async function () {
// Add custom constants for configuration. // Add custom constants for configuration.
CONFIG.VERMINE = VERMINE; CONFIG.VERMINE = VERMINE;
CONFIG.VERMINE.model = game.system.model CONFIG.VERMINE.model = game.system.template
/** /**
* Set an initiative formula for the system * Set an initiative formula for the system
* @type {String} * @type {String}
+1
View File
@@ -6,6 +6,7 @@
"scripts": { "scripts": {
"test": "echo \"Error: no test specified\" && exit 1", "test": "echo \"Error: no test specified\" && exit 1",
"launch window Foundry11": "cd C:/Program Files/Foundry Virtual Tabletop_V11/resources/app && node main.js", "launch window Foundry11": "cd C:/Program Files/Foundry Virtual Tabletop_V11/resources/app && node main.js",
"launch Foundry12": "cd C:/Program Files/Foundry Virtual Tabletop_V12/resources/app && node main.js",
"watch": "gulp watch", "watch": "gulp watch",
"buildStyle": "gulp buildStyles" "buildStyle": "gulp buildStyles"
}, },
+1 -1
View File
@@ -1 +1 @@
MANIFEST-000219 MANIFEST-000233
+3 -5
View File
@@ -1,5 +1,3 @@
2024/05/15-08:44:33.750 2d0c Recovering log #220 2024/06/24-07:16:50.211 a308 Recovering log #231
2024/05/15-08:44:33.750 2d0c Recovering log #222 2024/06/24-07:16:50.217 a308 Delete type=0 #231
2024/05/15-08:44:33.755 2d0c Delete type=0 #220 2024/06/24-07:16:50.217 a308 Delete type=3 #229
2024/05/15-08:44:33.755 2d0c Delete type=0 #222
2024/05/15-08:44:33.756 2d0c Delete type=3 #219
+7 -3
View File
@@ -1,3 +1,7 @@
2024/05/13-06:37:40.648 22bc Recovering log #216 2024/05/17-09:03:17.265 6020 Recovering log #227
2024/05/13-06:37:40.650 22bc Delete type=0 #216 2024/05/17-09:03:17.270 6020 Delete type=0 #227
2024/05/13-06:37:40.650 22bc Delete type=3 #215 2024/05/17-09:03:17.270 6020 Delete type=3 #225
2024/05/17-09:03:22.858 1b1c Level-0 table #232: started
2024/05/17-09:03:22.858 1b1c Level-0 table #232: 0 bytes OK
2024/05/17-09:03:22.859 1b1c Delete type=0 #230
2024/05/17-09:03:22.876 1b1c Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)
Binary file not shown.
View File
+1 -1
View File
@@ -1 +1 @@
MANIFEST-000219 MANIFEST-000233
+3 -5
View File
@@ -1,5 +1,3 @@
2024/05/15-08:44:33.925 2d0c Recovering log #220 2024/06/24-07:16:50.399 b264 Recovering log #231
2024/05/15-08:44:33.925 2d0c Recovering log #222 2024/06/24-07:16:50.405 b264 Delete type=0 #231
2024/05/15-08:44:33.932 2d0c Delete type=0 #220 2024/06/24-07:16:50.405 b264 Delete type=3 #229
2024/05/15-08:44:33.932 2d0c Delete type=0 #222
2024/05/15-08:44:33.932 2d0c Delete type=3 #219
+7 -3
View File
@@ -1,3 +1,7 @@
2024/05/13-06:37:40.710 22bc Recovering log #216 2024/05/17-09:03:17.424 6020 Recovering log #227
2024/05/13-06:37:40.714 22bc Delete type=0 #216 2024/05/17-09:03:17.430 6020 Delete type=0 #227
2024/05/13-06:37:40.715 22bc Delete type=3 #215 2024/05/17-09:03:17.430 6020 Delete type=3 #225
2024/05/17-09:03:22.901 1b1c Level-0 table #232: started
2024/05/17-09:03:22.902 1b1c Level-0 table #232: 0 bytes OK
2024/05/17-09:03:22.903 1b1c Delete type=0 #230
2024/05/17-09:03:22.904 1b1c Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)
Binary file not shown.
View File
+1 -1
View File
@@ -1 +1 @@
MANIFEST-000203 MANIFEST-000217
+3 -5
View File
@@ -1,5 +1,3 @@
2024/05/15-08:44:33.802 2d0c Recovering log #204 2024/06/24-07:16:50.274 b264 Recovering log #215
2024/05/15-08:44:33.802 2d0c Recovering log #206 2024/06/24-07:16:50.279 b264 Delete type=0 #215
2024/05/15-08:44:33.808 2d0c Delete type=0 #204 2024/06/24-07:16:50.279 b264 Delete type=3 #213
2024/05/15-08:44:33.808 2d0c Delete type=0 #206
2024/05/15-08:44:33.808 2d0c Delete type=3 #203
+7 -3
View File
@@ -1,3 +1,7 @@
2024/05/13-06:37:40.667 22bc Recovering log #200 2024/05/17-09:03:17.320 6020 Recovering log #211
2024/05/13-06:37:40.671 22bc Delete type=0 #200 2024/05/17-09:03:17.326 6020 Delete type=0 #211
2024/05/13-06:37:40.671 22bc Delete type=3 #199 2024/05/17-09:03:17.326 6020 Delete type=3 #209
2024/05/17-09:03:22.892 1b1c Level-0 table #216: started
2024/05/17-09:03:22.892 1b1c Level-0 table #216: 0 bytes OK
2024/05/17-09:03:22.893 1b1c Delete type=0 #214
2024/05/17-09:03:22.895 1b1c Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)
Binary file not shown.
View File
+1 -1
View File
@@ -1 +1 @@
MANIFEST-000217 MANIFEST-000231
+3 -5
View File
@@ -1,5 +1,3 @@
2024/05/15-08:44:33.906 4440 Recovering log #218 2024/06/24-07:16:50.377 b728 Recovering log #229
2024/05/15-08:44:33.907 4440 Recovering log #220 2024/06/24-07:16:50.382 b728 Delete type=0 #229
2024/05/15-08:44:33.912 4440 Delete type=0 #218 2024/06/24-07:16:50.382 b728 Delete type=3 #227
2024/05/15-08:44:33.912 4440 Delete type=0 #220
2024/05/15-08:44:33.912 4440 Delete type=3 #217
+7 -3
View File
@@ -1,3 +1,7 @@
2024/05/13-06:37:40.698 331c Recovering log #214 2024/05/17-09:03:17.407 3604 Recovering log #225
2024/05/13-06:37:40.703 331c Delete type=0 #214 2024/05/17-09:03:17.412 3604 Delete type=0 #225
2024/05/13-06:37:40.703 331c Delete type=3 #213 2024/05/17-09:03:17.412 3604 Delete type=3 #223
2024/05/17-09:03:22.896 1b1c Level-0 table #230: started
2024/05/17-09:03:22.896 1b1c Level-0 table #230: 0 bytes OK
2024/05/17-09:03:22.898 1b1c Delete type=0 #228
2024/05/17-09:03:22.904 1b1c Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)
Binary file not shown.
View File
+1 -1
View File
@@ -1 +1 @@
MANIFEST-000113 MANIFEST-000127
+3 -5
View File
@@ -1,5 +1,3 @@
2024/05/15-08:44:33.840 4440 Recovering log #114 2024/06/24-07:16:50.305 96dc Recovering log #125
2024/05/15-08:44:33.840 4440 Recovering log #116 2024/06/24-07:16:50.311 96dc Delete type=0 #125
2024/05/15-08:44:33.847 4440 Delete type=0 #114 2024/06/24-07:16:50.311 96dc Delete type=3 #123
2024/05/15-08:44:33.847 4440 Delete type=0 #116
2024/05/15-08:44:33.847 4440 Delete type=3 #113
+8 -3
View File
@@ -1,3 +1,8 @@
2024/05/13-06:37:40.677 331c Recovering log #110 2024/05/17-09:03:17.348 3604 Recovering log #121
2024/05/13-06:37:40.682 331c Delete type=0 #110 2024/05/17-09:03:17.353 3604 Delete type=0 #121
2024/05/13-06:37:40.682 331c Delete type=3 #109 2024/05/17-09:03:17.353 3604 Delete type=3 #119
2024/05/17-09:03:22.893 1b1c Level-0 table #126: started
2024/05/17-09:03:22.893 1b1c Level-0 table #126: 0 bytes OK
2024/05/17-09:03:22.895 1b1c Delete type=0 #124
2024/05/17-09:03:22.895 1b1c Manual compaction at level-0 from '!items!10vhNURxl8FOwfy0' @ 72057594037927935 : 1 .. '!items!vX832Z4LpasxLIIx' @ 0 : 0; will stop at (end)
2024/05/17-09:03:22.895 1b1c Manual compaction at level-1 from '!items!10vhNURxl8FOwfy0' @ 72057594037927935 : 1 .. '!items!vX832Z4LpasxLIIx' @ 0 : 0; will stop at (end)
Binary file not shown.
View File
+1 -1
View File
@@ -1 +1 @@
MANIFEST-000110 MANIFEST-000124
+3 -5
View File
@@ -1,5 +1,3 @@
2024/05/15-08:44:33.882 2d0c Recovering log #111 2024/06/24-07:16:50.355 a308 Recovering log #122
2024/05/15-08:44:33.882 2d0c Recovering log #113 2024/06/24-07:16:50.360 a308 Delete type=0 #122
2024/05/15-08:44:33.888 2d0c Delete type=0 #111 2024/06/24-07:16:50.360 a308 Delete type=3 #120
2024/05/15-08:44:33.888 2d0c Delete type=0 #113
2024/05/15-08:44:33.889 2d0c Delete type=3 #110
+8 -3
View File
@@ -1,3 +1,8 @@
2024/05/13-06:37:40.684 22bc Recovering log #107 2024/05/17-09:03:17.381 6020 Recovering log #118
2024/05/13-06:37:40.693 22bc Delete type=0 #107 2024/05/17-09:03:17.386 6020 Delete type=0 #118
2024/05/13-06:37:40.693 22bc Delete type=3 #106 2024/05/17-09:03:17.387 6020 Delete type=3 #116
2024/05/17-09:03:22.898 1b1c Level-0 table #123: started
2024/05/17-09:03:22.898 1b1c Level-0 table #123: 0 bytes OK
2024/05/17-09:03:22.901 1b1c Delete type=0 #121
2024/05/17-09:03:22.904 1b1c Manual compaction at level-0 from '!tables!UxgGMRs0kTplpTbe' @ 72057594037927935 : 1 .. '!tables.results!dXo0EN9ieo1tSnRY.ymnitiW2yAuk75M3' @ 0 : 0; will stop at (end)
2024/05/17-09:03:22.904 1b1c Manual compaction at level-1 from '!tables!UxgGMRs0kTplpTbe' @ 72057594037927935 : 1 .. '!tables.results!dXo0EN9ieo1tSnRY.ymnitiW2yAuk75M3' @ 0 : 0; will stop at (end)
Binary file not shown.
View File
+1 -1
View File
@@ -1 +1 @@
MANIFEST-000217 MANIFEST-000231
+3 -5
View File
@@ -1,5 +1,3 @@
2024/05/15-08:44:33.775 4440 Recovering log #218 2024/06/24-07:16:50.242 b728 Recovering log #229
2024/05/15-08:44:33.776 4440 Recovering log #220 2024/06/24-07:16:50.248 b728 Delete type=0 #229
2024/05/15-08:44:33.781 4440 Delete type=0 #218 2024/06/24-07:16:50.248 b728 Delete type=3 #227
2024/05/15-08:44:33.782 4440 Delete type=0 #220
2024/05/15-08:44:33.782 4440 Delete type=3 #217
+7 -3
View File
@@ -1,3 +1,7 @@
2024/05/13-06:37:40.650 331c Recovering log #214 2024/05/17-09:03:17.291 3604 Recovering log #225
2024/05/13-06:37:40.662 331c Delete type=0 #214 2024/05/17-09:03:17.297 3604 Delete type=0 #225
2024/05/13-06:37:40.662 331c Delete type=3 #213 2024/05/17-09:03:17.297 3604 Delete type=3 #223
2024/05/17-09:03:22.890 1b1c Level-0 table #230: started
2024/05/17-09:03:22.890 1b1c Level-0 table #230: 0 bytes OK
2024/05/17-09:03:22.891 1b1c Delete type=0 #228
2024/05/17-09:03:22.895 1b1c Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)
Binary file not shown.
+22
View File
@@ -0,0 +1,22 @@
.app .actor.choose {
div.actor {
position: relative;
img {
border-radius: 50%;
box-shadow: 0px 0px 8px black;
}
span.actor-name {
position: absolute;
text-align: center;
background-color: rgba(255, 255, 255, 0.562);
border: 5px;
width: 100%;
padding: 0 1rem;
border-radius: 5px;
box-shadow: 0px 0px 8px black;
}
}
}
+8
View File
@@ -105,6 +105,14 @@ input[type="radio"] {
} }
} }
iframe {
min-height: 500px;
.tabs.moods-headings {
max-width: 1px
}
}
input[type="radio"] { input[type="radio"] {
width: 1rem; width: 1rem;
+7 -6
View File
@@ -4,6 +4,7 @@
@import "item-sheet.scss"; @import "item-sheet.scss";
@import "dialog.scss"; @import "dialog.scss";
@import "special-inputs.scss"; @import "special-inputs.scss";
@import "special-applications.scss";
// overwrites variables // overwrites variables
@@ -18,12 +19,12 @@
--color-text-hyperlink: #5aaf0a; --color-text-hyperlink: #5aaf0a;
--color-text-light-0: #fff; --color-text-light-0: #fff;
--color-text-light-1: #e0f0f0; --color-text-light-1: #e0f0f0;
--color-text-light-2: #c0e0e0; --color-text-light-2: #c9e0c0;
--color-text-light-3: #a0d0d0; --color-text-light-3: #90c4a4;
--color-text-light-4: #80c0c0; --color-text-light-4: #80c08b;
--color-text-light-5: #60b0b0; --color-text-light-5: #60b06b;
--color-text-light-6: #40a0a0; --color-text-light-6: #40a05d;
--color-text-light-7: #208080; --color-text-light-7: #208028;
--color-text-dark-1: #111; --color-text-dark-1: #111;
--color-text-dark-2: #222; --color-text-dark-2: #222;
--color-text-dark-3: #444; --color-text-dark-3: #444;
+1 -1
View File
@@ -6,7 +6,7 @@
"compatibility": { "compatibility": {
"minimum": "11", "minimum": "11",
"verified": "11.308", "verified": "11.308",
"maximum": "11" "maximum": "12"
}, },
"authors": [ "authors": [
{ {
@@ -59,12 +59,9 @@
{{/each}} {{/each}}
</div> </div>
<select name="system.skills.{{skey}}.value" class="skill-select"> <select name="system.skills.{{skey}}.value" class="skill-select">
{{#select skill.value}} {{selectOptions @root.config.SkillLevels selected=value
{{#each @root.config.SkillLevels as |level ind|}} localize=true}}
<option value="{{ind}}" title="{{localize level.label}}">
{{localize level.label}}</option>
{{/each}}
{{/select}}
</select> </select>
<span class="hexa">{{skill.value}}</span> <span class="hexa">{{skill.value}}</span>
<div class="skill-dots flexrow"> <div class="skill-dots flexrow">
@@ -45,8 +45,10 @@
</div> </div>
<div class="item-controls flexrow"> <div class="item-controls flexrow">
{{#if item.system.description}}
<i class="fas fa-circle-question" <i class="fas fa-circle-question"
data-tooltip="{{item.system.description}}"></i> data-tooltip="{{item.system.description}}"></i>
{{/if}}
<a class="item-control item-delete" title="Delete Item"><i <a class="item-control item-delete" title="Delete Item"><i
class="fas fa-trash"></i></a> class="fas fa-trash"></i></a>
</div> </div>
@@ -67,8 +69,10 @@
<a class="item-control item-edit" title="Edit Item">{{item.name}}</a> <a class="item-control item-edit" title="Edit Item">{{item.name}}</a>
</div> </div>
<div class="item-controls flexrow"> <div class="item-controls flexrow">
{{#if item.system.description}}
<i class="fas fa-circle-question" <i class="fas fa-circle-question"
data-tooltip="{{item.system.description}}"></i> data-tooltip="{{item.system.description}}"></i>
{{/if}}
<a class="item-control item-delete" title="Delete Item"><i <a class="item-control item-delete" title="Delete Item"><i
class="fas fa-trash"></i></a> class="fas fa-trash"></i></a>
</div> </div>
@@ -89,8 +93,10 @@
<a class="item-control item-edit" title="Edit Item">{{item.name}}</a> <a class="item-control item-edit" title="Edit Item">{{item.name}}</a>
</div> </div>
<div class="item-controls flexrow"> <div class="item-controls flexrow">
{{#if item.system.description}}
<i class="fas fa-circle-question" <i class="fas fa-circle-question"
data-tooltip="{{item.system.description}}"></i> data-tooltip="{{item.system.description}}"></i>
{{/if}}
<a class="item-control item-delete" title="Delete Item"><i <a class="item-control item-delete" title="Delete Item"><i
class="fas fa-trash"></i></a> class="fas fa-trash"></i></a>
</div> </div>
@@ -111,8 +117,10 @@
<a class="item-control item-edit" title="Edit Item">{{item.name}}</a> <a class="item-control item-edit" title="Edit Item">{{item.name}}</a>
</div> </div>
<div class="item-controls flexrow"> <div class="item-controls flexrow">
{{#if item.system.description}}
<i class="fas fa-circle-question" <i class="fas fa-circle-question"
data-tooltip="{{item.system.description}}"></i> data-tooltip="{{item.system.description}}"></i>
{{/if}}
<a class="item-control item-delete" title="Delete Item"><i <a class="item-control item-delete" title="Delete Item"><i
class="fas fa-trash"></i></a> class="fas fa-trash"></i></a>
</div> </div>
@@ -133,8 +141,10 @@
<a class="item-control item-edit" title="Edit Item">{{item.name}}</a> <a class="item-control item-edit" title="Edit Item">{{item.name}}</a>
</div> </div>
<div class="item-controls flexrow"> <div class="item-controls flexrow">
{{#if item.system.description}}
<i class="fas fa-circle-question" <i class="fas fa-circle-question"
data-tooltip="{{item.system.description}}"></i> data-tooltip="{{item.system.description}}"></i>
{{/if}}
<a class="item-control item-delete" title="Delete Item"><i <a class="item-control item-delete" title="Delete Item"><i
class="fas fa-trash"></i></a> class="fas fa-trash"></i></a>
</div> </div>
+19 -10
View File
@@ -2,16 +2,19 @@
<div> <div>
<h4 class="align-center"> <h4 class="align-center">
<span>{{ localize 'VERMINE.group_members'}}</span> <span>{{ localize 'VERMINE.group_members'}}</span>
<a class="item-control chooseActor" title="Add member" data-type="members"><i class="fas fa-plus"></i></a> <a class="item-control chooseActor" title="Add member"
data-type="members"><i class="fas fa-plus"></i></a>
</h4> </h4>
<ol class="list-item"> <ol class="actor-list">
{{#each members as |actor id|}} {{#each members as |actor id|}}
{{log actor}}
<li class="actor flexrow" data-actor-id="{{actor._id}}"> <li class="actor flexrow" data-actor-id="{{actor._id}}">
<div class="actor-name" style="flex:4;"> <div class="actor-name" style="flex:4;">
<a class="item-control">{{actor.name}}</a> <a class="item-control">{{actor.name}}</a>
</div> </div>
<div class="item-controls flexrow"> <div class="item-controls flexrow">
<a class="item-control member-delete" title="Delete Member"><i class="fas fa-trash"></i></a> <a class="item-control member-delete" title="Delete Member"><i
class="fas fa-trash"></i></a>
</div> </div>
</li> </li>
{{/each}} {{/each}}
@@ -20,16 +23,18 @@
<div> <div>
<h4 class="align-center"> <h4 class="align-center">
<span>{{ localize 'VERMINE.encounters'}}</span> <span>{{ localize 'VERMINE.encounters'}}</span>
<a class="item-control chooseActor" title="Add member" data-type="encounters"><i class="fas fa-plus"></i></a> <a class="item-control chooseActor" title="Add member"
data-type="encounters"><i class="fas fa-plus"></i></a>
</h4> </h4>
<ol class="list-item"> <ol class="actor-list">
{{#each encounters as |actor id|}} {{#each encounters as |actor id|}}
<li class="actor flexrow" data-actor-id="{{actor._id}}"> <li class="actor flexrow" data-actor-id="{{actor._id}}">
<div class="item-name" style="flex:4;"> <div class="item-name" style="flex:4;">
<a class="item-control">{{actor.name}}</a> <a class="item-control">{{actor.name}}</a>
</div> </div>
<div class="item-controls flexrow"> <div class="item-controls flexrow">
<a class="item-control encounter-delete" title="Delete Encounter"><i class="fas fa-trash"></i></a> <a class="item-control encounter-delete" title="Delete Encounter"><i
class="fas fa-trash"></i></a>
</div> </div>
</li> </li>
{{/each}} {{/each}}
@@ -38,7 +43,8 @@
<div> <div>
<h4 class="align-center"> <h4 class="align-center">
<span>{{ localize 'VERMINE.boost'}}</span> <span>{{ localize 'VERMINE.boost'}}</span>
<a class="item-control chooseActor" title="Add encounter" data-type="npc"><i class="fas fa-plus"></i></a> <a class="item-control chooseActor" title="Add encounter"
data-type="npc"><i class="fas fa-plus"></i></a>
</h4> </h4>
<ol class="list-item"> <ol class="list-item">
{{#each abilities as |item id|}} {{#each abilities as |item id|}}
@@ -47,7 +53,8 @@
<a class="item-control item-edit" title="Edit Item">{{item.name}}</a> <a class="item-control item-edit" title="Edit Item">{{item.name}}</a>
</div> </div>
<div class="item-controls flexrow"> <div class="item-controls flexrow">
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a> <a class="item-control item-delete" title="Delete Item"><i
class="fas fa-trash"></i></a>
</div> </div>
</li> </li>
{{/each}} {{/each}}
@@ -56,7 +63,8 @@
<div> <div>
<h4 class="align-center"> <h4 class="align-center">
<span>{{ localize 'VERMINE.totem_abilities'}}</span> <span>{{ localize 'VERMINE.totem_abilities'}}</span>
<a class="item-control item-create" title="Create item" data-type="ability"><i class="fas fa-plus"></i></a> <a class="item-control item-create" title="Create item"
data-type="ability"><i class="fas fa-plus"></i></a>
</h4> </h4>
<ol class="list-item"> <ol class="list-item">
{{#each totem_abilities as |item id|}} {{#each totem_abilities as |item id|}}
@@ -65,7 +73,8 @@
<a class="item-control item-edit" title="Edit Item">{{item.name}}</a> <a class="item-control item-edit" title="Edit Item">{{item.name}}</a>
</div> </div>
<div class="item-controls flexrow"> <div class="item-controls flexrow">
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a> <a class="item-control item-delete" title="Delete Item"><i
class="fas fa-trash"></i></a>
</div> </div>
</li> </li>
{{/each}} {{/each}}
+22 -9
View File
@@ -1,41 +1,54 @@
<!-- HEADER --> <!-- HEADER -->
<header class="char-header grid grid-12col w-full" style="max-height: 110px;"> <header class="char-header grid grid-12col w-full" style="max-height: 110px;">
<div class="grid-span-2"> <div class="grid-span-2">
<img class="profile-img" src="{{actor.img}}" data-edit="img" width="100" height="100" title="{{actor.name}}" /> <img class="profile-img" src="{{actor.img}}" data-edit="img" width="100"
height="100" title="{{actor.name}}" />
</div> </div>
<section class="char-details grid-span-5"> <section class="char-details grid-span-5">
<h1 class="char-name flexrow flex-group-left w-full"> <h1 class="char-name flexrow flex-group-left w-full">
<label>{{ localize 'IDENTITY.name' }}</label> <label>{{ localize 'IDENTITY.name' }}</label>
<input name="name" type="text" value="{{actor.name}}" placeholder="{{localize "VERMINE.GroupNamePlaceholder"}}" /> <input name="name" type="text" value="{{actor.name}}"
placeholder="{{localize "VERMINE.GroupNamePlaceholder"}}" />
</h1> </h1>
<div class="profile flexrow flex-group-center"> <div class="profile flexrow flex-group-center">
<label>{{ localize 'IDENTITY.profile' }}</label> <label>{{ localize 'IDENTITY.profile' }}</label>
<input name="system.identity.profile" type="text" value="{{system.identity.profile }}" data-dtype="String" /> <input name="system.identity.profile" type="text"
value="{{system.identity.profile }}" data-dtype="String" />
</div> </div>
<div class="flexrow flex-group-center w-full"> <div class="flexrow flex-group-center w-full">
<label for="system.identity.age">{{ localize 'IDENTITY.morale' }}</label> <label for="system.identity.age">{{ localize 'IDENTITY.morale'
}}</label>
<div class="flexrow row"> <div class="flexrow row">
<input type="number" name="system.identity.age" value="{{ system.morale.value }}" data-dtype="Number" max="7" min="1" /> <input type="number" name="system.identity.age"
value="{{ system.morale.value }}" data-dtype="Number"
max="7" min="1" />
<span id="moraleLevel">({{ system.morale.level }})</span> <span id="moraleLevel">({{ system.morale.level }})</span>
</div> </div>
</div> </div>
</section> </section>
<section class="char-level grid-span-5"> <section class="char-level grid-span-5">
<h1 class="char-vermine2047 flexrow flex-group-left w-full"> <h1 class="char-vermine2047 flexrow flex-group-left w-full">
<label for="system.identity.totem">{{ localize 'IDENTITY.totem' }}</label> <label for="system.identity.totem">{{ localize 'IDENTITY.totem'
}}</label>
{{#if (eq system.identity.totem "")}} {{#if (eq system.identity.totem "")}}
<a name="chooseTotem" class="chooseTotem">Choisissez&hellip;</a> <a name="chooseTotem" class="chooseTotem">Choisissez&hellip;</a>
{{ else }} {{ else }}
<a name="chooseTotem" class="chooseTotem">{{ smarttl "TOTEMS" system.identity.totem }}</a> <a name="chooseTotem" class="chooseTotem">{{ smarttl "TOTEMS"
system.identity.totem }}</a>
{{/if}} {{/if}}
</h1> </h1>
<div class="reputation flexrow flex-group-center"> <div class="reputation flexrow flex-group-center">
<label>{{ localize 'VERMINE.reputation' }}</label> <label>{{ localize 'VERMINE.reputation' }}</label>
<input name="system.reputation.value" type="number" value="{{system.reputation.value }}" data-dtype="Number" min="2" max="10" /> <input name="system.reputation.value" type="number"
value="{{system.reputation.value }}" data-dtype="Number" min="2"
max="10" />
<img src="{{totem}}" alt>
</div> </div>
<div class="experience flexrow flex-group-center"> <div class="experience flexrow flex-group-center">
<label>{{ localize 'VERMINE.level' }}</label> <label>{{ localize 'VERMINE.level' }}</label>
<input name="system.level.value" type="number" value="{{system.level.value }}" data-dtype="Number" min="0" max="3" /> <input name="system.level.value" type="number"
value="{{system.level.value }}" data-dtype="Number" min="0"
max="3" />
</div> </div>
</section> </section>
</header> </header>
+7 -4
View File
@@ -1,8 +1,11 @@
<div class="actor choose flexrow row" style="flex-wrap: wrap;max-height: 100px;justify-content:center;"> <div class="actor choose grid grid-4col">
{{#each actorsList as | actor akey|}} {{#each actorsList as | actor akey|}}
<div class="actor rounded-full" data-totem="{{ tk }}" data-id="{{ actor.id }}" style="position:relative; width:100px;height:100px;"> <div class="actor" data-totem="{{ tk }}"
<span class="flexrow w-full flex-group-center flex-align-center" style="position:absolute;z-index:10;width:100px;height:100px;">{{ actor.name }}</span> data-actor-id="{{ actor.id }}">
<img src="{{ actor.img }}" alt="{{ actor.name }}" width="100" height="100" style="position:relative;min-width:100px;" /> <span class="actor-name">{{
actor.name }}</span>
<img src="{{ actor.img }}" alt="{{ actor.name }}" />
</div> </div>
{{/each}} {{/each}}
</div> </div>
+6 -1
View File
@@ -1,4 +1,8 @@
<div class="totem choose grid grid-2col" style="padding:5px;"> <iframe src="https://app.syrinscape.com/#/" frameborder="0" width="100%"
heihgt="400px"></iframe>
<div class="totem choose grid grid-2col"
style="padding:5px;">
{{#each config.totems as | totem tk|}} {{#each config.totems as | totem tk|}}
{{#if (ne tk "human")}} {{#if (ne tk "human")}}
{{#if (ne tk "adapted")}} {{#if (ne tk "adapted")}}
@@ -29,4 +33,5 @@
{{/if}} {{/if}}
{{/if}} {{/if}}
{{/each}} {{/each}}
</div> </div>
+14 -23
View File
@@ -1,37 +1,28 @@
<form <form class="{{cssClass}}" autocomplete="off">
class="{{cssClass}}"
autocomplete="off"
>
<header class="sheet-header"> <header class="sheet-header">
<img <img class="profile-img" src="{{item.img}}" data-edit="img" title="{{item.name}}"/>
class="profile-img"
src="{{item.img}}"
data-edit="img"
title="{{item.name}}"
/>
<div class="header-fields"> <div class="header-fields">
<h1 class="charname"><input <h1 class="charname"><input name="name" type="text" value="{{item.name}}" placeholder="Name"/></h1>
name="name" <select name="system.skill" class="skill-select">
type="text"
value="{{item.name}}"
placeholder="Name"
/></h1>
<select
name="system.skill"
class="skill-select"
>
{{#select system.skill}}
{{#each @root.config.skillCategories as |skillCategory sckey|}} {{#each @root.config.skillCategories as |skillCategory sckey|}}
{{log skillCategory}}
<optgroup label="{{ smarttlk 'SKILLS_CATEGORIES' sckey 'name' }}"> <optgroup label="{{ smarttlk 'SKILLS_CATEGORIES' sckey 'name' }}">
{{log "_____________________________________________==========="}}
{{log @root.config}}
{{#each @root.config.model.Actor.character.skills as |skill key|}} {{#each @root.config.model.Actor.character.skills as |skill key|}}
{{#ife skill.category sckey}} {{#ife skill.category sckey}}
<option value="{{key}}">{{ smarttlk 'SKILLS' key 'name' }}</option> <option value="{{key}}" {{#ife key @root.item.system.skill}} selected {{/ife}}>{{ smarttlk 'SKILLS' key 'name' }}</option>
{{/ife}} {{/ife}}
{{/each}} {{/each}}
</optgroup> </optgroup>
{{/each}} {{/each}}
{{/select}}
</select> </select>
</div> </div>