CP's Battle Engine

Discussion in 'RGSS3 Scripts (RMVX Ace)' started by Neon Black, Sep 12, 2012.

  1. Neon Black

    Neon Black The Classy Prostitute Member

    Messages:
    1,149
    Likes Received:
    365
    Location:
    Eastern US
    First Language:
    Sarcasm
    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.
    [​IMG]

    Mode 2 displays faces in a window at the bottom of the screen. This uses many of the default windows.
    [​IMG]

    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.
    [​IMG]

    Mode 4 is like mode 3 but uses the actor faces instead of battlers.
    [​IMG]

    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.
    [​IMG]

    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.
    [​IMG]

    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.
    [​IMG]

    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.
    [​IMG]

    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.
    [​IMG]
    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.

    [​IMG]
    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:
    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.
    [​IMG]
    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.
     
    Last edited by a moderator: Feb 8, 2013
    #1
  2. ディーノス

    ディーノス Make a new destiny! Veteran

    Messages:
    187
    Likes Received:
    19
    Location:
    Indonesia
    First Language:
    Indonesian
    can this script compatible with tankentai script?
     
    #2
  3. Neon Black

    Neon Black The Classy Prostitute Member

    Messages:
    1,149
    Likes Received:
    365
    Location:
    Eastern US
    First Language:
    Sarcasm
    Is there an Ace version of tankentai I don't know about?
     
    #3
  4. Tsukihime

    Tsukihime Veteran Veteran

    Messages:
    8,230
    Likes Received:
    3,031
    Location:
    Toronto
    First Language:
    English
    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?
     
    Last edited by a moderator: Sep 12, 2012
    #4
  5. Neon Black

    Neon Black The Classy Prostitute Member

    Messages:
    1,149
    Likes Received:
    365
    Location:
    Eastern US
    First Language:
    Sarcasm
    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.
     
    Last edited by a moderator: Sep 12, 2012
    #5
    Dark Lord likes this.
  6. ディーノス

    ディーノス Make a new destiny! Veteran

    Messages:
    187
    Likes Received:
    19
    Location:
    Indonesia
    First Language:
    Indonesian
    @neon

    here's the demo of tankentai RMVXA...

    can u compatible it?
     
    Last edited by a moderator: Sep 14, 2012
    #6
  7. Neon Black

    Neon Black The Classy Prostitute Member

    Messages:
    1,149
    Likes Received:
    365
    Location:
    Eastern US
    First Language:
    Sarcasm
    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....
     
    #7
  8. ディーノス

    ディーノス Make a new destiny! Veteran

    Messages:
    187
    Likes Received:
    19
    Location:
    Indonesia
    First Language:
    Indonesian
    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
     
    Last edited by a moderator: Sep 13, 2012
    #8
  9. Xypher

    Xypher Veteran Veteran

    Messages:
    148
    Likes Received:
    24
    Looks epic. 1 question though.

    What does CP stand for.
     
    #9
  10. Neon Black

    Neon Black The Classy Prostitute Member

    Messages:
    1,149
    Likes Received:
    365
    Location:
    Eastern US
    First Language:
    Sarcasm
    Unfortunately, I probably won't be making these compatible anytime soon. Sorry.

    Thanks! And CP is my name.
     
    #10
  11. Sonic The Hedgehog

    Sonic The Hedgehog Villager Member

    Messages:
    5
    Likes Received:
    0
    First Language:
    Arabic
    Great! this looks like some thing new and having the abbility to change how battles look like is good addition :)
     
    #11
  12. Swish

    Swish Veteran Veteran

    Messages:
    37
    Likes Received:
    0
    First Language:
    Polish
    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.
     
    Last edited by a moderator: Sep 17, 2012
    #12
  13. Neon Black

    Neon Black The Classy Prostitute Member

    Messages:
    1,149
    Likes Received:
    365
    Location:
    Eastern US
    First Language:
    Sarcasm
    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?
     
    #13
  14. Swish

    Swish Veteran Veteran

    Messages:
    37
    Likes Received:
    0
    First Language:
    Polish
    No matter if I use your victory script or default one, it's still the same. I'm using 4th mode.
     
    #14
  15. Neon Black

    Neon Black The Classy Prostitute Member

    Messages:
    1,149
    Likes Received:
    365
    Location:
    Eastern US
    First Language:
    Sarcasm
    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.
     
    #15
  16. Swish

    Swish Veteran Veteran

    Messages:
    37
    Likes Received:
    0
    First Language:
    Polish
    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.
     
    Last edited by a moderator: Sep 17, 2012
    #16
  17. earthboundfanboy121

    earthboundfanboy121 Villager Member

    Messages:
    6
    Likes Received:
    0
    First Language:
    English
    Does this work with ace tankentai?
     
    #17
  18. Acetonide

    Acetonide Event Coordinator Veteran

    Messages:
    660
    Likes Received:
    30
    Location:
    My Imagination, Michigan, USA
    First Language:
    English
    Primarily Uses:
    N/A
    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.
     
    #18
  19. Neon Black

    Neon Black The Classy Prostitute Member

    Messages:
    1,149
    Likes Received:
    365
    Location:
    Eastern US
    First Language:
    Sarcasm
    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).
     
    Last edited by a moderator: Oct 17, 2012
    #19
    Acetonide likes this.
  20. Neon Black

    Neon Black The Classy Prostitute Member

    Messages:
    1,149
    Likes Received:
    365
    Location:
    Eastern US
    First Language:
    Sarcasm
    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.
     
    #20
    Acetonide likes this.

Share This Page