• Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
  • Ever thought it'd be cool to have your art, writing, or challenge runs featured on PokéCommunity? Click here for info - we'd love to spotlight your work!
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Red hack: Shin Pokemon Red/Blue/Green/JP builds (Bugfix, AI, and QoL patch)

Oh ok, understood. I did read about the trainer classes that had that AI routine but I honestly thought that there were more trainers with it. Since the Lass and Hikers in Mt. Moon had that routine (plus the rockets), it gave me an impression that way more trainers had it. I guess aside from the Lass class, most of the others fit in the description of "serious trainers" (maybe except the hikers, their text is always very goofy IMO).

I gave it to the hikers because they are the first adult trainers that the player encounters. It also fits because their japanese name is is "mountaineer", and that implies they are experienced and skilled outdoorsmen rather than your average boomer-dad out on a nature walk.
 
I gave it to the hikers because they are the first adult trainers that the player encounters. It also fits because their japanese name is is "mountaineer", and that implies they are experienced and skilled outdoorsmen rather than your average boomer-dad out on a nature walk.

I guess that kinda makes sense. Personally I wouldn't give them that AI still but it's a decent reason. Oh, I'm also curious about your reasoning for giving that same AI to the Jr. trainers in the games, as I feel like they don't quite fit into the category that would usually have it.


On a different note, while attempting to check for some things in the beginning of the game, I started a new save and accidentally saved over my previous save lol so I ended up fighting Brock again but this time without extra grinding (and without speed-up). I used a Lv. 11 Bulbasaur, and Lv. 9 Ratatta and Nidoran(f). I had a more interesting experience than in the base game, which isn't hard to accomplish but it's surprising how without radically changing the battle you managed to make it more engaging. Kudos for that, I'm really looking forward to seeing the rest of the important battles now.
 
I guess that kinda makes sense. Personally I wouldn't give them that AI still but it's a decent reason. Oh, I'm also curious about your reasoning for giving that same AI to the Jr. trainers in the games, as I feel like they don't quite fit into the category that would usually have it.

Jr Trainers are supposed to be fellow 10-year-old trainers like the player. They are a cut above the other children the player encounters in the early game. I wanted to give them access to something the player has, that being switching, to emphasize that.

Satoshi Tajiri put in a clear divide between battles with adult and child npcs. Adults tend to be a bit smarter, and quite a few are meant to be older analogs of child trainers. Off the top of my head: Jr trainers become cooltrainers, lassies become beauties, and super nerds become scientists.

I also have a big spreadsheet that plots all the trainer classes and their AI settings. I tried to give the switching AI layer to a modest spread of trainer classes. This leads to a more diverse blend of AI layers to be encountered.

There are some AI settings with type-matching that are holdovers from the master branch which I have neglected. I'm in the process of reverting them. However, I will fudge things a bit and make all of the gym leaders and elite-4 do type-matching. It's missing from Agatha, Bruno, Brock, Surge, Sabrina, and Blaine. Makes sense to leave it off for Brock as it doesn't do anything for him, but the others were likely an oversight due to copy-pasting code from other trainers.


On a different note, while attempting to check for some things in the beginning of the game, I started a new save and accidentally saved over my previous save lol so I ended up fighting Brock again but this time without extra grinding (and without speed-up). I used a Lv. 11 Bulbasaur, and Lv. 9 Ratatta and Nidoran(f). I had a more interesting experience than in the base game, which isn't hard to accomplish but it's surprising how without radically changing the battle you managed to make it more engaging. Kudos for that, I'm really looking forward to seeing the rest of the important battles now.

Thanks. That's probably the changes to AI layer 1 which is "don't do useless things". The vanilla games give this to everything but youngsters and cueballs. Before, it only did things like dissuading using status moves on status'd pokemon. Now it dissuades a whole bunch of things.

Just watch out for Agatha. She tends to filter people now.
 
V1.23 has been released. Happy New Year!

Lite branch changelog:
Readjusted the vertical positioning of some spaceworld back sprites
Fixed Flying and Teleporting out of maps with the forest tileset
Fixed messed-up warps dealing with the forest tileset
Fixed incorrect animation colors
Fixed some minor color errors in non-move battle animations
Changed color of normal-type attacks to yellow
Adjusted the Saffron Guard text for accuracy
Attacks reduced to zero damage now say the target is unaffected instead of missing

The project now compiles Japanese Blue
The project now compiles Japanese Red
Green and Red-JP have their original pokedex entries (adapted from Fire Red)
Green, Red-JP, and Blue-JP now display metric units in the pokedex
Green, Red-JP, and Blue-JP now have the japanese-style town map layout
Green, Red-JP, and Blue-JP now have their correct copyright graphics
Green, Red-JP, and Blue-JP now have the "PRESENTS" graphic under "Game Freak"
Green and Red-JP play the original shooting star sound effect

Gamma shader defaults ON if the destination code in the rom header is set to 00 (JP)
Pressing SELECT at the copyright info now switches the shader from its default state
The default state of the gamma shader can be changed with any gameboy rom header editor
Alternately, remove the 'j' in 'cjsv' in the Makefile to compile with a JP destination code

Engine Improvement: the 1.5x EXP boost function now has overflow protection
Engine Improvement: EXP Gained can now print up to five digits instead of four
Engine Improvement: Pokemon can now learn more than 1 more per level
Engine Improvement: the "LF" character mapping can be used as a line-feed

Text with zero frame delay can be toggled in the options menu; press LEFT with the cursor on FAST
Gym leader names have been restored on the trainer card

Reverted some AI settings for trainer classes to match the retail releases (holdovers from master branch)


Master branch changelog:
New Stuff

The player's party 'mons now have temporary field move slots for HM moves
Each party 'mon has 1 slot separate from its regular move list
A field move in this slot can be used in the overworld as normal
You will be asked about filling the slot when teaching a field move out of battle
You cannot overwrite a slot with a field move already in it
A slot is cleared when its 'mon leaves the party (such as being put in the PC)
In the case of a 'mon with 4 regular field moves:
The slotted temporary move cannot be menu-selected
The slotted temporary move, if it's a HM move, can be used via quick-key

There is now an obedience level-cap that can be toggled in the options menu
With the cursor in the BATTLE STYLE section, press A to toggle it on and off
While active, the current maximum obedience level will display in the options menu
All pokemon, not just trades, will start to disobey if over the displayed level cap
The cap will change based on which badge you have
Not recommended for use with trainer scaling since you might gain too many levels too quickly
Best to turn this off in the post-game as it's really for the gym challenge and elite-4

Good rod has an expanded 'mon list and level range
Increased the level range of the super rod
Old rod now randomly acts as a Good rod 50% of the time
Old rod is a sellable non-key item with the value of a nugget
The Route 12 Fishing Guru is now visitable upon first reaching Lavender Town
Swapped location of Good and Super Rod

The project now compiles Japanese Blue
The project now compiles Japanese Red
Green and Red-JP have their original pokedex entries (adapted from Fire Red)
Green, Red-JP, and Blue-JP now display metric units in the pokedex
Green, Red-JP, and Blue-JP now have the japanese-style town map layout
Green, Red-JP, and Blue-JP now have their correct copyright graphics
Green, Red-JP, and Blue-JP now have the "PRESENTS" graphic under "Game Freak"
Green and Red-JP play the original shooting star sound effect

Gamma shader defaults ON if the destination code in the rom header is set to 00 (JP)
Pressing SELECT at the copyright info now switches the shader from its default state
The default state of the gamma shader can be changed with any gameboy rom header editor
Alternately, remove the 'j' in 'cjsv' in the Makefile to compile with a JP destination code

SET mode gives an additional 1.5x EXP boost in trainer battles
Added a NPC to the Celadon Diner to toggle a Catch-Up EXP Boost feature

Engine Improvement: the 1.5x EXP boost function now has overflow protection
Engine Improvement: EXP Gained can now print up to five digits instead of four
Engine Improvement: Pokemon can now learn more than 1 move per level
Engine Improvement: the "LF" character mapping can be used as a line-feed
Text with zero frame delay can be toggled in the options menu; press LEFT with the cursor on FAST
New Game Plus no longer makes a new Trainer ID, so old boxed pokemon will obey on a new playthrough
Shiny symbol is now displayed
The extra bag space introduced previously is now detected by most of the game's systems
Gave a couple tm moves to the cerulean rival's abra
Initiating the Pokemon Tower rival battle will deactivate the following skippable rival battles
The Cerulean encounter
The SS Anne encounter
Attacks reduced to zero damage now say the target is unaffected instead of missing
Gym leader names have been restored on the trainer card

Hack-related adjustments and fixes

Fixed Flying and Teleporting out of maps with the forest tileset
Fixed messed-up warps dealing with the forest tileset
Fixed incorrect animation colors
Fixed some minor color errors in non-move battle animations
Changed color of normal-type attacks to yellow
Adjusted the Saffron Guard text for accuracy
Assigned a default palette to confusion & crashing self-damage
Made it so choosing New Game doesn't clear certain other options
Fixed bugged TH/HM names within text boxes
Slightly adjusted some Cinnabar Mansion notes to match the Japanese text
Reworked the level-up movelist for all four 'mons in the Eevee family
Readjusted the vertical positioning of some spaceworld back sprites
Fixed the item clause breaking the AI choosing moves
Clarified text of the blocking 'mon in Vermilion city
Fixed typos
Adjusted alignment of printed statEXP
EXP bar goes off of MAX_LEVEL instead of an assumed lvl 100
Fixed Sleep/Freeze clause not working correctly
Streamlined the Sleep/Freeze clause function and cleaned the spaghetti code
Made it so choosing to play as a girl doesn't clear certain other options
Updated the Elite 4 and Gym Leaders a bit (mostly Koga)
Edited Blaine's sunglasses to be darker
No-Yes boxes can be canceled by pressing B
Fixed text delay flags getting cleared which would override the text speed
Seiga/Green special battle now uses JrTrainer-F instead of Lass
Lass reverted to vanilla AI
Rival phase 1 gets AI layer 3 and Channeler gets AI layer 4

I've updated the Guide to New Player Functions as well.
 

Attachments

  • Guide_to_New_Player_Functions.txt
    17.9 KB · Views: 9
Last edited:
Hey something else i would like to say. Would it be possible to restore the original text box border, and the fossil sprites in pewter museum for Jp shin red and green?

Sure. I just need to work out some minor details that are preventing a straight asset swap.
 
The nuzlocke mode is now in private beta testing. For anyone curious about how it currently plays, it is compiled and archived under the v1.23.02 development patches found in the master_dev branch of the github repository. I've also attached a TXT file to this post that gives details about the mode's current functionality.
 

Attachments

  • shinpokered_nuzlocke.txt
    4 KB · Views: 6
hi jojobear13

I found a wild encounter bug that occurs only in Shin pokemon blue (JP) japanese 1.23 version (not with the normal shin pokemon blue)

when walking in this grass area on Route 13,

I sometimes encounter certain pokemon at super-ridiculously high levels
(a Gastly at level 185!, a Scyther also at level 185! or a Tangela at level 186!! OHH SH--)

-see attached pics below

other Shin pokemon 1.23 patches (including shin pokemon blue original) do not have this problem

also, a wild raticate seems to be missing from the 2nd floor of cerulean cave in shin blue jp (unless the encounter is extremely rare like 1% but so far I never really encountered one there)
 

Attachments

  • [PokeCommunity.com] Shin Pokemon Red/Blue/Green/JP builds (Bugfix, AI, and QoL patch)
    shin_pokemon_bluejp_v123-1.png
    3.9 KB · Views: 1
  • [PokeCommunity.com] Shin Pokemon Red/Blue/Green/JP builds (Bugfix, AI, and QoL patch)
    shin_pokemon_bluejp_v123-2.png
    3.4 KB · Views: 1
  • [PokeCommunity.com] Shin Pokemon Red/Blue/Green/JP builds (Bugfix, AI, and QoL patch)
    shin_pokemon_bluejp_v123-3.png
    3.6 KB · Views: 1
  • [PokeCommunity.com] Shin Pokemon Red/Blue/Green/JP builds (Bugfix, AI, and QoL patch)
    shin_pokemon_bluejp_v123-4.png
    3.2 KB · Views: 1
hi jojobear13

I found a wild encounter bug that occurs only in Shin pokemon blue (JP) japanese 1.23 version (not with the normal shin pokemon blue)

when walking in this grass area on Route 13,

I sometimes encounter certain pokemon at super-ridiculously high levels
(a Gastly at level 185!, a Scyther also at level 185! or a Tangela at level 186!! OHH SH--)

-see attached pics below

other Shin pokemon 1.23 patches (including shin pokemon blue original) do not have this problem

also, a wild raticate seems to be missing from the 2nd floor of cerulean cave in shin blue jp (unless the encounter is extremely rare like 1% but so far I never really encountered one there)

Thanks for the bug report. Both are being caused by typos I made in the wild encounter files. Only Blue-JP is affected. You can fix the issue by re-patching a fresh rom with the appropriate v1.23.03 dev patch. FYI, the game now kicks you back to Pallet Town as a safety measure when you first load an old save on a new patch.
 
So, some brainstorming I've been having. One of the advantages in using an external randomizer program is that you can shuffle all the wild pokemon around and their new distribution remains consistent throughout the game. Contrast this to a basic built-in randomizer where pokemon are determined randomly from encounter to encounter and there is no way to track them by area. The most straightforward way to implement the former outcome in-game is to have a randomized list that gets saved and referenced, but this can take up a costly 150 bytes in wram that just isn't available.

But what if I could deterministically shuffle a list burned into rom space using a random seed byte? Then all I would have to do is save the seed in wram. The shuffled list could be generated as-needed and in the same order every time. I could use the Fisher-Yates algorithm to do this. Then I could have wild pokemon be swapped out in a consistent way every time. Hmm...I think this might work with the GB/C's processor if I can find a shortcut or two.

EDIT: Holy crap. This is actually kinda coming together and doesn't run like molasses. The GB/C may use tech from the 1970s, but it's a surprising little workhorse.

EDIT2: And now it's working. Just have to optimize how I do things for the "AREA" section of the pokedex so it doesn't take several seconds to load.
 
Last edited:
Quick post with an update on the next patch.

I need some help beta-testing master development patch 1.23.04 which allows for built-in randomized nuzlocke runs. If you choose to play on this development patch, please re-read and understand the whole Player's Guide that has been updated for the new features.
 
Hi. Is it possible to expand the newer damaging moves in LGPE like Shadow Ball and Dragon Pulse? Thanks!
 
Back
Top