← WebMCP Directory

praetorium.gg

praetorium.gg

live Unverified (seed import) Media & Personal 11 tools imperative implementation

Chapter Approved 2026-2027 Force Disposition matchups, primary missions, and scoring.

First seen 2026-11-05 · Last seen 2026-11-05 · Source: webmcp.com

Answer 8 · Act 3 · Transact 0 · Score: Not yet scored

Tool inspector

simulate_combat

act imperative

Runs Praetorium's exact combat simulator for one attacking unit, with any attached leaders, against one defending unit at full strength: shooting, melee, and shooting followed by melee. Returns expected models destroyed, expected wounds lost, the chance to destroy the unit, cumulative odds, weapons used, the rule and weapon-mode choices each side can change, datasheet citations, and a simulator link. Passive datasheet rules apply by default; stratagems and conditional rules stay off until chosen. Rules the simulator cannot calculate are never approximated: a phase it cannot estimate has status refused with its reasons, and recognised rules it leaves out are listed under notCalculated, so explain those gaps rather than retrying. Errors are reserved for unknown factions or units, illegal unit sizes or attachments, and unavailable reference data. Like the standalone simulator page, it uses default loadouts and no detachment; unit sizes and attachments must be legal.

Page: /missions/chapter-approved-2026-2027

Input schema

PropertyTypeRequiredDescription
attacker object yes —
defender object yes —
modifiers object no Situational modifiers the simulator page offers, such as { "all": { "cover": true, "hitModifier": -1 } }, { "melee": { "charged": true } }, or { "target": { "invulnerable": 4 } }.
weaponModes object no Weapon mode choices by key from a previous result, such as a frag or krak profile.
Raw JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "attacker": {
      "type": "object",
      "properties": {
        "faction": {
          "type": "string",
          "minLength": 1,
          "maxLength": 160,
          "description": "Faction id, URL slug, or display name from list_reference or list_units."
        },
        "unit": {
          "type": "string",
          "minLength": 1,
          "maxLength": 400,
          "description": "Unit id, slug, name, or referenceId from list_units."
        },
        "models": {
          "description": "Model count; must be a legal unit size. Defaults to the minimum size.",
          "type": "integer",
          "minimum": 1,
          "maximum": 60
        },
        "attached": {
          "description": "Leaders or support units joined to the unit, from its canBeLedBy and canBeSupportedBy. A unit that joins one of these instead, such as Nork Deddog joining a Cadian Command Squad, goes after it.",
          "maxItems": 2,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "unit": {
                "type": "string",
                "minLength": 1,
                "maxLength": 400,
                "description": "Unit id, slug, name, or referenceId from list_units."
              },
              "models": {
                "description": "Model count; must be a legal unit size. Defaults to the minimum size.",
                "type": "integer",
                "minimum": 1,
                "maximum": 60
              },
              "faction": {
                "description": "Defaults to the unit's faction.",
                "type": "string",
                "minLength": 1,
                "maxLength": 160
              }
            },
            "required": [
              "unit"
            ]
          }
        },
        "rules": {
          "description": "Rule choices by rule id from a previous result: 0 turns a rule off and n selects its nth option.",
          "type": "object",
          "propertyNames": {
            "type": "string",
            "maxLength": 400
          },
          "additionalProperties": {
            "type": "integer",
            "minimum": 0,
            "maximum": 20
          }
        }
      },
      "required": [
        "faction",
        "unit"
      ]
    },
    "defender": {
      "type": "object",
      "properties": {
        "faction": {
          "type": "string",
          "minLength": 1,
          "maxLength": 160,
          "description": "Faction id, URL slug, or display name from list_reference or list_units."
        },
        "unit": {
          "type": "string",
          "minLength": 1,
          "maxLength": 400,
          "description": "Unit id, slug, name, or referenceId from list_units."
        },
        "models": {
          "description": "Model count; must be a legal unit size. Defaults to the minimum size.",
          "type": "integer",
          "minimum": 1,
          "maximum": 60
        },
        "attached": {
          "description": "Leaders or support units joined to the unit, from its canBeLedBy and canBeSupportedBy. A unit that joins one of these instead, such as Nork Deddog joining a Cadian Command Squad, goes after it.",
          "maxItems": 2,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "unit": {
                "type": "string",
                "minLength": 1,
                "maxLength": 400,
                "description": "Unit id, slug, name, or referenceId from list_units."
              },
              "models": {
                "description": "Model count; must be a legal unit size. Defaults to the minimum size.",
                "type": "integer",
                "minimum": 1,
                "maximum": 60
              },
              "faction": {
                "description": "Defaults to the unit's faction.",
                "type": "string",
                "minLength": 1,
                "maxLength": 160
              }
            },
            "required": [
              "unit"
            ]
          }
        },
        "rules": {
          "description": "Rule choices by rule id from a previous result: 0 turns a rule off and n selects its nth option.",
          "type": "object",
          "propertyNames": {
            "type": "string",
            "maxLength": 400
          },
          "additionalProperties": {
            "type": "integer",
            "minimum": 0,
            "maximum": 20
          }
        }
      },
      "required": [
        "faction",
        "unit"
      ]
    },
    "modifiers": {
      "description": "Situational modifiers the simulator page offers, such as { \"all\": { \"cover\": true, \"hitModifier\": -1 } }, { \"melee\": { \"charged\": true } }, or { \"target\": { \"invulnerable\": 4 } }.",
      "type": "object",
      "properties": {
        "all": {
          "type": "object",
          "properties": {
            "cover": {
              "type": "boolean"
            },
            "indirectFire": {
              "type": "string",
              "enum": [
                "direct",
                "unobserved",
                "spotted"
              ]
            },
            "halfRange": {
              "type": "boolean"
            },
            "heavy": {
              "type": "boolean"
            },
            "charged": {
              "type": "boolean"
            },
            "hitModifier": {
              "type": "integer",
              "minimum": -100,
              "maximum": 100
            },
            "psychicHitModifier": {
              "type": "integer",
              "minimum": 0,
              "maximum": 100
            },
            "positiveWoundModifier": {
              "type": "integer",
              "minimum": -100,
              "maximum": 100
            },
            "woundModifier": {
              "type": "integer",
              "minimum": -100,
              "maximum": 100
            },
            "hitReroll": {
              "type": "string",
              "enum": [
                "none",
                "ones",
                "failed"
              ]
            },
            "woundReroll": {
              "type": "string",
              "enum": [
                "none",
                "ones",
                "failed"
              ]
            },
            "lethal": {
              "type": "boolean"
            }
          }
        },
        "ranged": {
          "type": "object",
          "properties": {
            "cover": {
              "type": "boolean"
            },
            "indirectFire": {
              "type": "string",
              "enum": [
                "direct",
                "unobserved",
                "spotted"
              ]
            },
            "halfRange": {
              "type": "boolean"
            },
            "heavy": {
              "type": "boolean"
            },
            "charged": {
              "type": "boolean"
            },
            "hitModifier": {
              "type": "integer",
              "minimum": -100,
              "maximum": 100
            },
            "psychicHitModifier": {
              "type": "integer",
              "minimum": 0,
              "maximum": 100
            },
            "positiveWoundModifier": {
              "type": "integer",
              "minimum": -100,
              "maximum": 100
            },
            "woundModifier": {
              "type": "integer",
              "minimum": -100,
              "maximum": 100
            },
            "hitReroll": {
              "type": "string",
              "enum": [
                "none",
                "ones",
                "failed"
              ]
            },
            "woundReroll": {
              "type": "string",
              "enum": [
                "none",
                "ones",
                "failed"
              ]
            },
            "lethal": {
              "type": "boolean"
            }
          }
        },
        "melee": {
          "type": "object",
          "properties": {
            "cover": {
              "type": "boolean"
            },
            "indirectFire": {
              "type": "string",
              "enum": [
                "direct",
                "unobserved",
                "spotted"
              ]
            },
            "halfRange": {
              "type": "boolean"
            },
            "heavy": {
              "type": "boolean"
            },
            "charged": {
              "type": "boolean"
            },
            "hitModifier": {
              "type": "integer",
              "minimum": -100,
              "maximum": 100
            },
            "psychicHitModifier": {
              "type": "integer",
              "minimum": 0,
              "maximum": 100
            },
            "positiveWoundModifier": {
              "type": "integer",
              "minimum": -100,
              "maximum": 100
            },
            "woundModifier": {
              "type": "integer",
              "minimum": -100,
              "maximum": 100
            },
            "hitReroll": {
              "type": "string",
              "enum": [
                "none",
                "ones",
                "failed"
              ]
            },
            "woundReroll": {
              "type": "string",
              "enum": [
                "none",
                "ones",
                "failed"
              ]
            },
            "lethal": {
              "type": "boolean"
            }
          }
        },
        "weapons": {
          "type": "object",
          "properties": {
            "all": {
              "type": "object",
              "properties": {
                "skill": {
                  "type": "integer",
                  "minimum": -10,
                  "maximum": 10
                },
                "strength": {
                  "type": "integer",
                  "minimum": -10,
                  "maximum": 10
                },
                "attacks": {
                  "type": "integer",
                  "minimum": -10,
                  "maximum": 10
                },
                "ap": {
                  "type": "integer",
                  "minimum": -10,
                  "maximum": 10
                },
                "damage": {
                  "type": "integer",
                  "minimum": -10,
                  "maximum": 10
                },
                "criticalHit": {
                  "type": "integer",
                  "minimum": 2,
                  "maximum": 6
                },
                "criticalWound": {
                  "type": "integer",
                  "minimum": 2,
                  "maximum": 6
                },
                "sustained": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 100
                    },
                    {
                      "type": "object",
                      "properties": {
                        "dice": {
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 10
                        },
                        "sides": {
                          "anyOf": [
                            {
                              "type": "number",
                              "const": 3
                            },
                            {
                              "type": "number",
                              "const": 6
                            }
                          ]
                        },
                        "bonus": {
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 100
                        }
                      },
                      "required": [
                        "dice",
                        "sides",
                        "bonus"
                      ]
                    }
                  ]
                },
                "lethal": {
                  "type": "boolean"
                },
                "devastating": {
                  "type": "boolean"
                },
                "damageReroll": {
                  "type": "boolean"
                }
              }
            },
            "ranged": {
              "type": "object",
              "properties": {
                "skill": {
                  "type": "integer",
                  "minimum": -10,
                  "maximum": 10
                },
                "strength": {
                  "type": "integer",
                  "minimum": -10,
                  "maximum": 10
                },
                "attacks": {
                  "type": "integer",
                  "minimum": -10,
                  "maximum": 10
                },
                "ap": {
                  "type": "integer",
                  "minimum": -10,
                  "maximum": 10
                },
                "damage": {
                  "type": "integer",
                  "minimum": -10,
                  "maximum": 10
                },
                "criticalHit": {
                  "type": "integer",
                  "minimum": 2,
                  "maximum": 6
                },
                "criticalWound": {
                  "type": "integer",
                  "minimum": 2,
                  "maximum": 6
                },
                "sustained": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 100
                    },
                    {
                      "type": "object",
                      "properties": {
                        "dice": {
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 10
                        },
                        "sides": {
                          "anyOf": [
                            {
                              "type": "number",
                              "const": 3
                            },
                            {
                              "type": "number",
                              "const": 6
                            }
                          ]
                        },
                        "bonus": {
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 100
                        }
                      },
                      "required": [
                        "dice",
                        "sides",
                        "bonus"
                      ]
                    }
                  ]
                },
                "lethal": {
                  "type": "boolean"
                },
                "devastating": {
                  "type": "boolean"
                },
                "damageReroll": {
                  "type": "boolean"
                }
              }
            },
            "melee": {
              "type": "object",
              "properties": {
                "skill": {
                  "type": "integer",
                  "minimum": -10,
                  "maximum": 10
                },
                "strength": {
                  "type": "integer",
                  "minimum": -10,
                  "maximum": 10
                },
                "attacks": {
                  "type": "integer",
                  "minimum": -10,
                  "maximum": 10
                },
                "ap": {
                  "type": "integer",
                  "minimum": -10,
                  "maximum": 10
                },
                "damage": {
                  "type": "integer",
                  "minimum": -10,
                  "maximum": 10
                },
                "criticalHit": {
                  "type": "integer",
                  "minimum": 2,
                  "maximum": 6
                },
                "criticalWound": {
                  "type": "integer",
                  "minimum": 2,
                  "maximum": 6
                },
                "sustained": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 100
                    },
                    {
                      "type": "object",
                      "properties": {
                        "dice": {
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 10
                        },
                        "sides": {
                          "anyOf": [
                            {
                              "type": "number",
                              "const": 3
                            },
                            {
                              "type": "number",
                              "const": 6
                            }
                          ]
                        },
                        "bonus": {
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 100
                        }
                      },
                      "required": [
                        "dice",
                        "sides",
                        "bonus"
                      ]
                    }
                  ]
                },
                "lethal": {
                  "type": "boolean"
                },
                "devastating": {
                  "type": "boolean"
                },
                "damageReroll": {
                  "type": "boolean"
                }
              }
            }
          }
        },
        "target": {
          "type": "object",
          "properties": {
            "toughness": {
              "type": "integer",
              "minimum": -10,
              "maximum": 10
            },
            "save": {
              "type": "integer",
              "minimum": -10,
              "maximum": 10
            },
            "invulnerable": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 2,
                  "maximum": 6
                },
                {
                  "type": "null"
                }
              ]
            },
            "saveReroll": {
              "type": "string",
              "enum": [
                "ones",
                "failed"
              ]
            },
            "damageReduction": {
              "type": "boolean"
            },
            "halveDamage": {
              "type": "boolean"
            }
          }
        },
        "feelNoPain": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 2,
              "maximum": 6
            },
            {
              "type": "null"
            }
          ]
        }
      }
    },
    "weaponModes": {
      "description": "Weapon mode choices by key from a previous result, such as a frag or krak profile.",
      "type": "object",
      "propertyNames": {
        "type": "string",
        "maxLength": 400
      },
      "additionalProperties": {
        "type": "string",
        "maxLength": 200
      }
    }
  },
  "required": [
    "attacker",
    "defender"
  ]
}

Similar websites

wfsim.app

wfsim.app

A Warframe calculator that simulates the fight instead of estimating it — builder, simulator, optimizer. Every formula cites its source, and the golden tests ar…

live Unverified Media & Personal
101 tools A12 / Act89 / T0 Not yet scored Seen 2026-11-05
enemies_targets_list enemies_target_new enemies_target_copy enemies_target_open enemies_target_set
Inspect tools
commonplace-webmcp.vercel.app

commonplace-webmcp.vercel.app

Commonplace is an editable social reading space built for people and their browser agents.

live Unverified Media & Personal Transact tools
89 tools A10 / Act77 / T2 Not yet scored Seen 2026-11-05
commonplace.get_page_state commonplace_get_page_state commonplace.get_reading_list commonplace_get_reading_list commonplace.get_profile
Inspect tools
pixelforge-studio.appcaster.chatgpt.site

pixelforge-studio.appcaster.chatgpt.site

A professional browser pixel-art editor for drawing, frame animation, palettes, sprite sheets, GIF export, and WebMCP automation.

live Unverified Media & Personal Transact tools
88 tools A12 / Act70 / T6 Not yet scored Seen 2026-11-05
plan_text_creation get_text_creation_status create_from_text claim_text_creation update_text_creation
Inspect tools
pixelite.taskcraft.site

pixelite.taskcraft.site

Pixelite

live Unverified Media & Personal Transact tools
83 tools A4 / Act78 / T1 Not yet scored Seen 2026-11-05
get_document_info list_layers get_active_layer get_selection_info new_document
Inspect tools

Related on Influzer