Battle Basics: Difference between revisions
Line 29: | Line 29: | ||
*;Defense between 0 and 100 | *;Defense between 0 and 100 | ||
: | :<nowiki>damagePercentage = -0.5 + (150 / (100 + defenderDef))</nowiki> | ||
:This yields the following curve: | :This yields the following curve: | ||
Line 37: | Line 37: | ||
*;Defense higher than 100 | *;Defense higher than 100 | ||
: | :<nowiki>damagePercentage = 0.15 - ((4 - 0.02 * defenderDef) / (20 - 0.4 * defenderDef))</nowiki> | ||
:This yields the following curve: | :This yields the following curve: |
Revision as of 14:33, 6 August 2024
High-level summary
- When you first start playing the game, you will be able to create up to 3 characters for your party. They can be individually selected for a Hunt/Dungeon/PvP battle.
- Assign your status points and equip your weapon and armor before you start fighting. A free dagger and body armor is provided when you create your character. Description for each stats will be displayed when you click on the stats icon or refer to the Attributes page in this wiki.
- If you have the Runic Battle Codex, create and set battle scripts that control each character's behavior by clicking on the sword and gear icon in the menu. There you can pick and choose which skills and behaviors your characters will take using filters and triggers, as well as choosing which position in the battlefield that character will take for that script. Remember to only set the skills available to your class in the script or your character will idle in that step. There is a default script available for each initial class, and if you don't have the Battle Codex yet the game will have a default behavior set for each class.
- Some mobs drops consumables such as meat scraps. If your party just got wiped out and you don't want to spend time/zeny resting in the inn, you can try eating some food to bring you up to a decent shape and start battling in Capital 1 for your healer to heal up the entire party.
Damage Calculation
Reasoning for the chosen system
To defeat your foes, as is traditional in RPGs, you will need to reduce their HP value to 0.
To do this, you will need to damage them in some way.
The damage a normal attack or skill deals to a target depends on both the attacker's Atk power as well as the defender's Def toughness.
To calculate the final damage, we use the characters attributes called P.Atk & P.Def (P. stands for Physical), and M.Atk & M.Def (M. stands for Magical). On rare occasions, skills use both Physical and Magical attributes, but in general, normal attacks and physical weapons like swords and bows use Physical Atk & Def, and magical skills like Elemental Bolt or Magic Darts use Magical Atk & Def to calculate the final output.
However, unlike certain games, the calculation we use is definitely not a simple subtraction of one's Def from the other's Atk. As RPGs normally tend to scale not linearly, such formulas are not well suited for games that have long term progression and an indefinite amount of expansions, as a simple subtraction means Defense would have to keep scaling forever, as well as Attack, the stronger the characters and their foes get.
So a decoupled approach works best, where increasing Defense means having a percentage of the attacker's Attack power mitigated, without the numbers being directly compared or subtracted. But how to turn Defense into % damage reduction? Simply using the number directly brings us another problem: 100 is a hard ceiling, and it would mean achieving 100 Defense has to be impossible, otherwise that character is impervious to damage.
That brings us to a type of formula that many MOBAs use, as well as some MMOs, an inverse multiplicative of the DEF. Something in the likes of A + B/(C + DEF). A very famous one is just 100/(100 + DEF), where damage is x1.0 when DEF is 0, x0.5 when DEF is 100, x0.333... when DEF is 300, and so on.
Having our old system in mind, where 50 DEF was already a respectable amount, and wanting to retain 50 as the defense value that mitigated exactly 50% of the damage, we tinkered with the formula a bit to find curves that suited our needs. We needed 2 different ones, one from 0 to 100, and another one that is used for extreme cases where def is higher than 100.
Formulas
So the formulas for the curves are the following:
- Defense between 0 and 100
- damagePercentage = -0.5 + (150 / (100 + defenderDef))
- This yields the following curve:
- Defense higher than 100
- damagePercentage = 0.15 - ((4 - 0.02 * defenderDef) / (20 - 0.4 * defenderDef))
- This yields the following curve:
And here is how both curves connect: