Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

Speed Based Turns CBS V2.3

Status
Not open for further replies.
Speed Based Turns CBS
Version: 2.3


Introduction

This script transforms the DBS (Group Turns Battle System) into an Speed Based CBS. I will update this post on how it works later

Explanation

Ok this system works as follows

Here are our battlers Arshes/Aluxes, Basil, Gloria, Hilda, and a Ghost
[A, B, G, H, Gh]

Now Turn 0 all speeds are initialized (see make_action_speed of Game_Battler) suppose if their speeds are as follows for this round

[30A, 10B, 25G, 15H, 35Gh]

Now the script gets the magic value for this round which is the average of all speeds for this round and that value is 23. Their speed is added to their turn points. Now any battler with turn points under this value can't act this round so bye Basil and Hilda. So that leaves us with

[30A, 25G, 35Gh]

Ok now the battler with the most turn points (and fewest actions if turn points are the same) gets to act first so now

[35Gh,30A, 25G]

Now lets assume everyone attacks and attack are worth 100% of the magic number generated, Everyone who is able to attack attacks so now we have

[7A, 10B, 2G, 15H, 12Gh]

Turn Over. Next Turn New Speeds are generated, but lets say we get the same values here are the turn points in total

[37A, 20B, 27G, 30H, 47Gh]

Wow more people are able to act this round so the turn order is

[47Gh,37A, 30H,27G]

Everyones make their action and here is the total for all battlers now

[14A, 20B, 4G, 7H, 24Gh]

And Continue until the battle is over


Screenshots

Due to my laziness and buziness I shall recycle

http://trickster.wg2140.com/images/Indi ... 0Turns.PNG[/IMG]


Script

Script? there was never a script here if you are a family member then you must be surely seeing things get the demo. The FAMILIES MUST DECIDE IN A GROUP WITHOUT SPEED

Demo
http://trickster.wg2140.com/Script Demos/Individual Speed.rar

Instructions

Add the MACL and SDK 2.x if not already done

This script has a setup section I will update this post with notes later (but the setup section is commented and shouldn't give people much trouble)

FAQ


Compatibility

May not be compatible with some Battle Addons (I know for a fact it is not compatible with my Ally AI script) if you happen to find incompatibility ask me nicely and I may merge them (Depends though)

SDK 2.x compliant

Requires method and class library


Credits and Thanks

Me (Trickster) for betatesting


Author's Notes

Scripted in less than an hour
If you find any bugs please notify me
 
A little i'd say pablo. But indeed, it's a nice script! And a good CBS! I tested it and haven't found any bugs ( except for the ghosts being too slow :D). Just a question Trickster, spell, defend, item and attacks have different speed numbers? Or all them depends on the speed of each character?
 
Oh I really like this system a lot. Buuut... would it be to hard of an edit to remove the "fight/escape" bar and add escape to the commands so that it flows more continuously? I think then it'd be rather similar to the battle system in FFX then except it wouldn't be displaying the turn ratio.
 
Awesome script Tricks! I'll be using this! But I too would love it to be edited, mainly I'd like the "Attack" "Escape" only to show up at the beginning of the battle (I could easily add an escape option using your Individual Battlecommands script). As well I'd like the magic value only to be generated at the beginning of the battle, meaning only in the first turn, so statuseffects of "Haste" or "Slow" are more noticably (does this word even exist?).
The last thing I'd like to know is if the turnpoints of an actor or enemy could reach a negative value (like if a skill need 200% of the magicvalue to use) or if the turnpoints are set to 0 in case it goes below 0, I'd prefer the first case cause it'd end in a longer waitphase for that actor.

This is not really a request, just some suggestions (not that I don't want them to be made ;))

thanks in advance Viv
 
Updated to Version 2.1

Fixes the Non Movable State Bug Thanks Raven

@Viviatus - Yes you can set the turnpoints to a negative value the setup is done by percentages and can be any percentage you wish (800, -500, 200, 1, etc)

I'll see about an edit to remove the window but I have been busy lately :-/
 
Trickster;215978 said:
Updated to Version 2.1
I'll see about an edit to remove the window but I have been busy lately :-/

I noticed! But don't worry, it's not that I need it that badly, I could ask any other scripter but since it's your script I prefer you doing it, so keep cool and take your time!
 
updated to Version 2.2

Fixes a bug when the battler has a state that makes the command window not inputable
Fixes a bug with the Escape Button now it plays the decision se instead of the cancel se
 
Vivatus,
Trickster made a script I think it's called Simlple Escape Command That will remove the fight/escape option and change it to be a command instead. that's what I'm using now with it, if that's what you're looking for.
 
Raven The Dark Angel;184640 said:
I think then it'd be rather similar to the battle system in FFX then except it wouldn't be displaying the turn ratio.
Although I could imagine just how difficult (or even impossible) it might be to actually display the upcoming turns like FFX did, It would probably bring a lot more to this type of system. The turn display in FFX is what helped you choose what enemy to take out first, and showed how much using a powerful skill would set you back in the turn count. I think if there was a turn display, this scripts useability would increase dramatically.

once again, I clarify that I am only voicing an opinion, not criticizing. You did a good job on the script itself, Trickster
 
I love the script, Trickster, but there's one bug I've found (at least I assume it's a bug). When you press ESC, the character does nothing, wasting a turn. I looked at the script and saw you left in prior_actor. If you eliminate
Code:
    # If B button was pressed
    if Input.trigger?(Input::B)
      # Play cancel SE
      $game_system.se_play($data_system.decision_se)
      # Go to command input for previous actor
      phase3_prior_actor
      return
    end
it fixes it.
 
No I put that in there intentionally if you add/replace that code that you added in then if you press Esc to goto the previous actor then you can perform multiple actions in the same turn, when actions are chosen they are performed immediately and you can't undo what's done :p
 
Demo updated to Version 2.3

A potential bug that causes the Fight/Escape window to come up should be gone

Adds a new addon see the screenshot
 
Whew awesome edit! But is there any chance to edit the Turnwindow so that it always shows the next six actors? I know that it'll be much more difficult since the "magic value" is newly generated every (true)turn. And making the window show the next six ones involves the need of information from the (or the next two) following (true)turn(s). And this info must be hard to get, since it could be changed anytime...

On second I'd like to know if there is a way to de- or increase an actors (or enemys) turnpoints by a certain percentage using a skill. This way you could really delay your enemys movements or making an allies act earlier. Would be a nice addon for your Skilleffects but since it'll only be usable in with this script I'm posting it here.

Thanks in advance!
 
uzumakishade;235827":3htdi1h8 said:
BAH this sucks! where is the script?! XD haha just playing

You sir have won... for now, now update MVCBS damnit! :P

no :p

The RPG Death Pocket;235844":3htdi1h8 said:
Hey Trickster what about the error I mentioned? Is the stack to deep error something on my side, incase I can tell you the scripts I'm using.

Tell me the scripts

Viviatus;236036":3htdi1h8 said:
Whew awesome edit! But is there any chance to edit the Turnwindow so that it always shows the next six actors? I know that it'll be much more difficult since the "magic value" is newly generated every (true)turn. And making the window show the next six ones involves the need of information from the (or the next two) following (true)turn(s). And this info must be hard to get, since it could be changed anytime...

That would be too difficult think about it that would mean that I'd have to generate the list for multiple turns. If an action decreases that then how would the script know when they get to act on in future turns :-/

(note: Trickster defines difficult as time consuming :p)

Viviatus;236036":3htdi1h8 said:
On second I'd like to know if there is a way to de- or increase an actors (or enemys) turnpoints by a certain percentage using a skill. This way you could really delay your enemys movements or making an allies act earlier. Would be a nice addon for your Skilleffects but since it'll only be usable in with this script I'm posting it here.

Thanks in advance!

Hmm Calling this in a script should work

<Game_Battler>.turn_points -= value

where <Game_Battler> is an instance of Game_Battler
and value is the value to decrease the turn points by

example call

Code:
$game_party.actors[0].turn_points -= 40
$game_troop.enemies[0].turn_points -= 70

$game_party.actors.each {|actor| actor.turn_points -= 10}
$game_troop.enemies.each {|enemy| enemy.turn_points -= 25}

the first reduces the first actor in the party turn points by 40
the second reduces the first enemy in the troop turn points by 70
the third reduces all actors turn points by 10
the last reduces all enemies turn points by 25

I can also write a script for this, I'll do it when I start making script dependent skill effects for the Bag of Skill Effects (which should be soon)
 
I have a question, how easy would it be to display the Turn points next to the character battlers?
because it would make it much easier for people to understand how the system works/how much delay and be more strategic if they can actually see the values (at least in my opinion)
 
Hmm Calling this in a script should work

<Game_Battler>.turn_points -= value

where <Game_Battler> is an instance of Game_Battler
and value is the value to decrease the turn points by

example call

Code:
$game_party.actors[0].turn_points -= 40
$game_troop.enemies[0].turn_points -= 70

$game_party.actors.each {|actor| actor.turn_points -= 10}
$game_troop.enemies.each {|enemy| enemy.turn_points -= 25}

the first reduces the first actor in the party turn points by 40
the second reduces the first enemy in the troop turn points by 70
the third reduces all actors turn points by 10
the last reduces all enemies turn points by 25

I can also write a script for this, I'll do it when I start making script dependent skill effects for the Bag of Skill Effects (which should be soon)

Does this also work with the self.turn_points? So I can use it within Game_Battler 3.

I am no scripter so exuse me if this was a silly question!
 
Yes you can use that code only within the Game_Battler class and any class that inherits from it (Game_Actor and Game_Enemy)

also note that you don't need the self. but if you don't know what you are doing it would be safe to leave it
 
Status
Not open for further replies.

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top