Skip to content

SavingThrowRolledEvent

A saving throw resolved; roll and required are None for auto-save defenses.

Full documentation: SavingThrowRolledEvent. Wire type: saving_throw_rolled.

Default visibility: player

Message codes: combat.save.auto, combat.save.failed, combat.save.passed

JSON Schema

{
  "$defs": {
    "Visibility": {
      "description": "Who may see an event.\n\nThe wire values are `\"player\"` and `\"referee\"` \u2014 lowercase, serialized into every\nevent; changing them is a `schema_version` bump.",
      "enum": [
        "player",
        "referee"
      ],
      "title": "Visibility",
      "type": "string"
    }
  },
  "description": "A saving throw resolved; `roll` and `required` are `None` for auto-save defenses.\n\nEmitted by [`saving_throw`][osrlib.core.combat.saving_throw]. `code` is\n`combat.save.passed` or `combat.save.failed` for a rolled save, or\n`combat.save.auto` when a defense auto-passes it.",
  "properties": {
    "code": {
      "title": "Code",
      "type": "string"
    },
    "visibility": {
      "$ref": "#/$defs/Visibility",
      "default": "player"
    },
    "event_type": {
      "const": "saving_throw_rolled",
      "default": "saving_throw_rolled",
      "title": "Event Type",
      "type": "string"
    },
    "target_id": {
      "title": "Target Id",
      "type": "string"
    },
    "category": {
      "title": "Category",
      "type": "string"
    },
    "roll": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Roll"
    },
    "modifier": {
      "default": 0,
      "title": "Modifier",
      "type": "integer"
    },
    "required": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Required"
    }
  },
  "required": [
    "code",
    "target_id",
    "category"
  ],
  "title": "SavingThrowRolledEvent",
  "type": "object"
}