Implement Heartlink

This commit is contained in:
Melledy
2025-11-11 23:47:07 -08:00
parent 080d345981
commit d4a7aa0320
11 changed files with 366 additions and 6 deletions
@@ -28,6 +28,8 @@ public class GameData {
@Getter private static DataTable<TalentGroupDef> TalentGroupDataTable = new DataTable<>();
@Getter private static DataTable<TalentDef> TalentDataTable = new DataTable<>();
@Getter private static DataTable<ChatDef> ChatDataTable = new DataTable<>();
// Discs
@Getter private static DataTable<DiscDef> DiscDataTable = new DataTable<>();
@Getter private static DataTable<DiscStrengthenDef> DiscStrengthenDataTable = new DataTable<>();
@@ -1,7 +1,10 @@
package emu.nebula.data.resources;
import java.util.List;
import emu.nebula.data.BaseDef;
import emu.nebula.data.ResourceType;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
import lombok.Getter;
@Getter
@@ -21,6 +24,8 @@ public class CharacterDef extends BaseDef {
private int FragmentsId;
private int TransformQty;
private transient List<ChatDef> chats;
@Override
public int getId() {
return Id;
@@ -33,4 +38,9 @@ public class CharacterDef extends BaseDef {
return this.SkillsUpgradeGroup[index];
}
@Override
public void onLoad() {
this.chats = new ObjectArrayList<>();
}
}
@@ -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 = "Chat.json", loadPriority = LoadPriority.LOW)
public class ChatDef extends BaseDef {
private int Id;
private int AddressBookId;
private int PreChatId;
private int TriggerType;
private int TriggerCond;
private String TriggerCondParam;
private int Reward1;
private int RewardQty1;
@Override
public int getId() {
return Id;
}
@Override
public void onLoad() {
var character = GameData.getCharacterDataTable().get(this.AddressBookId);
if (character != null) {
character.getChats().add(this);
}
}
}