feat: import automatique des anomalies au premier lancement
- Réglage monde 'anomaliesImported' (caché) pour import unique - _setupAnomaliesFolder() : crée dossier 'Anomalies' (Items) + importAll - Appelé dans le hook ready, GM uniquement, une seule fois Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -145,6 +145,7 @@ Hooks.once("ready", () => {
|
||||
if (game.user.isGM) {
|
||||
_migrateObsoleteItems()
|
||||
_migrateIntegerTracks()
|
||||
_setupAnomaliesFolder()
|
||||
}
|
||||
})
|
||||
|
||||
@@ -294,6 +295,13 @@ function _registerSettings() {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
})
|
||||
// Suivi de l'import des anomalies (caché)
|
||||
game.settings.register(SYSTEM_ID, "anomaliesImported", {
|
||||
scope: "world",
|
||||
config: false,
|
||||
type: Boolean,
|
||||
default: false,
|
||||
})
|
||||
}
|
||||
|
||||
/* ─── Template preload ───────────────────────────────────────────────────── */
|
||||
@@ -334,6 +342,38 @@ function _onSocketMessage(data) {
|
||||
}
|
||||
}
|
||||
|
||||
/* ─── Import initial des anomalies du compendium dans le monde ─────────── */
|
||||
|
||||
/**
|
||||
* Au premier lancement (GM uniquement), crée le dossier « Anomalies » dans
|
||||
* les Items du monde et y importe tous les items du compendium anomalies.
|
||||
*/
|
||||
async function _setupAnomaliesFolder() {
|
||||
if (game.settings.get(SYSTEM_ID, "anomaliesImported")) return
|
||||
|
||||
const pack = game.packs.get(`${SYSTEM_ID}.anomalies`)
|
||||
if (!pack) {
|
||||
console.warn(`${SYSTEM_ID} | Compendium anomalies introuvable`)
|
||||
return
|
||||
}
|
||||
|
||||
console.log(`${SYSTEM_ID} | Premier lancement : import des anomalies dans le monde`)
|
||||
|
||||
// Créer le dossier « Anomalies » dans les Items
|
||||
const folder = await Folder.create({
|
||||
name: "Anomalies",
|
||||
type: "Item",
|
||||
color: "#1b3828",
|
||||
})
|
||||
|
||||
// Importer tous les items du compendium dans ce dossier
|
||||
await pack.importAll({ folderId: folder.id, keepId: true })
|
||||
|
||||
await game.settings.set(SYSTEM_ID, "anomaliesImported", true)
|
||||
console.log(`${SYSTEM_ID} | Anomalies importées avec succès dans le dossier "${folder.name}"`)
|
||||
ui.notifications.info("Célestopol 1922 | Anomalies importées dans le dossier Items.")
|
||||
}
|
||||
|
||||
/* ─── Nom par défaut des items à la création ─────────────────────────────── */
|
||||
|
||||
Hooks.on("preCreateItem", (item, data) => {
|
||||
|
||||
Reference in New Issue
Block a user