Skip to content

EquipItem

Equip an item from a member's item list (zero time).

Full documentation: EquipItem. Wire type: equip_item.

Legal session modes: exploring, town

JSON Schema

{
  "description": "Equip an item from a member's item list (zero time).\n\nLegal in town and while exploring. Class armour and weapon policies validate\nbefore anything changes. `item_id` is the magic item's instance id for a magic\nitem, or the catalog id (from [`load_equipment`][osrlib.data.load_equipment] \u2014\nsee [the equipment id index][equipment-index]) for a mundane one, which has no\nper-instance id.\n\nModes:\n    `town`, `exploring`\n\nRejections:\n    - `session.command.wrong_mode` \u2014 an encounter or battle is underway, or the\n      game is over.\n    - `session.command.unknown_member` \u2014 `character_id` names no party member.\n    - `session.command.member_incapacitated` \u2014 the member cannot act.\n    - `exploration.item.not_carried` \u2014 nothing by that id in the item list.\n    - `items.equip.armour_forbidden`, `items.equip.armour_not_allowed`,\n      `items.equip.shield_forbidden`, `items.equip.weapon_not_allowed`,\n      `items.equip.weapon_forbidden` \u2014 the class policy forbids it.\n    - `items.equip.two_handed_with_shield` \u2014 a two-handed weapon and a shield\n      cannot pair.\n    - `items.equip.not_equippable` \u2014 potions, scrolls, ammunition, and plain\n      gear without a combat use do not equip.\n    - `items.equip.not_usable` \u2014 the magic device is not usable by this class.\n    - `items.ring.hands_full` \u2014 two rings are already worn.\n\nEvents:\n    Usually none. Equipping a worn magic item can attach its effects\n    ([`EffectAttachedEvent`][osrlib.core.events.EffectAttachedEvent]); a cursed\n    ring identifies and reveals at wearing\n    ([`ItemIdentifiedEvent`][osrlib.crawl.events.ItemIdentifiedEvent],\n    [`CurseRevealedEvent`][osrlib.crawl.events.CurseRevealedEvent]).",
  "properties": {
    "command_type": {
      "const": "equip_item",
      "default": "equip_item",
      "title": "Command Type",
      "type": "string"
    },
    "character_id": {
      "title": "Character Id",
      "type": "string"
    },
    "item_id": {
      "title": "Item Id",
      "type": "string"
    }
  },
  "required": [
    "character_id",
    "item_id"
  ],
  "title": "EquipItem",
  "type": "object"
}