⚠ TEST SERVER — characters and items may be wiped without notice. Report bugs on Discord.

Threat System

Classic Tibia decides which player a monster attacks with rough heuristics — usually nearest hostile, sometimes the first one to hit. Cwelantis replaces that with a WoW-style threat table: every monster keeps a per-attacker score, and the highest score wins the target. Damage, taunts and physical positioning all feed into that score.

How threat is generated

  • Damage = threat (1:1). Hitting a monster for X damage adds X to your threat on that monster. Spells, melee, runes, bolts — all the same conversion. Healing does not generate threat (skipped on purpose to keep healer gameplay simple).
  • Exeta res (Challenge). Elite Knight only. 90 mana. Adds +2500 threat to every monster in the 1×1 area around the caster plus a 4-second hard lock during which the monster cannot retarget no matter what. After the lock expires the bonus keeps aggro for roughly three more seconds against a paladin shooting ~200 DPS before the paladin's accumulated damage threat crosses the peel margin.
  • Exeta min res (Lesser Challenge). Knight + Elite Knight. 45 mana (half of exeta res). Same 1×1 area but only +500 threat and no hard lock — the bonus alone has to do the work. Designed as the early/mid-game workhorse: cheap enough to spam while leveling, but won't keep a raging paladin off you the way the full exeta res does.
  • Exeta hur (Single Challenge). Knight + Elite Knight. 45 mana, requires a selected target, range up to 7 tiles. +1000 threat plus a 4-second hard lock, but only on the one mob you targeted. The single-target panic button — useful when one specific monster is about to murder a teammate and you don't have time to walk into melee for exeta res.
  • Summon taunt ability. Boosted summons with the Taunt ability slap their target with a smaller bonus and a 3 s hard-lock. Useful for buying the master a moment to reposition.
  • Blocker detection. If a monster is chasing a target it can't reach (e.g. paladin running at distance) and another player is physically standing on the path tile between the monster and the target, that blocker's threat is boosted above the current target's. The monster then switches to the blocker instead of pathing around forever. This kills the classic "knight blockades for the paladin while taking zero damage" exploit.
  • Knight passive threat. When a knight or elite knight is the monster's current target, they accumulate passive threat just for holding aggro. The rate scales with level:
    • Knight: max(10, level × 0.4) per second — e.g. ~10/s at level 20, 20/s at 50, 40/s at 100.
    • Elite Knight: 1.5× that — ~15/s at level 20, 30/s at 50, 60/s at 100.
    This is the early-game answer to "knight can't hold aggro without burning mana on exeta res". A druid healing/dps-ing next to a level 30 knight won't yank aggro from the first big bolt — the knight's passive baseline absorbs minor threat spikes. Other vocations get nothing — paladin/sorcerer/druid hold aggro by actually doing damage.

Threat-management spells

Each vocation has a dedicated spell for actively managing its own threat — knight builds, paladin / druid / sorcerer drop. Knight's utamo eta boosts passive threat ×3 for 10 s; the DPS vocations get a one-shot or short-duration threat cut via exana sin / silva / res. Full details, formulas and tactical notes on the dedicated threat-management spells page.

Target selection rules

  1. Hard-lock first. If a taunt is active and the locked player is still reachable, the monster sticks to them — no matter the threat numbers.
  2. Highest threat wins, with a 10% peel margin. A new player needs at least 1.10× the current target's threat to steal aggro. This prevents flicker when two party members do similar DPS — the monster stays on whoever it's already attacking until someone is meaningfully ahead.
  3. Unreachable targets are ignored. The monster only considers players it can actually attack from its current position. A paladin standing in a different room won't hold aggro just because their threat number is high — the monster will pick the highest-threat player that's in range.
  4. Fresh encounters fall back to classic logic. If no one has dealt damage yet, the monster uses the legacy nearest/random selection so it doesn't stand around being weird.
  5. Noise floor (~100 threat). Threat numbers below roughly 100 are treated as noise — the monster ignores the threat table and lets its XML targetchange roll classic random retargets. This restores Tibia-flavoured behaviour when no real combat is happening (e.g. two players in view, neither attacking — the monster will eventually wander between them instead of locking onto whichever one was nearest first). A single stray hit for 50 damage does not glue the monster to that player; once someone crosses the threshold the threat system formally takes over.

Decay

Threat fades over time. Every entry loses 10% of its current value per second — geometric decay, not flat. A taunt that starts at 2500 drops to ~870 after 10 s and ~300 after 20 s. After ~40 s it's effectively gone.

Why percentage instead of flat? Flat decay either makes a taunt permanent in late game (when totals are large) or wipes everything in seconds early game. Percentage decay self-scales: a 2500 taunt on a 6000-HP demon and a 2500 taunt on a 100-HP orc decay at proportional rates relative to the damage the team is doing.

Practical examples

Pure damage race

Knight melees a cyclops for 60 DPS. Paladin shoots SDs for 250 DPS from distance. Within a couple of seconds the paladin's threat passes the knight's by more than 10% — the cyclops switches to the paladin. Knight uses exeta res → cyclops snaps back, hard locked for 4 s, then the +2500 bonus keeps it on the knight for roughly another 3 s before the paladin's accumulated threat climbs back over the peel margin.

Body-blocking exploit (now patched)

Paladin keeps running and shooting, knight tries to step between monster and paladin so the monster can never reach the paladin. The path-step blocker detection sees the knight standing on the monster's next path tile and bumps the knight's threat above the paladin's. Monster turns and attacks the knight — exactly as intended, the knight is doing the tanking work now.

Tank holding aggro from far paladin

Knight tanks a dragon in melee, paladin shoots from across the room. The blocker detection does not fire because the knight is the current target, not a third party in the way. Threat competition is pure damage: knight needs to hit hard enough to stay above 1/1.10 = ~91% of paladin's threat, or pop exeta res every time it comes off cooldown.