mirror of
https://github.com/jie65535/GrasscutterCommandGenerator.git
synced 2025-08-02 16:59:14 +08:00
Update Banners Editor
Add Default Banners
This commit is contained in:
parent
f1eb40bb0d
commit
473163e7c6
@ -58,6 +58,9 @@
|
||||
<setting name="MainFormSize" serializeAs="String">
|
||||
<value>0, 0</value>
|
||||
</setting>
|
||||
<setting name="BannersJsonPath" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
</GrasscutterTools.Properties.Settings>
|
||||
</userSettings>
|
||||
</configuration>
|
771
Source/GrasscutterTools/Forms/FormGachaBannersEditor3.Designer.cs
generated
Normal file
771
Source/GrasscutterTools/Forms/FormGachaBannersEditor3.Designer.cs
generated
Normal file
@ -0,0 +1,771 @@
|
||||
|
||||
namespace GrasscutterTools.Forms
|
||||
{
|
||||
partial class FormGachaBannersEditor3
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormGachaBannersEditor3));
|
||||
System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea();
|
||||
System.Windows.Forms.DataVisualization.Charting.Legend legend1 = new System.Windows.Forms.DataVisualization.Charting.Legend();
|
||||
System.Windows.Forms.DataVisualization.Charting.Series series1 = new System.Windows.Forms.DataVisualization.Charting.Series();
|
||||
System.Windows.Forms.DataVisualization.Charting.Series series2 = new System.Windows.Forms.DataVisualization.Charting.Series();
|
||||
this.GrpBannerValues = new System.Windows.Forms.GroupBox();
|
||||
this.CmbTitlePath = new System.Windows.Forms.ComboBox();
|
||||
this.LblTitlePath = new System.Windows.Forms.Label();
|
||||
this.NUDCostItemAmount10 = new System.Windows.Forms.NumericUpDown();
|
||||
this.LblCostItemAmount10 = new System.Windows.Forms.Label();
|
||||
this.NUDCostItemAmount1 = new System.Windows.Forms.NumericUpDown();
|
||||
this.LblCostItemAmount1 = new System.Windows.Forms.Label();
|
||||
this.ChkAutoStripRateUpFromFallback = new System.Windows.Forms.CheckBox();
|
||||
this.LblOptions = new System.Windows.Forms.Label();
|
||||
this.ChkRemoveC6FormPool = new System.Windows.Forms.CheckBox();
|
||||
this.LnkOpenOldEditor = new System.Windows.Forms.LinkLabel();
|
||||
this.DTPEndTime = new System.Windows.Forms.DateTimePicker();
|
||||
this.DTPBeginTime = new System.Windows.Forms.DateTimePicker();
|
||||
this.CmbPrefab = new System.Windows.Forms.ComboBox();
|
||||
this.LblEventChance4Tip = new System.Windows.Forms.Label();
|
||||
this.LblEventChance5Tip = new System.Windows.Forms.Label();
|
||||
this.NUDEventChance4 = new System.Windows.Forms.NumericUpDown();
|
||||
this.NUDEventChance5 = new System.Windows.Forms.NumericUpDown();
|
||||
this.LblGachaType = new System.Windows.Forms.Label();
|
||||
this.LblEventChance4 = new System.Windows.Forms.Label();
|
||||
this.LblEventChance5 = new System.Windows.Forms.Label();
|
||||
this.LblSortId = new System.Windows.Forms.Label();
|
||||
this.NUDGachaType = new System.Windows.Forms.NumericUpDown();
|
||||
this.NUDSortId = new System.Windows.Forms.NumericUpDown();
|
||||
this.LblGachaTypeTip = new System.Windows.Forms.Label();
|
||||
this.LblEndTime = new System.Windows.Forms.Label();
|
||||
this.LblScheduleId = new System.Windows.Forms.Label();
|
||||
this.LblBeginTime = new System.Windows.Forms.Label();
|
||||
this.NUDScheduleId = new System.Windows.Forms.NumericUpDown();
|
||||
this.LblScheduleIdTip = new System.Windows.Forms.Label();
|
||||
this.CmbBannerType = new System.Windows.Forms.ComboBox();
|
||||
this.LblSortIdTip = new System.Windows.Forms.Label();
|
||||
this.LblBannerType = new System.Windows.Forms.Label();
|
||||
this.RbCostItem224 = new System.Windows.Forms.RadioButton();
|
||||
this.LblCostItem = new System.Windows.Forms.Label();
|
||||
this.LblPrefabPath = new System.Windows.Forms.Label();
|
||||
this.RbCostItem223 = new System.Windows.Forms.RadioButton();
|
||||
this.GrpFallbackPool = new System.Windows.Forms.GroupBox();
|
||||
this.ListFallbackItems = new System.Windows.Forms.ListView();
|
||||
this.ColFallbackId = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.ColFallbackName = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.GrpUpPool = new System.Windows.Forms.GroupBox();
|
||||
this.ListUpItems = new System.Windows.Forms.ListView();
|
||||
this.ColUpId = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.ColUpName = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.GrpWeights = new System.Windows.Forms.GroupBox();
|
||||
this.LnkWeightHelp = new System.Windows.Forms.LinkLabel();
|
||||
this.TxtWeight4 = new System.Windows.Forms.TextBox();
|
||||
this.TxtWeight5 = new System.Windows.Forms.TextBox();
|
||||
this.LblWeight4 = new System.Windows.Forms.Label();
|
||||
this.LblWeight5 = new System.Windows.Forms.Label();
|
||||
this.GrpBalance = new System.Windows.Forms.GroupBox();
|
||||
this.TxtPoolWeight4 = new System.Windows.Forms.TextBox();
|
||||
this.TxtPoolWeight5 = new System.Windows.Forms.TextBox();
|
||||
this.LblPoolWeight4 = new System.Windows.Forms.Label();
|
||||
this.LblPoolWeight5 = new System.Windows.Forms.Label();
|
||||
this.ChartWeights = new System.Windows.Forms.DataVisualization.Charting.Chart();
|
||||
this.GrpBanners = new System.Windows.Forms.GroupBox();
|
||||
this.ListBanners = new System.Windows.Forms.ListBox();
|
||||
this.FLPBannersControl = new System.Windows.Forms.FlowLayoutPanel();
|
||||
this.BtnAddOrUpdate = new System.Windows.Forms.Button();
|
||||
this.BtnDelete = new System.Windows.Forms.Button();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.TxtBannersJsonPath = new System.Windows.Forms.TextBox();
|
||||
this.BtnLoad = new System.Windows.Forms.Button();
|
||||
this.BtnSave = new System.Windows.Forms.Button();
|
||||
this.BtnClear = new System.Windows.Forms.Button();
|
||||
this.GrpBannerValues.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDCostItemAmount10)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDCostItemAmount1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDEventChance4)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDEventChance5)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDGachaType)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDSortId)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDScheduleId)).BeginInit();
|
||||
this.GrpFallbackPool.SuspendLayout();
|
||||
this.GrpUpPool.SuspendLayout();
|
||||
this.GrpWeights.SuspendLayout();
|
||||
this.GrpBalance.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.ChartWeights)).BeginInit();
|
||||
this.GrpBanners.SuspendLayout();
|
||||
this.FLPBannersControl.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// GrpBannerValues
|
||||
//
|
||||
resources.ApplyResources(this.GrpBannerValues, "GrpBannerValues");
|
||||
this.GrpBannerValues.Controls.Add(this.BtnAddOrUpdate);
|
||||
this.GrpBannerValues.Controls.Add(this.CmbTitlePath);
|
||||
this.GrpBannerValues.Controls.Add(this.LblTitlePath);
|
||||
this.GrpBannerValues.Controls.Add(this.NUDCostItemAmount10);
|
||||
this.GrpBannerValues.Controls.Add(this.LblCostItemAmount10);
|
||||
this.GrpBannerValues.Controls.Add(this.NUDCostItemAmount1);
|
||||
this.GrpBannerValues.Controls.Add(this.LblCostItemAmount1);
|
||||
this.GrpBannerValues.Controls.Add(this.ChkAutoStripRateUpFromFallback);
|
||||
this.GrpBannerValues.Controls.Add(this.LblOptions);
|
||||
this.GrpBannerValues.Controls.Add(this.ChkRemoveC6FormPool);
|
||||
this.GrpBannerValues.Controls.Add(this.LnkOpenOldEditor);
|
||||
this.GrpBannerValues.Controls.Add(this.DTPEndTime);
|
||||
this.GrpBannerValues.Controls.Add(this.DTPBeginTime);
|
||||
this.GrpBannerValues.Controls.Add(this.CmbPrefab);
|
||||
this.GrpBannerValues.Controls.Add(this.LblEventChance4Tip);
|
||||
this.GrpBannerValues.Controls.Add(this.LblEventChance5Tip);
|
||||
this.GrpBannerValues.Controls.Add(this.NUDEventChance4);
|
||||
this.GrpBannerValues.Controls.Add(this.NUDEventChance5);
|
||||
this.GrpBannerValues.Controls.Add(this.LblGachaType);
|
||||
this.GrpBannerValues.Controls.Add(this.LblEventChance4);
|
||||
this.GrpBannerValues.Controls.Add(this.LblEventChance5);
|
||||
this.GrpBannerValues.Controls.Add(this.LblSortId);
|
||||
this.GrpBannerValues.Controls.Add(this.NUDGachaType);
|
||||
this.GrpBannerValues.Controls.Add(this.NUDSortId);
|
||||
this.GrpBannerValues.Controls.Add(this.LblGachaTypeTip);
|
||||
this.GrpBannerValues.Controls.Add(this.LblEndTime);
|
||||
this.GrpBannerValues.Controls.Add(this.LblScheduleId);
|
||||
this.GrpBannerValues.Controls.Add(this.LblBeginTime);
|
||||
this.GrpBannerValues.Controls.Add(this.NUDScheduleId);
|
||||
this.GrpBannerValues.Controls.Add(this.LblScheduleIdTip);
|
||||
this.GrpBannerValues.Controls.Add(this.CmbBannerType);
|
||||
this.GrpBannerValues.Controls.Add(this.LblSortIdTip);
|
||||
this.GrpBannerValues.Controls.Add(this.LblBannerType);
|
||||
this.GrpBannerValues.Controls.Add(this.RbCostItem224);
|
||||
this.GrpBannerValues.Controls.Add(this.LblCostItem);
|
||||
this.GrpBannerValues.Controls.Add(this.LblPrefabPath);
|
||||
this.GrpBannerValues.Controls.Add(this.RbCostItem223);
|
||||
this.GrpBannerValues.Name = "GrpBannerValues";
|
||||
this.GrpBannerValues.TabStop = false;
|
||||
//
|
||||
// CmbTitlePath
|
||||
//
|
||||
this.CmbTitlePath.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.CmbTitlePath.FormattingEnabled = true;
|
||||
resources.ApplyResources(this.CmbTitlePath, "CmbTitlePath");
|
||||
this.CmbTitlePath.Name = "CmbTitlePath";
|
||||
//
|
||||
// LblTitlePath
|
||||
//
|
||||
resources.ApplyResources(this.LblTitlePath, "LblTitlePath");
|
||||
this.LblTitlePath.Name = "LblTitlePath";
|
||||
//
|
||||
// NUDCostItemAmount10
|
||||
//
|
||||
resources.ApplyResources(this.NUDCostItemAmount10, "NUDCostItemAmount10");
|
||||
this.NUDCostItemAmount10.Maximum = new decimal(new int[] {
|
||||
2147483647,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.NUDCostItemAmount10.Name = "NUDCostItemAmount10";
|
||||
this.NUDCostItemAmount10.Value = new decimal(new int[] {
|
||||
10,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
//
|
||||
// LblCostItemAmount10
|
||||
//
|
||||
resources.ApplyResources(this.LblCostItemAmount10, "LblCostItemAmount10");
|
||||
this.LblCostItemAmount10.Name = "LblCostItemAmount10";
|
||||
//
|
||||
// NUDCostItemAmount1
|
||||
//
|
||||
resources.ApplyResources(this.NUDCostItemAmount1, "NUDCostItemAmount1");
|
||||
this.NUDCostItemAmount1.Maximum = new decimal(new int[] {
|
||||
2147483647,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.NUDCostItemAmount1.Name = "NUDCostItemAmount1";
|
||||
this.NUDCostItemAmount1.Value = new decimal(new int[] {
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
//
|
||||
// LblCostItemAmount1
|
||||
//
|
||||
resources.ApplyResources(this.LblCostItemAmount1, "LblCostItemAmount1");
|
||||
this.LblCostItemAmount1.Name = "LblCostItemAmount1";
|
||||
//
|
||||
// ChkAutoStripRateUpFromFallback
|
||||
//
|
||||
resources.ApplyResources(this.ChkAutoStripRateUpFromFallback, "ChkAutoStripRateUpFromFallback");
|
||||
this.ChkAutoStripRateUpFromFallback.Name = "ChkAutoStripRateUpFromFallback";
|
||||
this.ChkAutoStripRateUpFromFallback.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// LblOptions
|
||||
//
|
||||
resources.ApplyResources(this.LblOptions, "LblOptions");
|
||||
this.LblOptions.Name = "LblOptions";
|
||||
//
|
||||
// ChkRemoveC6FormPool
|
||||
//
|
||||
resources.ApplyResources(this.ChkRemoveC6FormPool, "ChkRemoveC6FormPool");
|
||||
this.ChkRemoveC6FormPool.Name = "ChkRemoveC6FormPool";
|
||||
this.ChkRemoveC6FormPool.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// LnkOpenOldEditor
|
||||
//
|
||||
resources.ApplyResources(this.LnkOpenOldEditor, "LnkOpenOldEditor");
|
||||
this.LnkOpenOldEditor.Name = "LnkOpenOldEditor";
|
||||
this.LnkOpenOldEditor.TabStop = true;
|
||||
this.LnkOpenOldEditor.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LnkOpenOldEditor_LinkClicked);
|
||||
//
|
||||
// DTPEndTime
|
||||
//
|
||||
resources.ApplyResources(this.DTPEndTime, "DTPEndTime");
|
||||
this.DTPEndTime.MaxDate = new System.DateTime(2038, 1, 19, 0, 0, 0, 0);
|
||||
this.DTPEndTime.MinDate = new System.DateTime(1970, 1, 1, 0, 0, 0, 0);
|
||||
this.DTPEndTime.Name = "DTPEndTime";
|
||||
//
|
||||
// DTPBeginTime
|
||||
//
|
||||
resources.ApplyResources(this.DTPBeginTime, "DTPBeginTime");
|
||||
this.DTPBeginTime.MaxDate = new System.DateTime(2038, 1, 19, 0, 0, 0, 0);
|
||||
this.DTPBeginTime.MinDate = new System.DateTime(1970, 1, 1, 0, 0, 0, 0);
|
||||
this.DTPBeginTime.Name = "DTPBeginTime";
|
||||
//
|
||||
// CmbPrefab
|
||||
//
|
||||
this.CmbPrefab.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.CmbPrefab.FormattingEnabled = true;
|
||||
resources.ApplyResources(this.CmbPrefab, "CmbPrefab");
|
||||
this.CmbPrefab.Name = "CmbPrefab";
|
||||
//
|
||||
// LblEventChance4Tip
|
||||
//
|
||||
resources.ApplyResources(this.LblEventChance4Tip, "LblEventChance4Tip");
|
||||
this.LblEventChance4Tip.Name = "LblEventChance4Tip";
|
||||
//
|
||||
// LblEventChance5Tip
|
||||
//
|
||||
resources.ApplyResources(this.LblEventChance5Tip, "LblEventChance5Tip");
|
||||
this.LblEventChance5Tip.Name = "LblEventChance5Tip";
|
||||
//
|
||||
// NUDEventChance4
|
||||
//
|
||||
resources.ApplyResources(this.NUDEventChance4, "NUDEventChance4");
|
||||
this.NUDEventChance4.Name = "NUDEventChance4";
|
||||
this.NUDEventChance4.Value = new decimal(new int[] {
|
||||
50,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
//
|
||||
// NUDEventChance5
|
||||
//
|
||||
resources.ApplyResources(this.NUDEventChance5, "NUDEventChance5");
|
||||
this.NUDEventChance5.Name = "NUDEventChance5";
|
||||
this.NUDEventChance5.Value = new decimal(new int[] {
|
||||
50,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
//
|
||||
// LblGachaType
|
||||
//
|
||||
resources.ApplyResources(this.LblGachaType, "LblGachaType");
|
||||
this.LblGachaType.Name = "LblGachaType";
|
||||
//
|
||||
// LblEventChance4
|
||||
//
|
||||
resources.ApplyResources(this.LblEventChance4, "LblEventChance4");
|
||||
this.LblEventChance4.Name = "LblEventChance4";
|
||||
//
|
||||
// LblEventChance5
|
||||
//
|
||||
resources.ApplyResources(this.LblEventChance5, "LblEventChance5");
|
||||
this.LblEventChance5.Name = "LblEventChance5";
|
||||
//
|
||||
// LblSortId
|
||||
//
|
||||
resources.ApplyResources(this.LblSortId, "LblSortId");
|
||||
this.LblSortId.Name = "LblSortId";
|
||||
//
|
||||
// NUDGachaType
|
||||
//
|
||||
resources.ApplyResources(this.NUDGachaType, "NUDGachaType");
|
||||
this.NUDGachaType.Maximum = new decimal(new int[] {
|
||||
10000,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.NUDGachaType.Name = "NUDGachaType";
|
||||
this.NUDGachaType.Value = new decimal(new int[] {
|
||||
400,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
//
|
||||
// NUDSortId
|
||||
//
|
||||
resources.ApplyResources(this.NUDSortId, "NUDSortId");
|
||||
this.NUDSortId.Maximum = new decimal(new int[] {
|
||||
9999,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.NUDSortId.Name = "NUDSortId";
|
||||
this.NUDSortId.Value = new decimal(new int[] {
|
||||
1000,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
//
|
||||
// LblGachaTypeTip
|
||||
//
|
||||
resources.ApplyResources(this.LblGachaTypeTip, "LblGachaTypeTip");
|
||||
this.LblGachaTypeTip.Name = "LblGachaTypeTip";
|
||||
//
|
||||
// LblEndTime
|
||||
//
|
||||
resources.ApplyResources(this.LblEndTime, "LblEndTime");
|
||||
this.LblEndTime.Name = "LblEndTime";
|
||||
//
|
||||
// LblScheduleId
|
||||
//
|
||||
resources.ApplyResources(this.LblScheduleId, "LblScheduleId");
|
||||
this.LblScheduleId.Name = "LblScheduleId";
|
||||
//
|
||||
// LblBeginTime
|
||||
//
|
||||
resources.ApplyResources(this.LblBeginTime, "LblBeginTime");
|
||||
this.LblBeginTime.Name = "LblBeginTime";
|
||||
//
|
||||
// NUDScheduleId
|
||||
//
|
||||
resources.ApplyResources(this.NUDScheduleId, "NUDScheduleId");
|
||||
this.NUDScheduleId.Maximum = new decimal(new int[] {
|
||||
10000,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.NUDScheduleId.Name = "NUDScheduleId";
|
||||
this.NUDScheduleId.Value = new decimal(new int[] {
|
||||
800,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
//
|
||||
// LblScheduleIdTip
|
||||
//
|
||||
resources.ApplyResources(this.LblScheduleIdTip, "LblScheduleIdTip");
|
||||
this.LblScheduleIdTip.Name = "LblScheduleIdTip";
|
||||
//
|
||||
// CmbBannerType
|
||||
//
|
||||
this.CmbBannerType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.CmbBannerType.FormattingEnabled = true;
|
||||
this.CmbBannerType.Items.AddRange(new object[] {
|
||||
resources.GetString("CmbBannerType.Items"),
|
||||
resources.GetString("CmbBannerType.Items1"),
|
||||
resources.GetString("CmbBannerType.Items2")});
|
||||
resources.ApplyResources(this.CmbBannerType, "CmbBannerType");
|
||||
this.CmbBannerType.Name = "CmbBannerType";
|
||||
//
|
||||
// LblSortIdTip
|
||||
//
|
||||
resources.ApplyResources(this.LblSortIdTip, "LblSortIdTip");
|
||||
this.LblSortIdTip.Name = "LblSortIdTip";
|
||||
//
|
||||
// LblBannerType
|
||||
//
|
||||
resources.ApplyResources(this.LblBannerType, "LblBannerType");
|
||||
this.LblBannerType.Name = "LblBannerType";
|
||||
//
|
||||
// RbCostItem224
|
||||
//
|
||||
resources.ApplyResources(this.RbCostItem224, "RbCostItem224");
|
||||
this.RbCostItem224.Checked = true;
|
||||
this.RbCostItem224.Name = "RbCostItem224";
|
||||
this.RbCostItem224.TabStop = true;
|
||||
this.RbCostItem224.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// LblCostItem
|
||||
//
|
||||
resources.ApplyResources(this.LblCostItem, "LblCostItem");
|
||||
this.LblCostItem.Name = "LblCostItem";
|
||||
//
|
||||
// LblPrefabPath
|
||||
//
|
||||
resources.ApplyResources(this.LblPrefabPath, "LblPrefabPath");
|
||||
this.LblPrefabPath.Name = "LblPrefabPath";
|
||||
//
|
||||
// RbCostItem223
|
||||
//
|
||||
resources.ApplyResources(this.RbCostItem223, "RbCostItem223");
|
||||
this.RbCostItem223.Name = "RbCostItem223";
|
||||
this.RbCostItem223.TabStop = true;
|
||||
this.RbCostItem223.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// GrpFallbackPool
|
||||
//
|
||||
resources.ApplyResources(this.GrpFallbackPool, "GrpFallbackPool");
|
||||
this.GrpFallbackPool.Controls.Add(this.ListFallbackItems);
|
||||
this.GrpFallbackPool.Name = "GrpFallbackPool";
|
||||
this.GrpFallbackPool.TabStop = false;
|
||||
//
|
||||
// ListFallbackItems
|
||||
//
|
||||
this.ListFallbackItems.CheckBoxes = true;
|
||||
this.ListFallbackItems.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
|
||||
this.ColFallbackId,
|
||||
this.ColFallbackName});
|
||||
resources.ApplyResources(this.ListFallbackItems, "ListFallbackItems");
|
||||
this.ListFallbackItems.FullRowSelect = true;
|
||||
this.ListFallbackItems.Groups.AddRange(new System.Windows.Forms.ListViewGroup[] {
|
||||
((System.Windows.Forms.ListViewGroup)(resources.GetObject("ListFallbackItems.Groups"))),
|
||||
((System.Windows.Forms.ListViewGroup)(resources.GetObject("ListFallbackItems.Groups1"))),
|
||||
((System.Windows.Forms.ListViewGroup)(resources.GetObject("ListFallbackItems.Groups2"))),
|
||||
((System.Windows.Forms.ListViewGroup)(resources.GetObject("ListFallbackItems.Groups3"))),
|
||||
((System.Windows.Forms.ListViewGroup)(resources.GetObject("ListFallbackItems.Groups4")))});
|
||||
this.ListFallbackItems.HideSelection = false;
|
||||
this.ListFallbackItems.Name = "ListFallbackItems";
|
||||
this.ListFallbackItems.UseCompatibleStateImageBehavior = false;
|
||||
this.ListFallbackItems.View = System.Windows.Forms.View.Details;
|
||||
//
|
||||
// ColFallbackId
|
||||
//
|
||||
resources.ApplyResources(this.ColFallbackId, "ColFallbackId");
|
||||
//
|
||||
// ColFallbackName
|
||||
//
|
||||
resources.ApplyResources(this.ColFallbackName, "ColFallbackName");
|
||||
//
|
||||
// GrpUpPool
|
||||
//
|
||||
resources.ApplyResources(this.GrpUpPool, "GrpUpPool");
|
||||
this.GrpUpPool.Controls.Add(this.ListUpItems);
|
||||
this.GrpUpPool.Name = "GrpUpPool";
|
||||
this.GrpUpPool.TabStop = false;
|
||||
//
|
||||
// ListUpItems
|
||||
//
|
||||
this.ListUpItems.CheckBoxes = true;
|
||||
this.ListUpItems.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
|
||||
this.ColUpId,
|
||||
this.ColUpName});
|
||||
resources.ApplyResources(this.ListUpItems, "ListUpItems");
|
||||
this.ListUpItems.FullRowSelect = true;
|
||||
this.ListUpItems.Groups.AddRange(new System.Windows.Forms.ListViewGroup[] {
|
||||
((System.Windows.Forms.ListViewGroup)(resources.GetObject("ListUpItems.Groups"))),
|
||||
((System.Windows.Forms.ListViewGroup)(resources.GetObject("ListUpItems.Groups1"))),
|
||||
((System.Windows.Forms.ListViewGroup)(resources.GetObject("ListUpItems.Groups2"))),
|
||||
((System.Windows.Forms.ListViewGroup)(resources.GetObject("ListUpItems.Groups3")))});
|
||||
this.ListUpItems.HideSelection = false;
|
||||
this.ListUpItems.Name = "ListUpItems";
|
||||
this.ListUpItems.UseCompatibleStateImageBehavior = false;
|
||||
this.ListUpItems.View = System.Windows.Forms.View.Details;
|
||||
//
|
||||
// ColUpId
|
||||
//
|
||||
resources.ApplyResources(this.ColUpId, "ColUpId");
|
||||
//
|
||||
// ColUpName
|
||||
//
|
||||
resources.ApplyResources(this.ColUpName, "ColUpName");
|
||||
//
|
||||
// GrpWeights
|
||||
//
|
||||
resources.ApplyResources(this.GrpWeights, "GrpWeights");
|
||||
this.GrpWeights.Controls.Add(this.LnkWeightHelp);
|
||||
this.GrpWeights.Controls.Add(this.TxtWeight4);
|
||||
this.GrpWeights.Controls.Add(this.TxtWeight5);
|
||||
this.GrpWeights.Controls.Add(this.LblWeight4);
|
||||
this.GrpWeights.Controls.Add(this.LblWeight5);
|
||||
this.GrpWeights.Name = "GrpWeights";
|
||||
this.GrpWeights.TabStop = false;
|
||||
//
|
||||
// LnkWeightHelp
|
||||
//
|
||||
resources.ApplyResources(this.LnkWeightHelp, "LnkWeightHelp");
|
||||
this.LnkWeightHelp.Name = "LnkWeightHelp";
|
||||
this.LnkWeightHelp.TabStop = true;
|
||||
this.LnkWeightHelp.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LnkWeightHelp_LinkClicked);
|
||||
//
|
||||
// TxtWeight4
|
||||
//
|
||||
resources.ApplyResources(this.TxtWeight4, "TxtWeight4");
|
||||
this.TxtWeight4.Name = "TxtWeight4";
|
||||
//
|
||||
// TxtWeight5
|
||||
//
|
||||
resources.ApplyResources(this.TxtWeight5, "TxtWeight5");
|
||||
this.TxtWeight5.Name = "TxtWeight5";
|
||||
//
|
||||
// LblWeight4
|
||||
//
|
||||
resources.ApplyResources(this.LblWeight4, "LblWeight4");
|
||||
this.LblWeight4.Name = "LblWeight4";
|
||||
//
|
||||
// LblWeight5
|
||||
//
|
||||
resources.ApplyResources(this.LblWeight5, "LblWeight5");
|
||||
this.LblWeight5.Name = "LblWeight5";
|
||||
//
|
||||
// GrpBalance
|
||||
//
|
||||
resources.ApplyResources(this.GrpBalance, "GrpBalance");
|
||||
this.GrpBalance.Controls.Add(this.TxtPoolWeight4);
|
||||
this.GrpBalance.Controls.Add(this.TxtPoolWeight5);
|
||||
this.GrpBalance.Controls.Add(this.LblPoolWeight4);
|
||||
this.GrpBalance.Controls.Add(this.LblPoolWeight5);
|
||||
this.GrpBalance.Name = "GrpBalance";
|
||||
this.GrpBalance.TabStop = false;
|
||||
//
|
||||
// TxtPoolWeight4
|
||||
//
|
||||
resources.ApplyResources(this.TxtPoolWeight4, "TxtPoolWeight4");
|
||||
this.TxtPoolWeight4.Name = "TxtPoolWeight4";
|
||||
//
|
||||
// TxtPoolWeight5
|
||||
//
|
||||
resources.ApplyResources(this.TxtPoolWeight5, "TxtPoolWeight5");
|
||||
this.TxtPoolWeight5.Name = "TxtPoolWeight5";
|
||||
//
|
||||
// LblPoolWeight4
|
||||
//
|
||||
resources.ApplyResources(this.LblPoolWeight4, "LblPoolWeight4");
|
||||
this.LblPoolWeight4.Name = "LblPoolWeight4";
|
||||
//
|
||||
// LblPoolWeight5
|
||||
//
|
||||
resources.ApplyResources(this.LblPoolWeight5, "LblPoolWeight5");
|
||||
this.LblPoolWeight5.Name = "LblPoolWeight5";
|
||||
//
|
||||
// ChartWeights
|
||||
//
|
||||
chartArea1.AxisX.Minimum = 0D;
|
||||
chartArea1.AxisY.Maximum = 100D;
|
||||
chartArea1.AxisY.Minimum = 0D;
|
||||
chartArea1.AxisY.Title = "%";
|
||||
chartArea1.Name = "ChartArea1";
|
||||
this.ChartWeights.ChartAreas.Add(chartArea1);
|
||||
legend1.Name = "Legend1";
|
||||
this.ChartWeights.Legends.Add(legend1);
|
||||
resources.ApplyResources(this.ChartWeights, "ChartWeights");
|
||||
this.ChartWeights.Name = "ChartWeights";
|
||||
series1.ChartArea = "ChartArea1";
|
||||
series1.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line;
|
||||
series1.Color = System.Drawing.Color.OrangeRed;
|
||||
series1.Label = "(#VALX, #VAL)";
|
||||
series1.Legend = "Legend1";
|
||||
series1.LegendText = "5*";
|
||||
series1.Name = "SeriesWeight5";
|
||||
series1.XValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.Int32;
|
||||
series1.YValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.Double;
|
||||
series2.ChartArea = "ChartArea1";
|
||||
series2.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line;
|
||||
series2.Color = System.Drawing.Color.Purple;
|
||||
series2.Label = "(#VALX, #VAL)";
|
||||
series2.Legend = "Legend1";
|
||||
series2.LegendText = "4*";
|
||||
series2.Name = "SeriesWeight4";
|
||||
series2.XValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.Int32;
|
||||
series2.YValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.Double;
|
||||
this.ChartWeights.Series.Add(series1);
|
||||
this.ChartWeights.Series.Add(series2);
|
||||
//
|
||||
// GrpBanners
|
||||
//
|
||||
resources.ApplyResources(this.GrpBanners, "GrpBanners");
|
||||
this.GrpBanners.Controls.Add(this.ListBanners);
|
||||
this.GrpBanners.Controls.Add(this.FLPBannersControl);
|
||||
this.GrpBanners.Name = "GrpBanners";
|
||||
this.GrpBanners.TabStop = false;
|
||||
//
|
||||
// ListBanners
|
||||
//
|
||||
resources.ApplyResources(this.ListBanners, "ListBanners");
|
||||
this.ListBanners.FormattingEnabled = true;
|
||||
this.ListBanners.Name = "ListBanners";
|
||||
this.ListBanners.SelectedIndexChanged += new System.EventHandler(this.ListBanners_SelectedIndexChanged);
|
||||
//
|
||||
// FLPBannersControl
|
||||
//
|
||||
this.FLPBannersControl.Controls.Add(this.BtnDelete);
|
||||
this.FLPBannersControl.Controls.Add(this.BtnClear);
|
||||
resources.ApplyResources(this.FLPBannersControl, "FLPBannersControl");
|
||||
this.FLPBannersControl.Name = "FLPBannersControl";
|
||||
//
|
||||
// BtnAddOrUpdate
|
||||
//
|
||||
resources.ApplyResources(this.BtnAddOrUpdate, "BtnAddOrUpdate");
|
||||
this.BtnAddOrUpdate.Name = "BtnAddOrUpdate";
|
||||
this.BtnAddOrUpdate.UseVisualStyleBackColor = true;
|
||||
this.BtnAddOrUpdate.Click += new System.EventHandler(this.BtnAddOrUpdate_Click);
|
||||
//
|
||||
// BtnDelete
|
||||
//
|
||||
resources.ApplyResources(this.BtnDelete, "BtnDelete");
|
||||
this.BtnDelete.Name = "BtnDelete";
|
||||
this.BtnDelete.UseVisualStyleBackColor = true;
|
||||
this.BtnDelete.Click += new System.EventHandler(this.BtnDelete_Click);
|
||||
//
|
||||
// label1
|
||||
//
|
||||
resources.ApplyResources(this.label1, "label1");
|
||||
this.label1.Name = "label1";
|
||||
//
|
||||
// TxtBannersJsonPath
|
||||
//
|
||||
resources.ApplyResources(this.TxtBannersJsonPath, "TxtBannersJsonPath");
|
||||
this.TxtBannersJsonPath.Name = "TxtBannersJsonPath";
|
||||
//
|
||||
// BtnLoad
|
||||
//
|
||||
resources.ApplyResources(this.BtnLoad, "BtnLoad");
|
||||
this.BtnLoad.Name = "BtnLoad";
|
||||
this.BtnLoad.UseVisualStyleBackColor = true;
|
||||
this.BtnLoad.Click += new System.EventHandler(this.BtnLoad_Click);
|
||||
//
|
||||
// BtnSave
|
||||
//
|
||||
resources.ApplyResources(this.BtnSave, "BtnSave");
|
||||
this.BtnSave.Name = "BtnSave";
|
||||
this.BtnSave.UseVisualStyleBackColor = true;
|
||||
this.BtnSave.Click += new System.EventHandler(this.BtnSave_Click);
|
||||
//
|
||||
// BtnClear
|
||||
//
|
||||
resources.ApplyResources(this.BtnClear, "BtnClear");
|
||||
this.BtnClear.Name = "BtnClear";
|
||||
this.BtnClear.UseVisualStyleBackColor = true;
|
||||
this.BtnClear.Click += new System.EventHandler(this.BtnClear_Click);
|
||||
//
|
||||
// FormGachaBannersEditor3
|
||||
//
|
||||
resources.ApplyResources(this, "$this");
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.ChartWeights);
|
||||
this.Controls.Add(this.BtnSave);
|
||||
this.Controls.Add(this.BtnLoad);
|
||||
this.Controls.Add(this.TxtBannersJsonPath);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Controls.Add(this.GrpBanners);
|
||||
this.Controls.Add(this.GrpBalance);
|
||||
this.Controls.Add(this.GrpWeights);
|
||||
this.Controls.Add(this.GrpFallbackPool);
|
||||
this.Controls.Add(this.GrpUpPool);
|
||||
this.Controls.Add(this.GrpBannerValues);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow;
|
||||
this.Name = "FormGachaBannersEditor3";
|
||||
this.GrpBannerValues.ResumeLayout(false);
|
||||
this.GrpBannerValues.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDCostItemAmount10)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDCostItemAmount1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDEventChance4)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDEventChance5)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDGachaType)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDSortId)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NUDScheduleId)).EndInit();
|
||||
this.GrpFallbackPool.ResumeLayout(false);
|
||||
this.GrpUpPool.ResumeLayout(false);
|
||||
this.GrpWeights.ResumeLayout(false);
|
||||
this.GrpWeights.PerformLayout();
|
||||
this.GrpBalance.ResumeLayout(false);
|
||||
this.GrpBalance.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.ChartWeights)).EndInit();
|
||||
this.GrpBanners.ResumeLayout(false);
|
||||
this.FLPBannersControl.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
private System.Windows.Forms.GroupBox GrpBannerValues;
|
||||
private System.Windows.Forms.Label LblEventChance5Tip;
|
||||
private System.Windows.Forms.NumericUpDown NUDEventChance5;
|
||||
private System.Windows.Forms.Label LblGachaType;
|
||||
private System.Windows.Forms.Label LblEventChance5;
|
||||
private System.Windows.Forms.Label LblSortId;
|
||||
private System.Windows.Forms.NumericUpDown NUDGachaType;
|
||||
private System.Windows.Forms.NumericUpDown NUDSortId;
|
||||
private System.Windows.Forms.Label LblGachaTypeTip;
|
||||
private System.Windows.Forms.Label LblEndTime;
|
||||
private System.Windows.Forms.Label LblScheduleId;
|
||||
private System.Windows.Forms.Label LblBeginTime;
|
||||
private System.Windows.Forms.NumericUpDown NUDScheduleId;
|
||||
private System.Windows.Forms.Label LblScheduleIdTip;
|
||||
private System.Windows.Forms.ComboBox CmbBannerType;
|
||||
private System.Windows.Forms.Label LblSortIdTip;
|
||||
private System.Windows.Forms.Label LblBannerType;
|
||||
private System.Windows.Forms.RadioButton RbCostItem224;
|
||||
private System.Windows.Forms.Label LblCostItem;
|
||||
private System.Windows.Forms.Label LblPrefabPath;
|
||||
private System.Windows.Forms.RadioButton RbCostItem223;
|
||||
private System.Windows.Forms.GroupBox GrpFallbackPool;
|
||||
private System.Windows.Forms.GroupBox GrpUpPool;
|
||||
private System.Windows.Forms.ComboBox CmbPrefab;
|
||||
private System.Windows.Forms.Label LblEventChance4;
|
||||
private System.Windows.Forms.Label LblEventChance4Tip;
|
||||
private System.Windows.Forms.NumericUpDown NUDEventChance4;
|
||||
private System.Windows.Forms.DateTimePicker DTPEndTime;
|
||||
private System.Windows.Forms.DateTimePicker DTPBeginTime;
|
||||
private System.Windows.Forms.ListView ListFallbackItems;
|
||||
private System.Windows.Forms.ListView ListUpItems;
|
||||
private System.Windows.Forms.ColumnHeader ColFallbackId;
|
||||
private System.Windows.Forms.ColumnHeader ColFallbackName;
|
||||
private System.Windows.Forms.ColumnHeader ColUpId;
|
||||
private System.Windows.Forms.ColumnHeader ColUpName;
|
||||
private System.Windows.Forms.GroupBox GrpWeights;
|
||||
private System.Windows.Forms.GroupBox GrpBalance;
|
||||
private System.Windows.Forms.TextBox TxtWeight4;
|
||||
private System.Windows.Forms.TextBox TxtWeight5;
|
||||
private System.Windows.Forms.Label LblWeight4;
|
||||
private System.Windows.Forms.Label LblWeight5;
|
||||
private System.Windows.Forms.LinkLabel LnkWeightHelp;
|
||||
private System.Windows.Forms.LinkLabel LnkOpenOldEditor;
|
||||
private System.Windows.Forms.TextBox TxtPoolWeight4;
|
||||
private System.Windows.Forms.TextBox TxtPoolWeight5;
|
||||
private System.Windows.Forms.Label LblPoolWeight4;
|
||||
private System.Windows.Forms.Label LblPoolWeight5;
|
||||
private System.Windows.Forms.CheckBox ChkRemoveC6FormPool;
|
||||
private System.Windows.Forms.CheckBox ChkAutoStripRateUpFromFallback;
|
||||
private System.Windows.Forms.Label LblOptions;
|
||||
private System.Windows.Forms.DataVisualization.Charting.Chart ChartWeights;
|
||||
private System.Windows.Forms.GroupBox GrpBanners;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.TextBox TxtBannersJsonPath;
|
||||
private System.Windows.Forms.Button BtnLoad;
|
||||
private System.Windows.Forms.Button BtnSave;
|
||||
private System.Windows.Forms.FlowLayoutPanel FLPBannersControl;
|
||||
private System.Windows.Forms.Button BtnAddOrUpdate;
|
||||
private System.Windows.Forms.Button BtnDelete;
|
||||
private System.Windows.Forms.NumericUpDown NUDCostItemAmount10;
|
||||
private System.Windows.Forms.Label LblCostItemAmount10;
|
||||
private System.Windows.Forms.NumericUpDown NUDCostItemAmount1;
|
||||
private System.Windows.Forms.Label LblCostItemAmount1;
|
||||
private System.Windows.Forms.ListBox ListBanners;
|
||||
private System.Windows.Forms.ComboBox CmbTitlePath;
|
||||
private System.Windows.Forms.Label LblTitlePath;
|
||||
private System.Windows.Forms.Button BtnClear;
|
||||
}
|
||||
}
|
505
Source/GrasscutterTools/Forms/FormGachaBannersEditor3.cs
Normal file
505
Source/GrasscutterTools/Forms/FormGachaBannersEditor3.cs
Normal file
@ -0,0 +1,505 @@
|
||||
/**
|
||||
* 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 <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
**/
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using System.Windows.Forms.DataVisualization.Charting;
|
||||
|
||||
using GrasscutterTools.Game;
|
||||
using GrasscutterTools.Game.Drop;
|
||||
using GrasscutterTools.Game.Gacha;
|
||||
using GrasscutterTools.Properties;
|
||||
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace GrasscutterTools.Forms
|
||||
{
|
||||
/// <summary>
|
||||
/// 卡池编辑器
|
||||
/// </summary>
|
||||
public partial class FormGachaBannersEditor3 : Form
|
||||
{
|
||||
#region - 成员 -
|
||||
|
||||
private List<GachaBanner3> Banners;
|
||||
|
||||
#endregion
|
||||
|
||||
#region - 构造与窗体事件 -
|
||||
|
||||
public FormGachaBannersEditor3()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
Icon = Resources.IconGrasscutter;
|
||||
CmbBannerType.SelectedIndex = 0;
|
||||
InitBannerPrefab();
|
||||
InitCheckedListBoxs();
|
||||
|
||||
ShowBanner(new GachaBanner3());
|
||||
}
|
||||
|
||||
private void InitBannerPrefab()
|
||||
{
|
||||
CmbPrefab.Items.Clear();
|
||||
CmbPrefab.Items.AddRange(GameData.GachaBannerPrefabs.Names);
|
||||
CmbTitlePath.Items.Clear();
|
||||
CmbTitlePath.Items.AddRange(GameData.GachaBannerTitles.Names);
|
||||
}
|
||||
|
||||
protected override void OnLoad(EventArgs e)
|
||||
{
|
||||
base.OnLoad(e);
|
||||
try
|
||||
{
|
||||
// 加载文件路径
|
||||
var path = Settings.Default.BannersJsonPath;
|
||||
TxtBannersJsonPath.Text = path;
|
||||
if (!string.IsNullOrEmpty(path) && File.Exists(path))
|
||||
LoadBanners(File.ReadAllText(path));
|
||||
else
|
||||
LoadBanners(Encoding.UTF8.GetString(Resources.Banners));
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show(ex.ToString(), Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
}
|
||||
|
||||
protected override void OnFormClosed(FormClosedEventArgs e)
|
||||
{
|
||||
// 保存文件路径
|
||||
Settings.Default.BannersJsonPath = TxtBannersJsonPath.Text;
|
||||
Settings.Default.Save();
|
||||
|
||||
base.OnFormClosed(e);
|
||||
}
|
||||
|
||||
private void LnkWeightHelp_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
||||
{
|
||||
System.Diagnostics.Process.Start("https://github.com/Grasscutters/Grasscutter/pull/639");
|
||||
}
|
||||
|
||||
private void LnkOpenOldEditor_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
||||
{
|
||||
new FormGachaBannerEditor().ShowDialog();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region - Banners.json 文件相关 -
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 加载按钮点击时触发
|
||||
/// </summary>
|
||||
private void BtnLoad_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
var path = TxtBannersJsonPath.Text.Trim();
|
||||
if (path == string.Empty)
|
||||
{
|
||||
var dialog = new OpenFileDialog
|
||||
{
|
||||
FileName = "Banners.json",
|
||||
Filter = "Banners.Json (*.json)|*.json|All files (*.*)|*.*",
|
||||
};
|
||||
var result = dialog.ShowDialog();
|
||||
if (result == DialogResult.OK)
|
||||
path = TxtBannersJsonPath.Text = dialog.FileName;
|
||||
else
|
||||
return;
|
||||
}
|
||||
|
||||
LoadBanners(File.ReadAllText(path));
|
||||
MessageBox.Show("OK", Resources.Tips, MessageBoxButtons.OK);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show(ex.ToString(), Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 保存按钮点击时触发
|
||||
/// </summary>
|
||||
private void BtnSave_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
var path = TxtBannersJsonPath.Text.Trim();
|
||||
if (path == string.Empty)
|
||||
{
|
||||
var dialog = new SaveFileDialog
|
||||
{
|
||||
FileName = "Banners.json",
|
||||
Filter = "Banners.json (*.json)|*.json|All files (*.*)|*.*",
|
||||
};
|
||||
var result = dialog.ShowDialog();
|
||||
if (result == DialogResult.OK)
|
||||
path = TxtBannersJsonPath.Text = dialog.FileName;
|
||||
else
|
||||
return;
|
||||
}
|
||||
|
||||
var json = JsonConvert.SerializeObject(Banners, new JsonSerializerSettings { DefaultValueHandling = DefaultValueHandling.Ignore })
|
||||
.Replace(",\"", ",\r\n \"").Replace("{\"", "{\r\n \"").Replace("\"}", "\"\r\n}");
|
||||
File.WriteAllText(path, json);
|
||||
MessageBox.Show("OK", Resources.Tips, MessageBoxButtons.OK);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show(ex.ToString(), Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region - 卡池列表 -
|
||||
|
||||
/// <summary>
|
||||
/// 从指定Json中加载卡池
|
||||
/// </summary>
|
||||
/// <param name="bannersJson">Banner.json 内容</param>
|
||||
private void LoadBanners(string bannersJson)
|
||||
{
|
||||
// 反序列化
|
||||
Banners = JsonConvert.DeserializeObject<List<GachaBanner3>>(bannersJson);
|
||||
ShowBanners();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 显示当前卡池列表
|
||||
/// </summary>
|
||||
private void ShowBanners()
|
||||
{
|
||||
ListBanners.BeginUpdate();
|
||||
ListBanners.Items.Clear();
|
||||
ListBanners.Items.AddRange(Banners.ToArray());
|
||||
ListBanners.EndUpdate();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 卡池列表选中项改变时触发
|
||||
/// </summary>
|
||||
private void ListBanners_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (ListBanners.SelectedIndex < 0) return;
|
||||
ShowBanner(ListBanners.SelectedItem as GachaBanner3);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 点击添加或更新卡池按钮时触发
|
||||
/// </summary>
|
||||
private void BtnAddOrUpdate_Click(object sender, EventArgs e)
|
||||
{
|
||||
var banner = ParseBanner();
|
||||
var i = Banners.FindIndex(it => it.GachaType == banner.GachaType && it.ScheduleId == banner.ScheduleId);
|
||||
if (i >= 0)
|
||||
{
|
||||
Banners[i] = banner;
|
||||
ListBanners.Items[i] = banner;
|
||||
}
|
||||
else
|
||||
{
|
||||
Banners.Add(banner);
|
||||
ListBanners.Items.Add(banner);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 点击删除卡池按钮时触发
|
||||
/// </summary>
|
||||
private void BtnDelete_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (ListBanners.SelectedIndex < 0) return;
|
||||
if (MessageBox.Show(Resources.AskConfirmDeletion, Resources.Tips, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
|
||||
{
|
||||
Banners.RemoveAt(ListBanners.SelectedIndex);
|
||||
ListBanners.Items.RemoveAt(ListBanners.SelectedIndex);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 点击清空卡池按钮时触发
|
||||
/// </summary>
|
||||
private void BtnClear_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (ListBanners.Items.Count < 0) return;
|
||||
if (MessageBox.Show(Resources.AskConfirmDeletion, Resources.Tips, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
|
||||
{
|
||||
Banners.Clear();
|
||||
ListBanners.Items.Clear();
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region - 卡池 -
|
||||
|
||||
private void InitCheckedListBoxs()
|
||||
{
|
||||
ListFallbackItems.BeginUpdate();
|
||||
var a5 = ListFallbackItems.Groups["GroupA5"];
|
||||
var a4 = ListFallbackItems.Groups["GroupA4"];
|
||||
var w5 = ListFallbackItems.Groups["GroupW5"];
|
||||
var w4 = ListFallbackItems.Groups["GroupW4"];
|
||||
var w3 = ListFallbackItems.Groups["GroupW3"];
|
||||
var avatars = GetAvatarsByColor("5")
|
||||
.Select(it => new ListViewItem(new string[] { it.Item1.ToString(), it.Item2 }, a5) { ForeColor = Color.OrangeRed })
|
||||
.Concat(GetAvatarsByColor("4")
|
||||
.Select(it => new ListViewItem(new string[] { it.Item1.ToString(), it.Item2 }, a4) { ForeColor = Color.Purple }));
|
||||
var weapons = GetWeaponsByColor("yellow")
|
||||
.Select(it => new ListViewItem(new string[] { it.Item1.ToString(), it.Item2 }, w5) { ForeColor = Color.OrangeRed })
|
||||
.Concat(GetWeaponsByColor("purple")
|
||||
.Select(it => new ListViewItem(new string[] { it.Item1.ToString(), it.Item2 }, w4) { ForeColor = Color.Purple }))
|
||||
.Concat(GetWeaponsByColor("blue")
|
||||
.Select(it => new ListViewItem(new string[] { it.Item1.ToString(), it.Item2 }, w3) { ForeColor = Color.Blue }));
|
||||
ListFallbackItems.Items.Clear();
|
||||
ListFallbackItems.Items.AddRange(avatars.Concat(weapons).ToArray());
|
||||
|
||||
ListUpItems.BeginUpdate();
|
||||
var ua5 = ListUpItems.Groups["GroupUpA5"];
|
||||
var ua4 = ListUpItems.Groups["GroupUpA4"];
|
||||
var uw5 = ListUpItems.Groups["GroupUpW5"];
|
||||
var uw4 = ListUpItems.Groups["GroupUpW4"];
|
||||
var upAvatars = GetAvatarsByColor("5")
|
||||
.Select(it => new ListViewItem(new string[] { it.Item1.ToString(), it.Item2 }, ua5) { ForeColor = Color.OrangeRed })
|
||||
.Concat(GetAvatarsByColor("4")
|
||||
.Select(it => new ListViewItem(new string[] { it.Item1.ToString(), it.Item2 }, ua4) { ForeColor = Color.Purple }));
|
||||
var upWeapons = GetWeaponsByColor("yellow")
|
||||
.Select(it => new ListViewItem(new string[] { it.Item1.ToString(), it.Item2 }, uw5) { ForeColor = Color.OrangeRed })
|
||||
.Concat(GetWeaponsByColor("purple")
|
||||
.Select(it => new ListViewItem(new string[] { it.Item1.ToString(), it.Item2 }, uw4) { ForeColor = Color.Purple }));
|
||||
ListUpItems.Items.Clear();
|
||||
ListUpItems.Items.AddRange(upAvatars.Concat(upWeapons).ToArray());
|
||||
|
||||
ListFallbackItems.EndUpdate();
|
||||
ListUpItems.EndUpdate();
|
||||
}
|
||||
|
||||
private IEnumerable<(int, string)> GetAvatarsByColor(string color)
|
||||
{
|
||||
for (int i = 0; i < GameData.AvatarColors.Count; i++)
|
||||
{
|
||||
if (GameData.AvatarColors.Names[i] == color)
|
||||
{
|
||||
var id = GameData.AvatarColors.Ids[i];
|
||||
var index = Array.IndexOf(GameData.Avatars.Ids, id);
|
||||
if (index >= 0)
|
||||
yield return (id, GameData.Avatars.Names[index]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private IEnumerable<(int, string)> GetWeaponsByColor(string color)
|
||||
{
|
||||
for (int i = 0; i < GameData.WeaponColors.Count; i++)
|
||||
{
|
||||
if (GameData.WeaponColors.Names[i] == color)
|
||||
{
|
||||
var id = GameData.WeaponColors.Ids[i];
|
||||
var index = Array.IndexOf(GameData.Weapons.Ids, id);
|
||||
if (index >= 0)
|
||||
yield return (id, GameData.Weapons.Names[index]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void InitItems(GachaBanner3 banner)
|
||||
{
|
||||
var f = banner.FallbackItems3
|
||||
.Concat(banner.FallbackItems4Pool1)
|
||||
.Concat(banner.FallbackItems4Pool2)
|
||||
.Concat(banner.FallbackItems5Pool1)
|
||||
.Concat(banner.FallbackItems5Pool2)
|
||||
.ToArray();
|
||||
foreach (ListViewItem item in ListFallbackItems.Items)
|
||||
item.Checked = Array.IndexOf(f, int.Parse(item.Text)) >= 0;
|
||||
|
||||
var u = banner.RateUpItems4.Concat(banner.RateUpItems5).ToArray();
|
||||
foreach (ListViewItem item in ListUpItems.Items)
|
||||
item.Checked = Array.IndexOf(u, int.Parse(item.Text)) >= 0;
|
||||
}
|
||||
|
||||
private IEnumerable<int> GetCheckedItems(ListView list, ListViewGroup group)
|
||||
{
|
||||
foreach (ListViewItem item in list.CheckedItems)
|
||||
if (item.Group == group)
|
||||
yield return int.Parse(item.Text);
|
||||
}
|
||||
|
||||
#endregion - 卡池 -
|
||||
|
||||
#region - 权重 -
|
||||
|
||||
private struct GachaWeight
|
||||
{
|
||||
public int Count;
|
||||
public int Weight;
|
||||
|
||||
public GachaWeight(int count, int weight)
|
||||
{
|
||||
Count = count;
|
||||
Weight = weight;
|
||||
}
|
||||
}
|
||||
|
||||
private void InitWeights(GachaBanner3 banner)
|
||||
{
|
||||
TxtWeight5.Text = '[' + string.Join(", ", SelectWeights(banner.Weights5).Select(w => $"[{w.Count}, {w.Weight}]")) + ']';
|
||||
TxtWeight4.Text = '[' + string.Join(", ", SelectWeights(banner.Weights4).Select(w => $"[{w.Count}, {w.Weight}]")) + ']';
|
||||
TxtPoolWeight5.Text = '[' + string.Join(", ", SelectWeights(banner.PoolBalanceWeights5).Select(w => $"[{w.Count}, {w.Weight}]")) + ']';
|
||||
TxtPoolWeight4.Text = '[' + string.Join(", ", SelectWeights(banner.PoolBalanceWeights4).Select(w => $"[{w.Count}, {w.Weight}]")) + ']';
|
||||
|
||||
ChartWeights.SuspendLayout();
|
||||
ChartWeights.Series[0].Points.Clear();
|
||||
foreach (var w in SelectWeights(banner.Weights5))
|
||||
ChartWeights.Series[0].Points.AddXY(w.Count, w.Weight / 100.0);
|
||||
ChartWeights.Series[1].Points.Clear();
|
||||
foreach (var w in SelectWeights(banner.Weights4))
|
||||
ChartWeights.Series[1].Points.AddXY(w.Count, w.Weight / 100.0);
|
||||
ChartWeights.ResumeLayout();
|
||||
}
|
||||
|
||||
private IEnumerable<GachaWeight> SelectWeights(int[,] weights)
|
||||
{
|
||||
for (int i = 0; i < weights.GetLength(0); i++)
|
||||
yield return new GachaWeight(weights[i, 0], weights[i, 1]);
|
||||
}
|
||||
|
||||
private int[,] GetWeights(string weights)
|
||||
{
|
||||
return JsonConvert.DeserializeObject<int[,]>(weights);
|
||||
}
|
||||
|
||||
#endregion - 权重 -
|
||||
|
||||
#region - 卡池参数 -
|
||||
|
||||
/// <summary>
|
||||
/// 显示指定卡池参数
|
||||
/// </summary>
|
||||
/// <param name="banner">卡池对象</param>
|
||||
private void ShowBanner(GachaBanner3 banner)
|
||||
{
|
||||
try
|
||||
{
|
||||
NUDGachaType.Value = banner.GachaType;
|
||||
NUDScheduleId.Value = banner.ScheduleId;
|
||||
CmbBannerType.SelectedIndex = (int)banner.BannerType;
|
||||
if (string.IsNullOrEmpty(banner.PrefabPath) || !int.TryParse(banner.PrefabPath.Substring("GachaShowPanel_A".Length, 3), out int prefabId))
|
||||
CmbPrefab.SelectedIndex = -1;
|
||||
else
|
||||
CmbPrefab.SelectedIndex = Array.IndexOf(GameData.GachaBannerPrefabs.Ids, prefabId);
|
||||
if (string.IsNullOrEmpty(banner.TitlePath) || !int.TryParse(banner.TitlePath.Substring("UI_GACHA_SHOW_PANEL_A".Length, 3), out int titleId))
|
||||
CmbTitlePath.SelectedIndex = -1;
|
||||
else
|
||||
CmbTitlePath.SelectedIndex = Array.IndexOf(GameData.GachaBannerTitles.Ids, titleId);
|
||||
RbCostItem224.Checked = banner.CostItemId == 224;
|
||||
RbCostItem223.Checked = banner.CostItemId == 223;
|
||||
NUDCostItemAmount1.Value = banner.CoseItemAmount;
|
||||
NUDCostItemAmount10.Value = banner.CoseItemAmount10;
|
||||
DTPBeginTime.Value = DateTimeOffset.FromUnixTimeSeconds(banner.BeginTime).DateTime;
|
||||
DTPEndTime.Value = DateTimeOffset.FromUnixTimeSeconds(banner.EndTime).DateTime;
|
||||
NUDSortId.Value = banner.SortId;
|
||||
NUDEventChance5.Value = banner.EventChance5;
|
||||
NUDEventChance4.Value = banner.EventChance4;
|
||||
ChkRemoveC6FormPool.Checked = banner.RemoveC6FromPool;
|
||||
ChkAutoStripRateUpFromFallback.Checked = banner.AutoStripRateUpFromFallback;
|
||||
InitItems(banner);
|
||||
InitWeights(banner);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show("UI更新失败:" + ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
}
|
||||
|
||||
private GachaBanner3 ParseBanner()
|
||||
{
|
||||
if (CmbBannerType.SelectedIndex < 0)
|
||||
{
|
||||
MessageBox.Show("请选择奖池类型", Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
return null;
|
||||
}
|
||||
|
||||
if (CmbPrefab.SelectedIndex < 0 || CmbTitlePath.SelectedIndex < 0)
|
||||
{
|
||||
MessageBox.Show("请选择奖池预制", Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
return null;
|
||||
}
|
||||
|
||||
var prefabId = GameData.GachaBannerPrefabs.Ids[CmbPrefab.SelectedIndex];
|
||||
var titleId = GameData.GachaBannerTitles.Ids[CmbTitlePath.SelectedIndex];
|
||||
var banner = new GachaBanner3
|
||||
{
|
||||
GachaType = (int)NUDGachaType.Value,
|
||||
ScheduleId = (int)NUDScheduleId.Value,
|
||||
BannerType = (BannerType)CmbBannerType.SelectedIndex,
|
||||
PrefabPath = $"GachaShowPanel_A{prefabId:000}",
|
||||
PreviewPrefabPath = $"UI_Tab_GachaShowPanel_A{prefabId:000}",
|
||||
TitlePath = $"UI_GACHA_SHOW_PANEL_A{titleId:000}_TITLE",
|
||||
CostItemId = RbCostItem224.Checked ? 224 : 223,
|
||||
CoseItemAmount = (int)NUDCostItemAmount1.Value,
|
||||
CostItemId10 = RbCostItem224.Checked ? 224 : 223,
|
||||
CoseItemAmount10 = (int)NUDCostItemAmount10.Value,
|
||||
BeginTime = (int)new DateTimeOffset(DTPBeginTime.Value, TimeSpan.Zero).ToUnixTimeSeconds(),
|
||||
EndTime = (int)new DateTimeOffset(DTPEndTime.Value, TimeSpan.Zero).ToUnixTimeSeconds(),
|
||||
SortId = (int)NUDSortId.Value,
|
||||
EventChance5 = (int)NUDEventChance5.Value,
|
||||
EventChance4 = (int)NUDEventChance4.Value,
|
||||
|
||||
RateUpItems4 = GetCheckedItems(ListUpItems, ListUpItems.Groups["GroupUpA4"])
|
||||
.Concat(GetCheckedItems(ListUpItems, ListUpItems.Groups["GroupUpW4"]))
|
||||
.ToArray(),
|
||||
RateUpItems5 = GetCheckedItems(ListUpItems, ListUpItems.Groups["GroupUpA5"])
|
||||
.Concat(GetCheckedItems(ListUpItems, ListUpItems.Groups["GroupUpW5"]))
|
||||
.ToArray(),
|
||||
|
||||
FallbackItems3 = GetCheckedItems(ListFallbackItems, ListFallbackItems.Groups["GroupA3"])
|
||||
.Concat(GetCheckedItems(ListFallbackItems, ListFallbackItems.Groups["GroupW3"]))
|
||||
.ToArray(),
|
||||
FallbackItems4Pool1 = GetCheckedItems(ListFallbackItems, ListFallbackItems.Groups["GroupA4"]).ToArray(),
|
||||
FallbackItems4Pool2 = GetCheckedItems(ListFallbackItems, ListFallbackItems.Groups["GroupW4"]).ToArray(),
|
||||
FallbackItems5Pool1 = GetCheckedItems(ListFallbackItems, ListFallbackItems.Groups["GroupA5"]).ToArray(),
|
||||
FallbackItems5Pool2 = GetCheckedItems(ListFallbackItems, ListFallbackItems.Groups["GroupW5"]).ToArray(),
|
||||
|
||||
RemoveC6FromPool = ChkRemoveC6FormPool.Checked,
|
||||
AutoStripRateUpFromFallback = ChkAutoStripRateUpFromFallback.Checked,
|
||||
|
||||
Weights4 = GetWeights(TxtWeight4.Text),
|
||||
Weights5 = GetWeights(TxtWeight5.Text),
|
||||
PoolBalanceWeights4 = GetWeights(TxtPoolWeight4.Text),
|
||||
PoolBalanceWeights5 = GetWeights(TxtPoolWeight5.Text),
|
||||
};
|
||||
return banner;
|
||||
}
|
||||
|
||||
|
||||
#endregion - 卡池参数 -
|
||||
|
||||
}
|
||||
}
|
430
Source/GrasscutterTools/Forms/FormGachaBannersEditor3.en-us.resx
Normal file
430
Source/GrasscutterTools/Forms/FormGachaBannersEditor3.en-us.resx
Normal file
@ -0,0 +1,430 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="ChkAutoStripRateUpFromFallback.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>112, 287</value>
|
||||
</data>
|
||||
<data name="ChkAutoStripRateUpFromFallback.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>225, 21</value>
|
||||
</data>
|
||||
<data name="ChkAutoStripRateUpFromFallback.Text" xml:space="preserve">
|
||||
<value>Auto Strip Rate Up From Fall back</value>
|
||||
</data>
|
||||
<data name="LblOptions.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>60, 260</value>
|
||||
</data>
|
||||
<data name="LblOptions.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>46, 17</value>
|
||||
</data>
|
||||
<data name="LblOptions.Text" xml:space="preserve">
|
||||
<value>Optins</value>
|
||||
</data>
|
||||
<data name="ChkRemoveC6FormPool.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>157, 21</value>
|
||||
</data>
|
||||
<data name="ChkRemoveC6FormPool.Text" xml:space="preserve">
|
||||
<value>Remove C6 Form Pool</value>
|
||||
</data>
|
||||
<data name="LnkOpenOldEditor.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>102, 17</value>
|
||||
</data>
|
||||
<data name="LnkOpenOldEditor.Text" xml:space="preserve">
|
||||
<value>Open old editor</value>
|
||||
</data>
|
||||
<data name="LblEventChance4.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>200, 233</value>
|
||||
</data>
|
||||
<data name="LblEventChance4.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>96, 17</value>
|
||||
</data>
|
||||
<data name="LblEventChance4.Text" xml:space="preserve">
|
||||
<value>Event Chance 4</value>
|
||||
</data>
|
||||
<data name="LblEventChance5.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>10, 233</value>
|
||||
</data>
|
||||
<data name="LblEventChance5.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>96, 17</value>
|
||||
</data>
|
||||
<data name="LblEventChance5.Text" xml:space="preserve">
|
||||
<value>Event Chance 5</value>
|
||||
</data>
|
||||
<data name="LblSortId.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>72, 204</value>
|
||||
</data>
|
||||
<data name="LblSortId.Text" xml:space="preserve">
|
||||
<value>Sort</value>
|
||||
</data>
|
||||
<data name="LblGachaTypeTip.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>123, 17</value>
|
||||
</data>
|
||||
<data name="LblGachaTypeTip.Text" xml:space="preserve">
|
||||
<value>Increment from 400</value>
|
||||
</data>
|
||||
<data name="LblEndTime.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>62, 17</value>
|
||||
</data>
|
||||
<data name="LblEndTime.Text" xml:space="preserve">
|
||||
<value>End Time</value>
|
||||
</data>
|
||||
<data name="LblBeginTime.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>32, 175</value>
|
||||
</data>
|
||||
<data name="LblBeginTime.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>73, 17</value>
|
||||
</data>
|
||||
<data name="LblBeginTime.Text" xml:space="preserve">
|
||||
<value>Begin Time</value>
|
||||
</data>
|
||||
<data name="LblScheduleIdTip.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>49, 17</value>
|
||||
</data>
|
||||
<data name="LblScheduleIdTip.Text" xml:space="preserve">
|
||||
<value>Unique</value>
|
||||
</data>
|
||||
<data name="CmbBannerType.Items" xml:space="preserve">
|
||||
<value>Standard Wish</value>
|
||||
</data>
|
||||
<data name="CmbBannerType.Items1" xml:space="preserve">
|
||||
<value>Character Event Wish</value>
|
||||
</data>
|
||||
<data name="CmbBannerType.Items2" xml:space="preserve">
|
||||
<value>Weapon Event Wish</value>
|
||||
</data>
|
||||
<data name="LblSortIdTip.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>76, 17</value>
|
||||
</data>
|
||||
<data name="LblSortIdTip.Text" xml:space="preserve">
|
||||
<value>Show order</value>
|
||||
</data>
|
||||
<data name="LblBannerType.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>25, 87</value>
|
||||
</data>
|
||||
<data name="LblBannerType.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>81, 17</value>
|
||||
</data>
|
||||
<data name="LblBannerType.Text" xml:space="preserve">
|
||||
<value>Banner Type</value>
|
||||
</data>
|
||||
<data name="RbCostItem224.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>104, 21</value>
|
||||
</data>
|
||||
<data name="RbCostItem224.Text" xml:space="preserve">
|
||||
<value>Acquaint Fate</value>
|
||||
</data>
|
||||
<data name="LblCostItem.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>41, 148</value>
|
||||
</data>
|
||||
<data name="LblCostItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>64, 17</value>
|
||||
</data>
|
||||
<data name="LblCostItem.Text" xml:space="preserve">
|
||||
<value>Cost Item</value>
|
||||
</data>
|
||||
<data name="LblPrefabPath.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>59, 118</value>
|
||||
</data>
|
||||
<data name="LblPrefabPath.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>46, 17</value>
|
||||
</data>
|
||||
<data name="LblPrefabPath.Text" xml:space="preserve">
|
||||
<value>Prefab</value>
|
||||
</data>
|
||||
<data name="RbCostItem223.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>222, 146</value>
|
||||
</data>
|
||||
<data name="RbCostItem223.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>119, 21</value>
|
||||
</data>
|
||||
<data name="RbCostItem223.Text" xml:space="preserve">
|
||||
<value>Intertwined Fate</value>
|
||||
</data>
|
||||
<data name="GrpBannerValues.Text" xml:space="preserve">
|
||||
<value>Banner</value>
|
||||
</data>
|
||||
<data name="GrpFallbackPool.Text" xml:space="preserve">
|
||||
<value>Fallback Pool</value>
|
||||
</data>
|
||||
<data name="ListFallbackItems.Groups" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAA01LXN0YXIgYXZhdGFyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu
|
||||
bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBBNQs=
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListFallbackItems.Groups1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAA01LXN0YXIgd2VhcG9uBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu
|
||||
bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBXNQs=
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListFallbackItems.Groups2" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAA00LXN0YXIgYXZhdGFyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu
|
||||
bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBBNAs=
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListFallbackItems.Groups3" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAA00LXN0YXIgd2VhcG9uBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu
|
||||
bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBXNAs=
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListFallbackItems.Groups4" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAA0zLXN0YXIgd2VhcG9uBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu
|
||||
bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBXMws=
|
||||
</value>
|
||||
</data>
|
||||
<data name="GrpUpPool.Text" xml:space="preserve">
|
||||
<value>Up Pool</value>
|
||||
</data>
|
||||
<data name="ListUpItems.Groups" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAA01LXN0YXIgYXZhdGFyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu
|
||||
bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAJR3JvdXBVcEE1Cw==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListUpItems.Groups1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAA01LXN0YXIgd2VhcG9uBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu
|
||||
bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAJR3JvdXBVcFc1Cw==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListUpItems.Groups2" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAA00LXN0YXIgYXZhdGFyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu
|
||||
bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAJR3JvdXBVcEE0Cw==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListUpItems.Groups3" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAA00LXN0YXIgd2VhcG9uBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu
|
||||
bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAJR3JvdXBVcFc0Cw==
|
||||
</value>
|
||||
</data>
|
||||
<data name="BtnGen.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>85, 23</value>
|
||||
</data>
|
||||
<data name="BtnGen.Text" xml:space="preserve">
|
||||
<value>Gen Json</value>
|
||||
</data>
|
||||
<data name="BtnParse.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>409, 201</value>
|
||||
</data>
|
||||
<data name="BtnParse.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>85, 23</value>
|
||||
</data>
|
||||
<data name="BtnParse.Text" xml:space="preserve">
|
||||
<value>Parse Json</value>
|
||||
</data>
|
||||
<data name="GrpWeights.Text" xml:space="preserve">
|
||||
<value>Gacha weights</value>
|
||||
</data>
|
||||
<data name="LnkWeightHelp.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>399, 0</value>
|
||||
</data>
|
||||
<data name="LnkWeightHelp.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>35, 17</value>
|
||||
</data>
|
||||
<data name="LnkWeightHelp.Text" xml:space="preserve">
|
||||
<value>Help</value>
|
||||
</data>
|
||||
<data name="LblWeight4.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>40, 61</value>
|
||||
</data>
|
||||
<data name="LblWeight4.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>66, 17</value>
|
||||
</data>
|
||||
<data name="LblWeight4.Text" xml:space="preserve">
|
||||
<value>Weights 4</value>
|
||||
</data>
|
||||
<data name="LblWeight5.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>40, 32</value>
|
||||
</data>
|
||||
<data name="LblWeight5.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>66, 17</value>
|
||||
</data>
|
||||
<data name="LblWeight5.Text" xml:space="preserve">
|
||||
<value>Weights 5</value>
|
||||
</data>
|
||||
<data name="GrpBalance.Text" xml:space="preserve">
|
||||
<value>Character and weapon balance (only mixed pools work)</value>
|
||||
</data>
|
||||
<data name="LblPoolWeight4.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>16, 61</value>
|
||||
</data>
|
||||
<data name="LblPoolWeight4.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>90, 17</value>
|
||||
</data>
|
||||
<data name="LblPoolWeight4.Text" xml:space="preserve">
|
||||
<value>Pool Weight 4</value>
|
||||
</data>
|
||||
<data name="LblPoolWeight5.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>16, 32</value>
|
||||
</data>
|
||||
<data name="LblPoolWeight5.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>90, 17</value>
|
||||
</data>
|
||||
<data name="LblPoolWeight5.Text" xml:space="preserve">
|
||||
<value>Pool Weight 5</value>
|
||||
</data>
|
||||
<data name="GrpWeightChart.Text" xml:space="preserve">
|
||||
<value>Weight Chart</value>
|
||||
</data>
|
||||
<data name="$this.Text" xml:space="preserve">
|
||||
<value>Gacha Banner Editor</value>
|
||||
</data>
|
||||
</root>
|
1896
Source/GrasscutterTools/Forms/FormGachaBannersEditor3.resx
Normal file
1896
Source/GrasscutterTools/Forms/FormGachaBannersEditor3.resx
Normal file
File diff suppressed because it is too large
Load Diff
454
Source/GrasscutterTools/Forms/FormGachaBannersEditor3.ru-ru.resx
Normal file
454
Source/GrasscutterTools/Forms/FormGachaBannersEditor3.ru-ru.resx
Normal file
@ -0,0 +1,454 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="ChkAutoStripRateUpFromFallback.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>112, 287</value>
|
||||
</data>
|
||||
<data name="ChkAutoStripRateUpFromFallback.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>288, 21</value>
|
||||
</data>
|
||||
<data name="ChkAutoStripRateUpFromFallback.Text" xml:space="preserve">
|
||||
<value>Авто возврат шанса выпадения с баннера</value>
|
||||
</data>
|
||||
<data name="LblOptions.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>56, 261</value>
|
||||
</data>
|
||||
<data name="LblOptions.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>50, 17</value>
|
||||
</data>
|
||||
<data name="LblOptions.Text" xml:space="preserve">
|
||||
<value>Опции</value>
|
||||
</data>
|
||||
<data name="ChkRemoveC6FormPool.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>157, 21</value>
|
||||
</data>
|
||||
<data name="ChkRemoveC6FormPool.Text" xml:space="preserve">
|
||||
<value>Удалить пул форм C6</value>
|
||||
</data>
|
||||
<data name="LnkOpenOldEditor.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>167, 17</value>
|
||||
</data>
|
||||
<data name="LnkOpenOldEditor.Text" xml:space="preserve">
|
||||
<value>Открыть старый редактор</value>
|
||||
</data>
|
||||
<data name="LblGachaType.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>43, 28</value>
|
||||
</data>
|
||||
<data name="LblGachaType.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>63, 17</value>
|
||||
</data>
|
||||
<data name="LblGachaType.Text" xml:space="preserve">
|
||||
<value>Тип Гачи</value>
|
||||
</data>
|
||||
<data name="LblEventChance4.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>210, 233</value>
|
||||
</data>
|
||||
<data name="LblEventChance4.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>86, 17</value>
|
||||
</data>
|
||||
<data name="LblEventChance4.Text" xml:space="preserve">
|
||||
<value>Шанс соб. 4*</value>
|
||||
</data>
|
||||
<data name="LblEventChance5.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>20, 233</value>
|
||||
</data>
|
||||
<data name="LblEventChance5.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>86, 17</value>
|
||||
</data>
|
||||
<data name="LblEventChance5.Text" xml:space="preserve">
|
||||
<value>Шанс соб. 5*</value>
|
||||
</data>
|
||||
<data name="LblSortId.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>66, 204</value>
|
||||
</data>
|
||||
<data name="LblSortId.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>40, 17</value>
|
||||
</data>
|
||||
<data name="LblSortId.Text" xml:space="preserve">
|
||||
<value>Сорт.</value>
|
||||
</data>
|
||||
<data name="LblGachaTypeTip.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>116, 17</value>
|
||||
</data>
|
||||
<data name="LblGachaTypeTip.Text" xml:space="preserve">
|
||||
<value>Увеличение с 400</value>
|
||||
</data>
|
||||
<data name="LblEndTime.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>234, 176</value>
|
||||
</data>
|
||||
<data name="LblEndTime.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>47, 17</value>
|
||||
</data>
|
||||
<data name="LblEndTime.Text" xml:space="preserve">
|
||||
<value>Конец</value>
|
||||
</data>
|
||||
<data name="LblScheduleId.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>8, 57</value>
|
||||
</data>
|
||||
<data name="LblScheduleId.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>98, 17</value>
|
||||
</data>
|
||||
<data name="LblScheduleId.Text" xml:space="preserve">
|
||||
<value>ID расписания</value>
|
||||
</data>
|
||||
<data name="LblBeginTime.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>53, 176</value>
|
||||
</data>
|
||||
<data name="LblBeginTime.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>53, 17</value>
|
||||
</data>
|
||||
<data name="LblBeginTime.Text" xml:space="preserve">
|
||||
<value>Начало</value>
|
||||
</data>
|
||||
<data name="LblScheduleIdTip.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>84, 17</value>
|
||||
</data>
|
||||
<data name="LblScheduleIdTip.Text" xml:space="preserve">
|
||||
<value>Уникальный</value>
|
||||
</data>
|
||||
<data name="CmbBannerType.Items" xml:space="preserve">
|
||||
<value>Стандартная Молитва</value>
|
||||
</data>
|
||||
<data name="CmbBannerType.Items1" xml:space="preserve">
|
||||
<value>Молитва события персонажа</value>
|
||||
</data>
|
||||
<data name="CmbBannerType.Items2" xml:space="preserve">
|
||||
<value>Молитва события с оружием</value>
|
||||
</data>
|
||||
<data name="LblSortIdTip.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>121, 17</value>
|
||||
</data>
|
||||
<data name="LblSortIdTip.Text" xml:space="preserve">
|
||||
<value>Показать порядок</value>
|
||||
</data>
|
||||
<data name="LblBannerType.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>18, 87</value>
|
||||
</data>
|
||||
<data name="LblBannerType.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>88, 17</value>
|
||||
</data>
|
||||
<data name="LblBannerType.Text" xml:space="preserve">
|
||||
<value>Тип баннера</value>
|
||||
</data>
|
||||
<data name="RbCostItem224.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>116, 21</value>
|
||||
</data>
|
||||
<data name="RbCostItem224.Text" xml:space="preserve">
|
||||
<value>Судьбоносные</value>
|
||||
</data>
|
||||
<data name="LblCostItem.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>34, 148</value>
|
||||
</data>
|
||||
<data name="LblCostItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>72, 17</value>
|
||||
</data>
|
||||
<data name="LblCostItem.Text" xml:space="preserve">
|
||||
<value>Стоимость</value>
|
||||
</data>
|
||||
<data name="LblPrefabPath.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>47, 118</value>
|
||||
</data>
|
||||
<data name="LblPrefabPath.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>59, 17</value>
|
||||
</data>
|
||||
<data name="LblPrefabPath.Text" xml:space="preserve">
|
||||
<value>Готовый</value>
|
||||
</data>
|
||||
<data name="RbCostItem223.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>234, 146</value>
|
||||
</data>
|
||||
<data name="RbCostItem223.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>141, 21</value>
|
||||
</data>
|
||||
<data name="RbCostItem223.Text" xml:space="preserve">
|
||||
<value>Переплетающиеся</value>
|
||||
</data>
|
||||
<data name="GrpBannerValues.Text" xml:space="preserve">
|
||||
<value>Баннер</value>
|
||||
</data>
|
||||
<data name="ListFallbackItems.Groups" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAA01LXN0YXIgYXZhdGFyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu
|
||||
bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBBNQs=
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListFallbackItems.Groups1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAA01LXN0YXIgd2VhcG9uBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu
|
||||
bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBXNQs=
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListFallbackItems.Groups2" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAA00LXN0YXIgYXZhdGFyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu
|
||||
bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBBNAs=
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListFallbackItems.Groups3" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAA00LXN0YXIgd2VhcG9uBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu
|
||||
bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBXNAs=
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListFallbackItems.Groups4" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAA0zLXN0YXIgd2VhcG9uBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu
|
||||
bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBXMws=
|
||||
</value>
|
||||
</data>
|
||||
<data name="GrpFallbackPool.Text" xml:space="preserve">
|
||||
<value>Запасной Пул</value>
|
||||
</data>
|
||||
<data name="ListUpItems.Groups" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAA01LXN0YXIgYXZhdGFyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu
|
||||
bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAJR3JvdXBVcEE1Cw==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListUpItems.Groups1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAA01LXN0YXIgd2VhcG9uBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu
|
||||
bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAJR3JvdXBVcFc1Cw==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListUpItems.Groups2" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAA00LXN0YXIgYXZhdGFyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu
|
||||
bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAJR3JvdXBVcEE0Cw==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListUpItems.Groups3" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAA00LXN0YXIgd2VhcG9uBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdu
|
||||
bWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAJR3JvdXBVcFc0Cw==
|
||||
</value>
|
||||
</data>
|
||||
<data name="GrpUpPool.Text" xml:space="preserve">
|
||||
<value>Верхний Пул</value>
|
||||
</data>
|
||||
<data name="BtnGen.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>85, 23</value>
|
||||
</data>
|
||||
<data name="BtnGen.Text" xml:space="preserve">
|
||||
<value>Сген. Json</value>
|
||||
</data>
|
||||
<data name="BtnParse.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>409, 201</value>
|
||||
</data>
|
||||
<data name="BtnParse.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>85, 23</value>
|
||||
</data>
|
||||
<data name="BtnParse.Text" xml:space="preserve">
|
||||
<value>Загр. Json</value>
|
||||
</data>
|
||||
<data name="LnkWeightHelp.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>375, 0</value>
|
||||
</data>
|
||||
<data name="LnkWeightHelp.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>60, 17</value>
|
||||
</data>
|
||||
<data name="LnkWeightHelp.Text" xml:space="preserve">
|
||||
<value>Помощь</value>
|
||||
</data>
|
||||
<data name="LblWeight4.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>54, 61</value>
|
||||
</data>
|
||||
<data name="LblWeight4.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>52, 17</value>
|
||||
</data>
|
||||
<data name="LblWeight4.Text" xml:space="preserve">
|
||||
<value>Веса 5*</value>
|
||||
</data>
|
||||
<data name="LblWeight5.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>54, 32</value>
|
||||
</data>
|
||||
<data name="LblWeight5.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>52, 17</value>
|
||||
</data>
|
||||
<data name="LblWeight5.Text" xml:space="preserve">
|
||||
<value>Веса 5*</value>
|
||||
</data>
|
||||
<data name="GrpWeights.Text" xml:space="preserve">
|
||||
<value>Gacha Веса</value>
|
||||
</data>
|
||||
<data name="LblPoolWeight4.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>28, 61</value>
|
||||
</data>
|
||||
<data name="LblPoolWeight4.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>78, 17</value>
|
||||
</data>
|
||||
<data name="LblPoolWeight4.Text" xml:space="preserve">
|
||||
<value>Пул Веса 4*</value>
|
||||
</data>
|
||||
<data name="LblPoolWeight5.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>28, 29</value>
|
||||
</data>
|
||||
<data name="LblPoolWeight5.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>78, 17</value>
|
||||
</data>
|
||||
<data name="LblPoolWeight5.Text" xml:space="preserve">
|
||||
<value>Пул Веса 5*</value>
|
||||
</data>
|
||||
<data name="GrpBalance.Text" xml:space="preserve">
|
||||
<value>Баланс персонажа и оружия (работают только смешанные пулы)</value>
|
||||
</data>
|
||||
<data name="GrpWeightChart.Text" xml:space="preserve">
|
||||
<value>Таблица веса</value>
|
||||
</data>
|
||||
<data name="$this.Text" xml:space="preserve">
|
||||
<value>Редактор баннеров Gacha</value>
|
||||
</data>
|
||||
</root>
|
288
Source/GrasscutterTools/Forms/FormGachaBannersEditor3.zh-TW.resx
Normal file
288
Source/GrasscutterTools/Forms/FormGachaBannersEditor3.zh-TW.resx
Normal file
@ -0,0 +1,288 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="ChkAutoStripRateUpFromFallback.Text" xml:space="preserve">
|
||||
<value>自動避免UP被基礎抽中</value>
|
||||
</data>
|
||||
<data name="LblOptions.Text" xml:space="preserve">
|
||||
<value>選項</value>
|
||||
</data>
|
||||
<data name="LnkOpenOldEditor.Text" xml:space="preserve">
|
||||
<value>打開舊版本編輯器</value>
|
||||
</data>
|
||||
<data name="LblEventChance4.Text" xml:space="preserve">
|
||||
<value>4星活動爆率</value>
|
||||
</data>
|
||||
<data name="LblEventChance5.Text" xml:space="preserve">
|
||||
<value>5星活動爆率</value>
|
||||
</data>
|
||||
<data name="LblSortId.Text" xml:space="preserve">
|
||||
<value>順序</value>
|
||||
</data>
|
||||
<data name="LblGachaTypeTip.Text" xml:space="preserve">
|
||||
<value>從400開始,順序遞增</value>
|
||||
</data>
|
||||
<data name="LblEndTime.Text" xml:space="preserve">
|
||||
<value>結束時間</value>
|
||||
</data>
|
||||
<data name="LblBeginTime.Text" xml:space="preserve">
|
||||
<value>開始時間</value>
|
||||
</data>
|
||||
<data name="LblSortIdTip.Text" xml:space="preserve">
|
||||
<value>客戶端中顯示的順序</value>
|
||||
</data>
|
||||
<data name="LblBannerType.Text" xml:space="preserve">
|
||||
<value>獎池類型</value>
|
||||
</data>
|
||||
<data name="RbCostItem224.Text" xml:space="preserve">
|
||||
<value>相遇之緣</value>
|
||||
</data>
|
||||
<data name="LblCostItem.Text" xml:space="preserve">
|
||||
<value>祈願道具</value>
|
||||
</data>
|
||||
<data name="LblPrefabPath.Text" xml:space="preserve">
|
||||
<value>預製</value>
|
||||
</data>
|
||||
<data name="RbCostItem223.Text" xml:space="preserve">
|
||||
<value>糾纏之緣</value>
|
||||
</data>
|
||||
<data name="GrpBannerValues.Text" xml:space="preserve">
|
||||
<value>卡池參數</value>
|
||||
</data>
|
||||
<data name="GrpFallbackPool.Text" xml:space="preserve">
|
||||
<value>基礎池</value>
|
||||
</data>
|
||||
<data name="ListFallbackItems.Groups" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAAo15pif6KeS6ImyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdubWVu
|
||||
dAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBBNQs=
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListFallbackItems.Groups1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAAo15pif5q2m5ZmoBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdubWVu
|
||||
dAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBXNQs=
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListFallbackItems.Groups2" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAAo05pif6KeS6ImyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdubWVu
|
||||
dAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBBNAs=
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListFallbackItems.Groups3" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAAo05pif5q2m5ZmoBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdubWVu
|
||||
dAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBXNAs=
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListFallbackItems.Groups4" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAAoz5pif5q2m5ZmoBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdubWVu
|
||||
dAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAHR3JvdXBXMws=
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListUpItems.Groups" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAAo15pif6KeS6ImyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdubWVu
|
||||
dAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAJR3JvdXBVcEE1Cw==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListUpItems.Groups1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAAo15pif5q2m5ZmoBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdubWVu
|
||||
dAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAJR3JvdXBVcFc1Cw==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListUpItems.Groups2" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAAo05pif6KeS6ImyBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdubWVu
|
||||
dAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAJR3JvdXBVcEE0Cw==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ListUpItems.Groups3" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACJTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5MaXN0Vmlld0dyb3VwBAAAAAZIZWFkZXIPSGVhZGVyQWxpZ25tZW50A1Rh
|
||||
ZwROYW1lAQQCAShTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Ib3Jpem9udGFsQWxpZ25tZW50AgAAAAIAAAAG
|
||||
AwAAAAo05pif5q2m5ZmoBfz///8oU3lzdGVtLldpbmRvd3MuRm9ybXMuSG9yaXpvbnRhbEFsaWdubWVu
|
||||
dAEAAAAHdmFsdWVfXwAIAgAAAAAAAAAKBgUAAAAJR3JvdXBVcFc0Cw==
|
||||
</value>
|
||||
</data>
|
||||
<data name="GrpWeights.Text" xml:space="preserve">
|
||||
<value>卡池權重與保底機制</value>
|
||||
</data>
|
||||
<data name="LnkWeightHelp.Text" xml:space="preserve">
|
||||
<value>幫助</value>
|
||||
</data>
|
||||
<data name="LblWeight4.Text" xml:space="preserve">
|
||||
<value>4星權重</value>
|
||||
</data>
|
||||
<data name="LblWeight5.Text" xml:space="preserve">
|
||||
<value>5星權重</value>
|
||||
</data>
|
||||
<data name="GrpBalance.Text" xml:space="preserve">
|
||||
<value>角色和武器平衡機制(僅混合池有效)</value>
|
||||
</data>
|
||||
<data name="LblPoolWeight4.Text" xml:space="preserve">
|
||||
<value>4星池權重</value>
|
||||
</data>
|
||||
<data name="LblPoolWeight5.Text" xml:space="preserve">
|
||||
<value>5星池權重</value>
|
||||
</data>
|
||||
<data name="GrpWeightChart.Text" xml:space="preserve">
|
||||
<value>權重圖表</value>
|
||||
</data>
|
||||
<data name="$this.Text" xml:space="preserve">
|
||||
<value>卡池編輯器</value>
|
||||
</data>
|
||||
</root>
|
@ -264,86 +264,43 @@ namespace GrasscutterTools.Forms
|
||||
form.TopMost = false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 卡池编辑器窗口实例
|
||||
/// </summary>
|
||||
private Form GachaBannerEditor;
|
||||
private readonly Dictionary<string, Form> MyForms = new Dictionary<string, Form>();
|
||||
|
||||
private void ShowForm<T>(string tag) where T : Form, new()
|
||||
{
|
||||
if (!MyForms.TryGetValue(tag, out var form) || form.IsDisposed)
|
||||
form = new T();
|
||||
MyForms[tag] = form;
|
||||
if (form.IsHandleCreated)
|
||||
ToTop(form);
|
||||
else
|
||||
form.Show();
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 点击打开卡池编辑器时触发
|
||||
/// </summary>
|
||||
private void BtnOpenGachaBannerEditor_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (GachaBannerEditor == null || GachaBannerEditor.IsDisposed)
|
||||
{
|
||||
GachaBannerEditor = new FormGachaBannerEditor2();
|
||||
GachaBannerEditor.Show();
|
||||
}
|
||||
else
|
||||
{
|
||||
ToTop(GachaBannerEditor);
|
||||
}
|
||||
}
|
||||
=> ShowForm<FormGachaBannersEditor3>("BannersEditor");
|
||||
|
||||
/// <summary>
|
||||
/// 文本浏览器窗口实例
|
||||
/// 点击打开文本浏览器时触发
|
||||
/// </summary>
|
||||
private FormTextMapBrowser TextMapBrowser;
|
||||
|
||||
private void BtnOpenTextMap_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (TextMapBrowser == null || TextMapBrowser.IsDisposed)
|
||||
{
|
||||
TextMapBrowser = new FormTextMapBrowser();
|
||||
TextMapBrowser.Show();
|
||||
}
|
||||
else
|
||||
{
|
||||
ToTop(TextMapBrowser);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 掉落物编辑器窗口实例
|
||||
/// </summary>
|
||||
private FormDropEditor DropEditor;
|
||||
=> ShowForm<FormTextMapBrowser>("TextMapBrowser");
|
||||
|
||||
/// <summary>
|
||||
/// 点击打开掉落物编辑器时触发
|
||||
/// </summary>
|
||||
private void BtnOpenDropEditor_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (DropEditor == null || DropEditor.IsDisposed)
|
||||
{
|
||||
DropEditor = new FormDropEditor();
|
||||
DropEditor.Show();
|
||||
}
|
||||
else
|
||||
{
|
||||
ToTop(DropEditor);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 商店编辑器窗口实例
|
||||
/// </summary>
|
||||
private FormShopEditor ShopEditor;
|
||||
=> ShowForm<FormDropEditor>("DropEditor");
|
||||
|
||||
/// <summary>
|
||||
/// 点击打开商店编辑器时触发
|
||||
/// </summary>
|
||||
private void BtnOpenShopEditor_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (ShopEditor == null || ShopEditor.IsDisposed)
|
||||
{
|
||||
ShopEditor = new FormShopEditor();
|
||||
ShopEditor.Show();
|
||||
}
|
||||
else
|
||||
{
|
||||
ToTop(ShopEditor);
|
||||
}
|
||||
}
|
||||
=> ShowForm<FormShopEditor>("ShopEditor");
|
||||
|
||||
/// <summary>
|
||||
/// 语言选中项改变时触发
|
||||
|
230
Source/GrasscutterTools/Game/Gacha/GachaBanner3.cs
Normal file
230
Source/GrasscutterTools/Game/Gacha/GachaBanner3.cs
Normal file
@ -0,0 +1,230 @@
|
||||
/**
|
||||
* 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 <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
**/
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Converters;
|
||||
|
||||
namespace GrasscutterTools.Game.Gacha
|
||||
{
|
||||
/// <summary>
|
||||
/// https://github.com/Grasscutters/Grasscutter/pull/639
|
||||
/// </summary>
|
||||
public class GachaBanner3
|
||||
{
|
||||
/// <summary>
|
||||
/// 备注
|
||||
/// </summary>
|
||||
[JsonProperty("comment")]
|
||||
public string Comment { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 添加卡池请从400开始增加id数值进行添加,这个id需要每个池子不一样,
|
||||
/// 如果你想添加大量卡池,请按照每次增加固定数值的id进行添加,比如:411,412,413....
|
||||
/// </summary>
|
||||
[JsonProperty("gachaType")]
|
||||
public int GachaType { get; set; } = 400;
|
||||
|
||||
/// <summary>
|
||||
/// 这个id需要每个池子不一样,如果你想添加大量卡池,
|
||||
/// 请按照每次增加固定数值的id进行添加,比如:2100,2200,2300....
|
||||
/// </summary>
|
||||
[JsonProperty("scheduleId")]
|
||||
public int ScheduleId { get; set; } = 800;
|
||||
|
||||
/// <summary>
|
||||
/// 这个是卡池的预制路径id
|
||||
/// </summary>
|
||||
[JsonProperty("prefabPath")]
|
||||
public string PrefabPath { get; set; } = "GachaShowPanel_A007";
|
||||
|
||||
/// <summary>
|
||||
/// 这个是抽卡的预览背景路径id
|
||||
/// </summary>
|
||||
[JsonProperty("previewPrefabPath")]
|
||||
public string PreviewPrefabPath { get; set; } = "UI_Tab_GachaShowPanel_A007";
|
||||
|
||||
/// <summary>
|
||||
/// 这个是抽卡的标题路径id,有可能与之前两项的id不同
|
||||
/// (一般这3项的id只需保持一致即可,就是A0xx,xx为同一id)
|
||||
/// </summary>
|
||||
[JsonProperty("titlePath")]
|
||||
public string TitlePath { get; set; } = "UI_GACHA_SHOW_PANEL_A007_TITLE";
|
||||
|
||||
/// <summary>
|
||||
/// 这个表示祈愿用的道具,224是相遇之缘,223是纠缠之缘 - 选择一个作为该卡池的抽卡道具
|
||||
/// (提示:请不要随便修改祈愿道具除了蓝球和粉球,有可能会引发bug,比如修改成摩拉抽卡可能导致卡住)
|
||||
/// </summary>
|
||||
[JsonProperty("costItemId")]
|
||||
public int CostItemId { get; set; } = 224;
|
||||
|
||||
/// <summary>
|
||||
/// 抽卡消耗
|
||||
/// </summary>
|
||||
[JsonProperty("coseItemAmount"), DefaultValue(1)]
|
||||
public int CoseItemAmount { get; set; } = 1;
|
||||
|
||||
/// <summary>
|
||||
/// 这个表示十连祈愿用的道具,224是相遇之缘,223是纠缠之缘 - 选择一个作为该卡池的抽卡道具
|
||||
/// (提示:请不要随便修改祈愿道具除了蓝球和粉球,有可能会引发bug,比如修改成摩拉抽卡可能导致卡住)
|
||||
/// </summary>
|
||||
[JsonProperty("costItemId10")]
|
||||
public int CostItemId10 { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 十连抽卡消耗
|
||||
/// </summary>
|
||||
[JsonProperty("coseItemAmount10"), DefaultValue(10)]
|
||||
public int CoseItemAmount10 { get; set; } = 10;
|
||||
|
||||
/// <summary>
|
||||
/// 开始时间(Unix时间戳)
|
||||
/// </summary>
|
||||
[JsonProperty("beginTime")]
|
||||
public int BeginTime { get; set; } = 0;
|
||||
|
||||
/// <summary>
|
||||
/// 结束时间(Unix时间戳)
|
||||
/// </summary>
|
||||
[JsonProperty("endTime")]
|
||||
public int EndTime { get; set; } = 1924992000;
|
||||
|
||||
/// <summary>
|
||||
/// 卡池顺序
|
||||
/// </summary>
|
||||
[JsonProperty("sortId")]
|
||||
public int SortId { get; set; } = 1000;
|
||||
|
||||
/// <summary>
|
||||
/// 抽卡次数限制
|
||||
/// </summary>
|
||||
[JsonProperty("gachaTimesLimit"), DefaultValue(int.MaxValue)]
|
||||
public int GachaTimesLimit { get; set; } = int.MaxValue;
|
||||
|
||||
/// <summary>
|
||||
/// 4星的up角色或物品
|
||||
/// </summary>
|
||||
[JsonProperty("rateUpItems4")]
|
||||
public int[] RateUpItems4 { get; set; } = { };
|
||||
|
||||
/// <summary>
|
||||
/// 5星的up物品或者角色
|
||||
/// </summary>
|
||||
[JsonProperty("rateUpItems5")]
|
||||
public int[] RateUpItems5 { get; set; } = { };
|
||||
|
||||
/// <summary>
|
||||
/// 3星普通池
|
||||
/// </summary>
|
||||
[JsonProperty("fallbackItems3")]
|
||||
public int[] FallbackItems3 { get; set; } = { 11301, 11302, 11306, 12301, 12302, 12305, 13303, 14301, 14302, 14304, 15301, 15302, 15304 };
|
||||
|
||||
/// <summary>
|
||||
/// 4星普通角色池
|
||||
/// </summary>
|
||||
[JsonProperty("fallbackItems4Pool1")]
|
||||
public int[] FallbackItems4Pool1 { get; set; } = { 1014, 1020, 1023, 1024, 1025, 1027, 1031, 1032, 1034, 1036, 1039, 1043, 1044, 1045, 1048, 1053, 1055, 1056, 1064 };
|
||||
|
||||
/// <summary>
|
||||
/// 4星普通武器池
|
||||
/// </summary>
|
||||
[JsonProperty("fallbackItems4Pool2")]
|
||||
public int[] FallbackItems4Pool2 { get; set; } = { 11401, 11402, 11403, 11405, 12401, 12402, 12403, 12405, 13401, 13407, 14401, 14402, 14403, 14409, 15401, 15402, 15403, 15405 };
|
||||
|
||||
/// <summary>
|
||||
/// 5星普通角色池
|
||||
/// </summary>
|
||||
[JsonProperty("fallbackItems5Pool1")]
|
||||
public int[] FallbackItems5Pool1 { get; set; } = { 1003, 1016, 1042, 1035, 1041 };
|
||||
|
||||
/// <summary>
|
||||
/// 5星普通角色池
|
||||
/// </summary>
|
||||
[JsonProperty("fallbackItems5Pool2")]
|
||||
public int[] FallbackItems5Pool2 { get; set; } = { 11501, 11502, 12501, 12502, 13502, 13505, 14501, 14502, 15501, 15502 };
|
||||
|
||||
/// <summary>
|
||||
/// 是否从奖池中移除玩家星座等级6级以上的角色
|
||||
/// </summary>
|
||||
[JsonProperty("removeC6FromPool"), DefaultValue(false)]
|
||||
public bool RemoveC6FromPool { get; set; } = false;
|
||||
|
||||
/// <summary>
|
||||
/// 自动从普通池中移除UP池物品或角色
|
||||
/// </summary>
|
||||
[JsonProperty("autoStripRateUpFromFallback"), DefaultValue(true)]
|
||||
public bool AutoStripRateUpFromFallback { get; set; } = true;
|
||||
|
||||
/// <summary>
|
||||
/// 4星权重
|
||||
/// </summary>
|
||||
[JsonProperty("weights4")]
|
||||
public int[,] Weights4 { get; set; } = { { 1, 510 }, { 8, 510 }, { 10, 10000 } };
|
||||
|
||||
/// <summary>
|
||||
/// 5星权重
|
||||
/// </summary>
|
||||
[JsonProperty("weights5")]
|
||||
public int[,] Weights5 { get; set; } = { { 1, 75 }, { 73, 150 }, { 90, 10000 } };
|
||||
|
||||
/// <summary>
|
||||
/// 4星平衡奖池权重(即中的是武器还是角色)
|
||||
/// </summary>
|
||||
[JsonProperty("poolBalanceWeights4")]
|
||||
public int[,] PoolBalanceWeights4 { get; set; } = { { 1, 255 }, { 17, 255 }, { 21, 10455 } };
|
||||
|
||||
/// <summary>
|
||||
/// 5星平衡奖池权重(即中的是武器还是角色)
|
||||
/// </summary>
|
||||
[JsonProperty("poolBalanceWeights5")]
|
||||
public int[,] PoolBalanceWeights5 { get; set; } = { { 1, 30 }, { 147, 150 }, { 181, 10230 } };
|
||||
|
||||
/// <summary>
|
||||
/// 4星事件概率(抽中后,摇1~100随机数,如果大于该值则抽中up池)
|
||||
/// </summary>
|
||||
[JsonProperty("eventChance4"), DefaultValue(50)]
|
||||
public int EventChance4 { get; set; } = 50;
|
||||
|
||||
/// <summary>
|
||||
/// 5星事件概率(抽中后,摇1~100随机数,如果大于该值则抽中up池)
|
||||
/// </summary>
|
||||
[JsonProperty("eventChance5"), DefaultValue(50)]
|
||||
public int EventChance5 { get; set; } = 50;
|
||||
|
||||
/// <summary>
|
||||
/// 这个有3种类型,standard表示常驻池,event表示限时角色祈愿池,
|
||||
/// weapon表示限时武器祈愿池,选择一种类型的卡池
|
||||
/// </summary>
|
||||
[JsonProperty("bannerType"), JsonConverter(typeof(StringEnumConverter)), DefaultValue(BannerType.STANDARD)]
|
||||
public BannerType BannerType { get; set; } = BannerType.STANDARD;
|
||||
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return $"[{GachaType}|{ScheduleId}] 5*:[{string.Join(",", RateUpItems5.Select(GetName))}] 4*:[{string.Join(",", RateUpItems4.Select(GetName))}]";
|
||||
}
|
||||
|
||||
private static string GetName(int id)
|
||||
{
|
||||
var a = GameData.Avatars[id];
|
||||
return a == ItemMap.EmptyName ? GameData.Weapons[id] : a;
|
||||
}
|
||||
}
|
||||
}
|
@ -37,6 +37,7 @@ namespace GrasscutterTools.Game
|
||||
Weapons = new ItemMap(Resources.Weapon);
|
||||
WeaponColors = new ItemMap(Resources.WeaponColor);
|
||||
GachaBannerPrefabs = new ItemMap(Resources.GachaBennerPrefab);
|
||||
GachaBannerTitles = new ItemMap(Resources.GachaBannerTitle);
|
||||
Quests = new ItemMap(Resources.Quest);
|
||||
ShopType = new ItemMap(Resources.ShopType);
|
||||
}
|
||||
@ -67,6 +68,7 @@ namespace GrasscutterTools.Game
|
||||
public static ItemMap WeaponColors { get; private set; }
|
||||
|
||||
public static ItemMap GachaBannerPrefabs { get; private set; }
|
||||
public static ItemMap GachaBannerTitles { get; private set; }
|
||||
|
||||
public static ItemMap Quests { get; private set; }
|
||||
|
||||
|
@ -96,6 +96,12 @@
|
||||
<Compile Include="Forms\FormDropEditor.Designer.cs">
|
||||
<DependentUpon>FormDropEditor.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Forms\FormGachaBannersEditor3.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Forms\FormGachaBannersEditor3.Designer.cs">
|
||||
<DependentUpon>FormGachaBannersEditor3.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Forms\FormGachaBannerEditor2.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@ -129,6 +135,7 @@
|
||||
<Compile Include="Game\CommandVersion.cs" />
|
||||
<Compile Include="Game\Drop\DropData.cs" />
|
||||
<Compile Include="Game\Drop\DropInfo.cs" />
|
||||
<Compile Include="Game\Gacha\GachaBanner3.cs" />
|
||||
<Compile Include="Game\Gacha\GachaBanner2.cs" />
|
||||
<Compile Include="Game\GameCommand.cs" />
|
||||
<Compile Include="Game\Gacha\BannerType.cs" />
|
||||
@ -176,6 +183,20 @@
|
||||
<EmbeddedResource Include="Forms\FormDropEditor.zh-TW.resx">
|
||||
<DependentUpon>FormDropEditor.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\FormGachaBannersEditor3.en-us.resx">
|
||||
<DependentUpon>FormGachaBannersEditor3.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\FormGachaBannersEditor3.resx">
|
||||
<DependentUpon>FormGachaBannersEditor3.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\FormGachaBannersEditor3.ru-ru.resx">
|
||||
<DependentUpon>FormGachaBannersEditor3.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\FormGachaBannersEditor3.zh-TW.resx">
|
||||
<DependentUpon>FormGachaBannersEditor3.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\FormGachaBannerEditor2.en-us.resx">
|
||||
<DependentUpon>FormGachaBannerEditor2.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
@ -284,6 +305,7 @@
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
<None Include="Resources\Banners.json" />
|
||||
<None Include="Resources\en-us\AvatarStats.json" />
|
||||
<None Include="Resources\ru-ru\AvatarStats.json" />
|
||||
<None Include="Resources\zh-cn\AvatarStats.json" />
|
||||
@ -299,6 +321,7 @@
|
||||
<Content Include="Resources\en-us\ArtifactSubAttribution.txt" />
|
||||
<Content Include="Resources\en-us\Avatar.txt" />
|
||||
<Content Include="Resources\en-us\CustomCommands.txt" />
|
||||
<Content Include="Resources\en-us\GachaBennerTitle.txt" />
|
||||
<Content Include="Resources\en-us\GachaBennerPrefab.txt" />
|
||||
<Content Include="Resources\en-us\Gadget.txt" />
|
||||
<Content Include="Resources\en-us\Item.txt" />
|
||||
@ -314,6 +337,7 @@
|
||||
<Content Include="Resources\ru-ru\ArtifactSubAttribution.txt" />
|
||||
<Content Include="Resources\ru-ru\Avatar.txt" />
|
||||
<Content Include="Resources\ru-ru\CustomCommands.txt" />
|
||||
<Content Include="Resources\ru-ru\GachaBennerTitle.txt" />
|
||||
<Content Include="Resources\ru-ru\GachaBennerPrefab.txt" />
|
||||
<Content Include="Resources\ru-ru\Item.txt" />
|
||||
<Content Include="Resources\ru-ru\Monsters.txt" />
|
||||
@ -333,6 +357,7 @@
|
||||
<Content Include="Resources\zh-cn\Avatar.txt" />
|
||||
<Content Include="Resources\zh-cn\CustomCommands.txt" />
|
||||
<Content Include="Resources\AvatarColor.txt" />
|
||||
<Content Include="Resources\zh-cn\GachaBannerTitle.txt" />
|
||||
<Content Include="Resources\zh-cn\GachaBennerPrefab.txt" />
|
||||
<Content Include="Resources\zh-cn\Gadget.txt" />
|
||||
<Content Include="Resources\zh-cn\Item.txt" />
|
||||
@ -347,6 +372,7 @@
|
||||
<Content Include="Resources\zh-tw\ArtifactSubAttribution.txt" />
|
||||
<Content Include="Resources\zh-tw\Avatar.txt" />
|
||||
<Content Include="Resources\zh-tw\CustomCommands.txt" />
|
||||
<Content Include="Resources\zh-tw\GachaBennerTitle.txt" />
|
||||
<Content Include="Resources\zh-tw\GachaBennerPrefab.txt" />
|
||||
<Content Include="Resources\zh-tw\Item.txt" />
|
||||
<Content Include="Resources\zh-tw\Monsters.txt" />
|
||||
|
@ -401,6 +401,16 @@ namespace GrasscutterTools.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查找 System.Byte[] 类型的本地化资源。
|
||||
/// </summary>
|
||||
internal static byte[] Banners {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("Banners", resourceCulture);
|
||||
return ((byte[])(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查找类似 浏览器打开失败,你可以通过以下链接手动访问: 的本地化字符串。
|
||||
/// </summary>
|
||||
@ -554,6 +564,59 @@ namespace GrasscutterTools.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查找类似 007:初行者推荐祈愿
|
||||
///008:奔行世间
|
||||
///009:杯装之诗
|
||||
///010:黎明巡礼
|
||||
///011:南风之眷
|
||||
///012:靖妖傩舞
|
||||
///013:神铸赋形
|
||||
///015:闪焰的驻足
|
||||
///016:初行者推荐祈愿
|
||||
///017:奔行世间
|
||||
///018:闪焰的驻足
|
||||
///019:杯装之诗
|
||||
///020:神铸赋形
|
||||
///021:神铸赋形
|
||||
///022:奔行世间
|
||||
///023:暂别冬都
|
||||
///024:陵薮市朝
|
||||
///027:深秘之息
|
||||
///028:浮生孰来
|
||||
///031:烟火之邀
|
||||
///032:鱼龙灯昼
|
||||
///033:赤团开时
|
||||
///036:杯装之诗
|
||||
///037:暂别冬都
|
||||
///040:陵薮市朝
|
||||
///041:浪涌之瞬
|
||||
///045:叶落风随
|
||||
///048:白鹭之庭
|
||||
///049:焰色天河
|
||||
///052:影寂天下人
|
||||
///053:浮岳虹珠
|
||||
///061:鬼门斗宴
|
||||
///065:出尘入世
|
||||
///071:华紫樱绯
|
||||
///076:苍流踏花
|
||||
///081:素霓伣天
|
||||
///091:巡御蘙荟-提纳里
|
||||
///092:陵薮市朝-钟离
|
||||
///093:神铸赋形-猎人贯虹
|
||||
///097:雳裁冥昭-赛诺
|
||||
///098:杯装之诗-温迪
|
||||
///099:神铸赋形-赤沙终末
|
||||
///100:翩舞歈莲-妮露
|
||||
///101:深秘之息-阿贝多
|
||||
///101:神铸赋形-圣显绿箭 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string GachaBannerTitle {
|
||||
get {
|
||||
return ResourceManager.GetString("GachaBannerTitle", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查找类似 007:初行者推荐祈愿
|
||||
///008:奔行世间
|
||||
|
@ -285,4 +285,7 @@ Improvement suggestions have been submitted, please use caution to send emails t
|
||||
<data name="ShopJsonOverrideWarning" xml:space="preserve">
|
||||
<value>Only allowed to save in Shop.json format! Are you sure you want to overwrite the currently specified file?</value>
|
||||
</data>
|
||||
<data name="GachaBennerTitle" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\en-us\GachaBennerTitle.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;gb2312</value>
|
||||
</data>
|
||||
</root>
|
@ -294,4 +294,10 @@
|
||||
<data name="ShopJsonOverrideWarning" xml:space="preserve">
|
||||
<value>仅允许以 Shop.json 格式保存!确定要覆盖当前指定文件吗?</value>
|
||||
</data>
|
||||
<data name="GachaBannerTitle" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\zh-cn\GachaBannerTitle.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
|
||||
</data>
|
||||
<data name="Banners" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Banners.json;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
</root>
|
@ -273,4 +273,7 @@
|
||||
<data name="ShopJsonOverrideWarning" xml:space="preserve">
|
||||
<value>Разрешено сохранять только в формате Shop.json! Вы уверены, что хотите перезаписать текущий указанный файл?</value>
|
||||
</data>
|
||||
<data name="GachaBennerTitle" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\ru-ru\GachaBennerTitle.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
|
||||
</data>
|
||||
</root>
|
@ -279,4 +279,7 @@
|
||||
<data name="ShopJsonOverrideWarning" xml:space="preserve">
|
||||
<value>僅允許以 Shop.json 格式保存!確定要覆蓋當前指定文件嗎?</value>
|
||||
</data>
|
||||
<data name="GachaBennerTitle" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\zh-tw\GachaBennerTitle.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
|
||||
</data>
|
||||
</root>
|
@ -12,7 +12,7 @@ namespace GrasscutterTools.Properties {
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.3.0.0")]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.4.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
@ -214,5 +214,17 @@ namespace GrasscutterTools.Properties {
|
||||
this["MainFormSize"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("")]
|
||||
public string BannersJsonPath {
|
||||
get {
|
||||
return ((string)(this["BannersJsonPath"]));
|
||||
}
|
||||
set {
|
||||
this["BannersJsonPath"] = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -50,5 +50,8 @@
|
||||
<Setting Name="MainFormSize" Type="System.Drawing.Size" Scope="User">
|
||||
<Value Profile="(Default)">0, 0</Value>
|
||||
</Setting>
|
||||
<Setting Name="BannersJsonPath" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
</Settings>
|
||||
</SettingsFile>
|
773
Source/GrasscutterTools/Resources/Banners.json
Normal file
773
Source/GrasscutterTools/Resources/Banners.json
Normal file
@ -0,0 +1,773 @@
|
||||
[
|
||||
//新手
|
||||
{
|
||||
"comment": "Beginner's Banner. Do not change for no reason.",
|
||||
"gachaType": 100,
|
||||
"scheduleId": 803,
|
||||
"bannerType": "EVENT",
|
||||
"prefabPath": "GachaShowPanel_A016",
|
||||
"titlePath": "UI_GACHA_SHOW_PANEL_A016_TITLE",
|
||||
"costItemId": 224,
|
||||
"costItemAmount10": 8,
|
||||
"gachaTimesLimit": 20,
|
||||
"beginTime": 0,
|
||||
"endTime": 1924992000,
|
||||
"sortId": 100,
|
||||
"rateUpItems5": [],
|
||||
"rateUpItems4": [ 1034 ]
|
||||
},
|
||||
//常驻1
|
||||
{
|
||||
"comment": "Standard",
|
||||
"gachaType": 200,
|
||||
"scheduleId": 2000,
|
||||
"bannerType": "STANDARD",
|
||||
"prefabPath": "GachaShowPanel_A022",
|
||||
"titlePath": "UI_GACHA_SHOW_PANEL_A022_TITLE",
|
||||
"costItemId": 224,
|
||||
"beginTime": 0,
|
||||
"endTime": 1924992000,
|
||||
"sortId": 1,
|
||||
"fallbackItems4Pool1": [ 1006, 1014, 1015, 1020, 1021, 1023, 1024, 1025, 1027, 1031, 1032, 1034, 1036, 1039, 1043, 1044, 1045, 1048, 1053, 1055, 1056, 1064 ],
|
||||
"weights5": [
|
||||
[ 1, 75 ],
|
||||
[ 73, 150 ],
|
||||
[ 90, 10000 ]
|
||||
]
|
||||
},
|
||||
//常驻2
|
||||
{
|
||||
"comment": "Standard",
|
||||
"gachaType": 201,
|
||||
"scheduleId": 2001,
|
||||
"bannerType": "STANDARD",
|
||||
"prefabPath": "GachaShowPanel_A017",
|
||||
"titlePath": "UI_GACHA_SHOW_PANEL_A017_TITLE",
|
||||
"costItemId": 224,
|
||||
"beginTime": 0,
|
||||
"endTime": 1924992000,
|
||||
"sortId": 1,
|
||||
"fallbackItems4Pool1": [ 1006, 1014, 1015, 1020, 1021, 1023, 1024, 1025, 1027, 1031, 1032, 1034, 1036, 1039, 1043, 1044, 1045, 1048, 1053, 1055, 1056, 1064 ],
|
||||
"weights5": [
|
||||
[ 1, 75 ],
|
||||
[ 73, 150 ],
|
||||
[ 90, 10000 ]
|
||||
]
|
||||
},
|
||||
//1.0上角色-杯装之诗:温迪、菲谢尔、香菱、芭芭拉
|
||||
{
|
||||
"comment": "1.0",
|
||||
"gachaType": 400,
|
||||
"scheduleId": 800,
|
||||
"bannerType": "EVENT",
|
||||
"prefabPath": "GachaShowPanel_A019",
|
||||
"titlePath": "UI_GACHA_SHOW_PANEL_A019_TITLE",
|
||||
"costItemId": 223,
|
||||
"beginTime": 0,
|
||||
"endTime": 1924992000,
|
||||
"sortId": 1000,
|
||||
"rateUpItems4": [ 1023, 1031, 1014 ],
|
||||
"rateUpItems5": [ 1022 ],
|
||||
"fallbackItems5Pool2": [],
|
||||
"weights5": [
|
||||
[ 1, 80 ],
|
||||
[ 73, 80 ],
|
||||
[ 90, 10000 ]
|
||||
]
|
||||
},
|
||||
//1.0下角色-闪焰的驻足:可莉、行秋、诺艾尔、砂糖
|
||||
{
|
||||
"comment": "1.0",
|
||||
"gachaType": 401,
|
||||
"scheduleId": 801,
|
||||
"bannerType": "EVENT",
|
||||
"prefabPath": "GachaShowPanel_A018",
|
||||
"titlePath": "UI_GACHA_SHOW_PANEL_A018_TITLE",
|
||||
"costItemId": 223,
|
||||
"beginTime": 0,
|
||||
"endTime": 1924992000,
|
||||
"sortId": 999,
|
||||
"rateUpItems4": [ 1025, 1034, 1043 ],
|
||||
"rateUpItems5": [ 1029 ],
|
||||
"fallbackItems5Pool2": [],
|
||||
"weights5": [
|
||||
[ 1, 80 ],
|
||||
[ 73, 80 ],
|
||||
[ 90, 10000 ]
|
||||
]
|
||||
},
|
||||
//1.1上角色-暂别冬都:达达利亚、迪奥娜、北斗、凝光
|
||||
{
|
||||
"comment": "1.0",
|
||||
"gachaType": 402,
|
||||
"scheduleId": 802,
|
||||
"bannerType": "EVENT",
|
||||
"prefabPath": "GachaShowPanel_A023",
|
||||
"titlePath": "UI_GACHA_SHOW_PANEL_A023_TITLE",
|
||||
"costItemId": 223,
|
||||
"beginTime": 0,
|
||||
"endTime": 1924992000,
|
||||
"sortId": 998,
|
||||
"rateUpItems4": [ 1027, 1024, 1039 ],
|
||||
"rateUpItems5": [ 1033 ],
|
||||
"fallbackItems5Pool2": [],
|
||||
"weights5": [
|
||||
[ 1, 80 ],
|
||||
[ 73, 80 ],
|
||||
[ 90, 10000 ]
|
||||
]
|
||||
},
|
||||
//1.1下角色-陵薮市朝:钟离、辛焱、雷泽、重云
|
||||
{
|
||||
"comment": "1.0",
|
||||
"gachaType": 403,
|
||||
"scheduleId": 803,
|
||||
"bannerType": "EVENT",
|
||||
"prefabPath": "GachaShowPanel_A024",
|
||||
"titlePath": "UI_GACHA_SHOW_PANEL_A024_TITLE",
|
||||
"costItemId": 223,
|
||||
"beginTime": 0,
|
||||
"endTime": 1924992000,
|
||||
"sortId": 997,
|
||||
"rateUpItems4": [ 1044, 1020, 1036 ],
|
||||
"rateUpItems5": [ 1030 ],
|
||||
"fallbackItems5Pool2": [],
|
||||
"weights5": [
|
||||
[ 1, 80 ],
|
||||
[ 73, 80 ],
|
||||
[ 90, 10000 ]
|
||||
]
|
||||
},
|
||||
//1.2上角色-深秘之息:阿贝多、菲谢尔、砂糖、班尼特
|
||||
{
|
||||
"comment": "1.0",
|
||||
"gachaType": 404,
|
||||
"scheduleId": 804,
|
||||
"bannerType": "EVENT",
|
||||
"prefabPath": "GachaShowPanel_A027",
|
||||
"titlePath": "UI_GACHA_SHOW_PANEL_A027_TITLE",
|
||||
"costItemId": 223,
|
||||
"beginTime": 0,
|
||||
"endTime": 1924992000,
|
||||
"sortId": 996,
|
||||
"rateUpItems4": [ 1031, 1043, 1032 ],
|
||||
"rateUpItems5": [ 1038 ],
|
||||
"fallbackItems5Pool2": [],
|
||||
"weights5": [
|
||||
[ 1, 80 ],
|
||||
[ 73, 80 ],
|
||||
[ 90, 10000 ]
|
||||
]
|
||||
},
|
||||
//1.2下角色-浮生孰来:甘雨,香菱,行秋,诺艾尔
|
||||
{
|
||||
"comment": "1.0",
|
||||
"gachaType": 405,
|
||||
"scheduleId": 805,
|
||||
"bannerType": "EVENT",
|
||||
"prefabPath": "GachaShowPanel_A028",
|
||||
"titlePath": "UI_GACHA_SHOW_PANEL_A028_TITLE",
|
||||
"costItemId": 223,
|
||||
"beginTime": 0,
|
||||
"endTime": 1924992000,
|
||||
"sortId": 995,
|
||||
"rateUpItems4": [ 1023, 1025, 1034 ],
|
||||
"rateUpItems5": [ 1037 ],
|
||||
"fallbackItems5Pool2": [],
|
||||
"weights5": [
|
||||
[ 1, 80 ],
|
||||
[ 73, 80 ],
|
||||
[ 90, 10000 ]
|
||||
]
|
||||
},
|
||||
//1.3上角色-烟火之邀:魈、迪奥娜、北斗、辛焱
|
||||
{
|
||||
"comment": "1.0",
|
||||
"gachaType": 406,
|
||||
"scheduleId": 806,
|
||||
"bannerType": "EVENT",
|
||||
"prefabPath": "GachaShowPanel_A031",
|
||||
"titlePath": "UI_GACHA_SHOW_PANEL_A031_TITLE",
|
||||
"costItemId": 223,
|
||||
"beginTime": 0,
|
||||
"endTime": 1924992000,
|
||||
"sortId": 994,
|
||||
"rateUpItems4": [ 1039, 1024, 1044 ],
|
||||
"rateUpItems5": [ 1026 ],
|
||||
"fallbackItems5Pool2": [],
|
||||
"weights5": [
|
||||
[ 1, 80 ],
|
||||
[ 73, 80 ],
|
||||
[ 90, 10000 ]
|
||||
]
|
||||
},
|
||||
//1.3中角色-鱼龙灯昼:刻晴、凝光、班尼特、芭芭拉
|
||||
{
|
||||
"comment": "1.0",
|
||||
"gachaType": 407,
|
||||
"scheduleId": 807,
|
||||
"bannerType": "EVENT",
|
||||
"prefabPath": "GachaShowPanel_A032",
|
||||
"titlePath": "UI_GACHA_SHOW_PANEL_A032_TITLE",
|
||||
"costItemId": 223,
|
||||
"beginTime": 0,
|
||||
"endTime": 1924992000,
|
||||
"sortId": 993,
|
||||
"rateUpItems4": [ 1027, 1032, 1014 ],
|
||||
"rateUpItems5": [ 1042 ],
|
||||
"fallbackItems5Pool2": [],
|
||||
"weights5": [
|
||||
[ 1, 80 ],
|
||||
[ 73, 80 ],
|
||||
[ 90, 10000 ]
|
||||
]
|
||||
},
|
||||
//1.3下角色-赤团开时:胡桃、行秋、重云、香菱
|
||||
{
|
||||
"comment": "1.0",
|
||||
"gachaType": 408,
|
||||
"scheduleId": 808,
|
||||
"bannerType": "EVENT",
|
||||
"prefabPath": "GachaShowPanel_A033",
|
||||
"titlePath": "UI_GACHA_SHOW_PANEL_A033_TITLE",
|
||||
"costItemId": 223,
|
||||
"beginTime": 0,
|
||||
"endTime": 1924992000,
|
||||
"sortId": 992,
|
||||
"rateUpItems4": [ 1025, 1036, 1023 ],
|
||||
"rateUpItems5": [ 1046 ],
|
||||
"fallbackItems5Pool2": [],
|
||||
"weights5": [
|
||||
[ 1, 80 ],
|
||||
[ 73, 80 ],
|
||||
[ 90, 10000 ]
|
||||
]
|
||||
},
|
||||
//1.4上角色-杯装之诗:温迪、砂糖、雷泽、诺艾尔
|
||||
{
|
||||
"comment": "1.0",
|
||||
"gachaType": 409,
|
||||
"scheduleId": 809,
|
||||
"bannerType": "EVENT",
|
||||
"prefabPath": "GachaShowPanel_A036",
|
||||
"titlePath": "UI_GACHA_SHOW_PANEL_A036_TITLE",
|
||||
"costItemId": 223,
|
||||
"beginTime": 0,
|
||||
"endTime": 1924992000,
|
||||
"sortId": 991,
|
||||
"rateUpItems4": [ 1043, 1020, 1034 ],
|
||||
"rateUpItems5": [ 1022 ],
|
||||
"fallbackItems5Pool2": [],
|
||||
"weights5": [
|
||||
[ 1, 80 ],
|
||||
[ 73, 80 ],
|
||||
[ 90, 10000 ]
|
||||
]
|
||||
},
|
||||
//1.4下角色-暂别冬都:达达利亚、罗莎莉亚、芭芭拉,菲谢尔
|
||||
{
|
||||
"comment": "1.0",
|
||||
"gachaType": 410,
|
||||
"scheduleId": 810,
|
||||
"bannerType": "EVENT",
|
||||
"prefabPath": "GachaShowPanel_A037",
|
||||
"titlePath": "UI_GACHA_SHOW_PANEL_A037_TITLE",
|
||||
"costItemId": 223,
|
||||
"beginTime": 0,
|
||||
"endTime": 1924992000,
|
||||
"sortId": 990,
|
||||
"rateUpItems4": [ 1045, 1014, 1031 ],
|
||||
"rateUpItems5": [ 1033 ],
|
||||
"fallbackItems5Pool2": [],
|
||||
"weights5": [
|
||||
[ 1, 80 ],
|
||||
[ 73, 80 ],
|
||||
[ 90, 10000 ]
|
||||
]
|
||||
},
|
||||
//1.5上角色-陵薮市朝:钟离、烟绯、诺艾尔、迪奥娜
|
||||
{
|
||||
"comment": "1.0",
|
||||
"gachaType": 411,
|
||||
"scheduleId": 811,
|
||||
"bannerType": "EVENT",
|
||||
"prefabPath": "GachaShowPanel_A040",
|
||||
"titlePath": "UI_GACHA_SHOW_PANEL_A040_TITLE",
|
||||
"costItemId": 223,
|
||||
"beginTime": 0,
|
||||
"endTime": 1924992000,
|
||||
"sortId": 989,
|
||||
"rateUpItems4": [ 1048, 1034, 1039 ],
|
||||
"rateUpItems5": [ 1030 ],
|
||||
"fallbackItems5Pool2": [],
|
||||
"weights5": [
|
||||
[ 1, 80 ],
|
||||
[ 73, 80 ],
|
||||
[ 90, 10000 ]
|
||||
]
|
||||
},
|
||||
//1.5下角色-浪涌之瞬:优菈、辛焱、行秋、北斗
|
||||
{
|
||||
"comment": "1.0",
|
||||
"gachaType": 412,
|
||||
"scheduleId": 812,
|
||||
"bannerType": "EVENT",
|
||||
"prefabPath": "GachaShowPanel_A041",
|
||||
"titlePath": "UI_GACHA_SHOW_PANEL_A041_TITLE",
|
||||
"costItemId": 223,
|
||||
"beginTime": 0,
|
||||
"endTime": 1924992000,
|
||||
"sortId": 988,
|
||||
"rateUpItems4": [ 1044, 1025, 1024 ],
|
||||
"rateUpItems5": [ 1051 ],
|
||||
"fallbackItems5Pool2": [],
|
||||
"weights5": [
|
||||
[ 1, 80 ],
|
||||
[ 73, 80 ],
|
||||
[ 90, 10000 ]
|
||||
]
|
||||
},
|
||||
//1.6上角色-闪焰的驻足:可莉、芭芭拉、砂糖、菲谢尔
|
||||
{
|
||||
"comment": "1.0",
|
||||
"gachaType": 413,
|
||||
"scheduleId": 813,
|
||||
"bannerType": "EVENT",
|
||||
"prefabPath": "GachaShowPanel_A044",
|
||||
"titlePath": "UI_GACHA_SHOW_PANEL_A044_TITLE",
|
||||
"costItemId": 223,
|
||||
"beginTime": 0,
|
||||
"endTime": 1924992000,
|
||||
"sortId": 987,
|
||||
"rateUpItems4": [ 1014, 1043, 1031 ],
|
||||
"rateUpItems5": [ 1029 ],
|
||||
"fallbackItems5Pool2": [],
|
||||
"weights5": [
|
||||
[ 1, 80 ],
|
||||
[ 73, 80 ],
|
||||
[ 90, 10000 ]
|
||||
]
|
||||
},
|
||||
//1.6下角色-叶落风随:枫原万叶、罗莎莉亚、班尼特、雷泽
|
||||
{
|
||||
"comment": "1.0",
|
||||
"gachaType": 414,
|
||||
"scheduleId": 814,
|
||||
"bannerType": "EVENT",
|
||||
"prefabPath": "GachaShowPanel_A045",
|
||||
"titlePath": "UI_GACHA_SHOW_PANEL_A045_TITLE",
|
||||
"costItemId": 223,
|
||||
"beginTime": 0,
|
||||
"endTime": 1924992000,
|
||||
"sortId": 986,
|
||||
"rateUpItems4": [ 1045, 1032, 1020 ],
|
||||
"rateUpItems5": [ 1047 ],
|
||||
"fallbackItems5Pool2": [],
|
||||
"weights5": [
|
||||
[ 1, 80 ],
|
||||
[ 73, 80 ],
|
||||
[ 90, 10000 ]
|
||||
]
|
||||
},
|
||||
//2.0上角色-白鹭之庭:神里绫华、 凝光、 重云、 烟绯
|
||||
{
|
||||
"comment": "2.0",
|
||||
"gachaType": 415,
|
||||
"scheduleId": 815,
|
||||
"bannerType": "EVENT",
|
||||
"prefabPath": "GachaShowPanel_A048",
|
||||
"titlePath": "UI_GACHA_SHOW_PANEL_A048_TITLE",
|
||||
"costItemId": 223,
|
||||
"beginTime": 0,
|
||||
"endTime": 1924992000,
|
||||
"sortId": 985,
|
||||
"rateUpItems4": [ 1027, 1036, 1048 ],
|
||||
"rateUpItems5": [ 1002 ],
|
||||
"fallbackItems5Pool2": [],
|
||||
"weights5": [
|
||||
[ 1, 80 ],
|
||||
[ 73, 80 ],
|
||||
[ 90, 10000 ]
|
||||
]
|
||||
},
|
||||
//2.0下角色-焰色天河:宵宫、早柚、迪奥娜、辛焱
|
||||
{
|
||||
"comment": "2.0",
|
||||
"gachaType": 416,
|
||||
"scheduleId": 816,
|
||||
"bannerType": "EVENT",
|
||||
"prefabPath": "GachaShowPanel_A049",
|
||||
"titlePath": "UI_GACHA_SHOW_PANEL_A049_TITLE",
|
||||
"costItemId": 223,
|
||||
"beginTime": 0,
|
||||
"endTime": 1924992000,
|
||||
"sortId": 984,
|
||||
"rateUpItems4": [ 1053, 1039, 1044 ],
|
||||
"rateUpItems5": [ 1049 ],
|
||||
"fallbackItems5Pool2": [],
|
||||
"weights5": [
|
||||
[ 1, 80 ],
|
||||
[ 73, 80 ],
|
||||
[ 90, 10000 ]
|
||||
]
|
||||
},
|
||||
//2.1上角色-影寂天下人:雷电将军、九条裟罗、香菱、砂糖
|
||||
{
|
||||
"comment": "2.0",
|
||||
"gachaType": 417,
|
||||
"scheduleId": 817,
|
||||
"bannerType": "EVENT",
|
||||
"prefabPath": "GachaShowPanel_A052",
|
||||
"titlePath": "UI_GACHA_SHOW_PANEL_A052_TITLE",
|
||||
"costItemId": 223,
|
||||
"beginTime": 0,
|
||||
"endTime": 1924992000,
|
||||
"sortId": 983,
|
||||
"rateUpItems4": [ 1056, 1023, 1043 ],
|
||||
"rateUpItems5": [ 1052 ],
|
||||
"fallbackItems5Pool2": [],
|
||||
"weights5": [
|
||||
[ 1, 80 ],
|
||||
[ 73, 80 ],
|
||||
[ 90, 10000 ]
|
||||
]
|
||||
},
|
||||
//2.1下角色-浮岳虹珠:珊瑚宫心海、罗莎莉亚、北斗、行秋
|
||||
{
|
||||
"comment": "2.0",
|
||||
"gachaType": 418,
|
||||
"scheduleId": 818,
|
||||
"bannerType": "EVENT",
|
||||
"prefabPath": "GachaShowPanel_A053",
|
||||
"titlePath": "UI_GACHA_SHOW_PANEL_A053_TITLE",
|
||||
"costItemId": 223,
|
||||
"beginTime": 0,
|
||||
"endTime": 1924992000,
|
||||
"sortId": 982,
|
||||
"rateUpItems4": [ 1045, 1024, 1025 ],
|
||||
"rateUpItems5": [ 1054 ],
|
||||
"fallbackItems5Pool2": [],
|
||||
"weights5": [
|
||||
[ 1, 80 ],
|
||||
[ 73, 80 ],
|
||||
[ 90, 10000 ]
|
||||
]
|
||||
},
|
||||
//2.2上角色-暂别冬都:达达利亚、凝光、重云、烟绯
|
||||
{
|
||||
"comment": "2.0",
|
||||
"gachaType": 419,
|
||||
"scheduleId": 819,
|
||||
"bannerType": "EVENT",
|
||||
"prefabPath": "GachaShowPanel_A056",
|
||||
"titlePath": "UI_GACHA_SHOW_PANEL_A056_TITLE",
|
||||
"costItemId": 223,
|
||||
"beginTime": 0,
|
||||
"endTime": 1924992000,
|
||||
"sortId": 981,
|
||||
"rateUpItems4": [ 1027, 1036, 1048 ],
|
||||
"rateUpItems5": [ 1033 ],
|
||||
"fallbackItems5Pool2": [],
|
||||
"weights5": [
|
||||
[ 1, 80 ],
|
||||
[ 73, 80 ],
|
||||
[ 90, 10000 ]
|
||||
]
|
||||
},
|
||||
//2.2下角色-赤团开时:胡桃、托马、迪奥娜、早柚
|
||||
{
|
||||
"comment": "2.0",
|
||||
"gachaType": 420,
|
||||
"scheduleId": 820,
|
||||
"bannerType": "EVENT",
|
||||
"prefabPath": "GachaShowPanel_A057",
|
||||
"titlePath": "UI_GACHA_SHOW_PANEL_A057_TITLE",
|
||||
"costItemId": 223,
|
||||
"beginTime": 0,
|
||||
"endTime": 1924992000,
|
||||
"sortId": 980,
|
||||
"rateUpItems4": [ 1050, 1039, 1053 ],
|
||||
"rateUpItems5": [ 1046 ],
|
||||
"fallbackItems5Pool2": [],
|
||||
"weights5": [
|
||||
[ 1, 80 ],
|
||||
[ 73, 80 ],
|
||||
[ 90, 10000 ]
|
||||
]
|
||||
},
|
||||
//2.3上角色1-浪涌之瞬:优菈、班尼特、诺艾尔、罗莎莉亚
|
||||
{
|
||||
"comment": "2.0",
|
||||
"gachaType": 421,
|
||||
"scheduleId": 821,
|
||||
"bannerType": "EVENT",
|
||||
"prefabPath": "GachaShowPanel_A062",
|
||||
"titlePath": "UI_GACHA_SHOW_PANEL_A062_TITLE",
|
||||
"costItemId": 223,
|
||||
"beginTime": 0,
|
||||
"endTime": 1924992000,
|
||||
"sortId": 979,
|
||||
"rateUpItems4": [ 1032, 1034, 1045 ],
|
||||
"rateUpItems5": [ 1051 ],
|
||||
"fallbackItems5Pool2": [],
|
||||
"weights5": [
|
||||
[ 1, 80 ],
|
||||
[ 73, 80 ],
|
||||
[ 90, 10000 ]
|
||||
]
|
||||
},
|
||||
//2.3上角色2-深秘之息:阿贝多、班尼特、诺艾尔、罗莎莉亚
|
||||
{
|
||||
"comment": "2.0",
|
||||
"gachaType": 422,
|
||||
"scheduleId": 822,
|
||||
"bannerType": "EVENT",
|
||||
"prefabPath": "GachaShowPanel_A060",
|
||||
"titlePath": "UI_GACHA_SHOW_PANEL_A060_TITLE",
|
||||
"costItemId": 223,
|
||||
"beginTime": 0,
|
||||
"endTime": 1924992000,
|
||||
"sortId": 978,
|
||||
"rateUpItems4": [ 1032, 1034, 1045 ],
|
||||
"rateUpItems5": [ 1038 ],
|
||||
"fallbackItems5Pool2": [],
|
||||
"weights5": [
|
||||
[ 1, 80 ],
|
||||
[ 73, 80 ],
|
||||
[ 90, 10000 ]
|
||||
]
|
||||
},
|
||||
//2.3下角色-鬼门斗宴:荒泷一斗、五郎、芭芭拉、香菱
|
||||
{
|
||||
"comment": "2.0",
|
||||
"gachaType": 423,
|
||||
"scheduleId": 823,
|
||||
"bannerType": "EVENT",
|
||||
"prefabPath": "GachaShowPanel_A061",
|
||||
"titlePath": "UI_GACHA_SHOW_PANEL_A061_TITLE",
|
||||
"costItemId": 223,
|
||||
"beginTime": 0,
|
||||
"endTime": 1924992000,
|
||||
"sortId": 977,
|
||||
"rateUpItems4": [ 1055, 1014, 1023 ],
|
||||
"rateUpItems5": [ 1057 ],
|
||||
"fallbackItems5Pool2": [],
|
||||
"weights5": [
|
||||
[ 1, 80 ],
|
||||
[ 73, 80 ],
|
||||
[ 90, 10000 ]
|
||||
]
|
||||
},
|
||||
//2.4上角色1-烟火之邀:魈、云堇、凝光、重云
|
||||
//2.4上角色2-出尘入世:申鹤、云堇、凝光、重云
|
||||
{
|
||||
"comment": "2.0",
|
||||
"gachaType": 424,
|
||||
"scheduleId": 824,
|
||||
"bannerType": "EVENT",
|
||||
"prefabPath": "GachaShowPanel_A065",
|
||||
"titlePath": "UI_GACHA_SHOW_PANEL_A065_TITLE",
|
||||
"costItemId": 223,
|
||||
"beginTime": 0,
|
||||
"endTime": 1924992000,
|
||||
"sortId": 976,
|
||||
"rateUpItems4": [ 1027, 1036, 1064 ],
|
||||
"rateUpItems5": [ 1063 ],
|
||||
"fallbackItems5Pool2": [],
|
||||
"weights5": [
|
||||
[ 1, 80 ],
|
||||
[ 73, 80 ],
|
||||
[ 90, 10000 ]
|
||||
]
|
||||
},
|
||||
//2.4下角色1-浮生孰来:甘雨、行秋、北斗、烟绯(复刻不放卡池)
|
||||
//2.4下角色2-陵薮市朝:钟离、行秋、北斗、烟绯(复刻不放卡池)
|
||||
//2.5上角色-华紫樱绯:八重神子、菲谢尔、迪奥娜、托马
|
||||
{
|
||||
"comment": "2.0",
|
||||
"gachaType": 425,
|
||||
"scheduleId": 825,
|
||||
"bannerType": "EVENT",
|
||||
"prefabPath": "GachaShowPanel_A071",
|
||||
"titlePath": "UI_GACHA_SHOW_PANEL_A071_TITLE",
|
||||
"costItemId": 223,
|
||||
"beginTime": 0,
|
||||
"endTime": 1924992000,
|
||||
"sortId": 975,
|
||||
"rateUpItems4": [ 1031, 1039, 1050 ],
|
||||
"rateUpItems5": [ 1058 ],
|
||||
"fallbackItems5Pool2": [],
|
||||
"weights5": [
|
||||
[ 1, 80 ],
|
||||
[ 73, 80 ],
|
||||
[ 90, 10000 ]
|
||||
]
|
||||
},
|
||||
//2.5下角色1-影寂天下人:雷电将军、九条裟罗、辛焱、班尼特(复刻不放卡池)
|
||||
//2.5下角色2-浮岳虹珠:珊瑚宫心海、九条裟罗、辛焱、班尼特(复刻不放卡池)
|
||||
//2.6上角色1-苍流踏花:神里绫人、砂糖、香菱、云堇
|
||||
{
|
||||
"comment": "2.0",
|
||||
"gachaType": 426,
|
||||
"scheduleId": 826,
|
||||
"bannerType": "EVENT",
|
||||
"prefabPath": "GachaShowPanel_A076",
|
||||
"titlePath": "UI_GACHA_SHOW_PANEL_A076_TITLE",
|
||||
"costItemId": 223,
|
||||
"beginTime": 0,
|
||||
"endTime": 1924992000,
|
||||
"sortId": 974,
|
||||
"rateUpItems4": [ 1043, 1023, 1064 ],
|
||||
"rateUpItems5": [ 1066 ],
|
||||
"fallbackItems5Pool2": [],
|
||||
"weights5": [
|
||||
[ 1, 80 ],
|
||||
[ 73, 80 ],
|
||||
[ 90, 10000 ]
|
||||
]
|
||||
},
|
||||
//2.6上角色2-杯装之诗:神里绫人、砂糖、香菱、云堇(复刻不放卡池)
|
||||
//2.6下角色-白鹭之庭:神里绫华、雷泽、罗莎莉亚、早柚(复刻不放卡池)
|
||||
//2.7上角色1-素霓伣天:夜兰、诺艾尔、烟绯、芭芭拉
|
||||
{
|
||||
"comment": "2.0",
|
||||
"gachaType": 427,
|
||||
"scheduleId": 827,
|
||||
"bannerType": "EVENT",
|
||||
"prefabPath": "GachaShowPanel_A081",
|
||||
"titlePath": "UI_GACHA_SHOW_PANEL_A081_TITLE",
|
||||
"costItemId": 223,
|
||||
"beginTime": 0,
|
||||
"endTime": 1924992000,
|
||||
"sortId": 973,
|
||||
"rateUpItems4": [ 1034, 1048, 1014 ],
|
||||
"rateUpItems5": [ 1060 ],
|
||||
"fallbackItems5Pool2": [],
|
||||
"weights5": [
|
||||
[ 1, 80 ],
|
||||
[ 73, 80 ],
|
||||
[ 90, 10000 ]
|
||||
]
|
||||
},
|
||||
//2.7上角色2-烟火之邀:魈、诺艾尔、烟绯、芭芭拉(复刻不放卡池)
|
||||
//2.7下角色-鬼门斗宴:荒泷一斗、久岐忍、五郎、重云(复刻不放卡池)
|
||||
//2.8上角色1-闪焰的驻足:可莉、凝光、托马、鹿野原平藏(复刻不放卡池)
|
||||
//2.8上角色2-叶落风随:枫原万叶、凝光、托马、鹿野原平藏(复刻不放卡池)
|
||||
//2.8下角色-焰色天河:宵宫、班尼特、云堇、辛焱(复刻不放卡池)
|
||||
//3.0上角色1-巡御蘙荟:提纳里、柯莱、迪奥娜、菲谢尔
|
||||
{
|
||||
"comment": "3.0",
|
||||
"gachaType": 428,
|
||||
"scheduleId": 828,
|
||||
"bannerType": "EVENT",
|
||||
"prefabPath": "GachaShowPanel_A091",
|
||||
"titlePath": "UI_GACHA_SHOW_PANEL_A091_TITLE",
|
||||
"costItemId": 223,
|
||||
"beginTime": 0,
|
||||
"endTime": 1924992000,
|
||||
"sortId": 972,
|
||||
"rateUpItems4": [ 1031, 1039, 1067 ],
|
||||
"rateUpItems5": [ 1069 ],
|
||||
"fallbackItems5Pool2": [],
|
||||
"weights5": [
|
||||
[ 1, 80 ],
|
||||
[ 73, 80 ],
|
||||
[ 90, 10000 ]
|
||||
]
|
||||
},
|
||||
//3.0上角色2-陵薮市朝:钟离、柯莱、迪奥娜、菲谢尔(复刻不放卡池)
|
||||
//3.0下角色1-浮岳虹珠:珊瑚宫心海、多莉、砂糖、行秋(复刻不放卡池)
|
||||
//3.0下角色2-浮生孰来:甘雨、多莉、砂糖、行秋(复刻不放卡池)
|
||||
//3.1上角色1-杯装之诗:温迪、早柚、坎蒂丝、久岐忍(复刻不放卡池)
|
||||
//3.1上角色2-雳裁冥昭:温迪、早柚、坎蒂丝、久岐忍
|
||||
{
|
||||
"comment": "3.0",
|
||||
"gachaType": 429,
|
||||
"scheduleId": 829,
|
||||
"bannerType": "EVENT",
|
||||
"prefabPath": "GachaShowPanel_A097",
|
||||
"titlePath": "UI_GACHA_SHOW_PANEL_A097_TITLE",
|
||||
"costItemId": 223,
|
||||
"beginTime": 0,
|
||||
"endTime": 1924992000,
|
||||
"sortId": 971,
|
||||
"rateUpItems4": [ 1053, 1065, 1072 ],
|
||||
"rateUpItems5": [ 1071 ],
|
||||
"fallbackItems5Pool2": [],
|
||||
"weights5": [
|
||||
[ 1, 80 ],
|
||||
[ 73, 80 ],
|
||||
[ 90, 10000 ]
|
||||
]
|
||||
},
|
||||
//3.1下角色1-翩舞歈莲:妮露、芭芭拉、北斗、香菱
|
||||
/*{
|
||||
"comment": "3.0",
|
||||
"gachaType": 430,
|
||||
"scheduleId": 830,
|
||||
"bannerType": "EVENT",
|
||||
"prefabPath": "GachaShowPanel_A100",
|
||||
"titlePath": "UI_GACHA_SHOW_PANEL_A0100_TITLE",
|
||||
"costItemId": 223,
|
||||
"beginTime": 0,
|
||||
"endTime": 1924992000,
|
||||
"sortId": 970,
|
||||
"rateUpItems4": [1014,1023,1024],
|
||||
"rateUpItems5": [1070],
|
||||
"fallbackItems5Pool2": [],
|
||||
"weights5": [[1,80], [73,80], [90,10000]]
|
||||
},*/
|
||||
//3.2上角色1-月草的赐慧:纳西妲、诺艾尔、班尼特、雷泽
|
||||
{
|
||||
"comment": "Character Event Banner 1",
|
||||
"gachaType": 431,
|
||||
"scheduleId": 831,
|
||||
"bannerType": "EVENT",
|
||||
"prefabPath": "GachaShowPanel_A103",
|
||||
"titlePath": "UI_GACHA_SHOW_PANEL_A0103_TITLE",
|
||||
"costItemId": 223,
|
||||
"beginTime": 0,
|
||||
"endTime": 1924992000,
|
||||
"sortId": 969,
|
||||
"rateUpItems4": [ 1034, 1020, 1032 ],
|
||||
"rateUpItems5": [ 1073 ],
|
||||
"fallbackItems5Pool2": [],
|
||||
"weights5": [
|
||||
[ 1, 80 ],
|
||||
[ 73, 80 ],
|
||||
[ 90, 10000 ]
|
||||
]
|
||||
},
|
||||
//3.2上角色-焰色天河:宵宫、诺艾尔、班尼特、雷泽(复刻不放卡池)
|
||||
//3.2上武器-神铸赋形:飞雷之弦振、
|
||||
{
|
||||
"comment": "Weapon Event Banner",
|
||||
"gachaType": 502,
|
||||
"scheduleId": 602,
|
||||
"bannerType": "WEAPON",
|
||||
"prefabPath": "GachaShowPanel_A105",
|
||||
"titlePath": "UI_GACHA_SHOW_PANEL_A020_TITLE",
|
||||
"costItemId": 223,
|
||||
"beginTime": 0,
|
||||
"endTime": 1924992000,
|
||||
"sortId": 2,
|
||||
"rateUpItems4": [ 15405, 11402, 14402, 13407, 12403 ],
|
||||
"rateUpItems5": [ 114511, 15509 ],
|
||||
"fallbackItems5Pool1": [],
|
||||
"weights4": [
|
||||
[ 1, 600 ],
|
||||
[ 7, 600 ],
|
||||
[ 8, 6600 ],
|
||||
[ 10, 12600 ]
|
||||
],
|
||||
"weights5": [
|
||||
[ 1, 100 ],
|
||||
[ 62, 100 ],
|
||||
[ 73, 7800 ],
|
||||
[ 80, 10000 ]
|
||||
],
|
||||
"eventChance4": 75,
|
||||
"eventChance5": 75
|
||||
}
|
||||
//3.1下角色2-深秘之息:阿贝多、芭芭拉、北斗、香菱(复刻不放卡池)
|
||||
]
|
55
Source/GrasscutterTools/Resources/en-us/GachaBennerTitle.txt
Normal file
55
Source/GrasscutterTools/Resources/en-us/GachaBennerTitle.txt
Normal file
@ -0,0 +1,55 @@
|
||||
007:Beginners' wish
|
||||
008:Wanderlust Invocation
|
||||
009:Ballad in Goblets
|
||||
010:Dawn Pilgrimage
|
||||
011:Grace of Southwind
|
||||
012:Bane of All Evil
|
||||
013:Epitome Invocation
|
||||
015:Sparkling Steps
|
||||
016:Beginners' wish
|
||||
017:Wanderlust Invocation
|
||||
018:Sparkling Steps
|
||||
019:Ballad in Goblets
|
||||
020:Amos' Bow and Aquila Favonia
|
||||
021:Lost Prayer to the Sacred Winds and Wolf's Gravestone
|
||||
022:Wanderlust Invocation
|
||||
023:Farewell of Snezhnaya
|
||||
024:Gentry of Hermitage
|
||||
025:Skyward Harp and Memory of Dust
|
||||
026:Vortex Vanquisher and The Unforged
|
||||
027:Secretum Secretorum
|
||||
028:Adrift in the Harbor
|
||||
029:Summit Shaper and Skyward Atlas
|
||||
030:Amos' Bow and Skyward Pride
|
||||
031:Invitation to Mundane Life
|
||||
032:Dance of Lanterns
|
||||
033:Moment of Bloom
|
||||
034:Primordial Jade Winged-Spear and Primordial Jade Cutter
|
||||
035:Staff of Homa and Wolf's Gravestone
|
||||
036:Ballad in Goblets
|
||||
037:Farewell of Snezhnaya
|
||||
038:Elegy for the End and Skyward Blade
|
||||
039:Skyward Harp and Lost Prayer to the Sacred Winds
|
||||
040:Gentry of Hermitage
|
||||
041:Born of Ocean Swell
|
||||
042:Summit Shaper and Memory of Dust
|
||||
043:Aquila Favonia and Song of Broken Pines
|
||||
045:Leaves in the Wind
|
||||
048:The Heron's Court
|
||||
049:Tapestry of Golden Flames
|
||||
052:Reign of Serenity
|
||||
053:Drifting Luminescence
|
||||
061:Oni's Royale
|
||||
065:The Transcendent One Returns
|
||||
071:Everbloom Violet
|
||||
076:Azure Excursion
|
||||
081:Discerner of Enigmas
|
||||
091:Tighnari
|
||||
092:Zhongli
|
||||
093:Hunter's Path
|
||||
097:Cyno
|
||||
098:Venti
|
||||
099:Staff of the Scarlet Sands
|
||||
100:Twirling Lotus
|
||||
101:Secretorum Secretorum
|
||||
102:Epitome Invocation
|
45
Source/GrasscutterTools/Resources/ru-ru/GachaBennerTitle.txt
Normal file
45
Source/GrasscutterTools/Resources/ru-ru/GachaBennerTitle.txt
Normal file
@ -0,0 +1,45 @@
|
||||
007:Молитва новичка
|
||||
008:Жажда странствий
|
||||
009:Стихи из винного кубка
|
||||
010:Рассветное паломничество
|
||||
011:Благоволение южного ветра
|
||||
012:Истребление всего зла
|
||||
013:Воплощение божества
|
||||
015:Сверкающая поступь
|
||||
016:Молитва новичка
|
||||
017:Жажда странствий
|
||||
018:Сверкающая поступь
|
||||
019:Стихи из винного кубка
|
||||
020:Воплощение божества
|
||||
021:Воплощение божества
|
||||
022:Жажда странствий
|
||||
023:Зимнее расставание
|
||||
024:Горы и рынки
|
||||
027:Таинственные секреты
|
||||
028:Эфемерное недоверие
|
||||
031:Приглашение к мирской жизни
|
||||
032:Танец фонарей
|
||||
033:Момент цветения
|
||||
036:Стихи из винного кубка
|
||||
037:Зимнее расставание
|
||||
040:Горы и рынки
|
||||
041:Рождённая морской пеной
|
||||
045:Листья на ветру
|
||||
048:Сад белой цапли
|
||||
049:Гобелен золотого пламени
|
||||
052:Господство безмятежности
|
||||
053:Дрейфующее свечение
|
||||
061:Пиршество óни
|
||||
065:Возвращение в мир смертных
|
||||
071:Вечноцветущий пурпур
|
||||
076:Лазурный поход
|
||||
081:Белая радуга
|
||||
091:Патруль лесной чащи
|
||||
092:Горы и рынки
|
||||
093:Охотничья тропа
|
||||
097:Сайно
|
||||
098:Венти
|
||||
099:Staff of the Scarlet Sands
|
||||
100:Twirling Lotus
|
||||
101:Secretorum Secretorum
|
||||
102:Epitome Invocation
|
45
Source/GrasscutterTools/Resources/zh-cn/GachaBannerTitle.txt
Normal file
45
Source/GrasscutterTools/Resources/zh-cn/GachaBannerTitle.txt
Normal file
@ -0,0 +1,45 @@
|
||||
007:初行者推荐祈愿
|
||||
008:奔行世间
|
||||
009:杯装之诗
|
||||
010:黎明巡礼
|
||||
011:南风之眷
|
||||
012:靖妖傩舞
|
||||
013:神铸赋形
|
||||
015:闪焰的驻足
|
||||
016:初行者推荐祈愿
|
||||
017:奔行世间
|
||||
018:闪焰的驻足
|
||||
019:杯装之诗
|
||||
020:神铸赋形
|
||||
021:神铸赋形
|
||||
022:奔行世间
|
||||
023:暂别冬都
|
||||
024:陵薮市朝
|
||||
027:深秘之息
|
||||
028:浮生孰来
|
||||
031:烟火之邀
|
||||
032:鱼龙灯昼
|
||||
033:赤团开时
|
||||
036:杯装之诗
|
||||
037:暂别冬都
|
||||
040:陵薮市朝
|
||||
041:浪涌之瞬
|
||||
045:叶落风随
|
||||
048:白鹭之庭
|
||||
049:焰色天河
|
||||
052:影寂天下人
|
||||
053:浮岳虹珠
|
||||
061:鬼门斗宴
|
||||
065:出尘入世
|
||||
071:华紫樱绯
|
||||
076:苍流踏花
|
||||
081:素霓伣天
|
||||
091:巡御蘙荟-提纳里
|
||||
092:陵薮市朝-钟离
|
||||
093:神铸赋形-猎人贯虹
|
||||
097:雳裁冥昭-赛诺
|
||||
098:杯装之诗-温迪
|
||||
099:神铸赋形-赤沙终末
|
||||
100:翩舞歈莲-妮露
|
||||
101:深秘之息-阿贝多
|
||||
101:神铸赋形-圣显绿箭
|
45
Source/GrasscutterTools/Resources/zh-tw/GachaBennerTitle.txt
Normal file
45
Source/GrasscutterTools/Resources/zh-tw/GachaBennerTitle.txt
Normal file
@ -0,0 +1,45 @@
|
||||
007:初行者推薦祈願
|
||||
008:奔行世間
|
||||
009:杯裝之詩
|
||||
010:黎明巡禮
|
||||
011:南風之眷
|
||||
012:靖妖儺舞
|
||||
013:神鑄賦形
|
||||
015:閃焰的駐足
|
||||
016:初行者推薦祈願
|
||||
017:奔行世間
|
||||
018:閃焰的駐足
|
||||
019:杯裝之詩
|
||||
020:神鑄賦形
|
||||
021:神鑄賦形
|
||||
022:奔行世間
|
||||
023:暫別冬都
|
||||
024:陵藪市朝
|
||||
027:深秘之息
|
||||
028:浮生孰來
|
||||
031:煙火之邀
|
||||
032:魚龍燈晝
|
||||
033:赤團開時
|
||||
036:杯裝之詩
|
||||
037:暫別冬都
|
||||
040:陵藪市朝
|
||||
041:浪湧之瞬
|
||||
045:葉落風隨
|
||||
048:白鷺之庭
|
||||
049:焰色天河
|
||||
052:影寂天下人
|
||||
053:浮岳虹珠
|
||||
061:鬼門斗宴
|
||||
065:出塵入世
|
||||
071:華紫櫻緋
|
||||
076:蒼流踏花
|
||||
081:素霓俔天
|
||||
091:巡禦蘙薈-提納里
|
||||
092:陵藪市朝-鍾離
|
||||
093:神鑄賦形-獵人貫虹
|
||||
097:靂裁冥昭-賽諾
|
||||
098:杯裝之詩-溫迪
|
||||
099:神鑄賦形-赤沙終末
|
||||
100:翩舞歈蓮-妮露
|
||||
101:深秘之息-阿貝多
|
||||
101:神鑄賦形-聖顯綠箭
|
Loading…
Reference in New Issue
Block a user