/** * Grasscutter Tools * Copyright (C) 2022 jie65535 * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published * by the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . * **/ using System.ComponentModel; using Newtonsoft.Json; using Newtonsoft.Json.Converters; namespace GrasscutterTools.Game.Gacha { /// /// 使用这个只需替换掉你原来的的data/banner.json文件, /// 然后重启服务器和客户端,即可享受全卡池抽卡,卡池的选择方式是点击左右箭头进行切换 /// internal class GachaBanner { /// /// 添加卡池请从400开始增加id数值进行添加,这个id需要每个池子不一样, /// 如果你想添加大量卡池,请按照每次增加固定数值的id进行添加,比如:411,412,413.... /// [JsonProperty("gachaType")] public int GachaType { get; set; } /// /// 这个id需要每个池子不一样,如果你想添加大量卡池, /// 请按照每次增加固定数值的id进行添加,比如:2100,2200,2300.... /// [JsonProperty("scheduleId")] public int ScheduleId { get; set; } /// /// 这个有3种类型,standard表示常驻池,event表示限时角色祈愿池, /// weapon表示限时武器祈愿池,选择一种类型的卡池 /// [JsonProperty("bannerType", DefaultValueHandling = DefaultValueHandling.Include), JsonConverter(typeof(StringEnumConverter))] public BannerType BannerType { get; set; } /// /// 这个是卡池的预制路径id /// [JsonProperty("prefabPath")] public string PrefabPath { get; set; } /// /// 这个是抽卡的预览背景路径id /// [JsonProperty("previewPrefabPath")] public string PreviewPrefabPath { get; set; } /// /// 这个是抽卡的标题路径id,有可能与之前两项的id不同 /// (一般这3项的id只需保持一致即可,就是A0xx,xx为同一id) /// [JsonProperty("titlePath")] public string TitlePath { get; set; } /// /// 这个表示祈愿用的道具,224是相遇之缘,223是纠缠之缘 - 选择一个作为该卡池的抽卡道具 /// (提示:请不要随便修改祈愿道具除了蓝球和粉球,有可能会引发bug,比如修改成摩拉抽卡可能导致卡住) /// [JsonProperty("costItem")] public int CostItem { get; set; } /// /// 祈愿什么时候开始(默认设置为0) /// [JsonProperty("beginTime")] public int BeginTime { get; set; } = 0; /// /// 这个卡池持续多长时间(默认为这个极大的数字) /// [JsonProperty("endTime")] public int EndTime { get; set; } = 1924992000; /// /// 暂时未搞清楚功能,可能与卡池在屏幕的左右顺序有关 /// [JsonProperty("sortId")] public int SortId { get; set; } /// /// 通常为5星的up角色或物品(可修改,可添加,查看gm手册可修改为任意角色或者物品) /// [JsonProperty("rateUpItems1")] public int[] RateUpItems1 { get; set; } /// /// 通常为4星的up物品或者角色(可修改,可添加,查看gm手册可修改为任意角色或者物品) /// [JsonProperty("rateUpItems2")] public int[] RateUpItems2 { get; set; } /// /// 5星概率(0~10000) /// [JsonProperty("baseYellowWeight", DefaultValueHandling = DefaultValueHandling.Ignore), DefaultValue(60)] public int BaseYellowWeight { get; set; } = 60; // Max 10000 /// /// 4星概率(0~10000) /// [JsonProperty("basePurpleWeight", DefaultValueHandling = DefaultValueHandling.Ignore), DefaultValue(510)] public int BasePurpleWeight { get; set; } = 510; // Max 10000 /// /// 事件概率(抽中后,摇1~100随机数,如果大于该值则抽中up池) /// [JsonProperty("eventChance", DefaultValueHandling = DefaultValueHandling.Ignore), DefaultValue(50)] public int EventChance { get; set; } = 50; // Chance to win a featured event item /// /// 软保底,失败多少次开始提升抽中概率(在这之上每失败一次概率增加1%) /// [JsonProperty("softPity", DefaultValueHandling = DefaultValueHandling.Ignore), DefaultValue(75)] public int SoftPity { get; set; } = 75; /// /// 硬保底(失败多少次必出) /// [JsonProperty("hardPity", DefaultValueHandling = DefaultValueHandling.Ignore), DefaultValue(90)] public int HardPity { get; set; } = 90; } }