diff --git a/data/graphics/title_screen/lg_border_bg.bin b/data/graphics/title_screen/lg_border_bg.bin
new file mode 100644
index 000000000..108680bc3
--- /dev/null
+++ b/data/graphics/title_screen/lg_border_bg.bin
@@ -0,0 +1 @@
+àààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààððððàððàààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààààà
\ No newline at end of file
diff --git a/data/graphics/title_screen/unk_lg_83bf764.pal b/data/graphics/title_screen/unk_lg_83bf764.pal
new file mode 100644
index 000000000..9a13f7dad
--- /dev/null
+++ b/data/graphics/title_screen/unk_lg_83bf764.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+230 123 90
+16 164 74
+148 255 57
+98 222 57
+57 189 65
+230 255 230
+148 255 205
+82 246 131
+180 180 115
+255 205 148
+246 172 123
+238 148 106
+0 0 0
+0 0 0
+0 0 0
+230 123 90
diff --git a/data/graphics/title_screen/unk_lg_83bf784.png b/data/graphics/title_screen/unk_lg_83bf784.png
new file mode 100644
index 000000000..d4f7dd622
Binary files /dev/null and b/data/graphics/title_screen/unk_lg_83bf784.png differ
diff --git a/data/graphics/title_screen/unk_lg_83bf89c.png b/data/graphics/title_screen/unk_lg_83bf89c.png
new file mode 100644
index 000000000..d783c1204
Binary files /dev/null and b/data/graphics/title_screen/unk_lg_83bf89c.png differ
diff --git a/src/data/pokemon/level_up_learnsets.h b/src/data/pokemon/level_up_learnsets.h
index c6d2ec475..3d6e0e95c 100644
--- a/src/data/pokemon/level_up_learnsets.h
+++ b/src/data/pokemon/level_up_learnsets.h
@@ -5654,6 +5654,7 @@ static const u16 sDeoxysLevelUpLearnset[] = {
     LEVEL_UP_MOVE(1, MOVE_WRAP),
     LEVEL_UP_MOVE(5, MOVE_NIGHT_SHADE),
     LEVEL_UP_MOVE(10, MOVE_TELEPORT),
+#if defined(FIRERED)
     LEVEL_UP_MOVE(15, MOVE_TAUNT),
     LEVEL_UP_MOVE(20, MOVE_PURSUIT),
     LEVEL_UP_MOVE(25, MOVE_PSYCHIC),
@@ -5662,6 +5663,18 @@ static const u16 sDeoxysLevelUpLearnset[] = {
     LEVEL_UP_MOVE(40, MOVE_ZAP_CANNON),
     LEVEL_UP_MOVE(45, MOVE_PSYCHO_BOOST),
     LEVEL_UP_MOVE(50, MOVE_HYPER_BEAM),
+#elif defined(LEAFGREEN)
+    LEVEL_UP_MOVE(15, MOVE_KNOCK_OFF),
+    LEVEL_UP_MOVE(20, MOVE_SPIKES),
+    LEVEL_UP_MOVE(25, MOVE_PSYCHIC),
+    LEVEL_UP_MOVE(30, MOVE_SNATCH),
+    LEVEL_UP_MOVE(35, MOVE_IRON_DEFENSE),
+    LEVEL_UP_MOVE(35, MOVE_AMNESIA),
+    LEVEL_UP_MOVE(40, MOVE_RECOVER),
+    LEVEL_UP_MOVE(45, MOVE_PSYCHO_BOOST),
+    LEVEL_UP_MOVE(50, MOVE_COUNTER),
+    LEVEL_UP_MOVE(50, MOVE_MIRROR_COAT),
+#endif
     LEVEL_UP_END
 };
 
diff --git a/src/title_screen.c b/src/title_screen.c
index a1c4e1a87..e30c5b3d9 100644
--- a/src/title_screen.c
+++ b/src/title_screen.c
@@ -75,13 +75,23 @@ static void SpriteCallback_Slash(struct Sprite * sprite);
 
 // bg3
 static const u8 sBorderBgTiles[] = INCBIN_U8("data/graphics/title_screen/unk_83BF58C.4bpp.lz");
+#if defined(FIRERED)
 static const u8 sBorderBgMap[] = INCBIN_U8("data/graphics/title_screen/unk_83BF5A8.bin.lz");
+#elif defined(LEAFGREEN)
+static const u8 sBorderBgMap[] = INCBIN_U8("data/graphics/title_screen/lg_border_bg.bin.lz");
+#endif
 
 //sprites
 static const u8 sSlashSpriteTiles[] = INCBIN_U8("data/graphics/title_screen/unk_83bf64c.4bpp.lz");
+#if defined(FIRERED)
 static const u16 sSlashSpritePals[] = INCBIN_U16("data/graphics/title_screen/unk_83bf77c.gbapal");
 static const u8 sFireSpriteTiles[] = INCBIN_U8("data/graphics/title_screen/unk_83bf79c.4bpp.lz");
 static const u8 sBlankFireSpriteTiles[] = INCBIN_U8("data/graphics/title_screen/unk_83bfa14.4bpp.lz");
+#elif defined(LEAFGREEN)
+static const u16 sSlashSpritePals[] = INCBIN_U16("data/graphics/title_screen/unk_lg_83bf764.gbapal");
+static const u8 sFireSpriteTiles[] = INCBIN_U8("data/graphics/title_screen/unk_lg_83bf784.4bpp.lz");
+static const u8 sBlankFireSpriteTiles[] = INCBIN_U8("data/graphics/title_screen/unk_lg_83bf89c.4bpp.lz");
+#endif
 
 static const struct OamData sOamData_FlameOrLeaf = {
     .objMode = ST_OAM_OBJ_NORMAL,
@@ -92,6 +102,7 @@ static const struct OamData sOamData_FlameOrLeaf = {
     .paletteNum = 0
 };
 
+#if defined(FIRERED)
 static const union AnimCmd sSpriteAnims_FlameOrLeaf_0[] = {
     ANIMCMD_FRAME(0x00, 3),
     ANIMCMD_FRAME(0x04, 6),
@@ -119,6 +130,27 @@ static const union AnimCmd *const sSpriteAnimTable_FlameOrLeaf[] = {
     sSpriteAnims_FlameOrLeaf_1
 };
 
+#elif defined(LEAFGREEN)
+static const union AnimCmd sSpriteAnims_FlameOrLeaf_0[] = {
+    ANIMCMD_FRAME(0x00, 8),
+    ANIMCMD_FRAME(0x04, 8),
+    ANIMCMD_FRAME(0x08, 8),
+    ANIMCMD_FRAME(0x0c, 8),
+    ANIMCMD_FRAME(0x10, 8),
+    ANIMCMD_FRAME(0x14, 8),
+    ANIMCMD_FRAME(0x18, 8),
+    ANIMCMD_FRAME(0x1c, 8),
+    ANIMCMD_FRAME(0x20, 8),
+    ANIMCMD_FRAME(0x24, 8),
+    ANIMCMD_FRAME(0x28, 8),
+    ANIMCMD_JUMP(0)
+};
+
+static const union AnimCmd *const sSpriteAnimTable_FlameOrLeaf[] = {
+    sSpriteAnims_FlameOrLeaf_0
+};
+#endif
+
 static const struct SpriteTemplate sSpriteTemplate_FlameOrLeaf_State1 = {
     .tileTag = 0,
     .paletteTag = 0,
