# New Update Checklist ## Automatic item updates `Prices4\update_prices_safe.bat` runs `tools\sync_game_catalog.py` before the Discord price import. It downloads the public SwordMasters client files and updates: - all sword, shield, pet, and armor names and stats in the optimizer catalog - sword, shield, and pet names, rarity, drop chance, and images in the marketplace - the shared catalog in Prices4 and the price API repository - the official enemy list and its HP, gold parameters, raw respawn, and drop pools The changed catalogs are committed and pushed before a Discord token is needed. ## What is automatic for a new boss The official client supplies: - name and enemy type - HP - raw server respawn delay - gold damage threshold - gold event count - gold reward range - possible sword and shield drops - item-specific sword and shield drop chances - room capacity rules for each world number The setup helper lists every newly discovered enemy so the actual boss can be selected. It then lists only that enemy's official sword and shield drops and asks which two are the featured boss drops. If their world label contains a number such as `W11`, the matching official room capacity is selected automatically and can still be confirmed or changed. ## What still needs one measurement - effective downtime from the killing hit to the first hit after respawn - normal gold divisor - world number or room capacity only if the official item labels do not identify the world clearly These values are stored in `boss_overrides.json`. The website settings can override both drop chances and room capacity at any time. Until a timing measurement is supplied, effective downtime defaults to the official raw respawn plus `1.15` seconds. The existing three main bosses all matched this offset closely, but a new boss should still be measured once. ## Add a new boss 1. Start the optimizer locally. 2. Open SwordMasters, stand at the new boss, and open the browser console. 3. Load the probe from the same optimizer port: ```js fetch("http://127.0.0.1:8000/tools/swordmasters_boss_probe.js?v=" + Date.now()) .then(response => response.text()) .then(eval) ``` 4. Enter the exact current in-game gold multiplier: ```js SM_BOSS_PROBE.setGoldMultiplier(143.25) ``` 5. Stay on only that boss for at least 5 complete kills and 30 normal gold events. Lower damage is better if every hit otherwise crosses the threshold. 6. Copy the clean result: ```js SM_BOSS_PROBE.copyJson() ``` 7. Run `configure_new_boss.bat`. The batch refreshes the official catalog, reads the probe JSON from the clipboard, asks which new enemy and boss drops to use, confirms the inferred world and remaining measured values, updates `boss_overrides.json`, and pushes the optimizer files. The new boss then appears as a settings preset. If the optimizer uses another port, replace `8000` in the fetch command with that port.