TSR_SideStairs by The Northern Frog

TSR

The Northern Frog
Veteran
Joined
Nov 14, 2019
Messages
260
Reaction score
222
First Language
French
Primarily Uses
RMMV
Capture d’écran 2020-08-17 à 21.09.05.png
download:
TSR_SideStairs
Author: TSR, The Northern Frog

Use either map terrain tag or region Id to mark tiles on which the characters will move diagonally.​
This way you can create side stairways of any height.​
These tiles are meant to form diagonal stretches that are only accesible from their extremities.​
Refer to Plugin's instructions.​
Code:
* =========================================================================================
 * == About this Plugin ====================================================================
 * =========================================================================================
 * Use map terrain tag or region Id to mark special tiles on which the
 * characters will move diagonally. This way, you can make side stairways
 * of any heights.
 *
 * When on these tiles, the characters can move normally, but can't go up
 * or down, while right and left moves are converted into diagonal moves.
 * This means characters can stop mid stairs, turn up and down, go back
 * the other way around, or dash while ascending/descending the stairs.
 *
 * NPCs and events will also behave this way when on side stairs. You
 * don't have to put diagonal moves in your event move route commands
 * to make them ascend/descend the side stairs. An event that is on
 * a side stairway tiles and have a 'move right' commmand, will move
 * diagonally accordingly. Events that are set to move at random will
 * also move diagonally if their movement bring them on a side stairway.
 *
 *
 * How to use
 * =========================================================================================
 * You only need one marker (either a map region Id or a terrain tag) for   
 * all your side stairs. The marker works for stairs of both sides, that
 * is stairs that descend from left to right, and stairs that descend from
 * right to left.
 *
 * Parameters
 * ==========
 *   
 *    -Side Stairway ID Type
 *        Scroll between 'tag' and 'region Id' to select your side
 *        stairs Id type.
 *
 *    -Side Stairway Tag
 *        If you choosed to use terrain tag, this parameter set the
 *        terrain tag value that will be used to mark side stairways.
 *
 *    -Side Stairway Region
 *        If you choosed to use map region Id, this parameter set the
 *        region Id that will be used to mark side stairways.
 *
 *
 * Mechanics
 * =========
 * Side stairway tiles are meant to form diagonal pathways of 2 or more tiles,
 * that serves to connect 2 floors of different height on your game maps.
 *
 *     Example:
 *
 *          Bellow, 3 side stairway marked tiles (ST) are used to connect
 *          the floor area to a 2 tiles height roof top area.         
 *     
 *              ---------------------
 *              |              |     |
 *              |  Roof top    | ST  |
 *              |    area      |----- -----
 *              |              |     |     |           
 *              |              |     | ST  |
 *              ----------------      ----- -----
 *                                         |     |      Floor area
 *                                         |  ST |
 *                                          -----
 *
 * Side stairway tiles can only be walked in and out from both extremities
 * of the diagonal stretch. In the previous example, this means the stairs
 * can only be accessed from the left or right ST; you can't enter or leave
 * the stairway from the middle ST.
 *
 * Side stairway tiles cannot be accessed by a vertical move. The Plugin will
 * prevent any 'move up' or 'move down' that would bring the character either
 * in or out of a side stairway tile.
 *
 * In other words, side stairway diagonal pathways can only be accessed by a
 * lateral move in or out of their extremities tiles. But this lateral move
 * has to be in the "direction of the stairway" after the extremity tile.
 *
 *     Example:
 *        Taking the same example as previously, the stairway would only be
 *        accessible by a 'move right' from the Roof top area into the left
 *        ST, or a 'move left' from the floor area into the right ST.**
 *     
 *              ---------------------
 *              |            <===>   |  <=//=  Can't move in/out from here
 *              |  Roof top    |     |
 *              |    area      |----- -----
 *              |              |     |     |           
 *              |              |     |     |
 *              ----------------      ----- -----
 *                                         |   <===>     Floor area
 *     Can't move in/out from here  =//=>  |     |
 *                                          -----
 *
 *      **In this particular case, the right ST is considered as
 *        the 'Downstairs' tile (the lowest tile of the stairway).
 *        The 'Downstairs' tile is the only ST that can be moved 
 *        in and out by vertical moves. See bellow.
 *
 *
 * Downstairs, upstairs and midstairs
 * ==================================
 * Characters movement behavior will change depending of their relative
 * position in the stairway. There's 3 disctincts positions in a side
 * stairway:
 *
 *   -Downstairs
 *       The lowest extremity tile. You can move in and out of this tile
 *       by its upper and bottom sides, and its lateral side opposite to
 *       the stairway. A character on this tile that go toward the lateral
 *       side of the stairway will make a diagonal move toward the next
 *       side stairs tile.
 * 
 *   -Upstairs
 *       The highest extremity tile. You can only enter and leave this tile
 *       through its lateral side opposite to the stairway. Moving toward
 *       the other side will make the character move diagonally to the next
 *       side stairs tile.
 *
 *   -Midstairs
 *       Any side stairway tiles in between the 2 extremity tiles. You can't
 *       enter these tiles from outside of the stairway. A character can only
 *       move in and out of these tiles by a diagonal movement coming from or
 *       going to, another side stairs tiles.
 *
 *
 * Bellow is a few diagrams of the stairs positions and accessibility, with
 * different side stairs tiles arrangement.
 *
 * Legend:
 *        A: Side of a tile that can be accessed
 *           in and out by normal move.
 *        D: represent the diagonal moves that
 *           links the stairs tiles together.
 *
 *       
 *       3 tiles right side stairway          --------------
 *       ===========================          |            |
 *                                            | UPSTAIRS   A
 *                                            |            |
 *                               ------------ D ------------
 *                               |            |
 *                               |  MIDSTAIRS |
 *                               |            |
 *                  ------ A --- D ------------
 *                  |            |
 *                  A DOWNSTAIRS |
 *                  |            |
 *                  ------ A -----
 *
 *       When standing on the downstairs tile, a right move will make
 *       the character move diagonally toward the midstairs tile. On
 *       the midstairs tile, moving right will do an up-right diagonal
 *       move, and moving left will diagonally move the character on
 *       the downstairs tile. The stairway can only be accessed from 3
 *       side on the downstairs tile and the right side of the upstairs
 *       tile.
 *
 *
 *       4 tiles left side stairway         
 *       =========================== 
 *
 *       --------------
 *       |            |
 *       A  UPSTAIRS  |
 *       |            |
 *       ------------ D ------------
 *                    |            |
 *                    |  MIDSTAIRS |
 *                    |            |
 *                    ------------ D -----------
 *                                 |           |
 *                                 | MIDSTAIRS |
 *                                 |           |
 *                                 ----------- D ---- A -----
 *                                             |            |
 *                                             | DOWNSTAIRS A
 *                                             |            |
 *                                             ------ A -----
 *
 *       This stairway behaves the same way as the precedent, but in the
 *       opposite direction. There's 2 midstairs tiles, but you can put
 *       as many as you want. Or none at all.
 *
 *
 *       2 tiles right side stairway       
 *       ===========================
 *
 *                               --------------
 *                               |            |
 *                               |  UPSTAIRS  A
 *                               |            |
 *                  ------ A --- D ------------
 *                  |            |
 *                  A DOWNSTAIRS |
 *                  |            |
 *                  ------ A -----
 *
 *       A 2 tiles stairway is the shortest side stairways you can make.
 *       Putting a single side stairway tile alone on the map won't do
 *       anything (and its passability will be as normal). While the mid
 *       stairs tiles can be ommited, side stairway always have 2 extre-
 *       mities. But not necessarely both a downstairs AND upstairs tiles.
 *
 *
 *       3 tiles ??? side stairway       
 *       =========================
 *
 *                               --------------
 *                               |            |
 *                               |  MIDSTAIRS |
 *                               |            |
 *                  ------ A --- D ---------- D ---- A -----
 *                  |            |            |            |
 *                  A DOWNSTAIRS |            | DOWNSTAIRS A
 *                  |            |            |            |
 *                  ------ A -----            ------ A -----
 *
 *
 *       Or
 *       ========================
 *
 *                  --------------            --------------
 *                  |            |            |            |
 *                  A  UPSTAIRS  |            |  UPSTAIRS  A
 *                  |            |            |            |
 *                  ----------------------------------------
 *                               |            |
 *                               |  MIDSTAIRS |
 *                               |            |
 *                               --------------
 *
 * As you can see, what's determining if a tile is either Upstairs or
 * Downstairs, is the diagonal direction toward the next side stairs.
 * The only thing that change, wether the extremity tile is upstairs 
 * or downstairs, is the accessibility of the tile.
 *
 * Downstairs have 3 sides accessibility because they're supposed to
 * be on the lower ground. Upstairs tiles can only be accessed by one
 * side because they're supposed to give access to an higher ground.
 * Otherwise, one could go upstairs in one move from the lower ground.
 *
 * Upstairs tiles are supposed to lead to an higher ground and down-
 * stairs tiles are supposed to lead to lower ground. But in fact,
 * both can lead to the same level. You can even make a stairway that
 * goes downstairs to an higher ground on the map..?
 *
 *
 * Note on passability
 * ===================
 * When your side stairway lead to an higher ground, that is move from
 * a floor tile to a roof top tile, or from a roof top tile to another
 * one that is higher (somehow separated by a wall), the first roof top
 * tile on which the upstairs tile lead must be passable. This can be
 * easily acheived in many ways, one of them is to put an empty passable
 * tile over the roof top tile.
 *
 *
 * Straight side stairway?
 * =======================
 * Side stairway tiles are meant for diagonal arrangement. If you put
 * these tiles in an horizontal straight line, all tiles will be con-
 * sidered as 'upstairs', and it will result in creating a 'corridor'
 * that can only be accessed from its extremities.
 *
 * Placing the side stairs tiles in a vertical line have a weird effect
 * since only horizontal moves will be allowed on these tiles.
 *
 *
 * Diagonal patern?
 * ================
 * You can make these by alterning the midstairs up and down. Is this
 * good game making material? Nope.
 *
 * Is this gonna give you a good laugh? Yep!
 *
 *
 *
Player, followers and events can move freely on the side stairways, but can't go up and down; while right and left moves are converted into diagonal moves.
Capture d’écran 2020-08-15 à 14.24.08.png

Place your side stairway marker on the map if you're using region ID
Capture d’écran 2020-08-17 à 00.24.55.png

Or on your tiles sheet if you're using terrain tag
Capture d’écran 2020-08-18 à 20.21.29.png


Accessibility of the side stairway tiles changes depending on their position in the stairway. In the image bellow, the characters cannot acces the higher ground on the left directly from the floor area on the right. They can only access the upper area using the stairway.​
1597839872272.png

Side stairways can only be move in and out from their extremities. The image bellow use region Id to represent the passability of the side stairway tiles of the previous example.
*The tile with region Id 11 is a roof top tile that have to be 'passable'
1597839878654.png

Although side stairway tiles are meant to form diagonal pathways, you can also make weird paterns like in this demo:

Code:
 * =========================================================================================
 * == Terms of usage =======================================================================
 * =========================================================================================
 * Use in any independant RPG Maker MV projects, including commercials.
 *
 * Credit is required for using this Plugin.
 * For crediting, use 'TSR' along with one of
 * the following terms:
 *      'The Northern Frog' or 'A frog from the north'
 *
 * Do not change the Header or the Terms of usage.
 *
 * Editing of the script is allowed, but it won't relieve from crediting
 * obligations. Remember that changing the name of functions and variables,
 * or even manually retyping the entire script, doesn't make you the author
 * of the Plugin.
 *
 * DO NOT REDISTRIBUTE!
 * If you want to share it, share the link to my itchi.io account:
 * https://the-northern-frog.itch.io/
 *
 *
Regards,
TSR, The Northern Frog
 

Attachments

TSR

The Northern Frog
Veteran
Joined
Nov 14, 2019
Messages
260
Reaction score
222
First Language
French
Primarily Uses
RMMV
Hello, all!
New update TSR_SideStairs v1.0.1

Superpose stairways of different directions to create vertical staircases.
Capture d’écran 2020-08-26 à 07.36.49.png

See it in action in demo bellow, followed by a long 'stairway to heaven' over parallax:

Regards. :rock-right:
 

TSR

The Northern Frog
Veteran
Joined
Nov 14, 2019
Messages
260
Reaction score
222
First Language
French
Primarily Uses
RMMV
New update!

A small compatibility patch, mostly for my next coming up Plugin.

B) :rock-right:
 

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Posts

Latest Profile Posts

Dama wrote on akoniti's profile.
Hi
Thanks for your review.
I was checking the trailer for details and as the woman shut the door at the exact moment the song I was hearing said "you slim the door" and I couldn't resist to add it there. :D And I used this idea one more time on another scene.
Just doing some tileset tinkering again...
rux
Someone please help me make my game.
I need someone to volunteer, I am on my knees man.
I made my own pizza. First critique, more chicken next time.
My pumpkin! Anyone like Fallout?

It's not terrible, but could be better. This thing took me over an hour to carve. :kaophew:

Forum statistics

Threads
104,690
Messages
1,008,141
Members
136,181
Latest member
julrcz
Top