Shadow Veil removed from BUFF_PRIORITY - was draining MP aggressively. Player stats updated to match real character (effective values with gear). Benchmark results (Lv90, Nightmare, 5 runs each): 1. full-conservative: 146 rounds, 4485 dmg/rd — WINNER 2. conservative-items: 143 rounds, 4468 dmg/rd 3. spirit-40: 136 rounds, 4457 dmg/rd New defaults (full-conservative): - cureHP: 0.45, cureItemHP: 0.50 (save items use cure) - manaGemMP: 0.45, manaPotionMP: 0.25 - spiritPotionSP: 0.30, spiritStanceOC: 80 - skillOC: 75 |
||
|---|---|---|
| .. | ||
| configs | ||
| results | ||
| src | ||
| package.json | ||
| README.md | ||
HV Unified Simulator
A headless battle simulator for HentaiVerse. Tests strategy configurations against simulated battles to find optimal settings.
Structure
simulator/
├── src/
│ ├── engine.js # Battle engine (turns, damage, procs)
│ ├── entities.js # Player, Monster classes
│ ├── formulas.js # All wiki-known formulas
│ ├── strategy.js # Port of the userscript strategy logic
│ ├── grindfest.js # Grindfest simulation
│ ├── arena.js # Arena simulation
│ └── runner.js # Run configs, collect stats
├── configs/
│ └── default.json # Default strategy config
├── results/ # Simulation output
├── package.json
└── README.md
Usage
node src/runner.js --rounds 1000 --config configs/aggressive.json
Strategy Config Format
{
"name": "aggressive-items",
"cureHP": 0.35,
"cureItemHP": 0.65,
"manaGemMP": 0.60,
"spiritPotionSP": 0.40,
"spiritStanceOC": 60,
"useAttackSpells": false,
"skillRendingAt": 5,
"skillGreatCleaveOnlyBosses": true
}
How It Works
- Creates a simulated player at a given level with specified stats/gear
- Spawns monsters based on difficulty and battle type
- Runs the same strategy logic as the userscript (ported to Node.js)
- Tracks every action, proc, damage event
- Outputs summary stats + per-round logs