mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2026-03-28 18:42:37 +01:00
Add default open state ignore list
This commit is contained in:
@@ -1,23 +1,21 @@
|
|||||||
package emu.grasscutter.game.player;
|
package emu.grasscutter.game.player;
|
||||||
|
|
||||||
import static emu.grasscutter.config.Configuration.GAME_OPTIONS;
|
|
||||||
import static emu.grasscutter.scripts.constants.EventType.EVENT_UNLOCK_TRANS_POINT;
|
|
||||||
|
|
||||||
import emu.grasscutter.data.GameData;
|
import emu.grasscutter.data.GameData;
|
||||||
import emu.grasscutter.data.binout.ScenePointEntry;
|
import emu.grasscutter.data.binout.ScenePointEntry;
|
||||||
import emu.grasscutter.data.excels.OpenStateData;
|
import emu.grasscutter.data.excels.OpenStateData;
|
||||||
import emu.grasscutter.data.excels.OpenStateData.OpenStateCondType;
|
import emu.grasscutter.data.excels.OpenStateData.OpenStateCondType;
|
||||||
import emu.grasscutter.game.props.ActionReason;
|
import emu.grasscutter.game.props.ActionReason;
|
||||||
import emu.grasscutter.game.quest.enums.ParentQuestState;
|
import emu.grasscutter.game.quest.enums.*;
|
||||||
import emu.grasscutter.game.quest.enums.QuestCond;
|
|
||||||
import emu.grasscutter.game.quest.enums.QuestContent;
|
|
||||||
import emu.grasscutter.game.quest.enums.QuestState;
|
|
||||||
import emu.grasscutter.net.proto.RetcodeOuterClass.Retcode;
|
import emu.grasscutter.net.proto.RetcodeOuterClass.Retcode;
|
||||||
import emu.grasscutter.scripts.data.ScriptArgs;
|
import emu.grasscutter.scripts.data.ScriptArgs;
|
||||||
import emu.grasscutter.server.packet.send.*;
|
import emu.grasscutter.server.packet.send.*;
|
||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import static emu.grasscutter.config.Configuration.GAME_OPTIONS;
|
||||||
|
import static emu.grasscutter.scripts.constants.EventType.EVENT_UNLOCK_TRANS_POINT;
|
||||||
|
|
||||||
// @Entity
|
// @Entity
|
||||||
public final class PlayerProgressManager extends BasePlayerDataManager {
|
public final class PlayerProgressManager extends BasePlayerDataManager {
|
||||||
/******************************************************************************************************************
|
/******************************************************************************************************************
|
||||||
@@ -32,6 +30,12 @@ public final class PlayerProgressManager extends BasePlayerDataManager {
|
|||||||
48 // blacklist OPEN_STATE_LIMIT_REGION_GLOBAL to make Meledy happy. =D Remove this as
|
48 // blacklist OPEN_STATE_LIMIT_REGION_GLOBAL to make Meledy happy. =D Remove this as
|
||||||
// soon as quest unlocks are fully implemented.
|
// soon as quest unlocks are fully implemented.
|
||||||
);
|
);
|
||||||
|
public static final Set<Integer> IGNORED_OPEN_STATES = Set.of(
|
||||||
|
1404, // OPEN_STATE_MENGDE_INFUSEDCRYSTAL, causes quest 'Mine Craft' to be given to the player at the start of the game.
|
||||||
|
// This should be removed when city reputation is implemented.
|
||||||
|
57 // OPEN_STATE_PERSONAL_LINE, causes the prompt for showing character hangout quests to be permanently shown.
|
||||||
|
// This should be removed when character story quests are implemented.
|
||||||
|
);
|
||||||
// Set of open states that are set per default for all accounts. Can be overwritten by an entry in
|
// Set of open states that are set per default for all accounts. Can be overwritten by an entry in
|
||||||
// `map`.
|
// `map`.
|
||||||
public static final Set<Integer> DEFAULT_OPEN_STATES =
|
public static final Set<Integer> DEFAULT_OPEN_STATES =
|
||||||
@@ -53,10 +57,11 @@ public final class PlayerProgressManager extends BasePlayerDataManager {
|
|||||||
// Always unlock OPEN_STATE_PAIMON, otherwise the player will not have a
|
// Always unlock OPEN_STATE_PAIMON, otherwise the player will not have a
|
||||||
// working chat.
|
// working chat.
|
||||||
|| s.getId() == 1)
|
|| s.getId() == 1)
|
||||||
|
.map(OpenStateData::getId)
|
||||||
.filter(
|
.filter(
|
||||||
s ->
|
s ->
|
||||||
!BLACKLIST_OPEN_STATES.contains(s.getId())) // Filter out states in the blacklist.
|
!BLACKLIST_OPEN_STATES.contains(s)) // Filter out states in the blacklist.
|
||||||
.map(OpenStateData::getId)
|
.filter(s -> !IGNORED_OPEN_STATES.contains(s)) // Filter out states in the default ignore list.
|
||||||
.collect(Collectors.toSet());
|
.collect(Collectors.toSet());
|
||||||
|
|
||||||
public PlayerProgressManager(Player player) {
|
public PlayerProgressManager(Player player) {
|
||||||
|
|||||||
Reference in New Issue
Block a user