kep-hack/data/pokemon/tradeback_moves.asm
Llinos Evans 2f01628cd9 Groundwork for Tradeback Move Tutor
Currently the move tutor is a little bit broken - the IDs are 1 above how they should be. Shell speculates that it's searching at the table starting from Kangaskhan due to the way the decrements shake up but it may just be making things more complicated than they are.

Big cheese code is `PrepareTradebackMoveList`, it's where things are mucking up.

Also, the code can be significantly optimised, as it's currently being adapted from the function above, `PrepareRelearnableMoveList`; It doesn't need to check levels, for example.

Note that the relearner functions properly, so use it as a reference. I may have removed something important.

Technically, we could have NO_MON as an entry which may make things shake out properly. But I'd rather have a proper fix.
2023-04-23 06:11:05 +01:00

1306 lines
16 KiB
NASM

;This is a compilation of all moves a Pokemon can get in GSC that also exist in RBY.
;In cartridge play, these can be sent back to RBY to make for some funky movesets.
;So, KEP experiments with making an individualised move tutor in Citrine City to make them a thing more easily.
;However, some of these are incompatible - I can't be bothered accounting for that, so enjoy your Lovely Kiss + Amnesia Nidoking.
TradebackMovesPointerTable:
table_width 2, TradebackMovesPointerTable
dw RhydonTradebackMoves
dw KangaskhanTradebackMoves
dw NidoranMTradebackMoves
dw ClefairyTradebackMoves
dw SpearowTradebackMoves
dw VoltorbTradebackMoves
dw NidokingTradebackMoves
dw SlowbroTradebackMoves
dw IvysaurTradebackMoves
dw ExeggutorTradebackMoves
dw LickitungTradebackMoves
dw ExeggcuteTradebackMoves
dw GrimerTradebackMoves
dw GengarTradebackMoves
dw NidoranFTradebackMoves
dw NidoqueenTradebackMoves
dw CuboneTradebackMoves
dw RhyhornTradebackMoves
dw LaprasTradebackMoves
dw ArcanineTradebackMoves
dw MewTradebackMoves
dw GyaradosTradebackMoves
dw ShellderTradebackMoves
dw TentacoolTradebackMoves
dw GastlyTradebackMoves
dw ScytherTradebackMoves
dw StaryuTradebackMoves
dw BlastoiseTradebackMoves
dw PinsirTradebackMoves
dw TangelaTradebackMoves
dw GyaoonTradebackMoves
dw NidoreignTradebackMoves
dw GrowlitheTradebackMoves
dw OnixTradebackMoves
dw FearowTradebackMoves
dw PidgeyTradebackMoves
dw SlowpokeTradebackMoves
dw KadabraTradebackMoves
dw GravelerTradebackMoves
dw ChanseyTradebackMoves
dw MachokeTradebackMoves
dw MrMimeTradebackMoves
dw HitmonleeTradebackMoves
dw HitmonchanTradebackMoves
dw ArbokTradebackMoves
dw ParasectTradebackMoves
dw PsyduckTradebackMoves
dw DrowzeeTradebackMoves
dw GolemTradebackMoves
dw BarundaTradebackMoves
dw MagmarTradebackMoves
dw BuuTradebackMoves
dw ElectabuzzTradebackMoves
dw MagnetonTradebackMoves
dw KoffingTradebackMoves
dw DeerTradebackMoves
dw MankeyTradebackMoves
dw SeelTradebackMoves
dw DiglettTradebackMoves
dw TaurosTradebackMoves
dw TrampelTradebackMoves
dw CrockyTradebackMoves
dw BlottleTradebackMoves
dw FarfetchdTradebackMoves
dw VenonatTradebackMoves
dw DragoniteTradebackMoves
dw CactusTradebackMoves
dw JaggTradebackMoves
dw BittybatTradebackMoves
dw DoduoTradebackMoves
dw PoliwagTradebackMoves
dw JynxTradebackMoves
dw MoltresTradebackMoves
dw ArticunoTradebackMoves
dw ZapdosTradebackMoves
dw DittoTradebackMoves
dw MeowthTradebackMoves
dw KrabbyTradebackMoves
dw CheepTradebackMoves
dw JabettaTradebackMoves
dw MikonTradebackMoves
dw VulpixTradebackMoves
dw NinetalesTradebackMoves
dw PikachuTradebackMoves
dw RaichuTradebackMoves
dw RibbitoTradebackMoves
dw CroakozunaTradebackMoves
dw DratiniTradebackMoves
dw DragonairTradebackMoves
dw KabutoTradebackMoves
dw KabutopsTradebackMoves
dw HorseaTradebackMoves
dw SeadraTradebackMoves
dw BawliguaTradebackMoves
dw CryithanTradebackMoves
dw SandshrewTradebackMoves
dw SandslashTradebackMoves
dw OmanyteTradebackMoves
dw OmastarTradebackMoves
dw JigglypuffTradebackMoves
dw WigglytuffTradebackMoves
dw EeveeTradebackMoves
dw FlareonTradebackMoves
dw JolteonTradebackMoves
dw VaporeonTradebackMoves
dw MachopTradebackMoves
dw ZubatTradebackMoves
dw EkansTradebackMoves
dw ParasTradebackMoves
dw PoliwhirlTradebackMoves
dw PoliwrathTradebackMoves
dw WeedleTradebackMoves
dw KakunaTradebackMoves
dw BeedrillTradebackMoves
dw MadaamuTradebackMoves
dw DodrioTradebackMoves
dw PrimeapeTradebackMoves
dw DugtrioTradebackMoves
dw VenomothTradebackMoves
dw DewgongTradebackMoves
dw PurakkusuTradebackMoves
dw PendrakenTradebackMoves
dw CaterpieTradebackMoves
dw MetapodTradebackMoves
dw ButterfreeTradebackMoves
dw MachampTradebackMoves
dw WeirduckTradebackMoves
dw GolduckTradebackMoves
dw HypnoTradebackMoves
dw GolbatTradebackMoves
dw MewtwoTradebackMoves
dw SnorlaxTradebackMoves
dw MagikarpTradebackMoves
dw KonyaTradebackMoves
dw OmegaTradebackMoves
dw MukTradebackMoves
dw DecillaTradebackMoves
dw KinglerTradebackMoves
dw CloysterTradebackMoves
dw MagnetiteTradebackMoves
dw ElectrodeTradebackMoves
dw ClefableTradebackMoves
dw WeezingTradebackMoves
dw PersianTradebackMoves
dw MarowakTradebackMoves
dw GuardiaTradebackMoves
dw HaunterTradebackMoves
dw AbraTradebackMoves
dw AlakazamTradebackMoves
dw PidgeottoTradebackMoves
dw PidgeotTradebackMoves
dw StarmieTradebackMoves
dw BulbasaurTradebackMoves
dw VenusaurTradebackMoves
dw TentacruelTradebackMoves
dw GyopinTradebackMoves
dw GoldeenTradebackMoves
dw SeakingTradebackMoves
dw KotoraTradebackMoves
dw GaotoraTradebackMoves
dw GorotoraTradebackMoves
dw PuchikoonTradebackMoves
dw PonytaTradebackMoves
dw RapidashTradebackMoves
dw RattataTradebackMoves
dw RaticateTradebackMoves
dw NidorinoTradebackMoves
dw NidorinaTradebackMoves
dw GeodudeTradebackMoves
dw PorygonTradebackMoves
dw AerodactylTradebackMoves
dw BlastykeTradebackMoves
dw MagnemiteTradebackMoves
dw SkimperTradebackMoves
dw GorochuTradebackMoves
dw CharmanderTradebackMoves
dw SquirtleTradebackMoves
dw CharmeleonTradebackMoves
dw WartortleTradebackMoves
dw CharizardTradebackMoves
dw TotartleTradebackMoves
dw ArticunoGTradebackMoves
dw ZapdosGTradebackMoves
dw MoltresGTradebackMoves
dw OddishTradebackMoves
dw GloomTradebackMoves
dw VileplumeTradebackMoves
dw BellsproutTradebackMoves
dw WeepinbellTradebackMoves
dw VictreebelTradebackMoves
dw MonjaTradebackMoves
dw ScizorTradebackMoves
dw RhyperiorTradebackMoves
dw EspeonTradebackMoves
dw UmbreonTradebackMoves
dw LeafeonTradebackMoves
dw GlaceonTradebackMoves
dw SylveonTradebackMoves
dw LickilickyTradebackMoves
dw TangrowthTradebackMoves
dw KleavorTradebackMoves
dw TsubomittoTradebackMoves
dw SteelixTradebackMoves
dw BlisseyTradebackMoves
dw HitmontopTradebackMoves
dw CrobatTradebackMoves
dw AnimonTradebackMoves
dw BellossomTradebackMoves
dw Porygon2TradebackMoves
dw KingdraTradebackMoves
dw PolitoedTradebackMoves
dw SlowkingTradebackMoves
dw ElectivireTradebackMoves
dw MagmortarTradebackMoves
dw TaabanTradebackMoves
dw KokanaTradebackMoves
dw KasanagiTradebackMoves
dw CarapthorTradebackMoves
dw MagnezoneTradebackMoves
dw PorygonZTradebackMoves
dw AnnihilapeTradebackMoves
dw ScreamTailTradebackMoves
dw SandyShocksTradebackMoves
dw WiglettTradebackMoves
dw WugtrioTradebackMoves
dw ToedscoolTradebackMoves
dw ToedscruelTradebackMoves
dw PerrserkerTradebackMoves
dw SirfetchdTradebackMoves
dw MrRimeTradebackMoves
dw MeltanTradebackMoves
dw MelmetalTradebackMoves
dw ArcanineHTradebackMoves
dw ElectrodeHTradebackMoves
dw RaticateATradebackMoves
dw RaichuATradebackMoves
dw SandslashATradebackMoves
dw NinetalesATradebackMoves
dw DugtrioATradebackMoves
dw PersianATradebackMoves
dw GolemATradebackMoves
dw RapidashGTradebackMoves
dw SlowbroGTradebackMoves
dw SlowkingGTradebackMoves
dw MukATradebackMoves
dw ExeggutorATradebackMoves
dw MarowakATradebackMoves
dw WeezingGTradebackMoves
dw TaurosPTradebackMoves
dw TaurosPATradebackMoves
dw TaurosPBTradebackMoves
dw FossilKabutopsTradebackMoves
dw FossilAerodactylTradebackMoves
dw MonGhostTradebackMoves
assert_table_length NUM_POKEMON_INDEXES
RhydonTradebackMoves:
db 1, HEADBUTT
db 1, ROAR
db 1, THUNDERPUNCH
db 1, FIRE_PUNCH
db 1, THRASH
db 0
KangaskhanTradebackMoves:
db 1, HEADBUTT
db 1, ROAR
db 1, THUNDERPUNCH
db 1, FIRE_PUNCH
db 1, ICE_PUNCH
db 1, DISABLE
db 1, FOCUS_ENERGY
db 1, STOMP
db 0
NidoranMTradebackMoves:
db 1, DEFENSE_CURL
db 1, HEADBUTT
db 1, AMNESIA
db 1, CONFUSION
db 1, COUNTER
db 1, DISABLE
db 1, SUPERSONIC
db 1, LOVELY_KISS
db 0
ClefairyTradebackMoves:
db 0
SpearowTradebackMoves:
db 0
VoltorbTradebackMoves:
db 0
NidokingTradebackMoves:
db 0
SlowbroTradebackMoves:
db 0
IvysaurTradebackMoves:
db 0
ExeggutorTradebackMoves:
db 0
LickitungTradebackMoves:
db 0
ExeggcuteTradebackMoves:
db 0
GrimerTradebackMoves:
db 0
GengarTradebackMoves:
db 0
NidoranFTradebackMoves:
db 0
NidoqueenTradebackMoves:
db 0
CuboneTradebackMoves:
db 0
RhyhornTradebackMoves:
db 0
LaprasTradebackMoves:
db 0
ArcanineTradebackMoves:
db 0
MewTradebackMoves:
db 0
GyaradosTradebackMoves:
db 0
ShellderTradebackMoves:
db 0
TentacoolTradebackMoves:
db 0
GastlyTradebackMoves:
db 0
ScytherTradebackMoves:
db 0
StaryuTradebackMoves:
db 0
BlastoiseTradebackMoves:
db 0
PinsirTradebackMoves:
db 0
TangelaTradebackMoves:
db 0
GyaoonTradebackMoves:
db 0
NidoreignTradebackMoves:
db 0
GrowlitheTradebackMoves:
db 0
OnixTradebackMoves:
db 0
FearowTradebackMoves:
db 0
PidgeyTradebackMoves:
db 0
SlowpokeTradebackMoves:
db 0
KadabraTradebackMoves:
db 0
GravelerTradebackMoves:
db 0
ChanseyTradebackMoves:
db 0
MachokeTradebackMoves:
db 0
MrMimeTradebackMoves:
db 0
HitmonleeTradebackMoves:
db 0
HitmonchanTradebackMoves:
db 0
ArbokTradebackMoves:
db 0
ParasectTradebackMoves:
db 0
PsyduckTradebackMoves:
db 0
DrowzeeTradebackMoves:
db 0
GolemTradebackMoves:
db 0
BarundaTradebackMoves:
db 0
MagmarTradebackMoves:
db 0
BuuTradebackMoves:
db 0
ElectabuzzTradebackMoves:
db 0
MagnetonTradebackMoves:
db 0
KoffingTradebackMoves:
db 0
DeerTradebackMoves:
db 0
MankeyTradebackMoves:
db 0
SeelTradebackMoves:
db 0
DiglettTradebackMoves:
db 0
TaurosTradebackMoves:
db 0
TrampelTradebackMoves:
db 0
CrockyTradebackMoves:
db 0
BlottleTradebackMoves:
db 0
FarfetchdTradebackMoves:
db 0
VenonatTradebackMoves:
db 0
DragoniteTradebackMoves:
db 0
CactusTradebackMoves:
db 0
JaggTradebackMoves:
db 0
BittybatTradebackMoves:
db 0
DoduoTradebackMoves:
db 0
PoliwagTradebackMoves:
db 0
JynxTradebackMoves:
db 0
MoltresTradebackMoves:
db 0
ArticunoTradebackMoves:
db 0
ZapdosTradebackMoves:
db 0
DittoTradebackMoves:
db 0
MeowthTradebackMoves:
db 0
KrabbyTradebackMoves:
db 0
CheepTradebackMoves:
db 0
JabettaTradebackMoves:
db 0
MikonTradebackMoves:
db 0
VulpixTradebackMoves:
db 0
NinetalesTradebackMoves:
db 0
PikachuTradebackMoves:
db 0
RaichuTradebackMoves:
db 0
RibbitoTradebackMoves:
db 0
CroakozunaTradebackMoves:
db 0
DratiniTradebackMoves:
db 0
DragonairTradebackMoves:
db 0
KabutoTradebackMoves:
db 0
KabutopsTradebackMoves:
db 0
HorseaTradebackMoves:
db 0
SeadraTradebackMoves:
db 0
BawliguaTradebackMoves:
db 0
CryithanTradebackMoves:
db 0
SandshrewTradebackMoves:
db 0
SandslashTradebackMoves:
db 0
OmanyteTradebackMoves:
db 0
OmastarTradebackMoves:
db 0
JigglypuffTradebackMoves:
db 0
WigglytuffTradebackMoves:
db 0
EeveeTradebackMoves:
db 0
FlareonTradebackMoves:
db 0
JolteonTradebackMoves:
db 0
VaporeonTradebackMoves:
db 0
MachopTradebackMoves:
db 0
ZubatTradebackMoves:
db 0
EkansTradebackMoves:
db 0
ParasTradebackMoves:
db 0
PoliwhirlTradebackMoves:
db 0
PoliwrathTradebackMoves:
db 0
WeedleTradebackMoves:
db 0
KakunaTradebackMoves:
db 0
BeedrillTradebackMoves:
db 0
MadaamuTradebackMoves:
db 0
DodrioTradebackMoves:
db 0
PrimeapeTradebackMoves:
db 0
DugtrioTradebackMoves:
db 0
VenomothTradebackMoves:
db 0
DewgongTradebackMoves:
db 0
PurakkusuTradebackMoves:
db 0
PendrakenTradebackMoves:
db 0
CaterpieTradebackMoves:
db 0
MetapodTradebackMoves:
db 0
ButterfreeTradebackMoves:
db 0
MachampTradebackMoves:
db 0
WeirduckTradebackMoves:
db 0
GolduckTradebackMoves:
db 0
HypnoTradebackMoves:
db 0
GolbatTradebackMoves:
db 0
MewtwoTradebackMoves:
db 0
SnorlaxTradebackMoves:
db 0
MagikarpTradebackMoves:
db 0
KonyaTradebackMoves:
db 0
OmegaTradebackMoves:
db 0
MukTradebackMoves:
db 0
DecillaTradebackMoves:
db 0
KinglerTradebackMoves:
db 0
CloysterTradebackMoves:
db 0
MagnetiteTradebackMoves:
db 0
ElectrodeTradebackMoves:
db 0
ClefableTradebackMoves:
db 0
WeezingTradebackMoves:
db 0
PersianTradebackMoves:
db 0
MarowakTradebackMoves:
db 0
GuardiaTradebackMoves:
db 0
HaunterTradebackMoves:
db 0
AbraTradebackMoves:
db 0
AlakazamTradebackMoves:
db 0
PidgeottoTradebackMoves:
db 0
PidgeotTradebackMoves:
db 0
StarmieTradebackMoves:
db 0
BulbasaurTradebackMoves:
db 0
VenusaurTradebackMoves:
db 0
TentacruelTradebackMoves:
db 0
GyopinTradebackMoves:
db 0
GoldeenTradebackMoves:
db 0
SeakingTradebackMoves:
db 0
KotoraTradebackMoves:
db 0
GaotoraTradebackMoves:
db 0
GorotoraTradebackMoves:
db 0
PuchikoonTradebackMoves:
db 0
PonytaTradebackMoves:
db 0
RapidashTradebackMoves:
db 0
RattataTradebackMoves:
db 0
RaticateTradebackMoves:
db 0
NidorinoTradebackMoves:
db 0
NidorinaTradebackMoves:
db 0
GeodudeTradebackMoves:
db 0
PorygonTradebackMoves:
db 0
AerodactylTradebackMoves:
db 0
BlastykeTradebackMoves:
db 0
MagnemiteTradebackMoves:
db 0
SkimperTradebackMoves:
db 0
GorochuTradebackMoves:
db 0
CharmanderTradebackMoves:
db 0
SquirtleTradebackMoves:
db 0
CharmeleonTradebackMoves:
db 0
WartortleTradebackMoves:
db 0
CharizardTradebackMoves:
db 0
TotartleTradebackMoves:
db 0
ArticunoGTradebackMoves:
db 0
ZapdosGTradebackMoves:
db 0
MoltresGTradebackMoves:
db 0
OddishTradebackMoves:
db 0
GloomTradebackMoves:
db 0
VileplumeTradebackMoves:
db 0
BellsproutTradebackMoves:
db 0
WeepinbellTradebackMoves:
db 0
VictreebelTradebackMoves:
db 0
MonjaTradebackMoves:
db 0
PudiTradebackMoves:
db 0
ScizorTradebackMoves:
db 0
RhyperiorTradebackMoves:
db 0
EspeonTradebackMoves:
db 0
UmbreonTradebackMoves:
db 0
LeafeonTradebackMoves:
db 0
GlaceonTradebackMoves:
db 0
SylveonTradebackMoves:
db 0
LickilickyTradebackMoves:
db 0
TangrowthTradebackMoves:
db 0
KleavorTradebackMoves:
db 0
TsubomittoTradebackMoves:
db 0
SteelixTradebackMoves:
db 0
BlisseyTradebackMoves:
db 0
HitmontopTradebackMoves:
db 0
CrobatTradebackMoves:
db 0
AnimonTradebackMoves:
db 0
BellossomTradebackMoves:
db 0
Porygon2TradebackMoves:
db 0
KingdraTradebackMoves:
db 0
PolitoedTradebackMoves:
db 0
SlowkingTradebackMoves:
db 0
ElectivireTradebackMoves:
db 0
MagmortarTradebackMoves:
db 0
TaabanTradebackMoves:
db 0
KokanaTradebackMoves:
db 0
KasanagiTradebackMoves:
db 0
CarapthorTradebackMoves:
db 0
HinaazuTradebackMoves:
db 0
BetobebiiTradebackMoves:
db 0
MagnezoneTradebackMoves:
db 0
PorygonZTradebackMoves:
db 0
AnnihilapeTradebackMoves:
db 0
ScreamTailTradebackMoves:
db 0
SandyShocksTradebackMoves:
db 0
WiglettTradebackMoves:
db 0
WugtrioTradebackMoves:
db 0
ToedscoolTradebackMoves:
db 0
ToedscruelTradebackMoves:
db 0
PerrserkerTradebackMoves:
db 0
SirfetchdTradebackMoves:
db 0
MrRimeTradebackMoves:
db 0
MeltanTradebackMoves:
db 0
MelmetalTradebackMoves:
db 0
ArcanineHTradebackMoves:
db 0
ElectrodeHTradebackMoves:
db 0
RaticateATradebackMoves:
db 0
RaichuATradebackMoves:
db 0
SandslashATradebackMoves:
db 0
NinetalesATradebackMoves:
db 0
DugtrioATradebackMoves:
db 0
PersianATradebackMoves:
db 0
GolemATradebackMoves:
db 0
RapidashGTradebackMoves:
db 0
SlowbroGTradebackMoves:
db 0
SlowkingGTradebackMoves:
db 0
MukATradebackMoves:
db 0
ExeggutorATradebackMoves:
db 0
MarowakATradebackMoves:
db 0
WeezingGTradebackMoves:
db 0
TaurosPTradebackMoves:
db 0
TaurosPATradebackMoves:
db 0
TaurosPBTradebackMoves:
db 0
FossilKabutopsTradebackMoves:
db 0
FossilAerodactylTradebackMoves:
db 0
MonGhostTradebackMoves:
db 0