⚔️ Combat Simulator

Combat Simulator Web User Guide

This guide explains how to configure a battle, run it, and review the results. The web interface uses the simulator's currently supported parameters; it does not represent every feature available in the game.

1. Configure both sides

In GUI Builder, enter the setup for Left and Right:

The starter battle has one Left Infantry T5 and one Right Infantry T1, ready to run. Replace those counts or import your own configuration.

The resource lists are intentionally limited; names and behavior that have not been confirmed are not inferred. Use Raw JSON for parameters that do not have a builder control.

Names come from verified game resources. Name mapping, core support and individual oracle battle coverage are separate statuses. Names do not change JSON IDs; packages without the optional catalog retain numeric labels.

2. Bonuses and input units

For raw bonus values, 100 = 1% modifier; for example, 5000 corresponds to a 50% modifier. Exact limits differ by channel and are listed in the JSON reference.

The channel names are intended to identify the type of adjustment:

The curse_* and add_damage channels set by one side affect the corresponding channel of the opposing troop kind; reduce_* and reduce_damage belong to the side that sets them.

You do not need to fill every channel. If you do not have a supported value, leave it at 0 or blank as indicated instead of guessing a bonus.

3. Save and load configurations

Army Profiles save one army independently of its side: level, formation, troops, bonuses, overrides, advantages, heroes, pets, hero-ultra and retained advanced fields. Choose Save Left as profile or Save Right as profile, enter a name and optional notes, then Save. You can save one army while the other is still being corrected.

Search names/notes and select a profile to preview it. Selection does not change the battle. Apply to Left, Apply to Right and Apply to Both create independent copies. Editing Left after applying Both changes neither Right nor the saved profile. Global parameters and the wall are outside an Army Profile.

Open Manage selected profile → Edit to change its name, notes or Army JSON. Use current Left/Right army replaces the editor draft; only Save updates the stored profile. Duplicate opens a new profile draft; Save as new copy keeps an edited draft under a new identity. Delete → Confirm delete removes the saved copy and keeps the current battle. Cancel or Escape discards dialog changes.

Battle Presets save the full configuration: both armies, seed/gap/tier factor/threshold, mode, wall/force/attributes, description and advanced fields. Save current battle reads the active tab, including Raw JSON. Load preset restores a copy into GUI and Raw JSON while retaining the active tab. Later battle edits do not update storage; use Edit → Use current battle → Save to update explicitly. Presets also support search, rename, duplicate, delete and individual export.

Left → Right, Right → Left and Swap armies move all army fields, including advanced data. Global parameters and the wall stay with the battle; the wall always belongs to Right under the current schema.

The library is stored in this browser for the site's protocol, hostname and port. It has no server or cross-device synchronization; changing the port uses a different storage area. Export a backup before moving addresses, clearing browser data or relying on a private browser session.

To exchange or immediately load the current battle, use the controls below the builder:

Use Raw JSON for advanced fields without builder controls. Library saves/loads use the GUI import preflight and reject unrepresentable data without clipping slots or merging troops. Saving a configuration does not establish combat support for its combination.

4. Wall and defence forces

Enable Configure a wall to configure a wall and the Right-side defence forces:

The core determines the effective wall mode from the battle configuration. Configure troops and force consistently; unsupported combinations are rejected when the battle is run.

5. Run a battle and review results

Click Run Battle. If the configuration is invalid or the runtime is unavailable, the result area displays an error instead of a battle result.

Results may include:

GUI fields check integer values and bounds before running. Import reports unrepresentable data, including more than five resource slots or duplicate troops, while preserving the previous configuration. Raw JSON retains advanced input for authoritative core validation.

Playback speed changes only how the animation is viewed; it does not change the battle setup. Weighted loss is a simulator loss metric and should not be assumed to be Might or KVK score.

6. Current limitations

If the simulator rejects a fixture, use its error message and remove or adjust the unsupported field or combination. Do not guess a replacement value.