2Ben80: the_strongest_spell_efficiency_delta - это разница между эффективностью самого сильного заклинания после получения вторичного навыка и до его получения. Самое сильное заклинание после и до получения навыка, естественно, может быть не одним и тем же. Кроме того, необходимо учитывать тот факт, что расчёт итогового Value ведётся после повышения первичных навыков.
Пример расчёта для Wisdom.
Герой 0-0-1-10 (Max_Mana_Points = 100) с 50 кентаврами без артефактов и вторичного навыка Sorcery/специализации по Sorcery имеет в книге одно-единственное заклинание Magic Arrow. Найдём the_strongest_spell_efficiency_delta при условии, что герой не повышает Spell Power на левел-апе:
Для Spell_Power = 1:
spell_efficiency = [Army_Power * min(k1, k2)]
k = 10 * (Spell_Power + Effective_Magic_School_Level) * Spell_AI_Value * Elemental_Orbs_Mod * Sorcery_Mod / Army_Power
k = 10 * (1 + 0) * 10 * 1.0 * 1.0 / 5000 = 0.02
k1 = k * ScaleFactor(min(13, [Max_Mana_Points / Spell_Mana_Cost]))
[Max_Mana_Points / Spell_Mana_Cost] = [100 / 5] = 20, поэтому
k1 = 0.02 * 4.53 = 0.0906
k2 = 4.530 * k, for k < 0.025.
k2 = 4.530 * 0.02 = 0.0906
min(0.0906, 0.0906) = 0.0906
spell_efficiency = [5000 * 0.0906] = 453
Для Spell_Power = 2:
spell_efficiency = [Army_Power * min(k1, k2)]
k = 10 * (Spell_Power + Effective_Magic_School_Level) * Spell_AI_Value * Elemental_Orbs_Mod * Sorcery_Mod / Army_Power
k = 10 * (2 + 0) * 10 * 1.0 * 1.0 / 5000 = 0.04
k1 = k * ScaleFactor(min(13, [Max_Mana_Points / Spell_Mana_Cost]))
[Max_Mana_Points / Spell_Mana_Cost] = [100 / 5] = 20, поэтому
k1 = 0.04 * 4.53 = 0.1812
k2 = 3.947 * k + 0.016, for 0.032 <= k < 0.041;
k2 = 3.947 * 0.04 + 0.016 = 0.17388
min(0.1812, 0.17388) = 0.17388
spell_efficiency = [5000 * 0.17388] = 869
the_strongest_spell_efficiency_delta = 869 - 453 = 416
Value(Wisdom) = [the_strongest_spell_efficiency_delta * Spell_Power * 1/2] = [416 * 1 * 1/2] = 208.
Проверяем отладчиком. Всё сходится.
Если герой повышает Spell Power на левел-апе, результат будет Value(Wisdom) = [the_strongest_spell_efficiency_delta * Spell_Power * 1/2] = [416 * 2 * 1/2] = 416.
Я, конечно, не застрахован от ошибок. Если остался пример неправильного расчёта, я обязательно посмотрю, в чём там дело.