hv-unified/references/hentaiverse-analysis.md
GaboGG 402db6bb2f Initial commit: HV Unified v0.11.0 structure
- 23 source files in src/ (build via scripts/build.sh)
- Forum-sourced player knowledge in references/
- DESIGN.md with architecture and corrections
- References to existing scripts (Monsterbation, jpx, HV Utils)
2026-07-20 19:30:26 -04:00

726 lines
25 KiB
Markdown

# HentaiVerse — Complete Game Analysis & Automation Architecture
## Prepared for headless automation / Chrome extension / harness design
=============================================================================
## 1. GAME ARCHITECTURE
HentaiVerse is a **server-authoritative browser RPG**. All logic runs server-side;
the browser is a thin client rendering HTML pages. Key architectural facts:
- **URL**: https://hentaiverse.org/ (subdomain of e-hentai.org)
- **Transport**: HTTP(S) POST/GET with session cookies from e-hentai.org
- **State**: Pure server-side. Browser refreshes the full page per turn/round.
- **Page structure**: The battle page is a single HTML document. Each turn
("attack", "cast spell", "use skill", "use item") is an HTTP POST that returns
a new page with updated state.
- **Anti-automation**: Server-side rate limit of **4 turns per second**.
RiddleMaster anti-bot popups appear between rounds at random intervals.
- **Stamina**: Anti-cheating mechanic — only 99 stamina max, regenerates 1/hr.
You cannot grind indefinitely without items or waiting.
### HTTP Flow (Battle)
```
GET /?s=BATTLE&... ← Enter battle (from Arena/Grindfest/etc.)
POST /?s=BATTLE&action=attack ← Click "Attack" → server processes → returns new HTML
POST /?s=BATTLE&action=cast&spell=14&target=2 ← Cast spell on monster #2
POST /?s=BATTLE&action=skill&skill=1 ← Use skill
POST /?s=BATTLE&action=item&item=3&target=player ← Use item on self
POST /?s=BATTLE&action=flee ← Flee
POST /?s=BATTLE&action=defend ← Defend
POST /?s=BATTLE&action=focus ← Focus
```
The response HTML contains:
- Updated monster HP/MP/status bars (parsed from HTML tables)
- Updated player vitals
- New battle log text
- Buff/debuff durations
- If monsters are dead → link to "next round" or "exit to bazaar"
### Key Observation
Because the game is **server-authoritative** and every action returns full HTML,
an automation tool doesn't need to simulate complex state. It just needs to:
1. Parse the current page HTML to extract game state
2. Decide the optimal action based on state + strategy
3. POST the action form
4. Parse the new page HTML
5. Repeat
This is exactly how existing userscripts (jpx, Monsterbation) work.
=============================================================================
## 2. GAMEPLAY LOOP
```
LOGIN → BAZAAR → SELECT BATTLE MODE → [ENTER BATTLE] →
ROUND 1: fight monsters → ROUND N: ... → EXIT → BAZAAR
```
### Pre-Battle (Bazaar)
- Equip gear (Character → Equipment)
- Allocate ability/mastery points (Character → Abilities)
- Train skills (Character → Training)
- Shrine artifacts
- Manage items/inventory
- Monster Lab management
### Battle Loop (per round)
```
1. Page loads → parse enemy list, player vitals, buffs/debuffs
2. Select action:
- Physical Attack (target monster)
- Cast Spell (target monster(s))
- Use Skill (target monster or self)
- Use Item (target self)
- Defend / Focus / Flee
- Toggle Spirit Stance
3. POST action → server resolves:
- Player attack lands/misses/crits
- Elemental strike proc checks
- Equipment proc checks
- Monster attacks resolved (speed-based, can be multiple)
- Status effect durations decremented
- Vital regeneration ticks
4. New HTML page loads → go to step 2 or "Next Round"
```
### Post-Battle
- Loot popup (equipment/items/credits)
- Return to Bazaar
- Train / shrine / sell / repair equipment
- Repeat from Step 1 until stamina exhausted
=============================================================================
## 3. CHARACTER SYSTEM — COMPLETE FORMULAS
### 3.1 Primary Attributes (6 stats)
| Stat | Key Effects |
|-------|------------------------------------------------------|
| STR | +2 phys dmg / pt, +1% Overwhelming Strikes per 100 |
| END | +6 HP/pt, +1 phys mit/pt, +1 mag mit/pt |
| DEX | +1 phys dmg/pt, +0.5 acc, +0.4 parry |
| INT | +2 mag dmg/pt, +1% Coalesced Mana per 100 |
| AGI | +0.5 phys mit/pt, +0.4 evade, +attack speed |
| WIS | +1 MP/pt, +1 mag dmg/pt, +0.5 mag acc, +0.4 resist |
**EXP cost to raise**: (current_stat + 1)^(2.5475566751265^(1+(current_stat/950)))
### 3.2 Derived Stats — Key Formulas
**Physical Base Damage:**
```
= (log(3330 + STR*2 + DEX, 1.0003) - 27039.81)
+ (weapon_prof * TYPE) + sum(all_equip_ADB)
```
Where TYPE = 5 (DW), 4 (1H), 3 (2H/Staff)
**Magic Base Damage:**
```
= (log(3330 + INT*2 + WIS, 1.0003) - 27039.81)
+ (staff_prof * 0.5) + sum(all_equip_MDB)
```
**Physical Hit Chance:**
```
= 80% + DEX*0.04% + prof_bonus + sum(equip_acc)
```
**Magical Hit Chance:**
```
= 80% + WIS*0.04% + prof_bonus + sum(equip_mag_acc)
```
**Physical Crit (layered):**
```
= 1 - Π(1 - layer_n)
```
Layers: base (5%), stats, prof, each equipment piece independently.
Burden penalty: crit_chance *= Max(1 - (Max(burden-70,0) * 0.02)^1.5, 0)
**Magic Crit (layered):** Same structure, interference penalty instead of burden.
**Attack Speed:**
```
1 - Π(1 - layer_n) with layers from AGI, prof, each equipment piece
Burden penalty: speed *= (1 - Min((Max(burden-40, 0) * 0.02)^1.5, 1))
```
**Cast Speed (additive):**
```
= (1 + equip_bonus + prof_bonus)
```
**Evade:**
```
= 1 - (1 - shadow_veil) * (burden_penalty) * (1-eq) * (1-title) * (1 - AGI*0.04%)
```
**Parry:**
```
= 1 - Π(1 - layer_n) // layers from DEX, prof, equipment
```
**Mitigation:**
```
Phys: 1 - (1 - eq_bonus) * (900/(900 + END + AGI/2))
Mag: 1 - (1 - eq_bonus) * (900/(900 + END + WIS/2))
```
**HP / MP / SP:**
```
HP = (500 + level*10 + END*6) * HP_Tank * vigorous_vitality
MP = (10 + level + WIS) * MP_Tank * effluent_ether
SP = (1 + sum(all_6_stats)/5) * SP_Tank * suffusive_spirit
```
**Battle Regen (per "tick" = 100 time units):**
```
MP/tick = 5 + (WIS/25) * perk_bonus
SP/tick = 1 + (sum_all_stats/600) * perk_bonus
```
### 3.3 Action Speed & Time Units
```
action_speed = 100 / (1 - cast_speed) / specific_action_speed
/ prof_factor_multiplier * (1 + haste)
time_units = clamp(20, 10000 / action_speed, 500)
```
**Key action base speeds:**
- Physical attack: 1.0
- T1 offensive spell: 1.2
- T2 offensive spell: 1.4
- T3 offensive spell: 1.6
- Curative spells: ~0.2
- Support spells: ~0.1
A "tick" = 100 time units. Buffs/debuffs decrement every tick.
Faster actions = more attacks per tick before buffs expire.
**Server bottleneck: max 4 turns/sec** (anti-bot measure).
=============================================================================
## 4. COMBAT SYSTEM
### 4.1 Damage Formula
**Physical damage delivered:**
```
damage = base_physical_dmg
* (1 + hath_bonus) // Daemon Duality 10-50%
* (1 + tower_bonus) // 0.1% per isekai floor
* (1 + crit_mod) // +50% base, +equip bonuses
* (1 + heartseeker_bonus) // 25% if active
* (1 + spirit_stance) // 100% if active
```
**Then applied to target:**
```
damage_taken = damage * (1 - phys_mitigation) * (1 - specific_mitigation)
```
Where specific mitigation = elemental type (fire/cold/elec/wind/holy/dark) OR
physical type (slash/pierce/crush).
Mitigations are multiplicative, cannot go below 0.
### 4.2 Elemental Strikes
Weapons may have elemental strikes (Fire/Cold/Elec/Wind/Holy/Dark/Void).
Each strike deals ~50% of normal physical damage as a separate attack in the same
turn. Counts as physical for mitigation purposes (goes through phys mit + specific
elemental mit).
### 4.3 Avoidance (layered multiplicative)
```
Physical avoidance = 1 - (1-evade') * (1-block') * (1-parry')
Magical avoidance = 1 - (1-evade') * (1-block') * (1-resist')
```
Where primed values account for anti-evade/anti-block/anti-parry/anti-resist
from custom monsters.
**Resist rolls** (for spells): 3 independent rolls.
- 0 rolls: 0% reduction
- 1 roll: 50% reduction
- 2 rolls: 75% reduction
- 3 rolls: 90% reduction
### 4.4 Equipment Procs
Weapon-specific procs trigger on hit:
- **Bleeding Wound** (Axe, Shortsword, Wakizashi, Longsword, Katana) — DoT
- **Stun** (Club, Mace) — target can't act
- **Penetrated Armor** (Rapier, Estoc) — reduces phys/mag mitigation by 25%/stack
- **Ether Theft** (Staff) — steal MP
Stacking: Penetrated Armor up to 3 stacks (75%). Bleeding Wound up to 100 stacks.
### 4.5 Skills (Overcharge-based)
Skills cost Overcharge (yellow bar built by dealing/taking damage).
Key skills by fighting style:
**1H + Shield:**
- Shield Bash (25 OC, 10 CD) — Stun 5 turns
- Vital Strike (50 OC, 10 CD) — 100 Bleeding Wound stacks on stunned enemy
- Merciful Blow (100 OC, 10 CD) — execute <25% HP bleeding target
**Dual Wield:**
- Iris Strike (50 OC, 5 CD) Blind 100 turns
- Backstab (50 OC, 5 CD) 2x damage to blinded, poison
- Frenzied Blows (75 OC, 10 CD) 10-20 hits across 5 targets
**2H:**
- Great Cleave (50 OC, 5 CD) guaranteed crit
- Rending Blow (50 OC, 5 CD) 3 Penetrated Armor to 5 targets, bypasses phys mit
- Shatter Strike (50 OC, 5 CD) Stun 5 turns to 5 targets with Penetrated Armor
**Staff (Mage):**
- Concussive Strike (50 OC, 10 CD) Stun 5 turns, magic damage
### 4.6 Spirit Stance
- Toggle state: +100% damage dealt, +25% mana costs
- Drains SP while active (10% of base overcharge per turn)
- Cannot be maintained without sufficient SP
### 4.7 Core Spells (for automation strategy)
**Offensive (Elemental):**
| Tier | Fire | Cold | Elec | Wind | Lvl | Cost |
|------|------|------|------|------|-----|------|
| 1 | Fiery Blast | Freeze | Shockblast | Gale | 15-45 | 6% |
| 2 | Inferno | Blizzard | Chained Lightning | Downburst | 95-125 | 14% |
| 3 | Flames of Loki | Fimbulvetr | Wrath of Thor | Storms of Njord | 175-205 | 21% |
Cost is % of player level. T2/T3 hit multiple targets (5-10 depending on abilities).
**Deprecating (mandatory for mages):**
- **Imperil** (Lvl 130, 10% cost, 3 CD) REDUCES enemy phys/mag/elemental mitigation
- **Weaken** (Lvl 70, 10% cost, 3 CD) REDUCES enemy damage by 50%
- **Slow** (Lvl 10, 18% cost, 3 CD) slows enemy actions
- **Sleep** (Lvl 80, 22% cost, 7 CD) incapacitates target
- **MagNet** (Lvl 250, 22% cost, 15 CD) prevents evade AND resist
**Supportive:**
- **Haste** (Lvl 60, 30% cost, 0 CD) +50% action speed
- **Protection** (Lvl 10, 25% cost, 0 CD) -25% damage taken
- **Shadow Veil** (Lvl ~130) base evade that ignores burden
- **Regen** (Lvl 50, 22.5% cost, 0 CD) HP regen/turn
- **Cure** (Lvl 5, 20% cost, 5 CD) instant heal
- **Heartseeker** (Lvl 200+) +25% phys damage
- **Spirit Shield** (Lvl 200+) absorb damage with SP
**Spell cost modified by:**
```
MP_cost = roundup(level * base_cost/100 * (1 + interference*0.5%)
* (1 - mana_conservation) * (1 - spirit_stance)
* (1 - coalesced))
```
=============================================================================
## 5. BATTLE MODES
### Arena
- Fixed monster sets, fixed round counts
- **Best credits/hour in early-mid game**
- Available once/day per challenge
- Higher level challenges have more rounds, better credit bonuses
- Max: "Eve of Death" (Lvl 180, 70 rounds)
- First clear bonus is higher than subsequent clears
### Grindfest
- **Infinite rounds** (until you die or flee)
- Monsters scale with rounds (harder over time)
- 1 stamina entry cost, no per-round stamina
- **Best EXP/proficiency grind for sustained play**
- Drop multiplier increases at high round counts
### Item World
- Level up equipment stats (potency)
- Costs all stamina upfront based on rounds to clear
- Quality of equipment affects difficulty
- Higher difficulty better potency gains
### Random Encounter
- Triggered randomly while browsing E-Hentai
- Does NOT cost stamina
- Special loot tables
- Scripts (HV Utils) auto-detect and notify
### Ring of Blood
- Boss fights
- 1/day attempt
- Unique rewards
### The Tower (Isekai)
- Seasonal competitive mode
- Separate character (Isekai mode)
- Rankings and special rewards
=============================================================================
## 6. ECONOMY
### Credits (primary currency)
- Earned from battles (Arena most reliable)
- Spent on: training, equipment repairs, item shop, market
### Credits per Arena (first clear):
| Challenge | Rounds | First Clear Credits |
|-----------|--------|---------------------|
| Fresh Meat (Lvl 50) | 12 | 5,000 C |
| Endgame (Lvl 100) | 35 | 10,000 C |
| Exile (Lvl 130) | 50 | 20,000 C |
| To Kill a God (Lvl 165) | 65 | 35,000 C |
| Eve of Death (Lvl 180) | 70 | 40,000 C |
### Hath (premium currency)
- Earned from H@H (our other project) and donations
- Buy Hath Perks (permanent account upgrades)
- Exchange for Credits on Hath Exchange (currently ~3,038 C/Hath)
### Gallery Points (GP)
- Earned from H@H hits (0.1 GP/hit)
- Earned from HV battles (slower)
- Used in bounty system
### Training (credit sink, permanent upgrades)
| Training | Effect | Levels | Initial Cost |
|----------|--------|--------|-------------|
| Adept Learner | +1% EXP/level | 300 | 100 C |
| Scavenger | +1% loot drop chance | 50 | 500 C |
| Ability Boost | +1 Ability Point | 500 | 100 C |
| Assimilator | +10% prof gain rate | 25 | 50K C |
| Quartermaster | +5% equip drop chance | 20 | 5K C |
| Archaeologist | +10% artifact drop chance | 10 | 25K C |
| Luck of the Draw | +1% rare equip chance | 25 | 2K C |
### Items (battle consumables)
- Energy Drink: +10 stamina (from donator daily reward)
- Caffeinated Candy: +5 stamina (lottery)
- Potions/Scrolls/Gems: various battle effects
- Infusions: temporary elemental damage
=============================================================================
## 7. AUTOMATION RULES (CRITICAL)
**From the official wiki ("Scripts & Tools" → "Forbidden Actions"):**
### EXPLICITLY FORBIDDEN (full ban):
1. **Fully automated/unattended play** clearing multiple battles without ANY
manual input from the player
2. **Automatic monster feeding** collecting benefits without player input
3. **Automating RiddleMaster** including ML-based solving
4. **Auto-starting new battles** anything that chains battles together
### ALLOWED:
1. Per-round auto-battlers that require a **human click to advance** (jpx)
2. UI enhancements (HV Utils, Monsterbation)
3. Statistical tracking, alerts, quality-of-life scripts
4. Hotkey rebinding
**The grey area**: "per round" means a script may decide what action to take
this round, but the player must manually click to execute or advance. The
existing approved script jpx works exactly this way it recommends the
optimal action, the player clicks to execute, the script processes the result
and recommends the next action.
### PENALTIES
**Full account ban** not just the HV game. You lose:
- Access to e-hentai.org galleries
- Forum account
- All H@H clients
- All Hath, Credits, equipment
=============================================================================
## 8. EXISTING AUTOMATION TOOLS (patterns to study)
### jpx (approved, active)
- Type: Tampermonkey userscript
- Function: "Manually triggered per round auto-battler"
- Pattern: Press a hotkey script recommends action press another hotkey
script submits the action page reloads script parses new state repeat
- Has: auto-battle ruleset manager, battle statistics tracker
- URL: Listed on wiki's Scripts & Tools page (v2026.07.06)
### Monsterbation (approved)
- Type: Tampermonkey userscript (v1.4.1.3)
- Function: "All-purpose hovering script for melee and mage"
- Pattern: Hover-based UI that overlays recommendations
### HV Utils (approved)
- Type: Tampermonkey userscript (v4.2.3)
- Function: Out-of-battle automation
- Automates: shrine, equipment shop (auto-sell/salvage bad gear), RE detection,
inline equipment changer
### HV Toolbox
- Type: Tampermonkey userscript
- Function: Shop management, MoogleMail, shrine
---
## 9. IMPLEMENTATION OPTIONS
### Option A: Tampermonkey Userscript (Recommended)
**What:** JavaScript userscript injected into hentaiverse.org
**How:** Leverages the browser's DOM + cookies for authenticated requests.
**Compliance:** Requires one human click per round = fully within rules.
**Architecture:**
```
┌─────────────────────────────────────┐
│ hentaiverse.org page (browser) │
│ ┌─────────────────────────────────┐ │
│ │ Tampermonkey Userscript │ │
│ │ ┌─────────┐ ┌──────┐ ┌───────┐ │ │
│ │ │ Parser │ │ Strat │ │Action │ │ │
│ │ │(DOM→obj)│→│ Engine│→│ Submitter│ │
│ │ └─────────┘ └──────┘ └──┬────┘ │ │
│ │ │ POST │ │
│ └────────────────────────┼───────┘ │
│ ← HTML response ←─┘ │
└─────────────────────────────────────┘
```
**Pros:**
- Low development effort (pure JS, ~2000-3000 lines)
- Uses existing browser session/cookies (no auth headache)
- Can be published as a Tampermonkey script
- Hotkey-driven: press "F" to execute recommended action
**Cons:**
- Requires a browser open (can't be fully headless)
- Must comply with per-round click requirement
- Cannot auto-chain battles (within rules anyway)
### Option B: Headless Browser + Puppeteer/Playwright
**What:** Node.js script controlling headless Chromium with puppeteer
**How:** Full browser automation can click buttons, fill forms, parse HTML
**Compliance:** DANGER ZONE easy to accidentally cross into full automation
**Pros:**
- Can run on VPS headless 24/7
- Full DOM access
- Can take screenshots for debugging
**Cons:**
- Resource heavy (Chromium + Node.js)
- Very easy to get banned if fully automated
- The 4-turns/sec rate limit still applies
- RiddleMaster will appear faster with full automation and flag you
### Option C: Direct HTTP Client (Python/Node.js)
**What:** Script that directly sends HTTP POST requests to hentaiverse.org
**How:** Parse HTML responses, POST action forms, manage cookies
**Compliance:** HIGH RISK indistinguishable from botting
**Pros:**
- Zero overhead (no browser)
- Can run on VPS headless
- Fastest possible throughput
**Cons:**
- Must reverse-engineer exact form fields, CSRF tokens, cookie handling
- No JavaScript execution some game mechanics may rely on JS
- **Extremely high ban risk** if performed unattended
- Cannot solve RiddleMaster without AI/OCR (which is explicitly forbidden)
### Option D: Hybrid — Chrome Extension
**What:** Chrome extension that bridges between manual and headless
**How:** Extension runs a WebSocket server; a remote harness connects and controls
**Pros:**
- Browser handles auth/rendering
- Remote harness can run on VPS
- Clean separation of concerns
**Cons:**
- Browser still needs to be open
- Complex architecture
- Extension review policy may flag it
=============================================================================
## 10. RECOMMENDED STRATEGY
### Short-term: Tampermonkey script (Option A)
Build a **per-round auto-battler** modeled after jpx:
```
┌──────────────────────────────────────────────┐
│ Strategy Engine (what the script decides) │
│ │
│ MAGE MODE (simplest to automate): │
│ 1. Check if Imperil needed → cast │
│ 2. Check if Weaken needed → cast │
│ 3. Check mana → if low, use Draught/Focus │
│ 4. Check if Haste active → if not, cast │
│ 5. Check if Shadow Veil active → cast │
│ 6. Cast strongest available AoE spell │
│ Pick element based on target weakness: │
│ - Scan each monster for lowest resist │
│ - Match spell element to weakness │
│ ALL BY HOTKEY: PRESS ONE KEY TO EXECUTE │
│ │
│ MELEE MODE: │
│ 1. Check Overcharge → use skills if enough │
│ 2. Attack lowest-HP monster first (sweep) │
│ 3. Use Spirit Stance when full OC/SP │
│ 4. Heartseeker before big skills │
│ │
│ ITEM MODE (optional, stamina recovery): │
│ - Consume Energy Drink if stamina < 10 │
└──────────────────────────────────────────────┘
```
### Mid-term: Add out-of-battle automation like HV Utils
- Auto-sell/salvage low-quality equipment
- Auto-shrine artifacts
- Auto-train when credits available
- Monster Lab feeding reminders
### Long-term (IF server offset goal is serious):
Run H@H 24/7 for passive Hath (our primary project), and supplement with
HathCredit exchange (3,038 Cr/Hath). This is the **legit, no-ban-risk path**
to monetize the game's economy without botting.
### NEVER build:
- Fully automated battle chaining (Arena exit next Arena ...)
- RiddleMaster auto-solver
- Anything that runs with zero human interaction for >1 round
=============================================================================
## 11. KEY TECHNICAL NOTES FOR IMPLEMENTATION
### HTML Parsing
The battle page structure (from wiki screenshots):
- Top bar: stamina, credits, HP/MP/SP bars
- Center: enemy list (table with HP bars, status icons, names)
- Bottom: action buttons (Attack dropdown, Spell grid, Skill list, Item list)
- Battle log: text output of last action
### Monster Data Extraction (from HTML tables)
```
<table class="monster_list">
<tr> <!-- per monster -->
<td>HP bar (width = current/max %)</td>
<td>Status icons</td>
<td>Name (text)</td>
<td>Level/PL</td>
</tr>
</table>
```
### Player State Extraction
```
HP: parse from "Health: X / Y" text
MP: parse from "Magic: X / Y"
SP: parse from "Spirit: X / Y"
Overcharge: parse from yellow bar width
Current buffs: check status icon presence
```
### Form Submission
```javascript
// Attack monster #2
document.forms['battle'].elements['action'].value = 'attack';
document.forms['battle'].elements['target'].value = '2';
document.forms['battle'].submit();
// OR via fetch to avoid full page reload (if game supports AJAX):
fetch('?s=BATTLE', {
method: 'POST',
body: new URLSearchParams({action:'attack', target:2})
}).then(r => r.text()).then(html => { /* re-parse */ });
```
### Elemental Weakness Matching
Monsters have 6 resistance values (Fire, Cold, Elec, Wind, Holy, Dark).
The Scan skill reveals these. Without scanning, a script can track damage
numbers and infer resistances:
```
If Fire spell did 1000 damage and Cold did 2000 → target is fire-resistant.
Track per-monster-type for future encounters (Monster Lab data).
```
### RiddleMaster Bypass (DON'T — EXPLICITLY FORBIDDEN)
The RiddleMaster is a CAPTCHA-like puzzle that appears between rounds at random
intervals. The wiki explicitly states:
> "Any kind of attempts to automate the RiddleMaster in any way, including scripts
> that automatically scrape riddles for the purposes of machine learning."
**The ONLY legitimate approach**: pause the script and require the human to solve
it manually. Play a sound or flash the tab to get attention.
=============================================================================
## 12. CREDIT-FARMING MATH
### Credits per Arena run (approximate, mid-level)
| Arena | Rounds | ~Time | Credits (first) | Credits (repeat) |
|-------|--------|-------|-----------------|-----------------|
| Fresh Meat (50) | 12 | 3-5 min | 5,000 | 1,000 |
| Killzone (90) | 30 | 8-10 min | 9,000 | ~1,800 |
| Endgame (100) | 35 | 10-12 min | 10,000 | ~2,000 |
| Exile (130) | 50 | 15-20 min | 20,000 | ~4,000 |
| To Kill a God (165) | 65 | 20-25 min | 35,000 | ~7,000 |
A dedicated player running ~14 arenas/day at mid-tier earns roughly
**50,000-150,000 Credits/day** from Arenas, plus equipment/artifact drops
worth 10-50K more.
### Hath vs Credits comparison
From earlier calculation: 1 Hath = ~3,038 Credits (exchange rate).
Our H@H client (58,000 KB/s, 400 GB) may earn 5-150 Hath/day depending on
ramp-up. That's 15,190 - 455,700 Credits/day equivalent — **orders of magnitude
more efficient than manually grinding HV**.
=============================================================================
## 13. FILE STRUCTURE (Tampermonkey script template)
```
/scripts/hv-auto/
├── hv-auto.user.js ← Main userscript (manifest + bootstrap)
├── parser.js ← HTML→gameState parser
├── strategy.js ← Action decision engine
├── actions.js ← Form submission helpers
├── constants.js ← Monster DB, spell tables, damage type matrix
├── monitor.js ← Stamina/credit/profit tracking
└── ui.js ← Optional overlay UI
```
=============================================================================
## 14. BOTTOM LINE
H@H is your **passive income engine** (build it, forget it, cash Hath).
HV scripts are your **quality-of-life supplements** (speed up Arena runs,
manage inventory, train efficiently).
Don't risk a full account ban trying to fully automate HV. The per-round
semi-automation path (Option A) is proven by jpx/Monsterbation, fully within
rules, and saves 90% of the tedium.