mirror of
https://github.com/Melledy/Nebula.git
synced 2026-09-19 17:19:58 +02:00
Implement character talents
This commit is contained in:
@@ -23,6 +23,8 @@ public class GameData {
|
||||
@Getter private static DataTable<CharacterSkillUpgradeDef> CharacterSkillUpgradeDataTable = new DataTable<>();
|
||||
@Getter private static DataTable<CharacterUpgradeDef> CharacterUpgradeDataTable = new DataTable<>();
|
||||
@Getter private static DataTable<CharItemExpDef> CharItemExpDataTable = new DataTable<>();
|
||||
@Getter private static DataTable<TalentGroupDef> TalentGroupDataTable = new DataTable<>();
|
||||
@Getter private static DataTable<TalentDef> TalentDataTable = new DataTable<>();
|
||||
|
||||
@Getter private static DataTable<DiscDef> DiscDataTable = new DataTable<>();
|
||||
@Getter private static DataTable<DiscStrengthenDef> DiscStrengthenDataTable = new DataTable<>();
|
||||
|
||||
@@ -9,12 +9,13 @@ import lombok.Getter;
|
||||
public class CharacterDef extends BaseDef {
|
||||
private int Id;
|
||||
private String Name;
|
||||
|
||||
private boolean Available;
|
||||
private int Grade;
|
||||
private int DefaultSkinId;
|
||||
private int AdvanceSkinId;
|
||||
private int AdvanceGroup;
|
||||
private int FragmentsId;
|
||||
private int TransformQty;
|
||||
private int[] SkillsUpgradeGroup;
|
||||
|
||||
@Override
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
package emu.nebula.data.resources;
|
||||
|
||||
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 = "Talent.json", loadPriority = LoadPriority.LOW)
|
||||
public class TalentDef extends BaseDef {
|
||||
private int Id;
|
||||
private int Index;
|
||||
private int Type;
|
||||
private int GroupId;
|
||||
private int Sort;
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return Id;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoad() {
|
||||
var talentGroup = GameData.getTalentGroupDataTable().get(this.getGroupId());
|
||||
if (talentGroup == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.Type == 1) {
|
||||
talentGroup.setMainTalent(this);
|
||||
} else if (this.Type == 2) {
|
||||
talentGroup.getTalents().add(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package emu.nebula.data.resources;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.TreeSet;
|
||||
|
||||
import emu.nebula.data.BaseDef;
|
||||
import emu.nebula.data.ResourceType;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@ResourceType(name = "TalentGroup.json")
|
||||
public class TalentGroupDef extends BaseDef {
|
||||
private int Id;
|
||||
private int CharId;
|
||||
private int PreGroup;
|
||||
|
||||
@Setter
|
||||
private transient TalentDef mainTalent;
|
||||
private transient Set<TalentDef> talents;
|
||||
|
||||
public TalentGroupDef() {
|
||||
this.talents = new TreeSet<>();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return Id;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user