Arme sheet ready

This commit is contained in:
LeRatierBretonnien 2024-02-19 22:02:44 +01:00
parent f142b8f6cd
commit 3b98a18ee0
23 changed files with 210 additions and 152 deletions

View File

@ -3,7 +3,7 @@
import { TeDeumUtility } from "../common/tedeum-utility.js"; import { TeDeumUtility } from "../common/tedeum-utility.js";
/* -------------------------------------------- */ /* -------------------------------------------- */
export class EcrymeCommands { export class TeDeumCommands {
static init() { static init() {
if (!game.system.tedeum.commands) { if (!game.system.tedeum.commands) {

View File

@ -1,25 +1,36 @@
export const SYSTEM_ID = "fvtt-te-deum"; export const SYSTEM_ID = "fvtt-te-deum";
export const __BONUS_DEGATS = [{}, { label: "1d4", value: -2 }, { label: "1d6", value: -1 }, { label: "1d8", value: 0 },
{ label: "1d10", value: 1 }, { label: "1d12", value: 2 }, { label: "1d20", value: 3 }]
export const __MAX_ARMURES_LOURDES = [{}, { value: 1 }, { value: 3 }, { value: 5 },
{ value: 7 }, { value: 9 }, { value: 11 }]
export const __EFFORT = [{}, { value: 1 }, { value: 2 }, { value: 3 },
{ value: 4 }, { value: 5 }, { value: 6 }]
export const __ACTIONS_PAR_TOUR = [{}, { value: 1 }, { value: 2 }, { value: 2 },
{ value: 3 }, { value: 3 }, { value: 4 }]
export const __COUT_XP = [{}, { value: 10 }, { value: 10 }, { value: 10 },
{ value: 10 }, { value: 30 }, { value: 50 }]
export const LOCALISATION = { export const LOCALISATION = {
"pieddroit":{ label: "Pied Droit", value: 1, id :"pieddroit", nbArmure: 1 }, "pieddroit": { label: "Pied Droit", value: 1, id: "pieddroit", nbArmure: 1 },
"jambedroite": { label: "Jambe Droite", value: 1, id :"jambedroite", nbArmure: 1 }, "jambedroite": { label: "Jambe Droite", value: 1, id: "jambedroite", nbArmure: 1 },
"jambegauche": { label: "Jambe Gauche", value: 1, id :"jambegauche", nbArmure: 1 }, "jambegauche": { label: "Jambe Gauche", value: 1, id: "jambegauche", nbArmure: 1 },
"piedgauche":{ label: "Pied Gauche", value: 1, id :"piedgauche", nbArmure: 1 }, "piedgauche": { label: "Pied Gauche", value: 1, id: "piedgauche", nbArmure: 1 },
"piedgauche":{ label: "Pied Gauche", value: 1, id :"piedgauche", nbArmure: 1 }, "piedgauche": { label: "Pied Gauche", value: 1, id: "piedgauche", nbArmure: 1 },
"maindroite":{ label: "Main Droite", value: 1, id :"maindroite", nbArmure: 1 }, "maindroite": { label: "Main Droite", value: 1, id: "maindroite", nbArmure: 1 },
"maingauche":{ label: "Main Gauche", value: 1, id :"maingauche", nbArmure: 1 }, "maingauche": { label: "Main Gauche", value: 1, id: "maingauche", nbArmure: 1 },
"brasdroit":{ label: "Bras Droit", value: 1, id :"brasdroit", nbArmure: 2 }, "brasdroit": { label: "Bras Droit", value: 1, id: "brasdroit", nbArmure: 2 },
"brasgauche":{ label: "Bras Gauche", value: 1, id :"brasgauche", nbArmure: 2 }, "brasgauche": { label: "Bras Gauche", value: 1, id: "brasgauche", nbArmure: 2 },
"corps":{ label: "Corps", value: 1, id :"corps", nbArmure: 2 }, "corps": { label: "Corps", value: 1, id: "corps", nbArmure: 2 },
"tete":{ label: "Tête", value: 1, id :"tete", nbArmure: 2 }, "tete": { label: "Tête", value: 1, id: "tete", nbArmure: 2 },
} }
export const ARME_SPECIFICITE = { export const ARME_SPECIFICITE = {
"encombrante": { label: "Encombrante", id :"encombrante" }, "encombrante": { label: "Encombrante", id: "encombrante" },
"maintiendistance": { label: "Maintien à distance", id :"maintiendistance" }, "maintiendistance": { label: "Maintien à distance", id: "maintiendistance" },
"treslongue": { label: "Très longue", id :"treslongue" }, "treslongue": { label: "Très longue", id: "treslongue" },
"coupassomant": { label: "Coup assomant", id :"coupassomant" }, "coupassomant": { label: "Coup assomant", id: "coupassomant" },
"peutlancer": { label: "Peut être lancée", id :"peutlancer" }, "peutlancer": { label: "Peut être lancée", id: "peutlancer" },
} }
export const TEDEUM_CONFIG = { export const TEDEUM_CONFIG = {
@ -42,9 +53,18 @@ export const TEDEUM_CONFIG = {
sensibilite: { id: "sensibilite", value: 1, label: "Sensibilité" }, sensibilite: { id: "sensibilite", value: 1, label: "Sensibilité" },
entregent: { id: "entregent", value: 1, label: "Entregent" }, entregent: { id: "entregent", value: 1, label: "Entregent" },
complexion: { id: "complexion", value: 1, label: "Complexion" }, complexion: { id: "complexion", value: 1, label: "Complexion" },
puissance: { id:"puissance", value: 1, label: "Puissance" }, puissance: { id: "puissance", value: 1, label: "Puissance" },
adresse: { id: "adresse", value: 1, label: "Adresse" }, adresse: { id: "adresse", value: 1, label: "Adresse" },
}, },
providence: [
{labelM: "Brebis égarée", labelF: "Brebis égarée",value: 0, diceValue: "0"},
{labelM: "Pauvre pêcheur", labelF: "Pauvre pêcheresse",value: 1, diceValue: "d4"},
{labelM: "Fils prodigue", labelF: "Fille prodigue",value: 2, diceValue: "d6"},
{labelM: "Bon samaritain", labelF: "Bon samaritain",value: 3, diceValue: "d8"},
{labelM: "Animé par la grâce", labelF: "Animée par la grâce",value: 4, diceValue: "d10"},
{labelM: "Oint du Seigneur", labelF: "Ointe du Seigneur",value: 5, diceValue: "d12"},
{labelM: "Dans la main de Dieu", labelF: "Dans la main de Dieu",value: 6, diceValue: "d20"},
],
localisation: { localisation: {
1: LOCALISATION.pieddroit, 1: LOCALISATION.pieddroit,
2: LOCALISATION.piedgauche, 2: LOCALISATION.piedgauche,
@ -66,14 +86,23 @@ export const TEDEUM_CONFIG = {
18: LOCALISATION.tete, 18: LOCALISATION.tete,
19: LOCALISATION.tete, 19: LOCALISATION.tete,
20: LOCALISATION.tete 20: LOCALISATION.tete
},
armeTypes: {
"melee": { label: "Mêlée", value: "melee" },
"tir": { label: "Tir", value: "tir" }
}, },
difficulte: { difficulte: {
routine: {label: "Routine", value: 3}, routine: { label: "Routine", value: 3 },
facile: {label: "Facile", value: 5}, facile: { label: "Facile", value: 5 },
pardefaut: {label: "Par Défaut", value: 7}, pardefaut: { label: "Par Défaut", value: 7 },
malaise: {label: "Malaisé", value: 9}, malaise: { label: "Malaisé", value: 9 },
difficile: {label: "difficile", value:11}, difficile: { label: "difficile", value: 11 },
perilleux: {label: "Perilleux", value:13}, perilleux: { label: "Perilleux", value: 13 },
desespere: {label: "Désespéré", value:15} desespere: { label: "Désespéré", value: 15 }
},
monnaie: {
denier: { label: "Deniers", value: 1 },
sol: { label: "Sols", value: 10 },
livre: { label: "Livres", value: 100 }
} }
} }

View File

@ -6,7 +6,7 @@ export class TeDeumUtility {
/* -------------------------------------------- */ /* -------------------------------------------- */
static async init() { static async init() {
Hooks.on('renderChatLog', (log, html, data) => TeDeumUtility.chatListeners(html)); Hooks.on('renderChatLog', (log, html, data) => TeDeumUtility.chatListeners(html));
Hooks.on("getChatLogEntryContext", (html, options) => TeDeumUtility.chatMenuManager(html, options)); //Hooks.on("getChatLogEntryContext", (html, options) => TeDeumUtility.chatMenuManager(html, options));
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
@ -117,6 +117,7 @@ export class TeDeumUtility {
/* -------------------------------------------- */ /* -------------------------------------------- */
static async preloadHandlebarsTemplates() { static async preloadHandlebarsTemplates() {
console.log("PRELOAD >>>>>")
const templatePaths = [ const templatePaths = [
'systems/fvtt-te-deum/templates/actors/editor-notes-gm.hbs', 'systems/fvtt-te-deum/templates/actors/editor-notes-gm.hbs',
'systems/fvtt-te-deum/templates/items/partial-item-nav.hbs', 'systems/fvtt-te-deum/templates/items/partial-item-nav.hbs',

View File

@ -1,11 +1,13 @@
export default class TeDeumArmeSchema extends foundry.abstract.TypeDataModel { export class TeDeumArmeSchema extends foundry.abstract.TypeDataModel {
static defineSchema() { static defineSchema() {
const fields = foundry.data.fields; const fields = foundry.data.fields;
const requiredInteger = { required: true, nullable: false, integer: true }; const requiredInteger = { required: true, nullable: false, integer: true };
const schema = {}; const schema = {};
schema.typeArme = new fields.StringField({required: true, choices: ["melee", "tir"], initial: "melee"});
schema.specificites = new fields.SchemaField( schema.specificites = new fields.SchemaField(
Object.values((ARME_SPECIFICITE)).reduce((obj, spec) => { Object.values((game.system.tedeum.ARME_SPECIFICITE)).reduce((obj, spec) => {
obj[spec.id] = new fields.SchemaField({ obj[spec.id] = new fields.SchemaField({
hasSpec: new fields.BooleanField({initial: false}), hasSpec: new fields.BooleanField({initial: false}),
}); });

View File

@ -1,4 +1,4 @@
export default class TeDeumArmureSchema extends foundry.abstract.TypeDataModel { export class TeDeumArmureSchema extends foundry.abstract.TypeDataModel {
static defineSchema() { static defineSchema() {
const fields = foundry.data.fields; const fields = foundry.data.fields;
const requiredInteger = { required: true, nullable: false, integer: true }; const requiredInteger = { required: true, nullable: false, integer: true };
@ -6,7 +6,7 @@ export default class TeDeumArmureSchema extends foundry.abstract.TypeDataModel {
schema.localisation = new fields.SchemaField( schema.localisation = new fields.SchemaField(
Object.values(LOCALISATION).reduce((obj, loc) => { Object.values(LOCALISATION).reduce((obj, loc) => {
obj[loc.id] =new fields.SchemaField({ obj[loc.id] = new fields.SchemaField({
protege: new fields.BooleanField({initial: false}), protege: new fields.BooleanField({initial: false}),
}); });
return obj; return obj;

View File

@ -1,4 +1,4 @@
export default class TeDeumCompetenceSchema extends foundry.abstract.TypeDataModel { export class TeDeumCompetenceSchema extends foundry.abstract.TypeDataModel {
static defineSchema() { static defineSchema() {
const fields = foundry.data.fields; const fields = foundry.data.fields;
const requiredInteger = { required: true, nullable: false, integer: true }; const requiredInteger = { required: true, nullable: false, integer: true };

View File

@ -0,0 +1,12 @@
export class TeDeumDeboucheSchema extends foundry.abstract.TypeDataModel {
static defineSchema() {
const fields = foundry.data.fields;
const requiredInteger = { required: true, nullable: false, integer: true };
const schema = {};
schema.cagnotteMultiplier = new fields.NumberField({ ...requiredInteger, initial: 1, min: 1 });
schema.description = new fields.HTMLField({ required: true, blank: true });
return schema;
}
}

View File

@ -0,0 +1,11 @@
export class TeDeumEducationSchema extends foundry.abstract.TypeDataModel {
static defineSchema() {
const fields = foundry.data.fields;
const requiredInteger = { required: true, nullable: false, integer: true };
const schema = {};
schema.description = new fields.HTMLField({ required: true, blank: true });
return schema;
}
}

View File

@ -1,4 +1,4 @@
export default class TeDeumArmureSchema extends foundry.abstract.TypeDataModel { export class TeDeumEquipementSchema extends foundry.abstract.TypeDataModel {
static defineSchema() { static defineSchema() {
const fields = foundry.data.fields; const fields = foundry.data.fields;
const requiredInteger = { required: true, nullable: false, integer: true }; const requiredInteger = { required: true, nullable: false, integer: true };

View File

@ -0,0 +1,15 @@
export class TeDeumOrigineSchema extends foundry.abstract.TypeDataModel {
static defineSchema() {
const fields = foundry.data.fields;
const requiredInteger = { required: true, nullable: false, integer: true };
const schema = {};
schema.bonus1 = new fields.StringField({ required: true, blank: false, initial: "entregent" });
schema.bonus2 = new fields.StringField({ required: true, blank: false, initial: "entregent" });
schema.cagnotte = new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 });
schema.monnaie = new fields.StringField({ required: true, blank: false, initial: "denier" });
schema.description = new fields.HTMLField({ required: true, blank: true });
return schema;
}
}

View File

@ -1,4 +1,4 @@
export default class TeDeumPJSchema extends foundry.abstract.TypeDataModel { export class TeDeumPJSchema extends foundry.abstract.TypeDataModel {
static defineSchema() { static defineSchema() {
const fields = foundry.data.fields; const fields = foundry.data.fields;
const requiredInteger = { required: true, nullable: false, integer: true }; const requiredInteger = { required: true, nullable: false, integer: true };
@ -14,6 +14,13 @@ export default class TeDeumPJSchema extends foundry.abstract.TypeDataModel {
}, {}) }, {})
); );
schema.providence = new fields.SchemaField({
value: new fields.NumberField({ ...requiredInteger, initial: 1, min: 0 }),
});
schema.bienveillance = new fields.SchemaField({
value: new fields.NumberField({ ...requiredInteger, initial: 10, min: 0 }),
});
schema.localisation = new fields.SchemaField( schema.localisation = new fields.SchemaField(
Object.values(LOCALISATION).reduce((obj, loc) => { Object.values(LOCALISATION).reduce((obj, loc) => {
obj[loc.id] =new fields.SchemaField({ obj[loc.id] =new fields.SchemaField({
@ -33,7 +40,7 @@ export default class TeDeumPJSchema extends foundry.abstract.TypeDataModel {
schema.description = new fields.HTMLField({required: true, blank: true}); schema.description = new fields.HTMLField({required: true, blank: true});
schema.connaissances = new fields.HTMLField({required: true, blank: true}); schema.connaissances = new fields.HTMLField({required: true, blank: true});
schema.vetements = new fields.HTMLField({required: true, blank: true}); schema.vetements = new fields.HTMLField({required: true, blank: true});
schema.genre = new fields.StringField({ required: false, blank: true, initial: undefined }); schema.genre = new fields.StringField({required: true, choices: ["Homme", "Femme"], initial: "Femme"});
schema.age = new fields.StringField({ required: false, blank: true, initial: undefined }); schema.age = new fields.StringField({ required: false, blank: true, initial: undefined });
schema.origine = new fields.StringField({ required: false, blank: true, initial: undefined }); schema.origine = new fields.StringField({ required: false, blank: true, initial: undefined });
schema.charges = new fields.StringField({ required: false, blank: true, initial: undefined }); schema.charges = new fields.StringField({ required: false, blank: true, initial: undefined });

View File

@ -32,19 +32,6 @@ export class TeDeumItemSheet extends ItemSheet {
return buttons return buttons
} }
/* -------------------------------------------- */
/** @override */
setPosition(options = {}) {
const position = super.setPosition(options);
const sheetBody = this.element.find(".sheet-body");
const bodyHeight = position.height - 192;
sheetBody.css("height", bodyHeight);
if (this.item.type.includes('weapon')) {
position.width = 640;
}
return position;
}
/* -------------------------------------------- */ /* -------------------------------------------- */
async getData() { async getData() {

View File

@ -9,19 +9,26 @@
/* -------------------------------------------- */ /* -------------------------------------------- */
// Import Modules // Import Modules
import { TeDeumActor } from "./actors/tedeum-actor.js"; import { TeDeumActor } from "./actors/tedeum-actor.js";
import { TeDeumItemSheet } from "./items/tedeum-item-sheet.js";
import { TeDeumActorPJSheet } from "./actors/tedeum-actor-sheet.js"; import { TeDeumActorPJSheet } from "./actors/tedeum-actor-sheet.js";
import { TeDeumPJSchema } from "./common/tedeum-schema-pj.js";
import { TeDeumArmeSchema } from "./common/tedeum-schema-arme.js";
import { TeDeumArmureSchema } from "./common/tedeum-schema-armure.js";
import { TeDeumCompetenceSchema } from "./common/tedeum-schema-competence.js";
import { TeDeumEquipementSchema } from "./common/tedeum-schema-equipement.js";
import { TeDeumUtility } from "./common/tedeum-utility.js";
import { TeDeumCombat } from "./app/tedeum-combat.js";
import { TeDeumItem } from "./items/tedeum-item.js";
import { TeDeumHotbar } from "./app/tedeum-hotbar.js"
import { TEDEUM_CONFIG } from "./common/tedeum-config.js"
import { TeDeumPJSchema } from "./data/tedeum-schema-pj.js";
import { TeDeumArmeSchema } from "./data/tedeum-schema-arme.js";
import { TeDeumArmureSchema } from "./data/tedeum-schema-armure.js";
import { TeDeumCompetenceSchema } from "./data/tedeum-schema-competence.js";
import { TeDeumEquipementSchema } from "./data/tedeum-schema-equipement.js";
import { TeDeumOrigineSchema } from "./data/tedeum-schema-origine.js";
import { TeDeumEducationSchema } from "./data/tedeum-schema-education.js";
import { TeDeumDeboucheSchema } from "./data/tedeum-schema-debouche.js";
import { TeDeumItem } from "./items/tedeum-item.js";
import { TeDeumItemSheet } from "./items/tedeum-item-sheet.js";
import { TeDeumHotbar } from "./app/tedeum-hotbar.js"
import { TeDeumCombat } from "./app/tedeum-combat.js";
import { TeDeumUtility } from "./common/tedeum-utility.js";
import { TEDEUM_CONFIG, LOCALISATION, ARME_SPECIFICITE} from "./common/tedeum-config.js";
import { ClassCounter} from "https://www.uberwald.me/fvtt_appcount/count-class-ready.js";
/* -------------------------------------------- */ /* -------------------------------------------- */
/* Foundry VTT Initialization */ /* Foundry VTT Initialization */
/* -------------------------------------------- */ /* -------------------------------------------- */
@ -33,26 +40,26 @@ Hooks.once("init", async function () {
game.system.tedeum = { game.system.tedeum = {
config: TEDEUM_CONFIG, config: TEDEUM_CONFIG,
LOCALISATION: LOCALISATION,
ARME_SPECIFICITE: ARME_SPECIFICITE,
TeDeumHotbar TeDeumHotbar
} }
console.log(`Initializing TeDeum RPG 2`);
/* -------------------------------------------- */
// preload handlebars templates // preload handlebars templates
TeDeumUtility.preloadHandlebarsTemplates(); TeDeumUtility.preloadHandlebarsTemplates();
/* -------------------------------------------- */
// Set an initiative formula for the system // Set an initiative formula for the system
CONFIG.Combat.initiative = { CONFIG.Combat.initiative = {
formula: "1d6", formula: "1d6",
decimals: 1 decimals: 1
}; };
/* -------------------------------------------- */ game.socket.on("system.fvtt-te-deum", data => {
game.socket.on("system.fvtt-tedeum", data => {
TeDeumUtility.onSocketMesssage(data) TeDeumUtility.onSocketMesssage(data)
}); });
CONFIG.Combat.documentClass = TeDeumCombat //CONFIG.Combat.documentClass = TeDeumCombat
CONFIG.Actor.documentClass = TeDeumActor; CONFIG.Actor.documentClass = TeDeumActor;
CONFIG.Item.documentClass = TeDeumItem CONFIG.Item.documentClass = TeDeumItem
CONFIG.Actor.dataModels = { CONFIG.Actor.dataModels = {
@ -64,14 +71,19 @@ Hooks.once("init", async function () {
competence: TeDeumCompetenceSchema, competence: TeDeumCompetenceSchema,
equipement: TeDeumEquipementSchema, equipement: TeDeumEquipementSchema,
armure: TeDeumArmureSchema, armure: TeDeumArmureSchema,
origine: TeDeumOrigineSchema,
education: TeDeumEducationSchema,
debouche: TeDeumDeboucheSchema,
}; };
console.log("TeDeum RPG | Ready");
Actors.unregisterSheet("core", ActorSheet); Actors.unregisterSheet("core", ActorSheet);
Actors.registerSheet(SYSTEM_ID, TeDeumActorPJSheet, { types: ["pj"], makeDefault: true }); Actors.registerSheet("fvtt-te-deum", TeDeumActorPJSheet, { types: ["pj"], makeDefault: true });
Actors.registerSheet(SYSTEM_ID, TeDeumActorPJSheet, { types: ["pnj"], makeDefault: true }); Actors.registerSheet("fvtt-te-deum", TeDeumActorPJSheet, { types: ["pnj"], makeDefault: true });
Items.unregisterSheet("core", ItemSheet); Items.unregisterSheet("core", ItemSheet);
Items.registerSheet(SYSTEM_ID, TeDeumItemSheet, { makeDefault: true }); Items.registerSheet("fvtt-te-deum", TeDeumItemSheet, { types: ["arme"], makeDefault: true });
TeDeumUtility.init() TeDeumUtility.init()
}); });
@ -83,33 +95,7 @@ function welcomeMessage() {
user: game.user.id, user: game.user.id,
whisper: [game.user.id], whisper: [game.user.id],
content: `<div id="welcome-message-tedeum"><span class="rdd-roll-part"> content: `<div id="welcome-message-tedeum"><span class="rdd-roll-part">
<strong>Bienvenu dans TeDeum !</strong>` }); <strong>Bienvenu dans Te Deum Pour Un Massacre !</strong>` });
}
}
/* -------------------------------------------- */
// Register world usage statistics
function registerUsageCount(registerKey) {
if (game.user.isGM) {
game.settings.register(registerKey, "world-key", {
name: "Unique world key",
scope: "world",
config: false,
default: "",
type: String
});
let worldKey = game.settings.get(registerKey, "world-key")
if (worldKey == undefined || worldKey == "") {
worldKey = randomID(32)
game.settings.set(registerKey, "world-key", worldKey)
}
// Simple API counter
let regURL = `https://www.uberwald.me/fvtt_appcount/count.php?name="${registerKey}"&worldKey="${worldKey}"&version="${game.release.generation}.${game.release.build}"&system="${game.system.id}"&systemversion="${game.system.version}"`
//$.ajaxSetup({
//headers: { 'Access-Control-Allow-Origin': '*' }
//})
$.ajax(regURL)
} }
} }
@ -127,9 +113,10 @@ Hooks.once("ready", function () {
}); });
} }
registerUsageCount(game.system.id) console.log("YEADEAE");
ClassCounter.registerUsageCount();
welcomeMessage(); welcomeMessage();
TeDeumUtility.ready() TeDeumUtility.ready();
}) })

View File

1
packs/equipment/CURRENT Normal file
View File

@ -0,0 +1 @@
MANIFEST-000030

0
packs/equipment/LOCK Normal file
View File

7
packs/equipment/LOG Normal file
View File

@ -0,0 +1,7 @@
2024/02/19-21:26:30.030455 7fc68ee006c0 Recovering log #28
2024/02/19-21:26:30.041661 7fc68ee006c0 Delete type=3 #26
2024/02/19-21:26:30.042288 7fc68ee006c0 Delete type=0 #28
2024/02/19-22:02:32.194497 7fc68d0006c0 Level-0 table #33: started
2024/02/19-22:02:32.194586 7fc68d0006c0 Level-0 table #33: 0 bytes OK
2024/02/19-22:02:32.236476 7fc68d0006c0 Delete type=0 #31
2024/02/19-22:02:32.286376 7fc68d0006c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)

7
packs/equipment/LOG.old Normal file
View File

@ -0,0 +1,7 @@
2024/02/19-21:20:44.806918 7fc68ee006c0 Recovering log #24
2024/02/19-21:20:44.818366 7fc68ee006c0 Delete type=3 #22
2024/02/19-21:20:44.818471 7fc68ee006c0 Delete type=0 #24
2024/02/19-21:26:26.162483 7fc68d0006c0 Level-0 table #29: started
2024/02/19-21:26:26.162535 7fc68d0006c0 Level-0 table #29: 0 bytes OK
2024/02/19-21:26:26.169669 7fc68d0006c0 Delete type=0 #27
2024/02/19-21:26:26.169948 7fc68d0006c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)

Binary file not shown.

View File

@ -25,7 +25,7 @@
"type": "Item", "type": "Item",
"name": "equipment", "name": "equipment",
"path": "packs/equipment", "path": "packs/equipment",
"system": "fvtt-ecryme", "system": "fvtt-te-deum",
"flags": {}, "flags": {},
"ownership": { "ownership": {
"PLAYER": "OBSERVER", "PLAYER": "OBSERVER",
@ -36,10 +36,10 @@
"license": "LICENSE.txt", "license": "LICENSE.txt",
"manifest": "https://www.uberwald.me/gitea/public/fvtt-te-deum/raw/branch/master/system.json", "manifest": "https://www.uberwald.me/gitea/public/fvtt-te-deum/raw/branch/master/system.json",
"compatibility": { "compatibility": {
"minimum": "10", "minimum": "11",
"verified": "11" "verified": "11"
}, },
"id": "fvtt-tedeum", "id": "fvtt-te-deum",
"primaryTokenAttribute": "secondary.health", "primaryTokenAttribute": "secondary.health",
"secondaryTokenAttribute": "secondary.delirium", "secondaryTokenAttribute": "secondary.delirium",
"socket": true, "socket": true,
@ -49,8 +49,8 @@
"relationships": { "relationships": {
}, },
"title": "Te Deum pour Un Massacre, le Jeu de Rôles", "title": "Te Deum pour Un Massacre, le Jeu de Rôles",
"url": "https://www.uberwald.me/gitea/public/fvtt-tedeum", "url": "https://www.uberwald.me/gitea/public/fvtt-te-deum",
"version": "11.0.0", "version": "11.0.0",
"download": "https://www.uberwald.me/gitea/public/fvtt-tedeum/archive/fvtt-tedeum-v11.0.0.zip", "download": "https://www.uberwald.me/gitea/public/fvtt-te-deum/archive/fvtt-te-deum-v11.0.0.zip",
"background": "" "background": ""
} }

View File

@ -5,10 +5,13 @@
"pnj": {} "pnj": {}
}, },
"Item": { "Item": {
"types": ["arme", "competence", "armure", "equipement"], "types": ["arme", "competence", "armure", "equipement", "origine", "education", "debouche"],
"arme": {}, "arme": {},
"competence": {}, "competence": {},
"armure": {}, "armure": {},
"equipement": {} "equipement": {},
"origine": {},
"education": {},
"debouche": {}
} }
} }

View File

@ -0,0 +1,34 @@
<form class="{{cssClass}}" autocomplete="off">
<header class="sheet-header">
<img class="item-sheet-img" src="{{img}}" data-edit="img" title="{{name}}"/>
<div class="header-fields">
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name"/></h1>
</div>
</header>
{{> systems/fvtt-te-deum/templates/items/partial-item-nav.hbs}}
{{!-- Sheet Body --}}
<section class="sheet-body">
{{> systems/fvtt-te-deum/templates/items/partial-item-description.hbs}}
<div class="tab details" data-group="primary" data-tab="details">
<div class="tab" data-group="primary">
<ul>
<li class="flexrow">
<label class="item-name-label-long">Type d'arme</label>
<select name="system.typeArme">
{{selectOptions config.armeTypes selected=system.typeArme labelAttr="label" blank=""}}
</select>
</li>
</ul>
</div>
</div>
</section>
</form>

View File

@ -1,45 +0,0 @@
<form class="{{cssClass}}" autocomplete="off">
<header class="sheet-header">
<img class="item-sheet-img" src="{{img}}" data-edit="img" title="{{name}}"/>
<div class="header-fields">
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name"/></h1>
</div>
</header>
{{> systems/fvtt-ecryme/templates/items/partial-item-nav.hbs}}
{{!-- Sheet Body --}}
<section class="sheet-body">
{{> systems/fvtt-ecryme/templates/items/partial-item-description.hbs}}
<div class="tab details" data-group="primary" data-tab="details">
<div class="tab" data-group="primary">
<ul>
<li class="flexrow">
<label class="item-name-label-long">{{localize "ECRY.ui.weapontype"}}</label>
<select class="item-field-label-medium" type="text" name="system.weapontype" value="{{system.weapontype}}" data-dtype="String">
{{#select system.weapontype}}
{{#each config.weaponTypes as |type key| }}
<option value="{{key}}">{{localize type}}</option>
{{/each}}
{{/select}}
</select>
</li>
<li class="flexrow">
<label class="item-name-label-long">{{localize "ECRY.ui.effect"}}</label>
<input type="text" class="item-field-label-short" name="system.effect" value="{{system.effect}}" data-dtype="Number"/>
</li>
{{> systems/fvtt-ecryme/templates/items/partial-item-equipment.hbs}}
</ul>
</div>
</div>
</section>
</form>