First of all, apologize for not replying before, I guess you almost forgot what the proposal was about - so did I. ;-)
A quick summary: Dynamic Alchemy is the art of transferring magical powers (bonusses) from one object to another. It is not yet clear how the magical powers travel. There are at least two proposals. 1: mark an item as receiving object. 2: they flow from low to high. Due to this unusual direction, items with low magical value cannot be used to enchant to infinity. All items have an upper limit, above which they are useless. A dragon steak might raise (in several steps) the fire resistance from an object to e.g. +30, but not any higher. To make it +50, better stuff is needed (ancient red dragon's steaks) Also, it is not defined what 'magical powers' are. In principle, it is not limited to anything. The idea is that you can use alchemy without predefined results - and without fixed ingredients. Anyone who wants to know more is invited to read the message that opened the discussion - sent on March 27 2006. you wrote: Mark Wedel > 1) The idea is interesting. However, like most such proposals, > balance has to be maintained - if I can take a couple ancient red > dragon steaks and get mithril chain resist fire +90, the case can be > made that that is a bit too power. So true. for resist fire+90 one would need more than just ancient red steaks. Defining a max_resistance in a table (or the arches) would prevent this can happen. In the formula I suggested I included a factor (current_resistance - max_resistance) which is the upper limit of possible improvement for a particular source. Thus if an ancient red dragon's steak is defined to give at most +50 fire resistance, it will never ever add more fire resistance using these steaks. For sure, this value of 50 is an arbitrary choice, balancing issue's should settle the real value. > 2) You mention where to store information about alchemical > improvements, and state your preference for a table instead of the > arches. I'd say arches are the right place - a large table is just > unwieldy, and unlikely to get updated <snip> > The other point is that if anything, the more recent push has been to > get rid of files in the lib directory and put that into archetypes. <snip> OK, that's fine too. The main reason to prefer a large table was the initial work that is needed to change lots of arche files, that I'm uncommon with them and that in the beginning a lot of things need some tweaks for balancing purposes - which is easier with a 'huge table'. Anyway, I would say that it's not up to me to make such a decision. > 3) Other things that could be added: hp/sp/grace regen, sustenance. > Bonus movement types (flying, swimming, etc). This last one is > trickier because it is really an all or nothing type of thing (either > the item lets you fly, or it doesn't). An unrelated but perhaps > interesting improvement would by duration items. Eg, this object will > let you fly for up to 1000 ticks. Then, for each tick it doesn't fly, > it recharges 1 tick of duration. In that model, partial movement types > make sense - this object lets you fly, but right now, only for 20 > ticks before it needs to rest - further improvements increase the > duration. Doing this wouldn't be that far off from the rod code. I see no reason why these couldn't be added - as long as the item remains in balance. About movement types, I cannot exactly grasp how a platemail could give the ability to swim, my first guess would be it gives a 'dive' (rather: sink) ability. Nevertheless, magic is magic, so why not euh? I like the idea of temporary giving an ability, but what do you do with a swiming player that looses his abiltiy to swim? Unless boots of levitation become very rare, nobody will add a flying ability to their equipment - you can't thrust it. > 4) In terms of stats - they are sort of like movement type - either > you add a stat point or don't. However, the key-value lists could be > used to hold fractional improvements. So each improvement gets you > say 0.1 of a point - you could in fact use similar logic to your > resistance improvement idea. Thus, it could a bunch of objects to > improve a stat. Or the whole stat-thing should be redesigned to allow stats to grow into a few hunderd ;-) This requires a lot of work - all items should be updated. (And I think it's quite a different discussion at all.) A problem with the approach you suggest is perhaps that stats are stored as ints (I assume). I have no clue if it is possible to change that behaviour. > 5) Direction of resistance - if prepare weapon scroll is used, as > said, that solves the problem. However, as one of the potential bad > effects, maybe it does reverse. One problem with 'low to high' is > that if you are starting with something relatively mundane you want to > improve, that is unpredictable. Lets suppose for some reason you just > want to start with a simple +1 sword. That could be low. Yes, but then first start improving it with other low lvl items. If you think this is really a problem, then perhaps make a scroll that increases the magic of an item. This doesn't have to be a prepare item scroll, just an 'increase magic' scroll. > However, I think that given crossfire is multiplayer, binding improved > objects to players isn't a good idea. I should be able to create some > cool stuff for a friend - that will help things IMO than everyone > having their own stash. It also means that not everyone has to be an > alchemists - a few powerful player alchemists in the town could > possibly make pretty good business improvement objects for other > players. However, one could perhaps change the enchant item scrolls - > it just marks the object for improvement, but doesn't tie it to the > player. To some lvl of improvement this is fine, but just like some items are god-given to prevent trade in them (WDSM, cloak of magic resistance), highly enchanted armour/... should (I think) not be traded for much the same reasons. > 6) I think even some more dynamic aspects are needed. For example, > you can't really enumerate the normal rings - rings have their > resistances added in the treasure code - there is no way to say a ring > of str +1 is this archetype. So you need some way to say 'if this is a > ring, examine what properties it has and choose one for dynamic > alchemy'. Perhaps some for a large majority of food items. Mmm, so rings are a complicating factor? As long as these values are known, it shouldn't be a big problem, I guess. I wonder, does this problem arise for some items as well? A shining dragon scale mail for example is a modified dragon scale mail and I don't know if it's a different arch or not. Is it possible to extract properties of genuine (unmodified by anyone) objects from the item itself (without using the arch-files)? If so, that is perhaps the way to go. > One thought on this is that for a baseline, the object can't improve > the object any more than it grants. <...> That does make sense. It is fully in line with the way I would like to threat food items. I think stats are a bit different. It should be possible to improve a ring with Str+2 with a ring Str+1. > This does get interesting if you have a ring like 'resist fire +20, > resist cold -20'. Can resistances (or other things) get drained away? > Does the code try to optimize for improvements? Well... that would be very interesting. It depends on how we define negative resistances. Is this the absense of magical powers, or the existence of bad power? In the first case, it is easily fixed by filling the gaps. I doubt if it makes sense to say that negative resistance is absense of bad magical power, an item with no modifiers does not have any magical power and it has no negative anything. Besides, 'evil magic' does nicely explain why some items are cursed. To remove bad powers is hard (gamewise). Perhaps we could invent items that attract bad powers. But maybe it's easier to reuse existing ideas and say that negative resistances (etc) reduce the upper limit. E.g. if the max resistance that any object can have is 90, an item with default cold -30 cannot be enhanted past resist_cold +60 (just like the current resistance calculation for players works now). > That also raises the other interesting point: > Suppose I have plate armor resist cold -20. Can I transfer away that > resist cold -20 to just some other object, or is the only way to get > rid of it is via resist cold + objects? > I bring that point up because that could be used to explain why there > are items with negative resistances - they were used to get rid of the > undesirable aspects of an otherwise good object. Isn't this a little circular? "There are objects with negative resistances because they are used to remove negative resistances form objects." I think we should change it to "There are objects with negative resistances because very powerful achemists where capable to create power and anti-power from nothing to create good items. The anti-power went into the thing with negative resistance. You are not as good as they where, therefore you cannot use their tricks. But you can transfer anti-power from one object to another." _______________________________________________ crossfire mailing list [email protected] http://mailman.metalforge.org/mailman/listinfo/crossfire

