Files
bl/common/core/info/login/LoginUserInfo.java

173 lines
9.0 KiB
Go
Raw Normal View History

package org.nieo.seerproject.common.net.info.login;
import lombok.Data;
import org.nieo.seerproject.common.annotations.FieldDescription;
import org.nieo.seerproject.common.annotations.OutboundMessageType;
import org.nieo.seerproject.common.annotations.serialize.ArraySerialize;
import org.nieo.seerproject.common.annotations.serialize.AutoCodec;
import org.nieo.seerproject.common.annotations.serialize.UInt;
import org.nieo.seerproject.common.annotations.serialize.UShort;
import org.nieo.seerproject.common.net.MessageCommandIDRegistry;
import org.nieo.seerproject.common.net.OutboundMessage;
import org.nieo.seerproject.common.net.info.item.PeopleItemInfo;
import org.nieo.seerproject.common.net.info.pet.PetInfo;
import org.nieo.seerproject.common.net.info.team.TeamInfo;
import org.nieo.seerproject.common.net.info.team.TeamPKInfo;
import org.nieo.seerproject.common.net.serialize.ArraySerializeType;
import org.nieo.seerproject.common.structs.Point;
import org.nieo.seerproject.common.util.ArrayUtilities;
import java.util.ArrayList;
import java.util.List;
@SuppressWarnings("SpellCheckingInspection")
@Data
@AutoCodec
@FieldDescription("登录信息")
@OutboundMessageType(MessageCommandIDRegistry.Login_In)
public class LoginUserInfo implements OutboundMessage {
@FieldDescription("米米号 通过sid拿到")
private @UInt long userId;
@FieldDescription("注册时间(按秒的时间戳)")
private @UInt long registerTime;
@FieldDescription("16字节昵称")
@ArraySerialize(value = ArraySerializeType.FIXED_LENGTH, fixedLength = 16)
private String nick;
@FieldDescription("暂时不明建议先给固定值0")
private @UShort int vip;
@FieldDescription("暂时不明建议先给固定值15")
private @UShort int viped = 15;
@FieldDescription("暂时不明建议先给固定值0")
private @UInt long dsFlag;
@FieldDescription("机器人人物颜色 00 rgb")
private @UInt long color;
@FieldDescription("暂时不明建议先给固定值0")
private @UInt long texture;
@FieldDescription("暂时不明建议先给固定值3000")
private @UInt long energy = 3000;
@FieldDescription("赛尔豆")
private @UInt long coins;
@FieldDescription("暂时不明建议先给固定值0")
private @UInt long fightBadge;
@FieldDescription("上线的地图id")
private @UInt long mapID;
@FieldDescription("上线的坐标 2个uint")
private Point pos = new Point();
@FieldDescription("已经消耗掉的时间(秒为单位)")
private @UInt long timeToday;
@FieldDescription("总电池限制(秒为单位)")
private @UInt long timeLimit;
@FieldDescription("暂时不明感觉是某种活动建议先给固定值0(只能0或1)")
private byte isClothHalfDay;
@FieldDescription("暂时不明感觉是某种活动建议先给固定值0(只能0或1)")
private byte isRoomHalfDay;
@FieldDescription("暂时不明感觉是某种活动建议先给固定值0(只能0或1)")
private byte iFortressHalfDay;
@FieldDescription("暂时不明感觉是某种活动建议先给固定值0(只能0或1)")
private byte isHQHalfDay;
@FieldDescription("暂时不明建议先给固定值0")
private @UInt long loginCount;
@FieldDescription("邀请活动建议先给固定值0")
private @UInt long inviter;
@FieldDescription("邀请活动建议先给固定值0")
private @UInt long newInviteeCount;
@FieldDescription("超no等级建议固定8")
private @UInt long vipLevel = 8;
@FieldDescription("超no的vip值建议固定80000")
private @UInt long vipValue = 80000;
@FieldDescription("超no的外形等级建议固定1(暂定)")
private @UInt long vipStage = 1;
@FieldDescription("nono是否自动充电 建议固定1")
private @UInt long autoCharge = 1;
@FieldDescription("超no的结束时间建议尽可能大")
private @UInt long vipEndTime = Integer.MAX_VALUE;
@FieldDescription("邀请活动建议先给固定值0")
private @UInt long freshManBonus;
@FieldDescription("超no芯片列表*(80字节)")
@ArraySerialize(value = ArraySerializeType.FIXED_LENGTH, fixedLength = 80)
private byte[] nonoChipList = new byte[80];
@FieldDescription("50字节默认值为3")
@ArraySerialize(value = ArraySerializeType.FIXED_LENGTH, fixedLength = 50)
private byte[] dailyResArr
= ArrayUtilities.generateByteArrayWithInitialValueAndLength((byte) 3, 50);
@FieldDescription("教官id")
private @UInt long teacherID;
@FieldDescription("学员id")
private @UInt long studentID;
@FieldDescription("毕业人数")
private @UInt long graduationCount;
@FieldDescription("默认值为0")
private @UInt long maxPuniLv;
@FieldDescription("精灵的最高等级")
private @UInt long petMaxLevel;
@FieldDescription("所有的精灵的数量")
private @UInt long allPetNumber;
@FieldDescription("精灵王之战胜场")
private @UInt long monKingWin;
@FieldDescription("勇者之塔当前到达的层数")
private @UInt long currentStage;
@FieldDescription("试炼之塔最大胜利的层数")
private @UInt long maxStage;
@FieldDescription("试炼之塔当前到达的层数")
private @UInt long currentFreshStage;
@FieldDescription("试炼之塔最大胜利的层数")
private @UInt long maxFreshStage;
@FieldDescription("星际擂台连胜")
private @UInt long maxArenaWins;
@FieldDescription("未知默认0")
private @UInt long twoTimes;
@FieldDescription("未知默认0")
private @UInt long threeTimes;
@FieldDescription("是否自动战斗(未知默认值0)")
private @UInt long autoFight;
@FieldDescription("自动战斗剩余的场次(未知默认值0)")
private @UInt long autoFightTime;
@FieldDescription("能量吸收仪剩余次数(未知待定默认值0)")
private @UInt long energyTime;
@FieldDescription("学习力吸收仪剩余次数(未知待定默认值0)")
private @UInt long learnTimes;
@FieldDescription("未知默认0")
private @UInt long monBattleMedal;
@FieldDescription("未知默认0")
private @UInt long recordCount;
@FieldDescription("未知默认0")
private @UInt long obtainTm;
@FieldDescription("当前在孵化的元神珠id")
private @UInt long soulBeadItemID;
@FieldDescription("未知默认0")
private @UInt long expireTm;
@FieldDescription("未知默认0")
private @UInt long fuseTimes;
@FieldDescription("玩家有没有nono")
private @UInt long hasNono = 1;
@FieldDescription("玩家有没有超能nono")
private @UInt long superNono = 1;
@FieldDescription("默认值-1")
private @UInt long nonoState = 0xFFFFFFFFL;
@FieldDescription("nono的颜色")
private @UInt long nonoColor;
@FieldDescription("nono的名字 必须要补齐到16位")
@ArraySerialize(value = ArraySerializeType.FIXED_LENGTH, fixedLength = 16)
private String nonoNick = "nono";
@FieldDescription("猜测为战队信息24字节")
private TeamInfo teamInfo = new TeamInfo();
@FieldDescription("8字节")
private TeamPKInfo teamPkInfo = new TeamPKInfo();
@FieldDescription("1字节 无内容")
private byte reserved;
@FieldDescription("默认值为0")
private @UInt long badge;
@FieldDescription("未知(27字节默认值为3)")
@ArraySerialize(value = ArraySerializeType.FIXED_LENGTH, fixedLength = 27)
private byte[] reserved1
= ArrayUtilities.generateByteArrayWithInitialValueAndLength((byte) 3, 27);
@FieldDescription("任务状态数组(500字节3为已经完成建议默认值为3)")
@ArraySerialize(value = ArraySerializeType.FIXED_LENGTH, fixedLength = 500)
private byte[] taskList
= ArrayUtilities.generateByteArrayWithInitialValueAndLength((byte) 3, 500);
@FieldDescription("精灵背包内的信息由于特性精灵的存在精灵背包不定长 如果有特性占199字节 如果没特性 一个精灵占175字节")
private List<PetInfo> petList = new ArrayList<>();
@FieldDescription("穿戴装备 8字节")
private List<PeopleItemInfo> clothes = new ArrayList<>();
}