Neon Black

CP's Battle Engine

70 posts in this topic

CP's Battle Engine v1.2b

Created by Neon Black


What is it?
This is my own custom battle engine. I wanted to change how battles looked and one thing led to another and the next thing I knew I had an entire battle system. This battle system has 5 different view modes (which you can actually switch in game!) as well as several little tweaks and bugfixes (and by this I mean a few pretty major tweaks). I'm also going to be creating add-ons for this which hopefully will make it fairly simple to use.

As mentioned, this script has 5 different view types that change how battle are displayed. Here is a list of several of the other changes in no particular order:

  • Bugfix where monster turns were not calculated correctly. Turn order now works properly.
  • Bugfix where monsters would not target each other properly. They now target with a certain degree of AI.
  • Bugfix where animations set to "screen" would be played several overlayed at once. Now only one will display, but it will affect all monsters.
  • Tweak adding an animation array all animations will display as soon as they are called and complete regardless of other animations playing.
  • Tweak to substitution where party members (actors and enemies) will not cover for attacks from their own party, including heals.
  • Tweak to counter attacks where the affected character will use their default attack skill to counter. If the skill affects a party member, it will always target the user (ie, a heal or buff skill). If the skill targets random enemies, every attack will strike the attacker. If the skill hits the entire enemy party it will only affect the attacker.
  • Some window sizes and locations were changed in certain modes.
  • Added auto-battle, rush, and defend options to the party menu. Auto battle allows each member to select their skills automatically, rush causes all members to use their normal attack on the first enemy (random target and all target skills work normally), and defend just causes all party members to defend.
  • Added party command to the party menu which allows the player to switch an active party member for a reserve party member.
  • Added a system to allow each party member or class to have unique commands. See the next section to learn how to set these up.
  • Added casting animations for items and skills.
  • Changed the help window to allow it to be open during the entire selection sequence. Subsequently added a hash that allows you to set the help text for submenus.
  • Numerous other bugfixes and tweaks.

How can I use it?
Place this script above main and below materials. This script has a whole slew of settings to change it's appearance and it's use and to modify quite a few different aspects of battle. Here I will just go over the notebox tags that can be used and will leave the config options to the header.

Monster Tags

  • attack[x] - Sets the monster's normal attack animation to animation "x" in the database. If a skill is set to "normal attack" for it's animation, this battle animation is used.
  • attack skill[x] - Sets the monster's default attack skill to skill "x". This is in case the monster gets confused or berserked, etc.
  • defend skill[x] - Sets the monster's default defend skill to skill "x". This is technically useless.

Actor/Class Tags - Note that actor tags take priority when both are present on an actor

  • battler[name] - Sets the actor's battler image to file "name" from the Graphics/Battlers folder. This only takes effect in mode 3.
  • attack skill[x] - Sets the actor's attack skill to skill "x". Used when the player selects the attack command, when the character is berserk/confused, or when the player selects the "rush" command.
  • defend skill[x] - Pretty much the same as attack, only with the defend skill.
  • hide mp -and/or- hide tp - Allow the amount of MP or TP a character has to be hidden in battle.

Monster and Actor/Class Tags

  • <flying> - Causes the tagged entity's sprite to bob up and down similar to how checking the "flying" option on monsters in RPG Maker 2k3 works.
  • <transparent> - Causes the tagged entity's sprite to become partially transparent similar to how checking the "transparent" option on monster in RPG Maker 2k and 2k3 works.
  • <mirror> - Flips the tagged entity's sprite horizontally.

Skill Tags

  • cast anim[x] - Sets the skills casting animation to animation "x". Takes priority over skill set casting animations.

Weapon Tags

  • attack skill[x] - Sets the basic attack skill of the actor equipped with the weapon to the skill with ID "x". This takes priority over Class and Actor tags.

Actor/Class Command Tags:


These can be set up in the notebox and allow you to modify what command an actor has. You do NOT NEED to set these up in order for actors to have commands as there is a portion of the script where you can set the default commands. This system allows you to set skills as commands that can be used instantly rather than needing to select them from a submenu. To do so, set up the notebox with something like the following pattern:
<commands>:attack:defend:skillName => 10:item:party</commands>
  • <commands>, </commands> - These tags specify the beginning and end points of the complete command list. They are required for custom commands to work on a character or class.
  • :attack - The default attack skill. Will use whatever skill is set to the character's main attack.
  • :defend - The default defend skill. Same as above.
  • :skill - The character's skill submenus. They all get added here in their normal order.
  • Name => 10 - A command skill. You can set up as many of these as you like as long as they follow a similar format. "Name" can be changed to the name you want the command to display. "10" can be changed to the ID of any skill in the database.
  • :item - The item submenu.
  • :party - Adds a command that allows the actor to be switched with a reserve member in battle.

 

What does it look like?


Mode 1 is made to just look like the default battle system.
eK9XW.png

Mode 2 displays faces in a window at the bottom of the screen. This uses many of the default windows.
OY8bj.png

Mode 3 is the reason I made this battle system. It displays battlers for the characters. This image also shows how the party command menu is moved.
NMteE.png

Mode 4 is like mode 3 but uses the actor faces instead of battlers.
DtjHI.png

The actor command window displays over the currently selected actor in modes 3 and 4. It also has a partially transparent menu back. The opacity can be changed in the config.
VLGf5.png

The size of the enemy selection is also changed in this mode. It displays up to 3 enemies across and will get taller if there are more enemies.
OO900.png

The actor selection dialogue, however, goes as high up as it can without covering other windows. Also notice how the the battlers are highlighted in this and the last picture.
kfCMM.png

And as seen in this and the last picture, the size of the item and skill selection windows will change based on the number of items. In modes 3 and 4 it will stop at 8, but in modes 1 and 2 it will fill the screen like normally if possible.
k5wdk.png

As of version 1.1, view mode 5 has been added. This new view mode replicates the battle system of RPG Makers 2000 and VX. This includes such things as using the bottom window to display battle info and opening skill and item windows in the bottom window.
HGdgE.png

 

A demonstration of quite a few different things.  This shows how the built in simple sideview mode works as well as showing transparent and mirrored sprites.  It also shows how hidden pools (mp/tp) are handled in respect to the default windows.

yBQ2e.png



What does it work with?
Well obviously this will not work with other battle systems. I can't say for sure it will or won't work with certain add-ons, though it's most likely it won't work with VISUAL add-ons. Other add-ons should work fine. I do plan to make add-ons for this to support different battle styles and I welcome any compatible add-ons.

This script is NOT compatible with Tankentai, nor do I plan to make it compatible.

Current house set compatible scripts:
Battle Pop-ups
Grade Victory Screen
Passive Skills
Scan Enemy
Scrolling States
Skill Costs and Requirements


Other known compatible scripts:
-None submitted yet!-

How can I get the script?
Version 1.2b (base script, 1.14.2013) is available from my pastebin account here.

I would like to use this code.
80x15.png
This work is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
Permissions beyond the scope of this license may be available at http://cphouseset.wo...d-terms-of-use/.

Author's Disclaimer:
I made this script originally because I had liked how battles were displayed in RPG Maker XP and wanted a similar system for Ace. In the end I decided to add a few different visual styles to give the user some customization options. I kept adding things to give more customization as well as upgrading things I felt like Ace could have done better. I think the end result is pretty nicely put together and gives the user a lot more useful options to choose from.

As mentioned I will be creating add-ons for this script (I plan to add animated battlers, sideview, ATB, and charge turn add-ons at least). If you have any battle add-ons that are compatible that you would like me to mention above, feel free to ask. Credits go to Archeia and Penta for the battlers in the mode 3 screenshots. As always, enjoy. Edited by Neon Black

Share this post


Link to post
Share on other sites

can this script compatible with tankentai script?

Share this post


Link to post
Share on other sites

Is there an Ace version of tankentai I don't know about?

Share this post


Link to post
Share on other sites

I looked at the script and was expecting to see different battle window classes for each mode, but when I traced the battle_style variable I didn't see it really being used. How are you deciding what to draw?

Edited by Tsukihime

Share this post


Link to post
Share on other sites

They all use the same window, they just draw them differently or in different locations. There are actually no new windows and I don't discontinue the use of any windows. For example, look at lines 535-539. While the mode is set to mode 1 (default), the spacing is set to 32 (default). While it's in mode 2, the spacing is removed since I calculate the locations of the data elsewhere. And in modes 3 and 4 it's set to standard_padding times 2 so the spacing is the same between each battler. There are a few reasons I did this, the main one being so add-ons wouldn't need to define each window. This would also (hopefully) increase the chances of older scripts being compatible.

EDIT: Oh, and the variable itself isn't being used because I found it easier to use the method "CP::BATTLERS.style" to determine the current style. So both the constant and the variable are only referenced twice.

Edited by Neon Black
Dark Lord likes this

Share this post


Link to post
Share on other sites

@neon

here's the demo of tankentai RMVXA...

can u compatible it?

Share this post


Link to post
Share on other sites

Nope, I don't believe my script is compatible with Tankentai, nor do I see myself making it compatible any time soon considering there's no rhyme or reason for them to be made compatible. Unless you can tell me WHY you want them to be compatible. Tankentai already has a status window like my mode 2 (I made that mode because it seemed popular). What from my script do you want exactly? Because there were one or two things I was going to mimic in a lightweight form anyway....

Share this post


Link to post
Share on other sites

i'm using yanfly battle system

that mode 2 from yanfly battle system...

delete that yanfly script...

i want this battle system...

because i want that mode 4

Edited by Deenos

Share this post


Link to post
Share on other sites

i'm using yanfly battle system

that mode 2 from yanfly battle system...

delete that yanfly script...

i want this battle system...

because i want that mode 4

Unfortunately, I probably won't be making these compatible anytime soon. Sorry.

Looks epic. 1 question though.

What does CP stand for.

Thanks! And CP is my name.

Share this post


Link to post
Share on other sites

Great! this looks like some thing new and having the abbility to change how battles look like is good addition :)

Share this post


Link to post
Share on other sites

You should update this script with waiting time after final blow. When you deal last hit, victory screen (or when enemy hits you - game over screen) comes before damage is shown. This is little thing, but pretty annoying.

Edited by Swish

Share this post


Link to post
Share on other sites

You should update this script with waiting time after final blow. When you deal last hit, victory screen (or when enemy hits you - game over screen) comes before damage is shown. This is little thing, but pretty annoying.

I can't replicate this error with just the base script in any modes. Are you using my victory or pop-up scripts? And which mode does this happen in?

Share this post


Link to post
Share on other sites

I can't replicate this error with just the base script in any modes. Are you using my victory or pop-up scripts? And which mode does this happen in?

No matter if I use your victory script or default one, it's still the same. I'm using 4th mode.

Share this post


Link to post
Share on other sites

No matter if I use your victory script or default one, it's still the same. I'm using 4th mode.

So the victory screen pops up before the last enemy is defeated? What other scripts are you using? Gonna need to be able to replicate it before I can fix it.

Share this post


Link to post
Share on other sites

So the victory screen pops up before the last enemy is defeated? What other scripts are you using? Gonna need to be able to replicate it before I can fix it.

Victory screen pop ups at the sime time as damage popup over last enemy...

Uhh the problem is with "vitor's skip log" and "Victor's battle popup" scripts compatibility.

Edited by Swish

Share this post


Link to post
Share on other sites

Sorry I can't tell you what the error was specifically, but I left my flash drive at home so I don't have the information with me.

When I was using this script I had animations play on a map (for something like a cut-scene) it gives and error. I have tested it in a blank project with only this script.

Share this post


Link to post
Share on other sites

Sorry I can't tell you what the error was specifically, but I left my flash drive at home so I don't have the information with me.

When I was using this script I had animations play on a map (for something like a cut-scene) it gives and error. I have tested it in a blank project with only this script.

Not unlikely that this happened. I did modify how animations display so they properly show on "dead" actors. I never thought this would cause issues on the map, so I didn't test it. I'll have this issue solved by tomorrow at the latest (assuming I can reproduce it). If you can get me the exact error message before then it will help. Thanks for spotting this.

EDIT: Someone gave me the line the error was on at my blog, so I got it fixed up. It was a 1 line fix as I guessed. Get the latest version from my pastebin (version 1.0a).

Edited by Neon Black
Acetonide likes this

Share this post


Link to post
Share on other sites

Script has been updated from version 1.0a to version 1.1. Here are some of the changes.

View mode 5 has been added. This view mode is meant to look similar to RPG Maker VX and RPG Maker 2000. This includes the info window being used display battle info as well as display the skill and item submenus, certain motions being "less refined" than Ace's, and a few other small things.

Added the "attack skill[x]" tag to weapons. You can now tag a weapon with this and while equipped, the actor's attack skill becomes the skill with ID "x". This takes priority over similar class and actor tags.

Removed compatibility with Foe Info View and Pop-ups version 1.1 and earlier. Battle Pop-ups version 1.2 to function normally. Support for older versions has been discontinued (due to Scan Enemy).

Fixed an issue where skill and item windows counted the wrong number of lines when being drawn shorter than usual.

Numerous other small bug fixes and tweaks.

Acetonide likes this

Share this post


Link to post
Share on other sites

There's a crash error when an actor has the counter attack state applied and counterattacks. It crashes and gives an error at line 1233

Share this post


Link to post
Share on other sites

I tested counter attack pretty thoroughly I thought. Might help to know, are you using any other scripts? And does this problem occur in a blank project. And what does the error say?

Share this post


Link to post
Share on other sites

This is awesome :D When do you think you'll be able to finish the animated battlers? For now it'll do but if you implement that it will be even awesomer! :guffaw::rock-right:

Share this post


Link to post
Share on other sites

Not entirely sure at the moment, but I'm shooting for mid-January.

Share this post


Link to post
Share on other sites

Love this scripting I am beginning to think if I could make money off my games I should Hire ya to be my scripter lol..... btw is there a way to demo your Mod 2 version the one with all the faces at bottom? Wanna see it in action to get an idea how I could apply this and maybe do magic buffs like icons only above them or such.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.