Danny0317
Fluorite's back, brah
- 1,067
- Posts
- 11
- Years
- Age 25
- Seen Nov 19, 2023
Hey guys, I've finally made an ACTUAL* BW2 repel system for emerald.
Okay, before I start off, you're gonna have to credit Darthatron, and Phenom2122, and if you want, Le Pug, Tcoppy, and I.
Anyways, follow the tutorial here, https://www.pokecommunity.com/threads/281573 and do the Emerald part in another post instead.
Once you have that done, you're going to have to make this script for all of them:
For Repel:
For Super Repel:
For Max Repel:
Change the offsets for the dialogue or it won't work.
You can also change the second variable, to whichever you want/is safe, but you'll need to change it later.
Then, make a script with this:
After you're done with that, go to 0x2A4B2A and replace the script there with "goto and 0x(the offset for that script).
It hasn't been tested much, but it should work. If you find any bugs, write them here.
*The only difference is that the screen goes to the Overworld when using it. Sorry about that, but I really don't know any other way to do it.
Okay, before I start off, you're gonna have to credit Darthatron, and Phenom2122, and if you want, Le Pug, Tcoppy, and I.
Anyways, follow the tutorial here, https://www.pokecommunity.com/threads/281573 and do the Emerald part in another post instead.
Once you have that done, you're going to have to make this script for all of them:
For Repel:
Code:
#dynamic 0xE40000
#org @start
compare 0x40e9 0x1
if 0x4 goto @no
removeitem 0x56 0x1
setvar 0x4021 0x64
setvar 0x40E9 0x1
sound 0x2F
msgbox 0x8E4D3B9 MSG_SIGN '"[player] used a Repel."
end
#org @no
msgbox @nope MSG_SIGN
end
For Super Repel:
Code:
#dynamic 0xE40000
#org @start
compare 0x40e9 0x1
if 0x4 goto @no
removeitem 0x53 0x1
setvar 0x4021 0xC8
setvar 0x40E9 0x2
sound 0x2F
msgbox 0x8E4D278 MSG_SIGN '"[player] used a Super Repel."
end
#org @no
msgbox @nope MSG_SIGN
end
#org @nope
= But the effects of a Repel\nlingered from earlier.
For Max Repel:
Code:
#dynamic 0xE40000
#org @start
compare 0x40e9 0x1
if 0x4 goto @no
removeitem 0x54 0x1
setvar 0x4021 0xFA
setvar 0x40E9 0x3
sound 0x2F
msgbox 0x8E4D2F5 MSG_SIGN '"[player] used a Max Repel."
end
#org @no
msgbox @nope MSG_SIGN
end
#org @nope
= But the effects of a Repel\nlingered from earlier.
Change the offsets for the dialogue or it won't work.
You can also change the second variable, to whichever you want/is safe, but you'll need to change it later.
Then, make a script with this:
Code:
#dynamic 0xE40000
#org @start
msgbox @wore MSG_SIGN
compare 0x40E9 1
if 0x1 goto @repel
compare 0x40E9 2
if 0x1 goto @super
compare 0x40E9 3
if 0x1 goto @max
end
#org @repel
checkitem 0x56 1
compare 0x800d 1
if 0x4 goto @yesrepel
setvar 0x40e9 0
closeonkeypress
end
#org @yesrepel
msgbox @use 0x5
compare LASTRESULT 1
if 0x1 goto @userepel
setvar 0x40e9 0
closeonkeypress
end
#org @userepel
removeitem 0x56 0x1
setvar 0x4021 0x64
setvar 0x40E9 0x1
sound 0x2F
msgbox 0x8E4D3B9 MSG_SIGN '"[player] used a Repel."
end
#org @super
checkitem 0x53 1
compare 0x800d 1
if 0x4 goto @yessuper
setvar 0x40e9 0
closeonkeypress
end
#org @yessuper
msgbox @use 0x5
compare LASTRESULT 1
if 0x1 goto @usesuper
setvar 0x40e9 0
closeonkeypress
end
#org @usesuper
removeitem 0x53 0x1
setvar 0x4021 0xC8
setvar 0x40E9 0x2
sound 0x2F
msgbox 0x8E4D278 MSG_SIGN '"[player] used a Super Repel."
end
#org @max
checkitem 0x54 1
compare 0x800d 1
if 0x4 goto @yesmax
setvar 0x40e9 0
closeonkeypress
end
#org @yesmax
msgbox @use 0x5
compare LASTRESULT 1
if 0x1 goto @usemax
setvar 0x40e9 0
closeonkeypress
end
#org @usemax
removeitem 0x54 0x1
setvar 0x4021 0xFA
setvar 0x40E9 0x3
sound 0x2F
msgbox 0x8E4D2F5 MSG_SIGN '"[player] used a Max Repel."
end
#org @wore
= The Repel's effect wore off[.]
#org @use
= Use another?
After you're done with that, go to 0x2A4B2A and replace the script there with "goto and 0x(the offset for that script).
It hasn't been tested much, but it should work. If you find any bugs, write them here.
*The only difference is that the screen goes to the Overworld when using it. Sorry about that, but I really don't know any other way to do it.
Last edited: