Add unlock all fashion cheat for LGPE

This commit is contained in:
sora10pls 2023-04-30 12:01:08 -04:00
parent 7e2552d918
commit 6eb82e3847
13 changed files with 79 additions and 6 deletions

View File

@ -1,4 +1,4 @@
using System.Collections.Generic;
using System.Collections.Generic;
namespace PKHeX.Core;
@ -48,6 +48,8 @@ public SaveBlockAccessor7b(SAV7b sav)
EventWork = new EventWork7b(sav, GetBlockOffset(BelugaBlockIndex.EventWork));
GiftRecords = new WB7Records(sav, GetBlockOffset(BelugaBlockIndex.WB7Record));
Captured = new CaptureRecords(sav, GetBlockOffset(BelugaBlockIndex.CaptureRecord));
FashionPlayer = new Fashion7b(sav, GetBlockOffset(BelugaBlockIndex.FashionPlayer));
FashionStarter = new Fashion7b(sav, GetBlockOffset(BelugaBlockIndex.FashionStarter));
}
public MyItem Items { get; }
@ -60,6 +62,8 @@ public SaveBlockAccessor7b(SAV7b sav)
public PokeListHeader Storage { get; }
public WB7Records GiftRecords { get; }
public CaptureRecords Captured { get; }
public Fashion7b FashionPlayer { get; }
public Fashion7b FashionStarter { get; }
public BlockInfo GetBlock(BelugaBlockIndex index) => BlockInfo[(int)index];
public int GetBlockOffset(BelugaBlockIndex index) => GetBlock(index).Offset;
}

View File

@ -0,0 +1,39 @@
using System;
namespace PKHeX.Core;
public sealed class Fashion7b : SaveBlock<SAV7b>
{
public Fashion7b(SAV7b sav, int offset) : base(sav) => Offset = offset;
public void UnlockAllAccessories()
{
SAV.SetData(AllAccessoriesPlayer, Offset);
SAV.SetData(AllAccessoriesStarter, Offset);
}
private static ReadOnlySpan<byte> AllAccessoriesPlayer => new byte[]
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
private static ReadOnlySpan<byte> AllAccessoriesStarter => new byte[]
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x7F, 0xFD, 0xFB, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x7F, 0xFD, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
}

View File

@ -1571,6 +1571,7 @@ SAV_Trainer7.Tab_BattleTree=Kampfbaum
SAV_Trainer7.Tab_Misc=Sonstiges
SAV_Trainer7.Tab_Overview=Übersicht
SAV_Trainer7.Tab_Ultra=Ultra
SAV_Trainer7GG.B_AllFashionItems=Unlock all Fashion Items
SAV_Trainer7GG.B_AllTrainerTitles=Alle Trainer Titel
SAV_Trainer7GG.B_Cancel=Abbrechen
SAV_Trainer7GG.B_DeleteAll=Alle löschen

View File

@ -1571,6 +1571,7 @@ SAV_Trainer7.Tab_BattleTree=Battle Tree
SAV_Trainer7.Tab_Misc=Misc
SAV_Trainer7.Tab_Overview=Overview
SAV_Trainer7.Tab_Ultra=Ultra
SAV_Trainer7GG.B_AllFashionItems=Unlock all Fashion Items
SAV_Trainer7GG.B_AllTrainerTitles=Unlock all Trainer Titles
SAV_Trainer7GG.B_Cancel=Cancel
SAV_Trainer7GG.B_DeleteAll=Delete All
@ -1594,7 +1595,7 @@ SAV_Trainer7GG.L_Seconds=Sec:
SAV_Trainer7GG.L_TrainerName=Trainer Name:
SAV_Trainer7GG.Label_SID=SID:
SAV_Trainer7GG.Label_TID=TID:
SAV_Trainer7GG.Tab_Complex=Go Complex
SAV_Trainer7GG.Tab_Complex=GO Complex
SAV_Trainer7GG.Tab_Overview=Overview
SAV_Trainer8.B_Cancel=Cancel
SAV_Trainer8.B_CollectDiglett=Collect All Diglett

View File

@ -1571,6 +1571,7 @@ SAV_Trainer7.Tab_BattleTree=Árbol de batalla
SAV_Trainer7.Tab_Misc=Misc.
SAV_Trainer7.Tab_Overview=General
SAV_Trainer7.Tab_Ultra=Ultra
SAV_Trainer7GG.B_AllFashionItems=Unlock all Fashion Items
SAV_Trainer7GG.B_AllTrainerTitles=Desbloquear todos los Títulos de Entrenador
SAV_Trainer7GG.B_Cancel=Cancelar
SAV_Trainer7GG.B_DeleteAll=Borrar todo

View File

@ -1571,6 +1571,7 @@ SAV_Trainer7.Tab_BattleTree=Arbre de Combat
SAV_Trainer7.Tab_Misc=Misc
SAV_Trainer7.Tab_Overview=Overview
SAV_Trainer7.Tab_Ultra=Ultra
SAV_Trainer7GG.B_AllFashionItems=Unlock all Fashion Items
SAV_Trainer7GG.B_AllTrainerTitles=Débloquez tous les titres de dresseur
SAV_Trainer7GG.B_Cancel=Annuler
SAV_Trainer7GG.B_DeleteAll=Tout supprimer
@ -1594,7 +1595,7 @@ SAV_Trainer7GG.L_Seconds=Sec.
SAV_Trainer7GG.L_TrainerName=Nom de dresseur:
SAV_Trainer7GG.Label_SID=SID:
SAV_Trainer7GG.Label_TID=TID:
SAV_Trainer7GG.Tab_Complex=Go Complex
SAV_Trainer7GG.Tab_Complex=GO Complex
SAV_Trainer7GG.Tab_Overview=Vue d'ensemble
SAV_Trainer8.B_Cancel=Annuler
SAV_Trainer8.B_CollectDiglett=Collectez tous les Taupiqueur

View File

@ -1571,6 +1571,7 @@ SAV_Trainer7.Tab_BattleTree=Albero Lotta
SAV_Trainer7.Tab_Misc=Varie
SAV_Trainer7.Tab_Overview=Panoramica
SAV_Trainer7.Tab_Ultra=Ultra
SAV_Trainer7GG.B_AllFashionItems=Unlock all Fashion Items
SAV_Trainer7GG.B_AllTrainerTitles=Sblocca tutti i Titoli Allenatore
SAV_Trainer7GG.B_Cancel=Annulla
SAV_Trainer7GG.B_DeleteAll=Elimina Tutto
@ -1594,7 +1595,7 @@ SAV_Trainer7GG.L_Seconds=Sec:
SAV_Trainer7GG.L_TrainerName=Nome Allenatore:
SAV_Trainer7GG.Label_SID=SID:
SAV_Trainer7GG.Label_TID=TID:
SAV_Trainer7GG.Tab_Complex=Go Park
SAV_Trainer7GG.Tab_Complex=GO Park
SAV_Trainer7GG.Tab_Overview=Panoramica
SAV_Trainer8.B_Cancel=Annulla
SAV_Trainer8.B_CollectDiglett=Collect All Diglett

View File

@ -1571,6 +1571,7 @@ SAV_Trainer7.Tab_BattleTree=バトルツリー
SAV_Trainer7.Tab_Misc=その他
SAV_Trainer7.Tab_Overview=メイン
SAV_Trainer7.Tab_Ultra=US/UM
SAV_Trainer7GG.B_AllFashionItems=Unlock all Fashion Items
SAV_Trainer7GG.B_AllTrainerTitles=Unlock all Trainer Titles
SAV_Trainer7GG.B_Cancel=Cancel
SAV_Trainer7GG.B_DeleteAll=Delete All

View File

@ -1571,6 +1571,7 @@ SAV_Trainer7.Tab_BattleTree=배틀트리
SAV_Trainer7.Tab_Misc=기타
SAV_Trainer7.Tab_Overview=개요
SAV_Trainer7.Tab_Ultra=울트라
SAV_Trainer7GG.B_AllFashionItems=Unlock all Fashion Items
SAV_Trainer7GG.B_AllTrainerTitles=Unlock all Trainer Titles
SAV_Trainer7GG.B_Cancel=취소
SAV_Trainer7GG.B_DeleteAll=모두 삭제

View File

@ -1570,6 +1570,7 @@ SAV_Trainer7.Tab_BattleTree=对战树
SAV_Trainer7.Tab_Misc=杂项
SAV_Trainer7.Tab_Overview=概览
SAV_Trainer7.Tab_Ultra=究极
SAV_Trainer7GG.B_AllFashionItems=Unlock all Fashion Items
SAV_Trainer7GG.B_AllTrainerTitles=解锁所有训练家头衔
SAV_Trainer7GG.B_Cancel=取消
SAV_Trainer7GG.B_DeleteAll=删除全部

View File

@ -1571,6 +1571,7 @@ SAV_Trainer7.Tab_BattleTree=對戰樹
SAV_Trainer7.Tab_Misc=雜項
SAV_Trainer7.Tab_Overview=概覽
SAV_Trainer7.Tab_Ultra=究極
SAV_Trainer7GG.B_AllFashionItems=Unlock all Fashion Items
SAV_Trainer7GG.B_AllTrainerTitles=解鎖所有訓練家頭銜
SAV_Trainer7GG.B_Cancel=取消
SAV_Trainer7GG.B_DeleteAll=刪除全部

View File

@ -1,4 +1,4 @@
namespace PKHeX.WinForms
namespace PKHeX.WinForms
{
partial class SAV_Trainer7GG
{
@ -57,6 +57,7 @@ private void InitializeComponent()
CB_Gender = new System.Windows.Forms.ComboBox();
TC_Editor = new System.Windows.Forms.TabControl();
Tab_Overview = new System.Windows.Forms.TabPage();
B_AllFashionItems = new System.Windows.Forms.Button();
B_AllTrainerTitles = new System.Windows.Forms.Button();
TB_RivalName = new System.Windows.Forms.TextBox();
L_RivalName = new System.Windows.Forms.Label();
@ -342,6 +343,7 @@ private void InitializeComponent()
//
// Tab_Overview
//
Tab_Overview.Controls.Add(B_AllFashionItems);
Tab_Overview.Controls.Add(B_AllTrainerTitles);
Tab_Overview.Controls.Add(TB_RivalName);
Tab_Overview.Controls.Add(L_RivalName);
@ -365,6 +367,17 @@ private void InitializeComponent()
Tab_Overview.Text = "Overview";
Tab_Overview.UseVisualStyleBackColor = true;
//
// B_AllFashionItems
//
B_AllFashionItems.Location = new System.Drawing.Point(290, 173);
B_AllFashionItems.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
B_AllFashionItems.Name = "B_AllFashionItems";
B_AllFashionItems.Size = new System.Drawing.Size(153, 73);
B_AllFashionItems.TabIndex = 70;
B_AllFashionItems.Text = "Unlock all Fashion Items";
B_AllFashionItems.UseVisualStyleBackColor = true;
B_AllFashionItems.Click += B_AllFashionItems_Click;
//
// B_AllTrainerTitles
//
B_AllTrainerTitles.Location = new System.Drawing.Point(290, 252);
@ -443,7 +456,7 @@ private void InitializeComponent()
Tab_Complex.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3);
Tab_Complex.Size = new System.Drawing.Size(452, 337);
Tab_Complex.TabIndex = 4;
Tab_Complex.Text = "Go Complex";
Tab_Complex.Text = "GO Complex";
Tab_Complex.UseVisualStyleBackColor = true;
Tab_Complex.DragDrop += Main_DragDrop;
Tab_Complex.DragEnter += Main_DragEnter;
@ -631,5 +644,6 @@ private void InitializeComponent()
private System.Windows.Forms.Button B_DeleteAll;
private System.Windows.Forms.Button B_DeleteGo;
private System.Windows.Forms.Button B_AllTrainerTitles;
private System.Windows.Forms.Button B_AllFashionItems;
}
}

View File

@ -294,4 +294,11 @@ private void B_AllTrainerTitles_Click(object sender, EventArgs e)
SAV.Blocks.EventWork.UnlockAllTitleFlags();
System.Media.SystemSounds.Asterisk.Play();
}
private void B_AllFashionItems_Click(object sender, EventArgs e)
{
SAV.Blocks.FashionPlayer.UnlockAllAccessories();
SAV.Blocks.FashionStarter.UnlockAllAccessories();
System.Media.SystemSounds.Asterisk.Play();
}
}