by:Super121830 (Original Source)
Did you want to make more than one way to win battles, as games like Shin Magami Tensei, Deus Ex and Undertale did, but you do not know how? Well, there is a way to do it!
In this tutorial, I will teach you how to make an alternative way to win battles other than fighting.
We can make it in two ways: Global victory or individual enemy elimination. These two ways are independent from each other and you do not need to implement both systems.Have in mind that this only works properly in evented battles.
Have in mind that this only works properly in evented battles.
Part 1: Setup the base for both systems.
Step 1: Create a blank animation named Nothing, it needs to last around 15 frames, so the player can read the “Actor stops the battle” message.
Step 2: Create a common event named After battle, this common event will reset everything. Here we will assign all the switches and variables to the system, name them as you want, in this tutorial, I will refer to them as the names showed here.
Part 2: Global alternate victory.
Step 1: Create a blank state, we will call it Nothing, it will not have any messages or effects. We need this state so the “There was no effect on Actor” message will not appear. If your game uses popups or something like that, try to hide the popup for this specific state.
Step 2: Create a common event named Truce, make the common event turn the switch Truce ON.
Step 3: Create the skill, name it as Truce. Set the Scope to User, Occasion to Only in battle and Animation to Nothing. In the Effects box put Add state: Nothing and Call common event: Truce. You may want to put this skill in a unique Skill type so it cannot be sealed, but that is up to you.
Step 4: In the troops tab, create a battle event page for every troop you want the player to stop the battle, set the Condition to Switch: Truce to ON, set Span to Moment. On the contents of the event page, put the Abort battle command, and that’s it!
If you test this out, you may notice that this works exactly like the escape command. Well, yes, it does, maybe we want to put something else, like text, choices and stuff, and we can.
Here are some examples of what we can do with this skill. Remember to ALWAYS set the Truce switch to OFF at the end of the event page.
Example 1: Player needs to answer a question or series of questions to win.
Step 1: Put some text with the question to answer, and add the choices that the player can select.
Step 2: Add Abort battle in the correct choice the player has to select.
Step 3: Want the player to answer to more than one question? No problem, erase the Abort battle command and add more text and choices in the correct answer of the previous question. Do this as many questions you want the player to answer and add Abort battle in the final correct answer.
Example 2: Player needs to answer a series of questions in different turns to win.
Step 1: Create a variable called Truce, add a conditional branch that checks the value of the variable, and make sure to leave the Else branch.
Step 2: In the first question, it must check if the variable Truce is equal to 0.
Step 3: Put text and choices in the conditional branch, and add 1 to the variable Truce when the player selects the right answer.
Step 4: Copy the conditional branch and paste it in the Else branch. Change the condition to check if the variable Truce is equal to 1, change the question and answers and so on. You can do this as many times as you want.
Step 5: In the final correct answer, add Abort battle.
Example 3: Player needs to use another skill to win.
Step 1: Make a common event called Truce ready! which turns the switch Truce ready! ON.
Step 2: Make another skill and add in the Effects box Call common event: Truce ready!
Step 3: Add a conditional branch somewhere in the event page, it must check whether the switch Truce ready! is ON, if it is, Abort battle.
Example 4: Player needs to have a specific item, weapon, armor, equipped or not, to win.
Step 1: Add a conditional branch somewhere in the event page, it must check whether the player has the needed item, weapon or armor with him, if we are talking about a piece of gear, you can make it check if it is equipped or not. If the player fulfills the condition, Abort battle.
Step 2: You can make it check if the player has multiple items, just put conditional branches one inside of another.
Step 3: You can make it check if those items must be checked in different turns with the variable Truce like in the example 2.
Part 3: Individual alternate victory.
Step 1: Create a state called Agreement, put a message when the enemy has the state, so the player identifies the target.
Step 2: Create a common event called Agreement, make the common event turn the switch Agreement ON.
Step 3: Create the skill, name it as Agreement. Set the Scope to One enemy, Occasion to Only in battle and Animation to Nothing. In the Effects box put Add state: Agreement and Call common event: Agreement. You may want to put this skill in a unique Skill type so it cannot be sealed, but that is up to you.
Step 4: In the troops tab, create a battle event page for every troop you want the player to stop the battle, set the Condition to Switch: Agreement to ON, set Span to Moment.
Step 5: On the contents of the event page, put a conditional branch that checks whether the target enemy has the Agreement state, do not add the Else branch.
Step 6: If the troop has just one enemy, add Abort battle.
Step 7: If the troop has more than one enemy, check if all the other enemies are dead, if they are, add Abort battle, else, add Set enemy state: Death.
Example with two enemies:
Example with three enemies:
Step 8: set the switch Agreement to OFF at the end of the page.
After this, put the steps to make the agreement before Abort battle, refer to the examples in the part 1.
There are infinite ways to make the enemy stop the battle, if an actor or enemy has a specific state, if an actor has a piece of gear equipped, if the enemy has less than a percentage of HP and so on.
Remember, the skill works on troops that have a battle event page like these.
The Truce skill is fully functional, now we have to make it work in the map.
Step 1: In the Battle processing command, check the box Can escape.
Step 2: In the If escape branch, you need to put conditional branches in the If escape branch that checks if the switches Truce and/or Agreement are ON. This way, if you stopped the fight, rewards and stuff, if you escape, nothing happens. Put all the content you want, text, rewards and such for stopping the battle and at the end, call the common event After battle.
If you do not have a skill or item that lets your party actually escape from battle, you do not need to put a conditional branch in the If escape branch. Put the escape content right away.
I hope this helps you to create an alternative battle victory for your game.