mirror of
https://github.com/Melledy/Nebula.git
synced 2026-09-19 17:19:58 +02:00
Fix basic trials not rewarding materials
This commit is contained in:
@@ -41,6 +41,7 @@ public class GameData {
|
||||
@Getter private static DataTable<DictionaryEntryDef> DictionaryEntryDataTable = new DataTable<>();
|
||||
|
||||
@Getter private static DataTable<DailyInstanceDef> DailyInstanceDataTable = new DataTable<>();
|
||||
@Getter private static DataTable<DailyInstanceRewardGroupDef> DailyInstanceRewardGroupDataTable = new DataTable<>();
|
||||
@Getter private static DataTable<RegionBossLevelDef> RegionBossLevelDataTable = new DataTable<>();
|
||||
@Getter private static DataTable<SkillInstanceDef> SkillInstanceDataTable = new DataTable<>();
|
||||
@Getter private static DataTable<CharGemInstanceDef> CharGemInstanceDataTable = new DataTable<>();
|
||||
|
||||
@@ -1,24 +1,21 @@
|
||||
package emu.nebula.data.resources;
|
||||
|
||||
import emu.nebula.data.BaseDef;
|
||||
import emu.nebula.data.GameData;
|
||||
import emu.nebula.data.ResourceType;
|
||||
import emu.nebula.game.instance.InstanceData;
|
||||
import emu.nebula.game.inventory.ItemParamMap;
|
||||
import emu.nebula.util.JsonUtils;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
@ResourceType(name = "DailyInstance.json")
|
||||
public class DailyInstanceDef extends BaseDef implements InstanceData {
|
||||
private int Id;
|
||||
private int AwardDropId;
|
||||
private int PreLevelId;
|
||||
private int PreLevelStar;
|
||||
private int OneStarEnergyConsume;
|
||||
private int NeedWorldClass;
|
||||
private String BaseAwardPreview;
|
||||
|
||||
private transient ItemParamMap firstRewards;
|
||||
private transient ItemParamMap rewards;
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
@@ -30,28 +27,40 @@ public class DailyInstanceDef extends BaseDef implements InstanceData {
|
||||
return OneStarEnergyConsume;
|
||||
}
|
||||
|
||||
public DailyInstanceRewardGroupDef getRewardGroup(int rewardType) {
|
||||
int groupId = this.getAwardDropId() + rewardType;
|
||||
return GameData.getDailyInstanceRewardGroupDataTable().get(groupId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoad() {
|
||||
// Init reward maps
|
||||
this.firstRewards = new ItemParamMap();
|
||||
this.rewards = new ItemParamMap();
|
||||
public ItemParamMap getFirstRewards() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemParamMap getRewards() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemParamMap getFirstRewards(int rewardType) {
|
||||
var data = this.getRewardGroup(rewardType);
|
||||
|
||||
// Parse rewards
|
||||
var awards = JsonUtils.decodeList(this.BaseAwardPreview, int[].class);
|
||||
if (awards == null) {
|
||||
return;
|
||||
if (data != null) {
|
||||
return data.getFirstRewards();
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemParamMap getRewards(int rewardType) {
|
||||
var data = this.getRewardGroup(rewardType);
|
||||
|
||||
for (int[] award : awards) {
|
||||
int itemId = award[0];
|
||||
int count = award[1];
|
||||
boolean isFirst = award[2] == 1;
|
||||
|
||||
if (isFirst) {
|
||||
this.firstRewards.put(itemId, count);
|
||||
} else {
|
||||
this.rewards.put(itemId, count);
|
||||
}
|
||||
if (data != null) {
|
||||
return data.getRewards();
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
package emu.nebula.data.resources;
|
||||
|
||||
import emu.nebula.data.BaseDef;
|
||||
import emu.nebula.data.ResourceType;
|
||||
import emu.nebula.game.inventory.ItemParamMap;
|
||||
import emu.nebula.util.JsonUtils;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
@ResourceType(name = "DailyInstanceRewardGroup.json")
|
||||
public class DailyInstanceRewardGroupDef extends BaseDef {
|
||||
private int Id;
|
||||
private String BaseAwardPreview;
|
||||
|
||||
private transient ItemParamMap firstRewards;
|
||||
private transient ItemParamMap rewards;
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return Id;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoad() {
|
||||
// Init reward maps
|
||||
this.firstRewards = new ItemParamMap();
|
||||
this.rewards = new ItemParamMap();
|
||||
|
||||
// Parse rewards
|
||||
var awards = JsonUtils.decodeList(this.BaseAwardPreview, int[].class);
|
||||
if (awards == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
for (int[] award : awards) {
|
||||
int itemId = award[0];
|
||||
int count = award[1];
|
||||
boolean isFirst = award[2] == 1;
|
||||
|
||||
if (isFirst) {
|
||||
this.firstRewards.put(itemId, count);
|
||||
} else {
|
||||
this.rewards.put(itemId, count);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user