using System.Text.Json.Serialization; using RPG.GameCore.Enums; using RPG.GameCore.Excel.Attributes; using RPG.GameCore.Types; namespace RPG.GameCore.Excel; [ExcelTable("MainMissionExcelTable.json", ExcelType.MainMission)] public class MainMissionRow : ExcelRow { public override uint Id => MainMissionID; public uint MainMissionID { get; set; } // 0x10 [JsonConverter(typeof(JsonStringEnumConverter))] public MainMissionType Type { get; set; } // 0x14 public uint MissionTag { get; set; } // 0x18 public bool IsLoop { get; set; } // 0x1C public uint[] NextMainMissionList { get; set; } = []; // 0x20 public TextID Name { get; set; } // 0x28 [JsonConverter(typeof(JsonStringEnumConverter))] public RequirementType? TakeTypeA { get; set; } // 0x2C public uint TakeParamAInt1 { get; set; } // 0x30 public uint[] TakeParamAIntList { get; set; } = []; // 0x38 [JsonConverter(typeof(JsonStringEnumConverter))] public RequirementType? TakeTypeB { get; set; } // 0x40 public uint TakeParamBInt1 { get; set; } // 0x44 public uint[] TakeParamBIntList { get; set; } = []; // 0x48 [JsonConverter(typeof(JsonStringEnumConverter))] public RequirementType? BeginType { get; set; } // 0x50 [JsonConverter(typeof(JsonStringEnumConverter))] public EJNAACLHIHI? TakeOperation { get; set; } // 0x54 public uint BeginParamInt1 { get; set; } // 0x58 public TextID BeginDesc { get; set; } // 0x5C public uint[] BeginParamIntList { get; set; } = []; // 0x60 public uint[] StartSubMissionList { get; set; } = []; // 0x68 public uint[] FinishSubMissionList { get; set; } = []; // 0x70 public uint NextTrackMainMission { get; set; } // 0x78 public uint TrackWeight { get; set; } // 0x7C public bool IsShowStartHint { get; set; } // 0x80 public bool IsShowFinishHint { get; set; } // 0x81 public bool IsShowRedDot { get; set; } // 0x82 public uint RewardID { get; set; } // 0x84 public uint DisplayRewardID { get; set; } // 0x88 public string? AudioEmotionState { get; set; } // 0x90 public uint ChapterID { get; set; } // 0x98 }