Custom Combat Round Numbering

Rinn

Developer
While this may be intended functionality I want to start a discussion on how ccs rounds work.

Currently if you have a ccs that contains consult scripts that take more the one action (such as ftf or smart statis), the round number is incremented for each action taken. This means if you had something like this:

1: consult SmartStasis.ash
2: item spices
3: attack

If in this case SmartStasis.ash took more then 1 combat turn to operate the second action (use spices) will get skipped and go directly to attacking. A while ago I was unaware of this functionality and to remedy the situation I hacked my ccs to have a bunch of notes after scripts I knew would take more then a single turn to process:

[ default ]
1: consult SmartStasis.ash
2: note buffer
20: consult paper shuriken.ash
21: consult raindrop.ash
22: note buffer
30: consult FeatherExpress.ash
31: note Roc Feather
32: note buffer
40: consult mayfly.ash
41: consult action.ash

This is my current default ccs, as you can see I've thrown in 'note buffer' after every script I believe could take multiple combat turns to operate. So I'm asking is this logical? Would you expect your ccs to always run in sequential order or to use the literal combat round to figure out what line to run next? I'm aware I can keep using these buffers, or to just have one massive combat consult script (I really prefer having several smaller scripts), but I'm curious if this is something worth looking into.
 

zarqon

Well-known member
I would prefer sequence over tying things to round number. You generally want something to happen after something else, not only on round 5.

Only problem I can see is that if this is changed, we would need a new shorthand for "do something X times".
 

Bale

Minion
However, there are times that round number is important. Someone might want to start using the more powerful attack at round 28.

Many of these worries are going to get thrown into new directions by macros, though.
 

jasonharper

Developer
CCS line numbers have NEVER corresponded exactly to fight round numbers; skipped actions (like "pickpocket" when inappropriate) don't advance the round, while in-combat MP restoration may cause a "skill" line to take multiple rounds.

Expect the line numbers to go away completely at some point, as they are simply not meaningful in the presence of conditionals, loops, and subroutines.
 

jasonharper

Developer
I don't see any reason why get_ccs_action() would need to change; it will just, at some point, be able to return a much wider range of possible actions.
 

Bale

Minion
string get_ccs_action(int round)

It returns the line of the CCS corresponsing to the round. That's why it would need to change. Am I missing something?
 

jasonharper

Developer
It's always just been the index within the CCS section, not actually a round number. Basically, one less than the line number displayed in the CCS editor (prior to a "default" or "section" command, at least).
 

Rinn

Developer
The problem is that it's not even really a sequential list because an action will get skipped if a previous action takes multiple rounds to complete. I don't expect a single consult script to ever increase the CCS index by more then one, but this is what is currently happening.
 
Last edited:
Top