The Let's Play Archive

Vampires Dawn II

by TheMcD

Part 50: Behind The Fangs, Part XI - RPG Maker Basics: Battle Calculations

Behind The Fangs, Part XI - RPG Maker Basics: Battle Calculations

♪ BGM: Dusk

Hey, so this is just going to be a text-only intermission update about battle calculations. Basically, this is a part I think I partially covered in my LP of VD1, but let's go over this entire thing in one clean shot so we have it centralized, because the calculations that go on during battle are anything but intuitive. This will be largely cribbed from the help file, because it does display it fairly well, with my own additions coming at times. So, let's start with some baselines quoted from the help file.

- The attacking character is designated as A, and the defending character (the one being attacked) is designated as B.
- Success or failure of certain things are determined by a random number.
- When using an attack with attributes assigned to it, damage fluctuation and effectiveness are separately calculated.

Seems fairly straight forward. Now, let's move on to Normal Attack Damage. What happens when I use Valnar to attack an enemy with the regular "Attack" command? Well, this is what is calculated:

Normal Attack Damage: Damage (HP decrease value) = (Attack power of A / 2) - (Defense power of B / 4)

- The actual damage fluctuates between 80%-120% of this value.
- In the event of a "Critical Hit", damage is multiplied by 3.
- When B defends, the damage taken is reduced to 1/4.

So what does this tell us? For one, when it comes to damage, the numbers are everything. If you can crank your Attack high enough and resistances don't get in the way, you can murderize everything, because Attack factors into the calculation more than Defense does. So when you have a stat boosting spell like we did in VD1 that can raise your Attack to 999, you can pound enemies into the dust. Crits only help if you're actually doing damage, but if you are, hoo boy. Also, defending of course depends on whether the "Mighty Guard" option is enabled.

Next, let's do Normal Attack Hit Ratio. When you attack, what's the chance of you hitting?

Normal Attack Hit Ratio: Hit ratio (%) = 100 - (100 - hit ratio % of A's equipped weapon) * (1 + (agility of B / agility of A - 1) / 2)

- When "Ignore Monster Evasion" is checked, the hit rate becomes the basic hit rate of the weapon.
- Hit ratio can change according to afflicted conditions.
- When B is afflicted with a condition that prevents action in battle, hit rate is automatically taken to be 100%.

So what does this tell us? Well, if a weapon has a 100% hit rate set, that means that the basic hit rate will always be 100% due to the way the calculation is made. If your agility is equal to your target, then the hit rate will come out to the weapon's hit rate (in VD2, this is either 95%, or 100% if you have a weapon with the "accurate" modifier). Furthermore, I'm pretty sure the hit rate calculation changed from RPG Maker 2000, because I recall that there used to be a ton of situations where the enemies would just be unhittable due to their agility. But that doesn't seem to be the case here with this calculation - like, if you have 50 Agility and are attacking somebody with 999 Agility, you're still at like about a 50% hit rate. Of course, like it says, conditions like Blind can still really fuck up your day.

Next stop, Skill Damage. So this applies to skills, spells, whatnot.

Skill Damage: Damage = Base Damage + (Attack power of A / 20 * Attack influence of skill) + (Defense of B / 40 * Intelligence Influence of skill)

- For each point of variance, damage fluctuation will be ±5% more, up to a total of ±50%.
- When [Ignore Defense] is checked, the damage algorithm is as below.
- - - (Defense power of B / 40 * Attack influence of skill) + (Intelligence of B / 80 * Intelligence influence of skill)
- When B defends, the damage taken is reduced to 1/4.
- Skills that cancel the death condition will heal a % of HP instead of an absolute value if no other options are checked. (If the value is 100 or more, the character will revive with 100% of their HP.)

Just... don't look at it. Don't try to comprehend it. Skill damage calculations are completely and utterly fucked. Ignore Defense is completely and utterly fucked, and doesn't ignore defense at all. Intelligence is basically worthless. Nothing makes sense, and trying to make sense of it is absolute folly. Something has gone absolutely wrong here, and nobody seems to have noticed it until it was too late.

Instead, let's look at something simpler - Success Rate Of Skills. This basically governs the hit chance for status effects on skills, so stuff like stats dropping or conditions being inflicted.

Success Rate Of Skills: Success Ratio (%) = Success Rate

- For a skill with multiple effects, each is checked separate to see if it fails or not.
- When an attack that reduces HP or MP fails, all other effects and conditions of it are ignored.

This should all be fairly straightforward, since you set it manually. Of course, we also have resistances and shit coming in to spoil the party.

Finally, we have one more thing to check out: Escape Success Ratio. I think you can imagine what that is for.

Escape Success Ratio: Escape success (%) = (1.5 * (Average agility of party / average agility of monster group) * 100

- For example, if the average agility of the party and monster group is the same, escape success ratio is 50%.
- Every time an escape fails, 10% is added to the escape success ratio.
- If a pre-emptive attack is made, escape success ratio will be 100%.

Note that I've also gone and checked Marlex's claim that if you escape from an enemy but get attacked by them again in a certain amount of time, escape will be impossible, and as far as I can tell, it's complete nonsense. There is nothing in the code that facilitates that. I haven't explicitly tested it yet, but there is no reason for me to believe that it does work like that.

And that's your lot for the different battle calculations! Next time on Behind The Fangs, we'll be back to the wonderful world of event commands.