funny-repo/manifests/demonologist.rmanifest

68 lines
2.6 KiB
Plaintext

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")
}