DARKOVER 2.0
This isn't a Darkover specific file, I just grabbed this from the
building.doc file for Circle 3.00.
All credit goes to Jeff Fink who submitted the documentation and the code for
the shops to Circle 3.00. And of course, mucho credit to Jeremet Elson, who
put all the junk together.
Once this works well, I'll write a doc file. Probably going to make several
modifications to this stuff anyways.
-- Eldritch (7/21/95)
7. Shop Files
CircleMUD v3.0 now has a new shop file format. Since the old format is
still supported, both formats will be documented. If you'd like to convert
shop files in the old format to that of the new format, compile and run the
utility shopconv. When writing new files, you need to tell CircleMUD that
the shopfile is in the new format by including the following line BEFORE any
shops in the file:
CircleMUD v3.0 Shop File~
7.1. CircleMUD v3.0 Shop Format
#~
Shop Number (Used only for display purposes)
.
.
.
-1
An arbitrarily long list of the virtual numbers of objects that the
shop produces (i.e., items which will always be available). The list must
be terminated with -1.
The object value is multiplied by this value when sold. This is a
floating point value. Must be >= 1.0
The object value is multiplied by this value when bought. This is a
floating point value. Must be <= 1.0
[namelist 1]
[namelist 2]
[namelist 3]
.
.
.
[namelist n]
-1
These lines contain the types of items that the shop will buy. The
first argument, called "type" is the Type Flag of items the shop will buy
(see "Type Flag" under "Format of an Object" in this document). Numerical
or English forms are valid (5 or WEAPON, 9 or ARMOR, etc.). In addition,
you can provide optional keywords to define specific keywords that must be
present on the item for the shopkeeper to trade it. For further details on
these expressions, see the section "Item Name Lists" below. This list must
be terminated by a -1.
~
~
~
~
~
~
Price is represented by %d.
~
Price is represented by %d.
When player can't afford an item, the shopkeeper tells them they can't
afford the item and then:
0 - The shopkeeper pukes on the player.
1 - The shopkeeper smokes his joint.
other - No action besides message above.
A bitvector (see "Using Bitvectors" above) with the following values:
1 a WILL_START_FIGHT Players can to try to kill this shopkeeper.
2 b WILL_BANK_MONEY Shopkeeper will put money over 15000 coins
in the bank.
A brief note: Shopkeepers should be hard (if even possible) to kill.
The benefits players can receive from killing them is enough to unbalance
most non monty-haul campaigns.
Virtual number of the shopkeeper mobile.
A bitvector (see "Using Bitvectors" above) used to designate certain
alignments or classes that the shop will not trade with, with the following
values:
1 a NOGOOD Keeper won't trade with positively-aligned players.
2 b NOEVIL Keeper won't trade with evilly-aligned players.
4 c NONEUTRAL Keeper won't trade with neutrally-aligned players.
8 d NOMAGIC_USER Keeper won't trade with the Mage class.
16 e NOCLERIC Keeper won't trade with the Cleric class.
32 f NOTHIEF Keeper won't trade with the Thief class.
64 g NOWARRIOR Keeper won't trade with the Warrior class.
.
.
.
-1
The virtual numbers the mobile must be in for the shop to be effective.
(So trans'ed shopkeepers can't sell in the desert). The list must be
terminated by a -1.