Rationalising elemental breath damage

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • TJS
    Swordsman
    • May 2008
    • 473

    Rationalising elemental breath damage

    In the poison anomaly thread it got me thinking how the entire elemental breath damage system is entirely inconsistant and pretty much impossible to understand without looking at the code.

    Currently each higher element has it's own maximum cap and resist amount (if I'm understanding it correctly).

    eg. sound max damage is 500 and rSound reduces it between 5/7 and 5/12
    nexus max damage is 400 and rNexus reduces it between 6/7 and 1/2

    Here's how the system could be changed to be a bit more rational.

    Max damage for breath attacks is 1600.
    Any breath attack that has a secondary effect (eg. stun, poison, slow, stat-swap etc.) has this maximum halved to 800. This is all the breath attacks except the four lower elements (I don't count damaging armour/inventory as a secondary effect).

    The monster HP is divided by 3 and then capped at this value and all resists reduce this value to a 1/3 of this. Any temporary resist divides this by 3 again.

    Some elements can be reduced by other means as well.

    Shards, sound, inertia, gravity, disenchantment and force can be reduced to a 1/3 by AC (the logic being these are the type of attacks that can be absorbed by your armour). I'd say around 300 AC should be the maximum for this.

    Plasma is reduced by both rElec and rFire to 1/9 of value if you have both.

    Nether, nexus and time are reduced by higher wisdom by a maximum of 1/3 at 18/220. It always bothered me that wisdom is pretty useless for non-praying characters and it would be good to give it another use. I remember putting an amulet of wisdom +6 on my half troll-warrior and my saving throw going up a grand total of 1%.

    I'd leave light and dark as being pretty dangerous (like poison is now) and remove the halving of acid damage by armour.

    You could introduce resists for all the higher elements (force, gravity, inertia, time) and give a few more monsters these breaths to make them worth having. Since you're unlikely to have resists for all the elements it would spice up the boring part of the end-game when you have all the resists and are just getting to clvl 50 and gathering consumables.

    I'd also like to see rStun and rSlow available to complete the abilities.
  • dos350
    Knight
    • Sep 2010
    • 546

    #2
    on another note is it true that feather fall giv some resist to gravity like gravity hound ?
    ~eek

    Reality hits you -more-

    S+++++++++++++++++++

    Comment

    • Timo Pietilä
      Prophet
      • Apr 2007
      • 4096

      #3
      Originally posted by TJS
      Here's how the system could be changed to be a bit more rational.

      Max damage for breath attacks is 1600.
      Any breath attack that has a secondary effect (eg. stun, poison, slow, stat-swap etc.) has this maximum halved to 800. This is all the breath attacks except the four lower elements (I don't count damaging armour/inventory as a secondary effect).

      Nether, nexus and time are reduced by higher wisdom by a maximum of 1/3 at 18/220.
      Then the first Dracolich you meet will kill your warrior/rogue/ranger/mage/paladin/priest, with priest having best change of surviving the attack. That doesn't sound right.

      Comment

      • Derakon
        Prophet
        • Dec 2009
        • 9022

        #4
        Current damage caps are roughly proportional to how dangerous the side effects of the breath are. Gravity and time have very low damage caps because the side effects are so nasty and they can't be resisted. Nexus has a lower cap than sound because teleportation and stat swapping is nastier than stunning (most of the time). And so on.

        Every high element has an associated status effect (that being rather the point of the high elements), so by your rules they'd all start with caps of 800...which is still bloody high. You could try halving the cap for each additional effect the breath carries (so gravity, which teleports in addition to slowing, would have a cap of 400), but that would make chaos have a cap of only 200 (hallucinate / confuse / drain experience) which renders it rather wimpy...and still leaves nexus a fearsome beast.

        Also, under this scheme you've made all of the more exotic high elements far more dangerous. Adding resists for them doesn't help much, though, since they're also all quite rare...which means that instead you just end up taking much more damage when e.g. Baphomet decides to breathe force.

        I do think that the resistance system could stand to be rationalized, but I'd say for now it's entirely adequate to just say that high resists all halve the damage you receive. No more random resists.

        Comment

        • Nomad
          Knight
          • Sep 2010
          • 958

          #5
          Originally posted by Derakon
          I do think that the resistance system could stand to be rationalized, but I'd say for now it's entirely adequate to just say that high resists all halve the damage you receive. No more random resists.
          I'd vote for a simple system like this, plus having monster memory show the theoretical maximum damage for breath attacks as soon as you've discovered them. That way, nobody has to memorise all the different damage caps to be able to work it out for themselves.

          In fact, I'd be in favour of monster memory showing damage information for all types of attacks as soon as you discover them. I don't see why that info shouldn't be made explicit to the player as soon as they've seen a particular attack in action.

          Comment

          • pampl
            RePosBand maintainer
            • Sep 2008
            • 225

            #6
            Originally posted by Nomad
            I'd vote for a simple system like this, plus having monster memory show the theoretical maximum damage for breath attacks as soon as you've discovered them. That way, nobody has to memorise all the different damage caps to be able to work it out for themselves.

            In fact, I'd be in favour of monster memory showing damage information for all types of attacks as soon as you discover them. I don't see why that info shouldn't be made explicit to the player as soon as they've seen a particular attack in action.
            I like these ideas.

            Comment

            • Magnate
              Angband Devteam member
              • May 2007
              • 5110

              #7
              Originally posted by Nomad
              I'd vote for a simple system like this, plus having monster memory show the theoretical maximum damage for breath attacks as soon as you've discovered them. That way, nobody has to memorise all the different damage caps to be able to work it out for themselves.

              In fact, I'd be in favour of monster memory showing damage information for all types of attacks as soon as you discover them. I don't see why that info shouldn't be made explicit to the player as soon as they've seen a particular attack in action.
              The monster memory already gives a huge amount of information - including, as of 3.2, your % chance of hitting the thing in melee.

              The breaths and spells are already colour-coded red/orange/yellow/green according to their danger to you - IMO that's already a pretty granular system. Changing it to specify the exact damage amounts is IMO moving from a game to a spreadsheet - and I say this as a spreadsheet kind of guy. I like a lot of numbers in my games, but not too many.

              But it's not really my opinion that matters. If you can all convince takk that this is a good change, it'll happen.

              In the meantime, TJS must have missed my resurrection of the "resists and abilities" thread in the dev forum. There is already a "protection from stunning" flag in nightlies, it just isn't shown on the char screen yet (so it isn't available on objects either yet). There is now a clear separation in nightlies between "resists" (which reduce damage, and avoid effects from their particular element) and "protections" which avoid side effects. So fear/blindness/confusion are now protections and not resists (there is no more confusion breath).

              So what we have is a load of elements which:

              - have variable numbers of different side effects
              - have different damage caps
              - have different resists (or don't)

              I strongly oppose making all elements do the same amount of damage - that's heading in a very sterile direction. I see no problem with some being unresistable.

              I do sympathise with irritation about random resistances. I'd support a move to make all resists fixed - but not all the same. I see no reason why rDark has to provide the same proportion of damage reduction as rChaos or rShards.

              I'd support the introduction of "protection from cuts", as that's the only status effect from which there is no separate protection (except, s we have observed, poison protection is not separated from its elemental resistance). (There's also hallucinations, but since that only happens from chaos breaths, it would be redundant to separate the protection from rchaos.)

              IMO FA should provide protection from slowing, rather than introducing pSlow.
              "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

              Comment

              • Twilight
                Apprentice
                • Jan 2009
                • 58

                #8
                Originally posted by Magnate
                (There's also hallucinations, but since that only happens from chaos breaths, it would be redundant to separate the protection from rchaos.)
                Perhaps I misunderstand what you are referring to or something has changed in the nightlies, but hallucinations can be caused by shrooms (is it Emergency or some other?) and melee (Will o' the wisp's etc) as well.

                Edit:
                Originally posted by Magnate
                IMO FA should provide protection from slowing, rather than introducing pSlow.
                Since FA protects from some slowing (spells), but not not gravity, gorging etc perhaps so, but IMO unresistable slowing is good! Makes the game a bit challenging/harder.

                Edit #2: Personally I don't like making all breaths/resistances uniform in size. That makes them bland. Non-random resists though - sure, doesn't matter to me.
                Last edited by Twilight; December 30, 2010, 19:32.
                It's better to burn out than to fade away!

                Comment

                • Magnate
                  Angband Devteam member
                  • May 2007
                  • 5110

                  #9
                  Originally posted by Twilight
                  Perhaps I misunderstand what you are referring to or something has changed in the nightlies, but hallucinations can be caused by shrooms (is it Emergency or some other?) and melee (Will o' the wisp's etc) as well.

                  Edit:

                  Since FA protects from some slowing (spells), but not not gravity, gorging etc perhaps so, but IMO unresistable slowing is good! Makes the game a bit challenging/harder.
                  Sorry, I didn't mean to imply that FA should protect from ALL slowing - simply that we should not introduce a separate "pSlow" flag. If slowing is resistable, it should FA which resists it.

                  I stand corrected: I had not realised there were any monsters in V that hit to cause hallucinations. I see that you are right - there is therefore a case for introducing a "pHllc" flag if we want. As above - the fact that we *can* introduce protection flags for every status effect does not of course mean that every status effect should be resistable - or not necessarily from all sources.
                  "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

                  Comment

                  • Twilight
                    Apprentice
                    • Jan 2009
                    • 58

                    #10
                    Originally posted by Magnate
                    Sorry, I didn't mean to imply that FA should protect from ALL slowing - simply that we should not introduce a separate "pSlow" flag. If slowing is resistable, it should FA which resists it.

                    I stand corrected: I had not realised there were any monsters in V that hit to cause hallucinations. I see that you are right - there is therefore a case for introducing a "pHllc" flag if we want. As above - the fact that we *can* introduce protection flags for every status effect does not of course mean that every status effect should be resistable - or not necessarily from all sources.
                    Regarding FA & slow I misunderstood and agree with the above.

                    As to the hallucination I agree .
                    ie the melee attack is exceedingly rare (wisps and the Magic mushoom patch are the only ones I can remember), so another flag for that - well it seems unnecessary.

                    Edit: After checking monster.txt I can add Silent watcher and of course Chaos vortex to the list of "melee hallucinators". It's still very rare.
                    It's better to burn out than to fade away!

                    Comment

                    • fizzix
                      Prophet
                      • Aug 2009
                      • 3025

                      #11
                      I used to hate the random resistance for higher resists. However, I don't think it's so bad anymore. What I don't like is that the fact that elemental resists are fixed and higher resists are random is so opaque to the player.

                      Fixing this is kind of moot until we figure out how to inform the new player that multiple elemental resists do not stack, and that you can double resist with a perm resist and a temp resist. IMO this is one of the key points of the game that is completely unclear unless you read the help files.

                      Comment

                      • PowerDiver
                        Prophet
                        • Mar 2008
                        • 2820

                        #12
                        Originally posted by Magnate
                        Sorry, I didn't mean to imply that FA should protect from ALL slowing - simply that we should not introduce a separate "pSlow" flag. If slowing is resistable, it should FA which resists it.
                        I take the opposite view. I think there should be an enum of attack types, and a flag implicitly defined for each and every one. Then somewhere else FA can be defined as a set of attacks it opposes, which presumably would include slowing.

                        Comment

                        • Magnate
                          Angband Devteam member
                          • May 2007
                          • 5110

                          #13
                          Originally posted by PowerDiver
                          I take the opposite view. I think there should be an enum of attack types, and a flag implicitly defined for each and every one.
                          Well, we don't disagree with this as far as elements are concerned. I am about to turn elements into precisely that, with a flag that resists each one. Of course, some of the resist flags will not exist in the game.

                          Are you saying that you think there should be another enum of status effects? Since each status effect requires its own code, I can't see that being as helpful. There are dozens of places in the code where it cycles through all the element types, but none where it cycles through all the status effects.
                          Then somewhere else FA can be defined as a set of attacks it opposes, which presumably would include slowing.
                          But the issue with this is that it doesn't oppose *all* slowing - or shouldn't, IMO.
                          "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

                          Comment

                          • Nomad
                            Knight
                            • Sep 2010
                            • 958

                            #14
                            Originally posted by fizzix
                            Fixing this is kind of moot until we figure out how to inform the new player that multiple elemental resists do not stack, and that you can double resist with a perm resist and a temp resist. IMO this is one of the key points of the game that is completely unclear unless you read the help files.
                            Maybe you should see more details in the info when you Inspect a piece of armour with resists? i.e. Ego of Resist Cold could say "Reduces damage taken from cold attacks to 2/3 maximum" instead of just "Provides resistance to cold". The same with potions and spells that give temp resists.

                            And/or you could stick a little display at the bottom of the sidebar to show the state of your base four resistances at a glance, like this:

                            Code:
                            [BC=black]             
                             rAcid  [COLOR="#C00000"]None[/COLOR] 
                             rElec  [COLOR="#FFFF00"]x1/3[/COLOR] 
                             rFire  [COLOR="#00FF00"]x1/9[/COLOR] 
                             rCold  [COLOR="#008040"]****[/COLOR] 
                                         [/BC]
                            That way newbies could figure out how things stack or don't by observation. (And more experienced players might notice more quickly when they've left a very stupid resistance hole.)

                            That might make the sidebar a tad crowded, though.

                            Comment

                            • Magnate
                              Angband Devteam member
                              • May 2007
                              • 5110

                              #15
                              Originally posted by Nomad
                              Maybe you should see more details in the info when you Inspect a piece of armour with resists? i.e. Ego of Resist Cold could say "Reduces damage taken from cold attacks to 2/3 maximum" instead of just "Provides resistance to cold". The same with potions and spells that give temp resists.

                              And/or you could stick a little display at the bottom of the sidebar to show the state of your base four resistances at a glance, like this:

                              Code:
                              [BC=black]             
                               rAcid  [COLOR="#C00000"]None[/COLOR] 
                               rElec  [COLOR="#FFFF00"]x1/3[/COLOR] 
                               rFire  [COLOR="#00FF00"]x1/9[/COLOR] 
                               rCold  [COLOR="#008040"]****[/COLOR] 
                                           [/BC]
                              That way newbies could figure out how things stack or don't by observation. (And more experienced players might notice more quickly when they've left a very stupid resistance hole.)

                              That might make the sidebar a tad crowded, though.
                              Doesn't have to be the sidebar - this sounds like a good idea for the redesigned character screen though ...
                              "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

                              Comment

                              Working...
                              😀
                              😂
                              🥰
                              😘
                              🤢
                              😎
                              😞
                              😡
                              👍
                              👎