diff --git a/PKHeX.Core/Resources/text/de/lang_de.txt b/PKHeX.Core/Resources/text/de/lang_de.txt
index 22c45afc8..4a21a3d29 100644
--- a/PKHeX.Core/Resources/text/de/lang_de.txt
+++ b/PKHeX.Core/Resources/text/de/lang_de.txt
@@ -949,6 +949,7 @@ SAV_Trainer.CHK_Badge5=5
SAV_Trainer.CHK_Badge6=6
SAV_Trainer.CHK_Badge7=7
SAV_Trainer.CHK_Badge8=8
+SAV_Trainer.CHK_MegaRayquazaUnlocked=Mega Rayquaza Unlocked
SAV_Trainer.CHK_MegaUnlocked=Mega Evolution Unlocked
SAV_Trainer.GB_Adventure=Abenteuer Info
SAV_Trainer.GB_MaisonBest=Kampfhaus Serien (Beste)
@@ -1112,6 +1113,7 @@ SettingsEditor.ModifyUnset=Notify Unset Changes
SettingsEditor.SetUpdateDex=Ändern Pokédex
SettingsEditor.SetUpdatePKM=Ändern PKM Info
SettingsEditor.ShinySprites=Shiny Sprites
+SettingsEditor.ShowEggSpriteAsHeldItem=Show Egg Sprite As Held Item
SettingsEditor.Unicode=Unicode
SuperTrainingEditor.B_All=Alle
SuperTrainingEditor.B_Cancel=Abbrechen
diff --git a/PKHeX.Core/Resources/text/en/lang_en.txt b/PKHeX.Core/Resources/text/en/lang_en.txt
index 7bd2252d0..15843728d 100644
--- a/PKHeX.Core/Resources/text/en/lang_en.txt
+++ b/PKHeX.Core/Resources/text/en/lang_en.txt
@@ -945,6 +945,7 @@ SAV_Trainer.CHK_Badge5=5
SAV_Trainer.CHK_Badge6=6
SAV_Trainer.CHK_Badge7=7
SAV_Trainer.CHK_Badge8=8
+SAV_Trainer.CHK_MegaRayquazaUnlocked=Mega Rayquaza Unlocked
SAV_Trainer.CHK_MegaUnlocked=Mega Evolution Unlocked
SAV_Trainer.GB_Adventure=Adventure Info
SAV_Trainer.GB_MaisonBest=Maison Streaks (Best)
@@ -1108,6 +1109,7 @@ SettingsEditor.ModifyUnset=Notify Unset Changes
SettingsEditor.SetUpdateDex=Modify Pokédex
SettingsEditor.SetUpdatePKM=Modify PKM Info
SettingsEditor.ShinySprites=Shiny Sprites
+SettingsEditor.ShowEggSpriteAsHeldItem=Show Egg Sprite As Held Item
SettingsEditor.Unicode=Unicode
SuperTrainingEditor.B_All=Give All
SuperTrainingEditor.B_Cancel=Cancel
diff --git a/PKHeX.Core/Resources/text/es/lang_es.txt b/PKHeX.Core/Resources/text/es/lang_es.txt
index 2006abbbe..d10681e4e 100644
--- a/PKHeX.Core/Resources/text/es/lang_es.txt
+++ b/PKHeX.Core/Resources/text/es/lang_es.txt
@@ -945,6 +945,7 @@ SAV_Trainer.CHK_Badge5=5
SAV_Trainer.CHK_Badge6=6
SAV_Trainer.CHK_Badge7=7
SAV_Trainer.CHK_Badge8=8
+SAV_Trainer.CHK_MegaRayquazaUnlocked=Mega Rayquaza Unlocked
SAV_Trainer.CHK_MegaUnlocked=Mega evolución desbloqueada
SAV_Trainer.GB_Adventure=Información de la aventura
SAV_Trainer.GB_MaisonBest=Rachas Mansión (Mejor)
@@ -1108,6 +1109,7 @@ SettingsEditor.ModifyUnset=Notificar cambios no hechos
SettingsEditor.SetUpdateDex=Modificar Pokédex
SettingsEditor.SetUpdatePKM=Modificar info PKM
SettingsEditor.ShinySprites=Sprites variocolor
+SettingsEditor.ShowEggSpriteAsHeldItem=Show Egg Sprite As Held Item
SettingsEditor.Unicode=Unicode
SuperTrainingEditor.B_All=Dar todos
SuperTrainingEditor.B_Cancel=Cancelar
diff --git a/PKHeX.Core/Resources/text/fr/lang_fr.txt b/PKHeX.Core/Resources/text/fr/lang_fr.txt
index 2383b61cb..6df4334ab 100644
--- a/PKHeX.Core/Resources/text/fr/lang_fr.txt
+++ b/PKHeX.Core/Resources/text/fr/lang_fr.txt
@@ -949,6 +949,7 @@ SAV_Trainer.CHK_Badge5=5
SAV_Trainer.CHK_Badge6=6
SAV_Trainer.CHK_Badge7=7
SAV_Trainer.CHK_Badge8=8
+SAV_Trainer.CHK_MegaRayquazaUnlocked=Mega Rayquaza Unlocked
SAV_Trainer.CHK_MegaUnlocked=Mega Evolution Unlocked
SAV_Trainer.GB_Adventure=Adventure Info
SAV_Trainer.GB_MaisonBest=Maison Streaks (Best)
@@ -1112,6 +1113,7 @@ SettingsEditor.ModifyUnset=Notify Unset Changes
SettingsEditor.SetUpdateDex=Modifier Infos Pokédex
SettingsEditor.SetUpdatePKM=Modifier Infos Pokémon
SettingsEditor.ShinySprites=Shiny Sprites
+SettingsEditor.ShowEggSpriteAsHeldItem=Show Egg Sprite As Held Item
SettingsEditor.Unicode=Unicode
SuperTrainingEditor.B_All=Give All
SuperTrainingEditor.B_Cancel=Cancel
diff --git a/PKHeX.Core/Resources/text/it/lang_it.txt b/PKHeX.Core/Resources/text/it/lang_it.txt
index ab0c4d818..088ce0194 100644
--- a/PKHeX.Core/Resources/text/it/lang_it.txt
+++ b/PKHeX.Core/Resources/text/it/lang_it.txt
@@ -955,6 +955,7 @@ SAV_Trainer.CHK_Badge5=5
SAV_Trainer.CHK_Badge6=6
SAV_Trainer.CHK_Badge7=7
SAV_Trainer.CHK_Badge8=8
+SAV_Trainer.CHK_MegaRayquazaUnlocked=Mega Rayquaza Unlocked
SAV_Trainer.CHK_MegaUnlocked=Mega Evolution Unlocked
SAV_Trainer.GB_Adventure=Adventure Info
SAV_Trainer.GB_MaisonBest=Maison Streaks (Best)
@@ -1118,6 +1119,7 @@ SettingsEditor.ModifyUnset=Notify Unset Changes
SettingsEditor.SetUpdateDex=Modify Pokédex
SettingsEditor.SetUpdatePKM=Modify PKM Info
SettingsEditor.ShinySprites=Shiny Sprites
+SettingsEditor.ShowEggSpriteAsHeldItem=Show Egg Sprite As Held Item
SettingsEditor.Unicode=Unicode
SuperTrainingEditor.B_All=Give All
SuperTrainingEditor.B_Cancel=Cancel
diff --git a/PKHeX.Core/Resources/text/ja/lang_ja.txt b/PKHeX.Core/Resources/text/ja/lang_ja.txt
index fa00550bc..9aa91ab24 100644
--- a/PKHeX.Core/Resources/text/ja/lang_ja.txt
+++ b/PKHeX.Core/Resources/text/ja/lang_ja.txt
@@ -949,6 +949,7 @@ SAV_Trainer.CHK_Badge5=5
SAV_Trainer.CHK_Badge6=6
SAV_Trainer.CHK_Badge7=7
SAV_Trainer.CHK_Badge8=8
+SAV_Trainer.CHK_MegaRayquazaUnlocked=Mega Rayquaza Unlocked
SAV_Trainer.CHK_MegaUnlocked=メガシンカ 解除
SAV_Trainer.GB_Adventure=ぼうけんノート
SAV_Trainer.GB_MaisonBest=バトルハウス (最高記録)
@@ -1112,6 +1113,7 @@ SettingsEditor.ModifyUnset=Notify Unset Changes
SettingsEditor.SetUpdateDex=ポケモン図鑑に反映
SettingsEditor.SetUpdatePKM=PKM情報の変更
SettingsEditor.ShinySprites=色違いアイコン
+SettingsEditor.ShowEggSpriteAsHeldItem=Show Egg Sprite As Held Item
SettingsEditor.Unicode=Unicode
SuperTrainingEditor.B_All=全て取得
SuperTrainingEditor.B_Cancel=キャンセル
diff --git a/PKHeX.Core/Resources/text/ko/lang_ko.txt b/PKHeX.Core/Resources/text/ko/lang_ko.txt
index abe2d0f26..cbd21990e 100644
--- a/PKHeX.Core/Resources/text/ko/lang_ko.txt
+++ b/PKHeX.Core/Resources/text/ko/lang_ko.txt
@@ -945,6 +945,7 @@ SAV_Trainer.CHK_Badge5=5
SAV_Trainer.CHK_Badge6=6
SAV_Trainer.CHK_Badge7=7
SAV_Trainer.CHK_Badge8=8
+SAV_Trainer.CHK_MegaRayquazaUnlocked=Mega Rayquaza Unlocked
SAV_Trainer.CHK_MegaUnlocked=Mega Evolution Unlocked
SAV_Trainer.GB_Adventure=모험 정보
SAV_Trainer.GB_MaisonBest=연승 (최대)
@@ -1108,6 +1109,7 @@ SettingsEditor.ModifyUnset=Notify Unset Changes
SettingsEditor.SetUpdateDex=포켓몬 도감 수정
SettingsEditor.SetUpdatePKM=포켓몬 정보 수정
SettingsEditor.ShinySprites=Shiny Sprites
+SettingsEditor.ShowEggSpriteAsHeldItem=Show Egg Sprite As Held Item
SettingsEditor.Unicode=Unicode
SuperTrainingEditor.B_All=모두 주기
SuperTrainingEditor.B_Cancel=취소
diff --git a/PKHeX.Core/Resources/text/zh/lang_zh.txt b/PKHeX.Core/Resources/text/zh/lang_zh.txt
index 15bb3f7a4..8953dcb46 100644
--- a/PKHeX.Core/Resources/text/zh/lang_zh.txt
+++ b/PKHeX.Core/Resources/text/zh/lang_zh.txt
@@ -945,6 +945,7 @@ SAV_Trainer.CHK_Badge5=5
SAV_Trainer.CHK_Badge6=6
SAV_Trainer.CHK_Badge7=7
SAV_Trainer.CHK_Badge8=8
+SAV_Trainer.CHK_MegaRayquazaUnlocked=Mega Rayquaza Unlocked
SAV_Trainer.CHK_MegaUnlocked=解锁超级进化
SAV_Trainer.GB_Adventure=冒险信息
SAV_Trainer.GB_MaisonBest=对战宅第连胜数 (最佳)
@@ -1108,6 +1109,7 @@ SettingsEditor.ModifyUnset=未保存修改提醒
SettingsEditor.SetUpdateDex=修改图鉴
SettingsEditor.SetUpdatePKM=修改宝可梦
SettingsEditor.ShinySprites=异色图标
+SettingsEditor.ShowEggSpriteAsHeldItem=Show Egg Sprite As Held Item
SettingsEditor.Unicode=Unicode
SuperTrainingEditor.B_All=获得全部
SuperTrainingEditor.B_Cancel=取消
diff --git a/PKHeX.WinForms/App.config b/PKHeX.WinForms/App.config
index 0255a79bb..98ee71f8f 100644
--- a/PKHeX.WinForms/App.config
+++ b/PKHeX.WinForms/App.config
@@ -49,6 +49,9 @@
False
+
+ True
+
diff --git a/PKHeX.WinForms/MainWindow/Main.cs b/PKHeX.WinForms/MainWindow/Main.cs
index 25f35057c..f74d65ddd 100644
--- a/PKHeX.WinForms/MainWindow/Main.cs
+++ b/PKHeX.WinForms/MainWindow/Main.cs
@@ -374,6 +374,7 @@ private void MainMenuSettings(object sender, EventArgs e)
PKME_Tabs.Unicode = Unicode = Settings.Default.Unicode;
C_SAV.FlagIllegal = Settings.Default.FlagIllegal;
C_SAV.M.GlowHover = Settings.Default.HoverSlotGlowEdges;
+ SpriteBuilder.ShowEggSpriteAsItem = Settings.Default.ShowEggSpriteAsHeldItem;
PKME_Tabs.UpdateUnicode(GenderSymbols);
PKME_Tabs_UpdatePreviewSprite(sender, e);
diff --git a/PKHeX.WinForms/Properties/Settings.Designer.cs b/PKHeX.WinForms/Properties/Settings.Designer.cs
index 043eca2f1..42a69054c 100644
--- a/PKHeX.WinForms/Properties/Settings.Designer.cs
+++ b/PKHeX.WinForms/Properties/Settings.Designer.cs
@@ -190,5 +190,17 @@ internal sealed partial class Settings : global::System.Configuration.Applicatio
this["HideSAVDetails"] = value;
}
}
+
+ [global::System.Configuration.UserScopedSettingAttribute()]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Configuration.DefaultSettingValueAttribute("True")]
+ public bool ShowEggSpriteAsHeldItem {
+ get {
+ return ((bool)(this["ShowEggSpriteAsHeldItem"]));
+ }
+ set {
+ this["ShowEggSpriteAsHeldItem"] = value;
+ }
+ }
}
}
diff --git a/PKHeX.WinForms/Properties/Settings.settings b/PKHeX.WinForms/Properties/Settings.settings
index bf43a01f0..972dc2ba3 100644
--- a/PKHeX.WinForms/Properties/Settings.settings
+++ b/PKHeX.WinForms/Properties/Settings.settings
@@ -44,5 +44,8 @@
False
+
+ True
+
\ No newline at end of file
diff --git a/PKHeX.WinForms/Util/SpriteBuilder.cs b/PKHeX.WinForms/Util/SpriteBuilder.cs
index 761d95dc4..8c40dca30 100644
--- a/PKHeX.WinForms/Util/SpriteBuilder.cs
+++ b/PKHeX.WinForms/Util/SpriteBuilder.cs
@@ -6,6 +6,8 @@ namespace PKHeX.WinForms
{
public class SpriteBuilder : ISpriteBuilder
{
+ public static bool ShowEggSpriteAsItem { get; set; } = true;
+
public void Initialize(SaveFile sav)
{
if (sav.Generation != 3)
@@ -110,12 +112,31 @@ private static Image LayerOverImageShiny(Image baseImage, bool isBoxBGRed)
}
private static Image LayerOverImageEgg(Image baseImage, int species)
+ {
+ if (ShowEggSpriteAsItem)
+ return LayerOverImageEggAsItem(baseImage, species);
+ return LayerOverImageEggTransparentSpecies(baseImage, species);
+ }
+
+ private static Image GetEggSprite(int species) => species == 490 ? (Image)Resources.ResourceManager.GetObject("_490_e") : Resources.egg;
+
+ private const double EggUnderLayerTransparency = 0.33;
+ private const int EggOverLayerAsItemShiftX = 9;
+ private const int EggOverLayerAsItemShiftY = 2;
+
+ private static Image LayerOverImageEggTransparentSpecies(Image baseImage, int species)
{
// Partially transparent species.
- baseImage = ImageUtil.ChangeOpacity(baseImage, 0.33);
+ baseImage = ImageUtil.ChangeOpacity(baseImage, EggUnderLayerTransparency);
// Add the egg layer over-top with full opacity.
- var egg = species == 490 ? (Image)Resources.ResourceManager.GetObject("_490_e") : Resources.egg;
+ var egg = GetEggSprite(species);
return ImageUtil.LayerImage(baseImage, egg, 0, 0);
}
+
+ private static Image LayerOverImageEggAsItem(Image baseImage, int species)
+ {
+ var egg = GetEggSprite(species);
+ return ImageUtil.LayerImage(baseImage, egg, EggOverLayerAsItemShiftX, EggOverLayerAsItemShiftY); // similar to held item, since they can't have any
+ }
}
}