📖 Gear Stats Guide

How item stats, affixes, and combat formulas work in Dreadmyst — straight from the source code

⚔️ Item Data Structure

Each item in the game database (item_template) can hold up to 10 stat bonuses, defined as stat type + value pairs.

Equipment Slots

Slot ID Notes
Helm 1
Necklace 2
Chest 3
Belt 4
Legs 5
Feet 6
Hands 7 Gloves
Ring 8 2 ring slots available
Weapon 9 Main hand
Shield 10 Offhand / shield
Ranged 11 Bow

Armor Types

Type ID
Cloth 1
Leather 2
Mail 3
Plate 4

Weapon Types

Type ID Material Tiers
Sword 1 Wood → Iron → Steel → Mithril → Adamantine
Axe 2
Mace 3
Dagger 4
Staff 5
Bow 6
Crossbow 7
Wand 8
Gun 9
Polearm 10
Fist 11

Item Qualities

Quality ID Color
Poor 0 Gray
Common 1 White
Uncommon 2 Green
Rare 3 Blue
Epic 4 Purple
Legendary 5 Orange

📊 All 42 Stats

ID Stat Name Category
1 Mana Resource
2 Health Resource
3 Armor Value Defense
4 Strength Primary
5 Agility Primary
6 Willpower Primary
7 Intelligence Primary
8 Courage Primary
9 Regeneration Regen
10 Meditate Regen
11 Weapon Value Offense
12 Melee Cooldown Speed
13 Ranged Weapon Value Offense
14 Ranged Cooldown Speed
15 Melee Critical Crit
16 Ranged Critical Crit
17 Spell Critical Crit
18 Dodge Rating Avoidance
19 Block Rating Avoidance
20 Resist Frost Resistance
21 Resist Fire Resistance
22 Resist Shadow Resistance
23 Resist Holy Resistance
24 Bartering Utility
25 Lockpicking Utility
26 Perception Utility
27 Staff Skill Skill
28 Mace Skill Skill
29 Axes Skill Skill
30 Sword Skill Skill
31 Ranged Skill Skill
32 Dagger Skill Skill
33 Wand Skill Skill
34 Shield Skill Skill
35 NPC Melee Skill Skill
36 NPC Ranged Skill Skill
37 Parry Chance Bonus Avoidance
38 Block Chance Bonus Avoidance
39 Dodge Chance Bonus Avoidance
40 Parry Rating Avoidance
41 Fortitude Defense

✨ Affix System

Items can have affixes (prefix/suffix modifiers) that add bonus stats. The bonus is scaled by the item's affix score.

Affix Bonus = affix_base_value × affixScore ÷ 100

Affix Quality Tiers

Affix Score Tier Name Multiplier Effect
≥ 5 Legendary 5× base ÷ 100
≥ 4 Epic 4× base ÷ 100
≥ 3 Superior 3× base ÷ 100
≥ 2 Fine 2× base ÷ 100
< 2 (none) 1× base ÷ 100
Example: An affix with base Strength value of 200 on an item with affixScore 4 (Epic) gives: 200 × 4 ÷ 100 = +8 Strength

🛡️ Equipment Stat Bonuses

Your total stat bonuses from gear are calculated by summing all stat values across all 13 equipment slots:

Helm, Weapon (main hand), Offhand/Shield, Ranged, Chest, Necklace, Hands, Ring 1, Ring 2, Feet, Legs, Belt

⚠️ Broken Items: Items with 0 durability provide no stat bonuses. Keep your gear repaired!
Total Stat = Σ (statValue[0..9]) for each equipped item with durability > 0

⚔️ Combat Formulas

💥 Damage
🛡️ Armor
🔮 Resistance
🎯 Hit Roll
🏃 Avoidance
📋 Constants

Physical Damage

Base Damage = spell_effect_value + Weapon Value + (Strength ÷ 10)
// 1 bonus damage per 10 Strength

Magical Damage

Base Damage = spell_effect_value + (Intelligence ÷ 20)
// 1 bonus damage per 20 Intelligence
Damage Variance: All final damage has a ±10% random variance applied. Minimum damage is always 1.

Armor Damage Reduction (Physical Only)

Reduction % = armor ÷ (armor + 8000)
Final Damage = base × (1 − reduction)
// Capped at 75% reduction
Armor Reduction Effective HP ×
50 0.6% 1.01×
100 1.2% 1.01×
500 5.9% 1.06×
1,000 11.1% 1.13×
2,000 20.0% 1.25×
4,000 33.3% 1.50×
8,000 50.0% 2.00×
16,000 66.7% 3.00×
24,000 75.0% (cap) 4.00×

Magic Resistance Reduction

Resistance reduces magic damage from its specific school: Frost, Fire, Shadow, Holy

Reduction % = resistance ÷ (resistance + 100)
// Capped at 75% reduction
Resistance Reduction
10 9.1%
25 20.0%
50 33.3%
100 50.0%
200 66.7%
300 75.0% (cap)

Resist Chance (Full Resist)

Resist Chance % = (level_diff × 3) + (resistance ÷ 10)
// Partial resist = 50% damage

Hit Roll Order

When an attack is made, the server rolls through these checks in order:

Miss Dodge Parry Block Glancing Resist Crit Hit
Glancing Blow: When target is 3+ levels higher, there's a 10% per level beyond 2 chance of a glancing blow (70% damage).

Avoidance Mechanics

Type Base % Stats That Contribute Requirement
Dodge 5% DodgeRating + DodgeChanceBonus
Parry 5% ParryRating + ParryChanceBonus Weapon equipped
Block 0% BlockRating + BlockChanceBonus + ShieldSkill÷5 Shield equipped
All avoidance chances are capped at 75%. Block reduces damage by 30% rather than fully avoiding it.

Combat Constants

Constant Value
Base Hit Chance 95%
Miss per Level Difference 5%
Base Crit Chance 5%
Crit Multiplier 2.0×
Glancing Blow Multiplier 0.70×
Block Damage Reduction 30%
Partial Resist Reduction 50%
Damage Variance ±10%
Minimum Damage Floor 1
Max Level Diff for Combat 10

💰 Loot Generation

Gold Drops

Gold = NPC_Level × 2 + random(0, 5)

Item Drops

Each loot table entry has a chance value (1–100). The server rolls random(1, 100) — if the roll is ≤ chance, the item drops.

Stack count is randomized between count_min and count_max.

Loot Priority: The killer gets first dibs. After a free-for-all timer expires, anyone nearby can loot.

🧙 Classes

ID Class
1 Paladin
2 Mage
3 Ranger
4 Bishop