TL;DR: at least vanilla traps have their listed accuracy penalites being applied twice, which results in very buggy results where a low-level trap like the Dart Trap will likely outdamage the high-level Sunlance Trap. Dropbox link containing output_log and a quicksave are at the end of the post.
Background: I've been trying to figure out why some spells have different accuracies than others, which got me to figure out that the game has a special formula for calculating "Hazard" spells (priest seals, druid wall of thorns, etc.). In the process of reverse engineering that formula, I started reverse engineering the traps formula, because that has been one of the biggest mysteries to me. In the process, I believe that traps (at least traps in vanilla) are heavily bugged and are getting their penalties applied *twice*. If vanilla traps have always been getting twice their bonus/penalty, then it would explain why early on Obsidian felt the need to nerf them, and why now (vanilla) traps seem utterly worthless. The nature of this bug would also suggest that a quick testing of a few traps (especially lower-level ones) would reveal no obvious issues and could pass quick QA amidst all the other bugs going out.
Why I think this is a bug, not an intentional balance change: during my testing, the fact that penalties appear to be applying twice has led to obviously counterintuitive results. A sunlance trap has a -40 penalty in tooltip, but in reality gets a -80. Meanwhile, the low-level dart trap and fan of flames have just a -5 penalty, which results in -10 in the real world. This leads to counterintuitive results where against my test Town Crier, Dart Traps, Fan of Flames Traps, Hail of Darts (-10/-20 penalty) traps actually outdamage the Sunlance trap: with a Sunlance trap I have a net accuracy of just 26, whereas by comparison with a Dart trap I have a whopping 96 accuracy.
Further explanation for why I think this is a bug:
Based on testing, I believe the"General Hazard Accuracy" formula is as such:
hazard_accuracy = base_spellcasting_accuracy + 15
where the +15 is what I call the "standard hazard accuracy bonus", and where base_spellcasting_accuracy is:
where base_class_accuracy is e.g. 20, 25, 30, where the 3 * (level - 1) is the standard 3 accuracy per level gained, and the 1 * level is the standard spellcasting accuracy bonus of 1 per level and shield_penalty is 0, -4, or -8. I've tried this out and it repeats very well for Repulsing Seal, Searing Seal, Wall of Thorns, etc.
I believe traps use the general hazard accuracy as a formula and add the following modifiers:
This means that for my level 16 Zahua, who has no shield, no mechanics skill, no cord of resourcefulness, and a neutral 10 perception, he should have the following equation when someone triggers his Sunlance Trap:
66. Not great, but at least vaguely passable. In reality, I get 26 in-game. By no coincidence, this is *exactly* the result as if I was going to get the -40 trap modifier applied a second time.
The results are *extremely* consistent across all the vanilla traps. I've even attached a picture of my notes as I was going through the tests (far left column I was tracking the "value" of a trap in case it influenced the accuracy, the number in parenthesis is the trap modifier, and the remaining number is what I computed to be the "base" accuracy of the trap after I took away mechanics, standard spellcasting accuracy bonus, and trap modifier effects (I accidentally forgot to remove the +1 spellcast accuracy point at level 1, so these are all 1 higher than they should be). Note that if you add the trap modifier back in again to the "base" accuracy (as well as take out the extra 1 from my mess-up with the level 1 spell accuracy bonus), they would all be exactly 15, which is the +15 hazard accuracy bonus that is remaining after taking away the spellcasting accuracy and mechanics influences. This means that the trap modifier is being applied a second time.
Picture of notes:
Last word: I can't account for how white march trap accuracy is determined. I haven't spent enough time on them to determine what's going on, but it's clear that they're not being held to the same effects as the vanilla traps (the Infestation of Spiders trap has a +10 listed bonus, but has a computed "base" accuracy of a whopping 66, so something is off). This would also mesh with player perception that white march traps are just worlds better than the vanilla traps.
Here's a screenshot of my testing in action, note the very high accuracy for Hail of Darts. I don't have a screenshot of a e.g. Sunlance Trap but believe me when I say it is exactly 60 less than the Hail of Darts trap (twice the -30 trap modifier difference).
I know that Pillars of Eternity is pretty much end of dev cycle and Obsidian is moving/has moved on to Tyranny and possibly Pillars of Eternity 2, but I'm making a desperate appeal because setting traps is such a broad mechanic to this game that has always felt a little off to me (too weak), and now that I have the numbers it appears to be so apparently broken that it feels like it really needs to be addressed. And I hope it's just a matter of some object attributes having been duplicated, so that it's an easy fix.
In the meantime: if I were to offer advice to players on how to make use of traps, I would suggest just sticking with traps from White March or the low-level (-5 or -10 accuracy) vanilla traps. The latter will perform much better (and be cheaper to buy) than higher-level traps.
EDIT to add two addenda: one, that if the root double-penalty issue proves too difficult to fix, I personally would just be fine if the penalties were halved, rounding to the closest multiple of 5 in the direction towards 0 (e.g. Dart Traps have 0 penalty (instead of -5), Arrow Trap has a -5 penalty (instead of -10), and Sunlance has a -20 penalty (instead of -40)). The end result would be very similar to a fix, even if it would amount to a hack/workaround. (Though I would desperately urge developers to consider why these traps even have penalties given how much better and useful white march traps are at equivalent price points.)
two: looking at my notes, it appears that Cloud of Pestilence Trap (from White March II) appears to be affected by the same issue. I'll have to go through the White March I traps and see how they fare. So far the exceptions have been the traps that have accuracy *bonuses* instead of penalties. Infestation of Spiders is craaaaazy accurate (way more than the +10 suggests) while Freezing Rake is pretty accurate (still way more than the +10 suggests). On the other hand, Wilting Wind has *exactly* the accuracy I would expect if its +10 bonus was incorrectly being applied twice.
Question
thelee
TL;DR: at least vanilla traps have their listed accuracy penalites being applied twice, which results in very buggy results where a low-level trap like the Dart Trap will likely outdamage the high-level Sunlance Trap. Dropbox link containing output_log and a quicksave are at the end of the post.
Background: I've been trying to figure out why some spells have different accuracies than others, which got me to figure out that the game has a special formula for calculating "Hazard" spells (priest seals, druid wall of thorns, etc.). In the process of reverse engineering that formula, I started reverse engineering the traps formula, because that has been one of the biggest mysteries to me. In the process, I believe that traps (at least traps in vanilla) are heavily bugged and are getting their penalties applied *twice*. If vanilla traps have always been getting twice their bonus/penalty, then it would explain why early on Obsidian felt the need to nerf them, and why now (vanilla) traps seem utterly worthless. The nature of this bug would also suggest that a quick testing of a few traps (especially lower-level ones) would reveal no obvious issues and could pass quick QA amidst all the other bugs going out.
Why I think this is a bug, not an intentional balance change: during my testing, the fact that penalties appear to be applying twice has led to obviously counterintuitive results. A sunlance trap has a -40 penalty in tooltip, but in reality gets a -80. Meanwhile, the low-level dart trap and fan of flames have just a -5 penalty, which results in -10 in the real world. This leads to counterintuitive results where against my test Town Crier, Dart Traps, Fan of Flames Traps, Hail of Darts (-10/-20 penalty) traps actually outdamage the Sunlance trap: with a Sunlance trap I have a net accuracy of just 26, whereas by comparison with a Dart trap I have a whopping 96 accuracy.
Further explanation for why I think this is a bug:
Based on testing, I believe the "General Hazard Accuracy" formula is as such:
where the +15 is what I call the "standard hazard accuracy bonus", and where base_spellcasting_accuracy is:
where base_class_accuracy is e.g. 20, 25, 30, where the 3 * (level - 1) is the standard 3 accuracy per level gained, and the 1 * level is the standard spellcasting accuracy bonus of 1 per level and shield_penalty is 0, -4, or -8. I've tried this out and it repeats very well for Repulsing Seal, Searing Seal, Wall of Thorns, etc.
I believe traps use the general hazard accuracy as a formula and add the following modifiers:
This means that for my level 16 Zahua, who has no shield, no mechanics skill, no cord of resourcefulness, and a neutral 10 perception, he should have the following equation when someone triggers his Sunlance Trap:
66. Not great, but at least vaguely passable. In reality, I get 26 in-game. By no coincidence, this is *exactly* the result as if I was going to get the -40 trap modifier applied a second time.
The results are *extremely* consistent across all the vanilla traps. I've even attached a picture of my notes as I was going through the tests (far left column I was tracking the "value" of a trap in case it influenced the accuracy, the number in parenthesis is the trap modifier, and the remaining number is what I computed to be the "base" accuracy of the trap after I took away mechanics, standard spellcasting accuracy bonus, and trap modifier effects (I accidentally forgot to remove the +1 spellcast accuracy point at level 1, so these are all 1 higher than they should be). Note that if you add the trap modifier back in again to the "base" accuracy (as well as take out the extra 1 from my mess-up with the level 1 spell accuracy bonus), they would all be exactly 15, which is the +15 hazard accuracy bonus that is remaining after taking away the spellcasting accuracy and mechanics influences. This means that the trap modifier is being applied a second time.
Picture of notes:
Last word: I can't account for how white march trap accuracy is determined. I haven't spent enough time on them to determine what's going on, but it's clear that they're not being held to the same effects as the vanilla traps (the Infestation of Spiders trap has a +10 listed bonus, but has a computed "base" accuracy of a whopping 66, so something is off). This would also mesh with player perception that white march traps are just worlds better than the vanilla traps.
Here's a screenshot of my testing in action, note the very high accuracy for Hail of Darts. I don't have a screenshot of a e.g. Sunlance Trap but believe me when I say it is exactly 60 less than the Hail of Darts trap (twice the -30 trap modifier difference).
And as promised, here is a dropbox link containing an output_log and a quicksave where I have bought every vanilla trap in the game. Feel free to experiment yourself. https://www.dropbox.com/sh/4y8m08739xmhypu/AABtKivpssizjp9zuXQYrs7Xa?dl=0
I know that Pillars of Eternity is pretty much end of dev cycle and Obsidian is moving/has moved on to Tyranny and possibly Pillars of Eternity 2, but I'm making a desperate appeal because setting traps is such a broad mechanic to this game that has always felt a little off to me (too weak), and now that I have the numbers it appears to be so apparently broken that it feels like it really needs to be addressed. And I hope it's just a matter of some object attributes having been duplicated, so that it's an easy fix.
In the meantime: if I were to offer advice to players on how to make use of traps, I would suggest just sticking with traps from White March or the low-level (-5 or -10 accuracy) vanilla traps. The latter will perform much better (and be cheaper to buy) than higher-level traps.
EDIT to add two addenda: one, that if the root double-penalty issue proves too difficult to fix, I personally would just be fine if the penalties were halved, rounding to the closest multiple of 5 in the direction towards 0 (e.g. Dart Traps have 0 penalty (instead of -5), Arrow Trap has a -5 penalty (instead of -10), and Sunlance has a -20 penalty (instead of -40)). The end result would be very similar to a fix, even if it would amount to a hack/workaround. (Though I would desperately urge developers to consider why these traps even have penalties given how much better and useful white march traps are at equivalent price points.)
two: looking at my notes, it appears that Cloud of Pestilence Trap (from White March II) appears to be affected by the same issue. I'll have to go through the White March I traps and see how they fare. So far the exceptions have been the traps that have accuracy *bonuses* instead of penalties. Infestation of Spiders is craaaaazy accurate (way more than the +10 suggests) while Freezing Rake is pretty accurate (still way more than the +10 suggests). On the other hand, Wilting Wind has *exactly* the accuracy I would expect if its +10 bonus was incorrectly being applied twice.
Edited by thelee8 answers to this question
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now