mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-12-23 12:24:43 +01:00
quest fix & personal line impl
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.AddQuestContentProgressRspOuterClass;
|
||||
|
||||
public class PacketAddQuestContentProgressRsp extends BasePacket {
|
||||
|
||||
public PacketAddQuestContentProgressRsp(int contentType) {
|
||||
super(PacketOpcodes.AddQuestContentProgressRsp);
|
||||
|
||||
var proto = AddQuestContentProgressRspOuterClass.AddQuestContentProgressRsp.newBuilder();
|
||||
|
||||
proto.setContentType(contentType);
|
||||
|
||||
this.setData(proto);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.ChapterStateNotifyOuterClass;
|
||||
import emu.grasscutter.net.proto.ChapterStateOuterClass;
|
||||
|
||||
public class PacketChapterStateNotify extends BasePacket {
|
||||
|
||||
public PacketChapterStateNotify(int id, ChapterStateOuterClass.ChapterState state) {
|
||||
super(PacketOpcodes.ChapterStateNotify);
|
||||
|
||||
var proto = ChapterStateNotifyOuterClass.ChapterStateNotify.newBuilder();
|
||||
|
||||
proto.setChapterId(id)
|
||||
.setChapterState(state);
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.EvtEntityRenderersChangedNotifyOuterClass;
|
||||
|
||||
public class PacketEvtEntityRenderersChangedNotify extends BasePacket {
|
||||
|
||||
public PacketEvtEntityRenderersChangedNotify(EvtEntityRenderersChangedNotifyOuterClass.EvtEntityRenderersChangedNotify req) {
|
||||
super(PacketOpcodes.EvtEntityRenderersChangedNotify, true);
|
||||
|
||||
this.setData(req);
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,12 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.data.binout.SceneNpcBornEntry;
|
||||
import emu.grasscutter.game.quest.QuestGroupSuite;
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.GroupSuiteNotifyOuterClass;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
public class PacketGroupSuiteNotify extends BasePacket {
|
||||
@@ -27,4 +29,24 @@ public class PacketGroupSuiteNotify extends BasePacket {
|
||||
this.setData(proto);
|
||||
|
||||
}
|
||||
|
||||
public PacketGroupSuiteNotify(int groupId, int suiteId) {
|
||||
super(PacketOpcodes.GroupSuiteNotify);
|
||||
|
||||
var proto = GroupSuiteNotifyOuterClass.GroupSuiteNotify.newBuilder();
|
||||
|
||||
proto.putGroupMap(groupId, suiteId);
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
|
||||
public PacketGroupSuiteNotify(Collection<QuestGroupSuite> questGroupSuites) {
|
||||
super(PacketOpcodes.GroupSuiteNotify);
|
||||
|
||||
var proto = GroupSuiteNotifyOuterClass.GroupSuiteNotify.newBuilder();
|
||||
|
||||
questGroupSuites.forEach(i -> proto.putGroupMap(i.getGroup(), i.getSuite()));
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.data.GameData;
|
||||
import emu.grasscutter.game.quest.GameMainQuest;
|
||||
import emu.grasscutter.game.quest.GameQuest;
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.PersonalLineAllDataRspOuterClass;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public class PacketPersonalLineAllDataRsp extends BasePacket {
|
||||
|
||||
public PacketPersonalLineAllDataRsp(Collection<GameMainQuest> gameMainQuestList) {
|
||||
super(PacketOpcodes.PersonalLineAllDataRsp);
|
||||
|
||||
var proto = PersonalLineAllDataRspOuterClass.PersonalLineAllDataRsp.newBuilder();
|
||||
|
||||
var questList = gameMainQuestList.stream()
|
||||
.map(GameMainQuest::getChildQuests)
|
||||
.map(Map::values)
|
||||
.flatMap(Collection::stream)
|
||||
.map(GameQuest::getQuestId)
|
||||
.collect(Collectors.toSet());
|
||||
|
||||
GameData.getPersonalLineDataMap().values().stream()
|
||||
.filter(i -> !questList.contains(i.getStartQuestId()))
|
||||
.forEach(i -> proto.addCanBeUnlockedPersonalLineList(i.getId()));
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.QueryPathReqOuterClass;
|
||||
import emu.grasscutter.net.proto.QueryPathRspOuterClass;
|
||||
|
||||
public class PacketQueryPathRsp extends BasePacket {
|
||||
|
||||
public PacketQueryPathRsp(QueryPathReqOuterClass.QueryPathReq req) {
|
||||
super(PacketOpcodes.QueryPathRsp);
|
||||
|
||||
var proto = QueryPathRspOuterClass.QueryPathRsp.newBuilder();
|
||||
|
||||
proto.addCorners(req.getSourcePos())
|
||||
.addCorners(req.getDestinationPos(0))
|
||||
.setQueryId(req.getQueryId())
|
||||
.setQueryStatus(QueryPathRspOuterClass.QueryPathRsp.PathStatusType.PATH_STATUS_TYPE_SUCC);
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.UnlockPersonalLineRspOuterClass;
|
||||
|
||||
public class PacketUnlockPersonalLineRsp extends BasePacket {
|
||||
|
||||
public PacketUnlockPersonalLineRsp(int id, int level, int chapterId) {
|
||||
super(PacketOpcodes.UnlockPersonalLineRsp);
|
||||
|
||||
var proto = UnlockPersonalLineRspOuterClass.UnlockPersonalLineRsp.newBuilder();
|
||||
|
||||
proto.setPersonalLineId(id)
|
||||
.setLevel(level)
|
||||
.setChapterId(chapterId);
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user