Handle GetLineupAvatarDataCsReq
This commit is contained in:
parent
73841ac1d9
commit
7a1d72ed63
46
src/server/packets/GetLineupAvatarDataCsReq.ts
Normal file
46
src/server/packets/GetLineupAvatarDataCsReq.ts
Normal file
@ -0,0 +1,46 @@
|
||||
import { AvatarType, ExtraLineupType, GetLineupAvatarDataScRsp } from "../../data/proto/StarRail";
|
||||
import Packet from "../kcp/Packet";
|
||||
import Session from "../kcp/Session";
|
||||
|
||||
export default async function handle(session: Session, packet: Packet) {
|
||||
let lineup = await session.player.getLineup();
|
||||
|
||||
// This is a HORRIBLE solution, but tbh I just can't reproduce the bug so:
|
||||
if (!lineup) {
|
||||
session.c.error("Error! lineup is undefined. Falling back to default lineup.", false);
|
||||
lineup = {
|
||||
avatarList: [{
|
||||
avatarType: AvatarType.AVATAR_FORMAL_TYPE,
|
||||
hp: 10000,
|
||||
id: 1001,
|
||||
sp: 10000,
|
||||
satiety: 100,
|
||||
slot: 0,
|
||||
}],
|
||||
extraLineupType: ExtraLineupType.LINEUP_NONE,
|
||||
index: 0,
|
||||
isVirtual: false,
|
||||
leaderSlot: 0,
|
||||
mp: 100,
|
||||
planeId: 10001,
|
||||
name: "Fallback"
|
||||
}
|
||||
session.player.setLineup(lineup, 0, 0);
|
||||
session.player.save();
|
||||
}
|
||||
|
||||
const dataObj: GetLineupAvatarDataScRsp = {
|
||||
retcode: 0,
|
||||
avatarDataList: []
|
||||
}
|
||||
|
||||
for (const avatar of lineup.avatarList) {
|
||||
dataObj.avatarDataList.push({
|
||||
avatarType: avatar.avatarType,
|
||||
hp: avatar.hp,
|
||||
id: avatar.id,
|
||||
});
|
||||
}
|
||||
|
||||
session.send("GetLineupAvatarDataScRsp", dataObj);
|
||||
}
|
Loading…
Reference in New Issue
Block a user