Implemented Move Data Editor

This commit is contained in:
AdAstra-LD
2024-05-21 16:28:12 +02:00
parent 595eb8b38b
commit 0046ac8a74
12 changed files with 3196 additions and 183 deletions

View File

@@ -134,6 +134,12 @@
<Compile Include="Editors\LevelScriptEditor.Designer.cs">
<DependentUpon>LevelScriptEditor.cs</DependentUpon>
</Compile>
<Compile Include="Editors\MoveDataEditor.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Editors\MoveDataEditor.designer.cs">
<DependentUpon>MoveDataEditor.cs</DependentUpon>
</Compile>
<Compile Include="Editors\SafariZoneEditor.cs">
<SubType>UserControl</SubType>
</Compile>
@@ -185,12 +191,6 @@
<DependentUpon>LearnsetEditor.cs</DependentUpon>
</Compile>
<Compile Include="MessageEnc\EncryptText.cs" />
<Compile Include="MoveEditor.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="MoveEditor.Designer.cs">
<DependentUpon>MoveEditor.cs</DependentUpon>
</Compile>
<Compile Include="OverlayEditor.cs">
<SubType>Form</SubType>
</Compile>
@@ -249,7 +249,7 @@
<Compile Include="ROMFiles\LevelScriptFile.cs" />
<Compile Include="ROMFiles\LevelScriptTrigger.cs" />
<Compile Include="ROMFiles\MapScreenLoadTrigger.cs" />
<Compile Include="ROMFiles\MoveFile.cs" />
<Compile Include="ROMFiles\MoveData.cs" />
<Compile Include="ROMFiles\PokemonPersonalData.cs" />
<Compile Include="ROMFiles\RomFile.cs" />
<Compile Include="ROMFiles\SafariZoneEncounter.cs" />
@@ -388,6 +388,9 @@
<EmbeddedResource Include="Editors\LevelScriptEditor.resx">
<DependentUpon>LevelScriptEditor.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Editors\MoveDataEditor.resx">
<DependentUpon>MoveDataEditor.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Editors\SafariZoneEditor.resx">
<DependentUpon>SafariZoneEditor.cs</DependentUpon>
</EmbeddedResource>

876
DS_Map/Editors/MoveDataEditor.Designer.cs generated Normal file
View File

@@ -0,0 +1,876 @@
namespace DSPRE {
partial class MoveDataEditor {
/// <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(MoveDataEditor));
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.saveDataButton = new System.Windows.Forms.Button();
this.moveNumberNumericUpDown = new System.Windows.Forms.NumericUpDown();
this.groupBox3 = new System.Windows.Forms.GroupBox();
this.tableLayoutPanel3 = new System.Windows.Forms.TableLayoutPanel();
this.prioPictureBox = new System.Windows.Forms.PictureBox();
this.contestAppealNumericUpDown = new System.Windows.Forms.NumericUpDown();
this.label6 = new System.Windows.Forms.Label();
this.contestConditionPictureBox = new System.Windows.Forms.PictureBox();
this.contestConditionComboBox = new System.Windows.Forms.ComboBox();
this.label3 = new System.Windows.Forms.Label();
this.moveSplitPictureBox = new System.Windows.Forms.PictureBox();
this.groupBox4 = new System.Windows.Forms.GroupBox();
this.flagsTableLayoutPanel = new System.Windows.Forms.TableLayoutPanel();
this.checkBox1 = new System.Windows.Forms.CheckBox();
this.checkBox11 = new System.Windows.Forms.CheckBox();
this.checkBox12 = new System.Windows.Forms.CheckBox();
this.checkBox13 = new System.Windows.Forms.CheckBox();
this.checkBox14 = new System.Windows.Forms.CheckBox();
this.checkBox15 = new System.Windows.Forms.CheckBox();
this.checkBox16 = new System.Windows.Forms.CheckBox();
this.checkBox17 = new System.Windows.Forms.CheckBox();
this.moveTypeComboBox = new System.Windows.Forms.ComboBox();
this.battleSeqComboBox = new System.Windows.Forms.ComboBox();
this.label1 = new System.Windows.Forms.Label();
this.typeLabel = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.moveSplitComboBox = new System.Windows.Forms.ComboBox();
this.moveTypePictureBox = new System.Windows.Forms.PictureBox();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.rangesTableLayoutPanel = new System.Windows.Forms.TableLayoutPanel();
this.checkBox20 = new System.Windows.Forms.CheckBox();
this.checkBox19 = new System.Windows.Forms.CheckBox();
this.checkBox2 = new System.Windows.Forms.CheckBox();
this.checkBox3 = new System.Windows.Forms.CheckBox();
this.checkBox4 = new System.Windows.Forms.CheckBox();
this.checkBox5 = new System.Windows.Forms.CheckBox();
this.checkBox6 = new System.Windows.Forms.CheckBox();
this.checkBox7 = new System.Windows.Forms.CheckBox();
this.checkBox8 = new System.Windows.Forms.CheckBox();
this.checkBox9 = new System.Windows.Forms.CheckBox();
this.checkBox10 = new System.Windows.Forms.CheckBox();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.textBox1 = new System.Windows.Forms.TextBox();
this.label4 = new System.Windows.Forms.Label();
this.powerNumericUpDown = new System.Windows.Forms.NumericUpDown();
this.label5 = new System.Windows.Forms.Label();
this.accuracyNumericUpDown = new System.Windows.Forms.NumericUpDown();
this.label7 = new System.Windows.Forms.Label();
this.priorityNumericUpDown = new System.Windows.Forms.NumericUpDown();
this.ppLabel = new System.Windows.Forms.Label();
this.ppUpDown = new System.Windows.Forms.NumericUpDown();
this.label8 = new System.Windows.Forms.Label();
this.sideEffectProbabilityUpDown = new System.Windows.Forms.NumericUpDown();
this.moveNameInputComboBox = new DSPRE.InputComboBox();
this.tableLayoutPanel1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.moveNumberNumericUpDown)).BeginInit();
this.groupBox3.SuspendLayout();
this.tableLayoutPanel3.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.prioPictureBox)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.contestAppealNumericUpDown)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.contestConditionPictureBox)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.moveSplitPictureBox)).BeginInit();
this.groupBox4.SuspendLayout();
this.flagsTableLayoutPanel.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.moveTypePictureBox)).BeginInit();
this.groupBox1.SuspendLayout();
this.rangesTableLayoutPanel.SuspendLayout();
this.groupBox2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.powerNumericUpDown)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.accuracyNumericUpDown)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.priorityNumericUpDown)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.ppUpDown)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.sideEffectProbabilityUpDown)).BeginInit();
this.SuspendLayout();
//
// tableLayoutPanel1
//
this.tableLayoutPanel1.ColumnCount = 4;
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 10.41322F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 56.65722F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 22.3796F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 10.43285F));
this.tableLayoutPanel1.Controls.Add(this.saveDataButton, 3, 0);
this.tableLayoutPanel1.Controls.Add(this.moveNumberNumericUpDown, 2, 0);
this.tableLayoutPanel1.Controls.Add(this.moveNameInputComboBox, 1, 0);
this.tableLayoutPanel1.Controls.Add(this.groupBox3, 0, 1);
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel1.Location = new System.Drawing.Point(5, 5);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.RowCount = 2;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 9.036144F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 90.96385F));
this.tableLayoutPanel1.Size = new System.Drawing.Size(740, 557);
this.tableLayoutPanel1.TabIndex = 0;
//
// saveDataButton
//
this.saveDataButton.Dock = System.Windows.Forms.DockStyle.Fill;
this.saveDataButton.Image = ((System.Drawing.Image)(resources.GetObject("saveDataButton.Image")));
this.saveDataButton.Location = new System.Drawing.Point(664, 3);
this.saveDataButton.Name = "saveDataButton";
this.saveDataButton.Size = new System.Drawing.Size(73, 44);
this.saveDataButton.TabIndex = 30;
this.saveDataButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.saveDataButton.UseVisualStyleBackColor = true;
this.saveDataButton.Click += new System.EventHandler(this.saveDataButton_Click);
//
// moveNumberNumericUpDown
//
this.moveNumberNumericUpDown.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.moveNumberNumericUpDown.Location = new System.Drawing.Point(499, 15);
this.moveNumberNumericUpDown.Name = "moveNumberNumericUpDown";
this.moveNumberNumericUpDown.Size = new System.Drawing.Size(159, 20);
this.moveNumberNumericUpDown.TabIndex = 16;
this.moveNumberNumericUpDown.ValueChanged += new System.EventHandler(this.moveNumberNumericUpDown_ValueChanged);
//
// groupBox3
//
this.tableLayoutPanel1.SetColumnSpan(this.groupBox3, 4);
this.groupBox3.Controls.Add(this.tableLayoutPanel3);
this.groupBox3.Dock = System.Windows.Forms.DockStyle.Fill;
this.groupBox3.Location = new System.Drawing.Point(3, 53);
this.groupBox3.Name = "groupBox3";
this.groupBox3.Padding = new System.Windows.Forms.Padding(3, 0, 3, 0);
this.groupBox3.Size = new System.Drawing.Size(734, 501);
this.groupBox3.TabIndex = 33;
this.groupBox3.TabStop = false;
//
// tableLayoutPanel3
//
this.tableLayoutPanel3.ColumnCount = 7;
this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 21.7569F));
this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 57.32663F));
this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 20.91647F));
this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 80F));
this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 145F));
this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 114F));
this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 103F));
this.tableLayoutPanel3.Controls.Add(this.prioPictureBox, 2, 3);
this.tableLayoutPanel3.Controls.Add(this.contestAppealNumericUpDown, 4, 2);
this.tableLayoutPanel3.Controls.Add(this.label6, 3, 2);
this.tableLayoutPanel3.Controls.Add(this.contestConditionPictureBox, 2, 2);
this.tableLayoutPanel3.Controls.Add(this.contestConditionComboBox, 1, 2);
this.tableLayoutPanel3.Controls.Add(this.label3, 0, 2);
this.tableLayoutPanel3.Controls.Add(this.moveSplitPictureBox, 2, 1);
this.tableLayoutPanel3.Controls.Add(this.groupBox4, 4, 4);
this.tableLayoutPanel3.Controls.Add(this.moveTypeComboBox, 1, 0);
this.tableLayoutPanel3.Controls.Add(this.battleSeqComboBox, 4, 0);
this.tableLayoutPanel3.Controls.Add(this.label1, 3, 0);
this.tableLayoutPanel3.Controls.Add(this.typeLabel, 0, 0);
this.tableLayoutPanel3.Controls.Add(this.label2, 0, 1);
this.tableLayoutPanel3.Controls.Add(this.moveSplitComboBox, 1, 1);
this.tableLayoutPanel3.Controls.Add(this.moveTypePictureBox, 2, 0);
this.tableLayoutPanel3.Controls.Add(this.groupBox1, 3, 4);
this.tableLayoutPanel3.Controls.Add(this.groupBox2, 0, 4);
this.tableLayoutPanel3.Controls.Add(this.label4, 5, 0);
this.tableLayoutPanel3.Controls.Add(this.powerNumericUpDown, 6, 0);
this.tableLayoutPanel3.Controls.Add(this.label5, 5, 1);
this.tableLayoutPanel3.Controls.Add(this.accuracyNumericUpDown, 6, 1);
this.tableLayoutPanel3.Controls.Add(this.label7, 0, 3);
this.tableLayoutPanel3.Controls.Add(this.priorityNumericUpDown, 1, 3);
this.tableLayoutPanel3.Controls.Add(this.ppLabel, 3, 1);
this.tableLayoutPanel3.Controls.Add(this.ppUpDown, 4, 1);
this.tableLayoutPanel3.Controls.Add(this.label8, 3, 3);
this.tableLayoutPanel3.Controls.Add(this.sideEffectProbabilityUpDown, 4, 3);
this.tableLayoutPanel3.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel3.Location = new System.Drawing.Point(3, 13);
this.tableLayoutPanel3.Margin = new System.Windows.Forms.Padding(2);
this.tableLayoutPanel3.Name = "tableLayoutPanel3";
this.tableLayoutPanel3.Padding = new System.Windows.Forms.Padding(2);
this.tableLayoutPanel3.RowCount = 8;
this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 8.996453F));
this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 8.282195F));
this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 7.637531F));
this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 8.035714F));
this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 29.6875F));
this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 5.275226F));
this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 31.87116F));
this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
this.tableLayoutPanel3.Size = new System.Drawing.Size(728, 488);
this.tableLayoutPanel3.TabIndex = 32;
//
// prioPictureBox
//
this.prioPictureBox.Dock = System.Windows.Forms.DockStyle.Fill;
this.prioPictureBox.Location = new System.Drawing.Point(227, 119);
this.prioPictureBox.Name = "prioPictureBox";
this.prioPictureBox.Size = new System.Drawing.Size(52, 31);
this.prioPictureBox.TabIndex = 27;
this.prioPictureBox.TabStop = false;
//
// contestAppealNumericUpDown
//
this.contestAppealNumericUpDown.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.contestAppealNumericUpDown.Location = new System.Drawing.Point(365, 88);
this.contestAppealNumericUpDown.Maximum = new decimal(new int[] {
255,
0,
0,
0});
this.contestAppealNumericUpDown.Name = "contestAppealNumericUpDown";
this.contestAppealNumericUpDown.Size = new System.Drawing.Size(139, 20);
this.contestAppealNumericUpDown.TabIndex = 24;
this.contestAppealNumericUpDown.ValueChanged += new System.EventHandler(this.contestAppealNumericUpDown_ValueChanged);
//
// label6
//
this.label6.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(285, 85);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(74, 26);
this.label6.TabIndex = 23;
this.label6.Text = "Contest Appeal";
this.label6.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// contestConditionPictureBox
//
this.contestConditionPictureBox.Dock = System.Windows.Forms.DockStyle.Fill;
this.contestConditionPictureBox.Location = new System.Drawing.Point(227, 84);
this.contestConditionPictureBox.Name = "contestConditionPictureBox";
this.contestConditionPictureBox.Size = new System.Drawing.Size(52, 29);
this.contestConditionPictureBox.TabIndex = 22;
this.contestConditionPictureBox.TabStop = false;
//
// contestConditionComboBox
//
this.contestConditionComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.contestConditionComboBox.FormattingEnabled = true;
this.contestConditionComboBox.Location = new System.Drawing.Point(66, 88);
this.contestConditionComboBox.Name = "contestConditionComboBox";
this.contestConditionComboBox.Size = new System.Drawing.Size(155, 21);
this.contestConditionComboBox.TabIndex = 21;
this.contestConditionComboBox.SelectedIndexChanged += new System.EventHandler(this.contestConditionComboBox_SelectedIndexChanged);
//
// label3
//
this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(5, 85);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(55, 26);
this.label3.TabIndex = 20;
this.label3.Text = "Contest Condition";
this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// moveSplitPictureBox
//
this.moveSplitPictureBox.Dock = System.Windows.Forms.DockStyle.Fill;
this.moveSplitPictureBox.Location = new System.Drawing.Point(227, 46);
this.moveSplitPictureBox.Name = "moveSplitPictureBox";
this.moveSplitPictureBox.Size = new System.Drawing.Size(52, 32);
this.moveSplitPictureBox.TabIndex = 19;
this.moveSplitPictureBox.TabStop = false;
//
// groupBox4
//
this.tableLayoutPanel3.SetColumnSpan(this.groupBox4, 4);
this.groupBox4.Controls.Add(this.flagsTableLayoutPanel);
this.groupBox4.Dock = System.Windows.Forms.DockStyle.Fill;
this.groupBox4.Location = new System.Drawing.Point(285, 318);
this.groupBox4.Name = "groupBox4";
this.groupBox4.Size = new System.Drawing.Size(438, 142);
this.groupBox4.TabIndex = 18;
this.groupBox4.TabStop = false;
this.groupBox4.Text = "Flags";
//
// flagsTableLayoutPanel
//
this.flagsTableLayoutPanel.ColumnCount = 3;
this.flagsTableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333F));
this.flagsTableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33334F));
this.flagsTableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33334F));
this.flagsTableLayoutPanel.Controls.Add(this.checkBox1, 0, 0);
this.flagsTableLayoutPanel.Controls.Add(this.checkBox11, 1, 0);
this.flagsTableLayoutPanel.Controls.Add(this.checkBox12, 2, 0);
this.flagsTableLayoutPanel.Controls.Add(this.checkBox13, 0, 1);
this.flagsTableLayoutPanel.Controls.Add(this.checkBox14, 1, 1);
this.flagsTableLayoutPanel.Controls.Add(this.checkBox15, 2, 1);
this.flagsTableLayoutPanel.Controls.Add(this.checkBox16, 0, 2);
this.flagsTableLayoutPanel.Controls.Add(this.checkBox17, 1, 2);
this.flagsTableLayoutPanel.Dock = System.Windows.Forms.DockStyle.Fill;
this.flagsTableLayoutPanel.Location = new System.Drawing.Point(3, 16);
this.flagsTableLayoutPanel.Name = "flagsTableLayoutPanel";
this.flagsTableLayoutPanel.RowCount = 3;
this.flagsTableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 25F));
this.flagsTableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 25F));
this.flagsTableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 25F));
this.flagsTableLayoutPanel.Size = new System.Drawing.Size(432, 123);
this.flagsTableLayoutPanel.TabIndex = 11;
//
// checkBox1
//
this.checkBox1.Dock = System.Windows.Forms.DockStyle.Fill;
this.checkBox1.Location = new System.Drawing.Point(3, 3);
this.checkBox1.Name = "checkBox1";
this.checkBox1.Size = new System.Drawing.Size(137, 35);
this.checkBox1.TabIndex = 1;
this.checkBox1.Text = "checkBox1";
this.checkBox1.UseVisualStyleBackColor = true;
//
// checkBox11
//
this.checkBox11.Dock = System.Windows.Forms.DockStyle.Fill;
this.checkBox11.Location = new System.Drawing.Point(146, 3);
this.checkBox11.Name = "checkBox11";
this.checkBox11.Size = new System.Drawing.Size(138, 35);
this.checkBox11.TabIndex = 2;
this.checkBox11.Text = "checkBox11";
this.checkBox11.UseVisualStyleBackColor = true;
//
// checkBox12
//
this.checkBox12.Dock = System.Windows.Forms.DockStyle.Fill;
this.checkBox12.Location = new System.Drawing.Point(290, 3);
this.checkBox12.Name = "checkBox12";
this.checkBox12.Size = new System.Drawing.Size(139, 35);
this.checkBox12.TabIndex = 3;
this.checkBox12.Text = "checkBox12";
this.checkBox12.UseVisualStyleBackColor = true;
//
// checkBox13
//
this.checkBox13.Dock = System.Windows.Forms.DockStyle.Fill;
this.checkBox13.Location = new System.Drawing.Point(3, 44);
this.checkBox13.Name = "checkBox13";
this.checkBox13.Size = new System.Drawing.Size(137, 35);
this.checkBox13.TabIndex = 4;
this.checkBox13.Text = "checkBox13";
this.checkBox13.UseVisualStyleBackColor = true;
//
// checkBox14
//
this.checkBox14.Dock = System.Windows.Forms.DockStyle.Fill;
this.checkBox14.Location = new System.Drawing.Point(146, 44);
this.checkBox14.Name = "checkBox14";
this.checkBox14.Size = new System.Drawing.Size(138, 35);
this.checkBox14.TabIndex = 5;
this.checkBox14.Text = "checkBox14";
this.checkBox14.UseVisualStyleBackColor = true;
//
// checkBox15
//
this.checkBox15.Dock = System.Windows.Forms.DockStyle.Fill;
this.checkBox15.Location = new System.Drawing.Point(290, 44);
this.checkBox15.Name = "checkBox15";
this.checkBox15.Size = new System.Drawing.Size(139, 35);
this.checkBox15.TabIndex = 6;
this.checkBox15.Text = "checkBox15";
this.checkBox15.UseVisualStyleBackColor = true;
//
// checkBox16
//
this.checkBox16.Dock = System.Windows.Forms.DockStyle.Fill;
this.checkBox16.Location = new System.Drawing.Point(3, 85);
this.checkBox16.Name = "checkBox16";
this.checkBox16.Size = new System.Drawing.Size(137, 35);
this.checkBox16.TabIndex = 7;
this.checkBox16.Text = "checkBox16";
this.checkBox16.UseVisualStyleBackColor = true;
//
// checkBox17
//
this.checkBox17.Dock = System.Windows.Forms.DockStyle.Fill;
this.checkBox17.Location = new System.Drawing.Point(146, 85);
this.checkBox17.Name = "checkBox17";
this.checkBox17.Size = new System.Drawing.Size(138, 35);
this.checkBox17.TabIndex = 8;
this.checkBox17.Text = "checkBox17";
this.checkBox17.UseVisualStyleBackColor = true;
//
// moveTypeComboBox
//
this.moveTypeComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.moveTypeComboBox.FormattingEnabled = true;
this.moveTypeComboBox.Location = new System.Drawing.Point(66, 12);
this.moveTypeComboBox.Name = "moveTypeComboBox";
this.moveTypeComboBox.Size = new System.Drawing.Size(155, 21);
this.moveTypeComboBox.TabIndex = 7;
this.moveTypeComboBox.SelectedIndexChanged += new System.EventHandler(this.moveTypeComboBox_SelectedIndexChanged);
//
// battleSeqComboBox
//
this.battleSeqComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.battleSeqComboBox.FormattingEnabled = true;
this.battleSeqComboBox.Location = new System.Drawing.Point(365, 12);
this.battleSeqComboBox.Name = "battleSeqComboBox";
this.battleSeqComboBox.Size = new System.Drawing.Size(139, 21);
this.battleSeqComboBox.TabIndex = 0;
this.battleSeqComboBox.SelectedIndexChanged += new System.EventHandler(this.battleSeqComboBox_SelectedIndexChanged);
//
// label1
//
this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(285, 16);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(74, 13);
this.label1.TabIndex = 1;
this.label1.Text = "Battle Seq";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// typeLabel
//
this.typeLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.typeLabel.AutoSize = true;
this.typeLabel.Location = new System.Drawing.Point(5, 16);
this.typeLabel.Name = "typeLabel";
this.typeLabel.Size = new System.Drawing.Size(55, 13);
this.typeLabel.TabIndex = 2;
this.typeLabel.Text = "Type";
this.typeLabel.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// label2
//
this.label2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(5, 55);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(55, 13);
this.label2.TabIndex = 5;
this.label2.Text = "Split";
this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// moveSplitComboBox
//
this.moveSplitComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.moveSplitComboBox.FormattingEnabled = true;
this.moveSplitComboBox.Location = new System.Drawing.Point(66, 51);
this.moveSplitComboBox.Name = "moveSplitComboBox";
this.moveSplitComboBox.Size = new System.Drawing.Size(155, 21);
this.moveSplitComboBox.TabIndex = 6;
this.moveSplitComboBox.SelectedIndexChanged += new System.EventHandler(this.moveSplitComboBox_SelectedIndexChanged);
//
// moveTypePictureBox
//
this.moveTypePictureBox.Dock = System.Windows.Forms.DockStyle.Fill;
this.moveTypePictureBox.Location = new System.Drawing.Point(227, 5);
this.moveTypePictureBox.Name = "moveTypePictureBox";
this.moveTypePictureBox.Size = new System.Drawing.Size(52, 35);
this.moveTypePictureBox.TabIndex = 3;
this.moveTypePictureBox.TabStop = false;
//
// groupBox1
//
this.tableLayoutPanel3.SetColumnSpan(this.groupBox1, 4);
this.groupBox1.Controls.Add(this.rangesTableLayoutPanel);
this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill;
this.groupBox1.Location = new System.Drawing.Point(285, 156);
this.groupBox1.Name = "groupBox1";
this.tableLayoutPanel3.SetRowSpan(this.groupBox1, 2);
this.groupBox1.Size = new System.Drawing.Size(438, 156);
this.groupBox1.TabIndex = 12;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "Range of action";
//
// rangesTableLayoutPanel
//
this.rangesTableLayoutPanel.ColumnCount = 3;
this.rangesTableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33332F));
this.rangesTableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33334F));
this.rangesTableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33334F));
this.rangesTableLayoutPanel.Controls.Add(this.checkBox20, 1, 3);
this.rangesTableLayoutPanel.Controls.Add(this.checkBox19, 0, 3);
this.rangesTableLayoutPanel.Controls.Add(this.checkBox2, 0, 0);
this.rangesTableLayoutPanel.Controls.Add(this.checkBox3, 1, 0);
this.rangesTableLayoutPanel.Controls.Add(this.checkBox4, 2, 0);
this.rangesTableLayoutPanel.Controls.Add(this.checkBox5, 0, 1);
this.rangesTableLayoutPanel.Controls.Add(this.checkBox6, 1, 1);
this.rangesTableLayoutPanel.Controls.Add(this.checkBox7, 2, 1);
this.rangesTableLayoutPanel.Controls.Add(this.checkBox8, 0, 2);
this.rangesTableLayoutPanel.Controls.Add(this.checkBox9, 1, 2);
this.rangesTableLayoutPanel.Controls.Add(this.checkBox10, 2, 2);
this.rangesTableLayoutPanel.Dock = System.Windows.Forms.DockStyle.Fill;
this.rangesTableLayoutPanel.Location = new System.Drawing.Point(3, 16);
this.rangesTableLayoutPanel.Name = "rangesTableLayoutPanel";
this.rangesTableLayoutPanel.RowCount = 4;
this.rangesTableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 25F));
this.rangesTableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 25F));
this.rangesTableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 25F));
this.rangesTableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 25F));
this.rangesTableLayoutPanel.Size = new System.Drawing.Size(432, 137);
this.rangesTableLayoutPanel.TabIndex = 11;
//
// checkBox20
//
this.checkBox20.Dock = System.Windows.Forms.DockStyle.Fill;
this.checkBox20.Location = new System.Drawing.Point(146, 105);
this.checkBox20.Name = "checkBox20";
this.checkBox20.Size = new System.Drawing.Size(138, 29);
this.checkBox20.TabIndex = 11;
this.checkBox20.Text = "checkBox20";
this.checkBox20.UseVisualStyleBackColor = true;
//
// checkBox19
//
this.checkBox19.Dock = System.Windows.Forms.DockStyle.Fill;
this.checkBox19.Location = new System.Drawing.Point(3, 105);
this.checkBox19.Name = "checkBox19";
this.checkBox19.Size = new System.Drawing.Size(137, 29);
this.checkBox19.TabIndex = 10;
this.checkBox19.Text = "checkBox19";
this.checkBox19.UseVisualStyleBackColor = true;
//
// checkBox2
//
this.checkBox2.Dock = System.Windows.Forms.DockStyle.Fill;
this.checkBox2.Location = new System.Drawing.Point(3, 3);
this.checkBox2.Name = "checkBox2";
this.checkBox2.Size = new System.Drawing.Size(137, 28);
this.checkBox2.TabIndex = 1;
this.checkBox2.Text = "checkBox2";
this.checkBox2.UseVisualStyleBackColor = true;
//
// checkBox3
//
this.checkBox3.Dock = System.Windows.Forms.DockStyle.Fill;
this.checkBox3.Location = new System.Drawing.Point(146, 3);
this.checkBox3.Name = "checkBox3";
this.checkBox3.Size = new System.Drawing.Size(138, 28);
this.checkBox3.TabIndex = 2;
this.checkBox3.Text = "checkBox3";
this.checkBox3.UseVisualStyleBackColor = true;
//
// checkBox4
//
this.checkBox4.Dock = System.Windows.Forms.DockStyle.Fill;
this.checkBox4.Location = new System.Drawing.Point(290, 3);
this.checkBox4.Name = "checkBox4";
this.checkBox4.Size = new System.Drawing.Size(139, 28);
this.checkBox4.TabIndex = 3;
this.checkBox4.Text = "checkBox4";
this.checkBox4.UseVisualStyleBackColor = true;
//
// checkBox5
//
this.checkBox5.Dock = System.Windows.Forms.DockStyle.Fill;
this.checkBox5.Location = new System.Drawing.Point(3, 37);
this.checkBox5.Name = "checkBox5";
this.checkBox5.Size = new System.Drawing.Size(137, 28);
this.checkBox5.TabIndex = 4;
this.checkBox5.Text = "checkBox5";
this.checkBox5.UseVisualStyleBackColor = true;
//
// checkBox6
//
this.checkBox6.Dock = System.Windows.Forms.DockStyle.Fill;
this.checkBox6.Location = new System.Drawing.Point(146, 37);
this.checkBox6.Name = "checkBox6";
this.checkBox6.Size = new System.Drawing.Size(138, 28);
this.checkBox6.TabIndex = 5;
this.checkBox6.Text = "checkBox6";
this.checkBox6.UseVisualStyleBackColor = true;
//
// checkBox7
//
this.checkBox7.Dock = System.Windows.Forms.DockStyle.Fill;
this.checkBox7.Location = new System.Drawing.Point(290, 37);
this.checkBox7.Name = "checkBox7";
this.checkBox7.Size = new System.Drawing.Size(139, 28);
this.checkBox7.TabIndex = 6;
this.checkBox7.Text = "checkBox7";
this.checkBox7.UseVisualStyleBackColor = true;
//
// checkBox8
//
this.checkBox8.Dock = System.Windows.Forms.DockStyle.Fill;
this.checkBox8.Location = new System.Drawing.Point(3, 71);
this.checkBox8.Name = "checkBox8";
this.checkBox8.Size = new System.Drawing.Size(137, 28);
this.checkBox8.TabIndex = 7;
this.checkBox8.Text = "checkBox8";
this.checkBox8.UseVisualStyleBackColor = true;
//
// checkBox9
//
this.checkBox9.Dock = System.Windows.Forms.DockStyle.Fill;
this.checkBox9.Location = new System.Drawing.Point(146, 71);
this.checkBox9.Name = "checkBox9";
this.checkBox9.Size = new System.Drawing.Size(138, 28);
this.checkBox9.TabIndex = 8;
this.checkBox9.Text = "checkBox9";
this.checkBox9.UseVisualStyleBackColor = true;
//
// checkBox10
//
this.checkBox10.Dock = System.Windows.Forms.DockStyle.Fill;
this.checkBox10.Location = new System.Drawing.Point(290, 71);
this.checkBox10.Name = "checkBox10";
this.checkBox10.Size = new System.Drawing.Size(139, 28);
this.checkBox10.TabIndex = 9;
this.checkBox10.Text = "checkBox10";
this.checkBox10.UseVisualStyleBackColor = true;
//
// groupBox2
//
this.tableLayoutPanel3.SetColumnSpan(this.groupBox2, 3);
this.groupBox2.Controls.Add(this.textBox1);
this.groupBox2.Dock = System.Windows.Forms.DockStyle.Fill;
this.groupBox2.Location = new System.Drawing.Point(5, 156);
this.groupBox2.Name = "groupBox2";
this.tableLayoutPanel3.SetRowSpan(this.groupBox2, 3);
this.groupBox2.Size = new System.Drawing.Size(274, 304);
this.groupBox2.TabIndex = 17;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "Description";
//
// textBox1
//
this.textBox1.Dock = System.Windows.Forms.DockStyle.Fill;
this.textBox1.Font = new System.Drawing.Font("Pokemon DPPt", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.textBox1.Location = new System.Drawing.Point(3, 16);
this.textBox1.Multiline = true;
this.textBox1.Name = "textBox1";
this.textBox1.ReadOnly = true;
this.textBox1.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
this.textBox1.Size = new System.Drawing.Size(268, 285);
this.textBox1.TabIndex = 0;
//
// label4
//
this.label4.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(510, 16);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(108, 13);
this.label4.TabIndex = 13;
this.label4.Text = "Power";
this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// powerNumericUpDown
//
this.powerNumericUpDown.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.powerNumericUpDown.Location = new System.Drawing.Point(624, 12);
this.powerNumericUpDown.Maximum = new decimal(new int[] {
255,
0,
0,
0});
this.powerNumericUpDown.Name = "powerNumericUpDown";
this.powerNumericUpDown.Size = new System.Drawing.Size(99, 20);
this.powerNumericUpDown.TabIndex = 14;
this.powerNumericUpDown.ValueChanged += new System.EventHandler(this.powerNumericUpDown_ValueChanged);
//
// label5
//
this.label5.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(510, 55);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(108, 13);
this.label5.TabIndex = 15;
this.label5.Text = "Accuracy";
this.label5.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// accuracyNumericUpDown
//
this.accuracyNumericUpDown.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.accuracyNumericUpDown.Location = new System.Drawing.Point(624, 52);
this.accuracyNumericUpDown.Name = "accuracyNumericUpDown";
this.accuracyNumericUpDown.Size = new System.Drawing.Size(99, 20);
this.accuracyNumericUpDown.TabIndex = 16;
this.accuracyNumericUpDown.ValueChanged += new System.EventHandler(this.accuracyNumericUpDown_ValueChanged);
//
// label7
//
this.label7.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.label7.AutoSize = true;
this.label7.Location = new System.Drawing.Point(5, 128);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(55, 13);
this.label7.TabIndex = 25;
this.label7.Text = "Priority";
this.label7.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// priorityNumericUpDown
//
this.priorityNumericUpDown.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.priorityNumericUpDown.Location = new System.Drawing.Point(66, 124);
this.priorityNumericUpDown.Maximum = new decimal(new int[] {
32,
0,
0,
0});
this.priorityNumericUpDown.Minimum = new decimal(new int[] {
32,
0,
0,
-2147483648});
this.priorityNumericUpDown.Name = "priorityNumericUpDown";
this.priorityNumericUpDown.Size = new System.Drawing.Size(155, 20);
this.priorityNumericUpDown.TabIndex = 26;
this.priorityNumericUpDown.ValueChanged += new System.EventHandler(this.priorityNumericUpDown_ValueChanged);
//
// ppLabel
//
this.ppLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.ppLabel.AutoSize = true;
this.ppLabel.Location = new System.Drawing.Point(285, 55);
this.ppLabel.Name = "ppLabel";
this.ppLabel.Size = new System.Drawing.Size(74, 13);
this.ppLabel.TabIndex = 4;
this.ppLabel.Text = "PP";
this.ppLabel.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// ppUpDown
//
this.ppUpDown.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.ppUpDown.Location = new System.Drawing.Point(365, 52);
this.ppUpDown.Name = "ppUpDown";
this.ppUpDown.Size = new System.Drawing.Size(139, 20);
this.ppUpDown.TabIndex = 8;
this.ppUpDown.ValueChanged += new System.EventHandler(this.ppUpDown_ValueChanged);
//
// label8
//
this.label8.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.label8.AutoSize = true;
this.label8.Location = new System.Drawing.Point(285, 121);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(74, 26);
this.label8.TabIndex = 28;
this.label8.Text = "Side Effect Probability";
this.label8.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// sideEffectProbabilityUpDown
//
this.sideEffectProbabilityUpDown.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.sideEffectProbabilityUpDown.Location = new System.Drawing.Point(365, 124);
this.sideEffectProbabilityUpDown.Maximum = new decimal(new int[] {
255,
0,
0,
0});
this.sideEffectProbabilityUpDown.Name = "sideEffectProbabilityUpDown";
this.sideEffectProbabilityUpDown.Size = new System.Drawing.Size(139, 20);
this.sideEffectProbabilityUpDown.TabIndex = 29;
this.sideEffectProbabilityUpDown.ValueChanged += new System.EventHandler(this.sideEffectUpDown_ValueChanged);
//
// moveNameInputComboBox
//
this.moveNameInputComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.moveNameInputComboBox.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend;
this.moveNameInputComboBox.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems;
this.moveNameInputComboBox.FormattingEnabled = true;
this.moveNameInputComboBox.Location = new System.Drawing.Point(80, 14);
this.moveNameInputComboBox.Name = "moveNameInputComboBox";
this.moveNameInputComboBox.Size = new System.Drawing.Size(413, 21);
this.moveNameInputComboBox.TabIndex = 31;
this.moveNameInputComboBox.SelectedIndexChanged += new System.EventHandler(this.moveNameInputComboBox_SelectedIndexChanged);
//
// MoveDataEditor
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(750, 567);
this.Controls.Add(this.tableLayoutPanel1);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "MoveDataEditor";
this.Padding = new System.Windows.Forms.Padding(5);
this.Text = "Move Data Editor";
this.tableLayoutPanel1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.moveNumberNumericUpDown)).EndInit();
this.groupBox3.ResumeLayout(false);
this.tableLayoutPanel3.ResumeLayout(false);
this.tableLayoutPanel3.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.prioPictureBox)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.contestAppealNumericUpDown)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.contestConditionPictureBox)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.moveSplitPictureBox)).EndInit();
this.groupBox4.ResumeLayout(false);
this.flagsTableLayoutPanel.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.moveTypePictureBox)).EndInit();
this.groupBox1.ResumeLayout(false);
this.rangesTableLayoutPanel.ResumeLayout(false);
this.groupBox2.ResumeLayout(false);
this.groupBox2.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.powerNumericUpDown)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.accuracyNumericUpDown)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.priorityNumericUpDown)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.ppUpDown)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.sideEffectProbabilityUpDown)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
private System.Windows.Forms.NumericUpDown moveNumberNumericUpDown;
private System.Windows.Forms.Button saveDataButton;
private InputComboBox moveNameInputComboBox;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel3;
private System.Windows.Forms.ComboBox battleSeqComboBox;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label typeLabel;
private System.Windows.Forms.PictureBox moveTypePictureBox;
private System.Windows.Forms.Label ppLabel;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.ComboBox moveSplitComboBox;
private System.Windows.Forms.ComboBox moveTypeComboBox;
private System.Windows.Forms.NumericUpDown ppUpDown;
private System.Windows.Forms.CheckBox checkBox2;
private System.Windows.Forms.CheckBox checkBox3;
private System.Windows.Forms.CheckBox checkBox4;
private System.Windows.Forms.CheckBox checkBox5;
private System.Windows.Forms.CheckBox checkBox6;
private System.Windows.Forms.CheckBox checkBox7;
private System.Windows.Forms.CheckBox checkBox8;
private System.Windows.Forms.CheckBox checkBox9;
private System.Windows.Forms.CheckBox checkBox10;
private System.Windows.Forms.TableLayoutPanel rangesTableLayoutPanel;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.NumericUpDown powerNumericUpDown;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.NumericUpDown accuracyNumericUpDown;
private System.Windows.Forms.GroupBox groupBox2;
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.GroupBox groupBox3;
private System.Windows.Forms.GroupBox groupBox4;
private System.Windows.Forms.TableLayoutPanel flagsTableLayoutPanel;
private System.Windows.Forms.CheckBox checkBox1;
private System.Windows.Forms.CheckBox checkBox11;
private System.Windows.Forms.CheckBox checkBox12;
private System.Windows.Forms.CheckBox checkBox13;
private System.Windows.Forms.CheckBox checkBox14;
private System.Windows.Forms.CheckBox checkBox15;
private System.Windows.Forms.CheckBox checkBox16;
private System.Windows.Forms.CheckBox checkBox17;
private System.Windows.Forms.CheckBox checkBox20;
private System.Windows.Forms.CheckBox checkBox19;
private System.Windows.Forms.PictureBox moveSplitPictureBox;
private System.Windows.Forms.NumericUpDown contestAppealNumericUpDown;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.PictureBox contestConditionPictureBox;
private System.Windows.Forms.ComboBox contestConditionComboBox;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.NumericUpDown priorityNumericUpDown;
private System.Windows.Forms.PictureBox prioPictureBox;
private System.Windows.Forms.Label label8;
private System.Windows.Forms.NumericUpDown sideEffectProbabilityUpDown;
}
}

View File

@@ -0,0 +1,298 @@
using DSPRE.ROMFiles;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Windows.Forms;
using static DSPRE.MoveData;
using MessageBox = System.Windows.Forms.MessageBox;
namespace DSPRE {
public partial class MoveDataEditor : Form {
private bool disableHandlers = false;
private readonly string[] fileNames;
private readonly string[] moveDescriptions;
private readonly string[] battleSequenceFiles;
private int currentLoadedId = 0;
private MoveData currentLoadedFile = null;
private static bool dirty = false;
private static readonly string formName = "Move Data Editor";
public MoveDataEditor(string[] fileNames, string[] moveDescriptions) {
this.fileNames = fileNames.ToArray();
this.moveDescriptions = moveDescriptions;
InitializeComponent();
disableHandlers = true;
moveNumberNumericUpDown.Maximum = fileNames.Length - 1;
moveNameInputComboBox.Items.AddRange(this.fileNames);
this.battleSequenceFiles = RomInfo.GetBattleEffectSequenceFiles().Select( x => Path.GetFileName(x) ).ToArray();
battleSeqComboBox.Items.AddRange(this.battleSequenceFiles);
moveSplitComboBox.Items.AddRange(Enum.GetNames(typeof(MoveData.MoveSplit)));
string[] names = Enum.GetNames(typeof(MoveData.AttackRange));
System.Collections.IList list = rangesTableLayoutPanel.Controls;
for (int i = 0; i < list.Count; i++) {
CheckBox cb = list[i] as CheckBox;
cb.Text = names[i + 1];
cb.CheckedChanged += AttackRangeCheckBox_CheckedChanged;
}
names = Enum.GetNames(typeof(MoveData.MoveFlags));
list = flagsTableLayoutPanel.Controls;
for (int i = 0; i < list.Count; i++) {
CheckBox cb = list[i] as CheckBox;
cb.Text = names[i];
cb.CheckedChanged += FlagsCheckBox_CheckedChanged;
}
contestConditionComboBox.Items.AddRange(Enum.GetNames(typeof(MoveData.ContestCondition)));
moveTypeComboBox.Items.AddRange(Enum.GetNames(typeof(PokemonType)));
disableHandlers = false;
moveNameInputComboBox.SelectedIndex = 1;
}
private void setDirty(bool status) {
if (status) {
dirty = true;
this.Text = formName + "*";
} else {
dirty = false;
this.Text = formName;
}
}
private bool CheckDiscardChanges() {
if (!dirty) {
return true;
}
DialogResult res = MessageBox.Show(this, "There are unsaved changes to the current Move data.\nDiscard and proceed?", "Unsaved changes", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (res.Equals(DialogResult.Yes)) {
return true;
}
moveNumberNumericUpDown.Value = currentLoadedId;
moveNameInputComboBox.SelectedIndex = currentLoadedId;
return false;
}
private void ChangeLoadedFile(int toLoad) {
currentLoadedId = toLoad;
currentLoadedFile = new MoveData(toLoad);
PopulateAllFromCurrentFile();
setDirty(false);
}
private void PopulateAllFromCurrentFile() {
moveTypeComboBox.SelectedIndex = (int)currentLoadedFile.movetype;
System.Collections.IList list = rangesTableLayoutPanel.Controls;
for (int i = 0; i < list.Count; i++) {
(list[i] as CheckBox).Checked = ((currentLoadedFile.target & (1 << i)) != 0);
}
list = flagsTableLayoutPanel.Controls;
for (int i = 0; i < list.Count; i++) {
(list[i] as CheckBox).Checked = ((currentLoadedFile.flagField & (1 << i)) != 0);
}
textBox1.Text = moveDescriptions[currentLoadedId];
battleSeqComboBox.SelectedIndex = (int)currentLoadedFile.battleeffect;
moveSplitComboBox.SelectedIndex = (int)currentLoadedFile.split;
sideEffectProbabilityUpDown.Value = currentLoadedFile.sideEffectProbability;
contestConditionComboBox.SelectedIndex = (int)currentLoadedFile.contestConditionType;
contestAppealNumericUpDown.Value = currentLoadedFile.contestAppeal;
priorityNumericUpDown.Value = currentLoadedFile.priority;
powerNumericUpDown.Value = currentLoadedFile.damage;
accuracyNumericUpDown.Value = currentLoadedFile.accuracy;
ppUpDown.Value = currentLoadedFile.pp;
}
//-------------------------------
private void saveDataButton_Click(object sender, EventArgs e) {
currentLoadedFile.SaveToFileDefaultDir(currentLoadedId, true);
setDirty(false);
}
private void FlagsCheckBox_CheckedChanged(object sender, EventArgs e) {
if (disableHandlers) {
return;
}
disableHandlers = true;
System.Collections.IList list = flagsTableLayoutPanel.Controls;
currentLoadedFile.flagField = 0;
for (int i = 0; i < list.Count; i++) {
int en = (list[i] as CheckBox).Checked ? 1 : 0;
currentLoadedFile.flagField |= (byte)(en << i);
}
setDirty(true);
disableHandlers = false;
}
private void AttackRangeCheckBox_CheckedChanged(object sender, EventArgs e) {
if (disableHandlers) {
return;
}
disableHandlers = true;
System.Collections.IList list = rangesTableLayoutPanel.Controls;
currentLoadedFile.target = 0;
for (int i = 0; i < list.Count; i++) {
int en = (list[i] as CheckBox).Checked ? 1 : 0;
currentLoadedFile.target |= (ushort)(en << i);
}
setDirty(true);
disableHandlers = false;
}
private void moveNameInputComboBox_SelectedIndexChanged(object sender, EventArgs e) {
if (disableHandlers) {
return;
}
disableHandlers = true;
if (CheckDiscardChanges()) {
int newNumber = moveNameInputComboBox.SelectedIndex;
moveNumberNumericUpDown.Value = newNumber;
ChangeLoadedFile(newNumber);
}
disableHandlers = false;
}
private void moveNumberNumericUpDown_ValueChanged(object sender, EventArgs e) {
if (disableHandlers) {
return;
}
disableHandlers = true;
if (CheckDiscardChanges()) {
int newNumber = (int)moveNumberNumericUpDown.Value;
moveNameInputComboBox.SelectedIndex = newNumber;
ChangeLoadedFile(newNumber);
}
disableHandlers = false;
}
private void saveToFileToolStripMenuItem_Click(object sender, EventArgs e) {
string suggestedFilename = this.fileNames[currentLoadedId];
currentLoadedFile.SaveToFileExplorePath(suggestedFilename, true);
}
private void ppUpDown_ValueChanged(object sender, EventArgs e) {
if (disableHandlers) {
return;
}
currentLoadedFile.pp = (byte)ppUpDown.Value;
setDirty(true);
}
private void moveSplitComboBox_SelectedIndexChanged(object sender, EventArgs e) {
if (disableHandlers) {
return;
}
currentLoadedFile.split = (MoveSplit)moveSplitComboBox.SelectedIndex;
setDirty(true);
}
private void moveTypeComboBox_SelectedIndexChanged(object sender, EventArgs e) {
if (disableHandlers) {
return;
}
currentLoadedFile.movetype = (PokemonType)moveTypeComboBox.SelectedIndex;
setDirty(true);
}
private void battleSeqComboBox_SelectedIndexChanged(object sender, EventArgs e) {
if (disableHandlers) {
return;
}
currentLoadedFile.battleeffect = (ushort)battleSeqComboBox.SelectedIndex;
setDirty(true);
}
private void contestConditionComboBox_SelectedIndexChanged(object sender, EventArgs e) {
if (disableHandlers) {
return;
}
currentLoadedFile.contestConditionType = (ContestCondition)contestConditionComboBox.SelectedIndex;
setDirty(true);
}
private void contestAppealNumericUpDown_ValueChanged(object sender, EventArgs e) {
if (disableHandlers) {
return;
}
currentLoadedFile.contestAppeal = (byte)contestAppealNumericUpDown.Value;
setDirty(true);
}
private void powerNumericUpDown_ValueChanged(object sender, EventArgs e) {
if (disableHandlers) {
return;
}
currentLoadedFile.damage = (byte)powerNumericUpDown.Value;
setDirty(true);
}
private void accuracyNumericUpDown_ValueChanged(object sender, EventArgs e) {
if (disableHandlers) {
return;
}
currentLoadedFile.accuracy = (byte)powerNumericUpDown.Value;
setDirty(true);
}
private void priorityNumericUpDown_ValueChanged(object sender, EventArgs e) {
if (currentLoadedFile.priority == 0) {
prioPictureBox.Image = null;
} else if (currentLoadedFile.priority > 0) {
prioPictureBox.Image = Properties.Resources.addIcon;
} else {
prioPictureBox.Image = Properties.Resources.deleteIcon;
}
if (disableHandlers) {
return;
}
currentLoadedFile.priority = (sbyte)priorityNumericUpDown.Value;
setDirty(true);
}
private void sideEffectUpDown_ValueChanged(object sender, EventArgs e) {
if (disableHandlers) {
return;
}
currentLoadedFile.sideEffectProbability = (byte)sideEffectProbabilityUpDown.Value;
setDirty(true);
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -851,6 +851,7 @@
this.separator_afterMiscButtons = new System.Windows.Forms.ToolStripSeparator();
this.versionLabel = new System.Windows.Forms.Label();
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
this.moveDataEditorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.mainTabControl.SuspendLayout();
this.headerEditorTabPage.SuspendLayout();
this.worldmapCoordsGroupBox.SuspendLayout();
@@ -10456,7 +10457,8 @@
this.otherEditorsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.personalDataEditorToolStripMenuItem,
this.overlayEditorToolStripMenuItem,
this.spawnEditorToolStripMenuItem});
this.spawnEditorToolStripMenuItem,
this.moveDataEditorToolStripMenuItem});
this.otherEditorsToolStripMenuItem.Enabled = false;
this.otherEditorsToolStripMenuItem.Name = "otherEditorsToolStripMenuItem";
this.otherEditorsToolStripMenuItem.Size = new System.Drawing.Size(88, 20);
@@ -10857,6 +10859,13 @@
this.versionLabel.Text = "ROM:";
this.versionLabel.Visible = false;
//
// moveDataEditorToolStripMenuItem
//
this.moveDataEditorToolStripMenuItem.Name = "moveDataEditorToolStripMenuItem";
this.moveDataEditorToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.moveDataEditorToolStripMenuItem.Text = "Move Data Editor";
this.moveDataEditorToolStripMenuItem.Click += new System.EventHandler(this.moveDataEditorToolStripMenuItem_Click);
//
// MainProgram
//
this.AllowDrop = true;
@@ -11992,6 +12001,7 @@
private System.Windows.Forms.Button scanUnusedCollisionTypesButton;
private System.Windows.Forms.ToolStripMenuItem overlayEditorToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem spawnEditorToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem moveDataEditorToolStripMenuItem;
}
}

View File

@@ -9895,5 +9895,24 @@ namespace DSPRE {
Helpers.statusLabelMessage();
Update();
}
private void moveDataEditorToolStripMenuItem_Click(object sender, EventArgs e) {
Helpers.statusLabelMessage("Setting up Move Data Editor...");
Update();
DSUtils.TryUnpackNarcs(new List<DirNames> { DirNames.moveData });
string[] moveDescriptions = new TextArchive(RomInfo.moveDescriptionsTextNumbers).messages.Select(
x => x.Replace("\\n", Environment.NewLine)).ToArray();
MoveDataEditor mde = new MoveDataEditor(
new TextArchive(RomInfo.moveNamesTextNumbers).messages.ToArray(),
moveDescriptions
);
mde.ShowDialog();
Helpers.statusLabelMessage();
Update();
}
}
}

View File

@@ -956,7 +956,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACM
EgAAAk1TRnQBSQFMAgEBCgEAAegBHAHoARwBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
EgAAAk1TRnQBSQFMAgEBCgEAAfABHAHwARwBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAATADAAEBAQABCAYAAQwYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA

View File

@@ -1,34 +0,0 @@
namespace DSPRE {
partial class MoveEditor {
/// <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() {
this.components = new System.ComponentModel.Container();
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(800, 450);
this.Text = "MoveEditor";
}
#endregion
}
}

View File

@@ -1,17 +0,0 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace DSPRE {
public partial class MoveEditor : Form {
public MoveEditor() {
InitializeComponent();
}
}
}

244
DS_Map/ROMFiles/MoveData.cs Normal file
View File

@@ -0,0 +1,244 @@
using System.IO;
using DSPRE.ROMFiles;
using System;
using System.Windows.Forms;
using System.Text;
using System.Collections.Generic;
using static DSPRE.RomInfo;
namespace DSPRE {
public class MoveData : RomFile {
public enum AttackRange : ushort {
SELECTION = (0),
VARIABLE = (1 << 0),
RANDOM = (1 << 1),
BOTH = (1 << 2),
FOES_AND_ALLY = (1 << 3),
USER = (1 << 4),
USER_SIDE = (1 << 5),
ACTIVE_FIELD = (1 << 6),
OPPONENTS_FIELD = (1 << 7),
ALLY = (1 << 8),
ACUPRESSURE = (1 << 9),
ME_FIRST = (1 << 10)
};
public enum MoveSplit : byte {
PHYSICAL = 0,
SPECIAL,
STATUS,
};
public enum ContestCondition : byte {
COOL = 0,
BEAUTIFUL,
CUTE,
SMART,
TOUGH,
};
public enum MoveFlags : byte {
CONTACT = (1 << 0),
PROTECT = (1 << 1),
MAGIC_COAT = (1 << 2),
SNATCH = (1 << 3),
MIRROR_MOVE = (1 << 4),
KINGSROCK = (1 << 5),
KEEP_HP_BAR = (1 << 6),
DEL_SHADOW = (1 << 7)
}
public ushort battleeffect;
public MoveSplit split;
public byte damage;
public PokemonType movetype;
public byte accuracy;
public byte pp;
public byte sideEffectProbability;
public ushort target;
public sbyte priority;
public byte flagField;
public byte contestAppeal;
public ContestCondition contestConditionType;
public MoveData(Stream stream) {
using (BinaryReader reader = new BinaryReader(stream)) {
this.battleeffect = reader.ReadUInt16();
this.split = (MoveSplit)reader.ReadByte();
this.damage = reader.ReadByte();
this.movetype = (PokemonType)reader.ReadByte();
this.accuracy = reader.ReadByte();
this.pp = reader.ReadByte();
this.sideEffectProbability = reader.ReadByte();
this.target = reader.ReadUInt16(); //bitfield
this.priority = reader.ReadSByte();
this.flagField = reader.ReadByte();
this.contestAppeal = reader.ReadByte();
this.contestConditionType = (ContestCondition)reader.ReadByte();
}
}
public MoveData(int ID) : this(new FileStream(RomInfo.gameDirs[DirNames.moveData].unpackedDir + "\\" + ID.ToString("D4"), FileMode.Open)) { }
public override byte[] ToByteArray() {
using (MemoryStream memoryStream = new MemoryStream()) {
using (BinaryWriter writer = new BinaryWriter(memoryStream)) {
writer.Write(this.battleeffect);
writer.Write((byte)this.split);
writer.Write(this.damage);
writer.Write((byte)this.movetype);
writer.Write(this.accuracy);
writer.Write(this.pp);
writer.Write(this.sideEffectProbability);
writer.Write((ushort)this.target);
writer.Write(this.priority);
writer.Write(this.flagField);
writer.Write(this.contestAppeal);
writer.Write((byte)this.contestConditionType);
writer.Write((ushort)0); //Filler
}
return memoryStream.ToArray();
}
}
public void SaveToFileDefaultDir(int IDtoReplace, bool showSuccessMessage = true) {
SaveToFileDefaultDir(DirNames.moveData, IDtoReplace, showSuccessMessage);
}
public void SaveToFileExplorePath(string suggestedFileName, bool showSuccessMessage = true) {
SaveToFileExplorePath("Gen IV Move Data", "bin", suggestedFileName, showSuccessMessage);
}
public static void UpdateFromText(MoveData m, string[] split) {
int target = 1;
if (split.Length < target + 1) {
return;
} else {
if (!Enum.TryParse(split[target], true, out m.movetype)) {
MessageBox.Show($"Malformed entry: \"{string.Join(" ", split)}\".\nMove type is unreadable: \"{split[target]}\"", "Parser error", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
target++;
if (split.Length < target + 1) {
return;
} else {
if (!Enum.TryParse(split[target], true, out m.split)) {
MessageBox.Show($"Malformed entry: \"{string.Join(" ", split)}\".\nMove split is unreadable: \"{split[target]}\"", "Parser error", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
target++;
if (split.Length < target + 1) {
return;
} else {
if (!byte.TryParse(split[target], out m.damage)) {
if (split[target].StartsWith("-") || split[target].StartsWith("—")) {
m.damage = 0;
} else {
MessageBox.Show($"Malformed entry: \"{string.Join(" ", split)}\".\nMove power is unreadable: \"{split[target]}\"", "Parser error", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
}
target++;
if (split.Length < target + 1) {
return;
} else {
if (!byte.TryParse(split[target].Replace('%', ' '), out m.accuracy)) {
if (split[target].StartsWith("-") || split[target].StartsWith("—")) {
m.accuracy = 0;
} else {
MessageBox.Show($"Malformed entry: \"{string.Join(" ", split)}\".\nMove accuracy is unreadable: \"{split[target]}\"", "Parser error", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
}
target++;
if (split.Length < target + 1) {
return;
} else {
if (!byte.TryParse(split[target].Replace('%', ' '), out m.pp)) {
MessageBox.Show($"Malformed entry: \"{string.Join(" ", split)}\".\nMove PP count is unreadable: \"{split[target]}\"", "Parser error", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
}
}
}
}
}
return;
}
public override string ToString() {
StringBuilder sb = new StringBuilder();
sb.Append(movetype.ToString());
sb.Append('\t');
sb.Append(split.ToString());
sb.Append('\t');
if (damage == 0) {
sb.Append("-");
} else {
sb.Append(damage);
}
sb.Append('\t');
if (accuracy == 0) {
sb.Append("-");
} else {
sb.Append(accuracy);
sb.Append('%');
}
sb.Append('\t');
sb.Append(pp);
return sb.ToString();
}
public override bool Equals(object obj) {
return obj is MoveData data &&
battleeffect == data.battleeffect &&
split == data.split &&
damage == data.damage &&
movetype == data.movetype &&
accuracy == data.accuracy &&
pp == data.pp &&
sideEffectProbability == data.sideEffectProbability &&
target == data.target &&
priority == data.priority &&
flagField == data.flagField &&
contestAppeal == data.contestAppeal &&
contestConditionType == data.contestConditionType;
}
public override int GetHashCode() {
int hashCode = -1756630415;
hashCode = hashCode * -1521134295 + battleeffect.GetHashCode();
hashCode = hashCode * -1521134295 + split.GetHashCode();
hashCode = hashCode * -1521134295 + damage.GetHashCode();
hashCode = hashCode * -1521134295 + movetype.GetHashCode();
hashCode = hashCode * -1521134295 + accuracy.GetHashCode();
hashCode = hashCode * -1521134295 + pp.GetHashCode();
hashCode = hashCode * -1521134295 + sideEffectProbability.GetHashCode();
hashCode = hashCode * -1521134295 + target.GetHashCode();
hashCode = hashCode * -1521134295 + priority.GetHashCode();
hashCode = hashCode * -1521134295 + flagField.GetHashCode();
hashCode = hashCode * -1521134295 + contestAppeal.GetHashCode();
hashCode = hashCode * -1521134295 + contestConditionType.GetHashCode();
return hashCode;
}
}
}

View File

@@ -1,123 +0,0 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DSPRE.ROMFiles {
public enum MoveCategory {
Physical,
Special,
Status
}
public enum ContestCategories {
One = 1,
Two = 2,
Three = 3,
Four = 4,
Five = 5,
Six = 6,
Seven = 7,
Eight = 8,
Nine = 9,
Ten = 10,
Eleven = 11,
Twelve = 12
}
[Flags]
public enum MoveTargets {
OneOpponent = 1,
Automatic = 2,
Random = 4,
BothOpponents = 16,
BothOpponentsAndAlly = 8,
User = 32,
UsersSideOfField = 64,
EntireField = 128,
OpponentsSideOfField = 256,
AutomaticWithAlly = 512,
UserOrAlly = 1024,
OneOpponentFailsIfTargetFaints = 2048
}
public struct MoveData {
public ushort Effect; // u16
public byte Category; // u8
public byte Power; // u8
public byte Type; // u8
public byte Accuracy; // u8
public byte PP; // u8
public byte EffectChance; // u8
public ushort Target; // u16
public sbyte Priority; // s8
public bool[] Flags; // u8
public byte ContestEffect; // u8
public byte ContestType; // u8
}
public class MoveFile : RomFile{
public MoveData moveData;
public MoveFile(Stream stream) {
moveData = new MoveData();
using (BinaryReader reader = new BinaryReader(stream)) {
moveData.Effect = reader.ReadUInt16();
moveData.Category = reader.ReadByte();
moveData.Power = reader.ReadByte();
moveData.Type = reader.ReadByte();
moveData.Accuracy = reader.ReadByte();
moveData.PP = reader.ReadByte();
moveData.EffectChance = reader.ReadByte();
moveData.Target = reader.ReadUInt16();
moveData.Priority = reader.ReadSByte();
// Reading flags
byte flagsByte = reader.ReadByte();
moveData.Flags = new bool[8];
for (int i = 0; i < 8; i++) {
moveData.Flags[i] = (flagsByte & (1 << i)) != 0;
}
moveData.ContestEffect = reader.ReadByte();
moveData.ContestType = reader.ReadByte();
}
}
public override byte[] ToByteArray() {
using (MemoryStream stream = new MemoryStream()) {
using (BinaryWriter writer = new BinaryWriter(stream)) {
writer.Write(moveData.Effect);
writer.Write(moveData.Category);
writer.Write(moveData.Power);
writer.Write(moveData.Type);
writer.Write(moveData.Accuracy);
writer.Write(moveData.PP);
writer.Write(moveData.EffectChance);
writer.Write(moveData.Target);
writer.Write(moveData.Priority);
// Writing flags
byte flagsByte = 0;
for (int i = 0; i < 8; i++) {
if (moveData.Flags[i])
flagsByte |= (byte)(1 << i);
}
writer.Write(flagsByte);
writer.Write(moveData.ContestEffect);
writer.Write(moveData.ContestType);
}
return stream.ToArray();
}
}
}
}

View File

@@ -73,6 +73,8 @@ namespace DSPRE
public static int itemScriptFileNumber { get; internal set; }
public static int trainerClassMessageNumber { get; private set; }
public static int trainerNamesMessageNumber { get; private set; }
public static int moveDescriptionsTextNumbers { get; private set; }
public static int moveNamesTextNumbers { get; private set; }
public static int locationNamesTextNumber { get; private set; }
public static int trainerNameLenOffset { get; private set; }
public static int trainerNameMaxLen => SetTrainerNameMaxLen();
@@ -158,6 +160,7 @@ namespace DSPRE
trainerProperties,
trainerParty,
trainerGraphics,
moveData,
monIcons,
@@ -222,6 +225,7 @@ namespace DSPRE
SetTrainerClassMessageNumber();
SetTrainerFunnyScriptNumber();
SetTrainerNameLenOffset();
SetMoveTextNumbers();
/* System */
ScriptCommandParametersDict = BuildCommandParametersDatabase(gameFamily);
@@ -1110,6 +1114,20 @@ namespace DSPRE
break;
}
}
private static void SetMoveTextNumbers() {
switch (gameFamily) {
case GameFamilies.DP:
case GameFamilies.Plat:
moveDescriptionsTextNumbers = 646;
moveNamesTextNumbers = 647;
break;
case GameFamilies.HGSS:
moveDescriptionsTextNumbers = 749;
moveNamesTextNumbers = 750;
break;
}
}
private static void SetTrainerFunnyScriptNumber() {
switch (gameFamily) {
@@ -1258,6 +1276,8 @@ namespace DSPRE
public static string[] GetEvolutionFilesList() => Directory.GetFiles(gameDirs[DirNames.evolutions].unpackedDir);
public static int GetEvolutionFilesCount() => GetEvolutionFilesList().Length;
public static string[] GetBattleEffectSequenceFiles() => Directory.GetFiles(gameDirs[DirNames.moveData].unpackedDir);
public static int GetBattleEffectSequenceFilesCount() => GetBattleEffectSequenceFiles().Length;
public int GetAreaDataCount() => Directory.GetFiles(gameDirs[DirNames.areaData].unpackedDir).Length;
@@ -1435,6 +1455,7 @@ namespace DSPRE
[DirNames.trainerProperties] = @"data\poketool\trainer\trdata.narc",
[DirNames.trainerParty] = @"data\poketool\trainer\trpoke.narc",
[DirNames.trainerGraphics] = @"data\poketool\trgra\trfgra.narc",
[DirNames.moveData] = @"data\poketool\waza\pl_waza_tbl.narc",
[DirNames.monIcons] = @"data\poketool\icongra\pl_poke_icon.narc",
@@ -1470,6 +1491,7 @@ namespace DSPRE
[DirNames.trainerProperties] = @"data\a\0\5\5",
[DirNames.trainerParty] = @"data\a\0\5\6",
[DirNames.trainerGraphics] = @"data\a\0\5\8",
[DirNames.moveData] = @"data\a\0\1\1",
[DirNames.monIcons] = @"data\a\0\2\0",