Skip to content

CriticalAdjustByWeapon

CriticalAdjustByWeapon.xml defines critical hit rate adjustment tables per weapon. Each entry maps a weapon template to a set of per-monster-level critical rate modifiers, filtered by monster type.

A global CommonSetting element controls which continents the adjustments apply to.

VersionStatus
v92Full
v90-
v86-

Entity: criticalAdjustByWeapon Operations: create, update, delete, upsert, config


spec:
version: "1.0"
schema: v92
criticalAdjustByWeapon:
create:
- itemTemplateId: 500
monsterTypeList:
- NORMAL
- ELITE
criRates:
- monsterLevel: 1
rate: 0.15
- monsterLevel: 5
rate: 0.25
criticalAdjustByWeapon:
create:
- itemTemplateId: 501
monsterTypeList: ALL
criRates:
- monsterLevel: 1
rate: 0.1

ALL expands to NORMAL,FREENAMED,ELITE.

spec:
version: "1.0"
schema: v92
criticalAdjustByWeapon:
update:
- itemTemplateId: 500
changes:
monsterTypeList:
- BOSS
criRates:
- monsterLevel: 10
rate: 0.5
spec:
version: "1.0"
schema: v92
criticalAdjustByWeapon:
delete:
- 500
spec:
version: "1.0"
schema: v92
criticalAdjustByWeapon:
upsert:
- itemTemplateId: 999
monsterTypeList: ALL
criRates:
- monsterLevel: 1
rate: 0.1
spec:
version: "1.0"
schema: v92
criticalAdjustByWeapon:
config:
useLimitContinent: "116,117,118"

AttributeTypeSinceDescription
itemTemplateIdintv92Weapon template identifier (key)
AttributeTypeSinceDescription
monsterTypeListlist[string]v92Monster types this adjustment applies to. Accepts ALL as shorthand for all types.
criRateslist[CriRate]v92Per-monster-level critical rate entries

Each entry defines the critical rate modifier for a specific monster level.

AttributeTypeSinceRequiredDescription
monsterLevelintv92YesTarget monster level
ratedecimalv92YesCritical rate adjustment value
AttributeTypeSinceDescription
useLimitContinentstringv92Comma-separated continent IDs where adjustments apply

ValueSinceDescription
NORMALv92Normal monsters
FREENAMEDv92Free-named (named) monsters
ELITEv92Elite monsters
ALLv92Shorthand — expands to NORMAL,FREENAMED,ELITE

CriticalAdjustByWeapon.xml
<CriRateAdjustByWeapon>
├── CommonSetting
│ @useLimitContinent
└── CriRateSet (0..∞)
@itemTemplateId (key) @monsterTypeList
└── CriRate (0..∞)
@monsterLevel @rate

  • Root element name mismatch: The XML root element is CriRateAdjustByWeapon, not CriticalAdjustByWeapon. The filename and DSL section use CriticalAdjustByWeapon.
  • Config vs entity operations: Use config: for CommonSetting attributes (useLimitContinent). Use create/update/delete/upsert for CriRateSet entries.
  • Clear-and-replace semantics: Specifying criRates on update or upsert replaces all existing CriRate children. Omitting it preserves existing entries.
  • Delete by int: Delete takes a flat list of itemTemplateId integers, not objects.
  • No intermediate wrapper: CriRateSet elements are direct children of the root (no list wrapper element).