MrDollSteak

Formerly known as 11bayerf1

Age 24
Male
Hong Kong
Seen 3 Days Ago
Posted 1 Week Ago
847 posts
11 Years
By the way, the following moves also require custom Effects: Boomburst, Bulldoze, Discharge, Lava Plume, Parabolic Charge, Petal Blizzard, Searing Shot, Sludge Wave and Surf (needs to be updated). They do not work properly with their current effect, as they are supposed to hit Both Foes AND the allied Pokemon similar to Earthquake.

I have managed to make Surf work so it hits Ally + Target 1 + Target 2, the problem is that it does not recognise the ally's Water Absorb. I guess it's the same with Flash Fire and Volt Absorb when using Lava Plume and Discharge. Is there theoretically any way to get around this without using ASM?

(I'll post the BSP when I get back home)



Just tried your Growth/Work Up/Rototiller script and spotted a few bugs. First one was growth sharply increasing Att. And Sp. Att when not Sunny (I fixed this by adding the goto @workup in red), probably just a simple oversight in the code.

Also, I got some problems with Rototiller, it seems to freeze directly after printing the second status message, just as it goes to @Return.

Here is the Script I used. I've double checked it to make sure all Offsets are ok with the original Flower Shield Script. Everything is working fine except that last little part where it freezes :(

FOR EMERALD

Spoiler:
#include abilities.bsh
#dynamic 0xE47C50
#freespacebyte 0xFF

#org @pickmove
jumpifhalfword 0x0 0x20241EA 0x4A @growth
jumpifhalfword 0x0 0x20241EA 0x1C6 @workup
jumpifhalfword 0x0 0x20241EA 0x1C5 @rototiller
goto 0x82D8C90

#org @growth
jumpifabilitypresent 0xD @workup
jumpifabilitypresent 0x4D @workup
jumpifhalfword 0x4 weather 0x60 @sunlight
goto @workup

#org @sunlight
attackcanceler
attackstring
ppreduce
jumpifstat 0x1 0x3 0x1 0xC @attack2
jumpifstat 0x1 0x0 0x4 0xC 0x82DA71D

#org @attack2
attackanimation
waitanimation
setbyte 0x202448F 0x0
playstatchangeanimation 0x0 0x12 0x0
setbyte 0x202448E 0x21
statbuffchange 0x1 true @spatk2
jumpifbyte 0x0 multistringchooser 0x2 @spatk2
printfromtable 0x85CC89C
waitmessage 0x40

#org @spatk2
setbyte 0x202448E 0x24
statbuffchange 0x1 true 0x82DA790
jumpifbyte 0x0 multistringchooser 0x2 0x82DA790
printfromtable 0x85CC89C
waitmessage 0x40
goto 0x82D8A4E

#org @workup
attackcanceler
attackstring
ppreduce
jumpifstat BANK_USER 0x3 0x1 0xC @attack
jumpifstat BANK_USER B_= 0x4 0xC 0x82DA71D

#org @attack
attackanimation
waitanimation
setbyte 0x202448F 0x0
playstatchangeanimation 0x0 0x12 0x0
setbyte 0x202448E 0x11
statbuffchange 0x1 true @spatk
jumpifbyte 0x0 multistringchooser 0x2 @spatk
printfromtable 0x85CC89C
waitmessage 0x40

#org @spatk
setbyte 0x202448E 0x14
statbuffchange 0x1 true 0x82DA790
jumpifbyte 0x0 multistringchooser 0x2 0x82DA790
printfromtable 0x85CC89C
waitmessage 0x40
goto 0x82D8A4E

#org @rototiller
setbyte 0x2024200 0x0
attackcanceler
attackstring
ppreduce
cmd25
jumpiftype 0x1 0xC @selfgrass
goto @call

#org @selfgrass
jumpifsecondarystatus 0x1 0x1000000 @next
jumpifstat 0x1 B_>= 0x1 0xC @next
jumpifstat 0x1 B_>= 0x4 0xC @next
jumpifbyte B_= 0x2024200 0x1 @selfnoanimation
attackanimation
waitanimation
setbyte 0x2024200 0x1

#org @selfnoanimation
cmd47
playstatchangeanimation 0x1 0x12 0x0
setbyte 0x202448E 0x11
statbuffchange 0x80 true @selfnoanimation2
jumpifbyte B_>= 0x2024337 0x2 @selfnoanimation2
printfromtable 0x85CC89C
waitmessage 0x40

#org @selfnoanimation2
setbyte 0x202448E 0x14
statbuffchange 0x80 true @next
jumpifbyte B_>= 0x2024337 0x2 @next
printfromtable 0x85CC89C
waitmessage 0x40

#org @next
cmd25

#org @call
jumpifarrayequal 0x202420B 0x202420C 0x1 @next
call @target
setbyte 0x2024488 0x0
cmd49 0x2 0x10
jumpwhiletargetvalid @next
jumpifbyte B_= 0x2024200 0x0 @nobuffs
end

#org @target
jumpiftype 0x0 0xC @grass
goto @return

#org @grass
jumpifsecondarystatus 0x0 0x1000000 @return
jumpifstat 0x0 B_>= 0x1 0xC @return
jumpifstat 0x0 B_>= 0x4 0xC @return
jumpifbyte B_= 0x2024200 0x1 @noanimation
attackanimation
waitanimation
setbyte 0x2024200 0x1

#org @noanimation
cmd47
playstatchangeanimation 0x0 0x12 0x0
setbyte 0x202448E 0x11
statbuffchange 0x0 false @noanimation2
jumpifbyte B_>= 0x2024337 0x2 @noanimation2
printfromtable 0x85CC89C
waitmessage 0x40

#org @noanimation2
setbyte 0x202448E 0x14
statbuffchange 0x0 false @return
jumpifbyte B_>= 0x2024337 0x2 @return
printfromtable 0x85CC89C
waitmessage 0x40

#org @return
return

#org @nobuffs
pause 0x20
orbyte 0x202427C 0x20
resultmessage
waitmessage 0x40
end
Boomburst doesn't need a custom effect. Just use 147. The Dig hit I believe is tied to Earthquake's ID not the Move Script. But I can't guarantee. If that is the case just copy it.

Thanks for spotting that with Growth. Rototiller works fine for me. I'll compare it against my BS to see if anything's different.