Implement QUEST_EXEC_RANDOM_QUEST_VAR (#2284)

This commit is contained in:
Nazrin
2023-08-06 21:27:13 -07:00
committed by GitHub
parent 58d2650505
commit 0b0dcf9b8e
3 changed files with 28 additions and 1 deletions

View File

@@ -16,6 +16,7 @@ import emu.grasscutter.net.proto.ChildQuestOuterClass.ChildQuest;
import emu.grasscutter.net.proto.ParentQuestOuterClass.ParentQuest;
import emu.grasscutter.server.packet.send.*;
import emu.grasscutter.utils.ConversionUtils;
import emu.grasscutter.utils.Utils;
import java.util.*;
import java.util.stream.Collectors;
import lombok.*;
@@ -120,6 +121,16 @@ public class GameMainQuest {
this.triggerQuestVarAction(i, this.questVars[i]);
}
public void randomQuestVar(int i, int low, int high) {
int previousValue = this.questVars[i];
this.questVars[i] = Utils.random.nextInt(low, high);
Grasscutter.getLogger()
.debug(
"questVar {} value randomized from {} to {}", i, previousValue, this.questVars[i]);
this.triggerQuestVarAction(i, this.questVars[i]);
}
public void triggerQuestVarAction(int index, int value) {
var questManager = this.getQuestManager();
questManager.queueEvent(QuestCond.QUEST_COND_QUEST_VAR_EQUAL, index, value);