The modification of damage formula for enchantments looks inconsistent with the the information in the distribution lib. Can the person who posted the formula cite their source?
- std/weapon.c, lines 176-177:
tmp = val + (val * query_enchant()) / (query_max_enchant() + query_enchant());
- Subtract out the base damage:
extra_dmg = base * query_enchant() / (query_max_enchant() + query_enchant())
- Divide top and bottom by max_enchant gives:
extra_dmg = base * fraction_enchant / (1 + fraction_enchant)
- Then multiple top and bottom by 100 to use a percentage:
extra_dmg = base * (%enchant / (100 + %enchant)
- Which is what is in the article. --Chat 14:14, 9 August 2009 (UTC)
It's close. And probably close enough for _most_ integer math since the decimal bits get dropped off. But it's not right. Why not just leave it at the real formula so that it's right all the time?