From 5c86967cc3f811da1dd616a1632c87f3e1ce8684 Mon Sep 17 00:00:00 2001 From: Skeli Date: Sun, 21 Nov 2021 17:38:46 +0200 Subject: [PATCH] More Moveset + Evolution Changes -Meltan can also be evolved by using a Metal Powder on it --- linker.ld | 2 +- scripts/insert.py | 2 +- scripts/make.py | 2 +- src/Base_Stats.c | 2 +- src/Egg_Moves.c | 15 +++++--- src/Evolution Table.c | 3 +- src/Learnsets.c | 86 +++++++++++++++++++++++-------------------- 7 files changed, 62 insertions(+), 50 deletions(-) diff --git a/linker.ld b/linker.ld index d4cebe4..2693334 100644 --- a/linker.ld +++ b/linker.ld @@ -1,7 +1,7 @@ OUTPUT_ARCH(arm) MEMORY { - rom : ORIGIN = (0x08000000 + 0x16a0000), LENGTH = 32M + rom : ORIGIN = (0x08000000 + 0x1670000), LENGTH = 32M ewram : ORIGIN = 0x02000000, LENGTH = 4M - 4k } diff --git a/scripts/insert.py b/scripts/insert.py index 847878e..a6c7150 100644 --- a/scripts/insert.py +++ b/scripts/insert.py @@ -7,7 +7,7 @@ import sys from datetime import datetime import _io -OFFSET_TO_PUT = 0x16a0000 +OFFSET_TO_PUT = 0x1670000 SOURCE_ROM = "Pokemon Unbound.gba" ROM_NAME = "test.gba" diff --git a/scripts/make.py b/scripts/make.py index f8572a9..41d0348 100644 --- a/scripts/make.py +++ b/scripts/make.py @@ -9,7 +9,7 @@ import sys ############ ROM_NAME = "Pokemon Unbound.gba" # The name of your rom -OFFSET_TO_PUT = 0x16a0000 +OFFSET_TO_PUT = 0x1670000 SEARCH_FREE_SPACE = False # Set to True if you want the script to search for free space # Set to False if you don't want to search for free space as you update the engine diff --git a/src/Base_Stats.c b/src/Base_Stats.c index 1c20dcb..34b7c23 100644 --- a/src/Base_Stats.c +++ b/src/Base_Stats.c @@ -10925,7 +10925,7 @@ const struct BaseStats gBaseStats[] = .evYield_SpDefense = 0, .evYield_Speed = 0, .item1 = ITEM_NONE, - .item2 = ITEM_IRON_BALL, + .item2 = ITEM_METAL_COAT, .genderRatio = PERCENT_FEMALE(50), .eggCycles = 20, .friendship = 50, diff --git a/src/Egg_Moves.c b/src/Egg_Moves.c index 7e24efe..502f025 100644 --- a/src/Egg_Moves.c +++ b/src/Egg_Moves.c @@ -455,7 +455,8 @@ const u16 gEggMoves[] = MOVE_MIRRORMOVE, MOVE_NATURALGIFT, MOVE_ASSURANCE, - MOVE_UPROAR), + MOVE_UPROAR, + MOVE_LUNGE), egg_moves(SEEL, MOVE_LICK, @@ -1759,7 +1760,8 @@ const u16 gEggMoves[] = MOVE_FELLSTINGER, MOVE_POWERSPLIT, MOVE_LUNGE, - MOVE_MUDSPORT), + MOVE_MUDSPORT, + MOVE_SOAK), egg_moves(WAILMER, MOVE_DOUBLEEDGE, @@ -1951,7 +1953,8 @@ const u16 gEggMoves[] = MOVE_ENDURE, MOVE_IRONHEAD, MOVE_GROWTH, - MOVE_HEAVYSLAM), + MOVE_HEAVYSLAM, + MOVE_FLAMEWHEEL), egg_moves(SPHEAL, MOVE_WATERSPORT, @@ -2391,8 +2394,7 @@ const u16 gEggMoves[] = MOVE_ASSIST, MOVE_QUICKGUARD, MOVE_FOCUSPUNCH, - MOVE_SUBMISSION, - MOVE_POWERUPPUNCH), + MOVE_SUBMISSION), egg_moves(PIPLUP, MOVE_DOUBLEHIT, @@ -2695,7 +2697,8 @@ const u16 gEggMoves[] = MOVE_STEELWING, MOVE_SLEEPTALK, MOVE_DEFOG, - MOVE_AIRCUTTER), + MOVE_AIRCUTTER, + MOVE_PARTINGSHOT), egg_moves(SPIRITOMB, MOVE_DESTINYBOND, diff --git a/src/Evolution Table.c b/src/Evolution Table.c index 592a4b0..fedf662 100644 --- a/src/Evolution Table.c +++ b/src/Evolution Table.c @@ -602,7 +602,8 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = [SPECIES_NECROZMA_DAWN_WINGS] = {{EVO_MEGA, ITEM_ULTRANECROZIUM_Z, SPECIES_NECROZMA_ULTRA, MEGA_VARIANT_ULTRA_BURST}}, [SPECIES_NECROZMA_ULTRA] = {{EVO_MEGA, ITEM_NONE, SPECIES_NECROZMA_DUSK_MANE, MEGA_VARIANT_ULTRA_BURST}, {EVO_MEGA, ITEM_NONE, SPECIES_NECROZMA_DAWN_WINGS, MEGA_VARIANT_ULTRA_BURST}}, - [SPECIES_MELTAN] = {{EVO_ITEM, ITEM_METAL_COAT, SPECIES_MELMETAL, 0}}, + [SPECIES_MELTAN] = {{EVO_ITEM, ITEM_METAL_COAT, SPECIES_MELMETAL, 0}, + {EVO_ITEM, ITEM_METAL_POWDER, SPECIES_MELMETAL, 0}}, [SPECIES_MELMETAL] = {{EVO_GIGANTAMAX, TRUE, SPECIES_MELMETAL_GIGA, 0}}, [SPECIES_GROOKEY] = {{EVO_LEVEL, 16, SPECIES_THWACKEY, 0}}, [SPECIES_THWACKEY] = {{EVO_LEVEL, 35, SPECIES_RILLABOOM, 0}}, diff --git a/src/Learnsets.c b/src/Learnsets.c index 5e74703..163c5f0 100644 --- a/src/Learnsets.c +++ b/src/Learnsets.c @@ -58,6 +58,7 @@ static const struct LevelUpMove sIvysaurLevelUpLearnset[] = { static const struct LevelUpMove sVenusaurLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_PETALBLIZZARD), + LEVEL_UP_MOVE( 1, MOVE_PETALDANCE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_VINEWHIP), @@ -70,12 +71,11 @@ static const struct LevelUpMove sVenusaurLevelUpLearnset[] = { LEVEL_UP_MOVE(26, MOVE_SEEDBOMB), LEVEL_UP_MOVE(30, MOVE_SWEETSCENT), LEVEL_UP_MOVE(31, MOVE_PETALBLIZZARD), - LEVEL_UP_MOVE(37, MOVE_PETALDANCE), - LEVEL_UP_MOVE(43, MOVE_WORRYSEED), - LEVEL_UP_MOVE(49, MOVE_SYNTHESIS), - LEVEL_UP_MOVE(55, MOVE_SLUDGEBOMB), - LEVEL_UP_MOVE(61, MOVE_DOUBLEEDGE), - LEVEL_UP_MOVE(67, MOVE_SOLARBEAM), + LEVEL_UP_MOVE(37, MOVE_WORRYSEED), + LEVEL_UP_MOVE(43, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(49, MOVE_SLUDGEBOMB), + LEVEL_UP_MOVE(55, MOVE_DOUBLEEDGE), + LEVEL_UP_MOVE(61, MOVE_SOLARBEAM), LEVEL_UP_END }; @@ -1304,44 +1304,46 @@ static const struct LevelUpMove sArcanineLevelUpLearnset[] = { }; static const struct LevelUpMove sPoliwagLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WATERGUN), LEVEL_UP_MOVE( 1, MOVE_WATERSPORT), - LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_MOVE( 5, MOVE_POUND), - LEVEL_UP_MOVE( 7, MOVE_WATERGUN), + LEVEL_UP_MOVE( 7, MOVE_BUBBLE), LEVEL_UP_MOVE(11, MOVE_DOUBLESLAP), LEVEL_UP_MOVE(15, MOVE_MUDSHOT), - LEVEL_UP_MOVE(19, MOVE_RAINDANCE), - LEVEL_UP_MOVE(23, MOVE_BUBBLEBEAM), - LEVEL_UP_MOVE(27, MOVE_WAKEUPSLAP), - LEVEL_UP_MOVE(31, MOVE_MUDBOMB), - LEVEL_UP_MOVE(36, MOVE_BODYSLAM), - LEVEL_UP_MOVE(40, MOVE_WATERFALL), - LEVEL_UP_MOVE(45, MOVE_EARTHPOWER), - LEVEL_UP_MOVE(50, MOVE_BELLYDRUM), - LEVEL_UP_MOVE(55, MOVE_DOUBLEEDGE), - LEVEL_UP_MOVE(60, MOVE_HYDROPUMP), + LEVEL_UP_MOVE(19, MOVE_BUBBLEBEAM), + LEVEL_UP_MOVE(23, MOVE_WAKEUPSLAP), + LEVEL_UP_MOVE(27, MOVE_MUDBOMB), + LEVEL_UP_MOVE(31, MOVE_RAINDANCE), + LEVEL_UP_MOVE(35, MOVE_WATERFALL), + LEVEL_UP_MOVE(39, MOVE_BODYSLAM), + LEVEL_UP_MOVE(43, MOVE_EARTHPOWER), + LEVEL_UP_MOVE(47, MOVE_BELLYDRUM), + LEVEL_UP_MOVE(51, MOVE_DOUBLEEDGE), + LEVEL_UP_MOVE(55, MOVE_HYDROPUMP), LEVEL_UP_END }; static const struct LevelUpMove sPoliwhirlLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_POWERUPPUNCH), + LEVEL_UP_MOVE( 1, MOVE_WATERGUN), LEVEL_UP_MOVE( 1, MOVE_WATERSPORT), - LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_MOVE( 1, MOVE_POUND), - LEVEL_UP_MOVE( 1, MOVE_WATERGUN), + LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE(11, MOVE_DOUBLESLAP), LEVEL_UP_MOVE(15, MOVE_MUDSHOT), - LEVEL_UP_MOVE(19, MOVE_RAINDANCE), - LEVEL_UP_MOVE(23, MOVE_BUBBLEBEAM), - LEVEL_UP_MOVE(29, MOVE_WAKEUPSLAP), - LEVEL_UP_MOVE(34, MOVE_MUDBOMB), - LEVEL_UP_MOVE(39, MOVE_BODYSLAM), - LEVEL_UP_MOVE(44, MOVE_WATERFALL), - LEVEL_UP_MOVE(50, MOVE_EARTHPOWER), - LEVEL_UP_MOVE(56, MOVE_BELLYDRUM), - LEVEL_UP_MOVE(62, MOVE_DOUBLEEDGE), - LEVEL_UP_MOVE(66, MOVE_HYDROPUMP), + LEVEL_UP_MOVE(19, MOVE_BUBBLEBEAM), + LEVEL_UP_MOVE(23, MOVE_WAKEUPSLAP), + //LEVEL_UP_MOVE(24, MOVE_POWERUPPUNCH), //Only for Player, not for NPCs or wild - would misalign the Water moves + LEVEL_UP_MOVE(28, MOVE_MUDBOMB), + LEVEL_UP_MOVE(33, MOVE_RAINDANCE), + LEVEL_UP_MOVE(37, MOVE_WATERFALL), + LEVEL_UP_MOVE(42, MOVE_BODYSLAM), + LEVEL_UP_MOVE(47, MOVE_EARTHPOWER), + LEVEL_UP_MOVE(52, MOVE_BELLYDRUM), + LEVEL_UP_MOVE(56, MOVE_DOUBLEEDGE), + LEVEL_UP_MOVE(61, MOVE_HYDROPUMP), LEVEL_UP_END }; @@ -1351,16 +1353,17 @@ static const struct LevelUpMove sPoliwrathLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_MINDREADER), LEVEL_UP_MOVE( 1, MOVE_DYNAMICPUNCH), LEVEL_UP_MOVE( 1, MOVE_SURGINGSTRIKES), - LEVEL_UP_MOVE( 1, MOVE_WATERSPORT), - LEVEL_UP_MOVE( 1, MOVE_BUBBLE), - LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_WATERGUN), + LEVEL_UP_MOVE( 1, MOVE_WATERSPORT), + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 1, MOVE_DOUBLESLAP), - LEVEL_UP_MOVE( 1, MOVE_RAINDANCE), LEVEL_UP_MOVE( 1, MOVE_WAKEUPSLAP), + LEVEL_UP_MOVE( 1, MOVE_POWERUPPUNCH), LEVEL_UP_MOVE( 1, MOVE_MUDBOMB), - LEVEL_UP_MOVE( 1, MOVE_BODYSLAM), + LEVEL_UP_MOVE( 1, MOVE_RAINDANCE), LEVEL_UP_MOVE( 1, MOVE_WATERFALL), + LEVEL_UP_MOVE( 1, MOVE_BODYSLAM), LEVEL_UP_MOVE( 1, MOVE_EARTHPOWER), LEVEL_UP_MOVE( 1, MOVE_BELLYDRUM), LEVEL_UP_MOVE( 1, MOVE_DOUBLEEDGE), @@ -8537,6 +8540,7 @@ static const struct LevelUpMove sChimcharLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 7, MOVE_EMBER), LEVEL_UP_MOVE( 9, MOVE_TAUNT), + LEVEL_UP_MOVE(12, MOVE_POWERUPPUNCH), LEVEL_UP_MOVE(15, MOVE_FURYSWIPES), LEVEL_UP_MOVE(17, MOVE_FLAMEWHEEL), LEVEL_UP_MOVE(23, MOVE_NASTYPLOT), @@ -8558,6 +8562,7 @@ static const struct LevelUpMove sMonfernoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_TAUNT), + LEVEL_UP_MOVE(12, MOVE_POWERUPPUNCH), LEVEL_UP_MOVE(13, MOVE_MACHPUNCH), LEVEL_UP_MOVE(16, MOVE_FURYSWIPES), LEVEL_UP_MOVE(19, MOVE_FLAMEWHEEL), @@ -8573,6 +8578,7 @@ static const struct LevelUpMove sMonfernoLevelUpLearnset[] = { static const struct LevelUpMove sInfernapeLevelUpLearnset[] = { LEVEL_UP_MOVE( 0, MOVE_CLOSECOMBAT), + LEVEL_UP_MOVE( 1, MOVE_PUNISHMENT), LEVEL_UP_MOVE( 1, MOVE_NASTYPLOT), LEVEL_UP_MOVE( 1, MOVE_FACADE), LEVEL_UP_MOVE( 1, MOVE_TORMENT), @@ -8583,11 +8589,12 @@ static const struct LevelUpMove sInfernapeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_TAUNT), + LEVEL_UP_MOVE(12, MOVE_POWERUPPUNCH), LEVEL_UP_MOVE(13, MOVE_MACHPUNCH), LEVEL_UP_MOVE(16, MOVE_FURYSWIPES), LEVEL_UP_MOVE(19, MOVE_FLAMEWHEEL), LEVEL_UP_MOVE(26, MOVE_FEINT), - LEVEL_UP_MOVE(29, MOVE_PUNISHMENT), + LEVEL_UP_MOVE(29, MOVE_UTURN), LEVEL_UP_MOVE(35, MOVE_CLOSECOMBAT), LEVEL_UP_MOVE(42, MOVE_FIREPUNCH), LEVEL_UP_MOVE(52, MOVE_ACROBATICS), @@ -10454,8 +10461,9 @@ static const struct LevelUpMove sProbopassLevelUpLearnset[] = { LEVEL_UP_MOVE(34, MOVE_SANDSTORM), LEVEL_UP_MOVE(37, MOVE_EARTHPOWER), LEVEL_UP_MOVE(40, MOVE_STONEEDGE), - LEVEL_UP_MOVE(43, MOVE_LOCKON), - LEVEL_UP_MOVE(43, MOVE_ZAPCANNON), + LEVEL_UP_MOVE(43, MOVE_BODYPRESS), + LEVEL_UP_MOVE(46, MOVE_LOCKON), + LEVEL_UP_MOVE(46, MOVE_ZAPCANNON), LEVEL_UP_END }; @@ -12618,7 +12626,7 @@ static const struct LevelUpMove sReuniclusLevelUpLearnset[] = { LEVEL_UP_MOVE(31, MOVE_FUTURESIGHT), LEVEL_UP_MOVE(34, MOVE_PAINSPLIT), LEVEL_UP_MOVE(39, MOVE_PSYCHIC), - LEVEL_UP_MOVE(40, MOVE_DIZZYPUNCH), + //LEVEL_UP_MOVE(40, MOVE_DIZZYPUNCH), //Only for Player, not for NPCs or wild - so final Reuniclus has Psychic LEVEL_UP_MOVE(45, MOVE_SKILLSWAP), LEVEL_UP_MOVE(54, MOVE_HEALBLOCK), LEVEL_UP_MOVE(59, MOVE_WONDERROOM),