diff --git a/DW3Randomizer/.vs/DW3Randomizer/v15/.suo b/DW3Randomizer/.vs/DW3Randomizer/v15/.suo
index ab240ee..0a76720 100644
Binary files a/DW3Randomizer/.vs/DW3Randomizer/v15/.suo and b/DW3Randomizer/.vs/DW3Randomizer/v15/.suo differ
diff --git a/DW3Randomizer/Form1.Designer.cs b/DW3Randomizer/Form1.Designer.cs
index 36f64d9..bce01cc 100644
--- a/DW3Randomizer/Form1.Designer.cs
+++ b/DW3Randomizer/Form1.Designer.cs
@@ -53,6 +53,7 @@ private void InitializeComponent()
this.optMonsterLight = new System.Windows.Forms.RadioButton();
this.tabControl1 = new System.Windows.Forms.TabControl();
this.tabPage1 = new System.Windows.Forms.TabPage();
+ this.chkFourJobFiesta = new System.Windows.Forms.CheckBox();
this.chkRandomizeGP = new System.Windows.Forms.CheckBox();
this.chkRandomizeXP = new System.Windows.Forms.CheckBox();
this.label10 = new System.Windows.Forms.Label();
@@ -91,8 +92,8 @@ private void InitializeComponent()
this.txtDefault1 = new System.Windows.Forms.TextBox();
this.label7 = new System.Windows.Forms.Label();
this.txtFlags = new System.Windows.Forms.TextBox();
- this.chkFourJobFiesta = new System.Windows.Forms.CheckBox();
this.adjustments = new System.Windows.Forms.ToolTip(this.components);
+ this.chkRemoveParryFight = new System.Windows.Forms.CheckBox();
this.grpMonsterStat.SuspendLayout();
this.tabControl1.SuspendLayout();
this.tabPage1.SuspendLayout();
@@ -324,6 +325,7 @@ private void InitializeComponent()
//
// tabPage1
//
+ this.tabPage1.Controls.Add(this.chkRemoveParryFight);
this.tabPage1.Controls.Add(this.chkFourJobFiesta);
this.tabPage1.Controls.Add(this.chkRandomizeGP);
this.tabPage1.Controls.Add(this.chkRandomizeXP);
@@ -344,6 +346,19 @@ private void InitializeComponent()
this.tabPage1.Text = "Adjustments";
this.tabPage1.UseVisualStyleBackColor = true;
//
+ // chkFourJobFiesta
+ //
+ this.chkFourJobFiesta.AutoSize = true;
+ this.chkFourJobFiesta.Location = new System.Drawing.Point(370, 52);
+ this.chkFourJobFiesta.Name = "chkFourJobFiesta";
+ this.chkFourJobFiesta.Size = new System.Drawing.Size(157, 17);
+ this.chkFourJobFiesta.TabIndex = 19;
+ this.chkFourJobFiesta.Text = "Four Job Fiesta adjustments";
+ this.adjustments.SetToolTip(this.chkFourJobFiesta, "Allows the hero to be removed from the party, the hero to change classes, and any" +
+ " hero to become a sage.");
+ this.chkFourJobFiesta.UseVisualStyleBackColor = true;
+ this.chkFourJobFiesta.CheckedChanged += new System.EventHandler(this.determineFlags);
+ //
// chkRandomizeGP
//
this.chkRandomizeGP.AutoSize = true;
@@ -383,7 +398,7 @@ private void InitializeComponent()
// label8
//
this.label8.AutoSize = true;
- this.label8.Location = new System.Drawing.Point(4, 35);
+ this.label8.Location = new System.Drawing.Point(6, 35);
this.label8.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(59, 13);
@@ -797,18 +812,18 @@ private void InitializeComponent()
this.txtFlags.TabIndex = 42;
this.txtFlags.Leave += new System.EventHandler(this.determineChecks);
//
- // chkFourJobFiesta
+ // chkRemoveParryFight
//
- this.chkFourJobFiesta.AutoSize = true;
- this.chkFourJobFiesta.Location = new System.Drawing.Point(370, 52);
- this.chkFourJobFiesta.Name = "chkFourJobFiesta";
- this.chkFourJobFiesta.Size = new System.Drawing.Size(157, 17);
- this.chkFourJobFiesta.TabIndex = 19;
- this.chkFourJobFiesta.Text = "Four Job Fiesta adjustments";
- this.adjustments.SetToolTip(this.chkFourJobFiesta, "Allows the hero to be removed from the party, the hero to change classes, and any" +
+ this.chkRemoveParryFight.AutoSize = true;
+ this.chkRemoveParryFight.Location = new System.Drawing.Point(370, 75);
+ this.chkRemoveParryFight.Name = "chkRemoveParryFight";
+ this.chkRemoveParryFight.Size = new System.Drawing.Size(143, 17);
+ this.chkRemoveParryFight.TabIndex = 20;
+ this.chkRemoveParryFight.Text = "Remove Parry/Fight Bug";
+ this.adjustments.SetToolTip(this.chkRemoveParryFight, "Allows the hero to be removed from the party, the hero to change classes, and any" +
" hero to become a sage.");
- this.chkFourJobFiesta.UseVisualStyleBackColor = true;
- this.chkFourJobFiesta.CheckedChanged += new System.EventHandler(this.determineFlags);
+ this.chkRemoveParryFight.UseVisualStyleBackColor = true;
+ this.chkRemoveParryFight.CheckedChanged += new System.EventHandler(this.determineFlags);
//
// Form1
//
@@ -920,6 +935,7 @@ private void InitializeComponent()
private System.Windows.Forms.CheckBox chkRandomizeMap;
private System.Windows.Forms.CheckBox chkFourJobFiesta;
private System.Windows.Forms.ToolTip adjustments;
+ private System.Windows.Forms.CheckBox chkRemoveParryFight;
}
}
diff --git a/DW3Randomizer/Form1.cs b/DW3Randomizer/Form1.cs
index e865280..d3b4247 100644
--- a/DW3Randomizer/Form1.cs
+++ b/DW3Randomizer/Form1.cs
@@ -222,12 +222,15 @@ private void btnRandomize_Click(object sender, EventArgs e)
romData[0x3fc2 + lnI] = codData2[lnI];
// Fix the "parry/fight" bug(as determined via gamefaqs board), via Zombero's DW3 Hardtype IPS patch.
- byte[] parryFightFix1 = { 0xbd, 0x9b, 0x6a, 0x29, 0xdf, 0x9d, 0x9b, 0x6a, 0x60 };
- byte[] parryFightFix2 = { 0x20, 0x70, 0xbb };
- for (int lnI = 0; lnI < parryFightFix1.Length; lnI++)
- romData[0xbb80 + lnI] = parryFightFix1[lnI];
- for (int lnI = 0; lnI < parryFightFix2.Length; lnI++)
- romData[0xa402 + lnI] = parryFightFix2[lnI];
+ if (chkRemoveParryFight.Checked)
+ {
+ byte[] parryFightFix1 = { 0xbd, 0x9b, 0x6a, 0x29, 0xdf, 0x9d, 0x9b, 0x6a, 0x60 };
+ byte[] parryFightFix2 = { 0x20, 0x70, 0xbb };
+ for (int lnI = 0; lnI < parryFightFix1.Length; lnI++)
+ romData[0xbb80 + lnI] = parryFightFix1[lnI];
+ for (int lnI = 0; lnI < parryFightFix2.Length; lnI++)
+ romData[0xa402 + lnI] = parryFightFix2[lnI];
+ }
// Rename the starting characters.
for (int lnI = 0; lnI < 12; lnI++)
@@ -1660,12 +1663,12 @@ private void shipPlacement(int byteToUse, int top, int left, int maxLake = 0)
private void boostGP()
{
// Replace monster data
- for (int lnI = 0; lnI < 125; lnI++)
+ for (int lnI = 0; lnI < 139; lnI++)
{
int byteValStart = 0x32e3 + (23 * lnI);
int gp = romData[byteValStart + 4] + ((romData[byteValStart + 18] % 2) * 256);
- switch (cboExpGains.SelectedIndex)
+ switch (cboGoldReq.SelectedIndex)
{
case 0:
gp *= 2;
@@ -1689,7 +1692,7 @@ private void boostGP()
private void boostXP()
{
// Replace monster data
- for (int lnI = 0; lnI < 125; lnI++)
+ for (int lnI = 0; lnI < 139; lnI++)
{
int byteValStart = 0x32e3 + (23 * lnI);
@@ -3423,7 +3426,8 @@ private void determineChecks(object sender, EventArgs e)
optMonsterSilly.Checked = (number % 4 == 1);
optMonsterMedium.Checked = (number % 4 == 2);
optMonsterHeavy.Checked = (number % 4 == 3);
- chkFourJobFiesta.Checked = (number >= 4);
+ chkFourJobFiesta.Checked = (number % 8 >= 4);
+ chkRemoveParryFight.Checked = (number % 16 >= 8);
number = convertChartoInt(Convert.ToChar(flags.Substring(1, 1)));
cboExpGains.SelectedIndex = (number % 8);
@@ -3459,7 +3463,7 @@ private void determineFlags(object sender, EventArgs e)
if (loading) return;
string flags = "";
- flags += convertIntToChar((optMonsterLight.Checked ? 0 : optMonsterSilly.Checked ? 1 : optMonsterMedium.Checked ? 2 : 3) + (chkFourJobFiesta.Checked ? 4 : 0));
+ flags += convertIntToChar((optMonsterLight.Checked ? 0 : optMonsterSilly.Checked ? 1 : optMonsterMedium.Checked ? 2 : 3) + (chkFourJobFiesta.Checked ? 4 : 0) + (chkRemoveParryFight.Checked ? 8 : 0));
flags += convertIntToChar(cboExpGains.SelectedIndex + (8 * cboEncounterRate.SelectedIndex));
flags += convertIntToChar((cboGoldReq.SelectedIndex) + (chkRandomizeXP.Checked ? 4 : 0) + (chkRandomizeGP.Checked ? 8 : 0) + (chkFasterBattles.Checked ? 16 : 0) + (chkSpeedText.Checked ? 32 : 0));
flags += convertIntToChar((chkRandStores.Checked ? 1 : 0) + (chkRandEnemyPatterns.Checked ? 2 : 0) + (chkRandSpellLearning.Checked ? 4 : 0) + (chkRandStatGains.Checked ? 8 : 0) + (chkRandTreasures.Checked ? 16 : 0) + (chkRandMonsterZones.Checked ? 32 : 0));
diff --git a/DW3Randomizer/Form1.resx b/DW3Randomizer/Form1.resx
index 0bc840a..c195c96 100644
--- a/DW3Randomizer/Form1.resx
+++ b/DW3Randomizer/Form1.resx
@@ -120,7 +120,4 @@
17, 17
-
- 17, 17
-
\ No newline at end of file
diff --git a/DW3Randomizer/bin/Debug/DW3Randomizer.exe b/DW3Randomizer/bin/Debug/DW3Randomizer.exe
index cdf286e..2e79b14 100644
Binary files a/DW3Randomizer/bin/Debug/DW3Randomizer.exe and b/DW3Randomizer/bin/Debug/DW3Randomizer.exe differ
diff --git a/DW3Randomizer/bin/Debug/DW3Randomizer.pdb b/DW3Randomizer/bin/Debug/DW3Randomizer.pdb
index 92d49aa..5365c66 100644
Binary files a/DW3Randomizer/bin/Debug/DW3Randomizer.pdb and b/DW3Randomizer/bin/Debug/DW3Randomizer.pdb differ
diff --git a/DW3Randomizer/bin/Debug/lastFile.txt b/DW3Randomizer/bin/Debug/lastFile.txt
index e5f07c5..2b261a0 100644
--- a/DW3Randomizer/bin/Debug/lastFile.txt
+++ b/DW3Randomizer/bin/Debug/lastFile.txt
@@ -1,5 +1,5 @@
C:\bizhawk\dw3 test\Dragon Warrior III (U) (PRG0) [!].nes
-0ay@z
+Fmm@z
Brindar
Ragnar
Adan
diff --git a/DW3Randomizer/obj/Debug/DW3Randomizer.csproj.GenerateResource.Cache b/DW3Randomizer/obj/Debug/DW3Randomizer.csproj.GenerateResource.Cache
index 2e36a22..2b90f2b 100644
Binary files a/DW3Randomizer/obj/Debug/DW3Randomizer.csproj.GenerateResource.Cache and b/DW3Randomizer/obj/Debug/DW3Randomizer.csproj.GenerateResource.Cache differ
diff --git a/DW3Randomizer/obj/Debug/DW3Randomizer.exe b/DW3Randomizer/obj/Debug/DW3Randomizer.exe
index cdf286e..2e79b14 100644
Binary files a/DW3Randomizer/obj/Debug/DW3Randomizer.exe and b/DW3Randomizer/obj/Debug/DW3Randomizer.exe differ
diff --git a/DW3Randomizer/obj/Debug/DW3Randomizer.pdb b/DW3Randomizer/obj/Debug/DW3Randomizer.pdb
index 92d49aa..5365c66 100644
Binary files a/DW3Randomizer/obj/Debug/DW3Randomizer.pdb and b/DW3Randomizer/obj/Debug/DW3Randomizer.pdb differ