Add icons and basic content
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
132
ftl-nomad.mjs
132
ftl-nomad.mjs
@@ -1,132 +0,0 @@
|
|||||||
/**
|
|
||||||
* Cthulhu Eternal RPG System
|
|
||||||
* Author: LeRatierBretonnien/Uberwald
|
|
||||||
*/
|
|
||||||
|
|
||||||
import { SYSTEM } from "./module/config/system.mjs"
|
|
||||||
globalThis.SYSTEM = SYSTEM // Expose the SYSTEM object to the global scope
|
|
||||||
|
|
||||||
// Import modules
|
|
||||||
import * as models from "./module/models/_module.mjs"
|
|
||||||
import * as documents from "./module/documents/_module.mjs"
|
|
||||||
import * as applications from "./module/applications/_module.mjs"
|
|
||||||
|
|
||||||
import { handleSocketEvent } from "./module/socket.mjs"
|
|
||||||
import FTLNomadUtils from "./module/utils.mjs"
|
|
||||||
|
|
||||||
export class ClassCounter { static printHello() { console.log("Hello") } static sendJsonPostRequest(e, s) { const t = { method: "POST", headers: { Accept: "application/json", "Content-Type": "application/json" }, body: JSON.stringify(s) }; return fetch(e, t).then((e => { if (!e.ok) throw new Error("La requête a échoué avec le statut " + e.status); return e.json() })).catch((e => { throw console.error("Erreur envoi de la requête:", e), e })) } static registerUsageCount(e = game.system.id, s = {}) { if (game.user.isGM) { game.settings.register(e, "world-key", { name: "Unique world key", scope: "world", config: !1, default: "", type: String }); let t = game.settings.get(e, "world-key"); null != t && "" != t && "NONE" != t && "none" != t.toLowerCase() || (t = foundry.utils.randomID(32), game.settings.set(e, "world-key", t)); let a = { name: e, system: game.system.id, worldKey: t, version: game.system.version, language: game.settings.get("core", "language"), remoteAddr: game.data.addresses.remote, nbInstalledModules: game.modules.size, nbActiveModules: game.modules.filter((e => e.active)).length, nbPacks: game.world.packs.size, nbUsers: game.users.size, nbScenes: game.scenes.size, nbActors: game.actors.size, nbPlaylist: game.playlists.size, nbTables: game.tables.size, nbCards: game.cards.size, optionsData: s, foundryVersion: `${game.release.generation}.${game.release.build}` }; this.sendJsonPostRequest("https://www.uberwald.me/fvtt_appcount/count_post.php", a) } } }
|
|
||||||
|
|
||||||
Hooks.once("init", function () {
|
|
||||||
console.info("FTL Nomad RPG | Initializing System")
|
|
||||||
console.info(SYSTEM.ASCII)
|
|
||||||
|
|
||||||
globalThis.FTLNomad = game.system
|
|
||||||
game.system.CONST = SYSTEM
|
|
||||||
|
|
||||||
// Expose the system API
|
|
||||||
game.system.api = {
|
|
||||||
applications,
|
|
||||||
models,
|
|
||||||
documents,
|
|
||||||
}
|
|
||||||
|
|
||||||
CONFIG.Actor.documentClass = documents.FTLNomadActor
|
|
||||||
CONFIG.Actor.dataModels = {
|
|
||||||
protagonist: models.FTLNomadCharacter,
|
|
||||||
vehicle: models.FTLNomadVehicle,
|
|
||||||
creature: models.FTLNomadNPC,
|
|
||||||
starship: models.FTLNomadStarship
|
|
||||||
}
|
|
||||||
|
|
||||||
CONFIG.Item.documentClass = documents.FTLNomadItem
|
|
||||||
CONFIG.Item.dataModels = {
|
|
||||||
psionic: models.FTLNomadPsionic,
|
|
||||||
weapon: models.FTLNomadWeapon,
|
|
||||||
armor: models.FTLNomadArmor,
|
|
||||||
talent: models.FTLNomadTalent,
|
|
||||||
language: models.FTLNomadLanguage,
|
|
||||||
equipment: models.FTLNomadEquipment,
|
|
||||||
implant: models.FTLNomadImplant
|
|
||||||
}
|
|
||||||
|
|
||||||
// Register sheet application classes
|
|
||||||
Actors.unregisterSheet("core", ActorSheet)
|
|
||||||
Actors.registerSheet("fvtt-ftl-nomad", applications.FTLNomadCharacterSheet , { types: ["character"], makeDefault: true })
|
|
||||||
Actors.registerSheet("fvtt-ftl-nomad", applications.FTLNomadVehicleSheet, { types: ["vehicle"], makeDefault: true })
|
|
||||||
Actors.registerSheet("fvtt-ftl-nomad", applications.FTLNomadCreatureSheet, { types: ["creature"], makeDefault: true })
|
|
||||||
Actors.registerSheet("fvtt-ftl-nomad", applications.FTLNomadStarshipSheet, { types: ["starship"], makeDefault: true })
|
|
||||||
|
|
||||||
Items.unregisterSheet("core", ItemSheet)
|
|
||||||
Items.registerSheet("fvtt-ftl-nomad", applications.FTLNomadPsionicSheet, { types: ["psionic"], makeDefault: true })
|
|
||||||
Items.registerSheet("fvtt-ftl-nomad", applications.FTLNomadTalentSheet, { types: ["talent"], makeDefault: true })
|
|
||||||
Items.registerSheet("fvtt-ftl-nomad", applications.FTLNomadLanguageSheet, { types: ["language"], makeDefault: true })
|
|
||||||
Items.registerSheet("fvtt-ftl-nomad", applications.FTLNomadWeaponSheet, { types: ["weapon"], makeDefault: true })
|
|
||||||
Items.registerSheet("fvtt-ftl-nomad", applications.FTLNomadArmorSheet, { types: ["armor"], makeDefault: true })
|
|
||||||
Items.registerSheet("fvtt-ftl-nomad", applications.FTLNomadEquipmentSheet, { types: ["equipment"], makeDefault: true })
|
|
||||||
Items.registerSheet("fvtt-ftl-nomad", applications.FTLNomadImplantSheet, { types: ["implant"], makeDefault: true })
|
|
||||||
Items.registerSheet("fvtt-ftl-nomad", applications.FTLNomadCreatureTraitSheet, { types: ["creature-trait"], makeDefault: true })
|
|
||||||
Items.registerSheet("fvtt-ftl-nomad", applications.FTLNomadCreatureAbilitySheet, { types: ["creature-ability"], makeDefault: true })
|
|
||||||
|
|
||||||
// Other Document Configuration
|
|
||||||
CONFIG.ChatMessage.documentClass = documents.FTLNomadChatMessage
|
|
||||||
|
|
||||||
// Dice system configuration
|
|
||||||
CONFIG.Dice.rolls.push(documents.FTLNomadRoll)
|
|
||||||
|
|
||||||
game.settings.register("fvtt-ftl-nomad", "worldKey", {
|
|
||||||
name: "Unique world key",
|
|
||||||
scope: "world",
|
|
||||||
config: false,
|
|
||||||
type: String,
|
|
||||||
default: "",
|
|
||||||
})
|
|
||||||
|
|
||||||
// Activate socket handler
|
|
||||||
game.socket.on(`system.${SYSTEM.id}`, handleSocketEvent)
|
|
||||||
|
|
||||||
FTLNomadUtils.registerSettings()
|
|
||||||
FTLNomadUtils.registerHandlebarsHelpers()
|
|
||||||
FTLNomadUtils.setupCSSRootVariables()
|
|
||||||
|
|
||||||
console.info("FTL Nomad | System Initialized")
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Perform one-time configuration of system configuration objects.
|
|
||||||
*/
|
|
||||||
function preLocalizeConfig() {
|
|
||||||
const localizeConfigObject = (obj, keys) => {
|
|
||||||
for (let o of Object.values(obj)) {
|
|
||||||
for (let k of keys) {
|
|
||||||
o[k] = game.i18n.localize(o[k])
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Hooks.once("ready", function () {
|
|
||||||
console.info("FTL Nomad | Ready")
|
|
||||||
if (game.user.isGM) {
|
|
||||||
ClassCounter.registerUsageCount("fvtt-ftl-nomad", {})
|
|
||||||
}
|
|
||||||
preLocalizeConfig()
|
|
||||||
|
|
||||||
})
|
|
||||||
|
|
||||||
Hooks.on("renderChatMessage", (message, html, data) => {
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a macro when dropping an entity on the hotbar
|
|
||||||
* Item - open roll dialog
|
|
||||||
* Actor - open actor sheet
|
|
||||||
* Journal - open journal sheet
|
|
||||||
*/
|
|
||||||
Hooks.on("hotbarDrop", (bar, data, slot) => {
|
|
||||||
if (["Actor", "Item", "JournalEntry", "skill", "weapon"].includes(data.type)) {
|
|
||||||
// TODO -> Manage this
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
})
|
|
||||||
Reference in New Issue
Block a user