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