Ellye's ATB (also includes CTB option)

Mellye

Veteran
Veteran
Joined
Oct 24, 2015
Messages
347
Reaction score
279
First Language
Portuguese
I have got an error and it occurs whenever I enter battle, even in a new save file.

(The bit about job-points isnt the problem since it still does this, minus the job points bit, when job points is turned off)

With job-points enabled

SyntaxError: Unexpected end of input    at Game_Actor.Game_Battler.calculateCastRate (file:///C:/Users/David/Documents/Games/Dragonspear/js/plugins/EllyeSimpleATB.js:1978:25)

    at Game_Actor.Game_Battler.resetCast (file:///C:/Users/David/Documents/Games/Dragonspear/js/plugins/EllyeSimpleATB.js:1311:14)

    at Game_Actor.Game_Battler.onBattleStart (file:///C:/Users/David/Documents/Games/Dragonspear/js/plugins/EllyeSimpleATB.js:1343:14)

    at Game_Actor.Game_Battler.onBattleStart (file:///C:/Users/David/Documents/Games/Dragonspear/js/plugins/YEP_JobPoints.js:350:42)

    at file:///C:/Users/David/Documents/Games/Dragonspear/js/rpg_objects.js:4669:16

    at Array.forEach (native)

    at Game_Party.Game_Unit.onBattleStart (file:///C:/Users/David/Documents/Games/Dragonspear/js/rpg_objects.js:4668:20)

    at Function.BattleManager.startBattle (file:///C:/Users/David/Documents/Games/Dragonspear/js/rpg_managers.js:1992:16)

    at Function.BattleManager.startBattle (file:///C:/Users/David/Documents/Games/Dragonspear/js/plugins/EllyeSimpleATB.js:1370:36)

    at Scene_Battle.start (file:///C:/Users/David/Documents/Games/Dragonspear/js/rpg_scenes.js:2032:19)
With job-points disabled

SyntaxError: Unexpected end of input    at Game_Actor.Game_Battler.calculateCastRate (file:///C:/Users/David/Documents/Games/Dragonspear/js/plugins/EllyeSimpleATB.js:1978:25)

    at Game_Actor.Game_Battler.resetCast (file:///C:/Users/David/Documents/Games/Dragonspear/js/plugins/EllyeSimpleATB.js:1311:14)

    at Game_Actor.Game_Battler.onBattleStart (file:///C:/Users/David/Documents/Games/Dragonspear/js/plugins/EllyeSimpleATB.js:1343:14)

    at file:///C:/Users/David/Documents/Games/Dragonspear/js/rpg_objects.js:4669:16

    at Array.forEach (native)

    at Game_Party.Game_Unit.onBattleStart (file:///C:/Users/David/Documents/Games/Dragonspear/js/rpg_objects.js:4668:20)

    at Function.BattleManager.startBattle (file:///C:/Users/David/Documents/Games/Dragonspear/js/rpg_managers.js:1992:16)

    at Function.BattleManager.startBattle (file:///C:/Users/David/Documents/Games/Dragonspear/js/plugins/EllyeSimpleATB.js:1370:36)

    at Scene_Battle.start (file:///C:/Users/David/Documents/Games/Dragonspear/js/rpg_scenes.js:2032:19)

    at Function.SceneManager.updateScene (file:///C:/Users/David/Documents/Games/Dragonspear/js/rpg_managers.js:1668:25)
I'll be able to take a closer look at this in a while, but if you can help me debug:

Is the value of your Default Cast Paramater paramater still the default "agi" or is it something else?

Are you running it via RM or via browser?
 

Ghost of Christmas Kloe

The Icecream Princess
Veteran
Joined
Nov 15, 2015
Messages
1,548
Reaction score
957
First Language
English
Primarily Uses
RMMZ
I'll be able to take a closer look at this in a while, but if you can help me debug:

Is the value of your Default Cast Paramater paramater still the default "agi" or is it something else?

Are you running it via RM or via browser?
My Default Cast Parameter IS the default AGI and I am running it through Rm (using the little green arrow button thing,for testing)

EDIT:

I should also mention it has been fine until I recently updated it to its current version which is the latest as of this post.

Also that the last time i updated was the 13th so it must be something that changed between the versions between 13th and now.
 
Last edited by a moderator:

SuperMasterSword

That Guy You Dont Know
Veteran
Joined
Jun 28, 2014
Messages
117
Reaction score
48
First Language
Javascript
Primarily Uses
RMMV
So I like the delay feature but a feature that I've really been hoping to see that I haven't seen in your ATB or Yanfly's is a delay that just freezes the target's bar for a specified amount of time. For now your new delay basically has the same function while casting, but I would like to have it happen for both casting and normal waiting, if it's not too much to ask. (something like a Time Freeze spell) Thanks in advance if you do plan on implementing this, and this is already an awesome plugin, so thanks again.
 

Mellye

Veteran
Veteran
Joined
Oct 24, 2015
Messages
347
Reaction score
279
First Language
Portuguese
So I like the delay feature but a feature that I've really been hoping to see that I haven't seen in your ATB or Yanfly's is a delay that just freezes the target's bar for a specified amount of time. For now your new delay basically has the same function while casting, but I would like to have it happen for both casting and normal waiting, if it's not too much to ask. (something like a Time Freeze spell) Thanks in advance if you do plan on implementing this, and this is already an awesome plugin, so thanks again.
This is planned. :)

But do keep in mind that currently you can also use "<target_atb:-25000>" to reduce regular ATB, just in case you weren't aware. It's not visually the same as freezing the ATB bar, but it's functionally the same, though it indeed doesn't affect cast.

A few pages ago I made a post explaining how I plan to implement what you're asking here:

We would have three attributes changeable by states (and equipments):

<haste:>

<haste_atb:>

<haste_cast:>

The default value of each of them would be 100 (as in, 100%, normal, speed).

Haste would be the general speed, affecting both atb and cast. The other two would affect only atb or only cast.

I hadn't thought about the idea of having the color gauge change as a notetag. That's a good idea, I might give this option.

Another thing, I'd also have to allow a state tag for something like:

<state_atb_duration:>

To make states with duration based on flat atb amount, instead of turn timer or action end. Those would work much better for "Stop" style effects and such, at least, and I'd recommend using that for almost everything actually. And to further support it, I could also allow the maker to customize a different stat to be used for state duration reduction (so that MDF may reduce the duration of a negative state effect, for example).
(Haste 0 would result in a "Stop" style effect).

-----------------------

My Default Cast Parameter IS the default AGI and I am running it through Rm (using the little green arrow button thing,for testing)

EDIT:

I should also mention it has been fine until I recently updated it to its current version which is the latest as of this post.

Also that the last time i updated was the 13th so it must be something that changed between the versions between 13th and now.
I've been trying to reproduce this bug, but no luck here. I'll send you a PM.
 
Last edited by a moderator:

Razoir

Villager
Member
Joined
Oct 27, 2015
Messages
24
Reaction score
10
First Language
English
Hey ! I just wanted to ask, as i'm probably planning on using ATB for my game, what are the differences between Yanfly's ATB and this one ?

Great work though ! Well done !
 

SuperMasterSword

That Guy You Dont Know
Veteran
Joined
Jun 28, 2014
Messages
117
Reaction score
48
First Language
Javascript
Primarily Uses
RMMV
Sorry, I didn't think to look back through the posts (I read all of them, just not right before posting that) although for the record, I read through the entire help section (and just reread to make sure I didn't miss anything) and I didn't find a single thing about the <haste> tag. Also, (I knew I should have edited it and added this) I wanted it to stop them for a certain amount of ticks, which the default delay would do, but the haste (if I'm understanding it correctly) would freeze them until someone uses a spell to unfreeze them correct? Or do you put it on a state which you set to end? and have you implemented that <state_atb_duration> tag? Because I can't find it in the help either. (In fact all you have on states is how to make it count down by action or virtual turn)

EDIT: Also, one last question, would <target_atb: -25000> reduce both their atb and casting gauge? Or do I put both to make sure it happens in both situations?
 
Last edited by a moderator:

Mellye

Veteran
Veteran
Joined
Oct 24, 2015
Messages
347
Reaction score
279
First Language
Portuguese
Sorry, I didn't think to look back through the posts (I read all of them, just not right before posting that) although for the record, I read through the entire help section (and just reread to make sure I didn't miss anything) and I didn't find a single thing about the <haste> tag. Also, (I knew I should have edited it and added this) I wanted it to stop them for a certain amount of ticks, which the default delay would do, but the haste (if I'm understanding it correctly) would freeze them until someone uses a spell to unfreeze them correct? Or do you put it on a state which you set to end? and have you implemented that <state_atb_duration> tag? Because I can't find it in the help either. (In fact all you have on states is how to make it count down by action or virtual turn)
Oh, the <haste> (and <state_atb_duration>) tag is still just a planned feature. I'll probably implement it this week.

The combination of both would be able to make a nice temporary Stop effect.

Is it just for me or after I cast a magic, the characters continue to stay in the casting animation? I'm using the yanfly plugins.
It stays for a few seconds and then return to the normal position when the next action starts? If so, that's indeed a known issue.
 
Last edited by a moderator:

SuperMasterSword

That Guy You Dont Know
Veteran
Joined
Jun 28, 2014
Messages
117
Reaction score
48
First Language
Javascript
Primarily Uses
RMMV
Oh, ok thanks, I saw that they were planned but given that it was a quote from an old post I wasn't sure if you had implemented them since or not. but thanks for all the replies. This plugin is amazing by the way, so thanks. Definitely going with this over Yanfly's, but don't tell him I said that XD. JK, it doesn't really matter if he knows or not.
 

Mellye

Veteran
Veteran
Joined
Oct 24, 2015
Messages
347
Reaction score
279
First Language
Portuguese
A quick guide on some of the customization options for this plugin:

(Remembering that the plugin still works nicely in a plug-and-play style, everything here is optional)


ATB Ratio:

  • Agility Weight is a percentage modifier to the importance of Agility in the ATB formula. The value is a percentage, the default 100 means 100%. Changing it to 200 would double the effect of Agility, for example.
  • Turn Timer is a concept that determines when a “turn” passes (it can be used for battle event pages, states that end by turn end, enemy behavior, and/or regeneration-style effects). The value of the parameter is basically the “Agility” of the turn, to determine the speed that a turn passes.
  • If the value of Average Turn Timer is set to 1, the value of the above parameter is ignored. Instead, the Turn Timer is calculated at the start of each battle as an average of the Agility of all battlers (actors and enemies) involved.
  • Base Fill Speed is a baseline value added to the fill speed regardless of the agility values. This is important to make agility differences between characters less drastic in  importance.
  • Full ATB Gauge is how much total ATB is needed for filling an entire gauge. Defaults to 50000, reducing this makes the overall battle speed quicker.
For reference, the ATB Rate formula is:

base_fill_speed + agi * agi_weight/100

Starting ATB:

  • The Starting ATB parameter determines how much starting ATB each battler has, based on their Agility and on Agility Weight. The value entered here will be multiplied by Agility and modified by Agility Weight %. For example, with a value of 50 here, each battler starts the battle with 50 * Agility * Agility_Weight/100.
  • The Starting ATB Random Bonus gives a random bonus for each battler between 0 and the value entered here. For example, with a value of 25000 here, each battler can gain up to half of an ATB gauge on battle start, randomly.
  • You can type the tag <start_atb:NUMBER> on Actors, Classes, Equipment or Enemies in the Note Field in the Database to give a bonus starting atb. For example, a piece of armor with <start_atb:25000> will give half a gauge for those that wear it on the start of combat.


How to have a CTB styled (Final Fantasy X) combat:

  • Set Instant ATB to 1.
  • (Optional) reduce Full Gauge a bit, it improves the performance of Instant ATB. 30000, for example.
  • Set Display Gauges to 0.
  • Set Display Predicted Turn Order to 1.
  • (Optional) customize the display settings for turn order, like turning on Faces or changing opacities, etc.
  • Set both Display Enemy Cast and Display Enemy ATB Gauge to 0.


Interacting with the ATB system:

Every skill or consumable item can have the <self_atb:FORMULA> and/or <target_atb:FORMULA> tags in their Note field.
You can fill the FORMULA in the same way that you’d fill a damage formula, with negative results causing ATB loss and positive results causing ATB gain. It’s important that what you type in formula must just result in a number, do not execute any command here or you will run into issues. Examples:

<self_atb:25000>The above results in a “quick” skill, one that makes your next turn comes faster.

<self_atb:-25000>While this one delays your next turn.

<target_atb:25000>
Code:
<target_atb:-10000>
Similarly, each of those would make the target’s next turn come quickier or slower, respectively.

<self_atb:50*a.agi / (1+b.agi/75)>Example of using a mathematical formula and battlers attributes (a stands for self, and b for target, just like in the Formula field).

<self_atb:Math.max(50*a.agi / (1+b.agi/75), 0)>Some JavaScript is fine too, just remember that you should only be returning a number without actually executing any command that affects anything else.


Skills with Casting Time, Interrupts and Delays:

Skills can be set to have Casting Times by giving them the <cast_time:NUMBER> parameter. NUMBER in this case is an ATB value, for example:

<cast_time:25000>Would make a skill have casting time equivalent to half of a normal ATB gauge fill.

Once a character starts to cast, his ATB Gauge (if displayed) will change into a Cast Gauge, with configurable different colors. As soon as the casting starts, a visual effect (Animation from the Database) can be played too. The Default Cast Animation defaults to 0 due to compatibility, but the Animation 52 from the standard database works great for this.
You can also further customize each skill by overriding the Default Cast Animation and Default Cast Motion via <cast_animation:ANIMATION_ID> and <cast_motion:MOTION_TYPE> parameters. Animation_ID is the ID of an animation in the Database; Motion Type can be spell, skill, wait, item, chant, swing, thrust, missile; among a few others.
The default parameter used for casting can also be overridden with, for example, <cast_param:mat> to use MAT instead of AGI for that skill.

A skill can also be set to be Interruptible by using <interruptible>. This means that attacks marked with <interrupts> will break their casting. A VFX effect can be set as a global parameter to be played whenever an interrupt happens – I recommend creating a new Animation with just some simple sound effect and maybe a flash or some “Interrupt!” text.

Besides being interruptible, a skill can also be <delayable>. The cast delay system works in a % of the total cast time. By default, every hostile attack will delay the conjuring of a skill by 10% of its total cast time, up to 100%. All those global defaults are exposed as parameters, including the options of whether every skills should be delayable by default, and whether every attack should delay by default.
You can override each of those default parameters with notetags:

<delayable>, <not_delayable>, <delays>, <delay_amount:NUMBER>More information and tips to come.
 
Last edited by a moderator:

SOC

Be your own hero
Veteran
Joined
Mar 22, 2012
Messages
570
Reaction score
490
First Language
English
Primarily Uses
RMMV
Any updates lately?
 

Mellye

Veteran
Veteran
Joined
Oct 24, 2015
Messages
347
Reaction score
279
First Language
Portuguese
I've been working on the <haste> paramater and some related States stuff. Since it's a bit of a bigger change, I'm waiting to upload it all at once when it's properly usuable.
 
  • Like
Reactions: SOC

Razoir

Villager
Member
Joined
Oct 27, 2015
Messages
24
Reaction score
10
First Language
English
Hey, great work as always, just wanted to ask, do you think of a way it could be adapted into the Grandia timeline ATB system ? Or do you think that would ask to do a new plugin from scratch.

In short, it's like atb except there's one global atb gauge for every actor ( a timeline ) separated into two, wait and cast. But i guess a copypasted text is better than a clumsy explanation :

Although combat in Child of Light is ultimately turn-based, there is a real-time element to it in the form of a horizontal bar shown across the bottom, as seen below, called the Timeline.

The circles represent the entities involved; your party is on top of the timeline, and the enemies are below. The bubbles and lines move from left to right. Once the bubble gets to the line separating “Wait” and “Cast,” that entity chooses its action. The bubble then continues to move to the right and, when it reaches the end of the “Cast” portion, the action will execute.


Full explanation for those interested
 
Last edited by a moderator:

Mellye

Veteran
Veteran
Joined
Oct 24, 2015
Messages
347
Reaction score
279
First Language
Portuguese
I love the Grandia style of interface for ATB; the reason I don't use it is that I like my plugin to be as plug-and-play as possible, with no additional image resource needed or such.

And I can't see that gauge looking good without proper custom-made graphical resources (if, for nothing else, at least for the small faces and icons and such).

I do might release this as a separate module later, it's certainly doable and in fact something I plan to use on my own game too.
 

Razoir

Villager
Member
Joined
Oct 27, 2015
Messages
24
Reaction score
10
First Language
English
I see, thanks for the insight !

Nice to hear you like it too, well, i'll try to do my own version then ! Will be looking forward to the day you'll release yours.
 

Ghost of Christmas Kloe

The Icecream Princess
Veteran
Joined
Nov 15, 2015
Messages
1,548
Reaction score
957
First Language
English
Primarily Uses
RMMZ
I wasn't sure where to post this but when using this with Animated Battlers, it is causing the enemies' cast gauges to not show up when they are casting.

I thought I'd bring this to your attention because Animated Battlers is a popular plugin and therefore, people may be also point this out in the future.
 

Mellye

Veteran
Veteran
Joined
Oct 24, 2015
Messages
347
Reaction score
279
First Language
Portuguese
We would have three attributes changeable by states (and equipments):
<haste:>

<haste_atb:>

<haste_cast:>

The default value of each of them would be 100 (as in, 100%, normal, speed).

Haste would be the general speed, affecting both atb and cast. The other two would affect only atb or only cast.

I hadn't thought about the idea of having the color gauge change as a notetag. That's a good idea, I might give this option.

Another thing, I'd also have to allow a state tag for something like:

<atb_duration:>

To make states with duration based on flat atb amount, instead of turn timer or action end. Those would work much better for "Stop" style effects and such, at least, and I'd recommend using that for almost everything actually. And to further support it, I could also allow the maker to customize a different stat to be used for state duration reduction (so that MDF may reduce the duration of a negative state effect, for example).
This is now implemented (except for the last phrase, for now).

Any help testing it and all feedback is appreciated.

* STATES: * If you want a State to count down per action taken, you set it up as Action End.

 * If you want a State to count down per virtual turn, you set it up as Turn End.

 *

 * Optionally, you can also opt to use neither of those and instead have your state timed by ATB gauge.

 * This might be the optimal design overall for the ATB system, at least for states that directly affect the ATB gauge:

 * To do so, use the following tag:

 * <atb_duration:NUMBER>

 * For example, 150000 would last the normal duration of three turns for that actor (not taking modifiers like haste in consideration).

 * TO BE IMPLEMENTED: Option to have atb_duration independent of the target agi, either using another parameter or just fixed turn timer.
* HASTE: * You can use the note-tags:

 * <haste:NUMBER>

 * <haste_atb:NUMBER>

 * <haste_cast:NUMBER>

 * This is a multiplicative percent change to all speeds, atb-only speed or cast-only speed.

 * A value of "<haste:100>" means no change. A value of "<haste:200>" would mean double speed, for example, while a value of "<haste:50>" would mean half speed.

 * Those tags can be used on Actors, Classes, Equips and Enemies.
 
Last edited by a moderator:

Mellye

Veteran
Veteran
Joined
Oct 24, 2015
Messages
347
Reaction score
279
First Language
Portuguese
Last edited by a moderator:

Ghost of Christmas Kloe

The Icecream Princess
Veteran
Joined
Nov 15, 2015
Messages
1,548
Reaction score
957
First Language
English
Primarily Uses
RMMZ
Last edited by a moderator:

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

Latest Threads

Latest Posts

Latest Profile Posts

Just beat the last of us 2 last night and starting jedi: fallen order right now, both use unreal engine & when I say i knew 80% of jedi's buttons right away because they were the same buttons as TLOU2 its ridiculous, even the same narrow hallway crawl and barely-made-it jump they do. Unreal Engine is just big budget RPG Maker the way they make games nearly identical at its core lol.
Can someone recommend some fun story-heavy RPGs to me? Coming up with good gameplay is a nightmare! I was thinking of making some gameplay platforming-based, but that doesn't work well in RPG form*. I also was thinking of removing battles, but that would be too much like OneShot. I don't even know how to make good puzzles!
one bad plugin combo later and one of my followers is moonwalking off the screen on his own... I didn't even more yet on the new map lol.
time for a new avatar :)

Forum statistics

Threads
106,018
Messages
1,018,358
Members
137,803
Latest member
andrewcole
Top