🐾PurrwikimaniaSword x Staff, datamined

Combat mechanics

SPD breakpoints

The battle is a timeline, and SPD only sets how often you come up on it. A capped fight is a fixed pool of actions that the timeline shares out. Enter your speed and the opponent's and this works out who acts first, how much of the pool is yours, and exactly how much more SPD buys the next turn.

You

Opponent

Your SPDFirst to actYour turns Their turnsTurn rateOne more turn at You lose a turn below

The rule

Every unit sits in a queue ordered by the moment it will next act. The engine takes whoever is earliest, lets them act, then puts them back at now + interval. FightRoundComponent computes that interval as

interval = 100000 / sqrt(SPD x rankSpeedScale)

so the number of turns you take while the opponent takes one is sqrt(your SPD / their SPD) at the same promotion. Whoever's first interval is shorter acts first. An exact tie is a coin flip.

0.0x1.1x2.3x3.4x4.5x1x2x4x6x9x12x16x2x turns3x turnsyour turns per their turnyour SPD divided by theirs
turns you take per turn of theirswhat people expect (linear)
Scale-free on purpose: 200 against 100 and 400,000 against 200,000 are the same fight. Only the ratio counts, so raw SPD numbers never saturate or cap.

What a round is

A round is not one turn each. The server keeps a single counter for the whole fight. Every action by a player, a monster or an NPC adds one, and the round advances each time the counter reaches the number of such participants. Pets act inside their owner's turn and summoned objects have their own place in the queue, and neither adds to the counter. A fight capped at R rounds with N participants is therefore a pool of R x N actions. SPD decides how that pool is split, not how big it is.

Between two fighters at the same promotion, with r = sqrt(your SPD / their SPD):

your turns  = 2R x r / (1 + r)
their turns = 2R / (1 + r)

Read from a recorded fight (26 September 2026, a 10-round damage test on the Boss stage). A 742,236 SPD player, queue interval 116.1, faced a boss whose interval of 463.3 implies 46,588 SPD. The player took 16 turns and the boss 4. The round counter stepped at counted actions 2, 4, 6 and 8 (all the player's), 10 (the boss's), 12, 14, 16 and 18, and the fight ended on the 20th. The player's pet acted 16 times and the summoned orbs dozens of times without moving it. Two of the player's turns were pulled forward by a turn-advance effect worth 20% of an interval each. A plain merge of the two intervals gives the same 16 and 4, and with those two advances folded in it reproduces the recorded order action for action. One caution from the same session: the SPD the tap panel had shown for that boss in an earlier run did not match the interval the server used, so trust intervals over panels.

What the next turn costs

In a capped duel the pool is fixed, so an extra turn for you is one fewer for them. Moving from an even split to R+k turns against R−k needs r = (R+k)/(R−k), a SPD ratio of ((R+k)/(R−k))². The table is the SPD you need above the opponent's at the same promotion. The exact merge of two timelines can land one turn either side of it, so use the calculator for a specific pair.

Round cap+1 turn+2+3+4
10 rounds+49%+125%+245%+444%
15 rounds+31%+71%+125%+198%
20 rounds+22%+49%+83%+125%
30 rounds+14%+31%+49%+71%
A ten-round duel makes the first extra turn a 49% speed lead, a thirty-round one 14%. Until 26 September 2026 this table assumed the cap counted the opponent's turns and put those at 21% and 6.8%. That was wrong.

More enemies, more turns

Every extra participant adds a whole cap's worth of actions to the pool but only its own slice of the timeline rate, so most of those actions go to whoever is fastest. Against M enemies of one SPD:

your turns = R x (1 + M) x sqrt(S) / (sqrt(S) + M x sqrt(S_enemy))

At 742,000 SPD against 139,000 SPD enemies over 10 rounds, merged exactly:

EnemiesPoolYour turnsTurns each of them, at most
120146
230167
340188
450188
890209
A very large crowd approaches 23 turns, which is 10 x sqrt(742,000 / 139,000). That limit is what the old version of this page reported for every fight. A damage test against a group reports more of your actions than the same test against one dummy for exactly this reason.

Promotion is inside the square root

rankSpeedScale comes from fight_rank_offset_damage by rank family. It is constant within a band, so it cancels in same-band fights and only matters across bands, where it is large.

Promotion bandScaleEffect
No Rank → Master III1baseline
Paragon I → Paragon III10×3.16 turn rate
Saint I → Void III150×12.25 turn rate

Two things that ignore SPD entirely

Status effects can move a unit's next action time directly, bypassing the stat: a positive RoundIntervalPercent advances the turn, a negative one delays it, and zero makes the unit act immediately. The recorded fight shows this as Advance updates on the queue, each cutting the next time by 20% of an interval. Cooldowns count the caster's own turns and SPD does not reduce them. It only brings the turns round faster.