aboutsummaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
authorhistoria <[not public]>2026-09-29 13:28:06 -0400
committerhistoria <[not public]>2026-09-29 13:28:06 -0400
commit9803facd4368420a5dce3af59c835e13cb015cf5 (patch)
tree4ecb75f9c88b16ae72d3573bef026d760eb8d7a8 /data
parent13db3e50cb6e29eedbf25416e5284bf08b0adefb (diff)
downloadthehouseoficarus-9803facd4368420a5dce3af59c835e13cb015cf5.tar.gz
feat: roulette in domita casino
Diffstat (limited to 'data')
-rw-r--r--data/help/roulette.yaml31
-rw-r--r--data/objects/casino_test_portal.yaml14
-rw-r--r--data/rooms/casino/6100.yaml1
-rw-r--r--data/rooms/casino/6102.yaml2
-rw-r--r--data/rooms/casino/6182.yaml16
-rw-r--r--data/rooms/casino/6183.yaml14
-rw-r--r--data/rooms/intro/1001.yaml1
7 files changed, 79 insertions, 0 deletions
diff --git a/data/help/roulette.yaml b/data/help/roulette.yaml
new file mode 100644
index 0000000..c1b6a0d
--- /dev/null
+++ b/data/help/roulette.yaml
@@ -0,0 +1,31 @@
+name: roulette
+category: Interaction
+description: |
+ Play roulette in Domita's House of Icarus casino.
+ From the vestibule: north, up, north reaches single zero;
+ another north reaches double zero.
+
+ play roulette Join the table
+ table Show layout, phase, and last result
+ bet 10 on 17 Bet on a single pocket (35:1 profit)
+ bet 10 on 0 Bet on zero
+ bet 10 on 00 Double zero tables only
+ bet 10 on red Red or black (1:1)
+ bet 10 on odd Odd or even (1:1)
+ bet 10 on low Low 1-18 or high 19-36 (1:1)
+ bet 10 on dozen1 dozen1=1-12, dozen2=13-24, dozen3=25-36 (2:1)
+ bet 10 on column1 column1=1,4,...; column2=2,5,...;
+ column3=3,6,... (2:1)
+ bet / rebet Repeat your previous wager
+ bet min / bet max Change amount, retaining the previous target
+ sitout / stop Sit out or leave (queued if a wager is committed)
+ watch roulette Watch table graphics without joining
+
+ One wager per player per spin. Split, street, corner, and multiple
+ simultaneous bets are not supported yet. Zero and double zero lose
+ all outside bets. Chips are spent first; winnings return as credits.
+ Displayed returns include your stake; odds above are profit odds.
+
+ Betting opens with the first wager and runs for the full timer, even
+ alone. No bets are accepted while the wheel spins. The result shows
+ the winning pocket and its real physical neighbors on that wheel.
diff --git a/data/objects/casino_test_portal.yaml b/data/objects/casino_test_portal.yaml
new file mode 100644
index 0000000..cf1b6cb
--- /dev/null
+++ b/data/objects/casino_test_portal.yaml
@@ -0,0 +1,14 @@
+name: casino test portal
+aliases: [casino, test portal]
+inroom_description: A casino test portal offers 1000 chips and a direct trip to Domita.
+description:
+ - text: 'TESTING ONLY: use casino to receive 1000 chips and teleport to the House of Icarus vestibule in Domita. Repeatable; remove this object before launch.'
+on_use:
+ - steps:
+ - drop_table:
+ - item_id: chips
+ quantity: 1000
+ weight: 1
+ - teleport: 6100
+ messages:
+ - 'Testing shortcut: welcome to the Domita casino! Head north to explore the gaming floors.'
diff --git a/data/rooms/casino/6100.yaml b/data/rooms/casino/6100.yaml
index 40c69ed..63ee5bb 100644
--- a/data/rooms/casino/6100.yaml
+++ b/data/rooms/casino/6100.yaml
@@ -12,5 +12,6 @@ objects:
- name: wayboard
description: 'Grand stair: ground gaming floor above the entrance podium. West: five blackjack salons,
three baccarat salons. East: five slot rooms. Three upper galleries reserve fifteen future game halls.
+ Roulette salons: north, up, north for single zero; continue north for double zero.
All floors are open without a wager.'
inroom_description: A wayboard stands where travelers can read it.
diff --git a/data/rooms/casino/6102.yaml b/data/rooms/casino/6102.yaml
index dd3f94e..264f3e8 100644
--- a/data/rooms/casino/6102.yaml
+++ b/data/rooms/casino/6102.yaml
@@ -3,6 +3,8 @@ description: The entrance stair rises onto a broad podium, the casino’s ground
divides the floor into card salons west and machine galleries east. Higher stairs lead to future gaming
floors.
exits:
+ north:
+ room: 6182
down:
room: 6101
south:
diff --git a/data/rooms/casino/6182.yaml b/data/rooms/casino/6182.yaml
new file mode 100644
index 0000000..c6bdcf5
--- /dev/null
+++ b/data/rooms/casino/6182.yaml
@@ -0,0 +1,16 @@
+name: House of Icarus — Single Zero Roulette Salon
+description: A polished European wheel turns beside green felt marked with a single zero. The dealer invites visitors to play roulette.
+exits:
+ south:
+ room: 6102
+ north:
+ room: 6183
+casino_tables:
+ - id: roulette_single
+ game: roulette
+ betting_ticks: 15
+ min_bet: 1
+ max_bet: 10000
+ roulette:
+ double_zero: false
+ spin_ticks: 4
diff --git a/data/rooms/casino/6183.yaml b/data/rooms/casino/6183.yaml
new file mode 100644
index 0000000..0b00f36
--- /dev/null
+++ b/data/rooms/casino/6183.yaml
@@ -0,0 +1,14 @@
+name: House of Icarus — Double Zero Roulette Salon
+description: An American roulette wheel gleams under brass lamps. Its green zero and double-zero pockets face a neatly marked betting layout.
+exits:
+ south:
+ room: 6182
+casino_tables:
+ - id: roulette_double
+ game: roulette
+ betting_ticks: 15
+ min_bet: 1
+ max_bet: 10000
+ roulette:
+ double_zero: true
+ spin_ticks: 4
diff --git a/data/rooms/intro/1001.yaml b/data/rooms/intro/1001.yaml
index 7843ad5..482618e 100644
--- a/data/rooms/intro/1001.yaml
+++ b/data/rooms/intro/1001.yaml
@@ -25,6 +25,7 @@ mobs:
- id: flight_attendant
name: Inside Transport Shuttle
objects:
+ - id: casino_test_portal
- description:
- text: "We hope you enjoy your trip on our shuttle! Your pilot is [TYLER].\n\nWhen you arrive at your final destination, please be aware of the following basic commands:\n\n{0B bold}Movement:{/} {command}north{/}, {command}south{/}, {command}east{/}, {command}west{/}, {command}up{/}, {command}down{/}\n{0B bold}Look:{/} {command}look{/}, {command}look <item/object/mob>{/}, and {command}map{/}\n{0B bold}Items:{/} {command}inv{/} to see your 28-slot inventory\n {command}get <item>{/}, {command}drop <item>{/}, {command}wear <item>{/}, {command}remove <item>{/}\n {command}use <item> on <item/object>{/}\n {command}eq{/} for equiped gear\n{0B bold}Comms:{/} {command}talk <mob>{/} for NPC chat\n {command}say <msg>{/} and {command}global <msg>{/} for human chat\n{0B bold}Character:{/} {command}score{/} and {command}skills{/} for stats. \n{0B bold}Combat{/} {command}attack <mob>{/}\n{0B bold}Skills{/} Many skills have shortcuts like {command}mine{/}, {command}fish{/}, or {command}chop{/}\n{0B bold}Options{/} {command}options{/} for a list of account options\n {command}options <opt> <value>{/} to change an option\n\nType {command}what{/} for a list of possible common actions\n\nMake sure to check the {command}help{/} pages, especially {command}help newplayer{/}!"
hidden: true