Ellye's ATB (also includes CTB option)

DarknessFalls

Rpg Maker Jesus - JS Dev.
Veteran
Joined
Jun 7, 2013
Messages
1,393
Reaction score
210
First Language
English
Cn you make it so that even when the player is deciding the enemies gage is filling and they can attack you. 
 

Mellye

Veteran
Veteran
Joined
Oct 24, 2015
Messages
347
Reaction score
279
First Language
Portuguese
Cn you make it so that even when the player is deciding the enemies gage is filling and they can attack you. 
It's on my to do list, but it will probably be the last feature to be implemented, and likely as a separate plugin - full active ATB mode completely breaks the standard way battle flow works on RM and might have considerable compatibility issues with almost anything battle related.
 

DarknessFalls

Rpg Maker Jesus - JS Dev.
Veteran
Joined
Jun 7, 2013
Messages
1,393
Reaction score
210
First Language
English
sadface, this seems like it would be easy to do, the game seems to pause when its your turn, so I would just listen for the atb to fill on the enemy and then force the enemy to do an action regardless of what the player is doing.
 

firelad

Veteran
Veteran
Joined
Nov 14, 2012
Messages
60
Reaction score
12
First Language
English
Primarily Uses
RMMV
May I point out that motion animations (step forward and default cast motion) aren't working as intended? For example:

When an actor is ready for commands, he/she will step forward. When it ends, he/she didn't step backwards, he/she just stays in the place until he/she performed the action. He/She should step back when done issuing commands and step forward again when it's his/her turn to perform an action.

The default cast motion defaults all skills to this motion, regardless of the type of skill. I should suggest a parameter for the default skill motion to a skill type ID, otherwise defaults to cast motion. It also should be separated by a comma if there are more than one ID someone will like to use. Also, if skill has no skill type, it should default to skill motion. So this way when using "Attack" or other physical skills aren't using cast motion and also that's the reason why I said this is because Attack skill is using cast motion when it is defined with a note tag <cast_time:x>.
 
Last edited by a moderator:

Mellye

Veteran
Veteran
Joined
Oct 24, 2015
Messages
347
Reaction score
279
First Language
Portuguese
When an actor is ready for commands, he/she will step forward. When it ends, he/she didn't step backwards, he/she just stays in the place until he/she performed the action. He/She should step back when done issuing commands and step forward again when it's his/her turn to perform an action.
Are you with the lastest version? I think I fixed the actor not stepping backwards. Unless the bug still happens in some situations, maybe together with some plugins?

Edit: Just tested, and it indeed did not work properly - if used together with Yanfly's.

Made a compatibility change that should get it working together with it now.

The default cast motion defaults all skills to this motion, regardless of the type of skill. I should suggest a parameter for the default skill motion to a skill type ID, otherwise defaults to cast motion. It also should be separated by a comma if there are more than one ID someone will like to use. Also, if skill has no skill type, it should default to skill motion. So this way when using "Attack" or other physical skills aren't using cast motion and also that's the reason why I said this is because Attack skill is using cast motion when it is defined with a note tag <cast_time:x>.
If I understand you correclty, I also already have those covered currently.

There's a default_cast_motion parameter, and each skill can have their own <cast_motion:> notetag (use <cast_motion:wait> for no special motion).
 
Last edited by a moderator:

firelad

Veteran
Veteran
Joined
Nov 14, 2012
Messages
60
Reaction score
12
First Language
English
Primarily Uses
RMMV
Are you with the lastest version? I think I fixed the actor not stepping backwards. Unless the bug still happens in some situations, maybe together with some plugins?

Edit: Just tested, and it indeed did not work properly - if used together with Yanfly's.

Made a compatibility change that should get it working together with it now.
OK, thanks I'll update.

If I understand you correclty, I also already have those covered currently.

There's a default_cast_motion parameter, and each skill can have their own <cast_motion:> notetag (use <cast_motion:wait> for no special motion).
Oh, didn't notice. Thanks!
 

Mellye

Veteran
Veteran
Joined
Oct 24, 2015
Messages
347
Reaction score
279
First Language
Portuguese
See if that solves the stepping back issue. And thanks for reporting!
 

firelad

Veteran
Veteran
Joined
Nov 14, 2012
Messages
60
Reaction score
12
First Language
English
Primarily Uses
RMMV
See if that solves the stepping back issue. And thanks for reporting!
The new update fixed it. Thanks for the update! And no problem!

I found another issue: after an actor performs an action, the motion stays in the place until an enemy attacks. Is this normal?
 

Mellye

Veteran
Veteran
Joined
Oct 24, 2015
Messages
347
Reaction score
279
First Language
Portuguese
I found another issue: after an actor performs an action, the motion stays in the place until an enemy attacks. Is this normal?
It's a known issue, I'm hoping to get it fixed together with a few other changes this weekend.
 

Mellye

Veteran
Veteran
Joined
Oct 24, 2015
Messages
347
Reaction score
279
First Language
Portuguese
I've uploaded the cast delay system, if anyone want to help me test if it's working properly.

It's controlled by a mix of global parameters and per-skill Notes.

The parameters:

Maximum Delay Percent controls the maximum that a skill can be delayed, by a % of its normal cast time. It defaults to 100.

This means that a skill with a cast time of 30000 can be delayed for up to 30000 more.

Default Delay the default amount, also as a % of the normal casting time, that a skill gets delayed when the character gets hit by something that can delay. It defaults to 10.

This means that if you're casting something with a cast time of 30000 and gets hit by something that delays, you'll be set back by 3000.

Delayable by Default if set to 1, this makes all skills delayable by default, without the need to manually set them to delayable. You can select some to still be not delayable via note tags, see below.

Delays by Default if set to 1, this makes all skills able to delay by default (only when they hit an enemy of the caster; healing and supporting skill still won't delay by default, for example).

The notes you can set per skill are:

<delayable>
Will mark a skill as delayable, regardless of default settings.

<not_delayable>
Will mark a skill as not delayable, regardless of default settings.

<delays>
Will make a skill apply delay regardless of default settings. If no <delay_amount> is specified, it will use the default delay amount. Will also delay even if it targets ally (by default this doesn't happen)

<delay_amount:NUMBER>
The amount (a % of the total cast time) of delay to be applied. For example, 25 means that it will bring the casting bar down by 25% of its maximum value. If you set to 0, no delay will be applied (in case you're using Delays by Default parameter). You could potentially use negative values too.
 
Last edited by a moderator:

firelad

Veteran
Veteran
Joined
Nov 14, 2012
Messages
60
Reaction score
12
First Language
English
Primarily Uses
RMMV
I've uploaded the delay system, if anyone want to help me test if it's working properly.

It's controlled by a mix of global parameters and per-skill Notes.
I'm not sure what this meant, but I'll test them out. Can you explain exactly what these are for?

EDIT: I see no differences when using them.
 
Last edited by a moderator:

Mellye

Veteran
Veteran
Joined
Oct 24, 2015
Messages
347
Reaction score
279
First Language
Portuguese
I'm not sure what this meant, but I'll test them out. Can you explain exactly what these are for?

EDIT: I see no differences when using them.
Oh, I wrote all that up and forgot to write the basic part.

It's for delaying Casting Time. Similar to <interrupt>, but instead of breaking the cast bar it delays it.

So you can set a skill (say, Fireball), to have:

<cast_time:50000><delayable>
And either set basic attack  to <delays> or just leave Delays by Default on, and each basic attack would delay the casting of Fireball a little bit.
 

Nohmaan

Veteran
Veteran
Joined
Jul 7, 2012
Messages
180
Reaction score
49
First Language
English
Is it possible to redo the formula for ATB?  When I tried editing it in the .js file the ATB bar disappeared strangely so I'm not sure if I just typed something in wrong.  But lets say the formula desired is 

75 + ((Math.pow(a.agi, 0.5)*10)

Is there a way to make that work?
 

Mellye

Veteran
Veteran
Joined
Oct 24, 2015
Messages
347
Reaction score
279
First Language
Portuguese
Updates:

 * 2015-11-14-2144: Added the <start_atb:NUMBER> note-tag feature. Can be used on actor, class, equip and enemy to set a starting amount of ATB.

 * 2015-11-14-2004: Can now select which parameter to use for casting, instead of it being fixed on Agi. There's a global parameter, and the note <cast_param:>.

-----------

Is it possible to redo the formula for ATB?  When I tried editing it in the .js file the ATB bar disappeared strangely so I'm not sure if I just typed something in wrong.  But lets say the formula desired is 

75 + ((Math.pow(a.agi, 0.5)*10)

Is there a way to make that work?
For now, I don't expose that as a parameter, but you can change it directly in the JavaScript if you really want to.

Look for:

CalculateATBRate = function(agi) {        return (base_atb_increase + agi * (agi_weight / 100));    };(Line 1279 in the current version)

The "agi" parameter here is passed from other functions (and in some situations isn't agi at all, but instead turn timer or cast rate). For your formula, you should set your Base Fill parameter to 75 and swap that middle line for:

return base_atb_increase + Math.pow(agi, 0.5) * 10;I'll see about exposing this to parameters for advanced users later on.
 
Last edited by a moderator:

firelad

Veteran
Veteran
Joined
Nov 14, 2012
Messages
60
Reaction score
12
First Language
English
Primarily Uses
RMMV
Forgot to mention this issue: whenever I turn on enemy gauges, it does not show up. Might be issues with Yanlfy's or Bobstah's?
 

Mellye

Veteran
Veteran
Joined
Oct 24, 2015
Messages
347
Reaction score
279
First Language
Portuguese
Forgot to mention this issue: whenever I turn on enemy gauges, it does not show up. Might be issues with Yanlfy's or Bobstah's?
With Yanfly's I just tested and seems to be working properly (with my plugin below Yanfly's in the list), I'll take a look with Bobstah's.

Thanks for reporting!
 

firelad

Veteran
Veteran
Joined
Nov 14, 2012
Messages
60
Reaction score
12
First Language
English
Primarily Uses
RMMV
With Yanfly's I just tested and seems to be working properly (with my plugin below Yanfly's in the list), I'll take a look with Bobstah's.

Thanks for reporting!
OK, dumbfounded. Your plugin works with both Yanfly's and Bobstah's. I found an issue, I placed your plugin above Animated SV Enemies and that happens. So I placed it below. It works now!

EDIT: It seems that the gauge is sized according to the sprite. It will appear small on small sprites. I'll like a configurable width of the gauge.
 
Last edited by a moderator:

Mellye

Veteran
Veteran
Joined
Oct 24, 2015
Messages
347
Reaction score
279
First Language
Portuguese
EDIT: It seems that the gauge is sized according to the sprite. It will appear small on small sprites. I'll like a configurable width of the gauge.
Makes sense, I might add it as a note tag so you can select it per enemy if needed (to adjust for the ones that need adjustment), plus an optional global value in parameters.
 

killerfer

Veteran
Veteran
Joined
Nov 4, 2015
Messages
198
Reaction score
50
First Language
Portuguese
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.
 

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 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)
 
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