CriticalAdjustByWeapon
Overview
Section titled “Overview”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.
Version support
Section titled “Version support”| Version | Status |
|---|---|
| v92 | Full |
| v90 | - |
| v86 | - |
DSL support
Section titled “DSL support”Entity: criticalAdjustByWeapon
Operations: create, update, delete, upsert, config
Quick recipes
Section titled “Quick recipes”Create
Section titled “Create”spec: version: "1.0" schema: v92
criticalAdjustByWeapon: create: - itemTemplateId: 500 monsterTypeList: - NORMAL - ELITE criRates: - monsterLevel: 1 rate: 0.15 - monsterLevel: 5 rate: 0.25Create with ALL shorthand
Section titled “Create with ALL shorthand”criticalAdjustByWeapon: create: - itemTemplateId: 501 monsterTypeList: ALL criRates: - monsterLevel: 1 rate: 0.1ALL expands to NORMAL,FREENAMED,ELITE.
Update
Section titled “Update”spec: version: "1.0" schema: v92
criticalAdjustByWeapon: update: - itemTemplateId: 500 changes: monsterTypeList: - BOSS criRates: - monsterLevel: 10 rate: 0.5Delete
Section titled “Delete”spec: version: "1.0" schema: v92
criticalAdjustByWeapon: delete: - 500Upsert
Section titled “Upsert”spec: version: "1.0" schema: v92
criticalAdjustByWeapon: upsert: - itemTemplateId: 999 monsterTypeList: ALL criRates: - monsterLevel: 1 rate: 0.1Config
Section titled “Config”spec: version: "1.0" schema: v92
criticalAdjustByWeapon: config: useLimitContinent: "116,117,118"Properties reference
Section titled “Properties reference”Required attributes
Section titled “Required attributes”| Attribute | Type | Since | Description |
|---|---|---|---|
itemTemplateId | int | v92 | Weapon template identifier (key) |
Optional attributes
Section titled “Optional attributes”| Attribute | Type | Since | Description |
|---|---|---|---|
monsterTypeList | list[string] | v92 | Monster types this adjustment applies to. Accepts ALL as shorthand for all types. |
criRates | list[CriRate] | v92 | Per-monster-level critical rate entries |
CriRate
Section titled “CriRate”Each entry defines the critical rate modifier for a specific monster level.
| Attribute | Type | Since | Required | Description |
|---|---|---|---|---|
monsterLevel | int | v92 | Yes | Target monster level |
rate | decimal | v92 | Yes | Critical rate adjustment value |
Config attributes
Section titled “Config attributes”| Attribute | Type | Since | Description |
|---|---|---|---|
useLimitContinent | string | v92 | Comma-separated continent IDs where adjustments apply |
Enum types
Section titled “Enum types”MonsterType
Section titled “MonsterType”| Value | Since | Description |
|---|---|---|
NORMAL | v92 | Normal monsters |
FREENAMED | v92 | Free-named (named) monsters |
ELITE | v92 | Elite monsters |
ALL | v92 | Shorthand — expands to NORMAL,FREENAMED,ELITE |
XML structure
Section titled “XML structure”CriticalAdjustByWeapon.xml<CriRateAdjustByWeapon>├── CommonSetting│ @useLimitContinent└── CriRateSet (0..∞) @itemTemplateId (key) @monsterTypeList └── CriRate (0..∞) @monsterLevel @rate- Root element name mismatch: The XML root element is
CriRateAdjustByWeapon, notCriticalAdjustByWeapon. The filename and DSL section useCriticalAdjustByWeapon. - Config vs entity operations: Use
config:forCommonSettingattributes (useLimitContinent). Usecreate/update/delete/upsertforCriRateSetentries. - Clear-and-replace semantics: Specifying
criRateson update or upsert replaces all existingCriRatechildren. Omitting it preserves existing entries. - Delete by int: Delete takes a flat list of
itemTemplateIdintegers, not objects. - No intermediate wrapper:
CriRateSetelements are direct children of the root (no list wrapper element).