Angband.oook.cz
Angband.oook.cz
AboutVariantsLadderForumCompetitionComicScreenshotsFunniesLinks

Go Back   Angband Forums > Angband > Vanilla

Reply
 
Thread Tools Display Modes
Old January 5, 2011, 02:53   #1
Derakon
Prophet
 
Derakon's Avatar
 
Join Date: Dec 2009
Posts: 7,952
Derakon is on a distinguished road
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
File Type: txt poison_diff.txt (6.5 KB, 115 views)
Derakon is online now   Reply With Quote
Old January 5, 2011, 15:02   #2
EpicMan
Swordsman
 
Join Date: Dec 2009
Location: Dallas, Texas, USA
Posts: 318
EpicMan is on a distinguished road
Why is drain physical stat after paralysis? Paralysis can get you killed, but stat draining shouldn't.
EpicMan is offline   Reply With Quote
Old January 5, 2011, 15:11   #3
Derakon
Prophet
 
Derakon's Avatar
 
Join Date: Dec 2009
Posts: 7,952
Derakon is on a distinguished road
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.
Derakon is online now   Reply With Quote
Old January 5, 2011, 15:25   #4
EpicMan
Swordsman
 
Join Date: Dec 2009
Location: Dallas, Texas, USA
Posts: 318
EpicMan is on a distinguished road
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.
EpicMan is offline   Reply With Quote
Old January 5, 2011, 16:09   #5
fizzix
Prophet
 
Join Date: Aug 2009
Location: Madison, Wisconsin, US
Posts: 2,927
fizzix is on a distinguished road
Quote:
Originally Posted by EpicMan View Post
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:
[
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
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.
fizzix is offline   Reply With Quote
Old January 5, 2011, 16:16   #6
Derakon
Prophet
 
Derakon's Avatar
 
Join Date: Dec 2009
Posts: 7,952
Derakon is on a distinguished road
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.
Derakon is online now   Reply With Quote
Old January 5, 2011, 16:37   #7
fizzix
Prophet
 
Join Date: Aug 2009
Location: Madison, Wisconsin, US
Posts: 2,927
fizzix is on a distinguished road
Quote:
Originally Posted by Derakon View Post
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.
fizzix is offline   Reply With Quote
Old January 5, 2011, 17:11   #8
Derakon
Prophet
 
Derakon's Avatar
 
Join Date: Dec 2009
Posts: 7,952
Derakon is on a distinguished road
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.
Derakon is online now   Reply With Quote
Old January 5, 2011, 18:05   #9
Magnate
Angband Devteam member
 
Join Date: May 2007
Location: London, UK
Posts: 5,054
Magnate is on a distinguished road
Send a message via MSN to Magnate Send a message via Yahoo to Magnate Send a message via Skype™ to Magnate
Quote:
Originally Posted by Derakon View Post
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.
Magnate is offline   Reply With Quote
Old January 5, 2011, 18:09   #10
Tiburon Silverflame
Swordsman
 
Join Date: Feb 2010
Posts: 405
Tiburon Silverflame is on a distinguished road
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.
Tiburon Silverflame is offline   Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Timed ailments fizzix Vanilla 5 September 30, 2009 15:24
RogeBasin status. PaulBlay Idle chatter 2 July 2, 2009 14:33
[3.1.0] ID and Stacks (bug? - status?) ClaytonAguiar Vanilla 6 June 17, 2009 17:37
The status of Sangband sygoomei Variants 5 February 16, 2009 17:17
Status of the GPL effort? CJNyfalt Vanilla 28 July 7, 2007 21:56


All times are GMT +1. The time now is 03:24.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2017, vBulletin Solutions, Inc.