» Fri May 25, 2012 5:58 pm
I'm looking at this change to the CWSoldierExtraDamageToPlayer perk on guards and soldiers. I'm not sure what's going on but without the patch active a guard will fire an arrow at the player that will do e.g. 62 damage. This is with no armor. Then with the patch enabled, under the exact same circumstances, that same guard will do 560 damage. That's with an imperial bow and a steel arrow. This is at level 28 so the multiplier should be 3 but it is clearly not.
At first I thought it was some weird new bug with the ModAttackDamage entry point, because it appears that the multiplier is being applied twice. This affects CWGuardExtraDamageToPlayer as well. When I removed those perks from the ActorBase the damage was around 40, then with just CWGuardExtraDamageToPlayer it's 62.5 (not 40 * 1.25 = 50 as expected, but rather 40 * 1.25^2 = 62.5). Then with the 1.03 patch it's around 560, and you'll note that 40 * 1.25^2 * 3^2 = 562.5. Using a few other values quickly confirmed the issue - the multiplier applied is always the square of what you enter in the perk. However, it's not the function, because e.g. Armsman and Barbarian are not affected by this bug.
I don't know why it's happening. My best guess it that maybe leveled characters are getting upstream perks applied twice or something, but that's a total shot in the dark. I don't think there's any way to fix that though, if that is indeed the issue. One possible fix is to change the multipliers on these two perks to the square root of what they are now. That way when they're applied twice the total works out the way it should. Another fix could be to change these to abilities, assuming that abilities don't suffer from the same issue.