Skip to content

Abnormality

VersionStatus
v92Full
v90-
v86-

Abnormality.xml defines buffs and debuffs: status effects applied to entities with attributes controlling type, duration, stacking, visibility, and nested effect children that define stat modifications and visual effects.

Abnormality data is organized across regional variant XML files:

SuffixFile
(base)Abnormality.xml
_CNAbnormality_CN.xml
_EPAbnormality_EP.xml
_JPAbnormality_JP.xml
_KRAbnormality_KR.xml
_NAEUAbnormality_NAEU.xml
_RUSAbnormality_RUS.xml
_THAAbnormality_THA.xml
_TWAbnormality_TW.xml

Entity: abnormalities Operations: create, update, delete, upsert


spec:
version: "1.0"
schema: v92
abnormalities:
create:
- id: 100001
name: "CritDamageBoost"
kind: 1
isBuff: true
level: 10
time: 30000
priority: 1
isShow: "True"
spec:
version: "1.0"
schema: v92
abnormalities:
create:
- id: 100002
name: "DefenseAura"
kind: 2
isBuff: true
level: 5
time: 60000
priority: 2
isShow: "True"
effects:
- type: 3
method: 1
value: "200"
- type: 5
method: 2
value: "500"
min: 10.5
max: 20.5
spec:
version: "1.0"
schema: v92
abnormalities:
update:
- id: 100001
changes:
time: 60000
level: 20

Providing effects in an update replaces all existing effect children.

spec:
version: "1.0"
schema: v92
abnormalities:
update:
- id: 100002
changes:
effects:
- type: 10
method: 3
value: "999"

Creates the entry if it doesn’t exist, or updates it if it does.

spec:
version: "1.0"
schema: v92
abnormalities:
upsert:
- id: 100003
name: "SpeedBuff"
isBuff: true
time: 15000
spec:
version: "1.0"
schema: v92
abnormalities:
delete:
- 100001

PropertyTypeRequiredSinceDescription
idintYesv92Unique abnormality identifier
namestringNov92Internal abnormality name
kindintNov92Abnormality kind classification
categorystringNov92Content category string
propertyintNov92Property type code (1-4)
groupAbnormalityGroupNov92Abnormality group classification
PropertyTypeRequiredSinceDescription
isBuffbooleanNov92Whether this is a buff (true) or debuff (false)
levelintNov92Abnormality level
priorityintNov92Display and override priority
isShowAbnormalityIsShowNov92UI visibility mode
mobSizeAbnormalityMobSizeNov92Target mob size filter
elementTypeintNov92Element type code
PropertyTypeRequiredSinceDescription
timeintNov92Duration in milliseconds
infinitybooleanNov92Whether duration is infinite. Structural default: false.
realTimebooleanNov92Whether to use real time instead of game time
maintainTimebooleanNov92Whether to maintain time across zone changes
accumulateTimebooleanNov92Whether duration accumulates across applications
accumulateTimeIdintNov92Shared accumulation group ID
maxAccumulateTimeintNov92Maximum accumulated duration
PropertyTypeRequiredSinceDescription
maxStackCountintNov92Maximum stack count
clearStackbooleanNov92Whether to clear stacks on reapplication. Structural default: false.
infinityStackbooleanNov92Whether stacks are unlimited
startStackCountintNov92Initial stack count on first application
stackCountShareIdintNov92Shared stack count group ID
PropertyTypeRequiredSinceDescription
noRefreshbooleanNov92Whether reapplication does not refresh duration
noOverwritebooleanNov92Whether existing instance cannot be overwritten
cancelConditionstringNov92Condition that cancels the abnormality
cancelConditionProbintNov92Cancel condition probability
cancelConditionValuestringNov92Cancel condition threshold value
bySkillCategorystringNov92Required skill category to trigger
judgmentOncebooleanNov92Whether effect triggers only once
isStancebooleanNov92Whether this is a stance-type abnormality
saveImmediatebooleanNov92Whether to save state immediately
canHoldbooleanNov92Whether effect can be held
isTransformbooleanNov92Whether this is a transformation effect
switchOffSkillTemplateIdintNov92Skill template ID to deactivate
PropertyTypeRequiredSinceDescription
hideBuffFailMessagebooleanNov92Whether to hide buff application failure messages. Structural default: false.
isHideOnRefreshbooleanNov92Whether to hide icon on duration refresh. Structural default: false.
isHideOnRaidbooleanNov92Whether to hide in raid UI
showPartybooleanNov92Whether to show on party frames
showOtherUsersbooleanNov92Whether to show on other players
useDamageFontbooleanNov92Whether to use damage font for values
hitEffectTargetTypestringNov92Hit effect visual target type
isBlockOtherSpecialShaderbooleanNov92Whether to block other special shaders
PropertyTypeRequiredSinceDescription
notCareBattleFieldbooleanNov92Whether to persist across battlefields
notCareDeathbooleanNov92Whether to persist through death. Structural default: false.
skipByReactionbooleanNov92Whether to skip reaction checks. Structural default: false.
balancedByTargetCountbooleanNov92Whether effect scales by target count
peaceOnlybooleanNov92Whether effect applies only in peace zones. Structural default: false.
isKeepingWorldChangebooleanNov92Whether to keep across world changes
isSameInvokerPartyAndWorldbooleanNov92Whether invoker must be in same party and world
needHaveAbnormalIdintNov92Required prerequisite abnormality ID
PropertyTypeRequiredSinceDescription
levelOverintNov92Minimum character level required
levelUnderintNov92Maximum character level allowed
PropertyTypeRequiredSinceDescription
effectslist[nested]Nov92List of AbnormalityEffect children. See effect properties below.

Each effect in the effects list defines a stat modification or visual effect.

PropertyTypeRequiredSinceDescription
typeintYesv92Effect type code
methodintYesv92Application method code
valuestringYesv92Effect value
mindecimalNov92Minimum value. Structural default: 0.
maxdecimalNov92Maximum value. Structural default: 0.
variationdecimalNov92Value variation range. Structural default: 0.
tickIntervaldecimalNov92Tick rate in milliseconds. Structural default: 0.
defenceBonusRateintNov92Defence bonus rate modifier
PropertyTypeRequiredSinceDescription
effectIdintNov92Primary effect ID
effectPartstringNov92Body part for effect attachment
overlayEffectIdintNov92Overlay effect ID
appearEffectIdintNov92Effect played on appear
disappearEffectIdintNov92Effect played on disappear
damageEffectIdintNov92Effect played on damage tick
effectTimeintNov92Effect duration override
attackEffectIdintNov92Effect played on attack
arcaneFxIdintNov92Arcane FX system ID
PropertyTypeRequiredSinceDescription
shaderOnMystringNov92Shader applied on self
shaderOnOtherstringNov92Shader applied on enemies
shaderOnAllystringNov92Shader applied on allies
appearShaderstringNov92Shader played on appear
disappearShaderstringNov92Shader played on disappear
PropertyTypeRequiredSinceDescription
postProcessIdintNov92Post-process effect ID
postProcessEffectIdsintNov92Additional post-process effect IDs
postProcessAppearTimeintNov92Post-process appear transition time
postProcessDisappearTimeintNov92Post-process disappear transition time
isStartPostProcessEffectbooleanNov92Whether to start post-process on apply
PropertyTypeRequiredSinceDescription
linkEffectResourcestringNov92Linked effect resource path
linkEffectDurationdecimalNov92Linked effect duration
isEnemyCheckintNov92Enemy check type code

ValueSinceDescription
Truev92Show icon and system message
Falsev92Hidden from UI
OnlyIconv92Show icon only, no system message
OnlySystemMessagev92Show system message only, no icon
OnlyIconNoCoolTimev92Show icon without cooldown display
ValueSinceDescription
allv92All mob sizes
anyv92Any mob size
playerv92Player-sized targets only
largev92Large mobs only
mediumv92Medium mobs only
smallv92Small mobs only
ValueSinceDescription
skillv92Skill-related abnormality
etcv92Miscellaneous abnormality
dopingv92Consumable buff
nonev92No group
ValueSinceDescription
1v92Property type 1
2v92Property type 2
3v92Property type 3
4v92Property type 4

Abnormality.xml
└── Abnormality (root)
└── Abnormal (0..∞)
@id (required)
@name?
@kind?
@category?
@property?
@isBuff?
@level?
@time?
@infinity (structural default: false)
@hideBuffFailMessage (structural default: false)
@isHideOnRefresh (structural default: false)
@notCareDeath (structural default: false)
@clearStack (structural default: false)
@peaceOnly (structural default: false)
@skipByReaction (structural default: false)
@... (53 total attributes)
└── AbnormalityEffect (0..∞)
@type (required)
@method (required)
@value (required)
@min (structural default: 0)
@max (structural default: 0)
@variation (structural default: 0)
@tickInterval (structural default: 0)
@... (30 total attributes)

  • Effects use clear-and-replace: Providing effects in an update removes all existing effect children and creates new ones. Omitting effects preserves existing children.
  • Effect required fields: Each effect requires type, method, and value. Missing any produces an error.
  • Structural defaults on create: Seven boolean attributes are set to false automatically: hideBuffFailMessage, infinity, isHideOnRefresh, notCareDeath, clearStack, peaceOnly, skipByReaction.
  • Effect structural defaults: Four decimal attributes are set to 0 on each effect: min, max, variation, tickInterval.
  • String-typed enums: isShow, mobSize, and group are string values, not integers. Values are matched case-insensitively, so isShow: true, isShow: True, and isShow: "True" are all accepted.
  • Regional variants: Data is spread across regional variant files. The pipeline resolves the correct file automatically.
  • ID uniqueness: Abnormality IDs must be unique within each XML file.
  • Companion schema: AbnormalityIconData uses the same abnormality IDs for icon mappings.