From 80667265c16a35746a7d11fe6222e30e9b6b36a9 Mon Sep 17 00:00:00 2001 From: jckirton <66995801+jckirton@users.noreply.github.com> Date: Fri, 29 Aug 2025 13:08:59 +0930 Subject: [PATCH 1/4] Added page describing the trade system. --- docs/guides/new_players/trading.mdx | 103 ++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 docs/guides/new_players/trading.mdx diff --git a/docs/guides/new_players/trading.mdx b/docs/guides/new_players/trading.mdx new file mode 100644 index 00000000..3f05705a --- /dev/null +++ b/docs/guides/new_players/trading.mdx @@ -0,0 +1,103 @@ +--- +title: Trading +description: "The guaranteed exchange." +--- + +{/* Bits symbol: ⌽ */} +{/* Bits color: F */} + +## The trading system + +In hackmud, trading is an alternative method to exchange resources between users, and the only method of exchanging ((%Fbits ⌽%)) between players. + +Instead of using ((accts.xfer_gc_to)) and ((sys.xfer_upgrade_to)), trading uses the ((%Ctrade%)) shell command, and has its own special interface and fees. + +### Starting a trade + +The syntax for starting a trade is ((%Ctrade% %Auser%)). This will send a trade request to the inputted user, and they must do the same, with your name. + +#### Example + +`https` wishes to trade with `http`, so `https` sends `http` a trade request: + +``` +>>trade http +Success +``` + +`http` then sees the trade request, and accepts: + +``` +trade request received. begin trade with trade https + +>>trade https +Success +``` + +At which point both parties then see the trade interface appear: + +``` +║ trade 68b1152c50334a086f9b258e ║ +╙━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╢ +https offers ║ http offers +━━━ ║ ━━━ + ║ +-- EMPTY -- ║ -- EMPTY -- + ║ + +make trade offers with trade_bits, trade_gc, trade_add +for usage see trade_help +``` + +A trade has begun. + +### Making offers + +((GC)), upgrades, and ((%Fbits ⌽%)) can be offered using the commands outlined in ((%Ctrade_help%)). + +There will be a trade fee based on what is offered, which is outlined later in detail. + +#### Commands + +The commands for making offers, as shown in ((%Ctrade_help%)): + +``` +trade_bits [sets your offered bits amount] +trade_fee <0 or 1> [selects which user pays the trade fee] + +trade_gc [adds GC to your offers] + +trade_add [adds an upgrade to your offers] +trade_rem [removes an offered upgrade from your offers] +trade_up_info [shows detailed upgrade information for an offered upgrade] +``` + +### Concluding a trade + +Trades can end in two ways: both parties accept the trade and the resources are exchanged, or one party runs ((%Ctrade_end%)) and no resources are exchanged. + +### Fees + +Use of the trade system incurs a fee, paid with ((%Fbits ⌽%)). The minimum trade fee is ((%F3⌽%)) + +The fee is based on the resources exchanged on completion of the trade - not all resources present - with the following calculations: + +- 4% of ((%Fbits ⌽%)) exchanged; +- 30% of ((%JB%%CGC%)) exchanged; +- Upgrade rarity, based on the below table; + +| Rarity | Fee Amount | +| :----------------: | :---------: | +| ((%0noob%)) | ((%F3⌽%)) | +| ((%1kiddie%)) | ((%F3⌽%)) | +| ((%2h4x0r%)) | ((%F3⌽%)) | +| ((%3h4rdc0r3%)) | ((%F15⌽%)) | +| ((%4\|\_\|b3\|2%)) | ((%F30⌽%)) | +| ((%531337%)) | ((%F150⌽%)) | + +### Notes + +- You cannot offer something the other party is unable to hold. +- You can trade among your own users, but you cannot offer ((%Fbits ⌽%)). +- The trade system can exceed the ((32BGC)) xfer limit. +- You appear to only be able to offer one upgrade at a time. From 15d578438d138933ab397da4d6f3030ff6f3c493 Mon Sep 17 00:00:00 2001 From: jckirton <66995801+jckirton@users.noreply.github.com> Date: Fri, 29 Aug 2025 13:33:31 +0930 Subject: [PATCH 2/4] Minor wording change. --- docs/guides/new_players/trading.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/new_players/trading.mdx b/docs/guides/new_players/trading.mdx index 3f05705a..53b809ed 100644 --- a/docs/guides/new_players/trading.mdx +++ b/docs/guides/new_players/trading.mdx @@ -100,4 +100,4 @@ The fee is based on the resources exchanged on completion of the trade - not all - You cannot offer something the other party is unable to hold. - You can trade among your own users, but you cannot offer ((%Fbits ⌽%)). - The trade system can exceed the ((32BGC)) xfer limit. -- You appear to only be able to offer one upgrade at a time. +- Each party appears to only be able to offer 1 upgrade. From 946c6c51985a0f07bcdd757e8128f329ca327e2c Mon Sep 17 00:00:00 2001 From: jckirton <66995801+jckirton@users.noreply.github.com> Date: Fri, 29 Aug 2025 14:23:36 +0930 Subject: [PATCH 3/4] Ran prettier. --- docs/guides/new_players/trading.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/guides/new_players/trading.mdx b/docs/guides/new_players/trading.mdx index 53b809ed..f7b91afb 100644 --- a/docs/guides/new_players/trading.mdx +++ b/docs/guides/new_players/trading.mdx @@ -41,9 +41,9 @@ At which point both parties then see the trade interface appear: ╙━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╢ https offers ║ http offers ━━━ ║ ━━━ - ║ + ║ -- EMPTY -- ║ -- EMPTY -- - ║ + ║ make trade offers with trade_bits, trade_gc, trade_add for usage see trade_help From 578d1db4dae3410fc542195bdaefcb858f327a63 Mon Sep 17 00:00:00 2001 From: jckirton <66995801+jckirton@users.noreply.github.com> Date: Fri, 29 Aug 2025 16:11:28 +0930 Subject: [PATCH 4/4] Apply suggestions from code review How did I not think of angie and bo sooner... Please don't crucify me, I'm just a tired sentience. TwT Co-authored-by: matr1x <53655672+matr1x-hackmud@users.noreply.github.com> --- docs/guides/new_players/trading.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/guides/new_players/trading.mdx b/docs/guides/new_players/trading.mdx index f7b91afb..f7c2d182 100644 --- a/docs/guides/new_players/trading.mdx +++ b/docs/guides/new_players/trading.mdx @@ -18,19 +18,19 @@ The syntax for starting a trade is ((%Ctrade% %Auser%)). This will send a trade #### Example -`https` wishes to trade with `http`, so `https` sends `http` a trade request: +`angie` wishes to trade with `bo`, so `angie` sends `bo` a trade request: ``` ->>trade http +>>trade bo Success ``` -`http` then sees the trade request, and accepts: +`bo` then sees the trade request, and accepts: ``` -trade request received. begin trade with trade https +trade request received. begin trade with trade angie ->>trade https +>>trade angie Success ``` @@ -39,7 +39,7 @@ At which point both parties then see the trade interface appear: ``` ║ trade 68b1152c50334a086f9b258e ║ ╙━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╢ -https offers ║ http offers +angie offers ║ bo offers ━━━ ║ ━━━ ║ -- EMPTY -- ║ -- EMPTY --