using KianaBH.KcpSharp;
using KianaBH.Proto;
using KianaBH.Util.Extensions;


namespace KianaBH.GameServer.Server.Packet.Send.Player;

public class PacketGetConfigRsp : BasePacket
{
    public PacketGetConfigRsp() : base(CmdIds.GetConfigRsp)
    {
        //MemoryStream ms = new(Extensions.StringToByteArray("[encoded data, 24290 characters]"));
        //using BinaryReader br = new(ms);
        //byte[] Body = br.ReadBytes((int)ms.Length);
        //var rsp = GetConfigRsp.Parser.ParseFrom(Body);

        //rsp.ServerCurTime = (uint)Extensions.GetUnixSec();
        //rsp.RegionName = "KianaBH";
        //rsp.NextDayBeginTime = (uint)Extensions.GetUnixSec() + 604800 / 7;

        var now = (uint)Extensions.GetUnixSec();

        var proto = new GetConfigRsp
        {
            RegionName = "overseas01",
            ServerCurTime = now,
            NextDayBeginTime = now + 86400,
            DayTimeOffset = 14400,
            StaminaRecoverConfigTime = 360,
            ScoinLimit = 999999999,
            FriendsPointLimit = 500000000,
            MaxFriendNum = 148,
            MinInviteLevel = 26,
            PowerUpScoinCostRate = 50,
            SameTypePowerUpRate = 120,
            AvatarReviveHcoinCost = 60,
            AvatarMaxAddGoodfeel = 1000,
            DisjoinEquipmentBackExpPercent = 25,
            EquipDisjointUnlockLevel = 25,
            DisjoinEquipmentMaxBatchNum = 50,
            StigmataRuneOpenLevel = 1,
            StigmataPromoteMaxTimes = 10,
            StigmataRuneCombatRatio = 0,
            StigmataDisjoinBackExpPercent = 25,
            StigmataRefineValueBackPercent = 1,
            ScoinConvertPerExp = 54,
            RogueStageOpenLevel = 20,
            IslandEventRefreshInterval = 120,
            IslandVisitMaxHelpNum = 5,
            WeekDayActivityCoinItemId = 7034,
            CostSeniorEquipAfterCancelProtectMinTimeDiff = 86400,
            MpResetSkillHcoinCost = 30,
            MpMemberMaxTimesForAllAct = 50,
            MpMemberExhaustedDropRatio = 25,
            FriendAssistantAddBond = 5,
            ArmadaManageMailLength = 100,
            ArmadaContactLength = 20,
            ArmadaManageMailCd = 3600,
            ArmadaBulletinLength = 140,
            TrialAvatarPlayerMinLevel = 10,
            IsRandomBoxProductOpen = false,
            ProductRandomBoxBeginTime = 0,
            ProductRandomBoxEndTime = 0,
            IsCanGalTouch = true,
            IsResistanceOpen = true,
            OpenworldJudgeParaType1 = 0,
            OpenworldJudgeParaType2 = 0,
            OpenworldJudgeParaType3 = 0,
            OpenworldJudgeParaType4 = 0,
            GachaTicketList =
            {
                new GetConfigRsp.Types.GachaTicket { MaterialId = 916, HcoinCost = 10 },
                new GetConfigRsp.Types.GachaTicket { MaterialId = 1102, HcoinCost = 280 },
                new GetConfigRsp.Types.GachaTicket { MaterialId = 1103, HcoinCost = 280 },
                new GetConfigRsp.Types.GachaTicket { MaterialId = 1104, HcoinCost = 280 },
                new GetConfigRsp.Types.GachaTicket { MaterialId = 1106, HcoinCost = 60 },
                new GetConfigRsp.Types.GachaTicket { MaterialId = 1108, HcoinCost = 280 },
                new GetConfigRsp.Types.GachaTicket { MaterialId = 1109, HcoinCost = 150 },
                new GetConfigRsp.Types.GachaTicket { MaterialId = 1110, HcoinCost = 200 },
                new GetConfigRsp.Types.GachaTicket { MaterialId = 1111, HcoinCost = 200 },
                new GetConfigRsp.Types.GachaTicket { MaterialId = 1112, HcoinCost = 120 },
                new GetConfigRsp.Types.GachaTicket { MaterialId = 1115, HcoinCost = 280 },
                new GetConfigRsp.Types.GachaTicket { MaterialId = 7335, HcoinCost = 100 },
                new GetConfigRsp.Types.GachaTicket { MaterialId = 7454, HcoinCost = 10 },
                new GetConfigRsp.Types.GachaTicket { MaterialId = 7848, HcoinCost = 10 },
                new GetConfigRsp.Types.GachaTicket { MaterialId = 114045, HcoinCost = 200 },
                new GetConfigRsp.Types.GachaTicket { MaterialId = 114076, HcoinCost = 8 },
                new GetConfigRsp.Types.GachaTicket { MaterialId = 114214, HcoinCost = 10 },
                new GetConfigRsp.Types.GachaTicket { MaterialId = 114312, HcoinCost = 10 },
                new GetConfigRsp.Types.GachaTicket { MaterialId = 114328, HcoinCost = 8 },
                new GetConfigRsp.Types.GachaTicket { MaterialId = 114663, HcoinCost = 10 },
                new GetConfigRsp.Types.GachaTicket { MaterialId = 114667, HcoinCost = 8 },
                new GetConfigRsp.Types.GachaTicket { MaterialId = 114689, HcoinCost = 10 },
                new GetConfigRsp.Types.GachaTicket { MaterialId = 115108, HcoinCost = 10 },
                new GetConfigRsp.Types.GachaTicket { MaterialId = 115113, HcoinCost = 10 },
                new GetConfigRsp.Types.GachaTicket { MaterialId = 115130, HcoinCost = 10 },
                new GetConfigRsp.Types.GachaTicket { MaterialId = 115167, HcoinCost = 8 },
                new GetConfigRsp.Types.GachaTicket { MaterialId = 115170, HcoinCost = 8 },
                new GetConfigRsp.Types.GachaTicket { MaterialId = 115183, HcoinCost = 8 },
                new GetConfigRsp.Types.GachaTicket { MaterialId = 116124, HcoinCost = 10 },
                new GetConfigRsp.Types.GachaTicket { MaterialId = 116762, HcoinCost = 10 },
                new GetConfigRsp.Types.GachaTicket { MaterialId = 119108, HcoinCost = 8 },
                new GetConfigRsp.Types.GachaTicket { MaterialId = 121033, HcoinCost = 10 },
                new GetConfigRsp.Types.GachaTicket { MaterialId = 121041, HcoinCost = 10 },
                new GetConfigRsp.Types.GachaTicket { MaterialId = 121042, HcoinCost = 10 },
                new GetConfigRsp.Types.GachaTicket { MaterialId = 121294, HcoinCost = 10 },
                new GetConfigRsp.Types.GachaTicket { MaterialId = 121298, HcoinCost = 10 },
                new GetConfigRsp.Types.GachaTicket { MaterialId = 125202, HcoinCost = 10 },
                new GetConfigRsp.Types.GachaTicket { MaterialId = 126811, HcoinCost = 10 },
                new GetConfigRsp.Types.GachaTicket { MaterialId = 126812, HcoinCost = 10 },
                new GetConfigRsp.Types.GachaTicket { MaterialId = 1061660, HcoinCost = 100 }
            },
            DiscountScheduleConfigList =
            {
                new GetConfigRsp.Types.DiscountScheduleConfig
                {
                    ParaIntList = { 3401, 3501 },
                    Type = 2,
                    Discount = 80,
                    BeginTime = 1684353600,
                    EndTime = 1686888000
                },
                new GetConfigRsp.Types.DiscountScheduleConfig
                {
                    ParaIntList = { },
                    Type = 4,
                    Discount = 600,
                    BeginTime = 1684353600,
                    EndTime = 1686888000
                }
            },
            FriendBondLevelConfigList =
            {
                new GetConfigRsp.Types.FriendBondLevelConfig
                {
                    Level = 0,
                    MinBond = 0,
                    AssistCdReduceRate = 0,
                    InviteAddFriendsPoint = 0,
                    ExtraAddMpExpRate = 0,
                    ExtraMpAddFriendsPoint = 0
                },
                new GetConfigRsp.Types.FriendBondLevelConfig
                {
                    Level = 1,
                    MinBond = 333,
                    AssistCdReduceRate = 20,
                    InviteAddFriendsPoint = 3,
                    ExtraAddMpExpRate = 5,
                    ExtraMpAddFriendsPoint = 3
                },
                new GetConfigRsp.Types.FriendBondLevelConfig
                {
                    Level = 2,
                    MinBond = 666,
                    AssistCdReduceRate = 40,
                    InviteAddFriendsPoint = 7,
                    ExtraAddMpExpRate = 10,
                    ExtraMpAddFriendsPoint = 7
                },
                new GetConfigRsp.Types.FriendBondLevelConfig
                {
                    Level = 3,
                    MinBond = 999,
                    AssistCdReduceRate = 60,
                    InviteAddFriendsPoint = 10,
                    ExtraAddMpExpRate = 15,
                    ExtraMpAddFriendsPoint = 10
                }
            },
            AntiCheatStageCheckConfig = new GetConfigRsp.Types.AntiCheatStageCheckConfig
            {
                CheckStageIdList =
                {
                    146001,
                    146002,
                    146003,
                    146004,
                    146005,
                    146006,
                    146007,
                    146008,
                    146009,
                    146010,
                    146011,
                    146012,
                    146013,
                    146014,
                    146015,
                    146016,
                    146017,
                    146018,
                    146019,
                    146020,
                    146021,
                    146022,
                    146023,
                    146024,
                    146025,
                    146026,
                    146027,
                    146028,
                    146029,
                    146030,
                    146031,
                    146032,
                    146033,
                    146034,
                    146035,
                    146036,
                    146037,
                    146038,
                    146039,
                    146040,
                    146041,
                    146042,
                    146043,
                    146044,
                    146045,
                    146046,
                    146047,
                    146048,
                    146049,
                    146050,
                    146051,
                    146052,
                    146053,
                    146054,
                    146055,
                    146056,
                    146057,
                    146058,
                    146059,
                    146060,
                    146061,
                    146062,
                    146063,
                    146064,
                    146065,
                    146066,
                    146067,
                    146068,
                    146069,
                    146070,
                    146071,
                    146072,
                    146073,
                    146074,
                    146075,
                    146076,
                    146077,
                    146078,
                    146079,
                    146080,
                    146081,
                    146082,
                    146083,
                    146084,
                    146085,
                    146086,
                    146087,
                    146088,
                    146089,
                    146090,
                    146091,
                    146092,
                    146093,
                    146094,
                    146095,
                    146096,
                    146097,
                    146098,
                    146099,
                    146100,
                    146201,
                    146202,
                    146203,
                    146204,
                    146205,
                    146206,
                    146207,
                    146208,
                    146209,
                    146210,
                    146211,
                    146212,
                    146213,
                    153001,
                    153002,
                    153003,
                    153004,
                    153005,
                    153006,
                    153007,
                    153008,
                    153009,
                    153010,
                    153011,
                    153012,
                    153013,
                    153014,
                    153015,
                    153016,
                    153017,
                    153018,
                    153019,
                    153020,
                    153021,
                    153022,
                    153023,
                    153024,
                    153025,
                    153026,
                    153027,
                    153028,
                    153029,
                    153030,
                    153031,
                    153501,
                    153502,
                    153503,
                    153504,
                    153505,
                    153506,
                    153507,
                    153508,
                    153509,
                    153510,
                    153511,
                    153512,
                    153513,
                    153514,
                    153515,
                    153516,
                    153517,
                    153518,
                    900430,
                    900501,
                    155081,
                    155101,
                    155111,
                    175620,
                    175621,
                    175622,
                    175623,
                    175624,
                    175625,
                    175626,
                    175627,
                    175628,
                    175629,
                    175630,
                    175631,
                    175632,
                    175633,
                    175634,
                    175635,
                    175636,
                    175637,
                    175638,
                    175639,
                    175640,
                    175641,
                    175642,
                    175643,
                    175644,
                    175645,
                    175646,
                    175647,
                    175648,
                    175649,
                    175650,
                    175651,
                    175652,
                    175653,
                    175654,
                    175655,
                    10306604,
                    10306608,
                    10306612,
                    10306616,
                    10306621,
                    10306622,
                    10306623,
                    10306624,
                    10306625,
                    10306626,
                    10306627,
                    10800102,
                    10800202,
                    10800302,
                    10800402,
                    146033,
                    146056,
                    146077,
                    146078
                },
                CheckStageTypeList = { 4, 15, 20, 21, 24, 25, 32, 10, 11, 35, 33, 37, 36 }
            },
            AvatarCostPlusConfigList = { },
            BulletinActivityList = { },
            StageTypeLimitAvatarFightInVentureList = { }
        };

        SetData(proto);
    }
}
