Creates the passivity and its display string in a single operation. The passivityStrings block generates a corresponding entry in StrSheet_Passivity.xml with the same ID. The name field is required for create and upsert; tooltip is optional.
Inline passivity string block. Generates a StrSheet_Passivity entry with the same ID.
The passivityStrings block contains:
Property
Type
Required
Description
name
string
Yes (create/upsert)
Display name shown to players
tooltip
string
No
Tooltip description shown on hover
Available on create, update, and upsert operations. For update, place passivityStrings inside changes. The name field is required on create/upsert (E410 error if missing) but optional on updates.
Category is required: Every passivity operation must specify a category to target the correct file. There is no default category.
Delete format changed: Delete operations require an object with category and id, not just an ID value.
14 required data attributes: Create and upsert operations must specify all 14 required attributes: id, name, kind, type, method, condition, conditionValue, conditionCategory, value, prob, mobSize, judgmentOnce, tickInterval, abnormalityCategory, abnormalityKind. Missing any produces an E200 error.
Smart defaults:unionPassivity is always set to false (hard default, not exposed in YAML). balancedByTargetCount defaults to false if omitted (soft default, overridable).
Probability range: The prob value should be between 0.0 and 1.0, where 1.0 means 100% chance.
Tick interval: A tickInterval of 0 means no periodic ticking; positive values indicate milliseconds between ticks.
String-based enums: Properties like mobSize and conditionCategory are strings, not integers.
ID uniqueness: Passivity IDs must be unique within each category file.
Companion schemas: PassivityIconData.xml and StrSheet_Passivity.xml use the same passivity IDs for icon mappings and player-facing text respectively. Use passivityStrings inline block to create both in a single operation.
passivityStrings name required (E410): The name field is required in passivityStrings for create and upsert operations. Omitting it produces an E410 error. Updates do not require name.
Inline within enchant categories: Passivities can also be defined inline within enchantPassivityCategories operations using the passivities block. See EquipmentEnchantData (Passivity Categories) documentation.