diff --git a/.gitignore b/.gitignore index 866016f..b842dbd 100644 --- a/.gitignore +++ b/.gitignore @@ -109,5 +109,4 @@ dist # CrepeSR config.json -src/data/* -banners.json \ No newline at end of file +src/data/* \ No newline at end of file diff --git a/src/index.ts b/src/index.ts index 2033a23..e3db77e 100644 --- a/src/index.ts +++ b/src/index.ts @@ -6,13 +6,11 @@ import Interface from "./commands/Interface"; import HttpServer from "./http/HttpServer"; import SRServer from "./server/kcp/SRServer"; -import Banners from "./util/Banner"; import Logger from "./util/Logger"; import ProtoFactory from "./util/ProtoFactory" const c = new Logger("CrepeSR"); c.log(`Starting CrepeSR...`); -Banners.init(); ProtoFactory.init(); Interface.start(); HttpServer.getInstance().start(); diff --git a/src/server/packets/GetGachaInfoCsReq.ts b/src/server/packets/GetGachaInfoCsReq.ts index 382b094..41fc8dd 100644 --- a/src/server/packets/GetGachaInfoCsReq.ts +++ b/src/server/packets/GetGachaInfoCsReq.ts @@ -1,22 +1,21 @@ -import { GachaInfo, GetGachaInfoCsReq, GetGachaInfoScRsp } from "../../data/proto/StarRail"; +import { GetGachaInfoScRsp } from "../../data/proto/StarRail"; import Packet from "../kcp/Packet"; import Session from "../kcp/Session"; -import Banner from './../../util/Banner'; + +const unix = () => Math.floor(Date.now() / 1000); export default async function handle(session: Session, packet: Packet) { session.send("GetGachaInfoScRsp", { - gachaRandom: 0, + gachaRandom: 2503, retcode: 0, - gachaInfoList: Banner.config.map(banner => { - return { - beginTime: 0, - endTime: 1924992000, - gachaId: banner.gachaId, - detailWebview: banner.detailWebview, - newbieGachaCnt: 0, - todayGachaCnt: 0 - } as GachaInfo - }), + gachaInfoList: [{ + beginTime: unix(), + endTime: unix() * 2, + newbieGachaCnt: 10, + todayGachaCnt: 10, + gachaId: 1001, // TODO: Figure out gachaIDs + detailWebview: "https://omfgdogs.com/" + }], todaySingleGachaMaxCnt: 10, todayTotalGachaCnt: 10, } as GetGachaInfoScRsp); diff --git a/src/util/Banner.ts b/src/util/Banner.ts deleted file mode 100644 index 18491e3..0000000 --- a/src/util/Banner.ts +++ /dev/null @@ -1,61 +0,0 @@ -import fs from 'fs'; -import { resolve } from 'path'; -import { VerboseLevel } from './Logger'; - -type Banner = { - gachaId: number, - detailWebview: string, - rateUpItems4: number[], - rateUpItems5: number[], - costItemId: number -} - -function r(...args: string[]) { - return fs.readFileSync(resolve(__dirname, ...args)).toString(); -} - -export default class Banners { - public static config: Banner[]; - - public static init(){ - Banners.readConfig(); - } - - private static readConfig(){ - let config: Banner[]; - let defaultConfig: Banner[] = [ - { - gachaId: 1001, - detailWebview: "", - rateUpItems4: [ - 1001, 1103 - ], - rateUpItems5: [ - 1102 - ], - costItemId: -1 //unused for now - } as Banner - ]; - - try { - config = JSON.parse(r('../../banners.json')); - - for(let [index, gachaBanner] of Object.entries(config)){ - const missing = Object.keys(defaultConfig[0]).filter(key => !gachaBanner.hasOwnProperty(key)); - if (missing.length > 0) { - console.log(`Missing ${missing.join(', ')}, using default values. Backup of your older config: ${JSON.stringify(gachaBanner, null, 2)}`); - config[parseInt(index)] = defaultConfig[0]; - } - } - Banners.updateConfig(config); - } catch { - console.error("Could not read banners file. Creating one for you..."); - Banners.updateConfig(defaultConfig); - } - } - - private static updateConfig(config: Banner[]) { - this.config = config; - fs.writeFileSync('./banners.json', JSON.stringify(config, null, 2)); - } -}