# Epic Idle Quest 2 — Complete Game Mechanics > Turn-based idle RPG with elemental combat, boss fights, crafting, PvP, and 900+ monsters. Server-authoritative. Play free at https://epicidlequest2.com --- ## Areas & Elements ### 8 Areas | Area | Unlock Level | Damage Elements | Drop Armor Elements | Drop Tiers | |------|-------------|----------------|-------------------|------------| | Verdant Woods | 1 | Physical | None (all allowed) | 1-7 | | Murky Swamp | 3 | Earth | Energy | 1-10 | | Canalization | 10 | Energy | Magic | 1-10 | | Catacombs | 30 | Magic | Fire | 1-10 | | Volcanic Caves | 50 | Fire | Ice | 1-10 | | Ice Mountains | 70 | Ice | Earth | 1-10 | | Shadow Realm | 200 | Magic + Energy | Ice + Fire | 1-10 | | Dragon's Lair | 250 | Magic + Fire | Earth + Energy | 1-10 | ### 6 Elements Physical, Earth, Fire, Ice, Magic, Energy ### Weakness Cycle (circular, physical excluded) EARTH → FIRE → ICE → MAGIC → ENERGY → EARTH Having reduction (resist) for an element generates weakness to the paired element. Physical resist generates weakness to 2 random non-physical elements. ### Enemy Self-Resist/Weakness - +50% reduction to own area element(s) - +50% weakness to WEAKNESS_PAIRS[area element] ### Two-Cycle Loot Design **Cycle 1 — Weapon Drops**: Areas favor weapons matching their own damage element. | Farm Area | Weapon Element | Best Used In | Why | |-----------|---------------|-------------|-----| | Murky Swamp | Earth | Canalization | Energy enemies weak to Earth | | Canalization | Energy | Catacombs | Magic enemies weak to Energy | | Catacombs | Magic | Ice Mountains | Ice enemies weak to Magic | | Volcanic Caves | Fire | Murky Swamp | Earth enemies weak to Fire | | Ice Mountains | Ice | Volcanic Caves | Fire enemies weak to Ice | **Cycle 2 — Armor Drops**: Areas drop resist for a different element than they deal. | Farm Area | Drops Resist | Helps Survive | Weakness Created | |-----------|-------------|--------------|-----------------| | Murky Swamp | Energy resist | Canalization (Energy damage) | Weak to Earth | | Canalization | Magic resist | Catacombs (Magic damage) | Weak to Energy | | Catacombs | Fire resist | Volcanic Caves (Fire damage) | Weak to Ice | | Volcanic Caves | Ice resist | Ice Mountains (Ice damage) | Weak to Magic | | Ice Mountains | Earth resist | Murky Swamp (Earth damage) | Weak to Fire | The two cycles overlap for early areas (Swamp→Canalization, Canalization→Catacombs) but diverge from Catacombs onward — weapons and armor lead to different areas. --- ## Combat System ### Hit Points - Player HP = 350 + level × 150 - Enemy HP = (350 + difficulty × 150) × 0.25 ### Base Damage - Base damage = 20 + level × 3 (same for player and enemy) ### Damage Pipeline (9 steps) 1. **Level Scaling**: `scaling = (attacker_level + 50) / (defender_level + 50)` 2. **Base Damage**: `base = total_item_damage × scaling` 3. **Elemental Distribution**: Players always have 100% physical base. Elemental damage attributes add on top (e.g., +12% fire = 100% physical + 12% fire = 112% total) 4. **Flat Elemental Damage**: Added per-element before reductions 5. **Reduction & Weakness**: Per-element. Raw reduction is soft-capped (threshold 70%, bracket 10%) and hard-capped at 95% effective. `net_factor = 1 + (weakness% - effective_reduction%) / 100` 6. **Flat Reduction**: Fixed damage absorbed per-element (after %, before armor) 7. **Armor**: `total × ad / (ad + total_armor)` where `ad = 1000 + defender_level × 20` 8. **Variance**: Gaussian mean=1.0, sigma=0.1, clamped [0.7, 1.3] 9. **Minimum**: Always at least 1 damage ### Player Armor Effectiveness (PvE) Breakpoint system by difficulty: | Difficulty | Effectiveness | |-----------|--------------| | 0-149 | 0.50 | | 150-249 | 0.49 | | 250-499 | 0.48 | | 500-749 | 0.47 | | 750-999 | 0.46 | | 1000+ | 0.45 | PvP: flat 0.25 for both players. ### Initiative `initiative = level + random(1, 20)`. Enemy gets +2 bonus. Higher attacks first, tie goes to player. ### Combat Mechanics | Mechanic | Effect | |----------|--------| | Critical Hit | Base 2.0× multiplier + crit_multiplier_bonus from gear/skills | | Dodge | Avoids all damage (checked before block) | | Block | 50% damage reduction (shield block_chance 1-10%) | | Reflect | Per-element % bounced back to attacker | | Heal over Time | Flat HP per round, applied at round start | | Life Leech | floor(damage × leech% / 100) | | Summon | Extra attack at 50% of total_damage, procs per-attack, max 1 per side per round | ### Fight Flow 1. Roll initiative → determine attack order 2. Each round: HoT heals → first attacker → second attacker 3. On attack: dodge check → damage calc → crit check → block check → reflect → leech → summon proc 4. Fight ends when HP ≤ 0 or max rounds (500 PvE, 50 PvP) 5. Max rounds reached = player/challenger loses ### Soft Caps (Diminishing Returns) **Chance stats** (crit, dodge, block): threshold 50%, bracket 10% - 0-50% raw → 1:1 effective - Above 50%: each bracket costs +1 multiplier (2:1, 3:1, 4:1, ...) **Crit multiplier**: threshold 5.0× total (300 raw units above base 2.0×), bracket 1.0× (100 raw units). Same diminishing pattern. **Resistance % per element**: threshold 70%, bracket 10%, hard cap 95% - 0-70% raw → 1:1 effective - 70-140% raw → bracketed (2:1, 3:1, 4:1), reaching 95% effective at raw 140% - 140% + raw → clamped to 95% effective (further stacking wasted) - Applies to both players and enemies. Flat reduction is not soft-capped (naturally floored at 0 per hit). --- ## Items & Rarity ### 6 Equipment Slots Helmet, Chest, Gloves, Boots, Shield (armor + base_armor), Weapon (min/max damage). Shield also has inherent block_chance (1-10%). ### Rarity System | Rarity | Attributes | Base Stat × | Roll Threshold | |--------|-----------|------------|---------------| | Normal | 0 | 0.4× | 36-100 | | Common | 1 | 0.6× | ≤35 | | Rare | 2 | 0.7× | ≤15 | | Exquisite | 3 | 0.8× | ≤5 | | Epic | 4 | 0.9× | ≤1 | | Ancient | 5 | 1.0× | Epic upgrade in ??? | Rarity roll: random integer in [1, roll_max]. Lower = rarer. Default roll_max = 100. ### Magic Find (Diminishing Returns) `roll_max = 5 + 95 × 20 / (20 + magic_find_total)` | MF | roll_max | Epic chance | |----|---------|-------------| | 0 | 100 | 1% | | 20 | 52 | 1.9% | | 40 | 37 | 2.7% | | 80 | 24 | 4.2% | | 150 | 16 | 6.3% | ### Item Stats - Effective armor = base_armor × (10 + item_level) - Effective damage = min/max_damage × (10 + item_level) - Base stats from gaussian roll (sigma=1.5) around base item's peak value ### Quality Floor `floor = peak × (1 - 0.5^((difficulty / 35)^0.42))` Difficulty 100 → 66% floor, 500 → 88%, 1000 → 94%. Maximum values unchanged. ### Armor Attributes (value ranges) | Type | Available Slots | Value Range | |------|----------------|-------------| | Reduction | All armor | 1-10% per element | | Reflect | All armor | 1-5% per element | | Dodge | Helmet, Chest, Gloves, Boots | 1-3% | | Heal over Time | Helmet, Chest | item_level × 0.1-0.5 | | Crit Chance | All armor | 2-8% | | Crit Multiplier | All armor | 10-50 (÷100) | | Magic Find | All armor | 1-10 | | Flat Reduction | All armor | item_level × 0.3-0.7 | ### Weapon Attributes (value ranges) | Type | Value Range | |------|-------------| | Elemental Damage | 2-15% | | Life Leech | 1-10% | | Crit Chance | 2-8% | | Crit Multiplier | 10-50 (÷100) | | Magic Find | 1-10 | | Summon | 5-20% proc (boss weapons only) | | Flat Elemental Damage | item_level × 0.3-0.7 | | Flat Life on Hit | item_level × 0.2-0.7 | ### Dominant/Pool System - 33% chance: dominant attribute (area-element-biased) - 67% chance: random from pool (equal weight) - Verdant Woods: 100% pool (no area element) ### Tier System Bell curve with breakpoints [50, 100, 250, 999, 3000, 9999]. Peak tier advances by 1 at each breakpoint. Weights decay by 0.66× per tier distance from peak. | Difficulty | Most Common Tier | Chance of T8+ | |-----------|-----------------|---------------| | 1-25 | T1 | 3.8% | | 50 | T2 | 4.8% | | 100 | T3 | 6.6% | | 500 | T4 | 9.6% | | 1,000 | T5 | 14.2% | | 5,000 | T6 | 21.4% | --- ## Enemy Generation ### Equipment Drop Chances - Armor slots: 10% each (helmet, chest, gloves, boots, shield) - Weapon: 30% ### Early Fight Patterns (first 3 fights of first run) | Fight # | Equipment | Purpose | |---------|-----------|---------| | 1 | Weapon only (Normal rarity) | Player gets a weapon drop | | 2 | Armor only (guaranteed ≥1 piece) | Player gets armor drops | | 3 | No equipment | Easy kill | ### Boss Mechanics - 10% chance per fight from fight #5 onward - Fight #5 guaranteed boss if player has no boss skin - Boss equipment: ALL 6 slots, minimum rarity Common - Skin unlock: 100% first kill, 20% subsequent - Boss weapons: 50% chance per attribute slot to become Summon (max 1 per weapon) ### Enemy Damage Multiplier Breakpoint system: base 1.0, +0.002/level (diff 1-999), +0.001/level (diff 1000-1999), +0.0001/level (diff 2000+) | Difficulty | Multiplier | |-----------|-----------| | 100 | 1.198 | | 500 | 1.998 | | 1000 | 2.998 | | 2000 | 3.998 | ### Monster Tier Breakpoints Tiers advance with difficulty: [10, 30, 50, 100, 300, 500, 999]. At difficulty 1000+, ALL area monsters are eligible (endgame skin farming). --- ## Progression & Skills ### XP to Level - Level 2-199: `XP(N) = floor(25 × (N-1)^2.2)` - Level 200+: `XP(N) = XP(200) × ((N-1) / 199)^1.2` (flattened) ### XP Per Kill `xp = enemy_level × 10`. Streak bonus: +0.1% per fight in a run, capped at 100 fights (+10%). ### 12 Skills On each level-up, 3 random skills offered, pick 1. | Skill | Category | Base Value | Effect | |-------|----------|-----------|--------| | Ferocity | Offensive | +0.5% | Multiplicative base damage | | Critical Eye | Offensive | +0.5% | Additive crit chance | | Devastating Blows | Offensive | +1.0% | Additive crit multiplier | | Vitality | Defensive | +1.0% | Multiplicative max HP | | Thick Skin | Defensive | +0.5% | All-element resist | | Evasion | Defensive | +0.5% | Additive dodge chance | | Vampirism | Sustain | +0.5% | Additive life leech | | Regeneration | Sustain | +5.0 | Flat HP per round | | Retaliation | Sustain | +0.5% | All-element reflect | | Haggler | Utility | +1.0% | Bonus salvage gold | | Prospector | Utility | +1.0% | Bonus salvage dust | | Resilience | Utility | +0.5% | Additive block chance | ### Multiplier Rolls 5% triple (3.0×), 10% double (2.0×), 85% normal (1.0×). Visible before picking. ### Skill Level Scaling (Decay) | Level | Scaling | |-------|---------| | 1-19 | 1.0× | | 20-39 | 0.8× | | 40-59 | 0.6× | | 60-79 | 0.4× | | 80-99 | 0.2× | | 100-999 | 0.1× | | 1000+ | 0.0× (mastery) | --- ## Economy & Smithing ### Two Currencies - **Gold**: buy from merchant, cap = player_level × 100 - **Dust**: smithing operations, cap = player_level × 100 - Salvage awards Gold OR Dust (player chooses) ### Salvage Values `gold = max(1, ceil(item_level × multiplier))` | Rarity | Gold Mult | Dust Mult | |--------|----------|----------| | Normal | 0.34 | 0.25 | | Common | 0.67 | 0.5 | | Rare | 1.67 | 1.5 | | Exquisite | 4.0 | 4.0 | | Epic | 10.0 | 10.0 | | Ancient | 15.0 | 15.0 | ### Merchant - 6 items in stock (one per slot), refreshes every 5 runs - No Normal rarity. Weights: Common 50, Rare 30, Exquisite 15, Epic 5 - Item levels: gaussian peak = player_level × 1.2, sigma = player_level × 0.7, floor = player_level - Buy price: `max(1, item_level × rarity_multiplier)` — Common 3, Rare 10, Exquisite 27, Epic 67, Ancient 100 ### Smithing (5 Operations) All costs: `base × item_level × rarity_multiplier` for both gold and dust. **Reforge** — Re-roll one attribute (pick from 3 choices). Max 2/item. **Temper** — Re-roll all attribute values (keep types). Max 3/item. **Upgrade** — Increase rarity by 1. Requires sacrifice item. Max 1/item. **Attune** — Change element of one attribute. Max 1/item. **Enhance** — +25% to one attribute's value. Max 1/item. --- ## PvP Brawl - ELO rating: K=32, start 1000, floor 0 - `expected = 1 / (1 + 10^((opponent_elo - your_elo) / 400))` - Entry fee: `max(1, ceil(your_level × 2.0))` gold (~2% of gold cap) - Raw win reward: `max(1, ceil(opponent_level × 10.0))` gold (~10% of opponent's gold cap) - Punch-down penalty: reward is multiplied by `min(1, defender_level / challenger_level)`. Defender at half your level → 0.5× reward; defender at 10% of your level → 0.1×. Punching up (defender ≥ challenger) pays full reward. Entry fee is unaffected. - Win reward is **stolen from defender's balance**, not minted. Triple-clamped: `actual = min(reward, defender.gold, challenger_gold_cap_remaining)`. Conserves gold (defender loses exactly what challenger gains). Defender floor at 0 (can't go negative). Challenger at cap → 0 transfer (still swings ELO). - On a **successful defense** (challenger loses), the challenger's entry fee transfers to the defender, clamped to `defender_gold_cap - defender.gold` (overflow burns). Defender also gains ELO. - Every async brawl (win or loss) where the local player was the defender inserts a `PendingPvPLoss` notification. `defender_won: bool` disambiguates outcome; `gold_delta: int` is signed from defender's POV (negative = lost, positive = gained fee). Shown as a popup on next town arrival with `[ Watch Replay ]` / `[ Dismiss ]` / `[ Dismiss All ]`. Queue capped at 10; oldest drops on 11th insert. Cleared via `POST /api/pvp/losses/{id}/ack` or `POST /api/pvp/losses/ack-all`. - Min level: 5. Global cooldown: 60s. Per-opponent: 1 hour. Daily cap: 20. - Max rounds: 50. Armor effectiveness: 0.25 (both players). --- ## Specials ### Nightmare Scrolls - 1% drop chance per kill at difficulty ≥ 5 - HP multiplier: gaussian(peak=4.5, sigma=0.75, floor=3.0) - Damage multiplier: gaussian(peak=1.5, sigma=0.25, floor=1.0) - XP reward: base_xp × hp_mult × dmg_mult × 2 ### Town Stash - Storage chest drop: 1% per kill (difficulty ≥ player_level), stackable up to 10 - Each chest unlocks 1 stash slot. Max 12 free, 30 total. ### Backpack - Base capacity: 24 slots. With ad boost: 30 (+6). - Ad boost: 60 min, +10% XP, +6 slots, requires level 5+. ### Difficulty Cap `max_difficulty = min(9999, max(1, player_level × 5))` ### Music System 37 unlockable tracks. Per-area (3 each): first run, challenge (kills ≥ unlock_level+10 + boss), mastery (diff ≥ unlock_level×10 + boss). Level milestones at 5/10/20/40/80/160/320/640/1280/2560/5120. Time played: 1 hour. Account-wide.