package org.nieo.seerproject.common.net.info.map; import lombok.Data; import org.nieo.seerproject.common.annotations.FieldDescription; import org.nieo.seerproject.common.annotations.MessageName; 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.serialize.ArraySerializeType; import org.nieo.seerproject.common.structs.Point; import java.util.ArrayList; import java.util.List; @Data @AutoCodec @SuppressWarnings("SpellCheckingInspection") @OutboundMessageType(MessageCommandIDRegistry.Enter_Map) @MessageName("EnterMapOutboundInfo") public class PeopleInfo implements OutboundMessage { @FieldDescription("米米号") private @UInt long userId; @FieldDescription("16字节昵称") @ArraySerialize(value = ArraySerializeType.FIXED_LENGTH, fixedLength = 16) private String nick; @FieldDescription("机器人人物颜色 00 rgb") private @UInt long color; @FieldDescription("固定值0") private @UInt long texture; @FieldDescription("暂时不明建议先给固定值0") private @UShort int vip; @FieldDescription("暂时不明建议先给固定值15") private @UShort int viped = 15; @FieldDescription("暂时不明建议先给固定值1") private @UInt long vipStage; @FieldDescription("人物状态 =0 步行 !=0 飞行") private @UInt long actionType; @FieldDescription("上线的地图id") private Point pos = new Point(); @FieldDescription("暂时不明给0") private @UInt long action; @FieldDescription("暂时不明给2") private @UInt long direction = 2; @FieldDescription("暂时不明给0") private @UInt long changeShape; @FieldDescription("暂时不明给0") private @UInt long spiritTime; @FieldDescription("暂时不明给0") private @UInt long spiritID; @FieldDescription("宠物ID暂时无法测试, 给0") private @UInt long petDV; @FieldDescription("宠物闪光暂时无法测试, 给0") private @UInt long petShiny; @FieldDescription("宠物皮肤暂时无法测试, 给0") private @UInt long petSkin; @FieldDescription("填充字符") private @UInt long reserved; @FieldDescription("填充字符") private @UInt long reserved1; @FieldDescription("填充字符") private @UInt long reserved2; @FieldDescription("暂时不明给0") private @UInt long fightFlag; @FieldDescription("教官ID") private @UInt long teacherID; @FieldDescription("学员ID") private @UInt long studentID; @FieldDescription("nono状态 固定值-1") private @UInt long nonoState = 0xFFFFFFFFL; @FieldDescription("nono颜色 00 FF FF FF") private @UInt long nonoColor; @FieldDescription("是不是超能nono 固定值1") private @UInt long superNono = 1; @FieldDescription("暂时不明给0") private @UInt long playerForm; @FieldDescription("暂时不明给0") private @UInt long transTime; @FieldDescription("暂时不明给0") private @UInt long teamid; @FieldDescription("暂时不明给0") private @UInt long teamCoreCount; @FieldDescription("暂时不明给0") private @UInt long teamisShow; @FieldDescription("暂时不明给0") private short logoBg; @FieldDescription("暂时不明给0") private short logoIcon; @FieldDescription("暂时不明给0") private short logoColor; @FieldDescription("暂时不明给0") private short txtColor; @FieldDescription("4字节") @ArraySerialize(value = ArraySerializeType.FIXED_LENGTH, fixedLength = 4) private byte[] logoWord = new byte[4]; @FieldDescription("穿戴装备的信息") private List clothes = new ArrayList<>(); }