Basic Map Info Handler, Simple Giveall and Removeall Command (#17)
* Change log color * Basic Floor Handler * Fix logger * Logger Back to All White * Add lightenSectionList to unlock area as explored * LET * Add giveall and removeall * CONST * lint * Left 1001 * Small grammar changes Co-authored-by: Areha11Fz <arifrh97z@gmail.com> Co-authored-by: memetrollsXD <memetrollsxd@gmail.com>
This commit is contained in:
parent
f7668fb783
commit
0ab4304f78
@ -1,4 +1,5 @@
|
|||||||
import Avatar from "../db/Avatar";
|
import Avatar from "../db/Avatar";
|
||||||
|
import AvatarExcelTable from "../data/excel/AvatarExcelTable.json";
|
||||||
import Logger from "../util/Logger";
|
import Logger from "../util/Logger";
|
||||||
import Interface, { Command } from "./Interface";
|
import Interface, { Command } from "./Interface";
|
||||||
const c = new Logger("/avatar", "blue");
|
const c = new Logger("/avatar", "blue");
|
||||||
@ -14,20 +15,37 @@ export default async function handle(command: Command) {
|
|||||||
const uid = Interface.target.player.db._id;
|
const uid = Interface.target.player.db._id;
|
||||||
|
|
||||||
switch (actionType) {
|
switch (actionType) {
|
||||||
default:
|
default: {
|
||||||
c.log(`Usage: /avatar <add|remove> <avatarId>`);
|
c.log(`Usage: /avatar <add|remove> <avatarId>`);
|
||||||
break;
|
break;
|
||||||
case "add":
|
}
|
||||||
|
case "add": {
|
||||||
if (!avatarId) return c.log("No avatarId specified");
|
if (!avatarId) return c.log("No avatarId specified");
|
||||||
// Check if it already exists
|
// Check if it already exists
|
||||||
const avatar = await Avatar.fromUID(uid, avatarId);
|
const avatar = await Avatar.fromUID(uid, avatarId);
|
||||||
if (avatar.length > 0) return c.log(`Avatar ${avatarId} already exists`);
|
if (avatar.length > 0) return c.log(`Avatar ${avatarId} already exists`);
|
||||||
Avatar.create(uid, avatarId).then(a => c.log(`Avatar ${avatarId} added to ${a.ownerUid}`));
|
Avatar.create(uid, avatarId).then(a => c.log(`Avatar ${avatarId} added to ${a.ownerUid}`));
|
||||||
break;
|
break;
|
||||||
case "remove":
|
}
|
||||||
|
case "remove": {
|
||||||
if (!avatarId) return c.log("No avatarId specified");
|
if (!avatarId) return c.log("No avatarId specified");
|
||||||
Avatar.remove(uid, avatarId).then(() => c.log(`Avatar ${avatarId} removed from ${uid}`));
|
Avatar.remove(uid, avatarId).then(() => c.log(`Avatar ${avatarId} removed from ${uid}`));
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
|
case "giveall": {
|
||||||
|
for (const id in AvatarExcelTable) {
|
||||||
|
Avatar.create(uid, parseInt(id)).then(() => c.log(`All avatars added to ${uid}`));
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "removeall": {
|
||||||
|
for (const id in AvatarExcelTable) {
|
||||||
|
if (!(id == '1001')) {
|
||||||
|
Avatar.remove(uid, parseInt(id)).then(() => c.log(`All avatars removed from ${uid}`));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Interface.target.sync();
|
Interface.target.sync();
|
||||||
|
24
src/server/packets/GetMazeMapInfoCsReq.ts
Normal file
24
src/server/packets/GetMazeMapInfoCsReq.ts
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
import { GetMazeMapInfoScRsp } from "../../data/proto/StarRail";
|
||||||
|
import Packet from "../kcp/Packet";
|
||||||
|
import Session from "../kcp/Session";
|
||||||
|
|
||||||
|
export default async function handle(session: Session, packet: Packet) {
|
||||||
|
const body = packet.body as GetMazeMapInfoScRsp;
|
||||||
|
|
||||||
|
const dataObj = {
|
||||||
|
retcode: 0,
|
||||||
|
entryId: body.entryId,
|
||||||
|
lightenSectionList: [],
|
||||||
|
mazePropList: [{ groupId: 0, configId: 0, state: 0 }],
|
||||||
|
mazeGroupList: [{ groupId: 0, modifyTime: 0 }],
|
||||||
|
opendChestNum: 0,
|
||||||
|
unlockTeleportList: []
|
||||||
|
} as GetMazeMapInfoScRsp;
|
||||||
|
|
||||||
|
// TODO: No excel info atm
|
||||||
|
for (let i = 0; i < 20; i++) {
|
||||||
|
dataObj.lightenSectionList.push(i)
|
||||||
|
}
|
||||||
|
|
||||||
|
session.send("GetMazeMapInfoScRsp", dataObj);
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user