Gw Temp

Menu

Tutorial - 'Auto-Life Tutorial' by AzureFenrir

An item about RPGMaker 2000 posted on

Blurb

An intermediate-level tutorial that unveils the secrets of making an Final Fantasy-style Auto-Life spell.

Body

Auto-Life Tutorial (RM2K3)


Hello, world! AzureFenrir is now back and writing more RM2K tutorials! I shall take over the world now! MWAHAHAHAHA!

Oh wait, darn. Anyway,

THINGS THAT YOU NEED TO KNOW:

Experience With and Knowledge of RM2K Commands
Using and Manipulating Switches
Using and Manipulating Variables
Fork/Branch Statements
Battle Event Commands
Common Events


Auto-life, like Jump, is a FF classic. Just in case if you've never played Final Fantasy before, Auto-Life is a spell that grants you the "Auto Life" status. Whenever someone with "Auto-Life" dies, he/she is automatically revived with a percentage of his/her max HP.

SWITCHES AND VARIABLES:

1 Switch per character - "[HeroName] AutoLife"
1 Switch - "BattleON"
1 Temporary Variable - "HPCalc"


Before we do anything, we obviously need to make an auto-life condition and an auto-life spell. So, go to the condition tab, add an Auto-Life condition, and set all five suspectability vaiables to 100% (auto-Life has a 100% chance of working). ake sure that the condition ends after battle and has no negative effects, and has a very high priority (like 75).

Next, make a new spell that hits One Ally, and make sure that it INFLICTS the Auto-Life condition. Add whatever animation and/or descriptions that you want, and make sure that it doesn't do anything else (like heal the ally).

Believe it or not, you need a COMMON EVENT for this spell. Why? Well, in order for the Auto-Life condition to persist, you must activate a switch for it. Otherwise, no matter how high the priority of Auto-Life is, Death will always override it, and we won't be able to know whether the hero has auto-life or not.

Anyway, add a new common event and add a Conditional Processing (Branch Statement) to it. Set the branch's condition to "If Hero has the Auto-Life condition," and inside it, turn on the "[Hero] AutoLife" switch. Repeat this paragraph for every potential party member that you have.

Now, go to "Monster Groups" and add a page that triggers every 1x turn (Turn Elapsed [1x]) and have it call the common event that you just created earlier.

Yes, that's ALL that you have to put in this event, since it's job is to call the common event every turn so it could effectively detect if auto-life is on for any party member.

What else? Oh, yes. Add another new page and make its condition "Hero [Hero]'s HP is between 0% and 0%." In this page, add two variable operations. The first one should set the variable "HPCalc" to Hero's Max HP, and the second one should divide "HPCalc" by four. this variable will store the amount of HP that Hero recovers if he dies.

After that, remove hero's "Death" condition and have him recover the amount of HP stored in "HPCalc." Add additional pages for every character in your game.

Finally, turn ALL auto-life switches OFF at the end of the battle. To do this, add another page that runs on Turn 0, and have it turn on the "Battle" switch. Then, add a common event and have it trigger when Battle is ON. Inside the Common Event, turn off all of the Auto-Life switches, and set "Battle" to OFF.

Your page should look like:

Page #1:
Trigger: Turn Elapsed [0]
<>Switch Operation: [0001: Battle] ON
<>

Page #2:
Trigger: Turn Elapsed [1x]
<>Call Common Event: Detect Auto-Life
<>

Page #3:
Trigger: Hero [Hero]'s HP between [0]
<>Variable Oper:[0003:HPCalc] Set, Hero Max HP
<>Variable Oper:[0003:HPCalc] /, 4
<>Change Cond: Hero Death Remove
<>Change HP: Hero's HP V[0003] Recovered
<>

Page #4:
Trigger: Hero [Hero2]'s HP between [0]
<>Variable Oper:[0003:HPCalc] Set, Hero2 Max HP
<>Variable Oper:[0003:HPCalc] /, 4
<>Change Cond: Hero2 Death Remove
<>Change HP: Hero2's HP V[0003] Recovered
<>

...

Page #n+3
Trigger: Hero [Heron]'s HP between [0]
<>Variable Oper:[0003:HPCalc] Set, Heron Max HP
<>Variable Oper:[0003:HPCalc] /, 4
<>Change Cond: Heron Death Remove
<>Change HP: Heron's HP V[0003] Recovered
<>

Common Event: Detect Auto-Life
Trigger: Call
<>Branch: Hero AutoLife Condition
    Switch Operation: [0002:Hero Auto-Life] ON
 <>
: End
<>Branch: Hero2 AutoLife Condition
    Switch Operation: [0003:Hero2 Auto-Life] ON
 <>
: End
...
<>Branch: Heron AutoLife Condition
    Switch Operation: [0003:Heron Auto-Life] ON
 <>
: End


PROBLEM: Making Auto-Life Continue the Battle

the biggest problem with making an Auto-Life spell is Battle Continuation. Let's imagine that a character with auto-life is the last surviving member/only member of the party. Let's assume that Super Dragon Ver. 2 casts a Super Fire Breath spell, which does 1000 damage to the Auto-Life character and kills him. In Final Fantasy, the character would revive and continue the battle, but this is RM2K, not FF.

Unfortunately, reviving the character and continuing the battle is almost impossible without a CBS, as "Party Defeat" precedes ALL battle events. This means that you cannot quickly resurrect the character before the battle ends, which means that the game will be over.

there is a very difficult and clumsy workaround to this problem, though. What you have to do is use variables to keep a running tally of everything in the battle (in other words, record the total amount of damage done to monsters and the monster group #). Then, add a Death Handler and have it check whetther any Auto-Life switches are ON. If any of the switches are on, then revive all Auto-Lifed members, and then restart the battle using the saved battle number. Make sure to remove the appropriate # of HP from all monsters!


Insert Witty Conclusion Here.