Skip to content

ForPokemonAI/Pokemon_Yellow_Legacy_MOD

 
 

Repository files navigation

Mod of Pokemon Yellow Legacy

Pokemon Yellow Legacy is fantastic but it could be better. I reworked the AI to not be an idiot, changed the Pokemon availability to follow their environmental typing while trying to make ecological sense, switched dragon to be physical and balanced the lategame a bit.

Pokemon availability changes:

  • Encounter tables changed to follow pokemon environment typing
  • Surfing tables changed to follow watertypes
  • Fishing rods changed so all rods have location dependent encounter tables
  • Magikarp from salesman now costs 5k instead of 500
  • Mr Mime trader now wants Abra instead of Clefairy
  • Celadon Mansion now has Porygon instead of Eevee
  • Game corner now sells Magmar(1500), Electabuzz(2000), Mr Mime(2500), Dratini(5000), Eevee(9999), Porygon(3000)
  • Eevee as starter(but cries and animations not changed, zuperZach has done cries/animations but I did not find permissions in his fork to use them here)
  • Starter can evolve if you meet the criteria(removes the on map pokemon)

Move changes:

  • Dragon type moves are now treated as physical attacks
  • Night shade now has 75 base power and secondary lower attack effect

Learnset changes:

  • Bellsprout starts with constrict and growth instead of vine whip/growth
  • Bellsprout learns poisonpowder at 7, vine whip at 13
  • Ekans learns poison sting at 5
  • Krabby starts with bubble instead of bubble/leer
  • Krabby learns tackle at 7, leer at 11, sharpen at 16
  • Growlithe starts with bite and growl instead of bite/roar
  • Growlithe learns lick at 7, roar at 12, agility at 42
  • Arcanine now has the same learnset as Growlithe
  • Psyduck/Golduck now learn fury swipes at 33(level up)

Balance changes:

  • Shift setting no longer declares what pokemon the enemy is going to use
  • Badge boosts removed completely
  • Stat EXP effect halved
  • Completely reworked AI routine that does not cheat.
  • Gyms levelup as you gain badges

Miscellaneous fixes:

  • Pokedex pokemon area overflow fix so it no longer inverts colours

Below is the original description of the Yellow legacy hack and below that you can find the detailed AI routine changes if you want to spoil yourself or are interested in it itself.

Pokémon Yellow Legacy

The Yellow Legacy project is the prequel to Crystal Legacy by content creator Patrick Smith (TheSmithPlays), and the second project in his planned Legacy series. It is based on the Pokémon Yellow Disassembly. The Legacy project is focused on changing the base game in a way that adds quality of life additions and better balancing with the benefit of twenty years of hindsight. The primary goal of each mod is to keep the original feeling of the game while still making meaningful improvements for the player. This means that certain idiosyncrasies of the first generation of Pokémon games will remain, as they are considered an essential aspect to the core experience.

Pokémon Yellow exists in a unique role in the Pokémon franchise – it was the first truly significant revision of existing Pokémon games, and it still exists as the only core Pokémon game to be influenced by the anime. Furthermore, Pokémon Yellow introduced greater use of color, more challenging boss fights, availability for all three starters, and Pikachu as your companion. As a project to improve this game, Yellow Legacy seeks to find balance between furthering the unique niche of anime-influence while still representing the first generation of Pokémon as a whole.

Yellow Legacy aims to give each Pokémon a special niche. Balance changes were made with the intent to keep the first generation of Pokémon feeling similar to their original incarnations, while also guaranteeing that using your favorite Pokémon will not significantly handicap your journey through Kanto. As the intent is to maintain the feeling of the Generation 1 games, Yellow Legacy will not change core aspects of the battle system such as the sleep status, critical hit chance being based off of speed, or the overpowered functionality of trapping moves such as Wrap or Fire Spin.

While Yellow Legacy is not designed as a “Kaizo” project, Pokémon trainer fights (especially bosses) throughout the game have been made more difficult. Difficulty is used as a tool to make the game as engaging as possible to the most amount of players. It will not be difficult for the sake of being difficult, but rather, to provide you with a challenge that gives reaching the title of Champion a feeling of genuine earned satisfaction. Major trainers will have Pokémon and attacks designed to counter players attempting to easily sweep through the fight with a single super-effective Pokémon. However, players will also have more opportunities to create unique teams of stellar Pokémon to tackle each major fight. Pokémon availability has also been altered throughout the world to provide appropriately-powerful Pokémon based on your progression through the game. Finally, all 151 Pokémon will be obtainable in a single playthrough, and a small amount of post-game content has been added as well.

Download and Play

  • You should use RGBDS version 0.6.1.

  • To set up the repository, see INSTALL.md.

A complete list of features can be found here:

These videos also provide an overview of the hack and the ideology behind it:

Our Other Projects

Discussion and Community

Pret Stuff

Credits For Yellow Legacy:

Creators:

  • TheSmithPlays - Developer
  • cRz Shadows - Devoloper
  • Weebra - Video Editor

Playtesters:

  • Aerogod
  • Disq
  • Karlos
  • ZuperZACH
  • Regi
  • Isona
  • Obelisk
  • JanitorOPplznerf
  • Sable
  • Alakadoof
  • ReaderDragon
  • Rwne
  • Talos
  • Tiberius
  • SoulXCross
  • Mogul

Sprite Artists:

  • Backsprites - Anyone is welcome to use any of our backsprites so long as you credit the artists listed here
    • ZuperZACH
    • Isona
    • Karlos
    • Reader Dragon
    • Alakadoof
  • Pokemon overworld sprites - Anyone is welcome to use any of our overworld sprites so long as you credit the artists listed here
    • Isona
    • Alakadoof
    • Karlos
  • Pokemon party sprites
    • Chamber
    • Soloo993
    • Blue Emerald
    • Lake
    • Neslug
    • Pikachu25
  • Green sprite
    • Madame Frog/Hatun
    • Ghost-MissingNo
  • Porygon Front Sprite - Zeta_Null
  • Nurse Joy Battle Sprite - ZuperZACH
  • Officer Jenny Battle Sprite - Karlos
  • Misty overworld sprite - Isona
  • (Removed) Leaf sprite - Longlostsoul

Where you can find all Pret Tutorials:

Code Credits:

Other Credits:

Massive thank you to these hacks in particular:

AI changes:

  • AI that does not:
    • Cheat upon switch out or switch in
    • Cheat with knowing the exact damage a move will do
    • Use moves with no effect
    • Try to hit flying/digging opponents
    • Use moves the player pokemon is immune to for any reason
    • Buff/debuff if already at full stack
    • Use substitute if too low hp
    • Use explosion moves if player pokemon is frozen
    • Use status moves if the player pokemon already has a relevant status, confusion,
  • AI that:
    • Tries to knock out immediately if possible
    • Has a knockout prioritization routine that takes into account accuracy, quick attack, swift, hp drain, charge, etc.
    • Uses spore if it has it
    • Buffs speed if slower
    • Paralyzes opponent if slower
    • Uses dream eater if player pokemon is asleep
    • Has an explosion prioritization routine scaling with hp, speed and whether it knocks out the player pokemon or not
    • Currently set to use Bide as it's opener to make Brock easier as a trapping Onix is insane in the early game.
    • Tries to use trapping moves if faster
    • Has a status move prioritization routine that takes into account speed, status move effect and AI pokemon hp
    • Has a buff/debuff routine routine that takes into account speed, status move effect and AI pokemon hp
    • Knows which of its moves does most damage to the player pokemon, accounts for charge, multihit, recharge moves
    • Does not like to use lower damaging moves unless otherwise relevant
    • Does not like to use Counter below 50% hp
    • Does not like to use Bide below 100% hp
  • Possible issues/improvements:
    • Does not differentiate if a move is guaranteed to knock out or a range
    • Does not have a specific debuff routine, instead this is together with the buff routine
    • Is not forced to use quick attack if slower and low on hp
    • Does not prioritize moves with side effects, just looks at the damage they do
    • There is an edge case where the AI predicts player pokemon switch out in case it had max debuff applied but as it is so rare it is not addressed.
    • There is an edge case with quick attack being the best damaging move and not being chosen that is not encountered in the game and thus not addressed.
  • It consists of six AI ranking routines:
    • Idiot routine, that stops the AI from using moves that do nothing
    • Damage routine, that tells the AI not to like using moves that do less damage than it's best move and KO if it can
    • Buff routine, that gives different priorities to buff and debuff moves depending on the situation
    • Explosion routine, that gives different priorities to explosion moves depending on the situation
    • Status routine, that gives different priorities to status/heal only moves depending on the situation
    • Trap routine, that tells the AI to use trapping moves if it's faster

The six routines work alongside each other to create the move priorities and thus it is recommended to run with all of them on for most trainers. They can be mixed and matched, nothing will break, but the end results might be suboptimal. So you can have trainers that know not to use worse damaging moves than their main one but still be stupid enough to use buffs when they are at 1% hp, for example.

The exception to this is the idiot routine, 1. It has to be on at all times, for all trainers. Otherwise none of the other routines will make sense. If you want an early game trainer class with random but not idiotic decisions, give them just the idiot routine and nothing else. They will then randomly pick amongst any move that does something.

The required changes for AI are in /engine/battle/trainer_ai.asm, /data/trainers/move_choices.asm and parts of /engine/battle/core.asm

Feel free to use all my work for yourself. I hold no license to this.

About

This is a MOD from Pokémon Rom Hack made by TheSmithPlays with the intended purpose of fixing Pokémon Yellow into a more polished experience while staying true to the vision of Generation 1's Yellow. This version has: Updated AI, Eevee Starter, Evolvable Starter, Night Shade Buff, Different pokemon distribution, removed badge boosts, nerfed statexp

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

No contributors

Languages

  • Assembly 93.6%
  • Python 5.5%
  • Other 0.9%