Vampire survivor now rewards the correct fate cards

This commit is contained in:
Melledy
2025-11-14 18:41:19 -08:00
parent 30d0dfbaee
commit aad9a5da89
6 changed files with 102 additions and 6 deletions
+4 -1
View File
@@ -93,12 +93,15 @@ public class GameData {
@Getter private static DataTable<PotentialDef> PotentialDataTable = new DataTable<>();
@Getter private static DataTable<SubNoteSkillPromoteGroupDef> SubNoteSkillPromoteGroupDataTable = new DataTable<>();
@Getter private static DataTable<StarTowerBookFateCardBundleDef> StarTowerBookFateCardBundleDataTable = new DataTable<>();
@Getter private static DataTable<StarTowerBookFateCardDef> StarTowerBookFateCardDataTable = new DataTable<>();
@Getter private static DataTable<FateCardDef> FateCardDataTable = new DataTable<>();
// Infinity Tower
@Getter private static DataTable<InfinityTowerLevelDef> InfinityTowerLevelDataTable = new DataTable<>();
// Vampire survivor
@Getter private static DataTable<VampireSurvivorDef> VampireSurvivorDataTable = new DataTable<>();
@Getter private static DataTable<FateCardDef> FateCardDataTable = new DataTable<>();
// Score boss
@Getter private static DataTable<ScoreBossControlDef> ScoreBossControlDataTable = new DataTable<>();
@@ -2,7 +2,9 @@ package emu.nebula.data.resources;
import emu.nebula.data.BaseDef;
import emu.nebula.data.ResourceType;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.Setter;
@Getter
@ResourceType(name = "FateCard.json")
@@ -14,6 +16,9 @@ public class FateCardDef extends BaseDef {
private boolean IsVampireSpecial;
private boolean Removable;
@Setter(AccessLevel.PROTECTED)
private transient int bundleId;
@Override
public int getId() {
return Id;
@@ -0,0 +1,30 @@
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
@ResourceType(name = "StarTowerBookFateCardBundle.json")
public class StarTowerBookFateCardBundleDef extends BaseDef {
private int Id;
private int BundleId;
private transient List<FateCardDef> cards;
public StarTowerBookFateCardBundleDef() {
this.cards = new ObjectArrayList<>();
}
@Override
public int getId() {
return Id;
}
protected void addCard(FateCardDef card) {
this.getCards().add(card);
}
}
@@ -0,0 +1,38 @@
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 = "StarTowerBookFateCard.json", loadPriority = LoadPriority.LOW)
public class StarTowerBookFateCardDef extends BaseDef {
private int Id;
private int BundleId;
@Override
public int getId() {
return Id;
}
@Override
public void onLoad() {
// Set card bundle id
var card = GameData.getFateCardDataTable().get(this.getId());
if (card == null) {
return;
}
card.setBundleId(this.BundleId);
// Add to bundle
var bundle = GameData.getStarTowerBookFateCardBundleDataTable().get(this.getBundleId());
if (bundle == null) {
return;
}
bundle.addCard(card);
}
}
@@ -10,6 +10,7 @@ public class VampireSurvivorDef extends BaseDef {
private int Id;
private int Mode;
private int NeedWorldClass;
private int[] FateCardBundle;
@Override
public int getId() {