The PokéCommunity Forums  

Go Back   The PokéCommunity Forums > Fan Games > ROM Hacks Showcase > Sideshow Showcase
Reload this Page Red Shin Pokemon Red/Blue/Green/JP builds (Bugfix, AI, and QoL patch)

Notices
For all updates, view the main page.

Sideshow Showcase The place to show side-projects that you're working on, for the small yet still big things you want to do, such as translation patches, "386" patches, and anything small like that.

Ad Content
Reply
Thread Tools
  #151   Link to this post, but load the entire thread.  
Old August 14th, 2020 (11:37 PM). Edited August 14th, 2020 by jojobear13.
jojobear13's Avatar
jojobear13 jojobear13 is offline
 
Join Date: Nov 2019
Posts: 484
V1.15 is go for launch!

EDIT: Just realized this is post 151 of the thread. How appropriate.

Master branch patch notes:
#Hack-Induced Bugfixes & Adjustments since last version:
-----------
- Female trainer default name changed from YELLOW to VIOLET
- AI routine #3 favorability for 0 bp moves has been corrected.
- Fixed an issue where enabling gender symbols could cause a status screen crash
- More graphical fixes to the route 22 rival
- Female trainer has correct overworld sprite in intro


#New features & adjustments since last version:
-----------
- GBC color palettes have been back-ported from Yellow-version.
- Scrolling mons on the title screen have their own palettes loaded on the GBC.
- In the blue version intro, jigglypuff has it's own palette loaded on the GBC.
- Oak-speech nidorino has its color palette on the GBC.
- The formula functions for exp now have underflow protection.
- General RNG improved to the one used by Prism and Polished Crystal
- Female trainer now has her own fishing sprites


Lite branch patch notes:
#Latest Fixes (most recent ips patch):
---------------
- The Gameboy Color palette functionality from pokemon Yellow has been back-ported into the game
- Scrolling mons on the title screen have their own palettes loaded on the GBC.
- In the blue version intro, jigglypuff has it's own palette loaded on the GBC.
- Oak-speech nidorino has its color palette on the GBC.
- Ai routine #3 has a correction involving favoribility of 0 bp moves
- Minor graphical fixes to route 22 rival
Reply With Quote
  #152   Link to this post, but load the entire thread.  
Old August 29th, 2020 (9:09 AM).
darthbr darthbr is offline
Banned
 
Join Date: Dec 2015
Posts: 237
Battle system is not good yet. I mean The AI. They switch when pokemon is on Red Life HP. then put another one. IF this one faint. They return The Red hp one again. Also pokemon use dumb moves constant. Like leer or tail whip. Even in e4. Im not complaining. Just saying The original vanila is stupid. So The AI can be better.

IF i have a raichu. And trainer have gyarados. He Will switch to a krabby. Doesnt make sense.
Reply With Quote
  #153   Link to this post, but load the entire thread.  
Old August 30th, 2020 (8:25 AM).
jojobear13's Avatar
jojobear13 jojobear13 is offline
 
Join Date: Nov 2019
Posts: 484
Quote:
Originally Posted by darthbr View Post
They switch when pokemon is on Red Life HP. then put another one.
Yes, this is intended.

Quote:
IF this one faint. They return The Red hp one again.
This will happen if the other possible switch-ins are determined to not be good choices either. But I can adjust the AI scoring so that red health is penalized more heavily.

Quote:
Also pokemon use dumb moves constant. Like leer or tail whip. Even in e4
The battle engine chooses moves randomly even if AI is active. The difference is that it will randomly choose between the most-preferred moves. If multiple moves are in the most-preferred list, then each one has an equal chance of being chosen. Pokemon with mostly non-damage moves tend to skew this preferred list. There's not a lot I can do, but I'll see if I can tweak it some more by occasionally discouraging these moves.

Quote:
IF i have a raichu. And trainer have gyarados. He Will switch to a krabby. Doesnt make sense.
Yes it does. The krabby is scored higher than the gyarados because krabby has a 2x weakness to your raichu as opposed to the 4x weakness of gyarados. The other switch-in choices were scored either equal to or less than the krabby. However, I can look at giving a harsher penalty for type weaknesses.
Reply With Quote
  #154   Link to this post, but load the entire thread.  
Old September 2nd, 2020 (7:52 PM).
Illusioned's Avatar
Illusioned Illusioned is offline
 
Join Date: Jul 2020
Posts: 15
Really good stuff. I'm just wondering if it is possible to implement custom movesets for Gym Leaders and Elite four similar to how that is handled in gen 2? The AI could really shine with beefed up movesets.
Reply With Quote
  #155   Link to this post, but load the entire thread.  
Old September 3rd, 2020 (4:24 AM).
Chronosplit's Avatar
Chronosplit Chronosplit is offline
I play for keeps!
 
Join Date: Jan 2011
Gender: Male
Posts: 491
Quote:
Originally Posted by Illusioned View Post
Really good stuff. I'm just wondering if it is possible to implement custom movesets for Gym Leaders and Elite four similar to how that is handled in gen 2? The AI could really shine with beefed up movesets.
Yep! Trainer_moves.asm and trainer_parties.asm in the data folder should be what you're looking for.
__________________
My patch list, feel free to partake.
Reply With Quote
  #156   Link to this post, but load the entire thread.  
Old September 3rd, 2020 (4:44 AM). Edited September 3rd, 2020 by darthbr.
darthbr darthbr is offline
Banned
 
Join Date: Dec 2015
Posts: 237
Started to play shin pokered master version, awesome, just wondering, could u make those 2 guys in oak lab like ''yes or no'', i mean, not just talk and activate, make it like ''rematch'' system.

I have kids, they just talk to the npc and the game becomes harder (the npc that makes pokemon stronger), and keeps me asking why hahahaha, so i have to change it, anyway, its just a suggestion...

Also, can u make the game start with ''set'' option? i have been playing with SET, and its awesome, not very difficult, but not very easy.. perfect
Reply With Quote
  #157   Link to this post, but load the entire thread.  
Old September 3rd, 2020 (1:41 PM).
jojobear13's Avatar
jojobear13 jojobear13 is offline
 
Join Date: Nov 2019
Posts: 484
Quote:
Originally Posted by darthbr View Post
Started to play shin pokered master version, awesome, just wondering, could u make those 2 guys in oak lab like ''yes or no'', i mean, not just talk and activate, make it like ''rematch'' system.

I have kids, they just talk to the npc and the game becomes harder (the npc that makes pokemon stronger), and keeps me asking why hahahaha, so i have to change it, anyway, its just a suggestion...

Also, can u make the game start with ''set'' option? i have been playing with SET, and its awesome, not very difficult, but not very easy.. perfect
These are all simple requests. I'll make a note to do them.
Reply With Quote
  #158   Link to this post, but load the entire thread.  
Old September 3rd, 2020 (6:31 PM).
CadmiumRED's Avatar
CadmiumRED CadmiumRED is offline
Johto Enthusiast
 
Join Date: Nov 2019
Gender: Male
Nature: Jolly
Posts: 15
On my deviantart page, I actually attempted to make "devamped" GSC Spaceworld '97-style sprites of some of the Pokemon from Gen 1. I might attempt to do more later on if it can aid in this project.



Reply With Quote
  #159   Link to this post, but load the entire thread.  
Old September 3rd, 2020 (7:10 PM).
jojobear13's Avatar
jojobear13 jojobear13 is offline
 
Join Date: Nov 2019
Posts: 484
Quote:
Originally Posted by Illusioned View Post
Really good stuff. I'm just wondering if it is possible to implement custom movesets for Gym Leaders and Elite four
As Chronosplit posted, those two files control trainer rosters and custom movesets. This is what Gamefreak did to get custom movesets working for Yellow version. I just backported it into red & blue. It's not super elegant, but it works.
Reply With Quote
  #160   Link to this post, but load the entire thread.  
Old September 6th, 2020 (9:32 AM).
darthbr darthbr is offline
Banned
 
Join Date: Dec 2015
Posts: 237
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.
Reply With Quote
  #161   Link to this post, but load the entire thread.  
Old September 6th, 2020 (2:44 PM).
jojobear13's Avatar
jojobear13 jojobear13 is offline
 
Join Date: Nov 2019
Posts: 484
Quote:
Originally Posted by darthbr View Post
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.
Reply With Quote
  #162   Link to this post, but load the entire thread.  
Old September 7th, 2020 (5:18 AM).
darthbr darthbr is offline
Banned
 
Join Date: Dec 2015
Posts: 237
Another request. What is The possibility to add automatic use of pokeflute in both snorlax? Just a minor improv
Reply With Quote
  #163   Link to this post, but load the entire thread.  
Old September 7th, 2020 (7:38 AM).
Grilo Grilo is offline
 
Join Date: May 2015
Gender: Male
Posts: 1
the possibility of adding the event in the pikachu surf game the same as the yellow one?
Reply With Quote
  #164   Link to this post, but load the entire thread.  
Old September 8th, 2020 (5:55 PM).
darthbr darthbr is offline
Banned
 
Join Date: Dec 2015
Posts: 237
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
Reply With Quote
  #165   Link to this post, but load the entire thread.  
Old September 8th, 2020 (8:30 PM).
jojobear13's Avatar
jojobear13 jojobear13 is offline
 
Join Date: Nov 2019
Posts: 484
Quote:
Originally Posted by darthbr View Post
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:
Quote:
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.
Reply With Quote
  #166   Link to this post, but load the entire thread.  
Old September 16th, 2020 (7:15 PM).
BrianRolling BrianRolling is offline
 
Join Date: Dec 2019
Posts: 3
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.
Reply With Quote
  #167   Link to this post, but load the entire thread.  
Old September 17th, 2020 (9:14 PM).
jojobear13's Avatar
jojobear13 jojobear13 is offline
 
Join Date: Nov 2019
Posts: 484
Quote:
Originally Posted by BrianRolling View Post
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.
Reply With Quote
  #168   Link to this post, but load the entire thread.  
Old September 18th, 2020 (2:03 AM).
BrianRolling BrianRolling is offline
 
Join Date: Dec 2019
Posts: 3
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.
Reply With Quote
  #169   Link to this post, but load the entire thread.  
Old September 18th, 2020 (12:19 PM).
jojobear13's Avatar
jojobear13 jojobear13 is offline
 
Join Date: Nov 2019
Posts: 484
Quote:
Originally Posted by BrianRolling View Post
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.
Reply With Quote
  #170   Link to this post, but load the entire thread.  
Old September 18th, 2020 (3:08 PM).
BrianRolling BrianRolling is offline
 
Join Date: Dec 2019
Posts: 3
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.
Reply With Quote
  #171   Link to this post, but load the entire thread.  
Old September 21st, 2020 (10:11 PM). Edited September 21st, 2020 by jojobear13.
jojobear13's Avatar
jojobear13 jojobear13 is offline
 
Join Date: Nov 2019
Posts: 484
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.
Attached Images
File Type: png Capture.PNG‎ (8.8 KB, 9 views) (Save to Dropbox)
Reply With Quote
  #172   Link to this post, but load the entire thread.  
Old September 25th, 2020 (7:40 AM).
Lv.12 Slime's Avatar
Lv.12 Slime Lv.12 Slime is offline
 
Join Date: Jan 2020
Gender: Female
Nature: Quirky
Posts: 1
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!
Reply With Quote
  #173   Link to this post, but load the entire thread.  
Old October 7th, 2020 (5:18 PM). Edited October 7th, 2020 by jojobear13.
jojobear13's Avatar
jojobear13 jojobear13 is offline
 
Join Date: Nov 2019
Posts: 484
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
Reply With Quote
  #174   Link to this post, but load the entire thread.  
Old October 9th, 2020 (11:38 PM). Edited October 14th, 2020 by Illusioned.
Illusioned's Avatar
Illusioned Illusioned is offline
 
Join Date: Jul 2020
Posts: 15
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.
Reply With Quote
  #175   Link to this post, but load the entire thread.  
Old October 10th, 2020 (8:36 AM). Edited October 10th, 2020 by jojobear13.
jojobear13's Avatar
jojobear13 jojobear13 is offline
 
Join Date: Nov 2019
Posts: 484
Quote:
Originally Posted by Illusioned View Post
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.
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.
Reply With Quote
Reply

Quick Reply

Join the conversation!

Create an account to post a reply in this thread, participate in other discussions, and more!

Create a PokéCommunity Account
Ad Content
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -8. The time now is 8:52 AM.