Seen January 10th, 2017
Posted April 21st, 2016
180 posts
5.5 Years
For Emerald:

Credits to KDS for his original script.

Soak:
First insert this string:
Spoiler:
FD 10 00 E8 E6 D5 E2 E7 DA E3 E6 E1 D9 D8 00 FE DD E2 E8 E3 00 E8 DC D9 00 D1 D5 E8 D9 E6 00 E8 ED E4 D9 AB

(it says, "[the target] transformed into the Water type!")

Next, insert this script:
Spoiler:
#org @Soak
attackcanceler
accuracycheck 0x82D8A5E 0x0
attackstring
ppreduce
jumpifsecondarystatus 0x0 0x1000000 0x82D9F1C
jumpiftype 0x0 0x0 @NotWater
jumpiftype 0x0 0x1 @NotWater
jumpiftype 0x0 0x2 @NotWater
jumpiftype 0x0 0x3 @NotWater
jumpiftype 0x0 0x4 @NotWater
jumpiftype 0x0 0x5 @NotWater
jumpiftype 0x0 0x6 @NotWater
jumpiftype 0x0 0x7 @NotWater
jumpiftype 0x0 0x8 @NotWater
jumpiftype 0x0 0x17 @NotWater
jumpiftype 0x0 0xA @NotWater
jumpiftype 0x0 0xC @NotWater
jumpiftype 0x0 0xD @NotWater
jumpiftype 0x0 0xE @NotWater
jumpiftype 0x0 0xF @NotWater
jumpiftype 0x0 0x10 @NotWater
jumpiftype 0x0 0x11 @NotWater
goto 0x82D9F1C

#org @NotWater
attackanimation
waitanimation
jumpifbyte 0x0 0x0202420C 0x0 @slot1
jumpifbyte 0x0 0x0202420C 0x1 @slot2
jumpifbyte 0x0 0x0202420C 0x2 @slot3
jumpifbyte 0x0 0x0202420C 0x3 @slot4

#org @slot1
setbyte 0x20240A5 0xB
setbyte 0x20240A6 0xB
goto @text

#org @slot2
setbyte 0x20240FD 0xB
setbyte 0x20240FE 0xB
goto @text

#org @slot3
setbyte 0x2024155 0xB
setbyte 0x2024156 0xB
goto @text

#org @slot4
setbyte 0x20241AD 0xB
setbyte 0x20241AE 0xB
goto @text

#org @text
setword 0x203B200 0x8[Offset of string]
printstring 0x184
waitmessage 0x40
goto 0x82D8A4E


Note: In the official gen VI games, if a Pokemon is already pure water, the animation will still play and the move will afterwards say "But it failed!". However, I felt that this was a bit inconsistent with the rest of the game so I decided not to play the animation if the move fails.

If you want it exactly like the official games, feel free to move attackanimation and waitanimation to above the 17 jumpiftype.

Speaking of the 17 jumpiftypes; that was the only way I could get the game to change Pokemon that are part water to pure water while still having the move fail if the Pokemon is already pure water.

Note 2: This script takes into account the fairy-type assuming you have put it as type 17 as per MrDS. tutorial.