DIFFICULTY

Keywords: DIFFICULTY, NPC_DIFFICULTY, MOB_DIFFICULTY

Category: Information

=== STAFF REFERENCE === Description: Every non-custom NPC has a Difficulty setting and a Level. Together these determine all of the mob's combat stats: attributes, HP, armor, and DPS. The system has two layers that combine multiplicatively. Layer 1: Rank Table (Level-Based) The mob's level maps to one of 11 ranks. Stats are interpolated smoothly within each rank band, so a level 25 mob is stronger than a level 21 mob even though both fall in the same rank. Rank 1 .... levels 1-9 Rank 2 .... levels 10-19 Rank 3 .... levels 20-29 Rank 4 .... levels 30-39 Rank 5 .... levels 40-49 Rank 6 .... levels 50-59 Rank 7 .... levels 60-69 Rank 8 .... levels 70-79 Rank 9 .... levels 80-89 Rank 10 .... levels 90-99 Rank 11 .... level 100 Each rank defines base values for all 8 attributes (STR, HEA, COO, AGI, PER, KNO, FTH, LCK), plus Base HP, Bonus HP (random variance), Armor %, and DPS. These values differ by race to preserve faction flavor: humans favor Coordination, zombies favor Strength/Health, demons favor Agility. Layer 2: Difficulty Multiplier Each mob's Difficulty setting applies a multiplier to the rank values: Difficulty Attrs HP Armor DPS Custom ........ -- -- -- -- (uses hand-set values) Very Easy ..... 0.85x 0.65x 0.70x 0.75x Easy .......... 0.90x 0.80x 0.85x 0.90x Normal ........ 1.00x 1.00x 1.00x 1.00x Hard .......... 1.12x 1.30x 1.15x 1.12x Very Hard ..... 1.20x 1.50x 1.25x 1.20x How Stats Are Computed: Final value = interpolated rank value x difficulty multiplier Example: A level 55 Human at Hard difficulty: - Rank 6 COO base is 390. Interpolated at level 55: 401 - Hard attrs multiplier: 1.12x - Final COO: 401 x 1.12 = 449 HP Calculation: NPC max HP = (BaseHP x HP_mult) + random(0 .. BonusHP x HP_mult) Example: Level 55 Human, Hard difficulty: - Interpolated BaseHP: 973, BonusHP: 377 - Hard HP multiplier: 1.30x - HP range: 1264 to 1754 DPS to Damage: Actual damage per hit = DPS x Attack Speed / Rate of Fire Default attack speed is 5.0, default ROF is 1. A level 55 Hard mob with DPS 90 deals: 90 x 5.0 / 1 = 450 per hit (before armor reduction and damage variance). Armor: Armor is a flat percentage reduction applied to all damage types. damage_after_armor = damage - (damage x armor%) / 100 Unlike previous versions, armor now scales with difficulty. A Very Easy mob has 70% of its rank armor; Very Hard has 125%. Custom Difficulty: Setting difficulty to Custom disables all automatic scaling. The mob uses whatever attributes, HP, armor, and DPS are set manually in medit. Use Custom for bosses, special encounters, or any mob that needs hand-tuned stats outside the rank system. Sample Stats at Key Levels (Normal, Human): Lvl STR HEA COO AGI HP Range Armor DPS 1 70 150 280 190 400-450 5% 40 25 100 183 335 243 630-745 10% 58 50 129 218 379 285 895-1225 17% 76 75 155 249 423 328 1135-1510 22% 92 100 200 300 500 400 1500-2150 30% 120 Notes: - Stats are computed at mob load time. Already-loaded mobs keep their current stats until their zone resets. - NPCs have no trained skills. Their effective skill for hit/dodge rolls is based purely on their attribute values. - The Difficulty field is set per-mob prototype in medit under the B) Difficulty option. === END REFERENCE ===