Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
Ever thought it'd be cool to have your art, writing, or challenge runs featured on PokéCommunity? Click here for info - we'd love to spotlight your work!
Our weekly protagonist poll is now up! Vote for your favorite Conquest protagonist in the poll by clicking here.
Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.
I've been trying to port your Heavy Slam to Emerald, but I can't get it to deal more than 40 Base Damage. I've made sure to change 0x24 to 0x20 and the RAM offsets work for Doesn'ts Stored Power and Punishment. 0xE is the byte that determines weight just as in Fire Red.
Hey KDS, in the process of translating your ASM routines to Emerald, but these recurring RAM locations I can't seem to find. I've tried to find similar RAM pointers in the Emerald ROM tracing pointers in a HEX-editor and thought I found them, but the effect just freezes the game so I must be wrong.
Would you mind telling me how you found these locations in Fire Red so I can do the same in Emerald, or if you happen to have the Emerald RAM locations written down somewhere?
Hey KDS, in the process of translating your ASM routines to Emerald, but these recurring RAM locations I can't seem to find. I've tried to find similar RAM pointers in the Emerald ROM tracing pointers in a HEX-editor and thought I found them, but the effect just freezes the game so I must be wrong.
Would you mind telling me how you found these locations in Fire Red so I can do the same in Emerald, or if you happen to have the Emerald RAM locations written down somewhere?
Thanks!
These pointers are actually pointer to the actual pokemon party structure rather than battle structure pointers.
I' ll tell you for Emerald:-
Slot 1 - [0x020244EC(for US) or 0x02024190(other Emerakd)]+0x50
Slot 2 - 0x02024744 + 0x50
Slot 3 - [0x020244EC(for US) or 0x02024190(other Emerakd)]+0x50+0x64
Slot 4 - 0x02024744 + 0x50 + 0x64
Sorry for double-post, but I would like to report a potential glitch.
This move effects works fine except it doesn't remove the SLP Icon after using Wake-Up Slap. Does it work for you on your system?
I saw a similar report on MrDS ROM-base which I assume uses the same Battle Script.
Sorry for double-post, but I would like to report a potential glitch.
This move effects works fine except it doesn't remove the SLP Icon after using Wake-Up Slap. Does it work for you on your system?
I saw a similar report on MrDS ROM-base which I assume uses the same Battle Script.
It is working properly in my system. You might be getting glitches because of large scripts, BSP sometimes messes up the dynamic pointers. So try to the check script in the hex editor, correct the pointers and then check if the script is being able to decompile again in BSP without problems.
It is working properly in my system. You might be getting glitches because of large scripts, BSP sometimes messes up the dynamic pointers. So try to the check script in the hex editor, correct the pointers and then check if the script is being able to decompile again in BSP without problems.
At VV VV VV:
2E 20 C0 03 02 DD 2E 21 C0 03 02 DD 2E 22 C0 03 02 DD 2E 23 C0 03 02 08 10 84 01 12 20 00 2E 85 3E 02 02 04 18 00 29 00 6C 3D 02 02 00 WW WW WW 08 29 00 6C 3D 02 02 01 XX XX XX 08 29 00 6C 3D 02 02 02 YY YY YY 08 29 00 6C 3D 02 02 03 ZZ ZZ ZZ 08
At WW WW WW:
36 D4 42 02 02 FF 98 00 28 4E 69 1D 08
At XX XX XX:
36 7C 40 02 02 FF 98 00 28 4E 69 1D 08
At YY YY YY:
36 38 43 02 02 FF 98 00 28 4E 69 1D 08
At ZZ ZZ ZZ:
36 E0 40 02 02 FF 98 00 28 4E 69 1D 08
String at DD DD DD:
FD 10 00 EB D5 E7 FE D8 D9 DA E6 E3 E7 E8 D9 D8 AB FF
I have actually made some changes in these script to improve some message formatting and sequence of events. The scripts in the OP are also updated now.
At VV VV VV:
2E 20 C0 03 02 DD 2E 21 C0 03 02 DD 2E 22 C0 03 02 DD 2E 23 C0 03 02 08 10 84 01 12 20 00 2E 85 3E 02 02 04 18 00 29 00 6C 3D 02 02 00 WW WW WW 08 29 00 6C 3D 02 02 01 XX XX XX 08 29 00 6C 3D 02 02 02 YY YY YY 08 29 00 6C 3D 02 02 03 ZZ ZZ ZZ 08
At WW WW WW:
36 D4 42 02 02 FF 98 00 28 4E 69 1D 08
At XX XX XX:
36 7C 40 02 02 FF 98 00 28 4E 69 1D 08
At YY YY YY:
36 38 43 02 02 FF 98 00 28 4E 69 1D 08
At ZZ ZZ ZZ:
36 E0 40 02 02 FF 98 00 28 4E 69 1D 08
String at DD DD DD:
FD 10 00 EB D5 E7 FE D8 D9 DA E6 E3 E7 E8 D9 D8 AB FF
I have actually made some changes in these script to improve some message formatting and sequence of events. The scripts in the OP are also updated now.
KDS, I believe I posted a Setword Battle Scripting command, that I use as command FA. so you don't need to buffer each individual byte. Saves space and makes scripting easier. I think it's with my Geomancy one.
KDS, I believe I posted a Setword Battle Scripting command, that I use as command FA. so you don't need to buffer each individual byte. Saves space and makes scripting easier. I think it's with my Geomancy one.
Actually, in my version of bsp there is a setword command that actually decomposes into 4 setbyte commands, just like the calculatedamage commands break into command no (5,6,7,8). If you see my original script of wakeup slap, there is a setword command to set the string. On your geomancy post I can't seem to find the link to the setword command (maybe because I am using a phone to post this).
Actually, in my version of bsp there is a setword command that actually decomposes into 4 setbyte commands, just like the calculatedamage commands break into command no (5,6,7,8). If you see my original script of wakeup slap, there is a setword command to set the string. On your geomancy post I can't seem to find the link to the setword command (maybe because I am using a phone to post this).
I've been using your new script with Wake-Up Slap. The issue is that when I give Spore + Wake-Up slap to a wild Pokemon and have it use it on my Pokemon, everything is flawless and the SLP icon disappears. However, when I give Spore and Wake-Up Slap to my own Pokemon, put a wild pokemon to sleep, and wake-up slap it, it wakes up but the SLP icon is still there.
Have you tried both of these ways on your system and gotten them to work?
I've been using your new script with Wake-Up Slap. The issue is that when I give Spore + Wake-Up slap to a wild Pokemon and have it use it on my Pokemon, everything is flawless and the SLP icon disappears. However, when I give Spore and Wake-Up Slap to my own Pokemon, put a wild pokemon to sleep, and wake-up slap it, it wakes up but the SLP icon is still there.
Have you tried both of these ways on your system and gotten them to work?
Emerald ports for Taunt, Encore and Disable (Credits to Doesnt for the FR ones from which I
found the Emerald ones easily).
Spoiler:
Taunt's duration is controlled by the byte at x54DB6; change it to 04 for BW's length.
To fix Encore at 4 turns, insert 00 00 00 00 at x529EE and x529FE.
To fix Disable at 4 turns, insert 00 00 00 00 at x528B6 and x528C6.
Facade's ignore burn effect on attack (Fire Red Only):
Spoiler:
Important things :-
1. Only works for DoesntKnowHowToPlay's Fire Red PSS Split patch.
2. Make sure before making the hex edits, the region (x3F32c - x3F397) is filled with 00's
only, otherwise you will have to perform a hook or extra logic instead of directly
inserting these hex bytes).
3. Also make sure that facade's vanilla battle script is intact and not altered.
Anyways, the hex edits:
At x3F326: 27 E0 (branch to x3F378)
At x3F378:
F0 6C 10 21 08 40 00 28 16 D0 09 99 08 78 3E 28 12 D0 05 49 09 88 0C 20 41 43 04 48 40 18
01 78 A9 29 09 D0 05 E0 00 00 4C 3D 02 02 XX XX XX 08 00 00 (XX XX XX is location of your
move table )
I also have made some changes to Hidden Power so check its OP again.
Actually jambo's callasm increments your script pointer by 5 regardless of whether you made change in the Script
Pointer, so you should subtract it by 5 i.e change 0x082D9F1C to 0x082D9F17 in the ASM then your message should appear.
Also updated the Script Pointer of the Second ASM of Acupressure to reflect this type of change in the OP
---------------------------------------------------------------------------------------------------
-- Now this post contains very important fixes to some of my move effects, and a few useful stuff also.
--------------------------------------------------------------------------------------------------- 1. Emerald port for Battle String Loader (credits to Jambo51 for original one)
Spoiler:
Byte Changes
0x14E6C0: 01 49 08 47
0x14E6C8: XX+1 XX XX 08 (Pointer to routine)
0x202C4D0 is chosen as the free RAM space to set the position of required string (if there any flaw in this location,
then please notify with the reason), it is placed similar as 0x203C020 in Fire Red.
Use this offset in setword command to setup your battle string
---------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------- 2. Incinerate (Destroys target's berry completely)
Instead of checking the index, the way to check whether an item is a berry or not is to check its pocket number (5 for
FR and 4 for Emerald) and there is an preexisting command that clears the item of banked pokemon (so no need for
---------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------- 3. Hi Jump Kick (Now it crashes due to type immunity also)
(Remove the Bold Lines in the Script if you don't have Magic Guard)
---------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------- 4. Cure Primary Status Command Some points about it:-
--> It is custom command created by me to cure any primary status of banked Pokemon.
--> It is actually a mod of the cureifburnparalysedpoisoned to command to support curing of any status and adds the
functionality of selecting banks to too.
--> It provides an efficient way to cure any primary status of a Pokemon. My fixed Wake-Up Slap, Scald and Psycho Shift
use this now (I might have missed some flags in my previous methods for simulating these but this command addresses all
those issues).
--> It can also be handy for simulating Bug Bite and Healer ability.
--> It branches to an address mentioned in the command if the banked Pokemon does suffer from a primary status (added
2. Add another entry to your repointed command table containing the offset to this ASM + 1.
3. Add this entry in commands.bsh in BSP for our new command
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
I recommend to use the new scripts for Wake-Up Slap and Scald with this new command.
--------------------------------------------------------------------------------------------------- 5. Wake-Up Slap (With the custom command)
---------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------- 7. Scald (Thaw user, thaw foe & chance to burn (don't burn if foe is thawed by Scald) & Hook with effect 125 to thaw
--------------------------------------------------------------------------------------------------- 1. Emerald port for Battle String Loader (credits to Jambo51 for original one)
Spoiler:
Byte Changes
0x14E6C0: 01 49 08 47
0x14E6C8: XX+1 XX XX 08 (Pointer to routine)
PS : I wanted to created an effect like Judgment, but I don't know if there is a function to set the attack's type. And I don't remember the function to check the held object. Also, is it possible to change the ratio of drained HP in the drain effect, in order to make Oblivion Wing ? Thanks.
PS : I wanted to created an effect like Judgment, but I don't know if there is a function to set the attack's type. And I don't remember the function to check the held object. Also, is it possible to change the ratio of drained HP in the drain effect, in order to make Oblivion Wing ? Thanks.
You'll need ASM for all of these things since there are no dedicated commands for these. You can use Jambo's callasm command to put custom ASM in a battle script.