Final Fantasy Mystic Quest Battlefield System Tutorial (RM2K3)

Final Fantasy Mystic Quest Battlefield System Tutorial (RM2K3)

Version: 1.5
Author: Companion Wulf
Type: Tutorial/Demo
Platform: RM2K3
Format: 7z/EXE
Filesize: 979 Kb
This tutorial teaches how to set up a multi battle system similar to the one used in Final Fantasy Mystic Quest, where you can clear out certain areas (represented by crossed swords in the game). It’s a simple method that can easily be adapted for your game.

For convenience, the demo can be downloaded for quicker installation and study. This is a complete project, including the RTP, so you can extract it directly into your RM2K3 Projects folder.

Knowledge Base

  • Common Events
  • Switches
  • Variables


Set up 3 Variables: Randomize, Num Battles and Battles Left. In this example, the variables are assigned to 1, 2 and 3 respectively.

Common Events

We will only need one Common Event for this (set up in the Database). Let’s call it "Battle Check" and set its "Trigger" to "None" so we can call it when we need it.

In the "Events Conditions":

  • Create a Conditional Branch (with an Else Handler) to check if the variable "Battles Left" is set to zero.
  • Under the Conditional Branch, create a message stating that the monsters have been cleared out.
  • Change the Switch "Cleared Out 1" to ON.
  • Then, under the Else Handler, create another message to display how many battles are remaining. We do this by adding the variable switch, V[x], where x is the number of the "Battles Left" variable (in this case set to 3).
Final Fantasy Mystic Quest Tutorial Fig. 1 (RM2K3)
Final Fantasy Mystic Quest Tutorial Fig. 1 – RM2K3

The Map

On the map (where you’d like the multi battles) to take place, we’ll need to create several events. For this tutorial we’ll only use one battlefield event, but you can modify it for more than one battlefield event.


Inn Event

The first is called "Inn" for this tutorial. This is so that you can save or restore HP in between battles. Set the "Trigger" to "Player Touch" and the "Priority" to "Below Characters".

  • Create a message saying, "What would you like to do?" or something similar.
  • Show Choices, with the options set as "Restore", "Save" and "Exit".
  • Under the "Restore" handler, set the screen tone to all zeroes with a wait time of 0.3s, fully heal, create a message that all HP and MP have been restored, and set the screen tone back to normal with a wait time of 0.3s.
  • Under the "Save Handler", open the Save Menu.
  • For the "Exit Handler", just leave blank.
Final Fantasy Mystic Quest Tutorial Fig. 2 - RM2K3
Final Fantasy Mystic Quest Tutorial Fig. 2 – RM2K3

Battle Event

The next event is a two-page event named "Battle 1" (or something else to your liking), which is where the battles will take place until the monsters are cleared out. Set the "Trigger" condition to "Player Touch" and the "Priority" to "Below Characters".

Page 1Page 2
Final Fantasy Mystic Quest Tutorial Fig. 3a - RM2K3
Final Fantasy Mystic Quest Tutorial Fig. 3a – RM2K3
  • Set "Graphic" to something appropriate to indicate the battle location. For this example, I used the skull graphic from "Tileset2".
  • Change the variable "Randomize" to a random number between 1 and 3.
  • Next we will create 3 conditional branches, each with a different number from 1 through 3. This is to make random monster parties. For this tutorial, we'll use the default Monster Groups: Grassland 1, Forest 1 and Desert 1.
  • In the first Conditional Branch (based on the variable "Randomize" being set to the "same" as 1) start a combat with Grassland 1 being set, with the "If Defeated" handler set to "Conditional Branch".
  • Under the "If Won" condition, set the variable "Battles Left" to subtract 1, then call "Battle Check".
  • Under the "If Defeated" condition, set a message to display the final score, using the V commands for the values stored in the "Battles Fought" and "Battles Left" variables. Also create a "Game Over" command here.
Final Fantasy Mystic Quest Tutorial Fig. 3b - RM2K3
Final Fantasy Mystic Quest Tutorial Fig. 3b – RM2K3
  • Finally, create a new page and make the "Event Conditions" so that the Switch "Cleared Out 1" is ON. This way, once all the monsters have been defeated there won't be any more.
  • You might also want to change "Graphic" as well to reflect this. I used the rubble one right next to the skull from "Tileset2".

Do the same thing with the other two Conditional Branches, changing the monster party and increasing the value of Randomize each time. The full code should look something like this:

Final Fantasy Mystic Quest Tutorial Fig. 4 - RM2K3
Final Fantasy Mystic Quest Tutorial Fig. 4 – RM2K3

Pre-Define Event

The final event is to pre-define the starting variables.

Make a blank event in one corner with 2 pages.

Page 1Page 2
Set the "Trigger" condition to "Auto".

In the "Event Commands":

  • Change the "Num Battles" variable to "Battle Count" (under"Other").
  • Change the "Battles Left" variable set to 5 (although you can increase or decrease this amount according to your preference).
  • Change the Switch "Battle Setup" to ON.
Final Fantasy Mystic Quest Tutorial Fig. 5 - RM2K3
Final Fantasy Mystic Tutorial Quest Fig. 5 – RM2K3
Change the Switch (under "Conditions") to "Battle Setup" and make sure the "Trigger" condition is set to "Action Button". That way it won’t keep repeating the event.


Since this is only a one multi-battle event, you could easily add more by adding more variables (Battle 2, Battle 3, etc.) and changing the command preferences for each.

Rather than having an autostarting event that predefines the variables, you could make it a "Call Event" intead. That way, you can call it after a victory rather than having to rely on a switch to toggle it on/off. Alternatively, add it to each battle event at the beginning and directly afterwards turn the Battle Setup switch on accordingly.

You could also add a reward after all the monsters have been defeated, such as gold or a "special" item.