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) {
|
if (game.user.isGM) {
|
||||||
_migrateObsoleteItems()
|
_migrateObsoleteItems()
|
||||||
_migrateIntegerTracks()
|
_migrateIntegerTracks()
|
||||||
|
_setupAnomaliesFolder()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -294,6 +295,13 @@ function _registerSettings() {
|
|||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false,
|
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 ───────────────────────────────────────────────────── */
|
/* ─── 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 ─────────────────────────────── */
|
/* ─── Nom par défaut des items à la création ─────────────────────────────── */
|
||||||
|
|
||||||
Hooks.on("preCreateItem", (item, data) => {
|
Hooks.on("preCreateItem", (item, data) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user