Crossfire Mailing List Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

ALCHEMY idea





	Hi, ...things seem to have slowed down around here
	(*except* for the spam :). I thought I would share
	an idea with the community on some thoughts I had 
	about implementation of Alchemy (in the sense of 
	players making magic compounds like potions). 

	In essense the Alchemy should feature:
	   1) player ability to create magical compounds 
	      (like potions, powder, balm, etc) from various 
	      found, bought, and prepared ingredients.
	   2) player's should have the ability to experiment 
	      making stuff. As a result, both good and bad 
	      things can happen. 
	   3) The code should be contained and as simple as 
	      possible. It should feature a way to easily 
	      add new alchemical formulae and potions to 
	      an existing roster of allowable formulae. 

	I thinking of implementing this in the following way.
        Players will be able to grind, distill, etc various
	items (see below) with alchemical devices (below) to 
	produce 'alchemical' ingredients. These ingredients 
	are inert until they are mixed together and the alchemy
	spell is cast upon the container holding them (I will
	call it the 'beaker' for now). If the mixure in the 
	beaker is appropriate (according to an array holding
	allowed 'formulae') then something is predictably 
	produced. If the mixture in the beaker is wrong, well
	bad things can happen (like explosions, fireballs, 
	summon evil monsters, player loses stats, etc).  

	Alchemical devices: The objects are like containers, but
	  will change other allowed objects into alchemical
	  ingredients. In concept alchemical devices are a new
	  object type (ie 'ALCONTAINER') as is each of the alchemical
	  ingredients. Some Alchemical devices require spells to be 
	  cast on them to operate.  

	Device		Operation 	Produces (type) 	Activation Spell      
	------		---------	---------------		----------------
	  Mortar	  Grinds	 Powder (POWDER)	 none 
	  Retort	  Distills	 Essence (ESSENCE)	 Fire spells 
	  Crucible	  Calcinates	 Ashes	(ASH)		 Fire spells
	  Beaker	  Combines	 Potion, balm, (POTION)	 Alchemy spell
					 etc.
	  In princible, most of this alchemical equipment is reusable,
	  (excepting the beaker) but is quite heavy.

	A 'potion' array could look something like this:
	 
	"product name", "spell","ingrd1","ingrd2","ingrd3","value","face","level"

	where "product name" is the name of the produced 'potion', balm, etc.
	"spell" is the spell to be cast by the potion, balm, etc. when
	it is consumed, "ingrd1","ingrd2" and "ingrd3" are the components
	for making the "product". Each comprises the name and type of the 
	ingredient (see below example). There can be from 1-3 ingredients required,
	which must match the name,type and *order* listed in the array.  
	"value" is the value of the product, "face" is the image that
	will be associated with the produced POTION (the beaker is removed
	after every attempt, even if the compounding is unsuccessfull). 
	"level" is the level at which the spell will be cast. Most potions 
	should "cast" at the base level of the spell, but some may be 
	stronger.

	Examples for an array of alchemical products and formulae 
	---------------------------------------------------------

	"Balm of transparency",SP_INVISIBLE,"beholder eye, POWDER","NULL,NULL",
		"NULL,NULL",1000,"balm.111",10 

	In the above, one ingredient is needed to make the "balm of transparency"
	a POTION which when consumed makes the user invisible. This ingredient
	is the "Powder of beholder eye", which is produced by putting a 
	beholder eye into a mortar. The resultant product 'potion' has the 
	'balm' image, and is cast at the 10th level. 

       "Phylum of Rigidity",SP_PARALYZE,"orc steak, ASH","food, ESSENSE",
                "NULL,NULL",10,"potion.111",30 
 
          In the above, 2 ingredients are needed to make the "Phlyum of 
        Rigidity", a POTION which when consumed paralyzes the user. 
        These ingredients are "ash of orc steak" and "essence of food"
        (ok, ok we will need more monster parts than are currently around)
        Not a good thing to consume :)


	And so on.... Any comments on this would be appreciated. Also...
	I seem to remember someone stating that they were working on implementing
	throwing code.. Has this been done yet??


					Caio, b.t.