Commit Graph

19 Commits

Author SHA1 Message Date
5075e773ee
feat: Add Segmented Ribcage to costs
The Segmented Ribcage has no known source outside a specific Whitsun
egg, much like the Obsidian Chitin Tail. As such, it has been given a
placeholder price that prevents it from being used normally.
2022-06-03 19:54:21 -05:00
c6ae446fa0
Add leg fascination to Diplomat
This fascination works similarly to the skull-based fascination.
2021-11-02 15:26:08 -05:00
6e4a3a0117
Add amphibian fascination for Diplomat
This fascination works similarly to other declaration-based fascinations.
2021-10-28 00:19:39 -05:00
b5a047889d
Add menace fascination for Diplomat
This fascination scales quadratically with menace.
2021-10-15 21:39:41 -05:00
95a86b43ae
Change Withered Tentacle source
The Adulterine Castle has an option that yields four Withered Tentacles
for just one action.

Cost.WARBLER_SKELETON has been removed, as it is no longer used by
anything.
2021-09-21 11:48:08 -05:00
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
72506b2cff
Increase cost of Crustacean Pincer
Spear-fishing is difficult, and only available a fourth of the time.
2021-09-14 19:47:55 -05:00
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
0f7eb10da8
Implement menace scaling for Vake skulls
Vake skulls now have diminishing returns beyond the first skull.

Menace calculation has been reorganized to accomodate the change.

Vake skulls are no longer capped, as the new scaling has been fully
implemented.
2021-09-01 14:04:18 -05:00
ebd2c2fc48
Implement scaling implausibility for Vake skulls
Vake skulls now have scaling implausibility, which is calculated using a
partial sum formula.

Implausibility calculation has been reorganized to accomodate the
change.
2021-09-01 13:21:47 -05:00
5d7c972169
Implement scaling value for Vake skulls
Vake skulls now have diminishing returns beyond the first skull, which
are calculated using a partial sum formula similar to joint addition.

Value calculation has been reorganized to accomodate the change.
2021-09-01 12:03:53 -05:00
f2a421afca
Correct Searing Enigma cost
Acquiring Searing Enigmas through Khan's Heart costs two Intercepted
Cablegrams, which must also be acquired through Khan's Heart.
2021-08-31 17:06:03 -05:00
57908feb50
Update cost for Searing Enigmas
Searing Enigmas can be obtained semi-reliably at Khan's Heart through
network expansion.
2021-08-24 07:27:54 -05:00
b2a98cbe15
Add reptile fascination for Diplomat
This fascination effectively requires a Reptile declaration, and scales
with all three skeleton attributes multiplied together.
2021-08-24 07:27:54 -05:00
1275891b27
Tweak costs
Balmoral Woods costs now take achievable quantities of Time Remaining in
the Woods into account.

Volumes of Collated Research are now acquired using the Übergoat statue
at the Hurlers.

Trembling Amber is now acquired using the Rubbery Men opportunity card.
2021-08-13 12:14:18 -05:00
be44c9c489
Add blacklist parameter to CLI
Blacklisting uses a dedicated action to parse arguments into enumeration
members.

Choices are not provided for this option, as it would utterly overwhelm
the help interface. This means that errors may not be as helpful,
however.

The README has been updated with a small section on blacklisting, how to
do it, and why you may wish to do it.

Options that were previously commented out are now enabled, since the
user can simply blacklist them instead.
2021-08-13 09:45:27 -05:00
90b769230b
Add skulls fascination for Diplomat
This fascination scales with all three skeleton attributes multiplied together.
2021-08-11 18:35:15 -05:00
06df9e6304
Add amalgamy fascination for Diplomat
This fascination scales with the amount of amalgamy on the skeleton.
2021-08-03 15:34:37 -05:00
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