Action Point Battle System

dragonx777

Veteran
Veteran
Joined
Jan 25, 2015
Messages
117
Reaction score
39
First Language
English
Primarily Uses
RMMV
Hello!

I've searched high and low for this. What I am looking for is an action/stamina point battle system similar to Chrono Cross or Xenogears (reference link below). What this system presents is each participant (hero or enemy) is allowed to select as many actions as they want, or save their points, before their respective turn ends. For example, the hero starts with 3 action points and can select "attack" for 1AP, skill/spell for xAP (where x varies based on the database value), or guard (at any time), which consumes 0AP and end's the phase.

Karanum created a module for VX Ace that seems to be just about right, save for the Guard = End Phase. Obviously, for enemy AI, there would have to be a condition for when the enemy runs out of AP to switch phases, or something similar. I have an exhaustive amount of plugins being used in my game; primarily everything Yanfly and Fallen Angel Olivia (including their battle systems). I wouldn't think compatibility would be an issue here given that from what I've understood from the VX Ace script, it didn't modify too much. I tried doing this myself, but I couldn't get it to work.

Sure, there is Yanfly's CTB and STB, and even DreamX's ITB (Charge, Standard, Instant Turn Battle Systems), but they only allow 1 action per party member and/or order the participants based on agility or modifiers. I've also tried using Yanfly's instant cast, but am having an issue where the player's turn is infinite as the phase won't end properly. I feel that this would add a new layer of challenge for any player to strategize instead of just "mashing the 'A' button" as it were.

If I'm missing anything here, or if more detail is needed, please let me know. Thanks in advance!

Chrono Cross Battle System explained:

VX Ace Example:
module BattleManager
def self.prior_command
begin
if !actor || !actor.prior_command
@actor_index -= 1
return false if @actor_index < 0
unless actor.actions.size <= 0
unless actor.actions[actor.action_input_index].item.id == actor.guard_skill_id
actor.tp += 1
end
end
SceneManager.scene.refresh_status
end
end until actor.inputable?
return true
end

def self.gather_action_ids(actions)
return actions.collect { |action| action.item.id }
end
end


class Game_Actor < Game_Battler
def make_action_times
return @tp
end

alias karanum_tpaa_nextcmd next_command
def next_command
return false if @actions.size <= 0
if @actions[@action_input_index].item.id == guard_skill_id
return false
end
@tp -= 1
SceneManager.scene.refresh_status
return false if @tp < 1
karanum_tpaa_nextcmd
end

def prior_command
return false if @action_input_index <= 0
@action_input_index -= 1
unless @actions[@action_input_index].nil?
unless @actions[@action_input_index].item.id == guard_skill_id
@tp += 1
end
end
SceneManager.scene.refresh_status
return true
end
end


class Game_Party < Game_Unit
def make_actions
members.each {|member| member.make_actions if member.tp > 0 }
end
end


class Scene_Battle < Scene_Base
alias karanum_tpaa_battlestart battle_start
def battle_start
give_turn_tp
karanum_tpaa_battlestart
end

alias karanum_tpaa_turnend turn_end
def turn_end
give_turn_tp
karanum_tpaa_turnend
end

def give_turn_tp
$game_party.members.each { |actor| actor.tp += 1 }
end
end
 

Mirai Ko

Veteran
Veteran
Joined
Oct 16, 2012
Messages
45
Reaction score
10
First Language
English
Currently, I believe I'm using a battle system that's just about what you're talking about.
Basically, it revolves around Yanfly's Instant Cast Plugin.
I've subbed out Actor's MP for the AP, and have every skill be instant cast, except for the wait/guard command, which serves to end their turns.
At that point you just have to make sure there's something in play that regenerates MP/AP for each of their turns.
 

dragonx777

Veteran
Veteran
Joined
Jan 25, 2015
Messages
117
Reaction score
39
First Language
English
Primarily Uses
RMMV
I think I'm on the same track at this point and now it's a matter of balance. I have the TP/AP regen +1 at the beginning of the player's turn. I was hoping for a plugin to automate it better. Coincidently, I found an old Yanfly RGSS3 script for a combo input that would be ideal and would serve the battle system better. Given, however, that is technically separate from this request, I may open up another thread down the road. However, I can make do with it as is at this time. Admins, with your permission, I would like to keep this open a tad longer to see if there is an affirmative to my request for the next 72 hours or so.
 

Luth

Veteran
Veteran
Joined
Apr 29, 2014
Messages
129
Reaction score
54
First Language
French
Primarily Uses
Hello

That's funny there is a thread about it ; i just went through old concepts I wanted, and I encountered a drawing of mine, which led at the time drawing to a post I created on the board :


I think I was playing the rpg Divinity and I liked the point system. It's a good request, makes the battles more dynamic.

The "extra action" based on the combination of actions used was just an addition of this gameplay, and if there is a way to save the chosen actions, I guess we could do that tor (Actually that would be a matter of variables, with different possible combinations, with some resulting in extra combos).

Well that's inspiring !

:)

PS :

Coincidently, I found an old Yanfly RGSS3 script for a combo input that would be ideal and would serve the battle system better.
That's great, could you say which one ?
 

dragonx777

Veteran
Veteran
Joined
Jan 25, 2015
Messages
117
Reaction score
39
First Language
English
Primarily Uses
RMMV
I’ve never played Divinity but it looks awesome. I like your concept as well. Again, it’s all about dynamic battles. Too many games are “press A” or slam strongest attacks. Chrono Cross, while flawed, had the battle system right imo

the Yanfly script is called Input Combos. I think it would work better than instant cast or at the very least be smoother. If I knew anything about JS I would attempt to convert it but sadly the most I can do is make small edits.

If someone could take up converting the script to a plugin, that would be awesome.



 

zerobeat032

Cloaked Wanderer...
Veteran
Joined
Mar 28, 2014
Messages
235
Reaction score
176
First Language
English
Primarily Uses
RMMV
https://tm.lucky-duet.com/viewtopic.php?f=5&t=5843 I'm not sure if this is EXACTLY what you need but it's got AP points and the battle system itself has a built in thing where once all AP is used for said turn, you can have to end your turn. tho the deal is everyone acts at the same time... kind of like picking who you want to use the AP. and with aid of another plugin you can add Action times to actors, meaning that character can go again I suppose. I haven't really messed around with that yet.

The hurdle here is.. it's all in Japanese lol. BUT, they have a lot of instructions on their github that Google will usually translate. I found this a couple of hours ago on complete accident lol, but I remembered this post... I hope this helps in some way.
 

dragonx777

Veteran
Veteran
Joined
Jan 25, 2015
Messages
117
Reaction score
39
First Language
English
Primarily Uses
RMMV
https://tm.lucky-duet.com/viewtopic.php?f=5&t=5843 I'm not sure if this is EXACTLY what you need but it's got AP points and the battle system itself has a built in thing where once all AP is used for said turn, you can have to end your turn. tho the deal is everyone acts at the same time... kind of like picking who you want to use the AP. and with aid of another plugin you can add Action times to actors, meaning that character can go again I suppose. I haven't really messed around with that yet.

The hurdle here is.. it's all in Japanese lol. BUT, they have a lot of instructions on their github that Google will usually translate. I found this a couple of hours ago on complete accident lol, but I remembered this post... I hope this helps in some way.
i like the concept of this and will give it a go. The only thing is that I would like TP to be the number of actions the player can take. Thanks for the suggestion!
 

zerobeat032

Cloaked Wanderer...
Veteran
Joined
Mar 28, 2014
Messages
235
Reaction score
176
First Language
English
Primarily Uses
RMMV
Just wanted to let you know, if that doesn't work for you, I've actually come up with a way to simulate this system on my own to varying degrees through the use of several different plugins. but basically I have a way to show in a gauge a set amount of actions. these actions can be tp, but I made a custom parameter with a bit more control. I'm using a QTE plugin in a manner somewhat similar to Yanfly's old combo script. I have a way to use show that the gauge is used. and I basically seal/remove commands when I want to end the players turn and add the command wait as a selectable skill, tho it's not called such. and lastly I have can have that skill regen tp or in my case gain(the name of my parameter) in the damage formula box... to gain the 5 points I give back every turn. and because it's a custom param... I get to control adding more points to it however I see fit as characters level up and whatnot.

I basically did all this because I play fighting games just as much as rpgs and wanted to emulate them. and the plugin I found inspired me, but I couldn't get it to work quite like I wanted... so I decided to just take a bunch of plugins I was using already and formed a somewhat similar system around those. so, if you want, I can further explain what I came up with if that other suggestion doesn't work out for ya.
 

dragonx777

Veteran
Veteran
Joined
Jan 25, 2015
Messages
117
Reaction score
39
First Language
English
Primarily Uses
RMMV
Yeah. I like that route. I tried that QTE plugin that’s been promoted like crazy (it seems) and while the concept of that plugin is fine, it’s more complicated to set up that pretty much any Yanfly plugin. I think I found a solution similar to yours using multiple plugins. I also managed to get a shield blocking aspect. Whenever I get time, I might share screenshots. Thanks for your assistance @zerobeat032

Admins, I would like to keep this thread open in hopes someone would take up the script conversion.
 

zerobeat032

Cloaked Wanderer...
Veteran
Joined
Mar 28, 2014
Messages
235
Reaction score
176
First Language
English
Primarily Uses
RMMV
no problem, and good luck with your project. hopefully we've both found ways to get done what we're aiming for.
 

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

Latest Threads

Latest Posts

Latest Profile Posts

I wonder if I can go outside ye-

Government: lemme stop you right there
Alright, who's playing Jumanji? And whose turn is it?!
*Buys all the PVGames assets, ends up creating his own ground tiles.* At least I used the other types of graphics? Right? :kaoswt:
If you could fold a sheet of paper 42 times, the stack would reach from the earth to the moon. Do whatever you want with that information.

Forum statistics

Threads
95,502
Messages
929,644
Members
125,760
Latest member
JonesLuiz
Top