mirror of
https://github.com/Melledy/Nebula.git
synced 2026-11-04 21:36:51 +01:00
Implement monolith research quests
This commit is contained in:
1 parent
2424496472
commit
b302871630
16 files changed
+1024
-35
No files matched your search
@@ -4,7 +4,6 @@ import emu.nebula.data.custom.CharGemAttrGroupDef;
|
||||
import emu.nebula.data.resources.*;
|
||||
import lombok.Getter;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public class GameData {
|
||||
// ===== Characters =====
|
||||
@Getter private static DataTable<CharacterDef> CharacterDataTable = new DataTable<>();
|
||||
@@ -117,6 +116,7 @@ public class GameData {
|
||||
@Getter private static DataTable<StarTowerFloorExpDef> StarTowerFloorExpDataTable = new DataTable<>();
|
||||
@Getter private static DataTable<StarTowerTeamExpDef> StarTowerTeamExpDataTable = new DataTable<>();
|
||||
@Getter private static DataTable<StarTowerEventDef> StarTowerEventDataTable = new DataTable<>();
|
||||
@Getter private static DataTable<StarTowerQuestDef> StarTowerQuestDataTable = new DataTable<>();
|
||||
@Getter private static DataTable<StarTowerBuildRankDef> StarTowerBuildRankDataTable = new DataTable<>();
|
||||
@Getter private static DataTable<StarTowerBookPotentialRewardDef> StarTowerBookPotentialRewardDataTable = new DataTable<>();
|
||||
@Getter private static DataTable<SubNoteSkillPromoteGroupDef> SubNoteSkillPromoteGroupDataTable = new DataTable<>();
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
package emu.nebula.data.custom;
|
||||
|
||||
import emu.nebula.data.BaseDef;
|
||||
import emu.nebula.data.GameData;
|
||||
import emu.nebula.data.ResourceType;
|
||||
import emu.nebula.data.ResourceType.LoadPriority;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
@ResourceType(name = "StarTowerQuestParam.json", useInternal = true, loadPriority = LoadPriority.LOW)
|
||||
public class StarTowerQuestParamDef extends BaseDef {
|
||||
private int Id;
|
||||
|
||||
private int CompleteCond;
|
||||
private int Aim;
|
||||
|
||||
private int Param1;
|
||||
private int ParamCond1;
|
||||
private int Param2;
|
||||
private int ParamCond2;
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return Id;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoad() {
|
||||
var quest = GameData.getStarTowerQuestDataTable().get(this.Id);
|
||||
if (quest == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
quest.setParams(this);
|
||||
}
|
||||
}
|
||||
@@ -9,6 +9,7 @@ import lombok.Getter;
|
||||
public class StarTowerBuildRankDef extends BaseDef {
|
||||
private int Id;
|
||||
private int MinGrade;
|
||||
private int Level;
|
||||
private int Rarity;
|
||||
|
||||
@Override
|
||||
|
||||
@@ -0,0 +1,78 @@
|
||||
package emu.nebula.data.resources;
|
||||
|
||||
import emu.nebula.data.BaseDef;
|
||||
import emu.nebula.data.ResourceType;
|
||||
import emu.nebula.data.custom.StarTowerQuestParamDef;
|
||||
import emu.nebula.game.quest.QuestData;
|
||||
import emu.nebula.game.quest.QuestType;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
@ResourceType(name = "StarTowerQuest.json")
|
||||
public class StarTowerQuestDef extends BaseDef implements QuestData {
|
||||
private int Id;
|
||||
private String Title;
|
||||
private int TowerQuestType; // 1 = Core, 2 = Normal
|
||||
private int[] PreTowerQuestIds;
|
||||
|
||||
// Rewards
|
||||
private int Reward1;
|
||||
private int RewardQty1;
|
||||
private int Reward2;
|
||||
private int RewardQty2;
|
||||
|
||||
// Custom params (loaded from defs/StarTowerQuestParam.json)
|
||||
private transient int completeCond;
|
||||
private transient int aim;
|
||||
private transient int param1;
|
||||
private transient int paramCond1;
|
||||
private transient int param2;
|
||||
private transient int paramCond2;
|
||||
private transient int[] condParams;
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return Id;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getQuestType() {
|
||||
return QuestType.Tower;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getCompleteCond() {
|
||||
return this.completeCond;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int[] getCompleteCondParams() {
|
||||
if (this.condParams == null) {
|
||||
this.condParams = new int[] { 1, 0, 0 };
|
||||
}
|
||||
|
||||
return this.condParams;
|
||||
}
|
||||
|
||||
/**
|
||||
* Applies the generated condition params from the internal defs file.
|
||||
*/
|
||||
public void setParams(StarTowerQuestParamDef params) {
|
||||
this.completeCond = params.getCompleteCond();
|
||||
this.aim = params.getAim();
|
||||
this.param1 = params.getParam1();
|
||||
this.paramCond1 = params.getParamCond1();
|
||||
this.param2 = params.getParam2();
|
||||
this.paramCond2 = params.getParamCond2();
|
||||
|
||||
this.condParams = new int[] { this.aim, this.param1, this.param2 };
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoad() {
|
||||
// Quests without prerequisites have no array in the data file
|
||||
if (this.PreTowerQuestIds == null) {
|
||||
this.PreTowerQuestIds = new int[0];
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user