• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • 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.

Sprite Behaviours and Movement Values

5,256
Posts
16
Years
  • Sprite Behaviours and Movement Values

    mJWoDSs.gif

    Have you ever wondered what the Movement field on Person events in Advance Map controls, or what value to enter there? Or maybe you were curious about the Movement types that are labelled ???. This document hopes to answer these questions.

    NOTE This document is written for Advance Map 1.9.2, not 1.9.5, and FireRed ROMs. 1.9.2 is the most stable edition and so everything in this document refers to it.

    The labels for each movement type in Advance Map are not entirely accurate, and some are completely empty. The list below is taken from Advance Map's INI file.

    Spoiler:

    Titles like "Run up, right, left and down" are rather ambiguous and don't describe exactly what is happening.

    In actuality, "Run up, right, left and down" is a movement that looks like this:

    g6dmEd7.gif

    The Person event is on the circular path in A-Map

    As you can see, the Person event moves up, then right, and then simply goes back to the beginning. This means that the "left" movement will always be the same as the "right" movement and the "down" movement will always be the same as the "up" movement.

    But...how do we change how far the Person event moves? Can we make it so it moves, for example, six tiles up and two tiles right (and back)?

    Yes we can, with the Movement field in Advance Map.

    In the .gif above, the Person event's settings looks like this:

    M4TEced.png

    The Movement field has a value of 55. But what does that mean?

    Well, the first value determines how far along the Y axis the Person event will move, and the second value determines how far along the X axis the Person event will move.

    Simply put, the value is like so: YX

    So, a value of 55 would make the Person event move up 5 tiles, and then right 5 tiles (and then the opposite) when it has the Movement type of "Run up, right, left and down".

    Going back to our example of moving six tiles up and two tiles right, the value we'll use is 62.

    Hq8mCUk.png

    Does it work?

    bSxKdPG.gif

    Yes!

    NOTE The YX value is in hexadecimal. That means that if you want to, for example, move the Person event up ten tiles and across fifteen tiles, the YX value would be AF. This also means that it is not possible for the Person event to move more that fifteen tiles in any direction.

    Some of the labels for the movement types in Advance Map are inaccurate for FireRed, or just wrong.

    The spoiler below is an edited version of the list above with more accurate labels.

    Spoiler:

    Movement Type 11 has been renamed to "Broken" as it can make the player control an NPC with this Movement Type after battles or viewing the bag, and it appears to perform no useful function (that is not, at least, performed by other Movement Types).

    Movement Types 29 through to 44 have been reworded to more accurately describe how the Person event will move and what you will actually be able to control (i.e the directions written out instead of just implied in "and back").

    Movement Types 53 through to 56 have been reworded to be more descriptive as to how the Person event will mirror / copy the Player's movements.

    For clarification on using Movement Type 57 and Movement Type 58, the collapsing of the Tree and Rock walls is controlled by the trainerbattle command, and so scripts without the trainerbattle command will still execute, but without the Wall will collapsing. These Movement Types are functional in FireRed, despite being a feature exclusive to R/S/E, although the Rock Wall's palette is glitched.

    Movement Type 63 has been changed from "Hidden" to "Hidden in Ash Pile". This Movement Type is applied to the Ninja Boys in Route 113 in R/S/E and makes the Trainer "pop" out of the earth when the player comes within the View Radius. To ensure this works, check the Trainer field and enter a value of 1 in the View Radius field.

    Movement Types 77, 78, 79 and 80 were wrong in the original INI list, at least in the context of FireRed ROMs. Movement Type 77 makes the Person event behave like this:
    Spoiler:

    Movement Type 78 makes the Person event behave like this:
    Spoiler:

    Movement Type 79 makes the Person event behave like this:
    Spoiler:

    Movement Type 80 appears to behave identically to Movement Type 2, and just makes the Person event walk around with no pre-determined path.

    If you want to use this updated list instead of the default list, open "English.txt" file in the INI/Sprachen folder of your Advance Map directory. Find "[Bewegung]", and then replace the list with the new text. Alternatively, download the updated English.txt file linked below, and replace the original file with it.

    English.txt updated file.

    But, what if, say, you want to make a Person event initially Look Up in a map, but then Walk Around after a certain variable is set?

    That's where scripting comes in, with the spritebehave command.

    mkd2mKD.png

    Now, as we can see from XSE's auto-syntax feature, the parameters needed for this command is the Person number and the Behaviour number.

    Simply put, we put the Person event's number (Person event no) and the Movement Type in.

    2bBFoZC.png

    So if we want to change Person event number 3's Movement Type to Walk Around, we'd write it out like this:

    qJkDQ0m.png

    NOTE Both the Person event number and the Movement Type numbers in Advance Map are in decimal, so if you include 0x, you will have to convert it to hexadecimal.

    All you would have to do then is include a variable check that would do the above command once the variable is set to a certain value, and put it into a level script (03 or 05).

    The change would only take place after you reload the map and it will only work in a level script.
     
    Last edited:
    Back
    Top