Dark_Ansem

Veteran
Veteran
Joined
Jun 16, 2020
Messages
540
Reaction score
131
First Language
English
Primarily Uses
RMMZ
Hi all, so, I'm trying to do a Time Stop skill (you know, ala D&D) but I'm having trouble getting it to work how I want with the non-standard battle systems and I am positive it can be optimised to work better. I'm also trying to make it work for non-standard battle systems, such as CTB and OTB.

First, I made a Time Stop State (state: X), Priority to 100, Removal Conditions to "None", and Restriction to "None"

Then, I made a Time Stopped Status (state: Y), Priority to 99, Removal Conditions to "None", and Restriction to "Cannot Move"

This is the notetag that goes in the actual time stop skill I think

JavaScript:
<JS Pre-Start Action>
// Set the number of extra turns.
const minTurns = 2;
const maxTurns = 5;
const extraTurns = Math.floor(Math.random() * (maxTurns - minTurns + 1)) + minTurns;

// Apply Time Stop state to the user.
user.addState(X);

// Store the number of extra turns in a variable.
user.setStateCounter(X, extraTurns);
</JS Pre-Start Action>

This is instead the code that goes into time Stop status

JavaScript:
<JS Pre-Start Turn>
// Check if the state counter is greater than 0.
if (user.getStateCounter(X) > 0) {
  // Reduce the state counter by 1.
  user.setStateCounter(X, user.getStateCounter(X) - 1);

  // Set up the Time Stop effect.
  for (let battler of BattleManager.allBattleMembers()) {
    if (battler !== user) {
      // Apply a custom state Y that prevents actions.
      battler.addState(Y);
    }
  }

  // Apply an extra turn for the user.
  user._actionState = 'undecided';
  user.makeActions();
  BattleManager.forceAction(user);
} else {
  // Remove the Time Stop state and custom state Y from all battlers.
  user.removeState(X);
  for (let battler of BattleManager.allBattleMembers()) {
    battler.removeState(Y);
  }
}
</JS Pre-Start Turn>

Basically, the idea is that the user should get 2-5 extra turns, while the others (allies included, because that's how nasty Time Stop is in D&D) are stopped in time (heh).

As usual, your feedback is greatly appreciated.
 

Dark_Ansem

Veteran
Veteran
Joined
Jun 16, 2020
Messages
540
Reaction score
131
First Language
English
Primarily Uses
RMMZ
I'm mostly trying to get this to work with the OTB combat system, which is relatively straightforward, as opposed to CTB. What issues could there be?
 

caethyril

^_^
Global Mod
Joined
Feb 21, 2018
Messages
4,634
Reaction score
3,759
First Language
EN
Primarily Uses
RMMZ
You don't appear to have mentioned how you want it to work, or what problem(s) you're having with your stated approach. Personally I'd just increase the speed of the caster, rather than stunning everyone else.

I'm not familiar with the VisuStella library, but I looked up the OTB plugin:
Looks like it offers "Instant Use" actions:

<OTB Instant> <OTB Instant Use> <OTB Instant Cast> - Used for: Skill, Item Notetags - Allows the skill/item to be used immediately without consuming a turn.
So I'm thinking maybe you could have the Time Stop skill:
  • Tagged as <OTB Instant>;
  • Scope: User;
  • Add State: {a state with some Action Times+ traits};
  • Remove after 1 turn.
Action Times+ gives a chance for +1 action per turn. Add more traits for more actions.

Alternatively, it looks like VisuStella CTB allows multiple battler turns per round, like default TPB:
So you could fake the time stop by giving the caster a state that massively increases their AGI for a few turns.
 

Dark_Ansem

Veteran
Veteran
Joined
Jun 16, 2020
Messages
540
Reaction score
131
First Language
English
Primarily Uses
RMMZ
Alternatively, it looks like VisuStella CTB allows multiple battler turns per round, like default TPB:
So you could fake the time stop by giving the caster a state that massively increases their AGI for a few turns.
I had to give up CTB because it's really difficult to balance, and kind of unfair to slower actors.
You don't appear to have mentioned how you want it to work
Basically, the idea is that the user should get 2-5 extra turns, as opposed to actions, while the others (allies included, because that's how nasty Time Stop is in D&D) are stopped in time (heh).
So I'm thinking maybe you could have the Time Stop skill:
  • Tagged as <OTB Instant>;
  • Scope: User;
  • Add State: {a state with some Action Times+ traits};
  • Remove after 1 turn.
Action Times+ gives a chance for +1 action per turn. Add more traits for more actions.
This wouldn't have the randomness however, but it is a good workaround! No need for instant cast however.
 

Dark_Ansem

Veteran
Veteran
Joined
Jun 16, 2020
Messages
540
Reaction score
131
First Language
English
Primarily Uses
RMMZ
So, I'm not sure the state is behaving as it should, did I put the correct notetags?
 

Latest Threads

Latest Profile Posts

Creating the mood, coloring, and lighting for this gonna need a big brain moment.1685936069202.png
Someone in a facebook group just corrected something I said, by saying exactly what I said. The mind boggles.
Less than 20 tiles remain in Inside_B that I need some kind of analogue of in my in custom Inside_B, and a whole 39 tiles that I didn't use and can thus make my own custom tiles or my own flavors of from other tile sheets.


Chapters advancing demonstration.
Main character roey will be revived after chapter 7, so the animations will be different after it
The title of the main characters will be ascended to celestial as well as wings and rings.
Next Up. The 2nd floor of the Western Academy!

Base:
Map012.png

With a little parallax magic *:



WestAcademyFl2.png


Anything you'd add?

Forum statistics

Threads
131,644
Messages
1,221,845
Members
173,387
Latest member
guihangbacninhninh
Top