View Single Post
Old January 11, 2012, 21:11   #6
Derakon
Prophet
 
Derakon's Avatar
 
Join Date: Dec 2009
Posts: 9,024
Derakon is on a distinguished road
To my knowledge, slays are still just damage amplification for the moment. They add to the damage multiplier you get from Prowess; thus:
Code:
#blows = finesse * weapon balance
damage/blow = (dice roll) * (prowess * weapon heft + slay)
These numbers don't take crits into account. Balance and heft are the weapon's finesse and prowess multipliers, respectively.

Disenchanter molds have average HP of 72, which means (given the quoted 20 shots to kill) you're doing on average about 3 damage/shot. Looking at the missile attack code (attack.c's make_ranged_shot function), damage, barring crits, appears to be determined as follows:
Code:
damage = ((dice roll) + prowess) * (slay multiplier) / 100
Which appears to basically render the die roll completely pointless because of the division by 100. In your case, you have a total +147 to prowess, a maximum die roll of 4, and no slay -- so your damage is 1.48 to 1.51 per shot, before crits. Of course, this rounds down. The reason you're able to kill the mold in as few as 20 shots is that crits give some flat damage increases (e.g. if a hit does X damage, then a "good" hit does 1.5X + 10 damage).

Something like this would be better:
Code:
damage = (dice roll) * (prowess + (slay multiplier)) / 100
All that's needed is to change this line:
Code:
    result.dmg += o_ptr->to_prowess + j_ptr->to_prowess;
with this:
Code:
    multiplier += o_ptr->to_prowess + j_ptr->to_prowess;

Last edited by Derakon; January 11, 2012 at 21:45.
Derakon is offline