Item stat properties
Item stat properties
Available from 0.1.9.
This is the schema of Item type stats, not a claim that every property is writable for every type. Call getItemStatDefinitions and require writable=true. An absent field is not supported for that family. The table includes two reserved, explicitly nonwritable fields so scripts can handle them correctly.
Property reference
| Property | Item family | Range | Integer | Meaning / restriction |
|---|---|---|---|---|
damage |
Melee, Ranged, Ammunition | 0..100000 | no | Base contribution, not final HP loss. Ammunition adds to the weapon. |
resistanceEdge |
Armor, Jewelry | 0..100000 | yes | Protection against the named damage channel; not a percentage. |
resistanceBlunt |
Armor, Jewelry | 0..100000 | yes | Protection against the named damage channel; not a percentage. |
resistancePoint |
Armor, Jewelry | 0..100000 | yes | Protection against the named damage channel; not a percentage. |
resistanceFire |
Armor, Jewelry | 0..100000 | yes | Protection against the named damage channel; not a percentage. |
resistanceWind |
Armor, Jewelry | 0..100000 | yes | Protection against the named damage channel; not a percentage. |
resistanceIce |
Armor, Jewelry | 0..100000 | yes | Protection against the named damage channel; not a percentage. |
resistanceEnergy |
Armor, Jewelry | 0..100000 | yes | Protection against the named damage channel; not a percentage. |
bonusHealth |
Armor, Jewelry | 0..100000 | yes | Equipment contribution; base values remain separate. |
bonusMana |
Armor, Jewelry | 0..100000 | yes | Equipment contribution; base values remain separate. |
bonusStrength |
Armor, Jewelry | 0..100000 | yes | Equipment contribution; base values remain separate. |
bonusDexterity |
Armor, Jewelry | 0..100000 | yes | Equipment contribution; base values remain separate. |
bonusToughness |
Armor | 0..100000 | yes | Player armor only; NPC toughness is not connected. |
health |
Consumable | 0..100000 | no | Immediate restoration, subject to maximum HP. Special unsupported consumables reject this override. |
maxHealth |
Consumable | 0..100000 | no | Consumable increase to maximum HP; distinct from immediate healing. Special unsupported consumables reject this override. |
mana |
Consumable | 0..100000 | no | Immediate restoration, subject to maximum mana. Special unsupported consumables reject this override. |
maxMana |
Consumable | 0..100000 | no | Consumable increase to maximum mana; distinct from immediate restoration. Special unsupported consumables reject this override. |
strength |
Consumable | 0..100000 | no | Strength increase from a supported consumable. Special unsupported consumables reject this override. |
dexterity |
Consumable | 0..100000 | no | Dexterity increase from a supported consumable. Special unsupported consumables reject this override. |
alcohol |
Consumable | -100..100 | no | Configured consumable intoxication delta; only supported consumables. Special unsupported consumables reject this override. |
swampweed |
Consumable | -100..100 | no | Configured consumable effect delta; only supported consumables. Special unsupported consumables reject this override. |
periodicTicks |
Consumable | 0..3600 | yes | Common duration in one-second ticks; specific HP/mana durations take precedence. Special unsupported consumables reject this override. |
periodicHealth |
Consumable | 0..100000 | no | Health restored per tick, not the total over the whole duration. Special unsupported consumables reject this override. |
periodicMana |
Consumable | 0..100000 | no | Mana restored per tick, not the total over the whole duration. Special unsupported consumables reject this override. |
value |
Common | 0..1000000000 | yes | Native value; does not override separately authored shop/currency rules. Only when the type has an observed native field; not an automatic rewrite of custom gamemode metadata. |
weight |
Common | 0..100000 | no | Native item weight value. Only when the type has an observed native field; not an automatic rewrite of custom gamemode metadata. |
mass |
Common | 0.001..100000 | no | Native physical mass value. Only when the type has an observed native field; not an automatic rewrite of custom gamemode metadata. |
buoyancy |
Common | 0..100000 | no | Native buoyancy value. Only when the type has an observed native field; not an automatic rewrite of custom gamemode metadata. |
maxStack |
Common | 1..1000000 | yes | Does not delete, split or rearrange existing quantities. Only when the type has an observed native field; not an automatic rewrite of custom gamemode metadata. |
requiredStrength |
Melee, Ranged, Armor | 0..100000 | no | Player equip/combat requirement. Does not constrain scripted NPC equipment. |
requiredDexterity |
Melee, Ranged, Armor | 0..100000 | no | Player equip/combat requirement. Does not constrain scripted NPC equipment. |
requiredMagicCircle |
Rune | 0..6 | yes | Implemented runes only; does not grant the rune or a player skill. |
criticalMultiplier |
Melee, Ranged | 0..100 | no | NOT WRITABLE: critical/weakspot consumer is unfinished. |
superArmorDamage |
Melee, Ranged | 0..100000 | no | NOT WRITABLE: stagger/super-armor consumer is unfinished. |
projectileRange |
Ranged | 0.01..10000 | no | Metres; bow/crossbow. |
projectileGravity |
Ranged | 0..100 | no | Native archery gravity modifier; not a generic world-gravity setting. |
manaCost |
Rune | 0..100000 | no | Fixed cost per accepted release of an implemented rune; zero means free. Final in-game qualification pending. |
castDamage |
Rune | 0..100000 | no | Only implemented projectile spells; existing charge/level rules remain. |
castRange |
Rune | 0.01..10000 | no | Metres; only implemented projectile spells. |
castDuration |
Rune | 0..3600 | no | Seconds; Light owner-effect duration or Ice Block control duration only. |
periodicHealthTicks |
Consumable | 0..3600 | yes | Independent health duration in one-second ticks. Special unsupported consumables reject this override. |
periodicManaTicks |
Consumable | 0..3600 | yes | Independent mana duration in one-second ticks. Special unsupported consumables reject this override. |
damageEdge |
Melee, Ranged, Ammunition | 0..100000 | no | Explicit damage channel. Unspecified channels retain their baseline; see the guide. |
damageBlunt |
Melee, Ranged, Ammunition | 0..100000 | no | Explicit damage channel. Unspecified channels retain their baseline; see the guide. |
damagePoint |
Melee, Ranged, Ammunition | 0..100000 | no | Explicit damage channel. Unspecified channels retain their baseline; see the guide. |
damageFire |
Melee, Ranged, Ammunition | 0..100000 | no | Explicit damage channel. Unspecified channels retain their baseline; see the guide. |
damageWind |
Melee, Ranged, Ammunition | 0..100000 | no | Explicit damage channel. Unspecified channels retain their baseline; see the guide. |
damageIce |
Melee, Ranged, Ammunition | 0..100000 | no | Explicit damage channel. Unspecified channels retain their baseline; see the guide. |
damageEnergy |
Melee, Ranged, Ammunition | 0..100000 | no | Explicit damage channel. Unspecified channels retain their baseline; see the guide. |
Periodic effects
Use consistent effect/duration pairs. A nonzero periodic amount needs a nonzero duration. To disable regeneration completely, set periodicTicks, periodicHealthTicks, periodicManaTicks, periodicHealth and periodicMana to 0 together. A reserved or already-running dose keeps the captured profile; later edits/reset do not rewrite it.
Rune support
Custom mana cost applies to the implemented Light, Fire Bolt, Fist of Wind, Fire Ball, Milten Fire Ball, Ice Bolt, Ice Block and Ball Lightning runes. Damage/range additionally require a projectile spell; duration is restricted as described above. This does not enable unimplemented spells or scrolls. Native descriptions and custom paid/free/reset casting remain subject to in-game validation.
Limits are validation, not grants
All values must be real finite numbers, not numeric strings. An integer field rejects fractional values. Passing validation neither creates an item nor equips it, heals the character, grants skills or changes permissions. Reset a field to restore its baseline rather than guessing its default.