• 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!
  • 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.

Whirlpools

Skystrike

[i]As old as time itself.[/i]
  • 1,640
    Posts
    16
    Years
    I need some help creating HM Whirlpool for my game. I've looked on the wiki, and it says that I'd need two new procedures, one that's like pbFacingEvent which checks if the player is on an event, and an Events.onStepTaken procedure, similar to Events.onAction, which checks if the player is moving or going onto an event called "Whirlpool". I think I have the Events.onStepTaken covered, but the pbFacingEvent scriptlet deeply confuses me. May someone give me help on creating Whirlpools?
     
    I'm assuming you have everything done, besides facing the event, use:

    facingEvent.name=="Whirpool"

    In your script and name the event Whirlpool.

    As long as everything else is scripted properly, that's everything done.
     
    Thanks for trying to help, but that's not exactly what I'm looking for.
    Whirlpool

    • As mentioned above, Whirlpool is just like Cut, except you can surf onto it (and when you do it knocks you back). The whirlpool itself will be an event placed on water, set to passable (i.e. the "Through" option is ticked). Add into the scripts an "Events.onStepTaken" procedure (like an "Events.onAction" procedure) that checks whether the player is standing on an event called "Whirlpool" - if they are, spin them around and set a move route back off it. The hardest part here is figuring out whether the player is standing on an event at all (checking its name is easy once you have that, though) - see how the def "pbFacingEvent" works and copy it to make something similar but which checks the player's current coordinates, not whatever's in front of them."
    This is what I mean, I need help implementing this.
     
    Spoiler:

    I could always go the simple route and just erase it, but I'd like the G/S/C effect.
     
    That works perfect for me... I use SURF, I go over to my event (which I have no whirlpool character set, so I didn't spin it or myself, however...) I click the event, it says the speech about how it's unsafe... I use Whilrpool... And the event disappears... What's the problem you're getting?

    EDIT: Are you trying to make them spin around and such?
     

    Whirlpool

    • As mentioned above, Whirlpool is just like Cut, except you can surf onto it (and when you do it knocks you back). The whirlpool itself will be an event placed on water, set to passable (i.e. the "Through" option is ticked). Add into the scripts an "Events.onStepTaken" procedure (like an "Events.onAction" procedure) that checks whether the player is standing on an event called "Whirlpool" - if they are, spin them around and set a move route back off it. The hardest part here is figuring out whether the player is standing on an event at all (checking its name is easy once you have that, though) - see how the def "pbFacingEvent" works and copy it to make something similar but which checks the player's current coordinates, not whatever's in front of them.

    That's an extract from my "To Do" file, isn't it? I wrote that off the top of my head, going solely on what I vaguely remember of how whirlpools worked in Gen 2. I haven't experienced a Gen 4 whirlpool so I don't know what's different (I gather they're larger), and I'm sure there's a better way of doing it if you put more than 5 seconds' thought into it.

    Perhaps do it similar to how pushable boulders work, except move the player forward X tiles rather than erase the event. If in Gen 4 you're not allowed to randomly surf onto a whirlpool (and be knocked back), then that's even easier and would work exactly like boulders.
     
    I would probably not even use scripts anyways, I'd use the event itself, because I have no idea how to move the player, other then using PBMoveRoute, within a script... I'd probably use PlayerTouch, or make it so you can't surf over for the moment, unless you do a quick check for Whirlpool upon touch, if Whirlpool is not found, set move route to spin, if it is, ask if Whirlpool is wanted to be used.
     
    Thanks for the replies, I'll try both methods ^^
    That's an extract from my "To Do" file, isn't it? I wrote that off the top of my head, going solely on what I vaguely remember of how whirlpools worked in Gen 2. I haven't experienced a Gen 4 whirlpool so I don't know what's different (I gather they're larger), and I'm sure there's a better way of doing it if you put more than 5 seconds' thought into it.

    Perhaps do it similar to how pushable boulders work, except move the player forward X tiles rather than erase the event. If in Gen 4 you're not allowed to randomly surf onto a whirlpool (and be knocked back), then that's even easier and would work exactly like boulders.

    Doing that kind of confused me. I'll try Nickalooose's method.

    Edit: I made it. I'll post what I did later
     
    Last edited:
    You don't get pushed back, in the new HG/SS, and the animation doesn't like G/S/C, the animation stays with the move. I have done it already I released it awhile ago.

    EDIT:
    Wait I didn't release it, I might if I get some time to look for it.
     
    You don't get pushed back, in the new HG/SS, and the animation doesn't like G/S/C, the animation stays with the move. I have done it already I released it awhile ago.

    EDIT:
    Wait I didn't release it, I might if I get some time to look for it.
    Oh wow. Oh well, I already made it. Now I just need to figure out spinning

    OK, here's HGSS styled Whirlpools! (Well they won't be as big)
    First, in PokemonHiddenMoves, put this piece of code under Cut's code:
    Spoiler:

    Then, in an event called Whirlpool, have it like this
    Spoiler:

    As you see, the Up event is finished so copy one of the other direction conditions change it to force the player up, and in the else section of the conditional branch don't put anything ;)

    Thanks
     
    Last edited:
    That's a nice event, but make the speed level 1 or 2 ;)
     
    Last edited:
    You could greatly simplify that event by just making the player do a number of "1 Step Forward"s instead of figuring out the directions.
     
    Back
    Top