[crossfire] RFC: dynamic alchemy

Anton Oussik antonoussik at gmail.com
Tue Apr 11 15:21:06 CDT 2006


On 27/03/06, Wim Villerius <wim-cf at villerius.nl> wrote:
> Shadow alchemy is an exploit, used to create items that are
> impossible to create with dynamic alchemy. (It is impossible to have
> items with resist_something > 99 - and this limit could even be set
> lower)
To those unfamiliar with it, shadow alchemy generally involves finding
hash collisions for the recipes, fooling the alchemy code into
thinking you are doing something else entirely. Since the hashing
function is (on purpose) very weak, there is no easy way of making
shadow alchemy impossible short of entirely changing the way
traditional alchemy works. It is currently hard enough to discourage
most people though (thanks to some safeguards in the code). For most
purposes, however, it currently does what dynamic alchemy will do, but
without the much needed game balancing, and very scarce documentation.

I like your idea about dynamic alchemy, but creating a resistance
table seems like a lot of work, and so does messing with the arches.
Instead, why not make a semi-random roll on what to add/subtract,
partially based on the hash value of the ingredient? This means that
only the alchemy.c file will need changing, and dynamic alchemy will
have a much better chance of actually happening (+working).

These are the things I can think of adding/subtracting to items:
resistances
stats
speed
weight
value ? <-- careful not to make this one exploitable
ac
wc
luck



More information about the crossfire mailing list