Gw Temp


Tutorial - 'Enhancing The DBS: Part 1' by Guest

An item about RPGMaker 2000 posted on


Not everyone can have a CBS. For those of you, you can have the next best thing by using this tutorial.


Enhancing the DBS - Part I: >999 damage (Limit Breaks)

This is part 1 of my tutorial for newbies, entitled "Enhancing the DBS." For those of you that don't know what the DBS is, it stands for Default Battle System, which is the, um, default battle system in RM2K. This system has certain preset limits, the most annoying of which (to me) are:

-The maximum damage you can inflict in one hit is 999HP
-The maximum HP of any monster is 9,999HP
-Any skills such as scanning a monster have to be coded into each monster party individually.

I sat down and decided I wanted to find away around these limitations. These tutorials start off simple, and move their way up to more advanced concepts, each building off of the previous example/code. When the tutorials are finished, I'll post a demo file that demonstrates all the concepts.

These tutorials are for those who are tired of the standard DBS, but not quite ready to tackle a CBS (Custom Battle System) and want to trim it up a little bit. Instead of just giving you the code from my game, these tutorials go through the basics step by step in order to not only show you HOW it works, but WHY it works, so you can modify and build off of it for your own games!


Part One: Attacks that do >999 damage (Limit Breaks)

At the end of this tutorial you should be able to program a simple limit break that will inflict as much damage as you wish upon a single enemy as long as the enemy is the only monster in the Monster Party.

Things you need to know:
Fork Options
Battle Event Commands

Everyone loves the thought of whipping out an ultimate move and hitting a monster for thousands of points of damage, watching them wilt before your unending OMGWTF might. Unfortunately, most of the limit breaker tutorials I have seen don't show how to get around the 999 damage limit.

There's a reason for this. The only way to program an attack that does 1K+ damage is to do it using the Battle Event editor, in a monster party. Ever wonder why so few RPGs have limit breaks unless they are against a boss? Because every single monster party needs to be set up to handle the limit break code, and each one of THOSE needs to be fine tuned to the specific monsters or number of monsters you have in the party. This can be extremely time consuming and difficult, although later I can show you a shortcut to help with this problem.

To keep things simple, we're going to use the standard setup that RM2K uses when you create a new project.
Step One: Setting up the monster and skill

Open the database, and click on the Monsters tab. Adjust the Demon King's HP to 9500, and delete all his skills. We don't want him to kill you right off the bat!

Now in the Monsters Party tab, delete ALL (Yes, ALL) monster groups from the list on the right, save the Slime on the top of the pile (This is part of the trick that will be concluded at the end of these series of tutorials). Delete the two slimes from the group and replace them with the Demon King.

Now, click on the Skills Tab and create a new skill. We're going to name it "Limit Break" and give it an appropriate explanation. We want to classify it as a switch, and have it set a switch named "Alex Limit Break" on. Choose an appropriate sound effect and use message.

For now, just for testing, go to the Hero tab and give Alex the skill, along with a starting level of 50.

Step Two: Programming the Monster Party

In our single monster party with our single monster, the big bad Demon King, we're going to click on the trigger condition for the first page. The trigger for this event should be the switch "Alex Limit Break" is ON. That's the only trigger we want.

The first command we want to enter is a Change Switch command to turn the "Alex Limit Break" switch OFF. This is to keep the event from looping, only having it run once.

Here comes the most difficult, and fun part. I'll put Psuedocode here to show you what is done, the most simple way you can do an attack with more than 1k damage.

--Turn the "Alex Limit Break" switch OFF
--Change the Enemy HP of the Demon King: Decrease it by any amount you wish. Make sure the Impossible Death box is CHECKED! (There's a translation error in the English version - the monster will only die if this box is checked. Otherwise, the monster's HP will be reduced to 1.

This is the absolute minimum you need to get a limit break attack to work. But this is boring, and shows nothing! And the damage done will be the exact same, every time. Yawn.

Let's embellish it up a bit. You want some sort of variance in the attack so it won't do the same damage every time. This is important; you need to decide what formula you will use to determine just how much damage your limit break will cause. I'll show you the formula my game uses as an example.

My calculations only use one variable named "DamageCalc". I add up my hero's HP, Max MP, Attack, Mind, and Agility to get what I call the base value. I then multiply this by a random number of 1 to 4, and then for more variance, subtract a random number from 1 to 150. This is the variable I then subtract from the monster's HP. You can use your own code here to come up with the final damage value to subtract from the monster's HP. In the final stages of the game at higher levels, the base value could be well over a thousand. And, any spells cast during battle that boost abilities are reflected in this as well.

Here's a more complete example of Psuedocode:

--Turn the "Alex Limit Break" switch OFF
--Set "DamageCalc" to 0 (resetting it)
--{Whatever code you want to use to determine the final value of "DamageCalc"}
--{Whatever visual goodies you want. Have the hero yell out the name of the attack, show a seizure inducing battle animation, ect}
--Change the Enemy HP of the Demon King: Decrease it by the "DamageCalc" variable
--Show a message showing how much damage was inflicted. This is done by typing \V[X] into the message box, where X is the number of the "DamageCalc" value.

That should do it.

Step Three: Testing

Let's go to the Monster Party tab, select our party with the Demon King, and battle test it. Have as many heros as you wish, but make sure Alex is in the party and that he has the Limit Break skill! Test it out! It should work.

In the next part of this tutorial, I'll show you how to add variance to this basic Limit Break skill, giving it a chance of hitting that increases depending on how many turns you want to "charge" it.