swordmasters-optimizer / BOSS_UPDATE_GUIDE.md
oettaM123's picture
improve new boss setup automation
f0bb4a4
|
Raw History Blame Contribute Delete
2.92 kB

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:
fetch("http://127.0.0.1:8000/tools/swordmasters_boss_probe.js?v=" + Date.now())
  .then(response => response.text())
  .then(eval)
  1. Enter the exact current in-game gold multiplier:
SM_BOSS_PROBE.setGoldMultiplier(143.25)
  1. 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.
  2. Copy the clean result:
SM_BOSS_PROBE.copyJson()
  1. 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.