Poison: Difference between revisions

From Eternal Lands Wiki
Jump to navigation Jump to search
m (→‎Mathematics: I forgot the +2 on the talk page, added to the formula here)
m (33 revisions imported)
 
(13 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{FoCW_Header|Poison|From snakes to toadstool}}
{{FoCW Header|Poison|From snakes to toadstools}}
==Introduction==
{| align="right"
This page is all about the non-spell effects of poison. For the spell "poison", see [[Magic/Spells/Poison|Poison]]. It starts with general information and sources, and delves into mechanics and finally mathematics of Poison.
| __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>


==General Information==
... 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:
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 [[Potions/Poison_Antidote|Poison Antidote]]. Pre-[[Harvestables/Red_Toadstool|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 left. We'll get to the mathematics later in this guide. Some qualitative observations we can make in this section:
<pre>P =
*Each poison lasts 3 minutes, and they are cumulative, meaning each additional poison adds another 3 minutes.
    Truncate(D/30), when D = 0 or D >= 30
*Due to the nature of the cumulative formula, having only one dose of poison at a given time will yield the least damage.
    1, when 0 < D < 30</pre>
*Three ways to tell poison has occurred, besides loss of health, are: (A) A green icon in the lower left of the screen, just above the mana display. (B) A green particle eye-candy visualization around the avatar. (C) 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 10 seconds.


===Sources===
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:
*Using [[Harvestables/Red_Toadstool|Toadstool]], has a 1/21, or approximately 4.8%, chance of yielding a poison.
<pre>D (estimated) = 30P</pre>
*Being attacked by a [[Creature/Red_Snake|Red Snake]] or [[Creature/Skunk|Skunk]] has a chance of yielding a poison, which is lessened by wearing armor.
 
*Using a [[Potions/Invisibility|Potion of Invisibility]] has a 30% chance of yielding a poison.
=== Simultaneous poisons ===
*Walking over a [[Engineering/Poisoned_Caltrops|Poisoned Caltrops]] does some base damage (Can be more or less depending on the Engineers level, max is 20) and yields a normal poison. (Note: The Engineer's level does not affect the poison damage, the formulas below apply.)
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:
*Casting the spell [[Magic/Spells/Poison|Poison]] yields a poison. However, the formulas below do not apply, damage depends on the magic level of the caster.
:[[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]] -->


==Mathematics==
The formula entropy posted for poison damage was:
* P = 1 + (D-30)/30, where P = the damage from poison, taken every 10 seconds, and D is the duration left in seconds.
However, this produced results that were slightly off, 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], where P = the damage from poison, taken every 10 seconds, and D is the duration left in seconds.
Truncate means that if [(D-30)/30] produces a fraction, always round down.
By expanding the fraction, the 1s will cancel out, and we can simplify this, with a few exceptions.
*P = Truncate(D/30) works except for where D is between 0 and 30. Therefore, we must create a piecewise function to account for all scenarios.
The final formula is:
* P =
            *Truncate(D/30) where D = 0 or D >= 30
            *1 where 0 < D < 30
This means that the approximate(results will be thrown off by the truncation of decimals and when P = 1) duration can be estimated by multiplying the interval damage (P) by 30. This can be extremely useful.
* D = 30P
Another useful formula will be total damage yielded from a certain amount of simultaneous poisons.
*([[Image:Summation.gif]] + 2) gives the total damage of k poisons
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
The graph of this looks like this:
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]]


[[Image:Poison1.png]]
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.
===Table===
This table of values is to help estimate damage remaining for a poison interval. IE, if a 5 was the last damage taken, look across from 5 on the table for total damage remaining. Since the formula is based on truncating a fraction with 30 as a denominator, each amount of damage will repeat for 3 hits, except for the initial amount, and the final amount of 1. Therefore we will assume the damage is the first one of that value. Also, the table gives damage counting the said hit. So, subtract 1, 2, or 3 intervals, depending on if it is the first, second, or third hit of that type, respectively.


{| border="1"
=== Remaining damage ===
|Last Damage Seen
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.
|Approximate Total Remaining
 
{| class="wikitable sortable" cellpadding="3" cellspacing="0"
|-
|-
|30
!scope="col" | Last Damage Value Received
|1395
!scope="col" | Approximate Total Remaining Damage
|-
|-
|29
|scope="row" style="text-align:right;" | 30
|1305
|style="text-align:right;" | 1395
|-
|-
|28
|scope="row" style="text-align:right;" | 29
|1218
|style="text-align:right;" | 1305
|-
|-
|27
|scope="row" style="text-align:right;" | 28
|1134
|style="text-align:right;" | 1218
|-
|-
|26
|scope="row" style="text-align:right;" | 27
|1053
|style="text-align:right;" | 1134
|-
|-
|25
|scope="row" style="text-align:right;" | '''26'''
|975
|style="text-align:right;" | '''1053'''
|-
|-
|24
|scope="row" style="text-align:right;" | 25
|900
|style="text-align:right;" | 975
|-
|-
|23
|scope="row" style="text-align:right;" | 24
|828
|style="text-align:right;" | 900
|-
|-
|22
|scope="row" style="text-align:right;" | 23
|759
|style="text-align:right;" | 828
|-
|-
|21
|scope="row" style="text-align:right;" | 22
|693
|style="text-align:right;" | 759
|-
|-
|20
|scope="row" style="text-align:right;" | 21
|630
|style="text-align:right;" | 693
|-
|-
|19
|scope="row" style="text-align:right;" | 20
|570
|style="text-align:right;" | 630
|-
|-
|18
|scope="row" style="text-align:right;" | 19
|513
|style="text-align:right;" | 570
|-
|-
|17
|scope="row" style="text-align:right;" | 18
|459
|style="text-align:right;" | 513
|-
|-
|16
|scope="row" style="text-align:right;" | 17
|408
|style="text-align:right;" | 459
|-
|-
|15
|scope="row" style="text-align:right;" | 16
|362
|style="text-align:right;" | 408
|-
|-
|14
|scope="row" style="text-align:right;" | 15
|317
|style="text-align:right;" | 362
|-
|-
|13
|scope="row" style="text-align:right;" | 14
|275
|style="text-align:right;" | 317
|-
|-
|12
|scope="row" style="text-align:right;" | 13
|236
|style="text-align:right;" | 275
|-
|-
|11
|scope="row" style="text-align:right;" | 12
|200
|style="text-align:right;" | 236
|-
|-
|10
|scope="row" style="text-align:right;" | 11
|167
|style="text-align:right;" | 200
|-
|-
|9
|scope="row" style="text-align:right;" | 10
|137
|style="text-align:right;" | 167
|-
|-
|8
|scope="row" style="text-align:right;" | 9
|110
|style="text-align:right;" | 137
|-
|-
|7
|scope="row" style="text-align:right;" | 8
|86
|style="text-align:right;" | 110
|-
|-
|6
|scope="row" style="text-align:right;" | 7
|65
|style="text-align:right;" | 86
|-
|-
|5
|scope="row" style="text-align:right;" | 6
|47
|style="text-align:right;" | 65
|-
|-
|4
|scope="row" style="text-align:right;" | 5
|32
|style="text-align:right;" | 47
|-
|-
|3
|scope="row" style="text-align:right;" | 4
|20
|style="text-align:right;" | 32
|-
|-
|2
|scope="row" style="text-align:right;" | 3
|11
|style="text-align:right;" | 20
|-
|-
|1
|scope="row" style="text-align:right;" | 2
|5
|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:

Two plus the summation of n from 1 to k of the quantity 51 plus 108 times the quantity k minus n

This can also be written as follows:

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:

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 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