mirror of
https://github.com/Melledy/Nebula.git
synced 2026-11-04 21:36:51 +01:00
Implement dorm
This commit is contained in:
1 parent
c585417b85
commit
bd4aabd464
47 files changed
+2364
-7
No files matched your search
@@ -146,6 +146,21 @@ public class GameData {
|
||||
@Getter private static DataTable<TraceHuntLevelDef> TraceHuntLevelDataTable = new DataTable<>();
|
||||
@Getter private static DataTable<TraceHuntSelfHuntExtraCostDef> TraceHuntSelfHuntExtraCostDataTable = new DataTable<>();
|
||||
|
||||
// ===== Dorm =====
|
||||
@Getter private static DataTable<DormRoomDef> DormRoomDataTable = new DataTable<>();
|
||||
@Getter private static DataTable<DormFurnitureDef> DormFurnitureDataTable = new DataTable<>();
|
||||
@Getter private static DataTable<DormLayoutRewardDef> DormLayoutRewardDataTable = new DataTable<>();
|
||||
@Getter private static DataTable<DormRoomLayoutDef> DormRoomLayoutDataTable = new DataTable<>();
|
||||
@Getter private static DataTable<DormRewardDef> DormRewardDataTable = new DataTable<>();
|
||||
@Getter private static DataTable<DormAchievementDef> DormAchievementDataTable = new DataTable<>();
|
||||
@Getter private static DataTable<DormHonorTitleDef> DormHonorTitleDataTable = new DataTable<>();
|
||||
@Getter private static DataTable<DormRoleDef> DormRoleDataTable = new DataTable<>();
|
||||
@Getter private static DataTable<DormRoleSkinDef> DormRoleSkinDataTable = new DataTable<>();
|
||||
@Getter private static DataTable<DormInteractiveDef> DormInteractiveDataTable = new DataTable<>();
|
||||
@Getter private static DataTable<DormQuestDef> DormQuestDataTable = new DataTable<>();
|
||||
@Getter private static DataTable<DormQuestGroupDef> DormQuestGroupDataTable = new DataTable<>();
|
||||
@Getter private static DataTable<DormRoomSceneDef> DormRoomSceneDataTable = new DataTable<>();
|
||||
|
||||
// ===== Misc =====
|
||||
@Getter private static DataTable<WorldClassDef> WorldClassDataTable = new DataTable<>();
|
||||
@Getter private static DataTable<GuideGroupDef> GuideGroupDataTable = new DataTable<>();
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
package emu.nebula.data.resources;
|
||||
|
||||
import emu.nebula.data.BaseDef;
|
||||
import emu.nebula.data.ResourceType;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
@ResourceType(name = "DormAchievement.json")
|
||||
public class DormAchievementDef extends BaseDef {
|
||||
private int Id;
|
||||
private int CompleteCond;
|
||||
private int[] CompleteParams;
|
||||
private int Tid1;
|
||||
private int Qty1;
|
||||
private int Tid2;
|
||||
private int Qty2;
|
||||
private int Tid3;
|
||||
private int Qty3;
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return Id;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package emu.nebula.data.resources;
|
||||
|
||||
import emu.nebula.data.BaseDef;
|
||||
import emu.nebula.data.ResourceType;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
@ResourceType(name = "DormFurniture.json")
|
||||
public class DormFurnitureDef extends BaseDef {
|
||||
private int Id;
|
||||
private int CollectionValue;
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return Id;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package emu.nebula.data.resources;
|
||||
|
||||
import emu.nebula.data.BaseDef;
|
||||
import emu.nebula.data.ResourceType;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
@ResourceType(name = "DormHonorTitle.json")
|
||||
public class DormHonorTitleDef extends BaseDef {
|
||||
private int Id;
|
||||
private int NeedExp;
|
||||
|
||||
@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 = "DormInteractive.json")
|
||||
public class DormInteractiveDef extends BaseDef {
|
||||
private int Id;
|
||||
private int CharId;
|
||||
private int FurniturnId;
|
||||
private int DormInterType;
|
||||
private String AnimationConfig;
|
||||
|
||||
@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 = "DormLayoutReward.json")
|
||||
public class DormLayoutRewardDef extends BaseDef {
|
||||
private int Id;
|
||||
private int RoomType;
|
||||
private int FurnitureCount;
|
||||
private int RewardId1;
|
||||
private int Qty1;
|
||||
|
||||
@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 = "DormQuest.json")
|
||||
public class DormQuestDef extends BaseDef {
|
||||
private int Id;
|
||||
private int DormQuestGroup;
|
||||
private String Title;
|
||||
private int Reward1;
|
||||
private int RewardQty1;
|
||||
private int Reward2;
|
||||
private int RewardQty2;
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return Id;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package emu.nebula.data.resources;
|
||||
|
||||
import emu.nebula.data.BaseDef;
|
||||
import emu.nebula.data.ResourceType;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
@ResourceType(name = "DormQuestGroup.json")
|
||||
public class DormQuestGroupDef extends BaseDef {
|
||||
private int Id;
|
||||
private int PreGroup;
|
||||
private String Title;
|
||||
private int Item1;
|
||||
private int Qty1;
|
||||
private int Item2;
|
||||
private int Qty2;
|
||||
private int Item3;
|
||||
private int Qty3;
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return Id;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
package emu.nebula.data.resources;
|
||||
|
||||
import emu.nebula.data.BaseDef;
|
||||
import emu.nebula.data.ResourceType;
|
||||
import emu.nebula.util.JsonUtils;
|
||||
import it.unimi.dsi.fastutil.ints.IntSet;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
@ResourceType(name = "DormReward.json")
|
||||
public class DormRewardDef extends BaseDef {
|
||||
private int Id;
|
||||
private int DropId;
|
||||
private String Conditions;
|
||||
|
||||
private transient int[][] parsedConditions;
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return Id;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoad() {
|
||||
this.parsedConditions = JsonUtils.decode(this.Conditions, int[][].class);
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks the requirements for this dorm reward.
|
||||
* Condition type 1 = the player needs to have the room unlocked.
|
||||
*/
|
||||
public boolean isUnlocked(IntSet unlockedRoomIds) {
|
||||
if (this.parsedConditions == null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
for (int[] condition : this.parsedConditions) {
|
||||
if (condition.length < 2) {
|
||||
return false;
|
||||
}
|
||||
|
||||
switch (condition[0]) {
|
||||
case 1 -> {
|
||||
if (!unlockedRoomIds.contains(condition[1])) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
default -> {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -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 = "DormRole.json")
|
||||
public class DormRoleDef extends BaseDef {
|
||||
private int Id;
|
||||
private int RoleType;
|
||||
private int[] Exclusions;
|
||||
|
||||
@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 = "DormRoleSkin.json")
|
||||
public class DormRoleSkinDef extends BaseDef {
|
||||
private int Id;
|
||||
private int TrId;
|
||||
private int TrQty;
|
||||
private int UnlockChar;
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return Id;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package emu.nebula.data.resources;
|
||||
|
||||
import emu.nebula.data.BaseDef;
|
||||
import emu.nebula.data.ResourceType;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
@ResourceType(name = "DormRoom.json")
|
||||
public class DormRoomDef extends BaseDef {
|
||||
private int Id;
|
||||
private int RoomType;
|
||||
private int RoomSizeType;
|
||||
private int SceneRes;
|
||||
private String DefaultName;
|
||||
private int DefaultLayoutId;
|
||||
private boolean DefaultCanUse;
|
||||
private int RoleNum;
|
||||
private int FloorRatio;
|
||||
|
||||
@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 = "DormRoomLayout.json")
|
||||
public class DormRoomLayoutDef extends BaseDef {
|
||||
private int Id;
|
||||
private int RoomLayoutId;
|
||||
private int FurnitureId;
|
||||
private int[] Pos;
|
||||
private int Rot;
|
||||
private int ApplyRoomType;
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return Id;
|
||||
}
|
||||
}
|
||||
@@ -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 = "DormRoomScene.json")
|
||||
public class DormRoomSceneDef extends BaseDef {
|
||||
private int Id;
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return Id;
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user