mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-05-08 13:06:02 +08:00
60 lines
1.7 KiB
Java
60 lines
1.7 KiB
Java
package emu.grasscutter.data.excels.dungeon;
|
|
|
|
import emu.grasscutter.data.*;
|
|
import emu.grasscutter.game.dungeons.enums.*;
|
|
import java.util.List;
|
|
import lombok.*;
|
|
|
|
@ResourceType(name = "DungeonEntryExcelConfigData.json")
|
|
@Getter
|
|
@Setter // TODO: remove this next API break
|
|
public class DungeonEntryData extends GameResource {
|
|
@Getter(onMethod_ = @Override)
|
|
private int id;
|
|
|
|
private int dungeonEntryId;
|
|
private int sceneId;
|
|
private DungunEntryType type;
|
|
private DungeonEntryCondCombType condComb;
|
|
private List<DungeonEntryCondition> satisfiedCond;
|
|
|
|
public static class DungeonEntryCondition {
|
|
private DungeonEntrySatisfiedConditionType type;
|
|
private int param1;
|
|
}
|
|
|
|
public DungunEntryType getType() {
|
|
if (type == null) {
|
|
return DungunEntryType.DUNGEN_ENTRY_TYPE_NONE;
|
|
}
|
|
return type;
|
|
}
|
|
|
|
public DungeonEntryCondCombType getCondComb() {
|
|
if (condComb == null) {
|
|
return DungeonEntryCondCombType.DUNGEON_ENTRY_COND_COMB_NONE;
|
|
}
|
|
return condComb;
|
|
}
|
|
|
|
public int getLevelCondition() {
|
|
for (var cond : satisfiedCond) {
|
|
if (cond.type != null
|
|
&& cond.type.equals(DungeonEntrySatisfiedConditionType.DUNGEON_ENTRY_CONDITION_LEVEL)) {
|
|
return cond.param1;
|
|
}
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
public int getQuestCondition() {
|
|
for (var cond : satisfiedCond) {
|
|
if (cond.type != null
|
|
&& cond.type.equals(DungeonEntrySatisfiedConditionType.DUNGEON_ENTRY_CONDITION_QUEST)) {
|
|
return cond.param1;
|
|
}
|
|
}
|
|
return 0;
|
|
}
|
|
}
|