2022-03-21 23:21:05 +01:00
|
|
|
/* -------------------------------------------- */
|
2021-07-08 10:12:12 +02:00
|
|
|
// Import Modules
|
2022-03-21 23:21:05 +01:00
|
|
|
import { BoLActor } from "./actor/actor.js"
|
|
|
|
import { BoLActorSheet } from "./actor/actor-sheet.js"
|
2022-10-10 08:46:41 +02:00
|
|
|
import { BoLVehicleSheet } from "./actor/vehicle-sheet.js"
|
2022-03-21 23:21:05 +01:00
|
|
|
import { BoLItem } from "./item/item.js"
|
|
|
|
import { BoLItemSheet } from "./item/item-sheet.js"
|
|
|
|
import { System, BOL } from "./system/config.js"
|
|
|
|
import { preloadHandlebarsTemplates } from "./system/templates.js"
|
|
|
|
import { registerHandlebarsHelpers } from "./system/helpers.js"
|
|
|
|
import registerHooks from "./system/hooks.js"
|
|
|
|
import { Macros } from "./system/macros.js"
|
|
|
|
import { BoLUtility } from "./system/bol-utility.js"
|
|
|
|
import { BoLCombatManager } from "./system/bol-combat.js"
|
|
|
|
import { BoLTokenHud } from "./system/bol-action-hud.js"
|
2022-03-27 22:56:43 +02:00
|
|
|
import { BoLHotbar } from "./system/bol-hotbar.js"
|
2022-05-19 23:30:29 +02:00
|
|
|
import { BoLAdventureGenerator } from "./system/bol-adventure-generator.js"
|
2022-05-20 21:50:18 +02:00
|
|
|
import { BoLCommands} from "./system/bol-commands.js"
|
2022-11-25 20:47:28 +01:00
|
|
|
import { BoLCharacterSummary} from "./system/bol-character-summary.js"
|
2021-07-08 10:12:12 +02:00
|
|
|
|
2022-03-21 23:21:05 +01:00
|
|
|
/* -------------------------------------------- */
|
2021-07-08 10:12:12 +02:00
|
|
|
Hooks.once('init', async function () {
|
|
|
|
|
2021-12-29 19:15:06 +01:00
|
|
|
game.bol = {
|
|
|
|
BoLActor,
|
|
|
|
BoLItem,
|
2022-03-27 22:56:43 +02:00
|
|
|
BoLHotbar,
|
2021-12-29 19:15:06 +01:00
|
|
|
macros: Macros,
|
|
|
|
config: BOL
|
|
|
|
};
|
|
|
|
|
|
|
|
// Game socket
|
|
|
|
game.socket.on("system.bol", sockmsg => {
|
|
|
|
BoLUtility.onSocketMessage(sockmsg);
|
2022-05-20 21:50:18 +02:00
|
|
|
})
|
2021-12-29 19:15:06 +01:00
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Set an initiative formula for the system
|
|
|
|
* @type {String}
|
|
|
|
*/
|
|
|
|
CONFIG.Combat.initiative = {
|
|
|
|
formula: "2d6+@attributes.mind.value+@aptitudes.init.value",
|
2022-11-30 20:58:27 +01:00
|
|
|
decimals: 2
|
2021-12-29 19:15:06 +01:00
|
|
|
};
|
2022-01-16 22:58:28 +01:00
|
|
|
|
2021-12-29 19:15:06 +01:00
|
|
|
// Define custom Entity classes
|
|
|
|
CONFIG.Actor.documentClass = BoLActor;
|
|
|
|
CONFIG.Item.documentClass = BoLItem;
|
2022-01-16 22:53:41 +01:00
|
|
|
CONFIG.Combat.documentClass = BoLCombatManager;
|
2021-12-29 19:15:06 +01:00
|
|
|
|
|
|
|
// Register sheet application classes
|
|
|
|
Actors.unregisterSheet("core", ActorSheet);
|
2022-10-10 08:46:41 +02:00
|
|
|
Actors.registerSheet("bol", BoLActorSheet, { types: ["character", "encounter"], makeDefault: true })
|
|
|
|
Actors.registerSheet("bol", BoLVehicleSheet, { types: ["vehicle"], makeDefault: true })
|
|
|
|
|
2021-12-29 19:15:06 +01:00
|
|
|
Items.unregisterSheet("core", ItemSheet);
|
|
|
|
Items.registerSheet("bol", BoLItemSheet, { makeDefault: true });
|
|
|
|
|
|
|
|
// Inot useful stuff
|
2022-03-21 23:21:05 +01:00
|
|
|
BoLUtility.init()
|
|
|
|
BoLTokenHud.init()
|
2022-03-27 22:56:43 +02:00
|
|
|
BoLHotbar.init()
|
2022-05-20 21:50:18 +02:00
|
|
|
BoLCommands.init()
|
|
|
|
BoLAdventureGenerator.init()
|
2022-03-21 23:21:05 +01:00
|
|
|
|
2021-12-29 19:15:06 +01:00
|
|
|
// Preload Handlebars Templates
|
|
|
|
await preloadHandlebarsTemplates();
|
|
|
|
|
|
|
|
// Register Handlebars helpers
|
|
|
|
registerHandlebarsHelpers();
|
|
|
|
|
|
|
|
// Register hooks
|
2022-02-12 21:49:26 +01:00
|
|
|
registerHooks()
|
|
|
|
|
2022-01-30 20:44:28 +01:00
|
|
|
});
|
|
|
|
|
|
|
|
/* -------------------------------------------- */
|
|
|
|
// 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,
|
2022-07-01 15:48:54 +02:00
|
|
|
default: "",
|
2022-01-30 20:44:28 +01:00
|
|
|
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
|
2022-07-01 15:48:54 +02:00
|
|
|
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}"`
|
2022-08-31 22:24:56 +02:00
|
|
|
//$.ajaxSetup({
|
|
|
|
//headers: { 'Access-Control-Allow-Origin': '*' }
|
|
|
|
//})
|
2022-02-19 09:10:07 +01:00
|
|
|
$.ajax(regURL)
|
2022-01-30 20:44:28 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2022-02-12 21:49:26 +01:00
|
|
|
/* -------------------------------------------- */
|
|
|
|
function welcomeMessage() {
|
|
|
|
ChatMessage.create({
|
|
|
|
user: game.user.id,
|
|
|
|
whisper: [game.user.id],
|
|
|
|
content: `<div id="welcome-message-pegasus"><span class="rdd-roll-part">
|
2022-05-12 23:21:00 +02:00
|
|
|
<strong>` + game.i18n.localize("BOL.chat.welcome1") + `</strong><p>` +
|
|
|
|
game.i18n.localize("BOL.chat.welcome2") + "<p>" +
|
|
|
|
game.i18n.localize("BOL.chat.welcome3") + "<p>" +
|
|
|
|
game.i18n.localize("BOL.chat.welcome4") + "</p>" +
|
2022-11-23 21:34:51 +01:00
|
|
|
game.i18n.localize("BOL.chat.welcome5") + "<br>" +
|
|
|
|
game.i18n.localize("BOL.chat.welcome6")
|
2022-05-12 23:21:00 +02:00
|
|
|
} )
|
2022-02-12 21:49:26 +01:00
|
|
|
}
|
|
|
|
|
2022-01-30 20:44:28 +01:00
|
|
|
/* -------------------------------------------- */
|
|
|
|
Hooks.once('ready', async function () {
|
2022-11-25 20:47:28 +01:00
|
|
|
|
2022-07-17 18:20:05 +02:00
|
|
|
BoLUtility.ready()
|
2022-11-30 12:12:44 +01:00
|
|
|
BoLCharacterSummary.ready()
|
2022-11-25 20:47:28 +01:00
|
|
|
|
2023-04-29 21:48:51 +02:00
|
|
|
registerUsageCount(game.system.id)
|
2022-02-12 21:49:26 +01:00
|
|
|
|
2022-07-17 18:20:05 +02:00
|
|
|
|
2022-02-12 21:49:26 +01:00
|
|
|
welcomeMessage()
|
2022-05-20 21:50:18 +02:00
|
|
|
})
|
2022-01-30 20:44:28 +01:00
|
|
|
|
|
|
|
|