Warheck wrote
I agree with all your observations of the code you mentioned here:
if(RAND() % int(100 + WeaponToHitValue / BlockValue / (1 << BlocksSinceLastTurn) * (100 + Success)) < 100)
then (block)
Isn't the THV just the ToHitValue of the weapon/item?
Last night I had gone ahead with the assumption that WeaponToHitValue was the attacking parties' ToHitValue. Even if it belonged to the blocking party, since the both blocker and attacker in my simulation are Guugzamesh, this value would still be ~43.3. I ran this value through, assuming no previous blocks, and came back with the 17% block chance. I'm still not entirely sure this is accurate but I'm going to run with it for now. That gives him a final tally, counting both arms, of having 31% chance to block 18 damage, and roughly 20% chance to block 36. (I don't suppose someone has a lot of time on their hands and is willing to make an extensive empirical test? Where's Z when you need him...)
I do not believe that WeaponToHitValue is the defender's THV. If it were, high THV would actually make blocking MORE difficult, rather than less.
I appreciate the code-diving, Warheck. I'm still pretty confused about the position of certain variables in the code; particularly the position of GetTHVBonus: it's position again seems to indicate the opposite of what is expected, and that plus values actually negatively impact THV (though on a really quite miniscule level). Confusing.
My next task is the real purpose of me bringing this whole thing up: determining just how much more effective blocking with shields is to blocking with weapons, and thus how much more defensive ability is gained by using one over using a second weapon. I'll go to that tonight.