Hey there guys, Shinyjiggly here!
Did you miss my 2K3 eventing tutorials that were featured in the SNaV?
Well, here’s a double feature for you: Warp items and single character swap items! Warp items
Do you ever feel that you need a quick way for the player to be able to reach far-off areas? This could be a viable answer to your problems then! Here are some examples of some different teleporting items. Note that they all turn on a switch to activate a common event, just like the map from the first article
For a basic one-way teleport item, you only need to have a regular old teleport event set to the map and place of your choice. This is just like the emergency pipe from Super Paper Mario, which teleports the player back to the area with the doors. You could also use this method to take the player to a map of the places that can be teleported to currently. This would be a way to set up the mechanics for HM FLY from the Pokémon games.
But what if the location of the warp needs to change in later parts of the story? Like, if hub town gets destroyed halfway through, you aren’t going to want to take them to the non-destroyed version of that town (unless there is a specific story-related reason of course). There are at least two different ways of going about with this. The first method is a more hard-coded method which involves a bunch of conditional branches to check where the player is in the story to send them to the correct teleport area.
But a much more versatile version of this involves using a command that’s buried somewhere on the 3rd page called “Teleport to target” To use it, you need three variables: x, y, and map ID. You can name the variables anything you want, but just keep in mind that these are the things that you’ll be dealing with. With this, you can effectively change the teleport target anytime you want just by changing the variables. Another benefit is that you can do this as many times as you want, just that you need to have these change points pretty easy to find. Hunting for just a couple of tiny variable changes in a sea of events is not fun! (Well, not fun for me. I don’t know your interests that well to be able to safely say that you wouldn’t be annoyed by losing track of where you changed 2 or 3 variables.)
Now here’s something another thing: how can we create a working version of Farore’s Wind using this method? It’s actually quite easy. If you’ve ever played Ocarina of Time, likely you would know that Farore’s Wind can set a teleport target that can later be teleported to using the same exact spell. First, in the common event that you set up for this item, put a conditional branch that checks if the map ID variable is greater than 0. If it isn’t, make it show a message saying “do you want to set a teleport target here?” with a show choices yes/no right after. In the no, you just need to turn off the common event’s switch. In the yes, you should set the y variable to the hero’s y (it’s one of the options), the x variable to the hero’s x, and the map ID variable to the current map id. After that, do the same thing you did in the “no” choice.
Now if the map ID variable is greater than 0, you should make it show three choices: Set target, teleport, and do nothing. For the teleport option, just do the thing that I explained with the basic variable-controlled teleport item. For set target and do nothing, use the same thing as the yes and no from the other choices.
For a bit more complexity, you could set it so that you could only use it in certain areas (use a switch for this; turn it off when you enter a no teleport zone and turn it back on when you exit it), make it cost MP to use, or even try to make it further emulate Farore’s Wind by automatically having the teleport target move to the entrance that the player entered from of the room when in a dungeon.
This can be a very handy and powerful item to have. Just make sure that before you implement this into your game that you really feel that it needs it and that it wouldn’t take away too much out of the traveling experience or be too inconvenient to use.Character-swap items
Let’s say that you have this party member called “Mr. Blah”. What if you want him to turn into “Superblah” when he eats a tomato? This is another somewhat easy item to make. First of all, set up the basic template for a common event-based item (follow the link at the top of the page for reference).
Note that because a tomato is eatable, this one should actually only have one use instead of unlimited uses. If your swap-item is not supposed to be a consumable, keep it at unlimited. Now in the common event for the Superblah tomato, use a conditional branch to check to see if Mr.Blah is in the party. If he is, remove him and have Superblah join in his place. Also, be careful when removing and adding in party members! If everyone else is dead when you swap out this way, the player will get a game over. You do NOT want to screw the player over with such an oversight.
To prevent this, you can have it so that the tomato is only usable when Mr.Blah isn’t the only one alive in the party. But now, how do you change him back? You could either make a similar item or event to be the tomato’s counterpart, or you could make it so that the tomato can work both ways, checking if Mr. Blah is in the party, and then in the else statement, check if Superblah is in the party, then putting in the instructions for his transformation back into Mr. Blah.
If you followed this correctly, you should now have a working simple char-swap item suitable for transformations.
For further goodies, try making the transformation revert automatically somehow, most likely using a variable and a parallel process. You could also try making the transformation item toggle a character between 3 different forms instead of just 2, checking for the next form in the else statement of the previous one.
The possibilities only end when you allow them to do so.
Now go out there and make something nice!
(Note: please inform me of any inaccuracies, horrible typos, or parts that may need elaboration. Thank you.)