The PokéCommunity Forums

The PokéCommunity Forums (https://www.pokecommunity.com/index.php)
-   Sideshow Showcase (https://www.pokecommunity.com/forumdisplay.php?f=204)
-   -   Red Shin Pokemon Red/Blue/Green/JP builds (Bugfix, AI, and QoL patch) (https://www.pokecommunity.com/showthread.php?t=427398)

jojobear13 April 13th, 2021 6:48 PM

Shout-out to Sinna who is doing a no-commentary LP of Shin Green.

jojobear13 April 16th, 2021 11:59 PM

The next version will include a toggle in the option menu to render overworld movement at 60fps. Doesn't make you faster, but it does make things scroll somewhat smoother. Personally, I can only really tell the difference on an LCD screen. Some people are really into this kinda thing though, and I was interested in seeing if I could do it.

Joffoj April 17th, 2021 2:48 AM

Many thanks Jojo for this rom hack. It is the best there is for Red. Two times completed already, a true pleasure, the exact update the original game needed. Spreading the hack around me because it so good. ❤️

charphantom96 April 20th, 2021 11:31 AM

Hey Jojobear13 can you add Surf to Pikachu/Raichu's learnset

jojobear13 April 20th, 2021 9:59 PM

Quote:

Originally Posted by charphantom96 (Post 10340914)
Hey Jojobear13 can you add Surf to Pikachu/Raichu's learnset

I'll think about it. I'm not keen on just adding it to the HM learn-list. Surfing pikachu is supposed to be a special reward from Stadium, and that I'd rather not undermine that by just offering it up without a challenge. I would likely make it some kind of secret post-game quest.

LusoTrainer April 27th, 2021 12:12 PM

Hi again,

@jojobear13 In the past, you've mentioned the possibility of creating jp-red and jp-blue branches. Would these include metric units? Is this even doable?

jojobear13 April 27th, 2021 3:27 PM

Quote:

Originally Posted by LusoTrainer (Post 10345077)
Hi again,

@jojobear13 In the past, you've mentioned the possibility of creating jp-red and jp-blue branches. Would these include metric units? Is this even doable?

It’s doable. Just need to manually convert all the weights and heights.

Not in a rush to do jp red and blue. Don’t want to step on MoriyaFaith’s toes.

LusoTrainer April 29th, 2021 8:17 AM

Quote:

Originally Posted by jojobear13 (Post 10345126)
It’s doable. Just need to manually convert all the weights and heights.

Since it's something available in all versions but the english releases, it would be a nice optional feature for Shin.

Just a suggestion, of course.

jojobear13 May 28th, 2021 3:20 PM

So here's something to think about. I was watching some Pikasprey videos on youtube, and one of them kinda stuck with me. It covered a scenario where you just get stuck in a battle with Lorelei that just won't end. You're trapped in a near-unending cycle of being unable to KO her dewgong.

I thought, "Wouldn't it be neat if you could just forfeit the match?" After a bit of trial and error I ended up working this into shinpokered master_dev branch. When in a battle with an AI trainer, holding SELECT while choosing to RUN will prompt you to forfeit. Choosing YES will initiate a blackout.

I'm not entirely sure what purpose this could serve. Maybe some kind of nuzlocke variant. Either way, I just think it's neat. It'll show up when I put out v1.21, which I should just get off my butt and do already

jastolze007 May 29th, 2021 5:24 AM

Quote:

Originally Posted by jojobear13 (Post 10364212)
So here's something to think about. I was watching some Pikasprey videos on youtube, and one of them kinda stuck with me. It covered a scenario where you just get stuck in a battle with Lorelei that just won't end. You're trapped in a near-unending cycle of being unable to KO her dewgong.

I thought, "Wouldn't it be neat if you could just forfeit the match?" After a bit of trial and error I ended up working this into shinpokered master_dev branch. When in a battle with an AI trainer, holding SELECT while choosing to RUN will prompt you to forfeit. Choosing YES will initiate a blackout.

I'm not entirely sure what purpose this could serve. Maybe some kind of nuzlocke variant. Either way, I just think it's neat. It'll show up when I put out v1.21, which I should just get off my butt and do already

I saw that same video a while back. I think you'd almost have to force that scenario to happen to actually run into it. I do like the idea though.

I'm still playing off and on, I really enjoy that feature where one of the Aides can toggle the trainers to be of level with your own. I was curious though, would there ever be a case where it lowers the AI's levels if you are a lower level than their original team?

jojobear13 May 29th, 2021 12:12 PM

Quote:

Originally Posted by jastolze007 (Post 10364393)
I was curious though, would there ever be a case where it lowers the AI's levels if you are a lower level than their original team?

No. It only checks if a ‘mon in your team is over-leveled and adjusts upwards.

Domino1985 June 1st, 2021 6:38 PM

just checking in on progress love the work you have made! one day in the future shin pokemon yellow yeah that will be a thing no doubt great work with green btw and years later shin pokemon gold silver and crystal man that will be something else ha ha need time machine .... Bill get in here ! lmao

jojobear13 June 7th, 2021 9:45 PM

Finally got around to uploading the patches for version 1.21! Fingers crossed I won't have to release a hotfix for some silly oversight.

A few new features I want to highlight with this patch. First is that there is now a gamma shader that will do color correction if you play in GBC mode on a backlit LCD (phone, GBA SP, etc). Press SELECT on the copyright info screen right when you boot up to activate it. You'll notice the colors aren't as saturated.

Secondly, there's a 60 FPS mode that I made as a proof of concept. It's kinda rusty, but it works. Toggle it by placing the cursor over CANCEL in the options menu and pressing left or right. I've been meaning to write a report in the ASM forum on how I did it, but I'll get around to it eventually.

Thirdly is that I did some re-jiggering of the AI. Switching now scans your active mon's moves and takes those into account for scoring. Use of explosion moves will be less likely if the enemy mon has more HP. More aggressive attacking has been moved to AI layer 1 which applies to most trainers.

These next two things are only in the master branch. Fourthly is the ability to forfeit a match as I posted about earlier. And fifthly, by special request and also only in the master branch, is the ability for pikachu to learn Surf. If you win the SS Anne post-game tournament with a pikachu in your team, that pikachu's catch rate will change to 168. Pikachus with a 168 catch rate are allowed to be taught the Surf HM. If transferred to/from Gen 2 with the time capsule, this catch rate value corresponds to holding a Gorgeous Box.

Anyway, here is the the full changelog:

Master Branch v1.21
Quote:

#Hack-Induced Bugfixes & Adjustments since last version:
-----------
- Fixed the fossil kabutops image not appearing properly
- On battle load, stopped the GBC GBPal from updating before graphics are in the right position
- Fixed some issues where npcs that appear on screen are looking down for 1 frame
- Fixed some menu screen flicker
- All four trade evolutions are now standardized to evolve at level 45
- Fixed issue where paralyzed enemies might move first
- Safari zone "ran away" math is adjusted to be more accurate (level*1 changes to level*1.5 as the base value used)


#New features & adjustments since last version:
-----------
- Added built-in gamma shader for backlit LCD screens (press SELECT at the copyright screen)
- Added nop after halt commands (safety prevention for a rare processor bug)
- Added an option to make the overworld run in 60fps (feature is still a bit rusty)
- Streamlined how the ghost marowak battle is triggered (now allows for non-ghost marowaks in pokemon tower)
- Fixed a coordinate typo in pokemon tower left by gamefreak
- Fixed wrong crit damage for lvl > 127
- Rearranged some stuff with trainer AI
- Trainer AI layer settings have been completely redone
- Gave AI some guidance on explosion effects
- Slight additions to explodo-mon movesets to play nicer with AI at higer levels
- Rearranged trainer AI and moved more agressive move use to AI layer 1 (all trainers except Cueball and Youngster)
- If SS Anne is skipped and the pokemon tower rival battle is initiated, the SS Anne rival battle is deactivated
- Switching AI now scores against all player mon moves
- Winning the SS Anne tournament with a pikachu in the party will set its catch rate to 168
- In this rom hack, a pikachu with this catch rate can be taught Surf via HM
- This catch rate makes it hold a gorgeous box if transferred to Gen 2
- If case of multiple pikachus, only the first in the roster will be affected
- Likewise, a pikachu holding a gorgeous box can learn surf if transferred into this rom hack
- Added ability to forfeit trainer battles
- The RNG state when the game is booted is initialized to a random number
Lite Branch v1.21
Quote:

#Latest Fixes (most recent ips patch):
---------------
- Added built-in gamma shader for backlit LCD screens (press SELECT at the copyright screen)
- On battle load, stopped the GBC GBPal from updating before graphics are in the right position
- Fixed some issues where npcs that appear on screen are looking down for 1 frame
- Fixed some menu screen flicker
- Added nop after halt commands (safety prevention for a rare processor bug)
- Added an option to make the overworld run in 60fps
- Feature is a proof-of-concept and is still a bit rusty
- Toggle by placing the cursor in the options screen over CANCEL and pressing left or right
- Fixed issue where paralyzed enemies might move first
- Rearranged some stuff with trainer AI
- Gave AI some guidance on explosion effects
- Rearranged trainer AI and moved more agressive move use to AI layer 1 (all trainers except Cueball and Youngster)
- Fixed a coordinate typo in pokemon tower left by gamefreak
- Trainer AI layer settings have been completely redone
- Switching AI now scores against all player mon moves
- Fixed wrong crit damage for lvl > 127
- Initialize RNG with random seed

Ninjacapricorn June 10th, 2021 3:04 PM

Love this hack! I dislike playing Gen 1 games because of all the glitches but your fixes make it enjoyable for me. Also to note, your hack is still true to the original games so it doesn't feel like I'm playing a completely different game. Currently I'm using your hacks to do a solo run with every Pokemon. Question: Did you have any plans to do a similar hack for Gen 2 games? I really hope you do because they would definitely benefit from your tweaks.

jojobear13 June 11th, 2021 7:15 PM

Quote:

Originally Posted by Ninjacapricorn (Post 10370226)
Love this hack! I dislike playing Gen 1 games because of all the glitches but your fixes make it enjoyable for me. Also to note, your hack is still true to the original games so it doesn't feel like I'm playing a completely different game. Currently I'm using your hacks to do a solo run with every Pokemon. Question: Did you have any plans to do a similar hack for Gen 2 games? I really hope you do because they would definitely benefit from your tweaks.

Shin Crystal is just a bunch of spreadsheets and notes for the foreseeable future. If I ever do it, I will do some things different from Shin Red in terms of species allocation, regional availability, level-up movesets, as well as tweaking some story beats.

Perfect Crystal 2020 update exists, so I don’t want to just redo everything it already does. Though I suggest giving that one a spin.

erpster8 June 12th, 2021 1:51 PM

so far so good with the 1.21 release of shin pokemon red/blue/green 😃
no problems to report for this new version; barely finished all 3 games.
all that's left for me to do is to participate in the tournament battles in ss anne and in one of the underground paths

Ninjacapricorn June 12th, 2021 7:37 PM

Quote:

Originally Posted by jojobear13 (Post 10370659)
Shin Crystal is just a bunch of spreadsheets and notes for the foreseeable future. If I ever do it, I will do some things different from Shin Red in terms of species allocation, regional availability, level-up movesets, as well as tweaking some story beats.

Perfect Crystal 2020 update exists, so I don’t want to just redo everything it already does. Though I suggest giving that one a spin.

Thank you for replying and I do hope you do make it. I did enjoy how you implemented the option to scale trainers' Pokemon in Shin Red/Blue/Green. I have downloaded Perfect Crystal but haven't tried it out as of yet because I wasn't sure if it made the gym leaders more difficult (cuz the first 2 gyms are really easy) or if the level scaling was better but I'll definitely check it out.

dannib July 7th, 2021 4:40 PM

I found a potentially weird bug. My butterfree leveled up to 21 off screen (I had a spearow out) and tried to learn supersonic. No matter what I chose, it won't let me proceed. Whether I attempt to learn the move or try to abandon learning it, it just repeats the question (no combination of yes/no to the two questions works). I can upload my save file if you're unable to replicate the problem.

jojobear13 July 7th, 2021 5:36 PM

Quote:

Originally Posted by dannib (Post 10379433)
I can upload my save file

Yes please.

dannib July 7th, 2021 5:51 PM

1 Attachment(s)
https://www.pokecommunity.com/attachment.php?attachmentid=97689&stc=1&d=1625709001

Unfortunately I hadn't saved in a while, so it set me back a bit. I tried to upload the save state but it wouldn't let me. Let me know if I can upload anything else that can be of help.

jojobear13 July 7th, 2021 6:05 PM

Quote:

Originally Posted by dannib (Post 10379440)
https://www.pokecommunity.com/attachment.php?attachmentid=97689&stc=1&d=1625709001

Unfortunately I hadn't saved in a while, so it set me back a bit. I tried to upload the save state but it wouldn't let me. Let me know if I can upload anything else that can be of help.

Were you using exp all? Did the butterfree gain an inordinate amount of exp?

jojobear13 July 7th, 2021 6:19 PM

Quote:

Originally Posted by dannib (Post 10379440)
I tried to upload the save state but it wouldn't let me.

Try zipping it and uploading.

dannib July 7th, 2021 6:26 PM

No (and tbh I did not even know there was exp all). It was in Mt. Moon, and I was fighting Trainer 3 or 4 (I think 4) on this map: https://cdn.wikimg.net/en/strategywiki/images/7/7f/Pokemon_RBY_MtMoon_1F.png

I am playing Green version. I am playing with level scaling and gender on from Profs Aides. Butterfree only went from level 20 to level 21 while being switched out. If you'd be able to access my save state in any way, I could upload it to through some external website

jojobear13 July 7th, 2021 6:33 PM

Quote:

Originally Posted by dannib (Post 10379452)
If you'd be able to access my save state in any way, I could upload it to through some external website

Yes. Save states are the most helpful for replication.

dannib July 7th, 2021 6:45 PM

1 Attachment(s)
Sorry, I didn't see your other post saying to zip it! (message board noob)

here it is

jojobear13 July 7th, 2021 7:13 PM

1 Attachment(s)
Quote:

Originally Posted by dannib (Post 10379463)
Sorry, I didn't see your other post saying to zip it! (message board noob)

here it is

Thanks. That helps me out more.

So here's what I did. I took the v1.21 master green patch from the github. Then I applied it to a regular vanilla USA Blue version rom file. This gave me a fresh and clean rom of shinpokegreen_1.21 to work with. Loaded the game up in mGBA. Save file was detected. Loaded up your save file and everything worked okay; no crashes or getting stuck in the overworld.

Loaded your save state. Everything worked fine. Butterfree was able to learn supersonic, and it was able to ditch learning supersonic. The battle ended successfully and I saved the game. See attachment.

I would suggest that you delete your current rom file and apply the shinpokegreen_1.21 patch over a fresh download of a Pokemon Blue (USA) rom.

dannib July 7th, 2021 8:56 PM

Wow, thank you so much for your quick replies and quick fix!

Also, loving the game and especially loving the level curve. Makes each battle much more strategic!

jastolze007 July 12th, 2021 9:22 AM

Hey Jojobear, would you be willing to, in a future release, make an NPC trigger an event with rematch battles where the opponent uses randomized mons? Some of the options I was thinking about would be similar strength or same type mons of the ones they replaced, or just overall random. That sounds like a lot of work, but it would be optional since you would have to activate it.

Anywho, I'm starting it up a run again, this time on an actual stable emulator. Most of the glitches I experienced in the past seemed to be Goomba-specific.

As always, I appreciate your work man!

jojobear13 July 13th, 2021 8:37 AM

Quote:

Originally Posted by jastolze007 (Post 10380898)
Hey Jojobear, would you be willing to, in a future release, make an NPC trigger an event with rematch battles where the opponent uses randomized mons? Some of the options I was thinking about would be similar strength or same type mons of the ones they replaced, or just overall random. That sounds like a lot of work, but it would be optional since you would have to activate it.

Anywho, I'm starting it up a run again, this time on an actual stable emulator. Most of the glitches I experienced in the past seemed to be Goomba-specific.

As always, I appreciate your work man!

So basically a built-in randomizer. The main issue is that rom space, which holds the trainer rosters, cannot be overwritten. Built-in randomizers have to have lookup lists and perform a search-replace for every trainer mon. I can test out a few ideas, but I’m concerned about what this would do to battle load times.

If all else fails, it would probably be easier to add a “replace by ‘mon group” option to the external randomizer script.

jastolze007 July 13th, 2021 8:43 AM

Quote:

Originally Posted by jojobear13 (Post 10381191)
So basically a built-in randomizer. The main issue is that rom space, which holds the trainer rosters, cannot be overwritten. Built-in randomizers have to have lookup lists and perform a search-replace for every trainer mon. I can test out a few ideas, but I’m concerned about what this would do to battle load times.

If all else fails, it would probably be easier to add a “replace by ‘mon group” option to the external randomizer script.

I figured it would be a pain to implement. I was just throwing out ideas.

This is literally my favorite Red hack. I play through the storyline just to be able to challenge the guy who uses six random mons that scale to your level. Definitely enjoying your work!

jojobear13 July 14th, 2021 11:08 PM

Quote:

Originally Posted by jastolze007 (Post 10381195)
I figured it would be a pain to implement. I was just throwing out ideas.

This is literally my favorite Red hack. I play through the storyline just to be able to challenge the guy who uses six random mons that scale to your level. Definitely enjoying your work!

Glad you enjoy it so much!

Actually, I may have something here. I can create a new list of pokemon to randomly choose from which contains only non-evolved pokemon (about 73 excluding legendaries). Then I can reuse the GetRandMon and EnemyMonEvolve functions that I previously created in order to swap out trainer rosters and evolve them based on level. This could be done pretty easily for all the regular, non-boss trainers that don't have custom team levels and moves. This would make all those trainers have the same 'mon count and levels, but the 'mons themselves would be randomized every match. I can have it toggled via a new NPC somewhere.

jojobear13 July 17th, 2021 9:19 AM

Quote:

Originally Posted by jastolze007 (Post 10380898)
Hey Jojobear, would you be willing to, in a future release, make an NPC trigger an event with rematch battles where the opponent uses randomized mons?

I've uploaded some beta patches in the master_dev branch. Apply your choice of beta3 patch to an unpatched rom. There's an aide in the Viridian pokemon center that will toggle randomization of no-name trainers. Among other new things.

jastolze007 July 17th, 2021 10:40 AM

Quote:

Originally Posted by jojobear13 (Post 10382699)
I've uploaded some beta patches in the master_dev branch. Apply your choice of beta3 patch to an unpatched rom. There's an aide in the Viridian pokemon center that will toggle randomization of no-name trainers. Among other new things.

That's so awesome! I'm currently on an older (1.19, I believe) beta and made some changes to the rom from compiling. Would there be any issue with me copying over some of the ASM files from that older version and compiling? I only changed typings and stats, a few moves, EXP growth rates, and the obvious level cap. I assume nothing has been changed since the newer release correct? Thanks again, man!

jojobear13 July 17th, 2021 11:34 AM

Quote:

Originally Posted by jastolze007 (Post 10382748)
I only changed typings and stats, a few moves, EXP growth rates, and the obvious level cap.

Probably? The proper way to handle this is through a git merge so your edits get overlaid onto my commits. Google for more info about that. Otherwise the safest thing to do is copy your edits into the new files using a side-by-side compare program like BeyondCompare.

RyuXen July 20th, 2021 9:13 AM

I can't get the patches to work, LIPS says they aren't ips files.

jojobear13 July 20th, 2021 11:20 AM

Quote:

Originally Posted by RyuXen (Post 10383743)
I can't get the patches to work, LIPS says they aren't ips files.

Zip and post your problem patches here. Otherwise I have nothing to go off of.

jastolze007 July 20th, 2021 12:02 PM

Regarding the recent randomizer you added, if I want to patch it to a specific version that I've already compiled, and not just a fresh red rom, how would I go about doing that? I saw in the tools section on your GitHub that some of the files were modified recently so I assume those are the right tools.

jojobear13 July 20th, 2021 12:26 PM

Quote:

Originally Posted by jastolze007 (Post 10383820)
Regarding the recent randomizer you added, if I want to patch it to a specific version that I've already compiled, and not just a fresh red rom, how would I go about doing that? I saw in the tools section on your GitHub that some of the files were modified recently so I assume those are the right tools.

Ips patches don’t work that way. They are just maps of bit-differences between two rom files. If you have the older revision downloaded and set up in a git environment to compile, then you could use the cherry-pick command to selectively apply newer commits then recompile.

jojobear13 July 26th, 2021 2:36 PM

So I've been doing some research on the gen-1 critical hit situation. I've been focusing on trying to find a reasonable way to rectify the odd situation where a critical hit can deal less damage than a non-critical hit.

Given the following:
A1 is the offensive stat and D1 is the defensive stat quantity for a non-critical hit.
A2 is the offensive stat and D2 is the defensive stat quantity for a critical hit.
L is the level of the attacker.

Then the damage from a non-critical hit will be equal to or more than the damage of a critical hit if:
(A1/D1) >= 2 * (A2/D2) * [ (L + 2.5) / (L + 5) ]

There is a chunk of the damage formula for critical hits that goes as follows: (2 * 2 * L / 5) + 2
I'll change this to the following for critical hits: (2 * 2 * L / 5) + 4
Why the change? Because it changes (L + 2.5) into (L + 5) which lets me simplify the algebra down to a simple linear ratio:
(A1/D1) >= 2 * (A2/D2) * [ (L + 5) / (L + 5) ]

I can use this to implement a check on these stats when calculating critical hit damage. If a non-critical hit would do equal or more damage, then A1 and D1 are used in place of A2 and D2.

This follows what I believe to be the original intent of Gen 1 critical hits: Crits should ignore defensive boosts and offensive penalties as a way to counter beefy wall 'mons, but they should not be so overwhelming as to allow the attacker offensive boosts while at the same time stripping defensive boosts from the defender. More or less, critical hits should be a large benefit to underdog attackers stuck in a low-damage situation and of middling benefit to high-damage attackers.

Ecto-1 [FR] July 28th, 2021 1:19 PM

Hello Jojo. I am addressing you today first of all as a fervent admirer of your work in reworking a 1st generation Pokémon game with brilliance. Your hack is splendid. Then, I would like to tell you that being French, the 1st generation is not the most popular and most played in my country. Nevertheless, it's the one I'm particularly attached to (with Black and White). That's why I'm taking the trouble to write you. Your excellent work has motivated me to undertake the invention of such a journey myself. However, I have little knowledge of rom hacking. Therefore, I would like to ask for your help in modifying a Pokémon Yellow rom, to tell me the steps to follow etc. Of course, I know it won't be easy to do it, but I would love to work on this project. I noticed your punctuality and your kindness, I don't doubt your sympathy towards the 1st time players ;) Thank you for reading my message, and I hope you will answer positively. See you soon!
Ecto-1, French player.

jojobear13 July 28th, 2021 5:15 PM

Quote:

Originally Posted by Ecto-1 [FR] (Post 10386896)
Hello Jojo. I am addressing you today first of all as a fervent admirer of your work in reworking a 1st generation Pokémon game with brilliance. Your hack is splendid. Then, I would like to tell you that being French, the 1st generation is not the most popular and most played in my country. Nevertheless, it's the one I'm particularly attached to (with Black and White). That's why I'm taking the trouble to write you. Your excellent work has motivated me to undertake the invention of such a journey myself. However, I have little knowledge of rom hacking. Therefore, I would like to ask for your help in modifying a Pokémon Yellow rom, to tell me the steps to follow etc. Of course, I know it won't be easy to do it, but I would love to work on this project. I noticed your punctuality and your kindness, I don't doubt your sympathy towards the 1st time players ;) Thank you for reading my message, and I hope you will answer positively. See you soon!
Ecto-1, French player.

Trust me. You’d be much better served by the pret discord community for the pokered disassembly.

https://discord.gg/xXp9cnnS

eshasunrise August 11th, 2021 11:14 AM

So I've got a question. I added a female character option to my own hack using the instructions in the "how to" file, but whenever I withdraw an item from my PC or leave Red's living room, my character sprite becomes male again. Any thoughts?

jojobear13 August 12th, 2021 2:03 PM

The npc sprites get reloaded every time you change areas or a menu system closes. Sounds like you missed something somewhere, and the game is loading the male sprites by default. Probably happens in the home/overworld.asm file.

Try taking a look at loadplayerspritegraphicscommon::

Alternately, download my repository and use something like notepad++ to search every file for every instance of the string “female trainer”. That should pull up every everything I modified for a girl trainer.

jastolze007 August 13th, 2021 5:50 PM

Question: Am I only able to use Amnesia twice successfully because the base stat is too high? I heard that 1024 is the max but I didn't think it would throw a "Nothing happened" on the third use. My SPC stat without any modifications is 354 so I assume that's why it's giving me that message.

jojobear13 August 14th, 2021 4:59 PM

Quote:

Originally Posted by jastolze007 (Post 10392988)
Question: Am I only able to use Amnesia twice successfully because the base stat is too high? I heard that 1024 is the max but I didn't think it would throw a "Nothing happened" on the third use. My SPC stat without any modifications is 354 so I assume that's why it's giving me that message.

Stats are hard-capped at 999 and have nothing to do with restricting move effects. Stat mods go up to 6 stages in either direction like how it's always been. The reason you cannot use amnesia a third time is because the value $0D is in address $CD1D (indicating special is boosted to +6).

Chirutalis August 15th, 2021 6:19 PM

Hi. I noticed that Elite Four battle theme was changed to regular Trainer battle theme.
Can you teach me how to edit manually? I mainly used HxD to hack.

jojobear13 August 15th, 2021 10:50 PM

Quote:

Originally Posted by Chirutalis (Post 10393836)
Hi. I noticed that Elite Four battle theme was changed to regular Trainer battle theme.
Can you teach me how to edit manually? I mainly used HxD to hack.

I cannot help you, for I do not posses that knowledge.

jastolze007 August 16th, 2021 9:35 AM

Quote:

Originally Posted by Chirutalis (Post 10393836)
Hi. I noticed that Elite Four battle theme was changed to regular Trainer battle theme.
Can you teach me how to edit manually? I mainly used HxD to hack.

I'd like to mention that the first three members of the E4 do not have their E4 theme, only Lance. That's how it was in Vanilla as well. JoJo didn't change the default themes.

jojobear13 August 16th, 2021 1:52 PM

I kinda changed the music. The Lite branch keeps the music the same as it was in Vanilla: Lorelei, Bruno, and Agatha play the trainer theme and Lance plays the gym leader theme. The Master branch takes more liberties and makes all four of them play the gym leader theme.

You can see the tweaks I made to battle music selection here. This is how it works.

The value in wGymLeaderNo is read. If the value is 9, then it loads the champion battle theme. If the value is a different non-zero number, then it loads the gym leader theme. If the value is zero, it checks to see the value of the currently-loaded opponent. Values below 200 are wild pokemon, so the wild theme gets played. Values >= 200 are trainers, so some more checks are run. If the trainer is Rival3 (from the final battle), always play the champion theme. If the trainer is Lance, always play the gym leader theme. Otherwise play the trainer theme.

This makes it easy to set the music for scripted trainer battles like the elite 4. I just go into the map script files for each elite 4 room, and then I load any value from 1 to 8 into wGymLeaderNo upon talking to them.

EDIT: Note that this is not something that can be done manually in a hex editor without a great deal of effort and expertise.

eshasunrise August 17th, 2021 12:40 AM

So I got the female trainer to maintain during a play session, but now it resets to male whenever the save file is loaded. I think the bit is resetting when the game shuts down. How would I go about maintaining the selection?

Also, wow Notepad++ is freaking phenomenal! Thanks for telling me about it!

jojobear13 August 17th, 2021 1:28 PM

Quote:

Originally Posted by eshasunrise (Post 10394370)
So I got the female trainer to maintain during a play session, but now it resets to male whenever the save file is loaded. I think the bit is resetting when the game shuts down. How would I go about maintaining the selection?

Also, wow Notepad++ is freaking phenomenal! Thanks for telling me about it!

No problem. It's a lifesaver at the office because it defaults to Unix end-of-line markers and I can set the text to be colored according to multiple programming languages. When it comes to pokered & pokecrystal disassemblies, setting the language to Assembly makes everything much easier to see.

Now for your trainer selection. You need to store your choice in a memory location that gets grabbed by the save/load routine. These are wram addresses $d158 to $dee1. Pull up the wram.asm file. It basically saves everything in-between wPlayerName and wBoxDataEnd, so pick an unused location somewhere in there that won't get overwritten. For instance, shinpokered uses bit 0 of address $D721 (given the label wUnusedD721). There are 78 leftover bytes after wGameProgressFlags that don't get used for anything, so you could do something like this:
Quote:

wRoute18GateCurScript:: ; d669

ds 1

ds 77

wFemaleTrainerByte::

;Bit 0 - 0 if male, 1 if female
ds 1


Then just use wFemaleTrainerByte instead of wUnusedD721 with respect to all the places where you need to write or read the female trainer bit.

eshasunrise August 23rd, 2021 4:48 AM

Finally got the gender bit working, thanks!

jojobear13 September 10th, 2021 3:05 PM

Here's a shout-out to Paige for making what is, to my knowledge, my first piece of Shin Red fan art! Give her some views if you like what you see.

Honz September 14th, 2021 1:21 PM

Amazing work, especially for the well-detailed documentation and tutorials! Creating the file with swapped sprites was a piece of cake thanks to the tutorials, even though I never did this before!

But it is a shame, that the spaceworld backsprites for all the Pokemon exist, but those for the trainers are missing, it feels kind of incomplete.
Maybe you can add them too (as well as updating the instruction how to load them properly)?

jojobear13 September 14th, 2021 4:15 PM

2 Attachment(s)
Quote:

Originally Posted by Honz (Post 10406447)
But it is a shame, that the spaceworld backsprites for all the Pokemon exist, but those for the trainers are missing, it feels kind of incomplete.
Maybe you can add them too (as well as updating the instruction how to load them properly)?

This is news to me. Shouldn't be too difficult. Can you point me to a repository of the spaceworld trainer sprites?
EDIT: Nevermind. I'll just crib the sprites from Rangi.

EDIT2: So this is actually pretty easy to do by oneself. I'll explain.

Go into the main.asm file and get ready to do some rom space management. Scroll down to the end of Bank $13 and take a look at image 1 attached. See all those INCLUDES commented-out in green? That stuff should be safe to move into another rom bank. Take a look at image 2 attached. I've moved that stuff to the end of rom bank $18. Doing this will free up a good amount of space in bank $13 so that it can be used exclusively for trainer sprites.

Now go download the spaceworld trainer sprites from rangi's red star / blue star github. Paste over the old sprites in your trainer folder with these ones. Then compile using the "make clean" command. This will delete and remake all the compressed .pic and .2bpp files and compile your code. The spaceworld sprites take up more space than the vanilla ones, but it should compile fine since you cleaned out bank $13.

Honz September 17th, 2021 7:33 AM

That was not what I wanted to know but thanks anyway 😅

What I meant were the BACKSPRITES of the player (and maybe the catching tutorial guy / Prof. Oak in Yellow) which still have the low resolution.
Unfortunately these sprites are not stored on Rangi's git, at least I didn't find them there).
But the way to add them would be similar, I guess?

jojobear13 September 17th, 2021 6:37 PM

Quote:

Originally Posted by Honz (Post 10407515)
That was not what I wanted to know but thanks anyway 😅

What I meant were the BACKSPRITES of the player (and maybe the catching tutorial guy / Prof. Oak in Yellow) which still have the low resolution.
Unfortunately these sprites are not stored on Rangi's git, at least I didn't find them there).
But the way to add them would be similar, I guess?

Right. The idea is the same. Back sprites for pokemon and non-pokemon are essentially handled the same way by the game, so if you set up spaceworld back sprites for pokemon then you should be good to go for the most part.

But I don't think any higher-res spaceworld back sprites exist for Red or the Old Man. They use Gold's back sprite and recycle the Gen 1 old man. I know Rangi had to use fanmade Red/Old_Man sprites for Red*&Blue*. Best of luck though.

darthbr September 20th, 2021 6:42 AM

Any plan for Yellow?

jojobear13 September 20th, 2021 9:09 PM

Quote:

Originally Posted by darthbr (Post 10408601)
Any plan for Yellow?

Nope. I'd have to start over from zero.

AtecainCorp. September 26th, 2021 3:00 AM

I think you should fuse your idea with Full Colour Pokemon Red Hack.

Hiroshi Sotomura September 26th, 2021 4:44 PM

Quote:

Originally Posted by AtecainCorp. (Post 10410645)
I think you should fuse your idea with Full Colour Pokemon Red Hack.

I’d bet the lack of colour — in favour of using Yellow-style palettes in GBC mode — was fully intentional.

lazerbeams October 16th, 2021 10:03 AM

In this image on the left red in GBC mode has colored moves. Could it be possible to use palettes for moves like that in shin?
https://i.imgur.com/IR8XWj2.jpg

jojobear13 October 16th, 2021 11:21 AM

Quote:

Originally Posted by lazerbeams (Post 10417609)
In this image on the left red in GBC mode has colored moves. Could it be possible to use palettes for moves like that in shin?
https://i.imgur.com/IR8XWj2.jpg

Probably. I’d need to find out where in the animation code that object color is handled. The color in the left image isn’t generated by the game code, but is handled by the gbc bios.

jojobear13 October 16th, 2021 1:59 PM

Quote:

Originally Posted by lazerbeams (Post 10417609)
In this image on the left red in GBC mode has colored moves. Could it be possible to use palettes for moves like that in shin?
https://i.imgur.com/IR8XWj2.jpg

Okay, I see what Gamefreak did here. Gen 1 pokemon does not know what a gameboy color is because it had not yet been created. The game occasionally checks to see if the SGB is being used, and if not then it assumes a regular old grayscale gameboy is being used. Shin Pokemon when played on a GBC tricks the game into thinking it is being played on a SGB and translates palette information into something the GBC can understand.

The image on your left is running in "Not SGB" mode. The game assumes that grayscale is going to be used everywhere, so it skips over all the color-associated SGB code. The GBC bios reads from the rom header that pokemon red is being played, so it makes the object colors dark/light green and the background colors dark/light red.

The image on your right is running in "SGB detected" mode. There's an interesting quirk that happens with attack animation objects. The palette of the object will match whatever is loaded for the background. So the color can end up a bit wrong. To get around this, Gamefreak made it so that animations switch to only using the black and white colors of the loaded palettes when operating in SGB mode.

I'll do a little experimenting to see what I can affect.

jojobear13 October 16th, 2021 10:05 PM

Oh, this worked out splendidly!
https://i.imgur.com/vHaom6u.png

This will only work when playing in GBC mode. I made it so that a palette is associated with each move type. When a move animation plays, the type is referenced and the corresponding palette is copied into the GBC's object palette registers for OBP0 to OBP3.

I can't do much of anything with the SGB because animated objects can't really have separate colors from the background. Hardware limitation. The GBC is much more flexible giving me 8 palettes of 4 colors each for both backgrounds and objects, and directly translating and writing color information to them is more straightforward.

lazerbeams October 17th, 2021 4:27 AM

Quote:

Originally Posted by jojobear13 (Post 10417742)
Oh, this worked out splendidly!
https://i.imgur.com/vHaom6u.png

This will only work when playing in GBC mode. I made it so that a palette is associated with each move type. When a move animation plays, the type is referenced and the corresponding palette is copied into the GBC's object palette registers for OBP0 to OBP3.

I can't do much of anything with the SGB because animated objects can't really have separate colors from the background. Hardware limitation. The GBC is much more flexible giving me 8 palettes of 4 colors each for both backgrounds and objects, and directly translating and writing color information to them is more straightforward.

It's beautiful! Colorful battles give the game a lot of life.

I noticed that moves are sometimes the same color as the pokemon they were used on.

Жека October 19th, 2021 1:01 PM

Currently playing on the Vita with Gambatte.
Is it normal for Professor Oaks sprite to get not disappear when he guides you into his lab? He just stood on the door tile. And is it Normal for Charmeleon to always crit using slash?

I tired applying the full color ips hack and it wont boot.
https://www.pokecommunity.com/showthread.php?t=361713

jojobear13 October 19th, 2021 1:32 PM

Quote:

Originally Posted by Жека (Post 10418733)
Currently playing on the Vita with Gambatte.
Is it normal for Professor Oaks sprite to get not disappear when he guides you into his lab? He just stood on the door tile. And is it Normal for Charmeleon to always crit using slash?

Yes, Oak does not actually disappear during that particular scripted movement. That object disappears inside one of the Lab scripts. Version 1.21 has a bug when playing in 60fps mode where "follow directly behind this NPC" movement makes the NPC move at double-speed.

Yes, high-critical moves like Slash will nearly always crit when used by pokemon with good to high speed. Gen 1 gives high-critical moves a base 8x chance to crit.

EDIT: Some more insight on how Gen 1 does critical hits (assuming code mistakes have been fixed). The battle engine randomly picks a number between 0 and 255. A critical hit is made if this number is less than the attacking mon's crit value. This crit value defaults to 0.5*[base speed] rounded down to the nearest integer. The Dire Hit/Focus Energy effect quadruples the crit value to 2*[base speed]. High-critical moves octuples the crit value to 4*[base speed].

There is always a 1/256 chance that a critical hit does not occur (a random number of exactly 255). This means it's possible to get a critical hit 99.6% of the time given a certain base speed threshold. These thresholds are as such:
  • Normal Conditions - base speed of 510 (no pokemon has this)
  • Dire Hit / Focus Energy effect - Base speed of 128 (achieved by Electrode, Jolteon, Aerodactyl, and Mewtwo)
  • High Crit move - Base speed of 64 (anything faster than Goldeen)
  • Both of them stacked - Base speed of 16 (everything but Slowpoke)

Try this for a bit of fun since the Focus Energy effect is fixed. Train an Eevee until it learns Focus Energy. Evolve it to Jolteon. Train it until it learns Pin Missile. Setup with Focus Energy then laugh hysterically at psychic types.

Жека October 19th, 2021 6:03 PM

Quote:

Originally Posted by jojobear13 (Post 10418741)
Yes, Oak does not actually disappear during that particular scripted movement. That object disappears inside one of the Lab scripts. Version 1.21 has a bug when playing in 60fps mode where "follow directly behind this NPC" movement makes the NPC move at double-speed.

Yes, high-critical moves like Slash will nearly always crit when used by pokemon with good to high speed. Gen 1 gives high-critical moves a base 8x chance to crit.

EDIT: Some more insight on how Gen 1 does critical hits (assuming code mistakes have been fixed). The battle engine randomly picks a number between 0 and 255. A critical hit is made if this number is less than the attacking mon's crit value. This crit value defaults to 0.5*[base speed] rounded down to the nearest integer. The Dire Hit/Focus Energy effect quadruples the crit value to 2*[base speed]. High-critical moves octuples the crit value to 4*[base speed].

There is always a 1/256 chance that a critical hit does not occur (a random number of exactly 255). This means it's possible to get a critical hit 99.6% of the time given a certain base speed threshold. These thresholds are as such:
  • Normal Conditions - base speed of 510 (no pokemon has this)
  • Dire Hit / Focus Energy effect - Base speed of 128 (achieved by Electrode, Jolteon, Aerodactyl, and Mewtwo)
  • High Crit move - Base speed of 64 (anything faster than Goldeen)
  • Both of them stacked - Base speed of 16 (everything but Slowpoke)

Try this for a bit of fun since the Focus Energy effect is fixed. Train an Eevee until it learns Focus Energy. Evolve it to Jolteon. Train it until it learns Pin Missile. Setup with Focus Energy then laugh hysterically at psychic types.

Ok cool. Would it be possible to also incorporate a lot of the shortcuts into actual menus? Like a tab for the Pokémons Hidden values, a tab for shiny Pokémon in the Pokédex, etc. Also add some kind of tutorials in game for some of the new features. Trying to get my wife into Pokémon and I think this game is a perfect candidate, although I would prefer a Yellow version since that was my first game.

jojobear13 October 19th, 2021 7:44 PM

Quote:

Originally Posted by Жека (Post 10418791)
Ok cool. Would it be possible to also incorporate a lot of the shortcuts into actual menus? Like a tab for the Pokémons Hidden values, a tab for shiny Pokémon in the Pokédex, etc. Also add some kind of tutorials in game for some of the new features. Trying to get my wife into Pokémon and I think this game is a perfect candidate, although I would prefer a Yellow version since that was my first game.

It’s easier to hijack the existing menu systems and far less intrusive than try to create all-new menu pages. Remember that the gen 1 engine forces you to scroll through them to exit. Key combos are intentional in order to cut down on the amount of menu navigation in gen 1.

I’m going to release v1.22 (a big stonkin’ update) before the end of the year. I am reorganizing the readme file for clarity. But you do bring up a good point. I will look at doing a kind of “New Player Functionality” guide for the master branch that describes all the new stuff that players can interact with.

Real talk about yellow version. I have no plans to add yellow. There are too many engine modifications from red & blue that I would have to start all over from nothing. I’m a little burned out on gen 1 anyway, but that happens when one spends almost 4 years debugging decades-old code.

Жека October 20th, 2021 4:42 PM

Maybe instead of holding select or start at the Pokémon menu, we can press Select in the Pokémon preview to change though all the hidden information.

charphantom96 October 21st, 2021 3:18 PM

Any idea what features will be in the 1.22 version

jojobear13 October 22nd, 2021 2:03 AM

Quote:

Originally Posted by charphantom96 (Post 10419464)
Any idea what features will be in the 1.22 version

It's a lot of adjustment and bugfixes with new features mixed-in. I'll try to cherry-pick the highlights.

New Features (master branch)
  • The bag now supports an additional item list for an extra 20 slots of space. Press START on the bag menu to hot-swap the item list that populates the active bag. Also works in battle. Also works when depositing items in the PC. Only the active bag's item list is recognized by the game's systems. For example, you cannot enter the Cinnabar Gym if the Secret Key is not in the active bag. Same for Stadium compatibility, detecting only the bag list that was active when last saved
  • Low HP alarm only plays three times then turns itself off
  • There is an Aide NPC in the viridian pokemon center that can toggle regular trainer randomization. Only affects regular trainers that use one level for all 'mons and have no custom movesets. Will replace their roster 'mons with random non-evolved 'mons (legendaries are excluded). The new mons will be swapped with their evolved forms if at a high enough level. This feature was added with the intent of spicing-up subsequent Gen-1 playthroughs
  • Added the Clause Brothers to Viridian City. They toggle enforcement of the item, sleep, and/or freeze clauses. The clauses apply to the player and AI equally, and only apply during non-link trainer battles. Sleep and freeze clauses work like they do in Pokemon Stadium
  • Revive items cannot be used in battle on SET style

New Features (master & lite branch)
  • Made adjustments to critical hit damage so that it's never lower than non-crit damage
  • Bike music stops playing now when going down a hole
  • Forest tileset is now treated as an outside area
  • You can now cut the grass in the plateau tileset
  • When playing in GBC-mode, move animations are colored based on their type

Hack-induced Fixes (master branch):
  • Slightly increased the possible coin payout for the the celadon hotel coin guy
  • Added a level-based multiplier to greatly increase the money offered to sell 'mons
  • Adjusted the level 0 moves of stone evolutions to play nicer with the move relearner
  • Butterfree, Venonat, and Venomoth can all learn HM05 instead of HM04
  • Fixed a menu return issue when forfeiting fights (particularly against the rival)
  • Fixed some BCD value payout weirdness
  • Fixed blackouts not applying when defeated by Prof Oak

Hack-induced Fixes (master & lite branch):
  • Fixed scripted NPC-following movement in 60fps mode
  • Fixed some NPC ghosting in mart menus in GBC mode
  • Fixed rival facing in silph co after battle
  • Fixed issue with route 22 phantom rival appearing if the first battle was skipped
  • Stopped AI from decrementing PP on item usage and switching
  • Stopped AI from decrementing PP when it doesn't wake up from sleep
  • Fixed crash damage being zeroed for the jump kick effects
  • Fixed stat exp not being applied properly

Misc Adjustments (master branch)
  • Amber and fossils are now non-key items
  • Trapping moves play a 'poof' animation on the final turn instead of a cry (changed for the hearing impared)
  • Gave the strength quick-key a visual cue and sfx

Misc Adjustments (master and lite branch)
  • Greatly increased the speed and performance of spin tiles
  • Gave AI layer 3 to Juggler
  • AI layer 1: discourage exploding effects if faster than a player in fly/dig state
  • AI layer 1: randomly discourage usage of 2-turn moves when confused/paralyzed
  • AI Layer 1: 50% chance that the AI is blind to a player switching or using an item
  • AI layer 3: added some strategy to handle when the player uses fly/dig
  • AI layer 3: slightly preference regular effectiveness moves if STAB exists (25% chance per move)
  • AI switch scoring now penalizes bad match-ups between player and enemy 'mon types

jojobear13 November 2nd, 2021 4:41 PM

Okay, I've lolligagged enough. Version 1.22 has been released.

There is now a "Guide to New Player Functions" for instructions on all the new stuff the player can do in the Master branch.

Master Branch Changelog
Quote:

#Hack-Induced Bugfixes & Adjustments since last version:
-----------
- Slightly increased the possible coin payout for the the celadon hotel coin guy
- Added a level-based multiplier to greatly increase the money offered to sell 'mons
--> Interestingly, this makes it so you no longer need to grind battles to train a post-game team
--> Catch pokemon, sell them for money, then spend it on vitamins and rare candy in the Celadon mart
--> Since vitamins have no limit in the post-game, you can max levels and stat exp via this funding method
- Adjusted the level 0 moves of stone evolutions to play nicer with the move relearner

- Butterfree, Venonat, and Venomoth can all learn HM05 instead of HM04
- Fixed a menu return issue when forfeiting fights (particularly against the rival)
- Fixed some BCD payout wierdness
- Getting max base exp for enemies > lvl 100 is now based on level cap instead

- Fixed scripted NPC-following movement in 60fps mode
- Fixed some NPC ghosting in mart menus in GBC mode
- Applied Rangi's reformatting to key item bit fields
- Removed the redundant overflow check on the celadon hotel coin guy
- Consolidated the code used for stat scaling
- Fixed rival facing in silph co after battle
- Fixed issue with route 22 phantom rival appearing if the first battle was skipped
- Stopped AI from decrementing PP on item usage and switching
- Stopped AI from decrementing PP when it doesn't wake up from sleep
- Bank $13 is now solely used for trainer pics
- Fixed crash damage being zeroed for the jump kick effects
- Fixed stat exp not being applied properly
- Fixed blackouts not applying when defeated by Prof Oak


#New features & adjustments since last version:
-----------
- Amber and fossils are now non-key items
- Trapping moves play a 'poof' animation on the final turn instead of a cry (changed for the hearing impared)
- Gave the strength quick-key a visual cue and sfx
- Removed the word "only" from NPC on Silph Co 5f who talks about trade evos
- Text tweak to route 14 trainer with regards to forgetting HMs
- Gave AI layer 3 to Juggler

- The bag now supports an additional item list for an extra 20 slots of space
--> Press START on the bag menu to hot-swap the item list that populates the active bag
----> Also works in battle
------> Also works when depositing items in the PC
--> Only the active bag's item list is recognized by the game's systems
----> For example, you cannot enter the Cinnabar Gym if the Secret Key is not in the active bag
------> Same for Stadium compatibility, detecting only the bag list that was active when last saved
- Low HP alarm only plays three times then turns itself off
- There is an Aide NPC in the viridian pokemon center that can toggle regular trainer randomization
--> Only affects regular trainers that use one level for all 'mons and have no custom movesets
--> Will replace their roster 'mons with random non-evolved 'mons (legendaries are excluded)
--> The new mons will be swapped with their evolved forms if at a high enough level
--> This feature was added with the intent of spicing-up subsequent Gen-1 playthroughs
- Added the Clause Brothers to Viridian City
--> They toggle enforcement of the item, sleep, and/or freeze clauses
--> The clauses apply to the player and AI equally, and only apply during non-link trainer battles
--> Sleep and freeze clauses work like they do in Pokemon Stadium
- Revive items cannot be used in battle on SET style
- When playing in GBC-mode, move animations are colored based on their type
- Red & Blue versions use the back sprites from spaceworld 97 so as to be cohesive with the front sprites

- AI layer 1: discourage exploding effects if faster than a player in fly/dig state
- AI layer 1: randomly discourage usage of 2-turn moves when confused/paralyzed
- AI Layer 1: 50% chance that the AI is blind to a player switching or using an item
- AI layer 3: added some strategy to handle when the player uses fly/dig
- AI layer 3: slightly preference regular effectiveness moves if STAB exists (25% chance per move)
- Greatly increased the speed and performance of spin tiles
- Adjusted some of Giovanni's final lines for clarity
- Added some underflow and overflow protection to switch scoring
- AI switch scoring now penalizes bad match-ups between player and enemy 'mon types
- Minor adjustments to switch scoring

- Made adjustments to critical hit damage
--> Damage factor is now 2*(2*level)/5 + 4 instead of 2*(2*level)/5 + 2 to simplify some algebra
--> If non-crit damage would be >= crit damage, the regular modified stat values are applied instead
- Bike music stops playing now when going down a hole
- Can no longer walk up to 4 steps with a fainted team
- Fixed a conflict where transforming while disabled can leave the new moves disabled
- Fixed transformed 'mons reseting their moves when learning a level-up move
- Fixed a typo so now transformed 'mons retain their original palette
- PP-restoring items no longer affect transformed moves and only restore the original moves
- Fixed-damage move effects now use 2 bytes for damage instead of 1
- Fixed Psywave underflow/overflow with levels of 0, 1, and above 170
- Fixed an issue with Disable's counter on slower 'mons
- Fixed an issue with the silph co 11f elevator doors
- Non-link enemy mons now have PP, so always run checks for 0 PP during disable effect
- Fixed a missed increment that makes a map's 15th object not update its facing properly
- Adjusted two spin-stop tiles in Viridian Gym
- Made Agility's animation more apparent
- Water warps in seafoam island 4 & 5 are now scripted movement
- Forest tileset is now treated as an outside area
- Fixed a bug in the GetName: function that treated lists over 195 entries as item lists
- You can now cut the grass in the plateau tileset

Lite Branch Changelog
Quote:

#Latest Fixes (most recent ips patch):
---------------
- Fixed scripted NPC-following movement in 60fps mode
- Fixed some NPC ghosting in mart menus in GBC mode
- Greatly increased the speed and performance of spin tiles
- Fixed rival facing in silph co after battle
- Fixed issue with route 22 phantom rival appearing if the first battle was skipped
- Stopped AI from decrementing PP on item usage and switching
- Stopped AI from decrementing PP when it doesn't wake up from sleep
- Fixed a conflict where transforming while disabled can leave the new moves disabled
- Fixed an issue with the silph co 11f elevator doors
- Bike music stops playing now when going down a hole
- Can no longer walk up to 4 steps with a fainted team
- Fixed a typo so now transformed 'mons retain their original palette
- Fixed transformed 'mons reseting their moves when learning a level-up move
- PP-restoring items no longer affect transformed moves and only restore the original moves
- Made adjustments to critical hit damage
--> Damage factor is now 2*(2*level)/5 + 4 instead of 2*(2*level)/5 + 2 to simplify some algebra
--> If non-crit damage would be >= crit damage, the regular modified stat values are applied instead
- Fixed a missed increment that makes a map's 15th object not update its facing properly
- Adjusted two spin-stop tiles in Viridian Gym
- Adjusted some of Giovanni's final lines for clarity
- Made Agility's animation more apparent
- Water warps in seafoam island 4 & 5 are now scripted movement
- AI layer 1: discourage exploding effects if faster than a player in fly/dig state
- AI layer 1: randomly discourage usage of 2-turn moves when confused/paralyzed
- AI Layer 1: 50% chance that the AI is blind to a player switching ir using an item
- AI layer 3: added some strategy to handle when the player uses fly/dig
- AI layer 3: slightly preference regular effectiveness moves if STAB exists (25% chance per move)
- Special damage effect now uses 2 bytes for damage instead of 1
- Fixed Psywave underflow/overflow with levels of 0, 1, and above 170
- Applied Rangi's reformatting to key item bit fields
- Consolidated the code used for stat scaling
- Added AI layer 3 to Juggler
- Forest tileset is now treated as an outside area
- Added some underflow and overflow protection to switch scoring
- Fixed an issue with Disable's counter on slower 'mons
- Fixed a bug in the GetName: function that treated lists over 195 entries as item lists
- AI switch scoring now penalizes bad match-ups between player and enemy 'mon types
- Minor adjustments to switch scoring
- Can now cut grass in the plateau tileset
- Fix jump kick effect doing 0 crash damage
- On GBC, moves animations are colored according to type

SPazzzi95 November 3rd, 2021 4:13 PM

Looks like the back sprites for green version are glitched up.

jojobear13 November 3rd, 2021 5:22 PM

Quote:

Originally Posted by SPazzzi95 (Post 10424368)
Looks like the back sprites for green version are glitched up.

I updated the green patch with a fix. It should work now.

SPazzzi95 November 3rd, 2021 5:24 PM

Thanks

JOBO November 3rd, 2021 11:09 PM

The update looks awesome and I appreciate all the hard work! Would it be possible to have a master branch ips with the vanilla sprites included in the downloads? I'm awful with github stuff and can never seem to figure that out. The previous releases were with the og sprites so I was hoping that would be an option. I'm really glad you're still pushing updates! Cheers

jojobear13 November 4th, 2021 7:06 AM

Quote:

Originally Posted by JOBO (Post 10424428)
The update looks awesome and I appreciate all the hard work! Would it be possible to have a master branch ips with the vanilla sprites included in the downloads? I'm awful with github stuff and can never seem to figure that out. The previous releases were with the og sprites so I was hoping that would be an option. I'm really glad you're still pushing updates! Cheers

I've uploaded "_origback" alternative patches for red & blue. Using these instead of the regular master patches will keep the original back sprites.

JOBO November 4th, 2021 8:55 AM

Thank you so much JoJobear! I really appreciate it. Have a good day my friend.

jojobear13 November 4th, 2021 9:10 AM

You're welcome.

I plan on continuing to support Shin Pokemon as problems are discovered. But updates are going to be less frequent unless there's some show-stopper bug that's found. Queuing up little things in the issue log over a few months then knocking them all out at once is easier to manage.

jaegon05 November 4th, 2021 6:29 PM

i can't go viridian forest => pewter city
in shin green 1.22M version

just loof route 2 gate = viridian forest exit

jojobear13 November 5th, 2021 1:13 AM

Quote:

Originally Posted by jaegon05 (Post 10424779)
i can't go viridian forest => pewter city
in shin green 1.22M version

just loof route 2 gate = viridian forest exit

Oh fun. It seems that treating the forest tileset as an outside area breaks certain warps. Give me a sec.

jojobear13 November 5th, 2021 2:20 AM

Quote:

Originally Posted by jaegon05 (Post 10424779)
i can't go viridian forest => pewter city
in shin green 1.22M version

just loof route 2 gate = viridian forest exit

New fixed patches have been re-uploaded for both master and lite branches.

EDIT: I switched the forest tileset back to an inside area until I can find out why this breaks certain warp tiles.

jaegon05 November 5th, 2021 2:32 AM

Quote:

Originally Posted by jojobear13 (Post 10424881)
New fixed patches have been re-uploaded for both master and lite branches.

thank you very so much.

darthbr November 5th, 2021 11:33 AM

Hello,

How to add ''tm names'' into marts in LITE version?
like, TM X - ICE BEAM

is it too hard?

JOBO November 5th, 2021 9:24 PM

1 Attachment(s)
Hey Jojobear

I noticed a small graphical glitch. I rematched the first bug catcher in viridian forest, on his second pokemon (caterpie) I used flamethrower and half of the attack changed to the colour green. I tried this on wild caterpie and it didn't happen.

jojobear13 November 6th, 2021 2:31 AM

Quote:

Originally Posted by JOBO (Post 10425254)
Hey Jojobear

I noticed a small graphical glitch. I rematched the first bug catcher in viridian forest, on his second pokemon (caterpie) I used flamethrower and half of the attack changed to the colour green. I tried this on wild caterpie and it didn't happen.

Once again, I added a fix and re-uploaded the patches.

Looks like I neglected to clear out and reset the OBP0 palette settings when the attack colors are set. It gets overwritten when trainers send out a new pokemon, and this causes the wrong colors to display for the attack objects.

Also I did a workaround for Fly and Teleport in the forest tileset. So that's back in. The forest tileset is still considered indoors, but Fly and Teleport now have a hard-coded exception. Fingers crossed this didn't break anything else.

This is why professional game developers spend money on hiring a QA team.

jastolze007 November 6th, 2021 3:30 AM

No more green flamethrower? 😭

Love this hack. Just updated a couple days ago and was able to carry over my save from 1.19. I'm thoroughly enjoying challenging the trainers with different 'mons each battle.

Kudos!

jojobear13 November 6th, 2021 4:45 AM

Quote:

Originally Posted by darthbr (Post 10425061)
Hello,

How to add ''tm names'' into marts in LITE version?
like, TM X - ICE BEAM

is it too hard?

It's not straightforward. Lots of little things need to be added, changed, and deleted. Look at home.asm. You have to check out all my changes to GetItemName:: along with all the stuff I commented out, also GetName::, then hijack an unused spot in NamePointers::, then defining your tmhmNames list.

You should probably ask eshasunrise who recently got this working in Retyped Red.

jastolze007 November 6th, 2021 8:04 AM

1 Attachment(s)
Weird visual bug with obtaining any TM that starts with 0. (Ex: TM 06) In both cases I've experienced, since the new update, it displays them in a glitch name.

Also, upon receiving HM04, it said I got "Gary" instead. Name looks fine in bag though.

jojobear13 November 6th, 2021 1:19 PM

Quote:

Originally Posted by jastolze007 (Post 10425486)
Weird visual bug with obtaining any TM that starts with 0. (Ex: TM 06) In both cases I've experienced, since the new update, it displays them in a glitch name.

Also, upon receiving HM04, it said I got "Gary" instead. Name looks fine in bag though.

I know what’s wrong. I have a thing I have to do right now, but I’ll fix it tonight.

jojobear13 November 6th, 2021 7:26 PM

Quote:

Originally Posted by jastolze007 (Post 10425486)
Weird visual bug with obtaining any TM that starts with 0. (Ex: TM 06) In both cases I've experienced, since the new update, it displays them in a glitch name.

Also, upon receiving HM04, it said I got "Gary" instead. Name looks fine in bag though.

I re-uploaded patches that fix the TM/HM names in text boxes.

The ListName address needed to be set to ITEM_LIST when using GetItemName on machines in order to work with an extra check I added to GetName.

jastolze007 November 7th, 2021 7:53 AM

Quote:

Originally Posted by jojobear13 (Post 10425689)
I re-uploaded patches that fix the TM/HM names in text boxes.

The ListName address needed to be set to ITEM_LIST when using GetItemName on machines in order to work with an extra check I added to GetName.

Awesome. I need to update because there was a gamebreaking bug with picking up Thunder TM. The music slowly faded out of the Power Plant's music and started playing a weird music. The item ball never disappeared and would appear over the start menu if you opened it. It wasn't frozen, but my character was. (Thank God for your softlock warp. It went back to normal)

Also, I don't remember for sure, but didn't one of the updates address the critical hit nerf when you raise offensive stats? Asking because the crit rate would destroy me sometimes when in battle after I used Amnesia at least twice.

Also, is there anything that can be done in Red's code (not for this hack) to address the game always soft resetting once going out of bounds? Like, would the game still glitch up? Was curious what would've happened.

jojobear13 November 7th, 2021 11:03 AM

Quote:

Originally Posted by jastolze007 (Post 10425868)
Awesome. I need to update because there was a gamebreaking bug with picking up Thunder TM. The music slowly faded out of the Power Plant's music and started playing a weird music. The item ball never disappeared and would appear over the start menu if you opened it. It wasn't frozen, but my character was. (Thank God for your softlock warp. It went back to normal)

Also, I don't remember for sure, but didn't one of the updates address the critical hit nerf when you raise offensive stats? Asking because the crit rate would destroy me sometimes when in battle after I used Amnesia at least twice.

Also, is there anything that can be done in Red's code (not for this hack) to address the game always soft resetting once going out of bounds? Like, would the game still glitch up? Was curious what would've happened.

It's 1.22 where I address the crit-hit nerf. The first thing I did was change the damage factor equation from [2(2*level)/5] + 2 to instead be [2*(2level)/5] + 4. This is causes a very small change in damage output, but it has the advantage of greatly simplifying the algebra involved. In particular, it allows me to do a simple value comparison to predict ahead of time the greater of the two: regular damage or critical damage. How it works now is that critical hits, rather than always using the critical damage over regular damage, will instead run the comparison and use the greater damage of the two. The result is that critical hits mathematically don't do anything when boosted past a certain point (otherwise it would be overkill).

The act of going out of bounds results in loading garbage data into the map functions. Like how missingno's appearance is the result of feeding garbage data into the battle sprite renderer. You aren't soft resetting so much as you are jumping to a random address and crashing the game.

MStern November 10th, 2021 1:10 PM

Bug report: Graveller learns Headbutt at level 29, should be Harden.

jojobear13 November 10th, 2021 3:12 PM

Quote:

Originally Posted by MStern (Post 10427269)
Bug report: Graveller learns Headbutt at level 29, should be Harden.

You sure you don't mean Body Slam?

MStern November 10th, 2021 8:40 PM

My bad, that's what I meant :)

jojobear13 November 10th, 2021 8:47 PM

Quote:

Originally Posted by MStern (Post 10427412)
My bad, that's what I meant :)

Right.

So I made a few adjustments to ‘mons that learn explosion moves to try to play nicer with the ai. The issue is that the gen-1 move learning function can’t pick up multiple moves learned at the same level.

So I have to do something about that.

MStern November 10th, 2021 9:45 PM

Some other notes I had while playing:
- The sunbathing blocker Pokemon at Vermillion should probably say something like "It's staring curiously at the S.S Anne" to make it obvious that's the leave condition. When I saw it for the first time it really confused me.
- I think the Eevee lines are better off using their RB movesets instead of yellow's. Yellow was balanced around the rival's Eevee, so it learns important moves before level 25, making them impossible to get in vanilla. The most egregious example is Jolteon, who because of this can never learn Thundershock.
- The spaceworld back sprites are placed too far up for some pokemon. Nidoking for example looks awkwardly cut off.


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


Like our Facebook Page Follow us on Twitter © 2002 - 2018 The PokéCommunity™, pokecommunity.com.
Pokémon characters and images belong to The Pokémon Company International and Nintendo. This website is in no way affiliated with or endorsed by Nintendo, Creatures, GAMEFREAK, The Pokémon Company or The Pokémon Company International. We just love Pokémon.
All forum styles, their images (unless noted otherwise) and site designs are © 2002 - 2016 The PokéCommunity / PokéCommunity.com.
PokéCommunity™ is a trademark of The PokéCommunity. All rights reserved. Sponsor advertisements do not imply our endorsement of that product or service. User generated content remains the property of its creator.

Acknowledgements
Use of PokéCommunity Assets
vB Optimise by DragonByte Technologies Ltd © 2023.