aboutsummaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
Diffstat (limited to 'data')
-rw-r--r--data/help/casino.yaml6
-rw-r--r--data/help/predictions.yaml67
-rw-r--r--data/help/use.yaml9
-rw-r--r--data/mobs/vesta/casino_host.yaml5
-rw-r--r--data/mobs/vesta/prediction_clerk.yaml69
-rw-r--r--data/rooms/casino/6100.yaml10
-rw-r--r--data/rooms/casino/6110.yaml17
7 files changed, 175 insertions, 8 deletions
diff --git a/data/help/casino.yaml b/data/help/casino.yaml
index 478a742..6e2b7ce 100644
--- a/data/help/casino.yaml
+++ b/data/help/casino.yaml
@@ -1,10 +1,14 @@
name: casino
aliases: [play, bet, rebet, table, watch, rules]
category: Interaction
-related: [big6, roulette, racetrack, blackjack, baccarat, craps, slots, video poker, pai gow poker, plinko, cash hunt]
+related: [big6, roulette, racetrack, blackjack, baccarat, craps, slots, video poker, pai gow poker, plinko, cash hunt, predictions]
description: |
Casino quick guide
+ use predictions Enter the casino's Prediction Exchange, east of the vestibule.
+ Buy/sell house contracts and check your portfolio.
+ See help predictions for prices, limits and settlement.
+
play <game> Join a table; use play to list nearby games.
bet N Wager chips first, then credits.
bet N on BET Choose a roulette, Big 6, baccarat or craps bet.
diff --git a/data/help/predictions.yaml b/data/help/predictions.yaml
new file mode 100644
index 0000000..e00ef34
--- /dev/null
+++ b/data/help/predictions.yaml
@@ -0,0 +1,67 @@
+name: predictions
+aliases: [prediction market, prediction counter, prediction exchange, use predictions]
+category: Interaction
+related: [casino, bank]
+description: |
+ Prediction Exchange
+
+ In the casino, enter the Prediction Exchange east of the vestibule. Use
+ predictions, use market, or use exchange at the counter. The commands
+ below work only inside the exchange. Type stop (or leave/exit) to step
+ away; your contracts remain invested.
+
+ N / view N Open a numbered market
+ markets Browse popular eligible markets
+ next / prev Turn market or contract pages
+ find WORDS Search the popular-market selection
+ buy SHARES OUTCOME Buy outcome shares at the live quote.
+ OUTCOME is a number or name: buy 10 yes
+ active Your open contracts, valued and marked
+ closed Your sold, resolved and collected contracts
+ N / holding N Read contract N's market from active/closed
+ sell N Sell all shares of contract N to the house
+ collect Withdraw winnings from resolved contracts
+ back Return to the market selection
+ refresh / table Refresh the current screen
+ look Room, current market screen and casino hints
+ rules Selected market's resolution rules;
+ general game rules when browsing
+ help predictions How to play
+ stop Leave the counter
+
+ Example: use market, then 1, then buy 10 yes buys ten shares of the
+ "Yes" outcome. buy 10 2 also works. Example: sell 3 sells all shares of
+ contract 3. Sales close the whole contract; buy separate contracts if
+ you want to sell in smaller portions.
+
+ Markets are listed in one shared table: number, question, and a single
+ two-sided odds bar with a percent at each end. Unicode frames, bars and
+ line-history graphs follow your unicode option; ASCII mode substitutes
+ plain characters. Colors follow your color mode. Hints use the standard
+ casino command menu and casino_hints option. Look shows the room followed
+ by the live counter and hints, like other casino games. The normal
+ what/verbs commands also list available commands. Resolution rules are
+ shown only when requested with rules. History plots the first outcome's
+ available prices over the past week; new markets may be empty.
+
+ All contracts use fictional carried credits. There is no real-money
+ trading, wallet, external account, or player order book. The house uses
+ Polymarket's indicative outcome prices. Winning shares pay 100 credits;
+ losing shares pay nothing. When a market closes, each contract resolves
+ automatically: a winning share is worth 100 credits and a losing share 0.
+ Resolved winnings wait at the counter until you type collect. Each share's
+ buy price rounds up and sell price rounds down to a whole credit BEFORE
+ multiplying by quantity: a 42.1-credit quote buys at 43 and sells at 42
+ credits per share. No partial credits or fees. Maximum 50 active contracts;
+ 1-10,000 shares per purchase.
+
+ Prices update only on interaction, with no background polling. A failed
+ request closes the counter for that interaction: no stale-price trading.
+ Leaving the interface during an update cancels the pending operation.
+
+ Closed, paused, expired markets and sports past a supplied start time
+ cannot trade. Finalized outcomes settle on your next interaction, even
+ after reconnecting. Ambiguous or disputed resolutions wait without payout.
+ Open values are indicative, not guaranteed sale proceeds; closed values
+ are actual proceeds. Browsing selects up to 100 popular markets, while
+ contracts outside that selection remain on your active list.
diff --git a/data/help/use.yaml b/data/help/use.yaml
index 34f5a4b..22f4658 100644
--- a/data/help/use.yaml
+++ b/data/help/use.yaml
@@ -10,6 +10,12 @@ description: |
The "use" command routes to different systems based on the target:
+ Prediction Exchange (east of the casino vestibule)
+ use predictions, use market, or use exchange opens the counter.
+ Choose a market number, then buy shares, check active/closed, or sell.
+ Resolved contracts are collected with collect.
+ Look shows current casino hints; stop leaves the interface.
+
Station object (furnace, anvil, fire, range, workbench, etc.)
Shows a combined production menu of all recipes you can make.
@@ -26,6 +32,7 @@ description: |
production action. You are prompted "How many?" before starting.
Examples:
+ use market Open the casino prediction exchange
use range Cook using a cooking range
use furnace Smelt ore or craft jewelry
use anvil Smith bars into equipment
@@ -35,7 +42,7 @@ description: |
use flour on water Combine into dough
push gate Push a gate open (shortcut for use)
- See also: cook, smelt, smith, recipe
+ See also: cook, smelt, smith, recipe, predictions
aliases:
- "pull"
diff --git a/data/mobs/vesta/casino_host.yaml b/data/mobs/vesta/casino_host.yaml
index f41360a..ae236c2 100644
--- a/data/mobs/vesta/casino_host.yaml
+++ b/data/mobs/vesta/casino_host.yaml
@@ -12,7 +12,8 @@ talk:
- 'Welcome to Domita Fortuna. Take the stairs up to the gaming street:
blackjack, baccarat, roulette, craps, then slots, one salon each going
east. Step north or south inside each salon for its house editions.
- The bank booth down by the door stores your valuables, and no
- membership or wager is needed to explore.'
+ The Prediction Exchange is through the east arch, where you can back
+ real-world questions. The bank booth down by the door stores your
+ valuables, and no membership or wager is needed to explore.'
options:
- text: Thank you.
diff --git a/data/mobs/vesta/prediction_clerk.yaml b/data/mobs/vesta/prediction_clerk.yaml
new file mode 100644
index 0000000..4207dff
--- /dev/null
+++ b/data/mobs/vesta/prediction_clerk.yaml
@@ -0,0 +1,69 @@
+name: Quill the prediction clerk
+description: Quill wears a brass eye-shade and keeps one finger on a chalk rail of shifting odds.
+protected: true
+unique: true
+idle_descriptions:
+- rubs out a price and writes a new one
+- taps the odds board with a chalk stick
+- glances from the board to a ledger and back
+talk:
+ nodes:
+ start:
+ messages:
+ - Welcome to the Prediction Exchange. Every board here asks a real-world question, and
+ every question has outcomes you can back with credits.
+ - A winning share pays 100 credits. A losing share pays nothing. The house quotes the
+ other side of every trade, so you never need another player at the counter.
+ options:
+ - goto: trade
+ text: How do I place a prediction?
+ - goto: prices
+ text: How do the prices work?
+ - goto: resolve
+ text: What happens when a market resolves?
+ - goto: goodbye
+ text: Just looking, thank you.
+ trade:
+ messages:
+ - 'Use predictions at the counter, then browse the numbered markets. Pick one with
+ its number to see the odds and the resolution rules.'
+ - 'To buy, type buy SHARES OUTCOME — for example, buy 10 yes, or buy 10 natus vincere.
+ Outcome names and numbers both work, and a partial name is enough if it is unambiguous.'
+ - 'To close a position early, type sell CONTRACT from your active list. Your open
+ contracts and their profit or loss live under active; finished ones under closed.'
+ options:
+ - goto: prices
+ text: And the prices?
+ - goto: resolve
+ text: What about resolved markets?
+ - goto: start
+ text: Back to the beginning.
+ prices:
+ messages:
+ - Each share trades between 0 and 100 credits, roughly tracking the crowd's chance of
+ that outcome. A 30-credit share is an implied 30 percent chance.
+ - The board moves as the world moves. Each share's buy price rounds up and its sell
+ price rounds down to whole credits, so there are no half-credits at the counter.
+ - Prices refresh whenever someone uses the counter. If the feed is unavailable we close
+ the desk rather than trade on stale numbers.
+ options:
+ - goto: trade
+ text: How do I trade again?
+ - goto: resolve
+ text: What happens when it resolves?
+ - goto: start
+ text: Back to the beginning.
+ resolve:
+ messages:
+ - When a market closes, every contract resolves on its own. A winning share becomes
+ worth 100 credits and a losing share becomes worth nothing.
+ - The winnings wait here at the counter until you type collect. You can read a market's
+ fine print with rules before you buy, and closed shows everything you have settled.
+ options:
+ - goto: trade
+ text: How do I buy shares?
+ - goto: start
+ text: Back to the beginning.
+ goodbye:
+ messages:
+ - Good luck. The board is always moving, and there is no rush to trade a quiet market.
diff --git a/data/rooms/casino/6100.yaml b/data/rooms/casino/6100.yaml
index e0734b5..ef03517 100644
--- a/data/rooms/casino/6100.yaml
+++ b/data/rooms/casino/6100.yaml
@@ -1,20 +1,22 @@
name: Vestibule
description: A ceiling of tiny brass suns hangs over polished stone. Icarus Leisure's emblem repeats on
- every column. Grand stairs rise to the ground gaming floor.
+ every column. Grand stairs rise to the ground gaming floor, and the Prediction Exchange glows to the east.
exits:
south:
room: 5111
up:
room: 6101
+ east:
+ room: 6110
mobs:
- id: casino_host
- id: casino_cashier
objects:
- name: wayboard
description: 'Domita Fortuna in one line: take the stairs up to the gaming street — blackjack,
- baccarat, roulette, craps, slots, video poker, then Pai Gow Poker, going east. Each salon keeps its own house
- editions in the galleries north and south. The bank booth by the door stores your valuables;
- no wager is needed to explore.'
+ baccarat, roulette, craps, slots, video poker, then Pai Gow Poker, going east. The Prediction
+ Exchange is through the east arch. Each salon keeps its own house editions in the galleries north
+ and south. The bank booth by the door stores your valuables; no wager is needed to explore.'
inroom_description: A wayboard stands where travelers can read it.
- id: bank_booth
item_spawns:
diff --git a/data/rooms/casino/6110.yaml b/data/rooms/casino/6110.yaml
new file mode 100644
index 0000000..0e69c41
--- /dev/null
+++ b/data/rooms/casino/6110.yaml
@@ -0,0 +1,17 @@
+name: Prediction Exchange
+prediction_exchange: true
+description: Brass rails divide a wall of glowing odds boards from a polished counter. Each board
+ carries real-world questions with a yes-and-no bar; clerks chalk new prices as the world moves.
+ A bell rings somewhere above the trading floor.
+exits:
+ west:
+ room: 6100
+mobs:
+- id: prediction_clerk
+objects:
+- name: odds board
+ description: 'The board lists open markets with live prices. Winning shares pay 100 credits
+ each. Use predictions (or use market/use exchange) to trade, active and closed to review your
+ contracts, and collect to withdraw resolved winnings. The house takes the other side of every
+ trade; players never trade with each other.'
+ inroom_description: A vast odds board glows above the counter.