Files
forge-master/README.md
T
2026-06-16 15:12:12 +02:00

142 lines
4.0 KiB
Markdown

# Forge Master Strategy Optimizer
A small browser-only webpage for planning Forge Master gear upgrades and sacrifice decisions.
Forge Master characters can equip:
- 8 items
- 1 mount
- 3 pets
Each equipped piece has:
- A base stat: `damage` or `health`
- A base stat value
- 0, 1, or 2 effects depending on rarity
Effects start at `1%` and can be upgraded up to their cap.
## Supported effects
| Effect | Maximum |
| --- | ---: |
| Crit chance | 12% |
| Crit damage | 80% |
| Block chance | 5% |
| Health regen | 4% |
| Lifesteal | 20% |
| Double chance | 20% |
| Damage | 15% |
| Melee damage | 50% |
| Ranged damage | 15% |
| Attack speed | 40% |
| Skill damage | 30% |
| Skill cooldown reduction | 7% |
| Health | 15% |
## Optimizer goals
The app lets you enter the current state of all equipment and then recommends:
1. **What to increase next**
- Prioritizes effects by actual DPS gain for the selected combat style.
- Accounts for each effect's remaining room to grow before cap.
- Shows the DPS gain from the next `+1%` and from upgrading to cap.
- Crit damage has no DPS value until crit chance is above `0%`.
2. **What is best to sacrifice instead**
- Scores every equipped piece from its base stat and effects.
- Identifies the lowest-value pieces as likely sacrifice candidates.
- Explains why a piece is weak, such as missing effects, low base stat, or low-impact effects.
3. **Overall build summary**
- Totals base damage and health.
- Totals effect percentages across all items, mount, and pets.
- Shows calculated DPS and a defensive score to compare save slots.
## DPS model
The app calculates DPS from entered base damage and offensive effects:
```text
DPS = base damage
* (1 + damage%)
* (1 + selected style damage%)
* (1 + attack speed%)
* (1 + double chance%)
* (1 + crit chance% * crit damage%)
* skill cooldown multiplier, only for Skill style
```
The selected combat style controls which specialized damage bonus is used:
- Melee uses melee damage.
- Ranged uses ranged damage.
- Skill uses skill damage and skill cooldown reduction.
All additive bonuses are evaluated against the current total. For example, if the build already has `+100% melee damage`, adding another `+50% melee damage` increases the melee multiplier from `2.0x` to `2.5x`, which is an actual `+25%` DPS increase rather than `+50%`.
Each item effect row displays its actual current DPS contribution and the marginal DPS gain from the next `+1%` upgrade.
## Strategy profile
The first version includes an adjustable strategy profile:
- Balanced
- Damage focused
- Survivability focused
- Skill focused
Each profile changes effect weights used for recommendations. These weights are intentionally transparent in the code so they can be tuned as better Forge Master formulas become known.
## Save slots
All data is saved in `localStorage` only. No server is used.
Features:
- Multiple named save slots
- Save current build to a slot
- Load an existing slot
- Delete a slot
- Automatic draft saving for the current unsaved work
## Import and export
The current build can be backed up or shared as JSON:
- 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
```
## Implementation notes
This project is intentionally dependency-free:
- `index.html` contains the page structure.
- `styles.css` contains responsive styling.
- `app.js` contains state management, localStorage persistence, scoring, and recommendations.
The optimizer is heuristic, not a perfect simulator. It is designed to be useful immediately and easy to tune once exact Forge Master combat formulas are known.