Even discounting ancillary benefits, acquiring a Mammoth Ribcage through Balmoral Woods is substantially cheaper than producing one from scratch with most action values.
The cost of applying each tail has been broken down and moved to value.
Skipping tails remains slightly flawed, and will be cleaned up in the
future.
Appendage has once again been cleaned up and sorted lexicographically.
Removing and skipping tails remain at the bottom, as they must be done
after adding tails.
Due to integer overflow issues, both Value.EYELESS_SKULL and
Value.OBSIDIAN_TAIL now have a value of cp_model.INT32_MAX/2. If this
issue recurs, dividing by successively larger powers of 2 may be
necessary.
Adding joints is allowed at the same time adding appendages is, so it belongs in the Appendage enumeration.
In addition to having its constant cost expressed in terms of Value members, adding joints now expresses
the dynamic cost in terms of Warm Amber.
This particular action should be kept above other actions in the enumeration, as it must be performed
before the extra appendages can be added.
This continues the transition away from a single action list.
Because limbs and tails are not mechanically distinct, they are not going to get their own enumerations.
Due to the number of members ultimately going in this enumeration, they will be moved piecemeal.
The members of Appendage will be temporarily added to the action list like the other enumerations.
This continues the transition away from a monolithic action list.
Like Torso, the members of Skull are being added to the action list as a temporary measure.
Torso.LICENTIATE_SKELETON has been renamed Torso.VICTIM_SKELETON to better align with the corresponding Skull.
The cost of each torso quality is now abstracted into the Value enumeration.
Each step necessary is broken down until a penny value is assigned.
This makes it much easier to understand and potentially customize later.
The Torso enumeration now has its members broken across multiple lines, for ease of reading.
The sources for Thorned Ribcages and Leviathan Frames were changed.
This enumeration will be used to rationalize and centralize costs across the script.
ACTION_VALUE and SURVEY_VALUE have been moved into this enumeration, and more will be added.
For the sake of readability and organization, all of the actions are going to be moved into enumerations instead of being lumped into a massive list literal.
Until every action is transitioned, enumerations will simply be prepended onto the current list.
Some of the torso comments have been cleaned up or expanded.
The Torso subclass is an unnecessary complication that may get in the way of future overhauls, so it has been removed.
Action now has the torso_style property that Torso added, defaulting to None.
Logic based on whether an Action was a Torso now checks if torso_style has a value.