feat(Activity): implement Soldier

This commit is contained in:
fishiatee
2026-07-23 14:14:45 +07:00
parent a1ad265420
commit 3e5764df36
23 changed files with 1645 additions and 0 deletions
@@ -158,6 +158,21 @@ public class GameData {
// Activity: Tower Defense
@Getter private static DataTable<TowerDefenseLevelDef> TowerDefenseLevelDataTable = new DataTable<>();
// Activity: Soldier
@Getter private static DataTable<SoldierGradeChallengeDef> SoldierGradeChallengeDataTable = new DataTable<>();
@Getter private static DataTable<SoldierSeasonDef> SoldierSeasonDataTable = new DataTable<>();
@Getter private static DataTable<SoldierNodePlanDef> SoldierNodePlanDataTable = new DataTable<>();
@Getter private static DataTable<SoldierCharacterDef> SoldierCharacterDataTable = new DataTable<>();
@Getter private static DataTable<SoldierStarterCardDef> SoldierStarterCardDataTable = new DataTable<>();
@Getter private static DataTable<SoldierFloorDef> SoldierFloorDataTable = new DataTable<>();
@Getter private static DataTable<SoldierShopPoolDef> SoldierShopPoolDataTable = new DataTable<>();
@Getter private static DataTable<SoldierShopLevelDef> SoldierShopLevelDataTable = new DataTable<>();
@Getter private static DataTable<SoldierEventPlanDef> SoldierEventPlanDataTable = new DataTable<>();
@Getter private static DataTable<SoldierEventBattlePoolDef> SoldierEventBattlePoolDataTable = new DataTable<>();
@Getter private static DataTable<SoldierStrategyCardDef> SoldierStrategyCardDataTable = new DataTable<>();
@Getter private static DataTable<SoldierCardEffectDef> SoldierCardEffectDataTable = new DataTable<>();
@Getter private static DataTable<SoldierBuffDef> SoldierBuffDataTable = new DataTable<>();
// Activity: Trials
@Getter private static DataTable<TrialControlDef> TrialControlDataTable = new DataTable<>();
@@ -0,0 +1,24 @@
package emu.nebula.data.resources;
import java.util.List;
import emu.nebula.data.BaseDef;
import emu.nebula.data.ResourceType;
import lombok.Getter;
@Getter
@ResourceType(name = "SoldierBuff.json")
public class SoldierBuffDef extends BaseDef {
private int Id;
private int Cond1;
private int Cond2;
private int Effect1;
private int Effect2;
private List<String> EffectParams1;
private List<String> EffectParams2;
@Override
public int getId() {
return Id;
}
}
@@ -0,0 +1,19 @@
package emu.nebula.data.resources;
import java.util.List;
import emu.nebula.data.BaseDef;
import emu.nebula.data.ResourceType;
import lombok.Getter;
@Getter
@ResourceType(name = "SoldierCardEffect.json")
public class SoldierCardEffectDef extends BaseDef {
private int Id;
private List<Integer> BuffIds;
@Override
public int getId() {
return Id;
}
}
@@ -0,0 +1,22 @@
package emu.nebula.data.resources;
import emu.nebula.data.BaseDef;
import emu.nebula.data.ResourceType;
import lombok.Getter;
@Getter
@ResourceType(name = "SoldierCharacter.json")
public class SoldierCharacterDef extends BaseDef {
private int Id;
private int GroupId;
private int Rarity;
private int Cost;
private int MaxStar;
private int CharacterType;
private boolean BoardChess;
@Override
public int getId() {
return Id;
}
}
@@ -0,0 +1,32 @@
package emu.nebula.data.resources;
import emu.nebula.data.BaseDef;
import emu.nebula.data.ResourceType;
import lombok.Getter;
@Getter
@ResourceType(name = "SoldierEventBattlePool.json")
public class SoldierEventBattlePoolDef extends BaseDef {
private int Id;
private int PoolId;
private int LevelName;
private int AddDifficult;
private int weight;
private int FloorGroup;
private int coin;
private int CharacterCount;
private int StrategyCardCount;
@Override
public int getId() {
return Id;
}
public int getWeight() {
return weight;
}
public int getCoin() {
return coin;
}
}
@@ -0,0 +1,18 @@
package emu.nebula.data.resources;
import emu.nebula.data.BaseDef;
import emu.nebula.data.ResourceType;
import lombok.Getter;
@Getter
@ResourceType(name = "SoldierEventPlan.json")
public class SoldierEventPlanDef extends BaseDef {
private int Id;
private int EventGroupId;
private int EventType;
@Override
public int getId() {
return Id;
}
}
@@ -0,0 +1,18 @@
package emu.nebula.data.resources;
import emu.nebula.data.BaseDef;
import emu.nebula.data.ResourceType;
import lombok.Getter;
@Getter
@ResourceType(name = "SoldierFloor.json")
public class SoldierFloorDef extends BaseDef {
private int Id;
private int Default;
private int BattleTime;
@Override
public int getId() {
return Id;
}
}
@@ -0,0 +1,21 @@
package emu.nebula.data.resources;
import emu.nebula.data.BaseDef;
import emu.nebula.data.ResourceType;
import lombok.Getter;
@Getter
@ResourceType(name = "SoldierGradeChallenge.json")
public class SoldierGradeChallengeDef extends BaseDef {
private int Id;
private int KeyGradeId;
private int GradeLevel;
private int NodeGroupId;
private int Score;
private int UnlockGradeLevel;
@Override
public int getId() {
return Id;
}
}
@@ -0,0 +1,26 @@
package emu.nebula.data.resources;
import emu.nebula.data.BaseDef;
import emu.nebula.data.ResourceType;
import lombok.Getter;
@Getter
@ResourceType(name = "SoldierNodePlan.json")
public class SoldierNodePlanDef extends BaseDef {
private int Id;
private int NodeGroupId;
private int Stage;
private int Index;
private int NodeType;
private int EventGroupId;
private int DifficultyLevelAdd;
private int Coin;
private int Experience;
private int AddHp;
private int LoseHp;
@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 = "SoldierSeason.json")
public class SoldierSeasonDef extends BaseDef {
private int Id;
private int StarterGroupId;
private int StrategyGroupId;
private int ShopPoolGroupId;
private int ChessGroupId;
@Override
public int getId() {
return Id;
}
}
@@ -0,0 +1,34 @@
package emu.nebula.data.resources;
import emu.nebula.data.BaseDef;
import emu.nebula.data.ResourceType;
import lombok.Getter;
@Getter
@ResourceType(name = "SoldierShopLevel.json")
public class SoldierShopLevelDef extends BaseDef {
private int Level;
private int Exp;
private int Count;
private int Rarity1;
private int Rarity2;
private int Rarity3;
private int Rarity4;
private int Rarity5;
@Override
public int getId() {
return Level;
}
public int rarityWeight(int rarity) {
return switch (rarity) {
case 1 -> Rarity1;
case 2 -> Rarity2;
case 3 -> Rarity3;
case 4 -> Rarity4;
case 5 -> Rarity5;
default -> 0;
};
}
}
@@ -0,0 +1,21 @@
package emu.nebula.data.resources;
import emu.nebula.data.BaseDef;
import emu.nebula.data.ResourceType;
import lombok.Getter;
@Getter
@ResourceType(name = "SoldierShopPool.json")
public class SoldierShopPoolDef extends BaseDef {
private int Id;
private int GroupId;
private int ChessCharacterId;
private int Rarity;
private int Weight;
private int Cost;
@Override
public int getId() {
return Id;
}
}
@@ -0,0 +1,22 @@
package emu.nebula.data.resources;
import java.util.List;
import emu.nebula.data.BaseDef;
import emu.nebula.data.ResourceType;
import lombok.Getter;
@Getter
@ResourceType(name = "SoldierStarterCard.json")
public class SoldierStarterCardDef extends BaseDef {
private int Id;
private int GroupId;
private int CardEffectId;
private int GradeLevelCond;
private List<Integer> CharacterShow;
@Override
public int getId() {
return Id;
}
}
@@ -0,0 +1,19 @@
package emu.nebula.data.resources;
import emu.nebula.data.BaseDef;
import emu.nebula.data.ResourceType;
import lombok.Getter;
@Getter
@ResourceType(name = "SoldierStrategyCard.json")
public class SoldierStrategyCardDef extends BaseDef {
private int Id;
private int GroupId;
private int CardEffectId;
private int GradeLevelCond;
@Override
public int getId() {
return Id;
}
}