Name: Shin Pokemon Blue
Hacked by: jojobear13
Based on: Pokemon Blue
Source Link: https://github.com/jojobear13/shinpokered
Description:
Hello, Welcome back to Pokemoner.com, and I’m Pokemoner. We will play Shin Pokemon Red or Blue by jojobear13! He tries to make Pokemon Red and Blue have Full Color, Fix bugs, improve AI trainer, and quality of life!
You can play as Boy or Girl in this game. More and More features you can read in my post. Anyway, It’s Completed in English. And now, Let’s play!
This is an enhancement ROM hack of Pokemon Red & Blue based on the Pret team’s pokered disassembly project. It is a mostly-vanilla hack that focuses on fixing game engine bugs and oversights from the original game. Additionally, trainer AI routines are improved and multiple quality-of-life enhancements have been added. It also acts as a kind of research-informed speculative work that presents an alternate interpretation of the games. Specifically, that being what the 2016 Nintendo Virtual Console re-release of Gen-1 Pokemon could have been.
It is the image of a glitch-free experience with player-friendly goodies and enhancements common to other modern remasterings.
The main purpose of the accompanying source code repository is to study, comment upon, and repair functional errors. It is important to record, for posterity’s sake, the methods used for restoring the game to an error-free state. Finally, the source code documents many differences and changes between the various Japanese and English releases.
Changeglog:
v1.23
New features exclusively for the master branch
Added nuzlocke mode
Hold SELECT and press START while on the bag menu or PC item box menu to auto-sort your items
The girl in Oak’s lab toggles a built-in randomizer for wild pokemon and your starters
Shuffles all pokemon that can be gained through walking, surfing, fishing, or from the game corner
If activated early enough, your starter pokemon options are shuffled as well
Randomizes using a saved seed value, so the shuffled order is always preserved between play sessions
A new random seed is generated upon each new game
There are three pokemon lists based on base-stat-total; A, B, and C tiers
Pokemon are only shuffled within their own list in order to maintain some modicum of balance
Scripted events are unaffected (gifts, in-game trades, static encounters, etc)
The game’s five legendary pokemon are excluded from randomization
The AREA feature of the pokedex automatically adjusts to show the new pokemon locations
Relocated one of the rocket grunts in celadon city, and he now sells bulk coins in the post-game
Trade evolutions no longer evolve at level 45
Trade evolutions now alternately evolve with a stone at a certain level with some new hinting NPC text
Kadabra
Use a moon stone at level 35
Hinted at by a NPC in the Pewter Museum that comments on the moon stone
Haunter
Use a thunder stone at level 35
Hinted at by the Lavender Town NPC that asks if you believe in ghosts
Graveler
Use a fire stone at level 35
Hinted at by a NPC on Cinnabar Island that talks about the mansion
Machoke
Use a leaf stone at level 35
Hinted at by a house NPC in Pewter City that talks about trainers teaching pokemon
A new NPC is in the north-south underground path for post-game mirror matches
Added a new Clause Brother for activating the Trapping Move Clause
A counter tracks if the player or the opponent use trapping moves like Wrap multiple times in a row
The counter increments only if a trapping effect move is selected to be used and it does not miss
After the counter has incremented to 2,
selecting a trapping effect move additional times will make the move to go 2nd in the round
this is the same priority as the move Counter
The counter only gets reset by switching or using a move that does not have the trapping effect
Reseting the counter will restore normal priority to trapping effect moves.
Added a fifth Clause Brother for the hyper beam clause; hyper beam will recharge if it KOs the opponent
A new drink stand on the route 19 beach sells vending machine drinks
Paras is gifted in the Route 2 house in case the player has no pokemon that can learn Cut
Unused beedrill trade has been restored and placed on Route 22
Added cloning and gene splicing
Added shiny mercy
When a player encounters an AI trainer shiny pokemon, the next wild encounter will be shiny
Side effect: Because trainer ‘mons can’t be shiny in regular difficulty, hard mode gives more chances to find wild shinies
Added new superboss at the seafoam shore (activated the same as the existing missingno fight)
Beating the seafoam missingo battle will certify you as a pokemon master on your diploma
Show Mewtwo to Mr. Fuji after beating the Elite 4 for a M.GENE
Added Bill’s secret garden behind his house
Put Mew in your top spot and show Bill to gain access
You will encounter the starter pokemon plus some other rarer pokemon
Shiny rates are 1-in-128 in this area
Added the MIST STONE
It will max-out all the stat exp of the lvl > 30 pokemon on which it is used
If all the stat exp is already at max, then it will set all the DVs to maximum instead
Defeat Lance with a Dragonite in your top spot and it will be given a catch rate of 168
Dragonite’s cry will play to confirm that this has happened
You can swap with another Dragonite in your party and listen to his after-battle text again to repeat the process
In this rom hack, a dragonite with this catch rate can be taught Fly via HM
This catch rate makes it hold a gorgeous box if transferred to Gen 2
Likewise, a dragonite holding a gorgeous box can learn fly if transferred into this rom hack
Implemented the old Down+B urban legend for pokeballs as a cheat code
The timing is different. You have to hold Down+B before the “[PLAYER] used [ITEM]” text finishes printing.
If successful, the ball tossed will be twice as effective as normal
Scaled back fishing, reduced its randomness, and made it more map-dependent
When using the old rod, press and hold B within about 1 second to always hook a magikarp
Improved itemfinder function
If an item is detected, it will play 1 to 3 chimes depending on how close it is (more chimes means closer to the item).
Lines will point in the direction of the item and flash with the chimes.
If the player is right on top of the item, no lines will show and the chime till play four times.
If the SELECT button is held while selecting to USE the itemfinder, then the original itemfinder function is used.
Added spaceworld-style trainer back sprites for consistency with the spaceworld ‘mon back sprites
Blue-JP has spaceworld-style back sprites, and a corresponding _origback patch has been added
The silhouette effect at the start of battle now displays when playing on a DMG gameboy
Recalibrated the experience gain at the daycare
the daycare lets you select moves to forget (if any) upon retreiving your pokemon
Retrieving a daycare pokemon that could have evolved via level will trigger evolution and learn any missed-out moves
Added a PC to the daycare
The daycare can now support two evolutions back-to-back
Teaching a TM as a field move (Dig/Teleport) no longer consumes the TM
Added visual indicator when swapping bag space
Tweaked a flag for shinies so it can be used as a debugging toggle
Organized the female trainer code to be activated via assembler tags in the makefile (for easy reference)
Added max revives to post-game shop on celadon mart 3f
Cerulean mart sells escape rope per Yellow version
Fuschia mart sells hyper potions per Yellow version
Added a hidden max revive in celadon city
Added a hidden super potion in celadon city
Added a hidden moon stone in diglett’s cave
Added a hidden nugget in diglett’s cave
Added hidden potion on route 22
Additional hidden potion in viridian city
Added two hidden repels to pewter city
Added a hidden great ball and pokedoll on route 6
Added hidden max revive on route 11
Added hidden ultra ball on route 8
Lance now has 2 hyper potions per pokemon like the rest of the elite 4
The Rival battles from the SS Anne through Pokemon Tower use super potions
The Rival battles after Pokemon Tower and up through Route 22 2nd-round use hyper potions
The Champion can use Full Heals in response to a status effect with a 25% chance
All trainers that use any kind of potion now use it with a 50% chance if their HP is low enough
Gym Leaders and mid-game Rival: below 1/5th total
Elite-4 and Champion: below 1/3th total
Added “The Shimmer”, a cheat feature for those who want viability when using certain low-regarded pokemon.
Toggled ON/OFF via the glass pokeball decoration in the rival’s house.
Pokemon Eligible: EKANS, CATERPIE, METAPOD, WEEDLE, KAKUNA, ZUBAT, PSYDUCK, PARAS, PONYTA, RATTATA, SANDSHREW, HORSEA, GOLDEEN, VENONAT, JIGGLYPUFF, ARBOK, BEEDRILL, BUTTERFREE, DITTO, FARFETCHD, GOLBAT, GOLDUCK, HITMONCHAN, LICKITUNG, ONIX, PARASECT, PINSIR, PORYGON, RAPIDASH, RATICATE, SANDSLASH, SEADRA, SEAKING, VENOMOTH, WIGGLYTUFF
The shimmer factor appears randomly and secretly, and is more likely to occur if you favor sending out eligible ‘mons.
The shimmer only manifests in ‘mons that are fully evolved, even if their pre-evos gained the secret shimmer factor.
When the shimmer manifests as a ‘mon gets sent out, that ‘mon gets a large boost to stats that are low-to-poor.
Technical details of the shimmer
A ‘mon eligible for shimmer that is sent out, either by player or enemy trainer, can get the shimmer factor.
The chance of getting the shimmer factor is 1-in-256 per send-out, rewarding a player that uses the ‘mon frequently.
The odds increase by +(1-in-256) per 2048 HP-StatExp that the sent-out pokemon has, encouraging player investment.
The shimmer factor is defined via the pokemon’s catch rate byte and is a value of $6D (held Miracle Berry in Gen-2).
The manifestation of the shimmer boosts one-to-four of a ‘mons unmodified stats.
If 3/8ths of an unmodified stat is less than the mon’s level, then the level value is added to that stat.
Stats that can be boosted are: attack, defense, speed, or special.
Hack-related fixes exclusively for the master branch
Fixed gift pokemon not having above-average DVs if sent to the box
Adjusted Oak’s pokemon moves
Fixed text overlap for trainer Seiga
The static wild encounters (voltorbs and legendaries) now respond to the Chansey cheat for shiny hunting
Fixed an issue where the shiny animation has the wrong palette for the opponent on the GBC
Fixed an oversight to make it so 648 stat exp / lvl function maxes out at lvl 100
RemoveItemByID is now able to remove items from the backup bag space
Repels can no longer waste the mew encounter
Fixed bug in low HP alarm: Some sfx no longer get cut off when the player is at low HP
Holding start or select will no longer print strange HP numbers when not on the status screen
Decreased time to encounter missingno by an exponential amount
Fixed a scripting error on route 20
Removal of the limits on vitamins in the post-game now only applies to pokemon lvl > 30
Adjusted the level-up moves of starmie, cloyster, poliwrath, and exeggcutor for legality with gen-2 time-capsule
Enemy trainer level scaling biases the levels upwards for determining if a pokemon should be evolved
Strength hotkey requires facing a boulder to activate
Trapping moves no longer apply a speed penalty
If trainer scaling is on, you do not need to beat the 1st route 22 rival solo to get oak’s pokeballs
Fixed an issue with the level scaling feature that inadvertantly biased non-special trainers to higher levels
Fixed a problem where the champion whould not work with level scaling
Fixed a minor bug when forfeiting a rival battle
Hack-related fixes exclusively for the lite branch
Cleaned up compiler tags and made it easy to compile with spaceworld-style sprites
Female trainer can be activated by compiling with the _FPLAYER tag
TMs and HMs have their names determined by a list now
Fixed the wrong text pointer in vermilion city
New features and adjustments for both branches
Decoupled the harder difficulty to its own option bit and added the hard mode to the Lite branch
Pressing RIGHT while the cursor is in the BATTLE STYLE box will toggle the feature on/off
Contrasting this, pressing LEFT will let you select a battle style without toggling difficulty
Hard mode adjustments
Trainer stat exp has been re-scaled to be more realistic to attainable amounts per level
No longer gives an exp bonus
Critical hit chance in non-link battles use the Stadium 1 formula
Oak’s pokeballs will be upgraded to great balls if you beat the route 22 rival in hard mode
Wild pokemon DVs get 1 re-roll each if less than 4, biasing them upwards a little bit
Trainers now roll their DVs twice and use the better result
Only boss trainers (giovanni, elite 4, gym leaders, later-game rival) cannot have DVs below 8 in hard mode
Vanilla Options Reset: Deactivates all special options (such as in preparation to update to a new patch)
go to the start menu and put the cursor on the top option (usually POKEDEX)
press and hold UP on the d-pad (the cursor will now be on EXIT)
while continuing to hold UP, press and hold SELECT
while continuing to hold those two buttons, press B
the start menu should close and you will hear a jingle confirming that the option reset worked
Debug Damage Display: Damage values will be displayed in battle as the UI updates as a debug cheat
Toggled on/off the same way as the softlock warp, but by using ‘A’ instead of ‘B’.
Zero damage is not displayed
Damage is not displayed if either pokemon has zero HP remaining
Press and hold A+SELECT at the title screen to print the current RNG seed at the main menu
Switched over to the xor-shift method of RNG
If a zero-value random seed is detected, a new random seed gets generated using the original DIV register method
Gamma shader is now 23% faster thanks to optimizations by easyaspi314
The 60fps mode has better performance when playing in GBC-mode
Does this by using the double-speed feature of the GBC’s processor
Uses more battery as a trade-off
Improved fade-in and fade-out to black/white transitions when playing on GBC in 60FPS mode
Adjustments to multi-attack moves animation and messaging to improve battle flow
Multi-attack moves only print the effectiveness message after the last attack
2-attack moves do not print “hit 2 times” because its obvious that they always hit twice
Multi-attack moves hide the substitute sprite on the first attack and only restore it after the last attack
Twineedle is unaffected by all this due to how it swaps out its effect on the fly to a poison side-effect
Added optimizations to how OAM data is prepared so that overworld sprites wobble less
DelayFrame now manualy calls VBlank if it runs while the LCD is disabled
Added rom hack version tracking for save files
It’s a single byte in the save file that gets incremented each version
If the save byte does not match, the player is automatically warped back to Pallet Town
Helps prevent crashes and glitches when updating an older save file
You will now be given the choice to warp if the rom hack version does not match
If on GBC, intitializing options in a New Game turns 60 fps ON
In GBC-mode, when a pokemon is caught, the resting ball now has a defined color
Tossing pokeballs have color in GBC mode
Increased the maximum game clock to 32767 hours
Using X-Accuracy with a OHKO move now allows it to hit faster opponents
HP-UP item now preserves your HP ratio
The position of both switches in Vermilion Gym are now determined at the same time
The switches in Vermilion Gym can now be discovered independently from one another
Switches in Vermilion Gym will now properly take into acount vertical adjacents
Restored unused text in the vermilion gym puzzle for finding the 2nd switch
Daycare allows HM moves on entered pokemon
Green and Red-JP have the original front sprites for fossil kabutops and fossil aerodactyl
Green and Red-JP have the original text box corners
Restored intro “Presents” for all builds
Adapted the japanese title screen logo, sfx, and motion for the jp builds
Re-added the reference to the Kanto region in the JP translation
Restored SHOP and POKE building tiles in Blue-JP
SGB borders for JP versions are restored (with fixed centering for text)
Added more text corrections for JP versions
Added sfx variations unique to JP versions
Swapped a trade NPC to a gentleman in Green and RedJP
Restored the saucy innuendo for the Nugget bridge dialogue in the jp builds
Restored the religious text in the Pewter museum in the jp builds
Adjusted intro and title screen and palettes slightly in JP red & green for accuracy
Fixed pokemon category translation: “Rat” to “Mouse”
Fixed pokemon category translation: “Shellfish” to “Shell”
Fixed translation: Route 14 trainer’s comment about the legendary birds
Fixed text giving the wrong description of guard spec.
Fixed woman on silph co 10F having a blank line in her text
The function that shows the dex entry for starter pokemon is now more robust
It now works for any pokemon (like if the starters are changed or randomized)
It keeps a backup of the pokedex-owned flags instead of erasing them
Removed the unused Ivysaur flag
The female trainer pic will now display on the diploma if applicable
AI can now handle fly/dig loops between the two pokemon
Adjusted some AI anti-spam for status moves
AI switch scoring applies an extra penalty for possibly switching a pokemon into a super-effective move
AI layer 1: If the player used and item or switched, AI is blind to the player’s sleep counter when considering dream eater
AI layer 3 will slightly discourage a move 25% of the time if it hits neutral with no STAB
Wherein a special move is being used on a ‘mon with greater attack than special stat
Wherein a physical move is being used on a ‘mon with greater special than attack stat
AI layer 3: The enemy is blind to the player type if considering a poisoning effect move and the player just switched
AI layer 3: There is a 90.625% chance per damaging move that AI is blind to player type after player switches
Prevents situations where AI will always pick the ideal move against a switch-in
‘Blind’ in this case means the AI will act as if the move being considered has neutral effectiveness
The AI might still favor a STAB move or a move that works better with its own stats
Withdrawing or depositing a key item from/to the player’s PC will default its quantity to 1
Item evolutions having a level requirement is now supported
Tweaked the fly menu to be more responsive and snappy
Battle sprite organization updates and extra backs
Organized front and back battle sprites to be controlled via assembler tags in the makefile
The move relearner and move deleter code is now tethered to the _MOVENPCS makefile tag
The running shoes code is now tethered to the _RUNSHOES makefile tag
Original flashing move animations from Red-JP and Green are tethered to the (unused) _JPFLASHING makefile tag
Version encounters, trades, and game corner prizes are now tied to their own dedicated assembler tags
The enemy trainer’s HUD is now updated after it uses a healing item
Removed restore sfx from the AI x-accuracy item
Added the restore sfx to all AI hp-recovery items
Trainer switching (ai routine #4)can now be deactivated
This feature disallows enemy trainers to switch intelligently, just like in the original retail games.
With the cursor in the TEXT SPEED section of the option menu, press A to toggle this feature on and off.
the letters “x sw” will appear in the corner of the option menu to indicate that trainer switching is inactive.
Note that Jugglers are unaffected because their official gimmick is that they switch randomly.
New fixes for original game bugs for both branches
Fixed a grass tile in the Forest tileset not counting for encounter generation
Changed border block on route 16 to water to make it consistent with route 17
Fixed a graphical error when Bide unleashes energy against a ‘mon that is not being displayed
Fixed screen tearing in battle when player or ‘mon slides off the screen
Fixed a bug from the vanilla game where boulder dust clouds do not show up well when pushing downwards
Changed border block in cerulean city to field to make it consistent with route 5
Fixed reading the route 16 sign from the other side on route 17
Added missing dungeon maps to battle transition functions
Fixed using a ledge to land on a NPC
Exit won’t block you when warped to Fuji’s house from Pokemon Tower
Can no longer get blocked at the cinnabar gym door
Player now faces up instead of left when stopped in the route 8 guard house
Wavy line animation (psychic/psywave/night shade) now scrolls the top three screen lines (by easyaspi314)
Fixed glitchy trainer card transition screens on GB-DMG
Can no longer change facing while pushing a boulder
Downward-moving sprites now get hidden behind text boxes
NPC walking animation now updates during player movement
Fixed NPCs treating the last visible screen column/row as off-screen
Fixed a graphical bug on the naming screen that apears on cheapo flash carts
Fixed double-edge animation being off-center for the enemy pokemon
Fixed a wall in cerulean cave level 3 that violated the mapping rules so was walkable
Improved the tile block replacement function (improves cinnabar gym lag)
On battle slide-in, fixed the bottom window disappearing for 1 frame when playing on a DMG gameboy
White 1-frame flash on battle load (affecting DMG and GBC modes) as been removed
White 1-frame flash on map load (affecting DMG and GBC modes) as been removed
Fixed garbage tiles display for 1 frame after a battle on the DMG
Fixed a bug where HP bar animation can print the wrong tile for 1 frame
Fixed junk tiles displaying for 1 frame when the game resets after displaying THE END
Fixed transitions when entering and exiting Rock Tunnel
The proper forget-move poof sfx plays during battle
Fixed a bug having to do with rare instances of bending the audio pitch
Victory music won’t play if a wild ‘mon faints but the player has no ‘mons remaining; it’s a blackout
The jingle for finding a hidden item will no longer be skipped during an audio fadeout
Fixed ball toss sfx not resetting the pitch envelope settings
Added protection against oak’s lab music cutting a channel off
Fixed thud sfx playing when exiting via a warp tile
Fixed certain text sfx not playing when using zero-delay text
Meet Trainer jingle should not play before loading into the gym leader battle music
AI using dire hit item now plays a SFX
Fixed input priority on menus
Fixed A-button input priority on the left side of the scrolling pokedex list
Cannot surf from the party menu if a NPC is in front of the player (entering or exiting surf)
The player can now select a move even if frozen, and this fixes a PP underflow and link desync glitch
Made many TextIDs close when pressing A instead of releasing A
Binoculars can no longer pause the overworld by holding A from the wrong side
Fixed an issue where pressing a button on a menu while holding A is treated as an A-press
Fixed the pokeflute posting the wrong message in wild pokemon battles
Cannot use poison to black yourself out of the cable club because entering the club now heals your party
Cannot use poison to black yourself out of the safari zone because the safari minigame now stops poison damage
Cannot perform the 99-stack glitch anymore
RAM adress D732 now gets cleared upon a new game
The party heal function now detects glitch moves and loads 0 PP for them
Closed 255 clone pokemon glitch and reduced saving delay to 15 frames
Fixed trainer escape glitch via blacking out from a wild battle
Minor code correction to Twineedle to prevent future errors
Fixed an issue where the counter for the Disable effect had the wrong distribution if the target was slower
You can now get Oak’s pokeballs even if you evolve your starter
The eating/angry message in safari battles will no longer display incorrectly when returning to neutral
The eating/angry safari state counter correctly increases by 1-5 turns instead of 0-4 turns
Safari battles correctly reset the catch rate when either eating/angry state returns to neutral
Fixed a bug from the vanilla game where random NPC walk delay can underflow to 255 ticks
Fixed an offset bug with the lucky game corner machine
Applied the pokeyellow fix for in-game trade evolutions
Accounted for underflow with switch-out messages
Added an error trap to _Divide function for divide-by-zero calls
Fixed hidden coins not giving the correct amount
Slot machine no longer copies too much tile data
Corrected and clarified the quiz text in the cinnabar gym
Clarified the text for the super repel on 2F of the celadon dept store
Viridian gym statue will not spoil the gym leader’s name reveal
Fixed increment bug in CheckForTilePairCollisions
Fixed inaccurate text when getting the rock slide TM
Fixed the tiles in Mt. Moon floor 3 that prevent encounters
Fixed picking a fossil causing all trainers on Mt. Moon floor 3 to lose line of sight
Fixed an underflow issue which caused trainers above the player to not see beyond 3 spaces downward
Hack-related fixes for both branches
Minor timing fix to title object palette loading
Fixed Raticate not appearing in Unknown Dungeon 2F in Blue-Jp
Fixed incorrect encounters on route 13 in Blue-Jp
Fixed an invalid apostrophe
Fixed pewter npc following distance in 60 fps mode
Fixed rom hack byte not getting set on new game
Fixed an issue with trapping moves being allowed on switch-in
Fixed typo causing incorrect game corner prizes
Minor adjustments to title screen and intro
Leech seed health drain animation now has correct coloring on GBC
Fixed screen whiteouts not looking very smooth in GBC mode (like when entering the ‘mon status screen)
Re-fixed the celadon vending machine code
More fixes for AI switching
Made adjustment to EXP All message
Holding B in zero delay text mode will not revert the text to FAST speed
Major cleanup of options constants
Fixed a minor issue where the first pokemon an opponent sends out can’t be switched
TM/HM name list fixed so it can be in any bank
Fixed extra options not getting initialized correctly
Updated Makefile organization
Added script that verifies the RGBDS version when compiling
Updated the project to build with RGBDS 0.6.0
Readjusted enemy stat exp accumulation and removed reduntant lines in CriticalHitTest
Updating a save to a new hack version now checks to see if the elite-4 were already defeated
Fixed problem with the menu selection byte changing if opponent switches first (affects mimic and others)
If Transform copies an opponent’s Transform move, and the the PP of that move is < 6, it will copy that move's instantaneous PP less 1.
Fixed a problem where multi-hit moves could overflow the damage effectiveness multiplier
Restored the gray pokemon coloring used in red/blue/green versions if using red/blue/green-style front sprites.
Made the speed of japanese flashing animations more accurate to the original
Systems that generate above-average DVs now use a statistical bias instead of using 9,8,8,8 minimum
Updated installation instructions and RBGDS version checking
Minor tweaks to saving/loading code
Added a sfx and symbol for the color correction
This game is a GB ROM Hack. It's Completed in English.
Screenshot:
Gameplay:
Download:
Download Shin Pokemon Blue v1.24 (Completed)
—CIA Version for Nintendo 3DS—-
This ROMs is tweaked too much. Maybe the CIA Version isn’t working perfectly!
Download Shin Pokemon Blue v1.24 CIA (Completed)