mirror of
https://github.com/Melledy/Nebula.git
synced 2026-09-19 17:19:58 +02:00
Implement battle pass
This commit is contained in:
@@ -53,6 +53,12 @@ public class GameData {
|
||||
@Getter private static DataTable<ResidentShopDef> ResidentShopDataTable = new DataTable<>();
|
||||
@Getter private static DataTable<ResidentGoodsDef> ResidentGoodsDataTable = new DataTable<>();
|
||||
|
||||
// Battle Pass
|
||||
@Getter private static DataTable<BattlePassDef> BattlePassDataTable = new DataTable<>();
|
||||
@Getter private static DataTable<BattlePassLevelDef> BattlePassLevelDataTable = new DataTable<>();
|
||||
@Getter private static DataTable<BattlePassQuestDef> BattlePassQuestDataTable = new DataTable<>();
|
||||
@Getter private static DataTable<BattlePassRewardDef> BattlePassRewardDataTable = new DataTable<>();
|
||||
|
||||
// Commissions
|
||||
@Getter private static DataTable<AgentDef> AgentDataTable = new DataTable<>();
|
||||
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
package emu.nebula.data.resources;
|
||||
|
||||
import emu.nebula.data.BaseDef;
|
||||
import emu.nebula.data.ResourceType;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
@ResourceType(name = "BattlePass.json")
|
||||
public class BattlePassDef extends BaseDef {
|
||||
private int ID;
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return ID;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package emu.nebula.data.resources;
|
||||
|
||||
import emu.nebula.data.BaseDef;
|
||||
import emu.nebula.data.ResourceType;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
@ResourceType(name = "BattlePassLevel.json")
|
||||
public class BattlePassLevelDef extends BaseDef {
|
||||
private int ID;
|
||||
private int Exp;
|
||||
|
||||
private int Tid;
|
||||
private int Qty;
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return ID;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
package emu.nebula.data.resources;
|
||||
|
||||
import emu.nebula.data.BaseDef;
|
||||
import emu.nebula.data.ResourceType;
|
||||
import emu.nebula.game.quest.QuestData;
|
||||
import emu.nebula.game.quest.QuestHelper;
|
||||
import emu.nebula.game.quest.QuestType;
|
||||
import emu.nebula.game.quest.QuestHelper.QuestParams;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
@ResourceType(name = "BattlePassQuest.json")
|
||||
public class BattlePassQuestDef extends BaseDef implements QuestData {
|
||||
private int Id;
|
||||
private int Type;
|
||||
private int Exp;
|
||||
|
||||
private transient int questType;
|
||||
private transient QuestParams params;
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return Id;
|
||||
}
|
||||
|
||||
public boolean isDaily() {
|
||||
return this.Type == 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getCompleteCond() {
|
||||
return params.getCompleteCond();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int[] getCompleteCondParams() {
|
||||
return params.getCompleteCondParams();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoad() {
|
||||
this.questType = this.isDaily() ? QuestType.BattlePassDaily : QuestType.BattlePassWeekly;
|
||||
this.params = QuestHelper.getBattlePassQuestParams().getOrDefault(this.getId(), QuestHelper.DEFAULT);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
package emu.nebula.data.resources;
|
||||
|
||||
import emu.nebula.data.BaseDef;
|
||||
import emu.nebula.data.ResourceType;
|
||||
import emu.nebula.game.inventory.ItemParamMap;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
@ResourceType(name = "BattlePassReward.json")
|
||||
public class BattlePassRewardDef extends BaseDef {
|
||||
private int ID;
|
||||
private int Level;
|
||||
|
||||
private int Tid1;
|
||||
private int Qty1;
|
||||
private int Tid2;
|
||||
private int Qty2;
|
||||
private int Tid3;
|
||||
private int Qty3;
|
||||
|
||||
private transient ItemParamMap basicRewards;
|
||||
private transient ItemParamMap premiumRewards;
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return (ID << 16) + Level;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoad() {
|
||||
this.basicRewards = new ItemParamMap();
|
||||
this.premiumRewards = new ItemParamMap();
|
||||
|
||||
if (this.Tid1 > 0) {
|
||||
this.basicRewards.add(this.Tid1, this.Qty1);
|
||||
}
|
||||
|
||||
if (this.Tid2 > 0) {
|
||||
this.premiumRewards.add(this.Tid2, this.Qty2);
|
||||
}
|
||||
if (this.Tid3 > 0) {
|
||||
this.premiumRewards.add(this.Tid3, this.Qty3);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4,11 +4,13 @@ import java.util.Arrays;
|
||||
|
||||
import emu.nebula.data.BaseDef;
|
||||
import emu.nebula.data.ResourceType;
|
||||
import emu.nebula.game.quest.QuestData;
|
||||
import emu.nebula.game.quest.QuestType;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
@ResourceType(name = "DailyQuest.json")
|
||||
public class DailyQuestDef extends BaseDef {
|
||||
public class DailyQuestDef extends BaseDef implements QuestData {
|
||||
private int Id;
|
||||
private boolean Apear;
|
||||
private int Active;
|
||||
@@ -26,6 +28,11 @@ public class DailyQuestDef extends BaseDef {
|
||||
return Id;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getQuestType() {
|
||||
return QuestType.Daily;
|
||||
}
|
||||
|
||||
public int[] getCompleteCondParams() {
|
||||
return this.condParams;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user