Up to Main Index Up to Journal for March, 2024
JOURNAL FOR MONDAY 25TH MARCH, 2024
______________________________________________________________________________
SUBJECT: Buying! Selling! Best prices here!
DATE: Mon 25 Mar 21:11:09 GMT 2024
TL;DR New BUY/SELL commands and traders out on public dev branch.
This weekend I got up and went to my desk with the explicit purpose of being
able to buy and sell items in WolfMUD. Nothing fancy, just something working.
I first got rid of all the cruft accumulating from previous experiments.
Next task, money and currency. Nothing clever, WolfMUD has ‘coin’. You can
have no coin, 1 coin, 99 coin or some coin. For now ‘coin’ can’t be redefined.
The INVENTORY command has been updated to show how much coin you have:
>INV
You currently have:
3 coin
a rock
>
Players have a new field MONEY for the coin being carried. Items that can be
bought and sold have a new VALUE field — an integer, the number of coin it is
worth.
Okay, that’s the basics out of the way. Next task is traders. An NPC can buy
items, sell items or both.
For an NPC to buy items a new BUYS field has been added. The BUYS field lists
aliases. If a BUY alias matches an item’s alias the NPC will buy the item.
This is why it’s important to add a group/category aliases to items :) If the
BUYS field is defined but no aliases are specified the NPC will buy anything
of value.
For an NPC to sell items a new TRADES field has been added. The TRADES field
lists item references. This is similar to how the INVENTORY field works.
An example NPC trader, a little old lady that sells mushrooms and buys
anything tagged ALCHEMY:
%%
Ref: M1
Name: a little old lady
Aliases: +OLD:LADY NPC
Location: L1
Body: BODY
Health: MAXIMUM→10 RESTORE→2 AFTER→1m
Gender: FEMALE
Armour: 5
OnAction: $ACT sighs.
Trades: O1
Buys: ALCHEMY
This is a little old lady. The sort everyone wants as their grandmother.
%%
Ref: O1
Name: a small mushroom
Alias: MUSHROOM ALCHEMY
Cleanup: AFTER→1S JITTER→0S
OnCleanup: A gentle cloud of spoors leaves the mushroom before it
blackens, shrivels up and turns to dust.
Value: 1
This is a small grey mushroom. Under the cap the gills are a greyish
purple.
%%
Players can now use BUY and SELL commands to interact with traders. The format
of the commands are:
BUY NPC
BUY ITEM… from NPC
SELL ITEM… to NPC
The BUY and SELL commands both accept multiple items at once. Here is the
little old lady in action:
>INV
You currently have:
3 coin
a rock
>BUY LADY
The little old lady has the following trades available:
a small mushroom (1c)
>BUY MUSHROOM LADY
The little old lady sells you a small mushroom for 1 coin.
>INV
You currently have:
2 coin
a rock
a small mushroom
>SELL MUSHROOM ROCK LADY
The little old lady buys a small mushroom from you for 1 coin.
The little old lady is not interested in buying the rock.
>INV
You currently have:
3 coin
a rock
>
The changes are out on the public dev branch, with some caveats:
• This page and the commits in the repository are the only documentation for
now in order to get the new features out.
• The NPCs and items in the stock zone files have not been updated yet. To
play with the new features you need to add BUYS/TRADES to NPCs and VALUE
to items. (I’ll try to get updated zone files out soon)
• Containers with things in them should NOT BE BOUGHT OR SOLD yet — the
value of their content is not included.
• There is no buy-back if something is sold accidentally.
• Items players already have will be worthless, no VALUE field.
• You cannot create a pile of coin. Well you can, but you’d have to sell it
to convert it into actual coin a player can spend. For now, create a gem
or something that can be sold for the coin :|
• The changes should be considered EXPERIMENTAL. There are probably more
issues and bugs, if you find any let me know: diddymus@wolfmud.org
There is still more work to be done with traders, this is just the basics :)
Limits should be set for the value of items a trader will buy. Our little old
lady is unlikely to be able to afford to buy a rare fungi for 1,000,000 coin.
Likewise an up-market jeweller is not going to want to purchase a tiny gem for
1 coin :/
Players need an appraisal command to find out, roughly, what an item is worth.
Latter on player skills could make the appraisal more accurate…
Vendors should also be able to mark-up or mark-down items. An alchemist will
probably pay more for the same fungi than a cook would — although a master
chef may recognise its worth.
Player trading needs adding. I’m thinking maybe add an NPC broker? You place
an item for a specified value with the broker and other players can buy the
items from the broker. Needs more thought.
I’ll sort out updating the stock zones next — turn NPCs shop owners into
traders and give all items values. Then the documentation, followed by the
outstanding features. After that I think we will need a proper release :)
--
Diddymus
Up to Main Index Up to Journal for March, 2024