mirror of
https://github.com/kwsch/pk3DS.git
synced 2026-09-30 12:56:34 -05:00
Minor clean
This commit is contained in:
@@ -172,7 +172,7 @@ private static BLZResult BLZ_Decode(byte[] data)
|
||||
return null;
|
||||
}
|
||||
int hdr_len = pak_buffer[pak_len - 5];
|
||||
if (hdr_len < 8 || hdr_len > 0xB)
|
||||
if (hdr_len is < 8 or > 0xB)
|
||||
{
|
||||
Console.Write(Environment.NewLine + "Bad header length" + Environment.NewLine);
|
||||
return null;
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
|
||||
namespace pk3DS.Core;
|
||||
|
||||
|
||||
@@ -274,8 +274,8 @@ public string GetGARCFileName(string requestedGARC)
|
||||
public EvolutionSet[] Evolutions { get; private set; }
|
||||
|
||||
public bool XY => Version == GameVersion.XY;
|
||||
public bool ORAS => Version == GameVersion.ORAS || Version == GameVersion.ORASDEMO;
|
||||
public bool SM => Version == GameVersion.SM || Version == GameVersion.SMDEMO;
|
||||
public bool ORAS => Version is GameVersion.ORAS or GameVersion.ORASDEMO;
|
||||
public bool SM => Version is GameVersion.SM or GameVersion.SMDEMO;
|
||||
public bool USUM => Version == GameVersion.USUM;
|
||||
public int MaxSpeciesID => XY || ORAS ? Legal.MaxSpeciesID_6 : SM ? Legal.MaxSpeciesID_7_SM : Legal.MaxSpeciesID_7_USUM;
|
||||
public int GARCVersion => XY || ORAS ? GARC.VER_4 : GARC.VER_6;
|
||||
|
||||
@@ -81,7 +81,7 @@ public static bool Contains(this GameVersion g1, GameVersion g2)
|
||||
switch (g1)
|
||||
{
|
||||
case GameVersion.RB:
|
||||
return g2 == GameVersion.RD || g2 == GameVersion.BU || g2 == GameVersion.GN;
|
||||
return g2 is GameVersion.RD or GameVersion.BU or GameVersion.GN;
|
||||
case GameVersion.RBY:
|
||||
return GameVersion.RB.Contains(g2) || g2 == GameVersion.YW;
|
||||
case GameVersion.Gen1:
|
||||
@@ -91,7 +91,7 @@ public static bool Contains(this GameVersion g1, GameVersion g2)
|
||||
case GameVersion.VCEvents:
|
||||
goto case GameVersion.RBY;
|
||||
|
||||
case GameVersion.GS: return g2 == GameVersion.GD || g2 == GameVersion.SV;
|
||||
case GameVersion.GS: return g2 is GameVersion.GD or GameVersion.SV;
|
||||
case GameVersion.GSC:
|
||||
return GameVersion.GS.Contains(g2) || g2 == GameVersion.C;
|
||||
case GameVersion.Gen2:
|
||||
@@ -100,35 +100,35 @@ public static bool Contains(this GameVersion g1, GameVersion g2)
|
||||
case GameVersion.EventsGBGen2:
|
||||
goto case GameVersion.GSC;
|
||||
case GameVersion.GBCartEraOnly:
|
||||
return g2 == GameVersion.Stadium || g2 == GameVersion.Stadium2 || g2 == GameVersion.EventsGBGen1 || g2 == GameVersion.EventsGBGen2;
|
||||
return g2 is GameVersion.Stadium or GameVersion.Stadium2 or GameVersion.EventsGBGen1 or GameVersion.EventsGBGen2;
|
||||
|
||||
case GameVersion.RS: return g2 == GameVersion.R || g2 == GameVersion.S;
|
||||
case GameVersion.FRLG: return g2 == GameVersion.FR || g2 == GameVersion.LG;
|
||||
case GameVersion.CXD: return g2 == GameVersion.COLO || g2 == GameVersion.XD;
|
||||
case GameVersion.RS: return g2 is GameVersion.R or GameVersion.S;
|
||||
case GameVersion.FRLG: return g2 is GameVersion.FR or GameVersion.LG;
|
||||
case GameVersion.CXD: return g2 is GameVersion.COLO or GameVersion.XD;
|
||||
case GameVersion.RSBOX: return GameVersion.RS.Contains(g2) || g2 == GameVersion.E || GameVersion.FRLG.Contains(g2);
|
||||
case GameVersion.Gen3:
|
||||
return GameVersion.RS.Contains(g2) || g2 == GameVersion.E || GameVersion.FRLG.Contains(g2) || GameVersion.CXD.Contains(g2) || g2 == GameVersion.RSBOX;
|
||||
|
||||
case GameVersion.DP: return g2 == GameVersion.D || g2 == GameVersion.P;
|
||||
case GameVersion.HGSS: return g2 == GameVersion.HG || g2 == GameVersion.SS;
|
||||
case GameVersion.DP: return g2 is GameVersion.D or GameVersion.P;
|
||||
case GameVersion.HGSS: return g2 is GameVersion.HG or GameVersion.SS;
|
||||
case GameVersion.BATREV: return GameVersion.DP.Contains(g2) || g2 == GameVersion.Pt || GameVersion.HGSS.Contains(g2);
|
||||
case GameVersion.Gen4:
|
||||
return GameVersion.DP.Contains(g2) || g2 == GameVersion.Pt || GameVersion.HGSS.Contains(g2) || g2 == GameVersion.BATREV;
|
||||
|
||||
case GameVersion.BW: return g2 == GameVersion.B || g2 == GameVersion.W;
|
||||
case GameVersion.B2W2: return g2 == GameVersion.B2 || g2 == GameVersion.W2;
|
||||
case GameVersion.BW: return g2 is GameVersion.B or GameVersion.W;
|
||||
case GameVersion.B2W2: return g2 is GameVersion.B2 or GameVersion.W2;
|
||||
case GameVersion.Gen5:
|
||||
return GameVersion.BW.Contains(g2) || GameVersion.B2W2.Contains(g2);
|
||||
|
||||
case GameVersion.XY: return g2 == GameVersion.X || g2 == GameVersion.Y;
|
||||
case GameVersion.ORAS: return g2 == GameVersion.OR || g2 == GameVersion.AS;
|
||||
case GameVersion.XY: return g2 is GameVersion.X or GameVersion.Y;
|
||||
case GameVersion.ORAS: return g2 is GameVersion.OR or GameVersion.AS;
|
||||
case GameVersion.Gen6:
|
||||
return GameVersion.XY.Contains(g2) || GameVersion.ORAS.Contains(g2);
|
||||
|
||||
case GameVersion.SM:
|
||||
return g2 == GameVersion.SN || g2 == GameVersion.MN;
|
||||
return g2 is GameVersion.SN or GameVersion.MN;
|
||||
case GameVersion.USUM:
|
||||
return g2 == GameVersion.US || g2 == GameVersion.UM;
|
||||
return g2 is GameVersion.US or GameVersion.UM;
|
||||
case GameVersion.Gen7:
|
||||
return GameVersion.SM.Contains(g2) || GameVersion.USUM.Contains(g2);
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ public static class ImageUtil
|
||||
/// <returns>Human visible data</returns>
|
||||
public static Bitmap GetBitmap(this BXLIM bflim, bool crop = true)
|
||||
{
|
||||
if (bflim.Format == XLIMEncoding.ETC1 || bflim.Format == XLIMEncoding.ETC1A4)
|
||||
if (bflim.Format is XLIMEncoding.ETC1 or XLIMEncoding.ETC1A4)
|
||||
return GetBitmapETC(bflim, crop);
|
||||
var data = bflim.GetImageData(crop);
|
||||
return GetBitmap(data, bflim.Footer.Width, bflim.Footer.Height);
|
||||
|
||||
@@ -212,7 +212,7 @@ private void RandomizeTypeTutors(PersonalInfo z, int index)
|
||||
t[i] = rnd.Next(0, 100) < LearnTypeTutorPercent;
|
||||
|
||||
// Make sure Rayquaza can learn Dragon Ascent.
|
||||
if (!Game.XY && (index == 384 || index == 814))
|
||||
if (!Game.XY && index is 384 or 814)
|
||||
t[7] = true;
|
||||
|
||||
z.TypeTutors = t;
|
||||
|
||||
@@ -7,4 +7,4 @@ public enum MoveInflictDuration
|
||||
TurnCountSwitch,
|
||||
PermanentSwitch,
|
||||
TurnCountNoSwitch,
|
||||
};
|
||||
}
|
||||
@@ -288,7 +288,7 @@ internal static FARC AnalyzeFARC(string path)
|
||||
internal static string Interpret(string path)
|
||||
{
|
||||
string fn = Path.GetFileName(path);
|
||||
if (fn == "save0.bin" || fn == "save1.bin" || fn == "save2.bin")
|
||||
if (fn is "save0.bin" or "save1.bin" or "save2.bin")
|
||||
{
|
||||
return FixMajoraChecksum(path);
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ internal static int GetRandomForme(int species, bool mega, bool alola, PersonalI
|
||||
return 0;
|
||||
if (stats[species].FormeCount <= 1)
|
||||
return 0;
|
||||
if (species == 664 || species == 665 || species == 666) // vivillon
|
||||
if (species is 664 or 665 or 666) // vivillon
|
||||
return 30; // save file specific
|
||||
if (species == 774) // minior
|
||||
return (int)(Util.Random32() % 7);
|
||||
|
||||
@@ -890,7 +890,7 @@ private void RunOWSE6()
|
||||
Enabled = false;
|
||||
new Thread(() =>
|
||||
{
|
||||
bool reload = ModifierKeys == Keys.Control || ModifierKeys == (Keys.Alt | Keys.Control);
|
||||
bool reload = ModifierKeys is Keys.Control or (Keys.Alt | Keys.Control);
|
||||
string[] files = ["encdata", "storytext", "mapGR", "mapMatrix"];
|
||||
if (reload || files.Sum(t => Directory.Exists(t) ? 0 : 1) != 0) // Dev bypass if all exist already
|
||||
FileGet(files, false);
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Windows.Forms;
|
||||
@@ -382,7 +383,7 @@ private void GetNPC()
|
||||
NUD_NMove2.Value = NPC.MovePermissions2;
|
||||
|
||||
// Uneditables
|
||||
TB_NDeg.Text = NPC.Deg18.ToString();
|
||||
TB_NDeg.Text = NPC.Deg18.ToString(CultureInfo.InvariantCulture);
|
||||
TB_Leash.Text = NPC.L1 == NPC.L2 && NPC.L2 == NPC.L3 && NPC.L3 == -1
|
||||
? TB_Leash.Text = "No Leash!"
|
||||
: $"{NPC.L1}, {NPC.L2}, {NPC.L3} -- {NPC.LDir}";
|
||||
@@ -519,8 +520,8 @@ private void DclickDestMap(object sender, EventArgs e)
|
||||
{ try { NUD_WE.Value = 0; } catch { } }
|
||||
}
|
||||
|
||||
private void ChangeWarp_X(object sender, EventArgs e) => L_WpX.Text = (NUD_WX.Value / 18).ToString();
|
||||
private void ChangeWarp_Y(object sender, EventArgs e) => L_WpY.Text = (NUD_WY.Value / 18).ToString();
|
||||
private void ChangeWarp_X(object sender, EventArgs e) => L_WpX.Text = (NUD_WX.Value / 18).ToString(CultureInfo.InvariantCulture);
|
||||
private void ChangeWarp_Y(object sender, EventArgs e) => L_WpY.Text = (NUD_WY.Value / 18).ToString(CultureInfo.InvariantCulture);
|
||||
|
||||
// Script Handling
|
||||
private void B_HLCMD_Click(object sender, EventArgs e)
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
|
||||
@@ -227,7 +228,11 @@ public class CollisionObject(byte[] data)
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return string.Join(", ", F1.ToString(), F2.ToString(), F3.ToString(), F4.ToString());
|
||||
return string.Join(", ",
|
||||
F1.ToString(CultureInfo.InvariantCulture),
|
||||
F2.ToString(CultureInfo.InvariantCulture),
|
||||
F3.ToString(CultureInfo.InvariantCulture),
|
||||
F4.ToString(CultureInfo.InvariantCulture));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -127,7 +127,7 @@ private void GetEntry()
|
||||
|
||||
private void SetEntry()
|
||||
{
|
||||
if (entry < 1 || entry == 384) return; // Don't edit invalid / Rayquaza.
|
||||
if (entry is < 1 or 384) return; // Don't edit invalid / Rayquaza.
|
||||
for (int i = 0; i < 3; i++)
|
||||
{
|
||||
if (me.Method[i] > 1)
|
||||
|
||||
@@ -194,7 +194,7 @@ private void B_RandAll_Click(object sender, EventArgs e)
|
||||
for (int i = 0; i < CB_Move.Items.Count; i++)
|
||||
{
|
||||
CB_Move.SelectedIndex = i; // Get new Move
|
||||
if (i == 165 || i == 174) continue; // Don't change Struggle or Curse
|
||||
if (i is 165 or 174) continue; // Don't change Struggle or Curse
|
||||
|
||||
// Change Damage Category if Not Status
|
||||
if (CB_Category.SelectedIndex > 0 && CHK_Category.Checked) // Not Status
|
||||
@@ -214,7 +214,7 @@ private void B_Metronome_Click(object sender, EventArgs e)
|
||||
for (int i = 0; i < CB_Move.Items.Count; i++)
|
||||
{
|
||||
CB_Move.SelectedIndex = i;
|
||||
if (CB_Move.SelectedIndex != 117 || CB_Move.SelectedIndex != 32)
|
||||
if (CB_Move.SelectedIndex is not (117 and 32))
|
||||
NUD_PP.Value = 0;
|
||||
if (CB_Move.SelectedIndex == 117)
|
||||
NUD_PP.Value = 40;
|
||||
|
||||
@@ -110,7 +110,7 @@ private void SetEntry()
|
||||
|
||||
byte usability = (byte)NUD_Usability.Value;
|
||||
|
||||
if (usability == 2 || usability == 254 || usability == 0)
|
||||
if (usability is 2 or 254 or 0)
|
||||
powerData[entry][1] = usability;
|
||||
}
|
||||
|
||||
|
||||
@@ -553,7 +553,6 @@ private void Randomize()
|
||||
ushort[] itemvals = Main.Config.ORAS ? Legal.Pouch_Items_AO : Legal.Pouch_Items_XY;
|
||||
itemvals = [.. itemvals, .. Legal.Pouch_Berry_XY];
|
||||
|
||||
string[] ImportantClasses = ["GYM", "ELITE", "CHAMPION"];
|
||||
for (int i = 1; i < CB_TrainerID.Items.Count; i++)
|
||||
{
|
||||
// Trainer Type/Mega Evo
|
||||
@@ -750,7 +749,7 @@ private static void RandomizeTrainerAIClass(TrainerData6 t, string[] trClass)
|
||||
{
|
||||
int randClass() => (int)(Rand() % trClass.Length);
|
||||
int rv; do { rv = randClass(); }
|
||||
while (rIgnoreClass.Contains(rv) || trClass[rv].StartsWith("[~") || (Main.Config.ORAS && (rv >= 0 && rv <= 63)) || (rv >= 68 && rv <= 126)); // don't allow disallowed classes
|
||||
while (rIgnoreClass.Contains(rv) || trClass[rv].StartsWith("[~") || (Main.Config.ORAS && rv is >= 0 and <= 63) || rv is >= 68 and <= 126); // don't allow disallowed classes
|
||||
t.Class = rv;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -718,7 +718,7 @@ private void SetRandomForm(int slot, int species)
|
||||
{
|
||||
if (CHK_MegaForm.Checked && Main.SpeciesStat[species].FormeCount > 1 && Legal.Mega_ORAS.Contains((ushort)species))
|
||||
All_Forms[slot].Value = Random32() % Main.SpeciesStat[species].FormeCount; // Slot-Random
|
||||
else if (species == 666 || species == 665 || species == 664) // Vivillon
|
||||
else if (species is 666 or 665 or 664) // Vivillon
|
||||
All_Forms[slot].Value = Random32() % 20;
|
||||
else if (species == 386) // Deoxys
|
||||
All_Forms[slot].Value = Random32() % 4;
|
||||
@@ -726,17 +726,17 @@ private void SetRandomForm(int slot, int species)
|
||||
All_Forms[slot].Value = 31;
|
||||
else if (species == 550) // Basculin
|
||||
All_Forms[slot].Value = Random32() % 2;
|
||||
else if (species == 412 || species == 413) // Wormadam
|
||||
else if (species is 412 or 413) // Wormadam
|
||||
All_Forms[slot].Value = Random32() % 3;
|
||||
else if (species == 422 || species == 423) // Gastrodon
|
||||
else if (species is 422 or 423) // Gastrodon
|
||||
All_Forms[slot].Value = Random32() % 2;
|
||||
else if (species == 585 || species == 586) // Sawsbuck
|
||||
else if (species is 585 or 586) // Sawsbuck
|
||||
All_Forms[slot].Value = Random32() % 4;
|
||||
else if (species == 669 || species == 671) // Flabebe/Florges
|
||||
else if (species is 669 or 671) // Flabebe/Florges
|
||||
All_Forms[slot].Value = Random32() % 5;
|
||||
else if (species == 670) // Floette
|
||||
All_Forms[slot].Value = Random32() % 6;
|
||||
else if (species == 710 || species == 711) // Pumpkaboo
|
||||
else if (species is 710 or 711) // Pumpkaboo
|
||||
All_Forms[slot].Value = Random32() % 4;
|
||||
else
|
||||
All_Forms[slot].Value = 0;
|
||||
|
||||
@@ -175,7 +175,7 @@ private void ChangeMoveRandomization(object sender, EventArgs e)
|
||||
NUD_Damage.Enabled = NUD_STAB.Enabled = CB_Moves.SelectedIndex == 1;
|
||||
|
||||
CHK_ForceHighPower.Enabled = CHK_ForceHighPower.Checked = NUD_ForceHighPower.Enabled =
|
||||
CHK_NoFixedDamage.Enabled = CHK_NoFixedDamage.Checked = (CB_Moves.SelectedIndex == 1 || CB_Moves.SelectedIndex == 2);
|
||||
CHK_NoFixedDamage.Enabled = CHK_NoFixedDamage.Checked = CB_Moves.SelectedIndex is 1 or 2;
|
||||
}
|
||||
|
||||
private void CHK_6PKM_CheckedChanged(object sender, EventArgs e)
|
||||
|
||||
@@ -567,7 +567,7 @@ private void SetRandomForm(int slot, int species)
|
||||
{
|
||||
if (CHK_MegaForm.Checked && Main.SpeciesStat[species].FormeCount > 1 && Legal.Mega_XY.Contains((ushort)species))
|
||||
All_Form[slot].Value = Random32() % Main.SpeciesStat[species].FormeCount; // Slot-Random
|
||||
else if (species == 666 || species == 665 || species == 664) // Vivillon
|
||||
else if (species is 666 or 665 or 664) // Vivillon
|
||||
All_Form[slot].Value = Random32() % 20;
|
||||
else if (species == 386) // Deoxys
|
||||
All_Form[slot].Value = Random32() % 4;
|
||||
@@ -575,17 +575,17 @@ private void SetRandomForm(int slot, int species)
|
||||
All_Form[slot].Value = 31;
|
||||
else if (species == 550) // Basculin
|
||||
All_Form[slot].Value = Random32() % 2;
|
||||
else if (species == 412 || species == 413) // Wormadam
|
||||
else if (species is 412 or 413) // Wormadam
|
||||
All_Form[slot].Value = Random32() % 3;
|
||||
else if (species == 422 || species == 423) // Gastrodon
|
||||
else if (species is 422 or 423) // Gastrodon
|
||||
All_Form[slot].Value = Random32() % 2;
|
||||
else if (species == 585 || species == 586) // Sawsbuck
|
||||
else if (species is 585 or 586) // Sawsbuck
|
||||
All_Form[slot].Value = Random32() % 4;
|
||||
else if (species == 669 || species == 671) // Flabebe/Florges
|
||||
else if (species is 669 or 671) // Flabebe/Florges
|
||||
All_Form[slot].Value = Random32() % 5;
|
||||
else if (species == 670) // Floette
|
||||
All_Form[slot].Value = Random32() % 6;
|
||||
else if (species == 710 || species == 711) // Pumpkaboo
|
||||
else if (species is 710 or 711) // Pumpkaboo
|
||||
All_Form[slot].Value = Random32() % 4;
|
||||
else
|
||||
All_Form[slot].Value = 0;
|
||||
|
||||
@@ -162,12 +162,17 @@ private void B_RandAll_Click(object sender, EventArgs e)
|
||||
SetList();
|
||||
// Set up advanced randomization options
|
||||
var evos = files.Select(z => new EvolutionSet7(z)).ToArray();
|
||||
var evoRand = new EvolutionRandomizer(Main.Config, evos);
|
||||
evoRand.Randomizer.rBST = CHK_BST.Checked;
|
||||
evoRand.Randomizer.rEXP = CHK_Exp.Checked;
|
||||
evoRand.Randomizer.rType = CHK_Type.Checked;
|
||||
evoRand.Randomizer.L = CHK_L.Checked;
|
||||
evoRand.Randomizer.E = CHK_E.Checked;
|
||||
var evoRand = new EvolutionRandomizer(Main.Config, evos)
|
||||
{
|
||||
Randomizer =
|
||||
{
|
||||
rBST = CHK_BST.Checked,
|
||||
rEXP = CHK_Exp.Checked,
|
||||
rType = CHK_Type.Checked,
|
||||
L = CHK_L.Checked,
|
||||
E = CHK_E.Checked,
|
||||
},
|
||||
};
|
||||
evoRand.Randomizer.Initialize();
|
||||
evoRand.Execute();
|
||||
evos.Select(z => z.Write()).ToArray().CopyTo(files, 0);
|
||||
@@ -199,12 +204,17 @@ private void B_EveryLevel_Click(object sender, EventArgs e)
|
||||
|
||||
SetList();
|
||||
var evos = files.Select(z => new EvolutionSet7(z)).ToArray();
|
||||
var evoRand = new EvolutionRandomizer(Main.Config, evos);
|
||||
evoRand.Randomizer.rBST = CHK_BST.Checked;
|
||||
evoRand.Randomizer.rEXP = CHK_Exp.Checked;
|
||||
evoRand.Randomizer.rType = CHK_Type.Checked;
|
||||
evoRand.Randomizer.L = CHK_L.Checked;
|
||||
evoRand.Randomizer.E = CHK_E.Checked;
|
||||
var evoRand = new EvolutionRandomizer(Main.Config, evos)
|
||||
{
|
||||
Randomizer =
|
||||
{
|
||||
rBST = CHK_BST.Checked,
|
||||
rEXP = CHK_Exp.Checked,
|
||||
rType = CHK_Type.Checked,
|
||||
L = CHK_L.Checked,
|
||||
E = CHK_E.Checked,
|
||||
},
|
||||
};
|
||||
evoRand.Randomizer.Initialize();
|
||||
evoRand.ExecuteEvolveEveryLevel();
|
||||
evoRand.Execute(); // randomize right after
|
||||
|
||||
@@ -127,7 +127,7 @@ private void GetEntry()
|
||||
|
||||
private void SetEntry()
|
||||
{
|
||||
if (entry < 1 || entry == 384) return; // Don't edit invalid / Rayquaza.
|
||||
if (entry is < 1 or 384) return; // Don't edit invalid / Rayquaza.
|
||||
for (int i = 0; i < 2; i++)
|
||||
{
|
||||
if (me.Method[i] > 1)
|
||||
|
||||
@@ -252,7 +252,7 @@ private void B_RandAll_Click(object sender, EventArgs e)
|
||||
for (int i = 0; i < CB_Move.Items.Count; i++)
|
||||
{
|
||||
CB_Move.SelectedIndex = i; // Get new Move
|
||||
if (i == 165 || i == 174) continue; // Don't change Struggle or Curse
|
||||
if (i is 165 or 174) continue; // Don't change Struggle or Curse
|
||||
|
||||
// Change Damage Category if Not Status
|
||||
if (CB_Category.SelectedIndex > 0 && CHK_Category.Checked) // Not Status
|
||||
@@ -272,7 +272,7 @@ private void B_Metronome_Click(object sender, EventArgs e)
|
||||
for (int i = 0; i < CB_Move.Items.Count; i++)
|
||||
{
|
||||
CB_Move.SelectedIndex = i;
|
||||
if (CB_Move.SelectedIndex != 117 || CB_Move.SelectedIndex != 32)
|
||||
if (CB_Move.SelectedIndex is not (117 and 32))
|
||||
NUD_PP.Value = 0;
|
||||
if (CB_Move.SelectedIndex == 117)
|
||||
NUD_PP.Value = 40;
|
||||
|
||||
@@ -67,7 +67,7 @@ private void SetupFLP()
|
||||
dgvIndex.DisplayIndex = c++;
|
||||
dgvIndex.Width = 45;
|
||||
dgvIndex.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
|
||||
((DataGridViewTextBoxColumn)dgvIndex).MaxInputLength = 2;
|
||||
dgvIndex.MaxInputLength = 2;
|
||||
}
|
||||
dgv.Columns.Add(dgvIndex);
|
||||
}
|
||||
@@ -118,7 +118,7 @@ private byte[] SetList()
|
||||
cell.Value = 0.ToString();
|
||||
continue;
|
||||
}
|
||||
if (val > 100 || val < 0)
|
||||
if (val is > 100 or < 0)
|
||||
{
|
||||
val = 0;
|
||||
cell.Value = 0.ToString();
|
||||
|
||||
@@ -781,18 +781,17 @@ private void B_Randomize_Click(object sender, EventArgs e)
|
||||
pk.Form = Randomizer.GetRandomForme(pk.Species, CHK_RandomMegaForm.Checked, true, Main.SpeciesStat);
|
||||
}
|
||||
|
||||
switch (CB_Moves.SelectedIndex)
|
||||
pk.Moves = CB_Moves.SelectedIndex switch
|
||||
{
|
||||
case 1: // Random
|
||||
pk.Moves = move.GetRandomMoveset(pk.Species, 4);
|
||||
break;
|
||||
case 2: // Current LevelUp
|
||||
pk.Moves = learn.GetCurrentMoves(pk.Species, pk.Form, pk.Level, 4);
|
||||
break;
|
||||
case 3: // Metronome
|
||||
pk.Moves = [118, 0, 0, 0];
|
||||
break;
|
||||
}
|
||||
// Random
|
||||
1 => move.GetRandomMoveset(pk.Species, 4),
|
||||
// Current LevelUp
|
||||
2 => learn.GetCurrentMoves(pk.Species, pk.Form, pk.Level, 4),
|
||||
// Metronome
|
||||
3 => [118, 0, 0, 0],
|
||||
// Otherwise
|
||||
_ => pk.Moves,
|
||||
};
|
||||
|
||||
// high-power attacks
|
||||
if (CHK_ForceHighPower.Checked && pk.Level >= NUD_ForceHighPower.Value)
|
||||
@@ -846,7 +845,7 @@ private void CB_Moves_SelectedIndexChanged(object sender, EventArgs e)
|
||||
NUD_Damage.Enabled = NUD_STAB.Enabled = CB_Moves.SelectedIndex == 1;
|
||||
|
||||
CHK_ForceHighPower.Enabled = CHK_ForceHighPower.Checked = NUD_ForceHighPower.Enabled =
|
||||
CHK_NoFixedDamage.Enabled = CHK_NoFixedDamage.Checked = (CB_Moves.SelectedIndex == 1 || CB_Moves.SelectedIndex == 2);
|
||||
CHK_NoFixedDamage.Enabled = CHK_NoFixedDamage.Checked = CB_Moves.SelectedIndex is 1 or 2;
|
||||
}
|
||||
|
||||
private void CHK_Damage_CheckedChanged(object sender, EventArgs e)
|
||||
|
||||
@@ -522,32 +522,30 @@ public static class Extensions
|
||||
public static Bitmap GetTableImg(this EncounterTable table, Font font)
|
||||
{
|
||||
var img = new Bitmap(10 * 40, 10 * 30);
|
||||
using (var g = Graphics.FromImage(img))
|
||||
using var g = Graphics.FromImage(img);
|
||||
g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SingleBitPerPixelGridFit;
|
||||
for (int i = 0; i < table.Rates.Length; i++)
|
||||
g.DrawString($"{table.Rates[i]}%", font, Brushes.Black, new PointF((40 * i) + 10, 10));
|
||||
g.DrawString("Weather: ", font, Brushes.Black, new PointF(10, 280));
|
||||
|
||||
// Draw Sprites
|
||||
for (int i = 0; i < table.Encounter7s.Length - 1; i++)
|
||||
{
|
||||
g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SingleBitPerPixelGridFit;
|
||||
for (int i = 0; i < table.Rates.Length; i++)
|
||||
g.DrawString($"{table.Rates[i]}%", font, Brushes.Black, new PointF((40 * i) + 10, 10));
|
||||
g.DrawString("Weather: ", font, Brushes.Black, new PointF(10, 280));
|
||||
|
||||
// Draw Sprites
|
||||
for (int i = 0; i < table.Encounter7s.Length - 1; i++)
|
||||
for (int j = 0; j < table.Encounter7s[i].Length; j++)
|
||||
{
|
||||
for (int j = 0; j < table.Encounter7s[i].Length; j++)
|
||||
{
|
||||
var slot = table.Encounter7s[i][j];
|
||||
var sprite = GetSprite((int)slot.Species, (int)slot.Forme);
|
||||
g.DrawImage(sprite, new Point(40 * j, 30 * (i + 1)));
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i < table.AdditionalSOS.Length; i++)
|
||||
{
|
||||
var slot = table.AdditionalSOS[i];
|
||||
var slot = table.Encounter7s[i][j];
|
||||
var sprite = GetSprite((int)slot.Species, (int)slot.Forme);
|
||||
g.DrawImage(sprite, new Point((40 * i) + 60, 270));
|
||||
g.DrawImage(sprite, new Point(40 * j, 30 * (i + 1)));
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i < table.AdditionalSOS.Length; i++)
|
||||
{
|
||||
var slot = table.AdditionalSOS[i];
|
||||
var sprite = GetSprite((int)slot.Species, (int)slot.Forme);
|
||||
g.DrawImage(sprite, new Point((40 * i) + 60, 270));
|
||||
}
|
||||
|
||||
static Bitmap GetSprite(int species, int form)
|
||||
{
|
||||
return species == 0
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace pk3DS.WinForms;
|
||||
|
||||
@@ -129,7 +129,7 @@ internal static byte[] CompressBytes(byte[] db)
|
||||
bool sign4 = val < 0 && cmd < 0 && db[0] >= 0xC0; // 4 byte signed
|
||||
bool sign3 = val < 0 && cmd < 0 && db[0] < 0xC0; // 3 byte signed
|
||||
bool sign2 = val < 0 && cmd > 0; // 2 byte signed
|
||||
bool liter = cmd >= 0 && cmd < 0x40; // Literal
|
||||
bool liter = cmd is >= 0 and < 0x40; // Literal
|
||||
bool manyb = cmd >= 0x40; // manybit
|
||||
|
||||
if (sign4)
|
||||
|
||||
@@ -127,7 +127,7 @@ public static bool IsTotemForm(int species, int form, int generation = 7)
|
||||
if (!Legal.Totem_USUM.Contains(species))
|
||||
return false;
|
||||
if (species == 778) // Mimikyu
|
||||
return form == 2 || form == 3;
|
||||
return form is 2 or 3;
|
||||
if (Legal.Totem_Alolan.Contains(species))
|
||||
return form == 2;
|
||||
return form == 1;
|
||||
@@ -586,7 +586,7 @@ public static Bitmap TrimBitmap(Bitmap source)
|
||||
}
|
||||
|
||||
var dest = new Bitmap(srcRect.Width, srcRect.Height);
|
||||
var destRect = new Rectangle(0, 0, srcRect.Width, srcRect.Height);
|
||||
var destRect = srcRect with { X = 0, Y = 0 };
|
||||
using var graphics = Graphics.FromImage(dest);
|
||||
graphics.DrawImage(source, destRect, srcRect, GraphicsUnit.Pixel);
|
||||
return dest;
|
||||
|
||||
Reference in New Issue
Block a user