Weapon damage comparison table

正在查看此主题的用户

Excellent Post!

I love me my maths! :smile:

But thought I would just comment on this

Pode 说:
So what I actually integrated was the product of (the average damage vs an armor rating) times (the armor it was inflicted against).  So 1 point against 40 armor counts for a score of 40, where it takes 40 points against 1 armor to score the same.  Integrate this D*A function over the range of armors and I'd have something that told me how well a weapon performed over the whole spectrum, but with a bias towards taking out top tier stuff.

The domain of D*A is finite (discrete)... The integral of any function over this domain would be equal to zero or would not exist (in case the function is not integrable)... So what you actually did was find a weighted total over the finite set whose elements are all possibilities of armor*damage....  Just thought I would clear this up for the layman :smile:

But great job indeed.  I did not know that this is how the damage was calculated.

I like the function (D*A) that you created, I think it works really well in this context

 
Pacific_Salmon 说:
The domain of D*A is finite (discrete)... The integral of any function over this domain would be equal to zero or would not exist (in case the function is not integrable)... So what you actually did was find a weighted total over the finite set whose elements are all possibilities of armor*damage....  Just thought I would clear this up for the layman :smile:
It was probably because they didn't think to document their use of a scaled Dirac delta function

The delta function is sometimes thought of as an infinitely high, infinitely thin spike at the origin, with total area one under the spike,
 
These are useless calculations I'm afraid. Damage is the least important stat for weapons and you just cannot determine weapon usefullnes reducing all factors to some magic number. It should be perfectly obvious but some people just worship numbers I beleive.
 
Code: [Select]
randomized_reduction = math.exp((random.random() * 0.55 + 0.45) * reduction_factor * 0.014)
math.exp() takes as argument another 72.5% average random roll for the armor, times the reduction factor for the damage type times 1.4%. I'm guessing it's 10 to the power of argument, but I'll need to look that up too. Edit: Nope, it's e to power of argument.
Code: [Select]
reduced_damage = (1.0 - 1.0 / randomized_reduction) * soaked_damage
Damage has to get thru the soak in order to be reduced. The sword point has to make a hole, before the reduction caused by widening the hole and sticking the point in further matters.
Code: [Select]
if (reduction_factor < 0.00001):
reduced_damage  = 0.0

damage_difference = round(reduced_damage + randomized_soak)
effective_damage = randomized_damage - damage_difference
Effective damage is the energy behind the sword thrust to start with, minus the energy to make a hole, minus the energy to widen the hole enough to stick the sword in.

Question for posters with strong math skills. I'm working on modeling the damage formula in Excel and it seems to me that the component that deals with "reduced_damage" is really tiny. The raw damage minus randomized soak is basically all that matters from what I can tell.

Can someone else verify this? I may be misunderstanding the code and using the wrong formula for randomized damage. It looks to me like the math.exp part is e^(1.4%*72.5%*armor reduction factor).
 
后退
顶部 底部