private void clickSet(object sender, EventArgs e)
{
if (!verifiedPKX()) { return; }
int slot = getSlot(sender);
if (slot == 30 && (CB_Species.SelectedIndex == 0 || CHK_IsEgg.Checked)) { Util.Alert("Can't have empty/egg first slot."); return; }
int offset = getPKXOffset(slot);
byte[] pkxdata = preparepkx();
byte[] ekxdata = PKX.encryptArray(pkxdata);
if (!savegame_oras)
{
// User Protection
bool move1 = BitConverter.ToInt16(pkxdata, 0x5A) > 617;
bool move2 = BitConverter.ToInt16(pkxdata, 0x5C) > 617;
bool move3 = BitConverter.ToInt16(pkxdata, 0x5E) > 617;
bool move4 = BitConverter.ToInt16(pkxdata, 0x60) > 617;
bool ability = pkxdata[0x14] > 188;
bool item = BitConverter.ToInt16(pkxdata, 0x0A) > 717;
string err = "";
if (move1 || move2 || move3 || move4)
err = "Move does not exist in X/Y.";
else if (ability)
err = "Ability does not exist in X/Y.";
else if (item)
err = "Item does not exist in X/Y.";
if ((err != "") && Util.Prompt(MessageBoxButtons.YesNo, err, "Continue?") != DialogResult.Yes)
return;
}
if (slot >= 30 && slot < 36) // Party
Array.Copy(ekxdata, 0, savefile, offset, 0x104);
else if (slot < 30 || (slot >= 36 && slot < 42 && DEV_Ability.Enabled))
Array.Copy(ekxdata, 0, savefile, offset, 0xE8);
else return;
setParty();
setPokedex(pkxdata);
getQuickFiller(getPictureBox(slot), pkxdata);
savedited = true;
getSlotColor(slot, Properties.Resources.slotSet);
}
private void clickDelete(object sender, EventArgs e)