Poison: Difference between revisions
m (→Mathematics: I forgot the +2 on the talk page, added to the formula here) |
VinoVeritas (talk | contribs) m (33 revisions imported) |
||
(13 intermediate revisions by 8 users not shown) | |||
Line 1: | Line 1: | ||
{{ | {{FoCW Header|Poison|From snakes to toadstools}} | ||
= | {| align="right" | ||
This page is | | __TOC__ | ||
|} | |||
:''This page is about the non-spell effects of being poisoned. For the spell "poison", see [[Poison Spell]].'' | |||
== General information == | |||
Poison in Eternal Lands is a condition where the player loses a constantly decreasing amount of health. A remedy for this condition is the potion [[Poison Antidote]]. Pre-[[toadstool]] poison involved losing 1 health point per time interval for a maximum of 5-10 health points. Now, poison has a formula based on the time remaining. The mathematics are discussed later in this guide. Some qualitative observations we can make in this section: | |||
* Each poison lasts 3 minutes, and they are cumulative, meaning each additional poison adds another 3 minutes. | |||
* Due to the nature of the cumulative formula, having only one dose of poison at a given time will yield the least damage. | |||
* Three indications that poisoning has occurred, besides loss of health, are: | |||
** A green icon in the lower left of the screen, just above the mana display. | |||
** A green particle eye-candy visualization around the avatar. | |||
** A message in the console in red print. | |||
The poison icon and particle visualization will continue until a green 0 is displayed for health loss. When the poison message is displayed, there is a 10 second delay before the first damage, and each additional damage is separated from the last by 10 second intervals. The 10 second delay means that the total time from the poison message display to green 0 display is 190 seconds, or 3 minutes and 10 seconds. | |||
=== Sources of poison === | |||
* Using a [[Toadstool]] has a 1/21, or approximately 4.8%, chance of yielding a poison. | |||
* Being attacked by a [[Red Snake]] or [[Skunk]] has a chance of yielding a poison. This chance is lessened by wearing armour during combat. | |||
* Using an [[Invisibility Potion]] has a 30% chance of yielding a poison. | |||
* Walking over a [[Poisoned Caltrop]] does 15 base damage plus 1 for every 5 [[engineering]] levels, and it yields a poison which can only accumulate up to 26 poison damage per hit (as when the victim steps on the caltrop while his last poison damage was 20). Further poisoned caltrops do not add poison damage until the damage returns to 20. (Note: The engineer's level does not affect the poison damage; the standard formulas below apply.) | |||
* Casting the [[Poison Spell]] yields a poison on the victim of the spell. However, damage depends on the [[magic]] level of the caster; the standard formulas below do not apply. | |||
== Mathematics == | |||
=== Single poisons === | |||
The formula entropy posted for poison damage was... | |||
<pre>P = 1 + (D-30)/30</pre> | |||
... where '''P''' is the damage from poison, taken every 10 seconds, and '''D''' is the remaining duration in seconds. See the ''[[#General information|General information]]'' section above for the initial duration values. | |||
However, this produced results that were slightly inaccurate, so we have to take rounding (in this case, truncating) into account. The derived formula that will produce accurate results is: | |||
<pre>P = 1 + Truncate[(D-30)/30]</pre> | |||
''Truncate'' means that if the result inside the square brackets is a fraction, always round down. By expanding the fraction, the 1's will cancel out, and we can simplify this with a few exceptions. For example, ... | |||
<pre>P = Truncate(D/30)</pre> | |||
... works, except for when D is between 0 and 30. Therefore, we must create a piecewise (multi-part conditional) function to account for all scenarios. The final formula for the amount of poison damage every 10 seconds is: | |||
<pre>P = | |||
Truncate(D/30), when D = 0 or D >= 30 | |||
1, when 0 < D < 30</pre> | |||
The | |||
=== | From that formula, the remaining duration can be ''estimated'' by multiplying the interval damage (P) by 30. Even though this estimate will be distorted by the truncation of decimals and when P = 1, this formula is short and allows you to find the remaining duration (D) of the poison simply from watching how much health you are losing (P) every 10 seconds: | ||
<pre>D (estimated) = 30P</pre> | |||
=== Simultaneous poisons === | |||
Another formula can be used to calculate the total damage yielded from a given amount of ''simultaneous'' poisons. This expression returns the total damage from k poisons: | |||
:[[File:Poison sum 1.png|none|alt=Two plus the summation of n from 1 to k of the quantity 51 plus 108 times the quantity k minus n]] | |||
<!-- :[[Summation.gif]] --> | |||
This can also be written as follows: | This can also be written as follows: | ||
<!-- | |||
*k*51 + 108* (k-1)*k/2 + 2 = k * (51 + 54*(k-1)) + 2 | *k*51 + 108* (k-1)*k/2 + 2 = k * (51 + 54*(k-1)) + 2 | ||
Got a typo in the file name below, sorry :-/ | |||
--> | |||
:[[File:Posion sum 2.png|none|alt=Two plus 51 times k plus 108 times k times one half times the quantity k minus 1 equals two plus k times the quantity 51 plus 54 times the quantity k minus 1]] | |||
[[ | The graphs of damage from single and cumulative poisons look like this: | ||
[[File:Poison1.png|none|alt=Total damage increases linearly as long as each poison is suffered separately. Total damage increases exponentially if the poisons overlap.]] | |||
The main observation we can make from this is that it is beneficial to have as few poisons as possible at any given time | The main observation we can make from this is that it is beneficial to have as few overlapping poisons as possible at any given time. | ||
{| | === Remaining damage === | ||
This table helps to estimate the remaining damage you will receive during a poison interval. For example, if a 5 was the last damage value received, look across from the 5 on the table to find the total remaining damage you will receive. Since the formula is based on truncating a fraction with 30 as a denominator, each damage value will repeat for 3 hits except for the initial amount and the final amount of 1. In the table, each damage value is assumed to be the first of the 3 hits for that value. Also, the total remaining damage in the table ''includes'' the current hit. So, subtract 1, 2, or 3 intervals, depending on if it is the first, second, or third hit of that value, respectively. | |||
{| class="wikitable sortable" cellpadding="3" cellspacing="0" | |||
|- | |- | ||
| | !scope="col" | Last Damage Value Received | ||
| | !scope="col" | Approximate Total Remaining Damage | ||
|- | |- | ||
| | |scope="row" style="text-align:right;" | 30 | ||
| | |style="text-align:right;" | 1395 | ||
|- | |- | ||
| | |scope="row" style="text-align:right;" | 29 | ||
| | |style="text-align:right;" | 1305 | ||
|- | |- | ||
| | |scope="row" style="text-align:right;" | 28 | ||
| | |style="text-align:right;" | 1218 | ||
|- | |- | ||
| | |scope="row" style="text-align:right;" | 27 | ||
| | |style="text-align:right;" | 1134 | ||
|- | |- | ||
| | |scope="row" style="text-align:right;" | '''26''' | ||
| | |style="text-align:right;" | '''1053''' | ||
|- | |- | ||
| | |scope="row" style="text-align:right;" | 25 | ||
| | |style="text-align:right;" | 975 | ||
|- | |- | ||
| | |scope="row" style="text-align:right;" | 24 | ||
| | |style="text-align:right;" | 900 | ||
|- | |- | ||
| | |scope="row" style="text-align:right;" | 23 | ||
| | |style="text-align:right;" | 828 | ||
|- | |- | ||
| | |scope="row" style="text-align:right;" | 22 | ||
| | |style="text-align:right;" | 759 | ||
|- | |- | ||
| | |scope="row" style="text-align:right;" | 21 | ||
| | |style="text-align:right;" | 693 | ||
|- | |- | ||
| | |scope="row" style="text-align:right;" | 20 | ||
| | |style="text-align:right;" | 630 | ||
|- | |- | ||
| | |scope="row" style="text-align:right;" | 19 | ||
| | |style="text-align:right;" | 570 | ||
|- | |- | ||
| | |scope="row" style="text-align:right;" | 18 | ||
| | |style="text-align:right;" | 513 | ||
|- | |- | ||
| | |scope="row" style="text-align:right;" | 17 | ||
| | |style="text-align:right;" | 459 | ||
|- | |- | ||
| | |scope="row" style="text-align:right;" | 16 | ||
| | |style="text-align:right;" | 408 | ||
|- | |- | ||
| | |scope="row" style="text-align:right;" | 15 | ||
| | |style="text-align:right;" | 362 | ||
|- | |- | ||
| | |scope="row" style="text-align:right;" | 14 | ||
| | |style="text-align:right;" | 317 | ||
|- | |- | ||
| | |scope="row" style="text-align:right;" | 13 | ||
| | |style="text-align:right;" | 275 | ||
|- | |- | ||
| | |scope="row" style="text-align:right;" | 12 | ||
| | |style="text-align:right;" | 236 | ||
|- | |- | ||
| | |scope="row" style="text-align:right;" | 11 | ||
| | |style="text-align:right;" | 200 | ||
|- | |- | ||
| | |scope="row" style="text-align:right;" | 10 | ||
| | |style="text-align:right;" | 167 | ||
|- | |- | ||
| | |scope="row" style="text-align:right;" | 9 | ||
| | |style="text-align:right;" | 137 | ||
|- | |- | ||
| | |scope="row" style="text-align:right;" | 8 | ||
| | |style="text-align:right;" | 110 | ||
|- | |- | ||
| | |scope="row" style="text-align:right;" | 7 | ||
| | |style="text-align:right;" | 86 | ||
|- | |- | ||
| | |scope="row" style="text-align:right;" | 6 | ||
| | |style="text-align:right;" | 65 | ||
|- | |- | ||
| | |scope="row" style="text-align:right;" | 5 | ||
| | |style="text-align:right;" | 47 | ||
|- | |- | ||
| | |scope="row" style="text-align:right;" | 4 | ||
| | |style="text-align:right;" | 32 | ||
|- | |- | ||
| | |scope="row" style="text-align:right;" | 3 | ||
| | |style="text-align:right;" | 20 | ||
|- | |- | ||
| | |scope="row" style="text-align:right;" | 2 | ||
| | |style="text-align:right;" | 11 | ||
|- | |- | ||
|0 | |scope="row" style="text-align:right;" | 1 | ||
|0 | |style="text-align:right;" | 5 | ||
|- | |||
|scope="row" style="text-align:right;" | 0 | |||
|style="text-align:right;" | 0 | |||
|} | |} | ||
[[Category:Guides]] |
Latest revision as of 15:55, 8 August 2021
- This page is about the non-spell effects of being poisoned. For the spell "poison", see Poison Spell.
General information[edit]
Poison in Eternal Lands is a condition where the player loses a constantly decreasing amount of health. A remedy for this condition is the potion Poison Antidote. Pre-toadstool poison involved losing 1 health point per time interval for a maximum of 5-10 health points. Now, poison has a formula based on the time remaining. The mathematics are discussed later in this guide. Some qualitative observations we can make in this section:
- Each poison lasts 3 minutes, and they are cumulative, meaning each additional poison adds another 3 minutes.
- Due to the nature of the cumulative formula, having only one dose of poison at a given time will yield the least damage.
- Three indications that poisoning has occurred, besides loss of health, are:
- A green icon in the lower left of the screen, just above the mana display.
- A green particle eye-candy visualization around the avatar.
- A message in the console in red print.
The poison icon and particle visualization will continue until a green 0 is displayed for health loss. When the poison message is displayed, there is a 10 second delay before the first damage, and each additional damage is separated from the last by 10 second intervals. The 10 second delay means that the total time from the poison message display to green 0 display is 190 seconds, or 3 minutes and 10 seconds.
Sources of poison[edit]
- Using a Toadstool has a 1/21, or approximately 4.8%, chance of yielding a poison.
- Being attacked by a Red Snake or Skunk has a chance of yielding a poison. This chance is lessened by wearing armour during combat.
- Using an Invisibility Potion has a 30% chance of yielding a poison.
- Walking over a Poisoned Caltrop does 15 base damage plus 1 for every 5 engineering levels, and it yields a poison which can only accumulate up to 26 poison damage per hit (as when the victim steps on the caltrop while his last poison damage was 20). Further poisoned caltrops do not add poison damage until the damage returns to 20. (Note: The engineer's level does not affect the poison damage; the standard formulas below apply.)
- Casting the Poison Spell yields a poison on the victim of the spell. However, damage depends on the magic level of the caster; the standard formulas below do not apply.
Mathematics[edit]
Single poisons[edit]
The formula entropy posted for poison damage was...
P = 1 + (D-30)/30
... where P is the damage from poison, taken every 10 seconds, and D is the remaining duration in seconds. See the General information section above for the initial duration values.
However, this produced results that were slightly inaccurate, so we have to take rounding (in this case, truncating) into account. The derived formula that will produce accurate results is:
P = 1 + Truncate[(D-30)/30]
Truncate means that if the result inside the square brackets is a fraction, always round down. By expanding the fraction, the 1's will cancel out, and we can simplify this with a few exceptions. For example, ...
P = Truncate(D/30)
... works, except for when D is between 0 and 30. Therefore, we must create a piecewise (multi-part conditional) function to account for all scenarios. The final formula for the amount of poison damage every 10 seconds is:
P = Truncate(D/30), when D = 0 or D >= 30 1, when 0 < D < 30
From that formula, the remaining duration can be estimated by multiplying the interval damage (P) by 30. Even though this estimate will be distorted by the truncation of decimals and when P = 1, this formula is short and allows you to find the remaining duration (D) of the poison simply from watching how much health you are losing (P) every 10 seconds:
D (estimated) = 30P
Simultaneous poisons[edit]
Another formula can be used to calculate the total damage yielded from a given amount of simultaneous poisons. This expression returns the total damage from k poisons:
This can also be written as follows:
The graphs of damage from single and cumulative poisons look like this:
The main observation we can make from this is that it is beneficial to have as few overlapping poisons as possible at any given time.
Remaining damage[edit]
This table helps to estimate the remaining damage you will receive during a poison interval. For example, if a 5 was the last damage value received, look across from the 5 on the table to find the total remaining damage you will receive. Since the formula is based on truncating a fraction with 30 as a denominator, each damage value will repeat for 3 hits except for the initial amount and the final amount of 1. In the table, each damage value is assumed to be the first of the 3 hits for that value. Also, the total remaining damage in the table includes the current hit. So, subtract 1, 2, or 3 intervals, depending on if it is the first, second, or third hit of that value, respectively.
Last Damage Value Received | Approximate Total Remaining Damage |
---|---|
30 | 1395 |
29 | 1305 |
28 | 1218 |
27 | 1134 |
26 | 1053 |
25 | 975 |
24 | 900 |
23 | 828 |
22 | 759 |
21 | 693 |
20 | 630 |
19 | 570 |
18 | 513 |
17 | 459 |
16 | 408 |
15 | 362 |
14 | 317 |
13 | 275 |
12 | 236 |
11 | 200 |
10 | 167 |
9 | 137 |
8 | 110 |
7 | 86 |
6 | 65 |
5 | 47 |
4 | 32 |
3 | 20 |
2 | 11 |
1 | 5 |
0 | 0 |