View Single Post
  #1599    
Old July 4th, 2009 (08:12 PM).
ckret2's Avatar
ckret2
usually pronounced "secret 2"
 
Join Date: Dec 2008
Location: You Are Here
Age: 24
Gender:
Nature: Rash
Send a message via AIM to ckret2
I've been trying for weeks now to make a script that makes it impossible to progress in the game until you battle and defeat a wild Pokémon. The good news is that I succeeded. Yay. The bad news is that it's still possible to catch the Pokémon in battle. So, hypothetically, you could come up to the Pokémon with ten Poké Balls, battle it, catch it, rebattle and recatch it, until you've caught it ten times, and then make it faint and then you'd progress in the game. Which is silly. However, aside from making it impossible to bring any Poké Balls into the battle (which I am more than willing to do, but I'd like a "cleaner" solution if possible), I can't find a way to make it impossible to catch the Pokémon. Any ideas?

It's in a FireRed hack, and made with XSE. Here's the script as it is so far. Well, with extraneous scripting irrelevant to the issue removed and with the dialogue changed, but this is the gist of it:

Quote:
#dynamic 0xOFFSET
#org @start
lock
faceplayer
wildbattle 0x69 0xB 0x0
special2 0x800D 0xB4
compare 0x800D 0x1
if 0x1 goto @beat
compare 0x800D 0x4
if 0x1 goto @ranaway
msgbox @caughtit 0x6
release
end

#org @ranaway
msgbox @tryagainlater 0x6
release
end

#org @beat
msgbox @youwon 0x6
setflag 0x100
release
end

#org @tryagainlater
= Maybe I'll come back later.

#org @youwon
= Yeah! I beat it!

#org @caughtit
= Well, I guess I caught it, huh?
end
So far as I can tell, I'm the first person to dissect and make use of special2 0xB4 in a script, so here's a mini-tutorial on how it functions and why I set it up like I did. (And if someone HAS figured out special2 0xB4 before me, I apologize for presuming to be the first, although I must mention that I've been all over this site trying to figure out how the heck it works and must humbly ask why the wisdom wasn't shared, as it would have saved me a lot of time.)

Given the above, is there any way to make it impossible to throw a Poké Ball at the Pokémon in battle, apart from a) making Poké Balls unavailable until after the battle, b) inserting a script that throws all your Poké Balls away and/or sends them to the PC, c) making the Pokémon a ghost, or d) making the Pokémon's catch rate 0 and making sure Master Balls aren't available yet? (Speaking of which, I don't actually know if Master Balls work on Pokémon with a catch rate of 0.) Is there some special, some form of wildbattle, something? (I know the original Ghost Marowak script uses wildbattle2 but don't know what that does. I'm afraid it'll just turn the Pokémon into a ghost.)
__________________

This one is my hack.


This one is the hack I part-time map for.

I got an Illumise?
Pretty awesome.
Glad I grabbed an egg I didn't recognize.