Skip to content
S3ctor’s S3cret St4sh
api

Location and Identity Conditions

Match cells, coordinates, content files, object types, records, and generated objects.

These conditions inspect the target object's cell or identity. Sequence forms are OR-lists unless noted otherwise.

cell

Shape: cell: string | string[]

Exact match against object.cell.name or object.cell.id. The comparison is not a substring match. Use the cell spelling exposed by the active content; the handler does not perform a case-insensitive comparison for this condition.

cell: "Balmora, Caius Cosades' House"

cell_match

Shape: cell_match: string | string[]

Case-insensitive plain substring match against the cell name or ID. Each listed substring is an alternative.

cell_match: tomb

coords

Shape: coords: [{ x: integer, y: integer }, ...]

Matches an exterior cell's exact grid coordinates. Interior and non-exterior objects do not match. The sequence is required because multiple coordinate tables are alternatives.

coords:
  - x: -2
    y: -2

content_file

Shape: content_file: string | string[]

Matches the object's originating content file. Values are normalized by the module loader and then compared as an exact content-file value. An object without a content file matches the special value GENERATED.

content_file: Morrowind.esm

exterior

Shape: exterior: boolean

Matches true for exterior cells and false for non-exterior cells.

exterior: false

quasi_exterior

Shape: quasi_exterior: boolean

Matches the cell's OpenMW isQuasiExterior flag. This is separate from exterior.

quasi_exterior: true

region

Shape: region: string | string[]

Case-insensitive exact match against the cell region. For an interior without a direct region, SSS may infer the region from the nearest teleport door leading to an exterior cell. If no region can be found, the condition fails.

region: ashlands region

worldspace

Shape: worldspace: string | string[]

Case-insensitive exact match against the object's cell worldspace ID. Objects without a worldspace ID do not match.

worldspace: morrowind

object_type

Shape: object_type: string | string[]

Matches an exact OpenMW type name through types[...]. Common values include Container, Creature, LevelledCreature, Weapon, Armor, NPC, Static, Door, and Activator. A listed type is an alternative. An unknown type is an error, not a non-match.

object_type:
  - Door
  - Container

record_id

Shape: record_id: string | string[]

Lua-pattern match against the object's record ID. An exact record ID naturally matches; ^ and $ can anchor a pattern, for example ^bonewalker$. Listed patterns are alternatives. Record IDs are normalized by the loader.

record_id: "^in_tomb_all_lev%+0$"

Because this is Lua-pattern matching rather than plain substring matching, escape Lua pattern characters such as + with %.

content_file_target

Shape: content_file_target: { ContentFile: [referenceNumber, ...] }

Matches only when both the object's content file and its local reference number match. Content-file keys are alternatives; reference numbers under a matching key are alternatives. This is the current reference-number condition; there is no standalone ref_num condition.

content_file_target:
  Morrowind.esm:
    - 67647

generated_record

Shape: generated_record: boolean

Matches whether the object's record was dynamically created rather than supplied by a plugin. It is distinct from generated_object.

generated_record: true

generated_object

Shape: generated_object: boolean

Matches whether the object instance has no originating content file. true means dynamically created; false means an original content placement.

generated_object: false