Valdygar Posted October 22, 2020 Share Posted October 22, 2020 (edited) Hi! I've been trying to wrap my head around the "thac0_tolerance" variable in stratagems.ini, but I'm having trouble understanding how impactful it actually is. Based on the currrent readme as well as changelogs from past versions of SCS, my understanding of it is that: It aims at correcting the thac0 of humanoid creatures that are abnormally good ( = lower than what a humanoid with that class/kit/race/weapon proficiencies should have) The higher the value of thac0_tolerance is (from 0 to 99), the higher the number of affected creatures is The default value of 6 was meant to only correct small anomalies without affecting creatures that purposefully have extremely good thac0 Based on that, I have the following questions: Is it supposed to only affect NPCs and not player characters, not matter its value? Do we have a rough idea of how many creatures are affected with the base value (6)? Is it a couple of edge cases, or does it actually correct a large number of creatures? The only file in which thac0_tolerance is used seems to be sfo/filetype/lib_cre.tpa, in the following code line: SET new=(ABS(possible - current))<tolerance ? possible : current . If I understand this correctly, this means that when thac0_tolerance is set to 0, (ABS(possible - current))<tolerance ? possible : current will always return the value of "current". Does this mean that whenever this part of the code is evaluated, "current" is always a better thac0 than "possible" (since the readme mentions that setting thac0_tolerance to 0 will result in no adjustement made to thac0 that are abnormally good)? Any information on these would help a lot! Edited October 22, 2020 by Valdygar Quote Link to comment
DavidW Posted October 23, 2020 Share Posted October 23, 2020 8 hours ago, Valdygar said: Is it supposed to only affect NPCs and not player characters, not matter its value? I don't *think* it applies to PCs but I'm not sure. (But PCs really should be conforming to the rules here in any case.) 8 hours ago, Valdygar said: Do we have a rough idea of how many creatures are affected with the base value (6)? No. 8 hours ago, Valdygar said: Is it a couple of edge cases, or does it actually correct a large number of creatures? It's a fairly respectable number. (The reason for doing it is that vanilla BG/BG2 uses ad hoc THAC0 modifiers to make various creatures more powerful, in lieu of actually giving them their bonuses from weapon specialisation etc. Since SCS enforces the latter, there's a danger of overdoing it unless the ad hoc modifiers are reined back.) 8 hours ago, Valdygar said: Does this mean that whenever this part of the code is evaluated, "current" is always a better thac0 than "possible" 'current' is the actually-possessed value. 'possible' is the value calculated from the creature's level according to AD&D rules. So if it always reverts to 'current' that means it never changes. Quote Link to comment
Jarno Mikkola Posted October 23, 2020 Share Posted October 23, 2020 9 minutes ago, DavidW said: It's a fairly respectable number. (The reason for doing it is that vanilla BG/BG2 uses ad hoc THAC0 modifiers to make various creatures more powerful, in lieu of actually giving them their bonuses from weapon specialisation etc. Since SCS enforces the latter, there's a danger of overdoing it unless the ad hoc modifiers are reined back.) So if we take a book from it's natural cover, if a monster is not a warrior, they should then get the Thac0 progression of a cleric in respect to their level rather than a fighters... so, is this so ? No. Same thing with most monster hit points being a d8 rather than d10. Well, actually they should be 4*level... but that's to what and to who cares. And why you do not ? You don't read the Thac0 table, you just assume the value, buy calculating it from the creatures level(upto 21 from what I can tell). Quote Link to comment
Valdygar Posted October 23, 2020 Author Share Posted October 23, 2020 Thanks a lot for the answers! 4 hours ago, DavidW said: 'current' is the actually-possessed value. 'possible' is the value calculated from the creature's level according to AD&D rules. So if it always reverts to 'current' that means it never changes. But isn't the tolerance check made on the difference between 'possible' and 'current' regardless of whether or not that difference is positive (ruleset thac0 is higher) or negative (current thac0 is higher)? In that case, wouldn't that mean that this thac0 adjustment could not just worsen thac0 that are a bit too good, but also improve thac0 that are a bit too bad? For instance, with a tolerance of 6, if 'possible' is at 10 and 'current' at 12, wouldn't the final value be 10 (though I have no idea if such case could ever happen in the first place)? Quote Link to comment
DavidW Posted October 24, 2020 Share Posted October 24, 2020 On 10/23/2020 at 2:13 AM, Jarno Mikkola said: So if we take a book from it's natural cover, if a monster is not a warrior, they should then get the Thac0 progression of a cleric in respect to their level rather than a fighters... so, is this so ? No. Same thing with most monster hit points being a d8 rather than d10. Second edition AD&D fairly consistently assumes that monsters have d8 hit dice and fighter THAC0s, and BG is pretty faithful to that. SCS follows their lead. On 10/23/2020 at 2:13 AM, Jarno Mikkola said: And why you do not ? You don't read the Thac0 table, you just assume the value, buy calculating it from the creatures level(upto 21 from what I can tell). I read the THAC0 table for anything with a PC character class. If it's a monster, it gets a hand-calculated THAC0. (Even if the player is using their own THAC0 chart, I've no way to tell if they want it to apply to monsters.) What makes you think I don't? On 10/23/2020 at 4:56 AM, Valdygar said: But isn't the tolerance check made on the difference between 'possible' and 'current' regardless of whether or not that difference is positive (ruleset thac0 is higher) or negative (current thac0 is higher)? In that case, wouldn't that mean that this thac0 adjustment could not just worsen thac0 that are a bit too good, but also improve thac0 that are a bit too bad? Yes. That's intentional, though I agree that the readme doesn't make that obvious. Quote Link to comment
Valdygar Posted October 24, 2020 Author Share Posted October 24, 2020 Alright, thanks again for all the answers! Quote Link to comment
Recommended Posts
Join the conversation
You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.