✨
This commit is contained in:
107
pokemon.js
107
pokemon.js
@@ -1,8 +1,103 @@
|
||||
import PokemonItemSheet from "./modules/sheets/PokemonItemSheet.js";
|
||||
import { POKEMON } from "./modules/config.js";
|
||||
import pokemonActor from "./modules/objects/pokemonActor.js";
|
||||
import pokemonCharacterSheet from "./modules/sheets/pokemonCharacterSheet.js";
|
||||
|
||||
Hooks.once("init", function() {
|
||||
console.log("pokemon | Initializing the Pokémon system");
|
||||
Hooks.once("init", async () => {
|
||||
|
||||
foundry.documents.collections.Items.unregisterSheet("core", foundry.appv1.sheets.ItemSheet);
|
||||
foundry.documents.collections.Items.registerSheet("pokemon", PokemonItemSheet, { makeDefault: true });
|
||||
});
|
||||
console.log("POKEMON | Initalizing Pokémon System");
|
||||
|
||||
// Setting up the Global Configuration Object
|
||||
CONFIG.POKEMON = POKEMON;
|
||||
CONFIG.INIT = true;
|
||||
CONFIG.Actor.documentClass = pokemonActor;
|
||||
|
||||
// Register custom Sheets and unregister the start Sheets
|
||||
// Items.unregisterSheet("core", ItemSheet);
|
||||
|
||||
const DocumentSheetConfig = foundry.applications.apps.DocumentSheetConfig;
|
||||
DocumentSheetConfig.unregisterSheet(Actor, "core", foundry.appv1.sheets.ActorSheet);
|
||||
DocumentSheetConfig.registerSheet(Actor, "pokemon", pokemonCharacterSheet, {
|
||||
types: ["character"],
|
||||
makeDefault: true,
|
||||
label: "POKEMON.SheetClassCharacter"
|
||||
})
|
||||
|
||||
// Load all Partial-Handlebar Files
|
||||
preloadHandlebarsTemplates();
|
||||
|
||||
// Register Additional Handelbar Helpers
|
||||
registerHandlebarsHelpers();
|
||||
});
|
||||
|
||||
Hooks.once("ready", async () => {
|
||||
|
||||
// Finished Initalization Phase and release lock
|
||||
CONFIG.INIT = false;
|
||||
|
||||
// Only execute when run as Gamemaster
|
||||
if(!game.user.isGM) return;
|
||||
});
|
||||
|
||||
function preloadHandlebarsTemplates() {
|
||||
|
||||
const templatePaths = [
|
||||
|
||||
"systems/pokemon/templates/partials/character-sheet-character.hbs",
|
||||
"systems/pokemon/templates/partials/character-sheet-background.hbs",
|
||||
"systems/pokemon/templates/partials/character-sheet-moves.hbs"
|
||||
|
||||
];
|
||||
|
||||
return foundry.applications.handlebars.loadTemplates(templatePaths);
|
||||
};
|
||||
|
||||
function registerHandlebarsHelpers() {
|
||||
|
||||
Handlebars.registerHelper("equals", function(v1, v2) { return (v1 === v2)});
|
||||
|
||||
Handlebars.registerHelper("contains", function(element, search) { return (element.includes(search))});
|
||||
|
||||
Handlebars.registerHelper("concat", function(s1, s2, s3 = "") { return s1 + s2 + s3;});
|
||||
|
||||
Handlebars.registerHelper("isGreater", function(p1, p2) { return (p1 > p2)});
|
||||
|
||||
Handlebars.registerHelper("isEqualORGreater", function(p1, p2) { return (p1 >= p2)});
|
||||
|
||||
Handlebars.registerHelper("ifOR", function(conditional1, conditional2) { return (conditional1 || conditional2)});
|
||||
|
||||
Handlebars.registerHelper("doLog", function(value) { console.log(value)});
|
||||
|
||||
Handlebars.registerHelper("toBoolean", function(string) { return (string === "true")});
|
||||
|
||||
Handlebars.registerHelper('for', function(from, to, incr, content) {
|
||||
|
||||
let result = "";
|
||||
|
||||
for(let i = from; i < to; i += incr)
|
||||
result += content.fn(i);
|
||||
|
||||
return result;
|
||||
});
|
||||
|
||||
Handlebars.registerHelper("times", function(n, content) {
|
||||
|
||||
let result = "";
|
||||
|
||||
for(let i = 0; i < n; i++)
|
||||
result += content.fn(i);
|
||||
|
||||
return result;
|
||||
});
|
||||
|
||||
Handlebars.registerHelper("notEmpty", function(value) {
|
||||
|
||||
if (value == 0 || value == "0") return true;
|
||||
if (value == null|| value == "") return false;
|
||||
return true;
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/* General Functions */
|
||||
/* -------------------------------------------- */
|
||||
Reference in New Issue
Block a user