npm installnpm run setup
npm start
- Angular (for the frontend framework)
- ngxstension (for extending angular in impactful ways)
- ng-event-plugins (for extending angular event handling)
- TailwindCSS (for styling)
- DaisyUI (for the UI components)
- Helipopper (for tooltips)
- ngx-toastr (for notifications)
- SweetAlert2 (for alerts)
- SpellBook Megapack - global effect icons
- Admurins Items Mega Pack - item icons
- Oryx Ultimate Fantasy - sprite sheets for characters and enemies
npm run analyze:herostats <lvl> <class1,class2,class3...>
This will run a check on hero job stats. It will show you their stats at a level, as well as their base damage output at a level for each skill they have at that level.
npm run analyze:monsterstats <lvl> <monster1,monster2,monster3...>
This will run a check on monster stats. It will show you their stats at a level.
npm run analyze:materialutilization
npm run analyze:materialutilization -- --expanded
This will examine all of the materials in the game, showing the least utilized ones (which are candidates for using more of before others). In expanded mode, it will show a lot more information about what is utilized, and how.
npm run analyze:contentgaps
npm run analyze:contentgaps -- --gap=<x>
npm run analyze:contentgaps -- --expanded
This will examine all content in the game (at the time of writing: items, tradeskills, infusions) and look for excessive gaps in utilization (default of 4)
npm run analyze:nodelevels
npm run analyze:nodelevels -- --gap=<x>
This will examine all encounterable nodes in the game and sort them by level, showing their map and any gaps in levels (default of 2).
npm run analyze:debuffresistance
npm run analyze:debuffresistance -- --gap=<x>
This will examine all debuffs and show if they have any resistance allocated to them, and at what levels, factoring in the specified level gap (default of 4).
npm run simulate -- --mode=curated --trials=1 --tick-budget=36000 --verbose=true
npm run simulate -- --mode=<exhaustive|curated> --trials=<1> --tick-budget=<60000> --workers=<N>
This will run the simulator to verify different parties and see how far they get. This will help make sure the game is playable with many different configurations of hero jobs. It will output a leaderboard as well as where each party gets stuck, if it does. A tick budget gives the party a certain amount of time to get to a certain place, and simulates a player playing for that length of time - 3600 ticks = 1 hour.
Scenarios (comp x strategy x trial) run across a pool of worker processes, one per CPU core by default - pass --workers=1 to run everything serially in a single process instead (useful for debugging with breakpoints, since a forked worker can't be attached to the same way).
- To see the above, visit
/debug. It's much more easily digestible than a bunch of CLI scripts.