Migration datamodels !
This commit is contained in:
@@ -9,14 +9,17 @@
|
||||
/* -------------------------------------------- */
|
||||
// Import Modules
|
||||
import { YggdrasillActor } from "./yggdrasill-actor.js";
|
||||
import { YggdrasillItemSheet } from "./yggdrasill-item-sheet.js";
|
||||
import { YggdrasillActorSheet } from "./yggdrasill-actor-sheet.js";
|
||||
import { YggdrasillFigurantSheet } from "./yggdrasill-figurant-sheet.js";
|
||||
import { YggdrasillUtility } from "./yggdrasill-utility.js";
|
||||
import { YggdrasillCombat } from "./yggdrasill-combat.js";
|
||||
import { YGGDRASILL_CONFIG } from "./yggdrasill-config.js";
|
||||
import { ClassCounter} from "https://www.uberwald.me/fvtt_appcount/count-class-ready.js"
|
||||
|
||||
// Import DataModels
|
||||
import * as models from "./models/index.mjs";
|
||||
|
||||
// Import AppV2 Sheets
|
||||
import * as sheets from "./applications/sheets/_module.mjs";
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/* Foundry VTT Initialization */
|
||||
/* -------------------------------------------- */
|
||||
@@ -46,30 +49,82 @@ Hooks.once("init", async function () {
|
||||
/* -------------------------------------------- */
|
||||
// Define custom Entity classes
|
||||
CONFIG.Actor.documentClass = YggdrasillActor;
|
||||
CONFIG.Actor.dataModels = {
|
||||
personnage: models.PersonnageDataModel,
|
||||
figurant: models.FigurantDataModel
|
||||
};
|
||||
|
||||
CONFIG.Combat.documentClass = YggdrasillCombat;
|
||||
|
||||
CONFIG.Item.dataModels = {
|
||||
competence: models.CompetenceDataModel,
|
||||
don: models.DonDataModel,
|
||||
faiblesse: models.FaiblesseDataModel,
|
||||
blessure: models.BlessureDataModel,
|
||||
maladie: models.MaladieDataModel,
|
||||
poison: models.PoisonDataModel,
|
||||
prouesse: models.ProuesseDataModel,
|
||||
sortsejdr: models.SortsejdrDataModel,
|
||||
sortgaldr: models.SortgaldrDataModel,
|
||||
rune: models.RuneDataModel,
|
||||
armecc: models.ArmeccDataModel,
|
||||
armedist: models.ArmedistDataModel,
|
||||
armure: models.ArmureDataModel,
|
||||
bouclier: models.BouclierDataModel,
|
||||
equipement: models.EquipementDataModel,
|
||||
monnaie: models.MonnaieDataModel,
|
||||
effetmagique: models.EffetmagiqueDataModel
|
||||
};
|
||||
|
||||
CONFIG.Yggdrasill = {
|
||||
}
|
||||
|
||||
game.system.yggdrasill = {
|
||||
config: YGGDRASILL_CONFIG,
|
||||
models,
|
||||
sheets
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
// Register sheet application classes
|
||||
|
||||
// Register AppV2 Actor Sheets
|
||||
foundry.documents.collections.Actors.unregisterSheet("core", foundry.appv1.sheets.ActorSheet);
|
||||
foundry.documents.collections.Actors.registerSheet("fvtt-yggdrasill", YggdrasillActorSheet, { types: ["personnage"], makeDefault: true });
|
||||
foundry.documents.collections.Actors.registerSheet("fvtt-yggdrasill", YggdrasillFigurantSheet, { types: ["figurant"], makeDefault: false });
|
||||
foundry.documents.collections.Actors.registerSheet("fvtt-yggdrasill", sheets.YggdrasillPersonnageSheet, { types: ["personnage"], makeDefault: true });
|
||||
foundry.documents.collections.Actors.registerSheet("fvtt-yggdrasill", sheets.YggdrasillFigurantSheet, { types: ["figurant"], makeDefault: true });
|
||||
|
||||
// Register AppV2 Item Sheets
|
||||
foundry.documents.collections.Items.unregisterSheet("core", foundry.appv1.sheets.ItemSheet);
|
||||
foundry.documents.collections.Items.registerSheet("fvtt-yggdrasill", YggdrasillItemSheet, { makeDefault: true });
|
||||
foundry.documents.collections.Items.registerSheet("fvtt-yggdrasill", sheets.YggdrasillCompetenceSheet, { types: ["competence"], makeDefault: true });
|
||||
foundry.documents.collections.Items.registerSheet("fvtt-yggdrasill", sheets.YggdrasillDonSheet, { types: ["don"], makeDefault: true });
|
||||
foundry.documents.collections.Items.registerSheet("fvtt-yggdrasill", sheets.YggdrasillFaiblesseSheet, { types: ["faiblesse"], makeDefault: true });
|
||||
foundry.documents.collections.Items.registerSheet("fvtt-yggdrasill", sheets.YggdrasillBlessureSheet, { types: ["blessure"], makeDefault: true });
|
||||
foundry.documents.collections.Items.registerSheet("fvtt-yggdrasill", sheets.YggdrasillMaladieSheet, { types: ["maladie"], makeDefault: true });
|
||||
foundry.documents.collections.Items.registerSheet("fvtt-yggdrasill", sheets.YggdrasillPoisonSheet, { types: ["poison"], makeDefault: true });
|
||||
foundry.documents.collections.Items.registerSheet("fvtt-yggdrasill", sheets.YggdrasillProuesseSheet, { types: ["prouesse"], makeDefault: true });
|
||||
foundry.documents.collections.Items.registerSheet("fvtt-yggdrasill", sheets.YggdrasillSortsejdrSheet, { types: ["sortsejdr"], makeDefault: true });
|
||||
foundry.documents.collections.Items.registerSheet("fvtt-yggdrasill", sheets.YggdrasillSortgaldrSheet, { types: ["sortgaldr"], makeDefault: true });
|
||||
foundry.documents.collections.Items.registerSheet("fvtt-yggdrasill", sheets.YggdrasillRuneSheet, { types: ["rune"], makeDefault: true });
|
||||
foundry.documents.collections.Items.registerSheet("fvtt-yggdrasill", sheets.YggdrasillArmeccSheet, { types: ["armecc"], makeDefault: true });
|
||||
foundry.documents.collections.Items.registerSheet("fvtt-yggdrasill", sheets.YggdrasillArmedistSheet, { types: ["armedist"], makeDefault: true });
|
||||
foundry.documents.collections.Items.registerSheet("fvtt-yggdrasill", sheets.YggdrasillArmureSheet, { types: ["armure"], makeDefault: true });
|
||||
foundry.documents.collections.Items.registerSheet("fvtt-yggdrasill", sheets.YggdrasillBouclierSheet, { types: ["bouclier"], makeDefault: true });
|
||||
foundry.documents.collections.Items.registerSheet("fvtt-yggdrasill", sheets.YggdrasillEquipementSheet, { types: ["equipement"], makeDefault: true });
|
||||
foundry.documents.collections.Items.registerSheet("fvtt-yggdrasill", sheets.YggdrasillMonnaieSheet, { types: ["monnaie"], makeDefault: true });
|
||||
foundry.documents.collections.Items.registerSheet("fvtt-yggdrasill", sheets.YggdrasillEffetmagiqueSheet, { types: ["effetmagique"], makeDefault: true });
|
||||
|
||||
});
|
||||
|
||||
/* -------------------------------------------- */
|
||||
function welcomeMessage() {
|
||||
async function welcomeMessage() {
|
||||
const templateData = {};
|
||||
const html = await foundry.applications.handlebars.renderTemplate("systems/fvtt-yggdrasill/templates/chat-welcome-message.hbs", templateData);
|
||||
|
||||
ChatMessage.create({
|
||||
user: game.user.id,
|
||||
whisper: [game.user.id],
|
||||
content: `<div id="welcome-message-yggdrasill"><span class="rdd-roll-part"><strong>Bienvenue à Yggdrasill !</strong>
|
||||
<p>Yggdrasill est un Jeu de Rôle publié par 7ième Cercle : https://www.7emecercle.com/7C_site/jeux-de-roles/yggdrasill/</p>
|
||||
<br>Yggdrasill est une propriété de 7ième Cercle.
|
||||
</div>
|
||||
` });
|
||||
content: html
|
||||
});
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@@ -101,3 +156,28 @@ Hooks.on("chatMessage", (html, content, msg) => {
|
||||
}
|
||||
return true;
|
||||
});
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/* Chat Message Rendering */
|
||||
/* -------------------------------------------- */
|
||||
Hooks.on("renderChatMessageHTML", (message, html, data) => {
|
||||
// Handle collapsible magic details
|
||||
html.querySelector('.magic-header.collapsible')?.addEventListener('click', function() {
|
||||
const header = this;
|
||||
const content = header.parentElement.querySelector('.magic-content');
|
||||
|
||||
// Toggle collapsed state
|
||||
content?.classList.toggle('collapsed');
|
||||
header.classList.toggle('expanded');
|
||||
});
|
||||
|
||||
// Handle collapsible weapon details
|
||||
html.querySelector('.weapon-header.collapsible')?.addEventListener('click', function() {
|
||||
const header = this;
|
||||
const content = header.parentElement.querySelector('.weapon-content');
|
||||
|
||||
// Toggle collapsed state
|
||||
content?.classList.toggle('collapsed');
|
||||
header.classList.toggle('expanded');
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user