84 lines
2.8 KiB
Markdown
84 lines
2.8 KiB
Markdown
# Forge Master Strategy Optimizer
|
|
|
|
A browser-only helper for Forge Master players who want to decide whether a newly rolled item, mount, or pet is worth keeping.
|
|
|
|
Instead of guessing from raw percentages, enter your current build and the app shows how each roll affects the things you care about most:
|
|
|
|
- calculated DPS
|
|
- single-hit and crit-hit damage
|
|
- estimated Regen from health regen and lifesteal
|
|
- marginal value of max-roll effects at your current stat totals
|
|
- weakest current sacrifice candidates
|
|
- DPS/Regen change if a new roll replaces an existing piece
|
|
|
|
For the game rules, stat caps, formulas, assumptions, and known limitations used by this app, see [GAME.md](GAME.md).
|
|
|
|
## How to use it
|
|
|
|
1. Open the page.
|
|
2. Enter your current item, mount, pet, and skill base stats/effects.
|
|
3. Choose your combat style: Melee, Ranged, or Skill.
|
|
4. Choose a strategy profile:
|
|
- Lifesteal: DPS plus lifesteal-oriented comparisons.
|
|
- Regen: health plus health-regen-oriented comparisons.
|
|
5. Check the summary cards for DPS, hit damage, crit damage, and Regen.
|
|
6. Use **New item comparison** when you roll a new piece:
|
|
- choose what it would replace,
|
|
- enter the new roll's value and effects,
|
|
- compare DPS and Regen changes before swapping.
|
|
- use **Swap in new item** to apply it, with **Swap back** available if you want to undo.
|
|
7. Use **Best sacrifice candidates** as a quick shortlist of low-value pieces.
|
|
|
|
When comparing a new pet, choose `Pet`; the app automatically compares against your currently weakest pet.
|
|
|
|
## Save slots
|
|
|
|
All data stays in your browser through `localStorage`. Nothing is uploaded.
|
|
|
|
You can:
|
|
|
|
- keep multiple named save slots,
|
|
- save the current build,
|
|
- load an existing slot,
|
|
- delete a slot,
|
|
- rely on automatic draft saving while editing.
|
|
|
|
## Import and export
|
|
|
|
The Import / Export panel is collapsed by default. Expand it when you want to back up or share a build.
|
|
|
|
Supported actions:
|
|
|
|
- Generate JSON in the text box and copy it.
|
|
- Download the current build as a `.json` file.
|
|
- Import by pasting JSON into the text box.
|
|
- Import by uploading a `.json` file.
|
|
|
|
Imports accept both the app's wrapped export format and the raw build object. Imported builds are normalized, rendered immediately, and autosaved as the current draft.
|
|
|
|
## Running locally
|
|
|
|
Open `index.html` in a browser.
|
|
|
|
No build step is required.
|
|
|
|
If serving from a local web server is preferred:
|
|
|
|
```bash
|
|
python3 -m http.server 8080
|
|
```
|
|
|
|
Then open:
|
|
|
|
```text
|
|
http://localhost:8080
|
|
```
|
|
|
|
## Project files
|
|
|
|
- `index.html` contains the page structure.
|
|
- `styles.css` contains responsive styling.
|
|
- `app.js` contains state management, localStorage persistence, scoring, and calculations.
|
|
- `GAME.md` documents game mechanics and formulas.
|
|
- `AGENTS.md` documents implementation handoff notes for future agents.
|