mirror of
https://github.com/Melledy/Nebula.git
synced 2026-09-19 17:19:58 +02:00
Implement Finale Echoing (Permanent)
- Sweeps and quests this game mode are not implemented yet
This commit is contained in:
@@ -166,6 +166,9 @@ public class GameData {
|
||||
@Getter private static DataTable<TrialControlDef> TrialControlDataTable = new DataTable<>();
|
||||
@Getter private static DataTable<TrialGroupDef> TrialGroupDataTable = new DataTable<>();
|
||||
|
||||
// Activity: Joint Drill
|
||||
@Getter private static DataTable<JointDrill2LevelDef> JointDrill2LevelDataTable = new DataTable<>();
|
||||
|
||||
// Activity: Levels
|
||||
@Getter private static DataTable<ActivityLevelsLevelDef> ActivityLevelsLevelDataTable = new DataTable<>();
|
||||
|
||||
|
||||
@@ -10,8 +10,12 @@ import lombok.Getter;
|
||||
public class ActivityDef extends BaseDef {
|
||||
private int Id;
|
||||
private int ActivityType;
|
||||
//private String StartTime;
|
||||
//private String EndTime;
|
||||
|
||||
private transient emu.nebula.game.activity.ActivityType type;
|
||||
//private transient long startTimeSec;
|
||||
//private transient long endTimeSec;
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
@@ -20,6 +24,20 @@ public class ActivityDef extends BaseDef {
|
||||
|
||||
@Override
|
||||
public void onLoad() {
|
||||
// Cache activity type
|
||||
this.type = emu.nebula.game.activity.ActivityType.getByValue(this.ActivityType);
|
||||
|
||||
// Parse start/end times
|
||||
/*
|
||||
if (this.StartTime != null) {
|
||||
var start = OffsetDateTime.parse(this.StartTime);
|
||||
this.startTimeSec = start.toEpochSecond();
|
||||
}
|
||||
|
||||
if (this.EndTime != null) {
|
||||
var end = OffsetDateTime.parse(this.EndTime);
|
||||
this.endTimeSec = end.toEpochSecond();
|
||||
}
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
package emu.nebula.data.resources;
|
||||
|
||||
import emu.nebula.data.BaseDef;
|
||||
import emu.nebula.data.ResourceType;
|
||||
import emu.nebula.game.inventory.ItemRewardList;
|
||||
import emu.nebula.game.inventory.ItemRewardParam;
|
||||
import emu.nebula.util.JsonUtils;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
@ResourceType(name = "JointDrill_2_Level.json")
|
||||
public class JointDrill2LevelDef extends BaseDef {
|
||||
private int Id;
|
||||
private int BattleTime;
|
||||
|
||||
private int TimeScore;
|
||||
private int ScorePerSec;
|
||||
private int LevelScore;
|
||||
private int BaseHpScore;
|
||||
|
||||
private String RewardPreview;
|
||||
|
||||
private transient ItemRewardList firstRewards;
|
||||
private transient ItemRewardList rewards;
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return Id;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoad() {
|
||||
// Init reward lists
|
||||
this.firstRewards = new ItemRewardList();
|
||||
this.rewards = new ItemRewardList();
|
||||
|
||||
// Parse rewards
|
||||
var awards = JsonUtils.decodeList(this.RewardPreview, int[].class);
|
||||
if (awards == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
for (int[] award : awards) {
|
||||
int itemId = award[0];
|
||||
int min = award[1];
|
||||
int max = min;
|
||||
boolean isFirst = award[award.length - 1] == 1;
|
||||
|
||||
if (min == -1) {
|
||||
min = 0;
|
||||
max = 1;
|
||||
}
|
||||
|
||||
var reward = new ItemRewardParam(itemId, min, max);
|
||||
|
||||
if (isFirst) {
|
||||
this.firstRewards.add(reward);
|
||||
} else {
|
||||
this.rewards.add(reward);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user