A custom turn based battle system!

  • McBick
  • 10/22/2020 08:32 AM
This plugin will replace/modify the default rm2k3 battle system to a custom battle system in the style of the Dragon Quest series. Before using this plugin please read ALL of the instructions at the bottom to prevent any crashes.

Change Log:
- I fixed a game breaking bug and some smaller bugs. The message window will always appear at the bottom of the screen during battle now. I added weapon effects to basic attacks; ignore evasion, attack twice, and attack all(only supports non-global animations) are now functional. The miss sound now always plays in sync with the damage displayed. The damage displayed is now better synced. The "Attack" skill now always uses 10 atk influence, 0 effect rating, 100 success rate, and ignore def off. The "Critical Attack" skill now always uses the battler's current ATK for effect rating, 100 success rate, and ignore def on. Both skills still calculates evasion and buffs/debuffs.

- I fixed 2 game breaking bugs from v1.1. The status windows now load properly when using heroes with a database id higher than 4. I have fully implemented the attack all weapon effect. Attacking multiple enemies at once now calculates damage for each monster hit. I implemented the increased evasion from equipment effect, adds the condition resistance to base evasion rate. I also implemented the crit bonus from weapons effect, adds the crit bonus directly to base critical rate. The first 4 animations in the database shall now be used for normal attack, critical attack, normal attack miss, and critical attack miss. Basic attacks will now always use the correct damage algorithm: Basic Attack = (ATK/2)-(DEF/4), Critical Attack = ATK(ignore def on). The "Attack" and "Critical Attack" skill now have fixed parameters that over ride the ones set in the database in order to have consistency with future implementations of physical skills. Vastly reduced the likely hood of dealing 0 damage instead of the typical miss or 1 damage result.

- I fixed a bug from 1.2 that would cause skills to attack instead. I also removed a debug function that shouldn't have been in 1.2. Reworked the attack skills, basic attacks should now always use the right damage algorithm.

- This is the final version before v2.0 is released. Basic attacks now inherit all weapon properties, only applies to the weapon in the first weapon slot. The attack skills will now have fixed parameters; decrease hp on, ignore def on, 100 success rate, fixed effect rating, and 0 ATK and INT influence. Weapons that attack twice will now deal 25% less damage for each attack, for a total of 150% damage dealt. Weapons that attack all enemies will now deal 10% less damage after each enemy hit, even if miss. Skills that increase/decrease the Physical Damage attribute will now work during battle, evasion/critical rate does not. All equipment effects are fully implemented in battle now. The always attack first effect will allow the equipped hero to always go first in the battle round. The prevent critical hits effect will reduce any critical attacks to 0 damage when applied. The increased evasion effect will directly increases the evasion rate by the condition resistance of the equipped item, does not require a condition to be selected. The ignore evasion effect will skip evasion calculation. Fixed a bug which would crash the game when selecting a skill if the hero had not learned any skills. Fixed a bug that didn't handle multi-attacks correctly. Fixed various other bugs, this should now be the most stable version.

New battle layout for giving commands and status windows!

Each battler will take a turn based on the order of their agility until every character has taken a turn, at which point the turn order will cycle through again. Changing agility values during battle will change the turn order that same round. Future versions will allow battlers to have multiple turns in a row. Unfortunately due to the limitations of rm2k3's battle system, each hero must be confirmed before inputting their commands at the start of their turns. The face graphics you see are actually battler sprites and not face graphics! This means they are animated. The ideal size for battlers is 16x16, but up to 32x32 should work without issues, just make sure they are centered properly in the sprite sheet.

New targeting system for monsters!

Monsters should be placed from left to right in ascending order in the monster groups, so it is intuitive which monster you are selecting.

Revamped windows and cursor memory!

Now when targeting a hero or monster with a skill or item, you will have a new info window that gives additional info. When targeting heroes with skills/items you will now see their names, hp, mp, and current stats(including any increases or decreases) and the currently selected skill/item's info. As for monsters, when targeting them with skills/items you will see the skill/item selected and their effect rating and success rate.

In addition to new windows there is now cursor memory! Now when choosing a skill/item the cursor will automatically remember the spot it was on the last time you opened the skill/item menu. Also new is the implement of skill/item pages! There is no more scrolling to skills/items now, instead replaced with pages. You can access these pages by pressing 1 to 9 for pages 1 to 9. Each page consists of 8 skills. After page 9 there are no shortcuts to any higher pages, so you will still have to manually move the cursor down. The maximum number of pages that can exist are 99, which is 792 skills!

Now when a hero or monster uses the attack command, their attack will be replaced by a skill. There will be two skills for normal attacks, shared by monsters and heroes. These two skills represent a normal attack and a critical attack. The first 2 skills in the database will be used for this. There are now attributes used for physical damage, evasion rate, and critical rate. The first 3 attributes in the database will be used for this. If a hero uses a weapon, their weapon animation will be replaced by the weapon's attack animation.



1. Unzip the folders into your project, merging them with any existing folders.

2. Copy the contents of DynRPG.ini into the one in your project. If this file doesn't exist, then copy this file into your project. Please make sure your project has DynRPG installed to utilize this plugin!

3.If you wish to replace the graphics with your own, then go into the DynRPG.ini file and alter the file paths to that of your graphic files or name your graphics with the same name and replace the default ones.

4. Make sure the first 2 skills in the database are designated for the "Attack" and "Critical Attack" skills, respectively! Also designate the first 3 attributes in the database for Physical Damage, Evasion Rate, and Critical Rate, respectively! Finally Designate the first 4 animations in the database for the "Attack" and "Critical Attack" skills, respectively! The names of these skills/attributes/animations does not matter, but take note that the name of the skills will be displayed during battle when a hero or monster uses a basic attack.

5. The "Attack" and "Critical Attack" skills handle themselves. The only thing you need to make sure of is that they both use the Physical Damage attribute. You can name these two skills to what ever you like, but they must be in the correct order in the database. The damage algorithm will be similar to the Dragon Quest series algorithm: Basic Attack = (ATK/2)-(DEF/4), Critical Attack = ATK.

6. The Physical Damage attribute is the damage taken from the Attack and Critical Attack skills, please make sure this is magic type! I recommend setting the C value to 100, this will give you a damage algorithm similar to Dragon Quest. You can alter this value however you like, and even control the amount of physical damage that certain classes or monsters will take by changing the attribute letter.

7. The Evasion Rate attribute can be set to 0-100. This value is the probability of a hero or monster evading basic attacks, ie the attack command. Setting a value beyond 100 will have the same effect as setting it to 100. There is no way to modify this stat during battle, but I might add a method to do so in the future.

8. The Critical Rate attribute is similar to the evasion one and can be set to 0-100. The value set is the chance to trigger the critical attack skill when performing a basic attack. This also can't be modified during battle, but I might add a method to do so in the future.

9 Designate the first 4 animations in the database for the basic attack, critical attack, basic attack(misses), and critical attack(misses), respectively! Set the first two animations to the first two skills in the database, the "Attack" and "Critical Attack" skills. These will be the attack animations for monsters and heroes, not equipped with a weapon. If they are equipped with a weapon then the weapon's battle animation will be used for the attack instead, and in the event of a critical attack the battle animation will be the weapon's battle animation id incremented by one. As a result, for every unique weapon animation you will need to dedicate 4 battle animations in a row in the database for it. If you do not wish to have a unique critical and/or miss animation you can simply use the same animation for all 4 animations in the database id. Keep in mind that because basic attacks are essentially skills now, they will not trigger a miss sound when they miss.

10. Modify the default battle commands to consist of these types in this order: 1. Attack, 2. Skill Subset, 3. Skill Subset, 4. Item, 5. Defend, 6. Escape. The names of these commands do not matter, but the archetypes must be what was mentioned and in that order. You do not need to assign these commands to any heroes or classes, it will be done automatically. The row command will not appear in battle or have an effect in battle. The ATB Wait/Active has no effect in battle either.

11. Finally, set the system 1 and 2 graphics to the ones provided. This isn't necessary, but you will need to create/edit your system graphics to fit the battle system, otherwise there will be graphical oddities in the battle windows.

Demo Project v1.0
This is not the plugin, just a demo to show off the plugin. Please use the plugin download at the bottom for the latest plugin version!

Additional Info:
The arrangement of hero battlers does not matter as they will be realigned during battle. Make sure the hero battlers aren't too large as this can cause graphical issues with the damage displayed. The arrangement of monster battlers is important however. They should be aligned from left to right in ascending order, based on their id number, in the monster groups.

When eventing monsters, please note that having them use the double attack command may cause plugin issues. Also do not use the Attack or Critical Attack skills directly as they will not work properly and will likely deal no damage. Use the attack command instead. Do not combine the attack twice and attack all weapon options. It will likely result in a crash or undesired effects. Enabling combos for the attack command will do nothing.

Dual wielding is not functional and will likely not be implemented in the future. If you dual wield, be aware that only the first weapon will apply equipment effects. The second weapon will apply stats, but not increase the number of attacks.

Now when using a normal attack, you will no longer deal 0 damage. If your attack would result in 0 damage, you will now have a 50-50 chance to deal 1 damage or miss your attack. This allows for damaging monsters with high defense, like metal slime type monsters.

Skills with the Physical Damage attribute will not use the same damage formula as basic attacks or critical when used. In the future, skills with this attribute will act like basic attacks, but with more customization.

Be aware that there may be bugs left still. Due to how vast the battle events are and how fickle the default battle system is, I cannot ensure that I have found every bug. If you don't use any complicated battle events, you should not run into any bugs. If you do run into any please post here and I will fix the bug. To ensure faster fixes please post any battle events you used when the bug happened or send me your project and I will look into it.

*A special thanks to Kazesui for all the help given. Without whom, I would still be struggling to complete this plugin! Many Thanks!


  • 196.3 KB
  • 52
  • 10/22/2021 08:39 AM



Pages: 1
Well, my mind is blown. Great work.
Pages: 1