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

re:ALCHEMY idea



In message "ALCHEMY idea", 'thomas@astro.psu.edu' writes:

>	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. 

   How about a way to handle mixing of nth liquids (general) or
potions (specific) and a way to handle poison?  Hmm, all of this
talk got me thinking of a way to provide dynamic (changing) items.
For example, it shouldn't be too hard to be able to create a tree
and have it "grow" leaves and fruits to be used in the game for
food or for ingredient.  Maybe a modified "generator"?

>	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.  

   Er, how about a way to provide verbal and perhaps in the future
gestures as ingredients.  Has anyone thought of revamping the spells
system to include a more realistic verbal and gesture spell invocation?
I know, it might make the game too hard to play and take the fun away,
right?

>	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.

   What if the ingredients need to be cooled or heated; shaked or stirred?
How will the above be implemented?  Maybe a new alchemy commands,
like: potion <action>.  (ex: potion shake)

>	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 :)

   How about we make the ingredients the last items in the list so that
we can have variable amount.  For example,

   "Phylum of Rigidity",SP_PARALYZE,10,"potion.111",30,"orc steak, ASH",
       "food, ESSENSE","water, ????",NULL

>	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??

   Er, throwing codes might need a total revamp of the way events are being
handled. Currently objects that are able to moved on their own, has a specific
routine checking for a specific type value (ie: arrows, spells, etc...) To
be able to throw _any_ type of objects required that
1. a tag be made for all objects
2. event code to be called to check for that flag and handle/move the object

Anyone else got a better way of implementing throwing?

>					Caio, b.t.

Regards,

 __  __/  /   /   __  /    |   /    Tuan T. Doan
    /    /   /   /   /   / |  /     IEC Layer Testing and Advance Technology
   /    /   /   __  /   /  | /      2201 Lakeside Blvd.  P.O. Box 833871
__/  ______/ __/ __/ __/  __/       Richardson, TX 75083-3871
"It's a kind of magic" -Highlander  Phone: 214-684-4575   Fax: 214-684-3716
Internet:  tdoan@bnr.ca             WWW: http://47.53.64.96/tdoan/tdoan.html