• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Please note that users with less than 6 posts will have their threads/posts go to the approval queue if it has links or messages. This counts edits made to threads/posts after they were already approved and is intentional anti-spam behavior that is unfortunately necessary. Once you reach 6 posts, this will no longer occur.
  • 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)

  • 536
    Posts
    4
    Years
    • Seen Jun 12, 2024
    I have found a minor minor error. When u give a drink to The girl on Last floor of celadon store. Appears a "N" into The Middle of The boarder.

    Fixed it. The code tries to dynamically print the item name of the TM stored in wram as part of the text. The really weird thing about it is that this is only done on the celadon mart roof. Every other instance in the game just prints a straight string of "TMxx contains".

    It makes me think that Gamefreak originally wanted to reuse the same block of text for the thirsty girl and just swap out the TM names (an attempt to save on rom space). Then later they changed their minds and left it as-is.
     

    darthbr

    Banned
  • 237
    Posts
    8
    Years
    • Seen Dec 8, 2023
    Another request. What is The possibility to add automatic use of pokeflute in both snorlax? Just a minor improv
     
  • 1
    Posts
    9
    Years
    • Seen Nov 7, 2020
    the possibility of adding the event in the pikachu surf game the same as the yellow one?
     

    darthbr

    Banned
  • 237
    Posts
    8
    Years
    • Seen Dec 8, 2023
    Agatha is op as hell. Every pokemon i take she uses hypnosis without fail (how do i make to use less hypnosis)? . Too many substitutes and mega Drain and psych? Omg
     
  • 536
    Posts
    4
    Years
    • Seen Jun 12, 2024
    Agatha is op as hell. Every pokemon i take she uses hypnosis without fail (how do i make to use less hypnosis)? . Too many substitutes and mega Drain and psych? Omg

    You'd have to change the moves on her team. Agatha's pokemon all have move sets that are relatively straightforward to use yet are very effective. The best strategy for her is to simply not make any dumb mistakes. What you are experiencing is the natural result of the AI keeping her from making dumb mistakes. Take her lvl 60 Gengar for example:
    Gengar: lvl 60
    -confuse ray
    -psychic
    -hypnosis
    -dream eater

    AI layer 1 will heavily discourage dream eater if the opponent is awake. This leaves an almost equal chance for any of the other three moves to be chosen (a 1-in-3 chance to use psychic and a 2-in-3 chance to throw a status effect your way). Then AI layer 3 runs to check type-matching. If the target is weak to psychic moves, then psychic will get the preference and be used.

    Let's say the opponent is already confused. In that case AI layer 1 will heavily discourage confuse ray. AI layer 3 runs next and finds a resistance to psychic moves, so it discourages psychic and dream eater. Confuse ray is discouraged, hypnosis is neutral, psychic is discouraged, and dream eater is discouraged. The AI will try to keep hitting with hypnosis under these conditions. Once the enemy is asleep, hypnosis gets heavily discouraged and dream eater gets a slight bump in preference. Now the AI will keep trying to use dream eater as it is the best option available. If the opponent recovers from confusion, now confuse ray becomes the best option available and it gets used. If the opponent wakes up, now hypnosis becomes the best option again and it gets used. It's a deadly cycle.

    So yeah, it's not really the AI itself. The AI mostly runs off the concept of "don't do that". The move sets are just highly geared towards having only one good choice for every situation.
     
  • 3
    Posts
    4
    Years
    • Seen Nov 27, 2020
    Hi. I'm a fan of your rom hack because it actually fixes the game. I'm using it as sort of a building base for some additional modding I'm doing to the game. I'm writing to ask you a favor, or at least a question. How easy is it for you to alter a move's critical hit ratio and priority? The reason I'm asking is because I'm altering moves with a tool and it's unable to do any of these. I'm specifically looking to increase critical hit ratio on Cut and increase move priority on Swift like it does for Slash and Quick Attack respectfully. I understand it might be a hard coding situation, but I don't know how to code, so I can't figure this out myself. Since I'm using your hack as a base I figured this is a good place to start asking for help. If you can, or if you know anyone else who can figure this thing out for me instead, I'd love the assistance either way. Again, I like this mod a lot. Keep up the good work and I hope to see a reply soon.
     
  • 536
    Posts
    4
    Years
    • Seen Jun 12, 2024
    Hi. I'm a fan of your rom hack because it actually fixes the game. I'm using it as sort of a building base for some additional modding I'm doing to the game. I'm writing to ask you a favor, or at least a question. How easy is it for you to alter a move's critical hit ratio and priority? The reason I'm asking is because I'm altering moves with a tool and it's unable to do any of these. I'm specifically looking to increase critical hit ratio on Cut and increase move priority on Swift like it does for Slash and Quick Attack respectfully. I understand it might be a hard coding situation, but I don't know how to code, so I can't figure this out myself. Since I'm using your hack as a base I figured this is a good place to start asking for help. If you can, or if you know anyone else who can figure this thing out for me instead, I'd love the assistance either way. Again, I like this mod a lot. Keep up the good work and I hope to see a reply soon.

    The code that handled these things use to be kinda messy. I ended up simplifying both these things a bit when fixing issues with critical hits and the move Counter. It is now very easy to do.

    Your list of move constants is going to be in "/constants/move_constants.asm", so leave that file open in a side window and use it as a reference.

    To set move priority, go to "custom_functions/func_battle.asm" and look at these functions:
    Code:
    LowPriorityMoves:
    	cp COUNTER
    ;	ret z
    ;	cp BIND
    ;	ret z
    ;	cp WRAP
    ;	ret z
    ;	cp FIRE_SPIN
    ;	ret z
    ;	cp CLAMP
    	ret

    Code:
    HighPriorityMoves:
    	cp QUICK_ATTACK
    ;	ret z
    ;	cp DUMMY_MOVE1
    ;	ret z
    ;	cp DUMMY_MOVE2
    ;	ret z
    ;	cp DUMMY_MOVE3
    ;	ret z
    ;	cp DUMMY_MOVE4
    	ret

    You'll see there are lines I have removed (aka commented out) by using the ";" character (makes everything after it treated as a comment to be ignored by the compiler). Simply un-comment two lines at a time and replace the move constant with that of your choice. Making Swift a high priority move would look like this:
    Code:
    HighPriorityMoves:
    	cp QUICK_ATTACK
    	ret z
    	cp SWIFT
    ;	ret z
    ;	cp DUMMY_MOVE2
    ;	ret z
    ;	cp DUMMY_MOVE3
    ;	ret z
    ;	cp DUMMY_MOVE4
    	ret

    As you might be able to guess, you can add as many moves as rom space will permit by copy-pasting lines.

    Now for high-crit moves, you want to go to the "engine/battle/core.asm" file and go to this function:
    Code:
    HighCriticalMoves:
    	db KARATE_CHOP
    	db RAZOR_LEAF
    	db CRABHAMMER
    	db SLASH
    	db $FF

    As you can see, it's just a list of move constants with FF as an end-of-list signifier. Just add CUT to the list as such:

    Code:
    HighCriticalMoves:
    	db KARATE_CHOP
    	db RAZOR_LEAF
    	db CRABHAMMER
    	db SLASH
    	db CUT
    	db $FF

    Rom space in the core battle file is really tight. You don't have a lot of extra bytes to add moves. You might want to find the "UnusedHighCriticalMoves:" list and comment that whole list out like so:
    Code:
    ;UnusedHighCriticalMoves:
    	;db KARATE_CHOP
    	;db RAZOR_LEAF
    	;db CRABHAMMER
    	;db SLASH
    	;db $FF
    That should give you a little more wiggle-room.
     
  • 3
    Posts
    4
    Years
    • Seen Nov 27, 2020
    Oh, nice. I appreciate it. I can see the files in your github page, but how do I apply the changes to my copy of the rom? Sorry that I'm asking this. Like I said, I've been using utility tool executable to edit the game, so I've never actually tried to get into the code.
     
  • 536
    Posts
    4
    Years
    • Seen Jun 12, 2024
    Oh, nice. I appreciate it. I can see the files in your github page, but how do I apply the changes to my copy of the rom? Sorry that I'm asking this. Like I said, I've been using utility tool executable to edit the game, so I've never actually tried to get into the code.

    Hacking utilities will not necessarily work on shinpokered. Those assume everything is arranged in rom addresses the same as the retail games. A lot of stuff has been shifted around, so certain values are not where they were originally located.

    You need to download the repository, set up the compiler, edit the files, and compile the rom yourself. It's the same as setting up and compiling pokered.
     
  • 3
    Posts
    4
    Years
    • Seen Nov 27, 2020
    Gotcha. Some utilities such as move and pokemon stat editor still work on your rom hack, which are what I'm using. The move editor just doesn't have an option for the effects I've mentioned before. I bet I can change which type deals physical or special moves easily with your layout as well. I will try that. Thanks a lot for your help.
     
  • 536
    Posts
    4
    Years
    • Seen Jun 12, 2024
    I did some editing on the female trainer. I changed up her clothes a bit, gave her a nose job, made her waist slightly smaller, and overall tried to make her more feminine. Sprite editing at this resolution is harder than I thought. A mere 1 or 2 pixels have a major effect on appearance.
     

    Attachments

    • Shin Pokemon Red/Blue/Green/JP builds (Bugfix, AI, and QoL patch)
      Capture.PNG
      8.8 KB · Views: 9
    Last edited:
  • 1
    Posts
    4
    Years
    • She/Her
    • Seen Sep 6, 2022
    Hi! I'm working on my own hack and I'm really inexperienced. so I have a suuuuper kinda important question: could you put the trainer rematching and female trainer as separate patches? I'd really appreciate it, good luck on your projects!
     
  • 536
    Posts
    4
    Years
    • Seen Jun 12, 2024
    V1.16 has been uploaded. The big feature added to the master branch is an experimental New Game+. Both branches also had some tweaks and bugfixes.

    Master branch changelog
    #Hack-Induced Bugfixes & Adjustments since last version:
    -----------
    - The aides in Oak's lab that activate features now have a no/yes prompt
    - More AI tweaking
    --- AI scoring for switching puts a heavier penalty on potentially switching in a bad type matchup
    --- AI scoring imposes a very heavy penalty for potentially switching in pokemon with less than 1/4 HP
    --- AI layer 3 changes that affect most 0-power moves (with only a few exceptions like heal effects)
    ----- now has a hard stop on using 0-power moves on consecutive turns
    ----- heavily discourages 0-power moves if below 1/3 hp
    - Fixed text overflow into window border on the celadon mart roof
    - Fixed the Missingno battle not triggering
    - Missingno sets a non-key item in bag slot 6 to 99 if beaten

    #New features & adjustments since last version:
    -----------
    - A regular New Game will default the battle style to SET
    - New Game Plus has been added (still experimental)
    --- Activated under these conditions:
    ----- Must have an existing non-corrupt game save on-file
    ----- Must have beaten the elite 4 in the on-file save
    ----- Press and hold SELECT while choosing the New Game option
    ----- A jingle will play to indicate NG+ has activated and the SELECT button can now be released
    --- Preserves ONLY the following information (your current party will be lost):
    ------ Boxed pokemon
    ------ Play clock
    ------ Pokedex seen/owned registry
    ------ Hall of Fame (experimental)
    ------ Option screen selections
    --- A new trainer ID and hash is generated, so boxed pokemon are permanently treated as traded pokemon
    - Type immunity prevents trapping moves from taking hold at all
    - Yes/No prompt for flute use has been added to blocking snorlax
    - Clefable and Wigglytuff get some moves back via level-up
    - Encountering Missingno will not give 128 of the item in the sixth bag slot
    - Re-worked the front and back pics for the female trainer
    - Erika uses her pic from yellow version which alters her funerary clothes to a proper kimono
    - Fossil guy in mt moon can be rematched
    - Fixed text overlap with Oak giving you pokeballs
    - Cannot bypass Brock's gym via the start menu
    - Diglett & Dugtrio can learn cut like in yellow version
    - In SET batle mode, X-stat items have double the effect


    Lite branch changelog
    - More AI tweaking
    --- AI scoring for switching puts a heavier penalty on potentially switching in a bad type matchup
    --- AI scoring imposes a very heavy penalty for potentially switching in pokemon with less than 1/4 HP
    --- AI layer 3 changes that affect most 0-power moves (with only a few exceptions like heal effects)
    ----- now has a hard stop on using 0-power moves on consecutive turns
    ----- heavily discourages 0-power moves if below 1/3 hp
    - Type immunity prevents trapping moves from taking hold at all
    - Erika uses her pic from yellow version which alters her funerary clothes to a proper kimono
    - Cannot bypass Brock via the start button
     
    Last edited:
  • 15
    Posts
    3
    Years
    • Seen Nov 20, 2022
    I have a bug to report. When using GBC palette functionality, a transformed pokemon's palette changes to random colors when an opponent is knocked out.
    Shin Pokemon Red/Blue/Green/JP builds (Bugfix, AI, and QoL patch)
     
    Last edited:
  • 536
    Posts
    4
    Years
    • Seen Jun 12, 2024
    I have a bug to report. When using GBC palette functionality, a transformed pokemon's palette changes to random colors when an opponent is knocked out.
    Shin Pokemon Red/Blue/Green/JP builds (Bugfix, AI, and QoL patch)

    Thanks. I think I know the cause. I'll look into it.

    EDIT: I think I found the cause. The color change is not random. It's actually is trying to default to the Grey palette. This is because the function that updates pokemon palettes assumes that a transformed pokemon always has PAL_GREYMON assigned to it rather than actually searching out and defaulting to the palette assigned to Ditto.
     
    Last edited:
  • 694
    Posts
    7
    Years
    • Seen May 31, 2024
    I have a question about the randomized trainer with 6 LV 100 Pokemon. Does the roster call for random Pokemon in general and use the default moveset or are they teams that you created that are called randomly? I apologize if you already answered this, I couldn't find it asked yet.
     
  • 536
    Posts
    4
    Years
    • Seen Jun 12, 2024
    I have a question about the randomized trainer with 6 LV 100 Pokemon. Does the roster call for random Pokemon in general and use the default moveset or are they teams that you created that are called randomly? I apologize if you already answered this, I couldn't find it asked yet.

    Each pokemon is selected randomly. Default movesets are used.
     
  • 694
    Posts
    7
    Years
    • Seen May 31, 2024
    I absolutely love this hack. My favorite part is the replayability. I love being able to rematch any trainer/gym leader by talking to them again. It makes leveling up and earning money so much easier (So I can buy Ethers -> Max Elixers throughout the game)

    Have you considered upping the bag space from 20 Items or expanding the PC item storage? That would probably break save compatibility, but just curious

    I enjoy being able to check Stat experience and Effort values at ease. My absolute favorite part is the random trainer roster at Lv100. I haven't gotten that far yet, but I can't wait to beat him. This is also a 151 hack so that's also a huge plus.

    One potential issue: Freezing doesn't seem to thaw out on its own. I had about 35 turns pass before I caught Zapdos upon freezing it with Ice Punch, and I believe it has a 20% chance to thaw each turn, yet it never did. Idk if that was overlooked, intentional or if I was just super lucky.

    I am curious what would happen if I set level scaling on when I sent out a Pokemon LV 255. Would the level loop back to 0? Anyway, I'll probably never know because I don't like using Rare candies and grinding to that level is a LOT of work (Which I enjoy)

    Just found one game breaking glitch: I enabled the marking on PKMN registered and Female/Male via the aide and after that, I went to view a PKMN's Effort values in storage by holding select (in this case, Hitmonchan) and the game crashed after going trying to load the second screen of its summary. I tried it three times and it did it all three times. I tried it without talking to the aide and it didn't occur.
     
    Last edited:
  • 536
    Posts
    4
    Years
    • Seen Jun 12, 2024
    I absolutely love this hack. My favorite part is the replayability. I love being able to rematch any trainer/gym leader by talking to them again. It makes leveling up and earning money so much easier (So I can buy Ethers -> Max Elixers throughout the game)

    Glad you're enjoying it.

    Have you considered upping the bag space from 20 Items or expanding the PC item storage? That would probably break save compatibility, but just curious

    I did, and I decided to forgo the feature. It causes things to act wonky with features of pokemon stadium.

    One potential issue: Freezing doesn't seem to thaw out on its own.

    That's how freezing worked in Gen 1.

    I had about 35 turns pass before I caught Zapdos upon freezing it with Ice Punch, and I believe it has a 20% chance to thaw each turn, yet it never did.

    Starting with Gen 2, a frozen pokemon has a 10% chance to thaw per turn. This was increased to 20% in Gen 3 and onward.

    I am curious what would happen if I set level scaling on when I sent out a Pokemon LV 255. Would the level loop back to 0? Anyway, I'll probably never know because I don't like using Rare candies and grinding to that level is a LOT of work (Which I enjoy)

    Yes, it would likely overflow. But this is unlikely to happen. This hack assumes a cap of level 100 and attempts to fix glitches that allow levels above that. It's not really possible to grind that high anyway because the EXP counter will overflow before you hit level 255.

    Just found one game breaking glitch: I enabled the marking on PKMN registered and Female/Male via the aide and after that, I went to view a PKMN's Effort values in storage by holding select (in this case, Hitmonchan) and the game crashed after going trying to load the second screen of its summary. I tried it three times and it did it all three times. I tried it without talking to the aide and it didn't occur.

    I'll take a look at this over the weekend.
     
  • 536
    Posts
    4
    Years
    • Seen Jun 12, 2024
    Just found one game breaking glitch: I enabled the marking on PKMN registered and Female/Male via the aide and after that, I went to view a PKMN's Effort values in storage by holding select (in this case, Hitmonchan) and the game crashed after going trying to load the second screen of its summary. I tried it three times and it did it all three times. I tried it without talking to the aide and it didn't occur.

    Did a quick check with a hitmonchan in the box and the gender symbols toggled on. Viewing the stat screen of the hitmonchan while it's in the box and holding down select for statexp does not crash on on the second page. This is using a fresh compile of v1.16.

    I can't seem to replicate your bug. If you attach your .sav file I might be able to see what is going wrong.
     
    Back
    Top