Poison causes status ailments

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Derakon
    Prophet
    • Dec 2009
    • 9022

    Poison causes status ailments

    I coded up a patch to make poison cause various status ailments (attached). The way this works is, when you're poisoned, you have a chance to contract a status ailment for a single turn (except for stunning, which affects you for 10 turns). Increasing the poison timer increases the range of effects possible, but not the duration. Here's the cutoff points and odds:
    Code:
     * Min poison timer value   status ailment      % chance each turn
     * 10                       hallucinate         10
     * 20                       confuse             8
     * 40                       blind               6
     * 50                       additional poison   5
     * 80                       stun                6
     * 100                      vomit               2
     * 150                      paralyze            1
     * 200                      drain physical stat 1
    This table is included at the top of the new function process_poison in dungeon.c.

    Note that only one effect can occur on any given turn, so if you get hallucination, for example, then you won't vomit. Also note that melee poison attacks raise the timer by d(mlvl), while poison breaths and spells increase it by d(damage) + 10.

    Additionally, I've modified the status line to mark the player as "heavily poisoned" once the timer becomes more than 100.

    I tested by rolling up a wizard and summoning a bunch of hairy molds, then letting them smack me around.

    Some notes:

    * When triggering the hallucination effect, my custom message "Poison blurs your vision!" is followed up by "You feel drugged!", which seems to be a forced side-effect of inc_timed(TMD_IMAGE). I guess seeing things could be equated with being drugged? Seems weird though.
    * Speaking of which, it would be nice if we could unify hallucination labeling. We have TMD_IMAGE, MSG_DRUGGED, and in-game the effect is referred to as "Halluc" on the status line. Similarly, while most status effects end in "ed" (e.g. MSG_CONFUSED, MSG_PARALYZED), we also have MSG_BLIND and TMD_BLIND.
    * I'm not certain my use of message() is correct, so I'd appreciate someone checking that.
    * I'm pretty certain that the code reflects the odds breakdown I describe in the comments, but I'd like someone to double-check. Also, if you know of a way to implement this that doesn't require you to e.g. update every conditional if you want to change how common hallucination is, please let me know / change it.
    * I have little idea if this is balanced. In my testing, the nasty side effects were very rare; whether that means they should be made more common is hard to say. Mostly you hallucinate a lot and occasionally get confused.
    Attached Files
  • EpicMan
    Swordsman
    • Dec 2009
    • 455

    #2
    Why is drain physical stat after paralysis? Paralysis can get you killed, but stat draining shouldn't.

    Comment

    • Derakon
      Prophet
      • Dec 2009
      • 9022

      #3
      Well, for that matter, vomiting adds 4 to the paralysis timer as currently coded (uses the same function as a potion of salt water), which should probably be changed.

      Comment

      • EpicMan
        Swordsman
        • Dec 2009
        • 455

        #4
        Or you could just swap the last three effects - stat drain, paralysis, vomiting (+paralysis apparently).

        Or the stat drain could be massive (-4-8) on multiple/all stats and would therefore be very punishing.

        Comment

        • fizzix
          Prophet
          • Aug 2009
          • 3025

          #5
          Originally posted by EpicMan
          Or you could just swap the last three effects - stat drain, paralysis, vomiting (+paralysis apparently).

          Or the stat drain could be massive (-4-8) on multiple/all stats and would therefore be very punishing.
          I think you're going way overboard. Remember that many early level monsters can poison. Including several worm masses. Pits are sometimes poisoned as well. Let's not make the side effects too awful, or at least limit those side effects to the big breathers and damagers.

          I would propose some sort of simplified poison structure, instead of a counter. A poisoner would need to do above some threshold of damage in order reach a certain poisoning level. So you can't become increasingly poisoned form a worm mass. Here's what I would suggest:

          Code:
          [[FONT="Courier New"]
          Type:             Effect:                    Caused by:
          Light sickness    Impaired HP regen          Worm masses, some early jellies
          Sickness          No HP regen                Spiked pits, air hounds, bats of gorgoroth, baby/young dragons
          Poison            Moderate HP loss (1-5 ppt) Mature/Ancient dragons.  Winged horrors, Basilisks 
          Heavy Poison      Heavy HP loss (10-30 ppt)  AMHDS, drolems
          Severe Poison     Heavy HP loss, stat losses All max breathers, Draugluin, Cantoras
          [/FONT]
          These "caused by" ranges should be based on damage or monster HP.

          Now drolems are still killers for characters without rpois, but they kill not by a 600 hp breath, but by extremely large HP losses. Slow poison moves poison from one stage to the previous one. Poison breath can then be capped lower (200-300) Priests can cast Neutralize and Slow, Paladin's also (but expensive for them) No other classes. !CCW does not heal poison, but neutralize poison is sold in the Alchemist. !heal complete cures poison.

          In retrospect, I'm not sure these ideas are so good.

          Comment

          • Derakon
            Prophet
            • Dec 2009
            • 9022

            #6
            The difficulty I see with your suggestion is needing to track all those different kinds of poison. You have to keep track of the damage source to know which effects to apply. Otherwise you're back to just basing the side effects on the poison timer, in which case you're merely arguing about which side effects should be present. Not that there's anything wrong with that.

            I'm also a bit leery of requiring players to carry yet another consumable item just to deal with poison.

            Also, for what it's worth white worm masses only increase your poison counter by 1d1 (since they are level-1 monsters) and they move slowly, so the worst they can do to you poison-wise is slow down your recovery from an earlier source of poison. This is true for most melee poisoners, in fact; unless you're fighting a large number of them in a rather unwise fashion, they simply don't increase the poison counter all that much. I had to summon multiple hairy molds and stand next to them doing nothing for them to get my poison counter anywhere significant.

            In fact, I suspect that in practice, players will hardly ever see any of the side effects I coded in except for hallucination and maybe confusion, unless they get hit by a big unresisted poison breath and then roll poorly on the timer. In which case, well, you just got hit by a big unresisted poison breath; you should be thankful you're alive at all.

            Comment

            • fizzix
              Prophet
              • Aug 2009
              • 3025

              #7
              Originally posted by Derakon
              I'm also a bit leery of requiring players to carry yet another consumable item just to deal with poison.
              I'm not. The quiver has freed up a lot of slots. But, I can understand your argument.

              The difficulty of tracking the poison source is not something I thought of, that may kill my proposal outright. Although, if you get hit by a drolem breath you know you were killed by the drolem, because it tracks that at player death. So this can't be *that* hard, right?

              Looking again at your table, it doesn't look all that bad. However, I'd really like it if getting hit by an unresisted breath did little actual damage but caused all those side effects. I kind of like poison killing you in a different way. Ancient dragon breath could blind and confuse you, but only do about 50 damage. Drolem breath could bring you to 150 on the poison counter, immediately, yet only do 150 damage. % chance per turn seems low. If you get to 150, you should have something like a 25-50% chance of getting paralyzed on any turn.

              I wonder what it would take to allow venom brands to not do extra damage but give a chance to cause confusion and dazing to an unresisting monster.

              Comment

              • Derakon
                Prophet
                • Dec 2009
                • 9022

                #8
                The quiver only freed up slots if you were in the habit of carrying more than one type of ammo at a time before it was introduced. I view the quiver more as a general increase to the power of archery. Before, I carried one stack of general-purpose ammo. Now, I carry 99 units of ammo. The quiver hasn't expanded my inventory any as far as non-ammo is concerned. Though I'll grant I may be an outlier here.

                It's easy enough to change the breakpoints, effects, and probabilities. I'll freely grant I may have lowballed the odds here, though I'd appreciate hearing what others think. On the whole I expect that this change will need a decent amount of playtesting to be balanced, which I haven't had time to do.

                One thing we could do to poison breath (or any poison attack) is have it trigger process_poison once per X damage inflicted. So a heavy poison breath might cause multiple of these effects to occur simultaneously.

                Comment

                • Magnate
                  Angband Devteam member
                  • May 2007
                  • 5110

                  #9
                  Originally posted by Derakon
                  The quiver only freed up slots if you were in the habit of carrying more than one type of ammo at a time before it was introduced. I view the quiver more as a general increase to the power of archery. Before, I carried one stack of general-purpose ammo. Now, I carry 99 units of ammo. The quiver hasn't expanded my inventory any as far as non-ammo is concerned. Though I'll grant I may be an outlier here.

                  It's easy enough to change the breakpoints, effects, and probabilities. I'll freely grant I may have lowballed the odds here, though I'd appreciate hearing what others think. On the whole I expect that this change will need a decent amount of playtesting to be balanced, which I haven't had time to do.

                  One thing we could do to poison breath (or any poison attack) is have it trigger process_poison once per X damage inflicted. So a heavy poison breath might cause multiple of these effects to occur simultaneously.
                  I haven't commented so far because I don't believe that the "poison minigame" needs any changes at this point.

                  But, if changes are going to be made, I agree entirely with fizzix. Let's reduce the cap on poison breath to something tiny like 200 (which is almost negligible with a single resist, let alone double), and make poison all about the counter. So what would have been damage becomes poison-counter-increase, and your table is calibrated so that the worst effects are only available to the "max breathers" or after prolonged fights (i.e. the poison counter needs to hit 700+).

                  Note that we are not restricted to recovering one point per turn - since we have been talking about how to make stats more useful, this could be CON-related (yes I know that is already one of the more important stats), so 3 CON only recovers 1 point per turn, but 17 con recovers 8 per turn, and 18/200 recovers 19 per turn. Or something. Dwarves and/or hobbits could have a bonus to their poison counter recovery.
                  "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

                  Comment

                  • Tiburon Silverflame
                    Swordsman
                    • Feb 2010
                    • 405

                    #10
                    I think the inventory space issue can be restricted...because if poison risks confusion, stun, or paralyze as well, then we're just saying Thou SHALT Have Poison Resistance...assuming that rPois still prevents the side effect. So the inventory management issue is principally only through, roughly speaking, stat gain country, under that assumption.

                    Still, for a lot of players, requiring Yet Another Consumable Which They Lose Regularly...is a bad idea, IMO. Lots of players *already* have plenty of trouble with slots, especially in the initial stages when ID is an issue.

                    If poison can cause side effects based strictly on damage done after resists as per fizzix' last comment, then we're just *compelling* even more, that there is only 1 play style: creep, detect, avoid. That's very bad design, IMO; other tactics need to remain viable.

                    Overall, I can't support this idea.

                    Comment

                    • Derakon
                      Prophet
                      • Dec 2009
                      • 9022

                      #11
                      Tiburon: I think you're overestimating how much more dangerous this makes poison. As written, each status ailment only lasts for a single turn. If you're in the stat-gain region and you absolutely can't last one extra turn against your enemies, then you've already done something wrong. Later on is a different story, but then again, if you dive deep without poison resistance you're already taking your fate into your own hands, so I don't see how this changes things much. Honestly I view this as more of a flavor change than a difficulty change, at least as currently implemented.

                      Now, if we wanted to move towards making poison all about the counter, that'd obviously be a different story. If we do do that, then I'd say remove the damage aspect of poison altogether. So then a Drolem breathing on you is +800 to your poison counter, not -800 to your hitpoints. The consequences of being so badly poisoned should be roughly as bad as the consequences of losing 800 hitpoints, but they wouldn't show up immediately.

                      Naturally we'd have to recalibrate the effect on the poison counter of melee and breath attacks if we did this. I'd additionally recommend in that situation that poison resistance then not prevent being poisoned altogether, but instead reduce the impact poisoning has on your counter. This would make it easier to avoid the nastier side effects; the less-nasty ones can of course be avoided by having the proper other protections.

                      Comment

                      • fizzix
                        Prophet
                        • Aug 2009
                        • 3025

                        #12
                        @Derakon: I think we're on the same page here. An unresisted drolem breath should be fairly devastating. Paralysis, confusion, blindness, heavy stunning, nausea. (bypassing all resists of course)

                        One problem that I thought of is that the neutralize poison spell becomes useless in the moderately poisoned regime (blindness or confusion prevent casting) Rods of curing on the other hand... Neutralize poison should probably be converted into a temporary poison resistance.

                        I think there's a lot of options here for interesting gameplay.

                        Comment

                        • Hariolor
                          Swordsman
                          • Sep 2008
                          • 289

                          #13
                          I like the concept, so here's my take playing off Derakon's ideas:

                          The concept is that poison has a distribution of effects that are widely divergent in terms of severity, but balanced by probability. Being poisoned for a few turns means you'll most likely just get annoyance effects - but the longer you are poisoned the more chances you have to land a really bad roll. My goal is to make poison something that creates panic for early characters (but is easily avoided), is harder to avoid but more survivable for middling characters, and is easily survivable if prepared for a powerful character.

                          Status effects created last until cured/expired, and can be resisted when applicable.

                          I'm just winging the numbers here based on my own experience and biases:

                          Each turn while poisoned, including the first, roll for a status effect

                          80% - lose 5d2 HP
                          12% - slowed for +1d5 turns
                          6% - blinded for +1d2 turns
                          1% - drain randomly STR, CON, or DEX
                          .5% - confusion for +1d5 turns
                          .1% - hallucination for +1d5 turns
                          .1% - vomiting
                          .1% - paralysis for 1d2 turns
                          .1% - drain stat + slow
                          .05% - drain stat + blind + confusion
                          .05% - drain stat + vomiting + paralysis


                          As an aside - I wonder how long, on average, players stay poisoned? Personally I am very rarely poisoned for much more than a few turns once I'm up to CL10 or so. As soon as I can purchase/find a supply of CCW and NPois, I can more or less ignore poison beyond the initial damage.
                          Last edited by Hariolor; January 6, 2011, 02:38.

                          Comment

                          • Derakon
                            Prophet
                            • Dec 2009
                            • 9022

                            #14
                            From my testing experience, you practically never see anything that happens at the 1% level. Lower odds, especially if they're for really dangerous effects, are basically saying "Once every ten characters, you'll just get randomly killed by poison".

                            Also, 80% chance to lose 5d2 HP means that poison is absolutely fatal to young characters. A white worm mass goes from dealing 1d2+1 damage to dealing 6d2 damage. I'd rather see the damage dealt scale with the poison counter.

                            Presumably if poison moves to being more status-ailmenty and less direct damage-dealing, then the means to cure poison will become more difficult to come by. At a guess I'd say that the various C*W potions would just reduce the counter by some flat amount (e.g. 5 for CLW, 10 for CSW, 20 for CCW), so if you got badly poisoned you'd have to chug many potions to clear it quickly. Ditto for the poison mitigation spells.

                            Comment

                            • Hariolor
                              Swordsman
                              • Sep 2008
                              • 289

                              #15
                              Originally posted by Derakon
                              From my testing experience, you practically never see anything that happens at the 1% level. Lower odds, especially if they're for really dangerous effects, are basically saying "Once every ten characters, you'll just get randomly killed by poison".

                              Also, 80% chance to lose 5d2 HP means that poison is absolutely fatal to young characters. A white worm mass goes from dealing 1d2+1 damage to dealing 6d2 damage. I'd rather see the damage dealt scale with the poison counter.

                              Presumably if poison moves to being more status-ailmenty and less direct damage-dealing, then the means to cure poison will become more difficult to come by. At a guess I'd say that the various C*W potions would just reduce the counter by some flat amount (e.g. 5 for CLW, 10 for CSW, 20 for CCW), so if you got badly poisoned you'd have to chug many potions to clear it quickly. Ditto for the poison mitigation spells.
                              I'd be fine seeing the damage scale, but I'd be concerned that that would be harder to implement. If white worms only add +1 to the counter, however, then they'd do 1d2+5d2 damage, max 12, min 6. Scary to be sure, but hardly unprecedented. With poison being a status-effect-causing attack and not a direct-damage attack, I figured 5-10 dam isn't unreasonable. A drolem causing 800 rounds of poison damage could have a max damage output of 8000 (10 dam/round for all 800 rounds) - pretty bad, but essentially impossible from a probability point of view.

                              As for 1% occurence - how do you mean 1% never happens in testing? I have often failed spells with 1% fail rate (likely the distribution works out to 1/100 tries). Certainly over the course of many games, a 1/1000 or even 1/2000 chance is going to turn up occasionally?

                              Consider this: Maybe air hounds will add +20d5 to the poison counter when they breathe gas. Get hit with ten breaths in a turn (which is totally plausible) - and that's potentially 1000 turns on your poison counter. If you're caught with your pants down, and have say 300 HP (a reasonable amount for a warrior first encountering a pack of air hounds), you've got, statistically speaking, about 50 turns before the poison kills you. (300hp / 7.5 mean dam = 40 turns to death. 80% = 4/5 chance per turn to take damage)

                              of course, that's a lot of conjecture

                              Comment

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