battle This is a list of every state a grid cell could have in the Battle System. Generally applies effects to Units that occupy that cell.

See Proc Sources for some important definitions.

Cell state properties

PropertyDescription
durationHow many turns this cell will have this state for. Ticks down by 1 at the start of the owner’s turn. The moment it hits 0, the state is removed.
ownerThe unit that changed the cell to this state. Must be passed and stored in order to correctly attribute damage and kills.

Overriding cell states

If a cell’s state changes, it will overwrite whatever state was there before. We’re limiting cells to one state each for a few reasons:

  • Simpler to understand
  • Simpler to implement
  • Introduces new strategies involving “painting over” afflicted tiles with new states

Burning

Entities that occupy this cell take damage on turn start AND on turn end.

Slippery

Entities that enter this cell will slide into the next cell in the same direction (cardinal OR diagonal). This will, in turn, trigger that cell’s “on cell enter” proc (enabling continuous slides over multiple slippery tiles, or triggering the effect of a different cell state). Does not trigger if the “next cell” is the edge of the grid, or is occupied by another entity.

If the cell state is applied to an occupied cell, nothing happens to the entity (as it didn’t enter the cell while it was slippery).

What

Units could enter this cell by moving into it, or by getting pushed into it by another effect! The cause is arbitrary. As long as they entered the cell, the effect will proc.

Sticky

It costs two cells of movement to exit this cell. If the unit only has one cell of movement left, they can use it to exit without going into the negatives.

Oily

Does nothing on its own. If a unit occupying this cell receives Burn, every cardinally adjacent oil cell is converted to a Burning cell (with the same duration it already had). Additionally, every unit touching one of those cells is inflicted with 2 Burn.

Foggy

This cell becomes obstructed (blocking Line of Sight) and makes the entity occupying it invisible until they enter a non-foggy cell. The cell may still be entered, passed through, and occupied by entities.

Implementation

This effect can be implemented by applying a stack of the “invisible” status, preventing the unit from dropping below 1 stack of invisible while they’re on a foggy cell, and then removing the stack when they are no longer on a foggy cell. This retains any previous stacks of invisible the unit may have while keeping the cell state’s functionality intact.