Difficulty Tier System
A four-tier difficulty layer. Boss data is always Normal β a single source, an untouchable reference. The selected tier applies a modification layer on top of it. Philosophy: hybrid, weight is structural β numbers shift lightly, the real work is changing the boss's behavior. Tool: difficulty.py (in the output).
Instead of writing 30 bosses Γ 4 tiers = 120 stat blocks, you write 30 bosses (Normal) + 1 rule set. The tier is applied automatically.
Core Principle
`` Boss data (NORMAL, single source) β Tier is selected β Modification layer applied (numeric + structural) β Boss specific to that battle ``
The Normal setting is the calibrated baseline produced by 17_Boss_Cercevesi + 17c_Boss_Dengeleme_Sistemi. The other three tiers are always defined relative to it. If you change Normal, the three tiers shift automatically β so it's enough to balance Normal; there's no need to balance the tiers separately.
Tier Definitions
π’ Easy
Numeric (light): HP Γ0.9 Β· incoming damage Γ0.88 Β· save DC β1
Structural (the weight is here):
- The Key is now "a door, but an open door." Even a party without the Key automatically gets 45% of the Key advantage (deals slightly more damage to the boss, takes slightly less damage). In Easy mode, finding the "right build" isn't mandatory β everyone counts as half-Keyed.
- Clue checks (Arcana/Nature) automatically succeed β what the Key is gets told for free.
- The Telegraph round is preserved.
Purpose: For novice tables or story-focused groups. The boss's mechanics are still visible, but the penalty is forgiving. Test: balanced parties win 90%+, even weak parties win 60%+.
βͺ Normal (baseline β untouchable)
The setting you calibrated in 10/13. The other three tiers are defined relative to this. You don't change it; it's reference only.
π Hard
Numeric (light): HP Γ1.08 Β· damage Γ1.05 Β· DC +1
Structural (the weight is here):
- +1 Legendary action/round (~+8% incoming damage in the model; a real extra action at the table).
- Desperation: when the boss drops below 25% HP in a phase, a powerful reaction triggers once in that phase (4d8 extra damage or a strong AoE). The "most dangerous while dying" moment.
- The Key weakens by 15% (
key_multdrops): finding the Key is no longer enough, you also need to play well. The shortcut narrows.
Purpose: Experienced tables. A party that finds the Key and plays well wins (~20-40%); a scattered party struggles. Test: average T2 24%, T4 12%.
π΄ Deadly
Numeric (light): HP Γ1.12 Β· damage Γ1.08 Β· DC +2
Structural (everything from Hard, plus more):
- Extra phase: the final phase's mythic renewal is added (a mini pool worth 55% HP). The boss "dies," then gets back up. At most once per battle β a dramatic finale.
- Desperation is strengthened (Γ1.4, in every phase).
- The Key weakens by 20%.
- The Telegraph round STAYS. (Critical design decision: the telegraph is not removed even in Deadly. The A/B test showed that the telegraph preserves fairness, and that removing it creates dice-luck TPKs. "Deadly" difficulty doesn't mean "unfair" β the party should still be able to win by learning.)
Purpose: Campaign finale, prepared tables. A well-built + well-played + properly-resourced party wins by a narrow margin; most parties lose. Test: a balanced T2 party can reach up to ~60%, ~2-7% at T4 (finale scale). Very hard but not impossible.
Multiplier Table (quick reference)
| HP | Damage | DC | Legendary | Desperation | Key | Extra Phase | Telegraph | |
|---|---|---|---|---|---|---|---|---|
| π’ Easy | Γ0.9 | Γ0.88 | β1 | β | β | open (45%) | β | β |
| βͺ Normal | Γ1.0 | Γ1.0 | Β±0 | β | β | full | β | β |
| π Hard | Γ1.08 | Γ1.05 | +1 | +1 | β | β15% | β | β |
| π΄ Deadly | Γ1.12 | Γ1.08 | +2 | +1 | β strong | β20% | β mythic | β |
Note: Numeric multipliers are deliberately small (max Γ1.12 HP). The weight is in the structural layer β because stacked large multipliers (in the first attempt, Γ1.2 HP + Γ1.2 damage + legendary + minion) overwhelmingly crushed the party. The test showed this; the tiers were softened.
Tested Difficulty Curve
Peak Tyrant v2 and Bone Puppeteer were run against 12 parties across four tiers (2,000 battles per party):
| Boss | Easy | Normal | Hard | Deadly |
|---|---|---|---|---|
| Bone Puppeteer (T2) | 94% | 66% | 24% | 11% |
| Peak Tyrant v2 (T4) | 66% | 43% | 12% | 2% |
A clean monotonic curve: each tier is clearly below the previous one, the gaps are balanced. Easy is forgiving, Deadly is merciless, but Hard and Deadly don't stick together (this was the first calibration's problem, now fixed).
Observation: in T2 Deadly, the "Balance2" party won 60% β meaning a well-built + well-played party can beat Deadly. The system produces "very hard," not "impossible"; that was the goal.
Applying at the Table β Concrete Form of the Structural Elements
The tool models these as multipliers; at the table they're applied as actual stat block elements like this:
Desperation (Hard + Deadly)
Trait to add to each phase:
Desperation. The first time this phase drops below 25% HP, the boss uses [a powerful effect fitting the phase's theme] as a Reaction: e.g. in Peak Tyrant Phase 2, "flaps its broken wing one last time β DC 18 Dex within a 20 ft radius, 4d8 Bludgeoning + Prone." Once per battle.
Extra Legendary (Hard + Deadly)
One more option added to the existing Legendary list, or raise the number of Legendary actions per round from 3β4. Simplest form: make the cheapest Legendary action (move/attack) usable twice.
Mythic Renewal (Deadly only)
The mythic rule from 17_Boss_Cercevesi Module 2C. When the boss drops to 0 HP, it gets back up with a new pool worth 55% HP; usually an empowered copy of the final phase. Its telegraph is given in advance within the battle (like Peak Tyrant Phase 3's storm form).
Key Weakening (Hard + Deadly)
If the Key deals Γ1.7 damage to the boss in Normal (fire vuln), it drops to Γ1.6 in Hard, Γ1.55 in Deadly. The Key still helps but doesn't end the battle by itself β the party must find the Key and play well.
Key Opening (Easy only)
If in Normal only a party with the "fire" tag gets an advantage in Phase 2, in Easy every party gets 45% of that advantage. At the table: interpret it as "in Easy mode, all of the boss's damage vulnerabilities are half-active against everyone."
Tool Usage
```python from difficulty import apply from engine import resolve_diff, make_batteries from bosses import PEAK_TYRANT_V2
test a boss at a specific difficulty
zor_boss = apply(PEAK_TYRANT_V2, "Zor")
resolve with resolve_diff(zor_boss, party), or run a battery
```
When you add a new boss: write its Normal form to bosses.py, balance Normal with doctor.py (4/4 PASS), then difficulty.py automatically generates the four tiers. You don't need to balance the tiers separately β if Normal is balanced, all of them are balanced.
Design Decisions Summary
- Boss data is always Normal β a single source, tiers are derived.
- Weight is in the structural β numeric multipliers are small (max Γ1.12), the real difference is in behavior.
- Easy = Key as an open door β the right build isn't mandatory, the mechanic is still visible.
- The telegraph stays in Deadly β difficulty β unfairness; proven by A/B testing.
- Balance Normal, the rest is free β tiers are defined relative to Normal.
Calibration & Methodology: The tier multipliers were tuned by testing against a 12-party battery on Peak Tyrant v2 and Bone Puppeteer (2,000 battles per tierΓparty). Stacking numeric multipliers was reduced because it was overwhelming on the first attempt; structural elements (desperation, legendary, mythic) were kept light. Absolute percentages are model-sensitive; what's reliable is the monotonic decline across tiers. This system is an extension of
17_Boss_Cercevesi,17b_Boss_Telegraf_AB_Testi, and17c_Boss_Dengeleme_Sistemi.License: Original work. Rule terminology is based on SRD 5.2 (Wizards of the Coast LLC, CC-BY-4.0). This work includes material from the SRD 5.2 by Wizards of the Coast LLC (https://www.dndbeyond.com/srd), licensed under CC-BY-4.0.