#4140
vanilla
Make alchemy recipes randomized per-game and consistent with a game, by doing the following:
- Initialize a N by N matrix at the start of the game, where N is the number of different potions in the game besides water. The matrix provides a lookup for what the constituent potion types in the appropriate rows mix to combine.
- Basic alchemy practices don’t consult the matrix, for instance, dipping a cursed potion into something always causes a blast, and dipping a potion into another of the same does nothing.
- Nonmagical potions are possibly excluded from the reagent set, the result set, or both. Most likely the reagent set if both source potions are nonmagical - it doesn’t make sense to mix nonmagical juice with booze and wind up with a magical potion of enlightenment. But it may also not make enough sense if combining two magical potions produces a nonmagical one.
- The number of entries for a given potion type in the matrix are proportionate to the generation frequency of that potion. So there may only be one specific combination of potions which produces polymorph, whereas many things produce sickness or fruit juice.
- Hardcoded rules like could be enforced on the matrix if need be, but it’s probably better if players don’t have an easy known path to mass produce full healing or gain ability.
This system gets rid of random alchemy results entirely, but does not necessarily get rid of the chance of an alchemic blast or failing and turning into water or evaporating. Possibly these could be removed, so that the player is incentivized to try and mix together as many potion types as they can to discover what they produce and find interesting combinations.
A list of known alchemy recipes could be added to the discoveries list so the player can use it as a reference.