Commit Graph

4 Commits

Author SHA1 Message Date
Jeremy Saklad bb21eccca8
feat: Add Segmented Ribcage to appendages
Segmented Ribcages can be used to add more limb slots, but carry a
variety of unusual requirements. In addition to a scaling cost in
Nevercold Brass, they require an unfilled tail slot when applied.

It may be prudent to clean up the partial sum formula using helper
methods in the future, as it currently requires a considerable number of
intermediate terms.

itertools.repeat is now being used to perform exponentiation, rather
than repeating terms directly.
2022-06-03 19:54:34 -05:00
Jeremy Saklad 97aedc0895
Add __slots__ to data enumerations
These types still have a __dict__, since they inherit from Enum, but
using __slots__ for the inherited properties can still improve access
times.
2021-09-18 19:18:40 -05:00
Jeremy Saklad f60b8b6f6f
Fix name of tail-skipping action
It is possible to skip tails while some are already present. The wiki
had the old name when this was added to the solver, but it has since
been corrected.
2021-09-11 17:05:36 -05:00
Jeremy Saklad 84c62aa3c6
Convert project to package
All scripts are now contained in a package named "bonemarketsolver".

The command-line interface has been moved to __main__.py.

The solver script has been moved to solve.py.

Relative module imports are now used where appropriate.

The invocation method of the CLI has changed: instead of running Python
itself, you can now use "pipenv run bone_market_solver".

The README has been updated to reflect the new usage method.
2021-08-03 14:48:42 -05:00