Shops

From: Jeff (jfink@csugrad.cs.vt.edu)
Date: 06/03/94


I've been working on the CircleMUD shop code, and recently I
found an error in one of the shop files that will let players
buy items and a very low price at a certain shop.  If you're using
zone 210 (New Sparta) you should go into 210.shp and look at shop
#21001.  The beginning of the shop should look like this:

#21001~
-1
3054
3051
3053
1.05

There needs to be another -1 somewhere between the ~ and the 1.05.
Right now, the bootup sequence reads the 1 in 1.05 and treats it as the
fifth item, and then treats the .05 as the ratio to multiply costs
by when selling items.

If anyone has any ideas on improving the shops, I'd like to hear them.
As of right now, here's what I've done:

	Ability to buy multiple items at once ("buy 5 bread").
	New listing that groups identical items together, listing
		them only once, with a column for quantity.
	Ability to buy by using the listing number (shown when
		you "list": i.e. "buy #2", or "buy 3 #4").
	List accepts an optional argument so you can list only
		one particular type of item ("list sword").
	Ability to see multiple items at once ("sell 5 sword").
	Ability to designate classes or alignments not to
		trade with.
	Burned out wands and staves will not be bought by anyone.
	It is now impossible to steal from, or start a fight with a
		shopkeeper as a result of a failed steal.
	New file format to allow production of unlimited items,
		as well as shops that buy every type of item.
		The old format is still supported, and a conversion
		program is available to convert old files to the
		new format.
	A "stat shop" function that allows you to see detailed 
		information about each shop while the mud is running.
		(This is how I located the bug mentioned above)

I've also played with a lot of the internals and fixed a small memory
leak and set up preallocation of shop memory to quicken boot time a
little bit.

Thanks for any ideas anyone can give me.
-Jeff



This archive was generated by hypermail 2b30 : 12/07/00 PST