mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-12-22 11:54:39 +01:00
2.7+ prerendered cutscene support
This commit is contained in:
@@ -132,7 +132,8 @@ public class GameMainQuest {
|
||||
ParentQuest.Builder proto = ParentQuest.newBuilder()
|
||||
.setParentQuestId(getParentQuestId())
|
||||
.setIsFinished(isFinished())
|
||||
.setParentQuestState(getState().getValue());
|
||||
.setParentQuestState(getState().getValue())
|
||||
.setCutsceneEncryptionKey(QuestManager.getQuestKey(parentQuestId));
|
||||
|
||||
for (GameQuest quest : this.getChildQuests().values()) {
|
||||
ChildQuest childQuest = ChildQuest.newBuilder()
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
package emu.grasscutter.game.quest;
|
||||
|
||||
import lombok.AccessLevel;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.FieldDefaults;
|
||||
|
||||
@Data
|
||||
@FieldDefaults(level = AccessLevel.PRIVATE)
|
||||
public class QuestEncryptionKey {
|
||||
int mainQuestId;
|
||||
long encryptionKey;
|
||||
}
|
||||
@@ -2,8 +2,6 @@ package emu.grasscutter.game.quest;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.function.Consumer;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import emu.grasscutter.Grasscutter;
|
||||
import emu.grasscutter.data.GameData;
|
||||
import emu.grasscutter.data.binout.MainQuestData;
|
||||
@@ -23,6 +21,11 @@ import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
|
||||
public class QuestManager extends BasePlayerManager {
|
||||
private final Int2ObjectMap<GameMainQuest> quests;
|
||||
|
||||
public static long getQuestKey(int mainQuestId){
|
||||
QuestEncryptionKey questEncryptionKey = GameData.getMainQuestEncryptionMap().get(mainQuestId);
|
||||
return questEncryptionKey != null ? questEncryptionKey.getEncryptionKey() : 0L;
|
||||
}
|
||||
|
||||
public QuestManager(Player player) {
|
||||
super(player);
|
||||
this.quests = new Int2ObjectOpenHashMap<>();
|
||||
|
||||
Reference in New Issue
Block a user