|
|
-
- /**
- * Override which attributes of an Actor should be kept from the exported adventure data rather than imported from
- * the source compendium.
- */
- const ACTOR_IMPORT_OVERRIDES = {
- "oSQ3Q9tzTohksAtf": ["system"], // Crawling Hand (elite)
- "QnbMaJPU7jG4uhaC": ["system"], // Soul Feeder (elite)
- "GsrqCDf0Dc9PisEt": ["system"], // Violet Fungus (weak)
- "RFCxaIS4OkacCpxD": ["system"], // Bog-rotted Froghemoth (weak)
- "pFPLCspUfJ2FUMcj": ["system"], // Falxi Orshendiel
- "GoGNtiHuYycppLPk": ["system"], // Cynemi
- "u36SRb3lyB4beHCN": ["system"], // Lasda Venkervale
- "HBRz8BVLVN9u9Odp": ["items"] // Corpselight
- }
-
- // Abomination Vaults
- const ABOMINATION_VAULTS = {
- slug: "abomination-vaults",
- title: "Abomination Vaults",
- actorOverrides: ACTOR_IMPORT_OVERRIDES,
- importOptions: {
- enhancedMaps: {
- label: "Use Enhanced Maps",
- default: true,
- sceneIds: {
- original: ['MSHO9s465zhZIuH7', '2dHU2g8WUOc4NZlq', 'TE8aNKdE5NKGSgoV', 'l9piQKpfF80Tf4Ee', 'D3ZsHuxFbD9XJ8xm', 'C1FHtLrwQGvYvHEj', 'xlVpxXlwLDBkigNr', 'jZ6KNRkZJbhIFTUH', 'k9jeCoWPx2z9Q3WU', '6JuLFPWO21xzKgbc', 'RYdmLnFJOm9YjMjc', '5yFFxnSZdYE1NWYM', 'sY80sj7X5MD0mH2A'],
- enhanced: ['MSHO9s465zhZIuH7', 'lQkXSdxvO9CRxohD', '9hB3ZY7buScJPXEy', '3Nat4ImT49niZUdr', 'BDb75TAOyhTzNzte', 'N4Gsv8cBg1oK6EGS', 'Y4pI9rvbaVvmK2kn', 'B9O44gBwHIUTRasQ', '2bM6K9jKWHJoYURa', 'lKRTHUBDXYzwd80e', 'MrRFPOICNcpBbfca', 'Z5ExlCWEpqm0SMe1', 'kxMIly2TCSidrRf1', 'SkPDNmMoL4M4r1it', 'o3zbh5CXtTQiWKwZ', '3Z2uyLiembwA6fft', 'pRvx3DZRnH50eV6d']
- },
- handler (adventure, option, enabled) {
- const sceneIds = option.sceneIds;
- const original = new Set(sceneIds.original);
- const enhanced = new Set(sceneIds.enhanced);
- const updates = sceneIds.original.concat(sceneIds.enhanced).reduce((acc, id) => {
- if ( game.scenes.has(id) ) acc.push({
- _id: id,
- navigation: (enabled && enhanced.has(id)) || (!enabled && original.has(id))
- });
- return acc;
- }, []);
- return Scene.implementation.updateDocuments(updates);
- }
- },
- activateScene: {
- label: "Activate Initial Scene",
- default: true,
- handler: (adventure, option, enabled) => {
- if ( !enabled ) return;
- return game.scenes.get(option.sceneId)?.activate();
- },
- sceneId: "MSHO9s465zhZIuH7"
- },
- displayJournal: {
- label: "Display Introduction Journal Entry",
- default: true,
- handler: (adventure, option, enabled) => {
- if ( !enabled ) return;
- return game.journal.get(option.entryId)?.sheet.render(true);
- },
- entryId: "3iU3rV1nbiW2OYXM"
- },
- customizeJoin: {
- label: "Customize World Details",
- default: false,
- background: "modules/pf2e-abomination-vaults/assets/journal-images/vignettes/av-cover.webp",
- handler: async (adventure, option, enabled) => {
- if ( !enabled ) return;
- const module = game.modules.get("pf2e-abomination-vaults");
- const worldData = {
- action: "editWorld",
- id: game.world.id,
- description: module.description,
- background: option.background
- }
- await fetchJsonWithTimeout(foundry.utils.getRoute("setup"), {
- method: "POST",
- headers: {'Content-Type': 'application/json'},
- body: JSON.stringify(worldData)
- });
- game.world.data.update(worldData);
- }
- }
- },
-
- // The ID of the 'Getting Started' journal to determine if the adventure has been imported before.
- gettingStartedId: "3iU3rV1nbiW2OYXM"
- };
-
- export default {
- moduleId: "pf2e-abomination-vaults",
- packName: "av",
- journalFlag: "isAV",
- cssClass: "pf2e-av",
- adventure: ABOMINATION_VAULTS,
- languages: ["en"]
- }
|