Commit 01b190bc authored by Magix's avatar Magix Committed by GitHub
Browse files

UPGRADE TO 1.1.0 POG

Merge `development` into `stable`
parents 6b81b888 1beddf16
package emu.grasscutter.server.packet.send; package emu.grasscutter.server.packet.send;
import emu.grasscutter.net.packet.GenshinPacket; import emu.grasscutter.net.packet.BasePacket;
import emu.grasscutter.net.packet.PacketOpcodes; import emu.grasscutter.net.packet.PacketOpcodes;
public class Packet extends GenshinPacket { public class Packet extends BasePacket {
public Packet() { public Packet() {
super(PacketOpcodes.NONE); super(PacketOpcodes.NONE);
......
package emu.grasscutter.server.packet.send; package emu.grasscutter.server.packet.send;
import emu.grasscutter.game.entity.EntityAvatar; import emu.grasscutter.game.entity.EntityAvatar;
import emu.grasscutter.net.packet.GenshinPacket; import emu.grasscutter.net.packet.BasePacket;
import emu.grasscutter.net.packet.PacketOpcodes; import emu.grasscutter.net.packet.PacketOpcodes;
import emu.grasscutter.net.proto.AbilityChangeNotifyOuterClass.AbilityChangeNotify; import emu.grasscutter.net.proto.AbilityChangeNotifyOuterClass.AbilityChangeNotify;
public class PacketAbilityChangeNotify extends GenshinPacket { public class PacketAbilityChangeNotify extends BasePacket {
public PacketAbilityChangeNotify(EntityAvatar entity) { public PacketAbilityChangeNotify(EntityAvatar entity) {
super(PacketOpcodes.AbilityChangeNotify, true); super(PacketOpcodes.AbilityChangeNotify, true);
......
...@@ -2,12 +2,12 @@ package emu.grasscutter.server.packet.send; ...@@ -2,12 +2,12 @@ package emu.grasscutter.server.packet.send;
import java.util.List; import java.util.List;
import emu.grasscutter.net.packet.GenshinPacket; import emu.grasscutter.net.packet.BasePacket;
import emu.grasscutter.net.packet.PacketOpcodes; import emu.grasscutter.net.packet.PacketOpcodes;
import emu.grasscutter.net.proto.AbilityInvocationsNotifyOuterClass.AbilityInvocationsNotify; import emu.grasscutter.net.proto.AbilityInvocationsNotifyOuterClass.AbilityInvocationsNotify;
import emu.grasscutter.net.proto.AbilityInvokeEntryOuterClass.AbilityInvokeEntry; import emu.grasscutter.net.proto.AbilityInvokeEntryOuterClass.AbilityInvokeEntry;
public class PacketAbilityInvocationsNotify extends GenshinPacket { public class PacketAbilityInvocationsNotify extends BasePacket {
public PacketAbilityInvocationsNotify(AbilityInvokeEntry entry) { public PacketAbilityInvocationsNotify(AbilityInvokeEntry entry) {
super(PacketOpcodes.AbilityInvocationsNotify, true); super(PacketOpcodes.AbilityInvocationsNotify, true);
......
package emu.grasscutter.server.packet.send; package emu.grasscutter.server.packet.send;
import emu.grasscutter.game.friends.Friendship; import emu.grasscutter.game.friends.Friendship;
import emu.grasscutter.net.packet.GenshinPacket; import emu.grasscutter.net.packet.BasePacket;
import emu.grasscutter.net.packet.PacketOpcodes; import emu.grasscutter.net.packet.PacketOpcodes;
import emu.grasscutter.net.proto.AskAddFriendNotifyOuterClass.AskAddFriendNotify; import emu.grasscutter.net.proto.AskAddFriendNotifyOuterClass.AskAddFriendNotify;
public class PacketAskAddFriendNotify extends GenshinPacket { public class PacketAskAddFriendNotify extends BasePacket {
public PacketAskAddFriendNotify(Friendship friendship) { public PacketAskAddFriendNotify(Friendship friendship) {
super(PacketOpcodes.AskAddFriendNotify); super(PacketOpcodes.AskAddFriendNotify);
......
package emu.grasscutter.server.packet.send; package emu.grasscutter.server.packet.send;
import emu.grasscutter.net.packet.GenshinPacket; import emu.grasscutter.net.packet.BasePacket;
import emu.grasscutter.net.packet.PacketOpcodes; import emu.grasscutter.net.packet.PacketOpcodes;
import emu.grasscutter.net.proto.AskAddFriendRspOuterClass.AskAddFriendRsp; import emu.grasscutter.net.proto.AskAddFriendRspOuterClass.AskAddFriendRsp;
public class PacketAskAddFriendRsp extends GenshinPacket { public class PacketAskAddFriendRsp extends BasePacket {
public PacketAskAddFriendRsp(int targetUid) { public PacketAskAddFriendRsp(int targetUid) {
super(PacketOpcodes.AskAddFriendRsp); super(PacketOpcodes.AskAddFriendRsp);
......
package emu.grasscutter.server.packet.send; package emu.grasscutter.server.packet.send;
import emu.grasscutter.game.avatar.GenshinAvatar; import emu.grasscutter.game.avatar.Avatar;
import emu.grasscutter.net.packet.GenshinPacket; import emu.grasscutter.net.packet.BasePacket;
import emu.grasscutter.net.packet.PacketOpcodes; import emu.grasscutter.net.packet.PacketOpcodes;
import emu.grasscutter.net.proto.AvatarAddNotifyOuterClass.AvatarAddNotify; import emu.grasscutter.net.proto.AvatarAddNotifyOuterClass.AvatarAddNotify;
public class PacketAvatarAddNotify extends GenshinPacket { public class PacketAvatarAddNotify extends BasePacket {
public PacketAvatarAddNotify(GenshinAvatar avatar, boolean addedToTeam) { public PacketAvatarAddNotify(Avatar avatar, boolean addedToTeam) {
super(PacketOpcodes.AvatarAddNotify); super(PacketOpcodes.AvatarAddNotify);
AvatarAddNotify proto = AvatarAddNotify.newBuilder() AvatarAddNotify proto = AvatarAddNotify.newBuilder()
......
package emu.grasscutter.server.packet.send; package emu.grasscutter.server.packet.send;
import emu.grasscutter.game.entity.EntityAvatar; import emu.grasscutter.game.entity.EntityAvatar;
import emu.grasscutter.net.packet.GenshinPacket; import emu.grasscutter.net.packet.BasePacket;
import emu.grasscutter.net.packet.PacketOpcodes; import emu.grasscutter.net.packet.PacketOpcodes;
import emu.grasscutter.net.proto.AvatarChangeCostumeNotifyOuterClass.AvatarChangeCostumeNotify; import emu.grasscutter.net.proto.AvatarChangeCostumeNotifyOuterClass.AvatarChangeCostumeNotify;
public class PacketAvatarChangeCostumeNotify extends GenshinPacket { public class PacketAvatarChangeCostumeNotify extends BasePacket {
public PacketAvatarChangeCostumeNotify(EntityAvatar entity) { public PacketAvatarChangeCostumeNotify(EntityAvatar entity) {
super(PacketOpcodes.AvatarChangeCostumeNotify); super(PacketOpcodes.AvatarChangeCostumeNotify);
AvatarChangeCostumeNotify proto = AvatarChangeCostumeNotify.newBuilder() AvatarChangeCostumeNotify proto = AvatarChangeCostumeNotify.newBuilder()
.setEntity(entity.toProto()) .setEntityInfo(entity.toProto())
.build(); .build();
this.setData(proto); this.setData(proto);
......
package emu.grasscutter.server.packet.send; package emu.grasscutter.server.packet.send;
import emu.grasscutter.net.packet.GenshinPacket; import emu.grasscutter.net.packet.BasePacket;
import emu.grasscutter.net.packet.PacketOpcodes; import emu.grasscutter.net.packet.PacketOpcodes;
import emu.grasscutter.net.proto.AvatarChangeCostumeRspOuterClass.AvatarChangeCostumeRsp; import emu.grasscutter.net.proto.AvatarChangeCostumeRspOuterClass.AvatarChangeCostumeRsp;
import emu.grasscutter.net.proto.RetcodeOuterClass;
public class PacketAvatarChangeCostumeRsp extends GenshinPacket { public class PacketAvatarChangeCostumeRsp extends BasePacket {
public PacketAvatarChangeCostumeRsp(long avatarGuid, int costumeId) { public PacketAvatarChangeCostumeRsp(long avatarGuid, int costumeId) {
super(PacketOpcodes.AvatarChangeCostumeRsp); super(PacketOpcodes.AvatarChangeCostumeRsp);
...@@ -21,7 +22,7 @@ public class PacketAvatarChangeCostumeRsp extends GenshinPacket { ...@@ -21,7 +22,7 @@ public class PacketAvatarChangeCostumeRsp extends GenshinPacket {
super(PacketOpcodes.AvatarChangeCostumeRsp); super(PacketOpcodes.AvatarChangeCostumeRsp);
AvatarChangeCostumeRsp proto = AvatarChangeCostumeRsp.newBuilder() AvatarChangeCostumeRsp proto = AvatarChangeCostumeRsp.newBuilder()
.setRetcode(1) .setRetcode(RetcodeOuterClass.Retcode.RET_SVR_ERROR_VALUE)
.build(); .build();
this.setData(proto); this.setData(proto);
......
...@@ -2,17 +2,17 @@ package emu.grasscutter.server.packet.send; ...@@ -2,17 +2,17 @@ package emu.grasscutter.server.packet.send;
import java.util.Map.Entry; import java.util.Map.Entry;
import emu.grasscutter.game.GenshinPlayer; import emu.grasscutter.game.avatar.Avatar;
import emu.grasscutter.game.TeamInfo; import emu.grasscutter.game.player.Player;
import emu.grasscutter.game.avatar.GenshinAvatar; import emu.grasscutter.game.player.TeamInfo;
import emu.grasscutter.net.packet.GenshinPacket; import emu.grasscutter.net.packet.BasePacket;
import emu.grasscutter.net.packet.PacketOpcodes; import emu.grasscutter.net.packet.PacketOpcodes;
import emu.grasscutter.net.proto.AvatarDataNotifyOuterClass.AvatarDataNotify; import emu.grasscutter.net.proto.AvatarDataNotifyOuterClass.AvatarDataNotify;
import emu.grasscutter.net.proto.AvatarTeamOuterClass.AvatarTeam; import emu.grasscutter.net.proto.AvatarTeamOuterClass.AvatarTeam;
public class PacketAvatarDataNotify extends GenshinPacket { public class PacketAvatarDataNotify extends BasePacket {
public PacketAvatarDataNotify(GenshinPlayer player) { public PacketAvatarDataNotify(Player player) {
super(PacketOpcodes.AvatarDataNotify, 2); super(PacketOpcodes.AvatarDataNotify, 2);
AvatarDataNotify.Builder proto = AvatarDataNotify.newBuilder() AvatarDataNotify.Builder proto = AvatarDataNotify.newBuilder()
...@@ -21,7 +21,7 @@ public class PacketAvatarDataNotify extends GenshinPacket { ...@@ -21,7 +21,7 @@ public class PacketAvatarDataNotify extends GenshinPacket {
.addAllOwnedFlycloakList(player.getFlyCloakList()) .addAllOwnedFlycloakList(player.getFlyCloakList())
.addAllOwnedCostumeList(player.getCostumeList()); .addAllOwnedCostumeList(player.getCostumeList());
for (GenshinAvatar avatar : player.getAvatars()) { for (Avatar avatar : player.getAvatars()) {
proto.addAvatarList(avatar.toProto()); proto.addAvatarList(avatar.toProto());
} }
...@@ -31,7 +31,7 @@ public class PacketAvatarDataNotify extends GenshinPacket { ...@@ -31,7 +31,7 @@ public class PacketAvatarDataNotify extends GenshinPacket {
.setTeamName(teamInfo.getName()); .setTeamName(teamInfo.getName());
for (int i = 0; i < teamInfo.getAvatars().size(); i++) { for (int i = 0; i < teamInfo.getAvatars().size(); i++) {
GenshinAvatar avatar = player.getAvatars().getAvatarById(teamInfo.getAvatars().get(i)); Avatar avatar = player.getAvatars().getAvatarById(teamInfo.getAvatars().get(i));
avatarTeam.addAvatarGuidList(avatar.getGuid()); avatarTeam.addAvatarGuidList(avatar.getGuid());
} }
......
package emu.grasscutter.server.packet.send; package emu.grasscutter.server.packet.send;
import emu.grasscutter.net.packet.GenshinPacket; import emu.grasscutter.net.packet.BasePacket;
import emu.grasscutter.net.packet.PacketOpcodes; import emu.grasscutter.net.packet.PacketOpcodes;
import emu.grasscutter.net.proto.AvatarDieAnimationEndRspOuterClass.AvatarDieAnimationEndRsp; import emu.grasscutter.net.proto.AvatarDieAnimationEndRspOuterClass.AvatarDieAnimationEndRsp;
public class PacketAvatarDieAnimationEndRsp extends GenshinPacket { public class PacketAvatarDieAnimationEndRsp extends BasePacket {
public PacketAvatarDieAnimationEndRsp(long dieGuid, int skillId) { public PacketAvatarDieAnimationEndRsp(long dieGuid, int skillId) {
super(PacketOpcodes.AvatarDieAnimationEndRsp); super(PacketOpcodes.AvatarDieAnimationEndRsp);
......
package emu.grasscutter.server.packet.send; package emu.grasscutter.server.packet.send;
import emu.grasscutter.game.avatar.GenshinAvatar; import emu.grasscutter.game.avatar.Avatar;
import emu.grasscutter.game.inventory.EquipType; import emu.grasscutter.game.inventory.EquipType;
import emu.grasscutter.game.inventory.GenshinItem; import emu.grasscutter.game.inventory.GameItem;
import emu.grasscutter.net.packet.GenshinPacket; import emu.grasscutter.net.packet.BasePacket;
import emu.grasscutter.net.packet.PacketOpcodes; import emu.grasscutter.net.packet.PacketOpcodes;
import emu.grasscutter.net.proto.AvatarEquipChangeNotifyOuterClass.AvatarEquipChangeNotify; import emu.grasscutter.net.proto.AvatarEquipChangeNotifyOuterClass.AvatarEquipChangeNotify;
public class PacketAvatarEquipChangeNotify extends GenshinPacket { public class PacketAvatarEquipChangeNotify extends BasePacket {
public PacketAvatarEquipChangeNotify(GenshinAvatar avatar, GenshinItem item) { public PacketAvatarEquipChangeNotify(Avatar avatar, GameItem item) {
super(PacketOpcodes.AvatarEquipChangeNotify); super(PacketOpcodes.AvatarEquipChangeNotify);
AvatarEquipChangeNotify.Builder proto = AvatarEquipChangeNotify.newBuilder() AvatarEquipChangeNotify.Builder proto = AvatarEquipChangeNotify.newBuilder()
...@@ -27,7 +27,7 @@ public class PacketAvatarEquipChangeNotify extends GenshinPacket { ...@@ -27,7 +27,7 @@ public class PacketAvatarEquipChangeNotify extends GenshinPacket {
this.setData(proto); this.setData(proto);
} }
public PacketAvatarEquipChangeNotify(GenshinAvatar avatar, EquipType slot) { public PacketAvatarEquipChangeNotify(Avatar avatar, EquipType slot) {
super(PacketOpcodes.AvatarEquipChangeNotify); super(PacketOpcodes.AvatarEquipChangeNotify);
AvatarEquipChangeNotify.Builder proto = AvatarEquipChangeNotify.newBuilder() AvatarEquipChangeNotify.Builder proto = AvatarEquipChangeNotify.newBuilder()
......
package emu.grasscutter.server.packet.send;
import emu.grasscutter.Grasscutter;
import emu.grasscutter.game.expedition.ExpeditionInfo;
import emu.grasscutter.game.player.Player;
import emu.grasscutter.net.packet.BasePacket;
import emu.grasscutter.net.packet.PacketOpcodes;
import emu.grasscutter.net.proto.AvatarExpeditionAllDataRspOuterClass.AvatarExpeditionAllDataRsp;
import emu.grasscutter.net.proto.AvatarExpeditionInfoOuterClass.AvatarExpeditionInfo;
import java.util.*;
public class PacketAvatarExpeditionAllDataRsp extends BasePacket {
public PacketAvatarExpeditionAllDataRsp(Player player) {
super(PacketOpcodes.AvatarExpeditionAllDataRsp);
List<Integer> openExpeditionList = new ArrayList<>(List.of(306,305,304,303,302,301,206,105,204,104,203,103,202,101,102,201,106,205));
Map<Long, AvatarExpeditionInfo> avatarExpeditionInfoList = new HashMap<Long, AvatarExpeditionInfo>();
var expeditionInfo = player.getExpeditionInfo();
for (Long key : player.getExpeditionInfo().keySet()) {
ExpeditionInfo e = expeditionInfo.get(key);
avatarExpeditionInfoList.put(key, AvatarExpeditionInfo.newBuilder().setStateValue(e.getState()).setExpId(e.getExpId()).setHourTime(e.getHourTime()).setStartTime(e.getStartTime()).build());
};
AvatarExpeditionAllDataRsp.Builder proto = AvatarExpeditionAllDataRsp.newBuilder()
.addAllOpenExpeditionList(openExpeditionList)
.setExpeditionCountLimit(5)
.putAllExpeditionInfoMap(avatarExpeditionInfoList);
this.setData(proto.build());
}
}
package emu.grasscutter.server.packet.send;
import emu.grasscutter.game.expedition.ExpeditionInfo;
import emu.grasscutter.game.player.Player;
import emu.grasscutter.net.packet.BasePacket;
import emu.grasscutter.net.packet.PacketOpcodes;
import emu.grasscutter.net.proto.AvatarExpeditionCallBackRspOuterClass.AvatarExpeditionCallBackRsp;
import emu.grasscutter.net.proto.AvatarExpeditionInfoOuterClass.AvatarExpeditionInfo;
public class PacketAvatarExpeditionCallBackRsp extends BasePacket {
public PacketAvatarExpeditionCallBackRsp(Player player) {
super(PacketOpcodes.AvatarExpeditionCallBackRsp);
AvatarExpeditionCallBackRsp.Builder proto = AvatarExpeditionCallBackRsp.newBuilder();
var expeditionInfo = player.getExpeditionInfo();
for (Long key : player.getExpeditionInfo().keySet()) {
ExpeditionInfo e = expeditionInfo.get(key);
proto.putExpeditionInfoMap(key, AvatarExpeditionInfo.newBuilder().setStateValue(e.getState()).setExpId(e.getExpId()).setHourTime(e.getHourTime()).setStartTime(e.getStartTime()).build());
};
this.setData(proto.build());
}
}
\ No newline at end of file
package emu.grasscutter.server.packet.send;
import emu.grasscutter.game.expedition.ExpeditionInfo;
import emu.grasscutter.game.player.Player;
import emu.grasscutter.net.packet.BasePacket;
import emu.grasscutter.net.packet.PacketOpcodes;
import emu.grasscutter.net.proto.AvatarExpeditionDataNotifyOuterClass.AvatarExpeditionDataNotify;
import emu.grasscutter.net.proto.AvatarExpeditionInfoOuterClass.AvatarExpeditionInfo;
import java.util.*;
public class PacketAvatarExpeditionDataNotify extends BasePacket {
public PacketAvatarExpeditionDataNotify(Player player) {
super(PacketOpcodes.AvatarExpeditionDataNotify);
Map<Long, AvatarExpeditionInfo> avatarExpeditionInfoList = new HashMap<Long, AvatarExpeditionInfo>();
var expeditionInfo = player.getExpeditionInfo();
for (Long key : player.getExpeditionInfo().keySet()) {
ExpeditionInfo e = expeditionInfo.get(key);
avatarExpeditionInfoList.put(key, AvatarExpeditionInfo.newBuilder().setStateValue(e.getState()).setExpId(e.getExpId()).setHourTime(e.getHourTime()).setStartTime(e.getStartTime()).build());
};
AvatarExpeditionDataNotify.Builder proto = AvatarExpeditionDataNotify.newBuilder()
.putAllExpeditionInfoMap(avatarExpeditionInfoList);
this.setData(proto.build());
}
}
package emu.grasscutter.server.packet.send;
import emu.grasscutter.game.expedition.ExpeditionInfo;
import emu.grasscutter.game.inventory.GameItem;
import emu.grasscutter.game.player.Player;
import emu.grasscutter.net.packet.BasePacket;
import emu.grasscutter.net.packet.PacketOpcodes;
import emu.grasscutter.net.proto.AvatarExpeditionGetRewardRspOuterClass.AvatarExpeditionGetRewardRsp;
import emu.grasscutter.net.proto.AvatarExpeditionInfoOuterClass.AvatarExpeditionInfo;
import java.util.Collection;
public class PacketAvatarExpeditionGetRewardRsp extends BasePacket {
public PacketAvatarExpeditionGetRewardRsp(Player player, Collection<GameItem> items) {
super(PacketOpcodes.AvatarExpeditionGetRewardRsp);
AvatarExpeditionGetRewardRsp.Builder proto = AvatarExpeditionGetRewardRsp.newBuilder();
var expeditionInfo = player.getExpeditionInfo();
for (Long key : player.getExpeditionInfo().keySet()) {
ExpeditionInfo e = expeditionInfo.get(key);
proto.putExpeditionInfoMap(key, AvatarExpeditionInfo.newBuilder().setStateValue(e.getState()).setExpId(e.getExpId()).setHourTime(e.getHourTime()).setStartTime(e.getStartTime()).build());
};
for (GameItem item : items) {
proto.addItemList(item.toItemParam());
}
this.setData(proto.build());
}
}
package emu.grasscutter.server.packet.send;
import emu.grasscutter.game.expedition.ExpeditionInfo;
import emu.grasscutter.game.player.Player;
import emu.grasscutter.net.packet.BasePacket;
import emu.grasscutter.net.packet.PacketOpcodes;
import emu.grasscutter.net.proto.AvatarExpeditionInfoOuterClass.AvatarExpeditionInfo;
import emu.grasscutter.net.proto.AvatarExpeditionStartRspOuterClass.AvatarExpeditionStartRsp;
public class PacketAvatarExpeditionStartRsp extends BasePacket {
public PacketAvatarExpeditionStartRsp(Player player) {
super(PacketOpcodes.AvatarExpeditionStartRsp);
AvatarExpeditionStartRsp.Builder proto = AvatarExpeditionStartRsp.newBuilder();
var expeditionInfo = player.getExpeditionInfo();
for (Long key : player.getExpeditionInfo().keySet()) {
ExpeditionInfo e = expeditionInfo.get(key);
proto.putExpeditionInfoMap(key, AvatarExpeditionInfo.newBuilder().setStateValue(e.getState()).setExpId(e.getExpId()).setHourTime(e.getHourTime()).setStartTime(e.getStartTime()).build());
};
this.setData(proto.build());
}
}
package emu.grasscutter.server.packet.send;
import emu.grasscutter.game.avatar.Avatar;
import emu.grasscutter.game.props.FetterState;
import emu.grasscutter.net.packet.BasePacket;
import emu.grasscutter.net.packet.PacketOpcodes;
import emu.grasscutter.net.proto.AvatarFetterDataNotifyOuterClass.AvatarFetterDataNotify;
import emu.grasscutter.net.proto.AvatarFetterInfoOuterClass.AvatarFetterInfo;
import emu.grasscutter.net.proto.FetterDataOuterClass.FetterData;
public class PacketAvatarFetterDataNotify extends BasePacket {
public PacketAvatarFetterDataNotify(Avatar avatar) {
super(PacketOpcodes.AvatarFetterDataNotify);
int fetterLevel = avatar.getFetterLevel();
AvatarFetterInfo.Builder avatarFetter = AvatarFetterInfo.newBuilder()
.setExpLevel(avatar.getFetterLevel());
if (fetterLevel != 10) {
avatarFetter.setExpNumber(avatar.getFetterExp());
}
if (avatar.getFetterList() != null) {
for (int i = 0; i < avatar.getFetterList().size(); i++) {
avatarFetter.addFetterList(
FetterData.newBuilder()
.setFetterId(avatar.getFetterList().get(i))
.setFetterState(FetterState.FINISH.getValue())
);
}
}
int cardId = avatar.getNameCardId();
if (avatar.getPlayer().getNameCardList().contains(cardId)) {
avatarFetter.addRewardedFetterLevelList(10);
}
AvatarFetterInfo avatarFetterInfo = avatarFetter.build();
AvatarFetterDataNotify proto = AvatarFetterDataNotify.newBuilder()
.putFetterInfoMap(avatar.getGuid(), avatarFetterInfo)
.build();
this.setData(proto);
}
}
package emu.grasscutter.server.packet.send;
import emu.grasscutter.net.packet.BasePacket;
import emu.grasscutter.net.packet.PacketOpcodes;
import emu.grasscutter.net.proto.AvatarFetterLevelRewardRspOuterClass.AvatarFetterLevelRewardRsp;
public class PacketAvatarFetterLevelRewardRsp extends BasePacket {
public PacketAvatarFetterLevelRewardRsp(long guid, int fetterLevel, int rewardId) {
super(PacketOpcodes.AvatarFetterLevelRewardRsp);
AvatarFetterLevelRewardRsp proto = AvatarFetterLevelRewardRsp.newBuilder()
.setAvatarGuid(guid)
.setFetterLevel(fetterLevel)
.setRetcode(0)
.setRewardId(rewardId)
.build();
this.setData(proto);
}
public PacketAvatarFetterLevelRewardRsp(long guid, int fetterLevel) {
super(PacketOpcodes.AvatarFetterLevelRewardRsp);
AvatarFetterLevelRewardRsp proto = AvatarFetterLevelRewardRsp.newBuilder()
.setAvatarGuid(guid)
.setFetterLevel(fetterLevel)
.setRetcode(1)
.setRewardId(0)
.build();
this.setData(proto);
}
}
package emu.grasscutter.server.packet.send; package emu.grasscutter.server.packet.send;
import emu.grasscutter.game.avatar.GenshinAvatar; import emu.grasscutter.game.avatar.Avatar;
import emu.grasscutter.net.packet.GenshinPacket; import emu.grasscutter.net.packet.BasePacket;
import emu.grasscutter.net.packet.PacketOpcodes; import emu.grasscutter.net.packet.PacketOpcodes;
import emu.grasscutter.net.proto.AvatarFightPropNotifyOuterClass.AvatarFightPropNotify; import emu.grasscutter.net.proto.AvatarFightPropNotifyOuterClass.AvatarFightPropNotify;
public class PacketAvatarFightPropNotify extends GenshinPacket { public class PacketAvatarFightPropNotify extends BasePacket {
public PacketAvatarFightPropNotify(GenshinAvatar avatar) { public PacketAvatarFightPropNotify(Avatar avatar) {
super(PacketOpcodes.AvatarFightPropNotify); super(PacketOpcodes.AvatarFightPropNotify);
AvatarFightPropNotify proto = AvatarFightPropNotify.newBuilder() AvatarFightPropNotify proto = AvatarFightPropNotify.newBuilder()
......
package emu.grasscutter.server.packet.send; package emu.grasscutter.server.packet.send;
import emu.grasscutter.game.avatar.GenshinAvatar; import emu.grasscutter.game.avatar.Avatar;
import emu.grasscutter.game.props.FightProperty; import emu.grasscutter.game.props.FightProperty;
import emu.grasscutter.net.packet.GenshinPacket; import emu.grasscutter.net.packet.BasePacket;
import emu.grasscutter.net.packet.PacketOpcodes; import emu.grasscutter.net.packet.PacketOpcodes;
import emu.grasscutter.net.proto.AvatarFightPropUpdateNotifyOuterClass.AvatarFightPropUpdateNotify; import emu.grasscutter.net.proto.AvatarFightPropUpdateNotifyOuterClass.AvatarFightPropUpdateNotify;
public class PacketAvatarFightPropUpdateNotify extends GenshinPacket { public class PacketAvatarFightPropUpdateNotify extends BasePacket {
public PacketAvatarFightPropUpdateNotify(GenshinAvatar avatar, FightProperty prop) { public PacketAvatarFightPropUpdateNotify(Avatar avatar, FightProperty prop) {
super(PacketOpcodes.AvatarFightPropUpdateNotify); super(PacketOpcodes.AvatarFightPropUpdateNotify);
AvatarFightPropUpdateNotify proto = AvatarFightPropUpdateNotify.newBuilder() AvatarFightPropUpdateNotify proto = AvatarFightPropUpdateNotify.newBuilder()
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment