![]() |
#1 |
Swordsman
Join Date: Nov 2008
Posts: 434
![]() |
Resist system
I was thinking about trying to come up with a more universal, or at least easier to understand, resistance system. Do people think this is a worthwhile thing to look at? If so can someone point me to where I can find the max attack for each element and the current reductions due to resistance?
__________________
My first winner: http://angband.oook.cz/ladder-show.php?id=10138 |
![]() |
![]() |
![]() |
#2 |
Prophet
Join Date: May 2008
Location: Indiana, USA
Posts: 2,939
Donated: $8
![]() |
I take it that you're already familiar with FA/O style cumulative resists.
__________________
www.mediafire.com/buzzkill - Get your 32x32 tiles here. UT32 now compatible Ironband and Quickband 9/6/2012. My banding life on Buzzkill's ladder. |
![]() |
![]() |
![]() |
#3 | |
Prophet
Join Date: Aug 2009
Location: Madison, Wisconsin, US
Posts: 3,025
![]() |
Quote:
for the resistances you have to piece them together from: constants.h and list-gf-types.h |
|
![]() |
![]() |
![]() |
#4 |
Swordsman
Join Date: Sep 2009
Posts: 252
![]() |
Why don't the resistances be some % resistance from 10% to 50%, and then immunity, and make them cumulative? That way you can have 4 items that resist fire, etc and it may make some things more relevant if you make the resists cumulative...
|
![]() |
![]() |
![]() |
#5 | ||
Swordsman
Join Date: Nov 2008
Posts: 434
![]() |
Quote:
What I am thinking of is a simpler system that would not involve changing items at all. At least for the basic four something like this, first resist works as now, second resist blocks half remaining, temp resist blocks 1/6 remaining. This works out to the same as double resisting currently, there is just an extra level of resist in the middle. this might work for the basic four but I have no numbers for the others so not sure how well it would do there. I'm not even sure it is possible to come up with a simple system that works for all elements without changing resists on items but I thought I might look at it just to see. Plus I love playing with numbers. Quote:
__________________
My first winner: http://angband.oook.cz/ladder-show.php?id=10138 |
||
![]() |
![]() |
![]() |
#6 | |
Prophet
Join Date: Apr 2007
Location: Climbing up from hole I just dug.
Posts: 4,096
![]() |
Quote:
Resistances as damage reduction are pretty much irrelevant except for basic four and poison. We could as well remove them completely for rest of the elements and replace them with side-effect prevention and leave basic four & poison as they are. |
|
![]() |
![]() |
![]() |
#7 |
Swordsman
Join Date: Nov 2008
Posts: 434
![]() |
Here's a little something I whipped up this evening. Should be pretty easy to code and test but I don't have a compiler.
Current resistance system: Code:
Element Max Divisor Res Adj Dbl Res Adj Vuln Adj Res damage Dbl Res damage Vuln damage Acid 1600 3 (dam+2)/3 (dam+8)/9 (dam*4)/3 534 178.667 2133.333 Elec 1600 3 (dam+2)/3 (dam+8)/9 (dam*4)/3 534 178.667 2133.333 Fire 1600 3 (dam+2)/3 (dam+8)/9 (dam*4)/3 534 178.667 2133.333 Cold 1600 3 (dam+2)/3 (dam+8)/9 (dam*4)/3 534 178.667 2133.333 Poison 800 3 (dam+2)/3 (dam+8)/9 267.333 89.778 Min res damage Average Max res damage Nether 550 6 (((dam) * 6) / (damcalc(1, 6, dam_aspect) + 6)) 471.429 347.368 275 Light 400 6 (((dam) * 4) / (damcalc(1, 6, dam_aspect) + 6)) 228.571 168.421 133.333 Dark 400 6 (((dam) * 4) / (damcalc(1, 6, dam_aspect) + 6)) 228.571 168.421 133.333 Sound 500 6 (((dam) * 5) / (damcalc(1, 6, dam_aspect) + 6)) 357.143 263.158 208.333 Chaos 500 6 (((dam) * 6) / (damcalc(1, 6, dam_aspect) + 6)) 428.571 315.789 250 Disench 500 6 (((dam) * 6) / (damcalc(1, 6, dam_aspect) + 6)) 428.571 315.789 250 Nexus 400 6 (((dam) * 6) / (damcalc(1, 6, dam_aspect) + 6)) 342.857 252.632 200 Shards 500 6 (((dam) * 6) / (damcalc(1, 6, dam_aspect) + 6)) 428.571 315.789 250 Time 150 3 No resist Inertia 200 6 No resist Gravity 200 3 No resist Plasma 150 6 No resist Force 200 6 No resist Mana 1600 No resist Code:
Element Max Max Average Min Dbl Max Average Dbl Min Vuln Max Average Vuln Min Acid 1600 533.333 426.667 320 320 256 192 2133.333 2026.667 1920 Elec 1600 533.333 426.667 320 320 256 192 2133.333 2026.667 1920 Single Res Adj ((dam*(damcalc(1,5, dam_aspect)+5))/30) Fire 1600 533.333 426.667 320 320 256 192 2133.333 2026.667 1920 Double Res Adj ((dam*(damcalc(1,5, dam_aspect)+5))/50) Cold 1600 533.333 426.667 320 320 256 192 2133.333 2026.667 1920 Vuln Adj ((dam*(damcalc(1,3, dam_aspect)+17))/15) Poison 1000 333.333 266.667 200 200 160 120 Nether 550 412.5 343.75 275 Light 400 300 250 200 Dark 400 300 250 200 Sound 500 375 312.5 250 Res Adj Chaos 500 375 312.5 250 ((dam*(damcalc(1,5, dam_aspect)+7))/16) Disench 500 375 312.5 250 Nexus 400 300 250 200 Shards 500 375 312.5 250 Time 150 Inertia 200 Gravity 200 Plasma 150 Force 200 Mana 1600 Double resist blocks 80% to 88% Poison max damage changed from 800 to 1000 Result: Single resist is on average about 7% better than previous, while double resist is about 5% worse. Poison more dangerous Others One resist blocks 25% to 50% Result: Light, Dark and Sound are slightly more dangerous than previously, others have a slightly lower max but same min and same average damage Vulnerabilities increase damage taken by 20% - 33% vs the previous 33% Using the damcalc function in the numerator allows us to get an average in the middle of the range vs the previous skewing toward the low end of damage taken Overall high resists and the basic four are more valuable while temporary resists are slightly less helpful but still a good thing to have. This is a boost to warriors and low level characters who cannot easily get the resist spell but also helps characters who's temporary resist has worn off unnoticed or ends in the middle of a fight
__________________
My first winner: http://angband.oook.cz/ladder-show.php?id=10138 |
![]() |
![]() |
![]() |
#8 |
Angband Devteam member
|
Hmmm. I wonder if I can just clarify the basic proposition here. It seems to have two parts:
1. Resists should be cumulative in some way a la O/FA. (Currently only one perm plus one temp are cumulative.) 2. Resists should be variable in their effect. (Currently some are and some aren't.) The first point was in the OP but not the reworked table. I'm quite open to the idea of moving to cumulative resists, but why wouldn't we just adopt the O/FA system? It's tried and tested; I'm not sure what its deficiencies are but I'd want to know that if there were any we were proposing something that improved upon them. On the second point, I really don't like variable resists. IMO they are something that adds "realism" at the expense of gameplay (having to memorise the worst-case of the variable range). If there are good reasons for having variable resists, can we at least make them all vary by the same amount, and make the amount smaller, like 5-10%? On the whole it's not clear how this improves on the current system.
__________________
"3.4 is much better than 3.1, 3.2 or 3.3. It still is easier than 3.0.9, but it is more convenient to play without being ridiculously easy, so it is my new favorite of the versions." - Timo Pietila Last edited by Magnate; August 22, 2011 at 13:45. Reason: misplaced apostrophe |
![]() |
![]() |
![]() |
#9 | |
Prophet
Join Date: May 2008
Location: Indiana, USA
Posts: 2,939
Donated: $8
![]() |
Quote:
In your above example, it would be an item with a 66% resist (numbers that big are uncommon/non-existent IIRC), a second item with a 50% resist (common), plus a temp resist (not sure how those work in FA/O). As you progress through FA/O you end wearing many identical resists, so the individual resist numbers are a bit smaller, single resists are generally a bit weaker. 50% resist for base elements is common and 10% to 20% for high resists, with 20% being the magic number to avoid side effects. Not trying to harsh your buzz, but it looks very similar to me.
__________________
www.mediafire.com/buzzkill - Get your 32x32 tiles here. UT32 now compatible Ironband and Quickband 9/6/2012. My banding life on Buzzkill's ladder. |
|
![]() |
![]() |
![]() |
#10 | |
Prophet
Join Date: Apr 2007
Location: Climbing up from hole I just dug.
Posts: 4,096
![]() |
Quote:
No thank you, I rather stick with current system than play several iterations of unbalanced games for few years to get them right. |
|
![]() |
![]() |
![]() |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Display Modes | |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Resist poison after 2000' | jbu | Vanilla | 6 | August 3, 2010 13:36 |
Resist question... | Fendell Orcbane | Vanilla | 2 | June 1, 2010 09:49 |
Resist Poison | z118 | Vanilla | 1 | January 7, 2010 14:01 |
Resist slowing but not speeding :( | Nightmarjoo | Vanilla | 3 | September 5, 2009 04:23 |
Possible Bug in 3.1.0 - Temp Resist reduces damage by 1/2? | Nikodemos | Vanilla | 2 | January 19, 2009 23:17 |