Viewing Issue Simple Details Jump to Notes ] Wiki ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0007954 [DCSS] Patches feature N/A 2014-01-03 23:26 2014-03-21 10:29
Reporter pubby View Status public  
Assigned To MarvinPA
Priority normal Resolution done  
Status resolved   Product Branch 0.14 ancient branch
Summary 0007954: A start on deterministic poison
Description Some code to make poison deterministic.

The formulas still need balancing.

Mana link mutation was broken by this patch. It would need to be fixed or redone.

I rewrote the bar drawing code in output.cc. It's over-engineered, but works.

Poison melee was given initial extra damage.

Resting UI could be improved.
Additional Information
Tags No tags attached.
Attached Files ? file icon poison.patch [^] (47,559 bytes) 2014-01-03 23:26 [Show Content]

- Relationships

-  Notes
(0024927)
galehar (administrator)
2014-01-05 14:17

Could you explain in more details what you're trying to achieve? Your description and commit messages aren't very descriptive. So, you made damage and duration deterministic, and show the expected total damage on the HP bar, right? That's all?
Are the damage and duration equal (or close) to the old damage and duration (on average)?
How about tweaking the formula to also make poison shorter and stronger? In order to have a stronger tactical effect and reduce the annoyance of resting it off.
I made a proposal for this:
https://crawl.develz.org/wiki/doku.php?id=dcss:brainstorm:effect:poison#proposal_for_new_formula [^]
(0024930)
pubby (reporter)
2014-01-05 19:18

>So, you made damage and duration deterministic, and show the expected total damage on the HP bar, right?

Yes

>Are the damage and duration equal (or close) to the old damage and duration (on average)?

The formula is different. Poison damage is now completely linear. There are two values used: duration and intensity. Duration is how many turns the poison lasts, and intensity determines how much damage it does per turn. Intensity depends on the attack type; adders have low intensity, redbacks have high.

I very quickly tweaked the values so that the game would be playable with the patch, but they're still out of whack and need proper rebalancing.

>How about tweaking the formula to also make poison shorter and stronger? In order to have a stronger tactical effect and reduce the annoyance of resting it off.

The patch does this currently. Of course, since it's deterministic, you only need 1 keypress to heal the poison.

----

Anyway, I can attempt to rebalance the formulas and make it play very nicely, but I'd like some approval first.
(0024933)
galehar (administrator)
2014-01-06 00:48

OK, it does look very interesting. The numbers need to be tweaked, but it's very nice to be able to set duration and damage separately. I think it has a lot of potential. The damage needs to be buffed quite a lot it seems.
It's a bit weird that the status colour doesn't depend on total damage. When you stack a lot of low level attacks, the status stays yellow, I think it should turn red when poison stacks.

Also, I got:
output.cc:582: error: undefined reference to 'contam_bar_drawer::max_contam'
so I changed it to a simple #define, otherwise it wouldn't compile.
(0024941)
galehar (administrator)
2014-01-08 13:50

To clarify my previous comment, I think when poison stacks it should increase the intensity. Always, not just when the new intensity is bigger than the old one. To compensate, don't increase duration as much (maybe just stepdown it).
(0024942)
pubby (reporter)
2014-01-08 21:03

I'm experimenting with poison being specified in terms of eventual damage rather than duration and intensity. It still uses duration and intensity internally, but they're not exposed in the call to poison_player(). This seems much easier to reason about.

>It's a bit weird that the status colour doesn't depend on total damage. When you stack a lot of low level attacks, the status stays yellow, I think it should turn red when poison stacks.

I'll look into this.
(0025667)
MarvinPA (developer)
2014-03-21 10:29

DracoOmega has implemented deterministic poison.

- Issue History
Date Modified Username Field Change
2014-01-03 23:26 pubby New Issue
2014-01-03 23:26 pubby File Added: poison.patch
2014-01-05 14:17 galehar Note Added: 0024927
2014-01-05 19:18 pubby Note Added: 0024930
2014-01-06 00:48 galehar Note Added: 0024933
2014-01-08 13:50 galehar Note Added: 0024941
2014-01-08 21:03 pubby Note Added: 0024942
2014-03-21 10:29 MarvinPA Note Added: 0025667
2014-03-21 10:29 MarvinPA Status new => resolved
2014-03-21 10:29 MarvinPA Fixed in Branch => 0.14 development branch
2014-03-21 10:29 MarvinPA Resolution open => done
2014-03-21 10:29 MarvinPA Assigned To => MarvinPA


Mantis 1.1.8[^]
Copyright © 2000 - 2009 Mantis Group
Powered by Mantis Bugtracker