At a glance
Quick facts
- Player equipment
- Each enabled item applies its absorption percentage sequentially
- Monster elements
- Positive values reduce damage; negative values increase damage
- Rounding
- Player item absorption uses ceiling at each item step
- Field protection
- Can be stored and consumed separately from direct-hit absorption
Damage families are independent channels
A combat event can contain primary and secondary damage components. Physical and elemental portions are not automatically merged before protection. Each component is evaluated against its own combat type, allowing a weapon to produce physical damage plus fire damage while the target resists the two parts differently.
| Channel | Typical sources | Common protection |
|---|---|---|
| Physical | Melee, distance, physical runes, monster attacks | Armor when enabled; physical absorption |
| Fire | Spells, runes, fields, weapon elements | Fire immunity or fire absorption |
| Earth | Poison-style spells, fields, weapon elements | Earth immunity or earth absorption |
| Energy | Spells, beams, waves, weapon elements | Energy immunity or energy absorption |
| Ice | Spells, waves, weapon elements | Ice immunity or ice absorption |
| Holy / death | Vocation spells, runes, monsters | Matching holy or death absorption |
| Life / mana drain | Monster abilities and custom effects | Dedicated drain immunity or absorption |
Equipment protection stacks sequentially
For players in TFS 1.6, the engine loops through enabled equipment. Each non-zero absorption percentage removes the ceiling of that percentage from the current remaining damage. Two 10% items therefore do not produce a flat 20% reduction. They leave 90% and then 90% of the remainder, for 81% remaining damage before integer-rounding effects.
D_after = D_before x (1 - r1) x (1 - r2) x ... x (1 - rn)- ri is the decimal protection on one enabled item.
- The exact engine applies ceil(current damage x ri) after each item, so small hits can differ from the continuous formula.
- Effective protection is 1 - product(1 - ri), not the arithmetic sum of item percentages.
| Step | Calculation | Damage remaining |
|---|---|---|
| First item | 1,000 - ceil(1,000 x 0.10) | 900 |
| Second item | 900 - ceil(900 x 0.10) | 810 |
| Combined effect | 1 - (0.90 x 0.90) | 19% protection |
Monster resistance percentages
Monster definitions store an element modifier by combat type. The TFS 1.6 monster block code multiplies damage by (100 - modifier) / 100 and rounds the result. A positive 80 means the monster receives 20% of that damage type. A negative 10 means it receives 110%, creating a 10% vulnerability. Explicit immunities are checked earlier and reduce the matching damage to zero.
D_after = round(D_before x ((100 - P) / 100))- P = 80 means 80% resistance and 20% damage remains.
- P = -10 means 10% vulnerability and 110% damage remains.
- An immunity is not the same as P = 100 in data semantics, even though both can result in zero damage.
Evaluate a loadout by encounter, not by total percentage
- 01
List incoming channels
Separate melee physical, distance physical, waves, beams, fields, conditions, and mana drain.
- 02
Estimate channel share
A 15% fire item matters little in an encounter where almost all incoming damage is physical.
- 03
Apply stacking correctly
Use multiplicative sequential protection and engine-specific rounding.
- 04
Include opportunity cost
Compare lost armor, skill, speed, capacity, or another element when changing equipment.
- 05
Verify charges
Some absorption consumes charges, making sustained-hunt economics different from a short boss attempt.
Apply the guide
Find servers using this profile
Server names, protocol labels, and map labels do not guarantee matching mechanics. Use these filters to find candidates, then verify the listing, owner documentation, and deployed ruleset.
