Skip to content

Modifiers

HoloTheDrunk edited this page Aug 21, 2026 · 1 revision

Modifiers can largely be separated into two main categories:

  • structural modifiers, which allow for more conditions on move swaps;
  • functional modifiers, which give additional properties to the replacement move.

Modifiers can be stacked on a swap indefinitely following the syntax swap (| modifier)*. For example:

_: 2 2 => 2 3 | Final | AfterMove(2, 1)

Structural modifiers

Final

Stops the swap chain.

For example, the following example would result in action 2 3 if you input action 2 1:

_: 2 1 => 2 2
_: 2 2 => 2 3

This may not always be desirable, so you can use Final to stop the mod from trying to swap moves.

_: 2 1 => 2 2 | Final
_: 2 2 => 2 3

With this change, inputting action 2 1 would result in action 2 2 instead.

AfterMove(category, id)

Only performs the swap if the previous action was the specific move described by the provided category and index.

The following example would always replace action 2 2 with action 2 3:

_: 2 2 => 2 3

But using AfterMove, we can limit that:

_: 2 2 => 2 3 | AfterMove(2, 1)

In this way, inputting action 2 2 after anything but 2 1 would result in the regular, vanilla behavior.

AfterSwap(swap_id)

Only performs the swap if a specific swap happened before it.

The following example would always replace action 2 3 with action 2 4:

_: 2 1 => 2 2
_: 2 3 => 2 4

But using AfterSwap, we can limit that:

1: 2 1 => 2 2
_: 2 3 => 2 4 | AfterSwap(1)

In this way, inputting action 2 3 after anything but 2 1 would result in the regular, vanilla behavior.

Clone this wiki locally