Stats: Difference between revisions
(Created page with "Besides attributes and skills, the player has the following stats in Arx Fatalis. These cannot be directly modified by spending points when leveling up but instead are co...") |
No edit summary |
||
Line 9: | Line 9: | ||
Player <code>health</code> is never above <code>full_max_health</code>. If <code>health</code> drops to <code>0</code> the player dies - duh. | Player <code>health</code> is never above <code>full_max_health</code>. If <code>health</code> drops to <code>0</code> the player dies - duh. | ||
<br> | |||
== Mana == | == Mana == | ||
Line 16: | Line 18: | ||
Player <code>mana</code> is always in the range <code>[0, full_max_mana]</code>. | Player <code>mana</code> is always in the range <code>[0, full_max_mana]</code>. | ||
<br> | |||
== Armor Class == | == Armor Class == | ||
Line 44: | Line 48: | ||
<b><font color="red">TODO</font></b>: Why use <code>base_defense</code> (via <code>base_armor_class</code>) and not <code>full_defense</code> for <code>full_armor_class</code>? ({{Issue|322}}) | <b><font color="red">TODO</font></b>: Why use <code>base_defense</code> (via <code>base_armor_class</code>) and not <code>full_defense</code> for <code>full_armor_class</code>? ({{Issue|322}}) | ||
<br> | |||
== Magic Resistance == | |||
base_resist_magic = floor(raw_mental * 2 * (1 + base_casting / 200)); | |||
Equipped items can increase or decrease the magic resistance: | |||
modabs_resist_magic = ∑<item>[ modabs(<item>, resist_magic) ] | |||
Alternatively, equipped items can also add or remove a percentage of the magic resistance: | |||
modrel(<item>, resist_magic) = modpercent(<item>, resist_magic) / 100 | |||
modrel_resist_magic = ∑<item>[ modrel(<item>, resist_magic) ] * ( base_resist_magic + modabs_resist_magic ) | |||
The full magic resistance is calculated as: | |||
full_resist_magic = max(0, base_resist_magic + modabs_resist_magic + modrel_resist_magic + <i>cheats</i>) |
Revision as of 14:34, 10 July 2012
Besides attributes and skills, the player has the following stats in Arx Fatalis. These cannot be directly modified by spending points when leveling up but instead are computed from the player level, attributes, skills, equipped items and active spells.
Health
Also known as "Life" in the source code.
raw_max_health = raw_constitution * (level + 2) full_max_health = full_constitution * (level + 2)
Player health
is never above full_max_health
. If health
drops to 0
the player dies - duh.
Mana
base_max_mana = raw_mental * (level + 1) full_max_mana = full_mental * (level + 1);
Player mana
is always in the range [0, full_max_mana]
.
Armor Class
base_armor_class = max(1, floor(base_defense / 10 - 1))
Equipped items can increase or decrease the armor class:
modabs_armor_class = ∑<item>[ modabs(<item>, armor_class) ]
Alternatively, equipped items can also add or remove a percentage of the armor class:
modrel(<item>, armor_class) = modpercent(<item>, armor_class) / 100 modrel_armor_class = ∑<item>[ modrel(<item>, armor_class) ] * ( base_armor_class + modabs_armor_class )
Armor/lower armor spells subtract/add one point per caster level to the armor class. Other spells don't modify the armor class directly.
modspell(armor_class, Armor, <caster_level>) = 1 * <caster_level> modspell(armor_class, Lower armor, <caster_level>) = -1 * <caster_level> modspell(armor_class, <spell>, <caster_level>) = 0
modspell_armor_class = ∑<spell>,<caster_level>[ modspell(armor_class, <spell>, <caster_level>) ]
TODO: Clarify caster_level
!
The full armor class is calculated as:
full_armor_class = max(0, base_armor_class + modabs_armor_class + modrel_armor_class + modspell_armor_class + cheats)
TODO: Why use base_defense
(via base_armor_class
) and not full_defense
for full_armor_class
? (bug #322)
Magic Resistance
base_resist_magic = floor(raw_mental * 2 * (1 + base_casting / 200));
Equipped items can increase or decrease the magic resistance:
modabs_resist_magic = ∑<item>[ modabs(<item>, resist_magic) ]
Alternatively, equipped items can also add or remove a percentage of the magic resistance:
modrel(<item>, resist_magic) = modpercent(<item>, resist_magic) / 100 modrel_resist_magic = ∑<item>[ modrel(<item>, resist_magic) ] * ( base_resist_magic + modabs_resist_magic )
The full magic resistance is calculated as:
full_resist_magic = max(0, base_resist_magic + modabs_resist_magic + modrel_resist_magic + cheats)