From 0d86d2600df69b3b5f698c2d42d88d691ae637ca Mon Sep 17 00:00:00 2001 From: raphaeIl Date: Fri, 27 Dec 2024 18:31:06 -0500 Subject: [PATCH] dev init commit --- SCHALE.Common/Crypto/PacketCryptManager.cs | 2 +- SCHALE.Common/Database/DataModels.cs | 525 + SCHALE.Common/Database/dbs.cs | 11648 ++++++-- .../20241227021741_BIGUPDATE.Designer.cs | 701 + .../20241227021741_BIGUPDATE.cs | 115 + .../SCHALEContextModelSnapshot.cs | 20 +- SCHALE.Common/NetworkProtocol/Packet.cs | 20 - SCHALE.Common/NetworkProtocol/Protocol.cs | 431 - .../NetworkProtocol/WebAPIErrorCode.cs | 542 - SCHALE.Common/NetworkProtocol/protos.cs | 23729 ++++++++-------- SCHALE.Common/Parcel/parcel.cs | 338 - SCHALE.Common/SCHALE.Common.csproj | 6 + SCHALE.GameClient/GameClient.cs | 166 - .../Api/ProtocolHandlers/Account.cs | 18 +- .../Api/ProtocolHandlers/Campaign.cs | 4 +- .../Api/ProtocolHandlers/Character.cs | 1 - .../Api/ProtocolHandlers/Equipment.cs | 1 - .../Controllers/Api/ProtocolHandlers/Shop.cs | 18 +- SCHALE.GameServer/Managers/RaidManager.cs | 4 +- SCHALE.GameServer/Utils/InventoryUtils.cs | 4 - 20 files changed, 22677 insertions(+), 15616 deletions(-) create mode 100644 SCHALE.Common/Database/DataModels.cs create mode 100644 SCHALE.Common/Migrations/SqlServerMigrations/20241227021741_BIGUPDATE.Designer.cs create mode 100644 SCHALE.Common/Migrations/SqlServerMigrations/20241227021741_BIGUPDATE.cs delete mode 100644 SCHALE.Common/NetworkProtocol/Protocol.cs delete mode 100644 SCHALE.Common/NetworkProtocol/WebAPIErrorCode.cs delete mode 100644 SCHALE.Common/Parcel/parcel.cs delete mode 100644 SCHALE.GameClient/GameClient.cs diff --git a/SCHALE.Common/Crypto/PacketCryptManager.cs b/SCHALE.Common/Crypto/PacketCryptManager.cs index 46115df..5f429d5 100644 --- a/SCHALE.Common/Crypto/PacketCryptManager.cs +++ b/SCHALE.Common/Crypto/PacketCryptManager.cs @@ -13,7 +13,7 @@ namespace MX.Core.Crypto // private static readonly short PROTOCOL_HEAD_RESERVE = 8; private readonly XORCryptor _cryptor = new(); private readonly FastCRC _checke = new(); - private ProtocolConverter _converter = new(); + private SCHALE.Common.Crypto.ProtocolConverter _converter = new(); public static PacketCryptManager Instance = new(); public byte[] RequestToBinary(Protocol protocol, string json) diff --git a/SCHALE.Common/Database/DataModels.cs b/SCHALE.Common/Database/DataModels.cs new file mode 100644 index 0000000..2f2d3ea --- /dev/null +++ b/SCHALE.Common/Database/DataModels.cs @@ -0,0 +1,525 @@ +using SCHALE.Common.FlatData; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Text; +using System.Text.Json.Serialization; +using System.Threading.Tasks; + +namespace SCHALE.Common.Database +{ + public class AccountDB + { + [JsonIgnore] + public virtual ICollection Items { get; } + + [JsonIgnore] + public virtual ICollection Characters { get; } + + [JsonIgnore] + public virtual ICollection MissionProgresses { get; } + + [JsonIgnore] + public virtual ICollection Echelons { get; } + + [JsonIgnore] + public virtual ICollection Equipment { get; } + + [JsonIgnore] + public virtual ICollection Weapons { get; } + + [JsonIgnore] + public virtual ICollection Gears { get; } + + [JsonIgnore] + public virtual ICollection MemoryLobbies { get; } + + [JsonIgnore] + public virtual ICollection Scenarios { get; } + + [JsonIgnore] + public virtual ICollection Cafes { get; } + + [JsonIgnore] + public virtual ICollection Furnitures { get; } + + + [JsonIgnore] + public virtual RaidInfo RaidInfo { get; set; } + + public AccountDB() + { + Items = new List(); + Characters = new List(); + MissionProgresses = new List(); + Echelons = new List(); + Equipment = new List(); + Weapons = new List(); + Gears = new List(); + MemoryLobbies = new List(); + Scenarios = new List(); + Cafes = new List(); + Furnitures = new List(); + } + + public AccountDB(long publisherAccountId) : this() + { + PublisherAccountId = publisherAccountId; + State = AccountState.Normal; + Level = 1; + LastConnectTime = DateTime.Now; + CreateDate = DateTime.Now; + RaidInfo = new() + { + SeasonId = 1, // default + BestRankingPoint = 0, + TotalRankingPoint = 0, + }; + } + + [Key] + public long ServerId { get; set; } + + public string? Nickname { get; set; } + public string? CallName { get; set; } + public string? DevId { get; set; } + public AccountState State { get; set; } + public int Level { get; set; } + public long Exp { get; set; } + public string? Comment { get; set; } + public int? LobbyMode { get; set; } + public long RepresentCharacterServerId { get; set; } + public long MemoryLobbyUniqueId { get; set; } + public DateTime LastConnectTime { get; set; } + public DateTime BirthDay { get; set; } + public DateTime CallNameUpdateTime { get; set; } + public long PublisherAccountId { get; set; } + public Nullable RetentionDays { get; set; } + public Nullable VIPLevel { get; set; } + public DateTime CreateDate { get; set; } + public Nullable UnReadMailCount { get; set; } + public Nullable LinkRewardDate { get; set; } + } + + public class FurnitureDB : ConsumableItemBaseDB + { + public override ParcelType Type { get => ParcelType.Furniture; } + + [NotMapped] + [JsonIgnore] + public override IEnumerable ParcelInfos { get; } + + [JsonIgnore] + public override bool CanConsume { get => false; } + + public FurnitureLocation Location { get; set; } + public long CafeDBId { get; set; } + public float PositionX { get; set; } + public float PositionY { get; set; } + public float Rotation { get; set; } + public long ItemDeploySequence { get; set; } + } + + public class MissionProgressDB : IEquatable, IMemoryPackable, IMemoryPackFormatterRegister + { + [Key] + [JsonIgnore] + public long ServerId { get; set; } + + [JsonIgnore] + public virtual AccountDB Account { get; set; } + + [JsonIgnore] + public long AccountServerId { get; set; } + public long MissionUniqueId { get; set; } + public bool Complete { get; set; } + public DateTime StartTime { get; set; } + public Dictionary ProgressParameters { get; set; } = []; + + public bool Equals(MissionProgressDB other) + { + return default; + } + } + + public abstract class ConsumableItemBaseDB : ParcelBase + { + [JsonIgnore] + public virtual AccountDB Account { get; set; } + + [JsonIgnore] + public abstract bool CanConsume { get; } + + [JsonIgnore] + public ParcelKeyPair Key { get; } + + [JsonIgnore] + public long AccountServerId { get; set; } + + [Key] + public long ServerId { get; set; } + + public long UniqueId { get; set; } + public long StackCount { get; set; } + } + + public class ItemDB : ConsumableItemBaseDB + { + [NotMapped] + public override ParcelType Type => ParcelType.Item; + + [NotMapped] + [JsonIgnore] + public override IEnumerable ParcelInfos { get; } + + [NotMapped] + [JsonIgnore] + public override bool CanConsume => true; + } + + public class CharacterDB : ParcelBase + { + [NotMapped] + public override ParcelType Type { get => ParcelType.Character; } + + [JsonIgnore] + public virtual AccountDB Account { get; set; } + + [JsonIgnore] + public long AccountServerId { get; set; } + + [JsonIgnore] + [NotMapped] + public override IEnumerable ParcelInfos { get; } + + [Key] + public long ServerId { get; set; } + public long UniqueId { get; set; } + public int StarGrade { get; set; } + public int Level { get; set; } + public long Exp { get; set; } + public int FavorRank { get; set; } + public long FavorExp { get; set; } + public int PublicSkillLevel { get; set; } + public int ExSkillLevel { get; set; } + public int PassiveSkillLevel { get; set; } + public int ExtraPassiveSkillLevel { get; set; } + public int LeaderSkillLevel { get; set; } + public bool IsFavorite { get; set; } + public List EquipmentServerIds { get; set; } = []; + public Dictionary PotentialStats { get; set; } = []; + + [JsonIgnore] + public Dictionary EquipmentSlotAndDBIds { get; } = []; + } + + public class EquipmentDB : ConsumableItemBaseDB + { + [NotMapped] + public override ParcelType Type { get => ParcelType.Equipment; } + + [NotMapped] + [JsonIgnore] + public override IEnumerable ParcelInfos { get; } + + [JsonIgnore] + public override bool CanConsume { get => false; } + + + public int Level { get; set; } + public long Exp { get; set; } + public int Tier { get; set; } + public long BoundCharacterServerId { get; set; } + } + + public class WeaponDB : ParcelBase + { + [NotMapped] + public override ParcelType Type { get => ParcelType.CharacterWeapon; } + + [NotMapped] + [JsonIgnore] + public override IEnumerable ParcelInfos { get; } + + [JsonIgnore] + public virtual AccountDB Account { get; set; } + + [JsonIgnore] + public long AccountServerId { get; set; } + + [Key] + public long ServerId { get; set; } + + public long UniqueId { get; set; } + public int Level { get; set; } + public long Exp { get; set; } + public int StarGrade { get; set; } + public long BoundCharacterServerId { get; set; } + } + + public class GearDB : ParcelBase + { + [NotMapped] + public override ParcelType Type { get => ParcelType.CharacterGear; } + + [NotMapped] + [JsonIgnore] + public override IEnumerable ParcelInfos { get; } + + [JsonIgnore] + public virtual AccountDB Account { get; set; } + + [JsonIgnore] + public long AccountServerId { get; set; } + + [Key] + public long ServerId { get; set; } + + public long UniqueId { get; set; } + public int Level { get; set; } + public long Exp { get; set; } + public int Tier { get; set; } + public long SlotIndex { get; set; } + public long BoundCharacterServerId { get; set; } + + [JsonIgnore] + public EquipmentDB ToEquipmentDB { get; } + } + + public class MemoryLobbyDB : ParcelBase + { + public override ParcelType Type { get => ParcelType.MemoryLobby; } + + [NotMapped] + [JsonIgnore] + public override IEnumerable ParcelInfos { get; } + + [JsonIgnore] + public virtual AccountDB Account { get; set; } + + [JsonIgnore] + public long AccountServerId { get; set; } + + [Key] + public long ServerId { get; set; } + + public long MemoryLobbyUniqueId { get; set; } + } + + public class ScenarioHistoryDB + { + [JsonIgnore] + public virtual AccountDB Account { get; set; } + + [JsonIgnore] + public long AccountServerId { get; set; } + + [Key] + public long ServerId { get; set; } + + + public long ScenarioUniqueId { get; set; } + public DateTime ClearDateTime { get; set; } + } + + public class EchelonDB + { + [Key] + [JsonIgnore] + public long ServerId { get; set; } + + [JsonIgnore] + public virtual AccountDB Account { get; set; } + + [JsonIgnore] + public long AccountServerId { get; set; } + + public EchelonType EchelonType { get; set; } + public long EchelonNumber { get; set; } + public EchelonExtensionType ExtensionType { get; set; } + public long LeaderServerId { get; set; } + + [JsonIgnore] + public int MainSlotCount { get; } + + [JsonIgnore] + public int SupportSlotCount { get; } + public List MainSlotServerIds { get; set; } = []; + public List SupportSlotServerIds { get; set; } = []; + public long TSSInteractionServerId { get; set; } + public EchelonStatusFlag UsingFlag { get; set; } + + [JsonIgnore] + public bool IsUsing { get; } + + [JsonIgnore] + public List AllCharacterServerIds { get; } = []; + + [JsonIgnore] + public List AllCharacterWithoutTSSServerIds { get; } = []; + + [JsonIgnore] + public List AllCharacterWithEmptyServerIds { get; } = []; + + [JsonIgnore] + public List BattleCharacterServerIds { get; } = []; + public List SkillCardMulliganCharacterIds { get; set; } = []; + public int[] CombatStyleIndex { get; set; } = []; + } + + public class CafeDB + { + [JsonIgnore] + public virtual AccountDB Account { get; set; } + + [JsonIgnore] + public long AccountServerId { get; set; } + + [Key] + public long CafeDBId { get; set; } + + public long CafeId { get; set; } + public long AccountId { get; set; } + public int CafeRank { get; set; } + public DateTime LastUpdate { get; set; } + public Nullable LastSummonDate { get; set; } + + [NotMapped] + public bool IsNew { get; set; } + + public Dictionary CafeVisitCharacterDBs { get; set; } + + [NotMapped] + public List FurnitureDBs { get => Account.Furnitures.Where(x => x.CafeDBId == CafeDBId).ToList(); } + + public DateTime ProductionAppliedTime { get; set; } + [NotMapped] + public CafeProductionDB ProductionDB + { + get => new() + { + CafeDBId = 1, + AppliedDate = DateTime.UtcNow, + ProductionParcelInfos = [ + new(){ Key = new ParcelKeyPair { Type = ParcelType.Currency, Id = 1 } }, // id 1 + new() { Key = new ParcelKeyPair { Type = ParcelType.Currency, Id = 5 } } + ], + }; + } + + [JsonIgnore] + public Dictionary CurrencyDict_Obsolete { get; set; } = new Dictionary(); + + [JsonIgnore] + public Dictionary UpdateTimeDict_Obsolete { get; set; } = new Dictionary(); + } + + public class RaidInfo // custom class for all raid stuff needed + { + public long SeasonId { get; set; } + + public long CurrentRaidUniqueId { get; set; } + + public Difficulty CurrentDifficulty { get; set; } + + public long BestRankingPoint { get; set; } + + public long TotalRankingPoint { get; set; } + } + + public class AcademyDB + { + public long AccountId { get; set; } + + public DateTime LastUpdate { get; set; } + public Dictionary> ZoneVisitCharacterDBs { get; set; } + public Dictionary> ZoneScheduleGroupRecords { get; set; } + } + + public class CampaignStageHistoryDB + { + public long AccountServerId { get; set; } + + public long StoryUniqueId { get; set; } + public long ChapterUniqueId { get; set; } + public long StageUniqueId { get; set; } + public long TacticClearCountWithRankSRecord { get; set; } + public long ClearTurnRecord { get; set; } + + [JsonIgnore] + public long BestStarRecord { get; } + public bool Star1Flag { get; set; } + public bool Star2Flag { get; set; } + public bool Star3Flag { get; set; } + public DateTime LastPlay { get; set; } + public long TodayPlayCount { get; set; } + public long TodayPurchasePlayCountHardStage { get; set; } + public Nullable FirstClearRewardReceive { get; set; } + public Nullable StarRewardReceive { get; set; } + + [JsonIgnore] + public bool IsClearedEver { get; } + public long TodayPlayCountForUI { get; } + } + + public class CampaignChapterClearRewardHistoryDB + { + public long AccountServerId { get; set; } + + public long ChapterUniqueId { get; set; } + public StageDifficulty RewardType { get; set; } + public DateTime ReceiveDate { get; set; } + } + + [Serializable] + public struct BasisPoint : IEquatable, IComparable + { + private static readonly long Multiplier; + private static readonly double OneOver10_4 = 1.0 / 10000.0; + public static readonly BasisPoint Zero; + public static readonly BasisPoint One; + public static readonly BasisPoint Epsilon; + public static readonly double DoubleEpsilon; + + [JsonIgnore] + public long RawValue { get; } + + private long rawValue; + public BasisPoint(long rawValue) + { + this.rawValue = rawValue; + } + public bool Equals(BasisPoint other) + { + return this.rawValue == other.rawValue; + } + + public int CompareTo(BasisPoint other) + { + return rawValue.CompareTo(other.rawValue); + } + + public static long operator *(long value, BasisPoint other) + { + return MultiplyLong(value, other); + } + + public static long MultiplyLong(long value, BasisPoint other) + { + double result = OneOver10_4 * ((double)other.rawValue * value); + + if (double.IsInfinity(result)) + return long.MaxValue; + + return (long)result; + } + } + + + + + + +} diff --git a/SCHALE.Common/Database/dbs.cs b/SCHALE.Common/Database/dbs.cs index b9074e6..461e22c 100644 --- a/SCHALE.Common/Database/dbs.cs +++ b/SCHALE.Common/Database/dbs.cs @@ -1,2923 +1,8831 @@ -using SCHALE.Common.FlatData; -using SCHALE.Common.NetworkProtocol; -using SCHALE.Common.Parcel; +using System; +using System.Collections; using System.Collections.ObjectModel; -using System.ComponentModel.DataAnnotations; -using System.ComponentModel.DataAnnotations.Schema; using System.Runtime.CompilerServices; using System.Text.Json; using System.Text.Json.Serialization; +using Google.FlatBuffers; +using SCHALE.Common.FlatData; +using SCHALE.Common.NetworkProtocol; +using SCHALE.Common.NetworkProtocol; namespace SCHALE.Common.Database { - public class SingleRaidLobbyInfoDB : RaidLobbyInfoDB - { - - } + public class AcademyLocationDB + { + public long LocationId { get; set; } + public long Rank { get; set; } + public long Exp { get; set; } + } - public struct RaidBossResult : IEquatable - { - [JsonIgnore] - public int Index { get; set; } + public class AcademyMessageOutLineDB + { + public long CharacterUniqueId { get; set; } + public long NewMessageCount { get; set; } + public long LastMessageUniqueId { get; set; } + public long LastMessageServerId { get; set; } + } - [JsonIgnore] - public long GivenDamage { get; set; } + public class AcademyMessageDB + { + public long MessageServerId { get; set; } + public long MessageGroupId { get; set; } + public long MessageUniqueId { get; set; } + public long SelectedMessageUniqueId { get; set; } + public long CharacterServerId { get; set; } + public long CharacterUniqueId { get; set; } + public bool IsRead { get; set; } + } - [JsonIgnore] - public long GivenGroggyPoint { get; set; } + public class AcademyScheduleDB + { + public long ScheduleUniqueId { get; set; } + public long ScheduleGroupId { get; set; } + public long ZoneUniqueId { get; set; } + public DateTime LastUpdateDate { get; set; } + public int CompleteCount { get; set; } + } - //public RaidDamage RaidDamage { get; set; } + public class AccountAchievementDB + { + public long AchievementUniqueId { get; set; } + public long AchievementValue { get; set; } + } - public long EndHpRateRawValue { readonly get; set; } + public class AccountAttachmentDB + { + public long AccountId { get; set; } + public long EmblemUniqueId { get; set; } + } - public long GroggyRateRawValue { readonly get; set; } + public class AccountCurrencyDB + { + public long AccountLevel { get; set; } + public long AcademyLocationRankSum { get; set; } + public Dictionary CurrencyDict { get; set; } + public Dictionary UpdateTimeDict { get; set; } + } - public int GroggyCount { readonly get; set; } + public class AccountRestrictionsDB + { + public bool NicknameRestriction { get; set; } + public bool CommentRestriction { get; set; } + public bool CallnameRestriction { get; set; } + } - public List SubPartsHPs { readonly get; set; } - - public long AIPhase { readonly get; set; } - - public bool Equals(RaidBossResult other) - { - return this.Index == other.Index; - } - } - - public class RaidBossResultCollection : KeyedCollection - { + public class ArenaHistoryDB + { + public ArenaBattleDB ArenaBattleDB { get; set; } + [JsonIgnore] - public int LastIndex { get; set; } + public DateTime BattleEndTime { get; } + + [JsonIgnore] + public BattleSummary BattleSummary { get; } + + [JsonIgnore] + public ArenaUserDB AttackingUserDB { get; } + + [JsonIgnore] + public ArenaUserDB DefendingUserDB { get; } + + [JsonIgnore] + public long WinnerAccountServerId { get; } + } + + public class ArenaPlayerInfoDB + { + public long CurrentSeasonId { get; set; } + public long PlayerGroupId { get; set; } + public long CurrentRank { get; set; } + public long SeasonRecord { get; set; } + public long AllTimeRecord { get; set; } + public long CumulativeTimeReward { get; set; } + public DateTime TimeRewardLastUpdateTime { get; set; } + public DateTime BattleEnterActiveTime { get; set; } + public DateTime DailyRewardActiveTime { get; set; } + } + + public class ArenaBattleDB + { + public long ArenaBattleServerId { get; set; } + public long Season { get; set; } + public long Group { get; set; } + public DateTime BattleStartTime { get; set; } + public DateTime BattleEndTime { get; set; } + public long Seed { get; set; } + public ArenaUserDB AttackingUserDB { get; set; } + public ArenaUserDB DefendingUserDB { get; set; } + public BattleSummary BattleSummary { get; set; } + } + + public class ArenaUserDB + { + public long AccountServerId { get; set; } + public long RepresentCharacterUniqueId { get; set; } + public long RepresentCharacterCostumeId { get; set; } + public string NickName { get; set; } + public long Rank { get; set; } + public long Level { get; set; } + public long Exp { get; set; } + public ArenaTeamSettingDB TeamSettingDB { get; set; } + public AccountAttachmentDB AccountAttachmentDB { get; set; } + public string UserName { get; } + } + + public class ArenaTeamSettingDB + { + public EchelonType EchelonType { get; set; } + public long LeaderCharacterId { get; set; } + public long TSSInteractionCharacterId { get; set; } + + [JsonIgnore] + public long TSSInteractionCharacterServerId { get; } + public IList MainCharacters { get; set; } + public IList SupportCharacters { get; set; } + public ArenaCharacterDB TSSCharacterDB { get; set; } + + [JsonIgnore] + public int SquadCount { get; } + public long MapId { get; set; } + } + + public class ArenaCharacterDB + { + public long ServerId { get; set; } + public long UniqueId { get; set; } + public int StarGrade { get; set; } + public int Level { get; set; } + public int PublicSkillLevel { get; set; } + public int ExSkillLevel { get; set; } + public int PassiveSkillLevel { get; set; } + public int ExtraPassiveSkillLevel { get; set; } + public int LeaderSkillLevel { get; set; } + public List EquipmentDBs { get; set; } + public Dictionary FavorRankInfo { get; set; } + public Dictionary PotentialStats { get; set; } + public int CombatStyleIndex { get; set; } + public WeaponDB WeaponDB { get; set; } + public GearDB GearDB { get; set; } + public CostumeDB CostumeDB { get; set; } + } + + public class ArenaDamageReportDB + { + public long ArenaBattleServerId { get; set; } + public long WinnerAccountServerId { get; set; } + public ArenaUserDB AttackerUserDB { get; set; } + public ArenaUserDB DefenderUserDB { get; set; } + public DateTime BattleEndTime { get; set; } + public Dictionary AttackerDamageReport { get; set; } + public Dictionary DefenderDamageReport { get; set; } + } + + public enum AssistRelation + { + None = 0, + Clan = 1, + Friend = 2, + Cheat = 4, + Stranger = 8, + } + + public class AssistCharacterDB : CharacterDB + { + private CostumeDB _costumeDB; + public EchelonType EchelonType { get; set; } + public int SlotNumber { get; set; } + public long AccountId { get; set; } + public AssistRelation AssistRelation { get; set; } + public long AssistCharacterServerId { get; set; } + public string NickName { get; set; } + public List EquipmentDBs { get; set; } + public WeaponDB WeaponDB { get; set; } + public GearDB GearDB { get; set; } + public long CostumeId { get; set; } + public CostumeDB CostumeDB { get; } + public bool IsMulligan { get; set; } + public bool IsTSAInteraction { get; set; } + public int CombatStyleIndex { get; set; } + + [JsonIgnore] + public bool HasWeapon { get; } + + [JsonIgnore] + public bool HasGear { get; } + } + + public class AttendanceHistoryDB + { + public long ServerId { get; set; } + public long AttendanceBookUniqueId { get; set; } + public Dictionary AttendedDay { get; set; } + public bool Expired { get; set; } + + [JsonIgnore] + public long LastAttendedDay { get; } + + [JsonIgnore] + public DateTime LastAttendedDate { get; } + + [JsonIgnore] + public Dictionary> AttendedDayNullable { get; } + } + + public class BanDB + { + public long ServerId { get; set; } + public long UniqueId { get; set; } + public DateTime BanStartDate { get; set; } + public DateTime BanEndDate { get; set; } + public DateTime RegisterDate { get; set; } + public byte CancelFlag { get; set; } + public DateTime CancelDate { get; set; } + public string Reason { get; set; } + } + + public class BeforehandGachaSnapshotDB + { + public long ShopUniqueId { get; set; } + public long GoodsId { get; set; } + public long LastIndex { get; set; } + public List LastResults { get; set; } + public Nullable SavedIndex { get; set; } + public List SavedResults { get; set; } + public Nullable PickedIndex { get; set; } + } + + public enum ShopCashBlockType + { + All = -1, + AppStore = -2, + GooglePlay = -3, + None = -9999, + } + + public class BlockedProductDB + { + public long CashProductId { get; set; } + public ShopCashBlockType MarketBlockType { get; } + public DateTime BeginDate { get; set; } + public DateTime EndDate { get; set; } + } + + public class CafeProductionDB + { + public long CafeDBId { get; set; } + public long ComfortValue { get; set; } + public DateTime AppliedDate { get; set; } + public List ProductionParcelInfos { get; set; } + } + + public class CafePresetDB + { + public long ServerId { get; set; } + public int SlotId { get; set; } + public string PresetName { get; set; } + public bool IsEmpty { get; set; } + } + + public class EventContentMainStageSaveDB : CampaignMainStageSaveDB + { + public override ContentType ContentType { get; } + public Dictionary SelectedBuffDict { get; set; } + + [JsonIgnore] + public bool IsBuffSelectPopupOpen { get; } + public long CurrentAppearedBuffGroupId { get; set; } + } + + public class CampaignMainStageSaveDB : ContentSaveDB + { + public override ContentType ContentType { get; } + public CampaignState CampaignState { get; set; } + public int CurrentTurn { get; set; } + public int EnemyClearCount { get; set; } + public int LastEnemyEntityId { get; set; } + public int TacticRankSCount { get; set; } + public Dictionary EnemyInfos { get; set; } + public Dictionary EchelonInfos { get; set; } + public Dictionary> WithdrawInfos { get; set; } + public Dictionary StrategyObjects { get; set; } + public Dictionary> StrategyObjectRewards { get; set; } + public List StrategyObjectHistory { get; set; } + public Dictionary> ActivatedHexaEventsAndConditions { get; set; } + public Dictionary> HexaEventDelayedExecutions { get; set; } + public Dictionary TileMapStates { get; set; } + public List DisplayInfos { get; set; } + public List DeployedEchelonInfos { get; set; } + } + + public class DailyResetCountDB + { + public long AccountServerId { get; set; } + public Dictionary ResetCount { get; set; } + } + + public class CampaignSubStageSaveDB : ContentSaveDB + { + public override ContentType ContentType { get; } + } + + public class CampaignExtraStageSaveDB : ContentSaveDB + { + public override ContentType ContentType { get; } + } + + public class EventContentSubStageSaveDB : CampaignSubStageSaveDB + { + public override ContentType ContentType { get; } + } + + public class EventContentMainGroundStageSaveDB : CampaignSubStageSaveDB + { + public override ContentType ContentType { get; } + } + + public class EventContentStoryStageSaveDB : CampaignSubStageSaveDB + { + public override ContentType ContentType { get; } + } + + public class CampaignTutorialStageSaveDB : ContentSaveDB + { + public override ContentType ContentType { get; } + } + + public class CardShopElementDB + { + public long EventContentId { get; set; } + public int SlotNumber { get; set; } + public long CardShopElementId { get; set; } + public bool SoldOut { get; } + } + + public class CardShopPurchaseHistoryDB + { + public long EventContentId { get; set; } + public Rarity Rarity { get; set; } + public long PurchaseCount { get; set; } + } + + public class ClanAssistRentHistoryDB + { + public long AssistCharacterAccountId { get; set; } + public long AssistCharacterDBId { get; set; } + public DateTime RentDate { get; set; } + public long AssistCharacterId { get; set; } + } + + public class ClanAssistSlotDB + { + public EchelonType EchelonType { get; set; } + public long SlotNumber { get; set; } + public long CharacterDBId { get; set; } + public DateTime DeployDate { get; set; } + public long TotalRentCount { get; set; } + public int CombatStyleIndex { get; set; } + } + + public class ClanAssistRewardInfo + { + public long CharacterDBId { get; set; } + public DateTime DeployDate { get; set; } + public long RentCount { get; set; } + public List CumultativeRewardParcels { get; set; } + public List RentRewardParcels { get; set; } + } + + public class ClanAssistUseInfo + { + public long CharacterAccountId { get; set; } + public long CharacterDBId { get; set; } + public EchelonType EchelonType { get; set; } + public int SlotNumber { get; set; } + public AssistRelation AssistRelation { get; set; } + public int EchelonSlotType { get; set; } + public int EchelonSlotIndex { get; set; } + public int CombatStyleIndex { get; set; } + + [JsonIgnore] + public long DecodedShardId { get; } + + [JsonIgnore] + public long DecodedCharacterDBId { get; } + public bool IsMulligan { get; set; } + public bool IsTSAInteraction { get; set; } + } + + public class ClanDB + { + public long ClanDBId { get; set; } + public string ClanName { get; set; } + public string ClanChannelName { get; set; } + public string ClanPresidentNickName { get; set; } + public long ClanPresidentRepresentCharacterUniqueId { get; set; } + public long ClanPresidentRepresentCharacterCostumeId { get; set; } + public string ClanNotice { get; set; } + public long ClanMemberCount { get; set; } + public ClanJoinOption ClanJoinOption { get; set; } + } + + public class ClanMemberDB + { + public long AccountId { get; set; } + public long AccountLevel { get; set; } + public string AccountNickName { get; set; } + public long ClanDBId { get; set; } + public long RepresentCharacterUniqueId { get; set; } + public long RepresentCharacterCostumeId { get; set; } + public long AttendanceCount { get; set; } + public long CafeComfortValue { get; set; } + public ClanSocialGrade ClanSocialGrade { get; set; } + public DateTime JoinDate { get; set; } + public DateTime SocialGradeUpdateTime { get; set; } + public DateTime LastLoginDate { get; set; } + public DateTime GameLoginDate { get; set; } + public DateTime AppliedDate { get; set; } + public AccountAttachmentDB AttachmentDB { get; set; } + } + + public class ClanMemberDescriptionDB + { + public long Exp { get; set; } + public string Comment { get; set; } + public int CollectedCharactersCount { get; set; } + public long ArenaSeasonBestRanking { get; set; } + public long ArenaSeasonCurrentRanking { get; set; } + } + + public struct ClearDeckKey : IEquatable + { + public ContentType ContentType { get; set; } + public long[] Arguments { get; set; } + public bool Equals(ClearDeckKey other) + { + return default; + } + + } + + public class ClearDeckDB + { + public List ClearDeckCharacterDBs { get; set; } + public List MulliganUniqueIds { get; set; } + public long LeaderUniqueId { get; set; } + public long TSSInteractionUniqueId { get; set; } + public EchelonType EchelonType { get; set; } + public long EchelonExtensionType { get; set; } + } + + public class ClearDeckCharacterDB + { + public long UniqueId { get; set; } + public int StarGrade { get; set; } + public int Level { get; set; } + public int SlotNumber { get; set; } + public bool HasWeapon { get; set; } + public SquadType SquadType { get; set; } + public int WeaponStarGrade { get; set; } + public int CombatStyleIndex { get; set; } + } + + public class ConquestEchelonDB + { + public long EventContentId { get; set; } + public StageDifficulty Difficulty { get; set; } + public long TileUniqueId { get; set; } + public EchelonDB EchelonDB { get; set; } + public long AssistCharacterUniqueId { get; set; } + public ClanAssistUseInfo AssistUseInfo { get; set; } + } + + public class ConquestErosionDB : ConquestEventObjectDB + { + public override ConquestEventObjectType ObjectType { get; } + + [JsonIgnore] + public long ErosionId { get; } + public long ConditionSnapshot { get; set; } + public DateTime CreateDate { get; set; } + } + + public abstract class ConquestEventObjectDB + { + public long ConquestObjectDBId { get; set; } + public long EventContentId { get; set; } + public StageDifficulty Difficulty { get; set; } + public long TileUniqueId { get; set; } + public long ObjectId { get; set; } + public virtual ConquestEventObjectType ObjectType { get; } + public bool IsAlive { get; set; } + } + + public class ConquestInfoDB + { + public long EventContentId { get; set; } + public int EventGauge { get; set; } + public int EventSpawnCount { get; set; } + public int EchelonChangeCount { get; set; } + public int TodayConquestRentCount { get; set; } + public int TodayOperationRentCount { get; set; } + public long CumulatedConditionValue { get; set; } + public long ReceivedCalculateRewardConditionAmount { get; set; } + + [JsonIgnore] + public long CalculateRewardConditionValue { get; } + public Nullable AlertMassErosionId { get; set; } + } + + public class ConquestStageSaveDB : ContentSaveDB + { + public override ContentType ContentType { get; } + public Nullable ConquestEventObjectDBId { get; set; } + public long EventContentId { get; set; } + public StageDifficulty Difficulty { get; set; } + public long TileUniqueId { get; set; } + public long TilePresetId { get; set; } + public ConquestTileType ConquestTileType { get; set; } + public bool UseManageEchelon { get; set; } + public AssistCharacterDB AssistCharacterDB { get; set; } + public int EchelonSlotType { get; set; } + public int EchelonSlotIndex { get; set; } + } + + public class ConquestSummary + { + public long EventContentId { get; set; } + public StageDifficulty Difficulty { get; set; } + public Dictionary ConquestStepSummaryDict { get; set; } + } + + public class ConquestStepSummary + { + public long ConqueredTileCount { get; set; } + public long AllTileCount { get; set; } + public long ErosionRemainingCount { get; set; } + public bool HasPhaseComplete { get; set; } + public bool IsErosionPhaseStart { get; set; } + public bool IsStepOpen { get; set; } + } + + public class ConquestMainStorySummary + { + public long EventContentId { get; set; } + public StageDifficulty Difficulty { get; set; } + public Dictionary ConquestStepSummaryDict { get; set; } + } + + public class ConquestMainStoryStepSummary + { + public long ConqueredTileCount { get; set; } + public long AllTileCount { get; set; } + public bool IsStepOpen { get; set; } + } + + public class ConquestTileDB + { + public long EventContentId { get; set; } + public StageDifficulty Difficulty { get; set; } + public long TileUniqueId { get; set; } + public TileState TileState { get; set; } + public long Level { get; set; } + public bool[] StarFlags { get; set; } + public DateTime CreateTime { get; set; } + public bool IsThreeStarClear { get; } + public bool IsAnyStarClear { get; } + + [JsonIgnore] + public long BestStarRecord { get; } + } + + public class ConquestTreasureBoxDB : ConquestEventObjectDB + { + public override ConquestEventObjectType ObjectType { get; } + } + + public class ConquestUnexpectedEnemyDB : ConquestEventObjectDB + { + + [JsonIgnore] + public long UnitId { get; } + public override ConquestEventObjectType ObjectType { get; } + } + + public interface IConsumableItemBaseExcel + { + public abstract ParcelType Type { get; } + public abstract long UniqueId { get; } + public abstract long ShiftingCraftQuality { get; } + public abstract long StackableMax { get; } + public abstract Rarity Rarity { get; } + public abstract IReadOnlyList Tags { get; } + public abstract IReadOnlyDictionary CraftQualityDict { get; } + } + + public class ItemExcelData : IConsumableItemBaseExcel + { + public virtual ParcelType Type { get; } + public virtual long UniqueId { get; } + public virtual long ShiftingCraftQuality { get; } + public virtual long StackableMax { get; } + public virtual Rarity Rarity { get; } + public virtual IReadOnlyList Tags { get; set; } + public virtual IReadOnlyDictionary CraftQualityDict { get; set; } + private ItemExcel _excel { get; } + public bool TryGetCraftQuality(CraftNodeTier tier, long quality) + { + return default; + } + + } + + public class FurnitureExcelData : IConsumableItemBaseExcel + { + public virtual ParcelType Type { get; } + public virtual long UniqueId { get; } + public virtual long ShiftingCraftQuality { get; } + public virtual long StackableMax { get; } + public virtual Rarity Rarity { get; } + public virtual IReadOnlyList Tags { get; set; } + public virtual IReadOnlyDictionary CraftQualityDict { get; set; } + private FurnitureExcel _excel { get; } + public bool TryGetCraftQuality(CraftNodeTier tier, long quality) + { + return default; + } + + } + + public class EquipmentExcelData : IConsumableItemBaseExcel + { + public virtual ParcelType Type { get; } + public virtual long UniqueId { get; } + public virtual long ShiftingCraftQuality { get; } + public virtual long StackableMax { get; } + public virtual Rarity Rarity { get; } + public virtual IReadOnlyList Tags { get; set; } + public virtual IReadOnlyDictionary CraftQualityDict { get; set; } + private EquipmentExcel _excel { get; } + public bool TryGetCraftQuality(CraftNodeTier tier, long quality) + { + return default; + } + + } + + public class ConsumeRequestDB + { + public Dictionary ConsumeItemServerIdAndCounts { get; set; } + public Dictionary ConsumeEquipmentServerIdAndCounts { get; set; } + public Dictionary ConsumeFurnitureServerIdAndCounts { get; set; } + + [JsonIgnore] + public bool IsItemsValid { get; } + + [JsonIgnore] + public bool IsEquipmentsValid { get; } + + [JsonIgnore] + public bool IsFurnituresValid { get; } + + [JsonIgnore] + public bool IsValid { get; } + } + + public class ConsumeResultDB + { + public List RemovedItemServerIds { get; set; } + public List RemovedEquipmentServerIds { get; set; } + public List RemovedFurnitureServerIds { get; set; } + public Dictionary UsedItemServerIdAndRemainingCounts { get; set; } + public Dictionary UsedEquipmentServerIdAndRemainingCounts { get; set; } + public Dictionary UsedFurnitureServerIdAndRemainingCounts { get; set; } + } + + public class EquipmentBatchGrowthRequestDB + { + public long TargetServerId { get; set; } + public List ConsumeRequestDBs { get; set; } + public long AfterTier { get; set; } + public long AfterLevel { get; set; } + public long AfterExp { get; set; } + public List ReplaceInfos { get; set; } + } + + public class SkillLevelBatchGrowthRequestDB + { + public SkillSlot SkillSlot { get; set; } + public int Level { get; set; } + public List ReplaceInfos { get; set; } + } + + public class SelectTicketReplaceInfo + { + public ParcelType MaterialType { get; set; } + public long MaterialId { get; set; } + public long TicketItemId { get; set; } + public int Amount { get; set; } + } + + public class GearTierUpRequestDB + { + public long TargetServerId { get; set; } + public long AfterTier { get; set; } + public List ReplaceInfos { get; set; } + } + + public class PotentialGrowthRequestDB + { + public PotentialStatBonusRateType Type { get; set; } + public int Level { get; set; } + } + + public abstract class ContentSaveDB + { + public abstract ContentType ContentType { get; } + public long AccountServerId { get; set; } + public DateTime CreateTime { get; set; } + public long StageUniqueId { get; set; } + public long LastEnterStageEchelonNumber { get; set; } + public List StageEntranceFee { get; set; } + public Dictionary EnemyKillCountByUniqueId { get; set; } + public long TacticClearTimeMscSum { get; set; } + public long AccountLevelWhenCreateDB { get; set; } + public string BIEchelon { get; set; } + public string BIEchelon1 { get; set; } + public string BIEchelon2 { get; set; } + public string BIEchelon3 { get; set; } + public string BIEchelon4 { get; set; } + } + + public abstract class ContentsValueChangeDB + { + public abstract ContentsChangeType ContentsChangeType { get; } + } + + public class CostumeDB : ParcelBase + { + public override ParcelType Type { get; } + + [JsonIgnore] + public override IEnumerable ParcelInfos { get; } + public long UniqueId { get; set; } + public long BoundCharacterServerId { get; set; } + } + + public enum CraftProcessCompleteType + { + None = 0, + ByTimeElapse = 1, + ByPlayer = 2, + } + + public enum CraftState + { + None = 0, + BaseNode = 1, + NodeSelecting = 2, + Crafting = 3, + Complete = 4, + } + + public class CraftInfoDB + { + public long SlotSequence { get; set; } + public DateTime StartTime { get; set; } + public DateTime EndTime { get; set; } + public DateTime CraftSlotOpenDate { get; set; } + public List Nodes { get; set; } + + [JsonIgnore] + public IEnumerable ResultIds { get; } + + [JsonIgnore] + public IEnumerable RewardParcelInfos { get; } + } + + public class CraftNodeDB + { + public CraftNodeTier NodeTier { get; set; } + public long SlotSequence { get; set; } + public long NodeId { get; set; } + public long NodeQuality { get; set; } + public long NodeLevel { get; set; } + public int NodeRandomSeed { get; set; } + public int NodeRandomSequence { get; set; } + public List LeafNodeIds { get; set; } + public long ResultId { get; set; } + public CraftNodeResult CraftNodeResult { get; set; } + + [JsonIgnore] + public ParcelInfo RewardParcelInfo { get; } + } + + public class ShiftingCraftInfoDB + { + public long SlotSequence { get; set; } + public long CraftRecipeId { get; set; } + public long CraftAmount { get; set; } + public DateTime StartTime { get; set; } + public DateTime EndTime { get; set; } + } + + public class CraftNodeResult + { + public CraftNodeTier NodeTier { get; set; } + public ParcelInfo ParcelInfo { get; set; } + } + + public class CraftPresetSlotDB + { + public List PresetNodeDBs { get; set; } + } + + public class CraftPresetNodeDB + { + public CraftNodeTier NodeTier { get; set; } + public bool IsActivated { get; set; } + public long PriortyNodeId { get; set; } + public ConsumeRequestDB ConsumeRequestDB { get; set; } + } + + public class DetailedAccountInfoDB + { + public long AccountId { get; set; } + public string Nickname { get; set; } + public long Level { get; set; } + public string ClanName { get; set; } + public string Comment { get; set; } + public long FriendCount { get; set; } + public string FriendCode { get; set; } + public long RepresentCharacterUniqueId { get; set; } + public long CharacterCount { get; set; } + public Nullable LastNormalCampaignClearStageId { get; set; } + public Nullable LastHardCampaignClearStageId { get; set; } + public Nullable ArenaRanking { get; set; } + public Nullable RaidRanking { get; set; } + public Nullable RaidTier { get; set; } + public Nullable EliminateRaidRanking { get; set; } + public Nullable EliminateRaidTier { get; set; } + public AssistCharacterDB[] AssistCharacterDBs { get; set; } + } + + public class EchelonPresetGroupDB + { + public int GroupIndex { get; set; } + public EchelonExtensionType ExtensionType { get; set; } + public string GroupLabel { get; set; } + public Dictionary PresetDBs { get; set; } + public EchelonPresetDB Item { get; set; } + } + + public class EchelonPresetDB + { + public int GroupIndex { get; set; } + public int Index { get; set; } + public string Label { get; set; } + public long LeaderUniqueId { get; set; } + public long TSSInteractionUniqueId { get; set; } + public long[] StrikerUniqueIds { get; set; } + public long[] SpecialUniqueIds { get; set; } + public int[] CombatStyleIndex { get; set; } + public List MulliganUniqueIds { get; set; } + public EchelonExtensionType ExtensionType { get; set; } + + [JsonIgnore] + public int StrikerSlotCount { get; } + + [JsonIgnore] + public int SpecialSlotCount { get; } + } + + public class EmblemDB : ParcelBase + { + public override ParcelType Type { get; } + public long UniqueId { get; set; } + public DateTime ReceiveDate { get; set; } + public override IEnumerable ParcelInfos { get; } + } + + public class EventContentBonusRewardDB + { + public long EventContentId { get; set; } + public long EventStageUniqueId { get; set; } + public ParcelInfo BonusParcelInfo { get; set; } + } + + public class EventContentBoxGachaDB + { + public long EventContentId { get; set; } + public long Seed { get; set; } + public long Round { get; set; } + public int PurchaseCount { get; set; } + } + + public class EventContentBoxGachaData + { + public long EventContentId { get; set; } + public Dictionary Variations { get; set; } + } + + public class EventContentBoxGachaVariation + { + public long EventContentId { get; set; } + public long VariationId { get; set; } + public Dictionary GachaRoundElements { get; set; } + } + + public class EventContentBoxGachaRoundElement + { + public long EventContentId { get; set; } + public long VariationId { get; set; } + public long Round { get; set; } + public List Elements { get; set; } + } + + public class EventContentBoxGachaElement + { + public long EventContentId { get; set; } + public long VariationId { get; set; } + public long Round { get; set; } + public long GroupId { get; set; } + public long UniqueId { get; set; } + public bool IsPrize { get; set; } + public List Rewards { get; set; } + } + + public class EventContentChangeDB + { + public long EventContentId { get; set; } + public long UseAmount { get; set; } + public long ChangeCount { get; set; } + public long AccumulateChangeCount { get; set; } + public DateTime LastUpdateDate { get; set; } + public bool ChangeFlag { get; set; } + } + + public class EventContentCollectionDB + { + public long EventContentId { get; set; } + public long GroupId { get; set; } + public long UniqueId { get; set; } + public DateTime ReceiveDate { get; set; } + } + + public class EventContentDiceRaceDB + { + public long EventContentId { get; set; } + public long Node { get; set; } + public long LapCount { get; set; } + public long DiceRollCount { get; set; } + public long ReceiveRewardLapCount { get; set; } + } + + public class EventContentDiceResult + { + public int Index { get; set; } + public int MoveAmount { get; set; } + public List Rewards { get; set; } + } + + public class EventContentFortuneGachaStackCountDB + { + public long EventContentId { get; set; } + public int GachaStackCount { get; set; } + } + + public class EventContentLocationDB + { + public long LocationId { get; set; } + public long Rank { get; set; } + public long Exp { get; set; } + public long ScheduleCount { get; set; } + public Dictionary> ZoneVisitCharacterDBs { get; set; } + } + + public class EventContentPermanentDB + { + public long EventContentId { get; set; } + public bool IsStageAllClear { get; set; } + public bool IsReceivedCharacterReward { get; set; } + } + + public class EventContentTreasureSaveBoard + { + public long VariationId { get; set; } + public int Round { get; set; } + public List TreasureObjects { get; set; } + } + + public class EventContentTreasureObject + { + public long ServerId { get; set; } + public long RewardId { get; set; } + public int Rotation { get; set; } + public bool IsHiddenImage { get; set; } + public List Cells { get; set; } + } + + public class EventContentTreasureCell : IEquatable + { + public int X { get; set; } + public int Y { get; set; } + public bool Equals(EventContentTreasureCell other) + { + return default; + } + + } + + public class EventContentTreasureHistoryDB + { + private EventContentTreasureInfo _treasureInfo; + private EventContentTreasureRoundInfo _treasureRoundInfo; + public long EventContentId { get; set; } + public int Round { get; set; } + public EventContentTreasureBoardHistory Board { get; set; } + public bool IsComplete { get; set; } + public List HintTreasures { get; set; } + + [JsonIgnore] + public int MetaRound { get; } + + [JsonIgnore] + public bool CanComplete { get; } + + [JsonIgnore] + public bool CanFlip { get; } + + [JsonIgnore] + public EventContentTreasureInfo TreasureInfo { get; } + + [JsonIgnore] + public EventContentTreasureRoundInfo TreasureRoundInfo { get; } + } + + public class EventContentTreasureBoardHistory + { + public List TreasureIds { get; set; } + public List NormalCells { get; set; } + public List Treasures { get; set; } + } + + public class EventInfoDB + { + public long EventId { get; set; } + public uint ImageNameHash { get; set; } + } + + public class EventRewardIncreaseDB + { + public EventTargetType EventTargetType { get; set; } + public BasisPoint Multiplier { get; set; } + public DateTime BeginDate { get; set; } + public DateTime EndDate { get; set; } + } + + public class FieldStageSaveDB : ContentSaveDB + { + public override ContentType ContentType { get; } + } + + public class FriendDB + { + public long AccountId; + public int Level; + public string Nickname; + public DateTime LastConnectTime; + public long RepresentCharacterUniqueId; + public long RepresentCharacterCostumeId; + public long ComfortValue; + public long FriendCount; + public AccountAttachmentDB AttachmentDB; + } + + public class FriendIdCardDB + { + public int Level { get; set; } + public string FriendCode { get; set; } + public string Comment { get; set; } + public DateTime LastConnectTime { get; set; } + public long RepresentCharacterUniqueId { get; set; } + public long RepresentCharacterCostumeId { get; set; } + public bool SearchPermission { get; set; } + public bool AutoAcceptFriendRequest { get; set; } + public long CardBackgroundId { get; set; } + public bool ShowAccountLevel { get; set; } + public bool ShowFriendCode { get; set; } + public bool ShowRaidRanking { get; set; } + public bool ShowArenaRanking { get; set; } + public bool ShowEliminateRaidRanking { get; set; } + public Nullable ArenaRanking { get; set; } + public Nullable RaidRanking { get; set; } + public Nullable RaidTier { get; set; } + public Nullable EliminateRaidRanking { get; set; } + public Nullable EliminateRaidTier { get; set; } + public long EmblemId { get; set; } + } + + public class GachaLogDB + { + public long CharacterId { get; set; } + } + + public class GuideMissionSeasonDB : IMemoryPackable, IMemoryPackFormatterRegister + { + public long SeasonId { get; set; } + public long LoginCount { get; set; } + public DateTime StartDate { get; set; } + public DateTime LoginDate { get; set; } + public bool IsComplete { get; set; } + public bool IsFinalMissionComplete { get; set; } + public Nullable CollectionItemReceiveDate { get; set; } + } + + public class IdCardBackgroundDB : ParcelBase + { + public override ParcelType Type { get; } + public long ServerId { get; set; } + public long UniqueId { get; set; } + public override IEnumerable ParcelInfos { get; } + } + + public enum IssueAlertTypeCode + { + All = 1, + File_Target = 2, + AllButFile_Exception = 3, + } + + public class IssueAlertInfoDB + { + public int IssueAlertId { get; set; } + public IssueAlertTypeCode IssueAlertType { get; set; } + public DateTime StartDate { get; set; } + public DateTime EndDate { get; set; } + public byte DisplayOrder { get; set; } + public int PublishId { get; set; } + public string Url { get; set; } + public string Subject { get; set; } + } + + public class MailDB + { + public long ServerId { get; set; } + public long AccountServerId { get; set; } + public MailType Type { get; set; } + public long UniqueId { get; set; } + public string Sender { get; set; } + public string Comment { get; set; } + public DateTime SendDate { get; set; } + public Nullable ReceiptDate { get; set; } + public Nullable ExpireDate { get; set; } + public List ParcelInfos { get; set; } + public List RemainParcelInfos { get; set; } + } + + public class MiniGameDefenseStageHistoryDB + { + public long StageId { get; set; } + public bool Star1Flag { get; set; } + public bool Star2Flag { get; set; } + public bool Star3Flag { get; set; } + public bool FirstClearRewardReceive { get; set; } + public bool StarRewardReceive { get; set; } + + [JsonIgnore] + public bool IsThreeStar { get; } + + [JsonIgnore] + public bool IsFirstClear { get; } + } + + public class MiniGameDreamMakerInfoDB + { + public long EventContentId { get; set; } + public long Round { get; set; } + public long Multiplier { get; set; } + public long DayOfNumber { get; set; } + public long ActionCount { get; set; } + public long CurrentRoundEndingId { get; set; } + public bool EndingRewardReceived { get; set; } + public bool CanStartNewGame { get; set; } + + [JsonIgnore] + public bool CanReceiveEndingReward { get; } + } + + public class MiniGameDreamMakerParameterDB + { + public DreamMakerParameterType ParameterType { get; set; } + public long BaseAmount { get; set; } + public long CurrentAmount { get; set; } + } + + public class MiniGameDreamMakerEndingDB + { + public long EventContentId { get; set; } + public long EndingId { get; set; } + public long ClearCount { get; set; } + public DateTime ClearDate { get; set; } + } + + public class MiniGameHistoryDB + { + public long EventContentId { get; set; } + public long UniqueId { get; set; } + public long HighScore { get; set; } + public long AccumulatedScore { get; set; } + public DateTime ClearDate { get; set; } + public bool IsFullCombo { get; set; } + } + + public class MiniGameResult + { + public EventContentType ContentType { get; } + public long EventContentId { get; set; } + public long UniqueId { get; set; } + public long TotalScore { get; set; } + public long ComboCount { get; set; } + public long FeverCount { get; set; } + public bool AllCombo { get; set; } + public long HPBonusScore { get; set; } + public long NoteCount { get; set; } + public long CriticalCount { get; set; } + } + + public class MiniGameShootingHistoryDB + { + public long EventContentId { get; set; } + public long UniqueId { get; set; } + public long ArriveSection { get; set; } + public DateTime LastUpdateDate { get; set; } + public bool IsClearToday { get; set; } + } + + public class MissionHistoryDB : IEquatable, IMemoryPackable, IMemoryPackFormatterRegister + { + + [JsonIgnore] + public long ServerId { get; set; } + + [JsonIgnore] + public long AccountServerId { get; set; } + public long MissionUniqueId { get; set; } + public DateTime CompleteTime { get; set; } + public bool Expired { get; set; } + public bool Equals(MissionHistoryDB other) + { + return default; + } + + } + + public class MomoTalkOutLineDB + { + public long CharacterDBId { get; set; } + public long CharacterId { get; set; } + public long LatestMessageGroupId { get; set; } + public Nullable ChosenMessageId { get; set; } + public DateTime LastUpdateDate { get; set; } + } + + public class MomoTalkChoiceDB + { + public long CharacterDBId { get; set; } + public long MessageGroupId { get; set; } + public long ChosenMessageId { get; set; } + public DateTime ChosenDate { get; set; } + } + + public class MonthlyProductPurchaseDB + { + public long ProductId { get; set; } + public DateTime PurchaseDate { get; set; } + public Nullable LastDailyRewardDate { get; set; } + public Nullable RewardEndDate { get; set; } + public ProductTagType ProductTagType { get; } + } + + public class MultiFloorRaidDB + { + public long SeasonId { get; set; } + public int ClearedDifficulty { get; set; } + public DateTime LastClearDate { get; set; } + public int RewardDifficulty { get; set; } + public DateTime LastRewardDate { get; set; } + public int ClearBattleFrame { get; set; } + + [JsonIgnore] + public bool AllCleared { get; } + + [JsonIgnore] + public bool HasReceivableRewards { get; } + + [JsonIgnore] + public List TotalReceivableRewards { get; } + + [JsonIgnore] + public List TotalReceivedRewards { get; } + } + + public class MultiSweepPresetDB + { + public long PresetId { get; set; } + public string PresetName { get; set; } + public IEnumerable StageIds { get; set; } + public IEnumerable ParcelIds { get; set; } + } + + public class OpenConditionDB + { + public OpenConditionContent ContentType { get; set; } + public bool HideWhenLocked { get; set; } + public long AccountLevel { get; set; } + public long ScenarioModeId { get; set; } + public long CampaignStageUniqueId { get; set; } + public MultipleConditionCheckType MultipleConditionCheckType { get; set; } + public WeekDay OpenDayOfWeek { get; set; } + public long OpenHour { get; set; } + public WeekDay CloseDayOfWeek { get; set; } + public long CloseHour { get; set; } + public long CafeIdForCafeRank { get; set; } + public long CafeRank { get; set; } + public long OpenedCafeId { get; set; } + } + + public class ProductPurchaseCountDB + { + public long EventContentId { get; set; } + public long ShopExcelId { get; set; } + public int PurchaseCount { get; set; } + public DateTime LastPurchaseDate { get; set; } + public PurchaseCountResetType PurchaseCountResetType { get; set; } + public DateTime ResetDate { get; set; } + } + + public class PurchaseCountDB + { + public long ShopCashId { get; set; } + public int PurchaseCount { get; set; } + public DateTime ResetDate { get; set; } + public Nullable PurchaseDate { get; set; } + public Nullable ManualResetDate { get; set; } + } + + public class PurchaseOrderDB + { + public long ShopCashId { get; set; } + public PurchaseStatusCode StatusCode { get; set; } + public long PurchaseOrderId { get; set; } + } + + public class RaidBattleDB + { + public ContentType ContentType { get; set; } + public long RaidUniqueId { get; set; } + public int RaidBossIndex { get; set; } + public long CurrentBossHP { get; set; } + public long CurrentBossGroggy { get; set; } + public long CurrentBossAIPhase { get; set; } + public string BIEchelon { get; set; } + public bool IsClear { get; set; } + public RaidMemberCollection RaidMembers { get; set; } + public List SubPartsHPs { get; set; } + } + + public class RaidBossDB + { + public ContentType ContentType { get; set; } + public int BossIndex { get; set; } + public long BossCurrentHP { get; set; } + public long BossGroggyPoint { get; set; } + } + + public class RaidDB + { + public RaidMemberDescription Owner { get; set; } + public ContentType ContentType { get; set; } + public long ServerId { get; set; } + public long UniqueId { get; set; } + public long SeasonId { get; set; } + public DateTime Begin { get; set; } + public DateTime End { get; set; } + + [JsonIgnore] + public long OwnerAccountServerId { get; } + + [JsonIgnore] + public string OwnerNickname { get; } + public long PlayerCount { get; set; } + + [JsonIgnore] + public string BossGroup { get; } + + [JsonIgnore] + public Difficulty BossDifficulty { get; } + + [JsonIgnore] + public int LastBossIndex { get; } + public List Tags { get; set; } + public string SecretCode { get; set; } + public RaidStatus RaidState { get; set; } + public bool IsPractice { get; set; } + public List RaidBossDBs { get; set; } + public Dictionary> ParticipateCharacterServerIds { get; set; } + public bool IsEnterRoom { get; set; } + + [JsonIgnore] + public long SessionHitPoint { get; } + public long AccountLevelWhenCreateDB { get; set; } + public bool ClanAssistUsed { get; set; } + } + + public abstract class RaidLobbyInfoDB + { + public long SeasonId { get; set; } + public int Tier { get; set; } + public long Ranking { get; set; } + public long BestRankingPoint { get; set; } + public long TotalRankingPoint { get; set; } + public long ReceivedRankingRewardId { get; set; } + public bool CanReceiveRankingReward { get; set; } + public RaidDB PlayingRaidDB { get; set; } + public List ReceiveRewardIds { get; set; } + public List ReceiveLimitedRewardIds { get; set; } + public List ParticipateCharacterServerIds { get; set; } + public Dictionary PlayableHighestDifficulty { get; set; } + public Dictionary SweepPointByRaidUniqueId { get; set; } + public DateTime SeasonStartDate { get; set; } + public DateTime SeasonEndDate { get; set; } + public DateTime SettlementEndDate { get; set; } + public long NextSeasonId { get; set; } + public DateTime NextSeasonStartDate { get; set; } + public DateTime NextSeasonEndDate { get; set; } + public DateTime NextSettlementEndDate { get; set; } + public ClanAssistUseInfo ClanAssistUseInfo { get; set; } + public Dictionary RemainFailCompensation { get; set; } + } + + public class SingleRaidLobbyInfoDB : RaidLobbyInfoDB + { + } + + public class EliminateRaidLobbyInfoDB : RaidLobbyInfoDB + { + public List OpenedBossGroups { get; set; } + public Dictionary BestRankingPointPerBossGroup { get; set; } + } + + public class RaidGiveUpDB + { + public long Ranking { get; set; } + public long RankingPoint { get; set; } + public long BestRankingPoint { get; set; } + } + + public abstract class RaidUserDB : ICloneable + { + public long AccountId { get; set; } + public long RepresentCharacterUniqueId { get; set; } + public long RepresentCharacterCostumeId { get; set; } + public long Level { get; set; } + public string Nickname { get; set; } + public int Tier { get; set; } + public long Rank { get; set; } + public long BestRankingPoint { get; set; } + public double BestRankingPointDetail { get; set; } + public AccountAttachmentDB AccountAttachmentDB { get; set; } + public object Clone() + { + return default; + } + + } + + public class SingleRaidUserDB : RaidUserDB + { + public RaidTeamSettingDB RaidTeamSettingDB { get; set; } + } + + public class EliminateRaidUserDB : RaidUserDB + { + public Dictionary BossGroupToRankingPoint; + } + + public class RaidTeamSettingDB + { + public long AccountId { get; set; } + public long TryNumber { get; set; } + public EchelonType EchelonType { get; set; } + public EchelonExtensionType EchelonExtensionType { get; set; } + public IList MainCharacterDBs { get; set; } + public IList SupportCharacterDBs { get; set; } + public IList SkillCardMulliganCharacterIds { get; set; } + public long TSSInteractionUniqueId { get; set; } + public long LeaderCharacterUniqueId { get; set; } + } + + public class EliminateRaidAdditionalRankingInfo + { + public Dictionary BossGroupToScore; + } + + public class RaidCharacterDB + { + public long ServerId { get; set; } + public long UniqueId { get; set; } + public int StarGrade { get; set; } + public int Level { get; set; } + public int SlotIndex { get; set; } + public long AccountId { get; set; } + public bool IsAssist { get; set; } + public bool HasWeapon { get; set; } + public int WeaponStarGrade { get; set; } + public long CostumeId { get; set; } + public int CombatStyleIndex { get; set; } + } + + public class RaidRankingInfo + { + public long SeasonId { get; set; } + public long AccountId { get; set; } + public long Ranking { get; set; } + public long Score { get; set; } + public double ScoreDetail { get; set; } + } + + public class RaidDetailDB + { + public long RaidUniqueId { get; set; } + public DateTime EndDate { get; set; } + public List DamageTable { get; set; } + } + + public class RaidLimitedRewardHistoryDB + { + public ContentType ContentType { get; set; } + public long SeasonId { get; set; } + public long RewardId { get; set; } + public DateTime ReceiveDate { get; set; } + } + + public class RaidParticipateCharactersDB + { + public long RaidServerId { get; set; } + public long AccountServerId { get; set; } + public List ParticipateCharacterServerIds { get; set; } + } + + public class RaidPlayerInfoDB + { + public long RaidServerId { get; set; } + public long AccountId { get; set; } + public DateTime JoinDate { get; set; } + public long DamageAmount { get; set; } + public int RaidEndRewardFlag { get; set; } + public int RaidPlayCount { get; set; } + public string Nickname { get; set; } + public long CharacterId { get; set; } + public long CostumeId { get; set; } + public Nullable AccountLevel { get; set; } + } + + public class RaidSeasonHistoryDB + { + public long SeasonServerId { get; set; } + public DateTime ReceiveDateTime { get; set; } + public long SeasonRewardGauage { get; set; } + } + + public class RaidSeasonManageDB + { + public long SeasonId { get; set; } + public DateTime SeasonStartDate { get; set; } + public DateTime SeasonEndDate { get; set; } + public DateTime SeasonSettlementEndDate { get; set; } + public DateTime UpdateDate { get; set; } + } + + public class RaidSeasonPointRewardHistoryDB + { + public ContentType ContentType { get; set; } + public long SeasonId { get; set; } + public long LastReceivedSeasonRewardId { get; set; } + public DateTime SeasonRewardReceiveDate { get; set; } + } + + public class RaidSeasonRankingHistoryDB + { + public ContentType ContentType { get; set; } + public long AccountId { get; set; } + public long SeasonId { get; set; } + public long Ranking { get; set; } + public long BestRankingPoint { get; set; } + public int Tier { get; set; } + public DateTime ReceivedDate { get; set; } + } + + public struct ResetableContentId : IEquatable + { + public ResetContentType Type { get; set; } + public long Mapped { get; set; } + public bool Equals(ResetableContentId other) + { + return default; + } + + } + + public class ResetableContentValueDB : IEquatable + { + public ResetableContentId ResetableContentId { get; set; } + public long ContentValue { get; set; } + public DateTime LastUpdateTime { get; set; } + public bool Equals(ResetableContentValueDB other) + { + return default; + } + + } + + public class ScenarioCollectionDB + { + public long GroupId { get; set; } + public long UniqueId { get; set; } + public DateTime ReceiveDate { get; set; } + } + + public class ScenarioGroupHistoryDB + { + public long AccountServerId { get; set; } + public long ScenarioGroupUqniueId { get; set; } + public long ScenarioType { get; set; } + public Nullable EventContentId { get; set; } + public DateTime ClearDateTime { get; set; } + public bool IsReturn { get; set; } + } + + public sealed class SchoolDungeonStageHistoryDB + { + public long StageUniqueId { get; set; } + + [JsonIgnore] + public long BestStarRecord { get; } + public bool[] StarFlags { get; set; } + + [JsonIgnore] + public bool Star1Flag { get; } + + [JsonIgnore] + public bool Star2Flag { get; } + + [JsonIgnore] + public bool Star3Flag { get; } + + [JsonIgnore] + public bool IsClearedEver { get; } + } + + public class SchoolDungeonStageSaveDB : ContentSaveDB + { + public override ContentType ContentType { get; } + } + + public class SelectGachaSnapshotDB + { + public long ShopUniqueId { get; set; } + public long LastIndex { get; set; } + public List LastResults { get; set; } + public Nullable SavedIndex { get; set; } + public List SavedResults { get; set; } + public Nullable PickedIndex { get; set; } + } + + public class SessionDB + { + public SessionKey SessionKey { get; set; } + public DateTime LastConnect { get; set; } + public int ConnectionTime { get; set; } + } + + public class ShopEligmaHistoryDB + { + public long CharacterUniqueId { get; set; } + public long PurchaseCount { get; set; } + } + + public class ShopFreeRecruitHistoryDB + { + public long UniqueId { get; set; } + public int RecruitCount { get; set; } + public DateTime LastUpdateDate { get; set; } + } + + public enum ShopProductType + { + None = 0, + General = 1, + Refresh = 2, + } + + public class ShopInfoDB + { + public long EventContentId { get; set; } + public ShopCategoryType Category { get; set; } + public Nullable ManualRefreshCount { get; set; } + public bool IsRefresh { get; set; } + public Nullable NextAutoRefreshDate { get; set; } + public Nullable LastAutoRefreshDate { get; set; } + public List ShopProductList { get; set; } + } + + public class ShopProductDB + { + public long EventContentId { get; set; } + public long ShopExcelId { get; set; } + public ShopCategoryType Category { get; set; } + public long DisplayOrder { get; set; } + public long PurchaseCount { get; set; } + + [JsonIgnore] + public bool SoldOut { get; } + public long PurchaseCountLimit { get; set; } + public long Price { get; set; } + public ShopProductType ProductType { get; set; } + } + + public class ShopRecruitDB + { + public long Id { get; set; } + public DateTime SalesStartDate { get; set; } + public DateTime SalesEndDate { get; set; } + public DateTime UpdateDate { get; set; } + } + + public class SkipHistoryDB + { + public int Prologue { get; set; } + public Dictionary Tutorial { get; set; } + } + + public class StickerBookDB + { + public long AccountId { get; set; } + public IEnumerable UnusedStickerDBs { get; set; } + public IEnumerable UsedStickerDBs { get; set; } + } + + public class StickerDB : ParcelBase, IEquatable + { + public override ParcelType Type { get; } + public long StickerUniqueId { get; set; } + public override IEnumerable ParcelInfos { get; } + public bool Equals(StickerDB other) + { + return default; + } + + } + + public class StoryStrategyStageSaveDB : CampaignMainStageSaveDB + { + public override ContentType ContentType { get; } + } + + public class StrategyObjectHistoryDB + { + public long StrategyObjectId { get; set; } + } + + public class TimeAttackDungeonCharacterDB + { + public long ServerId { get; set; } + public long UniqueId { get; set; } + public long CostumeId { get; set; } + public int StarGrade { get; set; } + public int Level { get; set; } + public bool HasWeapon { get; set; } + public WeaponDB WeaponDB { get; set; } + public bool IsAssist { get; set; } + public int CombatStyleIndex { get; set; } + } + + public class TimeAttackDungeonBattleHistoryDB + { + public TimeAttackDungeonType DungeonType { get; set; } + public long GeasId { get; set; } + public long DefaultPoint { get; set; } + public long ClearTimePoint { get; set; } + public long EndFrame { get; set; } + + [JsonIgnore] + public long TotalPoint { get; } + public List MainCharacterDBs { get; set; } + public List SupportCharacterDBs { get; set; } + } + + public class TimeAttackDungeonRewardHistoryDB + { + public DateTime Date { get; set; } + public TimeAttackDungeonRoomDB RoomDB { get; set; } + public bool IsSweep { get; set; } + } + + public class TimeAttackDungeonRoomDB + { + public long AccountId { get; set; } + public long SeasonId { get; set; } + public long RoomId { get; set; } + public DateTime CreateDate { get; set; } + public DateTime RewardDate { get; set; } + public bool IsPractice { get; set; } + public List SweepHistoryDates { get; set; } + public List BattleHistoryDBs { get; set; } + + [JsonIgnore] + public int PlayCount { get; } + + [JsonIgnore] + public long TotalPointSum { get; } + + [JsonIgnore] + public bool IsRewardReceived { get; } + + [JsonIgnore] + public bool IsOpened { get; } + + [JsonIgnore] + public bool CanUseAssist { get; } + + [JsonIgnore] + public bool IsPlayCountOver { get; } + } + + public class ToastDB + { + public long UniqueId { get; set; } + public string Text { get; set; } + public string ToastId { get; set; } + public DateTime BeginDate { get; set; } + public DateTime EndDate { get; set; } + public int LifeTime { get; set; } + public int Delay { get; set; } + } + + public class VisitingCharacterDB + { + public long UniqueId { get; set; } + public long ServerId { get; set; } + } + + public class WeekDungeonSaveDB : ContentSaveDB + { + public override ContentType ContentType { get; } + public WeekDungeonType WeekDungeonType { get; set; } + public int Seed { get; set; } + public int Sequence { get; set; } + } + + public class WeekDungeonStageHistoryDB + { + public long AccountServerId { get; set; } + public long StageUniqueId { get; set; } + public Dictionary StarGoalRecord { get; set; } + + [JsonIgnore] + public bool IsCleardEver { get; } + } + + public class WorldRaidSnapshot + { + public List WorldRaidLocalBossDBs { get; set; } + public List WorldRaidClearHistoryDBs { get; set; } + } + + public class WorldRaidLocalBossDB + { + public long SeasonId { get; set; } + public long GroupId { get; set; } + public long UniqueId { get; set; } + public bool IsScenario { get; set; } + public bool IsCleardEver { get; set; } + public long TacticMscSum { get; set; } + public RaidBattleDB RaidBattleDB { get; set; } + public bool IsContinue { get; } + } + + public class WorldRaidWorldBossDB + { + public long GroupId { get; set; } + public long HP { get; set; } + public long Participants { get; set; } + } + + public class WorldRaidClearHistoryDB + { + public long SeasonId { get; set; } + public long GroupId { get; set; } + public DateTime RewardReceiveDate { get; set; } + } + + public class WorldRaidBossListInfoDB + { + public long GroupId { get; set; } + public WorldRaidWorldBossDB WorldBossDB { get; set; } + public List LocalBossDBs { get; set; } + } + + public class WorldRaidBossGroup : ContentsValueChangeDB + { + public override ContentsChangeType ContentsChangeType { get; } + public long GroupId { get; set; } + public DateTime BossSpawnTime { get; set; } + public DateTime EliminateTime { get; set; } + } + + public class WorldRaidBossDamageRatio : ContentsValueChangeDB + { + public override ContentsChangeType ContentsChangeType { get; } + public BasisPoint DamageRatio { get; set; } + } + + public enum OpenConditionLockReason + { + None = 0, + Level = 1, + StageClear = 2, + Time = 4, + Day = 8, + CafeRank = 16, + ScenarioModeClear = 32, + CafeOpen = 64, + } + + public class ParcelResultDB + { + public AccountDB AccountDB { get; set; } + public List AcademyLocationDBs { get; set; } + public AccountCurrencyDB AccountCurrencyDB { get; set; } + public List CharacterDBs { get; set; } + public List WeaponDBs { get; set; } + public List CostumeDBs { get; set; } + public List TSSCharacterDBs { get; set; } + public Dictionary EquipmentDBs { get; set; } + public List RemovedEquipmentIds { get; set; } + public Dictionary ItemDBs { get; set; } + public List RemovedItemIds { get; set; } + public Dictionary FurnitureDBs { get; set; } + public List RemovedFurnitureIds { get; set; } + public Dictionary IdCardBackgroundDBs { get; set; } + public List EmblemDBs { get; set; } + public List StickerDBs { get; set; } + public List MemoryLobbyDBs { get; set; } + public List CharacterNewUniqueIds { get; set; } + public Dictionary SecretStoneCharacterIdAndCounts { get; set; } + public List DisplaySequence { get; set; } + public List ParcelForMission { get; set; } + public List ParcelResultStepInfoList { get; set; } + public long BaseAccountExp { get; set; } + public long AdditionalAccountExp { get; set; } + public long NewbieBoostAccountExp { get; set; } + + [JsonIgnore] + public List GachaResultCharacters { get; set; } + } + + public class ParcelInfo : IEquatable + { + public ParcelKeyPair Key { get; set; } + public long Amount { get; set; } + public BasisPoint Multiplier { get; set; } + + [JsonIgnore] + public long MultipliedAmount { get; } + public BasisPoint Probability { get; set; } + public bool Equals(ParcelInfo other) + { + return default; + } + + } + + public class AttendanceBookReward + { + public long UniqueId { get; set; } + public AttendanceType Type { get; set; } + public AccountState AccountType { get; set; } + public long DisplayOrder { get; set; } + public long AccountLevelLimit { get; set; } + public string Title { get; set; } + public string TitleImagePath { get; set; } + public AttendanceCountRule CountRule { get; set; } + public AttendanceResetType CountReset { get; set; } + public long BookSize { get; set; } + public DateTime StartDate { get; set; } + public DateTime StartableEndDate { get; set; } + public DateTime EndDate { get; set; } + public long ExpiryDate { get; set; } + public MailType MailType { get; set; } + public Dictionary DailyRewardIcons { get; set; } + public Dictionary> DailyRewards { get; set; } + } + + [Serializable] + public struct HexLocation : IEquatable + { + public int x; + public int y; + public int z; + [JsonIgnore] + public static readonly int NeighborCount; + [JsonIgnore] + public static readonly HexLocation[] Directions; + + [JsonIgnore] + public static HexLocation Zero { get; } + + [JsonIgnore] + public static HexLocation Invalid { get; } + public bool Equals(HexLocation other) + { + return default; + } + + } + + public class Strategy + { + public long EntityId; + public Vector3 Rotate; + public long Id; + public HexLocation Location; + [JsonIgnore] + public CampaignStrategyObjectExcel CampaignStrategyExcel; + public bool PlayAnimation { get; set; } + public bool Activated { get; set; } + public List Values { get; set; } + public int Index { get; set; } + + [JsonIgnore] + public bool Movable { get; } + + [JsonIgnore] + public bool NeedValueType { get; } + } + + public class BattleSummary : IEquatable + { + [JsonIgnore] + private int writeFrame; + [JsonIgnore] + private Battle battle; + public long HashKey { get; set; } + public bool IsBossBattle { get; set; } + public BattleTypes BattleType { get; set; } + public long StageId { get; set; } + public long GroundId { get; set; } + public GroupTag Winner { get; set; } + + [JsonIgnore] + public bool IsPlayerWin { get; } + public BattleEndType EndType { get; set; } + public int EndFrame { get; set; } + public GroupSummary Group01Summary { get; set; } + public GroupSummary Group02Summary { get; set; } + public WeekDungeonSummary WeekDungeonSummary { get; set; } + public RaidSummary RaidSummary { get; set; } + public ArenaSummary ArenaSummary { get; set; } + + [JsonIgnore] + public TimeSpan EndTime { get; } + public int ContinueCount { get; set; } + public float ElapsedRealtime { get; set; } + + [JsonIgnore] + public string FindGiftClearText { get; } + + [JsonIgnore] + public long EventContentId { get; set; } + + [JsonIgnore] + public long FixedEchelonId { get; set; } + public bool IsAbort { get; set; } + public bool IsDefeatBattle { get; set; } + + [JsonIgnore] + public bool IsDefeatFailure { get; } + public bool Equals(BattleSummary other) + { + return default; + } + + } + + public class SkillCardHand + { + public float Cost { get; set; } + public List SkillCardsInHand { get; set; } + } + + public class TacticSkipSummary + { + public long StageId { get; set; } + public long Group01HexaUnitId { get; set; } + public long Group02HexaUnitId { get; set; } + } + + public class HexaUnit + { + public long EntityId; + public Dictionary HpInfos; + public Dictionary DyingInfos; + public Dictionary BuffInfos; + public int ActionCountMax; + public int ActionCount; + public int Mobility; + public int StrategySightRange; + public long Id; + public Vector3 Rotate; + public HexLocation Location; + public HexLocation AIDestination; + public bool IsActionComplete; + public bool IsPlayer; + public bool IsFixedEchelon; + public int MovementOrder; + public Dictionary> RewardParcelInfosWithDropTacticEntityType; + [JsonIgnore] + public CampaignUnitExcel CampaignUnitExcel; + [JsonIgnore] + public List MovableTiles; + [JsonIgnore] + public List> MovementMap; + + [JsonIgnore] + public List BuffGroupIds { get; } + public SkillCardHand SkillCardHand { get; set; } + public bool PlayAnimation { get; set; } + + [JsonIgnore] + public Dictionary> RewardItems { get; } + } + + public enum SkillSlot + { + None = 0, + NormalAttack01 = 1, + NormalAttack02 = 2, + NormalAttack03 = 3, + NormalAttack04 = 4, + NormalAttack05 = 5, + NormalAttack06 = 6, + NormalAttack07 = 7, + NormalAttack08 = 8, + NormalAttack09 = 9, + NormalAttack10 = 10, + ExSkill01 = 11, + ExSkill02 = 12, + ExSkill03 = 13, + ExSkill04 = 14, + ExSkill05 = 15, + ExSkill06 = 16, + ExSkill07 = 17, + ExSkill08 = 18, + ExSkill09 = 19, + ExSkill10 = 20, + Passive01 = 21, + Passive02 = 22, + Passive03 = 23, + Passive04 = 24, + Passive05 = 25, + Passive06 = 26, + Passive07 = 27, + Passive08 = 28, + Passive09 = 29, + Passive10 = 30, + ExtraPassive01 = 31, + ExtraPassive02 = 32, + ExtraPassive03 = 33, + ExtraPassive04 = 34, + ExtraPassive05 = 35, + ExtraPassive06 = 36, + ExtraPassive07 = 37, + ExtraPassive08 = 38, + ExtraPassive09 = 39, + ExtraPassive10 = 40, + Support01 = 41, + Support02 = 42, + Support03 = 43, + Support04 = 44, + Support05 = 45, + Support06 = 46, + Support07 = 47, + Support08 = 48, + Support09 = 49, + Support10 = 50, + EnterBattleGround = 51, + LeaderSkill01 = 52, + LeaderSkill02 = 53, + LeaderSkill03 = 54, + LeaderSkill04 = 55, + LeaderSkill05 = 56, + LeaderSkill06 = 57, + LeaderSkill07 = 58, + LeaderSkill08 = 59, + LeaderSkill09 = 60, + LeaderSkill10 = 61, + Equipment01 = 62, + Equipment02 = 63, + Equipment03 = 64, + Equipment04 = 65, + Equipment05 = 66, + Equipment06 = 67, + Equipment07 = 68, + Equipment08 = 69, + Equipment09 = 70, + Equipment10 = 71, + PublicSkill01 = 72, + PublicSkill02 = 73, + PublicSkill03 = 74, + PublicSkill04 = 75, + PublicSkill05 = 76, + PublicSkill06 = 77, + PublicSkill07 = 78, + PublicSkill08 = 79, + PublicSkill09 = 80, + PublicSkill10 = 81, + GroupBuff01 = 82, + HexaBuff01 = 83, + EventBuff01 = 84, + EventBuff02 = 85, + EventBuff03 = 86, + MoveAttack01 = 87, + MetamorphNormalAttack = 88, + GroundPassive01 = 89, + GroundPassive02 = 90, + GroundPassive03 = 91, + GroundPassive04 = 92, + GroundPassive05 = 93, + GroundPassive06 = 94, + GroundPassive07 = 95, + GroundPassive08 = 96, + GroundPassive09 = 97, + GroundPassive10 = 98, + HiddenPassive01 = 99, + HiddenPassive02 = 100, + HiddenPassive03 = 101, + HiddenPassive04 = 102, + HiddenPassive05 = 103, + HiddenPassive06 = 104, + HiddenPassive07 = 105, + HiddenPassive08 = 106, + HiddenPassive09 = 107, + HiddenPassive10 = 108, + Count = 109, + } + + public class ConquestDisplayInfo : IComparable + { + public ConquestTriggerType TriggerType { get; set; } + public ConquestDisplayType Type { get; set; } + public long EntityId { get; set; } + public long TileUniqueId { get; set; } + public string Parameter { get; set; } + public int DisplayOrder { get; set; } + public bool DisplayOnce { get; set; } + public int CompareTo(object obj) + { + return default; + } + + } + + public class MultiSweepParameter + { + public Nullable EventContentId; + public ContentType ContentType; + public long StageId; + public int SweepCount; + } + + public struct ParcelKeyPair : IEquatable, IComparable + { + public static readonly ParcelKeyPair Empty; + public ParcelType Type { get; set; } + public long Id { get; set; } + public bool Equals(ParcelKeyPair other) + { + return default; + } + + public int CompareTo(ParcelKeyPair other) + { + return default; + } + + } + + public struct RaidDamage + { + public static readonly RaidDamage Invalid; + public int Index { get; set; } + public long GivenDamage { get; set; } + public long GivenGroggyPoint { get; set; } + } + + public class RaidBossResultCollection : KeyedCollection + { + + [JsonIgnore] + public int LastIndex { get; } + + [JsonIgnore] + public long TotalDamage { get; } + + [JsonIgnore] + public long CurrentDamage { get; } + + [JsonIgnore] + public long TotalGroggyPoint { get; } + + [JsonIgnore] + public long CurrentGroggyPoint { get; } + + [JsonIgnore] + public int TotalGroggyCount { get; } + protected override int GetKeyForItem(RaidBossResult item) + { + return default; + } + + } + + public class MinigameRhythmSummary : IEquatable + { + public string MusicTitle; + public int PatternDifficulty; + public bool IsSpecial; + public int TotalNoteCount; + public int CriticalCount; + public int AttackCount; + public int MissCount; + public bool IsFullCombo; + public int MaxCombo; + public long FinalScore; + public long HPBonusScore; + public DateTime GameStartTime; + public DateTime GameEndTime; + public float RhythmGamePlayTime; + public float StdDev; + public MinigameJudgeRecord[] MinigameJudgeRecords; + public bool IsAutoPlay; + public bool Equals(MinigameRhythmSummary other) + { + return default; + } + + } + + public class MiniGameShootingSummary + { + public long EventContentId; + public long StageId; + public long PlayerCharacterId; + public List GeasIds; + public long SectionCount; + public long ArriveSection; + public float LeftTimeSec; + public float ProgressedTimeSec; + public Dictionary KillEnemies; + public bool IsWin; + } + + public class TBGBoardSaveDB + { + private ITBGSeasonInfo _seasonInfoCache; + [JsonIgnore] + public bool WasHiddenTreasureRecorded; + [JsonIgnore] + public bool WasHiddenPotalOpenConditionRecorded; + + [JsonIgnore] + public TBGEventHandler EventHandler { get; set; } + + [JsonIgnore] + public ITBGSeasonInfo SeasonInfo { get; } + + [JsonIgnore] + public bool HasActiveEncounter { get; } + + [JsonIgnore] + public TBGHexaMapDB CurrentMap { get; } + + [JsonIgnore] + public bool IsClearThema { get; } + + [JsonIgnore] + public bool Sweepable { get; } + public long AccountId { get; set; } + public long EventContentId { get; set; } + public int Round { get; set; } + public int ThemaIndex { get; set; } + public TBGThemaType CurrentThemaMapType { get; set; } + public TBGHexaMapDB MainMap { get; set; } + public TBGHexaMapDB HiddenMap { get; set; } + public TBGPlayerDB Player { get; set; } + public TBGEncounterDB Encounter { get; set; } + public Dictionary BestClearRecord { get; set; } + public List HiddenTreasureRecord { get; set; } + public List HiddenPotalOpenConditionRecord { get; set; } + + [JsonIgnore] + public ParcelInfo CurrentRevivalCost { get; } + } + + public class TBGPlayerDB + { + private TBGBoardSaveDB _saveDB; + private ITBGSeasonInfo _seasonInfoCache; + private bool _hasItemsDirty; + private bool _hasItemEffectDirty; + + [JsonIgnore] + public ITBGSeasonInfo SeasonInfo { get; } + + [JsonIgnore] + public int MaxHitPoint { get; } + + [JsonIgnore] + public bool IsMaxHitPointReached { get; } + + [JsonIgnore] + public IReadOnlyList CurrentDiceInfo { get; } + + [JsonIgnore] + public TBGItemEffectDB ActivatedDefenceEffect { get; } + + [JsonIgnore] + public TBGItemEffectDB ActivatedDefenceCriticalEffect { get; } + + [JsonIgnore] + public TBGItemEffectDB ActivatedGuideEffect { get; } + + [JsonIgnore] + public IEnumerable ActivatedDiceAddDotEffect { get; } + + [JsonIgnore] + public IEnumerable ActivatedPermanentDiceAddDotEffect { get; } + + [JsonIgnore] + public bool IsMaxPermanentDiceAddDotReached { get; } + + [JsonIgnore] + public TBGItemEffectDB ActivatedDiceForceDotEffect { get; } + + [JsonIgnore] + public TBGItemDB[] ItemSlots { get; } + public HexLocation Location { get; set; } + public long EventContentId { get; set; } + public int HitPoint { get; set; } + public long DiceId { get; set; } + public Dictionary DiceProbModifyParams { get; set; } + public List Items { get; set; } + public TBGItemDB TemporaryItem { get; set; } + + [JsonIgnore] + public bool HasItemsDirty { get; set; } + public List ItemEffects { get; set; } + + [JsonIgnore] + public bool HasItemEffectDirty { get; set; } + + [JsonIgnore] + public bool IsDead { get; } + } + + public abstract class TBGEncounterDB + { + private ITBGEncounterInfo _encounterInfoCache; + + [JsonIgnore] + public ITBGEncounterInfo EncounterInfo { get; } + + [JsonIgnore] + public int EncounterRewardReceiveIndex { get; } + + [JsonIgnore] + public abstract TBGEncounterState EncounterState { get; } + + [JsonIgnore] + public abstract int EncounterStageCode { get; } + public long EncounterId { get; set; } + public long InvokerServerId { get; set; } + public int ObjectType { get; set; } + public bool ShouldDecreaseItemEffectCounter { get; set; } + public Dictionary RewardUniqueIdByIndex { get; set; } + } + + public enum TBGDiceRollResult + { + Failure = 0, + Success = 1, + CriticalSuccess = 2, + } + + public class MissionInfo : IMissionConstraint + { + public long Id { get; set; } + public MissionCategory Category { get; set; } + public MissionResetType ResetType { get; set; } + public MissionToastDisplayConditionType ToastDisplayType { get; set; } + public uint Description { get; set; } + public bool IsVisible { get; set; } + public bool IsLimited { get; set; } + public DateTime StartDate { get; set; } + public DateTime StartableEndDate { get; set; } + public DateTime EndDate { get; set; } + public long EndDday { get; set; } + public AccountState AccountState { get; set; } + public long AccountLevel { get; set; } + public List PreMissionIds { get; set; } + public long NextMissionId { get; set; } + public SuddenMissionContentType[] SuddenMissionContentTypes { get; set; } + public MissionCompleteConditionType CompleteConditionType { get; set; } + public long CompleteConditionCount { get; set; } + public List CompleteConditionParameters { get; set; } + public string RewardIcon { get; set; } + public List Rewards { get; set; } + public ContentType DateAutoRefer { get; set; } + public string ToastImagePath { get; set; } + public long DisplayOrder { get; set; } + public bool HasFollowingMission { get; set; } + public string[] Shortcuts { get; set; } + public long ChallengeStageId { get; set; } + public bool CanComplete(DateTime serverTime) + { + return default; + } + + public bool CanReceiveReward(DateTime serverTime) + { + return default; + } + + } + + public struct DebuffDescription : IEquatable + { + public long AccountId { get; set; } + public string LogicEffectTemplateId { get; set; } + public string LogicEffectGroupId { get; set; } + public int LogicEffectLevel { get; set; } + public int DurationFrame { get; set; } + public SkillSlot SkillSlot { get; set; } + public int IssuedTimestamp { get; set; } + public bool Equals(DebuffDescription other) + { + return default; + } + + } + + public class ParcelCost + { + private List _consumableItemBaseDBs; + public List ParcelInfos { get; set; } + public CurrencyTransaction Currency { get; set; } + public List EquipmentDBs { get; set; } + public List ItemDBs { get; set; } + public List FurnitureDBs { get; set; } + + [JsonIgnore] + public bool HasCurrency { get; } + + [JsonIgnore] + public bool HasItem { get; } + + [JsonIgnore] + public bool IsEmpty { get; } + + [JsonIgnore] + public IEnumerable ConsumableItemBaseDBs { get; } + public ConsumeCondition ConsumeCondition { get; set; } + } + + public class CafeCharacterDB : VisitingCharacterDB + { + public bool IsSummon { get; set; } + public DateTime LastInteractTime { get; set; } + } + + public class CafeProductionParcelInfo + { + public ParcelKeyPair Key { get; set; } + public long Amount { get; set; } + } + + public class HexaTileState + { + public int Id { get; set; } + public bool IsHide { get; set; } + public bool IsFog { get; set; } + public bool CanNotMove { get; set; } + } + + public class HexaDisplayInfo + { + public HexaDisplayType Type { get; set; } + public long EntityId { get; set; } + public long UniqueId { get; set; } + public HexLocation Location { get; set; } + public long Parameter { get; set; } + public StrategyClearRewardInfo StageRewardInfo { get; set; } + } + + public abstract class ParcelBase + { + public abstract ParcelType Type { get; } + + [JsonIgnore] + public abstract IEnumerable ParcelInfos { get; } + } + + public enum ConquestEventObjectType + { + None = 0, + UnexpectedEnemy = 1, + TreasureBox = 2, + Erosion = 3, + End = 4, + } + + public enum EchelonStatusFlag + { + None = 0, + BeforeDeploy = 1, + OnDuty = 2, + } + + public class EventContentTreasureInfo + { + public long EventContentId { get; } + public int LoopRound { get; } + public string TitleLocalize { get; } + public string UsePregabName { get; } + public string TreasureBGImagePath { get; } + } + + public class EventContentTreasureRoundInfo + { + public long EventContentId { get; } + public int Round { get; } + public long CostGoodsId { get; } + public long CellRewardId { get; } + public int BoardSizeX { get; } + public int BoardSizeY { get; } + public List Treasures { get; } + public List CellRewards { get; } + public List CellCosts { get; } + public bool IsVisualSortUnstructed { get; set; } + public int TreasureTotalCount { get; } + } + + public class RaidMemberCollection : KeyedCollection + { + public long TotalDamage { get; } + public IEnumerable RaidDamages { get; } + protected override long GetKeyForItem(RaidMemberDescription item) + { + return default; + } + + } + + public class RaidMemberDescription : IEquatable + { + public long AccountId { get; set; } + public string AccountName { get; set; } + public long CharacterId { get; set; } + + [JsonIgnore] + public long DamageGiven { get; } + + [JsonIgnore] + public long GroggyGiven { get; } + public RaidDamageCollection DamageCollection { get; set; } + public bool Equals(RaidMemberDescription other) + { + return default; + } + + } + + public class ParcelResultStepInfo + { + public ParcelProcessActionType ParcelProcessActionType { get; set; } + public List StepParcelDetails { get; set; } + } + + public abstract class Battle + { + private EventHandler GroupInitialized; + private EventHandler GameStateChanged; + private EventHandler BattleSectionChanged; + private EventHandler CharacterPhaseChanged; + private EventHandler CharacterFormConversion; + private EventHandler CharacterInteractWithTSS; + private EventHandler CharacterDied; + private EventHandler CharacterDying; + private EventHandler CharacterRevived; + private EventHandler BattleEntitySkillTriggered; + private EventHandler BattleItemActivated; + private EventHandler BattleItemRecognized; + private EventHandler BattleItemEffected; + private EventHandler SummonedEntityClearRequested; + private EventHandler BattleEntitySpawned; + private EventHandler BattleEntityRemoved; + private EventHandler ObstacleDestroyed; + private EventHandler ObstacleStateChanged; + private EventHandler ObstacleGroundNodeChanged; + private EventHandler EffectAreaSpawned; + private EventHandler NormalAttackSpawned; + private EventHandler NormalAttackHit; + private EventHandler ProjectileSpawned; + private EventHandler ProjectileCollided; + private EventHandler BeamSpawned; + private EventHandler AuraSpawned; + private EventHandler BeamCollided; + private EventHandler SkillEntityRemoved; + private EventHandler BattleEntityNodeChanged; + private EventHandler DotAbilityAttached; + private EventHandler DotAbilityRemoved; + private EventHandler LogicEffectExpired; + private EventHandler FindGiftClearGrade; + private EventHandler FindGiftEnded; + private EventHandler WaveStarted; + private EventHandler WaveEnded; + private EventHandler WaveEnemyCleared; + private EventHandler WaveAllCleared; + private EventHandler RandomNumberCreated; + private EventHandler PlayerSkillCardCostAdded; + private EventHandler PlayerSkillCardCostRegenChanged; + private EventHandler PlayerSkillCardUsed; + private EventHandler SkillCardRedrawed; + private EventHandler StageTopographyChanged; + private EventHandler MovingAreaMoved; + private EventHandler EntityMovedByMovingArea; + private EventHandler ParticleEffectBursted; + private BattleLogicState state; + public Dictionary RandomNumbers; + private Dictionary>>> delayedLogicEffects; + public CharacterGroupTargetSideMapping TargetSideMapping; + protected PlayerGroup playerGroup; + private EntityCollection groundEffectAreas; + private IList areasToRemove; + private EntityCollection battleItems; + private IList battleItemsToRemove; + private EntityCollection groundProjectiles; + private IList projectileToRemove; + private EntityCollection beams; + private IList beamToRemove; + private EntityCollection auras; + private IList auraToRemove; + private EntityCollection normalAttacks; + private IList normalAttackToRemove; + private EntityCollection spawners; + private List spawnersToRemove; + private List spawnersToAdd; + private bool isProcessingSpawners; + private List groundObstacles; + private EntityCollection runtimeObstacles; + private List obstaclesToRemove; + private EntityCollection barrierObstacles; + private List barrierObstaclesToRemove; + private HashSet enemyToKill; + private ExpirableObjectHolder stageTopographyExpirableObjectHolder; + public BattleLogicState GameState { get; set; } + public LogicGameTime GameTime { get; set; } + public long StartTickRealTime { get; set; } + public int CurrentFrame { get; } + public int CurrentGameTimeFrame { get; } + public int MaxDurationFrame { get; set; } + public int RemainGameTimeFrame { get; } + public IPseudoRandomService PseudoRandom { get; set; } + public virtual List AllActiveCharacters { get; set; } + public List AllAliveCharacters { get; set; } + public Dictionary, List> PopulationGroups { get; set; } + public BattleEntityIdProvider Provider { get; } + public LogicEffectProcessor LogicEffectProcessor { get; set; } + public BattleEventBroker EventBroker { get; set; } + public BattleSummary BattleSummary { get; set; } + public BattleSetting Setting { get; set; } + public long GroundId { get; } + public long StageId { get; } + public bool IsBossStage { get; } + public bool IsRaid { get; } + public bool IsWorldRaid { get; } + public bool IsRaidForm { get; } + public BattleTypes BattleType { get; } + public bool DisableRootMotion { get; } + public StageTopography StageTopography { get; set; } + public virtual CharacterGroup PlayerGroup { get; } + public virtual bool IsPlayerWin { get; } + public bool PlayerHasSurvivor { get; } + public IList PlayerSupporters { get; } + public abstract CharacterGroup EnemyGroup { get; } + public IList EnemySupporters { get; } + public Ground Ground { get; set; } + public Vector2 GroundCenter { get; } + public int GroundGridNodeLength { get; } + public BattleCommandExecuter CommandExecuter { get; set; } + protected BattleCommandQueue CommandQueue { get; set; } + public GroundEntitySpawner GroundEntitySpawner { get; set; } + private SpawnProcessor spawnProcessor { get; } + public ICollection GroundEffectAreas { get; } + public ICollection BattleItems { get; } + public ICollection GroundProjectiles { get; } + protected ICollection Beams { get; } + public ICollection Auras { get; } + protected ICollection NormalAttacks { get; } + public ICollection Spawners { get; } + public IList GroundObstacles { get; } + public ICollection RuntimeObstacles { get; } + public ICollection BarrierObstacles { get; } + public int TotalEnemyCount { get; set; } + public int RemainEnemyCount { get; set; } + public bool ImmuneHitBeforeTimeOutEnd { get; } + public bool HideNPCWhenBattleEnd { get; } + public bool CoverPointOff { get; } + } + + public enum BattleTypes + { + None = 0, + Adventure = 1, + ScenarioMode = 2, + WeekDungeonChaserA = 4, + WeekDungeonBlood = 8, + WeekDungeonChaserB = 16, + WeekDungeonChaserC = 32, + WeekDungeonFindGift = 64, + EventContent = 128, + TutorialAdventure = 256, + Profiling = 512, + SingleRaid = 2048, + MultiRaid = 4096, + PracticeRaid = 8192, + EliminateRaid = 16384, + MultiFloorRaid = 32768, + MinigameDefense = 1048576, + Arena = 2097152, + TimeAttack = 8388608, + SchoolDungeonA = 33554432, + SchoolDungeonB = 67108864, + SchoolDungeonC = 134217728, + WorldRaid = 268435456, + Conquest = 536870912, + FieldStory = 1073741824, + FieldContent = -2147483648, + PvE = -301988865, + WeekDungeon = 124, + SchoolDungeon = 234881024, + Raid = 30720, + PvP = 2097152, + All = -1, + } + + public enum GroupTag + { + None = 0, + Group01 = 1, + Group02 = 2, + Group03 = 4, + Group04 = 8, + Group05 = 16, + Group06 = 32, + Group07 = 64, + Group08 = 128, + Group09 = 256, + Group10 = 512, + Group11 = 1024, + Group12 = 2048, + Group13 = 4096, + Group14 = 8192, + Group15 = 16384, + Group16 = 32768, + } + + public enum BattleEndType + { + None = 0, + AllNearlyDead = 1, + TimeOut = 2, + EscortFailed = 3, + Clear = 4, + } + + public class GroupSummary : IEquatable + { + public long TeamId { get; set; } + public EntityId LeaderEntityId { get; set; } + + [JsonIgnore] + public long LeaderCharacterId { get; } + public KeyedCollection Heroes { get; set; } + public KeyedCollection Supporters { get; set; } + + [JsonIgnore] + public int AliveCount { get; } + public bool UseAutoSkill { get; set; } + public long TSSInteractionServerId { get; set; } + public long TSSInteractionUniqueId { get; set; } + public Dictionary AssistRelations { get; set; } + + [JsonIgnore] + public int StrikerMaxLevel { get; } + + [JsonIgnore] + public int SupporterMaxLevel { get; } + + [JsonIgnore] + public int StrikerMinLevel { get; } + + [JsonIgnore] + public int SupporterMinLevel { get; } + + [JsonIgnore] + public int MaxCharacterLevel { get; } + + [JsonIgnore] + public int MinCharacterLevel { get; } + + [JsonIgnore] + public long TotalDamageGivenApplied { get; } + public SkillCostSummary SkillCostSummary { get; set; } + public bool Equals(GroupSummary other) + { + return default; + } + + } + + public class WeekDungeonSummary : IEquatable + { + public WeekDungeonType DungeonType { get; set; } + public List FindGifts { get; set; } + + [JsonIgnore] + public int TotalFindGiftClearCount { get; } + public bool Equals(WeekDungeonSummary other) + { + return default; + } + + } + + public class RaidSummary + { + public long RaidSeasonId { get; set; } + + [JsonIgnore] + public long GivenDamage { get; } + + [JsonIgnore] + public int TotalGroggyCount { get; } + + [JsonIgnore] + public int RaidBossIndex { get; } + public RaidBossResultCollection RaidBossResults { get; set; } + } + + public class ArenaSummary + { + public long ArenaMapId { get; set; } + public long EnemyAccountId { get; set; } + public long EnemyAccountLevel { get; set; } + } + + public struct SkillCardInfo + { + public long CharacterId { get; set; } + public int HandIndex { get; set; } + public string SkillId { get; set; } + public int RemainCoolTime { get; set; } + } + + [Serializable] + public class HexaTile + { + public string ResourcePath; + public bool IsHide; + public bool IsFog; + public bool CanNotMove; + public HexLocation Location; + public Strategy Strategy; + public HexaUnit Unit; + [JsonIgnore] + public HexaUnit ChallengeUnit; + public bool PlayAnimation { get; set; } + + [JsonIgnore] + public bool IsBattleReady { get; } + + [JsonIgnore] + public bool StartTile { get; } + } + + public enum ConquestTriggerType + { + None = 0, + TileConquer = 1, + TileUpgrade = 2, + MapEnter = 3, + SyncState = 4, + AcquireCalculateReward = 5, + UnexpectedEvent = 6, + MassErosion = 7, + MassErosionEnd = 8, + TileErosion = 9, + TileErosionEnd = 10, + } + + public enum ConquestDisplayType + { + None = 0, + TileConquered = 1, + TileUpgraded = 2, + UnexpectedEvent = 3, + BossOpen = 4, + PropAnimation = 5, + PropAnimationAndBlock = 6, + PropAnimationHoldAndPlay = 7, + Operator = 8, + StepComplete = 9, + MassErosion = 10, + Erosion = 11, + ErosionRemove = 12, + CheckTileErosion = 13, + StepOpen = 14, + BossClear = 15, + HideConquestUI = 16, + ShowConquestUI = 17, + HideHexaUI = 18, + ShowHexaUI = 19, + StepObjectComplete = 20, + CameraSetting = 21, + PlayMapEnterScenario = 22, + ShowTileConquerReward = 23, + } + + public struct RaidBossResult : IEquatable + { + public static readonly RaidBossResult Invalid; + + [JsonIgnore] + public int Index { get; } + + [JsonIgnore] + public long GivenDamage { get; } + + [JsonIgnore] + public long GivenGroggyPoint { get; } + public RaidDamage RaidDamage { get; set; } + public long EndHpRateRawValue { get; set; } + public long GroggyRateRawValue { get; set; } + public int GroggyCount { get; set; } + public List SubPartsHPs { get; set; } + public long AIPhase { get; set; } + public bool Equals(RaidBossResult other) + { + return default; + } + + } + + public class MinigameJudgeRecord + { + public int NoteIndex; + public float TimingError; + public int CurrentCombo; + public JudgeGrade JudgeGradeOfThisNote; + public bool IsFeverOn; + } + + public interface ITBGSeasonInfo + { + public abstract long EventContentId { get; } + public abstract int ItemSlotCount { get; } + public abstract long DefaultItemDiceId { get; } + public abstract int DefaultEchelonHP { get; } + public abstract int HitPointUpperLimit { get; } + public abstract int MaxDicePlus { get; } + public abstract List EchelonSlotCharacterIds { get; } + public abstract List EchelonSlotPortraits { get; } + public abstract ParcelInfo EchelonRevivalCost { get; } + public abstract int EnemyBossHitPoint { get; } + public abstract int EnemyMinionHitPoint { get; } + public abstract int AttackDamage { get; } + public abstract int CriticalAttackDamage { get; } + public abstract int RoundItemSelectLimit { get; } + public abstract int InstantClearRound { get; } + public abstract long EventUseCostId { get; } + public abstract ParcelType EventUseCostType { get; } + public abstract int StartThemaIndex { get; } + public abstract int LoopThemaIndex { get; } + public abstract string MapImagePath { get; } + public abstract string MapNameLocalize { get; } + } + + public class TBGEventHandler + { + public Action onPlayerDiceRolled; + public Action> onPayCostRequired; + public Action> onReceiveRewardAsParcel; + public Action onPortalUsed; + } + + public class TBGHexaMapDB + { + private TBGBoardSaveDB _saveDB; + private TBGHexaMapData _mapDataCache; + + [JsonIgnore] + public TBGHexaMapData MapData { get; } + public TBGThemaType MapType { get; set; } + public Dictionary Objects { get; set; } + public bool IsTutorial { get; set; } + + [JsonIgnore] + public bool HasObjectDirty { get; } + + [JsonIgnore] + public long RealTreasureObjectServerId { get; } + } + + public class TBGThemaClearRecord + { + public int ThemaIndex; + public List SweepCosts; + } + + public interface ITBGDiceInfo + { + public abstract long EventContentId { get; } + public abstract long UniqueId { get; } + public abstract int DiceGroup { get; } + public abstract int DiceResult { get; } + public abstract int Prob { get; } + public abstract IReadOnlyDictionary ProbModifies { get; } + } + + public class TBGItemEffectDB : ITBGItemEffectDB + { + private ITBGItemInfo _itemInfoCache; + + [JsonIgnore] + public virtual ITBGItemInfo ItemInfo { get; } + + [JsonIgnore] + public bool IsDirty { get; set; } + + [JsonIgnore] + public bool Activated { get; } + + [JsonIgnore] + public virtual int Stack { get; } + public long ItemUniqueId { get; set; } + public TBGItemType ItemType { get; set; } + public TBGItemEffectType EffectType { get; set; } + public virtual int RemainEncounterCounter { get; set; } + private int _remainEncounterCounter { get; set; } + + [JsonIgnore] + public bool AddedNow { get; set; } + } + + public class TBGItemDB + { + + [JsonIgnore] + public bool IsDirty { get; set; } + public long UniqueId { get; set; } + } + + public interface ITBGEncounterInfo + { + public abstract long EventContentId { get; } + public abstract long UniqueId { get; } + public abstract bool AllThema { get; } + public abstract int ThemaId { get; } + public abstract TBGThemaType ThemaType { get; } + public abstract TBGObjectType ObjectType { get; } + public abstract long OptionGroupId { get; } + public abstract bool HasBeforeStory { get; } + public abstract string EnemyNameLocalize { get; } + public abstract string EnemyPrefabName { get; } + public abstract string EncounterTitleLocalize { get; } + public abstract string BeforeStoryLocalize { get; } + public abstract string BeforeStoryOption1Localize { get; } + public abstract string BeforeStoryOption2Localize { get; } + public abstract string BeforeStoryOption3Localize { get; } + public abstract string AllyAttackLocalize { get; } + public abstract string EnemyAttackLocalize { get; } + public abstract string AttackDefenceLocalize { get; } + public abstract string ClearStoryLocalize { get; } + public abstract string DefeatStoryLocalize { get; } + public abstract string RunAwayStoryLocalize { get; } + public abstract bool RewardHide { get; } + } + + public enum TBGEncounterState + { + None = 0, + Active = 1, + Disposing = 2, + } + + public interface IMissionConstraint + { + } + + public class CurrencyTransaction : ParcelBase, IEquatable + { + private CurrencyValue currencyValue { get; } + + [JsonIgnore] + public override ParcelType Type { get; } + + [JsonIgnore] + public override IEnumerable ParcelInfos { get; } + + [JsonIgnore] + public IDictionary CurrencyValues { get; } + + [JsonIgnore] + public CurrencyTransaction Inverse { get; } + + [JsonIgnore] + public bool IsEmpty { get; } + public long Gold { get; } + public long Gem { get; } + public long GemBonus { get; } + public long GemPaid { get; } + public long ActionPoint { get; } + public long ArenaTicket { get; } + public long RaidTicket { get; } + public long WeekDungeonChaserATicket { get; } + public long WeekDungeonChaserBTicket { get; } + public long WeekDungeonChaserCTicket { get; } + public long WeekDungeonFindGiftTicket { get; } + public long WeekDungeonBloodTicket { get; } + public long AcademyTicket { get; } + public long SchoolDungeonATicket { get; } + public long SchoolDungeonBTicket { get; } + public long SchoolDungeonCTicket { get; } + public long TimeAttackDungeonTicket { get; } + public long MasterCoin { get; } + public long WorldRaidTicketA { get; } + public long WorldRaidTicketB { get; } + public long WorldRaidTicketC { get; } + public long ChaserTotalTicket { get; } + public long SchoolDungeonTotalTicket { get; } + public long EliminateTicketA { get; } + public long EliminateTicketB { get; } + public long EliminateTicketC { get; } + public long EliminateTicketD { get; } + public bool Equals(CurrencyTransaction other) + { + return default; + } + + } + + public enum HexaDisplayType + { + None = 0, + EndBattle = 1, + PlayScenario = 2, + SpawnUnitFromUniqueId = 3, + StatBuff = 4, + DieUnit = 5, + HideStrategy = 6, + SpawnUnit = 7, + SpawnStrategy = 8, + SpawnTile = 9, + HideTile = 10, + ClearFogOfWar = 11, + MoveUnit = 12, + WarpUnit = 13, + SetTileMovablity = 14, + WarpUnitFromHideTile = 15, + BossExile = 16, + } + + public class StrategyClearRewardInfo + { + public List FirstClearReward { get; set; } + public List ThreeStarReward { get; set; } + public Dictionary> StrategyObjectRewards { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + + [JsonIgnore] + public List ClearReward { get; set; } + + [JsonIgnore] + public List ExpReward { get; set; } + + [JsonIgnore] + public List TotalReward { get; set; } + + [JsonIgnore] + public List EventContentReward { get; set; } + public List EventContentBonusReward { get; set; } + public CampaignStageHistoryDB CampaignStageHistoryDB { get; set; } + } + + public class EventContentTreasureItem + { + public long RewardId { get; } + public int Amount { get; } + public int Width { get; } + public int Weight { get; } + public bool IsHiddenImage { get; } + public bool IsSquare { get; } + } + + public class RaidDamageCollection : KeyedCollection + { + + [JsonIgnore] + public int MaxIndex { get; } + + [JsonIgnore] + public long TotalDamage { get; } + + [JsonIgnore] + public long CurrentDamage { get; } + + [JsonIgnore] + public long TotalGroggyPoint { get; } + + [JsonIgnore] + public long CurrentGroggyPoint { get; } + protected override int GetKeyForItem(RaidDamage item) + { + return default; + } + + } + + public enum ParcelProcessActionType + { + None = 0, + Cost = 1, + Reward = 2, + } + + public class ParcelDetail + { + public ParcelInfo OriginParcel { get; set; } + public ParcelInfo MailSendParcel { get; set; } + public List ConvertedParcelInfos { get; set; } + public ParcelChangeType ParcelChangeType { get; set; } + } + + public class GameStateEventArgs : EventArgs + { + public BattleLogicState GameState { get; set; } + } + + public class BattleSectionChangedEventArgs : EventArgs + { + public int SectionId { get; } + public bool SetConditionCommandOnly { get; } + } + + public class CharacterPhaseChangedEventArgs : EventArgs + { + public EntityId EntityId { get; set; } + public long PhaseID { get; set; } + } + + public class CharacterFormConvertedEventArgs : EventArgs + { + public EntityId EntityId { get; set; } + public int FormIndex { get; set; } + } + + public class CharacterInteractWithTSSEventArgs : EventArgs + { + public EntityId EntityId { get; set; } + public EntityId TSSEntityId { get; set; } + public bool IsInteract { get; set; } + } + + public class KillEventArgs : EventArgs + { + public int LogicFrame { get; set; } + public EntityId KillerId { get; set; } + public EntityId TargetId { get; set; } + } + + public class HeroReviveEventArgs : EventArgs + { + public int LogicFrame { get; set; } + public EntityId TargetId { get; set; } + public Character Character { get; set; } + } + + public class BattleEntitySkillTriggeredEventArgs : EventArgs + { + public BattleEntity Invoker { get; } + public string SkillGroupId { get; } + public SkillSlot SkillSlot { get; } + } + + public class BattleItemActivatedEventArgs : EventArgs + { + public BattleItem BattleItem { get; set; } + } + + public class BattleItemRecognitionEventArgs : EventArgs + { + public BattleItem BattleItem { get; set; } + public BattleEntity RecognizedEntity { get; set; } + } + + public class BattleItemEffectEventArgs : EventArgs + { + public BattleItem BattleItem { get; set; } + public BattleEntity EffectedEntity { get; set; } + } + + public class SummonedEntityClearRequestEventArgs : EventArgs + { + public GroupTag SummonerGroupTag { get; } + public EntityId SummonerEntityId { get; } + public SkillSpecification SkillSpecification { get; } + public int Index { get; } + public long IdToClear { get; } + public bool IsTSS { get; set; } + } + + public class BattleEntitySpawnedEventArgs : EventArgs + { + public EntityId EntityId { get; set; } + public BattleEntity Entity { get; set; } + public CharacterGroup CharacterGroup { get; } + } + + public class BattleEntityRemovedEventArgs : EventArgs + { + public EntityId EntityId { get; set; } + + [JsonIgnore] + public BattleEntity Entity { get; set; } + } + + public class ObstacleEventArgs : EventArgs + { + + [JsonIgnore] + public GroundObstacle Obstacle { get; } + public EntityId EntityId { get; } + public bool IsDestroyed { get; } + public bool IsNodeChangedByMovingArea { get; } + } + + public class EffectAreaSpawnedEventArgs : EventArgs + { + + [JsonIgnore] + public EffectArea Area { get; } + public EntityId InvokerId { get; } + public SkillSpecification SkillSpecification { get; } + public EntityId AreaId { get; } + } + + public class NormalAttackSpawnedEventArgs : EventArgs + { + public EntityId InvokerId { get; } + public SkillSpecification SkillSpecification { get; } + public EntityId ProjectileId { get; } + public EntityId TargetId { get; } + public int TargetDelay { get; } + public string SkillEntityName { get; } + } + + public class NormalAttackHitEventArgs : EventArgs + { + public EntityId ProjectileId { get; } + public Vector2 HitPosition { get; } + public EntityId AttackerId { get; } + } + + public class ProjectileSpawnedEventArgs : EventArgs + { + + [JsonIgnore] + public Projectile Projectile { get; } + public int FramePerSecond { get; } + public EntityId InvokerId { get; } + public SkillSpecification SkillSpecification { get; } + public EntityId ProjectileId { get; } + public EntityId TargetId { get; } + } + + public class ProjectileCollidedEventArgs : EventArgs + { + public EntityId InvokerId { get; } + public EntityId TargetId { get; } + public EntityId ObstacleId { get; } + public SkillSpecification SkillSpecification { get; } + public EntityId ProjectileId { get; } + } + + public class BeamEventArgs : EventArgs + { + public EntityId InvokerId { get; } + public EntityId BeamId { get; } + public EntityId HitEntityId { get; } + public EntityId TargetId { get; } + public Vector2 TargetPosition { get; } + public SkillSpecification SkillSpecification { get; } + public string SkillEntityName { get; } + } + + public class AuraEventArgs : EventArgs + { + public EntityId InvokerId { get; } + public EntityId AuraId { get; } + public EntityId HitEntityId { get; } + public EntityId TargetId { get; } + public Vector2 TargetPosition { get; } + public SkillSpecification SkillSpecification { get; } + public string SkillEntityName { get; } + public Aura Aura { get; } + } + + public class SkillEntityRemovedEventArgs : EventArgs + { + public EntityId EntityId { get; set; } + } + + public class CharacterGroundNodeChangedEventArgs : EventArgs + { + public EntityId EntityId { get; set; } + public Character Character { get; set; } + public int PreviousX { get; set; } + public int PreviousY { get; set; } + } + + public class DotEventArgs : EventArgs + { + public EntityId AttackerId { get; set; } + public EntityId TargetId { get; set; } + public SkillSpecification SkillSpecification { get; set; } + public string SkillEntityName { get; set; } + public int Channel { get; set; } + public Hash64 TemplateIdHash { get; set; } + public SkillSlot SkillSlot { get; set; } + public DotAbility Invoker { get; set; } + } + + public class LogicEffectExpiredEventArgs : EventArgs, IEquatable + { + public Type TypeOfLogicEffect { get; set; } + public EntityId AttackerId { get; set; } + public EntityId TargetId { get; set; } + public SkillSpecification SkillSpecification { get; set; } + public int Channel { get; set; } + public string LogicEffectGroupId { get; } + public string SkillEntityName { get; set; } + public string TemplateId { get; } + public SkillType SkillType { get; } + public LogicEffectCategory Category { get; } + public bool Equals(LogicEffectExpiredEventArgs other) + { + return default; + } + + } + + public class ClearGreadeFindGiftArgs : EventArgs + { + public string UniqueName; + public int ClearCount { get; set; } + } + + public class EndFindGiftArgs : EventArgs + { + public string UniqueName; + public int ClearCount { get; set; } + } + + public class StartWaveArgs : EventArgs + { + public string UniqueName; + public int Step { get; set; } + } + + public class EndWaveArgs : EventArgs + { + public string UniqueName; + public int Step { get; set; } + } + + public class WaveEnemyClearedArgs : EventArgs + { + public string UniqueName; + public int Step { get; set; } + } + + public class AllClearWaveArgs : EventArgs + { + public string UniqueName; + public int Step { get; set; } + } + + public class RandomNumberArgs : EventArgs + { + public string EntityConditionId { get; } + public int RandomNumber { get; } + } + + public class PlayerSkillCardCostAddedEventArgs : EventArgs + { + public GroupTag GroupTag { get; } + public float Cost { get; } + } + + public class PlayerSkillCardCostRegenChangedEventArgs : EventArgs + { + public GroupTag GroupTag { get; } + public float CostRegen { get; } + } + + public class PlayerSkillCardUsedEventArgs : EventArgs + { + public GroupTag GroupTag { get; } + public long CharacterId { get; } + public float Cost { get; } + public string GroupId { get; } + public int Level { get; } + public BattleEntity Owner { get; } + } + + public class SkillCardRedrawedEvent : EventArgs + { + public SkillCard SkillCard { get; } + } + + public class MovingAreaEventArgs : EventArgs + { + public Vector2 PreviousCenter { get; } + public Vector2 NewCenter { get; } + public float AngleDeltaInDegree { get; } + public float HeightDelta { get; } + public bool KeepCameraRailPointDirectionUnchanged { get; } + public List PreviousWalkableMovingAreaList { get; } + } + + public class ParticleEffectEventArgs : EventArgs + { + public EntityId InvokerId { get; } + public SkillSpecification SkillSpecification { get; set; } + public Vector3 Position { get; set; } + public Vector3 Direction { get; set; } + public string ParticleEffectName { get; set; } + public List CustomParticleEvents { get; set; } + } + + public enum BattleLogicState + { + None = 0, + Preparing = 1, + InProgress = 2, + Finished = 3, + Paused = 4, + } + + public abstract class LogicEffect : IDispellable + { + private readonly string templateId; + public readonly Hash64 TemplateIdHash; + protected ResolvePriority priority; + public SkillSpecification SkillSpecification { get; set; } + public LogicEffectHitSpecification LogicEffectHitSpecification { get; set; } + public BattleEntity Invoker { get; } + public EntityId InvokerEntityId { get; } + public BattleEntity Target { get; } + protected EntityId TargetEntityId { get; } + public BattleEntity OriginalTarget { get; } + public Func ExpirationCheck { get; set; } + public Entity ExpirationCheckOwner { get; set; } + public string SkillEntityName { get; } + public long SpawnRate { get; } + public virtual string LogicEffectGroupId { get; } + public virtual LogicEffectCategory Category { get; } + public virtual string TemplateId { get; } + public int Channel { get; } + public BasisPoint ApplyRate { get; } + public uint CommonVisualIdHash { get; } + public Vector2 HitPosition { get; set; } + public Vector2 BulletPosition { get; set; } + public Vector2 BulletDirection { get; set; } + public Entity BulletEntity { get; set; } + + [JsonIgnore] + public ResolvePriority ResolvePriority { get; } + public int Priority { get; } + + [JsonIgnore] + public int ResolveIndex { get; set; } + + [JsonIgnore] + public int DotIndex { get; set; } + public int ExtraCostUsed { get; } + public virtual bool IsDurationChangedByStat { get; } + public bool ForceFloaterHide { get; set; } + } + + public abstract class AbilityModifier + { + } + + public class CharacterGroupTargetSideMapping + { + private readonly Dictionary allyTable; + private readonly Dictionary enemyTable; + public GroupTag GroupTagForPlayerSideInObstacle { get; set; } + } + + public class PlayerGroup : CharacterGroup + { + private ManualSkillProcessor manualSkillProcessor; + public int EchelonNumber { get; set; } + public PlayerSkillCardManager PlayerSkillCardManager { get; set; } + public IList HexaBuffs { get; } + } + + public abstract class EffectArea : Entity, IEquatable, IEntityBody + { + private EventHandler Expired; + protected Vector2 forward; + protected Func positionFunc; + protected Func collisionShapeFunc; + private HashSet hitBattleEntities; + public Battle Battle { get; set; } + public BattleEntity Invoker { get; set; } + public EntityId InvokerId { get; } + public string SkillEntityName { get; } + public abstract Vector2 Position2D { get; set; } + public virtual Vector2 Forward { get; set; } + public bool IsExpired { get; } + public int Elapsed { get; set; } + public int Duration { get; } + public virtual SkillSpecification SkillSpecification { get; } + protected AreaEntityValue EntityValue { get; } + protected Nullable CollisionProperty { get; } + public bool RotateEntityDirectionEveryFrame { get; } + public bool ApplyOffsetRotateEntityDirection { get; } + protected IList HitFrames { get; } + public Body2D CollisionBody { get; set; } + protected Vector2 InitialPosition { get; set; } + public BattleEntity PositionSource { get; set; } + protected BattleEntity TargetSource { get; set; } + protected Vector2 TargetPosition { get; set; } + public virtual int ExtraCostUsed { get; } + protected HitCheckCoupling HitCheckCoupling { get; set; } + public bool IsDisable { get; set; } + public MovingAreaOptions MovingAreaOption { get; } + public bool Equals(EffectArea other) + { + return default; + } + + public Body2D GetBody2D() + { + return default; + } + + } + + [Serializable] + public struct EntityId : IComparable, IComparable, IEquatable + { + private const uint typeMask = 4278190080; + private const int instanceIdMask = 16777215; + private int uniqueId; + public static EntityId Invalid { get; } + + [JsonIgnore] + public BattleEntityType EntityType { get; } + + [JsonIgnore] + public int InstanceId { get; } + + [JsonIgnore] + public int UniqueId { get; } + + [JsonIgnore] + public bool IsValid { get; } + public int CompareTo(object obj) + { + return default; + } + + public int CompareTo(EntityId other) + { + return default; + } + + public bool Equals(EntityId other) + { + return default; + } + + } + + public class BattleItem : BattleEntity + { + private EventHandler Expired; + private EventHandler Activated; + private EventHandler Recognized; + private EventHandler Effected; + protected Battle battle; + protected bool isAlive; + protected int elapsed; + public SkillSpecification SkillSpecification { get; } + protected BattleItemEntityValue EntityValue { get; } + public string EntityName { get; } + public string ResourceName { get; } + protected Body2D bodyToRecognize { get; } + protected Body2D bodyToEffect { get; } + public Circle RecognizeCircle { get; } + public Circle EffectCircle { get; } + public float PositionHeight { get; set; } + public override GroupTag GroupTag { get; } + public HashSet HitTargets { get; } + public HashSet RecognizedTargets { get; } + public BattleEntity Creator { get; } + public bool IsExpired { get; set; } + public int IndexSummonedBy { get; } + public MovingAreaOptions MovingAreaOption { get; set; } + public int ExtraSkillCostUsed { get; } + protected BattleEntity SkillCommandSelectedTarget { get; set; } + protected Vector2 SkillCommandSelectedPosition { get; set; } + public override bool Alive { get; } + public override BehaviorType CurrentBehavior { get; set; } + public override ActionState CurrentActionState { get; } + public override HeroAction CurrentAction { get; set; } + public override bool HasCrowdControl { get; } + } + + public abstract class Projectile : Entity, IEquatable, IEntitySpawnable, IEntityBody + { + private EventHandler Collided; + private EventHandler Expired; + private IEntitySpawnable spawnable; + private IList primaryTargets; + public long ownerSkillRange; + protected Vector2 targetPosition; + protected MoveProjectileDelegate MoveProjectile; + private int moveByFrameElapsed; + public BattleEntity Invoker { get; } + public EntityId InvokerId { get; } + public virtual SkillSpecification SkillSpecification { get; } + public virtual int ExtraCostUsed { get; } + public string SkillEntityName { get; } + public Body2D Body { get; set; } + public Vector2 StartPos { get; set; } + public Vector2 Position2D { get; } + public Vector2 Direction { get; set; } + public Vector2 Velocity { get; } + protected bool IsHit { get; set; } + protected List HitOccurredFrame { get; set; } + public int Elapsed { get; set; } + public int FireDelay { get; } + public int SplashDelay { get; } + protected bool IsStickToTargetAfterHit { get; } + public float Speed { get; } + public long FrameToHit { get; } + protected ProjectileEntityValue EntityValue { get; } + protected AreaEntityValue SplashAreaEntity { get; } + protected bool HasSplash { get; } + protected HashSet HitHeroes { get; } + private TargetCandidateRule TargetCandidateRule { get; } + private TargetSortRule TargetSortRule { get; } + public virtual BattleEntity Executer { get; } + public bool Equals(Projectile other) + { + return default; + } + + public BattleEntity FindTarget(SkillEntityValue entityData) + { + return default; + } + + public IList FindTargets(SkillEntityValue entityData) + { + return default; + } + + public Vector2 FindSpawnPosition(Battle battle, SkillEntityValue entityData) + { + return default; + } + + public Vector2 FindSpawnDirection(Battle battle, SkillEntityValue entityData) + { + return default; + } + + public Vector2 GetInitialTargetPosition() + { + return default; + } + + public BattleEntity GetSkillCommandSelectedTarget() + { + return default; + } + + public Vector2 GetSkillCommandSelectedPosition() + { + return default; + } + + public Body2D GetBody2D() + { + return default; + } + + } + + public class Beam : Entity, IEquatable, IEntitySpawnable, IEntityBody + { + private EventHandler Collided; + private EventHandler Expired; + private IEntitySpawnable spawnable; + private IList primaryTargets; + private long ownerSkillRange; + private Vector2 startPosition; + private Vector2 targetPosition; + private float currentHeight; + private Battle battle; + public virtual BattleEntity Executer { get; } + public virtual SkillSpecification SkillSpecification { get; } + public string SkillEntityName { get; } + public Body2D Body { get; set; } + public Vector2 Position2D { get; } + public Vector2 Direction { get; set; } + public int Elapsed { get; set; } + public int ElapsedInCurrentPhase { get; set; } + protected BeamEntityValue EntityValue { get; } + protected HashSet HitHeroes { get; } + private TargetCandidateRule TargetCandidateRule { get; } + private TargetSortRule TargetSortRule { get; } + public Vector2 StartPosition { get; } + public BattleEntity StartPositionEntity { get; set; } + public Vector2 TargetPosition { get; } + public BattleEntity TargetPositionEntity { get; set; } + public BeamPhase CurrentPhase { get; set; } + public BattleEntity ChainBeamSpawner { get; set; } + public virtual int ExtraCostUsed { get; } + public bool Equals(Beam other) + { + return default; + } + + public BattleEntity FindTarget(SkillEntityValue entityData) + { + return default; + } + + public IList FindTargets(SkillEntityValue entityData) + { + return default; + } + + public Vector2 FindSpawnPosition(Battle battle, SkillEntityValue entityData) + { + return default; + } + + public Vector2 FindSpawnDirection(Battle battle, SkillEntityValue entityData) + { + return default; + } + + public Vector2 GetInitialTargetPosition() + { + return default; + } + + public BattleEntity GetSkillCommandSelectedTarget() + { + return default; + } + + public Vector2 GetSkillCommandSelectedPosition() + { + return default; + } + + public Body2D GetBody2D() + { + return default; + } + + } + + public class Aura : Entity, IEquatable, IEntityBody + { + private EventHandler Expired; + private EventHandler SpawnTargetDied; + private Battle battle; + private Vector2 initialPosition; + private Vector2 targetPosition; + private HashSet HitBattleEntityList; + public BattleEntity Invoker { get; set; } + public EntityId InvokerId { get; } + public SkillSpecification SkillSpecification { get; } + public string SkillEntityName { get; } + public Vector2 Position2D { get; } + public Vector2 Forward { get; } + public Body2D Body { get; set; } + public Body2D BodyExitCheck { get; set; } + public bool IsExpired { get; } + public bool IsSpawnTargetDead { get; set; } + public int Elapsed { get; set; } + public int Duration { get; } + private AuraEntityValue EntityValue { get; } + public bool RemoveEntityIfAttachSpawnTargetDie { get; } + public bool RotateEntityDirectionEveryFrame { get; } + public bool ApplyOffsetRotateEntityDirection { get; } + public bool AttachSpawnTarget { get; } + public BattleEntity PositionSource { get; set; } + public BattleEntity TargetSource { get; set; } + public int ExtraCostUsed { get; } + public MovingAreaOptions MovingAreaOption { get; } + public bool Equals(Aura other) + { + return default; + } + + public Body2D GetBody2D() + { + return default; + } + + } + + public class NormalAttackDeliverer : Entity, IEquatable + { + private EventHandler Hit; + private long elapsed; + private Vector2 startPosition; + public SkillSpecification SkillSpecification { get; } + public Vector2 HitPosition { get; set; } + public BattleEntity Invoker { get; set; } + public BattleEntity Target { get; set; } + public IObstacle Obstacle { get; set; } + public int DelayToHitTarget { get; set; } + private int DelayToObstacleBlockCheck { get; set; } + private NormalAttackBulletEntityValue BulletEntityData { get; } + public SkillApplyType SkillApplyType { get; } + public string SkillEntityName { get; } + public bool Equals(NormalAttackDeliverer other) + { + return default; + } + + } + + public abstract class SpawningEntity : Entity, IEntitySpawnable, IHitCheckCouplingProvider + { + private EventHandler Expired; + private Dictionary> couplingTable; + private BattleEntity skillCommandSelectedTarget; + private Vector2 skillCommandSelectedPosition; + public virtual SkillSpecification SkillSpecification { get; } + public virtual int ExtraCostUsed { get; } + public virtual BattleEntity Executer { get; } + protected int Elapsed { get; set; } + protected int Duration { get; } + protected bool IsExpired { get; } + public BattleEntity FindTarget(SkillEntityValue entityData) + { + return default; + } + + public IList FindTargets(SkillEntityValue entityData) + { + return default; + } + + public Vector2 FindSpawnPosition(Battle battle, SkillEntityValue entityData) + { + return default; + } + + public Vector2 FindSpawnDirection(Battle battle, SkillEntityValue entityData) + { + return default; + } + + public Vector2 GetInitialTargetPosition() + { + return default; + } + + public BattleEntity GetSkillCommandSelectedTarget() + { + return default; + } + + public Vector2 GetSkillCommandSelectedPosition() + { + return default; + } + + public HitCheckCoupling GetHitCheckCoupling(int frame, string couplingId) + { + return default; + } + + } + + [Serializable] + public class GroundObstacle : BattleEntity, IObstacle + { + private EventHandler Removed; + private EventHandler StateChanged; + private EventHandler GroundNodeChanged; + private EventHandler Activated; + private Dictionary playerPointsCharacterTable; + private Dictionary enemyPointsCharacterTable; + private int elapsed; + private IEnumerator currentStateChangeCoroutine; + private bool IsInvokerGroupTag1; + public GroundObstacleData Data { get; set; } + public virtual EntityMaterialType MaterialType { get; } + public virtual ObstacleHeightType ObstacleHeight { get; } + public virtual CoverMotionType CoverMotionType { get; } + public virtual ObstacleCoverType ObstacleCoverType { get; } + public Nullable StatExcel { get; set; } + public Circle InnerCircle { get; set; } + public OBB OBB { get; set; } + public bool IsCrashByTSS { get; set; } + public OBB TSSBlockedOBB { get; set; } + public bool IsIndestructible { get; set; } + public virtual bool IsDestroyed { get; set; } + public List PlayerPoints { get; set; } + public List EnemyPoints { get; set; } + public Battle Battle { get; set; } + public float PositionHeight { get; set; } + public MovingAreaOptions MovingAreaOption { get; set; } + public ObstacleState State { get; set; } + public ObstacleState RemoveType { get; set; } + public override bool Alive { get; } + public override GroupTag GroupTag { get; } + public ObstacleSaveData ObstacleSaveData { get; set; } + public virtual BattleEntityStatProcessor StatProcessor { get; } + public bool IsDummy { get; set; } + public int Duration { get; set; } + public virtual float LifeTimeRate { get; } + public virtual bool IsOccupied { get; } + public long CanNotStandRange { get; set; } + public IList OccupyingCharacters { get; } + public override BehaviorType CurrentBehavior { get; set; } + public override ActionState CurrentActionState { get; } + public override HeroAction CurrentAction { get; set; } + public override bool HasCrowdControl { get; } + public BattleEntity Summoner { get; set; } + public int IndexSummonedBy { get; set; } + public SkillSpecification SkillSpecificationWhenSummoned { get; set; } + public AreaSpawner InitialAreaSpawner { get; set; } + public virtual BattleEntity Entity { get; } + public bool IsObstacleOccupiedByCharacter(Character character) + { + return default; + } + + public bool IsOccupiedByPlayer(GroupTag groupTag) + { + return default; + } + + public bool IsOccupiedByEnemy(GroupTag groupTag) + { + return default; + } + + public bool IsLineIntersect(LineSegment line) + { + return default; + } + + public void DestroyObstacle() + { + } + + public void DispelByGroupId(string logicEffectGroupId, int count, StatusProcessor statusProcessor, Action> onDispel) + { + } + + public BattleEntity GetSummoner() + { + return default; + } + + } + + [Serializable] + public class BarrierObstacle : BattleEntity, IObstacle + { + private string obstacleId; + private EntityMaterialType materialType; + private EventHandler Removed; + public Battle Battle { get; set; } + public int Duration { get; set; } + private int CreatedFrame { get; set; } + private int Elapsed { get; set; } + public virtual float LifeTimeRate { get; } + public Character Character { get; set; } + public BattleEntity Summoner { get; set; } + public int IndexSummonedBy { get; set; } + public SkillSpecification SkillSpecificationWhenSummoned { get; set; } + public bool FixDirection { get; set; } + public Vector2 PositionOffset { get; } + public string[] LinkedLogicEffectGroupIds { get; set; } + public Nullable StatExcel { get; set; } + public virtual BattleEntityStatProcessor StatProcessor { get; } + private long ObstacleIdHash { get; set; } + public string ObstacleId { get; set; } + public virtual bool IsDestroyed { get; set; } + public override bool Alive { get; } + public override GroupTag GroupTag { get; } + public override BehaviorType CurrentBehavior { get; set; } + public override ActionState CurrentActionState { get; } + public override HeroAction CurrentAction { get; set; } + public virtual bool IsOccupied { get; } + public AreaSpawner InitialAreaSpawner { get; set; } + public virtual EntityMaterialType MaterialType { get; } + public virtual ObstacleHeightType ObstacleHeight { get; } + public virtual CoverMotionType CoverMotionType { get; } + public virtual ObstacleCoverType ObstacleCoverType { get; } + public virtual BattleEntity Entity { get; } + public override bool HasCrowdControl { get; } + public bool IsObstacleOccupiedByCharacter(Character character) + { + return default; + } + + public bool IsOccupiedByPlayer(GroupTag groupTag) + { + return default; + } + + public bool IsOccupiedByEnemy(GroupTag groupTag) + { + return default; + } + + public bool IsLineIntersect(LineSegment line) + { + return default; + } + + public void DestroyObstacle() + { + } + + public void DispelByGroupId(string logicEffectGroupId, int count, StatusProcessor statusProcessor, Action> onDispel) + { + } + + public BattleEntity GetSummoner() + { + return default; + } + + } + + public class Character : BattleEntity, IHeroSummarizable, ICharacter + { + private int lastTargetFindFrame; + private EventHandler ActionChangedVolatileCurrentAction; + private EventHandler ActionChanged; + private EventHandler ActionInterrupted; + private EventHandler StatusAdded; + private EventHandler StatusRemoved; + private EventHandler StatusResisted; + private EventHandler ImmuneAdded; + private EventHandler ImmuneRemoved; + private EventHandler Died; + private EventHandler Revived; + private EventHandler DyingStarted; + private EventHandler GroundNodeChanged; + private EventHandler PhaseChanged; + public EventHandler AmmoReloaded; + public EventHandler BulletCountChanged; + public EventHandler FormChanged; + public EventHandler InteractWithTSS; + public EventHandler CoverStateChanged; + public EventHandler SkillActionRegistered; + public EventHandler BarrierObstacleCoverChanged; + public readonly bool IsDefenseCharacter; + private ImmediateKillEffect reservedImmediateKillEffectFromTSADestruction; + private LogicEffect reservedDamageEffectFromTSADestruction; + public List, BattleEntity>>> TauntBattleEntityList; + private Dictionary ExtraSkillCostTable; + public MoveToWorldPositionCommand CurrentMoveToWorldPositionCommand; + private EventHandler DebuffAdded; + public Dictionary>>>> ExternalBTExcelsByArgumentByTriggerByPhaseTable; + private long currentActiveGauge; + private Dictionary SkillGroupToUseCountDictionary; + protected List> executedInstantNodeList; + protected Func HasFormationBeacon { get; set; } + protected Func CheckMoveToAttackPath { get; set; } + protected Func CheckFormationBeaconPath { get; set; } + protected bool IsSearchAndMoveActivated { get; set; } + public bool IsCurrentActionExSkill { get; } + public bool IsCurrentActionPublicSkill { get; } + public bool IsCurrentActionNormalAttack { get; } + private bool IsCurrentActionFinished { get; } + public long CurrentTargetSkillRange { get; } + public long CurrentTargetSkillRangeWithoutInitialRate { get; } + public bool IsCurrentTargetInRangeAndLineOfFireOk { get; } + protected static CharacterExcel InvalidCharacter { get; } + protected static CharacterAIExcel InvalidAI { get; } + public virtual long ServerId { get; set; } + public virtual long OwnerAccountId { get; set; } + public virtual long CharacterId { get; set; } + public virtual long CostumeId { get; } + public virtual long CharacterSkillListGroupId { get; set; } + public virtual long PersonalityId { get; set; } + public long AIPatternId { get; set; } + public virtual bool CheckCanUseAutoPublicSkill { get; } + public FormationLine Line { get; set; } + public int LineIndex { get; set; } + public bool IsAttacked { get; set; } + private bool canUseObstacleOfStandMotionDefault { get; } + private bool canUseObstacleOfKneelMotionDefault { get; } + public bool CanUseObstacleOfStandMotion { get; } + public bool CanUseObstacleOfKneelMotion { get; } + public virtual bool IsNPC { get; set; } + public bool IsAirUnit { get; set; } + public long AirUnitHeight { get; set; } + public virtual BulletType BulletType { get; } + public long RandomEffectRaidus { get; set; } + public EngageType EngageType { get; set; } + public EntityMaterialType MaterialType { get; set; } + public virtual School School { get; set; } + public PositioningSetting PositioningSetting { get; set; } + public long BulletCount { get; set; } + public virtual int FavorRank { get; set; } + public int FormCount { get; set; } + public HashSet TSAInteractionIds { get; set; } + public virtual Dictionary PotentialStatLevelDict { get; set; } + public MovingAreaOptions MovingAreaOption { get; set; } + public virtual BattleEntityStatProcessor StatProcessor { get; } + public SkillProcessor SkillProcessor { get; set; } + public PassiveSkillProcessor PassiveSkillProcessor { get; set; } + public StatusProcessor StatusProcessor { get; set; } + public int CrowdControlCount { get; } + public int CrowdControlDuration { get; } + public BehaviorTree BehaviorTree { get; set; } + public override bool Alive { get; } + protected Battle battleCache { get; set; } + public virtual Battle BattleCache { get; } + public virtual CharacterGroup CharacterGroup { get; set; } + public override GroupTag GroupTag { get; } + public CoverState CoverState { get; } + private IObstacle LinkedObstacle { get; set; } + public bool IsMobile { get; } + public bool IsRootMotionAllowed { get; } + public bool IsKnockbackable { get; } + public bool IsDefaultMobile { get; set; } + public bool CanSurvive { get; set; } + public bool CheckTSSBlocked { get; } + public GroundNodeType PassableNodeType { get; } + public bool CanAttackWhileMove { get; set; } + public bool IsJumpable { get; set; } + public bool IsOnJump { get; set; } + public bool IsOnMoveEndRootMotion { get; set; } + public bool IsWeaponMounted { get; set; } + public WeaponType WeaponType { get; set; } + public Dictionary, ValueTuple> BulletArmorFactorTable { get; set; } + public Dictionary>> BulletTypeOverrideTable { get; set; } + public Dictionary>> BulletArmorDamageFactorOverrideTable { get; set; } + public List TagList { get; } + public int JumpMotionFrame { get; set; } + public int MoveStartFrame { get; set; } + public int MoveEndFrame { get; set; } + public int DeadFrame { get; set; } + public int AppearFrame { get; set; } + public bool IsAppearFinished { get; set; } + public AppearSetting AppearSetting { get; set; } + public bool IsInteractionTSAFinished { get; set; } + public PathFinder PathFinder { get; set; } + public bool IsForceIdle { get; set; } + public ForceMoveCommandInfo CurrentForceMoveCommandInfo { get; set; } + public ForceHoldCommandInfo CurrentForceHoldCommandInfo { get; set; } + public SkillCommandInfo CurrentSkillCommandInfo { get; set; } + private TSAInteractionState CurrentTSAInteractionState { get; set; } + public bool IsInteractWithTSS { get; } + public bool IsInteractWithDyingTSA { get; } + public bool IsInteractWithAliveTSA { get; } + public bool IsPrivateWeapon { get; set; } + public virtual WeaponSetting WeaponSetting { get; set; } + public virtual GearSetting GearSetting { get; set; } + public virtual CostumeSetting CostumeSetting { get; set; } + public RootMotionFlat RootMotionFlat { get; set; } + public CharacterFormRootMotion[] FormRootMotions { get; set; } + public RootMotionFrame[] ExSkillRootMotions { get; set; } + public RootMotionFrame MoveLeftRootMotion { get; set; } + public RootMotionFrame MoveRightRootMotion { get; set; } + public bool IsRootMotionInLastMove { get; set; } + public bool IsAttackEnterSkipByLastSkill { get; set; } + public FormConversionInfo CurrentForm { get; set; } + public FormConversionInfo FormToConvert { get; set; } + public bool IsFormConversed { get; } + public int FormIndex { get; } + public virtual CharacterSkillListKey SkillListKey { get; } + public bool RequireReleaseFormConversion { get; } + public ShieldInfo CurrentShield { get; set; } + public TemporaryHpInfo CurrentTemporaryHp { get; set; } + public long TemporaryHpValue { get; } + public KnockbackInfo CurrentKnockbackInfo { get; set; } + public bool CanBattleItemMove { get; } + public bool CanNormalAttackTarget { get; } + public ActionLock ActionLock { get; set; } + protected IDictionary, HeroAction> ActionTable { get; set; } + public override HeroAction CurrentAction { get; set; } + public BehaviorType PrevBehavior { get; set; } + public override BehaviorType CurrentBehavior { get; set; } + public BehaviorType NextForcedBehavior { get; set; } + public ActionProgress CurrentActionProgress { get; } + public int CurrentActionElapsed { get; } + public int CurrentActionDuration { get; } + public int CurrentActionRemain { get; } + public bool IsReloading { get; } + public bool DyingEnabled { get; } + public override ActionState CurrentActionState { get; } + public HashSet StatusSet { get; } + public HeroStatus ForceActionStatus { get; } + public override bool HasCrowdControl { get; } + public IEnumerable> RuntimeStatus { get; } + public List> RuntimeEffects { get; } + protected EquipmentProcessor EquipmentProcessor { get; set; } + public virtual IList Equipments { get; } + public virtual HeroSummaryDetailFlag SummaryDetail { get; } + public SequentialSkillCardManager SkillCardManager { get; set; } + public long AIPhase { get; set; } + public long AIPhaseToChange { get; set; } + public long CurrentActiveGauge { get; set; } + private int CurrentNormalAttackCount { get; set; } + public void DispelByGroupId(string logicEffectGroupId, int count, StatusProcessor statusProcessor, Action> onDispel) + { + } + + public void AddStatus(StatusParams statusResult) + { + } + + public void RemoveStatus(HeroStatus status) + { + } + + public void RemoveStatus(HeroStatus status, string skillGroupId) + { + } + + public bool HasStatus(HeroStatus status) + { + return default; + } + + } + + public class OverrideStageTopographyEffect : LogicEffect + { + public EndCondition EndCondition { get; } + public string EndConditionArgumentFirst { get; } + public string EndConditionArgumentSecond { get; } + public StageTopography StageTopography { get; } + public override bool IsDurationChangedByStat { get; } + } + + public class LogicGameTime + { + public const int LogicFramePerSecond = 30; + public static readonly long TicksPerFrame; + public float UnitySecondPerFrame { get; } + public TimeSpan SecondPerFrame { get; } + public int FramePerSecond { get; } + public TimeSpan TotalGameTime { get; set; } + public int TotalSeconds { get; } + public float TotalGameTimeSecond { get; } + public int CurrentFrame { get; set; } + public bool Paused { get; set; } + public int TimeoutFrame { get; set; } + public bool Timeout { get; set; } + } + + public interface IPseudoRandomService : IRandomService + { + public abstract int Sequence { get; } + public abstract ulong Seed { get; } + public int Next() + { + return default; + } + + public int Next(int maxValue) + { + return default; + } + + public int Next(int minValue, int maxValue) + { + return default; + } + + public int NextIncludeMax(int minValue, int maxValue) + { + return default; + } + + public float NextFloat() + { + return default; + } + + public double NextDouble() + { + return default; + } + + public ulong NextULong() + { + return default; + } + + } + + public class BattleEntityIdProvider + { + private IDictionary lastInstanceIds; + } + + public sealed class LogicEffectProcessor + { + private EventHandler LifeGain; + private EventHandler LogicEffectHit; + private EventHandler DotApply; + private EventHandler LogicEffectImmune; + private EventHandler AttackProcessed; + private EventHandler DamageProcessed; + private bool debugProcessState; + private List logicEffects { get; } + private DataLogicEffectComparer priorityComparer { get; } + } + + public class BattleEventBroker + { + private BattleEventSnapshot currentSnapshot; + public BattleSetting Setting { get; set; } + public KeyedCollection BattleSnapshot { get; } + } + + public sealed class BattleSetting : IEquatable + { + public BattleTypes BattleType { get; set; } + public EchelonType EchelonType { get; set; } + public int RandomSeed { get; set; } + public int BattleDurationInFrame { get; set; } + public TeamSetting LeftTeam { get; set; } + public TeamSetting RightTeam { get; set; } + public long GroundUniqueId { get; set; } + public long StageId { get; set; } + public string StageNumber { get; set; } + public string StageName { get; set; } + public TacticEnvironment EnvironmentType { get; set; } + + [JsonIgnore] + public StageTopography StageTopography { get; set; } + + [JsonIgnore] + public string GroundSceneName { get; set; } + + [JsonIgnore] + public string GroundGridFileName { get; set; } + + [JsonIgnore] + public string GroundStageName { get; set; } + public bool IsDefeatBattle { get; set; } + + [JsonIgnore] + public bool HideBattleUIFromScratch { get; set; } + + [JsonIgnore] + public long TSSAirUnitHeight { get; set; } + + [JsonIgnore] + public long PlayerPositionGapRate { get; set; } + + [JsonIgnore] + public long EnemyPositionGapRate { get; set; } + public bool IsBoss { get; set; } + public List ClanAssistUseInfo { get; set; } + + [JsonIgnore] + public int RaidBossInitialPhase { get; } + public RaidSetting RaidSetting { get; set; } + public EventBattleSetting EventSetting { get; set; } + public TimeAttackSetting TimeAttackSetting { get; set; } + public long ConquestGroupBuffId { get; set; } + public ConquestEnemyType ConquestEnemyType { get; set; } + + [JsonIgnore] + public long EventContentId { get; set; } + + [JsonIgnore] + public long FixedEchelonId { get; set; } + public bool DisableRootMotion { get; set; } + + [JsonIgnore] + public Dictionary> BattleRewardItems { get; set; } + public bool Equals(BattleSetting other) + { + return default; + } + + } + + public abstract class CharacterGroup + { + private EventHandler SightChanged; + public List Supporters; + private bool[] sightGrids; + public List BlockedAreas; + private HashSet aiGroupIdOfAttackedCharacter; + private HashSet AttackedCharacter; + private List supportersToRemove; + private HashSet discoveredEnemies; + private int currentSectionId; + public GroupTag GroupTag { get; set; } + public long TeamId { get; set; } + public int MaxCharacterCount { get; } + public string SupportActionUniqueName { get; set; } + public bool IsExtension { get; set; } + public List ActiveCharacters { get; set; } + public List AliveCharacters { get; set; } + public bool HasSurvivor { get; set; } + public List CharactersInSight { get; } + public List CharactersInSightIncludeDead { get; } + public BattleEntity Leader { get; set; } + public Dictionary, GroundFormationBeacon> FormationBeacons { get; set; } + public StatCorrection StatCorrection { get; } + public bool CheckTSSInteractionServerId { get; set; } + public long TSSInteractionServerId { get; set; } + public long TSSInteractionUniqueId { get; set; } + public int HandCount { get; set; } + public bool IgnoreSkillCardShuffle { get; set; } + public Dictionary, SkillCardManager> SkillCardManagerTable { get; set; } + public bool[] SightGrids { get; set; } + public int MaxCharacterLevel { get; } + public Dictionary ConcentratedTargetTable { get; set; } + public bool HasNotMoveLogicEffectCharacter { get; } + public int GroupId { get; set; } + public SkillActor SkillActor { get; set; } + public Battle BattleCache { get; set; } + public List TemporaryCanUseSkillAreas { get; set; } + public bool SkipUntargetableTargetCheckInMove { get; set; } + public bool SightRangeMax { get; } + public long PositionGapRate { get; } + public SyncUseSkillManager SyncUseSkillManager { get; } + public Vector2 Center { get; } + public Vector2 Forward { get; } + } + + public class SupportActor : SkillActor, ICharacter + { + private EventHandler Expired; + public EventHandler InteractWithTSS; + public virtual long ServerId { get; } + public virtual long OwnerAccountId { get; } + public virtual long CharacterId { get; } + public virtual long CostumeId { get; } + public virtual long CharacterSkillListGroupId { get; } + public virtual long PersonalityId { get; } + public virtual School School { get; } + public WeaponType WeaponType { get; } + public virtual BulletType BulletType { get; } + public virtual int FavorRank { get; set; } + public virtual Dictionary PotentialStatLevelDict { get; set; } + public PassiveSkillProcessor PassiveSkillProcessor { get; } + public virtual BattleEntityStatProcessor StatProcessor { get; } + public override bool HasCrowdControl { get; } + public bool IsInteractWithTSS { get; set; } + public virtual CharacterGroup CharacterGroup { get; } + public bool IsPrivateWeapon { get; set; } + public virtual WeaponSetting WeaponSetting { get; set; } + public virtual GearSetting GearSetting { get; set; } + public virtual CostumeSetting CostumeSetting { get; set; } + public List TagList { get; } + public virtual bool IsNPC { get; } + public virtual bool CheckCanUseAutoPublicSkill { get; } + public override HeroSummaryDetailFlag SummaryDetail { get; } + public bool IsCurrentActionExSkill { get; } + private bool IsCurrentActionPublicSkill { get; } + protected EquipmentProcessor EquipmentProcessor { get; set; } + public virtual IList Equipments { get; } + public void DispelByGroupId(string logicEffectGroupId, int count, StatusProcessor statusProcessor, Action> onDispel) + { + } + + public void AddStatus(StatusParams statusResult) + { + } + + public void RemoveStatus(HeroStatus status) + { + } + + public void RemoveStatus(HeroStatus status, string skillGroupId) + { + } + + public bool HasStatus(HeroStatus status) + { + return default; + } + + } + + public class Ground + { + public GroundGrid Grid { get; set; } + public GroundStage Stage { get; set; } + public int GridNodeLength { get; } + } + + public class BattleCommandExecuter + { + private List commands { get; } + } + + public abstract class BattleCommandQueue + { + protected Queue Queue { get; } + } + + public class GroundEntitySpawner + { + private Battle battle; + } + + public class SpawnProcessor + { + private List spawnReserves; + private List supporterSpawnReserves; + } + + public class HeroSummary : IEquatable + { + [JsonIgnore] + private readonly BattleEntityType[] AllBattleEntity; + [JsonIgnore] + private BattleEntity entityCache; + [JsonIgnore] + private long stabilitySum; + [JsonIgnore] + private int stabilityCount; + [JsonIgnore] + private int attackHitCount; + [JsonIgnore] + private int attackTotalCount; + [JsonIgnore] + private long prevHitPoint; + [JsonIgnore] + private SupportActor supportCache; + public long ServerId { get; set; } + public long OwnerAccountId { get; set; } + public EntityId BattleEntityId { get; set; } + public long CharacterId { get; set; } + public long CostumeId { get; set; } + public int Grade { get; set; } + public int Level { get; set; } + public IDictionary PotentialStatLevel { get; set; } + public int ExSkillLevel { get; set; } + public int PublicSkillLevel { get; set; } + public int PassiveSkillLevel { get; set; } + public int ExtraPassiveSkillLevel { get; set; } + public int FavorRank { get; set; } + public StatSnapshotCollection StatSnapshotCollection { get; set; } + public long HPRateBefore { get; set; } + public long HPRateAfter { get; set; } + public int CrowdControlCount { get; set; } + public int CrowdControlDuration { get; set; } + public int EvadeCount { get; set; } + public int DamageImmuneCount { get; set; } + public int CrowdControlImmuneCount { get; set; } + public long MaxAttackPower { get; set; } + public int AverageCriticalRate { get; set; } + public int AverageStabilityRate { get; set; } + public int AverageAccuracyRate { get; set; } + public int DeadFrame { get; set; } + public long DamageGivenAbsorbedSum { get; set; } + public TacticEntityType TacticEntityType { get; set; } + + [JsonIgnore] + public HeroSummaryDetailFlag DetailFlag { get; } + + [JsonIgnore] + public bool IsDead { get; } + public List GivenNumericLogs { get; set; } + public List TakenNumericLogs { get; set; } + public List ObstacleBattleNumericLogs { get; set; } + public List Equipments { get; set; } + public Nullable CharacterWeapon { get; set; } + public Nullable CharacterGear { get; set; } + + [JsonIgnore] + public IDictionary HitPointByFrame { get; set; } + public IDictionary SkillCount { get; set; } + + [JsonIgnore] + public int ExSkillUseCount { get; } + public KillLogCollection KillLog { get; set; } + + [JsonIgnore] + public int KillCount { get; } + + [JsonIgnore] + public Dictionary FullSnapshot { get; set; } + public static IEqualityComparer HeroSummaryAlmostEqualityComparer { get; } + public bool Equals(HeroSummary other) + { + return default; + } + + } + + public class SkillCostSummary + { + public float InitialCost { get; set; } + public CostRegenSnapshotCollection CostPerFrameSnapshots { get; set; } + public List CostAddSnapshots { get; set; } + public List CostUseSnapshots { get; set; } + } + + public class FindGiftSummary + { + public string UniqueName { get; set; } + public int ClearCount { get; set; } + } + + [Serializable] + public class TBGHexaMapData + { + [JsonIgnore] + public Dictionary TileLocationMap; + public List Tiles { get; set; } + public List Spawns { get; set; } + } + + public class TBGHexaObjectDB + { + private TBGBoardSaveDB _saveDB; + private ITBGObjectInfo _objectInfoCache; + private ITBGEncounterInfo _encounterInfoCache; + private bool _activated; + private Nullable _hitPoint; + private Nullable _beforeStoryOption; + private bool _encounterCostAlreadyPaid; + private Nullable _isFakeTrasure; + private Dictionary _FixRewardUniqueIdByIndex; + + [JsonIgnore] + public bool IsDirty { get; set; } + + [JsonIgnore] + public ITBGObjectInfo ObjectInfo { get; } + + [JsonIgnore] + public ITBGEncounterInfo EncounterInfo { get; } + public long ServerId { get; set; } + public long UniqueId { get; set; } + public long EncounterId { get; set; } + public TBGThemaType MapType { get; set; } + public HexLocation Location { get; set; } + public bool Activated { get; set; } + public Nullable HitPoint { get; set; } + public Nullable BeforeStoryOption { get; set; } + public bool EncounterCostAlreadyPaid { get; set; } + public Nullable IsFakeTreasure { get; set; } + public Dictionary FixRewardUniqueIdByIndex { get; set; } + + [JsonIgnore] + public TBGObjectInteractionType InteractionType { get; } + + [JsonIgnore] + public bool CanSkipBeforeStory { get; } + + [JsonIgnore] + public bool IsPassable { get; } + + [JsonIgnore] + public bool IsBlockingPlayer { get; } + + [JsonIgnore] + public bool ShouldPayEncounterCost { get; } + + [JsonIgnore] + public bool IsInteractable { get; } + } + + public struct TBGProbModify + { + public TBGProbModifyCondition ProbModifyCondition { get; set; } + public int ProbModifyValue { get; set; } + public int ProbModifyLimit { get; set; } + } + + public interface ITBGItemEffectDB + { + public abstract ITBGItemInfo ItemInfo { get; } + public abstract int Stack { get; } + public abstract int RemainEncounterCounter { get; } + } + + public interface ITBGItemInfo + { + public abstract long UniqueId { get; } + public abstract TBGItemType ItemType { get; } + public abstract TBGItemEffectType ItemEffectType { get; } + public abstract int ItemParameter { get; } + public abstract int EncounterCount { get; } + public abstract string LocalizeEtcId { get; } + public abstract string Icon { get; } + public abstract string BuffIcon { get; } + public abstract string DiceEffectAniClip { get; } + public abstract bool BuffIconHUDVisible { get; } + } + + public class CurrencyValue : IEquatable + { + public static readonly IEnumerable DBCurrencyTypes; + public static readonly IEnumerable DBPropertyCurrencyTypes; + public static readonly IEnumerable DBTicketCurrencyTypes; + public static readonly IEnumerable ValidCurrencyTypes; + public static readonly IEnumerable WorldRaidTickets; + public static readonly IEnumerable BILogCurrencyTypes; + public Dictionary Values { get; set; } + public Dictionary Tickets { get; } + public Dictionary Property { get; } + public long Gold { get; } + public long Gem { get; } + public long GemBonus { get; } + public long GemPaid { get; } + public long ActionPoint { get; } + public long ArenaTicket { get; } + public long RaidTicket { get; } + public long WeekDungeonChaserATicket { get; } + public long WeekDungeonChaserBTicket { get; } + public long WeekDungeonChaserCTicket { get; } + public long WeekDungeonFindGiftTicket { get; } + public long WeekDungeonBloodTicket { get; } + public long AcademyTicket { get; } + public long SchoolDungeonATicket { get; } + public long SchoolDungeonBTicket { get; } + public long SchoolDungeonCTicket { get; } + public long TimeAttackDungeonTicket { get; } + public long MasterCoin { get; } + public long WorldRaidTicketA { get; } + public long WorldRaidTicketB { get; } + public long WorldRaidTicketC { get; } + public long ChaserTotalTicket { get; } + public long SchoolDungeonTotalTicket { get; } + public long EliminateTicketA { get; } + public long EliminateTicketB { get; } + public long EliminateTicketC { get; } + public long EliminateTicketD { get; } + public bool IsEmpty { get; } + public bool Equals(CurrencyValue other) + { + return default; + } + + } + + public enum ParcelChangeType + { + NoChange = 0, + Terminated = 1, + MailSend = 2, + Converted = 3, + } + + public abstract class BattleEntity : Entity, IEquatable + { + private EventHandler Damaged; + private EventHandler PassiveTriggered; + public HashSet UntargetableExceptionSkillTypes; + private HashSet ImmuneDamageBySkillTypes; + protected DamageTransferEffectInfo CurrentDamageTransferEffect; + protected HealConvertDamageEffectInfo CurrentHealConvertDamageEffect; + private int costRegenBanEffectCount; + public virtual TacticEntityType TacticEntityType { get; set; } + public TacticRange TacticRange { get; set; } + public SquadType SquadType { get; set; } + public bool HasMainTarget { get; } + public bool HasTarget { get; } + public virtual EntityTargetContainer TargetContainer { get; } + public EntityTargetFinder EntityTargetFinder { get; } + public abstract bool Alive { get; } + public abstract GroupTag GroupTag { get; } + public string Name { get; set; } + public Body2D Body { get; set; } + public virtual Vector2 Position2D { get; } + public virtual Vector2 Direction { get; set; } + public int AIGroupId { get; set; } + public float BodyRadius { get; } + public virtual Vector3 PositionVisual { get; } + public virtual GroundNode NearestGroundNode { get; set; } + public abstract BehaviorType CurrentBehavior { get; set; } + public abstract ActionState CurrentActionState { get; } + public abstract HeroAction CurrentAction { get; set; } + public virtual int Level { get; } + public virtual int Grade { get; } + public virtual long HitPoint { get; set; } + public virtual long HitPointBefore { get; set; } + public virtual long MaxHPCapGauge { get; set; } + public virtual long MaxGaugeCapInHP { get; } + public virtual long SummonedTime { get; set; } + public virtual long MaxHitPoint { get; } + public virtual BasisPoint HitPointRate { get; } + public virtual long LostHitPoint { get; } + public virtual ArmorType ArmorType { get; set; } + public virtual long BattlePower { get; } + protected BattleEntityStatProcessor statProcessor { get; set; } + public virtual BattleEntityStat DefaultStat { get; } + public virtual BattleEntityStat CurrentStat { get; } + public virtual BattleEntityStat InitialStat { get; } + public StackDamageProcessor StackDamageProcessor { get; } + public AccumulateEffectProcessor AccumulateEffectProcessor { get; } + public GaugeEffectProcessor GaugeEffectProcessor { get; } + private List UntargetableExceptionLogicEffects { get; set; } + public abstract bool HasCrowdControl { get; } + public bool IsCostRegenBan { get; } + protected ImmuneProcessor ImmuneProcessor { get; set; } + public virtual IEnumerable> RuntimeImmunes { get; } + public virtual DotProcessor DotProcessor { get; set; } + public virtual List> RuntimeDotAbilities { get; } + public bool Equals(BattleEntity other) + { + return default; + } + + } + + public class SkillSpecification + { + public string SkillGroupId { get; } + public int SkillLevel { get; } + public string SkillDataKey { get; } + public string VisualDataKey { get; } + public SkillSlot SkillSlot { get; } + public SkillType SkillType { get; set; } + } + + public struct Hash64 : IEquatable + { + public static readonly Hash64 Empty; + public ulong Hash; + public bool Equals(Hash64 other) + { + return default; + } + + } + + public class DotAbility : IDispellable + { + public readonly IList LogicEffectValues; + private HashSet LogicEffectTemplateHashes; + private IList abilityModifiers; + public IList AdditionalTicks; + private long ApplyPeriodRate; + private long PeriodMaxRate; + private long PeriodMinRate; + private bool useFixedStabilityRate; + private BasisPoint fixedStabilityRate; + public virtual string TemplateId { get; } + public virtual Hash64 TemplateIdHash { get; } + public virtual string LogicEffectGroupId { get; } + public virtual LogicEffectCategory Category { get; } + public SkillSpecification SkillSpecification { get; } + public LogicEffectHitSpecification LogicEffectHitSpecification { get; } + private long damageDistributeRate { get; } + private int StartDelay { get; } + public int Interval { get; set; } + private int TotalCount { get; } + public int Channel { get; } + private IList DamageModifiers { get; } + private bool IsAdditionalTick { get; } + private long AdditionalTickDamageRate { get; } + public EndCondition EndCondition { get; } + public int EndConditionArgument { get; } + private int CurrentCount { get; set; } + public LogicEffect LogicEffectToDispel { get; } + public bool IsDispellable { get; } + public Func ExpirationCheck { get; set; } + public Entity ExpirationCheckOwner { get; set; } + public int StackSameEffectCount { get; } + public bool ExpireOldIfStackCountOver { get; } + } + + public enum SkillType + { + None = 0, + Ex = 1, + Passive = 2, + Leader = 3, + Normal = 4, + ExtraPassive = 5, + Public = 6, + GroupBuff = 8, + HexaBuff = 9, + EventBuff = 10, + TimeAttackGeasPassive = 11, + HiddenPassive = 12, + } + + public abstract class SkillCard : IDisposable + { + private EventHandler StateChanged; + private static int SkillUniqueIndex; + public int SkillCardUniqueId; + public int Cost; + public int ExtraCost; + public int EnemyCost; + public int ExtraEnemyCost; + public int NPCCost; + public int ExtraNPCCost; + public abstract BattleEntity OwnerEntity { get; } + public abstract long OwnerCostumeId { get; } + public SkillDataPack SkillData { get; } + public string SkillGroupId { get; } + public CharacterSkillListKey SkillListKey { get; set; } + public int SkillLevel { get; } + public int ActiveGauge { get; } + public SkillSlot SkillSlot { get; } + public int CoolTime { get; set; } + public int RemainCoolTime { get; set; } + public abstract TargetCandidateRule CandidateRule { get; } + public abstract TargetSortRule SortRule { get; } + public SkillCardState State { get; set; } + public int HandIndex { get; set; } + public Vector3 InputPosition { get; set; } + public Vector3 GuidePosition { get; set; } + public Vector3 GuideDirection { get; set; } + public IList SelectTargets { get; set; } + public bool AutoTargeting { get; set; } + public bool IsAutoUse { get; set; } + public abstract EntityId OwnerEntityId { get; } + public abstract long CharacterId { get; } + public int OriginalCost { get; } + public int CostUsed { get; set; } + public bool IsNPCCard { get; set; } + public int SkillRemainCount { get; set; } + public void Dispose() + { + } + + } + + public abstract class Shape + { + public abstract ShapeType ShapeType { get; } + public abstract Vector2 Center { get; set; } + public abstract ValueTuple Size { get; } + public virtual Vector2 Forward { get; set; } + public virtual Vector2 Right { get; set; } + } + + public interface ICustomParticleEvent + { + } + + public interface IDispellable + { + public abstract string TemplateId { get; } + public abstract string LogicEffectGroupId { get; } + public abstract LogicEffectCategory Category { get; } + //public virtual Hash64 TemplateIdHash { get; } + } + + public enum ResolvePriority + { + Dispel = 0, + StatChange = 1, + LifeGain = 2, + StatusRemove = 3, + Normal = 4, + CrowdControlStatusAdd = 5, + StatusAdd = 6, + Damage = 7, + } + + public class LogicEffectHitSpecification + { + public string SkillEntityName; + public LogicEffectValue LogicEffectValue; + public BattleEntity Invoker; + public BattleEntity Target; + public BattleEntity OriginalTarget; + public Vector2 HitPosition; + public Vector2 BulletPosition; + public Vector2 BulletDirection; + public Entity BulletEntity; + public int ExtraCostUsed; + } + + public abstract class Entity + { + public List ConditionIdList; + public List CommandIdList; + public virtual EntityId EntityId { get; set; } + public bool Active { get; set; } + } + + public class ManualSkillProcessor + { + private BattleEntity Executer { get; } + private List groupBuffs { get; } + private List hexaBuffs { get; } + private List eventBuffs { get; } + } + + public class PlayerSkillCardManager : CostSkillCardManager + { + private EventHandler SkillCardStateChanged; + private int blockAutoUseTemporarilyCount; + public override SkillPriorityCheckTarget FeverTarget { get; } + public HandSlot[] Hand { get; set; } + public HandSlot TSSSlot { get; set; } + public SkillCard TSSSkillCard { get; set; } + public bool IsAutoUseSettingTrue { get; set; } + public bool IsAutoUse { get; } + public int AutoUseIndex { get; set; } + public bool IsBulletTime { get; set; } + public int LastSkillUseIndex { get; set; } + public bool IsAutoUseSummonTSS { get; set; } + protected Queue TopSkillCards { get; set; } + public PlayerGroup PlayerGroup { get; set; } + public override float CurrentFrameUsableCost { get; } + } + + public interface IEntityBody + { + } + + public abstract class AreaEntityValue : SkillEntityValue, ICancelableBySkill + { + public bool AttachEntity { get; } + public bool AllowDuplicateHit { get; } + public int Duration { get; } + public bool RotateEntityDirectionEveryFrame { get; } + public bool ApplyOffsetRotateEntityDirection { get; } + public IList HitFrames { get; } + public bool RemoveEntityIfSkillCancel { get; } + public Nullable CollisionProperty { get; } + public bool CheckBlockHit { get; } + public IList AreaAbilities { get; } + public string HitCheckCouplingKey { get; } + public MovingAreaOptions MovingAreaOption { get; } + public bool IsRemoveEntityIfSkillCancel() + { + return default; + } + + } + + [Serializable] + public struct AreaCollisionProperty : IEquatable, IMemoryPackable, IMemoryPackFormatterRegister + { + public static readonly AreaCollisionProperty Empty; + public AreaTransformTypes TransformType; + public int TransformCount; + public bool Equals(AreaCollisionProperty other) + { + return default; + } + + } + + public class Body2D + { + private DirectionRotator dirRotator; + private Vector2 acceleration; + private Vector2 velocity; + public Func getCurrentFrameFunc; + private int lastPreviousBondingCircleUpdateFrame; + private Vector2 lastWarpByPlatformPosition; + private int lastWarpByPlatformFrame; + public float BodyRadius { get; } + public Vector2 Forward { get; set; } + public Vector2 Right { get; } + public Vector2 Position2D { get; set; } + public Vector2 Velocity { get; set; } + public int CurrentFrame { get; } + public float CurrentSpeed { get; set; } + public float MaxSpeed { get; set; } + public float MaxAngularVelocity { get; set; } + private float mass { get; } + private float inverseMass { get; } + public Shape Collision { get; set; } + public Vector2 CollisionPositionOffset { get; set; } + private float collisionAngleDistance { get; } + private bool IsContinousMoving { get; } + private Circle PreviousBoundingCircle { get; } + private Circle CurrentBoundingCircle { get; } + } + + public class HitCheckCoupling + { + private Dictionary> hitEntityTable; + } + + public enum MovingAreaOptions + { + None = 0, + FixedAim = 1, + CheckSpawnPositionOutOfMovingArea = 2, + } + + public enum BattleEntityType + { + None = 0, + Character = 16777216, + SkillActor = 33554432, + Obstacle = 67108864, + Point = 134217728, + Projectile = 268435456, + EffectArea = 536870912, + Supporter = 1073741824, + BattleItem = -2147483648, + } + + public class BattleItemEntityValue : SummonEntityValue + { + public float RecognitionRadius { get; } + public float EffectRadius { get; } + public int TargetCount { get; } + public int ActiveDelayInFrame { get; } + public IList LogicEffectValues { get; } + public IList Abilities { get; } + public Dictionary> OrderToAbilityTable { get; } + public AreaSpawnerValue InEffectRadusAreaSpawnerEntityValue { get; } + public SkillEntitySpawnerValue InEffectRadiusSkillEntitySpawnerEntityValue { get; } + } + + public class Circle : Shape, IEquatable + { + public static Circle Empty { get; } + public static Circle Default { get; } + + [JsonIgnore] + public override ShapeType ShapeType { get; } + + [JsonIgnore] + public override ValueTuple Size { get; } + public override Vector2 Center { get; set; } + public float Radius { get; set; } + public bool Equals(Circle other) + { + return default; + } + + } + + public enum BehaviorType + { + None = 0, + NormalAttack01 = 1, + NormalAttack02 = 2, + NormalAttack03 = 3, + NormalAttack04 = 4, + NormalAttack05 = 5, + NormalAttack06 = 6, + NormalAttack07 = 7, + NormalAttack08 = 8, + NormalAttack09 = 9, + NormalAttack10 = 10, + UseExSkill01 = 11, + UseExSkill02 = 12, + UseExSkill03 = 13, + UseExSkill04 = 14, + UseExSkill05 = 15, + UseExSkill06 = 16, + UseExSkill07 = 17, + UseExSkill08 = 18, + UseExSkill09 = 19, + UseExSkill10 = 20, + UsePublicSkill01 = 21, + UsePublicSkill02 = 22, + UsePublicSkill03 = 23, + UsePublicSkill04 = 24, + UsePublicSkill05 = 25, + UsePublicSkill06 = 26, + UsePublicSkill07 = 27, + UsePublicSkill08 = 28, + UsePublicSkill09 = 29, + UsePublicSkill10 = 30, + Dead = 50, + Dying = 51, + Retreat = 52, + EnterGround = 53, + TSSInteract = 54, + Idle = 55, + Stunned = 100, + Hit = 101, + Knockback = 102, + Panic = 103, + Paralysis = 104, + Emp = 105, + Purify = 106, + Groggy = 107, + GroggyDead = 108, + Frozen = 109, + Move = 200, + MoveToFormationBeacon = 201, + MoveLeft = 202, + MoveRight = 203, + MoveAttack = 204, + ReleaseFormConversion = 205, + Walk = 300, + Stop = 301, + Seek = 302, + Flee = 303, + Evade = 304, + Wander = 305, + SeekPosition = 306, + Feared = 307, + Airborn = 308, + Charmed = 309, + Pulling = 310, + Stasis = 311, + Following = 312, + MetamorphNormalAttack01 = 313, + } + + public enum ActionState + { + Default = 0, + Phase01 = 1, + Phase02 = 2, + Phase03 = 3, + Phase04 = 4, + Phase05 = 5, + Phase06 = 6, + Phase07 = 7, + Phase08 = 8, + Phase09 = 9, + None = 10, + } + + public abstract class HeroAction : IEquatable + { + private EventHandler Started; + private EventHandler Finished; + private EventHandler Interrupted; + private EventHandler ActionStateChanged; + private int elapsed; + private int duration; + private ActionState actionState; + public BehaviorType BehaviorType { get; } + public BattleEntity Executer { get; } + protected EntityId ExecuterId { get; } + public bool IsLocking { get; set; } + public int Elapsed { get; set; } + public int Duration { get; set; } + public ActionState ActionState { get; set; } + public virtual ActionProgress ActionProgress { get; } + public bool Equals(HeroAction other) + { + return default; + } + + } + + public interface IEntitySpawnable + { + public abstract SkillSpecification SkillSpecification { get; } + public abstract int ExtraCostUsed { get; } + public abstract BattleEntity Executer { get; } + } + + public class ProjectileEventArgs : EventArgs + { + public EntityId ProjectileId { get; } + public Vector2 CollidedPosition { get; } + public EntityId TargetId { get; } + public EntityId ObstacleId { get; } + } + + public sealed class MoveProjectileDelegate + { + } + + public abstract class ProjectileEntityValue : SkillEntityValue + { + public SpawnPositionTypes DestinationType { get; } + public Vector2 DestinationWorldPosition { get; } + public Vector2 DestinationPositionOffset { get; } + public int DestinationPositionRandomOffsetRange { get; } + public SpawnDirectionTypes DestinationOffsetDirectionType { get; } + public ProjectileTypes ProjectileType { get; } + public ShapeType ShapeType { get; } + public float Width { get; } + public float Height { get; } + public int FireDelayFrame { get; } + public float Speed { get; } + public long FrameToHit { get; } + public bool IsStickToTargetAfterHit { get; } + public IList Abilities { get; } + public int SplashDelay { get; } + public AreaEntityValue SplashEntityData { get; } + public AreaSpawnerValue SplashSpawner { get; } + public SkillEntitySpawnerValue SkillEntitySpawner { get; } + } + + [Serializable] + public struct TargetCandidateRule : IEquatable + { + public static readonly TargetCandidateRule Invalid; + public bool IsValid { get; } + public TargetingType TargetingType { get; } + public TargetEntityType ApplyEntityType { get; } + public int MaxCount { get; } + public TargetSideId TargetSide { get; } + public AliveState AliveState { get; } + public SchoolConstraint SchoolConstraint { get; } + public WeaponConstraint WeaponConstraint { get; } + public SquadTypeConstraint SquadTypeConstraint { get; } + public AdaptationConstraint AdaptationConstraint { get; } + public BulletConstraint BulletConstraint { get; } + public TacticRangeConstraint TacticRangeConstraint { get; } + public TagConstraint TagConstraint { get; } + public HPRateConstraint HPRateConstraint { get; } + public TacticRoleConstraint TacticRoleConstraint { get; } + public CoverState CoverState { get; } + public bool NeedSearchTarget { get; } + public bool Equals(TargetCandidateRule other) + { + return default; + } + + } + + [Serializable] + public struct TargetSortRule : IEquatable, IMemoryPackable, IMemoryPackFormatterRegister + { + public static readonly TargetSortRule Empty; + public TargetSortCriteria SortCriteria; + public StatType SortStat; + public string SortParameter; + public TargetSortOrder OrderBy; + [JsonIgnore] + public List SortParameterHashes; + + [JsonIgnore] + public bool IsValid { get; } + + [JsonIgnore] + public bool RandomTargetSelect { get; } + public bool Equals(TargetSortRule other) + { + return default; + } + + } + + public abstract class SkillEntityValue + { + public string EntityName { get; } + public long SpawnRate { get; } + public long SpawnDelay { get; } + public string LogicName { get; } + public SkillApplyType ApplyType { get; } + public TransformDecideTiming DecideTiming { get; } + public bool EntitySpawnIncludeOutOfRangeInputTarget { get; } + public SpawnPositionTypes SpawnPositionType { get; } + public Vector2 SpawnWorldPosition { get; } + public Vector2 PositionOffset { get; } + public int PositionRandomOffsetRange { get; } + public SpawnDirectionTypes OffsetDirectionType { get; } + public SpawnDirectionTypes SpawnDirectionType { get; } + public TargetSortRule TargetSortRule { get; } + public TargetCandidateRule TargetCandidateRule { get; } + public bool UsePrimaryTargetingRule { get; } + public long DamageDistributeRate { get; set; } + public bool CheckSpawnPositionMovable { get; set; } + } + + public class BeamEntityValue : SkillEntityValue + { + public bool RemoveEntityIfSkillCancel; + public SpawnPositionTypes DestinationType { get; } + public Vector2 DestinationWorldPosition { get; } + public Vector2 DestinationPositionOffset { get; } + public int DestinationPositionRandomOffsetRange { get; } + public SpawnDirectionTypes DestinationOffsetDirectionType { get; } + public float ObbWidth { get; } + public long ExpansionDuration { get; } + public long KeepingDuration { get; } + public long ExtinctionDuration { get; } + public long ExtinctionHeadRate { get; } + public long ExtinctionTailRate { get; } + public bool Piercing { get; } + public bool FollowSpawnEntity { get; } + public bool FollowTargetEntity { get; } + public bool ApplyAbilityOnlyTarget { get; } + public int ApplyAbilityToHitTargetMaxCount { get; } + public List IntervalAbilities { get; } + public List TimelineAbilities { get; } + public List Splashes { get; } + public List ChainBeams { get; } + } + + public enum BeamPhase + { + Expansion = 0, + Keeping = 1, + Extinction = 2, + } + + public abstract class AuraEntityValue : SkillEntityValue, ICancelableBySkill + { + public bool RemoveEntityIfAttachSpawnTargetDie; + public bool AttachSpawnTarget { get; } + public bool RotateEntityDirectionEveryFrame { get; } + public bool ApplyOffsetRotateEntityDirection { get; } + public int Duration { get; } + public int Interval { get; } + public SameAuraCheckCondition RemoveEntityIfSameEntitySpawn { get; } + public bool RemoveEntityIfSkillCancel { get; } + public MovingAreaOptions MovingAreaOption { get; } + public IList AreaAbilities { get; } + public bool IsRemoveEntityIfSkillCancel() + { + return default; + } + + } + + public class NormalAttackDelivererEventArgs : EventArgs + { + public string EntityName { get; } + public Vector2 CollidedPosition { get; set; } + public BattleEntity Target { get; set; } + public BattleEntity OriginalTargetWhenHitObstacle { get; set; } + } + + public interface IObstacle + { + public abstract bool IsDestroyed { get; set; } + public abstract ObstacleCoverType ObstacleCoverType { get; } + public abstract EntityMaterialType MaterialType { get; } + public abstract ObstacleHeightType ObstacleHeight { get; } + public abstract CoverMotionType CoverMotionType { get; } + public abstract BattleEntityStatProcessor StatProcessor { get; } + public abstract BattleEntity Entity { get; } + public abstract bool IsOccupied { get; } + public abstract bool Alive { get; } + public abstract BasisPoint HitPointRate { get; } + public abstract long HitPoint { get; } + public abstract long MaxHitPoint { get; } + public abstract float LifeTimeRate { get; } + } + + public class NormalAttackBulletEntityValue : TargetSkillEntityValue + { + public long Speed { get; } + } + + public enum SkillApplyType + { + None = 0, + Direct = 2, + Hitscan = 4, + AlwaysBlocked = 5, + } + + public interface IHitCheckCouplingProvider + { + } + + public class ObstaclePoint : IEquatable + { + public GroundNode GroundNode; + public Vector2 Position2D; + public float PositionHeight; + public Vector3 PositionVisual { get; } + public bool Equals(ObstaclePoint other) + { + return default; + } + + } + + [Serializable] + public class GroundObstacleData : IEquatable, IMemoryPackable, IMemoryPackFormatterRegister + { + public Vector2 Scale; + public Vector2 Offset; + public Vector2 Size; + public float PreDuration; + public float DestroyDuration; + public float RetreatDuration; + public float RemainTime; + public bool JumpAble; + public bool Indestructible; + public bool CrashByTSS; + public ObstacleHeightType ObstacleHeightType; + public ObstacleDestroyType DestroyType; + public ObstacleDestroyType RetreatType; + public ArmorType ArmorType; + public ObstacleCoverType ObstacleCoverType; + public CoverMotionType CoverMotionType; + public EntityMaterialType MaterialType; + public string UniqueName; + public uint NameHash; + public Vector2 Direction; + public List EnemyPoints; + public List PlayerPoints; + public bool Equals(GroundObstacleData other) + { + return default; + } + + } + + public struct ObstacleStatExcel + { + private Table __p; + public ByteBuffer ByteBuffer { get; } + public uint StringID { get; } + public string Name { get; } + public long MaxHP1 { get; } + public long MaxHP100 { get; } + public long BlockRate { get; } + public long Dodge { get; } + public long CanNotStandRange { get; } + public float HighlightFloaterHeight { get; } + public long EnhanceLightArmorRate { get; } + public long EnhanceHeavyArmorRate { get; } + public long EnhanceUnarmedRate { get; } + public long EnhanceElasticArmorRate { get; } + public long EnhanceStructureRate { get; } + public long EnhanceNormalArmorRate { get; } + public long ReduceExDamagedRate { get; } + } + + public class OBB : Shape, IEquatable + { + private Vector2 center; + private float rightAngleInRadian; + private Vector2[] axis; + public static OBB Empty { get; } + + [JsonIgnore] + public override ShapeType ShapeType { get; } + + [JsonIgnore] + public override ValueTuple Size { get; } + public override Vector2 Center { get; set; } + public float Width { get; } + public float Height { get; } + private float CircumcircleRadius { get; set; } + + [JsonIgnore] + private Vector2 HalfWidths { get; } + + [JsonIgnore] + private float RightAngle { get; } + + [JsonIgnore] + public override Vector2 Forward { get; set; } + + [JsonIgnore] + public override Vector2 Right { get; set; } + public Circle CircumCircle { get; set; } + + [JsonIgnore] + public Vector2 TopLeft { get; } + + [JsonIgnore] + public Vector2 TopRight { get; } + + [JsonIgnore] + public Vector2 BottomLeft { get; } + + [JsonIgnore] + public Vector2 BottomRight { get; } + public bool Equals(OBB other) + { + return default; + } + + } + + public enum ObstacleState + { + Pre = 0, + Idle = 1, + Destroy = 2, + Retreat = 3, + Remain = 4, + Remove = 5, + } + + public class ObstacleSaveData + { + public string UniqueName; + public Vector3 Position; + public Vector3 Forward; + public List ActiveEnemyPointIndices; + public List ActivePlayerPointIndices; + public List ConditionIdList; + public List CommandIdList; + public List SubObstacles; + public bool IsDummy; + } + + public class BattleEntityStatProcessor + { + private Dictionary> defaultStatChangeEffects; + private Dictionary> effectsTable; + private BattleEntity owner; + private HashSet runtimeDirtyStats; + private HashSet addedStats; + private long lastMaxHP; + private List lastMaxHPEffectList; + public long BattlePower { get; set; } + public BattleEntityStat DefaultStat { get; set; } + public BattleEntityStat InitialStat { get; set; } + public BattleEntityStat CurrentStat { get; set; } + public List> RuntimeEffects { get; } + } + + public class AreaSpawner : SpawningEntity + { + private bool isDirectionSet; + private Nullable Direction; + private IList primaryTargets; + private Vector2 position; + private Vector2 randomPosition; + private long ownerSkillRange; + private Dictionary skillEntityPositionTable; + private Dictionary skillEntityDirectionTable; + private AreaSpawnerValue spawnerValue { get; } + private List> EntityTimeline { get; } + private Dictionary> skillEntityTargetTable { get; set; } + } + + public class LineSegment : Shape, IEquatable + { + public static LineSegment Invalid { get; } + + [JsonIgnore] + public override ShapeType ShapeType { get; } + + [JsonIgnore] + public override ValueTuple Size { get; } + public Vector2 Origin { get; set; } + public Vector2 Dest { get; set; } + + [JsonIgnore] + public Vector2 ToDest { get; } + public override Vector2 Forward { get; set; } + public override Vector2 Right { get; set; } + + [JsonIgnore] + public override Vector2 Center { get; set; } + + [JsonIgnore] + public float Length { get; } + + [JsonIgnore] + public float LengthSquared { get; } + public bool Equals(LineSegment other) + { + return default; + } + + } + + public class StatusProcessor + { + public IEnumerable> RuntimeStatus { get; } + private List> runningStatusList { get; } + public int CrowdControlCount { get; set; } + public int CrowdControlDuration { get; set; } + public bool HasCrowdControl { get; } + public HeroStatus ForceActionStatus { get; } + public HashSet StatusSet { get; } + private List permanentStatusList { get; } + private List addedStatus { get; } + private List markRemoveList { get; } + private List expiredList { get; } + private Character owner { get; } + private StatusComparer comparer { get; } + private Dictionary statusExecutionTable { get; } + } + + public interface IHeroSummarizable + { + public abstract HeroSummaryDetailFlag SummaryDetail { get; } + } + + public interface ICharacter + { + public abstract long ServerId { get; } + public abstract long OwnerAccountId { get; } + public abstract long CharacterId { get; } + public abstract long CostumeId { get; } + public abstract long CharacterSkillListGroupId { get; } + public abstract long PersonalityId { get; } + public abstract bool IsNPC { get; } + public abstract TacticEntityType TacticEntityType { get; } + public abstract BulletType BulletType { get; } + public abstract School School { get; } + public abstract int FavorRank { get; set; } + public abstract Battle BattleCache { get; } + public abstract CharacterGroup CharacterGroup { get; } + public abstract BattleEntityStatProcessor StatProcessor { get; } + public abstract DotProcessor DotProcessor { get; } + public abstract IList Equipments { get; } + public abstract WeaponSetting WeaponSetting { get; } + public abstract GearSetting GearSetting { get; } + public abstract CostumeSetting CostumeSetting { get; } + public abstract bool CheckCanUseAutoPublicSkill { get; } + public abstract Dictionary PotentialStatLevelDict { get; set; } + public abstract EntityId EntityId { get; } + public abstract EntityTargetContainer TargetContainer { get; } + public abstract Vector2 Position2D { get; } + public abstract Vector2 Direction { get; set; } + public abstract Vector3 PositionVisual { get; } + public abstract GroundNode NearestGroundNode { get; } + public abstract BehaviorType CurrentBehavior { get; set; } + public abstract ActionState CurrentActionState { get; } + public abstract HeroAction CurrentAction { get; } + public abstract int Level { get; } + public abstract int Grade { get; } + public abstract long HitPoint { get; } + public abstract long HitPointBefore { get; } + public abstract long MaxHPCapGauge { get; set; } + public abstract long MaxGaugeCapInHP { get; } + public abstract long SummonedTime { get; } + public abstract long MaxHitPoint { get; } + public abstract BasisPoint HitPointRate { get; } + public abstract long LostHitPoint { get; } + public abstract ArmorType ArmorType { get; } + public abstract long BattlePower { get; } + public abstract BattleEntityStat DefaultStat { get; } + public abstract BattleEntityStat CurrentStat { get; } + public abstract BattleEntityStat InitialStat { get; } + public abstract IEnumerable> RuntimeImmunes { get; } + public abstract List> RuntimeDotAbilities { get; } + } + + public class ActionChangedEventArgs : EventArgs + { + public EntityId EntityId { get; } + public BehaviorType Behavior { get; } + public ActionState ActionState { get; } + public bool IsActionStartedEvent { get; } + } + + public class StatusAddedEventArgs : EventArgs + { + public EntityId EntityId { get; } + public EntityId InvokerId { get; } + public SkillSpecification SkillSpecification { get; } + public HeroStatus Status { get; } + public int Duration { get; } + public bool IsCrowdControl { get; } + public ForceMoveParams ForceMove { get; } + } + + public class StatusRemovedEventArgs : EventArgs + { + public EntityId EntityId { get; set; } + public HeroStatus Status { get; set; } + } + + public class StatusResistEventArgs : EventArgs + { + public EntityId EntityId { get; } + public bool HasImmune { get; } + public bool ForceFloaterHide { get; set; } + } + + public class ImmuneAddedEventArgs : EventArgs + { + public EntityId EntityId { get; } + public EntityId InvokerId { get; } + public string ImmunTemplateId { get; } + } + + public class ImmuneRemovedEventArgs : EventArgs + { + public string ImmuneTemplateId { get; set; } + public EntityId EntityId { get; set; } + } + + public class CharacterBulletCountChangedEventArgs : EventArgs + { + public EntityId EntityId { get; } + public long PreviousCount { get; } + public long CurrentCount { get; } + } + + public class CoverStateChangedEventArgs : EventArgs + { + public EntityId CharacterId { get; } + public EntityId ObstacleId { get; } + public CoverState ChangedState { get; } + } + + public class SkillActionRegisteredEventArgs : EventArgs + { + public HeroAction SkillAction { get; } + } + + public class ImmediateKillEffect : LogicEffect + { + private ImmediateKillEffectValue value { get; } + public bool IgnoreImmortal { get; } + public bool IgnoreAppliedCheat { get; } + } + + public struct StatusResult : IComparable, IEquatable, IDispellable + { + private readonly string templateId; + public readonly Hash64 TemplateIdHash; + public BattleEntity Invoker { get; } + public HeroStatus Status { get; } + public SkillSpecification SkillSpecification { get; } + public bool IsCrowdControl { get; } + public uint VisualIdHash { get; } + public string LogicEffectGroupId { get; } + public string TemplateId { get; } + public LogicEffectCategory Category { get; } + public bool Dispellable { get; } + public string SkillEntityName { get; } + public Func ExpirationCheck { get; } + public bool IsDurationChangedByStat { get; } + public int CompareTo(StatusResult other) + { + return default; + } + + public bool Equals(StatusResult other) + { + return default; + } + + } + + public class MoveToWorldPositionCommand + { + public bool IsLeft { get; } + public Vector2 TargetPosition { get; } + } + + public class DebuffEventArgs : EventArgs + { + public EntityId InvokerId { get; } + public string LogicEffectGroupId { get; } + public string LogicEffectTemplateId { get; } + public int Level { get; } + public int DurationFrame { get; } + public SkillSpecification SkillSpecification { get; } + } + + public class PositioningSetting + { + public readonly float FormationPositionReduceRatio; + public readonly float FormationPositionReduce; + public readonly float ObstaclePositionReduceRatio; + public readonly float ObstaclePositionReduce; + private long positioningGapCentimeter; + public readonly PositioningType PositioningType; + public float PositioningGapSqr { get; set; } + public float PositioningGap { get; set; } + } + + public class SkillProcessor + { + private Dictionary, SkillDataPack> skillTable; + private HashSet> expirableEffects; + private Dictionary, AutoUseCheck> AutoUseCheckTable; + public HashSet AutoUseDisabledSkillList; + public IDictionary, SkillDataPack> SkillTable { get; } + } + + public class PassiveSkillProcessor + { + private readonly BattleEntity owner; + private Dictionary> skillExecutionsTable; + private ICollection skills { get; } + private List watchTargets { get; } + } + + public class BehaviorTree + { + public RootSelector Root { get; set; } + public BehaviorResult Result { get; set; } + } + + public enum CoverState + { + None = 0, + NotCovered = 1, + Covered = 2, + } + + public class AppearSetting + { + public bool IsApearActionOn; + public List MovePoints; + } + + public class PathFinder + { + private GroundNodeType passableNodeType; + private bool checkTSSBlocked; + private ObstaclePosition obstacleToAttackTarget; + private GroundNode lastTargetPosition; + private GroundNode lastOwnerPosition; + private bool isObstacleChanged; + private bool isNeedToFindAnotherObstacle; + private Character characterAtLastGroundNode; + private readonly bool isFireLineCheckMyObstacle; + private readonly bool isFireLineCheckAllyObstacle; + private readonly bool isFireLineCheckEnemyObstacle; + private readonly bool isFireLineCheckEmptyObstacle; + private LastFailedPathInfo lastFailedPathInfo; + private HashSet> lineOfFireFailed; + private Battle Battle { get; } + private CharacterGroup OwnerCharacterGroup { get; } + private Character Owner { get; } + private BattleEntity TargetBattleEntity { get; } + private TargetingType TargetingType { get; } + private Vector2 TargetPosition { get; } + public bool IsPathUsed { get; set; } + public bool IsUseInitialRangeRate { get; set; } + public bool IsTargetOnLineOfFire { get; } + private bool IsRefreshPathToTargetRequired { get; } + private List pathToAttackTarget { get; set; } + public IEnumerable PathToAttackTarget { get; } + public ObstaclePosition ObstacleToAttackTarget { get; } + } + + public class ForceMoveCommandInfo + { + public const int PrioritySkill = 0; + public const int PriorityGroundCommand = 1; + private GroundNode targetNode; + private Battle battle; + protected bool isNeedToUpdatePathList; + private List pathList; + public int Priority { get; } + public bool IsTargetPointFormationBeacon { get; } + public virtual GroundNode TargetNode { get; } + public bool IsInstantMove { get; } + public bool IsInterruptCurrentAction { get; } + public Vector2 PositionOffset { get; } + public bool KeepRelativePosition { get; } + public bool IsCommandByBattleItem { get; } + } + + public class ForceHoldCommandInfo + { + public bool Activated { get; set; } + public bool AllowBattleItemMove { get; } + } + + public class SkillCommandInfo + { + public bool AutoTargeting; + public BattleEntity TargetBattleEntity; + public Vector2 TargetPosition2D; + public Vector2 TargetDirection2D; + public SkillSlot SkillToUse; + } + + public enum TSAInteractionState + { + NotInteracting = 0, + Interacting = 1, + TSADying = 2, + } + + public struct WeaponSetting : IEquatable + { + public const int InvalidId = -1; + + [JsonIgnore] + public bool IsValid { get; } + public long UniqueId { get; set; } + public int StarGrade { get; set; } + public int Level { get; set; } + public bool Equals(WeaponSetting other) + { + return default; + } + + } + + public struct GearSetting : IEquatable + { + public const int InvalidId = -1; + + [JsonIgnore] + public bool IsValid { get; } + public long UniqueId { get; set; } + public int Tier { get; set; } + public int Level { get; set; } + public bool Equals(GearSetting other) + { + return default; + } + + } + + public struct CostumeSetting : IEquatable + { + public const int InvalidId = 0; + + [JsonIgnore] + public bool IsValid { get; } + public long UniqueId { get; set; } + public bool Equals(CostumeSetting other) + { + return default; + } + + } + + public class CharacterFormRootMotion + { + public RootMotionFrame PublicSkill; + public RootMotionFrame MoveEndNormal; + public RootMotionFrame MoveEndKneel; + public RootMotionFrame MoveEndStand; + } + + public class RootMotionFrame + { + public int Duration { get; } + public float PositionMagnitudeForward { get; set; } + public Vector2[] PositionDeltas { get; set; } + } + + public class FormConversionInfo : LogicEffectExpireChecker + { + public int FormIndex { get; } + public int Channel { get; } + public bool ReleaseFormConversionRequired { get; set; } + public bool ReleaseFormConversionFinished { get; set; } + public int ReleaseFormConversionDuration { get; } + public bool DisableUseSkill { get; } + public bool ExSkillCardRedrawInHand { get; } + public ExpirableObjectHolder Effect { get; } + } + + public class CharacterSkillListKey + { + public int FormIndex { get; set; } + public long TSAInteractionId { get; set; } + public static CharacterSkillListKey Default { get; } + } + + public class ShieldInfo + { + private IEnumerator conditionChecker; + public int Channel { get; } + public long CurrentHP { get; set; } + public long MaxHP { get; } + public SkillSpecification SkillSpecification { get; } + private ExpirableObjectHolder DotAbility { get; } + private ShieldEffect ShieldEffect { get; } + private Character owner { get; } + } + + public class TemporaryHpInfo + { + private IEnumerator conditionChecker; + private int elapsed; + public int Channel { get; } + public long CurrentHP { get; set; } + private int ReducePeriod { get; } + private long ReduceAmount { get; } + public SkillSpecification SkillSpecification { get; } + private ExpirableObjectHolder DotAbility { get; } + private MaxHpOverHealEffect OverHealEffect { get; } + private Character owner { get; } + } + + public class KnockbackInfo + { + private Character owner; + private IEnumerator knockbackExecuter; + private float speed; + private int durationTick; + public KnockbackEffect KnockbackEffect { get; } + } + + public class ActionLock + { + private LockStatus lockStatus; + public bool IsLocked { get; } + } + + public enum ActionProgress + { + None = 0, + Running = 1, + Finished = 2, + } + + public enum HeroStatus + { + None = 0, + Dead = 1100, + Dying = 1110, + Exiled = 1150, + Suppressed = 1200, + Stasis = 1300, + Knockback = 1410, + Pulling = 1420, + Airborn = 1430, + Stoned = 1500, + Stunned = 1600, + Paralysis = 1601, + Emp = 1602, + Purify = 1603, + Groggy = 1604, + Hit = 1605, + Frozen = 1606, + Panic = 1610, + Charmed = 1710, + Fear = 1720, + Polymorph = 1800, + ForcedIdle = 1900, + Taunted = 2100, + ConcentratedTarget = 2110, + Confusion = 2120, + MindControlled = 2200, + Silence = 2300, + Blind = 2400, + Entangle = 2500, + Slow = 2501, + Immortal = 2700, + Indestructible = 2701, + DisableNormalAttack = 2600, + DisableExSkill = 2601, + DisablePassiveSkill = 2602, + DisablePublicSkill = 2603, + ImmuneDamageAttack = 3150, + ImmuneDamageAll = 3151, + ImmuneDamageBySkillType = 3152, + ImmuneDead = 3210, + ImmuneStoned = 3220, + ImmuneKnockback = 3230, + ImmunePulling = 3240, + ImmuneAirborn = 3250, + ImmuneStunned = 3260, + ImmuneCharmed = 3270, + ImmuneFear = 3280, + ImmunePolymorph = 3290, + ImmuneForcedIdle = 3300, + ImmuneMindControl = 3310, + ImmuneSilence = 3320, + ImmuneBlind = 3330, + ImmuneParalysis = 3340, + ImmuneEmp = 3350, + ImmunePurify = 3360, + ImmuneGroggy = 3370, + ImmuneConcentratedTarget = 3371, + ImmuneConfusion = 3372, + ImmuneCrowdControl = 3510, + ImmuneGroggyGaugeAdd = 3520, + Rage = 4100, + Untargetable = 4200, + Metamorph = 4400, + Thorns = 5000, + All = 2147483647, + } + + public class StatChangeEffect : LogicEffect, IEquatable + { + public EndCondition EndCondition { get; } + public string EndConditionArgumentFirst { get; } + public string EndConditionArgumentSecond { get; } + public EndCondition RemoveCondition { get; } + public string RemoveConditionArgumentFirst { get; } + public string RemoveConditionArgumentSecond { get; } + public StatType StatType { get; } + public long BaseAmount { get; set; } + public long TargetCoefficientAmount { get; set; } + public bool Dispellable { get; } + public StatType CasterStatType { get; } + public long CasterCoefficientAmount { get; } + public long CasterStatAmount { get; } + public int StackSameEffectCount { get; } + public bool ExpireOldIfStackCountOver { get; } + public bool IsForceApplied { get; set; } + public bool Equals(StatChangeEffect other) + { + return default; + } + + } + + public class EquipmentProcessor + { + private HashSet> expirableEffects; + public IList Equipments { get; } + public IDictionary OptionTable { get; } + private List equipList { get; } + } + + public class Equipment : IEquatable + { + public static Equipment Invalid { get; } + public bool IsValid { get; } + public long ServerId { get; } + public long UniqueId { get; } + public int Level { get; } + public long StackCount { get; } + public int Tier { get; } + public EquipmentOptionCollection Options { get; } + public string DamageFactorGroupId { get; } + public bool Equals(Equipment other) + { + return default; + } + + } + + public enum HeroSummaryDetailFlag + { + None = 0, + BattleProperty = 2, + BattleStatistics = 4, + NumericLogs = 8, + StatSnapshot = 16, + Default = 14, + All = 30, + } + + public class SequentialSkillCardManager : SkillCardManager + { + public Character Owner; + public SkillCard SkillCardToUse { get; } + } + + public struct StatusParams : IEquatable + { + public static readonly StatusParams Empty; + public EntityId InvokerId { get; } + public BattleEntity Invoker { get; } + public SkillSpecification SkillSpecification { get; } + public HeroStatus Status { get; } + public bool IsCrowdControl { get; } + public int Duration { get; set; } + public ForceMoveParams ForceMove { get; } + public string LogicEffectGroupId { get; } + public string LogicEffectTemplateId { get; } + public uint LogicEffectVisualIdHash { get; } + public long ParameterNumber { get; } + public string Parameter { get; } + public string ParameterSecond { get; } + public LogicEffectCategory Category { get; } + public bool Dispellable { get; } + public string SkillEntityName { get; } + public Func ExpirationCheck { get; } + public bool IsDurationChangedByStat { get; } + public bool Equals(StatusParams other) + { + return default; + } + + } + + public interface IRandomService + { + } + + public class LifeGainEventArgs : EventArgs + { + public EntityId SummonerId { get; set; } + public EntityId InvokerId { get; set; } + public EntityId TargetId { get; set; } + public SkillSpecification SkillSpecification { get; set; } + public int DotIndex { get; set; } + public long Amount { get; set; } + public long RawAmount { get; set; } + public LifeGainType LifeGainType { get; set; } + public bool TriggerOtherEffect { get; set; } + public bool ForceFloaterHide { get; set; } + public bool IsAccumulatedHeal { get; } + public Vector2 HitPosition { get; set; } + public Vector2 BulletPosition { get; } + public Vector2 BulletDirection { get; } + public Entity BulletEntity { get; } + public string TemplateId { get; } + public int Channel { get; } + } + + public class LogicEffectHitEventArgs : EventArgs, IEquatable + { + public LogicEffect Effect { get; set; } + public uint TypeOfLogicEffectHash { get; set; } + public SkillSpecification SkillSpecification { get; } + public LogicEffectCategory Category { get; } + public EntityId AttackerId { get; set; } + public BehaviorType AttackerBehavior { get; set; } + public ActionState AttackerActionState { get; set; } + public EntityId TargetId { get; set; } + public EntityId ObstacleOwnerId { get; set; } + public string SkillEntityName { get; set; } + public string LogicEffectGroupId { get; set; } + public uint CommonVisualIdHash { get; } + public int DurationFrame { get; set; } + public Vector2 HitPosition { get; set; } + public Vector2 BulletPosition { get; set; } + public Vector2 BulletDirection { get; set; } + public Entity BulletEntity { get; set; } + public int DotIndex { get; set; } + public string TemplateId { get; } + public bool IsHit { get; } + public SkillType SkillType { get; } + public bool Equals(LogicEffectHitEventArgs other) + { + return default; + } + + } + + public class LogicEffectImmuneEventArgs : EventArgs, IEquatable + { + public EntityId AttackerId { get; set; } + public EntityId TargetId { get; set; } + public string TemplateId { get; set; } + public LogicEffectCategory Category { get; } + public int DurationFrame { get; } + public Vector2 HitPosition { get; } + public Vector2 BulletPosition { get; } + public Vector2 BulletDirection { get; } + public Entity BulletEntity { get; } + public FontType OverrideFontType { get; } + public bool ForceFloaterHide { get; } + public bool Equals(LogicEffectImmuneEventArgs other) + { + return default; + } + + } + + public class AttackEventArgs : EventArgs + { + private readonly string channel; + public BattleEntity Attacker { get; set; } + public BehaviorType AttackerBehavior { get; set; } + public ActionState AttackerActionState { get; set; } + public BattleEntity Target { get; set; } + public BattleEntity TargetOrigin { get; set; } + public BattleEntity OriginalTargetWhenHitObstacle { get; set; } + public string SkillEntityName { get; set; } + public SkillSpecification SkillSpecification { get; set; } + public Vector2 HitPosition { get; set; } + public long Damage { get; set; } + public FontType HitResultType { get; set; } + public bool ForceFloaterHide { get; set; } + public LogicEffectCategory Category { get; } + public AttackLogicEffectType LogicEffectType { get; } + public Entity BulletEntity { get; } + public Vector2 BulletPosition { get; } + public Vector2 BulletDirection { get; } + public int Channel { get; } + } + + public class DamageResultEventArgs : EventArgs + { + public BattleEntity Attacker { get; set; } + public EntityId AttackerId { get; set; } + public EntityId SummonerId { get; } + public EntityId TargetId { get; set; } + public EntityId FirstAttackerId { get; set; } + public LogicEffectCategory LogicEffectCategory { get; set; } + public SkillSpecification SkillSpecification { get; set; } + public long AttackPower { get; set; } + public int Stability { get; set; } + public long ResultDamage { get; set; } + public long Damage { get; set; } + public long AbsorbedDamage { get; set; } + + [JsonIgnore] + public bool IsDamaged { get; } + public long CriticalMultiplier { get; set; } + + [JsonIgnore] + public bool IsNormalAttack { get; } + public FontType HitResult { get; } + + [JsonIgnore] + public bool IsCritical { get; } + public bool TriggerOtherEffect { get; set; } + public Vector2 HitPosition { get; set; } + public Vector2 BulletPosition { get; set; } + public Vector2 BulletDirection { get; set; } + public Entity BulletEntity { get; set; } + } + + public class DataLogicEffectComparer : Comparer + { + public override int Compare(LogicEffect x, LogicEffect y) + { + return default; + } + + } + + public class BattleEventSnapshot + { + public int Frame { get; } + public IList BattleEntitySpawnedSnapshots { get; set; } + public IList BattleEntityRemovedSnapshots { get; set; } + + [JsonIgnore] + public IList EffectAreaSpawnedSnapshots { get; set; } + public IList ObstacleDestroySnapshots { get; set; } + public IList ObstacleStateChangeSnapshots { get; set; } + public IList BattleItemActivatedSnapshots { get; set; } + public IList BattleItemEffectedSnapshots { get; set; } + public IList BattleItemRecognizedSnapshots { get; set; } + public ICollection LogicEffectHitSnapshots { get; set; } + public ICollection StatusResistSnapshots { get; set; } + public IList CharacterFormConversionSnapshots { get; set; } + public IList BeamSpawnedSnapshots { get; set; } + public IList AuraSpawnedSnapshots { get; set; } + public IList NormalAttackSpawnedSnapshots { get; set; } + public IList NormalAttackHitSnapshots { get; set; } + public IList ProjectileSpawnedSnapshots { get; set; } + public IList ProjectileCollidedSnapshots { get; set; } + public IList BeamCollidedSnapshots { get; set; } + public IList SkillEntityRemovedSnapshots { get; set; } + public IList DotAttachedSnapshots { get; set; } + public IList DotRemovedSnapshots { get; set; } + public IList ActionChangeSnapshots { get; set; } + public IList ActionInterruptedSnapshots { get; set; } + public IList TssInteractionSnapshots { get; set; } + public IList AttackResultSnapshots { get; set; } + public IList LifeGainSnapshots { get; set; } + public IList LogicEffectImmuneSnapshots { get; set; } + public IList KillSnapshots { get; set; } + public IList StatusAddedSnapshots { get; set; } + public IList StatusRemovedSnapshots { get; set; } + public IList GroundNodeChangeSnapshots { get; set; } + public IList SkillCardSnapshots { get; set; } + public IList PassiveTriggeredSnapshots { get; set; } + public IList SupportActorChangeSnapshots { get; set; } + public IList CharacterPhaseChangedSnapshots { get; set; } + public IList ParticleEffectSnapshots { get; set; } + public IList CoverStateChangedSnapshots { get; set; } + public DamageUpdatedEventArgs DamageUpdatedSnapshot { get; set; } + public bool AskContinue { get; set; } + } + + [Serializable] + public sealed class TeamSetting : IEquatable + { + public long AccountId { get; set; } + public long TeamId { get; set; } + public string TeamName { get; set; } + + [JsonIgnore] + public GroupTag GroupTag { get; set; } + public long LeaderCharacterServerId { get; set; } + public bool CheckTSSInteractionServerId { get; set; } + public long TSSInteractionCharacterServerId { get; set; } + public long TSSInteractionCharacterUniqueId { get; set; } + + [JsonIgnore] + public FormationLocationKey FormationLocationKey { get; set; } + public int EchelonNumber { get; set; } + public bool IsExtension { get; set; } + public IList Starters { get; set; } + public IList Supporters { get; set; } + public IList GroundPassives { get; set; } + public IList DefaultStatChangeInfos { get; set; } + public ArenaSetting ArenaSetting { get; set; } + public SkillCardHand SkillCardHand { get; set; } + public List SkillCardMulliganCharacterIds { get; set; } + public List HexaBuffs { get; set; } + + [JsonIgnore] + public StatCorrection StatCorrection { get; set; } + + [JsonIgnore] + public int TotalCharacterCount { get; } + + [JsonIgnore] + public int HandCount { get; set; } + public bool Equals(TeamSetting other) + { + return default; + } + + } + + public sealed class RaidSetting + { + public bool IsPractice { get; set; } + public long RaidServerId { get; set; } + public long RaidSeasonId { get; set; } + public long RaidGroupId { get; set; } + public string SecretCode { get; set; } + public int RaidBossIndex { get; set; } + + [JsonIgnore] + public int LastBossIndex { get; } + public long RaidBossHP { get; set; } + public int RaidBossInitialPhase { get; set; } + public long GroggyPoint { get; set; } + public List SubPartsHPs { get; set; } + public bool IsTicket { get; set; } + public RaidMemberCollection RaidMembers { get; set; } + } + + public sealed class EventBattleSetting + { + public List BuffIds { get; set; } + } + + public sealed class TimeAttackSetting + { + public bool IsPractice { get; set; } + public long TimeAttackServerId { get; set; } + public long TimeAttackSeasonId { get; set; } + public string SecretCode { get; set; } + public long GeasId { get; set; } + public long DungeonId { get; set; } + } + + public class SightChangedEventArgs : EventArgs + { + public GroupTag groupTag { get; set; } + } + + public class BlockedArea + { + private bool[] goThroughDirectionBlocked; + public int startX; + public int startY; + public int endX; + public int endY; + private BlockedAreaBattleItem owner; + private bool[][] gridNonBlocked; + public Circle Circle { get; set; } + public bool Item { get; } + } + + public class GroundFormationBeacon + { + private int ignoreAStarIndexInPathList; + private bool isNeedToUpdatePathList; + private readonly Character ownerCharacter; + private bool checkTSSBlocked; + private GroundNodeType passableNodeType; + private readonly CharacterGroup ownerCharacterGroup; + private readonly Battle battle; + private LastFailedPathInfo lastFailedPathInfo; + private GroundNode lastTargetStartNode; + private List lastMoveList; + public FormationLine Line { get; set; } + public int LineIndex { get; set; } + public List PathList { get; set; } + public Character MaxPositionCharacter { get; set; } + public float MaxPositionRatioInGroup { get; set; } + public float MinPositionRatioInGroup { get; set; } + public float MyPositionRatioInGroup { get; set; } + } + + [Serializable] + public struct StatCorrection : IEquatable + { + public static readonly StatCorrection Empty; + public static readonly StatCorrection Default; + public long SightRangeBase; + public BasisPoint SightRangeRate; + public long WeaponRangeBase; + public BasisPoint WeaponRangeRate; + public long SkillRangeBase; + public BasisPoint SkillRangeRate; + public bool SightRangeMax; + + [JsonIgnore] + public bool IsEmpty { get; } + public bool Equals(StatCorrection other) + { + return default; + } + + } + + public abstract class SkillCardManager + { + public List Deck { get; set; } + protected Battle Battle { get; set; } + public GroupTag GroupTag { get; set; } + protected CharacterGroup CharacterGroup { get; set; } + protected List> CharactersInfo { get; set; } + } + + public class SkillActor : BattleEntity, IHeroSummarizable + { + private EventHandler ActionChanged; + private EventHandler ActionInterrupted; + private EventHandler StateChanged; + public EventHandler SkillActionRegistered; + protected bool skillActivated; + private Dictionary ExtraSkillCostTable; + public virtual Battle BattleCache { get; set; } + public override GroupTag GroupTag { get; } + public override HeroAction CurrentAction { get; set; } + public SkillProcessor SkillProcessor { get; } + public ActionLock ActionLock { get; } + protected IDictionary ActionTable { get; } + public override Vector2 Position2D { get; } + public override Vector2 Direction { get; set; } + public Dictionary, ValueTuple> BulletArmorFactorTable { get; set; } + public Dictionary>> BulletArmorDamageFactorOverrideTable { get; set; } + public Dictionary>> BulletTypeOverrideTable { get; set; } + public virtual HeroSummaryDetailFlag SummaryDetail { get; } + public override BehaviorType CurrentBehavior { get; set; } + public override ActionState CurrentActionState { get; } + public override bool Alive { get; } + public override bool HasCrowdControl { get; } + } + + [Serializable] + public class TemporaryCanUseSkillArea + { + public bool IsHideVisual; + public string CommandId; + public long Radius; + public GroupTag GroupTag; + public Vector3 Position; + public float RadiusSqr { get; set; } + public Vector2 Position2D { get; set; } + } + + public class SyncUseSkillManager + { + private List syncUseSkillGroupList; + } + + public class GroundGrid + { + private const float DistanceToNoTSS = 2; + private static readonly float ROOT2; + public static readonly int MaxCost; + public static readonly GroundNode[] Directions; + public string Version; + public float Gap; + public float OnePerGap; + public int X; + public int Y; + public float StartX; + public float StartY; + private List> connectedLayerMapping; + private List> temporaryConnectedLayerMapping; + private Dictionary temporaryToChangeLayerTable; + private List movingAreaShapeList; + public float halfGap { get; } + public GroundNode[] GroundNodes { get; set; } + public GroundNode Item { get; set; } + public bool PathFindFailOverOn { get; set; } + } + + public class GroundStage + { + public string GridVersion; + public GroundGlobal Global; + public List Sections; + public List Formations; + public List EnemyFormations; + public List TemporaryCanUseSkillAreas; + public int CurSectionID; + public Battle battle; + public GroundSection CurMapSection { get; } + } + + public abstract class BattleCommand : IEquatable + { + public GroupTag ExecuterTag { get; } + public int IssuedFrame { get; set; } + public int ExecuteFrame { get; set; } + public bool Equals(BattleCommand other) + { + return default; + } + + } + + public class StatSnapshotCollection : KeyedCollection + { + protected override StatType GetKeyForItem(StatSnapshot item) + { + return default; + } + + } + + public class BattleNumericLog : IEquatable + { + public BattleEntityType EntityType { get; set; } + public BattleLogCategory Category { get; set; } + public BattleLogSourceType Source { get; set; } + public long CalculatedSum { get; set; } + public long AppliedSum { get; set; } + public long Count { get; set; } + public long CriticalMultiplierMax { get; set; } + public long CriticalCount { get; set; } + public long CalculatedMin { get; set; } + public long CalculatedMax { get; set; } + public long AppliedMin { get; set; } + public long AppliedMax { get; set; } + public bool Equals(BattleNumericLog other) + { + return default; + } + + } + + public struct EquipmentSetting : IEquatable + { + public const int InvalidId = -1; + + [JsonIgnore] + public bool IsValid { get; } + public long ServerId { get; set; } + public long UniqueId { get; set; } + public int Level { get; set; } + public int Tier { get; set; } + public bool Equals(EquipmentSetting other) + { + return default; + } + + } + + public class KillLogCollection : Collection + { + } + + public class CostRegenSnapshotCollection : KeyedCollection + { + [JsonIgnore] + private SkillCostRegenSnapshot _lastSnapshot; + protected override long GetKeyForItem(SkillCostRegenSnapshot item) + { + return default; + } + + } + + public struct SkillCostAddSnapshot + { + public long Frame { get; set; } + public float Added { get; set; } + } + + public struct SkillCostUseSnapshot + { + public long Frame { get; set; } + public float Used { get; set; } + public long CharId { get; set; } + public int Level { get; set; } + } + + [Serializable] + public class TBGHexaTileData + { + public string ResourcePath { get; set; } + public TBGTileType TileType { get; set; } + public HexLocation Location { get; set; } + } + + [Serializable] + public class TBGHexaSpawnData + { + public TBGHexaObjectSpawnRule SpawnRule { get; set; } + public HexLocation Location { get; set; } + public List UniqueIds { get; set; } + public List ObjectTypes { get; set; } + public long ShuffleGroupId { get; set; } + } + + public interface ITBGObjectInfo + { + public abstract long UniqueId { get; } + public abstract TBGObjectType ObjectType { get; } + public abstract ParcelInfo Cost { get; } + public abstract bool Disposable { get; } + public abstract bool ReEncounterCost { get; } + public abstract string Key { get; } + public abstract string PrefabName { get; } + } + + public enum TBGObjectInteractionType + { + None = 0, + Encounter = 1, + Portal = 2, + } + + public class BattleEntityDamagedEventArgs : EventArgs + { + public EntityId AttackerId { get; } + public EntityId TargetId { get; } + public long DamageTaken { get; } + public long DamageAbsorbed { get; } + public FontType HitResultType { get; } + } + + public class PassiveTriggeredEventArgs : EventArgs + { + public SkillSpecification SkillSpecification { get; } + public SkillSlot Slot { get; } + public EntityId OwnerId { get; } + public EntityId TriggerSourceId { get; } + public PassiveTriggerEvent TriggerEvent { get; } + } + + public class DamageTransferEffectInfo + { + private Battle battle; + private IEnumerator conditionChecker; + private string TransferredDamageEffectGroupId; + private int TransferredDamageEffectLevel; + public int Channel { get; } + private ExpirableObjectHolder DotAbility { get; } + private DamageTransferEffect DamageTransferEffect { get; } + private BattleEntity owner { get; } + } + + public class HealConvertDamageEffectInfo + { + private Battle battle; + private IEnumerator conditionChecker; + private string TransferredHealDamageGroupID; + public int Channel { get; } + private ExpirableObjectHolder DotAbility { get; } + private HealConvertDamageEffect HealConvertDamageEffect { get; } + private BattleEntity owner { get; } + } + + public class EntityTargetContainer + { + private BattleEntity owner; + private SkillSlot skillSlot; + private Vector2 targetPosition; + private Vector2 targetDirection; + private readonly List targets; + private TargetCandidateRule targetCandidateRule; + public BehaviorType BehaviorType { get; set; } + public Vector2 TargetPosition { get; } + public Vector2 TargetDirection { get; } + public BattleEntity MainTarget { get; } + public bool HasTarget { get; } + public bool HasMainTarget { get; } + public IList Targets { get; } + public TargetingType TargetingType { get; set; } + } + + public class EntityTargetFinder + { + private HashSet DuplicationCheckSet; + private BattleEntity Owner { get; } + private GroupTag OwnerTag { get; } + public bool CanNotTargetObstacle { get; set; } + } + + [Serializable] + public class GroundNode : IEquatable + { + public int X; + public int Y; + public GroundNodeType OriginalNodeType; + public GroundNodeType NodeType; + public Vector2 Position2D; + public float PositionHeight; + public bool CanNotUseSkill; + public sbyte Layer; + [JsonIgnore] + public sbyte OriginalLayer; + [JsonIgnore] + public float temporaryHeight; + [JsonIgnore] + private readonly int hash; + [JsonIgnore] + public bool TSSBlocked; + + [JsonIgnore] + public float PositionHeightWithTemporaryChange { get; } + + [JsonIgnore] + public Vector3 PositionVisual { get; } + + [JsonIgnore] + public HashSet CanNotStandByNearObstacles { get; set; } + public HashSet CanStandByNearObstacles { get; set; } + public bool Equals(GroundNode other) + { + return default; + } + + } + + public class BattleEntityStat : ICloneable + { + private Dictionary> minMaxValueTable; + private Dictionary valueTable; + public static BattleEntityStat Empty { get; } + public CharacterLevelStatFactorExcel LevelFactor { get; set; } + public long Item { get; } + public IEnumerable StatTypes { get; } + public int Level { get; set; } + public int Grade { get; set; } + public object Clone() + { + return default; + } + + } + + public class StackDamageProcessor + { + private List stackDamageInfoList; + } + + public class AccumulateEffectProcessor + { + private List accumulateInfoList; + } + + public class GaugeEffectProcessor + { + private List GaugeInfoList; + } + + public class ImmuneProcessor + { + private BattleEntity owner; + private List> runningImmuneList { get; } + public IEnumerable> RuntimeImmunes { get; } + private List addedImmunes { get; set; } + private List expiredList { get; set; } + private List markRemoveList { get; set; } + } + + public abstract class ImmuneEffect : LogicEffect + { + public long DurationFrame; + public bool Dispellable { get; } + public abstract FontType FloaterType { get; } + } + + public class DotProcessor + { + public List> ExpirableAbilities { get; } + private List attachedEffectAreas { get; } + private List attachedAmplifyDoTEffects { get; } + } + + public abstract class LogicEffectValue + { + public int Level { get; } + public string LogicEffectGroupId { get; } + public string LogicEffectTemplateId { get; } + public LogicEffectCategory Category { get; } + public int Channel { get; } + public BasisPoint ApplyRate { get; } + public uint CommonVisualIdHash { get; } + public bool ForceFloaterHide { get; set; } + public int PriorityWhenSameFrame { get; } + + [JsonIgnore] + public bool IsDisabled { get; } + } + + public class SkillDataPack + { + public NewSkillAction Action { get; } + public AutoUseCheck AutoUseCheck { get; } + public bool CheckCanUseSkillPoint { get; } + public SkillExcel Excel { get; } + public int Level { get; } + } + + public enum SkillCardState + { + None = 0, + InHand = 1, + InDeck = 2, + Used = 3, + Cast = 4, + InputReceived = 5, + CoolTime = 6, + CoolTimeComplete = 7, + Disabled = 8, + Waiting = 9, + Switched = 10, + } + + public enum ShapeType + { + None = 0, + Circle = 3, + Donut = 4, + Fan = 5, + LineSegment = 6, + OBB = 7, + } + + public class ManualSkill + { + public SkillSpecification SkillSpecification { get; } + public ManualSkillTypes ManualSkillType { get; } + public IList Abilities { get; } + } + + public class EventSkill + { + public ManualSkill Skill { get; } + public IList Abilities { get; } + public TargetCandidateRule CandidateRule { get; } + public TargetSortRule SortRule { get; } + private TargetFindRule TargetRule { get; } + } + + public abstract class CostSkillCardManager : SkillCardManager + { + protected virtual bool CanRegenCost { get; } + public virtual bool IsRegenBan { get; } + public abstract SkillPriorityCheckTarget FeverTarget { get; } + public float MaxCost { get; set; } + public float CurCost { get; set; } + public virtual float CurrentFrameUsableCost { get; } + public float FeverChargeScale { get; set; } + public float CostPerFrame { get; set; } + public bool IsShuffle { get; set; } + public bool IsFeverTime { get; } + public ValueTuple FeverInfo { get; set; } + public long RegenStartDelayFrame { get; set; } + public bool IsMainPlayerSkillCard { get; set; } + protected float RegenCostBefore { get; set; } + } + + public class SkillCardEventArgs : EventArgs + { + public GroupTag GroupTag { get; } + public int Index { get; } + public SkillCard SkillCard { get; } + public SkillCardState State { get; } + } + + public class HandSlot + { + public SkillCard SkillCard; + public long SlotCoolFrame; + } + + public interface ICancelableBySkill + { + } + + public abstract class SkillAbilityValue + { + public int StartDelay { get; } + public IList LogicEffectValues { get; } + public IList Modifiers { get; } + } + + public enum AreaTransformTypes + { + None = 0, + RadiusIncrement = 1, + RadiusDecrement = 2, + ObbCenterIncrement = 3, + ObbCenterDecrement = 4, + FanClockWise = 5, + FanCounterClockWise = 6, + FanClockwiseRound = 7, + FanCounterClockwiseRound = 8, + } + + public class DirectionRotator + { + public Vector2 Right { get; } + public Vector2 Forward { get; } + public float CurrentAngle { get; set; } + private float DestAngle { get; set; } + } + + public abstract class SummonEntityValue : SkillEntityValue + { + public AreaSpawnerValue InitialAreaSpawnerEntity; + public SkillEntitySpawnerValue InitialEntitySpawner; + public string SpawnTemplateId { get; } + public float AngleOffset { get; } + public int Duration { get; } + public bool DestroyAlreadyExist { get; } + public bool SummonAsEnemy { get; } + public bool SpawnSameGridLayerAsInvoker { get; set; } + public MovingAreaOptions MovingAreaOption { get; } + } + + public class AreaSpawnerValue : SkillEntityValue + { + public int Duration { get; } + public List> EntityTimeline { get; } + } + + public class SkillEntitySpawnerValue : SkillEntityValue, ICancelableBySkill + { + public int SkillLevel { get; } + public int Duration { get; } + public EntitySpawnRule SpawnRule { get; } + public bool RemoveEntityIfSkillCancel { get; } + public bool OverrideSkillStartTimingWithSpawnerSpawn { get; } + public bool FireToNextTargetWhenEachToEach { get; } + public SkillToTargetDistributeType DistributeType { get; } + public List> EntityTimeline { get; } + public bool IsRemoveEntityIfSkillCancel() + { + return default; + } + + } + + public enum SpawnPositionTypes + { + None = 0, + Invoker = 1, + InputPosition = 2, + InputBattleEntity = 3, + AliveAllyCenter = 4, + AliveEnemyCenter = 5, + GroundCenter = 6, + BattleEntity = 7, + WorldPosition = 8, + SkillCommandSelectedTarget = 9, + SkillCommandSelectedPosition = 10, + } + + public enum SpawnDirectionTypes + { + None = 0, + Invoker = 1, + Input = 2, + ToTarget = 3, + AllyToEnemy = 4, + EnemyToAlly = 5, + AliveAllyCenter = 6, + AliveEnemyCenter = 7, + WorldPosition = 8, + CasterToTarget = 9, + TargetToCaster = 10, + } + + public enum ProjectileTypes + { + None = 0, + TargetCharacter = 1, + TargetPosition = 2, + Nontarget = 3, + Max = 4, + } + + public enum TargetingType + { + None = 0, + Target = 1, + Position = 2, + } + + public enum TargetEntityType + { + None = 0, + Character = 5, + Character_Except_TSS = 1, + TSS = 4, + Supporter = 8, + Obstacle = 2, + } + + public enum TargetSideId + { + None = 0, + Self = 2, + Ally_Except_Self = 4, + Enemy = 8, + Neutral = 16, + Ally = 6, + Self_or_Enemy = 10, + Self_or_Neutral = 18, + Ally_or_Enemy = 14, + Ally_or_Neutral = 22, + Enemy_or_Neutral = 24, + All_Except_Self = 12, + ALL = 2147483647, + } + + public enum AliveState + { + None = 0, + Alive = 1, + Dying = 2, + Dead = 4, + AliveOrDying = 3, + AliveOrDead = 5, + DeadOrDying = 6, + All = -1, + } + + [Serializable] + public struct SchoolConstraint : IEquatable, IMemoryPackable, IMemoryPackFormatterRegister + { + public static readonly SchoolConstraint Empty; + public School School; + public IncludeType IncludeType; + public bool Equals(SchoolConstraint other) + { + return default; + } + + } + + [Serializable] + public struct WeaponConstraint : IEquatable, IMemoryPackable, IMemoryPackFormatterRegister + { + public static readonly WeaponConstraint Empty; + public WeaponType Weapon; + public IncludeType IncludeType; + public bool Equals(WeaponConstraint other) + { + return default; + } + + } + + [Serializable] + public struct SquadTypeConstraint : IEquatable, IMemoryPackable, IMemoryPackFormatterRegister + { + public static readonly SquadTypeConstraint Empty; + public SquadType SquadType; + public IncludeType IncludeType; + public bool Equals(SquadTypeConstraint other) + { + return default; + } + + } + + [Serializable] + public struct AdaptationConstraint : IEquatable, IMemoryPackable, IMemoryPackFormatterRegister + { + public static readonly AdaptationConstraint Empty; + public StatType AdaptationType; + public TerrainAdaptationStat[] AdaptationValues; + public IncludeType IncludeType; + public bool Equals(AdaptationConstraint other) + { + return default; + } + + } + + [Serializable] + public struct BulletConstraint : IEquatable, IMemoryPackable, IMemoryPackFormatterRegister + { + public static readonly BulletConstraint Empty; + public BulletType BulletType; + public IncludeType IncludeType; + public bool Equals(BulletConstraint other) + { + return default; + } + + } + + [Serializable] + public struct TacticRangeConstraint : IEquatable, IMemoryPackable, IMemoryPackFormatterRegister + { + public static readonly TacticRangeConstraint Empty; + public TacticRange[] TacticRanges; + public IncludeType IncludeType; + public bool Equals(TacticRangeConstraint other) + { + return default; + } + + } + + [Serializable] + public struct TagConstraint : IEquatable, IMemoryPackable, IMemoryPackFormatterRegister + { + public static readonly TagConstraint Empty; + [JsonIgnore] + private List tagNameList; + public IncludeType IncludeType; + public List TagNamesInt; + + [JsonIgnore] + public List TagNameList { get; set; } + public bool Equals(TagConstraint other) + { + return default; + } + + } + + [Serializable] + public struct HPRateConstraint : IEquatable, IMemoryPackable, IMemoryPackFormatterRegister + { + public static readonly HPRateConstraint Empty; + public HPRateConstraintType ConstraintType; + public int HPRate; + public bool Equals(HPRateConstraint other) + { + return default; + } + + } + + [Serializable] + public struct TacticRoleConstraint : IEquatable, IMemoryPackable, IMemoryPackFormatterRegister + { + public static readonly TacticRoleConstraint Empty; + public TacticRole[] TacticRole; + public IncludeType IncludeType; + public bool Equals(TacticRoleConstraint other) + { + return default; + } + + } + + public enum TargetSortCriteria + { + None = 0, + CurrentHP = 1, + MaxHP = 2, + HPRate = 3, + Distance = 4, + AttackPower = 5, + DefensePower = 6, + BuffCount = 7, + DebuffCount = 8, + CrowdControlCount = 9, + LogicEffectTemplateCount = 10, + Stat = 11, + SummonedTime = 12, + All = 13, + } + + public enum TargetSortOrder + { + None = 0, + Highest = 1, + Lowest = 2, + Random = 3, + } + + public enum TransformDecideTiming + { + SkillStart = 0, + EntitySpawn = 1, + } + + public class BeamAbilityFrameValue + { + public BeamPhase Phase; + public int Frame; + public List Abilities; + } + + public class BeamSplashValue + { + public BeamPhase Phase; + public AreaSpawnerValue AreaSpawner; + public SkillEntitySpawnerValue SkillEntitySpawner; + public TargetProjectileEntityValue TargetAttachedEntity; + } + + public class ChainBeamValue + { + public BeamPhase Phase; + public int CheckTargetRadiusToSpawn; + public bool AllowParentTargetDupilication; + public int MaxBranchCount; + public BeamEntityValue BeamEntityValue; + } + + public enum SameAuraCheckCondition + { + None = 0, + SameInvokerEntityId = 1, + SameInvokerTeam = 2, + SameSkillId = 4, + SameSkillEntityName = 8, + All = 15, + } + + public class TargetSkillEntityValue : SkillEntityValue + { + public IList Abilities { get; } + } + + public class StatusComparer : Comparer> + { + public override int Compare(ExpirableObjectHolder x, ExpirableObjectHolder y) + { + return default; + } + + } + + public abstract class StatusExecution + { + protected Character Owner { get; } + public EntityId InvokerId { get; set; } + public int Duration { get; set; } + } + + public struct ForceMoveParams : IEquatable + { + public static ForceMoveParams Empty; + public Vector2 Direction { get; } + public float Distance { get; } + public TransitionType Transition { get; } + public bool Equals(ForceMoveParams other) + { + return default; + } + + } + + public class ImmediateKillEffectValue : LogicEffectValue + { + public bool IgnoreImmortal { get; } + public bool IgnoreAppliedCheat { get; } + } + + public class ModifySkillEffect : LogicEffect + { + public IList ApplySlots { get; } + public SkillProperty TargetProperty { get; } + public StatEvalType EvalType { get; } + public double Amount { get; } + public int DurationFrame { get; } + public bool Dispellable { get; } + public override bool IsDurationChangedByStat { get; } + } + + public interface AutoUseCheck + { + internal CharacterSkillListKey ActivateCondition { set; } + public abstract int MaxTriggerCount { get; } + public abstract int CurrentTriggerCount { get; } + } + + public class PassiveSkill : IEquatable + { + private bool isTriggered; + public SkillSpecification SkillSpecification { get; } + public BattleEntity Owner { get; } + public int MaxExecutionCount { get; } + public int StartCooltime { get; } + public int ReuseCooltime { get; } + public int Duration { get; } + public PassiveTriggerEvent TriggerEvent { get; } + public string TriggerExpressionText { get; } + public string TriggerParametersText { get; } + public BasisPoint TriggerRate { get; } + public EchelonConstraint EchelonConstraint { get; } + public int MaxTriggerCount { get; } + public int TryCount { get; } + public long CoolTimeNotTrigger { get; } + public bool ResetTryCountUseSkill { get; } + public int CurrentTriggerCount { get; set; } + public int CurrentTryCount { get; set; } + public int CurrentCooltime { get; set; } + public int LastTriggerFrame { get; set; } + public int Elapsed { get; set; } + public TargetSideId TargetSide { get; } + private TargetSortRule TriggerSourceSortRule { get; } + private TargetCandidateRule TriggerSourceCandidateRule { get; } + public long RemainedCoolTimeNotTriggerFrame { get; set; } + public int TimelineDuration { get; } + public PassiveSkillTargetType SkillTargetType { get; } + public List> EntityTimeline { get; } + public bool Equals(PassiveSkill other) + { + return default; + } + + } + + public abstract class PassiveExecution + { + private bool isEvaluationEnabled; + public SkillSpecification SkillSpecification { get; } + public PassiveTriggerEvent TriggerEvent { get; } + public BattleEntity Invoker { get; } + public BattleEntity TriggerSource { get; } + protected bool IsActivated { get; set; } + protected BattleExpression TriggerExpression { get; set; } + private int MaxTriggerCount { get; } + private int TryCount { get; } + protected bool ResetTryCountUseSkill { get; } + public int Elapsed { get; } + protected bool CanTrigger { get; } + public long RemainedCoolTimeNotTriggerFrame { get; } + private PassiveSkill skillCache { get; } + private BasisPoint TriggerRate { get; } + private EchelonConstraint EchelonConstraint { get; } + private int Duration { get; } + protected string TriggerExpressionText { get; } + protected Battle battleCache { get; set; } + } + + public class RootSelector : PartialSelector + { + private Func SwitchBehavior { get; } + private int BranchIndex { get; set; } + } + + public enum BehaviorResult + { + Failure = 0, + Success = 1, + Running = 2, + } + + [Serializable] + public class SpawnMovePoint : GroundPoint + { + public bool NeedFindPath; + } + + public class ObstaclePosition + { + public ObstaclePoint ObstaclePoint; + public GroundObstacle GroundObstacle; + } + + public class LastFailedPathInfo + { + public GroundNode StartNode; + public GroundNode EndNode; + public List BlockedAreas; + public List GroundObstacles; + } + + public class LogicEffectExpireChecker + { + public int CurrentConditionArgument; + private IEnumerator ConditionChecker; + private ExpirableObjectHolder dotEffect; + private Action OnStop; + public LogicEffectEndCondition EndCondition { get; } + public int EndConditionArgument { get; } + protected Character Owner { get; } + } + + public class ShieldEffect : LogicEffect + { + public long BaseAmount { get; } + public StatType TargetStatType { get; } + public BasisPoint TargetCoefficientAmount { get; } + public StatType CasterStatType { get; } + public BasisPoint CasterCoefficientAmount { get; } + public int DurationFrame { get; } + public bool IsDispellable { get; } + } + + public class MaxHpOverHealEffect : HealEffect + { + public int TemporaryHpDuration { get; } + public bool TemporaryHpDispellable { get; } + public long TemporaryHpLimitRateByTargetMaxHp { get; } + public int TemporaryHpBaseAmount { get; } + public long TemporaryHpByOverHealRate { get; } + public int TemporaryHpReducePeriod { get; } + public int TemporaryHpReduceBaseAmount { get; } + public long TemporaryHpReduceByHealAmountRate { get; } + } + + public class KnockbackEffect : LogicEffect + { + public long MoveDuration; + public long MoveDistance; + public KnockbackDirection KnockbackDirection; + public override bool IsDurationChangedByStat { get; } + } + + public enum LockStatus + { + Locked = 0, + Unlocked = 1, + } + + public class EquipmentOptionChangeEffect : LogicEffect + { + public EquipmentOptionType StatType { get; } + public StatEvalType EvalType { get; } + public long Amount { get; } + public int DurationFrame { get; } + public bool Dispellable { get; } + public override bool IsDurationChangedByStat { get; } + } + + public class EquipmentOptionCollection : Collection + { + public IEnumerable AllTypes { get; } + } + + public enum LifeGainType + { + None = 0, + Heal = 1, + Recover = 2, + } + + public enum AttackLogicEffectType + { + Damage = 0, + DeadlyAttack = 1, + TransferredDamage = 2, + DamageOverTime = 3, + ChangeDamageOverTime = 4, + DamageByHit = 5, + ExtraStatDamage = 6, + AccumulateDamage = 7, + MaxHPCapGauge = 8, + } + + public class SupportSkillEventArgs : EventArgs + { + public EntityId EntityId { get; } + public SkillCardState State { get; } + public Vector2 TargetPosition { get; } + public long CharacterId { get; } + } + + public class DamageUpdatedEventArgs : EventArgs + { + public int RaidBossIndex { get; } + public RaidMemberCollection RaidMembers { get; } + } + + [Serializable] + public struct FormationLocationKey + { + public long GroupId; + } + + [Serializable] + public sealed class HeroSetting : IEquatable + { + public EntityId EntityId { get; set; } + public long ServerId { get; set; } + public long OwnerAccountId { get; set; } + public AssistRelation AssistRelation { get; set; } + public long HeroId { get; set; } + public long CostumeId { get; } + public int Grade { get; set; } + public Dictionary FavorRankInfo { get; set; } + public int FavorRank { get; set; } + public Dictionary PotentialStatLevelDict { get; set; } + public int Level { get; set; } + public long AIId { get; set; } + public FormationLine Line { get; set; } + public int LineIndex { get; set; } + public BasisPoint InitialHPRate { get; set; } + public IList PermanentStatus { get; set; } + public IDictionary SkillLevelTable { get; set; } + public IList EquipmentSettings { get; set; } + public bool IsCharacterWeaponEquipped { get; } + public WeaponSetting WeaponSetting { get; set; } + public GearSetting GearSetting { get; set; } + public CostumeSetting CostumeSetting { get; set; } + public bool Equals(HeroSetting other) + { + return default; + } + + } + + [Serializable] + public class GroundPassiveSetting + { + public string SkillGroupId { get; set; } + public int SkillLevel { get; set; } + } + + public interface IDefaultStatChangeInfo + { + } + + [Serializable] + public class ArenaSetting + { + public long TeamLevel { get; set; } + public long RepresentCharacterId { get; set; } + public long RepresentCharacterCostumeId { get; set; } + public long ArenaMapUniqueId { get; set; } + public long EmblemId { get; set; } + } + + public class BlockedAreaBattleItem : BattleItem + { + private BlockedArea blockedArea; + } + + public abstract class NewSkillAction : HeroAction + { + public Vector2 RootMotionStartPosition; + public Vector2 RootMotionEndPosition; + private bool ignoreCrashByTSSObstacleCheck; + public SkillSpecification SkillSpecification { get; } + public TargetingType PrimaryTargetingType { get; } + public TargetCandidateRule PrimaryCandidateRule { get; } + public TargetSortRule PrimarySortRule { get; } + public SkillApplyType PrimarySkillApplyType { get; set; } + protected RootMotionFrame RootMotionFrame { get; } + public long Range { get; set; } + public long Angle { get; set; } + public long MinRange { get; set; } + protected SpawnDirectionTypes ExecuterDirectionType { get; } + public Vector2 ExecuterDirectionWorldPosition { get; } + public SpawnDirectionTypes CurrentInvokerDirectionType { get; set; } + public Vector2 CurrentInvokerDirectionWorldPosition { get; set; } + public SkillEntityDAO MainEntityData { get; } + public LevelRootMotionMoveValue RootMotionMove { get; } + public bool IsAttackEnterSkipByLastSkill { get; } + } + + public class SyncUseSkillGroup + { + private IEnumerator coTryToSkillUse; + public int SyncSkillUseGroupId { get; } + private int CoolDown { get; } + public int CoolDownCurrent { get; set; } + public List> CharacterList { get; set; } + public List> SupporterList { get; set; } + } + + [Serializable] + public class GroundGlobal + { + public Vector3 Position; + public List GroundEvents; + public Battle Battle { get; set; } + } + + public class GroundSection + { + public Vector3 Position; + public int SectionID; + public List EnemySpawnPointGroupList; + public List Obstacles; + public List AllEnemySpawnPoints; + public List EventList; + private bool Progress; + private Battle battle; + } + + [Serializable] + public class GroundFormation + { + public int SectionIndex; + public int Index; + public bool IgnorePathFind; + public bool IsEnemy; + public List Locations { get; set; } + public Vector2 Forward { get; set; } + public Vector2 Center { get; set; } + public float Height { get; set; } + } + + public class StatSnapshot + { + public StatType Stat { get; set; } + public long Start { get; set; } + public long End { get; set; } + + [JsonIgnore] + public long Diff { get; } + } + + public enum BattleLogCategory + { + None = 0, + Damage = 1, + Heal = 2, + } + + public enum BattleLogSourceType + { + None = 0, + Normal = 1, + Ex = 2, + Public = 3, + Passive = 4, + ExtraPassive = 5, + Etc = 6, + } + + [Serializable] + public struct KillLog : IEquatable + { + public int Frame { get; set; } + public EntityId EntityId { get; set; } + public bool Equals(KillLog other) + { + return default; + } + + } + + public struct SkillCostRegenSnapshot + { + public long Frame { get; set; } + public float Regen { get; set; } + } + + public enum TBGHexaObjectSpawnRule + { + Nothing = 0, + ObjectId = 1, + ObjectType = 2, + } + + public enum PassiveTriggerEvent + { + None = 0, + BattleEntity_NormalAttack = 2, + BattleEntity_UseSkillStart = 3, + BattleEntity_Attack = 4, + BattleEntity_Damaged = 5, + BattleEntity_Polling = 6, + BattleEntity_Heal = 7, + BattleEntity_Healed = 8, + BattleEntity_Dying = 9, + BattleEntity_Attacked = 11, + BattleEntity_Dodged = 12, + BattleEntity_AttackCritical = 13, + BattleEntity_Died = 14, + BattleEntity_KillEnemy = 15, + BattleEntity_Reload = 16, + BattleEntity_UseSkillEnd = 17, + BattleEntity_AddLogicEffectTemplate = 18, + BattleEntity_CoverStart = 19, + BattleEntity_CoverEnd = 20, + BattleEntity_DamageHit = 21, + BattleEntity_RemoveLogicEffectTemplate = 22, + BattleEntity_AddLogicEffectCategory = 23, + BattleEntity_AddLogicEffectGroupId = 24, + BattleEntity_RemoveLogicEffectGroupId = 25, + BattleEntity_KillAlly = 26, + BattleEntity_CountLogicEffectCategory = 27, + BattleEntity_UseExSkillCost = 28, + BattleEntity_AppliedLogicEffectCategory = 29, + BattleEntity_AppliedLogicEffectGroupId = 30, + BattleEntity_AppliedLogicEffectTemplate = 31, + BattleEntity_AppliedLogicEffectData = 32, + Immediate = 1, + Battle_Periodic = 105, + Battle_Polling = 101, + BattleEntityState_OnOff = 301, + BattleEntityState_NotMoving = 302, + BattleEntityState_Reloading = 303, + BattleEntityState_Moving = 304, + } + + public class DamageTransferEffect : LogicEffect + { + public BasisPoint TransferRatio { get; } + public int DurationFrame { get; } + public bool IsDispellable { get; } + public string TransferredDamageEffectGroupId { get; } + public int TransferredDamageEffectLevel { get; } + public override bool IsDurationChangedByStat { get; } + } + + public class HealConvertDamageEffect : LogicEffect + { + public BasisPoint TransferRatio { get; } + public int Duration { get; } + public bool Dispellable { get; } + public string DamageCheckGroupID { get; } + public string TransferredHealDamageGroupID { get; } + public bool ApplyDamageRatio { get; } + public bool ApplyDamageRatio2 { get; } + public override bool IsDurationChangedByStat { get; } + } + + public class StackDamageInfo + { + private StackDamageEffect stackDamageEffect; + private BattleEntity invoker; + private BattleEntity owner; + private Battle battle; + private StackDamageProcessor stackDamageProcessor; + public int Channel { get; } + public string GroupId { get; } + public int CurrentStackCount { get; set; } + public ExpirableObjectHolder DotAbility { get; } + } + + public class AccumulateEffectInfo + { + private BattleEntity invoker; + private BattleEntity owner; + private Battle battle; + private AccumulateEffectProcessor accumulateEffectProcessor; + private int StartedFrame; + public int Channel { get; } + public string GroupId { get; } + public ExpirableObjectHolder DotAbility { get; } + public AccumulateEffect AccumulateEffect { get; } + public long AccumulationAmountLimit { get; set; } + public long AccumulationLimitStat { get; set; } + public long LastAmount { get; set; } + public long AddedAmount { get; set; } + public long CurrentAmount { get; set; } + } + + public class GaugeEffectInfo + { + public List bindingStatChangeEffects; + private BattleEntity invoker; + private GaugeEffectProcessor gaugeEffectProcessor; + private int StartedFrame; + public int Channel { get; } + public string GroupId { get; } + public ExpirableObjectHolder DotAbility { get; } + public ChangeStatLogicApplicationGaugeEffect GaugeEffect { get; } + public BattleEntity Owner { get; set; } + public Battle Battle { get; set; } + public long gaugeValue { get; set; } + public float GaugePercent { get; } + } + + public interface IAmplifyDoTEffect + { + } + + public enum ManualSkillTypes + { + None = 0, + GroupBuff = 1, + StrategyBuff = 2, + EventBuff = 3, + } + + [Serializable] + public struct TargetFindRule : IEquatable, IMemoryPackable, IMemoryPackFormatterRegister + { + public static readonly TargetFindRule Empty; + public TargetSortRule Sort; + public EssentialCandidateRule EssentialCandidate; + public OptionalCandidateRule OptionalCandidate; + public bool Equals(TargetFindRule other) + { + return default; + } + + } + + public enum EntitySpawnRule + { + SpawnAll = 0, + SpawnOnlyOne = 1, + SpawnOnlyOnePerFrame = 2, + } + + public enum SkillToTargetDistributeType + { + None = 0, + EachToEachTarget = 1, + AllToOneTarget = 2, + OneToAllTarget = 3, + } + + public class SpawnCondition + { + public EntitySpawnCondition Condition; + public string ConditionParameter; + public EntitySpawnConditionCheckTarget ConditionCheckTarget; + public Hash64 ConditionParameterHash; + } + + public enum IncludeType + { + None = 0, + Include = 1, + Exclude = 2, + } + + public enum HPRateConstraintType + { + None = 0, + HPOver = 1, + HPUnder = 2, + } + + public class TargetProjectileEntityValue : ProjectileEntityValue + { + public TargetSideId ExtraHitCheckTargetSide { get; } + public TargetEntityType ExtraHitCheckTargetEntityType { get; } + public bool Piercing { get; } + public int MaxExtraHitCount { get; } + public long ReduceDamageRatePerHit { get; } + public long MaxReducedDamageRatePerHit { get; } + } + + public enum TransitionType + { + None = 0, + Linear = 1, + EaseIn = 2, + EaseOut = 3, + EaseInSine = 4, + EaseOutSine = 5, + EaseInOutSine = 6, + EaseInQuad = 7, + EaseOutQuad = 8, + EaseInOutQuad = 9, + EaseInCubic = 10, + EaseOutCubic = 11, + EaseInOutCubic = 12, + EaseInQuart = 13, + EaseOutQuart = 14, + EaseInOutQuart = 15, + EaseInQuint = 16, + EaseOutQuint = 17, + EaseInOutQuint = 18, + EaseInExpo = 19, + EaseOutExpo = 20, + EaseInOutExpo = 21, + EaseInCirc = 22, + EaseOutCirc = 23, + EaseInOutCirc = 24, + EaseInBack = 25, + EaseOutBack = 26, + EaseInOutBack = 27, + EaseInElastic = 28, + EaseOutElastic = 29, + EaseInOutElastic = 30, + EaseInBounce = 31, + EaseOutBounce = 32, + EaseInOutBounce = 33, + } + + public enum SkillProperty + { + None = 0, + ReuseCoolTime = 1, + CoolTime = 2, + CoolTimeAndStartCoolTime = 3, + ProjectileRange = 4, + TargetingRange = 5, + Invalid = 6, + } + + public enum StatEvalType + { + None = 0, + Base = 1, + Coefficient = 2, + } + + [Serializable] + public struct EchelonConstraint : IMemoryPackable, IMemoryPackFormatterRegister + { + public static readonly EchelonConstraint Empty; + public CountConstraint CountConstraint; + public SchoolConstraint SchoolConstraint; + public WeaponConstraint WeaponConstraint; + public bool IsEmpty { get; } + } + + public enum PassiveSkillTargetType + { + None = 0, + UseTriggerSource = 1, + UseTriggerTarget = 2, + UseSkillEntityTargetingRule = 3, + UseTriggerTargetExceptSelf = 4, + } + + public class BattleExpression : ExpressionContainer + { + private Battle battleCache { get; } + private BattleEntity entity { get; } + private Character entityAsCharacter { get; } + } + + public class PartialSelector : BehaviorNode + { + private List _behaviors; + private int _selections; + public IList Behaviors { get; } + } + + [Serializable] + public class GroundPoint : Entity + { + public int TileX; + public int TileY; + public float PositionHeight; + public Vector2 Position; + public Vector2 Direction; + } + + public enum LogicEffectEndCondition + { + None = 0, + Duration = 1, + ReloadCount = 2, + AmmoCount = 3, + AmmoHit = 4, + UseExSkillCount = 5, + } + + public class HealEffect : LogicEffect + { + public bool IsAccumulatedHeal { get; } + public long Amount { get; } + public StatType BonusSource { get; } + public BasisPoint BonusRate { get; } + public ExtraStatType ExtraStatSource { get; } + public BasisPoint ExtraStatRate { get; } + public BasisPoint PeriodMultiplier { get; set; } + public long AddFixedAmount { get; set; } + public bool TriggerOtherEffect { get; set; } + public override bool IsDurationChangedByStat { get; } + public bool ApplyHealRate { get; } + public bool ApplyHealRateByArmorType { get; } + public bool ApplyHealRateByBulletType { get; } + } + + public struct EquipmentOption : IComparable, IComparable, IEquatable + { + public EquipmentOptionType OptionType { get; set; } + public long Value { get; set; } + + [JsonIgnore] + public bool IsValid { get; } + public int CompareTo(object obj) + { + return default; + } + + public int CompareTo(EquipmentOption other) + { + return default; + } + + public bool Equals(EquipmentOption other) + { + return default; + } + + } + + [Serializable] + public abstract class SkillEntityDAO : IMemoryPackFormatterRegister + { + public string name; + public string EntityName; + public long SpawnRate; + public long SpawnDelay; + public SkillApplyType ApplyType; + public TransformDecideTiming DecideTiming; + public bool EntitySpawnIncludeOutOfRangeInputTarget; + public SpawnPositionTypes SpawnPositionType; + public Vector2 SpawnWorldPosition; + public Vector2 PositionOffset; + public int PositionRandomOffsetRange; + public SpawnDirectionTypes OffsetDirectionType; + public SpawnDirectionTypes SpawnDirectionType; + public bool OverrideTargetingRule; + public TargetSortRule TargetSortRule; + public EssentialCandidateRule EssentialCandidateRule; + public OptionalCandidateRule OptionalCandidateRule; + public HighlightOption HighlightOption; + public bool CheckSpawnPositionMovable; + } + + public class LevelRootMotionMoveValue : SkillEntityValue + { + public TargetEntityType CheckCollisionType; + public long MoveSpeed; + public float MoveSpeedInMeter; + public bool IgnoreMovableCheckInMove; + } + + [Serializable] + public class GroundEvent + { + public string EventName; + public OperatorType Operator; + public List Conditions; + public List Commands; + private bool ended; + [JsonIgnore] + public Battle Battle; + + [JsonIgnore] + public int SectionId { get; set; } + } + + [Serializable] + public class EnemySpawnPointGroup + { + public string GroupName; + public List SpawnPoints; + } + + public abstract class SpawnPointBase : GroundPoint + { + public char SpawnAIGroupId; + public List SpawnConditionIdList; + public List SpawnCommandIdList; + public List MovePoints; + + [JsonIgnore] + public bool Spawned { get; set; } + } + + public class Location + { + public Vector2 Position { get; set; } + public Vector2 LocalPosition { get; set; } + public GroundNode Node { get; set; } + public FormationLine Line { get; set; } + public int LineIndex { get; set; } + } + + public class StackDamageEffect : LogicEffect + { + public StackDamageEffectValue StackDamageEffectValue { get; } + public override bool IsDurationChangedByStat { get; } + } + + public class AccumulateEffect : LogicEffect + { + public AccumulateCheckType AccumulateType { get; } + public BasisPoint AccumulateRate { get; } + public TargetSideId AccumulateCasterTargetSideFilter { get; } + public StatType LimitSourceStat { get; } + public BasisPoint LimitSourceStatRate { get; } + public long LimitAmount { get; } + public ExecuteCondition ExecuteConditionType { get; } + public long ExecuteConditionAmount { get; } + public long DurationFrame { get; } + public List ExecuteLogicEffectGroupIdList { get; } + public override bool IsDurationChangedByStat { get; } + } + + public class ChangeStatLogicApplicationGaugeEffect : LogicEffect + { + public long MaxGauge; + private ChangeStatLogicApplicationGaugeEffectValue effectValue; + public BasisPoint SetGaugeEnergyToTargetHpRatio { get; } + public BasisPoint StartGaugeEnergyRatio { get; } + public bool Dispellable { get; } + public string UIPath { get; } + public List LogicEffectTypeReduceGauge { get; } + public override bool IsDurationChangedByStat { get; } + } + + [Serializable] + public struct EssentialCandidateRule : IEquatable, IMemoryPackable, IMemoryPackFormatterRegister + { + public static readonly EssentialCandidateRule Default; + public static readonly EssentialCandidateRule Empty; + public TargetSideId TargetSide; + public TargetingType TargetingType; + public TargetEntityType ApplyEntityType; + public int MaxTargetCount; + + [JsonIgnore] + public bool IsValid { get; } + public bool Equals(EssentialCandidateRule other) + { + return default; + } + + } + + [Serializable] + public struct OptionalCandidateRule : IEquatable, IMemoryPackable, IMemoryPackFormatterRegister + { + public static readonly OptionalCandidateRule Default; + public AliveState AliveState; + public SchoolConstraint SchoolConstraint; + public WeaponConstraint WeaponConstraint; + public SquadTypeConstraint SquadTypeConstraint; + public AdaptationConstraint AdaptationConstraint; + public BulletConstraint BulletConstraint; + public TacticRangeConstraint TacticRangeConstraint; + public TagConstraint TagConstraint; + public CoverState CoverState; + public HPRateConstraint HPRateConstraint; + public TacticRoleConstraint TacticRoleConstraint; + public bool Equals(OptionalCandidateRule other) + { + return default; + } + + } + + public enum EntitySpawnCondition + { + None = 0, + HPRateUnder = 1, + HPRateOver = 2, + IncludeLogicEffectTemplateId = 3, + ExcludeLogicEffectTemplateId = 4, + Rate = 5, + IncludeArmorType = 6, + ExcludeArmorType = 7, + SkillLevel = 8, + IncludeTag = 9, + ExcludeTag = 10, + } + + public enum EntitySpawnConditionCheckTarget + { + Caster = 0, + Target = 1, + SpawnEntityTarget = 2, + } + + [Serializable] + public struct CountConstraint : IEquatable, IMemoryPackable, IMemoryPackFormatterRegister + { + public static readonly CountConstraint Empty; + public int Count; + public DiffOperatorType DiffOperator; + public bool Equals(CountConstraint other) + { + return default; + } + + } + + public abstract class ExpressionContainer + { + protected Expression expression; + public Stack StackTrace { get; } + } + + public abstract class BehaviorNode + { + public BehaviorResult Result { get; set; } + } + + public enum ExtraStatType + { + None = 0, + InvokerCurrentHP = 1, + TargetCurrentHP = 2, + InvokerMaxHP = 3, + TargetMaxHP = 4, + InvokerLostHP = 5, + TargetLostHP = 6, + InvokerMaxHPCapGaugeValue = 7, + TargetMaxHPCapGaugeValue = 8, + InvokerDefaultDefense = 9, + TargetDefaultDefense = 10, + InvokerCurrentDefense = 11, + TargetCurrentDefense = 12, + } + + public enum HighlightOption + { + None = 0, + Highlight = 1, + HighlightAndFactor = 2, + } + + public enum OperatorType + { + AND = 0, + OR = 1, + } + + [Serializable] + public abstract class GroundCondition + { + public string ConditionID; + [JsonIgnore] + protected GroundEvent Event; + + [JsonIgnore] + public bool Achieve { get; set; } + } + + [Serializable] + public class GroundCommand + { + public string CommandID; + [JsonIgnore] + public GroundEvent Event; + [JsonIgnore] + public Action VisualizeDelegate; + public bool WaitExecuteEnd { get; set; } + + [JsonIgnore] + public bool Progress { get; set; } + } + + public class StackDamageEffectValue : LogicEffectValue + { + public ValueTuple[] ApplyLogifEffectList; + public string StackCountGroupId { get; } + public int ActuateStackCount { get; } + public string ActuateGroupId { get; } + public long DurationFrame { get; } + public bool Dispellable { get; } + public int Level { get; } + } + + public enum AccumulateCheckType + { + Damage = 0, + Heal = 1, + } + + public enum ExecuteCondition + { + OverAccumulateAmount = 0, + OverDuration = 1, + } + + public class ChangeStatLogicApplicationGaugeEffectValue : LogicEffectValue + { + public BasisPoint SetGaugeEnergyToTargetHpRatio { get; } + public BasisPoint StartGaugeEnergyRatio { get; } + public bool Dispellable { get; } + public List LogicEffectTypeReduceGauge { get; } + public string UIPath { get; } + } + + public enum DiffOperatorType + { + None = 0, + GreaterOrEqual = 1, + LessOrEqual = 2, + Equal = 3, + NotEqual = 4, + } + + public class Expression + { + private static bool _cacheEnabled; + private static Dictionary _compiledExpressions; + private static readonly ReaderWriterLock Rwl; + protected Dictionary ParameterEnumerators; + protected Dictionary ParametersBackup; + private EvaluateFunctionHandler EvaluateFunction; + private EvaluateParameterHandler EvaluateParameter; + private Dictionary _parameters; + private Stack stackTrace; + public EvaluateOptions Options { get; set; } + protected string OriginalExpression { get; } + public static bool CacheEnabled { get; set; } + public string Error { get; set; } + public LogicalExpression ParsedExpression { get; set; } + public Dictionary Parameters { get; set; } + public Stack StackTrace { get; } + } + + public sealed class EvaluateFunctionHandler + { + } + + public sealed class EvaluateParameterHandler + { + } + + public enum EvaluateOptions + { + None = 1, + IgnoreCase = 2, + NoCache = 4, + IterateParameters = 8, + RoundAwayFromZero = 16, + } + + public abstract class LogicalExpression + { + private const char BS = '\\'; + } + + + public struct Vector2 + { + public float x { get; set; } + public float y { get; set; } + } - [JsonIgnore] - public long TotalDamage { get; set; } - - [JsonIgnore] - public long CurrentDamage { get; set; } - - [JsonIgnore] - public long TotalGroggyPoint { get; set; } - - [JsonIgnore] - public long CurrentGroggyPoint { get; set; } - - [JsonIgnore] - public int TotalGroggyCount { get; set; } - - protected override int GetKeyForItem(RaidBossResult item) - { - return item.Index; - } - } - - public class RaidSummary - { - public long RaidSeasonId { get; set; } - - public long GivenDamage { get; set; } - - public int TotalGroggyCount { get; set; } - - public int RaidBossIndex { get; set; } - - public RaidBossResultCollection RaidBossResults { get; set; } - } - - // Battle? probably need to implement these our selves - public class BattleSummary : IEquatable - { - public long HashKey { get; set; } - - public bool IsBossBattle { get; set; } - - //public BattleTypes BattleType { get; set; } - - public long StageId { get; set; } - - public long GroundId { get; set; } - - //public GroupTag Winner { get; set; } - - [JsonIgnore] - public bool IsPlayerWin { get; set; } - - //public BattleEndType EndType { get; set; } - - public int EndFrame { get; set; } - - //public GroupSummary Group01Summary { get; set; } - - //public GroupSummary Group02Summary { get; set; } - - //public WeekDungeonSummary WeekDungeonSummary { get; set; } - - public RaidSummary RaidSummary { get; set; } - - //public ArenaSummary ArenaSummary { get; set; } - - [JsonIgnore] - public TimeSpan EndTime { get; set; } - - public int ContinueCount { get; set; } - - public float ElapsedRealtime { get; set; } - - [JsonIgnore] - public string FindGiftClearText { get; set; } - - [JsonIgnore] - public long EventContentId { get; set; } - - [JsonIgnore] - public long FixedEchelonId { get; set; } - - public bool IsAbort { get; set; } - - public bool Equals(BattleSummary? other) - { - return this.HashKey == other.HashKey; - } - } - - public class TypedJsonWrapper - { - - } - - public class AttendanceBookReward - { - public long UniqueId { get; set; } - - public AttendanceType Type { get; set; } - - public AccountState AccountType { get; set; } - - public long DisplayOrder { get; set; } - - public long AccountLevelLimit { get; set; } - - public string Title { get; set; } - - public string TitleImagePath { get; set; } - - public AttendanceCountRule CountRule { get; set; } - - public AttendanceResetType CountReset { get; set; } - - public long BookSize { get; set; } - - public DateTime StartDate { get; set; } - - public DateTime StartableEndDate { get; set; } - - public DateTime EndDate { get; set; } - - public long ExpiryDate { get; set; } - - public MailType MailType { get; set; } - - public Dictionary DailyRewardIcons { get; set; } - - public Dictionary> DailyRewards { get; set; } - } - - public enum OpenConditionLockReason - { - None = 0, - Level = 1, - StageClear = 2, - Time = 4, - Day = 8, - CafeRank = 16, - ScenarioModeClear = 32, - CafeOpen = 64 - } - - public enum ParcelChangeType - { - - NoChange, - - Terminated, - - MailSend, - - Converted - } - - // DB - public class WorldRaidLocalBossDB - { - public long SeasonId { get; set; } - public long GroupId { get; set; } - public long UniqueId { get; set; } - public bool IsScenario { get; set; } - public bool IsCleardEver { get; set; } - public long TacticMscSum { get; set; } - public RaidBattleDB RaidBattleDB { get; set; } - public bool IsContinue { get; set; } - } - - - public class WorldRaidSnapshot - { - public List WorldRaidLocalBossDBs { get; set; } - public List WorldRaidClearHistoryDBs { get; set; } - public List CampaignStageHistoryDBs { get; set; } - } - - - public class WorldRaidWorldBossDB - { - public long GroupId { get; set; } - public long HP { get; set; } - public long Participants { get; set; } - } - - - public class AcademyDB - { - public long AccountId { get; set; } - public DateTime LastUpdate { get; set; } - public Dictionary> ZoneVisitCharacterDBs { get; set; } - public Dictionary> ZoneScheduleGroupRecords { get; set; } - } - - - public class AcademyLocationDB - { - public long AccountId { get; set; } - public long LocationId { get; set; } - public long Rank { get; set; } - public long Exp { get; set; } - } - - - public class AcademyMessageDB - { - public long MessageServerId { get; set; } - public long MessageGroupId { get; set; } - public long MessageUniqueId { get; set; } - public long SelectedMessageUniqueId { get; set; } - public long CharacterServerId { get; set; } - public long CharacterUniqueId { get; set; } - public bool IsRead { get; set; } - } - - - public class AcademyMessageOutLineDB - { - public long CharacterUniqueId { get; set; } - public long NewMessageCount { get; set; } - public long LastMessageUniqueId { get; set; } - public long LastMessageServerId { get; set; } - } - - - public class AcademyScheduleDB - { - public long AccountServerId { get; set; } - public long ScheduleUniqueId { get; set; } - public long ScheduleGroupId { get; set; } - public long ZoneUniqueId { get; set; } - public DateTime LastUpdateDate { get; set; } - public int CompleteCount { get; set; } - } - - - public class AccountAchievementDB - { - public long AccountServerId { get; set; } - public long AchievementUniqueId { get; set; } - public long AchievementValue { get; set; } - } - - - public class AccountAttachmentDB - { - public long AccountId { get; set; } - public long EmblemUniqueId { get; set; } - } - - - public class AccountCurrencyDB - { - public long AccountLevel { get; set; } - public long AcademyLocationRankSum { get; set; } - public Dictionary CurrencyDict { get; set; } - public Dictionary UpdateTimeDict { get; set; } - } - - public class RaidInfo // custom class for all raid stuff needed - { - public long SeasonId { get; set; } - - public long CurrentRaidUniqueId { get; set; } - - public Difficulty CurrentDifficulty { get; set; } - - public long BestRankingPoint { get; set; } - - public long TotalRankingPoint { get; set; } - } - - public class AccountDB - { - [JsonIgnore] - public virtual ICollection Items { get; } - - [JsonIgnore] - public virtual ICollection Characters { get; } - - [JsonIgnore] - public virtual ICollection MissionProgresses { get; } - - [JsonIgnore] - public virtual ICollection Echelons { get; } - - [JsonIgnore] - public virtual ICollection Equipment { get; } - - [JsonIgnore] - public virtual ICollection Weapons { get; } - - [JsonIgnore] - public virtual ICollection Gears { get; } - - [JsonIgnore] - public virtual ICollection MemoryLobbies { get; } - - [JsonIgnore] - public virtual ICollection Scenarios { get; } - - [JsonIgnore] - public virtual ICollection Cafes { get; } - - [JsonIgnore] - public virtual ICollection Furnitures { get; } - - - [JsonIgnore] - public virtual RaidInfo RaidInfo { get; set; } - - public AccountDB() { - Items = new List(); - Characters = new List(); - MissionProgresses = new List(); - Echelons = new List(); - Equipment = new List(); - Weapons = new List(); - Gears = new List(); - MemoryLobbies = new List(); - Scenarios = new List(); - Cafes = new List(); - Furnitures = new List(); - } - - public AccountDB(long publisherAccountId) : this() - { - PublisherAccountId = publisherAccountId; - State = AccountState.Normal; - Level = 1; - LastConnectTime = DateTime.Now; - CreateDate = DateTime.Now; - RaidInfo = new() - { - SeasonId = 1, // default - BestRankingPoint = 0, - TotalRankingPoint = 0, - }; - } - - [Key] - public long ServerId { get; set; } - - public string? Nickname { get; set; } - - public string? CallName { get; set; } - - public string? DevId { get; set; } - - public AccountState State { get; set; } - - public int Level { get; set; } - - public long Exp { get; set; } - - public string? Comment { get; set; } - - public int LobbyMode { get; set; } - - public int RepresentCharacterServerId { get; set; } - - public long MemoryLobbyUniqueId { get; set; } - - public DateTime LastConnectTime { get; set; } - - public DateTime? BirthDay { get; set; } - - public DateTime CallNameUpdateTime { get; set; } - - public long PublisherAccountId { get; set; } - - public int? RetentionDays { get; set; } - - public int? VIPLevel { get; set; } - - public DateTime CreateDate { get; set; } - - public int? UnReadMailCount { get; set; } - - public DateTime? LinkRewardDate { get; set; } - } - - - public class ArenaBattleDB - { - public long ArenaBattleServerId { get; set; } - public long Season { get; set; } - public long Group { get; set; } - public DateTime BattleStartTime { get; set; } - public DateTime BattleEndTime { get; set; } - public long Seed { get; set; } - public ArenaUserDB AttackingUserDB { get; set; } - public ArenaUserDB DefendingUserDB { get; set; } - public BattleSummary BattleSummary { get; set; } - } - - - public class ArenaCharacterDB - { - public long ServerId { get; set; } - public long UniqueId { get; set; } - public int StarGrade { get; set; } - public int Level { get; set; } - public int PublicSkillLevel { get; set; } - public int ExSkillLevel { get; set; } - public int PassiveSkillLevel { get; set; } - public int ExtraPassiveSkillLevel { get; set; } - public int LeaderSkillLevel { get; set; } - public List EquipmentDBs { get; set; } - public Dictionary FavorRankInfo { get; set; } - public Dictionary PotentialStats { get; set; } - public WeaponDB WeaponDB { get; set; } - public GearDB GearDB { get; set; } - public CostumeDB CostumeDB { get; set; } - } - - - public class ArenaDamageReportDB - { - public long ArenaBattleServerId { get; set; } - public long WinnerAccountServerId { get; set; } - public ArenaUserDB AttackerUserDB { get; set; } - public ArenaUserDB DefenderUserDB { get; set; } - public DateTime BattleEndTime { get; set; } - public Dictionary AttackerDamageReport { get; set; } - public Dictionary DefenderDamageReport { get; set; } - } - - - public class ArenaHistoryDB - { - public ArenaBattleDB ArenaBattleDB { get; set; } - public DateTime BattleEndTime { get; set; } - public BattleSummary BattleSummary { get; set; } - public ArenaUserDB AttackingUserDB { get; set; } - public ArenaUserDB DefendingUserDB { get; set; } - public long WinnerAccountServerId { get; set; } - } - - - public class ArenaPlayerInfoDB - { - public long CurrentSeasonId { get; set; } - public long PlayerGroupId { get; set; } - public long CurrentRank { get; set; } - public long SeasonRecord { get; set; } - public long AllTimeRecord { get; set; } - public long CumulativeTimeReward { get; set; } - public DateTime TimeRewardLastUpdateTime { get; set; } - public DateTime BattleEnterActiveTime { get; set; } - public DateTime DailyRewardActiveTime { get; set; } - } - - public class ArenaTeamSettingDB - { - public EchelonType EchelonType { get; set; } - public long LeaderCharacterId { get; set; } - public long TSSInteractionCharacterId { get; set; } - public long TSSInteractionCharacterServerId { get; set; } - public IList MainCharacters { get; set; } - public IList SupportCharacters { get; set; } - public ArenaCharacterDB TSSCharacterDB { get; set; } - public int SquadCount { get; set; } - public long MapId { get; set; } - } - - - public class ArenaUserDB - { - public long AccountServerId { get; set; } - public long RepresentCharacterUniqueId { get; set; } - public long RepresentCharacterCostumeId { get; set; } - public string NickName { get; set; } - public long Rank { get; set; } - public long Level { get; set; } - public long Exp { get; set; } - public ArenaTeamSettingDB TeamSettingDB { get; set; } - public AccountAttachmentDB AccountAttachmentDB { get; set; } - public string UserName { get; set; } - } - - [Flags] - public enum AssistRelation - { - None = 0, - Clan = 1, - Friend = 2, - Cheat = 4 - } - - public class AssistCharacterDB : CharacterDB - { - public EchelonType EchelonType { get; set; } - public int SlotNumber { get; set; } - public long AccountId { get; set; } - public AssistRelation AssistRelation { get; set; } - public long AssistCharacterServerId { get; set; } - public string NickName { get; set; } - public List EquipmentDBs { get; set; } - public WeaponDB WeaponDB { get; set; } - public GearDB GearDB { get; set; } - public long CostumeId { get; set; } - public CostumeDB CostumeDB { get; set; } - public bool IsMulligan { get; set; } - public bool IsTSAInteraction { get; set; } - public bool HasWeapon { get; set; } - public bool HasGear { get; set; } - } - - - public class AttendanceHistoryDB - { - public long ServerId { get; set; } - public long AccountServerId { get; set; } - public long AttendanceBookUniqueId { get; set; } - public Dictionary AttendedDay { get; set; } - public bool Expired { get; set; } - public long LastAttendedDay { get; set; } - public DateTime LastAttendedDate { get; set; } - public Dictionary AttendedDayNullable { get; set; } - } - - - public class BanDB - { - public long ServerId { get; set; } - public long UniqueId { get; set; } - public DateTime BanStartDate { get; set; } - public DateTime BanEndDate { get; set; } - public DateTime RegisterDate { get; set; } - public byte CancelFlag { get; set; } - public DateTime CancelDate { get; set; } - public string Reason { get; set; } - } - - - public class BeforehandGachaSnapshotDB - { - public long ShopUniqueId { get; set; } - public long GoodsId { get; set; } - public long LastIndex { get; set; } - public List LastResults { get; set; } - public long? SavedIndex { get; set; } - public List SavedResults { get; set; } - public long? PickedIndex { get; set; } - } - - public enum ShopCashBlockType : long - { - All = -1L, - AppStore = -2L, - GooglePlay = -3L, - None = -9999L - } - - public class BlockedProductDB - { - public long CashProductId { get; set; } - public ShopCashBlockType MarketBlockType { get; set; } - public DateTime BeginDate { get; set; } - public DateTime EndDate { get; set; } - } - - - public class CafeDB - { - [JsonIgnore] - public virtual AccountDB Account { get; set; } - - [JsonIgnore] - public long AccountServerId { get; set; } - - [Key] - public long CafeDBId { get; set; } - - public long CafeId { get; set; } - - public long AccountId { get; set; } - public int CafeRank { get; set; } - public DateTime LastUpdate { get; set; } - public DateTime? LastSummonDate { get; set; } - - [NotMapped] - public bool IsNew { get; set; } - public Dictionary CafeVisitCharacterDBs { get; set; } - - public DateTime ProductionAppliedTime { get; set; } - - - [NotMapped] - public List FurnitureDBs { get => Account.Furnitures.Where(x => x.CafeDBId == CafeDBId).ToList(); } - - // TODO: fix this, probably needs another db for this, and link in OnModelCreate - [NotMapped] - public CafeProductionDB ProductionDB - { - get => new() - { - CafeDBId = 1, - AppliedDate = DateTime.UtcNow, - ProductionParcelInfos = [ - new() { Key = { Type = ParcelType.Currency, Id = 1 } }, // id 1 - new() { Key = { Type = ParcelType.Currency, Id = 5 } } - ], - }; - } - - public Dictionary CurrencyDict_Obsolete { get; set; } = new Dictionary(); - public Dictionary UpdateTimeDict_Obsolete { get; set; } = new Dictionary(); - } - - public class CafeProductionParcelInfo - { - public ParcelKeyPair Key { get; set; } = new() { Id = 1, Type = ParcelType.Currency }; - public long Amount { get; set; } - } - - public class CafeCharacterDB : VisitingCharacterDB - { - public bool IsSummon { get; set; } - - public DateTime LastInteractTime { get; set; } - - } - - public class CafePresetDB - { - public long ServerId { get; set; } - public int SlotId { get; set; } - public string PresetName { get; set; } - public bool IsEmpty { get; set; } - } - - - public class CafeProductionDB - { - public long CafeDBId { get; set; } - public long ComfortValue { get; set; } - public DateTime AppliedDate { get; set; } - public List ProductionParcelInfos { get; set; } - } - - - public class CampaignChapterClearRewardHistoryDB - { - public long AccountServerId { get; set; } - public long ChapterUniqueId { get; set; } - public StageDifficulty RewardType { get; set; } - public DateTime ReceiveDate { get; set; } - } - - - public class CampaignExtraStageSaveDB - { - public ContentType ContentType { get; set; } - } - - - public class CampaignMainStageSaveDB : ContentSaveDB - { - public ContentType ContentType { get; set; } - public CampaignState CampaignState { get; set; } - public int CurrentTurn { get; set; } - public int EnemyClearCount { get; set; } - public int LastEnemyEntityId { get; set; } - public int TacticRankSCount { get; set; } - public Dictionary EnemyInfos { get; set; } - public Dictionary EchelonInfos { get; set; } - public Dictionary> WithdrawInfos { get; set; } - public Dictionary StrategyObjects { get; set; } - public Dictionary> StrategyObjectRewards { get; set; } - public List StrategyObjectHistory { get; set; } - public Dictionary> ActivatedHexaEventsAndConditions { get; set; } - public Dictionary> HexaEventDelayedExecutions { get; set; } - public Dictionary TileMapStates { get; set; } - public List DisplayInfos { get; set; } - public List DeployedEchelonInfos { get; set; } - } - - public class HexaTileState - { - public int Id { get; set; } - public bool IsHide { get; set; } - public bool IsFog { get; set; } - public bool CanNotMove { get; set; } - } - - public enum HexaDisplayType - { - None, - EndBattle, - PlayScenario, - SpawnUnitFromUniqueId, - StatBuff, - DieUnit, - HideStrategy, - SpawnUnit, - SpawnStrategy, - SpawnTile, - HideTile, - ClearFogOfWar, - MoveUnit, - WarpUnit, - SetTileMovablity, - WarpUnitFromHideTile, - BossExile - } - - public class StrategyClearRewardInfo - { - public List FirstClearRewarde { get; set; } - public List ThreeStarRewarde { get; set; } - public Dictionary> StrategyObjectRewardse { get; set; } - public ParcelResultDB ParcelResultDBe { get; set; } - - [JsonIgnore] - public List ClearRewarde { get; set; } - - [JsonIgnore] - public List ExpRewarde { get; set; } - - [JsonIgnore] - public List TotalRewarde { get; set; } - - [JsonIgnore] - public List EventContentRewarde { get; set; } - - public List EventContentBonusRewarde { get; set; } - public CampaignStageHistoryDB CampaignStageHistoryDBe { get; set; } - } - - public class HexaDisplayInfo - { - public HexaDisplayType Type { get; set; } - public long EntityId { get; set; } - public long UniqueId { get; set; } - public HexLocation Location { get; set; } - public long Parameter { get; set; } - public StrategyClearRewardInfo StageRewardInfo { get; set; } - } - - public class HexaUnit - { - public List BuffGroupIds { get; set; } - public SkillCardHand SkillCardHand { get; set; } - public bool PlayAnimation { get; set; } - - [JsonIgnore] - public Dictionary> RewardItems { get; set; } - - public long EntityId { get; set; } - - public Dictionary HpInfos { get; set; } - - public Dictionary DyingInfos { get; set; } - - public Dictionary BuffInfos { get; set; } - - public int ActionCountMax { get; set; } - - public int ActionCount { get; set; } - - public int Mobility { get; set; } - - public int StrategySightRange { get; set; } - - public long Id { get; set; } - - public Vector3 Rotate { get; set; } - - public HexLocation Location { get; set; } - - public HexLocation AIDestination { get; set; } - - public bool IsActionComplete { get; set; } - - public bool IsPlayer { get; set; } - - public bool IsFixedEchelon { get; set; } - - public int MovementOrder { get; set; } - - public Dictionary> RewardParcelInfosWithDropTacticEntityType { get; set; } - - [JsonIgnore] - public CampaignUnitExcel CampaignUnitExcel { get; set; } - - [JsonIgnore] - public List MovableTiles { get; set; } - - [JsonIgnore] - public List> MovementMap { get; set; } - } - - public class HexaTile - { - public bool PlayAnimation { get; set; } - - [JsonIgnore] - public bool IsBattleReady { get; set; } - - - [JsonIgnore] - public bool StartTile { get; set; } - public string ResourcePath { get; set; } - public bool IsHide { get; set; } - public bool IsFog { get; set; } - public bool CanNotMove { get; set; } - public HexLocation Location { get; set; } - public Strategy Strategy { get; set; } - public HexaUnit Unit { get; set; } - - [JsonIgnore] - public HexaUnit ChallengeUnit { get; set; } - } - - public class Strategy - { - public bool PlayAnimation { get; set; } - public bool Activated { get; set; } - public List Values { get; set; } - public int Index { get; set; } - [JsonIgnore] - public bool Movable { get; set; } - - [JsonIgnore] - public bool NeedValueType { get; set; } - public long EntityId { get; set; } - public Vector3 Rotate { get; set; } - public long Id { get; set; } - public HexLocation Location { get; set; } - - [JsonIgnore] - public CampaignStrategyObjectExcel CampaignStrategyExcel { get; set; } - } - - public struct HexLocation - { - public int x { get; set; } - public int y { get; set; } - public int z { get; set; } - } - - public class ForceSerializeZeroFloatConverter : JsonConverter - { - public override float Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) - { - return reader.GetSingle(); - } - - public override void Write(Utf8JsonWriter writer, float value, JsonSerializerOptions options) - { - writer.WriteNumberValue(value); - } - } public struct Vector3 { - [JsonConverter(typeof(ForceSerializeZeroFloatConverter))] public float x { get; set; } - - [JsonConverter(typeof(ForceSerializeZeroFloatConverter))] public float y { get; set; } - - [JsonConverter(typeof(ForceSerializeZeroFloatConverter))] public float z { get; set; } } - public class SkillCardHand - { - public float Cost { get; set; } - - public List SkillCardsInHand { get; set; } - - } - - public struct SkillCardInfo - { - public long CharacterId { get; set; } - public int HandIndex { get; set; } - public string SkillId { get; set; } - public int RemainCoolTime { get; set; } - } - - public class CampaignStageHistoryDB - { - public long AccountServerId { get; set; } - public long StoryUniqueId { get; set; } - public long ChapterUniqueId { get; set; } - public long StageUniqueId { get; set; } - public long TacticClearCountWithRankSRecord { get; set; } - public long ClearTurnRecord { get; set; } - public long BestStarRecord { get; set; } - public bool Star1Flag { get; set; } - public bool Star2Flag { get; set; } - public bool Star3Flag { get; set; } - public DateTime LastPlay { get; set; } - public long TodayPlayCount { get; set; } - public long TodayPurchasePlayCountHardStage { get; set; } - public DateTime? FirstClearRewardReceive { get; set; } - public DateTime? StarRewardReceive { get; set; } - public bool IsClearedEver { get; set; } - public long TodayPlayCountForUI { get; set; } - } - - - public class CampaignSubStageSaveDB - { - public ContentType ContentType { get; set; } - } - - - public class CampaignTutorialStageSaveDB - { - public ContentType ContentType { get; set; } - } - - - public class CardShopElementDB - { - public long EventContentId { get; set; } - public int SlotNumber { get; set; } - public long CardShopElementId { get; set; } - public bool SoldOut { get; set; } - } - - - public class CardShopPurchaseHistoryDB - { - public long EventContentId { get; set; } - public Rarity Rarity { get; set; } - public long PurchaseCount { get; set; } - } - - - public class CharacterDB : ParcelBase - { - [NotMapped] - public override ParcelType Type { get => ParcelType.Character; } - - [JsonIgnore] - public virtual AccountDB Account { get; set; } - - [JsonIgnore] - public long AccountServerId { get; set; } - - [JsonIgnore] - [NotMapped] - public override IEnumerable ParcelInfos { get; } - - [Key] - public long ServerId { get; set; } - public long UniqueId { get; set; } - public int StarGrade { get; set; } = 1; - public int Level { get; set; } = 1; - public long Exp { get; set; } = 0; - public int FavorRank { get; set; } = 1; - public long FavorExp { get; set; } = 0; - public int PublicSkillLevel { get; set; } = 1; - public int ExSkillLevel { get; set; } = 1; - public int PassiveSkillLevel { get; set; } = 1; - public int ExtraPassiveSkillLevel { get; set; } = 1; - public int LeaderSkillLevel { get; set; } = 1; - - [NotMapped] - public bool IsNew { get; set; } = true; - public bool IsLocked { get; set; } = true; - public bool IsFavorite { get; set; } - public List EquipmentServerIds { get; set; } = []; - public Dictionary PotentialStats { get; set; } = []; - public Dictionary EquipmentSlotAndDBIds { get; set; } = []; - } - - - public class ClanAssistRentHistoryDB - { - public long AssistCharacterAccountId { get; set; } - public long AssistCharacterDBId { get; set; } - public DateTime RentDate { get; set; } - } - - - public class ClanAssistRewardInfo - { - public long CharacterDBId { get; set; } - public DateTime DeployDate { get; set; } - public long RentCount { get; set; } - public List CumultativeRewardParcels { get; set; } - public List RentRewardParcels { get; set; } - } - - - public class ClanAssistSlotDB - { - public EchelonType EchelonType { get; set; } - public long SlotNumber { get; set; } - public long CharacterDBId { get; set; } - public DateTime DeployDate { get; set; } - public long TotalRentCount { get; set; } - } - - - public class ClanAssistUseInfo - { - public long CharacterAccountId { get; set; } - public long CharacterDBId { get; set; } - public EchelonType EchelonType { get; set; } - public int SlotNumber { get; set; } - //public AssistRelation AssistRelation { get; set; } - public int EchelonSlotType { get; set; } - public int EchelonSlotIndex { get; set; } - public long DecodedShardId { get; set; } - public long DecodedCharacterDBId { get; set; } - public bool IsMulligan { get; set; } - public bool IsTSAInteraction { get; set; } - } - - - public class ClanDB - { - public long ClanDBId { get; set; } - public string ClanName { get; set; } - public string ClanChannelName { get; set; } - public string ClanPresidentNickName { get; set; } - public long ClanPresidentRepresentCharacterUniqueId { get; set; } - public long ClanPresidentRepresentCharacterCostumeId { get; set; } - public string ClanNotice { get; set; } - public long ClanMemberCount { get; set; } - public ClanJoinOption ClanJoinOption { get; set; } - } - - - public class ClanMemberDB - { - public long AccountId { get; set; } - public long AccountLevel { get; set; } - public string AccountNickName { get; set; } - public long ClanDBId { get; set; } - public long RepresentCharacterUniqueId { get; set; } - public long RepresentCharacterCostumeId { get; set; } - public long AttendanceCount { get; set; } - public ClanSocialGrade ClanSocialGrade { get; set; } - public DateTime JoinDate { get; set; } - public DateTime SocialGradeUpdateTime { get; set; } - public DateTime LastLoginDate { get; set; } - public DateTime GameLoginDate { get; set; } - public DateTime AppliedDate { get; set; } - public AccountAttachmentDB AttachmentDB { get; set; } - } - - - public class ClanMemberDescriptionDB - { - public long Exp { get; set; } - public string Comment { get; set; } - public int CollectedCharactersCount { get; set; } - public long ArenaSeasonBestRanking { get; set; } - public long ArenaSeasonCurrentRanking { get; set; } - } - - - public class ClearDeckCharacterDB - { - public long UniqueId { get; set; } - public int StarGrade { get; set; } - public int Level { get; set; } - public int SlotNumber { get; set; } - public bool HasWeapon { get; set; } - public SquadType SquadType { get; set; } - public int WeaponStarGrade { get; set; } - } - - - public class ClearDeckDB - { - public List ClearDeckCharacterDBs { get; set; } - public List MulliganUniqueIds { get; set; } - public long LeaderUniqueId { get; set; } - public long TSSInteractionUniqueId { get; set; } - public EchelonType EchelonType { get; set; } - public long EchelonExtensionType { get; set; } - } - - public class ClearDeckKey - { - public ContentType ContentType { get; set; } - public long[] Arguments { get; private set; } - } - - - public class ConquestEchelonDB - { - public long EventContentId { get; set; } - public StageDifficulty Difficulty { get; set; } - public long TileUniqueId { get; set; } - public EchelonDB EchelonDB { get; set; } - public long AssistCharacterUniqueId { get; set; } - public ClanAssistUseInfo AssistUseInfo { get; set; } - } - - - public class ConquestErosionDB - { - //public ConquestEventObjectType ObjectType { get; set; } - public long ErosionId { get; set; } - public long ConditionSnapshot { get; set; } - public DateTime CreateDate { get; set; } - } - - - public class ConquestEventObjectDB - { - public long ConquestObjectDBId { get; set; } - public long EventContentId { get; set; } - public StageDifficulty Difficulty { get; set; } - public long TileUniqueId { get; set; } - public long ObjectId { get; set; } - //public ConquestEventObjectType ObjectType { get; set; } - public bool IsAlive { get; set; } - } - - - public class ConquestInfoDB - { - public long AccountId { get; set; } - public long EventContentId { get; set; } - public int EventGauge { get; set; } - public int EventSpawnCount { get; set; } - public int EchelonChangeCount { get; set; } - public int TodayConquestRentCount { get; set; } - public int TodayOperationRentCount { get; set; } - public long CumulatedConditionValue { get; set; } - public long ReceivedCalculateRewardConditionAmount { get; set; } - public long CalculateRewardConditionValue { get; set; } - public long? AlertMassErosionId { get; set; } - } - - - public class ConquestMainStoryStepSummary - { - public long ConqueredTileCount { get; set; } - public long AllTileCount { get; set; } - public bool IsStepOpen { get; set; } - } - - - public class ConquestMainStorySummary - { - public long EventContentId { get; set; } - public StageDifficulty Difficulty { get; set; } - public Dictionary ConquestStepSummaryDict { get; set; } - } - - - public class ConquestStageSaveDB - { - public ContentType ContentType { get; set; } - public long? ConquestEventObjectDBId { get; set; } - public long EventContentId { get; set; } - public StageDifficulty Difficulty { get; set; } - public long TileUniqueId { get; set; } - public long TilePresetId { get; set; } - public ConquestTileType ConquestTileType { get; set; } - public bool UseManageEchelon { get; set; } - public AssistCharacterDB AssistCharacterDB { get; set; } - public int EchelonSlotType { get; set; } - public int EchelonSlotIndex { get; set; } - } - - - public class ConquestStepSummary - { - public long ConqueredTileCount { get; set; } - public long AllTileCount { get; set; } - public long ErosionRemainingCount { get; set; } - public bool HasPhaseComplete { get; set; } - public bool IsErosionPhaseStart { get; set; } - public bool IsStepOpen { get; set; } - } - - - public class ConquestSummary - { - public long EventContentId { get; set; } - public StageDifficulty Difficulty { get; set; } - public Dictionary ConquestStepSummaryDict { get; set; } - } - - - public class ConquestTileDB - { - public long EventContentId { get; set; } - public StageDifficulty Difficulty { get; set; } - public long TileUniqueId { get; set; } - public TileState TileState { get; set; } - public long Level { get; set; } - public DateTime CreateTime { get; set; } - public bool IsThreeStarClear { get; set; } - public bool IsAnyStarClear { get; set; } - public long BestStarRecord { get; set; } - public bool[] StarFlags { get; set; } - } - - public class ConquestTreasureBoxDB - { - //public ConquestEventObjectType ObjectType { get; set; } - } - - - public class ConquestUnexpectedEnemyDB - { - public long UnitId { get; set; } - //public ConquestEventObjectType ObjectType { get; set; } - } - - - public abstract class ConsumableItemBaseDB : ParcelBase - { - [JsonIgnore] - public virtual AccountDB Account { get; set; } - - [JsonIgnore] - public abstract bool CanConsume { get; } - - [JsonIgnore] - public ParcelKeyPair Key { get; } - - [JsonIgnore] - public long AccountServerId { get; set; } - - [Key] - public long ServerId { get; set; } - - public long UniqueId { get; set; } - - public long StackCount { get; set; } - } - - - public class ConsumeRequestDB - { - public Dictionary ConsumeItemServerIdAndCounts { get; set; } - public Dictionary ConsumeEquipmentServerIdAndCounts { get; set; } - public Dictionary ConsumeFurnitureServerIdAndCounts { get; set; } - public bool IsItemsValid { get; set; } - public bool IsEquipmentsValid { get; set; } - public bool IsFurnituresValid { get; set; } - public bool IsValid { get; set; } - } - - - public class ConsumeResultDB - { - public List RemovedItemServerIds { get; set; } - public List RemovedEquipmentServerIds { get; set; } - public List RemovedFurnitureServerIds { get; set; } - public Dictionary UsedItemServerIdAndRemainingCounts { get; set; } - public Dictionary UsedEquipmentServerIdAndRemainingCounts { get; set; } - public Dictionary UsedFurnitureServerIdAndRemainingCounts { get; set; } - } - - - public class ContentSaveDB - { - public ContentType ContentType { get; set; } - public long AccountServerId { get; set; } - public DateTime CreateTime { get; set; } - public long StageUniqueId { get; set; } - public long LastEnterStageEchelonNumber { get; set; } - public List StageEntranceFee { get; set; } - public Dictionary EnemyKillCountByUniqueId { get; set; } - public long TacticClearTimeMscSum { get; set; } - public long AccountLevelWhenCreateDB { get; set; } - public string BIEchelon { get; set; } - public string BIEchelon1 { get; set; } - public string BIEchelon2 { get; set; } - public string BIEchelon3 { get; set; } - public string BIEchelon4 { get; set; } - } - - - public class ContentsValueChangeDB - { - public ContentsChangeType ContentsChangeType { get; set; } - } - - - public class CostumeDB : ParcelBase - { - [JsonIgnore] - public override IEnumerable ParcelInfos { get; } - - public override ParcelType Type { get => ParcelType.Costume; } - - public long BoundCharacterServerId { get; set; } - - public long UniqueId { get; set; } - } - - - public class CraftInfoDB - { - public long SlotSequence { get; set; } - public DateTime StartTime { get; set; } - public DateTime EndTime { get; set; } - public DateTime CraftSlotOpenDate { get; set; } - public List Nodes { get; set; } - public IEnumerable ResultIds { get; set; } - public IEnumerable RewardParcelInfos { get; set; } - } - - - public class CraftNodeDB - { - public CraftNodeTier NodeTier { get; set; } - public long SlotSequence { get; set; } - public long NodeId { get; set; } - public long NodeQuality { get; set; } - public long NodeLevel { get; set; } - public int NodeRandomSeed { get; set; } - public int NodeRandomSequence { get; set; } - public List LeafNodeIds { get; set; } - public long ResultId { get; set; } - public CraftNodeResult CraftNodeResult { get; set; } - public ParcelInfo RewardParcelInfo { get; set; } - } - - - public class CraftNodeResult - { - public CraftNodeTier NodeTier { get; set; } - public ParcelInfo ParcelInfo { get; set; } - } - - - public class CraftPresetNodeDB - { - public CraftNodeTier NodeTier { get; set; } - public bool IsActivated { get; set; } - public long PriortyNodeId { get; set; } - public ConsumeRequestDB ConsumeRequestDB { get; set; } - } - - - public class CraftPresetSlotDB + public interface IMemoryPackFormatterRegister { - public List PresetNodeDBs { get; set; } } - public class DailyResetCount + public interface IMemoryPackable { - public long AccountId { get; set; } - public DateTime UpdateDate { get; set; } - public long ResetContentCode { get; set; } - public long ResetCount { get; set; } - public ResetContentType ResetContentType { get; set; } } - public class DailyResetCountDB - { - public long AccountServerId { get; set; } - public Dictionary ResetCount { get; set; } - } + public class TypedJsonWrapper where T : class + { + public string JsonWithType { get; set; } + } - public class DetailedAccountInfoDB - { - public string Nickname { get; set; } - public long Level { get; set; } - public string ClanName { get; set; } - public string Comment { get; set; } - public long FriendCount { get; set; } - public string FriendCode { get; set; } - public long RepresentCharacterUniqueId { get; set; } - public long CharacterCount { get; set; } - public long? LastNormalCampaignClearStageId { get; set; } - public long? LastHardCampaignClearStageId { get; set; } - public long? ArenaRanking { get; set; } - public long? RaidRanking { get; set; } - public int? RaidTier { get; set; } - public long? EliminateRaidRanking { get; set; } - public int? EliminateRaidTier { get; set; } - public AssistCharacterDB[] AssistCharacterDBs { get; set; } - } - - public enum EchelonStatusFlag + public class ExpirableObjectHolder : IEquatable> { - None, - BeforeDeploy, - OnDuty - } + public T Value { get; set; } - public class EchelonDB - { - [Key] - [JsonIgnore] - public long ServerId { get; set; } + public int Elapsed { get; set; } - [JsonIgnore] - public virtual AccountDB Account { get; set; } + public int DurationFrame { get; set; } - [JsonIgnore] - public long AccountServerId { get; set; } + public int RemainDuration { get; set; } - public EchelonType EchelonType { get; set; } - public long EchelonNumber { get; set; } - public EchelonExtensionType ExtensionType { get; set; } - public long LeaderServerId { get; set; } - public List MainSlotServerIds { get; set; } = []; - public List SupportSlotServerIds { get; set; } = []; - public long TSSInteractionServerId { get; set; } - public EchelonStatusFlag UsingFlag { get; set; } - public List SkillCardMulliganCharacterIds { get; set; } = []; - public int[] CombatStyleIndex { get; set; } = []; - } + public bool IsExpired { get; set; } + public bool IsRemoved { get; set; } - public class EchelonPresetDB - { - public int GroupIndex { get; set; } - public int Index { get; set; } - public string Label { get; set; } - public long LeaderUniqueId { get; set; } - public long TSSInteractionUniqueId { get; set; } - public List MulliganUniqueIds { get; set; } - public EchelonExtensionType ExtensionType { get; set; } - public int StrikerSlotCount { get; set; } - public int SpecialSlotCount { get; set; } - public long[] SpecialUniqueIds { get; set; } - public long[] StrikerUniqueIds { get; set; } - } - - - public class EchelonPresetGroupDB - { - public int GroupIndex { get; set; } - public EchelonExtensionType ExtensionType { get; set; } - public string GroupLabel { get; set; } - public Dictionary PresetDBs { get; set; } - public EchelonPresetDB Item { get; set; } - } - - - public class EliminateRaidLobbyInfoDB : RaidLobbyInfoDB - { - public List OpenedBossGroups { get; set; } - public Dictionary BestRankingPointPerBossGroup { get; set; } - } - - - public class EmblemDB - { - public ParcelType Type { get; set; } - public long UniqueId { get; set; } - public DateTime ReceiveDate { get; set; } - public IEnumerable ParcelInfos { get; set; } - } - - - public class EquipmentBatchGrowthRequestDB - { - public long TargetServerId { get; set; } - public List ConsumeRequestDBs { get; set; } - public long AfterTier { get; set; } - public long AfterLevel { get; set; } - public long AfterExp { get; set; } - public List ReplaceInfos { get; set; } - } - - - public class EquipmentDB : ConsumableItemBaseDB - { - [NotMapped] - public override ParcelType Type { get => ParcelType.Equipment; } + public bool IsDispelled { get; set; } - [NotMapped] - [JsonIgnore] - public override IEnumerable ParcelInfos { get; } - - [JsonIgnore] - public override bool CanConsume { get => false; } - - public int Level { get; set; } - public long Exp { get; set; } - public int Tier { get; set; } - public long BoundCharacterServerId { get; set; } - - [NotMapped] - public bool IsNew { get; set; } - public bool IsLocked { get; set; } - } - - - public class EquipmentExcelData - { - public ParcelType Type { get; set; } - public long UniqueId { get; set; } - public long ShiftingCraftQuality { get; set; } - public long StackableMax { get; set; } - public Rarity Rarity { get; set; } - public IReadOnlyList Tags { get; set; } - public IReadOnlyDictionary CraftQualityDict { get; set; } - public EquipmentExcel _excel { get; set; } - } - - - public class EventContentBonusRewardDB - { - public long EventContentId { get; set; } - public long EventStageUniqueId { get; set; } - public ParcelInfo BonusParcelInfo { get; set; } - } - - - public class EventContentBoxGachaData - { - public long EventContentId { get; set; } - public Dictionary Variations { get; set; } - } - - - public class EventContentBoxGachaDB - { - public long AccountId { get; set; } - public long EventContentId { get; set; } - public long Seed { get; set; } - public long Round { get; set; } - public int PurchaseCount { get; set; } - } - - - public class EventContentBoxGachaElement - { - public long EventContentId { get; set; } - public long VariationId { get; set; } - public long Round { get; set; } - public long GroupId { get; set; } - public long UniqueId { get; set; } - public bool IsPrize { get; set; } - public List Rewards { get; set; } - } - - - public class EventContentBoxGachaRoundElement - { - public long EventContentId { get; set; } - public long VariationId { get; set; } - public long Round { get; set; } - public List Elements { get; set; } - } + private Character OwnerCharacter { get; set; } + private BattleEntity OwnerBattleEntity { get; set; } - public class EventContentBoxGachaVariation - { - public long EventContentId { get; set; } - public long VariationId { get; set; } - public Dictionary GachaRoundElements { get; set; } - } - - - public class EventContentChangeDB - { - public long AccountId { get; set; } - public long EventContentId { get; set; } - public long UseAmount { get; set; } - public long ChangeCount { get; set; } - public long AccumulateChangeCount { get; set; } - public DateTime LastUpdateDate { get; set; } - public bool ChangeFlag { get; set; } - } - - - public class EventContentCollectionDB - { - public long EventContentId { get; set; } - public long GroupId { get; set; } - public long UniqueId { get; set; } - public DateTime ReceiveDate { get; set; } - } - - - public class EventContentDiceRaceDB - { - public long EventContentId { get; set; } - public long Node { get; set; } - public long LapCount { get; set; } - public long DiceRollCount { get; set; } - public long ReceiveRewardLapCount { get; set; } - } - - - public class EventContentDiceResult - { - public int Index { get; set; } - public int MoveAmount { get; set; } - public List Rewards { get; set; } - } - - - public class EventContentFortuneGachaStackCountDB - { - public long AccountId { get; set; } - public long EventContentId { get; set; } - public int GachaStackCount { get; set; } - } - - - public class EventContentLocationDB - { - public long AccountId { get; set; } - public long LocationId { get; set; } - public long Rank { get; set; } - public long Exp { get; set; } - public long ScheduleCount { get; set; } - public Dictionary> ZoneVisitCharacterDBs { get; set; } - } - - - public class EventContentMainGroundStageSaveDB - { - public ContentType ContentType { get; set; } - } - - - public class EventContentMainStageSaveDB - { - public ContentType ContentType { get; set; } - public Dictionary SelectedBuffDict { get; set; } - public bool IsBuffSelectPopupOpen { get; set; } - public long CurrentAppearedBuffGroupId { get; set; } - } - - - public class EventContentPermanentDB - { - public long EventContentId { get; set; } - public bool IsStageAllClear { get; set; } - } - - - public class EventContentStoryStageSaveDB - { - public ContentType ContentType { get; set; } - } - - - public class EventContentSubStageSaveDB - { - public ContentType ContentType { get; set; } - } - - - public class EventContentTreasureBoardHistory - { - public List TreasureIds { get; set; } - public List NormalCells { get; set; } - public List Treasures { get; set; } - } - - - public class EventContentTreasureCell - { - public int X { get; set; } - public int Y { get; set; } - } - - - public class EventContentTreasureHistoryDB - { - public long EventContentId { get; set; } - public int Round { get; set; } - public EventContentTreasureBoardHistory Board { get; set; } - public bool IsComplete { get; set; } - public List HintTreasures { get; set; } - public int MetaRound { get; set; } - public bool CanComplete { get; set; } - public bool CanFlip { get; set; } - //public EventContentTreasureInfo TreasureInfo { get; set; } - //public EventContentTreasureRoundInfo TreasureRoundInfo { get; set; } - } - - - public class EventContentTreasureObject - { - public long ServerId { get; set; } - public long RewardId { get; set; } - public int Rotation { get; set; } - public bool IsHiddenImage { get; set; } - public List Cells { get; set; } - } - - - public class EventContentTreasureSaveBoard - { - public long VariationId { get; set; } - public int Round { get; set; } - public List TreasureObjects { get; set; } - } - - - public class EventInfoDB - { - public long EventId { get; set; } - public uint ImageNameHash { get; set; } - } - - - public class EventRewardIncreaseDB - { - public EventTargetType EventTargetType { get; set; } - public BasisPoint Multiplier { get; set; } - public DateTime BeginDate { get; set; } - public DateTime EndDate { get; set; } - } - - - public class FieldStageSaveDB - { - public ContentType ContentType { get; set; } - } - - public class FriendDB - { - public long AccountId; - - public int Level; - - public string Nickname; - - public DateTime LastConnectTime; - - public long RepresentCharacterUniqueId; - - public long RepresentCharacterCostumeId; - - public long FriendCount; - - public AccountAttachmentDB AttachmentDB; - } - - public class FriendIdCardDB - { - public int Level { get; set; } - public string FriendCode { get; set; } - public string Comment { get; set; } - public DateTime LastConnectTime { get; set; } - public long RepresentCharacterUniqueId { get; set; } - public long RepresentCharacterCostumeId { get; set; } - public bool SearchPermission { get; set; } - public bool AutoAcceptFriendRequest { get; set; } - public long CardBackgroundId { get; set; } - public bool ShowAccountLevel { get; set; } - public bool ShowFriendCode { get; set; } - public bool ShowRaidRanking { get; set; } - public bool ShowArenaRanking { get; set; } - public bool ShowEliminateRaidRanking { get; set; } - public long? ArenaRanking { get; set; } - public long? RaidRanking { get; set; } - public int? RaidTier { get; set; } - public long? EliminateRaidRanking { get; set; } - public int? EliminateRaidTier { get; set; } - public long EmblemId { get; set; } - } - - - public class FurnitureDB : ConsumableItemBaseDB - { - public override ParcelType Type { get => ParcelType.Furniture; } - - [NotMapped] - [JsonIgnore] - public override IEnumerable ParcelInfos { get; } - - [JsonIgnore] - public override bool CanConsume { get => false; } - - public FurnitureLocation Location { get; set; } - public long CafeDBId { get; set; } - public float PositionX { get; set; } - public float PositionY { get; set; } - public float Rotation { get; set; } - public long ItemDeploySequence { get; set; } - } - - - public class FurnitureExcelData - { - public ParcelType Type { get; set; } - public long UniqueId { get; set; } - public long ShiftingCraftQuality { get; set; } - public long StackableMax { get; set; } - public Rarity Rarity { get; set; } - public IReadOnlyList Tags { get; set; } - public IReadOnlyDictionary CraftQualityDict { get; set; } - public FurnitureExcel _excel { get; set; } - } - - - public class GachaLogDB - { - public long CharacterId { get; set; } - } - - - public class GearDB : ParcelBase - { - [NotMapped] - public override ParcelType Type { get => ParcelType.CharacterGear; } - - [NotMapped] - [JsonIgnore] - public override IEnumerable ParcelInfos { get; } - - [JsonIgnore] - public virtual AccountDB Account { get; set; } - - [JsonIgnore] - public long AccountServerId { get; set; } - - [Key] - public long ServerId { get; set; } - - - public long UniqueId { get; set; } - public int Level { get; set; } - public long Exp { get; set; } - public int Tier { get; set; } - public long SlotIndex { get; set; } - public long BoundCharacterServerId { get; set; } - - [NotMapped] - public EquipmentDB ToEquipmentDB { get { - return new() - { - IsNew = true, - ServerId = ServerId, - BoundCharacterServerId = BoundCharacterServerId, - Tier = Tier, - Level = Level, - StackCount = 1, - Exp = Exp - }; - } - } - } - - - public class GearTierUpRequestDB - { - public long TargetServerId { get; set; } - public long AfterTier { get; set; } - public List ReplaceInfos { get; set; } - } - - - public class GuideMissionSeasonDB - { - public long SeasonId { get; set; } - public long LoginCount { get; set; } - public DateTime StartDate { get; set; } - public DateTime LoginDate { get; set; } - public bool IsComplete { get; set; } - public bool IsFinalMissionComplete { get; set; } - public DateTime? CollectionItemReceiveDate { get; set; } - } - - - public class IConsumableItemBaseExcel - { - public ParcelType Type { get; set; } - public long UniqueId { get; set; } - public long ShiftingCraftQuality { get; set; } - public long StackableMax { get; set; } - public Rarity Rarity { get; set; } - public IReadOnlyList Tags { get; set; } - public IReadOnlyDictionary CraftQualityDict { get; set; } - } - - - public class IdCardBackgroundDB - { - public ParcelType Type { get; set; } - public long ServerId { get; set; } - public long UniqueId { get; set; } - public IEnumerable ParcelInfos { get; set; } - } - - - public class ItemDB : ConsumableItemBaseDB - { - [NotMapped] - public override ParcelType Type => ParcelType.Item; - - [NotMapped] - [JsonIgnore] - public override IEnumerable ParcelInfos { get; } - - [NotMapped] - [JsonIgnore] - public override bool CanConsume => true; - - [NotMapped] - public bool IsNew { get; set; } - - public bool IsLocked { get; set; } - } - - - public class ItemExcelData - { - public ParcelType Type { get; set; } - public long UniqueId { get; set; } - public long ShiftingCraftQuality { get; set; } - public long StackableMax { get; set; } - public Rarity Rarity { get; set; } - public IReadOnlyList Tags { get; set; } - public IReadOnlyDictionary CraftQualityDict { get; set; } - public ItemExcel _excel { get; set; } - } - - - public class MailDB - { - public long ServerId { get; set; } - public long AccountServerId { get; set; } - public MailType Type { get; set; } - public long UniqueId { get; set; } - public string Sender { get; set; } - public string Comment { get; set; } - public DateTime SendDate { get; set; } - public DateTime? ReceiptDate { get; set; } - public DateTime? ExpireDate { get; set; } - public List ParcelInfos { get; set; } - public List RemainParcelInfos { get; set; } - } - - - public class MemoryLobbyDB : ParcelBase - { - public override ParcelType Type { get => ParcelType.MemoryLobby; } - - [NotMapped] - [JsonIgnore] - public override IEnumerable ParcelInfos { get; } - - [JsonIgnore] - public virtual AccountDB Account { get; set; } - - [JsonIgnore] - public long AccountServerId { get; set; } - - [Key] - public long ServerId { get; set; } - - public long MemoryLobbyUniqueId { get; set; } - } - - public class MiniGameHistoryDB - { - public long EventContentId { get; set; } - public long UniqueId { get; set; } - public long HighScore { get; set; } - public long AccumulatedScore { get; set; } - public DateTime ClearDate { get; set; } - public bool IsFullCombo { get; set; } - } - - - public class MiniGameResult - { - public EventContentType ContentType { get; set; } - public long EventContentId { get; set; } - public long UniqueId { get; set; } - public long TotalScore { get; set; } - public long ComboCount { get; set; } - public long FeverCount { get; set; } - public bool AllCombo { get; set; } - public long HPBonusScore { get; set; } - public long NoteCount { get; set; } - public long CriticalCount { get; set; } - } - - - public class MiniGameShootingHistoryDB - { - public long EventContentId { get; set; } - public long UniqueId { get; set; } - public long ArriveSection { get; set; } - public DateTime LastUpdateDate { get; set; } - public bool IsClearToday { get; set; } - } - - - public class MissionHistoryDB - { - public long ServerId { get; set; } - public long AccountServerId { get; set; } - public long MissionUniqueId { get; set; } - public DateTime CompleteTime { get; set; } - public bool Expired { get; set; } - } - - - public class MissionProgressDB - { - [Key] - [JsonIgnore] - public long ServerId { get; set; } - - [JsonIgnore] - public virtual AccountDB Account { get; set; } - - [JsonIgnore] - public long AccountServerId { get; set; } - - public long MissionUniqueId { get; set; } - public bool Complete { get; set; } - public DateTime StartTime { get; set; } - public Dictionary ProgressParameters { get; set; } = []; - } - - - public class MissionSnapshot - { - public long AccountId { get; set; } - public List MissionHistoryDBs { get; set; } - public List MissionProgressDBs { get; set; } - public List GuideMissionSeasonDBs { get; set; } - public DailyResetCount DailyResetMissionPivotDate { get; set; } - public DailyResetCount WeeklyResetMissionPivotDate { get; set; } - } - - - public class MomoTalkChoiceDB - { - public long CharacterDBId { get; set; } - public long MessageGroupId { get; set; } - public long ChosenMessageId { get; set; } - public DateTime ChosenDate { get; set; } - } - - - public class MomoTalkOutLineDB - { - public long CharacterDBId { get; set; } - public long CharacterId { get; set; } - public long LatestMessageGroupId { get; set; } - public long? ChosenMessageId { get; set; } - public DateTime LastUpdateDate { get; set; } - } - - - public class MonthlyProductPurchaseDB - { - public long ProductId { get; set; } - public DateTime PurchaseDate { get; set; } - public DateTime? LastDailyRewardDate { get; set; } - public DateTime? RewardEndDate { get; set; } - public ProductTagType ProductTagType { get; set; } - } - - - public class MultiFloorRaidDB - { - public long SeasonId { get; set; } - public int ClearedDifficulty { get; set; } - public DateTime LastClearDate { get; set; } - public int RewardDifficulty { get; set; } - public DateTime LastRewardDate { get; set; } - public int ClearBattleFrame { get; set; } - public bool AllCleared { get; set; } - public bool HasReceivableRewards { get; set; } - public List TotalReceivableRewards { get; set; } - public List TotalReceivedRewards { get; set; } - } - - - public class MultiSweepPresetDB - { - public long PresetId { get; set; } - public string PresetName { get; set; } - public IEnumerable StageIds { get; set; } - } - - - public class OpenConditionDB - { - public OpenConditionContent ContentType { get; set; } - public bool HideWhenLocked { get; set; } - public long AccountLevel { get; set; } - public long ScenarioModeId { get; set; } - public long CampaignStageUniqueId { get; set; } - public MultipleConditionCheckType MultipleConditionCheckType { get; set; } - public WeekDay OpenDayOfWeek { get; set; } - public long OpenHour { get; set; } - public WeekDay CloseDayOfWeek { get; set; } - public long CloseHour { get; set; } - public long CafeIdForCafeRank { get; set; } - public long CafeRank { get; set; } - public long OpenedCafeId { get; set; } - } - - - public class PotentialGrowthRequestDB - { - public PotentialStatBonusRateType Type { get; set; } - public int Level { get; set; } - } - - - public class ProductPurchaseCountDB - { - public long EventContentId { get; set; } - public long AccountId { get; set; } - public long ShopExcelId { get; set; } - public int PurchaseCount { get; set; } - public DateTime LastPurchaseDate { get; set; } - public PurchaseCountResetType PurchaseCountResetType { get; set; } - public DateTime ResetDate { get; set; } - } - - - public class PurchaseCountDB - { - public long ShopCashId { get; set; } - public int PurchaseCount { get; set; } - public DateTime ResetDate { get; set; } - public DateTime? PurchaseDate { get; set; } - public DateTime? ManualResetDate { get; set; } - } - - - public class PurchaseOrderDB - { - public long ShopCashId { get; set; } - public PurchaseStatusCode StatusCode { get; set; } - public long PurchaseOrderId { get; set; } - } - - public class RaidMemberCollection : KeyedCollection - { - public long TotalDamage { get; set; } - - protected override long GetKeyForItem(RaidMemberDescription item) + public bool Equals(ExpirableObjectHolder? other) { - return -1; - } - //public IEnumerable RaidDamages { get; set; } - } - - public class RaidBattleDB - { - public ContentType ContentType { get; set; } - public long RaidUniqueId { get; set; } - public int RaidBossIndex { get; set; } - public long CurrentBossHP { get; set; } - public long CurrentBossGroggy { get; set; } - public long CurrentBossAIPhase { get; set; } - public string BIEchelon { get; set; } - public bool IsClear { get; set; } - public RaidMemberCollection RaidMembers { get; set; } - public List SubPartsHPs { get; set; } - } - - - public class RaidBossDB - { - public ContentType ContentType { get; set; } - public int BossIndex { get; set; } - public long BossCurrentHP { get; set; } - public long BossGroggyPoint { get; set; } - } - - - public class RaidCharacterDB - { - public long ServerId { get; set; } - public long UniqueId { get; set; } - public int StarGrade { get; set; } - public int Level { get; set; } - public int SlotIndex { get; set; } - public long AccountId { get; set; } - public bool IsAssist { get; set; } - public bool HasWeapon { get; set; } - public int WeaponStarGrade { get; set; } - public long CostumeId { get; set; } - } - - public class RaidMemberDescription : IEquatable - { - public long AccountId { get; set; } - - public string AccountName { get; set; } - - public long CharacterId { get; set; } - - public bool Equals(RaidMemberDescription? other) - { - return this.AccountId == other.AccountId; - } - } - - public class RaidDB - { - public RaidMemberDescription Owner { get; set; } - public ContentType ContentType { get; set; } - public long ServerId { get; set; } - public long UniqueId { get; set; } - public long SeasonId { get; set; } - public DateTime Begin { get; set; } - public DateTime End { get; set; } - public long OwnerAccountServerId { get; set; } - public string OwnerNickname { get; set; } - public long PlayerCount { get; set; } - public string BossGroup { get; set; } - public Difficulty BossDifficulty { get; set; } - public int LastBossIndex { get; set; } - public List Tags { get; set; } - public string SecretCode { get; set; } - public RaidStatus RaidState { get; set; } - public bool IsPractice { get; set; } - public List RaidBossDBs { get; set; } - public Dictionary> ParticipateCharacterServerIds { get; set; } - public bool IsEnterRoom { get; set; } - public long SessionHitPoint { get; set; } - public long AccountLevelWhenCreateDB { get; set; } - public bool ClanAssistUsed { get; set; } - } - - - public class RaidDetailDB - { - public long RaidUniqueId { get; set; } - public DateTime EndDate { get; set; } - public List DamageTable { get; set; } - } - - - public class RaidGiveUpDB - { - public long Ranking { get; set; } - public long RankingPoint { get; set; } - public long BestRankingPoint { get; set; } - } - - - public class RaidLimitedRewardHistoryDB - { - public ContentType ContentType { get; set; } - public long AccountId { get; set; } - public long SeasonId { get; set; } - public long RewardId { get; set; } - public DateTime ReceiveDate { get; set; } - } - - - public abstract class RaidLobbyInfoDB - { - public long SeasonId { get; set; } - public int Tier { get; set; } - public long Ranking { get; set; } - public long BestRankingPoint { get; set; } - public long TotalRankingPoint { get; set; } - public long ReceivedRankingRewardId { get; set; } - public bool CanReceiveRankingReward { get; set; } - public RaidDB PlayingRaidDB { get; set; } - public List ReceiveRewardIds { get; set; } - public List ReceiveLimitedRewardIds { get; set; } - public List ParticipateCharacterServerIds { get; set; } - public Dictionary PlayableHighestDifficulty { get; set; } - public Dictionary SweepPointByRaidUniqueId { get; set; } - public DateTime SeasonStartDate { get; set; } - public DateTime SeasonEndDate { get; set; } - public DateTime SettlementEndDate { get; set; } - public long NextSeasonId { get; set; } - public DateTime NextSeasonStartDate { get; set; } - public DateTime NextSeasonEndDate { get; set; } - public DateTime NextSettlementEndDate { get; set; } - public ClanAssistUseInfo ClanAssistUseInfo { get; set; } - public Dictionary RemainFailCompensation { get; set; } - } - - - public class RaidParticipateCharactersDB - { - public long RaidServerId { get; set; } - public long AccountServerId { get; set; } - public List ParticipateCharacterServerIds { get; set; } - } - - - public class RaidPlayerInfoDB - { - public long RaidServerId { get; set; } - public long AccountId { get; set; } - public DateTime JoinDate { get; set; } - public long DamageAmount { get; set; } - public int RaidEndRewardFlag { get; set; } - public int RaidPlayCount { get; set; } - public string Nickname { get; set; } - public long CharacterId { get; set; } - public long CostumeId { get; set; } - public long? AccountLevel { get; set; } - } - - - public class RaidRankingInfo - { - public long SeasonId { get; set; } - public long AccountId { get; set; } - public long Ranking { get; set; } - public long Score { get; set; } - public double ScoreDetail { get; set; } - } - - - public class RaidSeasonHistoryDB - { - public long SeasonServerId { get; set; } - public DateTime ReceiveDateTime { get; set; } - public long SeasonRewardGauage { get; set; } - } - - - public class RaidSeasonManageDB - { - public long SeasonId { get; set; } - public DateTime SeasonStartDate { get; set; } - public DateTime SeasonEndDate { get; set; } - public DateTime SeasonSettlementEndDate { get; set; } - public DateTime UpdateDate { get; set; } - } - - - public class RaidSeasonPointRewardHistoryDB - { - public ContentType ContentType { get; set; } - public long AccountId { get; set; } - public long SeasonId { get; set; } - public long LastReceivedSeasonRewardId { get; set; } - public DateTime SeasonRewardReceiveDate { get; set; } - } - - - public class RaidSeasonRankingHistoryDB - { - public ContentType ContentType { get; set; } - public long AccountId { get; set; } - public long SeasonId { get; set; } - public long Ranking { get; set; } - public long BestRankingPoint { get; set; } - public int Tier { get; set; } - public DateTime ReceivedDate { get; set; } - } - - - public class RaidTeamSettingDB - { - public long AccountId { get; set; } - public long TryNumber { get; set; } - public EchelonType EchelonType { get; set; } - public EchelonExtensionType EchelonExtensionType { get; set; } - public IList MainCharacterDBs { get; set; } - public IList SupportCharacterDBs { get; set; } - public IList SkillCardMulliganCharacterIds { get; set; } - public long TSSInteractionUniqueId { get; set; } - public long LeaderCharacterUniqueId { get; set; } - } - - - public class RaidUserDB - { - public long AccountId { get; set; } - public long RepresentCharacterUniqueId { get; set; } - public long RepresentCharacterCostumeId { get; set; } - public long Level { get; set; } - public string Nickname { get; set; } - public int Tier { get; set; } - public long Rank { get; set; } - public long BestRankingPoint { get; set; } - public double BestRankingPointDetail { get; set; } - public AccountAttachmentDB AccountAttachmentDB { get; set; } - } - - - public class ResetableContentId - { - public ResetContentType Type { get; set; } - public long Mapped { get; set; } - } - - - public class ResetableContentValueDB - { - public ResetableContentId ResetableContentId { get; set; } - public long ContentValue { get; set; } - public DateTime LastUpdateTime { get; set; } - } - - - public class ScenarioGroupHistoryDB - { - public long AccountServerId { get; set; } - public long ScenarioGroupUqniueId { get; set; } - public long ScenarioType { get; set; } - public long? EventContentId { get; set; } - public DateTime ClearDateTime { get; set; } - public bool IsReturn { get; set; } - public bool IsPermanent { get; set; } - } - - public class ScenarioCollectionDB - { - public long GroupId; - - public long UniqueId; - - public DateTime ReceiveDate; - - } - public class ScenarioHistoryDB - { - [JsonIgnore] - public virtual AccountDB Account { get; set; } - - [JsonIgnore] - public long AccountServerId { get; set; } - - [Key] - public long ServerId { get; set; } - - public long ScenarioUniqueId { get; set; } - public DateTime ClearDateTime { get; set; } - } - - - public class SchoolDungeonStageHistoryDB - { - public long AccountServerId { get; set; } - public long StageUniqueId { get; set; } - public long BestStarRecord { get; set; } - public bool Star1Flag { get; set; } - public bool Star2Flag { get; set; } - public bool Star3Flag { get; set; } - public bool IsClearedEver { get; set; } - public bool[] StarFlags { get; set; } - } - - - public class SchoolDungeonStageSaveDB - { - public ContentType ContentType { get; set; } - } - - - public class SelectGachaSnapshotDB - { - public long ShopUniqueId { get; set; } - public long LastIndex { get; set; } - public List LastResults { get; set; } - public long? SavedIndex { get; set; } - public List SavedResults { get; set; } - public long? PickedIndex { get; set; } - } - - - public class SelectTicketReplaceInfo - { - public ParcelType MaterialType { get; set; } - public long MaterialId { get; set; } - public long TicketItemId { get; set; } - public int Amount { get; set; } - } - - - public class SessionDB - { - public SessionKey SessionKey { get; set; } - public DateTime LastConnect { get; set; } - public int ConnectionTime { get; set; } - } - - - //public class SessionKey { - // public long AccountServerId { get; set; } - // public string MxToken { get; set; } - //} - - - public class ShiftingCraftInfoDB - { - public long SlotSequence { get; set; } - public long CraftRecipeId { get; set; } - public long CraftAmount { get; set; } - public DateTime StartTime { get; set; } - public DateTime EndTime { get; set; } - } - - - public class ShopEligmaHistoryDB - { - public long CharacterUniqueId { get; set; } - public long PurchaseCount { get; set; } - } - - - public class ShopFreeRecruitHistoryDB - { - public long UniqueId { get; set; } - public int RecruitCount { get; set; } - public DateTime LastUpdateDate { get; set; } - } - - - public class ShopInfoDB - { - public long EventContentId { get; set; } - public ShopCategoryType Category { get; set; } - public long? ManualRefreshCount { get; set; } - public bool IsRefresh { get; set; } - public DateTime? NextAutoRefreshDate { get; set; } - public DateTime? LastAutoRefreshDate { get; set; } - public List ShopProductList { get; set; } - } - - - public class ShopProductDB - { - public long EventContentId { get; set; } - public long ShopExcelId { get; set; } - public ShopCategoryType Category { get; set; } - public long DisplayOrder { get; set; } - public long PurchaseCount { get; set; } - public bool SoldOut { get; set; } - public long PurchaseCountLimit { get; set; } - public long Price { get; set; } - //public ShopProductType ProductType { get; set; } - } - - - public class ShopRecruitDB - { - public long Id { get; set; } - public DateTime SalesStartDate { get; set; } - public DateTime SalesEndDate { get; set; } - public DateTime UpdateDate { get; set; } - } - - - public class SingleRaidUserDB : RaidUserDB - { - public RaidTeamSettingDB RaidTeamSettingDB { get; set; } - } - - public enum SkillSlot - { - None, - NormalAttack01, - NormalAttack02, - NormalAttack03, - NormalAttack04, - NormalAttack05, - NormalAttack06, - NormalAttack07, - NormalAttack08, - NormalAttack09, - NormalAttack10, - ExSkill01, - ExSkill02, - ExSkill03, - ExSkill04, - ExSkill05, - ExSkill06, - ExSkill07, - ExSkill08, - ExSkill09, - ExSkill10, - Passive01, - Passive02, - Passive03, - Passive04, - Passive05, - Passive06, - Passive07, - Passive08, - Passive09, - Passive10, - ExtraPassive01, - ExtraPassive02, - ExtraPassive03, - ExtraPassive04, - ExtraPassive05, - ExtraPassive06, - ExtraPassive07, - ExtraPassive08, - ExtraPassive09, - ExtraPassive10, - Support01, - Support02, - Support03, - Support04, - Support05, - Support06, - Support07, - Support08, - Support09, - Support10, - EnterBattleGround, - LeaderSkill01, - LeaderSkill02, - LeaderSkill03, - LeaderSkill04, - LeaderSkill05, - LeaderSkill06, - LeaderSkill07, - LeaderSkill08, - LeaderSkill09, - LeaderSkill10, - Equipment01, - Equipment02, - Equipment03, - Equipment04, - Equipment05, - Equipment06, - Equipment07, - Equipment08, - Equipment09, - Equipment10, - PublicSkill01, - PublicSkill02, - PublicSkill03, - PublicSkill04, - PublicSkill05, - PublicSkill06, - PublicSkill07, - PublicSkill08, - PublicSkill09, - PublicSkill10, - GroupBuff01, - HexaBuff01, - EventBuff01, - EventBuff02, - EventBuff03, - MoveAttack01, - MetamorphNormalAttack, - GroundPassive01, - GroundPassive02, - GroundPassive03, - GroundPassive04, - GroundPassive05, - GroundPassive06, - GroundPassive07, - GroundPassive08, - GroundPassive09, - GroundPassive10, - HiddenPassive01, - HiddenPassive02, - HiddenPassive03, - HiddenPassive04, - HiddenPassive05, - HiddenPassive06, - HiddenPassive07, - HiddenPassive08, - HiddenPassive09, - HiddenPassive10, - Count - } - - public class SkillLevelBatchGrowthRequestDB - { - public SkillSlot SkillSlot { get; set; } - public int Level { get; set; } - public List ReplaceInfos { get; set; } - } - - - public class SkipHistoryDB - { - public long AccountServerId { get; set; } - public int Prologue { get; set; } - public Dictionary Tutorial { get; set; } - } - - - public class StickerBookDB - { - public long AccountId { get; set; } - public IEnumerable UnusedStickerDBs { get; set; } - public IEnumerable UsedStickerDBs { get; set; } - } - - - public class StickerDB : ParcelBase, IEquatable - { - public override ParcelType Type { get => ParcelType.Sticker; } - - [JsonIgnore] - public override IEnumerable ParcelInfos { get; } - - public long StickerUniqueId { get; set; } - - public bool Equals(StickerDB? other) - { - return this.StickerUniqueId == other.StickerUniqueId; + return false; } } - public class StoryStrategyStageSaveDB - { - public ContentType ContentType { get; set; } - } + public class EntityCollection : SortedDictionary where T : Entity + { + } - public class StrategyObjectHistoryDB - { - public long AccountId { get; set; } - public long StrategyObjectId { get; set; } - } - - - public class TimeAttackDungeonBattleHistoryDB - { - public TimeAttackDungeonType DungeonType { get; set; } - public long GeasId { get; set; } - public long DefaultPoint { get; set; } - public long ClearTimePoint { get; set; } - public long EndFrame { get; set; } - public long TotalPoint { get; set; } - public List MainCharacterDBs { get; set; } - public List SupportCharacterDBs { get; set; } - } - - - public class TimeAttackDungeonCharacterDB - { - public long ServerId { get; set; } - public long UniqueId { get; set; } - public long CostumeId { get; set; } - public int StarGrade { get; set; } - public int Level { get; set; } - public bool HasWeapon { get; set; } - public WeaponDB WeaponDB { get; set; } - public bool IsAssist { get; set; } - } - - - public class TimeAttackDungeonRewardHistoryDB - { - public DateTime Date { get; set; } - public TimeAttackDungeonRoomDB RoomDB { get; set; } - public bool IsSweep { get; set; } - } - - - public class TimeAttackDungeonRoomDB - { - public long AccountId { get; set; } - public long SeasonId { get; set; } - public long RoomId { get; set; } - public DateTime CreateDate { get; set; } - public DateTime RewardDate { get; set; } - public bool IsPractice { get; set; } - public List SweepHistoryDates { get; set; } - public List BattleHistoryDBs { get; set; } - public int PlayCount { get; set; } - public long TotalPointSum { get; set; } - public bool IsRewardReceived { get; set; } - public bool IsOpened { get; set; } - public bool CanUseAssist { get; set; } - public bool IsPlayCountOver { get; set; } - } - - - public class ToastDB - { - public long UniqueId { get; set; } - public string Text { get; set; } - public string ToastId { get; set; } - public DateTime BeginDate { get; set; } - public DateTime EndDate { get; set; } - public int LifeTime { get; set; } - public int Delay { get; set; } - } - - - public class VisitingCharacterDB - { - public long UniqueId { get; set; } - public long ServerId { get; set; } - } - - - public class WeaponDB : ParcelBase - { - [NotMapped] - public override ParcelType Type { get => ParcelType.CharacterWeapon; } - - [NotMapped] - [JsonIgnore] - public override IEnumerable ParcelInfos { get; } - - [JsonIgnore] - public virtual AccountDB Account { get; set; } - - [JsonIgnore] - public long AccountServerId { get; set; } - - [Key] - public long ServerId { get; set; } - - public long UniqueId { get; set; } - public int Level { get; set; } - public long Exp { get; set; } - public int StarGrade { get; set; } - public long BoundCharacterServerId { get; set; } - public bool IsLocked { get; set; } - } - - - public class WeekDungeonSaveDB - { - public ContentType ContentType { get; set; } - public WeekDungeonType WeekDungeonType { get; set; } - public int Seed { get; set; } - public int Sequence { get; set; } - } - - - public class WeekDungeonStageHistoryDB - { - public long AccountServerId { get; set; } - public long StageUniqueId { get; set; } - public Dictionary StarGoalRecord { get; set; } - public bool IsCleardEver { get; set; } - } - - - public class WorldRaidBossDamageRatio - { - public ContentsChangeType ContentsChangeType { get; set; } - public BasisPoint DamageRatio { get; set; } - } - - - public class WorldRaidBossGroup - { - public ContentsChangeType ContentsChangeType { get; set; } - public long GroupId { get; set; } - public DateTime BossSpawnTime { get; set; } - public DateTime EliminateTime { get; set; } - } - - - public class WorldRaidBossListInfoDB - { - public long GroupId { get; set; } - public WorldRaidWorldBossDB WorldBossDB { get; set; } - public List LocalBossDBs { get; set; } - } - - - public class WorldRaidClearHistoryDB - { - public long SeasonId { get; set; } - public long GroupId { get; set; } - public DateTime RewardReceiveDate { get; set; } - } -} \ No newline at end of file +} diff --git a/SCHALE.Common/Migrations/SqlServerMigrations/20241227021741_BIGUPDATE.Designer.cs b/SCHALE.Common/Migrations/SqlServerMigrations/20241227021741_BIGUPDATE.Designer.cs new file mode 100644 index 0000000..82ceb46 --- /dev/null +++ b/SCHALE.Common/Migrations/SqlServerMigrations/20241227021741_BIGUPDATE.Designer.cs @@ -0,0 +1,701 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using SCHALE.Common.Database; + +#nullable disable + +namespace SCHALE.Common.Migrations.SqlServerMigrations +{ + [DbContext(typeof(SCHALEContext))] + [Migration("20241227021741_BIGUPDATE")] + partial class BIGUPDATE + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "8.0.6") + .HasAnnotation("Proxies:ChangeTracking", false) + .HasAnnotation("Proxies:CheckEquality", false) + .HasAnnotation("Proxies:LazyLoading", true) + .HasAnnotation("Relational:MaxIdentifierLength", 128); + + SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); + + modelBuilder.Entity("SCHALE.Common.Database.AccountDB", b => + { + b.Property("ServerId") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ServerId")); + + b.Property("BirthDay") + .HasColumnType("datetime2"); + + b.Property("CallName") + .HasColumnType("nvarchar(max)"); + + b.Property("CallNameUpdateTime") + .HasColumnType("datetime2"); + + b.Property("Comment") + .HasColumnType("nvarchar(max)"); + + b.Property("CreateDate") + .HasColumnType("datetime2"); + + b.Property("DevId") + .HasColumnType("nvarchar(max)"); + + b.Property("Exp") + .HasColumnType("bigint"); + + b.Property("LastConnectTime") + .HasColumnType("datetime2"); + + b.Property("Level") + .HasColumnType("int"); + + b.Property("LinkRewardDate") + .HasColumnType("datetime2"); + + b.Property("LobbyMode") + .HasColumnType("int"); + + b.Property("MemoryLobbyUniqueId") + .HasColumnType("bigint"); + + b.Property("Nickname") + .HasColumnType("nvarchar(max)"); + + b.Property("PublisherAccountId") + .HasColumnType("bigint"); + + b.Property("RaidInfo") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("RepresentCharacterServerId") + .HasColumnType("bigint"); + + b.Property("RetentionDays") + .HasColumnType("int"); + + b.Property("State") + .HasColumnType("int"); + + b.Property("UnReadMailCount") + .HasColumnType("int"); + + b.Property("VIPLevel") + .HasColumnType("int"); + + b.HasKey("ServerId"); + + b.ToTable("Accounts"); + }); + + modelBuilder.Entity("SCHALE.Common.Database.CafeDB", b => + { + b.Property("CafeDBId") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("CafeDBId")); + + b.Property("AccountId") + .HasColumnType("bigint"); + + b.Property("AccountServerId") + .HasColumnType("bigint"); + + b.Property("CafeId") + .HasColumnType("bigint"); + + b.Property("CafeRank") + .HasColumnType("int"); + + b.Property("CafeVisitCharacterDBs") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("CurrencyDict_Obsolete") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("LastSummonDate") + .HasColumnType("datetime2"); + + b.Property("LastUpdate") + .HasColumnType("datetime2"); + + b.Property("ProductionAppliedTime") + .HasColumnType("datetime2"); + + b.Property("UpdateTimeDict_Obsolete") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("CafeDBId"); + + b.HasIndex("AccountServerId"); + + b.ToTable("Cafes"); + }); + + modelBuilder.Entity("SCHALE.Common.Database.CharacterDB", b => + { + b.Property("ServerId") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ServerId")); + + b.Property("AccountServerId") + .HasColumnType("bigint"); + + b.Property("EquipmentServerIds") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("EquipmentSlotAndDBIds") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("ExSkillLevel") + .HasColumnType("int"); + + b.Property("Exp") + .HasColumnType("bigint"); + + b.Property("ExtraPassiveSkillLevel") + .HasColumnType("int"); + + b.Property("FavorExp") + .HasColumnType("bigint"); + + b.Property("FavorRank") + .HasColumnType("int"); + + b.Property("IsFavorite") + .HasColumnType("bit"); + + b.Property("LeaderSkillLevel") + .HasColumnType("int"); + + b.Property("Level") + .HasColumnType("int"); + + b.Property("PassiveSkillLevel") + .HasColumnType("int"); + + b.Property("PotentialStats") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("PublicSkillLevel") + .HasColumnType("int"); + + b.Property("StarGrade") + .HasColumnType("int"); + + b.Property("UniqueId") + .HasColumnType("bigint"); + + b.HasKey("ServerId"); + + b.HasIndex("AccountServerId"); + + b.ToTable("Characters"); + }); + + modelBuilder.Entity("SCHALE.Common.Database.EchelonDB", b => + { + b.Property("ServerId") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ServerId")); + + b.Property("AccountServerId") + .HasColumnType("bigint"); + + b.Property("CombatStyleIndex") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("EchelonNumber") + .HasColumnType("bigint"); + + b.Property("EchelonType") + .HasColumnType("int"); + + b.Property("ExtensionType") + .HasColumnType("int"); + + b.Property("LeaderServerId") + .HasColumnType("bigint"); + + b.Property("MainSlotServerIds") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("SkillCardMulliganCharacterIds") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("SupportSlotServerIds") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("TSSInteractionServerId") + .HasColumnType("bigint"); + + b.Property("UsingFlag") + .HasColumnType("int"); + + b.HasKey("ServerId"); + + b.HasIndex("AccountServerId"); + + b.ToTable("Echelons"); + }); + + modelBuilder.Entity("SCHALE.Common.Database.EquipmentDB", b => + { + b.Property("ServerId") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ServerId")); + + b.Property("AccountServerId") + .HasColumnType("bigint"); + + b.Property("BoundCharacterServerId") + .HasColumnType("bigint"); + + b.Property("Exp") + .HasColumnType("bigint"); + + b.Property("Level") + .HasColumnType("int"); + + b.Property("StackCount") + .HasColumnType("bigint"); + + b.Property("Tier") + .HasColumnType("int"); + + b.Property("UniqueId") + .HasColumnType("bigint"); + + b.HasKey("ServerId"); + + b.HasIndex("AccountServerId"); + + b.ToTable("Equipment"); + }); + + modelBuilder.Entity("SCHALE.Common.Database.FurnitureDB", b => + { + b.Property("ServerId") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ServerId")); + + b.Property("AccountServerId") + .HasColumnType("bigint"); + + b.Property("CafeDBId") + .HasColumnType("bigint"); + + b.Property("ItemDeploySequence") + .HasColumnType("bigint"); + + b.Property("Location") + .HasColumnType("int"); + + b.Property("PositionX") + .HasColumnType("real"); + + b.Property("PositionY") + .HasColumnType("real"); + + b.Property("Rotation") + .HasColumnType("real"); + + b.Property("StackCount") + .HasColumnType("bigint"); + + b.Property("UniqueId") + .HasColumnType("bigint"); + + b.HasKey("ServerId"); + + b.HasIndex("AccountServerId"); + + b.ToTable("Furnitures"); + }); + + modelBuilder.Entity("SCHALE.Common.Database.GearDB", b => + { + b.Property("ServerId") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ServerId")); + + b.Property("AccountServerId") + .HasColumnType("bigint"); + + b.Property("BoundCharacterServerId") + .HasColumnType("bigint"); + + b.Property("Exp") + .HasColumnType("bigint"); + + b.Property("Level") + .HasColumnType("int"); + + b.Property("SlotIndex") + .HasColumnType("bigint"); + + b.Property("Tier") + .HasColumnType("int"); + + b.Property("UniqueId") + .HasColumnType("bigint"); + + b.HasKey("ServerId"); + + b.HasIndex("AccountServerId"); + + b.ToTable("Gears"); + }); + + modelBuilder.Entity("SCHALE.Common.Database.ItemDB", b => + { + b.Property("ServerId") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ServerId")); + + b.Property("AccountServerId") + .HasColumnType("bigint"); + + b.Property("StackCount") + .HasColumnType("bigint"); + + b.Property("UniqueId") + .HasColumnType("bigint"); + + b.HasKey("ServerId"); + + b.HasIndex("AccountServerId"); + + b.ToTable("Items"); + }); + + modelBuilder.Entity("SCHALE.Common.Database.MemoryLobbyDB", b => + { + b.Property("ServerId") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ServerId")); + + b.Property("AccountServerId") + .HasColumnType("bigint"); + + b.Property("MemoryLobbyUniqueId") + .HasColumnType("bigint"); + + b.HasKey("ServerId"); + + b.HasIndex("AccountServerId"); + + b.ToTable("MemoryLobbies"); + }); + + modelBuilder.Entity("SCHALE.Common.Database.MissionProgressDB", b => + { + b.Property("ServerId") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ServerId")); + + b.Property("AccountServerId") + .HasColumnType("bigint"); + + b.Property("Complete") + .HasColumnType("bit"); + + b.Property("MissionUniqueId") + .HasColumnType("bigint"); + + b.Property("ProgressParameters") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("StartTime") + .HasColumnType("datetime2"); + + b.HasKey("ServerId"); + + b.HasIndex("AccountServerId"); + + b.ToTable("MissionProgresses"); + }); + + modelBuilder.Entity("SCHALE.Common.Database.Models.AccountTutorial", b => + { + b.Property("AccountServerId") + .HasColumnType("bigint"); + + b.Property("TutorialIds") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("AccountServerId"); + + b.ToTable("AccountTutorials"); + }); + + modelBuilder.Entity("SCHALE.Common.Database.Models.GuestAccount", b => + { + b.Property("Uid") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Uid")); + + b.Property("DeviceId") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Token") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Uid"); + + b.ToTable("GuestAccounts"); + }); + + modelBuilder.Entity("SCHALE.Common.Database.ScenarioHistoryDB", b => + { + b.Property("ServerId") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ServerId")); + + b.Property("AccountServerId") + .HasColumnType("bigint"); + + b.Property("ClearDateTime") + .HasColumnType("datetime2"); + + b.Property("ScenarioUniqueId") + .HasColumnType("bigint"); + + b.HasKey("ServerId"); + + b.HasIndex("AccountServerId"); + + b.ToTable("Scenarios"); + }); + + modelBuilder.Entity("SCHALE.Common.Database.WeaponDB", b => + { + b.Property("ServerId") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ServerId")); + + b.Property("AccountServerId") + .HasColumnType("bigint"); + + b.Property("BoundCharacterServerId") + .HasColumnType("bigint"); + + b.Property("Exp") + .HasColumnType("bigint"); + + b.Property("Level") + .HasColumnType("int"); + + b.Property("StarGrade") + .HasColumnType("int"); + + b.Property("UniqueId") + .HasColumnType("bigint"); + + b.HasKey("ServerId"); + + b.HasIndex("AccountServerId"); + + b.ToTable("Weapons"); + }); + + modelBuilder.Entity("SCHALE.Common.Database.CafeDB", b => + { + b.HasOne("SCHALE.Common.Database.AccountDB", "Account") + .WithMany("Cafes") + .HasForeignKey("AccountServerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Account"); + }); + + modelBuilder.Entity("SCHALE.Common.Database.CharacterDB", b => + { + b.HasOne("SCHALE.Common.Database.AccountDB", "Account") + .WithMany("Characters") + .HasForeignKey("AccountServerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Account"); + }); + + modelBuilder.Entity("SCHALE.Common.Database.EchelonDB", b => + { + b.HasOne("SCHALE.Common.Database.AccountDB", "Account") + .WithMany("Echelons") + .HasForeignKey("AccountServerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Account"); + }); + + modelBuilder.Entity("SCHALE.Common.Database.EquipmentDB", b => + { + b.HasOne("SCHALE.Common.Database.AccountDB", "Account") + .WithMany("Equipment") + .HasForeignKey("AccountServerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Account"); + }); + + modelBuilder.Entity("SCHALE.Common.Database.FurnitureDB", b => + { + b.HasOne("SCHALE.Common.Database.AccountDB", "Account") + .WithMany("Furnitures") + .HasForeignKey("AccountServerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Account"); + }); + + modelBuilder.Entity("SCHALE.Common.Database.GearDB", b => + { + b.HasOne("SCHALE.Common.Database.AccountDB", "Account") + .WithMany("Gears") + .HasForeignKey("AccountServerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Account"); + }); + + modelBuilder.Entity("SCHALE.Common.Database.ItemDB", b => + { + b.HasOne("SCHALE.Common.Database.AccountDB", "Account") + .WithMany("Items") + .HasForeignKey("AccountServerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Account"); + }); + + modelBuilder.Entity("SCHALE.Common.Database.MemoryLobbyDB", b => + { + b.HasOne("SCHALE.Common.Database.AccountDB", "Account") + .WithMany("MemoryLobbies") + .HasForeignKey("AccountServerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Account"); + }); + + modelBuilder.Entity("SCHALE.Common.Database.MissionProgressDB", b => + { + b.HasOne("SCHALE.Common.Database.AccountDB", "Account") + .WithMany("MissionProgresses") + .HasForeignKey("AccountServerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Account"); + }); + + modelBuilder.Entity("SCHALE.Common.Database.ScenarioHistoryDB", b => + { + b.HasOne("SCHALE.Common.Database.AccountDB", "Account") + .WithMany("Scenarios") + .HasForeignKey("AccountServerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Account"); + }); + + modelBuilder.Entity("SCHALE.Common.Database.WeaponDB", b => + { + b.HasOne("SCHALE.Common.Database.AccountDB", "Account") + .WithMany("Weapons") + .HasForeignKey("AccountServerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Account"); + }); + + modelBuilder.Entity("SCHALE.Common.Database.AccountDB", b => + { + b.Navigation("Cafes"); + + b.Navigation("Characters"); + + b.Navigation("Echelons"); + + b.Navigation("Equipment"); + + b.Navigation("Furnitures"); + + b.Navigation("Gears"); + + b.Navigation("Items"); + + b.Navigation("MemoryLobbies"); + + b.Navigation("MissionProgresses"); + + b.Navigation("Scenarios"); + + b.Navigation("Weapons"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/SCHALE.Common/Migrations/SqlServerMigrations/20241227021741_BIGUPDATE.cs b/SCHALE.Common/Migrations/SqlServerMigrations/20241227021741_BIGUPDATE.cs new file mode 100644 index 0000000..79599e0 --- /dev/null +++ b/SCHALE.Common/Migrations/SqlServerMigrations/20241227021741_BIGUPDATE.cs @@ -0,0 +1,115 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace SCHALE.Common.Migrations.SqlServerMigrations +{ + /// + public partial class BIGUPDATE : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "IsLocked", + table: "Weapons"); + + migrationBuilder.DropColumn( + name: "IsLocked", + table: "Items"); + + migrationBuilder.DropColumn( + name: "IsLocked", + table: "Equipment"); + + migrationBuilder.DropColumn( + name: "IsLocked", + table: "Characters"); + + migrationBuilder.AlterColumn( + name: "RepresentCharacterServerId", + table: "Accounts", + type: "bigint", + nullable: false, + oldClrType: typeof(int), + oldType: "int"); + + migrationBuilder.AlterColumn( + name: "LobbyMode", + table: "Accounts", + type: "int", + nullable: true, + oldClrType: typeof(int), + oldType: "int"); + + migrationBuilder.AlterColumn( + name: "BirthDay", + table: "Accounts", + type: "datetime2", + nullable: false, + defaultValue: new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), + oldClrType: typeof(DateTime), + oldType: "datetime2", + oldNullable: true); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "IsLocked", + table: "Weapons", + type: "bit", + nullable: false, + defaultValue: false); + + migrationBuilder.AddColumn( + name: "IsLocked", + table: "Items", + type: "bit", + nullable: false, + defaultValue: false); + + migrationBuilder.AddColumn( + name: "IsLocked", + table: "Equipment", + type: "bit", + nullable: false, + defaultValue: false); + + migrationBuilder.AddColumn( + name: "IsLocked", + table: "Characters", + type: "bit", + nullable: false, + defaultValue: false); + + migrationBuilder.AlterColumn( + name: "RepresentCharacterServerId", + table: "Accounts", + type: "int", + nullable: false, + oldClrType: typeof(long), + oldType: "bigint"); + + migrationBuilder.AlterColumn( + name: "LobbyMode", + table: "Accounts", + type: "int", + nullable: false, + defaultValue: 0, + oldClrType: typeof(int), + oldType: "int", + oldNullable: true); + + migrationBuilder.AlterColumn( + name: "BirthDay", + table: "Accounts", + type: "datetime2", + nullable: true, + oldClrType: typeof(DateTime), + oldType: "datetime2"); + } + } +} diff --git a/SCHALE.Common/Migrations/SqlServerMigrations/SCHALEContextModelSnapshot.cs b/SCHALE.Common/Migrations/SqlServerMigrations/SCHALEContextModelSnapshot.cs index b6efea5..3201b83 100644 --- a/SCHALE.Common/Migrations/SqlServerMigrations/SCHALEContextModelSnapshot.cs +++ b/SCHALE.Common/Migrations/SqlServerMigrations/SCHALEContextModelSnapshot.cs @@ -33,7 +33,7 @@ namespace SCHALE.Common.Migrations.SqlServerMigrations SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ServerId")); - b.Property("BirthDay") + b.Property("BirthDay") .HasColumnType("datetime2"); b.Property("CallName") @@ -63,7 +63,7 @@ namespace SCHALE.Common.Migrations.SqlServerMigrations b.Property("LinkRewardDate") .HasColumnType("datetime2"); - b.Property("LobbyMode") + b.Property("LobbyMode") .HasColumnType("int"); b.Property("MemoryLobbyUniqueId") @@ -79,8 +79,8 @@ namespace SCHALE.Common.Migrations.SqlServerMigrations .IsRequired() .HasColumnType("nvarchar(max)"); - b.Property("RepresentCharacterServerId") - .HasColumnType("int"); + b.Property("RepresentCharacterServerId") + .HasColumnType("bigint"); b.Property("RetentionDays") .HasColumnType("int"); @@ -184,9 +184,6 @@ namespace SCHALE.Common.Migrations.SqlServerMigrations b.Property("IsFavorite") .HasColumnType("bit"); - b.Property("IsLocked") - .HasColumnType("bit"); - b.Property("LeaderSkillLevel") .HasColumnType("int"); @@ -285,9 +282,6 @@ namespace SCHALE.Common.Migrations.SqlServerMigrations b.Property("Exp") .HasColumnType("bigint"); - b.Property("IsLocked") - .HasColumnType("bit"); - b.Property("Level") .HasColumnType("int"); @@ -396,9 +390,6 @@ namespace SCHALE.Common.Migrations.SqlServerMigrations b.Property("AccountServerId") .HasColumnType("bigint"); - b.Property("IsLocked") - .HasColumnType("bit"); - b.Property("StackCount") .HasColumnType("bigint"); @@ -540,9 +531,6 @@ namespace SCHALE.Common.Migrations.SqlServerMigrations b.Property("Exp") .HasColumnType("bigint"); - b.Property("IsLocked") - .HasColumnType("bit"); - b.Property("Level") .HasColumnType("int"); diff --git a/SCHALE.Common/NetworkProtocol/Packet.cs b/SCHALE.Common/NetworkProtocol/Packet.cs index 61192c9..0c50fe0 100644 --- a/SCHALE.Common/NetworkProtocol/Packet.cs +++ b/SCHALE.Common/NetworkProtocol/Packet.cs @@ -41,24 +41,4 @@ namespace SCHALE.Common.NetworkProtocol public Dictionary> EventMissionProgressDBDict { get; set; } public Dictionary StaticOpenConditions { get; set; } } - - [Flags] - public enum ServerNotificationFlag - { - None = 0, - NewMailArrived = 4, - HasUnreadMail = 8, - NewToastDetected = 16, - CanReceiveArenaDailyReward = 32, - CanReceiveRaidReward = 64, - ServerMaintenance = 256, - CannotReceiveMail = 512, - InventoryFullRewardMail = 1024, - CanReceiveClanAttendanceReward = 2048, - HasClanApplicant = 4096, - HasFriendRequest = 8192, - CheckConquest = 16384, - CanReceiveEliminateRaidReward = 32768, - CanReceiveMultiFloorRaidReward = 65536 - } } diff --git a/SCHALE.Common/NetworkProtocol/Protocol.cs b/SCHALE.Common/NetworkProtocol/Protocol.cs deleted file mode 100644 index 7baf01e..0000000 --- a/SCHALE.Common/NetworkProtocol/Protocol.cs +++ /dev/null @@ -1,431 +0,0 @@ -namespace SCHALE.Common.NetworkProtocol -{ - public enum Protocol - { - Common_Cheat = -9999, - Error = -1, - None = 0, - System_Version = 1, - [Obsolete] - Session_Info = 2, - NetworkTime_Sync = 3, - [Obsolete] - NetworkTime_SyncReply = 4, - Audit_GachaStatistics = 5, - Account_Create = 1000, - Account_Nickname = 1001, - Account_Auth = 1002, - Account_CurrencySync = 1003, - Account_SetRepresentCharacterAndComment = 1004, - Account_GetTutorial = 1005, - Account_SetTutorial = 1006, - Account_PassCheck = 1007, - Account_VerifyForYostar = 1008, - Account_CheckYostar = 1009, - Account_CallName = 1010, - Account_BirthDay = 1011, - Account_Auth2 = 1012, - Account_LinkReward = 1013, - Account_ReportXignCodeCheater = 1014, - Account_DismissRepurchasablePopup = 1015, - Account_InvalidateToken = 1016, - Account_LoginSync = 1017, - Account_Reset = 1018, - Account_RequestBirthdayMail = 1019, - Character_List = 2000, - Character_Transcendence = 2001, - Character_ExpGrowth = 2002, - Character_FavorGrowth = 2003, - Character_UpdateSkillLevel = 2004, - Character_UnlockWeapon = 2005, - Character_WeaponExpGrowth = 2006, - Character_WeaponTranscendence = 2007, - Character_SetFavorites = 2008, - Character_SetCostume = 2009, - Character_BatchSkillLevelUpdate = 2010, - Character_PotentialGrowth = 2011, - Equipment_List = 3000, - Equipment_Sell = 3001, - Equipment_Equip = 3002, - Equipment_LevelUp = 3003, - Equipment_TierUp = 3004, - Equipment_Lock = 3005, - Equipment_BatchGrowth = 3006, - Item_List = 4000, - Item_Sell = 4001, - Item_Consume = 4002, - Item_Lock = 4003, - Item_BulkConsume = 4004, - Item_SelectTicket = 4005, - Item_AutoSynth = 4006, - Echelon_List = 5000, - Echelon_Save = 5001, - Echelon_PresetList = 5002, - Echelon_PresetSave = 5003, - Echelon_PresetGroupRename = 5004, - Campaign_List = 6000, - Campaign_EnterMainStage = 6001, - Campaign_ConfirmMainStage = 6002, - Campaign_DeployEchelon = 6003, - Campaign_WithdrawEchelon = 6004, - Campaign_MapMove = 6005, - Campaign_EndTurn = 6006, - Campaign_EnterTactic = 6007, - Campaign_TacticResult = 6008, - Campaign_Retreat = 6009, - Campaign_ChapterClearReward = 6010, - Campaign_Heal = 6011, - Campaign_EnterSubStage = 6012, - Campaign_SubStageResult = 6013, - Campaign_Portal = 6014, - Campaign_ConfirmTutorialStage = 6015, - Campaign_PurchasePlayCountHardStage = 6016, - Campaign_EnterTutorialStage = 6017, - Campaign_TutorialStageResult = 6018, - Campaign_RestartMainStage = 6019, - Campaign_EnterMainStageStrategySkip = 6020, - Campaign_MainStageStrategySkipResult = 6021, - Mail_List = 7000, - Mail_Check = 7001, - Mail_Receive = 7002, - Mission_List = 8000, - Mission_Reward = 8001, - Mission_MultipleReward = 8002, - Mission_GuideReward = 8003, - Mission_MultipleGuideReward = 8004, - Mission_Sync = 8005, - Mission_GuideMissionSeasonList = 8006, - Attendance_List = 9000, - Attendance_Check = 9001, - Attendance_Reward = 9002, - Shop_BuyMerchandise = 10000, - Shop_BuyGacha = 10001, - Shop_List = 10002, - Shop_Refresh = 10003, - Shop_BuyEligma = 10004, - Shop_BuyGacha2 = 10005, - Shop_GachaRecruitList = 10006, - Shop_BuyRefreshMerchandise = 10007, - Shop_BuyGacha3 = 10008, - Shop_BuyAP = 10009, - Shop_BeforehandGachaGet = 10010, - Shop_BeforehandGachaRun = 10011, - Shop_BeforehandGachaSave = 10012, - Shop_BeforehandGachaPick = 10013, - Recipe_Craft = 11000, - MemoryLobby_List = 12000, - MemoryLobby_SetMain = 12001, - MemoryLobby_UpdateLobbyMode = 12002, - MemoryLobby_Interact = 12003, - [Obsolete] - CumulativeTimeReward_List = 13000, - [Obsolete] - CumulativeTimeReward_Reward = 13001, - OpenCondition_List = 15000, - OpenCondition_Set = 15001, - OpenCondition_EventList = 15002, - Toast_List = 16000, - Raid_List = 17000, - Raid_CompleteList = 17001, - Raid_Detail = 17002, - Raid_Search = 17003, - Raid_CreateBattle = 17004, - Raid_EnterBattle = 17005, - Raid_BattleUpdate = 17006, - Raid_EndBattle = 17007, - Raid_Reward = 17008, - Raid_RewardAll = 17009, - Raid_Revive = 17010, - Raid_Share = 17011, - Raid_SeasonInfo = 17012, - Raid_SeasonReward = 17013, - Raid_Lobby = 17014, - Raid_GiveUp = 17015, - Raid_OpponentList = 17016, - Raid_RankingReward = 17017, - Raid_Login = 17018, - Raid_Sweep = 17019, - Raid_GetBestTeam = 17020, - SkipHistory_List = 18000, - SkipHistory_Save = 18001, - Scenario_List = 19000, - Scenario_Clear = 19001, - Scenario_GroupHistoryUpdate = 19002, - Scenario_Skip = 19003, - Scenario_Select = 19004, - Scenario_AccountStudentChange = 19005, - Scenario_LobbyStudentChange = 19006, - Scenario_SpecialLobbyChange = 19007, - Scenario_Enter = 19008, - Scenario_EnterMainStage = 19009, - Scenario_ConfirmMainStage = 19010, - Scenario_DeployEchelon = 19011, - Scenario_WithdrawEchelon = 19012, - Scenario_MapMove = 19013, - Scenario_EndTurn = 19014, - Scenario_EnterTactic = 19015, - Scenario_TacticResult = 19016, - Scenario_Retreat = 19017, - Scenario_Portal = 19018, - Scenario_RestartMainStage = 19019, - Scenario_SkipMainStage = 19020, - Cafe_Get = 20000, - Cafe_Ack = 20001, - Cafe_Deploy = 20002, - Cafe_Relocate = 20003, - Cafe_Remove = 20004, - Cafe_RemoveAll = 20005, - Cafe_Interact = 20006, - Cafe_ListPreset = 20007, - Cafe_RenamePreset = 20008, - Cafe_ClearPreset = 20009, - Cafe_UpdatePresetFurniture = 20010, - Cafe_ApplyPreset = 20011, - Cafe_RankUp = 20012, - Cafe_ReceiveCurrency = 20013, - Cafe_GiveGift = 20014, - Cafe_SummonCharacter = 20015, - Cafe_TrophyHistory = 20016, - Cafe_ApplyTemplate = 20017, - Cafe_Open = 20018, - Craft_List = 21000, - Craft_SelectNode = 21001, - Craft_UpdateNodeLevel = 21002, - Craft_BeginProcess = 21003, - Craft_CompleteProcess = 21004, - Craft_Reward = 21005, - Craft_HistoryList = 21006, - Craft_ShiftingBeginProcess = 21007, - Craft_ShiftingCompleteProcess = 21008, - Craft_ShiftingReward = 21009, - Craft_AutoBeginProcess = 21010, - Craft_CompleteProcessAll = 21011, - Craft_RewardAll = 21012, - Craft_ShiftingCompleteProcessAll = 21013, - Craft_ShiftingRewardAll = 21014, - Arena_EnterLobby = 22000, - Arena_Login = 22001, - Arena_SettingChange = 22002, - Arena_OpponentList = 22003, - Arena_EnterBattle = 22004, - Arena_EnterBattlePart1 = 22005, - Arena_EnterBattlePart2 = 22006, - Arena_BattleResult = 22007, - Arena_CumulativeTimeReward = 22008, - Arena_DailyReward = 22009, - Arena_RankList = 22010, - Arena_History = 22011, - Arena_RecordSync = 22012, - Arena_TicketPurchase = 22013, - Arena_DamageReport = 22014, - Arena_CheckSeasonCloseReward = 22015, - Arena_SyncEchelonSettingTime = 22016, - WeekDungeon_List = 23000, - WeekDungeon_EnterBattle = 23001, - WeekDungeon_BattleResult = 23002, - WeekDungeon_Retreat = 23003, - Academy_GetInfo = 24000, - Academy_AttendSchedule = 24001, - Academy_AttendFavorSchedule = 24002, - Event_GetList = 25000, - Event_GetImage = 25001, - Event_UseCoupon = 25002, - Event_RewardIncrease = 25003, - ContentSave_Get = 26000, - ContentSave_Discard = 26001, - ContentSweep_Request = 27000, - ContentSweep_MultiSweep = 27001, - ContentSweep_MultiSweepPresetList = 27002, - ContentSweep_SetMultiSweepPreset = 27003, - Clan_Lobby = 28000, - Clan_Login = 28001, - Clan_Search = 28002, - Clan_Create = 28003, - Clan_Member = 28004, - Clan_Applicant = 28005, - Clan_Join = 28006, - Clan_Quit = 28007, - Clan_Permit = 28008, - Clan_Kick = 28009, - Clan_Setting = 28010, - Clan_Confer = 28011, - Clan_Dismiss = 28012, - Clan_AutoJoin = 28013, - Clan_MemberList = 28014, - Clan_CancelApply = 28015, - Clan_MyAssistList = 28016, - Clan_SetAssist = 28017, - Clan_ChatLog = 28018, - Clan_Check = 28019, - Clan_AllAssistList = 28020, - Billing_TransactionStartByYostar = 29000, - Billing_TransactionEndByYostar = 29001, - Billing_PurchaseListByYostar = 29002, - EventContent_AdventureList = 30000, - EventContent_EnterMainStage = 30001, - EventContent_ConfirmMainStage = 30002, - EventContent_EnterTactic = 30003, - EventContent_TacticResult = 30004, - EventContent_EnterSubStage = 30005, - EventContent_SubStageResult = 30006, - EventContent_DeployEchelon = 30007, - EventContent_WithdrawEchelon = 30008, - EventContent_MapMove = 30009, - EventContent_EndTurn = 30010, - EventContent_Retreat = 30011, - EventContent_Portal = 30012, - EventContent_PurchasePlayCountHardStage = 30013, - EventContent_ShopList = 30014, - EventContent_ShopRefresh = 30015, - EventContent_ReceiveStageTotalReward = 30016, - EventContent_EnterMainGroundStage = 30017, - EventContent_MainGroundStageResult = 30018, - EventContent_ShopBuyMerchandise = 30019, - EventContent_ShopBuyRefreshMerchandise = 30020, - EventContent_SelectBuff = 30021, - EventContent_BoxGachaShopList = 30022, - EventContent_BoxGachaShopPurchase = 30023, - EventContent_BoxGachaShopRefresh = 30024, - EventContent_CollectionList = 30025, - EventContent_CollectionForMission = 30026, - EventContent_ScenarioGroupHistoryUpdate = 30027, - EventContent_CardShopList = 30028, - EventContent_CardShopShuffle = 30029, - EventContent_CardShopPurchase = 30030, - EventContent_RestartMainStage = 30031, - EventContent_LocationGetInfo = 30032, - EventContent_LocationAttendSchedule = 30033, - EventContent_FortuneGachaPurchase = 30034, - EventContent_SubEventLobby = 30035, - EventContent_EnterStoryStage = 30036, - EventContent_StoryStageResult = 30037, - EventContent_DiceRaceLobby = 30038, - EventContent_DiceRaceRoll = 30039, - EventContent_DiceRaceLapReward = 30040, - EventContent_PermanentList = 30041, - EventContent_DiceRaceUseItem = 30042, - EventContent_CardShopPurchaseAll = 30043, - EventContent_TreasureLobby = 30044, - EventContent_TreasureFlip = 30045, - EventContent_TreasureNextRound = 30046, - TTS_GetFile = 31000, - ContentLog_UIOpenStatistics = 32000, - MomoTalk_OutLine = 33000, - MomoTalk_MessageList = 33001, - MomoTalk_Read = 33002, - MomoTalk_Reply = 33003, - MomoTalk_FavorSchedule = 33004, - ClearDeck_List = 34000, - MiniGame_StageList = 35000, - MiniGame_EnterStage = 35001, - MiniGame_Result = 35002, - MiniGame_MissionList = 35003, - MiniGame_MissionReward = 35004, - MiniGame_MissionMultipleReward = 35005, - MiniGame_ShootingLobby = 35006, - MiniGame_ShootingBattleEnter = 35007, - MiniGame_ShootingBattleResult = 35008, - MiniGame_ShootingSweep = 35009, - MiniGame_TableBoardSync = 35010, - MiniGame_TableBoardMove = 35011, - MiniGame_TableBoardEncounterInput = 35012, - MiniGame_TableBoardBattleEncounter = 35013, - MiniGame_TableBoardBattleRunAway = 35014, - MiniGame_TableBoardClearThema = 35015, - MiniGame_TableBoardUseItem = 35016, - MiniGame_TableBoardResurrect = 35017, - MiniGame_TableBoardSweep = 35018, - MiniGame_TableBoardMoveThema = 35019, - MiniGame_DreamMakerGetInfo = 35020, - MiniGame_DreamMakerNewGame = 35021, - MiniGame_DreamMakerRestart = 35022, - MiniGame_DreamMakerAttendSchedule = 35023, - MiniGame_DreamMakerDailyClosing = 35024, - Notification_LobbyCheck = 36000, - Notification_EventContentReddotCheck = 36001, - ProofToken_RequestQuestion = 37000, - ProofToken_Submit = 37001, - SchoolDungeon_List = 38000, - SchoolDungeon_EnterBattle = 38001, - SchoolDungeon_BattleResult = 38002, - SchoolDungeon_Retreat = 38003, - TimeAttackDungeon_Lobby = 39000, - TimeAttackDungeon_CreateBattle = 39001, - TimeAttackDungeon_EnterBattle = 39002, - TimeAttackDungeon_EndBattle = 39003, - TimeAttackDungeon_Sweep = 39004, - TimeAttackDungeon_GiveUp = 39005, - TimeAttackDungeon_Login = 39006, - WorldRaid_Lobby = 40000, - WorldRaid_BossList = 40001, - WorldRaid_EnterBattle = 40002, - WorldRaid_BattleResult = 40003, - WorldRaid_ReceiveReward = 40004, - ResetableContent_Get = 41000, - Conquest_GetInfo = 42000, - Conquest_Conquer = 42001, - Conquest_ConquerWithBattleStart = 42002, - Conquest_ConquerWithBattleResult = 42003, - Conquest_DeployEchelon = 42004, - Conquest_ManageBase = 42005, - Conquest_UpgradeBase = 42006, - Conquest_TakeEventObject = 42007, - Conquest_EventObjectBattleStart = 42008, - Conquest_EventObjectBattleResult = 42009, - Conquest_ReceiveCalculateRewards = 42010, - Conquest_NormalizeEchelon = 42011, - Conquest_Check = 42012, - Conquest_ErosionBattleStart = 42013, - Conquest_ErosionBattleResult = 42014, - Conquest_MainStoryGetInfo = 42015, - Conquest_MainStoryConquer = 42016, - Conquest_MainStoryConquerWithBattleStart = 42017, - Conquest_MainStoryConquerWithBattleResult = 42018, - Conquest_MainStoryCheck = 42019, - Friend_List = 43000, - Friend_Remove = 43001, - Friend_GetFriendDetailedInfo = 43002, - Friend_GetIdCard = 43003, - Friend_SetIdCard = 43004, - Friend_Search = 43005, - Friend_SendFriendRequest = 43006, - Friend_AcceptFriendRequest = 43007, - Friend_DeclineFriendRequest = 43008, - Friend_CancelFriendRequest = 43009, - Friend_Check = 43010, - CharacterGear_List = 44000, - CharacterGear_Unlock = 44001, - CharacterGear_TierUp = 44002, - EliminateRaid_Login = 45000, - EliminateRaid_Lobby = 45001, - EliminateRaid_OpponentList = 45002, - EliminateRaid_GetBestTeam = 45003, - EliminateRaid_CreateBattle = 45004, - EliminateRaid_EnterBattle = 45005, - EliminateRaid_EndBattle = 45006, - EliminateRaid_GiveUp = 45007, - EliminateRaid_Sweep = 45008, - EliminateRaid_SeasonReward = 45009, - EliminateRaid_RankingReward = 45010, - EliminateRaid_LimitedReward = 45011, - Attachment_Get = 46000, - Attachment_EmblemList = 46001, - Attachment_EmblemAcquire = 46002, - Attachment_EmblemAttach = 46003, - Sticker_Login = 47000, - Sticker_Lobby = 47001, - Sticker_UseSticker = 47002, - Field_Sync = 48000, - Field_Interaction = 48001, - Field_QuestClear = 48002, - Field_SceneChanged = 48003, - Field_EndDate = 48004, - Field_EnterStage = 48005, - Field_StageResult = 48006, - MultiFloorRaid_Sync = 49000, - MultiFloorRaid_EnterBattle = 49001, - MultiFloorRaid_EndBattle = 49002, - MultiFloorRaid_ReceiveReward = 49003, - Queuing_GetTicket = 50000 - } -} diff --git a/SCHALE.Common/NetworkProtocol/WebAPIErrorCode.cs b/SCHALE.Common/NetworkProtocol/WebAPIErrorCode.cs deleted file mode 100644 index 9804202..0000000 --- a/SCHALE.Common/NetworkProtocol/WebAPIErrorCode.cs +++ /dev/null @@ -1,542 +0,0 @@ -namespace SCHALE.Common.NetworkProtocol -{ - public enum WebAPIErrorCode - { - None = 0, - InvalidPacket = 1, - InvalidProtocol = 2, - InvalidSession = 3, - InvalidVersion = 4, - InternalServerError = 5, - DBError = 6, - InvalidToken = 7, - FailedToLockAccount = 8, - InvalidCheatError = 9, - AccountCurrencyCannotAffordCost = 10, - ExceedTranscendenceCountLimit = 11, - MailBoxFull = 12, - InventoryAlreadyFull = 13, - AccountNotFound = 14, - DataClassNotFound = 15, - DataEntityNotFound = 16, - AccountGemPaidCannotAffordCost = 17, - AccountGemBonusCannotAffordCost = 18, - AccountItemCannotAffordCost = 19, - APITimeoutError = 20, - FunctionTimeoutError = 21, - DBDistributeTransactionError = 22, - OccasionalJobError = 23, - FailedToConsumeParcel = 100, - InvalidString = 200, - InvalidStringLength = 201, - EmptyString = 202, - SpecialSymbolNotAllowed = 203, - InvalidDate = 300, - CoolTimeRemain = 301, - TimeElapseError = 302, - ClientSendBadRequest = 400, - ClientSendTooManyRequest = 401, - ClientSuspectedAsCheater = 402, - ServerFailedToHandleRequest = 500, - DocumentDBFailedToHandleRequest = 501, - ServerCacheFailedToHandleRequest = 502, - ReconnectBundleUpdateRequired = 800, - GatewayMakeStandbyNotSupport = 900, - GatewayPassCheckNotSupport = 901, - GatewayWaitingTicketTimeOut = 902, - ClientUpdateRequire = 903, - AccountCreateNoDevId = 1000, - AccountCreateDuplicatedDevId = 1001, - AccountAuthEmptyDevId = 1002, - AccountAuthNotCreated = 1003, - AccountAccessControlWithoutPermission = 1004, - AccountNicknameEmptyString = 1005, - AccountNicknameSameName = 1006, - AccountNicknameWithInvalidString = 1007, - AccountNicknameWithInvalidLength = 1008, - YostarServerNotSuccessStatusCode = 1009, - YostarNetworkException = 1010, - YostarException = 1011, - AccoountPassCheckNotSupportCheat = 1012, - AccountCreateFail = 1013, - AccountAddPubliserAccountFail = 1014, - AccountAddDevIdFail = 1015, - AccountCreateAlreadyPublisherAccoundId = 1016, - AccountUpdateStateFail = 1017, - YostarCheckFail = 1018, - EnterTicketInvalid = 1019, - EnterTicketTimeOut = 1020, - EnterTicketUsed = 1021, - AccountCommentLengthOverLimit = 1022, - AccountUpdateBirthdayFailed = 1023, - AccountLoginError = 1024, - AccountCurrencySyncError = 1025, - InvalidClientCookie = 1026, - CharacterNotFound = 2000, - CharacterLocked = 2001, - CharacterAlreadyHas = 2002, - CharacterAssignedEchelon = 2003, - CharacterFavorDownException = 2004, - CharacterFavorMaxLevelExceed = 2005, - CannotLevelUpSkill = 2006, - CharacterLevelAlreadyMax = 2007, - InvalidCharacterExpGrowthRequest = 2008, - CharacterWeaponDataNotFound = 2009, - CharacterWeaponNotFound = 2010, - CharacterWeaponAlreadyUnlocked = 2011, - CharacterWeaponUnlockConditionFail = 2012, - CharacterWeaponExpGrowthNotValidItem = 2013, - InvalidCharacterWeaponExpGrowthRequest = 2014, - CharacterWeaponTranscendenceRecipeNotFound = 2015, - CharacterWeaponTranscendenceConditionFail = 2016, - CharacterWeaponUpdateFail = 2017, - CharacterGearNotFound = 2018, - CharacterGearAlreadyEquiped = 2019, - CharacterGearCannotTierUp = 2020, - CharacterGearCannotUnlock = 2021, - CharacterCostumeNotFound = 2022, - CharacterCostumeAlreadySet = 2023, - CharacterCannotEquipCostume = 2024, - InvalidCharacterSkillLevelUpdateRequest = 2025, - InvalidCharacterPotentialGrowthRequest = 2026, - CharacterPotentialGrowthDataNotFound = 2027, - EquipmentNotFound = 3000, - InvalidEquipmentExpGrowthRequest = 3001, - EquipmentNotMatchingSlotItemCategory = 3002, - EquipmentLocked = 3003, - EquipmentAlreadyEquiped = 3004, - EquipmentConsumeItemLimitCountOver = 3005, - EquipmentNotEquiped = 3006, - EquipmentCanNotEquip = 3007, - EquipmentIngredientEmtpy = 3008, - EquipmentCannotLevelUp = 3009, - EquipmentCannotTierUp = 3010, - EquipmentGearCannotUnlock = 3011, - EquipmentBatchGrowthNotValid = 3012, - ItemNotFound = 4000, - ItemLocked = 4001, - ItemCreateWithoutStackCount = 4002, - ItemCreateStackCountFull = 4003, - ItemNotUsingType = 4004, - ItemEnchantIngredientFail = 4005, - ItemInvalidConsumeRequest = 4006, - ItemInsufficientStackCount = 4007, - ItemOverExpirationDateTime = 4008, - ItemCannotAutoSynth = 4009, - EchelonEmptyLeader = 5000, - EchelonNotFound = 5001, - EchelonNotDeployed = 5002, - EchelonSlotOverMaxCount = 5003, - EchelonAssignCharacterOnOtherEchelon = 5004, - EchelonTypeNotAcceptable = 5005, - EchelonEmptyNotAcceptable = 5006, - EchelonPresetInvalidSave = 5007, - EchelonPresetLabelLengthInvalid = 5008, - CampaignStageNotOpen = 6000, - CampaignStagePlayLimit = 6001, - CampaignStageEnterFail = 6002, - CampaignStageInvalidSaveData = 6003, - CampaignStageNotPlayerTurn = 6004, - CampaignStageStageNotFound = 6005, - CampaignStageHistoryNotFound = 6006, - CampaignStageChapterNotFound = 6007, - CampaignStageEchelonNotFound = 6008, - CampaignStageWithdrawedCannotReUse = 6009, - CampaignStageChapterRewardInvalidReward = 6010, - CampaignStageChapterRewardAlreadyReceived = 6011, - CampaignStageTacticWinnerInvalid = 6012, - CampaignStageActionCountZero = 6013, - CampaignStageHealNotAcceptable = 6014, - CampaignStageHealLimit = 6015, - CampaignStageLocationCanNotEngage = 6016, - CampaignEncounterWaitingCannotEndTurn = 6017, - CampaignTacticResultEmpty = 6018, - CampaignPortalExitNotFound = 6019, - CampaignCannotReachDestination = 6020, - CampaignChapterRewardConditionNotSatisfied = 6021, - CampaignStageDataInvalid = 6022, - ContentSweepNotOpened = 6023, - CampaignTacticSkipFailed = 6024, - CampaignUnableToRemoveFixedEchelon = 6025, - CampaignCharacterIsNotWhitelist = 6026, - CampaignFailedToSkipStrategy = 6027, - InvalidSweepRequest = 6028, - MailReceiveRequestInvalid = 7000, - MissionCannotComplete = 8000, - MissionRewardInvalid = 8001, - AttendanceInvalid = 9000, - ShopExcelNotFound = 10000, - ShopAndGoodsNotMatched = 10001, - ShopGoodsNotFound = 10002, - ShopExceedPurchaseCountLimit = 10003, - ShopCannotRefresh = 10004, - ShopInfoNotFound = 10005, - ShopCannotPurchaseActionPointLimitOver = 10006, - ShopNotOpened = 10007, - ShopInvalidGoods = 10008, - ShopInvalidCostOrReward = 10009, - ShopEligmaOverPurchase = 10010, - ShopFreeRecruitInvalid = 10011, - ShopNewbieGachaInvalid = 10012, - ShopCannotNewGoodsRefresh = 10013, - GachaCostNotValid = 10014, - ShopRestrictBuyWhenInventoryFull = 10015, - BeforehandGachaMetadataNotFound = 10016, - BeforehandGachaCandidateNotFound = 10017, - BeforehandGachaInvalidLastIndex = 10018, - BeforehandGachaInvalidSaveIndex = 10019, - BeforehandGachaInvalidPickIndex = 10020, - BeforehandGachaDuplicatedResults = 10021, - RecipeCraftNoData = 11000, - RecipeCraftInsufficientIngredients = 11001, - RecipeCraftDataError = 11002, - MemoryLobbyNotFound = 12000, - LobbyModeChangeFailed = 12001, - CumulativeTimeRewardNotFound = 13000, - CumulativeTimeRewardAlreadyReceipt = 13001, - CumulativeTimeRewardInsufficientConnectionTime = 13002, - OpenConditionClosed = 14000, - OpenConditionSetNotSupport = 14001, - CafeNotFound = 15000, - CafeFurnitureNotFound = 15001, - CafeDeployFail = 15002, - CafeRelocateFail = 15003, - CafeInteractionNotFound = 15004, - CafeProductionEmpty = 15005, - CafeRankUpFail = 15006, - CafePresetNotFound = 15007, - CafeRenamePresetFail = 15008, - CafeClearPresetFail = 15009, - CafeUpdatePresetFurnitureFail = 15010, - CafeReservePresetActivationTimeFail = 15011, - CafePresetApplyFail = 15012, - CafePresetIsEmpty = 15013, - CafeAlreadyVisitCharacter = 15014, - CafeCannotSummonCharacter = 15015, - CafeCanRefreshVisitCharacter = 15016, - CafeAlreadyInteraction = 15017, - CafeTemplateNotFound = 15018, - CafeAlreadyOpened = 15019, - ScenarioMode_Fail = 16000, - ScenarioMode_DuplicatedScenarioModeId = 16001, - ScenarioMode_LimitClearedScenario = 16002, - ScenarioMode_LimitAccountLevel = 16003, - ScenarioMode_LimitClearedStage = 16004, - ScenarioMode_LimitClubStudent = 16005, - ScenarioMode_FailInDBProcess = 16006, - ScenarioGroup_DuplicatedScenarioGroupId = 16007, - ScenarioGroup_FailInDBProcess = 16008, - ScenarioGroup_DataNotFound = 16009, - ScenarioGroup_MeetupConditionFail = 16010, - CraftInfoNotFound = 17000, - CraftCanNotCreateNode = 17001, - CraftCanNotUpdateNode = 17002, - CraftCanNotBeginProcess = 17003, - CraftNodeDepthError = 17004, - CraftAlreadyProcessing = 17005, - CraftCanNotCompleteProcess = 17006, - CraftProcessNotComplete = 17007, - CraftInvalidIngredient = 17008, - CraftError = 17009, - CraftInvalidData = 17010, - CraftNotAvailableToCafePresets = 17011, - CraftNotEnoughEmptySlotCount = 17012, - CraftInvalidPresetSlotDB = 17013, - RaidExcelDataNotFound = 18000, - RaidSeasonNotOpen = 18001, - RaidDBDataNotFound = 18002, - RaidBattleNotFound = 18003, - RaidBattleUpdateFail = 18004, - RaidCompleteListEmpty = 18005, - RaidRoomCanNotCreate = 18006, - RaidActionPointZero = 18007, - RaidTicketZero = 18008, - RaidRoomCanNotJoin = 18009, - RaidRoomMaxPlayer = 18010, - RaidRewardDataNotFound = 18011, - RaidSeasonRewardNotFound = 18012, - RaidSeasonAlreadyReceiveReward = 18013, - RaidSeasonAddRewardPointError = 18014, - RaidSeasonRewardNotUpdate = 18015, - RaidSeasonReceiveRewardFail = 18016, - RaidSearchNotFound = 18017, - RaidShareNotFound = 18018, - RaidEndRewardFlagError = 18019, - RaidCanNotFoundPlayer = 18020, - RaidAlreadyParticipateCharacters = 18021, - RaidClearHistoryNotSave = 18022, - RaidBattleAlreadyEnd = 18023, - RaidEchelonNotFound = 18024, - RaidSeasonOpen = 18025, - RaidRoomIsAlreadyClose = 18026, - RaidRankingNotFound = 18027, - WeekDungeonInfoNotFound = 19000, - WeekDungeonNotOpenToday = 19001, - WeekDungeonBattleWinnerInvalid = 19002, - WeekDungeonInvalidSaveData = 19003, - FindGiftRewardNotFound = 20000, - FindGiftRewardAlreadyAcquired = 20001, - FindGiftClearCountOverTotalCount = 20002, - ArenaInfoNotFound = 21000, - ArenaGroupNotFound = 21001, - ArenaRankHistoryNotFound = 21002, - ArenaRankInvalid = 21003, - ArenaBattleFail = 21004, - ArenaDailyRewardAlreadyBeenReceived = 21005, - ArenaNoSeasonAvailable = 21006, - ArenaAttackCoolTime = 21007, - ArenaOpponentAlreadyBeenAttacked = 21008, - ArenaOpponentRankInvalid = 21009, - ArenaNeedFormationSetting = 21010, - ArenaNoHistory = 21011, - ArenaInvalidRequest = 21012, - ArenaInvalidIndex = 21013, - ArenaNotFoundBattle = 21014, - ArenaBattleTimeOver = 21015, - ArenaRefreshTimeOver = 21016, - ArenaEchelonSettingTimeOver = 21017, - ArenaCannotReceiveReward = 21018, - ArenaRewardNotExist = 21019, - ArenaCannotSetMap = 21020, - ArenaDefenderRankChange = 21021, - AcademyNotFound = 22000, - AcademyScheduleTableNotFound = 22001, - AcademyScheduleOperationNotFound = 22002, - AcademyAlreadyAttendedSchedule = 22003, - AcademyAlreadyAttendedFavorSchedule = 22004, - AcademyRewardCharacterNotFound = 22005, - AcademyScheduleCanNotAttend = 22006, - AcademyTicketZero = 22007, - AcademyMessageCanNotSend = 22008, - ContentSaveDBNotFound = 26000, - ContentSaveDBEntranceFeeEmpty = 26001, - AccountBanned = 27000, - ServerNowLoadingProhibitedWord = 28000, - ServerIsUnderMaintenance = 28001, - ServerMaintenanceSoon = 28002, - AccountIsNotInWhiteList = 28003, - ServerContentsLockUpdating = 28004, - ServerContentsLock = 28005, - CouponIsEmpty = 29000, - CouponIsInvalid = 29001, - UseCouponUsedListReadFail = 29002, - UseCouponUsedCoupon = 29003, - UseCouponNotFoundSerials = 29004, - UseCouponDeleteSerials = 29005, - UseCouponUnapprovedSerials = 29006, - UseCouponExpiredSerials = 29007, - UseCouponMaximumSerials = 29008, - UseCouponNotFoundMeta = 29009, - UseCouponDuplicateUseCoupon = 29010, - UseCouponDuplicateUseSerial = 29011, - BillingStartShopCashIdNotFound = 30000, - BillingStartNotServiceTime = 30001, - BillingStartUseConditionCheckError = 30002, - BillingStartSmallLevel = 30003, - BillingStartMaxPurchaseCount = 30004, - BillingStartFailAddOrder = 30005, - BillingStartExistPurchase = 30006, - BillingEndFailGetOrder = 30007, - BillingEndShopCashIdNotFound = 30008, - BillingEndProductIdNotFound = 30009, - BillingEndMonthlyProductIdNotFound = 30010, - BillingEndInvalidState = 30011, - BillingEndFailUpdteState = 30012, - BillingEndFailSendMail = 30013, - BillingEndInvalidAccount = 30014, - BillingEndNotFoundPurchaseCount = 30015, - BillingEndFailUpdteMonthlyProduct = 30016, - BillingStartMailFull = 30017, - BillingStartInventoryAndMailFull = 30018, - BillingEndRecvedErrorMonthlyProduct = 30019, - MonthlyProductNotOutdated = 30020, - ClanNotFound = 31000, - ClanSearchFailed = 31001, - ClanEmptySearchString = 31002, - ClanAccountAlreadyJoinedClan = 31003, - ClanAccountAlreadyQuitClan = 31004, - ClanCreateFailed = 31005, - ClanMemberExceedCapacity = 31006, - ClanDoesNotHavePermission = 31007, - ClanTargetAccountIsNotApplicant = 31008, - ClanMemberNotFound = 31009, - ClanCanNotKick = 31010, - ClanCanNotDismiss = 31011, - ClanCanNotQuit = 31012, - ClanRejoinCoolOff = 31013, - ClanChangeMemberGradeFailed = 31014, - ClanHasBeenDisMissed = 31015, - ClanCannotChangeJoinOption = 31016, - ClanExceedConferCountLimit = 31017, - ClanBusy = 31018, - ClanNameEmptyString = 31019, - ClanNameWithInvalidLength = 31020, - ClanAssistCharacterAlreadyDeployed = 31021, - ClanAssistNotValidUse = 31022, - ClanAssistCharacterChanged = 31023, - ClanAssistCoolTime = 31024, - ClanAssistAlreadyUsedInRaidRoom = 31025, - ClanAssistAlreadyUsedInTimeAttackDungeonRoom = 31026, - ClanAssistEchelonHasAssistOnly = 31027, - PaymentInvalidSign = 32000, - PaymentInvalidSeed1 = 32001, - PaymentInvalidSeed2 = 32002, - PaymentInvalidInput = 32003, - PaymentNotFoundPurchase = 32004, - PaymentGetPurchaseOrderNotZero = 32005, - PaymentSetPurchaseOrderNotZero = 32006, - PaymentException = 32007, - PaymentInvalidState = 32008, - SessionNotFound = 33000, - SessionParseFail = 33001, - SessionInvalidInput = 33002, - SessionNotAuth = 33003, - SessionDuplicateLogin = 33004, - SessionTimeOver = 33005, - SessionInvalidVersion = 33006, - SessionChangeDate = 33007, - CallName_RenameCoolTime = 34000, - CallName_EmptyString = 34001, - CallName_InvalidString = 34002, - CallName_TTSServerIsNotAvailable = 34003, - CouchbaseInvalidCas = 35000, - CouchbaseOperationFailed = 35001, - CouchbaseRollBackFailed = 35002, - EventContentCannotSelectBuff = 36000, - EventContentNoBuffGroupAvailable = 36001, - EventContentBuffGroupIdDuplicated = 36002, - EventContentNotOpen = 36003, - EventContentNoTotalRewardAvailable = 36004, - EventContentBoxGachaPurchaseFailed = 36005, - EventContentBoxGachaCannotRefresh = 36006, - EventContentCardShopCannotShuffle = 36007, - EventContentElementDoesNotExist = 36008, - EventContentElementAlreadyPurchased = 36009, - EventContentLocationNotFound = 36010, - EventContentLocationScheduleCanNotAttend = 36011, - EventContentDiceRaceDataNotFound = 36012, - EventContentDiceRaceAlreadyReceiveLapRewardAll = 36013, - EventContentDiceRaceInvalidDiceRaceResultType = 36014, - EventContentTreasureDataNotFound = 36015, - EventContentTreasureNotComplete = 36016, - EventContentTreasureFlipFailed = 36017, - MiniGameStageIsNotOpen = 37000, - MiniGameStageInvalidResult = 37001, - MiniGameShootingStageInvlid = 37002, - MiniGameShootingCannotSweep = 37003, - MiniGameTableBoardSaveNotExist = 37004, - MiniGameTableBoardPlayerCannotMove = 37005, - MiniGameTableBoardNoActiveEncounter = 37006, - MiniGameTableBoardInvalidEncounterRequest = 37007, - MiniGameTableBoardProcessEncounterFailed = 37008, - MiniGameTableBoardItemNotExist = 37009, - MiniGameTableBoardInvalidItemUse = 37010, - MiniGameTableBoardInvalidClearThemaRequest = 37011, - MiniGameTableBoardInvalidSeason = 37012, - MiniGameTableBoardInvalidResurrectRequest = 37013, - MiniGameTableBoardSweepConditionFail = 37014, - MiniGameTableBoardInvalidData = 37015, - ProofTokenNotSubmitted = 38000, - SchoolDungeonInfoNotFound = 39000, - SchoolDungeonNotOpened = 39001, - SchoolDungeonInvalidSaveData = 39002, - SchoolDungeonBattleWinnerInvalid = 39003, - SchoolDungeonInvalidReward = 39004, - TimeAttackDungeonDataNotFound = 40000, - TimeAttackDungeonNotOpen = 40001, - TimeAttackDungeonRoomTimeOut = 40002, - TimeAttackDungeonRoomPlayCountOver = 40003, - TimeAttackDungeonRoomAlreadyExists = 40004, - TimeAttackDungeonRoomAlreadyClosed = 40005, - TimeAttackDungeonRoomNotExist = 40006, - TimeAttackDungeonInvalidRequest = 40007, - TimeAttackDungeonInvalidData = 40008, - WorldRaidDataNotFound = 41000, - WorldRaidSeasonNotOpen = 41001, - WorldRaidBossGroupNotOpen = 41002, - WorldRaidInvalidOpenCondition = 41003, - WorldRaidDifficultyNotOpen = 41004, - WorldRaidAssistCharacterLimitOver = 41005, - WorldRaidContainBlackListCharacter = 41006, - WorldRaidValidFixedEchelonSetting = 41007, - WorldRaidAlredayReceiveRewardAll = 41008, - WorldRaidCannotReceiveReward = 41009, - WorldRaidBossAlreadyDead = 41010, - WorldRaidNotAnotherBossKilled = 41011, - WorldRaidBattleResultUpdateFailed = 41012, - WorldRaidGemEnterCountLimitOver = 41013, - WorldRaidCannotGemEnter = 41014, - WorldRaidNeedClearScenarioBoss = 41015, - WorldRaidBossIsAlive = 41016, - ConquestDataNotFound = 42000, - ConquestAlreadyConquested = 42001, - ConquestNotFullyConquested = 42002, - ConquestStepNotOpened = 42003, - ConquestUnableToReach = 42004, - ConquestUnableToAttack = 42005, - ConquestEchelonChangedCountMax = 42006, - ConquestEchelonNotFound = 42007, - ConquestCharacterAlreadyDeployed = 42008, - ConquestMaxUpgrade = 42009, - ConquestUnitNotFound = 42010, - ConquestObjectNotFound = 42011, - ConquestCalculateRewardNotFound = 42012, - ConquestInvalidTileType = 42013, - ConquestInvalidObjectType = 42014, - ConquestInvalidSaveData = 42015, - ConquestMaxAssistCountReached = 42016, - ConquestErosionConditionNotSatisfied = 42017, - ConquestAdditionalContentNotInUse = 42018, - ConquestCannotUseManageEchelon = 42019, - FriendUserIsNotFriend = 43000, - FriendFailedToCreateFriendIdCard = 43001, - FriendRequestNotFound = 43002, - FriendInvalidFriendCode = 43003, - FriendAlreadyFriend = 43004, - FriendMaxSentRequestReached = 43005, - FriendMaxReceivedRequestReached = 43006, - FriendCannotRequestMaxFriendCountReached = 43007, - FriendCannotAcceptMaxFriendCountReached = 43008, - FriendOpponentMaxFriendCountReached = 43009, - FriendTargetIsBusy = 43010, - FriendRequestTargetIsYourself = 43011, - FriendSearchTargetIsYourself = 43012, - FriendInvalidBackgroundId = 43013, - FriendIdCardCommentLengthOverLimit = 43014, - FriendBackgroundNotOwned = 43015, - EliminateStageIsNotOpened = 44000, - MultiSweepPresetDocumentNotFound = 45000, - MultiSweepPresetNameEmpty = 45001, - MultiSweepPresetInvalidStageId = 45002, - MultiSweepPresetInvalidId = 45003, - MultiSweepPresetNameInvalidLength = 45004, - EmblemDataNotFound = 46000, - EmblemAttachFailed = 46001, - EmblemCannotReceive = 46002, - EmblemPassCheckEmblemIsEmpty = 46003, - StickerDataNotFound = 47000, - StickerNotAcquired = 47001, - StickerDocumentNotFound = 47002, - StickerAlreadyUsed = 47003, - ClearDeckInvalidKey = 48000, - ClearDeckOutOfDate = 48001, - MultiFloorRaidSeasonNotOpened = 49000, - MultiFloorRaidDataNotFound = 49001, - MultiFloorRaidAssistCharacterLimitOver = 49002, - MultiFloorRaidStageOpenConditionFail = 49003, - MultiFloorRaidInvalidSummary = 49004, - MultiFloorRaidInvalidRewardRequest = 49005, - FieldDataNotFound = 60000, - FieldInteracionFailed = 60001, - FieldQuestClearFailed = 60002, - FieldInvalidSceneChangedRequest = 60003, - FieldInvalidEndDateRequest = 60004, - FieldCreateDailyQuestFailed = 60005, - FieldResetReplayFailed = 60006, - FieldIncreaseMasteryFailed = 60007, - FieldStageDataInvalid = 60008, - FieldStageEnterFail = 60009, - FieldContentIsClosed = 60010, - FieldEventStageNotCleared = 60011 - } -} diff --git a/SCHALE.Common/NetworkProtocol/protos.cs b/SCHALE.Common/NetworkProtocol/protos.cs index d0a1924..ac54738 100644 --- a/SCHALE.Common/NetworkProtocol/protos.cs +++ b/SCHALE.Common/NetworkProtocol/protos.cs @@ -1,11223 +1,12536 @@ -using SCHALE.Common.Database; +using System; using System.Text.Json.Serialization; -using SCHALE.Common.Parcel; using SCHALE.Common.FlatData; +using SCHALE.Common.Database; namespace SCHALE.Common.NetworkProtocol { + public class AcademyGetInfoRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Academy_GetInfo; + } + } - public class MissionSyncRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Mission_Sync; - } - } - } + } - public class MissionSyncResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Mission_Sync; - } - } - } + public class AcademyGetInfoResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Academy_GetInfo; + } + } + public AcademyDB AcademyDB { get; set; } + public List AcademyLocationDBs { get; set; } + } + + public class AcademyAttendScheduleRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Academy_AttendSchedule; + } + } + + public long ZoneId { get; set; } + } + + public class AcademyAttendScheduleResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Academy_AttendSchedule; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + public AcademyDB AcademyDB { get; set; } + public List ExtraRewards { get; set; } + } + + public class AccountCurrencySyncRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Account_CurrencySync; + } + } + + } + + public class AccountCurrencySyncResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Account_CurrencySync; + } + } + + public AccountCurrencyDB AccountCurrencyDB { get; set; } + public Dictionary ExpiredCurrency { get; set; } + } + + public class AccountAuthRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Account_Auth; + } + } + + public long Version { get; set; } + public string DevId { get; set; } + public long IMEI { get; set; } + public string AccessIP { get; set; } + public string MarketId { get; set; } + public string UserType { get; set; } + public string AdvertisementId { get; set; } + public string OSType { get; set; } + public string OSVersion { get; set; } + public string DeviceUniqueId { get; set; } + public string DeviceModel { get; set; } + public int DeviceSystemMemorySize { get; set; } + } public class AccountAuthResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Account_Auth; - } - } - - public long CurrentVersion { get; set; } - public long MinimumVersion { get; set; } - public bool IsDevelopment { get; set; } - public bool UpdateRequired { get; set; } - public string TTSCdnUri { get; set; } - public AccountDB AccountDB { get; set; } - public IEnumerable AttendanceBookRewards { get; set; } - public IEnumerable AttendanceHistoryDBs { get; set; } - public IEnumerable OpenConditions { get; set; } - public IEnumerable RepurchasableMonthlyProductCountDBs { get; set; } - public IEnumerable MonthlyProductParcel { get; set; } - public IEnumerable MonthlyProductMail { get; set; } - public IEnumerable BiweeklyProductParcel { get; set; } - public IEnumerable BiweeklyProductMail { get; set; } - public IEnumerable WeeklyProductParcel { get; set; } - public IEnumerable WeeklyProductMail { get; set; } - public string EncryptedUID { get; set; } - } - - public class AccountAuthRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Account_Auth; - } - } - public long Version { get; set; } - public string DevId { get; set; } - public long IMEI { get; set; } - public string AccessIP { get; set; } - public string MarketId { get; set; } - public string UserType { get; set; } - public string AdvertisementId { get; set; } - public string OSType { get; set; } - public string OSVersion { get; set; } - public string DeviceUniqueId { get; set; } - public string DeviceModel { get; set; } - public int DeviceSystemMemorySize { get; set; } - } - - - public class AccountCurrencySyncResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Account_CurrencySync; - } - } - public AccountCurrencyDB AccountCurrencyDB { get; set; } - } - - - public class AcademyAttendScheduleRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Academy_AttendSchedule; - } - } - public long ZoneId { get; set; } - } - - - public class AccountCurrencySyncRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Account_CurrencySync; - } - } - } - - - public class AcademyGetInfoResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Academy_GetInfo; - } - } - public AcademyDB AcademyDB { get; set; } - public List AcademyLocationDBs { get; set; } - } - - - public class AcademyAttendScheduleResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Academy_AttendSchedule; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - public AcademyDB AcademyDB { get; set; } - public List ExtraRewards { get; set; } - } - - - public class AcademyGetInfoRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Academy_GetInfo; - } - } - } + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Account_Auth; + } + } + public long CurrentVersion { get; set; } + public long MinimumVersion { get; set; } + public bool IsDevelopment { get; set; } + public bool BattleValidation { get; set; } + public bool UpdateRequired { get; set; } + public string TTSCdnUri { get; set; } + public AccountDB AccountDB { get; set; } + public IEnumerable AttendanceBookRewards { get; set; } + public IEnumerable AttendanceHistoryDBs { get; set; } + public IEnumerable OpenConditions { get; set; } + public IEnumerable RepurchasableMonthlyProductCountDBs { get; set; } + public IEnumerable MonthlyProductParcel { get; set; } + public IEnumerable MonthlyProductMail { get; set; } + public IEnumerable BiweeklyProductParcel { get; set; } + public IEnumerable BiweeklyProductMail { get; set; } + public IEnumerable WeeklyProductParcel { get; set; } + public IEnumerable WeeklyProductMail { get; set; } + public string EncryptedUID { get; set; } + public AccountRestrictionsDB AccountRestrictionsDB { get; set; } + public IEnumerable IssueAlertInfos { get; set; } + } public class AccountAuth2Request : AccountAuthRequest - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Account_Auth2; - } - } - } - - - public class AccountAuth2Response : AccountAuthResponse - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Account_Auth2; - } - } - } - - - public class AccountCreateRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Account_Create; - } - } - public string DevId { get; set; } - public long Version { get; set; } - public long IMEI { get; set; } - public string AccessIP { get; set; } - public string MarketId { get; set; } - public string UserType { get; set; } - public string AdvertisementId { get; set; } - public string OSType { get; set; } - public string OSVersion { get; set; } - } - - - public class AccountCreateResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Account_Create; - } - } - } - - - public class AccountNicknameRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Account_Nickname; - } - } - public string Nickname { get; set; } - } - - - public class AccountNicknameResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Account_Nickname; - } - } - public AccountDB AccountDB { get; set; } - } - - - public class AccountCallNameRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Account_CallName; - } - } - public string CallName { get; set; } - } - - - public class AccountCallNameResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Account_CallName; - } - } - public AccountDB AccountDB { get; set; } - } - - - public class AccountBirthDayRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Account_BirthDay; - } - } - public DateTime BirthDay { get; set; } - } - - - public class AccountBirthDayResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Account_BirthDay; - } - } - public AccountDB AccountDB { get; set; } - } - - - public class AccountSetRepresentCharacterAndCommentRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Account_SetRepresentCharacterAndComment; - } - } - public int RepresentCharacterServerId { get; set; } - public string Comment { get; set; } - } - - - public class AccountSetRepresentCharacterAndCommentResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Account_SetRepresentCharacterAndComment; - } - } - public AccountDB AccountDB { get; set; } - public CharacterDB RepresentCharacterDB { get; set; } - } - - - public class AccountGetTutorialRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Account_GetTutorial; - } - } - } - - - public class AccountGetTutorialResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Account_GetTutorial; - } - } - public List TutorialIds { get; set; } - } - - - public class AccountSetTutorialRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Account_SetTutorial; - } - } - public List TutorialIds { get; set; } - } - - - public class AccountSetTutorialResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Account_SetTutorial; - } - } - } - - - public class AccountPassCheckRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Account_PassCheck; - } - } - public string DevId { get; set; } - public bool OnlyAccountId { get; set; } - } - - - public class AccountPassCheckResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Account_PassCheck; - } - } - } - - - public class AccountLinkRewardRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Account_LinkReward; - } - } - } - - - public class AccountLinkRewardResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Account_LinkReward; - } - } - } - - - public class AccountReportXignCodeCheaterRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Account_ReportXignCodeCheater; - } - } - public string ErrorCode { get; set; } - } - - - public class AccountReportXignCodeCheaterResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Account_ReportXignCodeCheater; - } - } - } - - - public class AccountDismissRepurchasablePopupRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Account_DismissRepurchasablePopup; - } - } - public List ProductIds { get; set; } - } - - - public class AccountDismissRepurchasablePopupResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Account_DismissRepurchasablePopup; - } - } - } - - - public class AccountInvalidateTokenRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Account_InvalidateToken; - } - } - } - - - public class AccountInvalidateTokenResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.None; - } - } - } - - - public class AccountLoginSyncRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Account_LoginSync; - } - } - public List SyncProtocols { get; set; } - } - - - public class AccountLoginSyncResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Account_LoginSync; - } - } - public ResponsePacket Responses { get; set; } - public CafeGetInfoResponse CafeGetInfoResponse { get; set; } - public AccountCurrencySyncResponse AccountCurrencySyncResponse { get; set; } - public CharacterListResponse CharacterListResponse { get; set; } - public EquipmentItemListResponse EquipmentItemListResponse { get; set; } - public CharacterGearListResponse CharacterGearListResponse { get; set; } - public ItemListResponse ItemListResponse { get; set; } - public EchelonListResponse EchelonListResponse { get; set; } - public MemoryLobbyListResponse MemoryLobbyListResponse { get; set; } - public CampaignListResponse CampaignListResponse { get; set; } - public ArenaLoginResponse ArenaLoginResponse { get; set; } - public RaidLoginResponse RaidLoginResponse { get; set; } - public EliminateRaidLoginResponse EliminateRaidLoginResponse { get; set; } - public CraftInfoListResponse CraftInfoListResponse { get; set; } - public ClanLoginResponse ClanLoginResponse { get; set; } - public MomoTalkOutLineResponse MomotalkOutlineResponse { get; set; } - public ScenarioListResponse ScenarioListResponse { get; set; } - public ShopGachaRecruitListResponse ShopGachaRecruitListResponse { get; set; } - public TimeAttackDungeonLoginResponse TimeAttackDungeonLoginResponse { get; set; } - public BillingPurchaseListByYostarResponse BillingPurchaseListByYostarResponse { get; set; } - public EventContentPermanentListResponse EventContentPermanentListResponse { get; set; } - public AttachmentGetResponse AttachmentGetResponse { get; set; } - public AttachmentEmblemListResponse AttachmentEmblemListResponse { get; set; } - public ContentSweepMultiSweepPresetListResponse ContentSweepMultiSweepPresetListResponse { get; set; } - public StickerLoginResponse StickerListResponse { get; set; } - public MultiFloorRaidSyncResponse MultiFloorRaidSyncResponse { get; set; } - public long FriendCount { get; set; } - public string FriendCode { get; set; } - } - - - public class AccountCheckYostarRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Account_CheckYostar; - } - } - public long UID { get; set; } - public string YostarToken { get; set; } - public string EnterTicket { get; set; } - public bool PassCookieResult { get; set; } - public string Cookie { get; set; } - } - - - public class AccountCheckYostarResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Account_CheckYostar; - } - } - public int ResultState { get; set; } - public string ResultMessag { get; set; } - public string Birth { get; set; } - } - - - public class AccountResetRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Account_Reset; - } - } - public string DevId { get; set; } - } - - - public class AccountResetResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Account_Reset; - } - } - } - - - public class AccountRequestBirthdayMailRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Account_RequestBirthdayMail; - } - } - public DateTime Birthday { get; set; } - } - - - public class AccountRequestBirthdayMailResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Account_RequestBirthdayMail; - } - } - } - - - public class ArenaEnterLobbyRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Arena_EnterLobby; - } - } - } - - - public class ArenaEnterLobbyResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Arena_EnterLobby; - } - } - public ArenaPlayerInfoDB ArenaPlayerInfoDB { get; set; } - public List OpponentUserDBs { get; set; } - public long MapId { get; set; } - public DateTime AutoRefreshTime { get; set; } - } - - - public class ArenaLoginRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Arena_Login; - } - } - } - - - public class ArenaLoginResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Arena_Login; - } - } - public ArenaPlayerInfoDB ArenaPlayerInfoDB { get; set; } - } - - - public class ArenaSettingChangeRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Arena_SettingChange; - } - } - public long MapId { get; set; } - } - - - public class ArenaSettingChangeResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Arena_SettingChange; - } - } - } - - - public class ArenaOpponentListRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Arena_OpponentList; - } - } - } - - - public class ArenaOpponentListResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Arena_OpponentList; - } - } - public long PlayerRank { get; set; } - public List OpponentUserDBs { get; set; } - public DateTime AutoRefreshTime { get; set; } - } - - - public class ArenaEnterBattleRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Arena_EnterBattle; - } - } - public long OpponentAccountServerId { get; set; } - public long OpponentIndex { get; set; } - } - - - public class ArenaEnterBattleResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Arena_EnterBattle; - } - } - public AccountCurrencyDB AccountCurrencyDB { get; set; } - public ArenaBattleDB ArenaBattleDB { get; set; } - public ArenaPlayerInfoDB ArenaPlayerInfoDB { get; set; } - public ParcelResultDB VictoryRewards { get; set; } - public ParcelResultDB SeasonRewards { get; set; } - public ParcelResultDB AllTimeRewards { get; set; } - } - - - public class ArenaBattleResultRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Arena_BattleResult; - } - } - public ArenaBattleDB ArenaBattleDB { get; set; } - } - - - public class ArenaBattleResultResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Arena_BattleResult; - } - } - } - - - public class ArenaEnterBattlePart1Response : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Arena_EnterBattlePart1; - } - } - public ArenaBattleDB ArenaBattleDB { get; set; } - } - - - public class ArenaEnterBattlePart1Request : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Arena_EnterBattlePart1; - } - } - public long OpponentAccountServerId { get; set; } - public long OpponentRank { get; set; } - public int OpponentIndex { get; set; } - } - - - public class ArenaEnterBattlePart2Request : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Arena_EnterBattlePart2; - } - } - public ArenaBattleDB ArenaBattleDB { get; set; } - } - - - public class ArenaCumulativeTimeRewardResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Arena_CumulativeTimeReward; - } - } - public long TimeRewardAmount { get; set; } - public DateTime TimeRewardLastUpdateTime { get; set; } - public ParcelResultDB ParcelResult { get; set; } - } - - - public class ArenaHistoryRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Arena_History; - } - } - public DateTime SearchStartDate { get; set; } - public int Count { get; set; } - } - - - public class ArenaCheckSeasonCloseRewardRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Arena_CheckSeasonCloseReward; - } - } - } - - - public class ArenaEnterBattlePart2Response : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Arena_EnterBattlePart2; - } - } - public ArenaBattleDB ArenaBattleDB { get; set; } - public ArenaPlayerInfoDB ArenaPlayerInfoDB { get; set; } - public AccountCurrencyDB AccountCurrencyDB { get; set; } - public ParcelResultDB VictoryRewards { get; set; } - public ParcelResultDB SeasonRewards { get; set; } - public ParcelResultDB AllTimeRewards { get; set; } - } - - - public class ArenaRankListResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Arena_RankList; - } - } - public List TopRankedUserDBs { get; set; } - } - - - public class ArenaDailyRewardResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Arena_DailyReward; - } - } - public ParcelResultDB ParcelResult { get; set; } - public DateTime DailyRewardActiveTime { get; set; } - } - - - public class ArenaCheckSeasonCloseRewardResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Arena_CheckSeasonCloseReward; - } - } - } - - - public class ArenaSyncEchelonSettingTimeResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Arena_SyncEchelonSettingTime; - } - } - public DateTime EchelonSettingTime { get; set; } - } - - - public class AttachmentGetResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Attachment_Get; - } - } - public AccountAttachmentDB AccountAttachmentDB { get; set; } - } - - - public class AttachmentEmblemListResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Attachment_EmblemList; - } - } - public List EmblemDBs { get; set; } - } - - - public class AttachmentEmblemAcquireResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Attachment_EmblemAcquire; - } - } - public List EmblemDBs { get; set; } - } - - - public class AttachmentEmblemAttachResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Attachment_EmblemAttach; - } - } - public AccountAttachmentDB AttachmentDB { get; set; } - } - - - public class AttendanceRewardResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Attendance_Reward; - } - } - public List AttendanceBookRewards { get; set; } - public List AttendanceHistoryDBs { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class AuditGachaStatisticsResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Audit_GachaStatistics; - } - } - public Dictionary GachaResult { get; set; } - } - - public class MailBoxFullErrorPacket : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.None; - } - } - public WebAPIErrorCode ErrorCode - { - get - { - return WebAPIErrorCode.MailBoxFull; - } - } - } - - - public class BillingPurchaseListByYostarRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Billing_PurchaseListByYostar; - } - } - } - - - public class BillingTransactionStartByYostarRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Billing_TransactionStartByYostar; - } - } - public long ShopCashId { get; set; } - public bool VirtualPayment { get; set; } - } - - - public class AttachmentGetRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Attachment_Get; - } - } - } - - - public class ArenaSyncEchelonSettingTimeRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Arena_SyncEchelonSettingTime; - } - } - } - - - public class BillingTransactionEndByYostarRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Billing_TransactionEndByYostar; - } - } - public long PurchaseOrderId { get; set; } - public BillingTransactionEndType EndType { get; set; } = BillingTransactionEndType.Success; - } - - - public class AttachmentEmblemListRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Attachment_EmblemList; - } - } - } - - - public class CafeGetInfoRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Cafe_Get; - } - } - public long AccountServerId { get; set; } - } - - - public class ArenaHistoryResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Arena_History; - } - } - public List ArenaHistoryDBs { get; set; } - public List ArenaDamageReportDB { get; set; } - } - - - public class ArenaCumulativeTimeRewardRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Arena_CumulativeTimeReward; - } - } - } - - - public class ArenaRankListRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Arena_RankList; - } - } - public int StartIndex { get; set; } - public int Count { get; set; } - } - - - public class ArenaDailyRewardRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Arena_DailyReward; - } - } - } - - - public class AttachmentEmblemAttachRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Attachment_EmblemAttach; - } - } - public long UniqueId { get; set; } - } - - - public class AttachmentEmblemAcquireRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Attachment_EmblemAcquire; - } - } - public List UniqueIds { get; set; } - } - - - public class InventoryFullErrorPacket : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.None; - } - } - public WebAPIErrorCode ErrorCode - { - get - { - return WebAPIErrorCode.InventoryAlreadyFull; - } - } - public List ParcelInfos { get; set; } - } - - - public class AttendanceRewardRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Attendance_Reward; - } - } - public Dictionary DayByBookUniqueId { get; set; } - public long AttendanceBookUniqueId { get; set; } - public long Day { get; set; } - } - - - public class AccountBanErrorPacket : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.None; - } - } - public WebAPIErrorCode ErrorCode - { - get - { - return WebAPIErrorCode.AccountBanned; - } - } - public string BanReason { get; set; } - } - - - public class AuditGachaStatisticsRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Audit_GachaStatistics; - } - } - public long MerchandiseUniqueId { get; set; } - public long ShopUniqueId { get; set; } - public long Count { get; set; } - } - - - public class BillingPurchaseListByYostarResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Billing_PurchaseListByYostar; - } - } - public List CountList { get; set; } - public List OrderList { get; set; } - public List MonthlyProductList { get; set; } - public List BlockedProductDBs { get; set; } - } - - - public class BillingTransactionStartByYostarResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Billing_TransactionStartByYostar; - } - } - public long PurchaseCount { get; set; } - public DateTime PurchaseResetDate { get; set; } - public long PurchaseOrderId { get; set; } - public string MXSeedKey { get; set; } - public PurchaseServerTag PurchaseServerTag { get; set; } - } - - - public class CafeAckRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Cafe_Ack; - } - } - public long CafeDBId { get; set; } - } - - - public class CafeDeployFurnitureRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Cafe_Deploy; - } - } - public long CafeDBId { get; set; } - public FurnitureDB FurnitureDB { get; set; } - } - - - public class CafeRelocateFurnitureRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Cafe_Relocate; - } - } - public long CafeDBId { get; set; } - public FurnitureDB FurnitureDB { get; set; } - } - - - public class CafeRemoveFurnitureRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Cafe_Remove; - } - } - public long CafeDBId { get; set; } - public List FurnitureServerIds { get; set; } - } - - - public class CafeRemoveAllFurnitureRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Cafe_RemoveAll; - } - } - public long CafeDBId { get; set; } - } - - - public class BillingTransactionEndByYostarResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Billing_TransactionEndByYostar; - } - } - public ParcelResultDB ParcelResult { get; set; } - public MailDB MailDB { get; set; } - public List CountList { get; set; } - public int PurchaseCount { get; set; } - public List MonthlyProductList { get; set; } - } - - - public class CafeInteractWithCharacterRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Cafe_Interact; - } - } - public long CafeDBId { get; set; } - public long CharacterId { get; set; } - } - - - public class CafeGetInfoResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Cafe_Get; - } - } - public CafeDB CafeDB { get; set; } - public List CafeDBs { get; set; } - public List FurnitureDBs { get; set; } - } - - - public class CafeApplyPresetRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Cafe_ApplyPreset; - } - } - public int SlotId { get; set; } - public long CafeDBId { get; set; } - public bool UseOtherCafeFurniture { get; set; } - } - - - public class CafeClearPresetRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Cafe_ClearPreset; - } - } - public int SlotId { get; set; } - } - - - public class CafeRenamePresetRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Cafe_RenamePreset; - } - } - public int SlotId { get; set; } - public string PresetName { get; set; } - } - - - public class CafeUpdatePresetFurnitureRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Cafe_UpdatePresetFurniture; - } - } - public long CafeDBId { get; set; } - public int SlotId { get; set; } - } - - - public class CafeRankUpRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Cafe_RankUp; - } - } - public long AccountServerId { get; set; } - public long CafeDBId { get; set; } - public ConsumeRequestDB ConsumeRequestDB { get; set; } - } - - - public class CafeListPresetRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Cafe_ListPreset; - } - } - } - - - public class CafeReceiveCurrencyRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Cafe_ReceiveCurrency; - } - } - public long AccountServerId { get; set; } - public long CafeDBId { get; set; } - } - - - public class CafeGiveGiftRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Cafe_GiveGift; - } - } - public long CafeDBId { get; set; } - public long CharacterUniqueId { get; set; } - public ConsumeRequestDB ConsumeRequestDB { get; set; } - } - - - public class CafeSummonCharacterRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Cafe_SummonCharacter; - } - } - public long CafeDBId { get; set; } - public long CharacterServerId { get; set; } - } - - - public class CafeTrophyHistoryRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Cafe_TrophyHistory; - } - } - } - - - public class CafeApplyTemplateRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Cafe_ApplyTemplate; - } - } - public long TemplateId { get; set; } - public long CafeDBId { get; set; } - public bool UseOtherCafeFurniture { get; set; } - } - - - public class CafeRemoveFurnitureResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Cafe_Remove; - } - } - public CafeDB CafeDB { get; set; } - public List FurnitureDBs { get; set; } - } - - - public class CafeDeployFurnitureResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Cafe_Deploy; - } - } - public CafeDB CafeDB { get; set; } - public long NewFurnitureServerId { get; set; } - public List ChangedFurnitureDBs { get; set; } - } - - - public class CafeAckResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Cafe_Ack; - } - } - public CafeDB CafeDB { get; set; } - } - - - public class CafeOpenRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Cafe_Open; - } - } - public long CafeId { get; set; } - } - - - public class CafeRelocateFurnitureResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Cafe_Relocate; - } - } - public CafeDB CafeDB { get; set; } - public FurnitureDB RelocatedFurnitureDB { get; set; } - } - - - public class CafeInteractWithCharacterResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Cafe_Interact; - } - } - public CafeDB CafeDB { get; set; } - public CharacterDB CharacterDB { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class CafeRemoveAllFurnitureResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Cafe_RemoveAll; - } - } - public CafeDB CafeDB { get; set; } - public List FurnitureDBs { get; set; } - } - - - public class CafeClearPresetResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Cafe_ClearPreset; - } - } - } - - - public class CafeReceiveCurrencyResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Cafe_ReceiveCurrency; - } - } - public CafeDB CafeDB { get; set; } - public List CafeDBs { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public enum CampaignState - { - BeforeStart, - BeginPlayerPhase, - PlayerPhase, - EndPlayerPhase, - BeginEnemyPhase, - EnemyPhase, - EndEnemyPhase, - Win, - Lose, - StrategySkip - } - - - public class CampaignListRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Campaign_List; - } - } - } - - - public class CafeListPresetResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Cafe_ListPreset; - } - } - public List CafePresetDBs { get; set; } - } - - - public class CafeUpdatePresetFurnitureResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Cafe_UpdatePresetFurniture; - } - } - } - - - public class CafeApplyPresetResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Cafe_ApplyPreset; - } - } - public List CafeDBs { get; set; } - public List FurnitureDBs { get; set; } - } - - - public class CafeRenamePresetResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Cafe_RenamePreset; - } - } - } - - - public class CafeGiveGiftResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Cafe_GiveGift; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - public ConsumeResultDB ConsumeResultDB { get; set; } - } - - - public class CafeRankUpResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Cafe_RankUp; - } - } - public CafeDB CafeDB { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - public ConsumeResultDB ConsumeResultDB { get; set; } - } - - - public class CampaignEnterMainStageRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Campaign_EnterMainStage; - } - } - public long StageUniqueId { get; set; } - } - - - public class CafeApplyTemplateResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Cafe_ApplyTemplate; - } - } - public List CafeDBs { get; set; } - public List FurnitureDBs { get; set; } - } - - - public class CampaignConfirmMainStageRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Campaign_ConfirmMainStage; - } - } - public long StageUniqueId { get; set; } - } - - - public class CampaignEnterSubStageRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Campaign_EnterSubStage; - } - } - public long StageUniqueId { get; set; } - public long LastEnterStageEchelonNumber { get; set; } - } - - - public class CafeSummonCharacterResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Cafe_SummonCharacter; - } - } - public CafeDB CafeDB { get; set; } - public List CafeDBs { get; set; } - } - - - public class CafeTrophyHistoryResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Cafe_TrophyHistory; - } - } - public List RaidSeasonRankingHistoryDBs { get; set; } - } - - - public class CafeOpenResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Cafe_Open; - } - } - public CafeDB OpenedCafeDB { get; set; } - public List FurnitureDBs { get; set; } - } - - - public class CampaignEnterTutorialStageResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Campaign_EnterTutorialStage; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - public CampaignTutorialStageSaveDB SaveDataDB { get; set; } - } - - - public class CampaignWithdrawEchelonRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Campaign_WithdrawEchelon; - } - } - public long StageUniqueId { get; set; } - public List WithdrawEchelonEntityId { get; set; } - } - - - public class CampaignMapMoveRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Campaign_MapMove; - } - } - public long StageUniqueId { get; set; } - public long EchelonEntityId { get; set; } - //public HexLocation DestPosition { get; set; } - } - - - public class CampaignEndTurnRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Campaign_EndTurn; - } - } - public long StageUniqueId { get; set; } - } - - - public class CampaignEnterTacticRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Campaign_EnterTactic; - } - } - public long StageUniqueId { get; set; } - public long EchelonIndex { get; set; } - public long EnemyIndex { get; set; } - } - - - public enum CampaignEndBattle - { - None, - Win, - Lose - } - - - public class CampaignListResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Campaign_List; - } - } - public List CampaignChapterClearRewardHistoryDBs { get; set; } - public List StageHistoryDBs { get; set; } - public List StrategyObjecthistoryDBs { get; set; } - public DailyResetCountDB DailyResetCountDB { get; set; } - } - - - public class CampaignTacticResultRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Campaign_TacticResult; - } - } - public bool PassCheckCharacter { get; set; } - public BattleSummary Summary { get; set; } - //public SkillCardHand Hand { get; set; } - //public TacticSkipSummary SkipSummary { get; set; } - } - - - public class CampaignRetreatRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Campaign_Retreat; - } - } - public long StageUniqueId { get; set; } - } - - - public class CampaignChapterClearRewardRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Campaign_ChapterClearReward; - } - } - public long CampaignChapterUniqueId { get; set; } - public StageDifficulty StageDifficulty { get; set; } - } - - - public class CampaignEnterMainStageResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Campaign_EnterMainStage; - } - } - public CampaignMainStageSaveDB SaveDataDB { get; set; } - } - - - public class CampaignHealRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Campaign_Heal; - } - } - public long CampaignStageUniqueId { get; set; } - public long EchelonIndex { get; set; } - public long CharacterServerId { get; set; } - } - - - public class CampaignEnterSubStageResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Campaign_EnterSubStage; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - public CampaignSubStageSaveDB SaveDataDB { get; set; } - } - - - public class CampaignConfirmMainStageResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.None; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - public CampaignMainStageSaveDB SaveDataDB { get; set; } - } - - - public class CampaignTutorialStageResultRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Campaign_TutorialStageResult; - } - } - public BattleSummary Summary { get; set; } - } - - - public class CampaignSubStageResultRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Campaign_SubStageResult; - } - } - public bool PassCheckCharacter { get; set; } - public BattleSummary Summary { get; set; } - } - - - public class CampaignDeployEchelonResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Campaign_DeployEchelon; - } - } - public CampaignMainStageSaveDB SaveDataDB { get; set; } - } - - - public class CampaignPurchasePlayCountHardStageRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Campaign_PurchasePlayCountHardStage; - } - } - public long StageUniqueId { get; set; } - } - - - public class CampaignEnterTutorialStageRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Campaign_EnterTutorialStage; - } - } - public long StageUniqueId { get; set; } - } - - - public class CampaignConfirmTutorialStageRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Campaign_ConfirmTutorialStage; - } - } - public long StageUniqueId { get; set; } - } - - - public class CampaignPortalRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Campaign_Portal; - } - } - public long StageUniqueId { get; set; } - public long EchelonEntityId { get; set; } - } - - - public class CampaignMapMoveResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Campaign_MapMove; - } - } - public CampaignMainStageSaveDB SaveDataDB { get; set; } - public long EchelonEntityId { get; set; } - //public Strategy StrategyObject { get; set; } - public List StrategyObjectParcelInfos { get; set; } - } - - - public class CampaignWithdrawEchelonResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Campaign_WithdrawEchelon; - } - } - public CampaignMainStageSaveDB SaveDataDB { get; set; } - public List WithdrawEchelonDBs { get; set; } - } - - - public class CampaignEnterTacticResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Campaign_EnterTactic; - } - } - } - - - public class CampaignEndTurnResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Campaign_EndTurn; - } - } - public CampaignMainStageSaveDB SaveDataDB { get; set; } - public AccountCurrencyDB AccountCurrencyDB { get; set; } - } - - - public class CampaignRestartMainStageRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Campaign_RestartMainStage; - } - } - public long StageUniqueId { get; set; } - } - - - public class CampaignEnterMainStageStrategySkipRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Campaign_EnterMainStageStrategySkip; - } - } - public long StageUniqueId { get; set; } - public long LastEnterStageEchelonNumber { get; set; } - } - - - public class CampaignMainStageStrategySkipResultRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Campaign_MainStageStrategySkipResult; - } - } - public bool PassCheckCharacter { get; set; } - public BattleSummary Summary { get; set; } - } - - - public class CampaignRetreatResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Campaign_Retreat; - } - } - public List ReleasedEchelonNumbers { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class CampaignChapterClearRewardResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Campaign_ChapterClearReward; - } - } - public CampaignChapterClearRewardHistoryDB CampaignChapterClearRewardHistoryDB { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class CampaignHealResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Campaign_Heal; - } - } - public AccountCurrencyDB AccountCurrencyDB { get; set; } - public DailyResetCountDB DailyResetCountDB { get; set; } - public CampaignMainStageSaveDB SaveDataDB { get; set; } - } - - - public class CampaignTacticResultResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Campaign_TacticResult; - } - } - public long TacticRank { get; set; } - public CampaignStageHistoryDB CampaignStageHistoryDB { get; set; } - public List LevelUpCharacterDBs { get; set; } - public List FirstClearReward { get; set; } - public List ThreeStarReward { get; set; } - //public Strategy StrategyObject { get; set; } - public Dictionary> StrategyObjectRewards { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - public CampaignMainStageSaveDB SaveDataDB { get; set; } - } - - - public class CampaignTutorialStageResultResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Campaign_TutorialStageResult; - } - } - public CampaignStageHistoryDB CampaignStageHistoryDB { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - public List ClearReward { get; set; } - public List FirstClearReward { get; set; } - } - - - public class CampaignPortalResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.None; - } - } - public CampaignMainStageSaveDB CampaignMainStageSaveDB { get; set; } - } - - - public class CharacterGearUnlockRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.CharacterGear_Unlock; - } - } - public long CharacterServerId { get; set; } - public int SlotIndex { get; set; } - } - - - public class CharacterListRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Character_List; - } - } - } - - - public class CampaignSubStageResultResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Campaign_SubStageResult; - } - } - public long TacticRank { get; set; } - public CampaignStageHistoryDB CampaignStageHistoryDB { get; set; } - public List LevelUpCharacterDBs { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - public List FirstClearReward { get; set; } - public List ThreeStarReward { get; set; } - } - - - public class CharacterExpGrowthRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Character_ExpGrowth; - } - } - public long TargetCharacterServerId { get; set; } - public ConsumeRequestDB ConsumeRequestDB { get; set; } - } - - - public class CharacterSkillLevelUpdateRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.None; - } - } - public long TargetCharacterDBId { get; set; } - //public SkillSlot SkillSlot { get; set; } - public int Level { get; set; } - public List ReplaceInfos { get; set; } - } - - - public class CampaignPurchasePlayCountHardStageResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Campaign_PurchasePlayCountHardStage; - } - } - public AccountCurrencyDB AccountCurrencyDB { get; set; } - public CampaignStageHistoryDB CampaignStageHistoryDB { get; set; } - } - - - public class CharacterWeaponExpGrowthRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Character_WeaponExpGrowth; - } - } - public long TargetCharacterServerId { get; set; } - public Dictionary ConsumeUniqueIdAndCounts { get; set; } - } - - - public class CampaignConfirmTutorialStageResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Campaign_ConfirmTutorialStage; - } - } - public CampaignMainStageSaveDB SaveDataDB { get; set; } - } - - - public class CharacterSetFavoritesRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Character_SetFavorites; - } - } - public Dictionary ActivateByServerIds { get; set; } - } - - - public class CampaignRestartMainStageResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Campaign_RestartMainStage; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - public CampaignMainStageSaveDB SaveDataDB { get; set; } - } - - - public class CampaignDeployEchelonRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Campaign_DeployEchelon; - } - } - public long StageUniqueId { get; set; } - //public List DeployedEchelons { get; set; } - } - - - public class CharacterBatchSkillLevelUpdateRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Character_BatchSkillLevelUpdate; - } - } - public long TargetCharacterDBId { get; set; } - public List SkillLevelUpdateRequestDBs { get; set; } - } - - - public class CampaignEnterMainStageStrategySkipResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Campaign_EnterMainStageStrategySkip; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class CampaignMainStageStrategySkipResultResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Campaign_MainStageStrategySkipResult; - } - } - public long TacticRank { get; set; } - public CampaignStageHistoryDB CampaignStageHistoryDB { get; set; } - public List LevelUpCharacterDBs { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - public List FirstClearReward { get; set; } - public List ThreeStarReward { get; set; } - } - - - public class ClanLoginRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Clan_Login; - } - } - } - - - public class ClanSearchRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Clan_Search; - } - } - public string SearchString { get; set; } - //public ClanJoinOption ClanJoinOption { get; set; } - public string ClanUniqueCode { get; set; } - } - - - public class ClanMemberRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Clan_Member; - } - } - public long ClanDBId { get; set; } - public long MemberAccountId { get; set; } - } - - - public class ClanApplicantRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Clan_Applicant; - } - } - public long OffSet { get; set; } - } - - - public class ClanAutoJoinRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Clan_AutoJoin; - } - } - } - - - public class ClanCancelApplyRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Clan_CancelApply; - } - } - } - - - public class CharacterListResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Character_List; - } - } - public List CharacterDBs { get; set; } - public List TSSCharacterDBs { get; set; } - public List WeaponDBs { get; set; } - public List CostumeDBs { get; set; } - } - - - public class ClanKickRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Clan_Kick; - } - } - public long MemberAccountId { get; set; } - } - - - public class ClanConferRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Clan_Confer; - } - } - public long MemberAccountId { get; set; } - public ClanSocialGrade ConferingGrade { get; set; } - } - - - public class CharacterSetFavoritesResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Character_SetFavorites; - } - } - public List CharacterDBs { get; set; } - } - - - public class CharacterGearUnlockResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.CharacterGear_Unlock; - } - } - public GearDB GearDB { get; set; } - public CharacterDB CharacterDB { get; set; } - } - - - public class CharacterExpGrowthResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Character_ExpGrowth; - } - } - public CharacterDB CharacterDB { get; set; } - public AccountCurrencyDB AccountCurrencyDB { get; set; } - public ConsumeResultDB ConsumeResultDB { get; set; } - } - - - public class ClanApplicantResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Clan_Applicant; - } - } - public List ClanMemberDBs { get; set; } - } - - - public class ClanLoginResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Clan_Login; - } - } - public ClanDB AccountClanDB { get; set; } - public ClanMemberDB AccountClanMemberDB { get; set; } - [Obsolete] - public List AssistCharacterDBs { get; set; } - public List ClanAssistSlotDBs { get; set; } - } - - - public class ClanMyAssistListRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Clan_MyAssistList; - } - } - } - - - public class CharacterBatchSkillLevelUpdateResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Character_BatchSkillLevelUpdate; - } - } - public CharacterDB CharacterDB { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class ClanMemberResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Clan_Member; - } - } - public ClanDB ClanDB { get; set; } - public ClanMemberDB ClanMemberDB { get; set; } - public DetailedAccountInfoDB DetailedAccountInfoDB { get; set; } - } - - - public class ClearDeckListResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.ClearDeck_List; - } - } - public List ClearDeckDBs { get; set; } - } - - - public class CharacterSkillLevelUpdateResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Character_BatchSkillLevelUpdate; - } - } - public CharacterDB CharacterDB { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class CharacterGearListRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.CharacterGear_List; - } - } - } - - - public class ClanAllAssistListRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Clan_AllAssistList; - } - } - public EchelonType EchelonType { get; set; } - } - - - public class ClanCancelApplyResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Clan_CancelApply; - } - } - } - - - public class ClanSearchResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Clan_Search; - } - } - public List ClanDBs { get; set; } - } - - - public class CharacterWeaponExpGrowthResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Character_WeaponExpGrowth; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class ClanChatLogRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Clan_ChatLog; - } - } - public string Channel { get; set; } - public DateTime FromDate { get; set; } - } - - - public class ClanAutoJoinResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Clan_AutoJoin; - } - } - public IrcServerConfig IrcConfig { get; set; } - public ClanDB ClanDB { get; set; } - public ClanMemberDB ClanMemberDB { get; set; } - } - - - public class CharacterTranscendenceRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Character_Transcendence; - } - } - public long TargetCharacterServerId { get; set; } - } - - - public class ClanConferResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Clan_Confer; - } - } - public ClanMemberDB ClanMemberDB { get; set; } - public ClanMemberDB AccountClanMemberDB { get; set; } - public ClanDB ClanDB { get; set; } - public ClanMemberDescriptionDB ClanMemberDescriptionDB { get; set; } - } - - - public class ClanKickResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Clan_Kick; - } - } - } - - - public class CharacterSetCostumeRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Character_SetCostume; - } - } - public long CharacterUniqueId { get; set; } - public long? CostumeIdToSet { get; set; } - } - - - public class CharacterFavorGrowthRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Character_FavorGrowth; - } - } - public long TargetCharacterDBId { get; set; } - public Dictionary ConsumeItemDBIdsAndCounts { get; set; } - } - - - public class CharacterGearTierUpRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.CharacterGear_TierUp; - } - } - public long GearServerId { get; set; } - public List ReplaceInfos { get; set; } - } - - - public class ClanMemberListRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Clan_MemberList; - } - } - public long ClanDBId { get; set; } - } - - - public class ClanCreateRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Clan_Create; - } - } - public string ClanNickName { get; set; } - public ClanJoinOption ClanJoinOption { get; set; } - } - - - public class ClanLobbyRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Clan_Lobby; - } - } - } - - - public class CharacterGearListResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.CharacterGear_List; - } - } - public List GearDBs { get; set; } - } - - - public class CharacterPotentialGrowthRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Character_PotentialGrowth; - } - } - public long TargetCharacterDBId { get; set; } - public List PotentialGrowthRequestDBs { get; set; } - public List ReplaceInfos { get; set; } - } - - - public class CharacterTranscendenceResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Character_Transcendence; - } - } - public CharacterDB CharacterDB { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - [Flags] - public enum CheatFlags - { - None = 0, - Conquest = 1, - Mission = 2 - } - - - public class CharacterWeaponTranscendenceRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Character_WeaponTranscendence; - } - } - public long TargetCharacterServerId { get; set; } - } - - - public class ClanPermitRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Clan_Permit; - } - } - public long ApplicantAccountId { get; set; } - public bool IsPerMit { get; set; } - } - - - public class ClanQuitRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Clan_Quit; - } - } - } - - - public class ClanMyAssistListResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Clan_MyAssistList; - } - } - public List ClanAssistSlotDBs { get; set; } - } - - - public class ClanJoinRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Clan_Join; - } - } - public long ClanDBId { get; set; } - } - - - public class CharacterUnlockWeaponRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Character_UnlockWeapon; - } - } - public long TargetCharacterServerId { get; set; } - } - - - public class ClanSettingRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Clan_Setting; - } - } - public string ChangedClanName { get; set; } - public string ChangedNotice { get; set; } - public ClanJoinOption ClanJoinOption { get; set; } - } - - - public class CharacterSetCostumeResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Character_SetCostume; - } - } - public CostumeDB SetCostumeDB { get; set; } - public CostumeDB UnsetCostumeDB { get; set; } - } - - - public class ClanDismissRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Clan_Dismiss; - } - } - } - - - public class ClanAllAssistListResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Clan_AllAssistList; - } - } - public List AssistCharacterDBs { get; set; } - public List AssistCharacterRentHistoryDBs { get; set; } - public long ClanDBId { get; set; } - } - - - public class ClanChatLogResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Clan_ChatLog; - } - } - public string ClanChatLog { get; set; } - } - - - public class CharacterFavorGrowthResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Character_FavorGrowth; - } - } - public CharacterDB CharacterDB { get; set; } - public List ConsumeStackableItemDBResult { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class CharacterGearTierUpResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.CharacterGear_TierUp; - } - } - public GearDB GearDB { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - public ConsumeResultDB ConsumeResultDB { get; set; } - } - - - public class ClanMemberListResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Clan_MemberList; - } - } - public ClanDB ClanDB { get; set; } - public List ClanMemberDBs { get; set; } - } - - - public class CheatCharacterCustomPreset - { - public CheatEquipmentCustomPreset[] Equipments { get; set; } - public long UniqueId { get; set; } - public int StarGrade { get; set; } - public int Level { get; set; } - public int ExSkillLevel { get; set; } - public int PublicSkillLevel { get; set; } - public int PassiveSkillLevel { get; set; } - public int ExPassiveSkillLevel { get; set; } - //public CheatEquipmentCustomPreset[] Equipments { get; set; } - public CheatWeaponCustomPreset Weapon { get; set; } - - } - - - public class CheatEquipmentCustomPreset - { - public int Tier { get; set; } - public int Level { get; set; } - public CheatEquipmentCustomPreset(int tier, int level) - { - this.Tier = tier; - } - - } - - - public class CharacterPotentialGrowthResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Character_PotentialGrowth; - } - } - public CharacterDB CharacterDB { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class ClanCreateResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Clan_Create; - } - } - public ClanDB ClanDB { get; set; } - public ClanMemberDB ClanMemberDB { get; set; } - public AccountCurrencyDB AccountCurrencyDB { get; set; } - } - - - public class ClanLobbyResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Clan_Lobby; - } - } - public IrcServerConfig IrcConfig { get; set; } - public ClanDB AccountClanDB { get; set; } - public List DefaultExposedClanDBs { get; set; } - public ClanMemberDB AccountClanMemberDB { get; set; } - public List ClanMemberDBs { get; set; } - } - - - public class ClanCheckRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Clan_Check; - } - } - } - - - public class GetArenaTeamCheatResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.None; - } - } - public ArenaUserDB Opponent { get; set; } - } - - - public class ClanJoinResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Clan_Join; - } - } - public IrcServerConfig IrcConfig { get; set; } - public ClanDB ClanDB { get; set; } - public ClanMemberDB ClanMemberDB { get; set; } - } - - - public class ConquestNormalizeEchelonResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Conquest_NormalizeEchelon; - } - } - public ConquestEchelonDB ConquestEchelonDB { get; set; } - } - - - public class ConquestUpgradeBaseResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Conquest_UpgradeBase; - } - } - public List UpgradeRewards { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - public ConquestTileDB ConquestTileDB { get; set; } - public ConquestInfoDB ConquestInfoDB { get; set; } - //public TypedJsonWrapper> ConquestEventObjectDBWrapper { get; set; } - //public IEnumerable DisplayInfos { get; set; } - } - - - public class ConquestConquerResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Conquest_Conquer; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - public ConquestTileDB ConquestTileDB { get; set; } - public ConquestInfoDB ConquestInfoDB { get; set; } - //public TypedJsonWrapper> ConquestEventObjectDBWrapper { get; set; } - //public IEnumerable DisplayInfos { get; set; } - } - - - public class IrcServerConfig - { - public string HostAddress { get; set; } - public int Port { get; set; } - public string Password { get; set; } - [JsonIgnore] - public bool IsValid { get; set; } - - } - - - public class CharacterWeaponTranscendenceResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Character_WeaponTranscendence; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class ClanQuitResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Clan_Quit; - } - } - } - - - public class ClanSetAssistRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Clan_SetAssist; - } - } - public EchelonType EchelonType { get; set; } - public int SlotNumber { get; set; } - public long CharacterDBId { get; set; } - } - - - public class ConquestConquerWithBattleResultResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Conquest_ConquerWithBattleResult; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - public ConquestTileDB ConquestTileDB { get; set; } - public ConquestInfoDB ConquestInfoDB { get; set; } - //public TypedJsonWrapper> ConquestEventObjectDBWrapper { get; set; } - //public IEnumerable DisplayInfos { get; set; } - public int StepAfterBattle { get; set; } - } - - - public class ClanSettingResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Clan_Setting; - } - } - public ClanDB ClanDB { get; set; } - } - - - public class ClanDismissResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Clan_Dismiss; - } - } - } - - - public class ClanPermitResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Clan_Permit; - } - } - public ClanDB ClanDB { get; set; } - public ClanMemberDB ClanMemberDB { get; set; } - } - - - public class CharacterUnlockWeaponResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Character_UnlockWeapon; - } - } - public WeaponDB WeaponDB { get; set; } - } - - - public class CheatWeaponCustomPreset - { - public CheatWeaponCustomPreset(int weaponStarGrade, int weaponLevel) - { - this.StarGrade = weaponStarGrade; - } - public int StarGrade { get; set; } - public int Level { get; set; } - - } - - - public class CommonCheatRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.None; - } - } - public string Cheat { get; set; } - public List CharacterCustomPreset { get; set; } - } - - - public class ConquestEventObjectBattleStartResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Conquest_EventObjectBattleStart; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - public ConquestStageSaveDB ConquestStageSaveDB { get; set; } - } - - - public class ConquestReceiveRewardsResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Conquest_ReceiveCalculateRewards; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - public ConquestInfoDB ConquestInfoDB { get; set; } - [Obsolete] - public List ConquestTileDBs { get; set; } - } - - - public class ClanCheckResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Clan_Check; - } - } - } - - - public class ConquestErosionBattleStartResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Conquest_ErosionBattleStart; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - public ConquestStageSaveDB ConquestStageSaveDB { get; set; } - } - - - public class ConquestGetInfoRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Conquest_GetInfo; - } - } - public long EventContentId { get; set; } - } - - - public class ConquestMainStoryGetInfoResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Conquest_MainStoryGetInfo; - } - } - public ConquestInfoDB ConquestInfoDB { get; set; } - public List ConquestedTileDBs { get; set; } - public Dictionary DifficultyToStepDict { get; set; } - public bool IsFirstEnter { get; set; } - } - - - public class ConquestTakeEventObjectRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Conquest_TakeEventObject; - } - } - public long EventContentId { get; set; } - public long ConquestObjectDBId { get; set; } - } - - - public class ConquestMainStoryConquerWithBattleStartResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Conquest_MainStoryConquerWithBattleStart; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - public ConquestStageSaveDB ConquestStageSaveDB { get; set; } - } - - - public class ConquestConquerDeployEchelonRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Conquest_DeployEchelon; - } - } - public long EventContentId { get; set; } - public StageDifficulty Difficulty { get; set; } - public long TileUniqueId { get; set; } - public EchelonDB EchelonDB { get; set; } - public ClanAssistUseInfo ClanAssistUseInfo { get; set; } - } - - - public class ConquestMainStoryCheckResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Conquest_MainStoryCheck; - } - } - public ConquestMainStorySummary ConquestMainStorySummary { get; set; } - } - - - public class CommonCheatResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.None; - } - } - public AccountDB Account { get; set; } - public AccountCurrencyDB AccountCurrency { get; set; } - public List CharacterDBs { get; set; } - public List EquipmentDBs { get; set; } - public List WeaponDBs { get; set; } - public List GearDBs { get; set; } - public List CostumeDBs { get; set; } - public List ItemDBs { get; set; } - public List ScenarioHistoryDBs { get; set; } - public List ScenarioGroupHistoryDBs { get; set; } - public List EmblemDBs { get; set; } - public List AttendanceBookRewards { get; set; } - public List AttendanceHistoryDBs { get; set; } - public List StickerDBs { get; set; } - public List MemoryLobbyDBs { get; set; } - public CheatFlags CheatFlags { get; set; } - } - - - public class ConquestManageBaseRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Conquest_ManageBase; - } - } - public long EventContentId { get; set; } - public StageDifficulty Difficulty { get; set; } - public long TileUniqueId { get; set; } - public int ManageCount { get; set; } - } - - - public class ContentSaveGetResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.ContentSave_Get; - } - } - public bool HasValidData { get; set; } - public ContentSaveDB ContentSaveDB { get; set; } - public EventContentChangeDB EventContentChangeDB { get; set; } - } - - - public class ConquestConquerWithBattleStartRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Conquest_ConquerWithBattleStart; - } - } - public long EventContentId { get; set; } - public StageDifficulty Difficulty { get; set; } - public long TileUniqueId { get; set; } - public long? EchelonNumber { get; set; } - public ClanAssistUseInfo ClanAssistUseInfo { get; set; } - } - - - public class ContentSweepResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.ContentSweep_Request; - } - } - public List> ClearParcels { get; set; } - public List BonusParcels { get; set; } - public List> EventContentBonusParcels { get; set; } - public ParcelResultDB ParcelResult { get; set; } - public CampaignStageHistoryDB CampaignStageHistoryDB { get; set; } - } - - - public class ContentSweepMultiSweepPresetListResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.ContentSweep_MultiSweepPresetList; - } - } - public IEnumerable MultiSweepPresetDBs { get; set; } - } - - - public class CraftInfoListResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Craft_List; - } - } - public List CraftInfos { get; set; } - public List ShiftingCraftInfos { get; set; } - } - - - public class ClanSetAssistResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Clan_SetAssist; - } - } - public ClanAssistSlotDB ClanAssistSlotDB { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - public ClanAssistRewardInfo RewardInfo { get; set; } - } - - - public class ConquestEventObjectBattleResultRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Conquest_EventObjectBattleResult; - } - } - public long EventContentId { get; set; } - public long ConquestObjectDBId { get; set; } - public BattleSummary BattleSummary { get; set; } - } - - - public class CraftUpdateNodeLevelResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Craft_UpdateNodeLevel; - } - } - public CraftInfoDB CraftInfoDB { get; set; } - public CraftNodeDB CraftNodeDB { get; set; } - public AccountCurrencyDB AccountCurrencyDB { get; set; } - public ConsumeResultDB ConsumeResultDB { get; set; } - } - - - public class ClearDeckListRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.ClearDeck_List; - } - } - public ClearDeckKey ClearDeckKey { get; set; } - } - - - public class CraftCompleteProcessResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Craft_CompleteProcess; - } - } - public AccountCurrencyDB AccountCurrencyDB { get; set; } - public CraftInfoDB CraftInfoDB { get; set; } - public ItemDB TicketItemDB { get; set; } - } - - - public class ConquestErosionBattleResultRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Conquest_ErosionBattleResult; - } - } - public long EventContentId { get; set; } - public long ConquestObjectDBId { get; set; } - public BattleSummary BattleSummary { get; set; } - } - - - public class ConquestGetInfoResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Conquest_GetInfo; - } - } - public ConquestInfoDB ConquestInfoDB { get; set; } - public List ConquestedTileDBs { get; set; } - //public TypedJsonWrapper> ConquestObjectDBsWrapper { get; set; } - public List ConquestEchelonDBs { get; set; } - public Dictionary DifficultyToStepDict { get; set; } - public bool IsFirstEnter { get; set; } - //public IEnumerable DisplayInfos { get; set; } - } - - - public class ConquestCheckRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Conquest_Check; - } - } - public long EventContentId { get; set; } - } - - - public class ConquestMainStoryConquerRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Conquest_MainStoryConquer; - } - } - public long EventContentId { get; set; } - public StageDifficulty Difficulty { get; set; } - public long TileUniqueId { get; set; } - } - - - public class ConquestMainStoryConquerWithBattleResultRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Conquest_MainStoryConquerWithBattleResult; - } - } - public long EventContentId { get; set; } - public StageDifficulty Difficulty { get; set; } - public long TileUniqueId { get; set; } - public BattleSummary BattleSummary { get; set; } - } - - - public class ConquestTakeEventObjectResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Conquest_TakeEventObject; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - //public TypedJsonWrapper ConquestEventObjectDBWrapper { get; set; } - } - - - public class ConquestConquerDeployEchelonResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.None; - } - } - public IEnumerable ConquestEchelonDBs { get; set; } - public ConquestInfoDB ConquestInfoDB { get; set; } - } - - - public class ContentSweepMultiSweepRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.ContentSweep_MultiSweep; - } - } - //public IEnumerable MultiSweepParameters { get; set; } - } - - - public class CraftShiftingBeginProcessResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Craft_ShiftingBeginProcess; - } - } - public ShiftingCraftInfoDB CraftInfoDB { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class ContentLogUIOpenStatisticsRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.ContentLog_UIOpenStatistics; - } - } - public Dictionary OpenCountPerPrefab { get; set; } - } - - - public class ContentSweepSetMultiSweepPresetRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.ContentSweep_SetMultiSweepPreset; - } - } - public long PresetId { get; set; } - public string PresetName { get; set; } - public IEnumerable StageIds { get; set; } - } - - - public class ContentSaveDiscardRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.ContentSave_Discard; - } - } - public ContentType ContentType { get; set; } - public long StageUniqueId { get; set; } - } - - - public class CraftSelectNodeRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Craft_SelectNode; - } - } - public long SlotId { get; set; } - public long LeafNodeIndex { get; set; } - } - - - public class ConquestConquerWithBattleStartResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Conquest_ConquerWithBattleStart; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - public ConquestStageSaveDB ConquestStageSaveDB { get; set; } - } - - - public class ConquestManageBaseResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Conquest_ManageBase; - } - } - public List> ClearParcels { get; set; } - public List> ConquerBonusParcels { get; set; } - public List BonusParcels { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - public ConquestInfoDB ConquestInfoDB { get; set; } - //public TypedJsonWrapper> ConquestEventObjectDBWrapper { get; set; } - //public IEnumerable DisplayInfos { get; set; } - } - - - public class GachaSimulateCheatResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.None; - } - } - public Dictionary CharacterIdAndCount { get; set; } - public long SimulationCount { get; set; } - public long GoodsUniqueId { get; set; } - public string GoodsDevName { get; set; } - } - - - public class CraftBeginProcessRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Craft_BeginProcess; - } - } - public long SlotId { get; set; } - } - - - public class CraftRewardRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Craft_Reward; - } - } - public long SlotId { get; set; } - } - - - public class CraftShiftingRewardResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Craft_ShiftingReward; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - public List TargetCraftInfos { get; set; } - } - - - public class ConquestConquerRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Conquest_Conquer; - } - } - public long EventContentId { get; set; } - public StageDifficulty Difficulty { get; set; } - public long TileUniqueId { get; set; } - } - - - public class ConquestMainStoryConquerResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Conquest_MainStoryConquer; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - public ConquestTileDB ConquestTileDB { get; set; } - public ConquestInfoDB ConquestInfoDB { get; set; } - //public IEnumerable DisplayInfos { get; set; } - } - - - public class ConquestErosionBattleResultResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.None; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - //public TypedJsonWrapper> ConquestEventObjectDBWrapper { get; set; } - public ConquestInfoDB ConquestInfoDB { get; set; } - //public IEnumerable DisplayInfos { get; set; } - } - - - public class ConquestMainStoryConquerWithBattleResultResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Conquest_MainStoryConquerWithBattleResult; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - public ConquestTileDB ConquestTileDB { get; set; } - public ConquestInfoDB ConquestInfoDB { get; set; } - //public IEnumerable DisplayInfos { get; set; } - public int StepAfterBattle { get; set; } - } - - - public class ConquestEventObjectBattleResultResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Conquest_EventObjectBattleResult; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - //public TypedJsonWrapper> ConquestEventObjectDBWrapper { get; set; } - public ConquestInfoDB ConquestInfoDB { get; set; } - public ConquestTileDB ConquestTileDB { get; set; } - //public IEnumerable DisplayInfos { get; set; } - } - - - public class ConquestCheckResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Conquest_Check; - } - } - public bool CanReceiveCalculateReward { get; set; } - public int? AlarmPhaseToShow { get; set; } - public long ParcelConsumeCumulatedAmount { get; set; } - public ConquestSummary ConquestSummary { get; set; } - } - - - public class ConquestNormalizeEchelonRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Conquest_NormalizeEchelon; - } - } - public long EventContentId { get; set; } - public StageDifficulty Difficulty { get; set; } - public long TileUniqueId { get; set; } - } - - - public class ConquestEventObjectBattleStartRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Conquest_EventObjectBattleStart; - } - } - public long EventContentId { get; set; } - public long ConquestObjectDBId { get; set; } - public long EchelonNumber { get; set; } - public ClanAssistUseInfo ClanAssistUseInfo { get; set; } - } - - - public class ContentSweepMultiSweepResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.ContentSweep_MultiSweep; - } - } - public List> ClearParcels { get; set; } - public List BonusParcels { get; set; } - public List> EventContentBonusParcels { get; set; } - public ParcelResultDB ParcelResult { get; set; } - public List CampaignStageHistoryDBs { get; set; } - } - - - public class CraftShiftingCompleteProcessRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Craft_ShiftingCompleteProcess; - } - } - public long SlotId { get; set; } - } - - - public class ContentLogUIOpenStatisticsResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.ContentLog_UIOpenStatistics; - } - } - } - - - public class CraftSelectNodeResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Craft_SelectNode; - } - } - public CraftNodeDB SelectedNodeDB { get; set; } - } - - - public class ConquestConquerWithBattleResultRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Conquest_ConquerWithBattleResult; - } - } - public long EventContentId { get; set; } - public StageDifficulty Difficulty { get; set; } - public long TileUniqueId { get; set; } - public BattleSummary BattleSummary { get; set; } - } - - - public class ContentSweepSetMultiSweepPresetResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.ContentSweep_SetMultiSweepPreset; - } - } - } - - - public class CraftCompleteProcessAllResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Craft_CompleteProcessAll; - } - } - public List CraftInfoDBs { get; set; } - public ItemDB TicketItemDB { get; set; } - } - - - public class ContentSaveDiscardResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.ContentSave_Discard; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class ConquestUpgradeBaseRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Conquest_UpgradeBase; - } - } - public long EventContentId { get; set; } - public StageDifficulty Difficulty { get; set; } - public long TileUniqueId { get; set; } - } - - - public class CraftRewardResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Craft_Reward; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - public List CraftInfos { get; set; } - } - - - public class ConquestMainStoryGetInfoRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Conquest_MainStoryGetInfo; - } - } - public long EventContentId { get; set; } - } - - - public class ConquestReceiveRewardsRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Conquest_ReceiveCalculateRewards; - } - } - public long EventContentId { get; set; } - [Obsolete] - public StageDifficulty Difficulty { get; set; } - [Obsolete] - public int Step { get; set; } - } - - - public class ConquestMainStoryConquerWithBattleStartRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Conquest_MainStoryConquerWithBattleStart; - } - } - public long EventContentId { get; set; } - public StageDifficulty Difficulty { get; set; } - public long TileUniqueId { get; set; } - public long? EchelonNumber { get; set; } - public ClanAssistUseInfo ClanAssistUseInfo { get; set; } - } - - - public class CraftShiftingCompleteProcessAllResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Craft_ShiftingCompleteProcessAll; - } - } - public List CraftInfoDBs { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class ConquestMainStoryCheckRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Conquest_MainStoryCheck; - } - } - public long EventContentId { get; set; } - } - - - public class ConquestErosionBattleStartRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Conquest_ErosionBattleStart; - } - } - public long EventContentId { get; set; } - public long ConquestObjectDBId { get; set; } - public bool UseManageEchelon { get; set; } - public long EchelonNumber { get; set; } - public ClanAssistUseInfo ClanAssistUseInfo { get; set; } - } - - - public class EchelonListResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Echelon_List; - } - } - public List EchelonDBs { get; set; } - public EchelonDB ArenaEchelonDB { get; set; } - } - - - public class CraftAutoBeginProcessRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Craft_AutoBeginProcess; - } - } - public CraftPresetSlotDB PresetSlotDB { get; set; } - public long Count { get; set; } - } - - - public class CraftBeginProcessResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Craft_BeginProcess; - } - } - public CraftInfoDB CraftInfoDB { get; set; } - } - - - public class ContentSaveGetRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.ContentSave_Get; - } - } - } - - - public class EchelonPresetListResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Echelon_PresetList; - } - } - public EchelonPresetGroupDB[] PresetGroupDBs { get; set; } - } - - - public class ContentSweepMultiSweepPresetListRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.ContentSweep_MultiSweepPresetList; - } - } - } - - - public class CraftShiftingCompleteProcessResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Craft_ShiftingCompleteProcess; - } - } - public ShiftingCraftInfoDB CraftInfoDB { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class CraftUpdateNodeLevelRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Craft_UpdateNodeLevel; - } - } - public ConsumeRequestDB ConsumeRequestDB { get; set; } - public long ConsumeGoldAmount { get; set; } - public long SlotId { get; set; } - public CraftNodeTier CraftNodeType { get; set; } - } - - - public class CraftRewardAllRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Craft_RewardAll; - } - } - } - - - public class ContentSweepRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.ContentSweep_Request; - } - } - public ContentType Content { get; set; } - public long StageId { get; set; } - public long EventContentId { get; set; } - public long Count { get; set; } - } - - - public class EchelonPresetGroupRenameResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Echelon_PresetGroupRename; - } - } - public EchelonPresetGroupDB PresetGroupDB { get; set; } - } - - - public class EliminateRaidLobbyResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EliminateRaid_Lobby; - } - } - public RaidSeasonType SeasonType { get; set; } - public RaidGiveUpDB RaidGiveUpDB { get; set; } - public EliminateRaidLobbyInfoDB RaidLobbyInfoDB { get; set; } - public AccountCurrencyDB AccountCurrencyDB { get; set; } - } - - - public class CraftInfoListRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Craft_List; - } - } - } - - - public class CraftShiftingBeginProcessRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Craft_ShiftingBeginProcess; - } - } - public long SlotId { get; set; } - public long RecipeId { get; set; } - public ConsumeRequestDB ConsumeRequestDB { get; set; } - } - - - public class EchelonSaveRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Echelon_Save; - } - } - public EchelonDB EchelonDB { get; set; } - public List AssistUseInfos { get; set; } - public bool IsPractice { get; set; } - } - - - public class CraftCompleteProcessRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Craft_CompleteProcess; - } - } - public long SlotId { get; set; } - } - - - public class EliminateRaidEnterBattleResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EliminateRaid_EnterBattle; - } - } - public RaidDB RaidDB { get; set; } - public RaidBattleDB RaidBattleDB { get; set; } - public AccountCurrencyDB AccountCurrencyDB { get; set; } - public AssistCharacterDB AssistCharacterDB { get; set; } - } - - - public class CraftShiftingRewardAllRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Craft_ShiftingRewardAll; - } - } - } - - - public class EliminateRaidGiveUpResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EliminateRaid_GiveUp; - } - } - public int Tier { get; set; } - public RaidGiveUpDB RaidGiveUpDB { get; set; } - } - - - public class EliminateRaidSeasonRewardResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EliminateRaid_SeasonReward; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - public List ReceiveRewardIds { get; set; } - } - - - public class EliminateRaidOpponentListResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EliminateRaid_OpponentList; - } - } - //public List OpponentUserDBs { get; set; } - } - - - public class EchelonPresetSaveRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Echelon_PresetSave; - } - } - public EchelonPresetDB PresetDB { get; set; } - } - - - public class EliminateRaidSweepResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EliminateRaid_Sweep; - } - } - public long TotalSeasonPoint { get; set; } - public List> Rewards { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - [Obsolete] - public class EquipmentItemSellResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Equipment_Sell; - } - } - public AccountCurrencyDB AccountCurrencyDB { get; set; } - } - - - public class EliminateRaidCreateBattleRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EliminateRaid_CreateBattle; - } - } - public long RaidUniqueId { get; set; } - public bool IsPractice { get; set; } - public ClanAssistUseInfo AssistUseInfo { get; set; } - } - - - public class EquipmentItemLevelUpResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Equipment_LevelUp; - } - } - public EquipmentDB EquipmentDB { get; set; } - public AccountCurrencyDB AccountCurrencyDB { get; set; } - public ConsumeResultDB ConsumeResultDB { get; set; } - } - - - public class CraftAutoBeginProcessResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Craft_AutoBeginProcess; - } - } - public List CraftInfoDBs { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class EquipmentItemTierUpResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Equipment_TierUp; - } - } - public EquipmentDB EquipmentDB { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - public ConsumeResultDB ConsumeResultDB { get; set; } - } - - - public class CraftShiftingRewardRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Craft_ShiftingReward; - } - } - public long SlotId { get; set; } - } - - - public class CraftRewardAllResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Craft_RewardAll; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - public List CraftInfos { get; set; } - } - - - public class EventContentAdventureListResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_AdventureList; - } - } - public List StageHistoryDBs { get; set; } - public List StrategyObjecthistoryDBs { get; set; } - public List EventContentBonusRewardDBs { get; set; } - public List AlreadyReceiveRewardId { get; set; } - public long StagePoint { get; set; } - } - - - public class EventContentEnterMainStageResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_EnterMainStage; - } - } - public EventContentMainStageSaveDB SaveDataDB { get; set; } - public bool IsOnSubEvent { get; set; } - } - - - public class EliminateRaidLoginRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EliminateRaid_Login; - } - } - } - - - public class EventContentEnterTacticResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_EnterTactic; - } - } - } - - - public class CraftShiftingRewardAllResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Craft_ShiftingRewardAll; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - public List CraftInfoDBs { get; set; } - } - - - public class EliminateRaidEndBattleRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EliminateRaid_EndBattle; - } - } - public int EchelonId { get; set; } - public long RaidServerId { get; set; } - public bool IsPractice { get; set; } - public int LastBossIndex { get; set; } - - //public IEnumerable RaidBossDamages { get; set; } - - //public RaidBossResultCollection RaidBossResults { get; set; } - - public BattleSummary Summary { get; set; } - public ClanAssistUseInfo AssistUseInfo { get; set; } - } - - - public class EchelonSaveResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Echelon_Save; - } - } - public EchelonDB EchelonDB { get; set; } - } - - - public class EventContentEnterSubStageResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_EnterSubStage; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - public EventContentSubStageSaveDB SaveDataDB { get; set; } - public CampaignStageHistoryDB CampaignStageHistoryDB { get; set; } - } - - - public class EliminateRaidLimitedRewardRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EliminateRaid_LimitedReward; - } - } - } - - - public class EliminateRaidRankingRewardRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EliminateRaid_RankingReward; - } - } - } - - - public class EchelonPresetSaveResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Echelon_PresetSave; - } - } - public EchelonPresetDB PresetDB { get; set; } - } - - - public class EliminateRaidGetBestTeamRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EliminateRaid_GetBestTeam; - } - } - public long SearchAccountId { get; set; } - } - - - public class EquipmentItemListRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Equipment_List; - } - } - } - - - public class EquipmentItemEquipRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Equipment_Equip; - } - } - public long CharacterServerId { get; set; } - public List EquipmentServerIds { get; set; } - public long EquipmentServerId { get; set; } - public int SlotIndex { get; set; } - } - - - public class CraftCompleteProcessAllRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Craft_CompleteProcessAll; - } - } - } - - - public class CraftShiftingCompleteProcessAllRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Craft_ShiftingCompleteProcessAll; - } - } - } - - - [Obsolete] - public class EquipmentItemLockRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Equipment_Lock; - } - } - public long TargetServerId { get; set; } - public bool IsLocked { get; set; } - } - - - public class EliminateRaidCreateBattleResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EliminateRaid_CreateBattle; - } - } - public RaidDB RaidDB { get; set; } - public RaidBattleDB RaidBattleDB { get; set; } - public AccountCurrencyDB AccountCurrencyDB { get; set; } - public AssistCharacterDB AssistCharacterDB { get; set; } - } - - - public class EquipmentBatchGrowthRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Equipment_BatchGrowth; - } - } - public List EquipmentBatchGrowthRequestDBs { get; set; } - public GearTierUpRequestDB GearTierUpRequestDB { get; set; } - } - - - public class EliminateRaidLoginResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EliminateRaid_Login; - } - } - public RaidSeasonType SeasonType { get; set; } - public bool CanReceiveRankingReward { get; set; } - public List ReceiveLimitedRewardIds { get; set; } - public Dictionary SweepPointByRaidUniqueId { get; set; } - public long LastSettledRanking { get; set; } - public int? LastSettledTier { get; set; } - } - - - public class EventContentTacticResultRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_TacticResult; - } - } - public long EventContentId { get; set; } - public bool PassCheckCharacter { get; set; } - public BattleSummary Summary { get; set; } - //public SkillCardHand Hand { get; set; } - //public TacticSkipSummary SkipSummary { get; set; } - } - - - public class EventContentDeployEchelonResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_DeployEchelon; - } - } - public EventContentMainStageSaveDB SaveDataDB { get; set; } - } - - - public class EventContentConfirmMainStageRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_ConfirmMainStage; - } - } - public long EventContentId { get; set; } - public long StageUniqueId { get; set; } - } - - - public class EventContentSubEventLobbyRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_SubEventLobby; - } - } - public long EventContentId { get; set; } - } - - - public class EchelonListRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Echelon_List; - } - } - } - - - public class EchelonPresetListRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Echelon_PresetList; - } - } - public EchelonExtensionType EchelonExtensionType { get; set; } - } - - - public class EliminateRaidEndBattleResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EliminateRaid_EndBattle; - } - } - public long RankingPoint { get; set; } - public long BestRankingPoint { get; set; } - public long ClearTimePoint { get; set; } - public long HPPercentScorePoint { get; set; } - public long DefaultClearPoint { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class EliminateRaidRankingRewardResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EliminateRaid_RankingReward; - } - } - public long ReceivedRankingRewardId { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class EliminateRaidLimitedRewardResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EliminateRaid_LimitedReward; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - public List ReceiveRewardIds { get; set; } - } - - - public class EchelonPresetGroupRenameRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Echelon_PresetGroupRename; - } - } - public int PresetGroupIndex { get; set; } - public EchelonExtensionType ExtensionType { get; set; } - public string PresetGroupLabel { get; set; } - } - - - public class EliminateRaidGetBestTeamResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EliminateRaid_GetBestTeam; - } - } - public Dictionary> RaidTeamSettingDBsDict { get; set; } - } - - - public class EventContentSubStageResultRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_SubStageResult; - } - } - public long EventContentId { get; set; } - public bool PassCheckCharacter { get; set; } - public BattleSummary Summary { get; set; } - } - - - public class EquipmentItemListResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Equipment_List; - } - } - public List EquipmentDBs { get; set; } - } - - - public class EquipmentItemEquipResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Equipment_Equip; - } - } - public CharacterDB CharacterDB { get; set; } - public List EquipmentDBs { get; set; } - } - - - [Obsolete] - public class EquipmentItemLockResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Equipment_Lock; - } - } - public EquipmentDB EquipmentDB { get; set; } - } - - - public class EliminateRaidEnterBattleRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EliminateRaid_EnterBattle; - } - } - public long RaidServerId { get; set; } - public long RaidUniqueId { get; set; } - public bool IsPractice { get; set; } - public long EchelonId { get; set; } - public ClanAssistUseInfo AssistUseInfo { get; set; } - } - - - public class EventContentMapMoveResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_MapMove; - } - } - public EventContentMainStageSaveDB SaveDataDB { get; set; } - public long EchelonEntityId { get; set; } - //public Strategy StrategyObject { get; set; } - public List StrategyObjectParcelInfos { get; set; } - } - - - public class EventContentPurchasePlayCountHardStageResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_PurchasePlayCountHardStage; - } - } - public AccountCurrencyDB AccountCurrencyDB { get; set; } - public CampaignStageHistoryDB CampaignStageHistoryDB { get; set; } - } - - - public class EliminateRaidLobbyRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EliminateRaid_Lobby; - } - } - } - - - public class EquipmentBatchGrowthResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Equipment_BatchGrowth; - } - } - public List EquipmentDBs { get; set; } - public GearDB GearDB { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - public ConsumeResultDB ConsumeResultDB { get; set; } - } - - - public class EventContentShopRefreshResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_ShopRefresh; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - public ShopInfoDB ShopInfoDB { get; set; } - } - - - public class EventContentConfirmMainStageResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_ConfirmMainStage; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - public EventContentMainStageSaveDB SaveDataDB { get; set; } - } - - - public class EventContentWithdrawEchelonRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_WithdrawEchelon; - } - } - public long EventContentId { get; set; } - public long StageUniqueId { get; set; } - public List WithdrawEchelonEntityId { get; set; } - } - - - public class EventContentSubEventLobbyResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_SubEventLobby; - } - } - public EventContentChangeDB EventContentChangeDB { get; set; } - public bool IsOnSubEvent { get; set; } - } - - - public class EventContentTacticResultResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_TacticResult; - } - } - public long TacticRank { get; set; } - public CampaignStageHistoryDB CampaignStageHistoryDB { get; set; } - public List LevelUpCharacterDBs { get; set; } - public List FirstClearReward { get; set; } - //public Strategy StrategyObject { get; set; } - public Dictionary> StrategyObjectRewards { get; set; } - public List BonusReward { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - public EventContentMainStageSaveDB SaveDataDB { get; set; } - public List EventContentCollectionDBs { get; set; } - } - - - public class EventContentShopBuyMerchandiseResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_ShopBuyMerchandise; - } - } - public AccountCurrencyDB AccountCurrencyDB { get; set; } - public ConsumeResultDB ConsumeResultDB { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - public MailDB MailDB { get; set; } - public ShopProductDB ShopProductDB { get; set; } - public List EventContentCollectionDBs { get; set; } - } - - - public class EliminateRaidGiveUpRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EliminateRaid_GiveUp; - } - } - public long RaidServerId { get; set; } - public bool IsPractice { get; set; } - } - - - public class EliminateRaidSeasonRewardRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EliminateRaid_SeasonReward; - } - } - } - - - public class EliminateRaidOpponentListRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EliminateRaid_OpponentList; - } - } - public long? Rank { get; set; } - public long? Score { get; set; } - public bool IsUpper { get; set; } - public bool IsFirstRequest { get; set; } - public RankingSearchType SearchType { get; set; } - } - - - public class EventContentCardShopPurchaseResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_CardShopPurchase; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - public CardShopElementDB CardShopElementDB { get; set; } - public List CardShopPurchaseHistoryDBs { get; set; } - } - - - public class EliminateRaidSweepRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EliminateRaid_Sweep; - } - } - public long UniqueId { get; set; } - public int SweepCount { get; set; } - } - - - public class EventContentSubStageResultResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_SubStageResult; - } - } - public long TacticRank { get; set; } - public CampaignStageHistoryDB CampaignStageHistoryDB { get; set; } - public List LevelUpCharacterDBs { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - public List FirstClearReward { get; set; } - public List BonusReward { get; set; } - public List EventContentCollectionDBs { get; set; } - } - - - [Obsolete] - public class EquipmentItemSellRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Equipment_Sell; - } - } - public List TargetServerIds { get; set; } - } - - - public class EquipmentItemLevelUpRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Equipment_LevelUp; - } - } - public long TargetServerId { get; set; } - public List ConsumeServerIds { get; set; } - public ConsumeRequestDB ConsumeRequestDB { get; set; } - } - - - public class EquipmentItemTierUpRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Equipment_TierUp; - } - } - public long TargetEquipmentServerId { get; set; } - public List ReplaceInfos { get; set; } - } - - - public class EventContentBoxGachaShopPurchaseResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_BoxGachaShopPurchase; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - public EventContentBoxGachaDB BoxGachaDB { get; set; } - public Dictionary BoxGachaGroupIdByCount { get; set; } - public List BoxGachaElements { get; set; } - } - - - public class EventContentEndTurnRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_EndTurn; - } - } - public long EventContentId { get; set; } - public long StageUniqueId { get; set; } - } - - - public class EventContentAdventureListRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_AdventureList; - } - } - public long EventContentId { get; set; } - } - - - public class EventContentReceiveStageTotalRewardRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_ReceiveStageTotalReward; - } - } - public long EventContentId { get; set; } - } - - - public class EventContentEnterTacticRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_EnterTactic; - } - } - public long EventContentId { get; set; } - public long StageUniqueId { get; set; } - public long EchelonIndex { get; set; } - public long EnemyIndex { get; set; } - } - - - public class EventContentShopListRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_ShopList; - } - } - public long EventContentId { get; set; } - public List CategoryList { get; set; } - } - - - public class EventContentScenarioGroupHistoryUpdateResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_ScenarioGroupHistoryUpdate; - } - } - public List ScenarioGroupHistoryDBs { get; set; } - public List EventContentCollectionDBs { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class EventContentWithdrawEchelonResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_WithdrawEchelon; - } - } - public EventContentMainStageSaveDB SaveDataDB { get; set; } - public List WithdrawEchelonDBs { get; set; } - } - - - public class EventContentShopBuyRefreshMerchandiseRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.None; - } - } - public long EventContentId { get; set; } - public List ShopUniqueIds { get; set; } - } - - - public class EventContentEnterMainStageRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_EnterMainStage; - } - } - public long EventContentId { get; set; } - public long StageUniqueId { get; set; } - } - - - public class EventContentFortuneGachaPurchaseResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_FortuneGachaPurchase; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - public long FortuneGachaShopUniqueId; - } - - - public class EventContentEnterSubStageRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_EnterSubStage; - } - } - public long EventContentId { get; set; } - public long StageUniqueId { get; set; } - public long LastEnterStageEchelonNumber { get; set; } - } - - - public class EventContentDiceRaceRollResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_DiceRaceRoll; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - public EventContentDiceRaceDB DiceRaceDB { get; set; } - public List DiceResults { get; set; } - public List EventContentCollectionDBs { get; set; } - } - - - public class EventContentTreasureLobbyResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_TreasureLobby; - } - } - public EventContentTreasureHistoryDB BoardHistoryDB { get; set; } - public EventContentTreasureCell HiddenImage { get; set; } - public long VariationId { get; set; } - } - - - public class EventImageResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Event_GetImage; - } - } - public byte[] ImageBytes { get; set; } - } - - - public class FriendRemoveResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Friend_Remove; - } - } - public FriendDB[] FriendDBs { get; set; } - public FriendDB[] SentRequestFriendDBs { get; set; } - public FriendDB[] ReceivedRequestFriendDBs { get; set; } - } - - - public class EventContentCardShopPurchaseAllRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_CardShopPurchaseAll; - } - } - public long EventContentId { get; set; } - } - - - public class FriendSearchResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Friend_Search; - } - } - public FriendDB[] SearchResult { get; set; } - } - - - public class EventContentDeployEchelonRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_DeployEchelon; - } - } - public long EventContentId { get; set; } - public long StageUniqueId { get; set; } - //public List DeployedEchelons { get; set; } - } - - - public class EventContentBoxGachaShopRefreshRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_BoxGachaShopRefresh; - } - } - public long EventContentId { get; set; } - } - - - public class EventContentEndTurnResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_EndTurn; - } - } - public EventContentMainStageSaveDB SaveDataDB { get; set; } - public AccountCurrencyDB AccountCurrencyDB { get; set; } - } - - - public class FriendCancelFriendRequestResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Friend_CancelFriendRequest; - } - } - public FriendDB[] FriendDBs { get; set; } - public FriendDB[] SentRequestFriendDBs { get; set; } - public FriendDB[] ReceivedRequestFriendDBs { get; set; } - } - - - public class ItemConsumeResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Item_Consume; - } - } - public ItemDB UsedItemDB { get; set; } - public ParcelResultDB NewParcelResultDB { get; set; } - } - - - public class ItemAutoSynthResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Item_AutoSynth; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class EventContentReceiveStageTotalRewardResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_ReceiveStageTotalReward; - } - } - public long EventContentId { get; set; } - public List AlreadyReceiveRewardId { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class EventContentShopListResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_ShopList; - } - } - public List ShopInfos { get; set; } - public List ShopEligmaHistoryDBs { get; set; } - } - - - public class EventContentShopBuyRefreshMerchandiseResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_ShopBuyRefreshMerchandise; - } - } - public AccountCurrencyDB AccountCurrencyDB { get; set; } - public ConsumeResultDB ConsumeResultDB { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - public MailDB MailDB { get; set; } - public List ShopProductDB { get; set; } - public List EventContentCollectionDBs { get; set; } - } - - - public class MemoryLobbyListResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MemoryLobby_List; - } - } - public List MemoryLobbyDBs { get; set; } - } - - - public class EventContentRestartMainStageRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_RestartMainStage; - } - } - public long EventContentId { get; set; } - public long StageUniqueId { get; set; } - } - - - public class EventContentEnterStoryStageRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_EnterStoryStage; - } - } - public long StageUniqueId { get; set; } - public long EventContentId { get; set; } - } - - - public class EventContentMapMoveRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.None; - } - } - public long EventContentId { get; set; } - public long StageUniqueId { get; set; } - public long EchelonEntityId { get; set; } - //public HexLocation DestPosition { get; set; } - } - - - public class MiniGameStageListResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MiniGame_StageList; - } - } - public List MiniGameHistoryDBs { get; set; } - } - - - public class EventContentTreasureFlipRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_TreasureFlip; - } - } - public long EventContentId { get; set; } - public int Round { get; set; } - public List Cells { get; set; } - } - - - public class EventContentDiceRaceLapRewardRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_DiceRaceLapReward; - } - } - public long EventContentId { get; set; } - } - - - public class UseCouponRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Event_UseCoupon; - } - } - public string CouponSerial { get; set; } - } - - - public class FriendGetFriendDetailedInfoRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Friend_GetFriendDetailedInfo; - } - } - public long FriendAccountId { get; set; } - } - - - public class FriendSendFriendRequestRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Friend_SendFriendRequest; - } - } - public long TargetAccountId { get; set; } - } - - - public class EventContentCardShopPurchaseAllResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_CardShopPurchaseAll; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - public List CardShopElementDBs { get; set; } - public List CardShopPurchaseHistoryDBs { get; set; } - public Dictionary> RewardHistory { get; set; } - } - - - public class MiniGameMissionRewardResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MiniGame_MissionReward; - } - } - public MissionHistoryDB AddedHistoryDB { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class EventContentRetreatRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_Retreat; - } - } - public long EventContentId { get; set; } - public long StageUniqueId { get; set; } - } - - - public class EventContentBoxGachaShopRefreshResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_BoxGachaShopRefresh; - } - } - public EventContentBoxGachaDB BoxGachaDB { get; set; } - public Dictionary BoxGachaGroupIdByCount { get; set; } - } - - - public class FriendCheckRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Friend_Check; - } - } - } - - - public class MailListRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Mail_List; - } - } - public bool IsReadMail { get; set; } - public DateTime PivotTime { get; set; } - public long PivotIndex { get; set; } - public bool IsDescending { get; set; } - } - - - [Obsolete] - public class ItemLockRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Item_Lock; - } - } - public long TargetServerId { get; set; } - public bool IsLocked { get; set; } - } - - - public class EventContentShopRefreshRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_ShopRefresh; - } - } - public long EventContentId { get; set; } - public ShopCategoryType ShopCategoryType { get; set; } - } - - - public class EventContentEnterMainGroundStageRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_EnterMainGroundStage; - } - } - public long EventContentId { get; set; } - public long StageUniqueId { get; set; } - public long LastEnterStageEchelonNumber { get; set; } - } - - - public class EventContentEnterStoryStageResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_EnterStoryStage; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - public EventContentStoryStageSaveDB SaveDataDB { get; set; } - } - - - public class MemoryLobbySetMainRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MemoryLobby_SetMain; - } - } - public long MemoryLobbyId { get; set; } - } - - - public class EventContentCardShopListRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_CardShopList; - } - } - public long EventContentId { get; set; } - } - - - public class UseCouponResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Event_UseCoupon; - } - } - public bool CouponCompleteRewardReceived { get; set; } - } - - - public class EventContentRestartMainStageResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_RestartMainStage; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - public EventContentMainStageSaveDB SaveDataDB { get; set; } - } - - - public class MiniGameShootingBattleResultResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MiniGame_ShootingBattleResult; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class MiniGameEnterStageRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MiniGame_EnterStage; - } - } - public long EventContentId { get; set; } - public long UniqueId { get; set; } - } - - - public class EventContentTreasureFlipResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_TreasureFlip; - } - } - public EventContentTreasureHistoryDB BoardHistoryDB { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class EventContentDiceRaceLapRewardResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_DiceRaceLapReward; - } - } - public EventContentDiceRaceDB DiceRaceDB { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class FriendGetFriendDetailedInfoResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Friend_GetFriendDetailedInfo; - } - } - public string Nickname { get; set; } - public long Level { get; set; } - public string ClanName { get; set; } - public string Comment { get; set; } - public long FriendCount { get; set; } - public string FriendCode { get; set; } - public long RepresentCharacterUniqueId { get; set; } - public long RepresentCharacterCostumeId { get; set; } - public long CharacterCount { get; set; } - public long? LastNormalCampaignClearStageId { get; set; } - public long? LastHardCampaignClearStageId { get; set; } - public long? ArenaRanking { get; set; } - public long? RaidRanking { get; set; } - public int? RaidTier { get; set; } - public DetailedAccountInfoDB DetailedAccountInfoDB { get; set; } - public AccountAttachmentDB AttachmentDB { get; set; } - public AssistCharacterDB[] AssistCharacterDBs { get; set; } - } - - - public class FriendSendFriendRequestResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Friend_SendFriendRequest; - } - } - public FriendDB[] FriendDBs { get; set; } - public FriendDB[] SentRequestFriendDBs { get; set; } - public FriendDB[] ReceivedRequestFriendDBs { get; set; } - } - - - public class EventContentSelectBuffRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_SelectBuff; - } - } - public long SelectedBuffId { get; set; } - } - - - public class MiniGameMissionMultipleRewardRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MiniGame_MissionMultipleReward; - } - } - public MissionCategory MissionCategory { get; set; } - public long EventContentId { get; set; } - } - - - public class FriendCheckResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Friend_Check; - } - } - } - - - public class EventContentRetreatResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_Retreat; - } - } - public List ReleasedEchelonNumbers { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class MailListResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Mail_List; - } - } - public List MailDBs { get; set; } - public long Count { get; set; } - } - - - public class EventContentCollectionListRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_CollectionList; - } - } - public long EventContentId { get; set; } - public long? GroupId { get; set; } - } - - - [Obsolete] - public class ItemLockResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Item_Lock; - } - } - public ItemDB ItemDB { get; set; } - } - - - public class MiniGameTableBoardEncounterInputResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MiniGame_TableBoardEncounterInput; - } - } - //public TBGBoardSaveDB SaveDB { get; set; } - //[JsonConverter(typeof(TBGEncounterDBConverter))] - //public TBGEncounterDB EncounterDB { get; set; } - public List PlayerDiceResult { get; set; } - public int? PlayerAddDotEffectResult { get; set; } - //public TBGDiceRollResult? PlayerDicePlayResult { get; set; } - public long? EncounterRewardItemId { get; set; } - [Obsolete] - public int? EncounterRewardItemSlot { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - public List EventContentCollectionDBs { get; set; } - } - - - public class EventContentEnterMainGroundStageResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_EnterMainGroundStage; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - public EventContentMainGroundStageSaveDB SaveDataDB { get; set; } - public CampaignStageHistoryDB CampaignStageHistoryDB { get; set; } - } - - - public class EventContentSelectBuffResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_SelectBuff; - } - } - public EventContentMainStageSaveDB SaveDataDB { get; set; } - } - - - public class EventContentLocationGetInfoRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_LocationGetInfo; - } - } - public long EventContentId { get; set; } - } - - - public class MailCheckRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Mail_Check; - } - } - } - - - public class EventContentCollectionListResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_CollectionList; - } - } - public List EventContentUnlockCGDBs { get; set; } - } - - - public class EventContentTreasureNextRoundRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_TreasureNextRound; - } - } - public long EventContentId { get; set; } - public int Round { get; set; } - } - - - public class EventContentCardShopListResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_CardShopList; - } - } - public List CardShopElementDBs { get; set; } - public Dictionary> RewardHistory { get; set; } - } - - - public class EventContentStoryStageResultRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_StoryStageResult; - } - } - public long EventContentId { get; set; } - public long StageUniqueId { get; set; } - } - - - public class MemoryLobbySetMainResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MemoryLobby_SetMain; - } - } - public AccountDB AccountDB { get; set; } - } - - - public class ItemBulkConsumeRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Item_BulkConsume; - } - } - public long TargetItemServerId { get; set; } - public int ConsumeCount { get; set; } - } - - - public class EventContentMainGroundStageResultRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_MainGroundStageResult; - } - } - public long EventContentId { get; set; } - public bool PassCheckCharacter { get; set; } - public BattleSummary Summary { get; set; } - } - - - public class MiniGameEnterStageResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.None; - } - } - } - - - public class EventContentDiceRaceUseItemRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_DiceRaceUseItem; - } - } - public long EventContentId { get; set; } - public EventContentDiceRaceResultType DiceRaceResultType { get; set; } - } - - - public class MiniGameMissionMultipleRewardResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MiniGame_MissionMultipleReward; - } - } - public List AddedHistoryDBs { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class EventContentPortalRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_Portal; - } - } - public long EventContentId { get; set; } - public long StageUniqueId { get; set; } - public long EchelonEntityId { get; set; } - } - - - public class EventRewardIncreaseRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Event_RewardIncrease; - } - } - } - - - public class FriendAcceptFriendRequestRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Friend_AcceptFriendRequest; - } - } - public long TargetAccountId { get; set; } - } - - - public class MiniGameShootingSweepRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MiniGame_ShootingSweep; - } - } - public long EventContentId { get; set; } - public long UniqueId { get; set; } - public long SweepCount { get; set; } - } - - - public class FriendGetIdCardRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Friend_GetIdCard; - } - } - } - - - public class ItemListRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Item_List; - } - } - } - - - public class MiniGameTableBoardMoveThemaRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MiniGame_TableBoardMoveThema; - } - } - public long EventContentId { get; set; } - } - - - public class MailCheckResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Mail_Check; - } - } - public long Count { get; set; } - } - - - public class EventContentCollectionForMissionRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_CollectionForMission; - } - } - public long EventContentId { get; set; } - } - - - public class EventContentLocationGetInfoResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_LocationGetInfo; - } - } - public EventContentLocationDB EventContentLocationDB { get; set; } - } - - - public class EventContentBoxGachaShopListRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_BoxGachaShopList; - } - } - public long EventContentId { get; set; } - } - - - public class MemoryLobbyUpdateLobbyModeRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MemoryLobby_UpdateLobbyMode; - } - } - public bool IsMemoryLobbyMode { get; set; } - } - - - public class EventContentCardShopShuffleRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_CardShopShuffle; - } - } - public long EventContentId { get; set; } - } - - - public class EventContentTreasureNextRoundResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_TreasureNextRound; - } - } - public EventContentTreasureHistoryDB BoardHistoryDB { get; set; } - public EventContentTreasureCell HiddenImage { get; set; } - } - - - public class ItemBulkConsumeResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Item_BulkConsume; - } - } - public ItemDB UsedItemDB { get; set; } - public List ParcelInfosInMailBox { get; set; } - } - - - public class EventContentDiceRaceUseItemResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_DiceRaceUseItem; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - public EventContentDiceRaceDB DiceRaceDB { get; set; } - public List DiceResults { get; set; } - public List EventContentCollectionDBs { get; set; } - } - - - public class EventContentMainGroundStageResultResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_MainGroundStageResult; - } - } - public long TacticRank { get; set; } - public CampaignStageHistoryDB CampaignStageHistoryDB { get; set; } - public List LevelUpCharacterDBs { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - public List FirstClearReward { get; set; } - public List ThreeStarReward { get; set; } - public List BonusReward { get; set; } - public List EventContentCollectionDBs { get; set; } - } - - - public class EventContentStoryStageResultResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_StoryStageResult; - } - } - public CampaignStageHistoryDB CampaignStageHistoryDB { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - public List FirstClearReward { get; set; } - public List EventContentCollectionDBs { get; set; } - } - - - public class MiniGameResultRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MiniGame_Result; - } - } - public long EventContentId { get; set; } - public long UniqueId { get; set; } - //public MinigameRhythmSummary Summary { get; set; } - } - - - public class MailReceiveRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Mail_Receive; - } - } - public List MailServerIds { get; set; } - } - - - public class EventContentPortalResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_Portal; - } - } - public EventContentMainStageSaveDB SaveDataDB { get; set; } - } - - - public class FriendGetIdCardResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Friend_GetIdCard; - } - } - public FriendIdCardDB FriendIdCardDB { get; set; } - } - - - public class EventRewardIncreaseResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Event_RewardIncrease; - } - } - public List EventRewardIncreaseDBs { get; set; } - } - - - public class MiniGameShootingLobbyRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MiniGame_ShootingLobby; - } - } - public long EventContentId { get; set; } - } - - - public class ItemListResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Item_List; - } - } - public List ItemDBs { get; set; } - public List ExpiryItemDBs { get; set; } - } - - - public class EventContentCollectionForMissionResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_CollectionForMission; - } - } - public List EventContentCollectionDBs { get; set; } - } - - - public class MiniGameShootingSweepResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MiniGame_ShootingSweep; - } - } - public List> Rewards { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class MiniGameTableBoardMoveThemaResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MiniGame_TableBoardMoveThema; - } - } - //public TBGBoardSaveDB SaveDB { get; set; } - } - - - public class MemoryLobbyUpdateLobbyModeResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MemoryLobby_UpdateLobbyMode; - } - } - } - - - public class FriendAcceptFriendRequestResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Friend_AcceptFriendRequest; - } - } - public FriendDB[] FriendDBs { get; set; } - public FriendDB[] SentRequestFriendDBs { get; set; } - public FriendDB[] ReceivedRequestFriendDBs { get; set; } - } - - - public class EventContentLocationAttendScheduleRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_LocationAttendSchedule; - } - } - public long EventContentId { get; set; } - public long ZoneId { get; set; } - public long Count { get; set; } - } - - - public class EventContentCardShopShuffleResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_CardShopShuffle; - } - } - public List CardShopElementDBs { get; set; } - } - - - public class EventContentBoxGachaShopListResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_BoxGachaShopList; - } - } - public EventContentBoxGachaDB BoxGachaDB { get; set; } - public Dictionary BoxGachaGroupIdByCount { get; set; } - } - - - public class EventContentPermanentListRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_PermanentList; - } - } - } - - - public class EventListRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Event_GetList; - } - } - } - - - public class ItemSelectTicketRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Item_SelectTicket; - } - } - public long TicketItemServerId { get; set; } - public long SelectItemUniqueId { get; set; } - public int ConsumeCount { get; set; } - } - - - public class EventContentDiceRaceLobbyRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_DiceRaceLobby; - } - } - public long EventContentId { get; set; } - } - - - public class EventContentShopBuyMerchandiseRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_ShopBuyMerchandise; - } - } - public long EventContentId { get; set; } - public bool IsRefreshMerchandise { get; set; } - public long ShopUniqueId { get; set; } - public long GoodsUniqueId { get; set; } - public long PurchaseCount { get; set; } - } - - - public class MiniGameResultResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MiniGame_Result; - } - } - } - - - public class MailReceiveResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Mail_Receive; - } - } - public List MailServerIds { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class EventContentPurchasePlayCountHardStageRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_PurchasePlayCountHardStage; - } - } - public long EventContentId { get; set; } - public long StageUniqueId { get; set; } - } - - - public class FriendSetIdCardRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Friend_SetIdCard; - } - } - public string Comment { get; set; } - public long RepresentCharacterUniqueId { get; set; } - public long EmblemId { get; set; } - public bool SearchPermission { get; set; } - public bool AutoAcceptFriendRequest { get; set; } - public bool ShowAccountLevel { get; set; } - public bool ShowFriendCode { get; set; } - public bool ShowRaidRanking { get; set; } - public bool ShowArenaRanking { get; set; } - public bool ShowEliminateRaidRanking { get; set; } - public long BackgroundId { get; set; } - } - - - public class MiniGameShootingLobbyResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MiniGame_ShootingLobby; - } - } - public List HistoryDBs { get; set; } - } - - - public class FriendListRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Friend_List; - } - } - } - - - public class MiniGameTableBoardSyncRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MiniGame_TableBoardSync; - } - } - public long EventContentId { get; set; } - } - - - [Obsolete] - public class ItemSellRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Item_Sell; - } - } - public List TargetServerIds { get; set; } - } - - - public class EventContentScenarioGroupHistoryUpdateRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_ScenarioGroupHistoryUpdate; - } - } - public long ScenarioGroupUniqueId { get; set; } - public long ScenarioType { get; set; } - public long EventContentId { get; set; } - } - - - public class MemoryLobbyInteractRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MemoryLobby_Interact; - } - } - } - - - public class MiniGameTableBoardClearThemaRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MiniGame_TableBoardClearThema; - } - } - public long EventContentId { get; set; } - public List PreserveItemEffectUniqueIds { get; set; } - } - - - public class EventListResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Event_GetList; - } - } - public List EventInfoDBs { get; set; } - } - - - public class EventContentBoxGachaShopPurchaseRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_BoxGachaShopPurchase; - } - } - public long EventContentId { get; set; } - public long PurchaseCount { get; set; } - public bool PurchaseAll { get; set; } - } - - - public class ItemSelectTicketResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Item_SelectTicket; - } - } - public ItemDB UsedItemDB { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class EventContentCardShopPurchaseRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_CardShopPurchase; - } - } - public long EventContentId { get; set; } - public int SlotNumber { get; set; } - } - - - public class EventContentDiceRaceLobbyResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_DiceRaceLobby; - } - } - public EventContentDiceRaceDB DiceRaceDB { get; set; } - } - - - public class EventContentPermanentListResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_PermanentList; - } - } - public List PermanentDBs { get; set; } - } - - - public class FriendDeclineFriendRequestRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Friend_DeclineFriendRequest; - } - } - public long TargetAccountId { get; set; } - } - - - public class EventContentLocationAttendScheduleResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_LocationAttendSchedule; - } - } - public EventContentLocationDB EventContentLocationDB { get; set; } - public IEnumerable EventContentCollectionDBs { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - public List ExtraRewards { get; set; } - } - - - public class MemoryLobbyListRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MemoryLobby_List; - } - } - } - - - public class MiniGameTableBoardResurrectResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MiniGame_TableBoardResurrect; - } - } - //public TBGPlayerDB PlayerDB { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class MissionMultipleRewardResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Mission_MultipleReward; - } - } - public List AddedHistoryDBs { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class MiniGameMissionListRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MiniGame_MissionList; - } - } - public long EventContentId { get; set; } - } - - - public class MiniGameShootingBattleEnterRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MiniGame_ShootingBattleEnter; - } - } - public long EventContentId { get; set; } - public long UniqueId { get; set; } - } - - - public class FriendSetIdCardResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Friend_SetIdCard; - } - } - } - - - public class FriendListResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Friend_List; - } - } - public IdCardBackgroundDB[] IdCardBackgroundDBs { get; set; } - public FriendDB[] FriendDBs { get; set; } - public FriendDB[] SentRequestFriendDBs { get; set; } - public FriendDB[] ReceivedRequestFriendDBs { get; set; } - public FriendIdCardDB FriendIdCardDB; - } - - - public class MiniGameTableBoardClearThemaResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MiniGame_TableBoardClearThema; - } - } - //public TBGBoardSaveDB SaveDB { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class MomoTalkReadResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MomoTalk_Read; - } - } - public MomoTalkOutLineDB MomoTalkOutLineDB { get; set; } - public List MomoTalkChoiceDBs { get; set; } - } - - - public class MiniGameTableBoardSyncResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MiniGame_TableBoardSync; - } - } - //public TBGBoardSaveDB SaveDB { get; set; } - } - - - [Obsolete] - public class ItemSellResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Item_Sell; - } - } - public AccountCurrencyDB AccountCurrencyDB { get; set; } - } - - - public class MemoryLobbyInteractResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MemoryLobby_Interact; - } - } - } - - - public class EventImageRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Event_GetImage; - } - } - public long EventId { get; set; } - } - - - public class ItemAutoSynthRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Item_AutoSynth; - } - } - public List TargetParcels { get; set; } - } - - - public class MultiFloorRaidEndBattleResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MultiFloorRaid_EndBattle; - } - } - public MultiFloorRaidDB MultiFloorRaidDB { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class EventContentDiceRaceRollRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_DiceRaceRoll; - } - } - public long EventContentId { get; set; } - } - - - public class FriendDeclineFriendRequestResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Friend_DeclineFriendRequest; - } - } - public FriendDB[] FriendDBs { get; set; } - public FriendDB[] SentRequestFriendDBs { get; set; } - public FriendDB[] ReceivedRequestFriendDBs { get; set; } - } - - - public class EventContentFortuneGachaPurchaseRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_FortuneGachaPurchase; - } - } - public long EventContentId { get; set; } - } - - - public class NotificationEventContentReddotResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Notification_EventContentReddotCheck; - } - } - public Dictionary> Reddots { get; set; } - public Dictionary> EventContentUnlockCGDBs { get; set; } - } - - - public class EventContentTreasureLobbyRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.EventContent_TreasureLobby; - } - } - public long EventContentId { get; set; } - } - - - public class ProofTokenRequestQuestionResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.ProofToken_RequestQuestion; - } - } - public long Hint { get; set; } - public string Question { get; set; } - } - - - public class GuideMissionSeasonListRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Mission_GuideMissionSeasonList; - } - } - } - - - public class MiniGameTableBoardSweepRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MiniGame_TableBoardSweep; - } - } - public long EventContentId { get; set; } - public List PreserveItemEffectUniqueIds { get; set; } - } - - - public class MiniGameMissionListResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MiniGame_MissionList; - } - } - public List MissionHistoryUniqueIds { get; set; } - public List ProgressDBs { get; set; } - } - - - public class MiniGameShootingBattleEnterResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MiniGame_ShootingBattleEnter; - } - } - } - - - public class FriendSearchRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Friend_Search; - } - } - public string FriendCode { get; set; } - public FriendSearchLevelOption LevelOption { get; set; } - } - - - public class FriendRemoveRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Friend_Remove; - } - } - public long TargetAccountId; - } - - - public class MomoTalkFavorScheduleRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MomoTalk_FavorSchedule; - } - } - public long ScheduleId { get; set; } - } - - - public class MiniGameTableBoardUseItemRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MiniGame_TableBoardUseItem; - } - } - public long EventContentId { get; set; } - public int ItemSlotIndex { get; set; } - public long UsedItemId { get; set; } - } - - - public class ItemConsumeRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Item_Consume; - } - } - public long TargetItemServerId { get; set; } - public int ConsumeCount { get; set; } - } - - - public class MiniGameStageListRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MiniGame_StageList; - } - } - public long EventContentId { get; set; } - } - - - public class MiniGameTableBoardMoveRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MiniGame_TableBoardMove; - } - } - public long EventContentId { get; set; } - //public List Steps { get; set; } - } - - - public class RaidLoginResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Raid_Login; - } - } - public RaidSeasonType SeasonType { get; set; } - public bool CanReceiveRankingReward { get; set; } - public long LastSettledRanking { get; set; } - public int? LastSettledTier { get; set; } - } - - - public class MultiFloorRaidReceiveRewardRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MultiFloorRaid_ReceiveReward; - } - } - public long SeasonId { get; set; } - public int RewardDifficulty { get; set; } - } - - - [Obsolete("MultiRaid")] - public class RaidDetailResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Raid_Detail; - } - } - public RaidDetailDB RaidDetailDB { get; set; } - public List ParticipateCharacterServerIds { get; set; } - } - - - public class RaidBattleUpdateResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Raid_BattleUpdate; - } - } - public RaidBattleDB RaidBattleDB { get; set; } - } - - - [Obsolete("MultiRaid")] - public class RaidRewardAllResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Raid_RewardAll; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class OpenConditionListRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.OpenCondition_List; - } - } - } - - - public class GuideMissionSeasonListResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Mission_GuideMissionSeasonList; - } - } - public List GuideMissionSeasonDBs { get; set; } - } - - - public class ProofTokenSubmitRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.ProofToken_Submit; - } - } - public long Answer; - } - - - public class RaidOpponentListResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Raid_OpponentList; - } - } - public List OpponentUserDBs { get; set; } - } - - - public class FriendCancelFriendRequestRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Friend_CancelFriendRequest; - } - } - public long TargetAccountId; - } - - - public class MiniGameTableBoardSweepResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MiniGame_TableBoardSweep; - } - } - //public TBGBoardSaveDB SaveDB { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class MomoTalkFavorScheduleResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MomoTalk_FavorSchedule; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - public Dictionary> FavorScheduleRecords { get; set; } - } - - - public class MiniGameMissionRewardRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MiniGame_MissionReward; - } - } - public long MissionUniqueId { get; set; } - public long ProgressServerId { get; set; } - public long EventContentId { get; set; } - } - - - public class ResetableContentGetResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.ResetableContent_Get; - } - } - public List ResetableContentValueDBs { get; set; } - } - - - public class MiniGameShootingBattleResultRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MiniGame_ShootingBattleResult; - } - } - //public MiniGameShootingSummary Summary { get; set; } - } - - - public class ScenarioGroupHistoryUpdateResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Scenario_GroupHistoryUpdate; - } - } - public ScenarioGroupHistoryDB ScenarioGroupHistoryDB { get; set; } - } - - - public class ScenarioLobbyStudentChangeResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Scenario_LobbyStudentChange; - } - } - } - - - public class ScenarioDeployEchelonResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Scenario_DeployEchelon; - } - } - public StoryStrategyStageSaveDB SaveDataDB { get; set; } - } - - - public class MiniGameTableBoardUseItemResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MiniGame_TableBoardUseItem; - } - } - //public TBGPlayerDB PlayerDB { get; set; } - } - - - public class MiniGameTableBoardMoveResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MiniGame_TableBoardMove; - } - } - //public TBGPlayerDB PlayerDB { get; set; } - //public TBGBoardSaveDB SaveDB { get; set; } - //[JsonConverter(typeof(TBGEncounterDBConverter))] - //public TBGEncounterDB EncounterDB { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - [Obsolete("MultiRaid")] - public class RaidSearchRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Raid_Search; - } - } - public string SecretCode { get; set; } - public List Tags { get; set; } - } - - - public class RaidLobbyRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Raid_Lobby; - } - } - } - - - public class OpenConditionListResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.OpenCondition_List; - } - } - public List ConditionContents { get; set; } - } - - - public class MultiFloorRaidReceiveRewardResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MultiFloorRaid_ReceiveReward; - } - } - public MultiFloorRaidDB MultiFloorRaidDB { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class RaidEndBattleRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Raid_EndBattle; - } - } - public int EchelonId { get; set; } - public long RaidServerId { get; set; } - public bool IsPractice { get; set; } - [JsonIgnore] - public int LastBossIndex { get; set; } - //[JsonIgnore] - //public IEnumerable RaidBossDamages { get; set; } - //[JsonIgnore] - //public RaidBossResultCollection RaidBossResults { get; set; } - public BattleSummary Summary { get; set; } - public ClanAssistUseInfo AssistUseInfo { get; set; } - } - - - public class ProofTokenSubmitResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.ProofToken_Submit; - } - } - } - - - [Obsolete("MultiRaid")] - public class RaidShareRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Raid_Share; - } - } - public long RaidServerId { get; set; } - } - - - public class RaidGetBestTeamRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Raid_GetBestTeam; - } - } - public long SearchAccountId { get; set; } - } - - - public class MomoTalkOutLineRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MomoTalk_OutLine; - } - } - } - - - public class ScenarioEnterTacticResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Scenario_EnterTactic; - } - } - } - - - public class MultiFloorRaidSyncRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MultiFloorRaid_Sync; - } - } - public long? SeasonId { get; set; } - } - - - public class ScenarioRestartMainStageResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Scenario_RestartMainStage; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - public StoryStrategyStageSaveDB SaveDataDB { get; set; } - } - - - public class ScenarioListRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Scenario_List; - } - } - } - - - public class SchoolDungeonBattleResultResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.SchoolDungeon_BattleResult; - } - } - public SchoolDungeonStageHistoryDB SchoolDungeonStageHistoryDB { get; set; } - public List LevelUpCharacterDBs { get; set; } - public List FirstClearReward { get; set; } - public List ThreeStarReward { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class MissionListRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Mission_List; - } - } - public long? EventContentId { get; set; } - } - - - public class ScenarioSkipRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Scenario_Skip; - } - } - public long ScriptGroupId { get; set; } - public int SkipPointScriptCount { get; set; } - } - - - public class ScenarioWithdrawEchelonRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Scenario_WithdrawEchelon; - } - } - public long StageUniqueId { get; set; } - public List WithdrawEchelonEntityId { get; set; } - } - - - public class ScenarioSpecialLobbyChangeRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Scenario_SpecialLobbyChange; - } - } - public long MemoryLobbyId { get; set; } - public long MemoryLobbyIdBefore { get; set; } - } - - - public class MiniGameTableBoardResurrectRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MiniGame_TableBoardResurrect; - } - } - public long EventContentId { get; set; } - } - - - public class MiniGameTableBoardEncounterInputRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MiniGame_TableBoardEncounterInput; - } - } - public long EventContentId { get; set; } - public long ObjectServerId { get; set; } - public int EncounterStage { get; set; } - public int SelectedIndex { get; set; } - } - - - public class NetworkTimeSyncRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.NetworkTime_Sync; - } - } - } - - - public class RaidLobbyResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Raid_Lobby; - } - } - public RaidSeasonType SeasonType { get; set; } - public RaidGiveUpDB RaidGiveUpDB { get; set; } - public SingleRaidLobbyInfoDB RaidLobbyInfoDB { get; set; } - public AccountCurrencyDB AccountCurrencyDB { get; set; } - } - - - [Obsolete("MultiRaid")] - public class RaidSearchResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Raid_Search; - } - } - public List RaidDBs { get; set; } - } - - - public class OpenConditionSetRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.OpenCondition_Set; - } - } - public OpenConditionDB ConditionDB { get; set; } - } - - - public class RaidEndBattleResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Raid_EndBattle; - } - } - public long RankingPoint { get; set; } - public long BestRankingPoint { get; set; } - public long ClearTimePoint { get; set; } - public long HPPercentScorePoint { get; set; } - public long DefaultClearPoint { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - [Obsolete("MultiRaid")] - public class RaidShareResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Raid_Share; - } - } - public RaidDB RaidDB { get; set; } - } - - - public class RaidGetBestTeamResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.None; - } - } - public List RaidTeamSettingDBs { get; set; } - } - - - public class MultiFloorRaidSyncResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MultiFloorRaid_Sync; - } - } - public List MultiFloorRaidDBs { get; set; } - } - - - public class MomoTalkOutLineResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MomoTalk_OutLine; - } - } - public List MomoTalkOutLineDBs { get; set; } - public Dictionary> FavorScheduleRecords { get; set; } - } - - - public class ScenarioTacticResultRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Scenario_TacticResult; - } - } - public bool PassCheckCharacter { get; set; } - public BattleSummary Summary { get; set; } - //public SkillCardHand Hand { get; set; } - //public TacticSkipSummary SkipSummary { get; set; } - } - - - public class ScenarioListResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.None; - } - } - - public List ScenarioCollectionDBs; - public List ScenarioHistoryDBs { get; set; } - public List ScenarioGroupHistoryDBs { get; set; } - } - - - public class SchoolDungeonRetreatRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.SchoolDungeon_Retreat; - } - } - public long StageUniqueId { get; set; } - } - - public interface IMissionConstraint - { - bool CanComplete(DateTime serverTime); - - bool CanReceiveReward(DateTime serverTime); - } - - public class MissionInfo : IMissionConstraint - { - public long Id { get; set; } - - public MissionCategory Category { get; set; } - - public MissionResetType ResetType { get; set; } - - public MissionToastDisplayConditionType ToastDisplayType { get; set; } - - public string Description { get; set; } - - public bool IsVisible { get; set; } - - public bool IsLimited { get; set; } - - public DateTime StartDate { get; set; } - - public DateTime StartableEndDate { get; set; } - - public DateTime EndDate { get; set; } - - public long EndDday { get; set; } - - public AccountState AccountState { get; set; } - - public long AccountLevel { get; set; } - - public List PreMissionIds { get; set; } - - public long NextMissionId { get; set; } - - public SuddenMissionContentType[] SuddenMissionContentTypes { get; set; } - - public MissionCompleteConditionType CompleteConditionType { get; set; } - - public long CompleteConditionCount { get; set; } - - public List CompleteConditionParameters { get; set; } - - public string RewardIcon { get; set; } - - public List Rewards { get; set; } - - public ContentType DateAutoRefer { get; set; } - - public string ToastImagePath { get; set; } - - public long DisplayOrder { get; set; } - - public bool HasFollowingMission { get; set; } - - public string[] Shortcuts { get; set; } - - public long ChallengeStageId { get; set; } - - public virtual bool CanComplete(DateTime serverTime) - { - return true; - } - - public virtual bool CanReceiveReward(DateTime serverTime) - { - return true; - } - - } - public class MissionListResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Mission_List; - } - } - public List MissionHistoryUniqueIds { get; set; } - public List ProgressDBs { get; set; } - public MissionInfo DailySuddenMissionInfo { get; set; } - public List ClearedOrignalMissionIds { get; set; } - } - - - public class ScenarioSkipMainStageRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Scenario_SkipMainStage; - } - } - public long StageUniqueId { get; set; } - } - - - public class ScenarioWithdrawEchelonResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Scenario_WithdrawEchelon; - } - } - public StoryStrategyStageSaveDB SaveDataDB { get; set; } - public List WithdrawEchelonDBs { get; set; } - } - - - public class ScenarioSkipResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Scenario_Skip; - } - } - } - - - public class NetworkTimeSyncResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.NetworkTime_Sync; - } - } - public long ReceiveTick { get; set; } - public long EchoSendTick { get; set; } - } - - - public class GachaResult - { - public long CharacterId { get; set; } - public CharacterDB? Character { get; set; } - public ItemDB? Stone { get; set; } - public GachaResult(long id) - { - this.CharacterId = id; - } - } - - - public class ScenarioSpecialLobbyChangeResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Scenario_SpecialLobbyChange; - } - } - } - - - public class ShopBuyEligmaResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Shop_BuyEligma; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - public ConsumeResultDB ConsumeResultDB { get; set; } - public ShopProductDB ShopProductDB { get; set; } - } - - - public class OpenConditionSetResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.OpenCondition_Set; - } - } - public List ConditionDBs { get; set; } - } - - - [Obsolete("MultiRaid")] - public class RaidListRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Raid_List; - } - } - public string RaidBossGroup { get; set; } - public Difficulty RaidDifficulty { get; set; } - public RaidRoomSortOption RaidRoomSortOption { get; set; } - } - - - public class RaidRankingRewardRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Raid_RankingReward; - } - } - } - - - public class RaidCreateBattleRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Raid_CreateBattle; - } - } - public long RaidUniqueId { get; set; } - public bool IsPractice { get; set; } - public List Tags { get; set; } - public bool IsPublic { get; set; } - public Difficulty Difficulty { get; set; } - public ClanAssistUseInfo AssistUseInfo { get; set; } - } - - - public class RaidGiveUpRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Raid_GiveUp; - } - } - public long RaidServerId { get; set; } - public bool IsPractice { get; set; } - } - - - public class RaidSweepRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Raid_Sweep; - } - } - public long UniqueId { get; set; } - public long SweepCount { get; set; } - } - - - public class MultiFloorRaidEnterBattleRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MultiFloorRaid_EnterBattle; - } - } - public long SeasonId { get; set; } - public int Difficulty { get; set; } - public int EchelonId { get; set; } - public List AssistUseInfos { get; set; } - } - - - public class ScenarioClearRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Scenario_Clear; - } - } - public long ScenarioId { get; set; } - public BattleSummary BattleSummary { get; set; } - } - - - public class MomoTalkMessageListRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MomoTalk_MessageList; - } - } - public long CharacterDBId { get; set; } - } - - - public class ScenarioTacticResultResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.None; - } - } - //public Strategy StrategyObject { get; set; } - public StoryStrategyStageSaveDB SaveDataDB { get; set; } - public bool IsPlayerWin { get; set; } - public List ScenarioIds { get; set; } - } - - - public class ScenarioSelectRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Scenario_Select; - } - } - public long ScriptGroupId { get; set; } - public long ScriptSelectGroup { get; set; } - } - - - public class SchoolDungeonRetreatResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.SchoolDungeon_Retreat; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class ScenarioMapMoveRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Scenario_MapMove; - } - } - public long StageUniqueId { get; set; } - public long EchelonEntityId { get; set; } - //public HexLocation DestPosition { get; set; } - } - - - public class ScenarioSkipMainStageResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Scenario_SkipMainStage; - } - } - } - - - public class MissionRewardRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Mission_Reward; - } - } - public long MissionUniqueId { get; set; } - public long ProgressServerId { get; set; } - public long? EventContentId { get; set; } - } - - - public class ScenarioEnterMainStageRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Scenario_EnterMainStage; - } - } - public long StageUniqueId { get; set; } - } - - - public class NotificationLobbyCheckRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Notification_LobbyCheck; - } - } - } - - - public class ShopBuyGacha2Response : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Shop_BuyGacha2; - } - } - public DateTime UpdateTime { get; set; } - public long GemBonusRemain { get; set; } - public long GemPaidRemain { get; set; } - public List ConsumedItems { get; set; } - public List GachaResults { get; set; } - public List AcquiredItems { get; set; } - } - - - [Obsolete("MultiRaid")] - public class RaidListResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Raid_List; - } - } - public List CreateRaidDBs { get; set; } - public List EnterRaidDBs { get; set; } - public List ListRaidDBs { get; set; } - } - - - public class ShopBuyEligmaRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Shop_BuyEligma; - } - } - public long GoodsUniqueId { get; set; } - public long ShopUniqueId { get; set; } - public long CharacterUniqueId { get; set; } - public long PurchaseCount { get; set; } - } - - - public class RaidRankingRewardResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Raid_RankingReward; - } - } - public long ReceivedRankingRewardId { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class OpenConditionEventListRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.OpenCondition_EventList; - } - } - public List ConquestEventIds { get; set; } - public Dictionary WorldRaidSeasonAndGroupIds { get; set; } - } - - - public class QueuingGetTicketRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Queuing_GetTicket; - } - } - public long YostarUID { get; set; } - public string YostarToken { get; set; } - public bool MakeStandby { get; set; } - public bool PassCheck { get; set; } - public bool PassCheckYostar { get; set; } - public string WaitingTicket { get; set; } - public string ClientVersion { get; set; } - } - - - public class MultiFloorRaidEnterBattleResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MultiFloorRaid_EnterBattle; - } - } - public List AssistCharacterDBs { get; set; } - } - - - public class RaidSweepResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Raid_Sweep; - } - } - public long TotalSeasonPoint { get; set; } - public List> Rewards { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class RaidCreateBattleResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Raid_CreateBattle; - } - } - public RaidDB RaidDB { get; set; } - public RaidBattleDB RaidBattleDB { get; set; } - public AccountCurrencyDB AccountCurrencyDB { get; set; } - public AssistCharacterDB AssistCharacterDB { get; set; } - } - - - public class RaidGiveUpResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Raid_GiveUp; - } - } - public int Tier { get; set; } - public RaidGiveUpDB RaidGiveUpDB { get; set; } - } - - - public class ScenarioClearResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Scenario_Clear; - } - } - public ScenarioHistoryDB ScenarioHistoryDB { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class MomoTalkMessageListResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MomoTalk_MessageList; - } - } - public MomoTalkOutLineDB MomoTalkOutLineDB { get; set; } - public List MomoTalkChoiceDBs { get; set; } - } - - - public class ScenarioRetreatRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Scenario_Retreat; - } - } - public long StageUniqueId { get; set; } - } - - - public class ScenarioSelectResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Scenario_Select; - } - } - } - - - public class ShopBuyMerchandiseRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Shop_BuyMerchandise; - } - } - public bool IsRefreshGoods { get; set; } - public long ShopUniqueId { get; set; } - public long GoodsId { get; set; } - public long PurchaseCount { get; set; } - } - - - public class ScenarioMapMoveResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Scenario_MapMove; - } - } - public StoryStrategyStageSaveDB SaveDataDB { get; set; } - public List ScenarioIds { get; set; } - public long EchelonEntityId { get; set; } - //public Strategy StrategyObject { get; set; } - public List StrategyObjectParcelInfos { get; set; } - } - - - public class SchoolDungeonListRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.SchoolDungeon_List; - } - } - } - - - public class MissionRewardResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Mission_Reward; - } - } - public MissionHistoryDB AddedHistoryDB { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class ScenarioEnterMainStageResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Scenario_EnterMainStage; - } - } - public StoryStrategyStageSaveDB SaveDataDB { get; set; } - } - - - public class NotificationLobbyCheckResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Notification_LobbyCheck; - } - } - public long UnreadMailCount { get; set; } - public List EventRewardIncreaseDBs { get; set; } - } - - - public class ShopBuyGacha3Request : ShopBuyGacha2Request - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Shop_BuyGacha3; - } - } - public long FreeRecruitId { get; set; } - public ParcelCost Cost { get; set; } - } - - - public class RaidSeasonRewardRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Raid_SeasonReward; - } - } - } - - - [Obsolete("MultiRaid")] - public class RaidCompleteListRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Raid_CompleteList; - } - } - } - - - public class ShopGachaRecruitListRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Shop_GachaRecruitList; - } - } - } - - - public class OpenConditionEventListResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.OpenCondition_EventList; - } - } - public Dictionary> ConquestTiles { get; set; } - public Dictionary> WorldRaidLocalBossDBs { get; set; } - } - - - public class RecipeCraftRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Recipe_Craft; - } - } - public long RecipeCraftUniqueId { get; set; } - public long RecipeIngredientUniqueId { get; set; } - } - - - public class MultiFloorRaidEndBattleRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MultiFloorRaid_EndBattle; - } - } - public long SeasonId { get; set; } - public int Difficulty { get; set; } - public BattleSummary Summary { get; set; } - public int EchelonId { get; set; } - public List AssistUseInfos { get; set; } - } - - - public class RaidEnterBattleRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Raid_EnterBattle; - } - } - public long RaidServerId { get; set; } - public long RaidUniqueId { get; set; } - public bool IsPractice { get; set; } - public long EchelonId { get; set; } - public ClanAssistUseInfo AssistUseInfo { get; set; } - } - - - public class RaidRewardRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Raid_Reward; - } - } - public long RaidServerId { get; set; } - public bool IsPractice { get; set; } - } - - - public class QueuingGetTicketResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Queuing_GetTicket; - } - } - public string WaitingTicket { get; set; } - public string EnterTicket { get; set; } - public long TicketSequence { get; set; } - public long AllowedSequence { get; set; } - public double RequiredSecondsPerUser { get; set; } - public string Birth { get; set; } - public string ServerSeed { get; set; } - public void Reset() - { - } - } - - - public class ScenarioRetreatResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Scenario_Retreat; - } - } - public List ReleasedEchelonNumbers { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class MomoTalkReadRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.MomoTalk_Read; - } - } - public long CharacterDBId { get; set; } - public long LastReadMessageGroupId { get; set; } - public long? ChosenMessageId { get; set; } - } - - - public class ScenarioEnterRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Scenario_Enter; - } - } - public long ScenarioId { get; set; } - } - - - public class ScenarioAccountStudentChangeRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Scenario_AccountStudentChange; - } - } - public long AccountStudent { get; set; } - public long AccountStudentBefore { get; set; } - } - - - public class SchoolDungeonListResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.SchoolDungeon_List; - } - } - public List SchoolDungeonStageHistoryDBList { get; set; } - } - - - public class ScenarioEndTurnRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Scenario_EndTurn; - } - } - public long StageUniqueId { get; set; } - } - - - public class ShopBuyMerchandiseResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Shop_BuyMerchandise; - } - } - public AccountCurrencyDB AccountCurrencyDB { get; set; } - public ConsumeResultDB ConsumeResultDB { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - public MailDB MailDB { get; set; } - public ShopProductDB ShopProductDB { get; set; } - } - - - public class MissionMultipleRewardRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Mission_MultipleReward; - } - } - public MissionCategory MissionCategory { get; set; } - public long? GuideMissionSeasonId { get; set; } - public long? EventContentId { get; set; } - } - - - public class ScenarioConfirmMainStageRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Scenario_ConfirmMainStage; - } - } - public long StageUniqueId { get; set; } - } - - - public class NotificationEventContentReddotRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Notification_EventContentReddotCheck; - } - } - } - - - [Obsolete("MultiRaid")] - public class RaidCompleteListResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Raid_CompleteList; - } - } - public List RaidDBs { get; set; } - public long StackedDamage { get; set; } - public List ReceiveRewardId { get; set; } - public long CurSeasonUniqueId { get; set; } - } - - - public class RaidSeasonRewardResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Raid_SeasonReward; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - public List ReceiveRewardIds { get; set; } - } - - - public class ShopGachaRecruitListResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Shop_GachaRecruitList; - } - } - public List ShopRecruits { get; set; } - public List ShopFreeRecruitHistoryDBs { get; set; } - } - - - public class ShopBuyGacha3Response : ShopBuyGacha2Response - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Shop_BuyGacha3; - } - } - public ShopFreeRecruitHistoryDB FreeRecruitHistoryDB { get; set; } - } - - - public class ProofTokenRequestQuestionRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.ProofToken_RequestQuestion; - } - } - } - - - public class RaidEnterBattleResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Raid_EnterBattle; - } - } - public RaidDB RaidDB { get; set; } - public RaidBattleDB RaidBattleDB { get; set; } - public AccountCurrencyDB AccountCurrencyDB { get; set; } - public AssistCharacterDB AssistCharacterDB { get; set; } - } - - - public class ScenarioAccountStudentChangeResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Scenario_AccountStudentChange; - } - } - } - - - public class ShopBeforehandGachaGetRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Shop_BeforehandGachaGet; - } - } - } - - - public class RaidRewardResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Raid_Reward; - } - } - public long RankingPoint { get; set; } - public long BestRankingPoint { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class RecipeCraftResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Recipe_Craft; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - public ConsumeResultDB EquipmentConsumeResultDB { get; set; } - public ConsumeResultDB ItemConsumeResultDB { get; set; } - } - - - public enum RaidRoomSortOption - { - HPHigh, - HPLow, - RemainTimeHigh, - RemainTimeLow - } - - - public class ScenarioEnterResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Scenario_Enter; - } - } - } - - - public class ScenarioPortalRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.None; - } - } - public long StageUniqueId { get; set; } - public long EchelonEntityId { get; set; } - } - - - public class SkipHistoryListRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.SkipHistory_List; - } - } - } - - - public class SchoolDungeonEnterBattleRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.SchoolDungeon_EnterBattle; - } - } - public long StageUniqueId { get; set; } - } - - - public class ScenarioConfirmMainStageResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Scenario_ConfirmMainStage; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - public StoryStrategyStageSaveDB SaveDataDB { get; set; } - public List ScenarioIds { get; set; } - } - - - public class ScenarioEndTurnResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Scenario_EndTurn; - } - } - public StoryStrategyStageSaveDB SaveDataDB { get; set; } - public AccountCurrencyDB AccountCurrencyDB { get; set; } - public List ScenarioIds { get; set; } - } - - - public class StickerUseStickerRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Sticker_UseSticker; - } - } - public long StickerUniqueId { get; set; } - } - - - public class ShopBuyGachaRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Shop_BuyGacha; - } - } - public long GoodsId { get; set; } - public long ShopUniqueId { get; set; } - } - - - public class TimeAttackDungeonEnterBattleRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.TimeAttackDungeon_EnterBattle; - } - } - public long RoomId { get; set; } - public ClanAssistUseInfo AssistUseInfo { get; set; } - } - - - [Obsolete("MultiRaid")] - public class RaidDetailRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Raid_Detail; - } - } - public long RaidServerId { get; set; } - public long RaidUniqueId { get; set; } - } - - - public class ShopListRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Shop_List; - } - } - public List CategoryList { get; set; } - } - - - public class RaidOpponentListRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Raid_OpponentList; - } - } - public long? Rank { get; set; } - public long? Score { get; set; } - public bool IsUpper { get; set; } - public bool IsFirstRequest { get; set; } - public RankingSearchType SearchType { get; set; } - } - - - public class ShopBuyRefreshMerchandiseRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Shop_BuyRefreshMerchandise; - } - } - public List ShopUniqueIds { get; set; } - } - - - public class TimeAttackDungeonLoginRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.TimeAttackDungeon_Login; - } - } - } - - - public class RaidBattleUpdateRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Raid_BattleUpdate; - } - } - public long RaidServerId { get; set; } - public int RaidBossIndex { get; set; } - public long CumulativeDamage { get; set; } - public long CumulativeGroggyPoint { get; set; } - - //[JsonIgnore] - //public IEnumerable Debuffs { get; set; } - - //private List playerDebuffs; - } - - - public class ShopBeforehandGachaGetResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Shop_BeforehandGachaGet; - } - } - public bool AlreadyPicked { get; set; } - public BeforehandGachaSnapshotDB BeforehandGachaSnapshot { get; set; } - } - - - public class ScenarioLobbyStudentChangeRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Scenario_LobbyStudentChange; - } - } - public List LobbyStudents { get; set; } - public List LobbyStudentsBefore { get; set; } - } - - - [Obsolete("MultiRaid")] - public class RaidRewardAllRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Raid_RewardAll; - } - } - } - - - public class ScenarioPortalResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Scenario_Portal; - } - } - public StoryStrategyStageSaveDB StoryStrategyStageSaveDB { get; set; } - public List ScenarioIds { get; set; } - } - - - public class RaidLoginRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Raid_Login; - } - } - } - - - public class ScenarioGroupHistoryUpdateRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Scenario_GroupHistoryUpdate; - } - } - public long ScenarioGroupUniqueId { get; set; } - public long ScenarioType { get; set; } - } - - - public class SkipHistoryListResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.SkipHistory_List; - } - } - public SkipHistoryDB SkipHistoryDB { get; set; } - } - - - public class SchoolDungeonEnterBattleResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.SchoolDungeon_EnterBattle; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class ResetableContentGetRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.ResetableContent_Get; - } - } - } - - - public class TimeAttackDungeonEnterBattleResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.TimeAttackDungeon_EnterBattle; - } - } - public AssistCharacterDB AssistCharacterDB { get; set; } - } - - - public class StickerUseStickerResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Sticker_UseSticker; - } - } - public StickerBookDB StickerBookDB { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class ScenarioEnterTacticRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Scenario_EnterTactic; - } - } - public long StageUniqueId { get; set; } - public long EchelonIndex { get; set; } - public long EnemyIndex { get; set; } - } - - - public class ShopBuyGachaResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Shop_BuyGacha; - } - } - [JsonIgnore] - public AccountCurrencyDB AccountCurrencyDB { get; set; } - public ConsumeResultDB ConsumeResultDB { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class ScenarioDeployEchelonRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Scenario_DeployEchelon; - } - } - public long StageUniqueId { get; set; } - //public List DeployedEchelons { get; set; } - } - - - public class ShopBuyRefreshMerchandiseResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Shop_BuyRefreshMerchandise; - } - } - public AccountCurrencyDB AccountCurrencyDB { get; set; } - public ConsumeResultDB ConsumeResultDB { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - public List ShopProductDB { get; set; } - public MailDB MailDB { get; set; } - } - - - public class WeekDungeonListResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.WeekDungeon_List; - } - } - public List AdditionalStageIdList { get; set; } - public List WeekDungeonStageHistoryDBList { get; set; } - } - - - public class WorldRaidLobbyResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.WorldRaid_Lobby; - } - } - public List ClearHistoryDBs { get; set; } - public List LocalBossDBs { get; set; } - public List BossGroups { get; set; } - } - - - public class ShopListResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Shop_List; - } - } - public List ShopInfos { get; set; } - public List ShopEligmaHistoryDBs { get; set; } - } - - - public class TimeAttackDungeonLoginResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.TimeAttackDungeon_Login; - } - } - public TimeAttackDungeonRoomDB PreviousRoomDB { get; set; } - } - - - public class ShopBeforehandGachaRunRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Shop_BeforehandGachaRun; - } - } - public long ShopUniqueId { get; set; } - public long GoodsId { get; set; } - } - - - public class WorldRaidReceiveRewardResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.WorldRaid_ReceiveReward; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class ScenarioRestartMainStageRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Scenario_RestartMainStage; - } - } - public long StageUniqueId { get; set; } - } - - - public class SchoolDungeonBattleResultRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.SchoolDungeon_BattleResult; - } - } - public long StageUniqueId { get; set; } - public bool PassCheckCharacter { get; set; } - public BattleSummary Summary { get; set; } - } - - - public class SkipHistorySaveRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.SkipHistory_Save; - } - } - public SkipHistoryDB SkipHistoryDB { get; set; } - } - - - public class TimeAttackDungeonEndBattleRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.TimeAttackDungeon_EndBattle; - } - } - public int EchelonId { get; set; } - public long RoomId { get; set; } - public BattleSummary Summary { get; set; } - public ClanAssistUseInfo AssistUseInfo { get; set; } - } - - - public class SystemVersionRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.System_Version; - } - } - } - - - public class ShopBuyGacha2Request : ShopBuyGachaRequest - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Shop_BuyGacha2; - } - } - } - - - public class ToastListRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Toast_List; - } - } - } - - - public class WorldRaidBossListRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.WorldRaid_BossList; - } - } - public long SeasonId { get; set; } - public bool RequestOnlyWorldBossData { get; set; } - } - - - public class WeekDungeonEnterBattleRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.WeekDungeon_EnterBattle; - } - } - public long StageUniqueId { get; set; } - public long EchelonIndex { get; set; } - } - - - public class ShopBuyAPRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Shop_BuyAP; - } - } - public long ShopUniqueId { get; set; } - public long PurchaseCount { get; set; } - } - - - public class ShopRefreshRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.None; - } - } - public ShopCategoryType ShopCategoryType { get; set; } - } - - - public class ShopBeforehandGachaRunResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Shop_BeforehandGachaRun; - } - } - public BeforehandGachaSnapshotDB SelectGachaSnapshot { get; set; } - } - - - public class TimeAttackDungeonEndBattleResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.TimeAttackDungeon_EndBattle; - } - } - public TimeAttackDungeonRoomDB RoomDB { get; set; } - public long TotalPoint { get; set; } - public long DefaultPoint { get; set; } - public long TimePoint { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class SystemVersionResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.System_Version; - } - } - public long CurrentVersion { get; set; } - public long MinimumVersion { get; set; } - public bool IsDevelopment { get; set; } - } - - - public class SkipHistorySaveResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.SkipHistory_Save; - } - } - public SkipHistoryDB SkipHistoryDB { get; set; } - } - - - public class WorldRaidBossListResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.WorldRaid_BossList; - } - } - public List BossListInfoDBs { get; set; } - } - - - public class ToastListResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Toast_List; - } - } - public List ToastDBs { get; set; } - } - - - public class WeekDungeonEnterBattleResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.WeekDungeon_EnterBattle; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - public int Seed { get; set; } - public int Sequence { get; set; } - } - - - public class ShopBeforehandGachaSaveRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Shop_BeforehandGachaSave; - } - } - public long TargetIndex { get; set; } - } - - - public class ShopRefreshResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Shop_Refresh; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - public ShopInfoDB ShopInfoDB { get; set; } - } - - - public class ShopBuyAPResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Shop_BuyAP; - } - } - public AccountCurrencyDB AccountCurrencyDB { get; set; } - public ConsumeResultDB ConsumeResultDB { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - public MailDB MailDB { get; set; } - public ShopProductDB ShopProductDB { get; set; } - } - - - public class TimeAttackDungeonGiveUpRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.TimeAttackDungeon_GiveUp; - } - } - public long RoomId { get; set; } - } - - - public class TimeAttackDungeonLobbyRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.TimeAttackDungeon_Lobby; - } - } - } - + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Account_Auth2; + } + } + + } + + public class AccountAuth2Response : AccountAuthResponse + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Account_Auth2; + } + } + + } + + public class AccountCreateRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Account_Create; + } + } + + public string DevId { get; set; } + public long Version { get; set; } + public long IMEI { get; set; } + public string AccessIP { get; set; } + public string MarketId { get; set; } + public string UserType { get; set; } + public string AdvertisementId { get; set; } + public string OSType { get; set; } + public string OSVersion { get; set; } + } + + public class AccountCreateResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Account_Create; + } + } + + } + + public class AccountNicknameRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Account_Nickname; + } + } + + public string Nickname { get; set; } + } + + public class AccountNicknameResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Account_Nickname; + } + } + + public AccountDB AccountDB { get; set; } + } + + public class AccountCallNameRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Account_CallName; + } + } + + public string CallName { get; set; } + } + + public class AccountCallNameResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Account_CallName; + } + } + + public AccountDB AccountDB { get; set; } + } + + public class AccountBirthDayRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Account_BirthDay; + } + } + + public DateTime BirthDay { get; set; } + } + + public class AccountBirthDayResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Account_BirthDay; + } + } + + public AccountDB AccountDB { get; set; } + } + + public class AccountSetRepresentCharacterAndCommentRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Account_SetRepresentCharacterAndComment; + } + } + + public long RepresentCharacterServerId { get; set; } + public string Comment { get; set; } + } + + public class AccountSetRepresentCharacterAndCommentResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Account_SetRepresentCharacterAndComment; + } + } + + public AccountDB AccountDB { get; set; } + public CharacterDB RepresentCharacterDB { get; set; } + } + + public class AccountGetTutorialRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Account_GetTutorial; + } + } + + } + + public class AccountGetTutorialResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Account_GetTutorial; + } + } + + public List TutorialIds { get; set; } + } + + public class AccountSetTutorialRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Account_SetTutorial; + } + } + + public List TutorialIds { get; set; } + } + + public class AccountSetTutorialResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Account_SetTutorial; + } + } + + } + + public class AccountPassCheckRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Account_PassCheck; + } + } + + public string DevId { get; set; } + public bool OnlyAccountId { get; set; } + } + + public class AccountPassCheckResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Account_PassCheck; + } + } + + } + + public class AccountLinkRewardRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Account_LinkReward; + } + } + + } + + public class AccountLinkRewardResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Account_LinkReward; + } + } + + } + + public class AccountReportXignCodeCheaterRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Account_ReportXignCodeCheater; + } + } + + public string ErrorCode { get; set; } + } + + public class AccountReportXignCodeCheaterResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Account_ReportXignCodeCheater; + } + } + + } + + public class AccountDismissRepurchasablePopupRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Account_DismissRepurchasablePopup; + } + } + + public List ProductIds { get; set; } + } + + public class AccountDismissRepurchasablePopupResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Account_DismissRepurchasablePopup; + } + } + + } + + public class AccountInvalidateTokenRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Account_InvalidateToken; + } + } + + } + + public class AccountInvalidateTokenResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Account_InvalidateToken; + } + } + + } + + public class AccountLoginSyncRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Account_LoginSync; + } + } + + public List SyncProtocols { get; set; } + public string SkillCutInOption { get; set; } + } + + public class AccountLoginSyncResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Account_LoginSync; + } + } + + public ResponsePacket Responses { get; set; } + public CafeGetInfoResponse CafeGetInfoResponse { get; set; } + public AccountCurrencySyncResponse AccountCurrencySyncResponse { get; set; } + public CharacterListResponse CharacterListResponse { get; set; } + public EquipmentItemListResponse EquipmentItemListResponse { get; set; } + public CharacterGearListResponse CharacterGearListResponse { get; set; } + public ItemListResponse ItemListResponse { get; set; } + public EchelonListResponse EchelonListResponse { get; set; } + public MemoryLobbyListResponse MemoryLobbyListResponse { get; set; } + public CampaignListResponse CampaignListResponse { get; set; } + public ArenaLoginResponse ArenaLoginResponse { get; set; } + public RaidLoginResponse RaidLoginResponse { get; set; } + public EliminateRaidLoginResponse EliminateRaidLoginResponse { get; set; } + public CraftInfoListResponse CraftInfoListResponse { get; set; } + public ClanLoginResponse ClanLoginResponse { get; set; } + public MomoTalkOutLineResponse MomotalkOutlineResponse { get; set; } + public ScenarioListResponse ScenarioListResponse { get; set; } + public ShopGachaRecruitListResponse ShopGachaRecruitListResponse { get; set; } + public TimeAttackDungeonLoginResponse TimeAttackDungeonLoginResponse { get; set; } + public BillingPurchaseListByYostarResponse BillingPurchaseListByYostarResponse { get; set; } + public EventContentPermanentListResponse EventContentPermanentListResponse { get; set; } + public AttachmentGetResponse AttachmentGetResponse { get; set; } + public AttachmentEmblemListResponse AttachmentEmblemListResponse { get; set; } + public ContentSweepMultiSweepPresetListResponse ContentSweepMultiSweepPresetListResponse { get; set; } + public StickerLoginResponse StickerListResponse { get; set; } + public MultiFloorRaidSyncResponse MultiFloorRaidSyncResponse { get; set; } + public long FriendCount { get; set; } + public string FriendCode { get; set; } + } + + public class AccountCheckYostarRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Account_CheckYostar; + } + } + + public long UID { get; set; } + public string YostarToken { get; set; } + public string EnterTicket { get; set; } + public bool PassCookieResult { get; set; } + public string Cookie { get; set; } + } + + public class AccountCheckYostarResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Account_CheckYostar; + } + } + + public int ResultState { get; set; } + public string ResultMessag { get; set; } + public string Birth { get; set; } + } + + public class AccountResetRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Account_Reset; + } + } + + public string DevId { get; set; } + } + + public class AccountResetResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Account_Reset; + } + } + + } + + public class AccountRequestBirthdayMailRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Account_BirthDay; + } + } + + public DateTime Birthday { get; set; } + } + + public class AccountRequestBirthdayMailResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Account_BirthDay; + } + } + + } + + public class ArenaEnterLobbyRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Arena_EnterLobby; + } + } + + } + + public class ArenaEnterLobbyResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Arena_EnterLobby; + } + } + + public ArenaPlayerInfoDB ArenaPlayerInfoDB { get; set; } + public List OpponentUserDBs { get; set; } + public long MapId { get; set; } + public DateTime AutoRefreshTime { get; set; } + } + + public class ArenaLoginRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Arena_Login; + } + } + + } + + public class ArenaLoginResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Arena_Login; + } + } + + public ArenaPlayerInfoDB ArenaPlayerInfoDB { get; set; } + } + + public class ArenaSettingChangeRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Arena_SettingChange; + } + } + + public long MapId { get; set; } + } + + public class ArenaSettingChangeResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Arena_SettingChange; + } + } + + } + + public class ArenaOpponentListRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Arena_OpponentList; + } + } + + } + + public class ArenaOpponentListResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Arena_OpponentList; + } + } + + public long PlayerRank { get; set; } + public List OpponentUserDBs { get; set; } + public DateTime AutoRefreshTime { get; set; } + } + + public class ArenaEnterBattleRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Arena_EnterBattle; + } + } + + public long OpponentAccountServerId { get; set; } + public long OpponentIndex { get; set; } + } + + public class ArenaEnterBattleResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Arena_EnterBattle; + } + } + + public AccountCurrencyDB AccountCurrencyDB { get; set; } + public ArenaBattleDB ArenaBattleDB { get; set; } + public ArenaPlayerInfoDB ArenaPlayerInfoDB { get; set; } + public ParcelResultDB VictoryRewards { get; set; } + public ParcelResultDB SeasonRewards { get; set; } + public ParcelResultDB AllTimeRewards { get; set; } + } + + public class ArenaBattleResultRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Arena_BattleResult; + } + } + + public ArenaBattleDB ArenaBattleDB { get; set; } + } + + public class ArenaBattleResultResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Arena_BattleResult; + } + } + + } + + public class ArenaEnterBattlePart1Request : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Arena_EnterBattlePart1; + } + } + + public long OpponentAccountServerId { get; set; } + public long OpponentRank { get; set; } + public int OpponentIndex { get; set; } + } + + public class ArenaEnterBattlePart1Response : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Arena_EnterBattlePart1; + } + } + + public ArenaBattleDB ArenaBattleDB { get; set; } + } + + public class ArenaEnterBattlePart2Request : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Arena_EnterBattlePart2; + } + } + + public ArenaBattleDB ArenaBattleDB { get; set; } + } + + public class ArenaEnterBattlePart2Response : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Arena_EnterBattlePart2; + } + } + + public ArenaBattleDB ArenaBattleDB { get; set; } + public ArenaPlayerInfoDB ArenaPlayerInfoDB { get; set; } + public AccountCurrencyDB AccountCurrencyDB { get; set; } + public ParcelResultDB VictoryRewards { get; set; } + public ParcelResultDB SeasonRewards { get; set; } + public ParcelResultDB AllTimeRewards { get; set; } + } + + public class ArenaCumulativeTimeRewardRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Arena_CumulativeTimeReward; + } + } + + } + + public class ArenaCumulativeTimeRewardResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Arena_CumulativeTimeReward; + } + } + + public long TimeRewardAmount { get; set; } + public DateTime TimeRewardLastUpdateTime { get; set; } + public ParcelResultDB ParcelResult { get; set; } + } + + public class ArenaDailyRewardRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Arena_DailyReward; + } + } + + } + + public class ArenaDailyRewardResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Arena_DailyReward; + } + } + + public ParcelResultDB ParcelResult { get; set; } + public DateTime DailyRewardActiveTime { get; set; } + } + + public class ArenaRankListRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Arena_RankList; + } + } + + public int StartIndex { get; set; } + public int Count { get; set; } + } + + public class ArenaRankListResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Arena_RankList; + } + } + + public List TopRankedUserDBs { get; set; } + } + + public class ArenaHistoryRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Arena_History; + } + } + + public DateTime SearchStartDate { get; set; } + public int Count { get; set; } + } + + public class ArenaHistoryResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Arena_History; + } + } + + public List ArenaHistoryDBs { get; set; } + public List ArenaDamageReportDB { get; set; } + } + + public class ArenaCheckSeasonCloseRewardRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Arena_CheckSeasonCloseReward; + } + } + + } + + public class ArenaCheckSeasonCloseRewardResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Arena_CheckSeasonCloseReward; + } + } + + } + + public class ArenaSyncEchelonSettingTimeRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Arena_SyncEchelonSettingTime; + } + } + + } + + public class ArenaSyncEchelonSettingTimeResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Arena_SyncEchelonSettingTime; + } + } + + public DateTime EchelonSettingTime { get; set; } + } + + public class AttachmentGetRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Attachment_Get; + } + } + + } + + public class AttachmentGetResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Attachment_Get; + } + } + + public AccountAttachmentDB AccountAttachmentDB { get; set; } + } + + public class AttachmentEmblemListRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Attachment_EmblemList; + } + } + + } + + public class AttachmentEmblemListResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Attachment_EmblemList; + } + } + + public List EmblemDBs { get; set; } + } + + public class AttachmentEmblemAcquireRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Attachment_EmblemAcquire; + } + } + + public List UniqueIds { get; set; } + } + + public class AttachmentEmblemAcquireResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Attachment_EmblemAcquire; + } + } + + public List EmblemDBs { get; set; } + } + + public class AttachmentEmblemAttachRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Attachment_EmblemAttach; + } + } + + public long UniqueId { get; set; } + } + + public class AttachmentEmblemAttachResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Attachment_EmblemAttach; + } + } + + public AccountAttachmentDB AttachmentDB { get; set; } + } + + public class AttendanceRewardRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Attendance_Reward; + } + } + + public Dictionary DayByBookUniqueId { get; set; } + public long AttendanceBookUniqueId { get; set; } + public long Day { get; set; } + } + + public class AttendanceRewardResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Attendance_Reward; + } + } + + public List AttendanceBookRewards { get; set; } + public List AttendanceHistoryDBs { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class AuditGachaStatisticsRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Audit_GachaStatistics; + } + } + + public long MerchandiseUniqueId { get; set; } + public long ShopUniqueId { get; set; } + public long Count { get; set; } + } + + public class AuditGachaStatisticsResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Audit_GachaStatistics; + } + } + + public Dictionary GachaResult { get; set; } + } + + public enum Protocol + { + Common_Cheat = -9999, + Error = -1, + None = 0, + System_Version = 1, + Session_Info = 2, + NetworkTime_Sync = 3, + NetworkTime_SyncReply = 4, + Audit_GachaStatistics = 5, + Account_Create = 1000, + Account_Nickname = 1001, + Account_Auth = 1002, + Account_CurrencySync = 1003, + Account_SetRepresentCharacterAndComment = 1004, + Account_GetTutorial = 1005, + Account_SetTutorial = 1006, + Account_PassCheck = 1007, + Account_VerifyForYostar = 1008, + Account_CheckYostar = 1009, + Account_CallName = 1010, + Account_BirthDay = 1011, + Account_Auth2 = 1012, + Account_LinkReward = 1013, + Account_ReportXignCodeCheater = 1014, + Account_DismissRepurchasablePopup = 1015, + Account_InvalidateToken = 1016, + Account_LoginSync = 1017, + Account_Reset = 1018, + Account_RequestBirthdayMail = 1019, + Character_List = 2000, + Character_Transcendence = 2001, + Character_ExpGrowth = 2002, + Character_FavorGrowth = 2003, + Character_UpdateSkillLevel = 2004, + Character_UnlockWeapon = 2005, + Character_WeaponExpGrowth = 2006, + Character_WeaponTranscendence = 2007, + Character_SetFavorites = 2008, + Character_SetCostume = 2009, + Character_BatchSkillLevelUpdate = 2010, + Character_PotentialGrowth = 2011, + Equipment_List = 3000, + Equipment_Sell = 3001, + Equipment_Equip = 3002, + Equipment_LevelUp = 3003, + Equipment_TierUp = 3004, + Equipment_Lock = 3005, + Equipment_BatchGrowth = 3006, + Item_List = 4000, + Item_Sell = 4001, + Item_Consume = 4002, + Item_Lock = 4003, + Item_BulkConsume = 4004, + Item_SelectTicket = 4005, + Item_AutoSynth = 4006, + Echelon_List = 5000, + Echelon_Save = 5001, + Echelon_PresetList = 5002, + Echelon_PresetSave = 5003, + Echelon_PresetGroupRename = 5004, + Campaign_List = 6000, + Campaign_EnterMainStage = 6001, + Campaign_ConfirmMainStage = 6002, + Campaign_DeployEchelon = 6003, + Campaign_WithdrawEchelon = 6004, + Campaign_MapMove = 6005, + Campaign_EndTurn = 6006, + Campaign_EnterTactic = 6007, + Campaign_TacticResult = 6008, + Campaign_Retreat = 6009, + Campaign_ChapterClearReward = 6010, + Campaign_Heal = 6011, + Campaign_EnterSubStage = 6012, + Campaign_SubStageResult = 6013, + Campaign_Portal = 6014, + Campaign_ConfirmTutorialStage = 6015, + Campaign_PurchasePlayCountHardStage = 6016, + Campaign_EnterTutorialStage = 6017, + Campaign_TutorialStageResult = 6018, + Campaign_RestartMainStage = 6019, + Campaign_EnterMainStageStrategySkip = 6020, + Campaign_MainStageStrategySkipResult = 6021, + Mail_List = 7000, + Mail_Check = 7001, + Mail_Receive = 7002, + Mission_List = 8000, + Mission_Reward = 8001, + Mission_MultipleReward = 8002, + Mission_GuideReward = 8003, + Mission_MultipleGuideReward = 8004, + Mission_Sync = 8005, + Mission_GuideMissionSeasonList = 8006, + Attendance_List = 9000, + Attendance_Check = 9001, + Attendance_Reward = 9002, + Shop_BuyMerchandise = 10000, + Shop_BuyGacha = 10001, + Shop_List = 10002, + Shop_Refresh = 10003, + Shop_BuyEligma = 10004, + Shop_BuyGacha2 = 10005, + Shop_GachaRecruitList = 10006, + Shop_BuyRefreshMerchandise = 10007, + Shop_BuyGacha3 = 10008, + Shop_BuyAP = 10009, + Shop_BeforehandGachaGet = 10010, + Shop_BeforehandGachaRun = 10011, + Shop_BeforehandGachaSave = 10012, + Shop_BeforehandGachaPick = 10013, + Recipe_Craft = 11000, + MemoryLobby_List = 12000, + MemoryLobby_SetMain = 12001, + MemoryLobby_UpdateLobbyMode = 12002, + MemoryLobby_Interact = 12003, + CumulativeTimeReward_List = 13000, + CumulativeTimeReward_Reward = 13001, + OpenCondition_List = 15000, + OpenCondition_Set = 15001, + OpenCondition_EventList = 15002, + Toast_List = 16000, + Raid_List = 17000, + Raid_CompleteList = 17001, + Raid_Detail = 17002, + Raid_Search = 17003, + Raid_CreateBattle = 17004, + Raid_EnterBattle = 17005, + Raid_BattleUpdate = 17006, + Raid_EndBattle = 17007, + Raid_Reward = 17008, + Raid_RewardAll = 17009, + Raid_Revive = 17010, + Raid_Share = 17011, + Raid_SeasonInfo = 17012, + Raid_SeasonReward = 17013, + Raid_Lobby = 17014, + Raid_GiveUp = 17015, + Raid_OpponentList = 17016, + Raid_RankingReward = 17017, + Raid_Login = 17018, + Raid_Sweep = 17019, + Raid_GetBestTeam = 17020, + SkipHistory_List = 18000, + SkipHistory_Save = 18001, + Scenario_List = 19000, + Scenario_Clear = 19001, + Scenario_GroupHistoryUpdate = 19002, + Scenario_Skip = 19003, + Scenario_Select = 19004, + Scenario_AccountStudentChange = 19005, + Scenario_LobbyStudentChange = 19006, + Scenario_SpecialLobbyChange = 19007, + Scenario_Enter = 19008, + Scenario_EnterMainStage = 19009, + Scenario_ConfirmMainStage = 19010, + Scenario_DeployEchelon = 19011, + Scenario_WithdrawEchelon = 19012, + Scenario_MapMove = 19013, + Scenario_EndTurn = 19014, + Scenario_EnterTactic = 19015, + Scenario_TacticResult = 19016, + Scenario_Retreat = 19017, + Scenario_Portal = 19018, + Scenario_RestartMainStage = 19019, + Scenario_SkipMainStage = 19020, + Cafe_Get = 20000, + Cafe_Ack = 20001, + Cafe_Deploy = 20002, + Cafe_Relocate = 20003, + Cafe_Remove = 20004, + Cafe_RemoveAll = 20005, + Cafe_Interact = 20006, + Cafe_ListPreset = 20007, + Cafe_RenamePreset = 20008, + Cafe_ClearPreset = 20009, + Cafe_UpdatePresetFurniture = 20010, + Cafe_ApplyPreset = 20011, + Cafe_RankUp = 20012, + Cafe_ReceiveCurrency = 20013, + Cafe_GiveGift = 20014, + Cafe_SummonCharacter = 20015, + Cafe_TrophyHistory = 20016, + Cafe_ApplyTemplate = 20017, + Cafe_Open = 20018, + Cafe_Travel = 20019, + Craft_List = 21000, + Craft_SelectNode = 21001, + Craft_UpdateNodeLevel = 21002, + Craft_BeginProcess = 21003, + Craft_CompleteProcess = 21004, + Craft_Reward = 21005, + Craft_HistoryList = 21006, + Craft_ShiftingBeginProcess = 21007, + Craft_ShiftingCompleteProcess = 21008, + Craft_ShiftingReward = 21009, + Craft_AutoBeginProcess = 21010, + Craft_CompleteProcessAll = 21011, + Craft_RewardAll = 21012, + Craft_ShiftingCompleteProcessAll = 21013, + Craft_ShiftingRewardAll = 21014, + Arena_EnterLobby = 22000, + Arena_Login = 22001, + Arena_SettingChange = 22002, + Arena_OpponentList = 22003, + Arena_EnterBattle = 22004, + Arena_EnterBattlePart1 = 22005, + Arena_EnterBattlePart2 = 22006, + Arena_BattleResult = 22007, + Arena_CumulativeTimeReward = 22008, + Arena_DailyReward = 22009, + Arena_RankList = 22010, + Arena_History = 22011, + Arena_RecordSync = 22012, + Arena_TicketPurchase = 22013, + Arena_DamageReport = 22014, + Arena_CheckSeasonCloseReward = 22015, + Arena_SyncEchelonSettingTime = 22016, + WeekDungeon_List = 23000, + WeekDungeon_EnterBattle = 23001, + WeekDungeon_BattleResult = 23002, + WeekDungeon_Retreat = 23003, + Academy_GetInfo = 24000, + Academy_AttendSchedule = 24001, + Academy_AttendFavorSchedule = 24002, + Event_GetList = 25000, + Event_GetImage = 25001, + Event_UseCoupon = 25002, + Event_RewardIncrease = 25003, + ContentSave_Get = 26000, + ContentSave_Discard = 26001, + ContentSweep_Request = 27000, + ContentSweep_MultiSweep = 27001, + ContentSweep_MultiSweepPresetList = 27002, + ContentSweep_SetMultiSweepPreset = 27003, + ContentSweep_SetMultiSweepPresetName = 27004, + Clan_Lobby = 28000, + Clan_Login = 28001, + Clan_Search = 28002, + Clan_Create = 28003, + Clan_Member = 28004, + Clan_Applicant = 28005, + Clan_Join = 28006, + Clan_Quit = 28007, + Clan_Permit = 28008, + Clan_Kick = 28009, + Clan_Setting = 28010, + Clan_Confer = 28011, + Clan_Dismiss = 28012, + Clan_AutoJoin = 28013, + Clan_MemberList = 28014, + Clan_CancelApply = 28015, + Clan_MyAssistList = 28016, + Clan_SetAssist = 28017, + Clan_ChatLog = 28018, + Clan_Check = 28019, + Clan_AllAssistList = 28020, + Billing_TransactionStartByYostar = 29000, + Billing_TransactionEndByYostar = 29001, + Billing_PurchaseListByYostar = 29002, + EventContent_AdventureList = 30000, + EventContent_EnterMainStage = 30001, + EventContent_ConfirmMainStage = 30002, + EventContent_EnterTactic = 30003, + EventContent_TacticResult = 30004, + EventContent_EnterSubStage = 30005, + EventContent_SubStageResult = 30006, + EventContent_DeployEchelon = 30007, + EventContent_WithdrawEchelon = 30008, + EventContent_MapMove = 30009, + EventContent_EndTurn = 30010, + EventContent_Retreat = 30011, + EventContent_Portal = 30012, + EventContent_PurchasePlayCountHardStage = 30013, + EventContent_ShopList = 30014, + EventContent_ShopRefresh = 30015, + EventContent_ReceiveStageTotalReward = 30016, + EventContent_EnterMainGroundStage = 30017, + EventContent_MainGroundStageResult = 30018, + EventContent_ShopBuyMerchandise = 30019, + EventContent_ShopBuyRefreshMerchandise = 30020, + EventContent_SelectBuff = 30021, + EventContent_BoxGachaShopList = 30022, + EventContent_BoxGachaShopPurchase = 30023, + EventContent_BoxGachaShopRefresh = 30024, + EventContent_CollectionList = 30025, + EventContent_CollectionForMission = 30026, + EventContent_ScenarioGroupHistoryUpdate = 30027, + EventContent_CardShopList = 30028, + EventContent_CardShopShuffle = 30029, + EventContent_CardShopPurchase = 30030, + EventContent_RestartMainStage = 30031, + EventContent_LocationGetInfo = 30032, + EventContent_LocationAttendSchedule = 30033, + EventContent_FortuneGachaPurchase = 30034, + EventContent_SubEventLobby = 30035, + EventContent_EnterStoryStage = 30036, + EventContent_StoryStageResult = 30037, + EventContent_DiceRaceLobby = 30038, + EventContent_DiceRaceRoll = 30039, + EventContent_DiceRaceLapReward = 30040, + EventContent_PermanentList = 30041, + EventContent_DiceRaceUseItem = 30042, + EventContent_CardShopPurchaseAll = 30043, + EventContent_TreasureLobby = 30044, + EventContent_TreasureFlip = 30045, + EventContent_TreasureNextRound = 30046, + TTS_GetFile = 31000, + ContentLog_UIOpenStatistics = 32000, + MomoTalk_OutLine = 33000, + MomoTalk_MessageList = 33001, + MomoTalk_Read = 33002, + MomoTalk_Reply = 33003, + MomoTalk_FavorSchedule = 33004, + ClearDeck_List = 34000, + MiniGame_StageList = 35000, + MiniGame_EnterStage = 35001, + MiniGame_Result = 35002, + MiniGame_MissionList = 35003, + MiniGame_MissionReward = 35004, + MiniGame_MissionMultipleReward = 35005, + MiniGame_ShootingLobby = 35006, + MiniGame_ShootingBattleEnter = 35007, + MiniGame_ShootingBattleResult = 35008, + MiniGame_ShootingSweep = 35009, + MiniGame_TableBoardSync = 35010, + MiniGame_TableBoardMove = 35011, + MiniGame_TableBoardEncounterInput = 35012, + MiniGame_TableBoardBattleEncounter = 35013, + MiniGame_TableBoardBattleRunAway = 35014, + MiniGame_TableBoardClearThema = 35015, + MiniGame_TableBoardUseItem = 35016, + MiniGame_TableBoardResurrect = 35017, + MiniGame_TableBoardSweep = 35018, + MiniGame_TableBoardMoveThema = 35019, + MiniGame_DreamMakerGetInfo = 35020, + MiniGame_DreamMakerNewGame = 35021, + MiniGame_DreamMakerRestart = 35022, + MiniGame_DreamMakerAttendSchedule = 35023, + MiniGame_DreamMakerDailyClosing = 35024, + MiniGame_DreamMakerEnding = 35025, + MiniGame_DefenseGetInfo = 35026, + MiniGame_DefenseEnterBattle = 35027, + MiniGame_DefenseBattleResult = 35028, + Notification_LobbyCheck = 36000, + Notification_EventContentReddotCheck = 36001, + ProofToken_RequestQuestion = 37000, + ProofToken_Submit = 37001, + SchoolDungeon_List = 38000, + SchoolDungeon_EnterBattle = 38001, + SchoolDungeon_BattleResult = 38002, + SchoolDungeon_Retreat = 38003, + TimeAttackDungeon_Lobby = 39000, + TimeAttackDungeon_CreateBattle = 39001, + TimeAttackDungeon_EnterBattle = 39002, + TimeAttackDungeon_EndBattle = 39003, + TimeAttackDungeon_Sweep = 39004, + TimeAttackDungeon_GiveUp = 39005, + TimeAttackDungeon_Login = 39006, + WorldRaid_Lobby = 40000, + WorldRaid_BossList = 40001, + WorldRaid_EnterBattle = 40002, + WorldRaid_BattleResult = 40003, + WorldRaid_ReceiveReward = 40004, + ResetableContent_Get = 41000, + Conquest_GetInfo = 42000, + Conquest_Conquer = 42001, + Conquest_ConquerWithBattleStart = 42002, + Conquest_ConquerWithBattleResult = 42003, + Conquest_DeployEchelon = 42004, + Conquest_ManageBase = 42005, + Conquest_UpgradeBase = 42006, + Conquest_TakeEventObject = 42007, + Conquest_EventObjectBattleStart = 42008, + Conquest_EventObjectBattleResult = 42009, + Conquest_ReceiveCalculateRewards = 42010, + Conquest_NormalizeEchelon = 42011, + Conquest_Check = 42012, + Conquest_ErosionBattleStart = 42013, + Conquest_ErosionBattleResult = 42014, + Conquest_MainStoryGetInfo = 42015, + Conquest_MainStoryConquer = 42016, + Conquest_MainStoryConquerWithBattleStart = 42017, + Conquest_MainStoryConquerWithBattleResult = 42018, + Conquest_MainStoryCheck = 42019, + Friend_List = 43000, + Friend_Remove = 43001, + Friend_GetFriendDetailedInfo = 43002, + Friend_GetIdCard = 43003, + Friend_SetIdCard = 43004, + Friend_Search = 43005, + Friend_SendFriendRequest = 43006, + Friend_AcceptFriendRequest = 43007, + Friend_DeclineFriendRequest = 43008, + Friend_CancelFriendRequest = 43009, + Friend_Check = 43010, + Friend_ListByIds = 43011, + Friend_Block = 43012, + Friend_Unblock = 43013, + CharacterGear_List = 44000, + CharacterGear_Unlock = 44001, + CharacterGear_TierUp = 44002, + EliminateRaid_Login = 45000, + EliminateRaid_Lobby = 45001, + EliminateRaid_OpponentList = 45002, + EliminateRaid_GetBestTeam = 45003, + EliminateRaid_CreateBattle = 45004, + EliminateRaid_EnterBattle = 45005, + EliminateRaid_EndBattle = 45006, + EliminateRaid_GiveUp = 45007, + EliminateRaid_Sweep = 45008, + EliminateRaid_SeasonReward = 45009, + EliminateRaid_RankingReward = 45010, + EliminateRaid_LimitedReward = 45011, + Attachment_Get = 46000, + Attachment_EmblemList = 46001, + Attachment_EmblemAcquire = 46002, + Attachment_EmblemAttach = 46003, + Sticker_Login = 47000, + Sticker_Lobby = 47001, + Sticker_UseSticker = 47002, + Field_Sync = 48000, + Field_Interaction = 48001, + Field_QuestClear = 48002, + Field_SceneChanged = 48003, + Field_EndDate = 48004, + Field_EnterStage = 48005, + Field_StageResult = 48006, + MultiFloorRaid_Sync = 49000, + MultiFloorRaid_EnterBattle = 49001, + MultiFloorRaid_EndBattle = 49002, + MultiFloorRaid_ReceiveReward = 49003, + Queuing_GetTicket = 50000, + } + + public enum ServerNotificationFlag + { + None = 0, + NewMailArrived = 4, + HasUnreadMail = 8, + NewToastDetected = 16, + CanReceiveArenaDailyReward = 32, + CanReceiveRaidReward = 64, + ServerMaintenance = 256, + CannotReceiveMail = 512, + InventoryFullRewardMail = 1024, + CanReceiveClanAttendanceReward = 2048, + HasClanApplicant = 4096, + HasFriendRequest = 8192, + CheckConquest = 16384, + CanReceiveEliminateRaidReward = 32768, + CanReceiveMultiFloorRaidReward = 65536, + } + + public class InventoryFullErrorPacket : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_EnterTactic; + } + } + + public WebAPIErrorCode ErrorCode { get; } + public List ParcelInfos { get; set; } + } + + public class MailBoxFullErrorPacket : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Mail_Check; + } + } + + public WebAPIErrorCode ErrorCode { get; } + } + + public class AccountBanErrorPacket : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Account_Create; + } + } + + public WebAPIErrorCode ErrorCode { get; } + public string BanReason { get; set; } + } + + public class BillingPurchaseListByYostarRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Billing_PurchaseListByYostar; + } + } + + } + + public class BillingPurchaseListByYostarResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Billing_PurchaseListByYostar; + } + } + + public List CountList { get; set; } + public List OrderList { get; set; } + public List MonthlyProductList { get; set; } + public List BlockedProductDBs { get; set; } + } + + public class BillingTransactionStartByYostarRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Billing_TransactionStartByYostar; + } + } + + public long ShopCashId { get; set; } + public bool VirtualPayment { get; set; } + } + + public class BillingTransactionStartByYostarResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Billing_TransactionStartByYostar; + } + } + + public long PurchaseCount { get; set; } + public DateTime PurchaseResetDate { get; set; } + public long PurchaseOrderId { get; set; } + public string MXSeedKey { get; set; } + public PurchaseServerTag PurchaseServerTag { get; set; } + } + + public class BillingTransactionEndByYostarRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Billing_TransactionEndByYostar; + } + } + + public long PurchaseOrderId { get; set; } + public BillingTransactionEndType EndType { get; set; } + } + + public class BillingTransactionEndByYostarResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Billing_TransactionEndByYostar; + } + } + + public ParcelResultDB ParcelResult { get; set; } + public MailDB MailDB { get; set; } + public List CountList { get; set; } + public int PurchaseCount { get; set; } + public List MonthlyProductList { get; set; } + } + + public class CafeGetInfoRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Cafe_Get; + } + } + + public long AccountServerId { get; set; } + } + + public class CafeGetInfoResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Cafe_Get; + } + } + + public CafeDB CafeDB { get; set; } + public List CafeDBs { get; set; } + public List FurnitureDBs { get; set; } + } + + public class CafeAckRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Cafe_Ack; + } + } + + public long CafeDBId { get; set; } + } + + public class CafeAckResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Cafe_Ack; + } + } + + public CafeDB CafeDB { get; set; } + } + + public class CafeDeployFurnitureRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Cafe_Deploy; + } + } + + public long CafeDBId { get; set; } + public FurnitureDB FurnitureDB { get; set; } + } + + public class CafeDeployFurnitureResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Cafe_Deploy; + } + } + + public CafeDB CafeDB { get; set; } + public long NewFurnitureServerId { get; set; } + public List ChangedFurnitureDBs { get; set; } + } + + public class CafeRelocateFurnitureRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Cafe_Relocate; + } + } + + public long CafeDBId { get; set; } + public FurnitureDB FurnitureDB { get; set; } + } + + public class CafeRelocateFurnitureResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Cafe_Relocate; + } + } + + public CafeDB CafeDB { get; set; } + public FurnitureDB RelocatedFurnitureDB { get; set; } + } + + public class CafeRemoveFurnitureRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Cafe_Remove; + } + } + + public long CafeDBId { get; set; } + public List FurnitureServerIds { get; set; } + } + + public class CafeRemoveFurnitureResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Cafe_Remove; + } + } + + public CafeDB CafeDB { get; set; } + public List FurnitureDBs { get; set; } + } + + public class CafeRemoveAllFurnitureRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Cafe_RemoveAll; + } + } + + public long CafeDBId { get; set; } + } + + public class CafeRemoveAllFurnitureResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Cafe_RemoveAll; + } + } + + public CafeDB CafeDB { get; set; } + public List FurnitureDBs { get; set; } + } + + public class CafeInteractWithCharacterRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Cafe_SummonCharacter; + } + } + + public long CafeDBId { get; set; } + public long CharacterId { get; set; } + } + + public class CafeInteractWithCharacterResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Cafe_SummonCharacter; + } + } + + public CafeDB CafeDB { get; set; } + public CharacterDB CharacterDB { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class CafeListPresetRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Cafe_ListPreset; + } + } + + } + + public class CafeListPresetResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Cafe_ListPreset; + } + } + + public List CafePresetDBs { get; set; } + } + + public class CafeRenamePresetRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Cafe_RenamePreset; + } + } + + public int SlotId { get; set; } + public string PresetName { get; set; } + } + + public class CafeRenamePresetResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Cafe_RenamePreset; + } + } + + } + + public class CafeClearPresetRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Cafe_ClearPreset; + } + } + + public int SlotId { get; set; } + } + + public class CafeClearPresetResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Cafe_ClearPreset; + } + } + + } + + public class CafeUpdatePresetFurnitureRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Cafe_UpdatePresetFurniture; + } + } + + public long CafeDBId { get; set; } + public int SlotId { get; set; } + } + + public class CafeUpdatePresetFurnitureResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Cafe_UpdatePresetFurniture; + } + } + + } + + public class CafeApplyPresetRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Cafe_ApplyPreset; + } + } + + public int SlotId { get; set; } + public long CafeDBId { get; set; } + public bool UseOtherCafeFurniture { get; set; } + } + + public class CafeApplyPresetResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Cafe_ApplyPreset; + } + } + + public List CafeDBs { get; set; } + public List FurnitureDBs { get; set; } + } + + public class CafeRankUpRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Cafe_RankUp; + } + } + + public long AccountServerId { get; set; } + public long CafeDBId { get; set; } + public ConsumeRequestDB ConsumeRequestDB { get; set; } + } + + public class CafeRankUpResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Cafe_RankUp; + } + } + + public CafeDB CafeDB { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + public ConsumeResultDB ConsumeResultDB { get; set; } + } + + public class CafeReceiveCurrencyRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Cafe_ReceiveCurrency; + } + } + + public long AccountServerId { get; set; } + public long CafeDBId { get; set; } + } + + public class CafeReceiveCurrencyResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Cafe_ReceiveCurrency; + } + } + + public CafeDB CafeDB { get; set; } + public List CafeDBs { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class CafeGiveGiftRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Cafe_GiveGift; + } + } + + public long CafeDBId { get; set; } + public long CharacterUniqueId { get; set; } + public ConsumeRequestDB ConsumeRequestDB { get; set; } + } + + public class CafeGiveGiftResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Cafe_GiveGift; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + public ConsumeResultDB ConsumeResultDB { get; set; } + } + + public class CafeSummonCharacterRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Cafe_SummonCharacter; + } + } + + public long CafeDBId { get; set; } + public long CharacterServerId { get; set; } + } + + public class CafeSummonCharacterResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Cafe_SummonCharacter; + } + } + + public CafeDB CafeDB { get; set; } + public List CafeDBs { get; set; } + } + + public class CafeTrophyHistoryRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Cafe_TrophyHistory; + } + } + + } + + public class CafeTrophyHistoryResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Cafe_TrophyHistory; + } + } + + public List RaidSeasonRankingHistoryDBs { get; set; } + } + + public class CafeApplyTemplateRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Cafe_ApplyTemplate; + } + } + + public long TemplateId { get; set; } + public long CafeDBId { get; set; } + public bool UseOtherCafeFurniture { get; set; } + } + + public class CafeApplyTemplateResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Cafe_ApplyTemplate; + } + } + + public List CafeDBs { get; set; } + public List FurnitureDBs { get; set; } + } + + public class CafeOpenRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Cafe_Open; + } + } + + public long CafeId { get; set; } + } + + public class CafeOpenResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Cafe_Open; + } + } + + public CafeDB OpenedCafeDB { get; set; } + public List FurnitureDBs { get; set; } + } + + public class CafeTravelRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Cafe_Travel; + } + } + + public Nullable TargetAccountId { get; set; } + } + + public class CafeTravelResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Cafe_Travel; + } + } + + public FriendDB FriendDB { get; set; } + public List CafeDBs { get; set; } + } + + public enum CampaignState + { + BeforeStart = 0, + BeginPlayerPhase = 1, + PlayerPhase = 2, + EndPlayerPhase = 3, + BeginEnemyPhase = 4, + EnemyPhase = 5, + EndEnemyPhase = 6, + Win = 7, + Lose = 8, + StrategySkip = 9, + } + + public enum CampaignEndBattle + { + None = 0, + Win = 1, + Lose = 2, + } + + public class CampaignListRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Campaign_List; + } + } + + } + + public class CampaignListResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Campaign_List; + } + } + + public List CampaignChapterClearRewardHistoryDBs { get; set; } + public List StageHistoryDBs { get; set; } + public List StrategyObjecthistoryDBs { get; set; } + public DailyResetCountDB DailyResetCountDB { get; set; } + } + + public class CampaignEnterMainStageRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Campaign_EnterMainStage; + } + } + + public long StageUniqueId { get; set; } + } + + public class CampaignEnterMainStageResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Campaign_EnterMainStage; + } + } + + public CampaignMainStageSaveDB SaveDataDB { get; set; } + } + + public class CampaignConfirmMainStageRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Campaign_ConfirmMainStage; + } + } + + public long StageUniqueId { get; set; } + } + + public class CampaignConfirmMainStageResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Campaign_ConfirmMainStage; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + public CampaignMainStageSaveDB SaveDataDB { get; set; } + } + + public class CampaignEnterSubStageRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Campaign_EnterSubStage; + } + } + + public long StageUniqueId { get; set; } + public long LastEnterStageEchelonNumber { get; set; } + } + + public class CampaignEnterTutorialStageRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Campaign_EnterTutorialStage; + } + } + + public long StageUniqueId { get; set; } + } + + public class CampaignEnterTutorialStageResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Campaign_EnterTutorialStage; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + public CampaignTutorialStageSaveDB SaveDataDB { get; set; } + } + + public class CampaignDeployEchelonResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Campaign_DeployEchelon; + } + } + + public CampaignMainStageSaveDB SaveDataDB { get; set; } + } + + public class CampaignWithdrawEchelonRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Campaign_WithdrawEchelon; + } + } + + public long StageUniqueId { get; set; } + public List WithdrawEchelonEntityId { get; set; } + } + + public class CampaignWithdrawEchelonResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Campaign_WithdrawEchelon; + } + } + + public CampaignMainStageSaveDB SaveDataDB { get; set; } + public List WithdrawEchelonDBs { get; set; } + } + + public class CampaignMapMoveRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Campaign_MapMove; + } + } + + public long StageUniqueId { get; set; } + public long EchelonEntityId { get; set; } + public HexLocation DestPosition { get; set; } + } + + public class CampaignMapMoveResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Campaign_MapMove; + } + } + + public CampaignMainStageSaveDB SaveDataDB { get; set; } + public long EchelonEntityId { get; set; } + public Strategy StrategyObject { get; set; } + public List StrategyObjectParcelInfos { get; set; } + } + + public class CampaignEndTurnRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Campaign_EndTurn; + } + } + + public long StageUniqueId { get; set; } + } + + public class CampaignEndTurnResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Campaign_EndTurn; + } + } + + public CampaignMainStageSaveDB SaveDataDB { get; set; } + public AccountCurrencyDB AccountCurrencyDB { get; set; } + } + + public class CampaignEnterTacticRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Campaign_EnterTactic; + } + } + + public long StageUniqueId { get; set; } + public long EchelonIndex { get; set; } + public long EnemyIndex { get; set; } + } + + public class CampaignEnterTacticResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Campaign_EnterTactic; + } + } + + } + + public class CampaignTacticResultRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Campaign_TacticResult; + } + } + + public bool PassCheckCharacter { get; set; } + public BattleSummary Summary { get; set; } + public SkillCardHand Hand { get; set; } + public TacticSkipSummary SkipSummary { get; set; } + } + + public class CampaignTacticResultResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Campaign_TacticResult; + } + } + + public long TacticRank { get; set; } + public CampaignStageHistoryDB CampaignStageHistoryDB { get; set; } + public List LevelUpCharacterDBs { get; set; } + public List FirstClearReward { get; set; } + public List ThreeStarReward { get; set; } + public Strategy StrategyObject { get; set; } + public Dictionary> StrategyObjectRewards { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + public CampaignMainStageSaveDB SaveDataDB { get; set; } + } + + public class CampaignRetreatRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Campaign_Retreat; + } + } + + public long StageUniqueId { get; set; } + } + + public class CampaignRetreatResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Campaign_Retreat; + } + } + + public List ReleasedEchelonNumbers { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class CampaignChapterClearRewardRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Campaign_ChapterClearReward; + } + } + + public long CampaignChapterUniqueId { get; set; } + public StageDifficulty StageDifficulty { get; set; } + } + + public class CampaignChapterClearRewardResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Campaign_ChapterClearReward; + } + } + + public CampaignChapterClearRewardHistoryDB CampaignChapterClearRewardHistoryDB { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class CampaignHealRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Campaign_Heal; + } + } + + public long CampaignStageUniqueId { get; set; } + public long EchelonIndex { get; set; } + public long CharacterServerId { get; set; } + } + + public class CampaignHealResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Campaign_Heal; + } + } + + public AccountCurrencyDB AccountCurrencyDB { get; set; } + public DailyResetCountDB DailyResetCountDB { get; set; } + public CampaignMainStageSaveDB SaveDataDB { get; set; } + } + + public class CampaignEnterSubStageResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Campaign_EnterSubStage; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + public CampaignSubStageSaveDB SaveDataDB { get; set; } + } + + public class CampaignDeployEchelonRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Campaign_DeployEchelon; + } + } + + public long StageUniqueId { get; set; } + public List DeployedEchelons { get; set; } + } + + public class CampaignSubStageResultRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Campaign_SubStageResult; + } + } + + public bool PassCheckCharacter { get; set; } + public BattleSummary Summary { get; set; } + } + + public class CampaignSubStageResultResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Campaign_SubStageResult; + } + } + + public long TacticRank { get; set; } + public CampaignStageHistoryDB CampaignStageHistoryDB { get; set; } + public List LevelUpCharacterDBs { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + public List FirstClearReward { get; set; } + public List ThreeStarReward { get; set; } + } + + public class CampaignTutorialStageResultRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Campaign_TutorialStageResult; + } + } + + public BattleSummary Summary { get; set; } + } + + public class CampaignTutorialStageResultResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Campaign_TutorialStageResult; + } + } + + public CampaignStageHistoryDB CampaignStageHistoryDB { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + public List ClearReward { get; set; } + public List FirstClearReward { get; set; } + } + + public class CampaignPortalRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Campaign_Portal; + } + } + + public long StageUniqueId { get; set; } + public long EchelonEntityId { get; set; } + } + + public class CampaignPortalResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Campaign_Portal; + } + } + + public CampaignMainStageSaveDB CampaignMainStageSaveDB { get; set; } + } + + public class CampaignConfirmTutorialStageRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Campaign_ConfirmTutorialStage; + } + } + + public long StageUniqueId { get; set; } + } + + public class CampaignConfirmTutorialStageResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Campaign_ConfirmTutorialStage; + } + } + + public CampaignMainStageSaveDB SaveDataDB { get; set; } + } + + public class CampaignPurchasePlayCountHardStageRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Campaign_PurchasePlayCountHardStage; + } + } + + public long StageUniqueId { get; set; } + } + + public class CampaignPurchasePlayCountHardStageResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Campaign_PurchasePlayCountHardStage; + } + } + + public AccountCurrencyDB AccountCurrencyDB { get; set; } + public CampaignStageHistoryDB CampaignStageHistoryDB { get; set; } + } + + public class CampaignRestartMainStageRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Campaign_RestartMainStage; + } + } + + public long StageUniqueId { get; set; } + } + + public class CampaignRestartMainStageResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Campaign_RestartMainStage; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + public CampaignMainStageSaveDB SaveDataDB { get; set; } + } + + public class CampaignEnterMainStageStrategySkipRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Campaign_EnterMainStageStrategySkip; + } + } + + public long StageUniqueId { get; set; } + public long LastEnterStageEchelonNumber { get; set; } + } + + public class CampaignEnterMainStageStrategySkipResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Campaign_EnterMainStageStrategySkip; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class CampaignMainStageStrategySkipResultRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Campaign_MainStageStrategySkipResult; + } + } + + public bool PassCheckCharacter { get; set; } + public BattleSummary Summary { get; set; } + } + + public class CampaignMainStageStrategySkipResultResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Campaign_MainStageStrategySkipResult; + } + } + + public long TacticRank { get; set; } + public CampaignStageHistoryDB CampaignStageHistoryDB { get; set; } + public List LevelUpCharacterDBs { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + public List FirstClearReward { get; set; } + public List ThreeStarReward { get; set; } + } + + public class CharacterGearListRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.CharacterGear_List; + } + } + + } + + public class CharacterGearListResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.CharacterGear_List; + } + } + + public List GearDBs { get; set; } + } + + public class CharacterGearUnlockRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.CharacterGear_Unlock; + } + } + + public long CharacterServerId { get; set; } + public int SlotIndex { get; set; } + } + + public class CharacterGearUnlockResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.CharacterGear_Unlock; + } + } + + public GearDB GearDB { get; set; } + public CharacterDB CharacterDB { get; set; } + } + + public class CharacterGearTierUpRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.CharacterGear_TierUp; + } + } + + public long GearServerId { get; set; } + public List ReplaceInfos { get; set; } + } + + public class CharacterGearTierUpResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.CharacterGear_TierUp; + } + } + + public GearDB GearDB { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + public ConsumeResultDB ConsumeResultDB { get; set; } + } + + public class CharacterListRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Character_List; + } + } + + } + + public class CharacterListResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Character_List; + } + } + + public List CharacterDBs { get; set; } + public List TSSCharacterDBs { get; set; } + public List WeaponDBs { get; set; } + public List CostumeDBs { get; set; } + } + + public class CharacterTranscendenceRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Character_Transcendence; + } + } + + public long TargetCharacterServerId { get; set; } + } + + public class CharacterTranscendenceResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Character_Transcendence; + } + } + + public CharacterDB CharacterDB { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class CharacterExpGrowthRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Character_ExpGrowth; + } + } + + public long TargetCharacterServerId { get; set; } + public ConsumeRequestDB ConsumeRequestDB { get; set; } + } + + public class CharacterExpGrowthResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Character_ExpGrowth; + } + } + + public CharacterDB CharacterDB { get; set; } + public AccountCurrencyDB AccountCurrencyDB { get; set; } + public ConsumeResultDB ConsumeResultDB { get; set; } + } + + public class CharacterFavorGrowthRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Character_FavorGrowth; + } + } + + public long TargetCharacterDBId { get; set; } + public Dictionary ConsumeItemDBIdsAndCounts { get; set; } + } + + public class CharacterFavorGrowthResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Character_FavorGrowth; + } + } + + public CharacterDB CharacterDB { get; set; } + public List ConsumeStackableItemDBResult { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class CharacterSkillLevelUpdateRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Character_BatchSkillLevelUpdate; + } + } + + public long TargetCharacterDBId { get; set; } + public SkillSlot SkillSlot { get; set; } + public int Level { get; set; } + public List ReplaceInfos { get; set; } + } + + public class CharacterSkillLevelUpdateResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Character_BatchSkillLevelUpdate; + } + } + + public CharacterDB CharacterDB { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class CharacterUnlockWeaponRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Character_UnlockWeapon; + } + } + + public long TargetCharacterServerId { get; set; } + } + + public class CharacterUnlockWeaponResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Character_UnlockWeapon; + } + } + + public WeaponDB WeaponDB { get; set; } + } + + public class CharacterWeaponExpGrowthRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Character_WeaponExpGrowth; + } + } + + public long TargetCharacterServerId { get; set; } + public Dictionary ConsumeUniqueIdAndCounts { get; set; } + } + + public class CharacterWeaponExpGrowthResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Character_WeaponExpGrowth; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class CharacterWeaponTranscendenceRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Character_WeaponTranscendence; + } + } + + public long TargetCharacterServerId { get; set; } + } + + public class CharacterWeaponTranscendenceResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Character_WeaponTranscendence; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class CharacterSetFavoritesRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Character_SetFavorites; + } + } + + public Dictionary ActivateByServerIds { get; set; } + } + + public class CharacterSetFavoritesResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Character_SetFavorites; + } + } + + public List CharacterDBs { get; set; } + } + + public class CharacterSetCostumeRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Character_SetCostume; + } + } + + public long CharacterUniqueId { get; set; } + public Nullable CostumeIdToSet { get; set; } + } + + public class CharacterSetCostumeResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Character_SetCostume; + } + } + + public CostumeDB SetCostumeDB { get; set; } + public CostumeDB UnsetCostumeDB { get; set; } + } + + public class CharacterBatchSkillLevelUpdateRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Character_BatchSkillLevelUpdate; + } + } + + public long TargetCharacterDBId { get; set; } + public List SkillLevelUpdateRequestDBs { get; set; } + } + + public class CharacterBatchSkillLevelUpdateResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Character_BatchSkillLevelUpdate; + } + } + + public CharacterDB CharacterDB { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class CharacterPotentialGrowthRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Character_PotentialGrowth; + } + } + + public long TargetCharacterDBId { get; set; } + public List PotentialGrowthRequestDBs { get; set; } + public List ReplaceInfos { get; set; } + } + + public class CharacterPotentialGrowthResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Character_PotentialGrowth; + } + } + + public CharacterDB CharacterDB { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class ClanLoginRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Clan_Login; + } + } + + } + + public class ClanLoginResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Clan_Login; + } + } + + public ClanDB AccountClanDB { get; set; } + public ClanMemberDB AccountClanMemberDB { get; set; } + public List ClanAssistSlotDBs { get; set; } + } + + public class ClanLobbyRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Clan_Lobby; + } + } + + } + + public class ClanLobbyResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Clan_Lobby; + } + } + + public IrcServerConfig IrcConfig { get; set; } + public ClanDB AccountClanDB { get; set; } + public List DefaultExposedClanDBs { get; set; } + public ClanMemberDB AccountClanMemberDB { get; set; } + public List ClanMemberDBs { get; set; } + } + + public class ClanSearchRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Clan_Search; + } + } + + public string SearchString { get; set; } + public ClanJoinOption ClanJoinOption { get; set; } + public string ClanUniqueCode { get; set; } + } + + public class ClanSearchResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Clan_Search; + } + } + + public List ClanDBs { get; set; } + } + + public class ClanCreateRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Clan_Create; + } + } + + public string ClanNickName { get; set; } + public ClanJoinOption ClanJoinOption { get; set; } + } + + public class ClanCreateResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Clan_Create; + } + } + + public ClanDB ClanDB { get; set; } + public ClanMemberDB ClanMemberDB { get; set; } + public AccountCurrencyDB AccountCurrencyDB { get; set; } + } + + public class ClanMemberRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Clan_Member; + } + } + + public long ClanDBId { get; set; } + public long MemberAccountId { get; set; } + } + + public class ClanMemberResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Clan_Member; + } + } + + public ClanDB ClanDB { get; set; } + public ClanMemberDB ClanMemberDB { get; set; } + public DetailedAccountInfoDB DetailedAccountInfoDB { get; set; } + } + + public class ClanMemberListRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Clan_MemberList; + } + } + + public long ClanDBId { get; set; } + } + + public class ClanMemberListResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Clan_MemberList; + } + } + + public ClanDB ClanDB { get; set; } + public List ClanMemberDBs { get; set; } + } + + public class ClanApplicantRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Clan_Applicant; + } + } + + public long OffSet { get; set; } + } + + public class ClanApplicantResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Clan_Applicant; + } + } + + public List ClanMemberDBs { get; set; } + } + + public class ClanJoinRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Clan_Join; + } + } + + public long ClanDBId { get; set; } + } + + public class ClanJoinResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Clan_Join; + } + } + + public IrcServerConfig IrcConfig { get; set; } + public ClanDB ClanDB { get; set; } + public ClanMemberDB ClanMemberDB { get; set; } + } + + public class ClanAutoJoinRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Clan_AutoJoin; + } + } + + } + + public class ClanAutoJoinResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Clan_AutoJoin; + } + } + + public IrcServerConfig IrcConfig { get; set; } + public ClanDB ClanDB { get; set; } + public ClanMemberDB ClanMemberDB { get; set; } + } + + public class ClanQuitRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Clan_Quit; + } + } + + } + + public class ClanQuitResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Clan_Quit; + } + } + + } + + public class ClanCancelApplyRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Clan_CancelApply; + } + } + + } + + public class ClanCancelApplyResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Clan_CancelApply; + } + } + + } + + public class ClanPermitRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Clan_Permit; + } + } + + public long ApplicantAccountId { get; set; } + public bool IsPerMit { get; set; } + } + + public class ClanPermitResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Clan_Permit; + } + } + + public ClanDB ClanDB { get; set; } + public ClanMemberDB ClanMemberDB { get; set; } + } + + public class ClanKickRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Clan_Kick; + } + } + + public long MemberAccountId { get; set; } + } + + public class ClanKickResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Clan_Kick; + } + } + + } + + public class ClanSettingRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Clan_Setting; + } + } + + public string ChangedClanName { get; set; } + public string ChangedNotice { get; set; } + public ClanJoinOption ClanJoinOption { get; set; } + } + + public class ClanSettingResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Clan_Setting; + } + } + + public ClanDB ClanDB { get; set; } + } + + public class ClanConferRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Clan_Confer; + } + } + + public long MemberAccountId { get; set; } + public ClanSocialGrade ConferingGrade { get; set; } + } + + public class ClanConferResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Clan_Confer; + } + } + + public ClanMemberDB ClanMemberDB { get; set; } + public ClanMemberDB AccountClanMemberDB { get; set; } + public ClanDB ClanDB { get; set; } + public ClanMemberDescriptionDB ClanMemberDescriptionDB { get; set; } + } + + public class ClanDismissRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Clan_Dismiss; + } + } + + } + + public class ClanDismissResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Clan_Dismiss; + } + } + + } + + public class ClanMyAssistListRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Clan_MyAssistList; + } + } + + } + + public class ClanMyAssistListResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Clan_MyAssistList; + } + } + + public List ClanAssistSlotDBs { get; set; } + } + + public class ClanSetAssistRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Clan_SetAssist; + } + } + + public EchelonType EchelonType { get; set; } + public int SlotNumber { get; set; } + public long CharacterDBId { get; set; } + public int CombatStyleIndex { get; set; } + } + + public class ClanSetAssistResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Clan_SetAssist; + } + } + + public ClanAssistSlotDB ClanAssistSlotDB { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + public ClanAssistRewardInfo RewardInfo { get; set; } + } + + public class ClanChatLogRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Clan_ChatLog; + } + } + + public string Channel { get; set; } + public DateTime FromDate { get; set; } + } + + public class ClanChatLogResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Clan_ChatLog; + } + } + + public string ClanChatLog { get; set; } + } + + public class ClanCheckRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Clan_Check; + } + } + + } + + public class ClanCheckResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Clan_Check; + } + } + + } + + public class ClanAllAssistListRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Clan_AllAssistList; + } + } + + public EchelonType EchelonType { get; set; } + public List PendingAssistUseInfo { get; set; } + public bool IsPractice { get; set; } + } + + public class ClanAllAssistListResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Clan_AllAssistList; + } + } + + public List AssistCharacterDBs { get; set; } + public List AssistCharacterRentHistoryDBs { get; set; } + public long ClanDBId { get; set; } + } + + public class IrcServerConfig + { + public string HostAddress { get; set; } + public int Port { get; set; } + public string Password { get; set; } + + [JsonIgnore] + public bool IsValid { get; } + } + + public class ClearDeckListRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.ClearDeck_List; + } + } + + public ClearDeckKey ClearDeckKey { get; set; } + } + + public class ClearDeckListResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.ClearDeck_List; + } + } + + public List ClearDeckDBs { get; set; } + } + + public enum CheatFlags + { + None = 0, + Conquest = 1, + Mission = 2, + } + + public class CheatEquipmentCustomPreset + { + public int Tier { get; set; } + public int Level { get; set; } + } + + public class CheatWeaponCustomPreset + { + public int StarGrade { get; set; } + public int Level { get; set; } + } + + public class CheatCharacterCustomPreset + { + public long UniqueId { get; set; } + public int StarGrade { get; set; } + public int Level { get; set; } + public int ExSkillLevel { get; set; } + public int PublicSkillLevel { get; set; } + public int PassiveSkillLevel { get; set; } + public int ExPassiveSkillLevel { get; set; } + public CheatEquipmentCustomPreset[] Equipments { get; set; } + public CheatWeaponCustomPreset Weapon { get; set; } + } + + public class CommonCheatRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Common_Cheat; + } + } + + public string Cheat { get; set; } + public List CharacterCustomPreset { get; set; } + } + + public class CommonCheatResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Common_Cheat; + } + } + + public AccountDB Account { get; set; } + public AccountCurrencyDB AccountCurrency { get; set; } + public List CharacterDBs { get; set; } + public List EquipmentDBs { get; set; } + public List WeaponDBs { get; set; } + public List GearDBs { get; set; } + public List CostumeDBs { get; set; } + public List ItemDBs { get; set; } + public List ScenarioHistoryDBs { get; set; } + public List ScenarioGroupHistoryDBs { get; set; } + public List EmblemDBs { get; set; } + public List AttendanceBookRewards { get; set; } + public List AttendanceHistoryDBs { get; set; } + public List StickerDBs { get; set; } + public List MemoryLobbyDBs { get; set; } + public List ScenarioCollectionDBs { get; set; } + public CheatFlags CheatFlags { get; set; } + } + + public class GachaSimulateCheatResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Campaign_Retreat; + } + } + + public Dictionary CharacterIdAndCount { get; set; } + public long SimulationCount { get; set; } + public long GoodsUniqueId { get; set; } + public string GoodsDevName { get; set; } + } + + public class GetArenaTeamCheatResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Arena_RankList; + } + } + + public ArenaUserDB Opponent { get; set; } + } + + public class ConquestGetInfoRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Conquest_GetInfo; + } + } + + public long EventContentId { get; set; } + } + + public class ConquestGetInfoResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Conquest_GetInfo; + } + } + + public ConquestInfoDB ConquestInfoDB { get; set; } + public List ConquestedTileDBs { get; set; } + public TypedJsonWrapper> ConquestObjectDBsWrapper { get; set; } + public List ConquestEchelonDBs { get; set; } + public Dictionary DifficultyToStepDict { get; set; } + public bool IsFirstEnter { get; set; } + public IEnumerable DisplayInfos { get; set; } + } + + public class ConquestConquerRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Conquest_Conquer; + } + } + + public long EventContentId { get; set; } + public StageDifficulty Difficulty { get; set; } + public long TileUniqueId { get; set; } + public long TileRewardId { get; set; } + } + + public class ConquestConquerResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Conquest_Conquer; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + public ConquestTileDB ConquestTileDB { get; set; } + public ConquestInfoDB ConquestInfoDB { get; set; } + public TypedJsonWrapper> ConquestEventObjectDBWrapper { get; set; } + public IEnumerable DisplayInfos { get; set; } + } + + public class ConquestConquerWithBattleStartRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Conquest_ConquerWithBattleStart; + } + } + + public long EventContentId { get; set; } + public StageDifficulty Difficulty { get; set; } + public long TileUniqueId { get; set; } + public Nullable EchelonNumber { get; set; } + public ClanAssistUseInfo ClanAssistUseInfo { get; set; } + } + + public class ConquestConquerWithBattleStartResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Conquest_ConquerWithBattleStart; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + public ConquestStageSaveDB ConquestStageSaveDB { get; set; } + } + + public class ConquestConquerWithBattleResultRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Conquest_ConquerWithBattleResult; + } + } + + public long EventContentId { get; set; } + public StageDifficulty Difficulty { get; set; } + public long TileUniqueId { get; set; } + public BattleSummary BattleSummary { get; set; } + } + + public class ConquestConquerWithBattleResultResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Conquest_ConquerWithBattleResult; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + public ConquestTileDB ConquestTileDB { get; set; } + public ConquestInfoDB ConquestInfoDB { get; set; } + public TypedJsonWrapper> ConquestEventObjectDBWrapper { get; set; } + public IEnumerable DisplayInfos { get; set; } + public int StepAfterBattle { get; set; } + public Dictionary> DisplayParcelByRewardTag { get; set; } + } + + public class ConquestConquerDeployEchelonRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Conquest_DeployEchelon; + } + } + + public long EventContentId { get; set; } + public StageDifficulty Difficulty { get; set; } + public long TileUniqueId { get; set; } + public EchelonDB EchelonDB { get; set; } + public ClanAssistUseInfo ClanAssistUseInfo { get; set; } + } + + public class ConquestConquerDeployEchelonResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Conquest_DeployEchelon; + } + } + + public IEnumerable ConquestEchelonDBs { get; set; } + public ConquestInfoDB ConquestInfoDB { get; set; } + } + + public class ConquestNormalizeEchelonRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Conquest_NormalizeEchelon; + } + } + + public long EventContentId { get; set; } + public StageDifficulty Difficulty { get; set; } + public long TileUniqueId { get; set; } + } + + public class ConquestNormalizeEchelonResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Conquest_NormalizeEchelon; + } + } + + public ConquestEchelonDB ConquestEchelonDB { get; set; } + } + + public class ConquestManageBaseRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Conquest_ManageBase; + } + } + + public long EventContentId { get; set; } + public StageDifficulty Difficulty { get; set; } + public long TileUniqueId { get; set; } + public int ManageCount { get; set; } + } + + public class ConquestManageBaseResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Conquest_ManageBase; + } + } + + public List> ClearParcels { get; set; } + public List> ConquerBonusParcels { get; set; } + public List BonusParcels { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + public ConquestInfoDB ConquestInfoDB { get; set; } + public TypedJsonWrapper> ConquestEventObjectDBWrapper { get; set; } + public IEnumerable DisplayInfos { get; set; } + } + + public class ConquestUpgradeBaseRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Conquest_UpgradeBase; + } + } + + public long EventContentId { get; set; } + public StageDifficulty Difficulty { get; set; } + public long TileUniqueId { get; set; } + } + + public class ConquestUpgradeBaseResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Conquest_UpgradeBase; + } + } + + public List UpgradeRewards { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + public ConquestTileDB ConquestTileDB { get; set; } + public ConquestInfoDB ConquestInfoDB { get; set; } + public TypedJsonWrapper> ConquestEventObjectDBWrapper { get; set; } + public IEnumerable DisplayInfos { get; set; } + } + + public class ConquestTakeEventObjectRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Conquest_TakeEventObject; + } + } + + public long EventContentId { get; set; } + public long ConquestObjectDBId { get; set; } + } + + public class ConquestTakeEventObjectResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Conquest_TakeEventObject; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + public TypedJsonWrapper ConquestEventObjectDBWrapper { get; set; } + } + + public class ConquestEventObjectBattleStartRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Conquest_EventObjectBattleStart; + } + } + + public long EventContentId { get; set; } + public long ConquestObjectDBId { get; set; } + public long EchelonNumber { get; set; } + public ClanAssistUseInfo ClanAssistUseInfo { get; set; } + } + + public class ConquestEventObjectBattleStartResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Conquest_EventObjectBattleStart; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + public ConquestStageSaveDB ConquestStageSaveDB { get; set; } + } + + public class ConquestEventObjectBattleResultRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Conquest_EventObjectBattleResult; + } + } + + public long EventContentId { get; set; } + public long ConquestObjectDBId { get; set; } + public BattleSummary BattleSummary { get; set; } + } + + public class ConquestEventObjectBattleResultResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Conquest_EventObjectBattleResult; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + public TypedJsonWrapper> ConquestEventObjectDBWrapper { get; set; } + public ConquestInfoDB ConquestInfoDB { get; set; } + public ConquestTileDB ConquestTileDB { get; set; } + public IEnumerable DisplayInfos { get; set; } + } + + public class ConquestReceiveRewardsRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.WorldRaid_ReceiveReward; + } + } + + public long EventContentId { get; set; } + public StageDifficulty Difficulty { get; set; } + public int Step { get; set; } + } + + public class ConquestReceiveRewardsResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.WorldRaid_ReceiveReward; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + public ConquestInfoDB ConquestInfoDB { get; set; } + public List ConquestTileDBs { get; set; } + } + + public class ConquestCheckRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Conquest_Check; + } + } + + public long EventContentId { get; set; } + } + + public class ConquestCheckResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Conquest_Check; + } + } + + public bool CanReceiveCalculateReward { get; set; } + public Nullable AlarmPhaseToShow { get; set; } + public long ParcelConsumeCumulatedAmount { get; set; } + public ConquestSummary ConquestSummary { get; set; } + } + + public class ConquestErosionBattleStartRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Conquest_ErosionBattleStart; + } + } + + public long EventContentId { get; set; } + public long ConquestObjectDBId { get; set; } + public bool UseManageEchelon { get; set; } + public long EchelonNumber { get; set; } + public ClanAssistUseInfo ClanAssistUseInfo { get; set; } + } + + public class ConquestErosionBattleStartResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Conquest_ErosionBattleStart; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + public ConquestStageSaveDB ConquestStageSaveDB { get; set; } + } + + public class ConquestErosionBattleResultRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Conquest_ErosionBattleResult; + } + } + + public long EventContentId { get; set; } + public long ConquestObjectDBId { get; set; } + public BattleSummary BattleSummary { get; set; } + } + + public class ConquestErosionBattleResultResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Conquest_ErosionBattleResult; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + public TypedJsonWrapper> ConquestEventObjectDBWrapper { get; set; } + public ConquestInfoDB ConquestInfoDB { get; set; } + public IEnumerable DisplayInfos { get; set; } + } + + public class ConquestMainStoryGetInfoRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Conquest_MainStoryGetInfo; + } + } + + public long EventContentId { get; set; } + } + + public class ConquestMainStoryGetInfoResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Conquest_MainStoryGetInfo; + } + } + + public ConquestInfoDB ConquestInfoDB { get; set; } + public List ConquestedTileDBs { get; set; } + public Dictionary DifficultyToStepDict { get; set; } + public bool IsFirstEnter { get; set; } + } + + public class ConquestMainStoryConquerRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Conquest_MainStoryConquer; + } + } + + public long EventContentId { get; set; } + public StageDifficulty Difficulty { get; set; } + public long TileUniqueId { get; set; } + public long TileRewardId { get; set; } + } + + public class ConquestMainStoryConquerResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Conquest_MainStoryConquer; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + public ConquestTileDB ConquestTileDB { get; set; } + public ConquestInfoDB ConquestInfoDB { get; set; } + public IEnumerable DisplayInfos { get; set; } + } + + public class ConquestMainStoryConquerWithBattleStartRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Conquest_MainStoryConquerWithBattleStart; + } + } + + public long EventContentId { get; set; } + public StageDifficulty Difficulty { get; set; } + public long TileUniqueId { get; set; } + public Nullable EchelonNumber { get; set; } + public ClanAssistUseInfo ClanAssistUseInfo { get; set; } + } + + public class ConquestMainStoryConquerWithBattleStartResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Conquest_MainStoryConquerWithBattleStart; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + public ConquestStageSaveDB ConquestStageSaveDB { get; set; } + } + + public class ConquestMainStoryConquerWithBattleResultRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Conquest_MainStoryConquerWithBattleResult; + } + } + + public long EventContentId { get; set; } + public StageDifficulty Difficulty { get; set; } + public long TileUniqueId { get; set; } + public BattleSummary BattleSummary { get; set; } + } + + public class ConquestMainStoryConquerWithBattleResultResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Conquest_MainStoryConquerWithBattleResult; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + public ConquestTileDB ConquestTileDB { get; set; } + public ConquestInfoDB ConquestInfoDB { get; set; } + public IEnumerable DisplayInfos { get; set; } + public int StepAfterBattle { get; set; } + public Dictionary> DisplayParcelByRewardTag { get; set; } + } + + public class ConquestMainStoryCheckRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Conquest_MainStoryCheck; + } + } + + public long EventContentId { get; set; } + } + + public class ConquestMainStoryCheckResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Conquest_MainStoryCheck; + } + } + + public ConquestMainStorySummary ConquestMainStorySummary { get; set; } + } + + public class ContentLogUIOpenStatisticsRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.ContentLog_UIOpenStatistics; + } + } + + public Dictionary OpenCountPerPrefab { get; set; } + } + + public class ContentLogUIOpenStatisticsResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.ContentLog_UIOpenStatistics; + } + } + + } + + public class ContentSaveGetRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.ContentSave_Get; + } + } + + } + + public class ContentSaveGetResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.ContentSave_Get; + } + } + + public bool HasValidData { get; set; } + public ContentSaveDB ContentSaveDB { get; set; } + public EventContentChangeDB EventContentChangeDB { get; set; } + } + + public class ContentSaveDiscardRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.ContentSave_Discard; + } + } + + public ContentType ContentType { get; set; } + public long StageUniqueId { get; set; } + } + + public class ContentSaveDiscardResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.ContentSave_Discard; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class ContentSweepRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.ContentSave_Get; + } + } + + public ContentType Content { get; set; } + public long StageId { get; set; } + public long EventContentId { get; set; } + public long Count { get; set; } + } + + public class ContentSweepResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.ContentSave_Get; + } + } + + public List> ClearParcels { get; set; } + public List BonusParcels { get; set; } + public List> EventContentBonusParcels { get; set; } + public ParcelResultDB ParcelResult { get; set; } + public CampaignStageHistoryDB CampaignStageHistoryDB { get; set; } + } + + public class ContentSweepMultiSweepRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.ContentSweep_MultiSweep; + } + } + + public IEnumerable MultiSweepParameters { get; set; } + } + + public class ContentSweepMultiSweepResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.ContentSweep_MultiSweep; + } + } + + public List> ClearParcels { get; set; } + public List BonusParcels { get; set; } + public List> EventContentBonusParcels { get; set; } + public ParcelResultDB ParcelResult { get; set; } + public List CampaignStageHistoryDBs { get; set; } + } + + public class ContentSweepMultiSweepPresetListRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.ContentSweep_MultiSweepPresetList; + } + } + + } + + public class ContentSweepMultiSweepPresetListResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.ContentSweep_MultiSweepPresetList; + } + } + + public IEnumerable MultiSweepPresetDBs { get; set; } + } + + public class ContentSweepSetMultiSweepPresetRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.ContentSweep_SetMultiSweepPreset; + } + } + + public long PresetId { get; set; } + public string PresetName { get; set; } + public IEnumerable StageIds { get; set; } + public IEnumerable ParcelIds { get; set; } + } + + public class ContentSweepSetMultiSweepPresetResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.ContentSweep_SetMultiSweepPreset; + } + } + + public IEnumerable MultiSweepPresetDBs { get; set; } + } + + public class ContentSweepSetMultiSweepPresetNameRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.ContentSweep_SetMultiSweepPresetName; + } + } + + public long PresetId { get; set; } + public string PresetName { get; set; } + } + + public class ContentSweepSetMultiSweepPresetNameResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.ContentSweep_SetMultiSweepPresetName; + } + } + + public IEnumerable MultiSweepPresetDBs { get; set; } + } + + public class CraftInfoListRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Craft_List; + } + } + + } + + public class CraftInfoListResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Craft_List; + } + } + + public List CraftInfos { get; set; } + public List ShiftingCraftInfos { get; set; } + } + + public class CraftSelectNodeRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Craft_SelectNode; + } + } + + public long SlotId { get; set; } + public long LeafNodeIndex { get; set; } + } + + public class CraftSelectNodeResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Craft_SelectNode; + } + } + + public CraftNodeDB SelectedNodeDB { get; set; } + } + + public class CraftUpdateNodeLevelRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Craft_UpdateNodeLevel; + } + } + + public ConsumeRequestDB ConsumeRequestDB { get; set; } + public long ConsumeGoldAmount { get; set; } + public long SlotId { get; set; } + public CraftNodeTier CraftNodeType { get; set; } + } + + public class CraftUpdateNodeLevelResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Craft_UpdateNodeLevel; + } + } + + public CraftInfoDB CraftInfoDB { get; set; } + public CraftNodeDB CraftNodeDB { get; set; } + public AccountCurrencyDB AccountCurrencyDB { get; set; } + public ConsumeResultDB ConsumeResultDB { get; set; } + } + + public class CraftBeginProcessRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Craft_BeginProcess; + } + } + + public long SlotId { get; set; } + } + + public class CraftBeginProcessResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Craft_BeginProcess; + } + } + + public CraftInfoDB CraftInfoDB { get; set; } + } + + public class CraftCompleteProcessRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Craft_CompleteProcess; + } + } + + public long SlotId { get; set; } + } + + public class CraftCompleteProcessResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Craft_CompleteProcess; + } + } + + public AccountCurrencyDB AccountCurrencyDB { get; set; } + public CraftInfoDB CraftInfoDB { get; set; } + public ItemDB TicketItemDB { get; set; } + } + + public class CraftRewardRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Craft_Reward; + } + } + + public long SlotId { get; set; } + } + + public class CraftRewardResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Craft_Reward; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + public List CraftInfos { get; set; } + } + + public class CraftShiftingBeginProcessRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Craft_ShiftingBeginProcess; + } + } + + public long SlotId { get; set; } + public long RecipeId { get; set; } + public ConsumeRequestDB ConsumeRequestDB { get; set; } + } + + public class CraftShiftingBeginProcessResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Craft_ShiftingBeginProcess; + } + } + + public ShiftingCraftInfoDB CraftInfoDB { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class CraftShiftingCompleteProcessRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Craft_ShiftingCompleteProcess; + } + } + + public long SlotId { get; set; } + } + + public class CraftShiftingCompleteProcessResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Craft_ShiftingCompleteProcess; + } + } + + public ShiftingCraftInfoDB CraftInfoDB { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class CraftShiftingRewardRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Craft_ShiftingReward; + } + } + + public long SlotId { get; set; } + } + + public class CraftShiftingRewardResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Craft_ShiftingReward; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + public List TargetCraftInfos { get; set; } + } + + public class CraftAutoBeginProcessRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Craft_AutoBeginProcess; + } + } + + public CraftPresetSlotDB PresetSlotDB { get; set; } + public long Count { get; set; } + } + + public class CraftAutoBeginProcessResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Craft_AutoBeginProcess; + } + } + + public List CraftInfoDBs { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class CraftCompleteProcessAllRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Craft_CompleteProcessAll; + } + } + + } + + public class CraftCompleteProcessAllResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Craft_CompleteProcessAll; + } + } + + public List CraftInfoDBs { get; set; } + public ItemDB TicketItemDB { get; set; } + } + + public class CraftRewardAllRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Craft_RewardAll; + } + } + + } + + public class CraftRewardAllResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Craft_RewardAll; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + public List CraftInfos { get; set; } + } + + public class CraftShiftingCompleteProcessAllRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Craft_ShiftingCompleteProcessAll; + } + } + + } + + public class CraftShiftingCompleteProcessAllResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Craft_ShiftingCompleteProcessAll; + } + } + + public List CraftInfoDBs { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class CraftShiftingRewardAllRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Craft_ShiftingRewardAll; + } + } + + } + + public class CraftShiftingRewardAllResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Craft_ShiftingRewardAll; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + public List CraftInfoDBs { get; set; } + } + + public class EchelonListRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Echelon_List; + } + } + + } + + public class EchelonListResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Echelon_List; + } + } + + public List EchelonDBs { get; set; } + public EchelonDB ArenaEchelonDB { get; set; } + } + + public class EchelonSaveRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Echelon_Save; + } + } + + public EchelonDB EchelonDB { get; set; } + public List AssistUseInfos { get; set; } + public bool IsPractice { get; set; } + } + + public class EchelonSaveResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Echelon_Save; + } + } + + public EchelonDB EchelonDB { get; set; } + } + + public class EchelonPresetListRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Echelon_PresetList; + } + } + + public EchelonExtensionType EchelonExtensionType { get; set; } + } + + public class EchelonPresetListResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Echelon_PresetList; + } + } + + public EchelonPresetGroupDB[] PresetGroupDBs { get; set; } + } + + public class EchelonPresetSaveRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Echelon_PresetSave; + } + } + + public EchelonPresetDB PresetDB { get; set; } + } + + public class EchelonPresetSaveResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Echelon_PresetSave; + } + } + + public EchelonPresetDB PresetDB { get; set; } + } + + public class EchelonPresetGroupRenameRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Echelon_PresetGroupRename; + } + } + + public int PresetGroupIndex { get; set; } + public EchelonExtensionType ExtensionType { get; set; } + public string PresetGroupLabel { get; set; } + } + + public class EchelonPresetGroupRenameResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Echelon_PresetGroupRename; + } + } + + public EchelonPresetGroupDB PresetGroupDB { get; set; } + } + + public class EliminateRaidLoginRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EliminateRaid_Login; + } + } + + } + + public class EliminateRaidLoginResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EliminateRaid_Login; + } + } + + public RaidSeasonType SeasonType { get; set; } + public bool CanReceiveRankingReward { get; set; } + public List ReceiveLimitedRewardIds { get; set; } + public Dictionary SweepPointByRaidUniqueId { get; set; } + public long LastSettledRanking { get; set; } + public Nullable LastSettledTier { get; set; } + } + + public class EliminateRaidLobbyRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EliminateRaid_Lobby; + } + } + + } + + public class EliminateRaidLobbyResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EliminateRaid_Lobby; + } + } + + public RaidSeasonType SeasonType { get; set; } + public RaidGiveUpDB RaidGiveUpDB { get; set; } + public EliminateRaidLobbyInfoDB RaidLobbyInfoDB { get; set; } + public AccountCurrencyDB AccountCurrencyDB { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class EliminateRaidCreateBattleRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EliminateRaid_CreateBattle; + } + } + + public long RaidUniqueId { get; set; } + public bool IsPractice { get; set; } + public ClanAssistUseInfo AssistUseInfo { get; set; } + } + + public class EliminateRaidCreateBattleResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EliminateRaid_CreateBattle; + } + } + + public RaidDB RaidDB { get; set; } + public RaidBattleDB RaidBattleDB { get; set; } + public AccountCurrencyDB AccountCurrencyDB { get; set; } + public AssistCharacterDB AssistCharacterDB { get; set; } + } + + public class EliminateRaidEnterBattleRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EliminateRaid_EnterBattle; + } + } + + public long RaidServerId { get; set; } + public long RaidUniqueId { get; set; } + public bool IsPractice { get; set; } + public long EchelonId { get; set; } + public ClanAssistUseInfo AssistUseInfo { get; set; } + } + + public class EliminateRaidEnterBattleResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EliminateRaid_EnterBattle; + } + } + + public RaidDB RaidDB { get; set; } + public RaidBattleDB RaidBattleDB { get; set; } + public AccountCurrencyDB AccountCurrencyDB { get; set; } + public AssistCharacterDB AssistCharacterDB { get; set; } + } + + public class EliminateRaidEndBattleRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EliminateRaid_EndBattle; + } + } + + public int EchelonId { get; set; } + public long RaidServerId { get; set; } + public bool IsPractice { get; set; } + + [JsonIgnore] + public int LastBossIndex { get; } + + [JsonIgnore] + public IEnumerable RaidBossDamages { get; } + + [JsonIgnore] + public RaidBossResultCollection RaidBossResults { get; } + public BattleSummary Summary { get; set; } + public ClanAssistUseInfo AssistUseInfo { get; set; } + } + + public class EliminateRaidEndBattleResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EliminateRaid_EndBattle; + } + } + + public long RankingPoint { get; set; } + public long BestRankingPoint { get; set; } + public long ClearTimePoint { get; set; } + public long HPPercentScorePoint { get; set; } + public long DefaultClearPoint { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class EliminateRaidGiveUpRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EliminateRaid_GiveUp; + } + } + + public long RaidServerId { get; set; } + public bool IsPractice { get; set; } + } + + public class EliminateRaidGiveUpResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EliminateRaid_GiveUp; + } + } + + public int Tier { get; set; } + public RaidGiveUpDB RaidGiveUpDB { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class EliminateRaidRankingRewardRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EliminateRaid_RankingReward; + } + } + + } + + public class EliminateRaidRankingRewardResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EliminateRaid_RankingReward; + } + } + + public long ReceivedRankingRewardId { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class EliminateRaidSeasonRewardRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EliminateRaid_SeasonReward; + } + } + + } + + public class EliminateRaidSeasonRewardResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EliminateRaid_SeasonReward; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + public List ReceiveRewardIds { get; set; } + } + + public class EliminateRaidLimitedRewardRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EliminateRaid_LimitedReward; + } + } + + } + + public class EliminateRaidLimitedRewardResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EliminateRaid_LimitedReward; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + public List ReceiveRewardIds { get; set; } + } + + public class EliminateRaidOpponentListRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EliminateRaid_OpponentList; + } + } + + public Nullable Rank { get; set; } + public Nullable Score { get; set; } + public Nullable BossGroupIndex { get; set; } + public bool IsUpper { get; set; } + public bool IsFirstRequest { get; set; } + public RankingSearchType SearchType { get; set; } + } + + public class EliminateRaidOpponentListResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EliminateRaid_OpponentList; + } + } + + public List OpponentUserDBs { get; set; } + } + + public class EliminateRaidGetBestTeamRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EliminateRaid_GetBestTeam; + } + } + + public long SearchAccountId { get; set; } + } + + public class EliminateRaidGetBestTeamResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EliminateRaid_GetBestTeam; + } + } + + public Dictionary> RaidTeamSettingDBsDict { get; set; } + } + + public class EliminateRaidSweepRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EliminateRaid_Sweep; + } + } + + public long UniqueId { get; set; } + public int SweepCount { get; set; } + } + + public class EliminateRaidSweepResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EliminateRaid_Sweep; + } + } + + public long TotalSeasonPoint { get; set; } + public List> Rewards { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class EquipmentItemListRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Equipment_List; + } + } + + } + + public class EquipmentItemListResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Equipment_List; + } + } + + public List EquipmentDBs { get; set; } + } + + public class EquipmentItemSellRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Equipment_Sell; + } + } + + public List TargetServerIds { get; set; } + } + + public class EquipmentItemSellResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Equipment_Sell; + } + } + + public AccountCurrencyDB AccountCurrencyDB { get; set; } + } + + public class EquipmentItemEquipRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Equipment_Equip; + } + } + + public long CharacterServerId { get; set; } + public List EquipmentServerIds { get; set; } + public long EquipmentServerId { get; set; } + public int SlotIndex { get; set; } + } + + public class EquipmentItemEquipResponse : ResponsePacket + { + public CharacterDB CharacterDB; + public List EquipmentDBs; + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Equipment_Equip; + } + } + + } + + public class EquipmentItemLevelUpRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Equipment_LevelUp; + } + } + + public long TargetServerId { get; set; } + public List ConsumeServerIds { get; set; } + public ConsumeRequestDB ConsumeRequestDB { get; set; } + } + + public class EquipmentItemLevelUpResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Equipment_LevelUp; + } + } + + public EquipmentDB EquipmentDB { get; set; } + public AccountCurrencyDB AccountCurrencyDB { get; set; } + public ConsumeResultDB ConsumeResultDB { get; set; } + } + + public class EquipmentItemLockRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Equipment_Lock; + } + } + + public long TargetServerId { get; set; } + public bool IsLocked { get; set; } + } + + public class EquipmentItemLockResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Equipment_Lock; + } + } + + public EquipmentDB EquipmentDB { get; set; } + } + + public class EquipmentItemTierUpRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Equipment_TierUp; + } + } + + public long TargetEquipmentServerId { get; set; } + public List ReplaceInfos { get; set; } + } + + public class EquipmentItemTierUpResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Equipment_TierUp; + } + } + + public EquipmentDB EquipmentDB { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + public ConsumeResultDB ConsumeResultDB { get; set; } + } + + public class EquipmentBatchGrowthRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Equipment_BatchGrowth; + } + } + + public List EquipmentBatchGrowthRequestDBs { get; set; } + public GearTierUpRequestDB GearTierUpRequestDB { get; set; } + } + + public class EquipmentBatchGrowthResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Equipment_BatchGrowth; + } + } + + public List EquipmentDBs { get; set; } + public GearDB GearDB { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + public ConsumeResultDB ConsumeResultDB { get; set; } + } + + public class EventContentAdventureListRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_AdventureList; + } + } + + public long EventContentId { get; set; } + } + + public class EventContentAdventureListResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_AdventureList; + } + } + + public List StageHistoryDBs { get; set; } + public List StrategyObjecthistoryDBs { get; set; } + public List EventContentBonusRewardDBs { get; set; } + public List AlreadyReceiveRewardId { get; set; } + public long StagePoint { get; set; } + } + + public class EventContentSubEventLobbyRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_SubEventLobby; + } + } + + public long EventContentId { get; set; } + } + + public class EventContentSubEventLobbyResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_SubEventLobby; + } + } + + public EventContentChangeDB EventContentChangeDB { get; set; } + public bool IsOnSubEvent { get; set; } + } + + public class EventContentEnterMainStageRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_EnterMainStage; + } + } + + public long EventContentId { get; set; } + public long StageUniqueId { get; set; } + } + + public class EventContentEnterMainStageResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_EnterMainStage; + } + } + + public EventContentMainStageSaveDB SaveDataDB { get; set; } + public bool IsOnSubEvent { get; set; } + } + + public class EventContentConfirmMainStageRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_ConfirmMainStage; + } + } + + public long EventContentId { get; set; } + public long StageUniqueId { get; set; } + } + + public class EventContentConfirmMainStageResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_ConfirmMainStage; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + public EventContentMainStageSaveDB SaveDataDB { get; set; } + } + + public class EventContentEnterTacticRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_EnterTactic; + } + } + + public long EventContentId { get; set; } + public long StageUniqueId { get; set; } + public long EchelonIndex { get; set; } + public long EnemyIndex { get; set; } + } + + public class EventContentEnterTacticResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_EnterTactic; + } + } + + } + + public class EventContentTacticResultRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_TacticResult; + } + } + + public long EventContentId { get; set; } + public bool PassCheckCharacter { get; set; } + public BattleSummary Summary { get; set; } + public SkillCardHand Hand { get; set; } + public TacticSkipSummary SkipSummary { get; set; } + } + + public class EventContentTacticResultResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_TacticResult; + } + } + + public long TacticRank { get; set; } + public CampaignStageHistoryDB CampaignStageHistoryDB { get; set; } + public List LevelUpCharacterDBs { get; set; } + public List FirstClearReward { get; set; } + public Strategy StrategyObject { get; set; } + public Dictionary> StrategyObjectRewards { get; set; } + public List BonusReward { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + public EventContentMainStageSaveDB SaveDataDB { get; set; } + public List EventContentCollectionDBs { get; set; } + } + + public class EventContentEnterSubStageRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_EnterSubStage; + } + } + + public long EventContentId { get; set; } + public long StageUniqueId { get; set; } + public long LastEnterStageEchelonNumber { get; set; } + } + + public class EventContentEnterSubStageResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_EnterSubStage; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + public EventContentSubStageSaveDB SaveDataDB { get; set; } + public CampaignStageHistoryDB CampaignStageHistoryDB { get; set; } + } + + public class EventContentSubStageResultRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_SubStageResult; + } + } + + public long EventContentId { get; set; } + public bool PassCheckCharacter { get; set; } + public BattleSummary Summary { get; set; } + } + + public class EventContentSubStageResultResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_SubStageResult; + } + } + + public long TacticRank { get; set; } + public CampaignStageHistoryDB CampaignStageHistoryDB { get; set; } + public List LevelUpCharacterDBs { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + public List FirstClearReward { get; set; } + public List BonusReward { get; set; } + public List EventContentCollectionDBs { get; set; } + } + + public class EventContentDeployEchelonRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_DeployEchelon; + } + } + + public long EventContentId { get; set; } + public long StageUniqueId { get; set; } + public List DeployedEchelons { get; set; } + } + + public class EventContentDeployEchelonResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_DeployEchelon; + } + } + + public EventContentMainStageSaveDB SaveDataDB { get; set; } + } + + public class EventContentWithdrawEchelonRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_WithdrawEchelon; + } + } + + public long EventContentId { get; set; } + public long StageUniqueId { get; set; } + public List WithdrawEchelonEntityId { get; set; } + } + + public class EventContentWithdrawEchelonResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_WithdrawEchelon; + } + } + + public EventContentMainStageSaveDB SaveDataDB { get; set; } + public List WithdrawEchelonDBs { get; set; } + } + + public class EventContentMapMoveRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_MapMove; + } + } + + public long EventContentId { get; set; } + public long StageUniqueId { get; set; } + public long EchelonEntityId { get; set; } + public HexLocation DestPosition { get; set; } + } + + public class EventContentMapMoveResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_MapMove; + } + } + + public EventContentMainStageSaveDB SaveDataDB { get; set; } + public long EchelonEntityId { get; set; } + public Strategy StrategyObject { get; set; } + public List StrategyObjectParcelInfos { get; set; } + } + + public class EventContentEndTurnRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_EndTurn; + } + } + + public long EventContentId { get; set; } + public long StageUniqueId { get; set; } + } + + public class EventContentEndTurnResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_EndTurn; + } + } + + public EventContentMainStageSaveDB SaveDataDB { get; set; } + public AccountCurrencyDB AccountCurrencyDB { get; set; } + } + + public class EventContentRetreatRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_Retreat; + } + } + + public long EventContentId { get; set; } + public long StageUniqueId { get; set; } + } + + public class EventContentRetreatResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_Retreat; + } + } + + public List ReleasedEchelonNumbers { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class EventContentPortalRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_Portal; + } + } + + public long EventContentId { get; set; } + public long StageUniqueId { get; set; } + public long EchelonEntityId { get; set; } + } + + public class EventContentPortalResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_Portal; + } + } + + public EventContentMainStageSaveDB SaveDataDB { get; set; } + } + + public class EventContentPurchasePlayCountHardStageRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_PurchasePlayCountHardStage; + } + } + + public long EventContentId { get; set; } + public long StageUniqueId { get; set; } + } + + public class EventContentPurchasePlayCountHardStageResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_PurchasePlayCountHardStage; + } + } + + public AccountCurrencyDB AccountCurrencyDB { get; set; } + public CampaignStageHistoryDB CampaignStageHistoryDB { get; set; } + } + + public class EventContentShopListRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_ShopList; + } + } + + public long EventContentId { get; set; } + public List CategoryList { get; set; } + } + + public class EventContentShopListResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_ShopList; + } + } + + public List ShopInfos { get; set; } + public List ShopEligmaHistoryDBs { get; set; } + } + + public class EventContentShopRefreshRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_ShopRefresh; + } + } + + public long EventContentId { get; set; } + public ShopCategoryType ShopCategoryType { get; set; } + } + + public class EventContentShopRefreshResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_ShopRefresh; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + public ShopInfoDB ShopInfoDB { get; set; } + } + + public class EventContentReceiveStageTotalRewardRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_ReceiveStageTotalReward; + } + } + + public long EventContentId { get; set; } + } + + public class EventContentReceiveStageTotalRewardResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_ReceiveStageTotalReward; + } + } + + public long EventContentId { get; set; } + public List AlreadyReceiveRewardId { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class EventContentEnterMainGroundStageRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_EnterMainGroundStage; + } + } + + public long EventContentId { get; set; } + public long StageUniqueId { get; set; } + public long LastEnterStageEchelonNumber { get; set; } + } + + public class EventContentEnterMainGroundStageResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_EnterMainGroundStage; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + public EventContentMainGroundStageSaveDB SaveDataDB { get; set; } + public CampaignStageHistoryDB CampaignStageHistoryDB { get; set; } + } + + public class EventContentMainGroundStageResultRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_MainGroundStageResult; + } + } + + public long EventContentId { get; set; } + public bool PassCheckCharacter { get; set; } + public BattleSummary Summary { get; set; } + } + + public class EventContentMainGroundStageResultResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_MainGroundStageResult; + } + } + + public long TacticRank { get; set; } + public CampaignStageHistoryDB CampaignStageHistoryDB { get; set; } + public List LevelUpCharacterDBs { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + public List FirstClearReward { get; set; } + public List ThreeStarReward { get; set; } + public List BonusReward { get; set; } + public List EventContentCollectionDBs { get; set; } + } + + public class EventContentShopBuyMerchandiseRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_ShopBuyMerchandise; + } + } + + public long EventContentId { get; set; } + public bool IsRefreshMerchandise { get; set; } + public long ShopUniqueId { get; set; } + public long GoodsUniqueId { get; set; } + public long PurchaseCount { get; set; } + } + + public class EventContentShopBuyMerchandiseResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_ShopBuyMerchandise; + } + } + + public AccountCurrencyDB AccountCurrencyDB { get; set; } + public ConsumeResultDB ConsumeResultDB { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + public MailDB MailDB { get; set; } + public ShopProductDB ShopProductDB { get; set; } + public List EventContentCollectionDBs { get; set; } + } + + public class EventContentShopBuyRefreshMerchandiseRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_ShopBuyRefreshMerchandise; + } + } + + public long EventContentId { get; set; } + public List ShopUniqueIds { get; set; } + } + + public class EventContentShopBuyRefreshMerchandiseResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_ShopBuyRefreshMerchandise; + } + } + + public AccountCurrencyDB AccountCurrencyDB { get; set; } + public ConsumeResultDB ConsumeResultDB { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + public MailDB MailDB { get; set; } + public List ShopProductDB { get; set; } + public List EventContentCollectionDBs { get; set; } + } + + public class EventContentCardShopListRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_CardShopList; + } + } + + public long EventContentId { get; set; } + } + + public class EventContentCardShopListResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_CardShopList; + } + } + + public List CardShopElementDBs { get; set; } + public Dictionary> RewardHistory { get; set; } + } + + public class EventContentCardShopShuffleRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_CardShopShuffle; + } + } + + public long EventContentId { get; set; } + } + + public class EventContentCardShopShuffleResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_CardShopShuffle; + } + } + + public List CardShopElementDBs { get; set; } + } + + public class EventContentCardShopPurchaseRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_CardShopPurchase; + } + } + + public long EventContentId { get; set; } + public int SlotNumber { get; set; } + } + + public class EventContentCardShopPurchaseResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_CardShopPurchase; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + public CardShopElementDB CardShopElementDB { get; set; } + public List CardShopPurchaseHistoryDBs { get; set; } + } + + public class EventContentCardShopPurchaseAllRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_CardShopPurchaseAll; + } + } + + public long EventContentId { get; set; } + } + + public class EventContentCardShopPurchaseAllResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_CardShopPurchaseAll; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + public List CardShopElementDBs { get; set; } + public List CardShopPurchaseHistoryDBs { get; set; } + public Dictionary> RewardHistory { get; set; } + } + + public class EventContentSelectBuffRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_SelectBuff; + } + } + + public long SelectedBuffId { get; set; } + } + + public class EventContentSelectBuffResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_SelectBuff; + } + } + + public EventContentMainStageSaveDB SaveDataDB { get; set; } + } + + public class EventContentBoxGachaShopListRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_BoxGachaShopList; + } + } + + public long EventContentId { get; set; } + } + + public class EventContentBoxGachaShopListResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_BoxGachaShopList; + } + } + + public EventContentBoxGachaDB BoxGachaDB { get; set; } + public Dictionary BoxGachaGroupIdByCount { get; set; } + } + + public class EventContentBoxGachaShopPurchaseRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_BoxGachaShopPurchase; + } + } + + public long EventContentId { get; set; } + public long PurchaseCount { get; set; } + public bool PurchaseAll { get; set; } + } + + public class EventContentBoxGachaShopPurchaseResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_BoxGachaShopPurchase; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + public EventContentBoxGachaDB BoxGachaDB { get; set; } + public Dictionary BoxGachaGroupIdByCount { get; set; } + public List BoxGachaElements { get; set; } + } + + public class EventContentBoxGachaShopRefreshRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_BoxGachaShopRefresh; + } + } + + public long EventContentId { get; set; } + } + + public class EventContentBoxGachaShopRefreshResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_BoxGachaShopRefresh; + } + } + + public EventContentBoxGachaDB BoxGachaDB { get; set; } + public Dictionary BoxGachaGroupIdByCount { get; set; } + } + + public class EventContentCollectionListRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_CollectionList; + } + } + + public long EventContentId { get; set; } + public Nullable GroupId { get; set; } + } + + public class EventContentCollectionListResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_CollectionList; + } + } + + public List EventContentUnlockCGDBs { get; set; } + } + + public class EventContentCollectionForMissionRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_CollectionForMission; + } + } + + public long EventContentId { get; set; } + } + + public class EventContentCollectionForMissionResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_CollectionForMission; + } + } + + public List EventContentCollectionDBs { get; set; } + } + + public class EventContentScenarioGroupHistoryUpdateRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_ScenarioGroupHistoryUpdate; + } + } + + public long ScenarioGroupUniqueId { get; set; } + public long ScenarioType { get; set; } + public long EventContentId { get; set; } + } + + public class EventContentScenarioGroupHistoryUpdateResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_ScenarioGroupHistoryUpdate; + } + } + + public List ScenarioGroupHistoryDBs { get; set; } + public List EventContentCollectionDBs { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class EventContentRestartMainStageRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_RestartMainStage; + } + } + + public long EventContentId { get; set; } + public long StageUniqueId { get; set; } + } + + public class EventContentRestartMainStageResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_RestartMainStage; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + public EventContentMainStageSaveDB SaveDataDB { get; set; } + } + + public class EventContentLocationGetInfoRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_LocationGetInfo; + } + } + + public long EventContentId { get; set; } + } + + public class EventContentLocationGetInfoResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_LocationGetInfo; + } + } + + public EventContentLocationDB EventContentLocationDB { get; set; } + } + + public class EventContentLocationAttendScheduleRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_LocationAttendSchedule; + } + } + + public long EventContentId { get; set; } + public long ZoneId { get; set; } + public long Count { get; set; } + } + + public class EventContentLocationAttendScheduleResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_LocationAttendSchedule; + } + } + + public EventContentLocationDB EventContentLocationDB { get; set; } + public IEnumerable EventContentCollectionDBs { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + public List ExtraRewards { get; set; } + } + + public class EventContentFortuneGachaPurchaseRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_FortuneGachaPurchase; + } + } + + public long EventContentId { get; set; } + } + + public class EventContentFortuneGachaPurchaseResponse : ResponsePacket + { + public long FortuneGachaShopUniqueId; + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_FortuneGachaPurchase; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class EventContentEnterStoryStageRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_EnterStoryStage; + } + } + + public long StageUniqueId { get; set; } + public long EventContentId { get; set; } + } + + public class EventContentEnterStoryStageResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_EnterStoryStage; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + public EventContentStoryStageSaveDB SaveDataDB { get; set; } + } + + public class EventContentStoryStageResultRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_StoryStageResult; + } + } + + public long EventContentId { get; set; } + public long StageUniqueId { get; set; } + } + + public class EventContentStoryStageResultResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_StoryStageResult; + } + } + + public CampaignStageHistoryDB CampaignStageHistoryDB { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + public List FirstClearReward { get; set; } + public List EventContentCollectionDBs { get; set; } + } + + public class EventContentDiceRaceLobbyRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_DiceRaceLobby; + } + } + + public long EventContentId { get; set; } + } + + public class EventContentDiceRaceLobbyResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_DiceRaceLobby; + } + } + + public EventContentDiceRaceDB DiceRaceDB { get; set; } + } + + public class EventContentDiceRaceRollRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_DiceRaceRoll; + } + } + + public long EventContentId { get; set; } + } + + public class EventContentDiceRaceRollResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_DiceRaceRoll; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + public EventContentDiceRaceDB DiceRaceDB { get; set; } + public List DiceResults { get; set; } + public List EventContentCollectionDBs { get; set; } + } + + public class EventContentDiceRaceLapRewardRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_DiceRaceLapReward; + } + } + + public long EventContentId { get; set; } + } + + public class EventContentDiceRaceLapRewardResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_DiceRaceLapReward; + } + } + + public EventContentDiceRaceDB DiceRaceDB { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class EventContentDiceRaceUseItemRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_DiceRaceUseItem; + } + } + + public long EventContentId { get; set; } + public EventContentDiceRaceResultType DiceRaceResultType { get; set; } + } + + public class EventContentDiceRaceUseItemResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_DiceRaceUseItem; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + public EventContentDiceRaceDB DiceRaceDB { get; set; } + public List DiceResults { get; set; } + public List EventContentCollectionDBs { get; set; } + } + + public class EventContentPermanentListRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_PermanentList; + } + } + + } + + public class EventContentPermanentListResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_PermanentList; + } + } + + public List PermanentDBs { get; set; } + } + + public class EventContentTreasureLobbyRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_TreasureLobby; + } + } + + public long EventContentId { get; set; } + } + + public class EventContentTreasureLobbyResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_TreasureLobby; + } + } + + public EventContentTreasureHistoryDB BoardHistoryDB { get; set; } + public EventContentTreasureCell HiddenImage { get; set; } + public long VariationId { get; set; } + } + + public class EventContentTreasureFlipRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_TreasureFlip; + } + } + + public long EventContentId { get; set; } + public int Round { get; set; } + public List Cells { get; set; } + } + + public class EventContentTreasureFlipResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_TreasureFlip; + } + } + + public EventContentTreasureHistoryDB BoardHistoryDB { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class EventContentTreasureNextRoundRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_TreasureNextRound; + } + } + + public long EventContentId { get; set; } + public int Round { get; set; } + } + + public class EventContentTreasureNextRoundResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.EventContent_TreasureNextRound; + } + } + + public EventContentTreasureHistoryDB BoardHistoryDB { get; set; } + public EventContentTreasureCell HiddenImage { get; set; } + } + + public class EventListRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Event_GetList; + } + } + + } + + public class EventListResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Event_GetList; + } + } + + public List EventInfoDBs { get; set; } + } + + public class EventImageRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Event_GetImage; + } + } + + public long EventId { get; set; } + } + + public class EventImageResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Event_GetImage; + } + } + + public byte[] ImageBytes { get; set; } + } + + public class UseCouponRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Event_UseCoupon; + } + } + + public string CouponSerial { get; set; } + } + + public class UseCouponResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Event_UseCoupon; + } + } + + public bool CouponCompleteRewardReceived { get; set; } + } + + public class EventRewardIncreaseRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Event_RewardIncrease; + } + } + + } + + public class EventRewardIncreaseResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Event_RewardIncrease; + } + } + + public List EventRewardIncreaseDBs { get; set; } + } + + public class FriendListRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Friend_List; + } + } + + } + + public class FriendListResponse : ResponsePacket + { + public FriendIdCardDB FriendIdCardDB; + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Friend_List; + } + } + + public IdCardBackgroundDB[] IdCardBackgroundDBs { get; set; } + public FriendDB[] FriendDBs { get; set; } + public FriendDB[] SentRequestFriendDBs { get; set; } + public FriendDB[] ReceivedRequestFriendDBs { get; set; } + public FriendDB[] BlockedUserDBs { get; set; } + } + + public class FriendRemoveRequest : RequestPacket + { + public long TargetAccountId; + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Friend_Remove; + } + } + + } + + public class FriendRemoveResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Friend_Remove; + } + } + + public FriendDB[] FriendDBs { get; set; } + public FriendDB[] SentRequestFriendDBs { get; set; } + public FriendDB[] ReceivedRequestFriendDBs { get; set; } + public FriendDB[] BlockedUserDBs { get; set; } + } + + public class FriendGetFriendDetailedInfoRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Friend_GetFriendDetailedInfo; + } + } + + public long FriendAccountId { get; set; } + } + + public class FriendGetFriendDetailedInfoResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Friend_GetFriendDetailedInfo; + } + } + + public string Nickname { get; set; } + public long Level { get; set; } + public string ClanName { get; set; } + public string Comment { get; set; } + public long FriendCount { get; set; } + public string FriendCode { get; set; } + public long RepresentCharacterUniqueId { get; set; } + public long RepresentCharacterCostumeId { get; set; } + public long CharacterCount { get; set; } + public Nullable LastNormalCampaignClearStageId { get; set; } + public Nullable LastHardCampaignClearStageId { get; set; } + public Nullable ArenaRanking { get; set; } + public Nullable RaidRanking { get; set; } + public Nullable RaidTier { get; set; } + public DetailedAccountInfoDB DetailedAccountInfoDB { get; set; } + public AccountAttachmentDB AttachmentDB { get; set; } + public AssistCharacterDB[] AssistCharacterDBs { get; set; } + } + + public class FriendGetIdCardRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Friend_GetIdCard; + } + } + + } + + public class FriendGetIdCardResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Friend_GetIdCard; + } + } + + public FriendIdCardDB FriendIdCardDB { get; set; } + } + + public class FriendSetIdCardRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Friend_SetIdCard; + } + } + + public string Comment { get; set; } + public long RepresentCharacterUniqueId { get; set; } + public long EmblemId { get; set; } + public bool SearchPermission { get; set; } + public bool AutoAcceptFriendRequest { get; set; } + public bool ShowAccountLevel { get; set; } + public bool ShowFriendCode { get; set; } + public bool ShowRaidRanking { get; set; } + public bool ShowArenaRanking { get; set; } + public bool ShowEliminateRaidRanking { get; set; } + public long BackgroundId { get; set; } + } + + public class FriendSetIdCardResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Friend_SetIdCard; + } + } + + } + + public class FriendSearchRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Friend_Search; + } + } + + public string FriendCode { get; set; } + public FriendSearchLevelOption LevelOption { get; set; } + } + + public class FriendSearchResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Friend_Search; + } + } + + public FriendDB[] SearchResult { get; set; } + } + + public class FriendSendFriendRequestRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Friend_SetIdCard; + } + } + + public long TargetAccountId { get; set; } + } + + public class FriendSendFriendRequestResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Friend_SetIdCard; + } + } + + public FriendDB[] FriendDBs { get; set; } + public FriendDB[] SentRequestFriendDBs { get; set; } + public FriendDB[] ReceivedRequestFriendDBs { get; set; } + public FriendDB[] BlockedUserDBs { get; set; } + } + + public class FriendAcceptFriendRequestRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Friend_AcceptFriendRequest; + } + } + + public long TargetAccountId { get; set; } + } + + public class FriendAcceptFriendRequestResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Friend_AcceptFriendRequest; + } + } + + public FriendDB[] FriendDBs { get; set; } + public FriendDB[] SentRequestFriendDBs { get; set; } + public FriendDB[] ReceivedRequestFriendDBs { get; set; } + public FriendDB[] BlockedUserDBs { get; set; } + } + + public class FriendDeclineFriendRequestRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Friend_DeclineFriendRequest; + } + } + + public long TargetAccountId { get; set; } + } + + public class FriendDeclineFriendRequestResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Friend_DeclineFriendRequest; + } + } + + public FriendDB[] FriendDBs { get; set; } + public FriendDB[] SentRequestFriendDBs { get; set; } + public FriendDB[] ReceivedRequestFriendDBs { get; set; } + public FriendDB[] BlockedUserDBs { get; set; } + } + + public class FriendCancelFriendRequestRequest : RequestPacket + { + public long TargetAccountId; + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Friend_CancelFriendRequest; + } + } + + } + + public class FriendCancelFriendRequestResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Friend_CancelFriendRequest; + } + } + + public FriendDB[] FriendDBs { get; set; } + public FriendDB[] SentRequestFriendDBs { get; set; } + public FriendDB[] ReceivedRequestFriendDBs { get; set; } + public FriendDB[] BlockedUserDBs { get; set; } + } + + public class FriendCheckRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Friend_Check; + } + } + + } + + public class FriendCheckResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Friend_Check; + } + } + + } + + public class FriendListByIdsRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Friend_ListByIds; + } + } + + public long[] TargetAccountIds { get; set; } + } + + public class FriendListByIdsResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Friend_ListByIds; + } + } + + public FriendDB[] ListResult { get; set; } + } + + public class FriendBlockRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Friend_Block; + } + } + + public long TargetAccountId { get; set; } + } + + public class FriendBlockResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Friend_Block; + } + } + + public FriendDB[] FriendDBs { get; set; } + public FriendDB[] SentRequestFriendDBs { get; set; } + public FriendDB[] ReceivedRequestFriendDBs { get; set; } + public FriendDB[] BlockedUserDBs { get; set; } + } + + public class FriendUnblockRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Friend_Unblock; + } + } + + public long TargetAccountId { get; set; } + } + + public class FriendUnblockResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Friend_Unblock; + } + } + + public FriendDB[] FriendDBs { get; set; } + public FriendDB[] SentRequestFriendDBs { get; set; } + public FriendDB[] ReceivedRequestFriendDBs { get; set; } + public FriendDB[] BlockedUserDBs { get; set; } + } + + public class ItemListRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Item_List; + } + } + + } + + public class ItemListResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Item_List; + } + } + + public List ItemDBs { get; set; } + public List ExpiryItemDBs { get; set; } + } + + public class ItemSellRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Item_Sell; + } + } + + public List TargetServerIds { get; set; } + } + + public class ItemSellResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Item_Sell; + } + } + + public AccountCurrencyDB AccountCurrencyDB { get; set; } + } + + public class ItemConsumeRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Item_Consume; + } + } + + public long TargetItemServerId { get; set; } + public int ConsumeCount { get; set; } + } + + public class ItemConsumeResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Item_Consume; + } + } + + public ItemDB UsedItemDB { get; set; } + public ParcelResultDB NewParcelResultDB { get; set; } + } + + public class ItemLockRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Item_Lock; + } + } + + public long TargetServerId { get; set; } + public bool IsLocked { get; set; } + } + + public class ItemLockResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Item_Lock; + } + } + + public ItemDB ItemDB { get; set; } + } + + public class ItemBulkConsumeRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Item_BulkConsume; + } + } + + public long TargetItemServerId { get; set; } + public int ConsumeCount { get; set; } + } + + public class ItemBulkConsumeResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Item_BulkConsume; + } + } + + public ItemDB UsedItemDB { get; set; } + public List ParcelInfosInMailBox { get; set; } + } + + public class ItemSelectTicketRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Item_SelectTicket; + } + } + + public long TicketItemServerId { get; set; } + public long SelectItemUniqueId { get; set; } + public int ConsumeCount { get; set; } + } + + public class ItemSelectTicketResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Item_SelectTicket; + } + } + + public ItemDB UsedItemDB { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class ItemAutoSynthRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Item_AutoSynth; + } + } + + public List TargetParcels { get; set; } + } + + public class ItemAutoSynthResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Item_AutoSynth; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class MailListRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Mail_List; + } + } + + public bool IsReadMail { get; set; } + public DateTime PivotTime { get; set; } + public long PivotIndex { get; set; } + public bool IsDescending { get; set; } + } + + public class MailListResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Mail_List; + } + } + + public List MailDBs { get; set; } + public long Count { get; set; } + } + + public class MailCheckRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Mail_Check; + } + } + + } + + public class MailCheckResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Mail_Check; + } + } + + public long Count { get; set; } + } + + public class MailReceiveRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Mail_Receive; + } + } + + public List MailServerIds { get; set; } + } + + public class MailReceiveResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Mail_Receive; + } + } + + public List MailServerIds { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class MemoryLobbyListRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MemoryLobby_List; + } + } + + } + + public class MemoryLobbyListResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MemoryLobby_List; + } + } + + public List MemoryLobbyDBs { get; set; } + } + + public class MemoryLobbySetMainRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MemoryLobby_SetMain; + } + } + + public long MemoryLobbyId { get; set; } + } + + public class MemoryLobbySetMainResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MemoryLobby_SetMain; + } + } + + public AccountDB AccountDB { get; set; } + } + + public class MemoryLobbyUpdateLobbyModeRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MemoryLobby_UpdateLobbyMode; + } + } + + public bool IsMemoryLobbyMode { get; set; } + } + + public class MemoryLobbyUpdateLobbyModeResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MemoryLobby_UpdateLobbyMode; + } + } + + } + + public class MemoryLobbyInteractRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MemoryLobby_Interact; + } + } + + } + + public class MemoryLobbyInteractResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MemoryLobby_Interact; + } + } + + } + + public class MiniGameStageListRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_StageList; + } + } + + public long EventContentId { get; set; } + } + + public class MiniGameStageListResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_StageList; + } + } + + public List MiniGameHistoryDBs { get; set; } + } + + public class MiniGameEnterStageRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_EnterStage; + } + } + + public long EventContentId { get; set; } + public long UniqueId { get; set; } + } + + public class MiniGameEnterStageResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_EnterStage; + } + } + + } + + public class MiniGameResultRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_Result; + } + } + + public long EventContentId { get; set; } + public long UniqueId { get; set; } + public MinigameRhythmSummary Summary { get; set; } + } + + public class MiniGameResultResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_Result; + } + } + + } + + public class MiniGameMissionListRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_MissionList; + } + } + + public long EventContentId { get; set; } + } + + public class MiniGameMissionListResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_MissionList; + } + } + + public List MissionHistoryUniqueIds { get; set; } + public List ProgressDBs { get; set; } + } + + public class MiniGameMissionRewardRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_MissionReward; + } + } + + public long MissionUniqueId { get; set; } + public long ProgressServerId { get; set; } + public long EventContentId { get; set; } + } + + public class MiniGameMissionRewardResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_MissionReward; + } + } + + public MissionHistoryDB AddedHistoryDB { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class MiniGameMissionMultipleRewardRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_MissionMultipleReward; + } + } + + public MissionCategory MissionCategory { get; set; } + public long EventContentId { get; set; } + } + + public class MiniGameMissionMultipleRewardResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_MissionMultipleReward; + } + } + + public List AddedHistoryDBs { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class MiniGameShootingLobbyRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_ShootingLobby; + } + } + + public long EventContentId { get; set; } + } + + public class MiniGameShootingLobbyResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_ShootingLobby; + } + } + + public List HistoryDBs { get; set; } + } + + public class MiniGameShootingBattleEnterRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_ShootingBattleEnter; + } + } + + public long EventContentId { get; set; } + public long UniqueId { get; set; } + } + + public class MiniGameShootingBattleEnterResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_ShootingBattleEnter; + } + } + + } + + public class MiniGameShootingBattleResultRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_ShootingBattleResult; + } + } + + public MiniGameShootingSummary Summary { get; set; } + } + + public class MiniGameShootingBattleResultResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_ShootingBattleResult; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class MiniGameShootingSweepRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_ShootingSweep; + } + } + + public long EventContentId { get; set; } + public long UniqueId { get; set; } + public long SweepCount { get; set; } + } + + public class MiniGameShootingSweepResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_ShootingSweep; + } + } + + public List> Rewards { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class MiniGameTableBoardSyncRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_TableBoardSync; + } + } + + public long EventContentId { get; set; } + } + + public class MiniGameTableBoardSyncResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_TableBoardSync; + } + } + + public TBGBoardSaveDB SaveDB { get; set; } + } + + public class MiniGameTableBoardMoveRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_TableBoardMove; + } + } + + public long EventContentId { get; set; } + public List Steps { get; set; } + } + + public class MiniGameTableBoardMoveResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_TableBoardMove; + } + } + + public TBGPlayerDB PlayerDB { get; set; } + public TBGBoardSaveDB SaveDB { get; set; } + public TBGEncounterDB EncounterDB { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class MiniGameTableBoardEncounterInputRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_TableBoardEncounterInput; + } + } + + public long EventContentId { get; set; } + public long ObjectServerId { get; set; } + public int EncounterStage { get; set; } + public int SelectedIndex { get; set; } + } + + public class MiniGameTableBoardEncounterInputResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_TableBoardEncounterInput; + } + } + + public TBGBoardSaveDB SaveDB { get; set; } + public TBGEncounterDB EncounterDB { get; set; } + public List PlayerDiceResult { get; set; } + public Nullable PlayerAddDotEffectResult { get; set; } + public Nullable PlayerDicePlayResult { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + public List EventContentCollectionDBs { get; set; } + } + + public class MiniGameTableBoardMoveThemaRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_TableBoardMoveThema; + } + } + + public long EventContentId { get; set; } + } + + public class MiniGameTableBoardMoveThemaResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_TableBoardMoveThema; + } + } + + public TBGBoardSaveDB SaveDB { get; set; } + } + + public class MiniGameTableBoardClearThemaRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_TableBoardClearThema; + } + } + + public long EventContentId { get; set; } + public List PreserveItemEffectUniqueIds { get; set; } + } + + public class MiniGameTableBoardClearThemaResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_TableBoardClearThema; + } + } + + public TBGBoardSaveDB SaveDB { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class MiniGameTableBoardUseItemRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_TableBoardUseItem; + } + } + + public long EventContentId { get; set; } + public int ItemSlotIndex { get; set; } + public long UsedItemId { get; set; } + public bool IsDiscard { get; set; } + } + + public class MiniGameTableBoardUseItemResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_TableBoardUseItem; + } + } + + public TBGPlayerDB PlayerDB { get; set; } + } + + public class MiniGameTableBoardResurrectRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_TableBoardResurrect; + } + } + + public long EventContentId { get; set; } + } + + public class MiniGameTableBoardResurrectResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_TableBoardResurrect; + } + } + + public TBGPlayerDB PlayerDB { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class MiniGameTableBoardSweepRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_TableBoardSweep; + } + } + + public long EventContentId { get; set; } + public List PreserveItemEffectUniqueIds { get; set; } + } + + public class MiniGameTableBoardSweepResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_TableBoardSweep; + } + } + + public TBGBoardSaveDB SaveDB { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class MiniGameDreamMakerGetInfoRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_DreamMakerGetInfo; + } + } + + public long EventContentId { get; set; } + } + + public class MiniGameDreamMakerGetInfoResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_DreamMakerGetInfo; + } + } + + public MiniGameDreamMakerInfoDB InfoDB { get; set; } + public List ParameterDBs { get; set; } + public List EndingDBs { get; set; } + public List EventContentCollectionDBs { get; set; } + public long EventPointAmount { get; set; } + public List AlreadyReceivePointRewardIds { get; set; } + } + + public class MiniGameDreamMakerNewGameRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_DreamMakerNewGame; + } + } + + public long EventContentId { get; set; } + public long Multiplier { get; set; } + } + + public class MiniGameDreamMakerNewGameResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_DreamMakerNewGame; + } + } + + public MiniGameDreamMakerInfoDB InfoDB { get; set; } + public List ParameterDBs { get; set; } + } + + public class MiniGameDreamMakerResetRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_DreamMakerRestart; + } + } + + public long EventContentId { get; set; } + } + + public class MiniGameDreamMakerResetResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_DreamMakerRestart; + } + } + + public MiniGameDreamMakerInfoDB InfoDB { get; set; } + public List ParameterDBs { get; set; } + } + + public class MiniGameDreamMakerAttendScheduleRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_DreamMakerAttendSchedule; + } + } + + public long EventContentId { get; set; } + public long ScheduleGroupId { get; set; } + } + + public class MiniGameDreamMakerAttendScheduleResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_DreamMakerAttendSchedule; + } + } + + public MiniGameDreamMakerInfoDB InfoDB { get; set; } + public List ParameterDBs { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + public long ScheduleResultId { get; set; } + public List EventContentCollectionDBs { get; set; } + } + + public class MiniGameDreamMakerDailyClosingRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_DreamMakerDailyClosing; + } + } + + public long EventContentId { get; set; } + } + + public class MiniGameDreamMakerDailyClosingResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_DreamMakerDailyClosing; + } + } + + public MiniGameDreamMakerInfoDB InfoDB { get; set; } + public List ParameterDBs { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + public long EventPointAmount { get; set; } + public List AlreadyReceivePointRewardIds { get; set; } + } + + public class MiniGameDreamMakerEndingRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_DreamMakerEnding; + } + } + + public long EventContentId { get; set; } + } + + public class MiniGameDreamMakerEndingResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_DreamMakerEnding; + } + } + + public MiniGameDreamMakerInfoDB InfoDB { get; set; } + public List ParameterDBs { get; set; } + public MiniGameDreamMakerEndingDB EndingDB { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class MiniGameDefenseGetInfoRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_DefenseGetInfo; + } + } + + public long EventContentId { get; set; } + } + + public class MiniGameDefenseGetInfoResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_DefenseGetInfo; + } + } + + public long EventPointAmount { get; set; } + public List DefenseStageHistoryDBs { get; set; } + } + + public class MiniGameDefenseEnterBattleRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_DefenseEnterBattle; + } + } + + public long EventContentId { get; set; } + public long StageId { get; set; } + } + + public class MiniGameDefenseEnterBattleResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_DefenseEnterBattle; + } + } + + } + + public class MiniGameDefenseBattleResultRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_DefenseBattleResult; + } + } + + public long EventContentId { get; set; } + public long StageId { get; set; } + public int Multiplier { get; set; } + public bool IsPlayerWin { get; set; } + public int BaseDamage { get; set; } + public int HeroCount { get; set; } + public int AliveCount { get; set; } + public int ClearSecond { get; set; } + public BattleSummary Summary { get; set; } + } + + public class MiniGameDefenseBattleResultResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MiniGame_DefenseBattleResult; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + public MiniGameDefenseStageHistoryDB StageHistoryDB { get; set; } + } + + public class MissionListRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Mission_List; + } + } + + public Nullable EventContentId { get; set; } + } + + public class MissionListResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Mission_List; + } + } + + public List MissionHistoryUniqueIds { get; set; } + public List ProgressDBs { get; set; } + public MissionInfo DailySuddenMissionInfo { get; set; } + public List ClearedOrignalMissionIds { get; set; } + } + + public class MissionRewardRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Mission_Reward; + } + } + + public long MissionUniqueId { get; set; } + public long ProgressServerId { get; set; } + public Nullable EventContentId { get; set; } + } + + public class MissionRewardResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Mission_Reward; + } + } + + public MissionHistoryDB AddedHistoryDB { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class MissionMultipleRewardRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Mission_MultipleReward; + } + } + + public MissionCategory MissionCategory { get; set; } + public Nullable GuideMissionSeasonId { get; set; } + public Nullable EventContentId { get; set; } + } + + public class MissionMultipleRewardResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Mission_MultipleReward; + } + } + + public List AddedHistoryDBs { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class GuideMissionSeasonListRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Mission_GuideMissionSeasonList; + } + } + + } + + public class GuideMissionSeasonListResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Mission_GuideMissionSeasonList; + } + } + + public List GuideMissionSeasonDBs { get; set; } + } + + public class MissionSyncRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Mission_Sync; + } + } + + } + + public class MissionSyncResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Mission_Sync; + } + } + + } + + public class MomoTalkOutLineRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MomoTalk_OutLine; + } + } + + } + + public class MomoTalkOutLineResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MomoTalk_OutLine; + } + } + + public List MomoTalkOutLineDBs { get; set; } + public Dictionary> FavorScheduleRecords { get; set; } + } + + public class MomoTalkMessageListRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MomoTalk_MessageList; + } + } + + public long CharacterDBId { get; set; } + } + + public class MomoTalkMessageListResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MomoTalk_MessageList; + } + } + + public MomoTalkOutLineDB MomoTalkOutLineDB { get; set; } + public List MomoTalkChoiceDBs { get; set; } + } + + public class MomoTalkReadRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MomoTalk_Read; + } + } + + public long CharacterDBId { get; set; } + public long LastReadMessageGroupId { get; set; } + public Nullable ChosenMessageId { get; set; } + } + + public class MomoTalkReadResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MomoTalk_Read; + } + } + + public MomoTalkOutLineDB MomoTalkOutLineDB { get; set; } + public List MomoTalkChoiceDBs { get; set; } + } + + public class MomoTalkFavorScheduleRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MomoTalk_FavorSchedule; + } + } + + public long ScheduleId { get; set; } + } + + public class MomoTalkFavorScheduleResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MomoTalk_FavorSchedule; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + public Dictionary> FavorScheduleRecords { get; set; } + } + + public class MultiFloorRaidSyncRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MultiFloorRaid_Sync; + } + } + + public Nullable SeasonId { get; set; } + } + + public class MultiFloorRaidSyncResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MultiFloorRaid_Sync; + } + } + + public List MultiFloorRaidDBs { get; set; } + } + + public class MultiFloorRaidEnterBattleRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MultiFloorRaid_EnterBattle; + } + } + + public long SeasonId { get; set; } + public int Difficulty { get; set; } + public int EchelonId { get; set; } + public List AssistUseInfos { get; set; } + } + + public class MultiFloorRaidEnterBattleResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MultiFloorRaid_EnterBattle; + } + } + + public List AssistCharacterDBs { get; set; } + } + + public class MultiFloorRaidEndBattleRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MultiFloorRaid_EndBattle; + } + } + + public long SeasonId { get; set; } + public int Difficulty { get; set; } + public BattleSummary Summary { get; set; } + public int EchelonId { get; set; } + public List AssistUseInfos { get; set; } + } + + public class MultiFloorRaidEndBattleResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MultiFloorRaid_EndBattle; + } + } + + public MultiFloorRaidDB MultiFloorRaidDB { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class MultiFloorRaidReceiveRewardRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MultiFloorRaid_ReceiveReward; + } + } + + public long SeasonId { get; set; } + public int RewardDifficulty { get; set; } + } + + public class MultiFloorRaidReceiveRewardResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.MultiFloorRaid_ReceiveReward; + } + } + + public MultiFloorRaidDB MultiFloorRaidDB { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class NetworkTimeSyncRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.NetworkTime_Sync; + } + } + + } + + public class NetworkTimeSyncResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.NetworkTime_Sync; + } + } + + public long ReceiveTick { get; set; } + public long EchoSendTick { get; set; } + } + + public class NotificationLobbyCheckRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Notification_LobbyCheck; + } + } + + } + + public class NotificationLobbyCheckResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Notification_LobbyCheck; + } + } + + public long UnreadMailCount { get; set; } + public List EventRewardIncreaseDBs { get; set; } + } + + public class NotificationEventContentReddotRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Notification_EventContentReddotCheck; + } + } + + } + + public class NotificationEventContentReddotResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Notification_EventContentReddotCheck; + } + } + + public Dictionary> Reddots { get; set; } + public Dictionary> EventContentUnlockCGDBs { get; set; } + } + + public class OpenConditionListRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.OpenCondition_List; + } + } + + } + + public class OpenConditionListResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.OpenCondition_List; + } + } + + public List ConditionContents { get; set; } + } + + public class OpenConditionSetRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.OpenCondition_Set; + } + } + + public OpenConditionDB ConditionDB { get; set; } + } + + public class OpenConditionSetResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.OpenCondition_Set; + } + } + + public List ConditionDBs { get; set; } + } + + public class OpenConditionEventListRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.OpenCondition_EventList; + } + } + + public List ConquestEventIds { get; set; } + public Dictionary WorldRaidSeasonAndGroupIds { get; set; } + } + + public class OpenConditionEventListResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.OpenCondition_EventList; + } + } + + public Dictionary> ConquestTiles { get; set; } + public Dictionary> WorldRaidLocalBossDBs { get; set; } + } + + public class ProofTokenRequestQuestionRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.ProofToken_RequestQuestion; + } + } + + } + + public class ProofTokenRequestQuestionResponse : ResponsePacket + { + public long Hint { get; set; } + public string Question { get; set; } + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.ProofToken_RequestQuestion; + } + } + + } + + public class ProofTokenSubmitRequest : RequestPacket + { + public long Answer; + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.ProofToken_Submit; + } + } + + } + + public class ProofTokenSubmitResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.ProofToken_Submit; + } + } + + } + + public class ProtocolConverter + { + public static ProtocolConverter Instance; + } + + public class QueuingGetTicketRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Queuing_GetTicket; + } + } + + public long YostarUID { get; set; } + public string YostarToken { get; set; } + public bool MakeStandby { get; set; } + public bool PassCheck { get; set; } + public bool PassCheckYostar { get; set; } + public string WaitingTicket { get; set; } + public string ClientVersion { get; set; } + } + + public class QueuingGetTicketResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Queuing_GetTicket; + } + } + + public string WaitingTicket { get; set; } + public string EnterTicket { get; set; } + public long TicketSequence { get; set; } + public long AllowedSequence { get; set; } + public double RequiredSecondsPerUser { get; set; } + public string Birth { get; set; } + public string ServerSeed { get; set; } + } + + public enum RaidRoomSortOption + { + HPHigh = 0, + HPLow = 1, + RemainTimeHigh = 2, + RemainTimeLow = 3, + } + + public class RaidLoginRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Raid_Login; + } + } + + } + + public class RaidLoginResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Raid_Login; + } + } + + public RaidSeasonType SeasonType { get; set; } + public bool CanReceiveRankingReward { get; set; } + public long LastSettledRanking { get; set; } + public Nullable LastSettledTier { get; set; } + } + + public class RaidLobbyRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Raid_Lobby; + } + } + + } + + public class RaidLobbyResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Raid_Lobby; + } + } + + public RaidSeasonType SeasonType { get; set; } + public RaidGiveUpDB RaidGiveUpDB { get; set; } + public SingleRaidLobbyInfoDB RaidLobbyInfoDB { get; set; } + public AccountCurrencyDB AccountCurrencyDB { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class RaidListRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Raid_List; + } + } + + public string RaidBossGroup { get; set; } + public Difficulty RaidDifficulty { get; set; } + public RaidRoomSortOption RaidRoomSortOption { get; set; } + } + + public class RaidListResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Raid_List; + } + } + + public List CreateRaidDBs { get; set; } + public List EnterRaidDBs { get; set; } + public List ListRaidDBs { get; set; } + } + + public class RaidCompleteListRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Raid_CompleteList; + } + } + + } + + public class RaidCompleteListResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Raid_CompleteList; + } + } + + public List RaidDBs { get; set; } + public long StackedDamage { get; set; } + public List ReceiveRewardId { get; set; } + public long CurSeasonUniqueId { get; set; } + } + + public class RaidDetailRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Raid_Detail; + } + } + + public long RaidServerId { get; set; } + public long RaidUniqueId { get; set; } + } + + public class RaidDetailResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Raid_Detail; + } + } + + public RaidDetailDB RaidDetailDB { get; set; } + public List ParticipateCharacterServerIds { get; set; } + } + + public class RaidSearchRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Raid_Search; + } + } + + public string SecretCode { get; set; } + public List Tags { get; set; } + } + + public class RaidSearchResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Raid_Search; + } + } + + public List RaidDBs { get; set; } + } + + public class RaidCreateBattleRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Raid_CreateBattle; + } + } + + public long RaidUniqueId { get; set; } + public bool IsPractice { get; set; } + public List Tags { get; set; } + public bool IsPublic { get; set; } + public Difficulty Difficulty { get; set; } + public ClanAssistUseInfo AssistUseInfo { get; set; } + } + + public class RaidCreateBattleResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Raid_CreateBattle; + } + } + + public RaidDB RaidDB { get; set; } + public RaidBattleDB RaidBattleDB { get; set; } + public AccountCurrencyDB AccountCurrencyDB { get; set; } + public AssistCharacterDB AssistCharacterDB { get; set; } + } + + public class RaidEnterBattleRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Raid_EnterBattle; + } + } + + public long RaidServerId { get; set; } + public long RaidUniqueId { get; set; } + public bool IsPractice { get; set; } + public long EchelonId { get; set; } + public ClanAssistUseInfo AssistUseInfo { get; set; } + } + + public class RaidEnterBattleResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Raid_EnterBattle; + } + } + + public RaidDB RaidDB { get; set; } + public RaidBattleDB RaidBattleDB { get; set; } + public AccountCurrencyDB AccountCurrencyDB { get; set; } + public AssistCharacterDB AssistCharacterDB { get; set; } + } + + public class RaidBattleUpdateRequest : RequestPacket + { + private List playerDebuffs; + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Raid_BattleUpdate; + } + } + + public long RaidServerId { get; set; } + public int RaidBossIndex { get; set; } + public long CumulativeDamage { get; set; } + public long CumulativeGroggyPoint { get; set; } + + [JsonIgnore] + public IEnumerable Debuffs { get; } + } + + public class RaidBattleUpdateResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Raid_BattleUpdate; + } + } + + public RaidBattleDB RaidBattleDB { get; set; } + } + + public class RaidEndBattleRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Raid_EndBattle; + } + } + + public int EchelonId { get; set; } + public long RaidServerId { get; set; } + public bool IsPractice { get; set; } + + [JsonIgnore] + public int LastBossIndex { get; } + + [JsonIgnore] + public IEnumerable RaidBossDamages { get; } + + [JsonIgnore] + public RaidBossResultCollection RaidBossResults { get; } + public BattleSummary Summary { get; set; } + public ClanAssistUseInfo AssistUseInfo { get; set; } + } + + public class RaidEndBattleResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Raid_EndBattle; + } + } + + public long RankingPoint { get; set; } + public long BestRankingPoint { get; set; } + public long ClearTimePoint { get; set; } + public long HPPercentScorePoint { get; set; } + public long DefaultClearPoint { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class RaidGiveUpRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Raid_GiveUp; + } + } + + public long RaidServerId { get; set; } + public bool IsPractice { get; set; } + } + + public class RaidGiveUpResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Raid_GiveUp; + } + } + + public int Tier { get; set; } + public RaidGiveUpDB RaidGiveUpDB { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class RaidRewardRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Raid_Reward; + } + } + + public long RaidServerId { get; set; } + public bool IsPractice { get; set; } + } + + public class RaidRewardResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Raid_Reward; + } + } + + public long RankingPoint { get; set; } + public long BestRankingPoint { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class RaidRewardAllRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Raid_RewardAll; + } + } + + } + + public class RaidRewardAllResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Raid_RewardAll; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class RaidShareRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Raid_Share; + } + } + + public long RaidServerId { get; set; } + } + + public class RaidShareResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Raid_Share; + } + } + + public RaidDB RaidDB { get; set; } + } + + public class RaidRankingRewardRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Raid_RankingReward; + } + } + + } + + public class RaidRankingRewardResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Raid_RankingReward; + } + } + + public long ReceivedRankingRewardId { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class RaidSeasonRewardRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Raid_SeasonReward; + } + } + + } + + public class RaidSeasonRewardResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Raid_SeasonReward; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + public List ReceiveRewardIds { get; set; } + } + + public class RaidOpponentListRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Raid_OpponentList; + } + } + + public Nullable Rank { get; set; } + public Nullable Score { get; set; } + public bool IsUpper { get; set; } + public bool IsFirstRequest { get; set; } + public RankingSearchType SearchType { get; set; } + } + + public class RaidOpponentListResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Raid_OpponentList; + } + } + + public List OpponentUserDBs { get; set; } + } + + public class RaidGetBestTeamRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Raid_GetBestTeam; + } + } + + public long SearchAccountId { get; set; } + } + + public class RaidGetBestTeamResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Raid_GetBestTeam; + } + } + + public List RaidTeamSettingDBs { get; set; } + } + + public class RaidSweepRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Raid_Sweep; + } + } + + public long UniqueId { get; set; } + public long SweepCount { get; set; } + } + + public class RaidSweepResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Raid_Sweep; + } + } + + public long TotalSeasonPoint { get; set; } + public List> Rewards { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class RecipeCraftRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Recipe_Craft; + } + } + + public long RecipeCraftUniqueId { get; set; } + public long RecipeIngredientUniqueId { get; set; } + } + + public class RecipeCraftResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Recipe_Craft; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + public ConsumeResultDB EquipmentConsumeResultDB { get; set; } + public ConsumeResultDB ItemConsumeResultDB { get; set; } + } + + public class ResetableContentGetRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.ResetableContent_Get; + } + } + + } + + public class ResetableContentGetResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.ResetableContent_Get; + } + } + + public List ResetableContentValueDBs { get; set; } + } + + public class ScenarioListRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Scenario_List; + } + } + + } + + public class ScenarioListResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Scenario_List; + } + } + + public List ScenarioHistoryDBs { get; set; } + public List ScenarioGroupHistoryDBs { get; set; } + public List ScenarioCollectionDBs { get; set; } + } + + public class ScenarioClearRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Scenario_Clear; + } + } + + public long ScenarioId { get; set; } + public BattleSummary BattleSummary { get; set; } + } + + public class ScenarioClearResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Scenario_Clear; + } + } + + public ScenarioHistoryDB ScenarioHistoryDB { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + public List ScenarioCollectionDBs { get; set; } + } + + public class ScenarioEnterRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Scenario_Enter; + } + } + + public long ScenarioId { get; set; } + } + + public class ScenarioEnterResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Scenario_Enter; + } + } + + } + + public class ScenarioGroupHistoryUpdateRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Scenario_GroupHistoryUpdate; + } + } + + public long ScenarioGroupUniqueId { get; set; } + public long ScenarioType { get; set; } + } + + public class ScenarioGroupHistoryUpdateResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Scenario_GroupHistoryUpdate; + } + } + + public ScenarioGroupHistoryDB ScenarioGroupHistoryDB { get; set; } + } + + public class ScenarioSkipRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Scenario_Skip; + } + } + + public long ScriptGroupId { get; set; } + public int SkipPointScriptCount { get; set; } + } + + public class ScenarioSkipResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Scenario_Skip; + } + } + + } + + public class ScenarioSelectRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Scenario_Select; + } + } + + public long ScriptGroupId { get; set; } + public long ScriptSelectGroup { get; set; } + } + + public class ScenarioSelectResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Scenario_Select; + } + } + + } + + public class ScenarioAccountStudentChangeRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Scenario_AccountStudentChange; + } + } + + public long AccountStudent { get; set; } + public long AccountStudentBefore { get; set; } + } + + public class ScenarioAccountStudentChangeResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Scenario_AccountStudentChange; + } + } + + } + + public class ScenarioLobbyStudentChangeRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Scenario_LobbyStudentChange; + } + } + + public List LobbyStudents { get; set; } + public List LobbyStudentsBefore { get; set; } + } + + public class ScenarioLobbyStudentChangeResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Scenario_LobbyStudentChange; + } + } + + } + + public class ScenarioSpecialLobbyChangeRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Scenario_SpecialLobbyChange; + } + } + + public long MemoryLobbyId { get; set; } + public long MemoryLobbyIdBefore { get; set; } + } + + public class ScenarioSpecialLobbyChangeResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Scenario_SpecialLobbyChange; + } + } + + } + + public class ScenarioEnterMainStageRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Scenario_EnterMainStage; + } + } + + public long StageUniqueId { get; set; } + } + + public class ScenarioEnterMainStageResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Scenario_EnterMainStage; + } + } + + public StoryStrategyStageSaveDB SaveDataDB { get; set; } + } + + public class ScenarioConfirmMainStageRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Scenario_ConfirmMainStage; + } + } + + public long StageUniqueId { get; set; } + } + + public class ScenarioConfirmMainStageResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Scenario_ConfirmMainStage; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + public StoryStrategyStageSaveDB SaveDataDB { get; set; } + public List ScenarioIds { get; set; } + } + + public class ScenarioDeployEchelonRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Scenario_DeployEchelon; + } + } + + public long StageUniqueId { get; set; } + public List DeployedEchelons { get; set; } + } + + public class ScenarioDeployEchelonResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Scenario_DeployEchelon; + } + } + + public StoryStrategyStageSaveDB SaveDataDB { get; set; } + } + + public class ScenarioWithdrawEchelonRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Scenario_WithdrawEchelon; + } + } + + public long StageUniqueId { get; set; } + public List WithdrawEchelonEntityId { get; set; } + } + + public class ScenarioWithdrawEchelonResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Scenario_WithdrawEchelon; + } + } + + public StoryStrategyStageSaveDB SaveDataDB { get; set; } + public List WithdrawEchelonDBs { get; set; } + } + + public class ScenarioMapMoveRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Scenario_MapMove; + } + } + + public long StageUniqueId { get; set; } + public long EchelonEntityId { get; set; } + public HexLocation DestPosition { get; set; } + } + + public class ScenarioMapMoveResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Scenario_MapMove; + } + } + + public StoryStrategyStageSaveDB SaveDataDB { get; set; } + public List ScenarioIds { get; set; } + public long EchelonEntityId { get; set; } + public Strategy StrategyObject { get; set; } + public List StrategyObjectParcelInfos { get; set; } + } + + public class ScenarioEndTurnRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Scenario_EndTurn; + } + } + + public long StageUniqueId { get; set; } + } + + public class ScenarioEndTurnResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Scenario_EndTurn; + } + } + + public StoryStrategyStageSaveDB SaveDataDB { get; set; } + public AccountCurrencyDB AccountCurrencyDB { get; set; } + public List ScenarioIds { get; set; } + } + + public class ScenarioEnterTacticRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Scenario_EnterTactic; + } + } + + public long StageUniqueId { get; set; } + public long EchelonIndex { get; set; } + public long EnemyIndex { get; set; } + } + + public class ScenarioEnterTacticResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Scenario_EnterTactic; + } + } + + } + + public class ScenarioTacticResultRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Scenario_TacticResult; + } + } + + public bool PassCheckCharacter { get; set; } + public BattleSummary Summary { get; set; } + public SkillCardHand Hand { get; set; } + public TacticSkipSummary SkipSummary { get; set; } + } + + public class ScenarioTacticResultResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Scenario_TacticResult; + } + } + + public Strategy StrategyObject { get; set; } + public StoryStrategyStageSaveDB SaveDataDB { get; set; } + public bool IsPlayerWin { get; set; } + public List ScenarioIds { get; set; } + } + + public class ScenarioRetreatRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Scenario_Retreat; + } + } + + public long StageUniqueId { get; set; } + } + + public class ScenarioRetreatResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Scenario_Retreat; + } + } + + public List ReleasedEchelonNumbers { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class ScenarioPortalRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Scenario_Portal; + } + } + + public long StageUniqueId { get; set; } + public long EchelonEntityId { get; set; } + } + + public class ScenarioPortalResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Scenario_Portal; + } + } + + public StoryStrategyStageSaveDB StoryStrategyStageSaveDB { get; set; } + public List ScenarioIds { get; set; } + } + + public class ScenarioRestartMainStageRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Scenario_RestartMainStage; + } + } + + public long StageUniqueId { get; set; } + } + + public class ScenarioRestartMainStageResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Scenario_RestartMainStage; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + public StoryStrategyStageSaveDB SaveDataDB { get; set; } + } + + public class ScenarioSkipMainStageRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Scenario_SkipMainStage; + } + } + + public long StageUniqueId { get; set; } + } + + public class ScenarioSkipMainStageResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Scenario_SkipMainStage; + } + } + + } + + public class SchoolDungeonListRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.SchoolDungeon_List; + } + } + + } + + public class SchoolDungeonListResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.SchoolDungeon_List; + } + } + + public List SchoolDungeonStageHistoryDBList { get; set; } + } + + public class SchoolDungeonEnterBattleRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.SchoolDungeon_EnterBattle; + } + } + + public long StageUniqueId { get; set; } + } + + public class SchoolDungeonEnterBattleResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.SchoolDungeon_EnterBattle; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class SchoolDungeonBattleResultRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.SchoolDungeon_BattleResult; + } + } + + public long StageUniqueId { get; set; } + public bool PassCheckCharacter { get; set; } + public BattleSummary Summary { get; set; } + } + + public class SchoolDungeonBattleResultResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.SchoolDungeon_BattleResult; + } + } + + public SchoolDungeonStageHistoryDB SchoolDungeonStageHistoryDB { get; set; } + public List LevelUpCharacterDBs { get; set; } + public List FirstClearReward { get; set; } + public List ThreeStarReward { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class SchoolDungeonRetreatRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.SchoolDungeon_Retreat; + } + } + + public long StageUniqueId { get; set; } + } + + public class SchoolDungeonRetreatResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.SchoolDungeon_Retreat; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class ShopBuyMerchandiseRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Shop_BuyMerchandise; + } + } + + public bool IsRefreshGoods { get; set; } + public long ShopUniqueId { get; set; } + public long GoodsId { get; set; } + public long PurchaseCount { get; set; } + } + + public class ShopBuyMerchandiseResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Shop_BuyMerchandise; + } + } + + public AccountCurrencyDB AccountCurrencyDB { get; set; } + public ConsumeResultDB ConsumeResultDB { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + public MailDB MailDB { get; set; } + public ShopProductDB ShopProductDB { get; set; } + } + + public class ShopBuyGachaRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Shop_BuyGacha; + } + } + + public long GoodsId { get; set; } + public long ShopUniqueId { get; set; } + } + + public class ShopBuyGachaResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Shop_BuyGacha; + } + } + + + [JsonIgnore] + public AccountCurrencyDB AccountCurrencyDB { get; } + public ConsumeResultDB ConsumeResultDB { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class ShopBuyGacha2Request : ShopBuyGachaRequest + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Shop_BuyGacha2; + } + } + + } + + public class GachaResult + { + public long CharacterId { get; set; } + public CharacterDB Character { get; set; } + public ItemDB Stone { get; set; } + } + + public class ShopBuyGacha2Response : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Shop_BuyGacha2; + } + } + + public DateTime UpdateTime { get; set; } + public long GemBonusRemain { get; set; } + public long GemPaidRemain { get; set; } + public List ConsumedItems { get; set; } + public List GachaResults { get; set; } + public List AcquiredItems { get; set; } + } + + public class ShopBuyGacha3Request : ShopBuyGacha2Request + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Shop_BuyGacha3; + } + } + + public long FreeRecruitId { get; set; } + public ParcelCost Cost { get; set; } + } + + public class ShopBuyGacha3Response : ShopBuyGacha2Response + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Shop_BuyGacha3; + } + } + + public ShopFreeRecruitHistoryDB FreeRecruitHistoryDB { get; set; } + } + + public class ShopListRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Shop_List; + } + } + + public List CategoryList { get; set; } + } + + public class ShopListResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Shop_List; + } + } + + public List ShopInfos { get; set; } + public List ShopEligmaHistoryDBs { get; set; } + } + + public class ShopRefreshRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Shop_Refresh; + } + } + + public ShopCategoryType ShopCategoryType { get; set; } + } + + public class ShopRefreshResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Shop_Refresh; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + public ShopInfoDB ShopInfoDB { get; set; } + } + + public class ShopBuyEligmaResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Shop_BuyEligma; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + public ConsumeResultDB ConsumeResultDB { get; set; } + public ShopProductDB ShopProductDB { get; set; } + } + + public class ShopBuyEligmaRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Shop_BuyEligma; + } + } + + public long GoodsUniqueId { get; set; } + public long ShopUniqueId { get; set; } + public long CharacterUniqueId { get; set; } + public long PurchaseCount { get; set; } + } + + public class ShopGachaRecruitListRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Shop_GachaRecruitList; + } + } + + } + + public class ShopGachaRecruitListResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Shop_GachaRecruitList; + } + } + + public List ShopRecruits { get; set; } + public List ShopFreeRecruitHistoryDBs { get; set; } + } + + public class ShopBuyRefreshMerchandiseRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Shop_BuyRefreshMerchandise; + } + } + + public List ShopUniqueIds { get; set; } + } + + public class ShopBuyRefreshMerchandiseResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Shop_BuyRefreshMerchandise; + } + } + + public AccountCurrencyDB AccountCurrencyDB { get; set; } + public ConsumeResultDB ConsumeResultDB { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + public List ShopProductDB { get; set; } + public MailDB MailDB { get; set; } + } + + public class ShopBuyAPRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Shop_BuyAP; + } + } + + public long ShopUniqueId { get; set; } + public long PurchaseCount { get; set; } + } + + public class ShopBuyAPResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Shop_BuyAP; + } + } + + public AccountCurrencyDB AccountCurrencyDB { get; set; } + public ConsumeResultDB ConsumeResultDB { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + public MailDB MailDB { get; set; } + public ShopProductDB ShopProductDB { get; set; } + } + + public class ShopBeforehandGachaGetRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Shop_BeforehandGachaGet; + } + } + + } + + public class ShopBeforehandGachaGetResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Shop_BeforehandGachaGet; + } + } + + public bool AlreadyPicked { get; set; } + public BeforehandGachaSnapshotDB BeforehandGachaSnapshot { get; set; } + } + + public class ShopBeforehandGachaRunRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Shop_BeforehandGachaRun; + } + } + + public long ShopUniqueId { get; set; } + public long GoodsId { get; set; } + } + + public class ShopBeforehandGachaRunResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Shop_BeforehandGachaRun; + } + } + + public BeforehandGachaSnapshotDB SelectGachaSnapshot { get; set; } + } + + public class ShopBeforehandGachaSaveRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Shop_BeforehandGachaSave; + } + } + + public long TargetIndex { get; set; } + } + + public class ShopBeforehandGachaSaveResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Shop_BeforehandGachaSave; + } + } + + public BeforehandGachaSnapshotDB SelectGachaSnapshot { get; set; } + } + + public class ShopBeforehandGachaPickRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Shop_BeforehandGachaPick; + } + } + + public long ShopUniqueId { get; set; } + public long GoodsId { get; set; } + public long TargetIndex { get; set; } + } + + public class ShopBeforehandGachaPickResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Shop_BeforehandGachaPick; + } + } + + public List GachaResults { get; set; } + public List AcquiredItems { get; set; } + } + + public class SkipHistoryListRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.SkipHistory_List; + } + } + + } + + public class SkipHistoryListResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.SkipHistory_List; + } + } + + public SkipHistoryDB SkipHistoryDB { get; set; } + } + + public class SkipHistorySaveRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.SkipHistory_Save; + } + } + + public SkipHistoryDB SkipHistoryDB { get; set; } + } + + public class SkipHistorySaveResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.SkipHistory_Save; + } + } + + public SkipHistoryDB SkipHistoryDB { get; set; } + } + + public class StickerLoginRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Sticker_Login; + } + } + + } + + public class StickerLoginResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Sticker_Login; + } + } + + public StickerBookDB StickerBookDB { get; set; } + } + + public class StickerLobbyRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Sticker_Lobby; + } + } + + public IEnumerable AcquireStickerUniqueIds { get; set; } + } + + public class StickerLobbyResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Sticker_Lobby; + } + } + + public IEnumerable ReceivedStickerDBs { get; set; } + public StickerBookDB StickerBookDB { get; set; } + } + + public class StickerUseStickerRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Sticker_UseSticker; + } + } + + public long StickerUniqueId { get; set; } + } + + public class StickerUseStickerResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Sticker_UseSticker; + } + } + + public StickerBookDB StickerBookDB { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class SystemVersionRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.System_Version; + } + } + + } + + public class SystemVersionResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.System_Version; + } + } + + public long CurrentVersion { get; set; } + public long MinimumVersion { get; set; } + public bool IsDevelopment { get; set; } + } + + public class TimeAttackDungeonLobbyRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.TimeAttackDungeon_Lobby; + } + } + + } + + public class TimeAttackDungeonLobbyResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.TimeAttackDungeon_Lobby; + } + } + + public Dictionary RoomDBs { get; set; } + public TimeAttackDungeonRoomDB PreviousRoomDB { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + public bool AchieveSeasonBestRecord { get; set; } + public long SeasonBestRecord { get; set; } + } + + public class TimeAttackDungeonCreateBattleRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.TimeAttackDungeon_CreateBattle; + } + } + + public bool IsPractice { get; set; } + } + + public class TimeAttackDungeonCreateBattleResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.TimeAttackDungeon_CreateBattle; + } + } + + public TimeAttackDungeonRoomDB RoomDB { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class TimeAttackDungeonEnterBattleRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.TimeAttackDungeon_EnterBattle; + } + } + + public long RoomId { get; set; } + public ClanAssistUseInfo AssistUseInfo { get; set; } + } + + public class TimeAttackDungeonEnterBattleResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.TimeAttackDungeon_EnterBattle; + } + } + + public AssistCharacterDB AssistCharacterDB { get; set; } + } + + public class TimeAttackDungeonEndBattleRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.TimeAttackDungeon_EndBattle; + } + } + + public int EchelonId { get; set; } + public long RoomId { get; set; } + public BattleSummary Summary { get; set; } + public ClanAssistUseInfo AssistUseInfo { get; set; } + } + + public class TimeAttackDungeonEndBattleResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.TimeAttackDungeon_EndBattle; + } + } + + public TimeAttackDungeonRoomDB RoomDB { get; set; } + public long TotalPoint { get; set; } + public long DefaultPoint { get; set; } + public long TimePoint { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class TimeAttackDungeonGiveUpRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.TimeAttackDungeon_GiveUp; + } + } + + public long RoomId { get; set; } + } + + public class TimeAttackDungeonGiveUpResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.TimeAttackDungeon_GiveUp; + } + } + + public TimeAttackDungeonRoomDB RoomDB { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + public bool AchieveSeasonBestRecord { get; set; } + public long SeasonBestRecord { get; set; } + } + + public class TimeAttackDungeonSweepRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.TimeAttackDungeon_Sweep; + } + } + + public long SweepCount { get; set; } + } + + public class TimeAttackDungeonSweepResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.TimeAttackDungeon_Sweep; + } + } + + public List> Rewards { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + public TimeAttackDungeonRoomDB RoomDB { get; set; } + } + + public class TimeAttackDungeonLoginRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.TimeAttackDungeon_Login; + } + } + + } + + public class TimeAttackDungeonLoginResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.TimeAttackDungeon_Login; + } + } + + public TimeAttackDungeonRoomDB PreviousRoomDB { get; set; } + } + + public class ToastListRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Toast_List; + } + } + + } + + public class ToastListResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.Toast_List; + } + } + + public List ToastDBs { get; set; } + } + + public class TTSGetFileRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.TTS_GetFile; + } + } + + } + + public class TTSGetFileResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.TTS_GetFile; + } + } + + public bool IsFileReady { get; set; } + public string TTSFileS3Uri { get; set; } + } + + public enum WebAPIErrorCode + { + None = 0, + InvalidPacket = 1, + InvalidProtocol = 2, + InvalidSession = 3, + InvalidVersion = 4, + InternalServerError = 5, + DBError = 6, + InvalidToken = 7, + FailedToLockAccount = 8, + InvalidCheatError = 9, + AccountCurrencyCannotAffordCost = 10, + ExceedTranscendenceCountLimit = 11, + MailBoxFull = 12, + InventoryAlreadyFull = 13, + AccountNotFound = 14, + DataClassNotFound = 15, + DataEntityNotFound = 16, + AccountGemPaidCannotAffordCost = 17, + AccountGemBonusCannotAffordCost = 18, + AccountItemCannotAffordCost = 19, + APITimeoutError = 20, + FunctionTimeoutError = 21, + DBDistributeTransactionError = 22, + OccasionalJobError = 23, + FailedToConsumeParcel = 100, + InvalidString = 200, + InvalidStringLength = 201, + EmptyString = 202, + SpecialSymbolNotAllowed = 203, + InvalidDate = 300, + CoolTimeRemain = 301, + TimeElapseError = 302, + ClientSendBadRequest = 400, + ClientSendTooManyRequest = 401, + ClientSuspectedAsCheater = 402, + CombatVerificationFailedInDev = 403, + ServerFailedToHandleRequest = 500, + DocumentDBFailedToHandleRequest = 501, + ServerCacheFailedToHandleRequest = 502, + ReconnectBundleUpdateRequired = 800, + GatewayMakeStandbyNotSupport = 900, + GatewayPassCheckNotSupport = 901, + GatewayWaitingTicketTimeOut = 902, + ClientUpdateRequire = 903, + AccountCreateNoDevId = 1000, + AccountCreateDuplicatedDevId = 1001, + AccountAuthEmptyDevId = 1002, + AccountAuthNotCreated = 1003, + AccountAccessControlWithoutPermission = 1004, + AccountNicknameEmptyString = 1005, + AccountNicknameSameName = 1006, + AccountNicknameWithInvalidString = 1007, + AccountNicknameWithInvalidLength = 1008, + YostarServerNotSuccessStatusCode = 1009, + YostarNetworkException = 1010, + YostarException = 1011, + AccoountPassCheckNotSupportCheat = 1012, + AccountCreateFail = 1013, + AccountAddPubliserAccountFail = 1014, + AccountAddDevIdFail = 1015, + AccountCreateAlreadyPublisherAccoundId = 1016, + AccountUpdateStateFail = 1017, + YostarCheckFail = 1018, + EnterTicketInvalid = 1019, + EnterTicketTimeOut = 1020, + EnterTicketUsed = 1021, + AccountCommentLengthOverLimit = 1022, + AccountUpdateBirthdayFailed = 1023, + AccountLoginError = 1024, + AccountCurrencySyncError = 1025, + InvalidClientCookie = 1026, + InappositeNicknameRestricted = 1027, + InappositeCommentRestricted = 1028, + InappositeCallnameRestricted = 1029, + CharacterNotFound = 2000, + CharacterLocked = 2001, + CharacterAlreadyHas = 2002, + CharacterAssignedEchelon = 2003, + CharacterFavorDownException = 2004, + CharacterFavorMaxLevelExceed = 2005, + CannotLevelUpSkill = 2006, + CharacterLevelAlreadyMax = 2007, + InvalidCharacterExpGrowthRequest = 2008, + CharacterWeaponDataNotFound = 2009, + CharacterWeaponNotFound = 2010, + CharacterWeaponAlreadyUnlocked = 2011, + CharacterWeaponUnlockConditionFail = 2012, + CharacterWeaponExpGrowthNotValidItem = 2013, + InvalidCharacterWeaponExpGrowthRequest = 2014, + CharacterWeaponTranscendenceRecipeNotFound = 2015, + CharacterWeaponTranscendenceConditionFail = 2016, + CharacterWeaponUpdateFail = 2017, + CharacterGearNotFound = 2018, + CharacterGearAlreadyEquiped = 2019, + CharacterGearCannotTierUp = 2020, + CharacterGearCannotUnlock = 2021, + CharacterCostumeNotFound = 2022, + CharacterCostumeAlreadySet = 2023, + CharacterCannotEquipCostume = 2024, + InvalidCharacterSkillLevelUpdateRequest = 2025, + InvalidCharacterPotentialGrowthRequest = 2026, + CharacterPotentialGrowthDataNotFound = 2027, + EquipmentNotFound = 3000, + InvalidEquipmentExpGrowthRequest = 3001, + EquipmentNotMatchingSlotItemCategory = 3002, + EquipmentLocked = 3003, + EquipmentAlreadyEquiped = 3004, + EquipmentConsumeItemLimitCountOver = 3005, + EquipmentNotEquiped = 3006, + EquipmentCanNotEquip = 3007, + EquipmentIngredientEmtpy = 3008, + EquipmentCannotLevelUp = 3009, + EquipmentCannotTierUp = 3010, + EquipmentGearCannotUnlock = 3011, + EquipmentBatchGrowthNotValid = 3012, + ItemNotFound = 4000, + ItemLocked = 4001, + ItemCreateWithoutStackCount = 4002, + ItemCreateStackCountFull = 4003, + ItemNotUsingType = 4004, + ItemEnchantIngredientFail = 4005, + ItemInvalidConsumeRequest = 4006, + ItemInsufficientStackCount = 4007, + ItemOverExpirationDateTime = 4008, + ItemCannotAutoSynth = 4009, + EchelonEmptyLeader = 5000, + EchelonNotFound = 5001, + EchelonNotDeployed = 5002, + EchelonSlotOverMaxCount = 5003, + EchelonAssignCharacterOnOtherEchelon = 5004, + EchelonTypeNotAcceptable = 5005, + EchelonEmptyNotAcceptable = 5006, + EchelonPresetInvalidSave = 5007, + EchelonPresetLabelLengthInvalid = 5008, + CampaignStageNotOpen = 6000, + CampaignStagePlayLimit = 6001, + CampaignStageEnterFail = 6002, + CampaignStageInvalidSaveData = 6003, + CampaignStageNotPlayerTurn = 6004, + CampaignStageStageNotFound = 6005, + CampaignStageHistoryNotFound = 6006, + CampaignStageChapterNotFound = 6007, + CampaignStageEchelonNotFound = 6008, + CampaignStageWithdrawedCannotReUse = 6009, + CampaignStageChapterRewardInvalidReward = 6010, + CampaignStageChapterRewardAlreadyReceived = 6011, + CampaignStageTacticWinnerInvalid = 6012, + CampaignStageActionCountZero = 6013, + CampaignStageHealNotAcceptable = 6014, + CampaignStageHealLimit = 6015, + CampaignStageLocationCanNotEngage = 6016, + CampaignEncounterWaitingCannotEndTurn = 6017, + CampaignTacticResultEmpty = 6018, + CampaignPortalExitNotFound = 6019, + CampaignCannotReachDestination = 6020, + CampaignChapterRewardConditionNotSatisfied = 6021, + CampaignStageDataInvalid = 6022, + ContentSweepNotOpened = 6023, + CampaignTacticSkipFailed = 6024, + CampaignUnableToRemoveFixedEchelon = 6025, + CampaignCharacterIsNotWhitelist = 6026, + CampaignFailedToSkipStrategy = 6027, + InvalidSweepRequest = 6028, + MailReceiveRequestInvalid = 7000, + MissionCannotComplete = 8000, + MissionRewardInvalid = 8001, + AttendanceInvalid = 9000, + ShopExcelNotFound = 10000, + ShopAndGoodsNotMatched = 10001, + ShopGoodsNotFound = 10002, + ShopExceedPurchaseCountLimit = 10003, + ShopCannotRefresh = 10004, + ShopInfoNotFound = 10005, + ShopCannotPurchaseActionPointLimitOver = 10006, + ShopNotOpened = 10007, + ShopInvalidGoods = 10008, + ShopInvalidCostOrReward = 10009, + ShopEligmaOverPurchase = 10010, + ShopFreeRecruitInvalid = 10011, + ShopNewbieGachaInvalid = 10012, + ShopCannotNewGoodsRefresh = 10013, + GachaCostNotValid = 10014, + ShopRestrictBuyWhenInventoryFull = 10015, + BeforehandGachaMetadataNotFound = 10016, + BeforehandGachaCandidateNotFound = 10017, + BeforehandGachaInvalidLastIndex = 10018, + BeforehandGachaInvalidSaveIndex = 10019, + BeforehandGachaInvalidPickIndex = 10020, + BeforehandGachaDuplicatedResults = 10021, + RecipeCraftNoData = 11000, + RecipeCraftInsufficientIngredients = 11001, + RecipeCraftDataError = 11002, + MemoryLobbyNotFound = 12000, + LobbyModeChangeFailed = 12001, + CumulativeTimeRewardNotFound = 13000, + CumulativeTimeRewardAlreadyReceipt = 13001, + CumulativeTimeRewardInsufficientConnectionTime = 13002, + OpenConditionClosed = 14000, + OpenConditionSetNotSupport = 14001, + CafeNotFound = 15000, + CafeFurnitureNotFound = 15001, + CafeDeployFail = 15002, + CafeRelocateFail = 15003, + CafeInteractionNotFound = 15004, + CafeProductionEmpty = 15005, + CafeRankUpFail = 15006, + CafePresetNotFound = 15007, + CafeRenamePresetFail = 15008, + CafeClearPresetFail = 15009, + CafeUpdatePresetFurnitureFail = 15010, + CafeReservePresetActivationTimeFail = 15011, + CafePresetApplyFail = 15012, + CafePresetIsEmpty = 15013, + CafeAlreadyVisitCharacter = 15014, + CafeCannotSummonCharacter = 15015, + CafeCanRefreshVisitCharacter = 15016, + CafeAlreadyInteraction = 15017, + CafeTemplateNotFound = 15018, + CafeAlreadyOpened = 15019, + CafeNoPlaceToTravel = 15020, + CafeCannotTravelToOwnCafe = 15021, + ScenarioMode_Fail = 16000, + ScenarioMode_DuplicatedScenarioModeId = 16001, + ScenarioMode_LimitClearedScenario = 16002, + ScenarioMode_LimitAccountLevel = 16003, + ScenarioMode_LimitClearedStage = 16004, + ScenarioMode_LimitClubStudent = 16005, + ScenarioMode_FailInDBProcess = 16006, + ScenarioGroup_DuplicatedScenarioGroupId = 16007, + ScenarioGroup_FailInDBProcess = 16008, + ScenarioGroup_DataNotFound = 16009, + ScenarioGroup_MeetupConditionFail = 16010, + CraftInfoNotFound = 17000, + CraftCanNotCreateNode = 17001, + CraftCanNotUpdateNode = 17002, + CraftCanNotBeginProcess = 17003, + CraftNodeDepthError = 17004, + CraftAlreadyProcessing = 17005, + CraftCanNotCompleteProcess = 17006, + CraftProcessNotComplete = 17007, + CraftInvalidIngredient = 17008, + CraftError = 17009, + CraftInvalidData = 17010, + CraftNotAvailableToCafePresets = 17011, + CraftNotEnoughEmptySlotCount = 17012, + CraftInvalidPresetSlotDB = 17013, + RaidExcelDataNotFound = 18000, + RaidSeasonNotOpen = 18001, + RaidDBDataNotFound = 18002, + RaidBattleNotFound = 18003, + RaidBattleUpdateFail = 18004, + RaidCompleteListEmpty = 18005, + RaidRoomCanNotCreate = 18006, + RaidActionPointZero = 18007, + RaidTicketZero = 18008, + RaidRoomCanNotJoin = 18009, + RaidRoomMaxPlayer = 18010, + RaidRewardDataNotFound = 18011, + RaidSeasonRewardNotFound = 18012, + RaidSeasonAlreadyReceiveReward = 18013, + RaidSeasonAddRewardPointError = 18014, + RaidSeasonRewardNotUpdate = 18015, + RaidSeasonReceiveRewardFail = 18016, + RaidSearchNotFound = 18017, + RaidShareNotFound = 18018, + RaidEndRewardFlagError = 18019, + RaidCanNotFoundPlayer = 18020, + RaidAlreadyParticipateCharacters = 18021, + RaidClearHistoryNotSave = 18022, + RaidBattleAlreadyEnd = 18023, + RaidEchelonNotFound = 18024, + RaidSeasonOpen = 18025, + RaidRoomIsAlreadyClose = 18026, + RaidRankingNotFound = 18027, + WeekDungeonInfoNotFound = 19000, + WeekDungeonNotOpenToday = 19001, + WeekDungeonBattleWinnerInvalid = 19002, + WeekDungeonInvalidSaveData = 19003, + FindGiftRewardNotFound = 20000, + FindGiftRewardAlreadyAcquired = 20001, + FindGiftClearCountOverTotalCount = 20002, + ArenaInfoNotFound = 21000, + ArenaGroupNotFound = 21001, + ArenaRankHistoryNotFound = 21002, + ArenaRankInvalid = 21003, + ArenaBattleFail = 21004, + ArenaDailyRewardAlreadyBeenReceived = 21005, + ArenaNoSeasonAvailable = 21006, + ArenaAttackCoolTime = 21007, + ArenaOpponentAlreadyBeenAttacked = 21008, + ArenaOpponentRankInvalid = 21009, + ArenaNeedFormationSetting = 21010, + ArenaNoHistory = 21011, + ArenaInvalidRequest = 21012, + ArenaInvalidIndex = 21013, + ArenaNotFoundBattle = 21014, + ArenaBattleTimeOver = 21015, + ArenaRefreshTimeOver = 21016, + ArenaEchelonSettingTimeOver = 21017, + ArenaCannotReceiveReward = 21018, + ArenaRewardNotExist = 21019, + ArenaCannotSetMap = 21020, + ArenaDefenderRankChange = 21021, + AcademyNotFound = 22000, + AcademyScheduleTableNotFound = 22001, + AcademyScheduleOperationNotFound = 22002, + AcademyAlreadyAttendedSchedule = 22003, + AcademyAlreadyAttendedFavorSchedule = 22004, + AcademyRewardCharacterNotFound = 22005, + AcademyScheduleCanNotAttend = 22006, + AcademyTicketZero = 22007, + AcademyMessageCanNotSend = 22008, + ContentSaveDBNotFound = 26000, + ContentSaveDBEntranceFeeEmpty = 26001, + AccountBanned = 27000, + ServerNowLoadingProhibitedWord = 28000, + ServerIsUnderMaintenance = 28001, + ServerMaintenanceSoon = 28002, + AccountIsNotInWhiteList = 28003, + ServerContentsLockUpdating = 28004, + ServerContentsLock = 28005, + CouponIsEmpty = 29000, + CouponIsInvalid = 29001, + UseCouponUsedListReadFail = 29002, + UseCouponUsedCoupon = 29003, + UseCouponNotFoundSerials = 29004, + UseCouponDeleteSerials = 29005, + UseCouponUnapprovedSerials = 29006, + UseCouponExpiredSerials = 29007, + UseCouponMaximumSerials = 29008, + UseCouponNotFoundMeta = 29009, + UseCouponDuplicateUseCoupon = 29010, + UseCouponDuplicateUseSerial = 29011, + BillingStartShopCashIdNotFound = 30000, + BillingStartNotServiceTime = 30001, + BillingStartUseConditionCheckError = 30002, + BillingStartSmallLevel = 30003, + BillingStartMaxPurchaseCount = 30004, + BillingStartFailAddOrder = 30005, + BillingStartExistPurchase = 30006, + BillingEndFailGetOrder = 30007, + BillingEndShopCashIdNotFound = 30008, + BillingEndProductIdNotFound = 30009, + BillingEndMonthlyProductIdNotFound = 30010, + BillingEndInvalidState = 30011, + BillingEndFailUpdteState = 30012, + BillingEndFailSendMail = 30013, + BillingEndInvalidAccount = 30014, + BillingEndNotFoundPurchaseCount = 30015, + BillingEndFailUpdteMonthlyProduct = 30016, + BillingStartMailFull = 30017, + BillingStartInventoryAndMailFull = 30018, + BillingEndRecvedErrorMonthlyProduct = 30019, + MonthlyProductNotOutdated = 30020, + ClanNotFound = 31000, + ClanSearchFailed = 31001, + ClanEmptySearchString = 31002, + ClanAccountAlreadyJoinedClan = 31003, + ClanAccountAlreadyQuitClan = 31004, + ClanCreateFailed = 31005, + ClanMemberExceedCapacity = 31006, + ClanDoesNotHavePermission = 31007, + ClanTargetAccountIsNotApplicant = 31008, + ClanMemberNotFound = 31009, + ClanCanNotKick = 31010, + ClanCanNotDismiss = 31011, + ClanCanNotQuit = 31012, + ClanRejoinCoolOff = 31013, + ClanChangeMemberGradeFailed = 31014, + ClanHasBeenDisMissed = 31015, + ClanCannotChangeJoinOption = 31016, + ClanExceedConferCountLimit = 31017, + ClanBusy = 31018, + ClanNameEmptyString = 31019, + ClanNameWithInvalidLength = 31020, + ClanAssistCharacterAlreadyDeployed = 31021, + ClanAssistNotValidUse = 31022, + ClanAssistCharacterChanged = 31023, + ClanAssistCoolTime = 31024, + ClanAssistAlreadyUsedInRaidRoom = 31025, + ClanAssistAlreadyUsedInTimeAttackDungeonRoom = 31026, + ClanAssistEchelonHasAssistOnly = 31027, + PaymentInvalidSign = 32000, + PaymentInvalidSeed1 = 32001, + PaymentInvalidSeed2 = 32002, + PaymentInvalidInput = 32003, + PaymentNotFoundPurchase = 32004, + PaymentGetPurchaseOrderNotZero = 32005, + PaymentSetPurchaseOrderNotZero = 32006, + PaymentException = 32007, + PaymentInvalidState = 32008, + SessionNotFound = 33000, + SessionParseFail = 33001, + SessionInvalidInput = 33002, + SessionNotAuth = 33003, + SessionDuplicateLogin = 33004, + SessionTimeOver = 33005, + SessionInvalidVersion = 33006, + SessionChangeDate = 33007, + CallName_RenameCoolTime = 34000, + CallName_EmptyString = 34001, + CallName_InvalidString = 34002, + CallName_TTSServerIsNotAvailable = 34003, + CouchbaseInvalidCas = 35000, + CouchbaseOperationFailed = 35001, + CouchbaseRollBackFailed = 35002, + EventContentCannotSelectBuff = 36000, + EventContentNoBuffGroupAvailable = 36001, + EventContentBuffGroupIdDuplicated = 36002, + EventContentNotOpen = 36003, + EventContentNoTotalRewardAvailable = 36004, + EventContentBoxGachaPurchaseFailed = 36005, + EventContentBoxGachaCannotRefresh = 36006, + EventContentCardShopCannotShuffle = 36007, + EventContentElementDoesNotExist = 36008, + EventContentElementAlreadyPurchased = 36009, + EventContentLocationNotFound = 36010, + EventContentLocationScheduleCanNotAttend = 36011, + EventContentDiceRaceDataNotFound = 36012, + EventContentDiceRaceAlreadyReceiveLapRewardAll = 36013, + EventContentDiceRaceInvalidDiceRaceResultType = 36014, + EventContentTreasureDataNotFound = 36015, + EventContentTreasureNotComplete = 36016, + EventContentTreasureFlipFailed = 36017, + MiniGameStageIsNotOpen = 37000, + MiniGameStageInvalidResult = 37001, + MiniGameShootingStageInvlid = 37002, + MiniGameShootingCannotSweep = 37003, + MiniGameTableBoardSaveNotExist = 37004, + MiniGameTableBoardPlayerCannotMove = 37005, + MiniGameTableBoardNoActiveEncounter = 37006, + MiniGameTableBoardInvalidEncounterRequest = 37007, + MiniGameTableBoardProcessEncounterFailed = 37008, + MiniGameTableBoardItemNotExist = 37009, + MiniGameTableBoardInvalidItemUse = 37010, + MiniGameTableBoardInvalidClearThemaRequest = 37011, + MiniGameTableBoardInvalidSeason = 37012, + MiniGameTableBoardInvalidResurrectRequest = 37013, + MiniGameTableBoardSweepConditionFail = 37014, + MiniGameTableBoardInvalidData = 37015, + MiniGameDreamCannotStartNewGame = 37016, + MiniGameDreamCannotApplyMultiplier = 37017, + MiniGameDreamCannotReset = 37018, + MiniGameDreamNotEnoughActionCount = 37019, + MiniGameDreamSaveNotExist = 37020, + MiniGameDreamActionCountRemain = 37021, + MiniGameDreamRoundNotComplete = 37022, + MiniGameDreamRewardAlreadyReceived = 37023, + MiniGameDreamRoundCompleted = 37024, + MiniGameShouldReceiveEndingReward = 37025, + MiniGameDefenseCannotUseCharacter = 37026, + MiniGameDefenseNotOpenStage = 37027, + MiniGameDefenseCannotApplyMultiplier = 37028, + ProofTokenNotSubmitted = 38000, + SchoolDungeonInfoNotFound = 39000, + SchoolDungeonNotOpened = 39001, + SchoolDungeonInvalidSaveData = 39002, + SchoolDungeonBattleWinnerInvalid = 39003, + SchoolDungeonInvalidReward = 39004, + TimeAttackDungeonDataNotFound = 40000, + TimeAttackDungeonNotOpen = 40001, + TimeAttackDungeonRoomTimeOut = 40002, + TimeAttackDungeonRoomPlayCountOver = 40003, + TimeAttackDungeonRoomAlreadyExists = 40004, + TimeAttackDungeonRoomAlreadyClosed = 40005, + TimeAttackDungeonRoomNotExist = 40006, + TimeAttackDungeonInvalidRequest = 40007, + TimeAttackDungeonInvalidData = 40008, + WorldRaidDataNotFound = 41000, + WorldRaidSeasonNotOpen = 41001, + WorldRaidBossGroupNotOpen = 41002, + WorldRaidInvalidOpenCondition = 41003, + WorldRaidDifficultyNotOpen = 41004, + WorldRaidAssistCharacterLimitOver = 41005, + WorldRaidContainBlackListCharacter = 41006, + WorldRaidValidFixedEchelonSetting = 41007, + WorldRaidAlredayReceiveRewardAll = 41008, + WorldRaidCannotReceiveReward = 41009, + WorldRaidBossAlreadyDead = 41010, + WorldRaidNotAnotherBossKilled = 41011, + WorldRaidBattleResultUpdateFailed = 41012, + WorldRaidGemEnterCountLimitOver = 41013, + WorldRaidCannotGemEnter = 41014, + WorldRaidNeedClearScenarioBoss = 41015, + WorldRaidBossIsAlive = 41016, + ConquestDataNotFound = 42000, + ConquestAlreadyConquested = 42001, + ConquestNotFullyConquested = 42002, + ConquestStepNotOpened = 42003, + ConquestUnableToReach = 42004, + ConquestUnableToAttack = 42005, + ConquestEchelonChangedCountMax = 42006, + ConquestEchelonNotFound = 42007, + ConquestCharacterAlreadyDeployed = 42008, + ConquestMaxUpgrade = 42009, + ConquestUnitNotFound = 42010, + ConquestObjectNotFound = 42011, + ConquestCalculateRewardNotFound = 42012, + ConquestInvalidTileType = 42013, + ConquestInvalidObjectType = 42014, + ConquestInvalidSaveData = 42015, + ConquestMaxAssistCountReached = 42016, + ConquestErosionConditionNotSatisfied = 42017, + ConquestAdditionalContentNotInUse = 42018, + ConquestCannotUseManageEchelon = 42019, + FriendUserIsNotFriend = 43000, + FriendFailedToCreateFriendIdCard = 43001, + FriendRequestNotFound = 43002, + FriendInvalidFriendCode = 43003, + FriendAlreadyFriend = 43004, + FriendMaxSentRequestReached = 43005, + FriendMaxReceivedRequestReached = 43006, + FriendCannotRequestMaxFriendCountReached = 43007, + FriendCannotAcceptMaxFriendCountReached = 43008, + FriendOpponentMaxFriendCountReached = 43009, + FriendTargetIsBusy = 43010, + FriendRequestTargetIsYourself = 43011, + FriendSearchTargetIsYourself = 43012, + FriendInvalidBackgroundId = 43013, + FriendIdCardCommentLengthOverLimit = 43014, + FriendBackgroundNotOwned = 43015, + FriendBlockTargetIsYourself = 43016, + FriendBlockTargetIsAlreadyBlocked = 43017, + FriendBlockTargetIsExceedMaxCount = 43018, + FriendBlockUserCannotOpenProfile = 43019, + FriendBlockUserCannotSendRequest = 43020, + EliminateStageIsNotOpened = 44000, + MultiSweepPresetDocumentNotFound = 45000, + MultiSweepPresetNameEmpty = 45001, + MultiSweepPresetInvalidStageId = 45002, + MultiSweepPresetInvalidId = 45003, + MultiSweepPresetNameInvalidLength = 45004, + MultiSweepPresetTooManySelectStageId = 45005, + MultiSweepPresetInvalidSweepCount = 45006, + MultiSweepPresetTooManySelectParcelId = 45007, + EmblemDataNotFound = 46000, + EmblemAttachFailed = 46001, + EmblemCannotReceive = 46002, + EmblemPassCheckEmblemIsEmpty = 46003, + StickerDataNotFound = 47000, + StickerNotAcquired = 47001, + StickerDocumentNotFound = 47002, + StickerAlreadyUsed = 47003, + ClearDeckInvalidKey = 48000, + ClearDeckOutOfDate = 48001, + FieldDataNotFound = 60000, + FieldInteracionFailed = 60001, + FieldQuestClearFailed = 60002, + FieldInvalidSceneChangedRequest = 60003, + FieldInvalidEndDateRequest = 60004, + FieldCreateDailyQuestFailed = 60005, + FieldResetReplayFailed = 60006, + FieldIncreaseMasteryFailed = 60007, + FieldStageDataInvalid = 60008, + FieldStageEnterFail = 60009, + FieldContentIsClosed = 60010, + FieldEventStageNotCleared = 60011, + MultiFloorRaidSeasonNotOpened = 49000, + MultiFloorRaidDataNotFound = 49001, + MultiFloorRaidAssistCharacterLimitOver = 49002, + MultiFloorRaidStageOpenConditionFail = 49003, + MultiFloorRaidInvalidSummary = 49004, + MultiFloorRaidInvalidRewardRequest = 49005, + } + + public class WeekDungeonListRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.WeekDungeon_List; + } + } + + } + + public class WeekDungeonListResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.WeekDungeon_List; + } + } + + public List AdditionalStageIdList { get; set; } + public List WeekDungeonStageHistoryDBList { get; set; } + } + + public class WeekDungeonEnterBattleRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.WeekDungeon_EnterBattle; + } + } + + public long StageUniqueId { get; set; } + public long EchelonIndex { get; set; } + } + + public class WeekDungeonEnterBattleResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.WeekDungeon_EnterBattle; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + public int Seed { get; set; } + public int Sequence { get; set; } + } + + public class WeekDungeonBattleResultRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.WeekDungeon_BattleResult; + } + } + + public long StageUniqueId { get; set; } + public bool PassCheckCharacter { get; set; } + public BattleSummary Summary { get; set; } + } + + public class WeekDungeonBattleResultResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.WeekDungeon_BattleResult; + } + } + + public WeekDungeonStageHistoryDB WeekDungeonStageHistoryDB { get; set; } + public List LevelUpCharacterDBs { get; set; } + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class WeekDungeonRetreatRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.WeekDungeon_Retreat; + } + } + + public long StageUniqueId { get; set; } + } + + public class WeekDungeonRetreatResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.WeekDungeon_Retreat; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class WorldRaidLobbyRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.WorldRaid_Lobby; + } + } + + public long SeasonId { get; set; } + } + + public class WorldRaidLobbyResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.WorldRaid_Lobby; + } + } + + public List ClearHistoryDBs { get; set; } + public List LocalBossDBs { get; set; } + public List BossGroups { get; set; } + } + + public class WorldRaidBossListRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.WorldRaid_BossList; + } + } + + public long SeasonId { get; set; } + public bool RequestOnlyWorldBossData { get; set; } + } + + public class WorldRaidBossListResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.WorldRaid_BossList; + } + } + + public List BossListInfoDBs { get; set; } + } + + public class WorldRaidEnterBattleRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.WorldRaid_EnterBattle; + } + } + + public long SeasonId { get; set; } + public long GroupId { get; set; } + public long UniqueId { get; set; } + public long EchelonId { get; set; } + public bool IsPractice { get; set; } + public bool IsTicket { get; set; } + public List AssistUseInfos { get; set; } + } + + public class WorldRaidEnterBattleResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.WorldRaid_EnterBattle; + } + } + + public RaidBattleDB RaidBattleDB { get; set; } + public List AssistCharacterDBs { get; set; } + } + + public class WorldRaidBattleResultRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.WorldRaid_BattleResult; + } + } + + public long SeasonId { get; set; } + public long GroupId { get; set; } + public long UniqueId { get; set; } + public long EchelonId { get; set; } + public bool IsPractice { get; set; } + public bool IsTicket { get; set; } + public BattleSummary Summary { get; set; } + public List AssistUseInfos { get; set; } + } + + public class WorldRaidBattleResultResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.WorldRaid_BattleResult; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + } + + public class WorldRaidReceiveRewardRequest : RequestPacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.WorldRaid_ReceiveReward; + } + } + + public long SeasonId { get; set; } + } + + public class WorldRaidReceiveRewardResponse : ResponsePacket + { + public override Protocol Protocol + { + get + { + return NetworkProtocol.Protocol.WorldRaid_ReceiveReward; + } + } + + public ParcelResultDB ParcelResultDB { get; set; } + } - public class StickerLoginRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Sticker_Login; - } - } - } - - - public class TTSGetFileRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.TTS_GetFile; - } - } - } - - - public class WorldRaidEnterBattleRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.WorldRaid_EnterBattle; - } - } - public long SeasonId { get; set; } - public long GroupId { get; set; } - public long UniqueId { get; set; } - public long EchelonId { get; set; } - public bool IsPractice { get; set; } - public bool IsTicket { get; set; } - public List AssistUseInfos { get; set; } - } - - - public class WeekDungeonBattleResultRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.WeekDungeon_BattleResult; - } - } - public long StageUniqueId { get; set; } - public bool PassCheckCharacter { get; set; } - public BattleSummary Summary { get; set; } - } - - - public class ShopBeforehandGachaSaveResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Shop_BeforehandGachaSave; - } - } - public BeforehandGachaSnapshotDB SelectGachaSnapshot { get; set; } - } - - - public class TimeAttackDungeonGiveUpResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.TimeAttackDungeon_GiveUp; - } - } - public TimeAttackDungeonRoomDB RoomDB { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - public bool AchieveSeasonBestRecord { get; set; } - public long SeasonBestRecord { get; set; } - } - - - public class StickerLoginResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Sticker_Login; - } - } - public StickerBookDB StickerBookDB { get; set; } - } - - - public class TimeAttackDungeonLobbyResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.TimeAttackDungeon_Lobby; - } - } - public Dictionary RoomDBs { get; set; } - public TimeAttackDungeonRoomDB PreviousRoomDB { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - public bool AchieveSeasonBestRecord { get; set; } - public long SeasonBestRecord { get; set; } - } - - - public class TTSGetFileResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.TTS_GetFile; - } - } - public bool IsFileReady { get; set; } - public string TTSFileS3Uri { get; set; } - } - - - public class WorldRaidEnterBattleResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.WorldRaid_EnterBattle; - } - } - public RaidBattleDB RaidBattleDB { get; set; } - public List AssistCharacterDBs { get; set; } - } - - - public class ShopBeforehandGachaPickRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Shop_BeforehandGachaPick; - } - } - public long ShopUniqueId { get; set; } - public long GoodsId { get; set; } - public long TargetIndex { get; set; } - } - - - public class WeekDungeonBattleResultResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.WeekDungeon_BattleResult; - } - } - public WeekDungeonStageHistoryDB WeekDungeonStageHistoryDB { get; set; } - public List LevelUpCharacterDBs { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class TimeAttackDungeonSweepRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.TimeAttackDungeon_Sweep; - } - } - public long SweepCount { get; set; } - } - - - public class TimeAttackDungeonCreateBattleRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.TimeAttackDungeon_CreateBattle; - } - } - public bool IsPractice { get; set; } - } - - - public class StickerLobbyRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Sticker_Lobby; - } - } - public IEnumerable AcquireStickerUniqueIds { get; set; } - } - - - public class ShopBeforehandGachaPickResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Shop_BeforehandGachaPick; - } - } - public List GachaResults { get; set; } - public List AcquiredItems { get; set; } - } - - - public class WorldRaidBattleResultRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.WorldRaid_BattleResult; - } - } - public long SeasonId { get; set; } - public long GroupId { get; set; } - public long UniqueId { get; set; } - public long EchelonId { get; set; } - public bool IsPractice { get; set; } - public bool IsTicket { get; set; } - public BattleSummary Summary { get; set; } - public List AssistUseInfos { get; set; } - } - - - public class WeekDungeonRetreatRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.None; - } - } - public long StageUniqueId { get; set; } - } - - - public class TimeAttackDungeonSweepResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.TimeAttackDungeon_Sweep; - } - } - public List> Rewards { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - public TimeAttackDungeonRoomDB RoomDB { get; set; } - } - - - public class StickerLobbyResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.Sticker_Lobby; - } - } - public IEnumerable ReceivedStickerDBs { get; set; } - public StickerBookDB StickerBookDB { get; set; } - } - - - public class WeekDungeonRetreatResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.WeekDungeon_Retreat; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class WorldRaidBattleResultResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.WorldRaid_BattleResult; - } - } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class TimeAttackDungeonCreateBattleResponse : ResponsePacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.TimeAttackDungeon_CreateBattle; - } - } - public TimeAttackDungeonRoomDB RoomDB { get; set; } - public ParcelResultDB ParcelResultDB { get; set; } - } - - - public class WeekDungeonListRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.WeekDungeon_List; - } - } - } - - - public class WorldRaidReceiveRewardRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.WorldRaid_ReceiveReward; - } - } - public long SeasonId { get; set; } - } - - - public class WorldRaidLobbyRequest : RequestPacket - { - public override Protocol Protocol - { - get - { - return NetworkProtocol.Protocol.WorldRaid_Lobby; - } - } - public long SeasonId { get; set; } - } } diff --git a/SCHALE.Common/Parcel/parcel.cs b/SCHALE.Common/Parcel/parcel.cs deleted file mode 100644 index 911cd5d..0000000 --- a/SCHALE.Common/Parcel/parcel.cs +++ /dev/null @@ -1,338 +0,0 @@ - -using Newtonsoft.Json; -using SCHALE.Common.Database; -using SCHALE.Common.FlatData; -using System.Net.NetworkInformation; - -namespace SCHALE.Common.Parcel -{ - - public class CurrencyValue - { - public Dictionary Values { get; set; } - public Dictionary Tickets { get; set; } - public Dictionary Property { get; set; } - public long Gold { get; set; } - public long Gem { get; set; } - public long GemBonus { get; set; } - public long GemPaid { get; set; } - public long ActionPoint { get; set; } - public long ArenaTicket { get; set; } - public long RaidTicket { get; set; } - public long WeekDungeonChaserATicket { get; set; } - public long WeekDungeonChaserBTicket { get; set; } - public long WeekDungeonChaserCTicket { get; set; } - public long WeekDungeonFindGiftTicket { get; set; } - public long WeekDungeonBloodTicket { get; set; } - public long AcademyTicket { get; set; } - public long SchoolDungeonATicket { get; set; } - public long SchoolDungeonBTicket { get; set; } - public long SchoolDungeonCTicket { get; set; } - public long TimeAttackDungeonTicket { get; set; } - public long MasterCoin { get; set; } - public long WorldRaidTicketA { get; set; } - public long WorldRaidTicketB { get; set; } - public long WorldRaidTicketC { get; set; } - public long ChaserTotalTicket { get; set; } - public long SchoolDungeonTotalTicket { get; set; } - public long EliminateTicketA { get; set; } - public long EliminateTicketB { get; set; } - public long EliminateTicketC { get; set; } - public bool IsEmpty { get; set; } - } - - - public class FavorExpTransaction - { - public ParcelType Type { get; set; } - public IEnumerable ParcelInfos { get; set; } - public long TargetCharacterUniqueId { get; set; } - public long Amount { get; set; } - public long Prob { get; set; } - } - - - public class FavorParcelValue - { - public int FavorRank { get; set; } - public int FavorExp { get; set; } - //public IList Rewards { get; set; } - public bool IsEmpty { get; set; } - } - - - public class LocationExpTransaction - { - public ParcelType Type { get; set; } - public IEnumerable ParcelInfos { get; set; } - public long TargetLocationUniqueId { get; set; } - public long Amount { get; set; } - } - - - public abstract class ParcelBase - { - public abstract ParcelType Type { get; } - - [JsonIgnore] - public abstract IEnumerable ParcelInfos { get; } - } - - - public class ParcelCost - { - public List ParcelInfos { get; set; } - public CurrencyTransaction Currency { get; set; } - public List EquipmentDBs { get; set; } - public List ItemDBs { get; set; } - public List FurnitureDBs { get; set; } - public bool HasCurrency { get; set; } - public bool HasItem { get; set; } - public IEnumerable ConsumableItemBaseDBs { get; set; } - public ConsumeCondition ConsumeCondition { get; set; } - } - - - public class ParcelDetail - { - public ParcelInfo OriginParcel { get; set; } - public ParcelInfo MailSendParcel { get; set; } - public List ConvertedParcelInfos { get; set; } - public ParcelChangeType ParcelChangeType { get; set; } - } - - [Serializable] - public struct BasisPoint : IEquatable, IComparable - { - //[JsonIgnore] - //public long RawValue - //{ - // get - // { - // return this.rawValue; - // } - //} - - private static readonly long Multiplier; - - private static readonly double OneOver10_4 = 1.0 / 10000.0; - - public static readonly BasisPoint Zero; - - public static readonly BasisPoint One; - - public static readonly BasisPoint Epsilon; - - public static readonly double DoubleEpsilon; - - public long rawValue { get; set; } - - public BasisPoint(long rawValue) - { - this.rawValue = rawValue; - } - - public bool Equals(BasisPoint other) - { - return this.rawValue == other.rawValue; - } - - public int CompareTo(BasisPoint other) - { - return rawValue.CompareTo(other.rawValue); - } - - public static long operator *(long value, BasisPoint other) - { - return MultiplyLong(value, other); - } - - public static long MultiplyLong(long value, BasisPoint other) - { - double result = OneOver10_4 * ((double)other.rawValue * value); - - if (double.IsInfinity(result)) - return long.MaxValue; - - return (long)result; - } - } - - public class ParcelInfo : IEquatable - { - public long Amount { get; set; } - - public ParcelKeyPair Key { get; set; } - - public BasisPoint Multiplier { get; set; } - - [JsonIgnore] - public long MultipliedAmount - { - get - { - return Amount * Multiplier; - } - } - - public BasisPoint Probability { get; set; } - - public bool Equals(ParcelInfo? other) - { - return this.Key.Id.Equals(other.Key.Id); - } - } - - public class ParcelKeyPair : IEquatable, IComparable - { - public static readonly ParcelKeyPair Empty; - - public ParcelType Type { get; set; } - - public long Id { get; set; } - - public int CompareTo(ParcelKeyPair? other) - { - return Id.CompareTo(other.Id); - } - - public bool Equals(ParcelKeyPair? other) - { - return Id.Equals(other.Id); - } - } - - - public class ParcelResultDB - { - public AccountDB AccountDB { get; set; } - public List AcademyLocationDBs { get; set; } - public AccountCurrencyDB AccountCurrencyDB { get; set; } - public List CharacterDBs { get; set; } - public List WeaponDBs { get; set; } - public List CostumeDBs { get; set; } - public List TSSCharacterDBs { get; set; } - public Dictionary EquipmentDBs { get; set; } - public List RemovedEquipmentIds { get; set; } - public Dictionary ItemDBs { get; set; } - public List RemovedItemIds { get; set; } - public Dictionary FurnitureDBs { get; set; } - public List RemovedFurnitureIds { get; set; } - public Dictionary IdCardBackgroundDBs { get; set; } - public List EmblemDBs { get; set; } - public List StickerDBs { get; set; } - public List MemoryLobbyDBs { get; set; } - public List CharacterNewUniqueIds { get; set; } - public Dictionary SecretStoneCharacterIdAndCounts { get; set; } - public List DisplaySequence { get; set; } - public List ParcelForMission { get; set; } - public List ParcelResultStepInfoList { get; set; } - public long BaseAccountExp { get; set; } - public long AdditionalAccountExp { get; set; } - public List GachaResultCharacters { get; set; } - } - - public enum ParcelProcessActionType - { - // Token: 0x04009F7B RID: 40827 - None, - // Token: 0x04009F7C RID: 40828 - Cost, - // Token: 0x04009F7D RID: 40829 - Reward - } - - public class ParcelResultStepInfo - { - public ParcelProcessActionType ParcelProcessActionType { get; set; } - public List StepParcelDetails { get; set; } - } - - public class AccountExpTransaction - { - public ParcelType Type { get; set; } - public IEnumerable ParcelInfos { get; set; } - public long Amount { get; set; } - } - - - public class CharacterExpTransaction - { - public ParcelType Type { get; set; } - public IEnumerable ParcelInfos { get; set; } - public long TargetCharacterUniqueId { get; set; } - public long Amount { get; set; } - } - - - public class CurrencySnapshot - { - public AccountCurrencyDB LastAccountCurrencyDB { get; set; } - public Dictionary CurrencyValues { get; set; } - public CurrencyValue currencyValue { get; set; } - public DateTime ServerTimeSnapshot { get; set; } - public long Gold { get; set; } - public long Gem { get; set; } - public long GemBonus { get; set; } - public long GemPaid { get; set; } - public long ActionPoint { get; set; } - public long ArenaTicket { get; set; } - public long RaidTicket { get; set; } - public long WeekDungeonChaserATicket { get; set; } - public long WeekDungeonChaserBTicket { get; set; } - public long WeekDungeonChaserCTicket { get; set; } - public long WeekDungeonFindGiftTicket { get; set; } - public long WeekDungeonBloodTicket { get; set; } - public long AcademyTicket { get; set; } - public long SchoolDungeonATicket { get; set; } - public long SchoolDungeonBTicket { get; set; } - public long SchoolDungeonCTicket { get; set; } - public long TimeAttackDungeonTicket { get; set; } - public long MasterCoin { get; set; } - public long WorldRaidTicketA { get; set; } - public long WorldRaidTicketB { get; set; } - public long WorldRaidTicketC { get; set; } - public long ChaserTotalTicket { get; set; } - public long SchoolDungeonTotalTicket { get; set; } - public long EliminateTicketA { get; set; } - public long EliminateTicketB { get; set; } - public long EliminateTicketC { get; set; } - } - - - public class CurrencyTransaction - { - public CurrencyValue currencyValue { get; set; } - public ParcelType Type { get; set; } - public IEnumerable ParcelInfos { get; set; } - public IDictionary CurrencyValues { get; set; } - public CurrencyTransaction Inverse { get; set; } - public bool IsEmpty { get; set; } - public long Gold { get; set; } - public long Gem { get; set; } - public long GemBonus { get; set; } - public long GemPaid { get; set; } - public long ActionPoint { get; set; } - public long ArenaTicket { get; set; } - public long RaidTicket { get; set; } - public long WeekDungeonChaserATicket { get; set; } - public long WeekDungeonChaserBTicket { get; set; } - public long WeekDungeonChaserCTicket { get; set; } - public long WeekDungeonFindGiftTicket { get; set; } - public long WeekDungeonBloodTicket { get; set; } - public long AcademyTicket { get; set; } - public long SchoolDungeonATicket { get; set; } - public long SchoolDungeonBTicket { get; set; } - public long SchoolDungeonCTicket { get; set; } - public long TimeAttackDungeonTicket { get; set; } - public long MasterCoin { get; set; } - public long WorldRaidTicketA { get; set; } - public long WorldRaidTicketB { get; set; } - public long WorldRaidTicketC { get; set; } - public long ChaserTotalTicket { get; set; } - public long SchoolDungeonTotalTicket { get; set; } - public long EliminateTicketA { get; set; } - public long EliminateTicketB { get; set; } - public long EliminateTicketC { get; set; } - } -} \ No newline at end of file diff --git a/SCHALE.Common/SCHALE.Common.csproj b/SCHALE.Common/SCHALE.Common.csproj index 9087f55..cd3babc 100644 --- a/SCHALE.Common/SCHALE.Common.csproj +++ b/SCHALE.Common/SCHALE.Common.csproj @@ -7,6 +7,12 @@ true + + + + + + diff --git a/SCHALE.GameClient/GameClient.cs b/SCHALE.GameClient/GameClient.cs deleted file mode 100644 index 5955f5c..0000000 --- a/SCHALE.GameClient/GameClient.cs +++ /dev/null @@ -1,166 +0,0 @@ -using Microsoft.AspNetCore.Http; -using Microsoft.IdentityModel.Tokens; -using MX.Core.Crypto; -using SCHALE.Common.NetworkProtocol; -using SCHALE.GameServer.Utils; -using Serilog; -using System.Text.Json; - -namespace SCHALE.GameServer.Services -{ - public class GameClient - { - private readonly HttpClient httpClient; - - public static readonly string PS_URL = "http://10.0.0.149/api/gateway"; - public static readonly string MITM_URL = "http://10.0.0.149:8080"; - public static readonly string OFFICIAL_API_URL = "https://prod-game.bluearchiveyostar.com:5000/api/gateway"; - - private long AccountServerId = -1; - private string MxToken = ""; - private long Hash = 0; - - public GameClient() - { - Log.Logger = new LoggerConfiguration() - .WriteTo.Console() - .WriteTo.File("logs/log.txt", rollingInterval: RollingInterval.Day) - .CreateLogger(); - - Log.Information("Application starting up..."); - - httpClient = new HttpClient(); - } - - public static async Task Main(string[] args) - { - GameClient gameClient = new GameClient(); - - if (args.Length < 2 && (gameClient.AccountServerId == -1 || gameClient.MxToken == "")) - { - Log.Information("Please input the nessary data."); - return; - } - - if (gameClient.AccountServerId == -1) - { - gameClient.AccountServerId = int.Parse(args[0]); - } - - if (gameClient.MxToken.IsNullOrEmpty()) - { - gameClient.MxToken = args[1]; - } - - await gameClient.SendPostRequestAsync(OFFICIAL_API_URL, new AccountLoginSyncRequest() - { - SyncProtocols = [Protocol.Item_List], - }); - - //var EliminateRaid_CreateBattlePcap = PcapUtils.GetPacketFromPcap(Protocol.EliminateRaid_CreateBattle, PacketType.Request); - //var EliminateRaid_EndBattlePcap = PcapUtils.GetPacketFromPcap(Protocol.EliminateRaid_EndBattle, PacketType.Request); - - //EliminateRaid_CreateBattlePcap.IsPractice = false; - //EliminateRaid_EndBattlePcap.IsPractice = false; - - //await gameClient.SendPostRequestAsync(OFFICIAL_API_URL, EliminateRaid_CreateBattlePcap); - //await gameClient.SendPostRequestAsync(OFFICIAL_API_URL, EliminateRaid_EndBattlePcap); - //EliminateRaid_EndBattlePcap.RaidServerId = 2; - - //await gameClient.SendPostRequestAsync(OFFICIAL_API_URL, new AcademyGetInfoRequest(){ }); - /* - await gameClient.SendPostRequestAsync(OFFICIAL_API_URL, new ShopBuyGacha3Request() - { - FreeRecruitId = 0, - Cost = new() - { - ParcelInfos = [ - new() - { - Key = new() - { - Type = ParcelType.Currency, - Id = 4, - }, - Amount = 120, - Multiplier = new(10000), - Probability = new(10000) - } - ], - - Currency = new() - { - currencyValue = new() - { - Values = new() - { - { CurrencyTypes.Gem, 120 } - }, - Tickets = new() { }, - Property = new() { }, - Gem = 120, - IsEmpty = false - }, - - Gold = 0, - Gem = 120, - - }, - EquipmentDBs = [], - ItemDBs = [], - FurnitureDBs = [], - ConsumeCondition = 0, - }, - GoodsId = 35840, - ShopUniqueId = 50668, - }); - */ - } - - public async Task SendPostRequestAsync(string url, T requestPacket) where T : RequestPacket - { - requestPacket.SessionKey = new() - { - MxToken = this.MxToken, - AccountServerId = this.AccountServerId, - }; - - requestPacket.Hash = this.Hash; - requestPacket.Resendable = true; - requestPacket.ClientUpTime = 0; - requestPacket.IsTest = false; - - string packetJsonStr = JsonSerializer.Serialize((T)requestPacket); - //packetJsonStr = "{{\"Protocol\":45006,\"EchelonId\":1,\"RaidServerId\":0,\"IsPractice\":true,\"Summary\":{\"IsAbort\":false,\"IsDefeatBattle\":false,\"HashKey\":0,\"IsBossBattle\":true,\"BattleType\":16384,\"StageId\":2032301,\"GroundId\":6022301,\"Winner\":\"Group01\",\"EndType\":4,\"EndFrame\":4983,\"Group01Summary\":{\"TeamId\":1,\"LeaderEntityId\":{\"uniqueId\":16777217},\"Heroes\":[{\"ServerId\":278143883,\"OwnerAccountId\":50868960,\"BattleEntityId\":{\"uniqueId\":16777217},\"CharacterId\":10036,\"CostumeId\":0,\"Grade\":5,\"Level\":52,\"PotentialStatLevel\":{\"MaxHP\":0,\"AttackPower\":0,\"HealPower\":0},\"ExSkillLevel\":1,\"PublicSkillLevel\":3,\"PassiveSkillLevel\":1,\"ExtraPassiveSkillLevel\":3,\"FavorRank\":7,\"StatSnapshotCollection\":[{\"Stat\":1,\"Start\":21369,\"End\":21369},{\"Stat\":2,\"Start\":2354,\"End\":2354},{\"Stat\":3,\"Start\":100,\"End\":100},{\"Stat\":4,\"Start\":4641,\"End\":4641},{\"Stat\":5,\"Start\":101,\"End\":101},{\"Stat\":7,\"Start\":1086,\"End\":1086},{\"Stat\":9,\"Start\":282,\"End\":282},{\"Stat\":12,\"Start\":20000,\"End\":24624},{\"Stat\":30,\"Start\":10000,\"End\":10000},{\"Stat\":34,\"Start\":10000,\"End\":10000},{\"Stat\":42,\"Start\":700,\"End\":775},{\"Stat\":44,\"Start\":0,\"End\":0}],\"HPRateBefore\":10000,\"HPRateAfter\":9922,\"CrowdControlCount\":0,\"CrowdControlDuration\":0,\"EvadeCount\":14,\"DamageImmuneCount\":0,\"CrowdControlImmuneCount\":0,\"MaxAttackPower\":3505,\"AverageCriticalRate\":2307,\"AverageStabilityRate\":8517,\"AverageAccuracyRate\":8188,\"DeadFrame\":-1,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":1,\"GivenNumericLogs\":[{\"EntityType\":\"Character\",\"Category\":1,\"Source\":1,\"CalculatedSum\":99250,\"AppliedSum\":40481,\"Count\":18,\"CriticalMultiplierMax\":19624,\"CriticalCount\":4,\"CalculatedMin\":4010,\"CalculatedMax\":8400,\"AppliedMin\":378,\"AppliedMax\":8448},{\"EntityType\":\"Character\",\"Category\":1,\"Source\":5,\"CalculatedSum\":49467,\"AppliedSum\":0,\"Count\":38,\"CriticalMultiplierMax\":19624,\"CriticalCount\":9,\"CalculatedMin\":955,\"CalculatedMax\":2006,\"AppliedMin\":0,\"AppliedMax\":0},{\"EntityType\":\"Character\",\"Category\":1,\"Source\":3,\"CalculatedSum\":229367,\"AppliedSum\":12546,\"Count\":16,\"CriticalMultiplierMax\":19624,\"CriticalCount\":6,\"CalculatedMin\":9808,\"CalculatedMax\":20496,\"AppliedMin\":0,\"AppliedMax\":3711},{\"EntityType\":\"Character\",\"Category\":1,\"Source\":2,\"CalculatedSum\":450638,\"AppliedSum\":67764,\"Count\":32,\"CriticalMultiplierMax\":19624,\"CriticalCount\":5,\"CalculatedMin\":9926,\"CalculatedMax\":20251,\"AppliedMin\":825,\"AppliedMax\":3711}],\"TakenNumericLogs\":[{\"EntityType\":\"Character\",\"Category\":1,\"Source\":1,\"CalculatedSum\":264,\"AppliedSum\":167,\"Count\":6,\"CriticalMultiplierMax\":10000,\"CriticalCount\":0,\"CalculatedMin\":22,\"CalculatedMax\":86,\"AppliedMin\":13,\"AppliedMax\":81}],\"Equipments\":[{\"ServerId\":1592147985,\"UniqueId\":1001,\"Level\":20,\"Tier\":2},{\"ServerId\":1592251648,\"UniqueId\":6001,\"Level\":20,\"Tier\":2},{\"ServerId\":1694587612,\"UniqueId\":8000,\"Level\":10,\"Tier\":1}],\"CharacterWeapon\":{\"UniqueId\":10036,\"StarGrade\":1,\"Level\":1},\"SkillCount\":{\"PublicSkill01\":7,\"ExSkill01\":4},\"KillLog\":{\"16777224\":311,\"16777226\":537,\"16777227\":602,\"16777231\":682,\"16777236\":1051,\"16777237\":1051,\"16777239\":1041,\"16777240\":1187,\"16777243\":1058,\"16777245\":1066,\"16777247\":1041,\"16777248\":1041,\"16777249\":1066,\"16777250\":1066,\"16777256\":1599,\"16777259\":1970,\"16777260\":1970,\"16777262\":1970,\"16777264\":1970,\"16777268\":1834,\"16777271\":2550,\"16777275\":2365,\"16777279\":2430,\"16777290\":3127,\"16777291\":3152,\"16777292\":3137,\"16777293\":3152,\"16777296\":3127,\"16777297\":3039,\"16777298\":3152,\"16777299\":3127,\"16777300\":3152,\"16777307\":3398,\"16777310\":3718,\"16777312\":3924,\"16777314\":4191,\"16777317\":4071,\"16777319\":3846,\"16777322\":4479,\"16777324\":4485,\"16777325\":4494,\"16777326\":4499,\"16777328\":4469,\"16777329\":4469,\"16777330\":4870,\"16777331\":4740,\"16777332\":4631}},{\"ServerId\":1697599534,\"OwnerAccountId\":50868960,\"BattleEntityId\":{\"uniqueId\":16777218},\"CharacterId\":10014,\"CostumeId\":0,\"Grade\":3,\"Level\":51,\"PotentialStatLevel\":{\"MaxHP\":0,\"AttackPower\":0,\"HealPower\":0},\"ExSkillLevel\":1,\"PublicSkillLevel\":1,\"PassiveSkillLevel\":1,\"ExtraPassiveSkillLevel\":1,\"FavorRank\":1,\"StatSnapshotCollection\":[{\"Stat\":1,\"Start\":24420,\"End\":24420},{\"Stat\":2,\"Start\":1740,\"End\":1740},{\"Stat\":3,\"Start\":110,\"End\":110},{\"Stat\":4,\"Start\":3751,\"End\":3751},{\"Stat\":5,\"Start\":108,\"End\":108},{\"Stat\":7,\"Start\":1066,\"End\":1066},{\"Stat\":9,\"Start\":246,\"End\":246},{\"Stat\":12,\"Start\":20000,\"End\":24624},{\"Stat\":30,\"Start\":10000,\"End\":10000},{\"Stat\":34,\"Start\":10000,\"End\":10000},{\"Stat\":42,\"Start\":700,\"End\":775},{\"Stat\":44,\"Start\":0,\"End\":0}],\"HPRateBefore\":10000,\"HPRateAfter\":9796,\"CrowdControlCount\":0,\"CrowdControlDuration\":0,\"EvadeCount\":42,\"DamageImmuneCount\":0,\"CrowdControlImmuneCount\":0,\"MaxAttackPower\":2091,\"AverageCriticalRate\":2727,\"AverageStabilityRate\":8897,\"AverageAccuracyRate\":8000,\"DeadFrame\":-1,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":1,\"GivenNumericLogs\":[{\"EntityType\":\"Character\",\"Category\":1,\"Source\":1,\"CalculatedSum\":319804,\"AppliedSum\":57548,\"Count\":97,\"CriticalMultiplierMax\":19624,\"CriticalCount\":27,\"CalculatedMin\":2736,\"CalculatedMax\":4168,\"AppliedMin\":0,\"AppliedMax\":2177},{\"EntityType\":\"Character\",\"Category\":1,\"Source\":3,\"CalculatedSum\":46190,\"AppliedSum\":6189,\"Count\":3,\"CriticalMultiplierMax\":10000,\"CriticalCount\":0,\"CalculatedMin\":13976,\"CalculatedMax\":17912,\"AppliedMin\":1166,\"AppliedMax\":3711}],\"TakenNumericLogs\":[{\"EntityType\":\"Character\",\"Category\":1,\"Source\":1,\"CalculatedSum\":933,\"AppliedSum\":500,\"Count\":29,\"CriticalMultiplierMax\":15000,\"CriticalCount\":3,\"CalculatedMin\":22,\"CalculatedMax\":86,\"AppliedMin\":7,\"AppliedMax\":80}],\"SkillCount\":{\"PublicSkill01\":6,\"ExSkill01\":2},\"KillLog\":{\"16777221\":419,\"16777222\":323,\"16777232\":737,\"16777235\":836,\"16777242\":995,\"16777244\":1092,\"16777246\":1140,\"16777261\":1750,\"16777266\":1953,\"16777273\":2324,\"16777274\":2362,\"16777277\":2400,\"16777309\":3616,\"16777313\":3973,\"16777316\":4074,\"16777318\":3829,\"16777327\":4443}},{\"ServerId\":1715188081,\"OwnerAccountId\":50868960,\"BattleEntityId\":{\"uniqueId\":16777219},\"CharacterId\":10040,\"CostumeId\":0,\"Grade\":3,\"Level\":52,\"PotentialStatLevel\":{\"MaxHP\":0,\"AttackPower\":0,\"HealPower\":0},\"ExSkillLevel\":1,\"PublicSkillLevel\":1,\"PassiveSkillLevel\":1,\"ExtraPassiveSkillLevel\":1,\"FavorRank\":6,\"StatSnapshotCollection\":[{\"Stat\":1,\"Start\":31409,\"End\":35806},{\"Stat\":2,\"Start\":1449,\"End\":1449},{\"Stat\":3,\"Start\":127,\"End\":127},{\"Stat\":4,\"Start\":4160,\"End\":4160},{\"Stat\":5,\"Start\":109,\"End\":109},{\"Stat\":7,\"Start\":1307,\"End\":1307},{\"Stat\":9,\"Start\":218,\"End\":218},{\"Stat\":12,\"Start\":20000,\"End\":21824},{\"Stat\":30,\"Start\":10000,\"End\":10000},{\"Stat\":34,\"Start\":10000,\"End\":10000},{\"Stat\":42,\"Start\":700,\"End\":775},{\"Stat\":44,\"Start\":0,\"End\":0}],\"HPRateBefore\":10000,\"HPRateAfter\":9476,\"CrowdControlCount\":0,\"CrowdControlDuration\":0,\"EvadeCount\":319,\"DamageImmuneCount\":0,\"CrowdControlImmuneCount\":0,\"MaxAttackPower\":1449,\"AverageCriticalRate\":2542,\"AverageStabilityRate\":8862,\"AverageAccuracyRate\":7814,\"DeadFrame\":-1,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":1,\"GivenNumericLogs\":[{\"EntityType\":\"Character\",\"Category\":1,\"Source\":1,\"CalculatedSum\":240420,\"AppliedSum\":42986,\"Count\":117,\"CriticalMultiplierMax\":16824,\"CriticalCount\":30,\"CalculatedMin\":1758,\"CalculatedMax\":2313,\"AppliedMin\":0,\"AppliedMax\":946},{\"EntityType\":\"Character\",\"Category\":1,\"Source\":3,\"CalculatedSum\":7916,\"AppliedSum\":1312,\"Count\":1,\"CriticalMultiplierMax\":10000,\"CriticalCount\":0,\"CalculatedMin\":7916,\"CalculatedMax\":7916,\"AppliedMin\":1312,\"AppliedMax\":1312}],\"TakenNumericLogs\":[{\"EntityType\":\"Character\",\"Category\":1,\"Source\":1,\"CalculatedSum\":6488,\"AppliedSum\":1879,\"Count\":163,\"CriticalMultiplierMax\":15000,\"CriticalCount\":11,\"CalculatedMin\":22,\"CalculatedMax\":261,\"AppliedMin\":7,\"AppliedMax\":30}],\"Equipments\":[{\"ServerId\":1726081170,\"UniqueId\":3000,\"Level\":1,\"Tier\":1},{\"ServerId\":1726081290,\"UniqueId\":5000,\"Level\":1,\"Tier\":1},{\"ServerId\":1726081335,\"UniqueId\":7000,\"Level\":1,\"Tier\":1}],\"SkillCount\":{\"PublicSkill01\":5},\"KillLog\":{\"16777228\":655,\"16777229\":542,\"16777258\":1917,\"16777263\":1859,\"16777265\":1795,\"16777321\":4088}},{\"ServerId\":1177637528,\"OwnerAccountId\":50868960,\"BattleEntityId\":{\"uniqueId\":16777220},\"CharacterId\":10052,\"CostumeId\":0,\"Grade\":4,\"Level\":52,\"PotentialStatLevel\":{\"MaxHP\":0,\"AttackPower\":0,\"HealPower\":0},\"ExSkillLevel\":1,\"PublicSkillLevel\":1,\"PassiveSkillLevel\":1,\"ExtraPassiveSkillLevel\":1,\"FavorRank\":7,\"StatSnapshotCollection\":[{\"Stat\":1,\"Start\":20832,\"End\":23748},{\"Stat\":2,\"Start\":1365,\"End\":1365},{\"Stat\":3,\"Start\":100,\"End\":100},{\"Stat\":4,\"Start\":4198,\"End\":4198},{\"Stat\":5,\"Start\":100,\"End\":100},{\"Stat\":7,\"Start\":1090,\"End\":1090},{\"Stat\":9,\"Start\":201,\"End\":201},{\"Stat\":12,\"Start\":20000,\"End\":21824},{\"Stat\":30,\"Start\":10000,\"End\":10000},{\"Stat\":34,\"Start\":10000,\"End\":10000},{\"Stat\":42,\"Start\":700,\"End\":775},{\"Stat\":44,\"Start\":0,\"End\":0}],\"HPRateBefore\":10000,\"HPRateAfter\":9886,\"CrowdControlCount\":0,\"CrowdControlDuration\":0,\"EvadeCount\":5,\"DamageImmuneCount\":0,\"CrowdControlImmuneCount\":0,\"MaxAttackPower\":1365,\"AverageCriticalRate\":2686,\"AverageStabilityRate\":8480,\"AverageAccuracyRate\":7976,\"DeadFrame\":-1,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":1,\"GivenNumericLogs\":[{\"EntityType\":\"Character\",\"Category\":1,\"Source\":1,\"CalculatedSum\":70436,\"AppliedSum\":41004,\"Count\":31,\"CriticalMultiplierMax\":16824,\"CriticalCount\":5,\"CalculatedMin\":1912,\"CalculatedMax\":2712,\"AppliedMin\":0,\"AppliedMax\":2568},{\"EntityType\":\"Character\",\"Category\":1,\"Source\":3,\"CalculatedSum\":338036,\"AppliedSum\":5294,\"Count\":36,\"CriticalMultiplierMax\":16824,\"CriticalCount\":13,\"CalculatedMin\":7756,\"CalculatedMax\":10850,\"AppliedMin\":0,\"AppliedMax\":1627}],\"TakenNumericLogs\":[{\"EntityType\":\"Character\",\"Category\":1,\"Source\":1,\"CalculatedSum\":282,\"AppliedSum\":272,\"Count\":7,\"CriticalMultiplierMax\":15000,\"CriticalCount\":1,\"CalculatedMin\":22,\"CalculatedMax\":86,\"AppliedMin\":20,\"AppliedMax\":81}],\"Equipments\":[{\"ServerId\":1594910537,\"UniqueId\":3000,\"Level\":1,\"Tier\":1},{\"ServerId\":1592474928,\"UniqueId\":6000,\"Level\":1,\"Tier\":1},{\"ServerId\":1694588019,\"UniqueId\":7000,\"Level\":1,\"Tier\":1}],\"SkillCount\":{\"ExSkill01\":3,\"PublicSkill01\":5},\"KillLog\":{\"16777223\":361,\"16777225\":301,\"16777230\":507,\"16777233\":736,\"16777234\":797,\"16777257\":1636,\"16777267\":1913,\"16777269\":2070,\"16777272\":2226,\"16777276\":2284,\"16777280\":2345,\"16777284\":2404,\"16777303\":3435,\"16777306\":3495,\"16777311\":4098,\"16777320\":4158}}],\"Supporters\":[{\"ServerId\":2388633606,\"OwnerAccountId\":50868960,\"BattleEntityId\":{\"uniqueId\":1073741825},\"CharacterId\":20036,\"CostumeId\":0,\"Grade\":5,\"Level\":53,\"PotentialStatLevel\":{\"MaxHP\":0,\"AttackPower\":0,\"HealPower\":0},\"ExSkillLevel\":1,\"PublicSkillLevel\":1,\"PassiveSkillLevel\":1,\"ExtraPassiveSkillLevel\":1,\"FavorRank\":1,\"StatSnapshotCollection\":[{\"Stat\":1,\"Start\":11218,\"End\":11218},{\"Stat\":2,\"Start\":2779,\"End\":3168},{\"Stat\":3,\"Start\":227,\"End\":227},{\"Stat\":4,\"Start\":5035,\"End\":5035},{\"Stat\":5,\"Start\":686,\"End\":686},{\"Stat\":7,\"Start\":755,\"End\":755},{\"Stat\":9,\"Start\":263,\"End\":263},{\"Stat\":12,\"Start\":20000,\"End\":21824},{\"Stat\":30,\"Start\":10000,\"End\":10000},{\"Stat\":34,\"Start\":10000,\"End\":10000},{\"Stat\":42,\"Start\":700,\"End\":775},{\"Stat\":44,\"Start\":0,\"End\":0}],\"HPRateBefore\":0,\"HPRateAfter\":0,\"CrowdControlCount\":0,\"CrowdControlDuration\":0,\"EvadeCount\":0,\"DamageImmuneCount\":0,\"CrowdControlImmuneCount\":0,\"MaxAttackPower\":3168,\"AverageCriticalRate\":3333,\"AverageStabilityRate\":8822,\"AverageAccuracyRate\":10000,\"DeadFrame\":-1,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":1,\"GivenNumericLogs\":[{\"EntityType\":\"Character\",\"Category\":1,\"Source\":3,\"CalculatedSum\":95888,\"AppliedSum\":21788,\"Count\":17,\"CriticalMultiplierMax\":16824,\"CriticalCount\":7,\"CalculatedMin\":5180,\"CalculatedMax\":6216,\"AppliedMin\":160,\"AppliedMax\":3266},{\"EntityType\":\"Character\",\"Category\":1,\"Source\":2,\"CalculatedSum\":679362,\"AppliedSum\":96652,\"Count\":19,\"CriticalMultiplierMax\":16824,\"CriticalCount\":5,\"CalculatedMin\":32738,\"CalculatedMax\":40224,\"AppliedMin\":1312,\"AppliedMax\":36874}],\"SkillCount\":{\"PublicSkill01\":4,\"ExSkill01\":4},\"KillLog\":{\"16777238\":1123,\"16777251\":1210,\"16777252\":1210,\"16777253\":1210,\"16777254\":1210,\"16777255\":1210,\"16777270\":2267,\"16777278\":2267,\"16777281\":2422,\"16777282\":2422,\"16777283\":2422,\"16777285\":2422,\"16777286\":2422,\"16777287\":2422,\"16777288\":2422,\"16777289\":4982,\"16777294\":3231,\"16777295\":3231,\"16777301\":3511,\"16777302\":3511,\"16777304\":3511,\"16777305\":3511,\"16777308\":3511,\"16777315\":4281}},{\"ServerId\":1177644207,\"OwnerAccountId\":50868960,\"BattleEntityId\":{\"uniqueId\":1073741826},\"CharacterId\":20020,\"CostumeId\":0,\"Grade\":5,\"Level\":52,\"PotentialStatLevel\":{\"MaxHP\":0,\"AttackPower\":0,\"HealPower\":0},\"ExSkillLevel\":1,\"PublicSkillLevel\":1,\"PassiveSkillLevel\":2,\"ExtraPassiveSkillLevel\":1,\"FavorRank\":8,\"StatSnapshotCollection\":[{\"Stat\":1,\"Start\":20508,\"End\":20508},{\"Stat\":2,\"Start\":2143,\"End\":2439},{\"Stat\":3,\"Start\":390,\"End\":390},{\"Stat\":4,\"Start\":4682,\"End\":4682},{\"Stat\":5,\"Start\":714,\"End\":714},{\"Stat\":7,\"Start\":1151,\"End\":1151},{\"Stat\":9,\"Start\":318,\"End\":318},{\"Stat\":12,\"Start\":20000,\"End\":21824},{\"Stat\":30,\"Start\":10000,\"End\":10000},{\"Stat\":34,\"Start\":10000,\"End\":10000},{\"Stat\":42,\"Start\":700,\"End\":775},{\"Stat\":44,\"Start\":0,\"End\":0}],\"HPRateBefore\":0,\"HPRateAfter\":0,\"CrowdControlCount\":0,\"CrowdControlDuration\":0,\"EvadeCount\":0,\"DamageImmuneCount\":0,\"CrowdControlImmuneCount\":0,\"MaxAttackPower\":2439,\"AverageCriticalRate\":6000,\"AverageStabilityRate\":8482,\"AverageAccuracyRate\":10000,\"DeadFrame\":-1,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":1,\"GivenNumericLogs\":[{\"EntityType\":\"Character\",\"Category\":1,\"Source\":3,\"CalculatedSum\":19227,\"AppliedSum\":6650,\"Count\":5,\"CriticalMultiplierMax\":16824,\"CriticalCount\":3,\"CalculatedMin\":3464,\"CalculatedMax\":4334,\"AppliedMin\":0,\"AppliedMax\":3711}],\"Equipments\":[{\"ServerId\":1594909878,\"UniqueId\":3001,\"Level\":20,\"Tier\":2},{\"ServerId\":1594909884,\"UniqueId\":6001,\"Level\":20,\"Tier\":2},{\"ServerId\":1623780758,\"UniqueId\":8000,\"Level\":10,\"Tier\":1}],\"CharacterWeapon\":{\"UniqueId\":20020,\"StarGrade\":1,\"Level\":1},\"SkillCount\":{\"PublicSkill01\":5,\"ExSkill01\":3},\"KillLog\":{\"16777241\":959,\"16777323\":4559}}],\"UseAutoSkill\":false,\"TSSInteractionServerId\":0,\"TSSInteractionUniqueId\":0,\"AssistRelations\":{},\"SkillCostSummary\":{\"InitialCost\":0,\"CostPerFrameSnapshots\":[{\"Frame\":61,\"Regen\":0.0154999988}],\"CostAddSnapshots\":[],\"CostUseSnapshots\":[{\"Frame\":595,\"Used\":3,\"CharId\":10052,\"Level\":1},{\"Frame\":975,\"Used\":6,\"CharId\":10036,\"Level\":1},{\"Frame\":1152,\"Used\":6,\"CharId\":20036,\"Level\":1},{\"Frame\":1373,\"Used\":3,\"CharId\":10014,\"Level\":1},{\"Frame\":1640,\"Used\":3,\"CharId\":20020,\"Level\":1},{\"Frame\":1903,\"Used\":6,\"CharId\":10036,\"Level\":1},{\"Frame\":2366,\"Used\":6,\"CharId\":20036,\"Level\":1},{\"Frame\":2699,\"Used\":3,\"CharId\":10014,\"Level\":1},{\"Frame\":2925,\"Used\":3,\"CharId\":20020,\"Level\":1},{\"Frame\":3061,\"Used\":6,\"CharId\":10036,\"Level\":1},{\"Frame\":3447,\"Used\":6,\"CharId\":20036,\"Level\":1},{\"Frame\":3829,\"Used\":3,\"CharId\":10052,\"Level\":1},{\"Frame\":3888,\"Used\":3,\"CharId\":20020,\"Level\":1},{\"Frame\":4404,\"Used\":6,\"CharId\":10036,\"Level\":1},{\"Frame\":4916,\"Used\":6,\"CharId\":20036,\"Level\":1},{\"Frame\":4966,\"Used\":3,\"CharId\":10052,\"Level\":1}]}},\"Group02Summary\":{\"TeamId\":2,\"LeaderEntityId\":{\"uniqueId\":0},\"Heroes\":[{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777221},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":419,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777222},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":323,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777223},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":361,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777224},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":311,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777225},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":301,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777226},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":537,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777227},\"CharacterId\":602230104,\"CostumeId\":0,\"DeadFrame\":602,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777228},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":655,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777229},\"CharacterId\":602230106,\"CostumeId\":0,\"DeadFrame\":542,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777230},\"CharacterId\":602230104,\"CostumeId\":0,\"DeadFrame\":507,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777231},\"CharacterId\":602230106,\"CostumeId\":0,\"DeadFrame\":682,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777232},\"CharacterId\":602230106,\"CostumeId\":0,\"DeadFrame\":737,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777233},\"CharacterId\":602230106,\"CostumeId\":0,\"DeadFrame\":736,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777234},\"CharacterId\":602230106,\"CostumeId\":0,\"DeadFrame\":797,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777235},\"CharacterId\":602230106,\"CostumeId\":0,\"DeadFrame\":836,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777236},\"CharacterId\":602230104,\"CostumeId\":0,\"DeadFrame\":1051,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777237},\"CharacterId\":602230104,\"CostumeId\":0,\"DeadFrame\":1051,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777238},\"CharacterId\":602230104,\"CostumeId\":0,\"DeadFrame\":1123,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777239},\"CharacterId\":602230104,\"CostumeId\":0,\"DeadFrame\":1041,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777240},\"CharacterId\":602230104,\"CostumeId\":0,\"DeadFrame\":1187,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777241},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":959,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777242},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":995,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777243},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":1058,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777244},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":1092,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777245},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":1066,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777246},\"CharacterId\":602230106,\"CostumeId\":0,\"DeadFrame\":1140,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777247},\"CharacterId\":602230106,\"CostumeId\":0,\"DeadFrame\":1041,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777248},\"CharacterId\":602230106,\"CostumeId\":0,\"DeadFrame\":1041,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777249},\"CharacterId\":602230104,\"CostumeId\":0,\"DeadFrame\":1066,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777250},\"CharacterId\":602230104,\"CostumeId\":0,\"DeadFrame\":1066,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777251},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":1210,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777252},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":1210,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777253},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":1210,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777254},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":1210,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777255},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":1210,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777256},\"CharacterId\":602230108,\"CostumeId\":0,\"Grade\":1,\"Level\":17,\"ExSkillLevel\":-1,\"PublicSkillLevel\":-1,\"PassiveSkillLevel\":-1,\"ExtraPassiveSkillLevel\":-1,\"FavorRank\":0,\"HPRateBefore\":10000,\"HPRateAfter\":0,\"CrowdControlCount\":0,\"CrowdControlDuration\":0,\"EvadeCount\":0,\"DamageImmuneCount\":0,\"CrowdControlImmuneCount\":0,\"MaxAttackPower\":219,\"AverageCriticalRate\":0,\"AverageStabilityRate\":0,\"AverageAccuracyRate\":0,\"DeadFrame\":1599,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":4,\"TakenNumericLogs\":[{\"EntityType\":\"Character\",\"Category\":1,\"Source\":3,\"CalculatedSum\":37282,\"AppliedSum\":1909,\"Count\":3,\"CriticalMultiplierMax\":19624,\"CriticalCount\":1,\"CalculatedMin\":11380,\"CalculatedMax\":13012,\"AppliedMin\":0,\"AppliedMax\":1909}]},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777257},\"CharacterId\":602230108,\"CostumeId\":0,\"Grade\":1,\"Level\":17,\"ExSkillLevel\":-1,\"PublicSkillLevel\":-1,\"PassiveSkillLevel\":-1,\"ExtraPassiveSkillLevel\":-1,\"FavorRank\":0,\"HPRateBefore\":10000,\"HPRateAfter\":0,\"CrowdControlCount\":0,\"CrowdControlDuration\":0,\"EvadeCount\":0,\"DamageImmuneCount\":0,\"CrowdControlImmuneCount\":0,\"MaxAttackPower\":219,\"AverageCriticalRate\":0,\"AverageStabilityRate\":0,\"AverageAccuracyRate\":0,\"DeadFrame\":1636,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":4,\"TakenNumericLogs\":[{\"EntityType\":\"Character\",\"Category\":1,\"Source\":1,\"CalculatedSum\":2138,\"AppliedSum\":1909,\"Count\":1,\"CriticalMultiplierMax\":10000,\"CriticalCount\":0,\"CalculatedMin\":2138,\"CalculatedMax\":2138,\"AppliedMin\":1909,\"AppliedMax\":1909}]},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777258},\"CharacterId\":602230104,\"CostumeId\":0,\"DeadFrame\":1917,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777259},\"CharacterId\":602230106,\"CostumeId\":0,\"DeadFrame\":1970,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777260},\"CharacterId\":602230104,\"CostumeId\":0,\"DeadFrame\":1970,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777261},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":1750,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777262},\"CharacterId\":602230104,\"CostumeId\":0,\"DeadFrame\":1970,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777263},\"CharacterId\":602230104,\"CostumeId\":0,\"DeadFrame\":1859,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777264},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":1970,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777265},\"CharacterId\":602230104,\"CostumeId\":0,\"DeadFrame\":1795,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777266},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":1953,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777267},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":1913,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777268},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":1834,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777269},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":2070,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777270},\"CharacterId\":602230110,\"CostumeId\":0,\"Grade\":1,\"Level\":17,\"ExSkillLevel\":-1,\"PublicSkillLevel\":1,\"PassiveSkillLevel\":1,\"ExtraPassiveSkillLevel\":-1,\"FavorRank\":0,\"HPRateBefore\":10000,\"HPRateAfter\":0,\"CrowdControlCount\":1,\"CrowdControlDuration\":0,\"EvadeCount\":0,\"DamageImmuneCount\":0,\"CrowdControlImmuneCount\":0,\"MaxAttackPower\":660,\"AverageCriticalRate\":0,\"AverageStabilityRate\":0,\"AverageAccuracyRate\":0,\"DeadFrame\":2267,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":4,\"TakenNumericLogs\":[{\"EntityType\":\"Supporter\",\"Category\":1,\"Source\":3,\"CalculatedSum\":16488,\"AppliedSum\":8738,\"Count\":3,\"CriticalMultiplierMax\":16824,\"CriticalCount\":3,\"CalculatedMin\":5384,\"CalculatedMax\":5700,\"AppliedMin\":2658,\"AppliedMax\":3266}]},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777271},\"CharacterId\":602230108,\"CostumeId\":0,\"Grade\":1,\"Level\":17,\"ExSkillLevel\":-1,\"PublicSkillLevel\":-1,\"PassiveSkillLevel\":-1,\"ExtraPassiveSkillLevel\":-1,\"FavorRank\":0,\"HPRateBefore\":10000,\"HPRateAfter\":0,\"CrowdControlCount\":1,\"CrowdControlDuration\":92,\"EvadeCount\":2,\"DamageImmuneCount\":0,\"CrowdControlImmuneCount\":0,\"MaxAttackPower\":219,\"AverageCriticalRate\":0,\"AverageStabilityRate\":0,\"AverageAccuracyRate\":0,\"DeadFrame\":2550,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":4,\"TakenNumericLogs\":[{\"EntityType\":\"Character\",\"Category\":1,\"Source\":3,\"CalculatedSum\":26018,\"AppliedSum\":1909,\"Count\":2,\"CriticalMultiplierMax\":19624,\"CriticalCount\":1,\"CalculatedMin\":12547,\"CalculatedMax\":13471,\"AppliedMin\":0,\"AppliedMax\":1909},{\"EntityType\":\"Character\",\"Category\":1,\"Source\":1,\"CalculatedSum\":12102,\"AppliedSum\":0,\"Count\":4,\"CriticalMultiplierMax\":19624,\"CriticalCount\":3,\"CalculatedMin\":2670,\"CalculatedMax\":3332,\"AppliedMin\":0,\"AppliedMax\":0}]},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777272},\"CharacterId\":602230108,\"CostumeId\":0,\"Grade\":1,\"Level\":17,\"ExSkillLevel\":-1,\"PublicSkillLevel\":-1,\"PassiveSkillLevel\":-1,\"ExtraPassiveSkillLevel\":-1,\"FavorRank\":0,\"HPRateBefore\":10000,\"HPRateAfter\":0,\"CrowdControlCount\":0,\"CrowdControlDuration\":0,\"EvadeCount\":0,\"DamageImmuneCount\":0,\"CrowdControlImmuneCount\":0,\"MaxAttackPower\":219,\"AverageCriticalRate\":0,\"AverageStabilityRate\":0,\"AverageAccuracyRate\":0,\"DeadFrame\":2226,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":4,\"TakenNumericLogs\":[{\"EntityType\":\"Character\",\"Category\":1,\"Source\":1,\"CalculatedSum\":10910,\"AppliedSum\":1909,\"Count\":5,\"CriticalMultiplierMax\":10000,\"CriticalCount\":0,\"CalculatedMin\":2059,\"CalculatedMax\":2274,\"AppliedMin\":0,\"AppliedMax\":1909}]},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777273},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":2324,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777274},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":2362,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777275},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":2365,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777276},\"CharacterId\":602230104,\"CostumeId\":0,\"DeadFrame\":2284,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777277},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":2400,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777278},\"CharacterId\":602230104,\"CostumeId\":0,\"DeadFrame\":2267,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777279},\"CharacterId\":602230104,\"CostumeId\":0,\"DeadFrame\":2430,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777280},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":2345,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777281},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":2422,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777282},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":2422,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777283},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":2422,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777284},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":2404,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777285},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":2422,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777286},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":2422,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777287},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":2422,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777288},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":2422,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777289},\"CharacterId\":602230101,\"CostumeId\":0,\"Grade\":1,\"Level\":17,\"ExSkillLevel\":1,\"PublicSkillLevel\":-1,\"PassiveSkillLevel\":1,\"ExtraPassiveSkillLevel\":-1,\"FavorRank\":0,\"StatSnapshotCollection\":[{\"Stat\":1,\"Start\":80000,\"End\":80000},{\"Stat\":2,\"Start\":10,\"End\":10},{\"Stat\":3,\"Start\":100,\"End\":100},{\"Stat\":4,\"Start\":1,\"End\":1},{\"Stat\":5,\"Start\":100,\"End\":100},{\"Stat\":7,\"Start\":200,\"End\":200},{\"Stat\":9,\"Start\":250,\"End\":250},{\"Stat\":12,\"Start\":20000,\"End\":20000},{\"Stat\":30,\"Start\":10000,\"End\":10000},{\"Stat\":34,\"Start\":10000,\"End\":10000},{\"Stat\":42,\"Start\":0,\"End\":0},{\"Stat\":44,\"Start\":0,\"End\":0}],\"HPRateBefore\":10000,\"HPRateAfter\":0,\"CrowdControlCount\":0,\"CrowdControlDuration\":0,\"EvadeCount\":13,\"DamageImmuneCount\":0,\"CrowdControlImmuneCount\":2,\"MaxAttackPower\":10,\"AverageCriticalRate\":689,\"AverageStabilityRate\":9906,\"AverageAccuracyRate\":10000,\"DeadFrame\":4982,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":16,\"GivenNumericLogs\":[{\"EntityType\":\"Character\",\"Category\":1,\"Source\":1,\"CalculatedSum\":2715,\"AppliedSum\":1164,\"Count\":58,\"CriticalMultiplierMax\":15000,\"CriticalCount\":4,\"CalculatedMin\":22,\"CalculatedMax\":261,\"AppliedMin\":7,\"AppliedMax\":81}],\"TakenNumericLogs\":[{\"EntityType\":\"Character\",\"Category\":1,\"Source\":3,\"CalculatedSum\":178868,\"AppliedSum\":3379,\"Count\":17,\"CriticalMultiplierMax\":19624,\"CriticalCount\":5,\"CalculatedMin\":8144,\"CalculatedMax\":20496,\"AppliedMin\":76,\"AppliedMax\":1216},{\"EntityType\":\"Supporter\",\"Category\":1,\"Source\":3,\"CalculatedSum\":42055,\"AppliedSum\":2389,\"Count\":8,\"CriticalMultiplierMax\":16824,\"CriticalCount\":3,\"CalculatedMin\":3530,\"CalculatedMax\":6216,\"AppliedMin\":160,\"AppliedMax\":636},{\"EntityType\":\"Character\",\"Category\":1,\"Source\":2,\"CalculatedSum\":71654,\"AppliedSum\":8522,\"Count\":5,\"CriticalMultiplierMax\":19624,\"CriticalCount\":1,\"CalculatedMin\":11400,\"CalculatedMax\":19432,\"AppliedMin\":1075,\"AppliedMax\":3597},{\"EntityType\":\"Character\",\"Category\":1,\"Source\":1,\"CalculatedSum\":188693,\"AppliedSum\":25666,\"Count\":70,\"CriticalMultiplierMax\":19624,\"CriticalCount\":20,\"CalculatedMin\":1763,\"CalculatedMax\":5592,\"AppliedMin\":0,\"AppliedMax\":8448},{\"EntityType\":\"Supporter\",\"Category\":1,\"Source\":2,\"CalculatedSum\":66616,\"AppliedSum\":40039,\"Count\":2,\"CriticalMultiplierMax\":16824,\"CriticalCount\":1,\"CalculatedMin\":33066,\"CalculatedMax\":33550,\"AppliedMin\":3165,\"AppliedMax\":36874}],\"SkillCount\":{\"ExSkill01\":5}}],\"UseAutoSkill\":false,\"TSSInteractionServerId\":0,\"TSSInteractionUniqueId\":0,\"AssistRelations\":{},\"SkillCostSummary\":{\"InitialCost\":0,\"CostPerFrameSnapshots\":[],\"CostAddSnapshots\":[],\"CostUseSnapshots\":[]}},\"RaidSummary\":{\"RaidSeasonId\":19,\"RaidBossResults\":[{\"RaidDamage\":{\"Index\":0,\"GivenDamage\":80000,\"GivenGroggyPoint\":1000000000},\"EndHpRateRawValue\":0,\"GroggyRateRawValue\":0,\"GroggyCount\":1,\"SubPartsHPs\":null,\"AIPhase\":1}]},\"ElapsedRealtime\":144.95076},\"AssistUseInfo\":null,\"ClientUpTime\":158,\"Resendable\":true,\"Hash\":154623117623421,\"IsTest\":false,\"SessionKey\":{\"AccountServerId\":50868960,\"MxToken\":\"+w+2H3TTud1L5ml4caWAzAw0V/fYOwF/Vm3u7CO7Ky0=\"},\"AccountId\":50868960}}"; - //packetJsonStr = "{\"Protocol\":45006,\"EchelonId\":1,\"RaidServerId\":2,\"IsPractice\":true,\"Summary\":{\"IsAbort\":false,\"IsDefeatBattle\":false,\"HashKey\":0,\"IsBossBattle\":true,\"BattleType\":16384,\"StageId\":2032301,\"GroundId\":6022301,\"Winner\":\"Group01\",\"EndType\":4,\"EndFrame\":5325,\"Group01Summary\":{\"TeamId\":1,\"LeaderEntityId\":{\"uniqueId\":16777217},\"Heroes\":[{\"ServerId\":278143883,\"OwnerAccountId\":50868960,\"BattleEntityId\":{\"uniqueId\":16777217},\"CharacterId\":10036,\"CostumeId\":0,\"Grade\":5,\"Level\":52,\"PotentialStatLevel\":{\"MaxHP\":0,\"AttackPower\":0,\"HealPower\":0},\"ExSkillLevel\":1,\"PublicSkillLevel\":3,\"PassiveSkillLevel\":1,\"ExtraPassiveSkillLevel\":3,\"FavorRank\":7,\"StatSnapshotCollection\":[{\"Stat\":1,\"Start\":21369,\"End\":21369},{\"Stat\":2,\"Start\":2354,\"End\":2354},{\"Stat\":3,\"Start\":100,\"End\":100},{\"Stat\":4,\"Start\":4641,\"End\":4641},{\"Stat\":5,\"Start\":101,\"End\":101},{\"Stat\":7,\"Start\":1086,\"End\":1086},{\"Stat\":9,\"Start\":282,\"End\":282},{\"Stat\":12,\"Start\":20000,\"End\":24624},{\"Stat\":30,\"Start\":10000,\"End\":10000},{\"Stat\":34,\"Start\":10000,\"End\":10000},{\"Stat\":42,\"Start\":700,\"End\":775},{\"Stat\":44,\"Start\":0,\"End\":0}],\"HPRateBefore\":10000,\"HPRateAfter\":9858,\"CrowdControlCount\":0,\"CrowdControlDuration\":0,\"EvadeCount\":14,\"DamageImmuneCount\":0,\"CrowdControlImmuneCount\":0,\"MaxAttackPower\":3505,\"AverageCriticalRate\":3097,\"AverageStabilityRate\":8602,\"AverageAccuracyRate\":7902,\"DeadFrame\":-1,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":1,\"GivenNumericLogs\":[{\"EntityType\":\"Character\",\"Category\":1,\"Source\":1,\"CalculatedSum\":109804,\"AppliedSum\":36801,\"Count\":20,\"CriticalMultiplierMax\":19624,\"CriticalCount\":4,\"CalculatedMin\":3936,\"CalculatedMax\":8083,\"AppliedMin\":0,\"AppliedMax\":5109},{\"EntityType\":\"Character\",\"Category\":1,\"Source\":5,\"CalculatedSum\":58493,\"AppliedSum\":0,\"Count\":45,\"CriticalMultiplierMax\":19624,\"CriticalCount\":13,\"CalculatedMin\":960,\"CalculatedMax\":2018,\"AppliedMin\":0,\"AppliedMax\":0},{\"EntityType\":\"Character\",\"Category\":1,\"Source\":3,\"CalculatedSum\":229937,\"AppliedSum\":18046,\"Count\":16,\"CriticalMultiplierMax\":19624,\"CriticalCount\":6,\"CalculatedMin\":10149,\"CalculatedMax\":19756,\"AppliedMin\":0,\"AppliedMax\":3711},{\"EntityType\":\"Character\",\"Category\":1,\"Source\":2,\"CalculatedSum\":387477,\"AppliedSum\":72120,\"Count\":32,\"CriticalMultiplierMax\":19624,\"CriticalCount\":12,\"CalculatedMin\":10252,\"CalculatedMax\":14162,\"AppliedMin\":929,\"AppliedMax\":3711}],\"TakenNumericLogs\":[{\"EntityType\":\"Character\",\"Category\":1,\"Source\":1,\"CalculatedSum\":544,\"AppliedSum\":305,\"Count\":13,\"CriticalMultiplierMax\":15000,\"CriticalCount\":5,\"CalculatedMin\":33,\"CalculatedMax\":87,\"AppliedMin\":7,\"AppliedMax\":123}],\"Equipments\":[{\"ServerId\":1592147985,\"UniqueId\":1001,\"Level\":20,\"Tier\":2},{\"ServerId\":1592251648,\"UniqueId\":6001,\"Level\":20,\"Tier\":2},{\"ServerId\":1694587612,\"UniqueId\":8000,\"Level\":10,\"Tier\":1}],\"CharacterWeapon\":{\"UniqueId\":10036,\"StarGrade\":1,\"Level\":1},\"SkillCount\":{\"PublicSkill01\":8,\"ExSkill01\":4},\"KillLog\":{\"16777222\":311,\"16777224\":246,\"16777226\":540,\"16777231\":605,\"16777232\":686,\"16777239\":949,\"16777246\":938,\"16777247\":938,\"16777248\":949,\"16777249\":964,\"16777250\":964,\"16777256\":1914,\"16777259\":1924,\"16777260\":1832,\"16777262\":1924,\"16777263\":1939,\"16777264\":1914,\"16777265\":1939,\"16777268\":2079,\"16777271\":2353,\"16777274\":2763,\"16777275\":2416,\"16777277\":2494,\"16777279\":2660,\"16777290\":3475,\"16777291\":3449,\"16777294\":3475,\"16777298\":3460,\"16777299\":3460,\"16777301\":3475,\"16777303\":3460,\"16777304\":3449,\"16777308\":3911,\"16777309\":3846,\"16777313\":4023,\"16777316\":4387,\"16777318\":4406,\"16777319\":4406,\"16777320\":4406,\"16777321\":4376,\"16777322\":4387,\"16777323\":4376,\"16777327\":4810,\"16777329\":4745,\"16777331\":5115,\"16777333\":4983,\"16777335\":5196}},{\"ServerId\":1697599534,\"OwnerAccountId\":50868960,\"BattleEntityId\":{\"uniqueId\":16777218},\"CharacterId\":10014,\"CostumeId\":0,\"Grade\":3,\"Level\":51,\"PotentialStatLevel\":{\"MaxHP\":0,\"AttackPower\":0,\"HealPower\":0},\"ExSkillLevel\":1,\"PublicSkillLevel\":1,\"PassiveSkillLevel\":1,\"ExtraPassiveSkillLevel\":1,\"FavorRank\":1,\"StatSnapshotCollection\":[{\"Stat\":1,\"Start\":24420,\"End\":24420},{\"Stat\":2,\"Start\":1740,\"End\":2091},{\"Stat\":3,\"Start\":110,\"End\":110},{\"Stat\":4,\"Start\":3751,\"End\":3751},{\"Stat\":5,\"Start\":108,\"End\":108},{\"Stat\":7,\"Start\":1066,\"End\":1066},{\"Stat\":9,\"Start\":246,\"End\":246},{\"Stat\":12,\"Start\":20000,\"End\":24624},{\"Stat\":30,\"Start\":10000,\"End\":10000},{\"Stat\":34,\"Start\":10000,\"End\":12744},{\"Stat\":42,\"Start\":700,\"End\":775},{\"Stat\":44,\"Start\":0,\"End\":0}],\"HPRateBefore\":10000,\"HPRateAfter\":9788,\"CrowdControlCount\":0,\"CrowdControlDuration\":0,\"EvadeCount\":91,\"DamageImmuneCount\":0,\"CrowdControlImmuneCount\":0,\"MaxAttackPower\":2091,\"AverageCriticalRate\":2018,\"AverageStabilityRate\":8962,\"AverageAccuracyRate\":8384,\"DeadFrame\":-1,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":1,\"GivenNumericLogs\":[{\"EntityType\":\"Character\",\"Category\":1,\"Source\":1,\"CalculatedSum\":354526,\"AppliedSum\":59369,\"Count\":103,\"CriticalMultiplierMax\":19624,\"CriticalCount\":21,\"CalculatedMin\":2742,\"CalculatedMax\":4146,\"AppliedMin\":0,\"AppliedMax\":2541},{\"EntityType\":\"Character\",\"Category\":1,\"Source\":3,\"CalculatedSum\":85700,\"AppliedSum\":12465,\"Count\":6,\"CriticalMultiplierMax\":19624,\"CriticalCount\":1,\"CalculatedMin\":12378,\"CalculatedMax\":17676,\"AppliedMin\":1182,\"AppliedMax\":3711}],\"TakenNumericLogs\":[{\"EntityType\":\"Character\",\"Category\":1,\"Source\":1,\"CalculatedSum\":1494,\"AppliedSum\":520,\"Count\":40,\"CriticalMultiplierMax\":15000,\"CriticalCount\":5,\"CalculatedMin\":22,\"CalculatedMax\":85,\"AppliedMin\":7,\"AppliedMax\":118}],\"SkillCount\":{\"PublicSkill01\":6,\"ExSkill01\":3},\"KillLog\":{\"16777221\":371,\"16777227\":517,\"16777228\":566,\"16777240\":1239,\"16777241\":1102,\"16777244\":995,\"16777278\":2508,\"16777280\":2417,\"16777281\":2949,\"16777284\":2543,\"16777285\":2582,\"16777286\":2676,\"16777287\":2900,\"16777296\":3432,\"16777297\":3700,\"16777300\":3700,\"16777302\":3600,\"16777317\":4332,\"16777330\":4830}},{\"ServerId\":1715188081,\"OwnerAccountId\":50868960,\"BattleEntityId\":{\"uniqueId\":16777219},\"CharacterId\":10040,\"CostumeId\":0,\"Grade\":3,\"Level\":52,\"PotentialStatLevel\":{\"MaxHP\":0,\"AttackPower\":0,\"HealPower\":0},\"ExSkillLevel\":1,\"PublicSkillLevel\":1,\"PassiveSkillLevel\":1,\"ExtraPassiveSkillLevel\":1,\"FavorRank\":6,\"StatSnapshotCollection\":[{\"Stat\":1,\"Start\":31409,\"End\":35806},{\"Stat\":2,\"Start\":1449,\"End\":1449},{\"Stat\":3,\"Start\":127,\"End\":127},{\"Stat\":4,\"Start\":4160,\"End\":4160},{\"Stat\":5,\"Start\":109,\"End\":109},{\"Stat\":7,\"Start\":1307,\"End\":1307},{\"Stat\":9,\"Start\":218,\"End\":218},{\"Stat\":12,\"Start\":20000,\"End\":21824},{\"Stat\":30,\"Start\":10000,\"End\":10000},{\"Stat\":34,\"Start\":10000,\"End\":10000},{\"Stat\":42,\"Start\":700,\"End\":775},{\"Stat\":44,\"Start\":0,\"End\":0}],\"HPRateBefore\":10000,\"HPRateAfter\":9450,\"CrowdControlCount\":0,\"CrowdControlDuration\":0,\"EvadeCount\":269,\"DamageImmuneCount\":0,\"CrowdControlImmuneCount\":0,\"MaxAttackPower\":1449,\"AverageCriticalRate\":2809,\"AverageStabilityRate\":8766,\"AverageAccuracyRate\":7562,\"DeadFrame\":-1,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":1,\"GivenNumericLogs\":[{\"EntityType\":\"Character\",\"Category\":1,\"Source\":1,\"CalculatedSum\":241560,\"AppliedSum\":40067,\"Count\":119,\"CriticalMultiplierMax\":16824,\"CriticalCount\":34,\"CalculatedMin\":1766,\"CalculatedMax\":2305,\"AppliedMin\":0,\"AppliedMax\":928},{\"EntityType\":\"Character\",\"Category\":1,\"Source\":3,\"CalculatedSum\":17596,\"AppliedSum\":2859,\"Count\":2,\"CriticalMultiplierMax\":10000,\"CriticalCount\":0,\"CalculatedMin\":8156,\"CalculatedMax\":9440,\"AppliedMin\":1256,\"AppliedMax\":1603}],\"TakenNumericLogs\":[{\"EntityType\":\"Character\",\"Category\":1,\"Source\":1,\"CalculatedSum\":5298,\"AppliedSum\":1971,\"Count\":149,\"CriticalMultiplierMax\":15000,\"CriticalCount\":5,\"CalculatedMin\":22,\"CalculatedMax\":87,\"AppliedMin\":7,\"AppliedMax\":80}],\"Equipments\":[{\"ServerId\":1726081170,\"UniqueId\":3000,\"Level\":1,\"Tier\":1},{\"ServerId\":1726081290,\"UniqueId\":5000,\"Level\":1,\"Tier\":1},{\"ServerId\":1726081335,\"UniqueId\":7000,\"Level\":1,\"Tier\":1}],\"SkillCount\":{\"PublicSkill01\":5},\"KillLog\":{\"16777223\":393,\"16777229\":538,\"16777234\":676,\"16777235\":736,\"16777243\":946,\"16777252\":1185,\"16777261\":1911,\"16777273\":2449,\"16777282\":2813,\"16777283\":2591,\"16777289\":5324,\"16777293\":3429,\"16777314\":4229,\"16777315\":4167,\"16777326\":4581,\"16777332\":4776,\"16777336\":5209}},{\"ServerId\":1177637528,\"OwnerAccountId\":50868960,\"BattleEntityId\":{\"uniqueId\":16777220},\"CharacterId\":10052,\"CostumeId\":0,\"Grade\":4,\"Level\":52,\"PotentialStatLevel\":{\"MaxHP\":0,\"AttackPower\":0,\"HealPower\":0},\"ExSkillLevel\":1,\"PublicSkillLevel\":1,\"PassiveSkillLevel\":1,\"ExtraPassiveSkillLevel\":1,\"FavorRank\":7,\"StatSnapshotCollection\":[{\"Stat\":1,\"Start\":20832,\"End\":23748},{\"Stat\":2,\"Start\":1365,\"End\":1365},{\"Stat\":3,\"Start\":100,\"End\":100},{\"Stat\":4,\"Start\":4198,\"End\":4198},{\"Stat\":5,\"Start\":100,\"End\":100},{\"Stat\":7,\"Start\":1090,\"End\":1090},{\"Stat\":9,\"Start\":201,\"End\":201},{\"Stat\":12,\"Start\":20000,\"End\":21824},{\"Stat\":30,\"Start\":10000,\"End\":10000},{\"Stat\":34,\"Start\":10000,\"End\":10000},{\"Stat\":42,\"Start\":700,\"End\":775},{\"Stat\":44,\"Start\":0,\"End\":0}],\"HPRateBefore\":10000,\"HPRateAfter\":9901,\"CrowdControlCount\":0,\"CrowdControlDuration\":0,\"EvadeCount\":28,\"DamageImmuneCount\":0,\"CrowdControlImmuneCount\":0,\"MaxAttackPower\":1365,\"AverageCriticalRate\":2083,\"AverageStabilityRate\":8420,\"AverageAccuracyRate\":8181,\"DeadFrame\":-1,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":1,\"GivenNumericLogs\":[{\"EntityType\":\"Character\",\"Category\":1,\"Source\":1,\"CalculatedSum\":67716,\"AppliedSum\":41087,\"Count\":29,\"CriticalMultiplierMax\":16824,\"CriticalCount\":6,\"CalculatedMin\":1924,\"CalculatedMax\":2718,\"AppliedMin\":0,\"AppliedMax\":3711},{\"EntityType\":\"Character\",\"Category\":1,\"Source\":3,\"CalculatedSum\":390394,\"AppliedSum\":1231,\"Count\":43,\"CriticalMultiplierMax\":16824,\"CriticalCount\":9,\"CalculatedMin\":7610,\"CalculatedMax\":10608,\"AppliedMin\":0,\"AppliedMax\":360}],\"TakenNumericLogs\":[{\"EntityType\":\"Character\",\"Category\":1,\"Source\":1,\"CalculatedSum\":430,\"AppliedSum\":237,\"Count\":13,\"CriticalMultiplierMax\":15000,\"CriticalCount\":1,\"CalculatedMin\":22,\"CalculatedMax\":86,\"AppliedMin\":7,\"AppliedMax\":81}],\"Equipments\":[{\"ServerId\":1594910537,\"UniqueId\":3000,\"Level\":1,\"Tier\":1},{\"ServerId\":1592474928,\"UniqueId\":6000,\"Level\":1,\"Tier\":1},{\"ServerId\":1694588019,\"UniqueId\":7000,\"Level\":1,\"Tier\":1}],\"SkillCount\":{\"PublicSkill01\":5,\"ExSkill01\":3},\"KillLog\":{\"16777225\":301,\"16777230\":507,\"16777233\":649,\"16777236\":1396,\"16777237\":1336,\"16777245\":876,\"16777257\":1887,\"16777266\":2095,\"16777267\":2155,\"16777272\":2331,\"16777276\":2389,\"16777292\":3462,\"16777295\":3401,\"16777328\":4983,\"16777334\":4863}}],\"Supporters\":[{\"ServerId\":2388633606,\"OwnerAccountId\":50868960,\"BattleEntityId\":{\"uniqueId\":1073741825},\"CharacterId\":20036,\"CostumeId\":0,\"Grade\":5,\"Level\":53,\"PotentialStatLevel\":{\"MaxHP\":0,\"AttackPower\":0,\"HealPower\":0},\"ExSkillLevel\":1,\"PublicSkillLevel\":1,\"PassiveSkillLevel\":1,\"ExtraPassiveSkillLevel\":1,\"FavorRank\":1,\"StatSnapshotCollection\":[{\"Stat\":1,\"Start\":11218,\"End\":11218},{\"Stat\":2,\"Start\":2779,\"End\":3168},{\"Stat\":3,\"Start\":227,\"End\":227},{\"Stat\":4,\"Start\":5035,\"End\":5035},{\"Stat\":5,\"Start\":686,\"End\":686},{\"Stat\":7,\"Start\":755,\"End\":755},{\"Stat\":9,\"Start\":263,\"End\":263},{\"Stat\":12,\"Start\":20000,\"End\":21824},{\"Stat\":30,\"Start\":10000,\"End\":10000},{\"Stat\":34,\"Start\":10000,\"End\":10000},{\"Stat\":42,\"Start\":700,\"End\":775},{\"Stat\":44,\"Start\":0,\"End\":0}],\"HPRateBefore\":0,\"HPRateAfter\":0,\"CrowdControlCount\":0,\"CrowdControlDuration\":0,\"EvadeCount\":0,\"DamageImmuneCount\":0,\"CrowdControlImmuneCount\":0,\"MaxAttackPower\":3168,\"AverageCriticalRate\":1851,\"AverageStabilityRate\":9080,\"AverageAccuracyRate\":10000,\"DeadFrame\":-1,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":1,\"GivenNumericLogs\":[{\"EntityType\":\"Character\",\"Category\":1,\"Source\":2,\"CalculatedSum\":514066,\"AppliedSum\":88733,\"Count\":14,\"CriticalMultiplierMax\":16824,\"CriticalCount\":2,\"CalculatedMin\":32452,\"CalculatedMax\":40200,\"AppliedMin\":1312,\"AppliedMax\":37924},{\"EntityType\":\"Character\",\"Category\":1,\"Source\":3,\"CalculatedSum\":75656,\"AppliedSum\":11548,\"Count\":13,\"CriticalMultiplierMax\":16824,\"CriticalCount\":3,\"CalculatedMin\":5278,\"CalculatedMax\":6424,\"AppliedMin\":136,\"AppliedMax\":1992}],\"SkillCount\":{\"PublicSkill01\":4,\"ExSkill01\":4},\"KillLog\":{\"16777238\":1116,\"16777251\":1116,\"16777253\":1116,\"16777254\":1116,\"16777255\":1116,\"16777269\":2181,\"16777270\":2360,\"16777305\":3833,\"16777306\":3833,\"16777307\":3833,\"16777310\":3833,\"16777311\":3833,\"16777312\":3833,\"16777324\":4445,\"16777325\":4470}},{\"ServerId\":1177644207,\"OwnerAccountId\":50868960,\"BattleEntityId\":{\"uniqueId\":1073741826},\"CharacterId\":20020,\"CostumeId\":0,\"Grade\":5,\"Level\":52,\"PotentialStatLevel\":{\"MaxHP\":0,\"AttackPower\":0,\"HealPower\":0},\"ExSkillLevel\":1,\"PublicSkillLevel\":1,\"PassiveSkillLevel\":2,\"ExtraPassiveSkillLevel\":1,\"FavorRank\":8,\"StatSnapshotCollection\":[{\"Stat\":1,\"Start\":20508,\"End\":20508},{\"Stat\":2,\"Start\":2143,\"End\":2439},{\"Stat\":3,\"Start\":390,\"End\":390},{\"Stat\":4,\"Start\":4682,\"End\":4682},{\"Stat\":5,\"Start\":714,\"End\":714},{\"Stat\":7,\"Start\":1151,\"End\":1151},{\"Stat\":9,\"Start\":318,\"End\":318},{\"Stat\":12,\"Start\":20000,\"End\":21824},{\"Stat\":30,\"Start\":10000,\"End\":10000},{\"Stat\":34,\"Start\":10000,\"End\":10000},{\"Stat\":42,\"Start\":700,\"End\":775},{\"Stat\":44,\"Start\":0,\"End\":0}],\"HPRateBefore\":0,\"HPRateAfter\":0,\"CrowdControlCount\":0,\"CrowdControlDuration\":0,\"EvadeCount\":0,\"DamageImmuneCount\":0,\"CrowdControlImmuneCount\":0,\"MaxAttackPower\":2439,\"AverageCriticalRate\":2000,\"AverageStabilityRate\":9080,\"AverageAccuracyRate\":10000,\"DeadFrame\":-1,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":1,\"GivenNumericLogs\":[{\"EntityType\":\"Character\",\"Category\":1,\"Source\":3,\"CalculatedSum\":20582,\"AppliedSum\":6295,\"Count\":5,\"CriticalMultiplierMax\":16824,\"CriticalCount\":1,\"CalculatedMin\":3593,\"CalculatedMax\":4513,\"AppliedMin\":405,\"AppliedMax\":3711}],\"Equipments\":[{\"ServerId\":1594909878,\"UniqueId\":3001,\"Level\":20,\"Tier\":2},{\"ServerId\":1594909884,\"UniqueId\":6001,\"Level\":20,\"Tier\":2},{\"ServerId\":1623780758,\"UniqueId\":8000,\"Level\":10,\"Tier\":1}],\"CharacterWeapon\":{\"UniqueId\":20020,\"StarGrade\":1,\"Level\":1},\"SkillCount\":{\"ExSkill01\":3,\"PublicSkill01\":5},\"KillLog\":{\"16777242\":932,\"16777258\":1832,\"16777288\":2732}}],\"UseAutoSkill\":false,\"TSSInteractionServerId\":0,\"TSSInteractionUniqueId\":0,\"AssistRelations\":{},\"SkillCostSummary\":{\"InitialCost\":0,\"CostPerFrameSnapshots\":[{\"Frame\":61,\"Regen\":0.0154999988}],\"CostAddSnapshots\":[],\"CostUseSnapshots\":[{\"Frame\":319,\"Used\":3,\"CharId\":20020,\"Level\":1},{\"Frame\":872,\"Used\":6,\"CharId\":10036,\"Level\":1},{\"Frame\":1056,\"Used\":6,\"CharId\":20036,\"Level\":1},{\"Frame\":1664,\"Used\":3,\"CharId\":10014,\"Level\":1},{\"Frame\":1756,\"Used\":3,\"CharId\":10052,\"Level\":1},{\"Frame\":1849,\"Used\":6,\"CharId\":10036,\"Level\":1},{\"Frame\":2301,\"Used\":6,\"CharId\":20036,\"Level\":1},{\"Frame\":2449,\"Used\":3,\"CharId\":20020,\"Level\":1},{\"Frame\":2585,\"Used\":3,\"CharId\":10052,\"Level\":1},{\"Frame\":3381,\"Used\":6,\"CharId\":10036,\"Level\":1},{\"Frame\":3699,\"Used\":3,\"CharId\":10014,\"Level\":1},{\"Frame\":3782,\"Used\":6,\"CharId\":20036,\"Level\":1},{\"Frame\":3934,\"Used\":3,\"CharId\":20020,\"Level\":1},{\"Frame\":4311,\"Used\":6,\"CharId\":10036,\"Level\":1},{\"Frame\":4722,\"Used\":3,\"CharId\":10052,\"Level\":1},{\"Frame\":5006,\"Used\":3,\"CharId\":10014,\"Level\":1},{\"Frame\":5249,\"Used\":6,\"CharId\":20036,\"Level\":1}]}},\"Group02Summary\":{\"TeamId\":2,\"LeaderEntityId\":{\"uniqueId\":0},\"Heroes\":[{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777221},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":371,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777222},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":311,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777223},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":393,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777224},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":246,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777225},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":301,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777226},\"CharacterId\":602230106,\"CostumeId\":0,\"DeadFrame\":540,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777227},\"CharacterId\":602230104,\"CostumeId\":0,\"DeadFrame\":517,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777228},\"CharacterId\":602230104,\"CostumeId\":0,\"DeadFrame\":566,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777229},\"CharacterId\":602230104,\"CostumeId\":0,\"DeadFrame\":538,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777230},\"CharacterId\":602230106,\"CostumeId\":0,\"DeadFrame\":507,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777231},\"CharacterId\":602230106,\"CostumeId\":0,\"DeadFrame\":605,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777232},\"CharacterId\":602230106,\"CostumeId\":0,\"DeadFrame\":686,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777233},\"CharacterId\":602230106,\"CostumeId\":0,\"DeadFrame\":649,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777234},\"CharacterId\":602230106,\"CostumeId\":0,\"DeadFrame\":676,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777235},\"CharacterId\":602230106,\"CostumeId\":0,\"DeadFrame\":736,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777236},\"CharacterId\":602230104,\"CostumeId\":0,\"DeadFrame\":1396,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777237},\"CharacterId\":602230104,\"CostumeId\":0,\"DeadFrame\":1336,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777238},\"CharacterId\":602230104,\"CostumeId\":0,\"DeadFrame\":1116,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777239},\"CharacterId\":602230104,\"CostumeId\":0,\"DeadFrame\":949,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777240},\"CharacterId\":602230104,\"CostumeId\":0,\"DeadFrame\":1239,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777241},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":1102,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777242},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":932,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777243},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":946,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777244},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":995,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777245},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":876,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777246},\"CharacterId\":602230106,\"CostumeId\":0,\"DeadFrame\":938,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777247},\"CharacterId\":602230104,\"CostumeId\":0,\"DeadFrame\":938,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777248},\"CharacterId\":602230106,\"CostumeId\":0,\"DeadFrame\":949,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777249},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":964,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777250},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":964,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777251},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":1116,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777252},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":1185,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777253},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":1116,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777254},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":1116,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777255},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":1116,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777256},\"CharacterId\":602230108,\"CostumeId\":0,\"Grade\":1,\"Level\":17,\"ExSkillLevel\":-1,\"PublicSkillLevel\":-1,\"PassiveSkillLevel\":-1,\"ExtraPassiveSkillLevel\":-1,\"FavorRank\":0,\"HPRateBefore\":10000,\"HPRateAfter\":0,\"CrowdControlCount\":0,\"CrowdControlDuration\":0,\"EvadeCount\":0,\"DamageImmuneCount\":0,\"CrowdControlImmuneCount\":0,\"MaxAttackPower\":219,\"AverageCriticalRate\":0,\"AverageStabilityRate\":9898,\"AverageAccuracyRate\":5000,\"DeadFrame\":1914,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":4,\"GivenNumericLogs\":[{\"EntityType\":\"Character\",\"Category\":1,\"Source\":1,\"CalculatedSum\":86,\"AppliedSum\":81,\"Count\":1,\"CriticalMultiplierMax\":10000,\"CriticalCount\":0,\"CalculatedMin\":86,\"CalculatedMax\":86,\"AppliedMin\":81,\"AppliedMax\":81}],\"TakenNumericLogs\":[{\"EntityType\":\"Character\",\"Category\":1,\"Source\":2,\"CalculatedSum\":12302,\"AppliedSum\":1909,\"Count\":1,\"CriticalMultiplierMax\":10000,\"CriticalCount\":0,\"CalculatedMin\":12302,\"CalculatedMax\":12302,\"AppliedMin\":1909,\"AppliedMax\":1909}]},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777257},\"CharacterId\":602230108,\"CostumeId\":0,\"Grade\":1,\"Level\":17,\"ExSkillLevel\":-1,\"PublicSkillLevel\":-1,\"PassiveSkillLevel\":-1,\"ExtraPassiveSkillLevel\":-1,\"FavorRank\":0,\"HPRateBefore\":10000,\"HPRateAfter\":0,\"CrowdControlCount\":0,\"CrowdControlDuration\":0,\"EvadeCount\":2,\"DamageImmuneCount\":0,\"CrowdControlImmuneCount\":0,\"MaxAttackPower\":219,\"AverageCriticalRate\":0,\"AverageStabilityRate\":9946,\"AverageAccuracyRate\":5000,\"DeadFrame\":1887,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":4,\"GivenNumericLogs\":[{\"EntityType\":\"Character\",\"Category\":1,\"Source\":1,\"CalculatedSum\":86,\"AppliedSum\":81,\"Count\":1,\"CriticalMultiplierMax\":10000,\"CriticalCount\":0,\"CalculatedMin\":86,\"CalculatedMax\":86,\"AppliedMin\":81,\"AppliedMax\":81}],\"TakenNumericLogs\":[{\"EntityType\":\"Character\",\"Category\":1,\"Source\":1,\"CalculatedSum\":6242,\"AppliedSum\":1549,\"Count\":3,\"CriticalMultiplierMax\":10000,\"CriticalCount\":0,\"CalculatedMin\":1769,\"CalculatedMax\":2265,\"AppliedMin\":439,\"AppliedMax\":562},{\"EntityType\":\"Character\",\"Category\":1,\"Source\":3,\"CalculatedSum\":86186,\"AppliedSum\":360,\"Count\":9,\"CriticalMultiplierMax\":16824,\"CriticalCount\":5,\"CalculatedMin\":7610,\"CalculatedMax\":10608,\"AppliedMin\":0,\"AppliedMax\":360}]},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777258},\"CharacterId\":602230106,\"CostumeId\":0,\"DeadFrame\":1832,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777259},\"CharacterId\":602230106,\"CostumeId\":0,\"DeadFrame\":1924,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777260},\"CharacterId\":602230104,\"CostumeId\":0,\"DeadFrame\":1832,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777261},\"CharacterId\":602230104,\"CostumeId\":0,\"DeadFrame\":1911,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777262},\"CharacterId\":602230106,\"CostumeId\":0,\"DeadFrame\":1924,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777263},\"CharacterId\":602230104,\"CostumeId\":0,\"DeadFrame\":1939,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777264},\"CharacterId\":602230106,\"CostumeId\":0,\"DeadFrame\":1914,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777265},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":1939,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777266},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":2095,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777267},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":2155,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777268},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":2079,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777269},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":2181,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777270},\"CharacterId\":602230110,\"CostumeId\":0,\"Grade\":1,\"Level\":17,\"ExSkillLevel\":-1,\"PublicSkillLevel\":1,\"PassiveSkillLevel\":1,\"ExtraPassiveSkillLevel\":-1,\"FavorRank\":0,\"HPRateBefore\":10000,\"HPRateAfter\":0,\"CrowdControlCount\":1,\"CrowdControlDuration\":0,\"EvadeCount\":0,\"DamageImmuneCount\":0,\"CrowdControlImmuneCount\":0,\"MaxAttackPower\":660,\"AverageCriticalRate\":0,\"AverageStabilityRate\":0,\"AverageAccuracyRate\":0,\"DeadFrame\":2360,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":4,\"TakenNumericLogs\":[{\"EntityType\":\"Supporter\",\"Category\":1,\"Source\":2,\"CalculatedSum\":33542,\"AppliedSum\":8738,\"Count\":1,\"CriticalMultiplierMax\":10000,\"CriticalCount\":0,\"CalculatedMin\":33542,\"CalculatedMax\":33542,\"AppliedMin\":8738,\"AppliedMax\":8738}]},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777271},\"CharacterId\":602230108,\"CostumeId\":0,\"Grade\":1,\"Level\":17,\"ExSkillLevel\":-1,\"PublicSkillLevel\":-1,\"PassiveSkillLevel\":-1,\"ExtraPassiveSkillLevel\":-1,\"FavorRank\":0,\"HPRateBefore\":10000,\"HPRateAfter\":0,\"CrowdControlCount\":0,\"CrowdControlDuration\":0,\"EvadeCount\":0,\"DamageImmuneCount\":0,\"CrowdControlImmuneCount\":0,\"MaxAttackPower\":219,\"AverageCriticalRate\":0,\"AverageStabilityRate\":0,\"AverageAccuracyRate\":0,\"DeadFrame\":2353,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":4,\"TakenNumericLogs\":[{\"EntityType\":\"Character\",\"Category\":1,\"Source\":1,\"CalculatedSum\":5544,\"AppliedSum\":1909,\"Count\":1,\"CriticalMultiplierMax\":10000,\"CriticalCount\":0,\"CalculatedMin\":5544,\"CalculatedMax\":5544,\"AppliedMin\":1909,\"AppliedMax\":1909}]},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777272},\"CharacterId\":602230108,\"CostumeId\":0,\"Grade\":1,\"Level\":17,\"ExSkillLevel\":-1,\"PublicSkillLevel\":-1,\"PassiveSkillLevel\":-1,\"ExtraPassiveSkillLevel\":-1,\"FavorRank\":0,\"HPRateBefore\":10000,\"HPRateAfter\":0,\"CrowdControlCount\":0,\"CrowdControlDuration\":0,\"EvadeCount\":0,\"DamageImmuneCount\":0,\"CrowdControlImmuneCount\":0,\"MaxAttackPower\":219,\"AverageCriticalRate\":0,\"AverageStabilityRate\":0,\"AverageAccuracyRate\":0,\"DeadFrame\":2331,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":4,\"TakenNumericLogs\":[{\"EntityType\":\"Character\",\"Category\":1,\"Source\":1,\"CalculatedSum\":2104,\"AppliedSum\":1909,\"Count\":1,\"CriticalMultiplierMax\":10000,\"CriticalCount\":0,\"CalculatedMin\":2104,\"CalculatedMax\":2104,\"AppliedMin\":1909,\"AppliedMax\":1909}]},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777273},\"CharacterId\":602230104,\"CostumeId\":0,\"DeadFrame\":2449,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777274},\"CharacterId\":602230106,\"CostumeId\":0,\"DeadFrame\":2763,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777275},\"CharacterId\":602230106,\"CostumeId\":0,\"DeadFrame\":2416,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777276},\"CharacterId\":602230104,\"CostumeId\":0,\"DeadFrame\":2389,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777277},\"CharacterId\":602230106,\"CostumeId\":0,\"DeadFrame\":2494,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777278},\"CharacterId\":602230104,\"CostumeId\":0,\"DeadFrame\":2508,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777279},\"CharacterId\":602230106,\"CostumeId\":0,\"DeadFrame\":2660,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777280},\"CharacterId\":602230106,\"CostumeId\":0,\"DeadFrame\":2417,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777281},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":2949,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777282},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":2813,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777283},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":2591,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777284},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":2543,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777285},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":2582,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777286},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":2676,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777287},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":2900,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777288},\"CharacterId\":602230102,\"CostumeId\":0,\"DeadFrame\":2732,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":2},{\"ServerId\":0,\"OwnerAccountId\":0,\"BattleEntityId\":{\"uniqueId\":16777289},\"CharacterId\":602230101,\"CostumeId\":0,\"Grade\":1,\"Level\":17,\"ExSkillLevel\":1,\"PublicSkillLevel\":-1,\"PassiveSkillLevel\":1,\"ExtraPassiveSkillLevel\":-1,\"FavorRank\":0,\"StatSnapshotCollection\":[{\"Stat\":1,\"Start\":80000,\"End\":80000},{\"Stat\":2,\"Start\":10,\"End\":10},{\"Stat\":3,\"Start\":100,\"End\":100},{\"Stat\":4,\"Start\":1,\"End\":1},{\"Stat\":5,\"Start\":100,\"End\":100},{\"Stat\":7,\"Start\":200,\"End\":200},{\"Stat\":9,\"Start\":250,\"End\":250},{\"Stat\":12,\"Start\":20000,\"End\":20000},{\"Stat\":30,\"Start\":10000,\"End\":10000},{\"Stat\":34,\"Start\":10000,\"End\":10000},{\"Stat\":42,\"Start\":0,\"End\":0},{\"Stat\":44,\"Start\":0,\"End\":0}],\"HPRateBefore\":10000,\"HPRateAfter\":0,\"CrowdControlCount\":0,\"CrowdControlDuration\":0,\"EvadeCount\":7,\"DamageImmuneCount\":0,\"CrowdControlImmuneCount\":0,\"MaxAttackPower\":10,\"AverageCriticalRate\":1250,\"AverageStabilityRate\":9893,\"AverageAccuracyRate\":10000,\"DeadFrame\":5324,\"DamageGivenAbsorbedSum\":0,\"TacticEntityType\":16,\"GivenNumericLogs\":[{\"EntityType\":\"Character\",\"Category\":1,\"Source\":1,\"CalculatedSum\":1846,\"AppliedSum\":1065,\"Count\":56,\"CriticalMultiplierMax\":15000,\"CriticalCount\":7,\"CalculatedMin\":22,\"CalculatedMax\":87,\"AppliedMin\":7,\"AppliedMax\":123}],\"TakenNumericLogs\":[{\"EntityType\":\"Character\",\"Category\":1,\"Source\":3,\"CalculatedSum\":131050,\"AppliedSum\":3985,\"Count\":13,\"CriticalMultiplierMax\":19624,\"CriticalCount\":1,\"CalculatedMin\":7932,\"CalculatedMax\":13116,\"AppliedMin\":74,\"AppliedMax\":1237},{\"EntityType\":\"Supporter\",\"Category\":1,\"Source\":3,\"CalculatedSum\":43334,\"AppliedSum\":2145,\"Count\":8,\"CriticalMultiplierMax\":16824,\"CriticalCount\":2,\"CalculatedMin\":4297,\"CalculatedMax\":6414,\"AppliedMin\":149,\"AppliedMax\":425},{\"EntityType\":\"Character\",\"Category\":1,\"Source\":2,\"CalculatedSum\":59520,\"AppliedSum\":8971,\"Count\":5,\"CriticalMultiplierMax\":19624,\"CriticalCount\":3,\"CalculatedMin\":10754,\"CalculatedMax\":13116,\"AppliedMin\":1014,\"AppliedMax\":2428},{\"EntityType\":\"Character\",\"Category\":1,\"Source\":1,\"CalculatedSum\":169622,\"AppliedSum\":23321,\"Count\":52,\"CriticalMultiplierMax\":19624,\"CriticalCount\":13,\"CalculatedMin\":1766,\"CalculatedMax\":5416,\"AppliedMin\":43,\"AppliedMax\":5109},{\"EntityType\":\"Supporter\",\"Category\":1,\"Source\":2,\"CalculatedSum\":78886,\"AppliedSum\":41573,\"Count\":2,\"CriticalMultiplierMax\":10000,\"CriticalCount\":0,\"CalculatedMin\":38686,\"CalculatedMax\":40200,\"AppliedMin\":3649,\"AppliedMax\":37924}],\"SkillCount\":{\"ExSkill01\":5}}],\"UseAutoSkill\":false,\"TSSInteractionServerId\":0,\"TSSInteractionUniqueId\":0,\"AssistRelations\":{},\"SkillCostSummary\":{\"InitialCost\":0,\"CostPerFrameSnapshots\":[],\"CostAddSnapshots\":[],\"CostUseSnapshots\":[]}},\"RaidSummary\":{\"RaidSeasonId\":19,\"RaidBossResults\":[{\"RaidDamage\":{\"Index\":0,\"GivenDamage\":80000,\"GivenGroggyPoint\":1000000000},\"EndHpRateRawValue\":0,\"GroggyRateRawValue\":0,\"GroggyCount\":1,\"SubPartsHPs\":null,\"AIPhase\":1}]},\"ElapsedRealtime\":142.024963},\"AssistUseInfo\":null,\"ClientUpTime\":151,\"Resendable\":true,\"Hash\":107387067302034,\"IsTest\":false,\"SessionKey\":{\"AccountServerId\":50868960,\"MxToken\":\"+w+2H3TTud1L5ml4caWAzAw0V/fYOwF/Vm3u7CO7Ky0=\"},\"AccountId\":50868960}"; - - Log.Information("Sending Post Request to " + url); - Log.Information($"Payload: {packetJsonStr}"); - - byte[] payload = PacketCryptManager.Instance.RequestToBinary(requestPacket.Protocol, packetJsonStr); - - //File.WriteAllBytes("./mx.dat", payload); - Log.Information("Written All Bytes"); - - var request = new HttpRequestMessage(HttpMethod.Post, url); - request.Headers.Add("mx", "1"); - request.Headers.Add("Bundle-Version", "li3pmyogha"); - - var content = new MultipartFormDataContent(); - content.Add(new StreamContent(new MemoryStream(payload)), "mx", "mx.dat"); - request.Content = content; - - Log.Information("Sending POST Request!"); - var response = await httpClient.SendAsync(request); - - // Response - Log.Information("Response Details:"); - Log.Information($"Status Code: {response.StatusCode}"); - string responseBody = await response.Content.ReadAsStringAsync(); - Log.Information("Response Body:"); - Log.Information(responseBody); - - return responseBody; - } - } -} diff --git a/SCHALE.GameServer/Controllers/Api/ProtocolHandlers/Account.cs b/SCHALE.GameServer/Controllers/Api/ProtocolHandlers/Account.cs index f15d06d..243661f 100644 --- a/SCHALE.GameServer/Controllers/Api/ProtocolHandlers/Account.cs +++ b/SCHALE.GameServer/Controllers/Api/ProtocolHandlers/Account.cs @@ -28,7 +28,7 @@ namespace SCHALE.GameServer.Controllers.Api.ProtocolHandlers excelTableService = _excelTableService; } - [ProtocolHandler(Protocol.Account_CheckYostar)] + [ProtocolHandler(Protocol.Account_CheckYostar)] public ResponsePacket CheckYostarHandler(AccountCheckYostarRequest req) { string[] uidToken = req.EnterTicket.Split(':'); @@ -69,6 +69,8 @@ namespace SCHALE.GameServer.Controllers.Api.ProtocolHandlers { CurrentVersion = req.Version, AccountDB = account, + BattleValidation = true, + IssueAlertInfos = [], StaticOpenConditions = new() { { OpenConditionContent.Shop, OpenConditionLockReason.None }, @@ -212,8 +214,6 @@ namespace SCHALE.GameServer.Controllers.Api.ProtocolHandlers PassiveSkillLevel = x.PassiveSkillLevel, ExtraPassiveSkillLevel = x.ExtraPassiveSkillLevel, LeaderSkillLevel = x.LeaderSkillLevel, - IsNew = true, - IsLocked = true, EquipmentServerIds = characterExcel is not null ? characterExcel.EquipmentSlot.Select(x => (long)0).ToList() : [0, 0, 0], @@ -303,7 +303,7 @@ namespace SCHALE.GameServer.Controllers.Api.ProtocolHandlers return new AccountLoginSyncResponse() { - + /* CampaignListResponse = new CampaignListResponse() { CampaignChapterClearRewardHistoryDBs = [ @@ -1608,12 +1608,16 @@ namespace SCHALE.GameServer.Controllers.Api.ProtocolHandlers } ], }, - + */ + /* CafeGetInfoResponse = new CafeGetInfoResponse() { CafeDBs = [.. account.Cafes], FurnitureDBs = [.. account.Furnitures] }, + + */ + AccountCurrencySyncResponse = new AccountCurrencySyncResponse() { AccountCurrencyDB = new AccountCurrencyDB @@ -1740,7 +1744,7 @@ namespace SCHALE.GameServer.Controllers.Api.ProtocolHandlers { MemoryLobbyDBs = [.. account.MemoryLobbies] }, - + /* EventContentPermanentListResponse = new EventContentPermanentListResponse() { PermanentDBs = @@ -1761,6 +1765,8 @@ namespace SCHALE.GameServer.Controllers.Api.ProtocolHandlers ], }, + */ + EquipmentItemListResponse = new EquipmentItemListResponse() { EquipmentDBs = [.. account.Equipment] diff --git a/SCHALE.GameServer/Controllers/Api/ProtocolHandlers/Campaign.cs b/SCHALE.GameServer/Controllers/Api/ProtocolHandlers/Campaign.cs index d7704a5..4c4c475 100644 --- a/SCHALE.GameServer/Controllers/Api/ProtocolHandlers/Campaign.cs +++ b/SCHALE.GameServer/Controllers/Api/ProtocolHandlers/Campaign.cs @@ -1361,7 +1361,7 @@ namespace SCHALE.GameServer.Controllers.Api.ProtocolHandlers { Key = new() { Type = ParcelType.Currency, Id = 5 }, Amount = 10, - Multiplier = new(10000), + Multiplier = new() { }, Probability = new(10000), } ], @@ -1369,7 +1369,7 @@ namespace SCHALE.GameServer.Controllers.Api.ProtocolHandlers AccountServerId = req.AccountId, - ContentType = ContentType.CampaignMainStage, + //ContentType = ContentType.CampaignMainStage, ActivatedHexaEventsAndConditions = new() { { 0, [0] } }, HexaEventDelayedExecutions = [], CreateTime = DateTime.UtcNow, diff --git a/SCHALE.GameServer/Controllers/Api/ProtocolHandlers/Character.cs b/SCHALE.GameServer/Controllers/Api/ProtocolHandlers/Character.cs index c57c23a..d77e089 100644 --- a/SCHALE.GameServer/Controllers/Api/ProtocolHandlers/Character.cs +++ b/SCHALE.GameServer/Controllers/Api/ProtocolHandlers/Character.cs @@ -32,7 +32,6 @@ namespace SCHALE.GameServer.Controllers.Api.ProtocolHandlers { UniqueId = account.Characters.FirstOrDefault(x => x.ServerId == req.TargetCharacterServerId).UniqueId, BoundCharacterServerId = req.TargetCharacterServerId, - IsLocked = false, StarGrade = 1, Level = 1 }; diff --git a/SCHALE.GameServer/Controllers/Api/ProtocolHandlers/Equipment.cs b/SCHALE.GameServer/Controllers/Api/ProtocolHandlers/Equipment.cs index 45abae3..8da45e3 100644 --- a/SCHALE.GameServer/Controllers/Api/ProtocolHandlers/Equipment.cs +++ b/SCHALE.GameServer/Controllers/Api/ProtocolHandlers/Equipment.cs @@ -84,7 +84,6 @@ namespace SCHALE.GameServer.Controllers.Api.ProtocolHandlers targetEquipment.Tier = (int)batchGrowthDB.AfterTier; targetEquipment.Level = (int)batchGrowthDB.AfterLevel; targetEquipment.UniqueId = targetEquipment.UniqueId + batchGrowthDB.AfterTier - 1; // should prob use excel, im lazyzz... - targetEquipment.IsNew = true; targetEquipment.StackCount = 1; context.SaveChanges(); diff --git a/SCHALE.GameServer/Controllers/Api/ProtocolHandlers/Shop.cs b/SCHALE.GameServer/Controllers/Api/ProtocolHandlers/Shop.cs index 60936c5..999e511 100644 --- a/SCHALE.GameServer/Controllers/Api/ProtocolHandlers/Shop.cs +++ b/SCHALE.GameServer/Controllers/Api/ProtocolHandlers/Shop.cs @@ -71,8 +71,9 @@ namespace SCHALE.GameServer.Controllers.Api.ProtocolHandlers foreach (var charId in SavedGachaResults) { - GachaResults.Add(new GachaResult(charId) // hardcode until table + GachaResults.Add(new GachaResult() // hardcode until table { + CharacterId = charId, Character = new() { ServerId = account.ServerId, @@ -85,8 +86,6 @@ namespace SCHALE.GameServer.Controllers.Api.ProtocolHandlers PassiveSkillLevel = 1, ExtraPassiveSkillLevel = 1, LeaderSkillLevel = 1, - IsNew = true, - IsLocked = true } }); } @@ -146,8 +145,9 @@ namespace SCHALE.GameServer.Controllers.Api.ProtocolHandlers // always 3 star shouldDoGuaranteedSR = false; var isNew = accountChSet.Add(rateUpChId); - gachaList.Add(new(rateUpChId) + gachaList.Add(new() { + CharacterId = rateUpChId, Character = !isNew ? null : new() { AccountServerId = account.ServerId, @@ -178,8 +178,9 @@ namespace SCHALE.GameServer.Controllers.Api.ProtocolHandlers var chId = normalSSRList[randomPoolIdx].Id; var isNew = accountChSet.Add(chId); - gachaList.Add(new(chId) + gachaList.Add(new() { + CharacterId = chId, Character = !isNew ? null : new() { AccountServerId = account.ServerId, @@ -206,8 +207,9 @@ namespace SCHALE.GameServer.Controllers.Api.ProtocolHandlers var chId = normalSRList[randomPoolIdx].Id; var isNew = accountChSet.Add(chId); - gachaList.Add(new(chId) + gachaList.Add(new() { + CharacterId = chId, Character = !isNew ? null : new() { AccountServerId = account.ServerId, @@ -233,8 +235,9 @@ namespace SCHALE.GameServer.Controllers.Api.ProtocolHandlers var chId = normalRList[randomPoolIdx].Id; var isNew = accountChSet.Add(chId); - gachaList.Add(new(chId) + gachaList.Add(new() { + CharacterId = chId, Character = !isNew ? null : new() { AccountServerId = account.ServerId, @@ -261,7 +264,6 @@ namespace SCHALE.GameServer.Controllers.Api.ProtocolHandlers acquiredItems = itemDict.Keys.Select(x => new ItemDB() { - IsNew = true, UniqueId = x, StackCount = itemDict[x], }).ToList(); diff --git a/SCHALE.GameServer/Managers/RaidManager.cs b/SCHALE.GameServer/Managers/RaidManager.cs index 93711cf..9951d73 100644 --- a/SCHALE.GameServer/Managers/RaidManager.cs +++ b/SCHALE.GameServer/Managers/RaidManager.cs @@ -59,7 +59,7 @@ namespace SCHALE.GameServer.Managers SeasonId = raidInfo.SeasonId, RaidState = RaidStatus.Playing, IsPractice = isPractice, - BossDifficulty = raidInfo.CurrentDifficulty, + //BossDifficulty = raidInfo.CurrentDifficulty, RaidBossDBs = [ new() { ContentType = ContentType.Raid, @@ -71,7 +71,7 @@ namespace SCHALE.GameServer.Managers else { - RaidDB.BossDifficulty = raidInfo.CurrentDifficulty; + //RaidDB.BossDifficulty = raidInfo.CurrentDifficulty; RaidDB.UniqueId = raidId; RaidDB.IsPractice = isPractice; } diff --git a/SCHALE.GameServer/Utils/InventoryUtils.cs b/SCHALE.GameServer/Utils/InventoryUtils.cs index 1b688ec..07596f8 100644 --- a/SCHALE.GameServer/Utils/InventoryUtils.cs +++ b/SCHALE.GameServer/Utils/InventoryUtils.cs @@ -59,7 +59,6 @@ namespace SCHALE.Common.Utils { return new ItemDB() { - IsNew = true, UniqueId = x.Id, StackCount = 1000, }; @@ -83,7 +82,6 @@ namespace SCHALE.Common.Utils { UniqueId = x.UniqueId, BoundCharacterServerId = x.ServerId, - IsLocked = false, StarGrade = 3, Level = 50 }; @@ -213,8 +211,6 @@ namespace SCHALE.Common.Utils ExtraPassiveSkillLevel = 10, LeaderSkillLevel = 1, FavorRank = 20, - IsNew = true, - IsLocked = true, PotentialStats = { { 1, 0 }, { 2, 0 }, { 3, 0 } }, EquipmentServerIds = [0, 0, 0] };