While it has been possible to throw items via the Heave trait for a quite a while, I decided it would be worth adding a dedicated class of throwable weapons. Enter boomerangs. And shurikens. And, yes, even bombs. These fill the previous void of consumable, offensive items; consumable recovery (food) and utility (potions) items are already well established.
Because thrown weapons are generated (using materials and quality levels) like equipment, the way an item's throwing starts are calculated needed to be changed. This was a great opportunity to try a new approach to stat calculation that I've been wanting to use. So, the throwing stats were set up using the new system. It worked exactly as intended (yay!) and I went ahead and added it for equippable items as well.
Old Stat Approach -- Some lazy thing I did at a gamejam
Previously, items derived their stats by multiplying the different factors of their components (quality, material, etc) together to get a composite value. This works well enough for easily adding a lot of variety to items, but it also produced a lot of "underpowered" items. This is undesirable. Junk items should be bad because they don't fit a player's needs / build / playstyle, not because they are numerically inferior. So, rather than just adjusting the component values to create a glut of bland, "balanced" items, the entire system was rebuilt.
New Stat Approach -- Items as Unit Vectors (Sort of)
Individual components are now looked at as a whole and weighted according to what they provide. Then the component weights are combined to create a set of percentages that make up the item as a whole. These percentages are then multiplied by a stat-specific scale, yielding the final value.
The end result is that items of a given quality will always be on par with other items of the same quality (even if the specific distribution of values isn't useful to the player). In a game that revolves around maximizing the quality of items you receive, this consistency is crucial. Without it, the player's success is simply too random.