Difference between revisions of "Talk:Weapons"

From Discworld MUD Wiki
Jump to: navigation, search
(Looks correct to me.)
Line 13: Line 13:
 
:<pre>  extra_dmg = base * (%enchant / (100 + %enchant)</pre>
 
:<pre>  extra_dmg = base * (%enchant / (100 + %enchant)</pre>
 
:Which is what is in the article. --[[User:Chat|Chat]] 14:14, 9 August 2009 (UTC)
 
:Which is what is in the article. --[[User:Chat|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?

Revision as of 08:54, 11 August 2009

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?

The source was the mudlib I believe. Rehevkor 13:24, 9 August 2009 (UTC)
Indeed.
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?