# 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 ## 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.