- 352
- Posts
- 8
- Years
- Seen Mar 10, 2022
NOTE: I'M TRYING TO FIX THIS THREAD BY RE-UPLOADING SOME FILES, FOR NOW IT WILL HAVE ONLY THE FULL PATCH v1.1, WHICH DON'T HAVE DIVE AND ROCK CLIMB. I'LL TRY TO FIND THE FULL PATCH 2.0 AND I'LL RE-UPLOAD IT IF I FIND IT. THANKS, AND I'M SORRY FOR THAT.
[Version 2.X Released]
Hi everyone, I made a patch of my custom settings of Uncommon's thread (Credits to him for making this great patch, for FBI and all people involved on making this awesome system):
Old Information:
Full Patch Version 2.X
Changelog Version 2.X
Important Information Version 2.X
Offsets Version 2.X
Note: There are 2 offsets of each item for Dive, because it have 2 separate scripts, one for Dive and one for Emerge.
Misc Version 2.X
CREDITS:
FBI: Researcher and ASM Developer of this HM system, researcher of the custom Field Moves;
FBI & knizz: Researchers of the Fly system;
FBI & Touched: Researchers of the Modified Special 0x12B;
Uncommon: Writer, tester, creator and owner of the original HM system patch.
mbcn10ww: Bug fixes, custom changes (Multi Type Check, Alternate Flags), new Red/Leaf Dive sprites, Dive type check, Rock Climb type check.
Nisarg: Help with Dive and Rock Climb.
Spherical Ice: Unused Dive scripts offsets, Tutorial for changing player's default sprite to Dive sprite while in Underwater, the Rock Climb script.
JPAN: Modified Special 0x7F.
[Version 2.X Released]
Hi everyone, I made a patch of my custom settings of Uncommon's thread (Credits to him for making this great patch, for FBI and all people involved on making this awesome system):
Old Information:
Spoiler:
- Showing correct names of Pokémon when using the moves;
- Changed the offsets to 0x990000-0x990692 instead of 0x760000-0x760692 (for someone with compatibility problems on hacks in progress);
- Changed the MAP Position of START Menu to become compatible with FBI's Switching Between Two START Menus (with SAVE and without SAVE);
- Changed flags for each move to the badge check flags.
Badge Check Flags Offsets:
1st ADD-ON: If someone wants a second flag check, I made a patch to do it, now it checks if you have the respective badge and in my rom I made it checks if you have the respective HM in your Bag (you just need to place a "setflag" on each script of the game you receive the respective HM, but you can use it the way you want), except for Fly it checks only if you have the HM. (It needs expanded flags to work.)
The flags for each HM (and offsets to change the flags):
0x11E1 - Cut (0x9900E8)
0x11E2 - Fly (0x99055C) (It checks this flag instead of the badge flag.)
0x11E3 - Surf (0x9902E1)
0x11E4 - Strength (0x990206)
0x11E5 - Flash (0x99004D)
0x11E6 - Rock Smash (0x990176)
0x11E7 - Waterfall (0x990396)
2nd ADD-ON: I've added to my rom's HM type check, another Pokémon type to check, here's the list and the offsets respectively if you want to change types to your desired type or simply to change to one type on all offsets of the same HM, it's your choice:
Note: The script will check the types by order, then if you have a Steel and a Grass Pokémon in your party, the Steel Pokémon will never use Cut because Grass first priority.
Cut - Grass (0x9906CA) / Steel (0x990772) / Bug (0x99078D) / Psychic (0x9907A8)
Surf - Water (0x990696) / Ice (0x990859)
Strength - Fighting (0x990708) / Rock (0x9908AB) / Psychic (0x9908D3)
Flash - Fire (0x990727) / Electric (0x99094C)
Rock Smash - Fighting (0x9906E4) / Rock (0x990997) / Psychic (0x9909B3)
Waterfall - Water (0x9906B0) / Flying (0x990A33)
I made this patch because now will have more options of setting up your team to don't lose any HM move.
Note: The Psychic type can use many HM moves because it really can do a lot of things other Pokémon can't, and I want to edit Fly to work with Psychic because it will be a great addition. (But it will happen only if the ASM routine is modified.)
Types in Hex:
I haven't added a new type to Fly because it isn't script and it's hard to edit because it's ASM.
Note: It only works if you have used the previous patches.
Misc Bug Fixes:
Flag Check Patches (Only works with the full patch):
Full Patch with all ADD-ONs and Bug Fixes (New Version 1.1 avaliable):
- Changed the offsets to 0x990000-0x990692 instead of 0x760000-0x760692 (for someone with compatibility problems on hacks in progress);
- Changed the MAP Position of START Menu to become compatible with FBI's Switching Between Two START Menus (with SAVE and without SAVE);
- Changed flags for each move to the badge check flags.
Badge Check Flags Offsets:
Spoiler:
Cut - 0x9900DF
Fly - 0x99055C
Surf - 0x9902D8
Strength - 0x9901FD
Flash - 0x990044
Rock Smash - 0x99016D
Waterfall - 0x99038D
Fly - 0x99055C
Surf - 0x9902D8
Strength - 0x9901FD
Flash - 0x990044
Rock Smash - 0x99016D
Waterfall - 0x99038D
1st ADD-ON: If someone wants a second flag check, I made a patch to do it, now it checks if you have the respective badge and in my rom I made it checks if you have the respective HM in your Bag (you just need to place a "setflag" on each script of the game you receive the respective HM, but you can use it the way you want), except for Fly it checks only if you have the HM. (It needs expanded flags to work.)
The flags for each HM (and offsets to change the flags):
0x11E1 - Cut (0x9900E8)
0x11E2 - Fly (0x99055C) (It checks this flag instead of the badge flag.)
0x11E3 - Surf (0x9902E1)
0x11E4 - Strength (0x990206)
0x11E5 - Flash (0x99004D)
0x11E6 - Rock Smash (0x990176)
0x11E7 - Waterfall (0x990396)
2nd ADD-ON: I've added to my rom's HM type check, another Pokémon type to check, here's the list and the offsets respectively if you want to change types to your desired type or simply to change to one type on all offsets of the same HM, it's your choice:
Note: The script will check the types by order, then if you have a Steel and a Grass Pokémon in your party, the Steel Pokémon will never use Cut because Grass first priority.
Cut - Grass (0x9906CA) / Steel (0x990772) / Bug (0x99078D) / Psychic (0x9907A8)
Surf - Water (0x990696) / Ice (0x990859)
Strength - Fighting (0x990708) / Rock (0x9908AB) / Psychic (0x9908D3)
Flash - Fire (0x990727) / Electric (0x99094C)
Rock Smash - Fighting (0x9906E4) / Rock (0x990997) / Psychic (0x9909B3)
Waterfall - Water (0x9906B0) / Flying (0x990A33)
I made this patch because now will have more options of setting up your team to don't lose any HM move.
Note: The Psychic type can use many HM moves because it really can do a lot of things other Pokémon can't, and I want to edit Fly to work with Psychic because it will be a great addition. (But it will happen only if the ASM routine is modified.)
Types in Hex:
Spoiler:
Normal 0x0
Fighting 0x1
Flying 0x2
Poison 0x3
Ground 0x4
Rock 0x5
Bug 0x6
Ghost 0x7
Steel 0x8
??? (egg) 0x9
Fire 0xA
Water 0xB
Grass 0xC
Electric 0xD
Psychic 0xE
Ice 0xF
Dragon 0x10
Dark 0x11
Fighting 0x1
Flying 0x2
Poison 0x3
Ground 0x4
Rock 0x5
Bug 0x6
Ghost 0x7
Steel 0x8
??? (egg) 0x9
Fire 0xA
Water 0xB
Grass 0xC
Electric 0xD
Psychic 0xE
Ice 0xF
Dragon 0x10
Dark 0x11
I haven't added a new type to Fly because it isn't script and it's hard to edit because it's ASM.
Note: It only works if you have used the previous patches.
Misc Bug Fixes:
Spoiler:
- The description of the menu seems to be shuffled, then place 6C 05 99 08 at 0x3A736C and 49 A0 41 08 6F A0 41 08 34 06 99 08 B7 A0 41 08 at 0x3A73A0 and it will fix it;
- Place C9 at 0x17D72C to fix Oak's first dialogue.
- Place C9 at 0x17D72C to fix Oak's first dialogue.
Flag Check Patches (Only works with the full patch):
Spoiler:
<Badge Check Only> (It will check only if you have the required badge to use the move)
<Alternate Check Only> (Instead of checking if you have a specific badge, it will check the custom flags 0x11E1 to 0x11E7)
<Menu Option Check Only> (It will check only if you have the option "Pokémon" in your START Menu bypassing the badge/custom flag checks)
<Alternate Check Only> (Instead of checking if you have a specific badge, it will check the custom flags 0x11E1 to 0x11E7)
<Menu Option Check Only> (It will check only if you have the option "Pokémon" in your START Menu bypassing the badge/custom flag checks)
Full Patch with all ADD-ONs and Bug Fixes (New Version 1.1 avaliable):
Spoiler:
<Version 1.0>
<Version 1.1>
Changelog for Version 1.1:
<Version 1.1>
Changelog for Version 1.1:
Spoiler:
- Added a new fixed Fly system (with the help of Uncommon & FBI);
- Used offsets 0x98FF00-0x990B0F;
- The new Fly routine will check the main flag, the badge flag and the alternate flag (0x828, 0x822, 0x11E2, respectively);
- Now the new Fly routine will check if you have a Flying Pokémon, if not, it checks if you have a Psychic Pokémon, in order;
- You don't need any of the previous patches to use this patch.
Offsets for changing the Fly flags and types:
- Used offsets 0x98FF00-0x990B0F;
- The new Fly routine will check the main flag, the badge flag and the alternate flag (0x828, 0x822, 0x11E2, respectively);
- Now the new Fly routine will check if you have a Flying Pokémon, if not, it checks if you have a Psychic Pokémon, in order;
- You don't need any of the previous patches to use this patch.
Offsets for changing the Fly flags and types:
Code:
[B]0x990AA6[/B] = [COLOR="lemonchiffon"]Flying[/COLOR] Type
[B]0x990ABC[/B] = [COLOR="plum"]Psychic[/COLOR] Type
[B]0x990AF8[/B] = Badge Check
[B]0x990AFC[/B] = Alternate Check
Full Patch Version 2.X
- <Version 2.0>
Changelog Version 2.X
Spoiler:
- Used offsets 0x98FE00 - 0x99119F (it don't uses all of it, but it's safest to have this all free space);
- Added Rock Climb system;
- Added Dive system;
- Replaced unused RSE protagonists sprites with new Dive sprites for Red and Leaf;
- Changed the Alternate Flags to default/unused safe flags (don't need expanded flags anymore).
- Added Rock Climb system;
- Added Dive system;
- Replaced unused RSE protagonists sprites with new Dive sprites for Red and Leaf;
- Changed the Alternate Flags to default/unused safe flags (don't need expanded flags anymore).
Important Information Version 2.X
Spoiler:
Flash: Make a Level Script on each map you want to use Flash, with the following settings; Script Type = 02 Validates values... / Flag = 4000 / Value = 0001 / Script offset 2 = $990024
Dive:
Note 0: I added a Dive block tile (22E) but you can use the tile you want, just assign its behaviour byte to 0x19.
1 - Choose your Overworld map (the map you want to use Dive to go Underwater), go to Map Header, then in Map Options section change its Type to "06 ???";
2 - Choose/Make your Underwater map (the map you want to use Emerge to go Overworld), go to Map Header, then in Map Option section change its Type to "Underwater" and change its Weather to "Underwater mist";
3 - On the Overworld map, make a Dive connection to the Underwater map, to do it go to Map Connections, then Add, and choose Dive on the Direction box, then choose the Map Bank and Number to warp (the Underwater map);
4 - On the Underwater map, make an Emerge connection to the Overworld map, to do it go to Map Connections, then Add, and choose Emerge on the Direction box, then choose the Map Bank and Number to warp (the Overworld map);
5 - On the Overworld map, create a signpost/green_script tile and place the Dive script offset (0x990F40), if you are using signpost set its Talking Level to "01 Height 0 (Surf)";
6 - On the Underwater map, create a signpost/green_script tile and place the Emerge script offset (0x99106B), if you are using signpost set its Talking Level to "00 Always".
Note 1: Find a good location to place the signpost/green_script, because the script will warp you to the same X/Y position you are when you talk with the script.
Note 2: Don't forget to edit the Map Header section like said, because if you don't edit, may cause bugs, freezes and other things.
Rock Climb:
Note 0: I added a Rock Climb block tile (22F) but you can use the tile you want, just assign its behaviour byte to 0xA5.
0 - The Rock Climb system will function with signposts/person events (I recommend signposts and the tutorial will be only with them), look at these images:
Note 1: The image shows the way you need to do it, if you will use only 1 Rock Climb tile you only need 1 signpost, but if you will use 2 or more Rock Climb tiles in sequence you need 2 signposts.
1 - To use with only 1 signpost, just create a signpost and place the Rock Climb script offset (0x990B18), then place it like the image shows, with the following settings, Talking Level "00 Always" and Signpost type "Script";
2 - To use with 2 signposts, just create the signposts and place the Rock Climb script offset (0x990B18), then place it like the image shows, with the following settings, Talking Level "00 Always", Signpost type "Script, if hero is facing up" for the bottom signpost and Signpost type "Script, if hero is facing down" for the top signpost.
Note 2: You cannot use the Rock Climb script if the player is facing left or right to talk with the script.
Dive:
Note 0: I added a Dive block tile (22E) but you can use the tile you want, just assign its behaviour byte to 0x19.
1 - Choose your Overworld map (the map you want to use Dive to go Underwater), go to Map Header, then in Map Options section change its Type to "06 ???";
2 - Choose/Make your Underwater map (the map you want to use Emerge to go Overworld), go to Map Header, then in Map Option section change its Type to "Underwater" and change its Weather to "Underwater mist";
3 - On the Overworld map, make a Dive connection to the Underwater map, to do it go to Map Connections, then Add, and choose Dive on the Direction box, then choose the Map Bank and Number to warp (the Underwater map);
4 - On the Underwater map, make an Emerge connection to the Overworld map, to do it go to Map Connections, then Add, and choose Emerge on the Direction box, then choose the Map Bank and Number to warp (the Overworld map);
5 - On the Overworld map, create a signpost/green_script tile and place the Dive script offset (0x990F40), if you are using signpost set its Talking Level to "01 Height 0 (Surf)";
6 - On the Underwater map, create a signpost/green_script tile and place the Emerge script offset (0x99106B), if you are using signpost set its Talking Level to "00 Always".
Note 1: Find a good location to place the signpost/green_script, because the script will warp you to the same X/Y position you are when you talk with the script.
Note 2: Don't forget to edit the Map Header section like said, because if you don't edit, may cause bugs, freezes and other things.
Rock Climb:
Note 0: I added a Rock Climb block tile (22F) but you can use the tile you want, just assign its behaviour byte to 0xA5.
0 - The Rock Climb system will function with signposts/person events (I recommend signposts and the tutorial will be only with them), look at these images:
![[PokeCommunity.com] [Fire Red] My Version of HMs Type Check (Re-Uploaded v1.1 only, in 2019/09/05) [PokeCommunity.com] [Fire Red] My Version of HMs Type Check (Re-Uploaded v1.1 only, in 2019/09/05)](https://i.postimg.cc/Y96sZq3Y/Rock-Climb-Map.jpg)
![[PokeCommunity.com] [Fire Red] My Version of HMs Type Check (Re-Uploaded v1.1 only, in 2019/09/05) [PokeCommunity.com] [Fire Red] My Version of HMs Type Check (Re-Uploaded v1.1 only, in 2019/09/05)](https://i.postimg.cc/Ss66knHQ/Rock-Climb-Event.jpg)
Note 1: The image shows the way you need to do it, if you will use only 1 Rock Climb tile you only need 1 signpost, but if you will use 2 or more Rock Climb tiles in sequence you need 2 signposts.
1 - To use with only 1 signpost, just create a signpost and place the Rock Climb script offset (0x990B18), then place it like the image shows, with the following settings, Talking Level "00 Always" and Signpost type "Script";
2 - To use with 2 signposts, just create the signposts and place the Rock Climb script offset (0x990B18), then place it like the image shows, with the following settings, Talking Level "00 Always", Signpost type "Script, if hero is facing up" for the bottom signpost and Signpost type "Script, if hero is facing down" for the top signpost.
Note 2: You cannot use the Rock Climb script if the player is facing left or right to talk with the script.
Offsets Version 2.X
Note: There are 2 offsets of each item for Dive, because it have 2 separate scripts, one for Dive and one for Emerge.
Spoiler:
Types:
Cut
Grass (0x9906CA)
Steel (0x990772)
Bug (0x99078D)
Psychic (0x9907A8)
Fly
Flying (0x990AA6)
Psychic (0x990ABC)
Surf
Water (0x990696)
Ice (0x990859)
Strength
Fighting (0x990708)
Rock (0x9908AB)
Psychic (0x9908D3)
Flash
Fire (0x990727)
Electric (0x99094C)
Rock Smash
Fighting (0x9906E4)
Rock (0x990997)
Psychic (0x9909B3)
Waterfall
Water (0x9906B0)
Flying (0x990A33)
Dive
Water (0x990F89 / 0x9910B4)
Dragon (0x990FA4 / 0x9910CF)
Psychic (0x990FBF / 0x9910EA)
Rock Climb
Ground (0x990B60)
Rock (0x990B7B)
Steel (0x990B96)
Badge Flags:
Alternate Flags:
Spoiler:
Cut
Grass (0x9906CA)
Steel (0x990772)
Bug (0x99078D)
Psychic (0x9907A8)
Fly
Flying (0x990AA6)
Psychic (0x990ABC)
Surf
Water (0x990696)
Ice (0x990859)
Strength
Fighting (0x990708)
Rock (0x9908AB)
Psychic (0x9908D3)
Flash
Fire (0x990727)
Electric (0x99094C)
Rock Smash
Fighting (0x9906E4)
Rock (0x990997)
Psychic (0x9909B3)
Waterfall
Water (0x9906B0)
Flying (0x990A33)
Dive
Water (0x990F89 / 0x9910B4)
Dragon (0x990FA4 / 0x9910CF)
Psychic (0x990FBF / 0x9910EA)
Rock Climb
Ground (0x990B60)
Rock (0x990B7B)
Steel (0x990B96)
Badge Flags:
Spoiler:
Cut (0x9900DF)
Fly (0x990AF8)
Surf (0x9902D8)
Strength (0x9901FD)
Flash (0x990044)
Rock Smash (0x99016D)
Waterfall (0x99038D)
Dive (0x990F52 / 0x99107D)
Rock Climb (0x990B29)
Fly (0x990AF8)
Surf (0x9902D8)
Strength (0x9901FD)
Flash (0x990044)
Rock Smash (0x99016D)
Waterfall (0x99038D)
Dive (0x990F52 / 0x99107D)
Rock Climb (0x990B29)
Alternate Flags:
Spoiler:
0x237 - Cut (0x9900E8)
0x238 - Fly (0x990AFC)
0x239 - Surf (0x9902E1)
0x23A - Strength (0x990206)
0x23B - Flash (0x99004D)
0x2EF - Rock Smash (0x990176)
0x22F - Waterfall (0x990396)
0x22E - Dive (0x990F5B / 0x991086)
0x22D - Rock Climb (0x990B32)
0x238 - Fly (0x990AFC)
0x239 - Surf (0x9902E1)
0x23A - Strength (0x990206)
0x23B - Flash (0x99004D)
0x2EF - Rock Smash (0x990176)
0x22F - Waterfall (0x990396)
0x22E - Dive (0x990F5B / 0x991086)
0x22D - Rock Climb (0x990B32)
Misc Version 2.X
Spoiler:
Pokémon Types in Hex:
Badge Flags:
Spoiler:
0x0 = Normal
0x1 = Fighting
0x2 = Flying
0x3 = Poison
0x4 = Ground
0x5 = Rock
0x6 = Bug
0x7 = Ghost
0x8 = Steel
0x9 = ??? (egg)
0xA = Fire
0xB = Water
0xC = Grass
0xD = Electric
0xE = Psychic
0xF = Ice
0x10 = Dragon
0x11 = Dark
0x1 = Fighting
0x2 = Flying
0x3 = Poison
0x4 = Ground
0x5 = Rock
0x6 = Bug
0x7 = Ghost
0x8 = Steel
0x9 = ??? (egg)
0xA = Fire
0xB = Water
0xC = Grass
0xD = Electric
0xE = Psychic
0xF = Ice
0x10 = Dragon
0x11 = Dark
Badge Flags:
Spoiler:
0x820 = BOULDERBADGE (Flash)
0x821 = CASCADEBADGE (Cut)
0x822 = THUNDERBADGE (Fly)
0x823 = RAINBOWBADGE (Strength)
0x824 = SOULBADGE (Surf)
0x825 = MARSHBADGE (Rock Smash)
0x826 = VOLCANOBADGE (Waterfall)
0x827 = EARTHBADGE (Dive / Rock Climb)
0x821 = CASCADEBADGE (Cut)
0x822 = THUNDERBADGE (Fly)
0x823 = RAINBOWBADGE (Strength)
0x824 = SOULBADGE (Surf)
0x825 = MARSHBADGE (Rock Smash)
0x826 = VOLCANOBADGE (Waterfall)
0x827 = EARTHBADGE (Dive / Rock Climb)
CREDITS:
FBI: Researcher and ASM Developer of this HM system, researcher of the custom Field Moves;
FBI & knizz: Researchers of the Fly system;
FBI & Touched: Researchers of the Modified Special 0x12B;
Uncommon: Writer, tester, creator and owner of the original HM system patch.
mbcn10ww: Bug fixes, custom changes (Multi Type Check, Alternate Flags), new Red/Leaf Dive sprites, Dive type check, Rock Climb type check.
Nisarg: Help with Dive and Rock Climb.
Spherical Ice: Unused Dive scripts offsets, Tutorial for changing player's default sprite to Dive sprite while in Underwater, the Rock Climb script.
JPAN: Modified Special 0x7F.
Attachments
Last edited: