nothing happened

This commit is contained in:
TheLostTree 2022-08-02 22:27:13 -07:00
parent 8f53466970
commit 44eb6177f0
4 changed files with 13 additions and 78 deletions

3
.gitignore vendored
View File

@ -109,5 +109,4 @@ dist
# CrepeSR # CrepeSR
config.json config.json
src/data/* src/data/*
banners.json

View File

@ -6,13 +6,11 @@
import Interface from "./commands/Interface"; import Interface from "./commands/Interface";
import HttpServer from "./http/HttpServer"; import HttpServer from "./http/HttpServer";
import SRServer from "./server/kcp/SRServer"; import SRServer from "./server/kcp/SRServer";
import Banners from "./util/Banner";
import Logger from "./util/Logger"; import Logger from "./util/Logger";
import ProtoFactory from "./util/ProtoFactory" import ProtoFactory from "./util/ProtoFactory"
const c = new Logger("CrepeSR"); const c = new Logger("CrepeSR");
c.log(`Starting CrepeSR...`); c.log(`Starting CrepeSR...`);
Banners.init();
ProtoFactory.init(); ProtoFactory.init();
Interface.start(); Interface.start();
HttpServer.getInstance().start(); HttpServer.getInstance().start();

View File

@ -1,22 +1,21 @@
import { GachaInfo, GetGachaInfoCsReq, GetGachaInfoScRsp } from "../../data/proto/StarRail"; import { GetGachaInfoScRsp } from "../../data/proto/StarRail";
import Packet from "../kcp/Packet"; import Packet from "../kcp/Packet";
import Session from "../kcp/Session"; 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) { export default async function handle(session: Session, packet: Packet) {
session.send("GetGachaInfoScRsp", { session.send("GetGachaInfoScRsp", {
gachaRandom: 0, gachaRandom: 2503,
retcode: 0, retcode: 0,
gachaInfoList: Banner.config.map(banner => { gachaInfoList: [{
return { beginTime: unix(),
beginTime: 0, endTime: unix() * 2,
endTime: 1924992000, newbieGachaCnt: 10,
gachaId: banner.gachaId, todayGachaCnt: 10,
detailWebview: banner.detailWebview, gachaId: 1001, // TODO: Figure out gachaIDs
newbieGachaCnt: 0, detailWebview: "https://omfgdogs.com/"
todayGachaCnt: 0 }],
} as GachaInfo
}),
todaySingleGachaMaxCnt: 10, todaySingleGachaMaxCnt: 10,
todayTotalGachaCnt: 10, todayTotalGachaCnt: 10,
} as GetGachaInfoScRsp); } as GetGachaInfoScRsp);

View File

@ -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));
}
}