class Manifest { static useLib = ["path", "open", "fs", "torrent", "extract"] static id = "demonologist" static version = "02022024-1" static pkg_name = "Demonologist" static description = "Demonologist is a cooperative horror game that can be played with at least 1 and up to 4 players. Your objective is to identify the type of evil spirit in cursed places and exorcise it using your equipment, alone or with your team." static icon = "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/1929610/8fb0591b7daff6c8ff2ffadbdbae530b099066cc.ico" static author = "Clock Wizard Games" static os_compatible = ["win32"] // needed a +v20 for torrent download static core_minimum_version = "0.20.0" static BaseMagnet = "magnet:?xt=urn:btih:5G6BVJ576WSBLEKPN6FFX3LKMSSRW3TZ&dn=Demonologist&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce" static ExtractPassword = "online-fix.me" installSteps = [ { type: "torrent", magnet: Manifest.BaseMagnet, path: `${install_path}/torrent_files`, } ] updateSteps = [ this.installSteps[0] ] afterInstall = async () => { const torrentFilesPath = Lib.path.resolve(install_path, "torrent_files") const extractionDataPath = Lib.path.resolve(install_path, "data") //* declare files const dataBundle = Lib.path.resolve(torrentFilesPath, "Demonologist", "Demonologist.Build.02022024-OFME.part1.rar") const fixBundle = Lib.path.resolve(torrentFilesPath, "Demonologist", "Fix Repair", "Demonologist_Fix_Repair_Steam_V2_Generic.rar") // extract parts await Lib.extract.extractFull(dataBundle, extractionDataPath, { recursive: true, password: Manifest.ExtractPassword, }) // extract fix await Lib.extract.extractFull(fixBundle, Lib.path.resolve(extractionDataPath, "Demonologist"), { recursive: true, password: Manifest.ExtractPassword, }) // scan for files const files = await Lib.fs.readDir(Lib.path.resolve(extractionDataPath, "Demonologist")) // move files for await (const file of files) { const src = Lib.path.resolve(extractionDataPath, "Demonologist", file) const dest = Lib.path.resolve(install_path, file) await Lib.fs.rename(src, dest) } // cleanup await Lib.fs.rm(torrentFilesPath, { recursive: true }) await Lib.fs.rm(extractionDataPath, { recursive: true }) } execute = Lib.path.resolve(install_path, "Demonologist.exe") }