Query: Two battle systems in one game

redcachalot

Villager
Member
Joined
Sep 30, 2015
Messages
18
Reaction score
5
First Language
English
Primarily Uses
RMVXA
Hi,

I’m designing a game that is going to need two battle systems to add variety to the gameplay’s combat.

My Game's Design

I specifically want the YSA Battle System - Classical ATB (CATB ) to work for random encounters and some map-enemy events and the GubiD Tactical Battle System (GTBS) for certain other map-enemy events…

My Problem

Currently I’m having trouble with activating each battle system at correct points in the game.

Once I’ve enabled the GTBS scripts and it is functioning on playtesting, it seems that I cannot enable the the CATB (in fact, when GTBS is enabled, the map sprites of any CATB map-enemy events disappear from the map and Region ID specific random battles do not trigger while playtesting even if the steps average is reduced to 1!)

And, vice versa, if I enable the CATB, then the GTBS doesn’t work.

My Attempted Solution

I enable the CATB by using: Yanfly Engine Ace - Ace Battle Engine v1.22

I do it by by changing:

DEFAULT_BATTLE_SYSTEM = :dtb

To

DEFAULT_BATTLE_SYSTEM = :catb

And the GTBS has the prerequisites of:

Victor Engine - Basic Module and Victor Engine - Damage Popup.

I then realized that I don’t know how to even enable the simple Default Turn Battle System (DTB ) for certain map-enemies/random encounters and the (CATB ) for other map enemies/random encounters in the same game!
Enabling the CATB in the Yanfly Battle Engine Ace causes all random encounters and all map-enemy events to be CATB battles.

The Yanfly Ace Battle Engine v1.22 gives only one option for DEFAULT_BATTLE_SYSTEM, not two.

My Query
Does RMVXA really support ONLY ONE BATTLE SYSTEM PER GAME?

Or is it somehow possible to have TWO BATTLE SYSTEMS inside ONE RMVXA game?

My Request

I request, that, if it is possible, please let me know how to enable at least:

1. the DTB for map-enemy events
2. and the CATB for random encounters
3. and vice versa.

Also, enabling the CATB with the GTBS will be much appreciated.

Thanks.

The Scripts:
DTB: Comes with RMVXA by default
Yanfly Engine Ace - Ace Battle Engine: https://rpgmaker.net/scripts/77/
GTBS: https://forums.rpgmakerweb.com/index.php?threads/gubids-tactical-battle-system-v2-4-for-ace.16085/
CATB: https://yamiworld.wordpress.com/rgss3/battle-scripts/yeas-add-on/ysa-battle-system-classical-active-time-battle/
 
Last edited:

TheoAllen

Self-proclaimed jack of all trades
Veteran
Joined
Mar 16, 2012
Messages
5,299
Reaction score
6,056
First Language
Indonesian
Primarily Uses
RMVXA
Does RMVXA really support ONLY ONE BATTLE SYSTEM PER GAME?

Or is it somehow possible to have TWO BATTLE SYSTEMS inside ONE RMVXA game?
It's not RMVXAce that support it. It's the script that support it. Technically you can own two battle systems in game. It just how the script writer never expect any developer would think to have two battle systems in one game, that each other type of battle system scripts would overwrite the same function, thus make both incompatible

Making two battle systems to work may require understanding how the both scripts works, and make an edit in either script. I'm afraid it's not an easy task to do, as understanding one's battle system is already hard. (even understanding default battle system might be hard enough)
 

Kes

Veteran
Veteran
Joined
Aug 3, 2012
Messages
22,008
Reaction score
11,345
First Language
English
Primarily Uses
RMVXA
[move]RGSSx Script Support[/move]
Would you please edit your opening post to include links to the web pages where you got those scripts. That way if anyone who wants to help needs to check something, they don't have to go hunting around the internet for them.

Thanks.
 

Andar

Veteran
Veteran
Joined
Mar 5, 2013
Messages
30,265
Reaction score
7,141
First Language
German
Primarily Uses
RMMV
The problem here is that most scripts work by overwriting base functions. And in the case of an overwrite it will only be the last overwrite that functions, the previous versions will not exist for the computer even if they are still stored in the script editor.

For two battlescripts to function in a single game, they need to be written independently and connected by some form of branch on a switch.
That is what Yanfly prepared with the configuration you used, but for another battlescript to use that switch it needs to be programmed compatibly to yanfly's structure. At the moment (and to my knowledge) only yanfly's own battlescripts, battle engine symphony and one of Fomar's battlescripts are compatible to that structure.

I don't know if it would be possible to modify the tactical engine in a way to be compatible to yanfly's battlesystem-switch, but a compatibility script for that is the minimum you'll need to make this work.
But that is better as it would be if yanfly hadn't implemented such a switch for his own variants...
 

redcachalot

Villager
Member
Joined
Sep 30, 2015
Messages
18
Reaction score
5
First Language
English
Primarily Uses
RMVXA
Would you please edit your opening post to include links to the web pages where you got those scripts. That way if anyone who wants to help needs to check something, they don't have to go hunting around the internet for them.

Thanks.
Done!

Making two battle systems to work may require understanding how the both scripts works, and make an edit in either script. I'm afraid it's not an easy task to do, as understanding one's battle system is already hard. (even understanding default battle system might be hard enough)
I agree. Understanding one battlescript was very difficult for me. :yswt:
Thank you for showing me that this is a scripting problem!

The problem here is that most scripts work by overwriting base functions. And in the case of an overwrite it will only be the last overwrite that functions, the previous versions will not exist for the computer even if they are still stored in the script editor.
I guess there aren't enough base functions to go around huh?
Thanks for clarifying. :yhappy:
 

Andar

Veteran
Veteran
Joined
Mar 5, 2013
Messages
30,265
Reaction score
7,141
First Language
German
Primarily Uses
RMMV
I guess there aren't enough base functions to go around huh?
You misunderstood what I meant with base function - it has nothing to do with the number of functions.

The engine calls a specific function to start a battle. Because a battle can be started by event or by random encounter, there are several places in the engine that call this function this is what I named the base function.
So if you want a different battlesystem, you need to redirect this specific function from the default battle to whatever other battle you want. Because if you don't redirect this specific function, you would have to add your battlesystem everywhere in the engine where a battle can be started.

If you only overwrite that function, it remains targeted on the last battlescript that overwrites it.
To allow for two or more battlesystems, you would have to overwrite it with a selection function that then redirect to the different battlesystems depending on when you want to call which one, and none of the different battlescripts must overwrite any of the existing functions because that would interfere with each other.
 

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Profile Posts

Karen: Hi, I have a condition that prevents me from wearing a mask. :)

Employee: Can you tell me what it is?

Karen: >:(
Feeling a little overwhelmed... There are so many things to do.
- Building a simple website for portfolio
- Setup *******
- Manage social media
There are so many things inside of these tasks :(
Meet the cute little ghost, FhooFhoo. :kaopride:
If anyone here is looking for another high-potential RPGMaker game--besides She Dreams Elsewhere--be sure to follow Lawmage Academy. Good social media presence will take that game far.
Lol, I was about to write a small tutorial and realized it would belong to the MZ section ....that does not exist yet.

Forum statistics

Threads
99,574
Messages
966,819
Members
131,231
Latest member
Bektos
Top